@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,45 +1,48 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Directive, HostBinding } from '@angular/core';
|
|
3
|
-
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TngAvatar {
|
|
4
4
|
dataSlot = 'avatar';
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngAvatar, isStandalone: true, selector: "[tngAvatar]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngAvatar"], ngImport: i0 });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAvatar, decorators: [{
|
|
9
|
+
type: Directive,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: '[tngAvatar]',
|
|
12
|
+
exportAs: 'tngAvatar',
|
|
13
|
+
}]
|
|
14
|
+
}], propDecorators: { dataSlot: [{
|
|
15
|
+
type: HostBinding,
|
|
16
|
+
args: ['attr.data-slot']
|
|
17
|
+
}] } });
|
|
18
|
+
export class TngAvatarImage {
|
|
18
19
|
dataSlot = 'avatar-image';
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAvatarImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngAvatarImage, isStandalone: true, selector: "img[tngAvatarImage]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngAvatarImage"], ngImport: i0 });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAvatarImage, decorators: [{
|
|
24
|
+
type: Directive,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: 'img[tngAvatarImage]',
|
|
27
|
+
exportAs: 'tngAvatarImage',
|
|
28
|
+
}]
|
|
29
|
+
}], propDecorators: { dataSlot: [{
|
|
30
|
+
type: HostBinding,
|
|
31
|
+
args: ['attr.data-slot']
|
|
32
|
+
}] } });
|
|
33
|
+
export class TngAvatarFallback {
|
|
32
34
|
dataSlot = 'avatar-fallback';
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAvatarFallback, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngAvatarFallback, isStandalone: true, selector: "[tngAvatarFallback]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngAvatarFallback"], ngImport: i0 });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAvatarFallback, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: '[tngAvatarFallback]',
|
|
42
|
+
exportAs: 'tngAvatarFallback',
|
|
43
|
+
}]
|
|
44
|
+
}], propDecorators: { dataSlot: [{
|
|
45
|
+
type: HostBinding,
|
|
46
|
+
args: ['attr.data-slot']
|
|
47
|
+
}] } });
|
|
45
48
|
//# sourceMappingURL=tng-avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-avatar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-avatar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAMvD,MAAM,OAAO,SAAS;IAED,QAAQ,GAAG,QAAiB,CAAC;uGAFrC,SAAS;2FAAT,SAAS;;2FAAT,SAAS;kBAJrB,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,WAAW;iBACtB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,gBAAgB;iBAC3B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,iBAAiB;2FAAjB,iBAAiB;;2FAAjB,iBAAiB;kBAJ7B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,mBAAmB;iBAC9B;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngAvatar]',\n exportAs: 'tngAvatar',\n})\nexport class TngAvatar {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar' as const;\n}\n\n@Directive({\n selector: 'img[tngAvatarImage]',\n exportAs: 'tngAvatarImage',\n})\nexport class TngAvatarImage {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar-image' as const;\n}\n\n@Directive({\n selector: '[tngAvatarFallback]',\n exportAs: 'tngAvatarFallback',\n})\nexport class TngAvatarFallback {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar-fallback' as const;\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type OnDestroy } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
2
3
|
declare const badgePositions: readonly ["bottom-end", "bottom-start", "top-end", "top-start"];
|
|
3
4
|
declare const badgeSizes: readonly ["lg", "md", "sm"];
|
|
4
5
|
declare const badgeTones: readonly ["danger", "info", "neutral", "success", "warning"];
|
|
@@ -64,6 +65,8 @@ export declare class TngBadge implements OnDestroy {
|
|
|
64
65
|
private beginRuntimePositionTracking;
|
|
65
66
|
private endRuntimePositionTracking;
|
|
66
67
|
private syncRuntimePositioning;
|
|
68
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngBadge, never>;
|
|
69
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngBadge, "[tngBadge]", ["tngBadge"], { "tngBadge": { "alias": "tngBadge"; "required": false; "isSignal": true; }; "tngBadgeClass": { "alias": "tngBadgeClass"; "required": false; "isSignal": true; }; "tngBadgeDisabled": { "alias": "tngBadgeDisabled"; "required": false; "isSignal": true; }; "tngBadgeStyle": { "alias": "tngBadgeStyle"; "required": false; "isSignal": true; }; "tngBadgeDot": { "alias": "tngBadgeDot"; "required": false; "isSignal": true; }; "tngBadgeHidden": { "alias": "tngBadgeHidden"; "required": false; "isSignal": true; }; "tngBadgeMax": { "alias": "tngBadgeMax"; "required": false; "isSignal": true; }; "tngBadgeOffsetX": { "alias": "tngBadgeOffsetX"; "required": false; "isSignal": true; }; "tngBadgeOffsetY": { "alias": "tngBadgeOffsetY"; "required": false; "isSignal": true; }; "tngBadgePosition": { "alias": "tngBadgePosition"; "required": false; "isSignal": true; }; "tngBadgeSize": { "alias": "tngBadgeSize"; "required": false; "isSignal": true; }; "tngBadgeTone": { "alias": "tngBadgeTone"; "required": false; "isSignal": true; }; "tngBadgeVariant": { "alias": "tngBadgeVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
67
70
|
}
|
|
68
71
|
export {};
|
|
69
72
|
//# sourceMappingURL=tng-badge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-badge.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EAEf,MAAM,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"tng-badge.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EAEf,MAAM,eAAe,CAAC;;AAEvB,QAAA,MAAM,cAAc,iEAAkE,CAAC;AACvF,QAAA,MAAM,UAAU,6BAA8B,CAAC;AAC/C,QAAA,MAAM,UAAU,8DAA+D,CAAC;AAChF,QAAA,MAAM,aAAa,uCAAwC,CAAC;AAa5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAO7D,KAAK,yBAAyB,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAgBH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAMtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAMpE;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,GACX,MAAM,CAmBR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,yBAAyB,CAc9F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAc5F;AA4CD,qBAIa,QAAS,YAAW,SAAS;IACxC,SAAgB,QAAQ,0EAAmD;IAC3E,SAAgB,aAAa,iEAA0C;IACvE,SAAgB,gBAAgB,8EAE7B;IACH,SAAgB,aAAa,oGAAoD;IACjF,SAAgB,WAAW,8EAExB;IACH,SAAgB,cAAc,8EAE3B;IACH,SAAgB,WAAW,4EAExB;IACH,SAAgB,eAAe,0EAAmD;IAClF,SAAgB,eAAe,0EAAmD;IAClF,SAAgB,gBAAgB,oHAE7B;IACH,SAAgB,YAAY,+EAEzB;IACH,SAAgB,YAAY,kHAEzB;IACH,SAAgB,eAAe,yFAE5B;IAEH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6D;IACzF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,0BAA0B,CAA6B;;IASxD,WAAW,IAAI,IAAI;IAI1B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,4BAA4B;IAyBpC,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,sBAAsB;yCAhUnB,QAAQ;2CAAR,QAAQ;CAwUpB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { booleanAttribute, Directive, effect, ElementRef, inject, input, Renderer2, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
3
|
const badgePositions = ['bottom-end', 'bottom-start', 'top-end', 'top-start'];
|
|
4
4
|
const badgeSizes = ['lg', 'md', 'sm'];
|
|
5
5
|
const badgeTones = ['danger', 'info', 'neutral', 'success', 'warning'];
|
|
@@ -127,36 +127,20 @@ function toCssPixelLength(value) {
|
|
|
127
127
|
}
|
|
128
128
|
return `${Math.max(0, value)}px`;
|
|
129
129
|
}
|
|
130
|
-
|
|
131
|
-
tngBadge = input(null);
|
|
132
|
-
tngBadgeClass = input(null);
|
|
133
|
-
tngBadgeDisabled = input(false, {
|
|
134
|
-
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
transform: coerceTngBadgeMax,
|
|
145
|
-
});
|
|
146
|
-
tngBadgeOffsetX = input(null);
|
|
147
|
-
tngBadgeOffsetY = input(null);
|
|
148
|
-
tngBadgePosition = input(defaultBadgePosition, {
|
|
149
|
-
transform: coerceTngBadgePosition,
|
|
150
|
-
});
|
|
151
|
-
tngBadgeSize = input(defaultBadgeSize, {
|
|
152
|
-
transform: coerceTngBadgeSize,
|
|
153
|
-
});
|
|
154
|
-
tngBadgeTone = input(defaultBadgeTone, {
|
|
155
|
-
transform: coerceTngBadgeTone,
|
|
156
|
-
});
|
|
157
|
-
tngBadgeVariant = input(defaultBadgeVariant, {
|
|
158
|
-
transform: coerceTngBadgeVariant,
|
|
159
|
-
});
|
|
130
|
+
export class TngBadge {
|
|
131
|
+
tngBadge = input(null, ...(ngDevMode ? [{ debugName: "tngBadge" }] : []));
|
|
132
|
+
tngBadgeClass = input(null, ...(ngDevMode ? [{ debugName: "tngBadgeClass" }] : []));
|
|
133
|
+
tngBadgeDisabled = input(false, { ...(ngDevMode ? { debugName: "tngBadgeDisabled" } : {}), transform: booleanAttribute });
|
|
134
|
+
tngBadgeStyle = input(null, ...(ngDevMode ? [{ debugName: "tngBadgeStyle" }] : []));
|
|
135
|
+
tngBadgeDot = input(false, { ...(ngDevMode ? { debugName: "tngBadgeDot" } : {}), transform: booleanAttribute });
|
|
136
|
+
tngBadgeHidden = input(false, { ...(ngDevMode ? { debugName: "tngBadgeHidden" } : {}), transform: booleanAttribute });
|
|
137
|
+
tngBadgeMax = input(defaultBadgeMax, { ...(ngDevMode ? { debugName: "tngBadgeMax" } : {}), transform: coerceTngBadgeMax });
|
|
138
|
+
tngBadgeOffsetX = input(null, ...(ngDevMode ? [{ debugName: "tngBadgeOffsetX" }] : []));
|
|
139
|
+
tngBadgeOffsetY = input(null, ...(ngDevMode ? [{ debugName: "tngBadgeOffsetY" }] : []));
|
|
140
|
+
tngBadgePosition = input(defaultBadgePosition, { ...(ngDevMode ? { debugName: "tngBadgePosition" } : {}), transform: coerceTngBadgePosition });
|
|
141
|
+
tngBadgeSize = input(defaultBadgeSize, { ...(ngDevMode ? { debugName: "tngBadgeSize" } : {}), transform: coerceTngBadgeSize });
|
|
142
|
+
tngBadgeTone = input(defaultBadgeTone, { ...(ngDevMode ? { debugName: "tngBadgeTone" } : {}), transform: coerceTngBadgeTone });
|
|
143
|
+
tngBadgeVariant = input(defaultBadgeVariant, { ...(ngDevMode ? { debugName: "tngBadgeVariant" } : {}), transform: coerceTngBadgeVariant });
|
|
160
144
|
hostElement = inject(ElementRef).nativeElement;
|
|
161
145
|
renderer = inject(Renderer2);
|
|
162
146
|
badgeElement = null;
|
|
@@ -399,13 +383,14 @@ let TngBadge = class TngBadge {
|
|
|
399
383
|
this.patchBadgePlacement();
|
|
400
384
|
this.patchBadgeRuntimeMetrics();
|
|
401
385
|
}
|
|
402
|
-
};
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
386
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngBadge, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
387
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TngBadge, isStandalone: true, selector: "[tngBadge]", inputs: { tngBadge: { classPropertyName: "tngBadge", publicName: "tngBadge", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeClass: { classPropertyName: "tngBadgeClass", publicName: "tngBadgeClass", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeDisabled: { classPropertyName: "tngBadgeDisabled", publicName: "tngBadgeDisabled", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeStyle: { classPropertyName: "tngBadgeStyle", publicName: "tngBadgeStyle", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeDot: { classPropertyName: "tngBadgeDot", publicName: "tngBadgeDot", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeHidden: { classPropertyName: "tngBadgeHidden", publicName: "tngBadgeHidden", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeMax: { classPropertyName: "tngBadgeMax", publicName: "tngBadgeMax", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeOffsetX: { classPropertyName: "tngBadgeOffsetX", publicName: "tngBadgeOffsetX", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeOffsetY: { classPropertyName: "tngBadgeOffsetY", publicName: "tngBadgeOffsetY", isSignal: true, isRequired: false, transformFunction: null }, tngBadgePosition: { classPropertyName: "tngBadgePosition", publicName: "tngBadgePosition", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeSize: { classPropertyName: "tngBadgeSize", publicName: "tngBadgeSize", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeTone: { classPropertyName: "tngBadgeTone", publicName: "tngBadgeTone", isSignal: true, isRequired: false, transformFunction: null }, tngBadgeVariant: { classPropertyName: "tngBadgeVariant", publicName: "tngBadgeVariant", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["tngBadge"], ngImport: i0 });
|
|
388
|
+
}
|
|
389
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngBadge, decorators: [{
|
|
390
|
+
type: Directive,
|
|
391
|
+
args: [{
|
|
392
|
+
selector: '[tngBadge]',
|
|
393
|
+
exportAs: 'tngBadge',
|
|
394
|
+
}]
|
|
395
|
+
}], ctorParameters: () => [], propDecorators: { tngBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadge", required: false }] }], tngBadgeClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeClass", required: false }] }], tngBadgeDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeDisabled", required: false }] }], tngBadgeStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeStyle", required: false }] }], tngBadgeDot: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeDot", required: false }] }], tngBadgeHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeHidden", required: false }] }], tngBadgeMax: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeMax", required: false }] }], tngBadgeOffsetX: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeOffsetX", required: false }] }], tngBadgeOffsetY: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeOffsetY", required: false }] }], tngBadgePosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgePosition", required: false }] }], tngBadgeSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeSize", required: false }] }], tngBadgeTone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeTone", required: false }] }], tngBadgeVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeVariant", required: false }] }] } });
|
|
411
396
|
//# sourceMappingURL=tng-badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-badge.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n Renderer2,\n} from '@angular/core';\n\nconst badgePositions = ['bottom-end', 'bottom-start', 'top-end', 'top-start'] as const;\nconst badgeSizes = ['lg', 'md', 'sm'] as const;\nconst badgeTones = ['danger', 'info', 'neutral', 'success', 'warning'] as const;\nconst badgeVariants = ['outline', 'soft', 'solid'] as const;\n\nconst badgePositionSet = new Set<TngBadgePosition>(badgePositions);\nconst badgeSizeSet = new Set<TngBadgeSize>(badgeSizes);\nconst badgeToneSet = new Set<TngBadgeTone>(badgeTones);\nconst badgeVariantSet = new Set<TngBadgeVariant>(badgeVariants);\n\nconst defaultBadgeMax = 99;\nconst defaultBadgePosition: TngBadgePosition = 'top-end';\nconst defaultBadgeSize: TngBadgeSize = 'md';\nconst defaultBadgeTone: TngBadgeTone = 'danger';\nconst defaultBadgeVariant: TngBadgeVariant = 'solid';\n\nexport type TngBadgePosition = (typeof badgePositions)[number];\nexport type TngBadgeSize = (typeof badgeSizes)[number];\nexport type TngBadgeStyleMap = Readonly<Record<string, number | string>>;\nexport type TngBadgeTone = (typeof badgeTones)[number];\nexport type TngBadgeVariant = (typeof badgeVariants)[number];\n\ntype TngBadgeToneColors = Readonly<{\n background: string;\n foreground: string;\n}>;\n\ntype TngResolvedBadgePlacement = Readonly<{\n bottom: string | null;\n left: string | null;\n right: string | null;\n top: string | null;\n transform: string;\n}>;\n\ntype ResizeObserverConstructor = new (callback: ResizeObserverCallback) => ResizeObserver;\n\nfunction isNonEmptyText(value: string): boolean {\n return value.trim().length > 0;\n}\n\nfunction toNumber(value: number | string): number {\n return typeof value === 'number' ? value : Number(value);\n}\n\nfunction toRoundedNonNegative(value: number): number {\n return Math.max(0, Math.round(value));\n}\n\nexport function normalizeTngBadgeMax(value: number): number {\n if (!Number.isFinite(value)) {\n return defaultBadgeMax;\n }\n\n return toRoundedNonNegative(value);\n}\n\nexport function coerceTngBadgeMax(value: number | string): number {\n return normalizeTngBadgeMax(toNumber(value));\n}\n\nexport function coerceTngBadgePosition(value: string): TngBadgePosition {\n if (badgePositionSet.has(value as TngBadgePosition)) {\n return value as TngBadgePosition;\n }\n\n return defaultBadgePosition;\n}\n\nexport function coerceTngBadgeSize(value: string): TngBadgeSize {\n if (badgeSizeSet.has(value as TngBadgeSize)) {\n return value as TngBadgeSize;\n }\n\n return defaultBadgeSize;\n}\n\nexport function coerceTngBadgeTone(value: string): TngBadgeTone {\n if (badgeToneSet.has(value as TngBadgeTone)) {\n return value as TngBadgeTone;\n }\n\n return defaultBadgeTone;\n}\n\nexport function coerceTngBadgeVariant(value: string): TngBadgeVariant {\n if (badgeVariantSet.has(value as TngBadgeVariant)) {\n return value as TngBadgeVariant;\n }\n\n return defaultBadgeVariant;\n}\n\nexport function resolveTngBadgeContent(\n value: number | string | null | undefined,\n max: number,\n dot: boolean,\n): string {\n if (dot || value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return '';\n }\n\n const normalized = toRoundedNonNegative(value);\n if (normalized > max) {\n return `${max}+`;\n }\n\n return String(normalized);\n }\n\n return isNonEmptyText(value) ? value : '';\n}\n\nexport function resolveTngBadgePlacement(position: TngBadgePosition): TngResolvedBadgePlacement {\n if (position === 'top-start') {\n return { bottom: null, left: '0', right: null, top: '0', transform: 'translate(-50%, -50%)' };\n }\n\n if (position === 'bottom-start') {\n return { bottom: '0', left: '0', right: null, top: null, transform: 'translate(-50%, 50%)' };\n }\n\n if (position === 'bottom-end') {\n return { bottom: '0', left: null, right: '0', top: null, transform: 'translate(50%, 50%)' };\n }\n\n return { bottom: null, left: null, right: '0', top: '0', transform: 'translate(50%, -50%)' };\n}\n\nexport function toTngBadgeCssLength(value: number | string | null | undefined): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return null;\n }\n\n return `${value}px`;\n }\n\n return isNonEmptyText(value) ? value.trim() : null;\n}\n\nfunction resolveTngBadgeToneColors(tone: TngBadgeTone): TngBadgeToneColors {\n if (tone === 'success') {\n return { background: '#16a34a', foreground: '#f0fdf4' };\n }\n\n if (tone === 'warning') {\n return { background: '#d97706', foreground: '#fffbeb' };\n }\n\n if (tone === 'danger') {\n return { background: '#dc2626', foreground: '#fef2f2' };\n }\n\n if (tone === 'neutral') {\n return { background: '#334155', foreground: '#f8fafc' };\n }\n\n return { background: '#2563eb', foreground: '#eff6ff' };\n}\n\nfunction hasVisibleBadge(hidden: boolean, dot: boolean, content: string): boolean {\n if (hidden) {\n return false;\n }\n\n return dot || content.length > 0;\n}\n\nfunction resolveResizeObserverConstructor(): ResizeObserverConstructor | null {\n const globalObject = globalThis as { ResizeObserver?: ResizeObserverConstructor };\n const resizeObserver = globalObject.ResizeObserver;\n return typeof resizeObserver === 'function' ? resizeObserver : null;\n}\n\nfunction toCssPixelLength(value: number): string {\n if (!Number.isFinite(value)) {\n return '0px';\n }\n\n return `${Math.max(0, value)}px`;\n}\n\n@Directive({\n selector: '[tngBadge]',\n exportAs: 'tngBadge',\n standalone: true,\n})\nexport class TngBadge implements OnDestroy {\n public readonly tngBadge = input<number | string | null | undefined>(null);\n public readonly tngBadgeClass = input<string | null | undefined>(null);\n public readonly tngBadgeDisabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeStyle = input<TngBadgeStyleMap | null | undefined>(null);\n public readonly tngBadgeDot = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeHidden = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeMax = input<number, number | string>(defaultBadgeMax, {\n transform: coerceTngBadgeMax,\n });\n public readonly tngBadgeOffsetX = input<number | string | null | undefined>(null);\n public readonly tngBadgeOffsetY = input<number | string | null | undefined>(null);\n public readonly tngBadgePosition = input<TngBadgePosition, string>(defaultBadgePosition, {\n transform: coerceTngBadgePosition,\n });\n public readonly tngBadgeSize = input<TngBadgeSize, string>(defaultBadgeSize, {\n transform: coerceTngBadgeSize,\n });\n public readonly tngBadgeTone = input<TngBadgeTone, string>(defaultBadgeTone, {\n transform: coerceTngBadgeTone,\n });\n public readonly tngBadgeVariant = input<TngBadgeVariant, string>(defaultBadgeVariant, {\n transform: coerceTngBadgeVariant,\n });\n\n private readonly hostElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private badgeElement: HTMLElement | null = null;\n private readonly customStyleKeys = new Set<string>();\n private resizeObserver: ResizeObserver | null = null;\n private removeWindowResizeListener: (() => void) | null = null;\n\n public constructor() {\n this.configureHost();\n effect((): void => {\n this.renderBadge();\n });\n }\n\n public ngOnDestroy(): void {\n this.destroyBadge();\n }\n\n private configureHost(): void {\n this.renderer.addClass(this.hostElement, 'tng-badge-host');\n this.renderer.setAttribute(this.hostElement, 'data-tng-badge-host', '');\n\n if (this.hostElement.style.position.length === 0) {\n this.renderer.setStyle(this.hostElement, 'position', 'relative');\n }\n }\n\n private renderBadge(): void {\n const content = resolveTngBadgeContent(this.tngBadge(), this.tngBadgeMax(), this.tngBadgeDot());\n if (!hasVisibleBadge(this.tngBadgeHidden(), this.tngBadgeDot(), content)) {\n this.destroyBadge();\n return;\n }\n\n this.ensureBadgeElement();\n this.beginRuntimePositionTracking();\n this.patchBadgeClasses();\n this.patchBadgeAttributes();\n this.patchBadgePlacement();\n this.patchBadgeVisualStyles();\n this.patchBadgeCustomStyles();\n this.patchBadgeRuntimeMetrics();\n this.patchBadgeContent(content);\n }\n\n private ensureBadgeElement(): HTMLElement {\n if (this.badgeElement !== null) {\n return this.badgeElement;\n }\n\n const badgeElement = this.renderer.createElement('span') as HTMLElement;\n this.renderer.appendChild(this.hostElement, badgeElement);\n this.badgeElement = badgeElement;\n return badgeElement;\n }\n\n private destroyBadge(): void {\n this.endRuntimePositionTracking();\n\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.removeChild(this.hostElement, this.badgeElement);\n this.badgeElement = null;\n this.customStyleKeys.clear();\n }\n\n private patchBadgeAttributes(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n this.renderer.setAttribute(badgeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(badgeElement, 'data-placement', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-position', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-size', this.tngBadgeSize());\n this.renderer.setAttribute(badgeElement, 'data-slot', 'badge');\n this.renderer.setAttribute(badgeElement, 'data-tone', this.tngBadgeTone());\n this.renderer.setAttribute(badgeElement, 'data-variant', this.tngBadgeVariant());\n\n if (this.tngBadgeDisabled()) {\n this.renderer.setAttribute(badgeElement, 'data-disabled', '');\n } else {\n this.renderer.removeAttribute(badgeElement, 'data-disabled');\n }\n\n if (this.tngBadgeDot()) {\n this.renderer.setAttribute(badgeElement, 'data-dot', '');\n return;\n }\n\n this.renderer.removeAttribute(badgeElement, 'data-dot');\n }\n\n private patchBadgeClasses(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const className = this.tngBadgeClass() ?? '';\n const normalizedClassName = className.trim();\n const classes =\n normalizedClassName.length > 0 ? `tng-badge ${normalizedClassName}` : 'tng-badge';\n this.renderer.setAttribute(badgeElement, 'class', classes);\n }\n\n private patchBadgeContent(content: string): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setProperty(this.badgeElement, 'textContent', content);\n }\n\n private patchBadgeCustomStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const nextStyleKeys = new Set<string>();\n const styleMap = this.tngBadgeStyle();\n if (styleMap !== null && styleMap !== undefined) {\n for (const [key, value] of Object.entries(styleMap)) {\n this.renderer.setStyle(badgeElement, key, String(value));\n nextStyleKeys.add(key);\n }\n }\n\n for (const key of this.customStyleKeys) {\n if (!nextStyleKeys.has(key)) {\n this.renderer.removeStyle(badgeElement, key);\n }\n }\n\n this.customStyleKeys.clear();\n for (const key of nextStyleKeys) {\n this.customStyleKeys.add(key);\n }\n }\n\n private patchBadgePlacement(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const placement = resolveTngBadgePlacement(this.tngBadgePosition());\n this.setNullableStyle('bottom', placement.bottom);\n this.setNullableStyle('left', placement.left);\n this.setNullableStyle('right', placement.right);\n this.setNullableStyle('top', placement.top);\n\n const offsetX = toTngBadgeCssLength(this.tngBadgeOffsetX()) ?? '0px';\n const offsetY = toTngBadgeCssLength(this.tngBadgeOffsetY()) ?? '0px';\n const transform = `${placement.transform} translate(${offsetX}, ${offsetY})`;\n this.renderer.setStyle(this.badgeElement, 'transform', transform);\n }\n\n private patchBadgeRuntimeMetrics(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const hostRect = this.hostElement.getBoundingClientRect();\n const badgeRect = this.badgeElement.getBoundingClientRect();\n this.badgeElement.style.setProperty('--tng-badge-anchor-width', toCssPixelLength(hostRect.width));\n this.badgeElement.style.setProperty('--tng-badge-anchor-height', toCssPixelLength(hostRect.height));\n this.badgeElement.style.setProperty('--tng-badge-self-width', toCssPixelLength(badgeRect.width));\n this.badgeElement.style.setProperty('--tng-badge-self-height', toCssPixelLength(badgeRect.height));\n }\n\n private patchBadgeVisualStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const toneColors = resolveTngBadgeToneColors(this.tngBadgeTone());\n const sharedStyles = this.resolveSharedStyles(toneColors);\n for (const [property, value] of sharedStyles) {\n this.renderer.setStyle(badgeElement, property, value);\n }\n\n if (this.tngBadgeDot()) {\n this.patchDotStyles();\n return;\n }\n\n this.patchContentStyles();\n }\n\n private patchContentStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(\n this.badgeElement,\n 'padding-inline',\n 'var(--tng-badge-padding-x, 0.3rem)',\n );\n }\n\n private patchDotStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'padding-inline', '0');\n }\n\n private resolveSharedStyles(\n toneColors: TngBadgeToneColors,\n ): readonly Readonly<[string, string]>[] {\n return [\n ['align-items', 'center'],\n ['background', `var(--tng-badge-bg, ${toneColors.background})`],\n ['border-radius', 'var(--tng-badge-radius, 9999px)'],\n ['box-sizing', 'border-box'],\n ['color', `var(--tng-badge-fg, ${toneColors.foreground})`],\n ['display', 'inline-flex'],\n ['font-size', 'var(--tng-badge-font-size, 0.7rem)'],\n ['font-weight', 'var(--tng-badge-font-weight, 700)'],\n ['justify-content', 'center'],\n ['line-height', '1'],\n ['pointer-events', 'none'],\n ['position', 'absolute'],\n ['white-space', 'nowrap'],\n ['z-index', 'var(--tng-badge-z-index, 1)'],\n ];\n }\n\n private setNullableStyle(property: string, value: string | null): void {\n if (this.badgeElement === null) {\n return;\n }\n\n if (value === null) {\n this.renderer.removeStyle(this.badgeElement, property);\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, property, value);\n }\n\n private beginRuntimePositionTracking(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const resizeObserverConstructor = resolveResizeObserverConstructor();\n if (resizeObserverConstructor !== null) {\n if (this.resizeObserver === null) {\n this.resizeObserver = new resizeObserverConstructor(() => {\n this.syncRuntimePositioning();\n });\n }\n\n this.resizeObserver.observe(this.hostElement);\n this.resizeObserver.observe(this.badgeElement);\n return;\n }\n\n if (this.removeWindowResizeListener === null) {\n this.removeWindowResizeListener = this.renderer.listen('window', 'resize', () => {\n this.syncRuntimePositioning();\n });\n }\n }\n\n private endRuntimePositionTracking(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n\n if (this.removeWindowResizeListener !== null) {\n this.removeWindowResizeListener();\n this.removeWindowResizeListener = null;\n }\n }\n\n private syncRuntimePositioning(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.patchBadgePlacement();\n this.patchBadgeRuntimeMetrics();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tng-badge.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n Renderer2,\n} from '@angular/core';\n\nconst badgePositions = ['bottom-end', 'bottom-start', 'top-end', 'top-start'] as const;\nconst badgeSizes = ['lg', 'md', 'sm'] as const;\nconst badgeTones = ['danger', 'info', 'neutral', 'success', 'warning'] as const;\nconst badgeVariants = ['outline', 'soft', 'solid'] as const;\n\nconst badgePositionSet = new Set<TngBadgePosition>(badgePositions);\nconst badgeSizeSet = new Set<TngBadgeSize>(badgeSizes);\nconst badgeToneSet = new Set<TngBadgeTone>(badgeTones);\nconst badgeVariantSet = new Set<TngBadgeVariant>(badgeVariants);\n\nconst defaultBadgeMax = 99;\nconst defaultBadgePosition: TngBadgePosition = 'top-end';\nconst defaultBadgeSize: TngBadgeSize = 'md';\nconst defaultBadgeTone: TngBadgeTone = 'danger';\nconst defaultBadgeVariant: TngBadgeVariant = 'solid';\n\nexport type TngBadgePosition = (typeof badgePositions)[number];\nexport type TngBadgeSize = (typeof badgeSizes)[number];\nexport type TngBadgeStyleMap = Readonly<Record<string, number | string>>;\nexport type TngBadgeTone = (typeof badgeTones)[number];\nexport type TngBadgeVariant = (typeof badgeVariants)[number];\n\ntype TngBadgeToneColors = Readonly<{\n background: string;\n foreground: string;\n}>;\n\ntype TngResolvedBadgePlacement = Readonly<{\n bottom: string | null;\n left: string | null;\n right: string | null;\n top: string | null;\n transform: string;\n}>;\n\ntype ResizeObserverConstructor = new (callback: ResizeObserverCallback) => ResizeObserver;\n\nfunction isNonEmptyText(value: string): boolean {\n return value.trim().length > 0;\n}\n\nfunction toNumber(value: number | string): number {\n return typeof value === 'number' ? value : Number(value);\n}\n\nfunction toRoundedNonNegative(value: number): number {\n return Math.max(0, Math.round(value));\n}\n\nexport function normalizeTngBadgeMax(value: number): number {\n if (!Number.isFinite(value)) {\n return defaultBadgeMax;\n }\n\n return toRoundedNonNegative(value);\n}\n\nexport function coerceTngBadgeMax(value: number | string): number {\n return normalizeTngBadgeMax(toNumber(value));\n}\n\nexport function coerceTngBadgePosition(value: string): TngBadgePosition {\n if (badgePositionSet.has(value as TngBadgePosition)) {\n return value as TngBadgePosition;\n }\n\n return defaultBadgePosition;\n}\n\nexport function coerceTngBadgeSize(value: string): TngBadgeSize {\n if (badgeSizeSet.has(value as TngBadgeSize)) {\n return value as TngBadgeSize;\n }\n\n return defaultBadgeSize;\n}\n\nexport function coerceTngBadgeTone(value: string): TngBadgeTone {\n if (badgeToneSet.has(value as TngBadgeTone)) {\n return value as TngBadgeTone;\n }\n\n return defaultBadgeTone;\n}\n\nexport function coerceTngBadgeVariant(value: string): TngBadgeVariant {\n if (badgeVariantSet.has(value as TngBadgeVariant)) {\n return value as TngBadgeVariant;\n }\n\n return defaultBadgeVariant;\n}\n\nexport function resolveTngBadgeContent(\n value: number | string | null | undefined,\n max: number,\n dot: boolean,\n): string {\n if (dot || value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return '';\n }\n\n const normalized = toRoundedNonNegative(value);\n if (normalized > max) {\n return `${max}+`;\n }\n\n return String(normalized);\n }\n\n return isNonEmptyText(value) ? value : '';\n}\n\nexport function resolveTngBadgePlacement(position: TngBadgePosition): TngResolvedBadgePlacement {\n if (position === 'top-start') {\n return { bottom: null, left: '0', right: null, top: '0', transform: 'translate(-50%, -50%)' };\n }\n\n if (position === 'bottom-start') {\n return { bottom: '0', left: '0', right: null, top: null, transform: 'translate(-50%, 50%)' };\n }\n\n if (position === 'bottom-end') {\n return { bottom: '0', left: null, right: '0', top: null, transform: 'translate(50%, 50%)' };\n }\n\n return { bottom: null, left: null, right: '0', top: '0', transform: 'translate(50%, -50%)' };\n}\n\nexport function toTngBadgeCssLength(value: number | string | null | undefined): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return null;\n }\n\n return `${value}px`;\n }\n\n return isNonEmptyText(value) ? value.trim() : null;\n}\n\nfunction resolveTngBadgeToneColors(tone: TngBadgeTone): TngBadgeToneColors {\n if (tone === 'success') {\n return { background: '#16a34a', foreground: '#f0fdf4' };\n }\n\n if (tone === 'warning') {\n return { background: '#d97706', foreground: '#fffbeb' };\n }\n\n if (tone === 'danger') {\n return { background: '#dc2626', foreground: '#fef2f2' };\n }\n\n if (tone === 'neutral') {\n return { background: '#334155', foreground: '#f8fafc' };\n }\n\n return { background: '#2563eb', foreground: '#eff6ff' };\n}\n\nfunction hasVisibleBadge(hidden: boolean, dot: boolean, content: string): boolean {\n if (hidden) {\n return false;\n }\n\n return dot || content.length > 0;\n}\n\nfunction resolveResizeObserverConstructor(): ResizeObserverConstructor | null {\n const globalObject = globalThis as { ResizeObserver?: ResizeObserverConstructor };\n const resizeObserver = globalObject.ResizeObserver;\n return typeof resizeObserver === 'function' ? resizeObserver : null;\n}\n\nfunction toCssPixelLength(value: number): string {\n if (!Number.isFinite(value)) {\n return '0px';\n }\n\n return `${Math.max(0, value)}px`;\n}\n\n@Directive({\n selector: '[tngBadge]',\n exportAs: 'tngBadge',\n})\nexport class TngBadge implements OnDestroy {\n public readonly tngBadge = input<number | string | null | undefined>(null);\n public readonly tngBadgeClass = input<string | null | undefined>(null);\n public readonly tngBadgeDisabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeStyle = input<TngBadgeStyleMap | null | undefined>(null);\n public readonly tngBadgeDot = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeHidden = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeMax = input<number, number | string>(defaultBadgeMax, {\n transform: coerceTngBadgeMax,\n });\n public readonly tngBadgeOffsetX = input<number | string | null | undefined>(null);\n public readonly tngBadgeOffsetY = input<number | string | null | undefined>(null);\n public readonly tngBadgePosition = input<TngBadgePosition, string>(defaultBadgePosition, {\n transform: coerceTngBadgePosition,\n });\n public readonly tngBadgeSize = input<TngBadgeSize, string>(defaultBadgeSize, {\n transform: coerceTngBadgeSize,\n });\n public readonly tngBadgeTone = input<TngBadgeTone, string>(defaultBadgeTone, {\n transform: coerceTngBadgeTone,\n });\n public readonly tngBadgeVariant = input<TngBadgeVariant, string>(defaultBadgeVariant, {\n transform: coerceTngBadgeVariant,\n });\n\n private readonly hostElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private badgeElement: HTMLElement | null = null;\n private readonly customStyleKeys = new Set<string>();\n private resizeObserver: ResizeObserver | null = null;\n private removeWindowResizeListener: (() => void) | null = null;\n\n public constructor() {\n this.configureHost();\n effect((): void => {\n this.renderBadge();\n });\n }\n\n public ngOnDestroy(): void {\n this.destroyBadge();\n }\n\n private configureHost(): void {\n this.renderer.addClass(this.hostElement, 'tng-badge-host');\n this.renderer.setAttribute(this.hostElement, 'data-tng-badge-host', '');\n\n if (this.hostElement.style.position.length === 0) {\n this.renderer.setStyle(this.hostElement, 'position', 'relative');\n }\n }\n\n private renderBadge(): void {\n const content = resolveTngBadgeContent(this.tngBadge(), this.tngBadgeMax(), this.tngBadgeDot());\n if (!hasVisibleBadge(this.tngBadgeHidden(), this.tngBadgeDot(), content)) {\n this.destroyBadge();\n return;\n }\n\n this.ensureBadgeElement();\n this.beginRuntimePositionTracking();\n this.patchBadgeClasses();\n this.patchBadgeAttributes();\n this.patchBadgePlacement();\n this.patchBadgeVisualStyles();\n this.patchBadgeCustomStyles();\n this.patchBadgeRuntimeMetrics();\n this.patchBadgeContent(content);\n }\n\n private ensureBadgeElement(): HTMLElement {\n if (this.badgeElement !== null) {\n return this.badgeElement;\n }\n\n const badgeElement = this.renderer.createElement('span') as HTMLElement;\n this.renderer.appendChild(this.hostElement, badgeElement);\n this.badgeElement = badgeElement;\n return badgeElement;\n }\n\n private destroyBadge(): void {\n this.endRuntimePositionTracking();\n\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.removeChild(this.hostElement, this.badgeElement);\n this.badgeElement = null;\n this.customStyleKeys.clear();\n }\n\n private patchBadgeAttributes(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n this.renderer.setAttribute(badgeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(badgeElement, 'data-placement', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-position', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-size', this.tngBadgeSize());\n this.renderer.setAttribute(badgeElement, 'data-slot', 'badge');\n this.renderer.setAttribute(badgeElement, 'data-tone', this.tngBadgeTone());\n this.renderer.setAttribute(badgeElement, 'data-variant', this.tngBadgeVariant());\n\n if (this.tngBadgeDisabled()) {\n this.renderer.setAttribute(badgeElement, 'data-disabled', '');\n } else {\n this.renderer.removeAttribute(badgeElement, 'data-disabled');\n }\n\n if (this.tngBadgeDot()) {\n this.renderer.setAttribute(badgeElement, 'data-dot', '');\n return;\n }\n\n this.renderer.removeAttribute(badgeElement, 'data-dot');\n }\n\n private patchBadgeClasses(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const className = this.tngBadgeClass() ?? '';\n const normalizedClassName = className.trim();\n const classes =\n normalizedClassName.length > 0 ? `tng-badge ${normalizedClassName}` : 'tng-badge';\n this.renderer.setAttribute(badgeElement, 'class', classes);\n }\n\n private patchBadgeContent(content: string): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setProperty(this.badgeElement, 'textContent', content);\n }\n\n private patchBadgeCustomStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const nextStyleKeys = new Set<string>();\n const styleMap = this.tngBadgeStyle();\n if (styleMap !== null && styleMap !== undefined) {\n for (const [key, value] of Object.entries(styleMap)) {\n this.renderer.setStyle(badgeElement, key, String(value));\n nextStyleKeys.add(key);\n }\n }\n\n for (const key of this.customStyleKeys) {\n if (!nextStyleKeys.has(key)) {\n this.renderer.removeStyle(badgeElement, key);\n }\n }\n\n this.customStyleKeys.clear();\n for (const key of nextStyleKeys) {\n this.customStyleKeys.add(key);\n }\n }\n\n private patchBadgePlacement(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const placement = resolveTngBadgePlacement(this.tngBadgePosition());\n this.setNullableStyle('bottom', placement.bottom);\n this.setNullableStyle('left', placement.left);\n this.setNullableStyle('right', placement.right);\n this.setNullableStyle('top', placement.top);\n\n const offsetX = toTngBadgeCssLength(this.tngBadgeOffsetX()) ?? '0px';\n const offsetY = toTngBadgeCssLength(this.tngBadgeOffsetY()) ?? '0px';\n const transform = `${placement.transform} translate(${offsetX}, ${offsetY})`;\n this.renderer.setStyle(this.badgeElement, 'transform', transform);\n }\n\n private patchBadgeRuntimeMetrics(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const hostRect = this.hostElement.getBoundingClientRect();\n const badgeRect = this.badgeElement.getBoundingClientRect();\n this.badgeElement.style.setProperty('--tng-badge-anchor-width', toCssPixelLength(hostRect.width));\n this.badgeElement.style.setProperty('--tng-badge-anchor-height', toCssPixelLength(hostRect.height));\n this.badgeElement.style.setProperty('--tng-badge-self-width', toCssPixelLength(badgeRect.width));\n this.badgeElement.style.setProperty('--tng-badge-self-height', toCssPixelLength(badgeRect.height));\n }\n\n private patchBadgeVisualStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const toneColors = resolveTngBadgeToneColors(this.tngBadgeTone());\n const sharedStyles = this.resolveSharedStyles(toneColors);\n for (const [property, value] of sharedStyles) {\n this.renderer.setStyle(badgeElement, property, value);\n }\n\n if (this.tngBadgeDot()) {\n this.patchDotStyles();\n return;\n }\n\n this.patchContentStyles();\n }\n\n private patchContentStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(\n this.badgeElement,\n 'padding-inline',\n 'var(--tng-badge-padding-x, 0.3rem)',\n );\n }\n\n private patchDotStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'padding-inline', '0');\n }\n\n private resolveSharedStyles(\n toneColors: TngBadgeToneColors,\n ): readonly Readonly<[string, string]>[] {\n return [\n ['align-items', 'center'],\n ['background', `var(--tng-badge-bg, ${toneColors.background})`],\n ['border-radius', 'var(--tng-badge-radius, 9999px)'],\n ['box-sizing', 'border-box'],\n ['color', `var(--tng-badge-fg, ${toneColors.foreground})`],\n ['display', 'inline-flex'],\n ['font-size', 'var(--tng-badge-font-size, 0.7rem)'],\n ['font-weight', 'var(--tng-badge-font-weight, 700)'],\n ['justify-content', 'center'],\n ['line-height', '1'],\n ['pointer-events', 'none'],\n ['position', 'absolute'],\n ['white-space', 'nowrap'],\n ['z-index', 'var(--tng-badge-z-index, 1)'],\n ];\n }\n\n private setNullableStyle(property: string, value: string | null): void {\n if (this.badgeElement === null) {\n return;\n }\n\n if (value === null) {\n this.renderer.removeStyle(this.badgeElement, property);\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, property, value);\n }\n\n private beginRuntimePositionTracking(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const resizeObserverConstructor = resolveResizeObserverConstructor();\n if (resizeObserverConstructor !== null) {\n if (this.resizeObserver === null) {\n this.resizeObserver = new resizeObserverConstructor(() => {\n this.syncRuntimePositioning();\n });\n }\n\n this.resizeObserver.observe(this.hostElement);\n this.resizeObserver.observe(this.badgeElement);\n return;\n }\n\n if (this.removeWindowResizeListener === null) {\n this.removeWindowResizeListener = this.renderer.listen('window', 'resize', () => {\n this.syncRuntimePositioning();\n });\n }\n }\n\n private endRuntimePositionTracking(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n\n if (this.removeWindowResizeListener !== null) {\n this.removeWindowResizeListener();\n this.removeWindowResizeListener = null;\n }\n }\n\n private syncRuntimePositioning(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.patchBadgePlacement();\n this.patchBadgeRuntimeMetrics();\n }\n}\n"]}
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
1
2
|
export declare class TngCodeBlock {
|
|
2
3
|
protected readonly dataSlot: "code-block";
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngCodeBlock, never>;
|
|
5
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngCodeBlock, "[tngCodeBlock]", ["tngCodeBlock"], {}, {}, never, never, true, never>;
|
|
3
6
|
}
|
|
4
7
|
export declare class TngCodeBlockHeader {
|
|
5
8
|
protected readonly dataSlot: "code-block-header";
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngCodeBlockHeader, never>;
|
|
10
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngCodeBlockHeader, "[tngCodeBlockHeader]", ["tngCodeBlockHeader"], {}, {}, never, never, true, never>;
|
|
6
11
|
}
|
|
7
12
|
export declare class TngCodeBlockBody {
|
|
8
13
|
protected readonly dataSlot: "code-block-body";
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngCodeBlockBody, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngCodeBlockBody, "[tngCodeBlockBody]", ["tngCodeBlockBody"], {}, {}, never, never, true, never>;
|
|
9
16
|
}
|
|
10
17
|
export declare class TngCodeBlockGutter {
|
|
11
18
|
protected readonly dataSlot: "code-block-gutter";
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngCodeBlockGutter, never>;
|
|
20
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngCodeBlockGutter, "[tngCodeBlockGutter]", ["tngCodeBlockGutter"], {}, {}, never, never, true, never>;
|
|
12
21
|
}
|
|
13
22
|
export declare class TngCodeBlockCode {
|
|
14
23
|
protected readonly dataSlot: "code-block-code";
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngCodeBlockCode, never>;
|
|
25
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngCodeBlockCode, "[tngCodeBlockCode]", ["tngCodeBlockCode"], {}, {}, never, never, true, never>;
|
|
15
26
|
}
|
|
16
27
|
//# sourceMappingURL=tng-code-block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-code-block.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"tng-code-block.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":";AAEA,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAIa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,gBAAgB;2CAAhB,gBAAgB;CAG5B;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAIa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,gBAAgB;2CAAhB,gBAAgB;CAG5B"}
|
|
@@ -1,73 +1,78 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Directive, HostBinding } from '@angular/core';
|
|
3
|
-
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TngCodeBlock {
|
|
4
4
|
dataSlot = 'code-block';
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlock, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngCodeBlock, isStandalone: true, selector: "[tngCodeBlock]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngCodeBlock"], ngImport: i0 });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlock, decorators: [{
|
|
9
|
+
type: Directive,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: '[tngCodeBlock]',
|
|
12
|
+
exportAs: 'tngCodeBlock',
|
|
13
|
+
}]
|
|
14
|
+
}], propDecorators: { dataSlot: [{
|
|
15
|
+
type: HostBinding,
|
|
16
|
+
args: ['attr.data-slot']
|
|
17
|
+
}] } });
|
|
18
|
+
export class TngCodeBlockHeader {
|
|
18
19
|
dataSlot = 'code-block-header';
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngCodeBlockHeader, isStandalone: true, selector: "[tngCodeBlockHeader]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngCodeBlockHeader"], ngImport: i0 });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockHeader, decorators: [{
|
|
24
|
+
type: Directive,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: '[tngCodeBlockHeader]',
|
|
27
|
+
exportAs: 'tngCodeBlockHeader',
|
|
28
|
+
}]
|
|
29
|
+
}], propDecorators: { dataSlot: [{
|
|
30
|
+
type: HostBinding,
|
|
31
|
+
args: ['attr.data-slot']
|
|
32
|
+
}] } });
|
|
33
|
+
export class TngCodeBlockBody {
|
|
32
34
|
dataSlot = 'code-block-body';
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockBody, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngCodeBlockBody, isStandalone: true, selector: "[tngCodeBlockBody]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngCodeBlockBody"], ngImport: i0 });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockBody, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: '[tngCodeBlockBody]',
|
|
42
|
+
exportAs: 'tngCodeBlockBody',
|
|
43
|
+
}]
|
|
44
|
+
}], propDecorators: { dataSlot: [{
|
|
45
|
+
type: HostBinding,
|
|
46
|
+
args: ['attr.data-slot']
|
|
47
|
+
}] } });
|
|
48
|
+
export class TngCodeBlockGutter {
|
|
46
49
|
dataSlot = 'code-block-gutter';
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockGutter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngCodeBlockGutter, isStandalone: true, selector: "[tngCodeBlockGutter]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngCodeBlockGutter"], ngImport: i0 });
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockGutter, decorators: [{
|
|
54
|
+
type: Directive,
|
|
55
|
+
args: [{
|
|
56
|
+
selector: '[tngCodeBlockGutter]',
|
|
57
|
+
exportAs: 'tngCodeBlockGutter',
|
|
58
|
+
}]
|
|
59
|
+
}], propDecorators: { dataSlot: [{
|
|
60
|
+
type: HostBinding,
|
|
61
|
+
args: ['attr.data-slot']
|
|
62
|
+
}] } });
|
|
63
|
+
export class TngCodeBlockCode {
|
|
60
64
|
dataSlot = 'code-block-code';
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockCode, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
66
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngCodeBlockCode, isStandalone: true, selector: "[tngCodeBlockCode]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngCodeBlockCode"], ngImport: i0 });
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngCodeBlockCode, decorators: [{
|
|
69
|
+
type: Directive,
|
|
70
|
+
args: [{
|
|
71
|
+
selector: '[tngCodeBlockCode]',
|
|
72
|
+
exportAs: 'tngCodeBlockCode',
|
|
73
|
+
}]
|
|
74
|
+
}], propDecorators: { dataSlot: [{
|
|
75
|
+
type: HostBinding,
|
|
76
|
+
args: ['attr.data-slot']
|
|
77
|
+
}] } });
|
|
73
78
|
//# sourceMappingURL=tng-code-block.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-code-block.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-code-block.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAMvD,MAAM,OAAO,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;uGAFzC,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAJxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBACzB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAJ9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;iBAC/B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAJ5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;iBAC7B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAJ9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;iBAC/B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAJ5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;iBAC7B;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCodeBlock]',\n exportAs: 'tngCodeBlock',\n})\nexport class TngCodeBlock {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockHeader]',\n exportAs: 'tngCodeBlockHeader',\n})\nexport class TngCodeBlockHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-header' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockBody]',\n exportAs: 'tngCodeBlockBody',\n})\nexport class TngCodeBlockBody {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-body' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockGutter]',\n exportAs: 'tngCodeBlockGutter',\n})\nexport class TngCodeBlockGutter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-gutter' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockCode]',\n exportAs: 'tngCodeBlockCode',\n})\nexport class TngCodeBlockCode {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-code' as const;\n}\n"]}
|