@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.
Files changed (159) hide show
  1. package/README.md +83 -5
  2. package/package.json +9 -4
  3. package/src/lib/feedback/empty/tng-empty.component.d.ts.map +1 -1
  4. package/src/lib/feedback/empty/tng-empty.component.js +5 -0
  5. package/src/lib/feedback/empty/tng-empty.component.js.map +1 -1
  6. package/src/lib/feedback/progress-bar/tng-progress-bar.component.d.ts.map +1 -1
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.component.js +1 -0
  8. package/src/lib/feedback/progress-bar/tng-progress-bar.component.js.map +1 -1
  9. package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.d.ts.map +1 -1
  10. package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.js +1 -0
  11. package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.js.map +1 -1
  12. package/src/lib/feedback/skeleton/tng-skeleton.component.d.ts.map +1 -1
  13. package/src/lib/feedback/skeleton/tng-skeleton.component.js +1 -0
  14. package/src/lib/feedback/skeleton/tng-skeleton.component.js.map +1 -1
  15. package/src/lib/feedback/toast/tng-toast.component.d.ts +55 -6
  16. package/src/lib/feedback/toast/tng-toast.component.d.ts.map +1 -1
  17. package/src/lib/feedback/toast/tng-toast.component.js +235 -23
  18. package/src/lib/feedback/toast/tng-toast.component.js.map +1 -1
  19. package/src/lib/form/autocomplete/tng-autocomplete.component.js +1 -1
  20. package/src/lib/form/autocomplete/tng-autocomplete.component.js.map +1 -1
  21. package/src/lib/form/button-toggle/tng-button-toggle-group.component.d.ts.map +1 -1
  22. package/src/lib/form/button-toggle/tng-button-toggle-group.component.js +1 -0
  23. package/src/lib/form/button-toggle/tng-button-toggle-group.component.js.map +1 -1
  24. package/src/lib/form/button-toggle/tng-button-toggle.component.d.ts.map +1 -1
  25. package/src/lib/form/button-toggle/tng-button-toggle.component.js +1 -0
  26. package/src/lib/form/button-toggle/tng-button-toggle.component.js.map +1 -1
  27. package/src/lib/form/checkbox/tng-checkbox.component.d.ts.map +1 -1
  28. package/src/lib/form/checkbox/tng-checkbox.component.js +1 -0
  29. package/src/lib/form/checkbox/tng-checkbox.component.js.map +1 -1
  30. package/src/lib/form/chips/tng-chips.component.d.ts +9 -1
  31. package/src/lib/form/chips/tng-chips.component.d.ts.map +1 -1
  32. package/src/lib/form/chips/tng-chips.component.js +40 -3
  33. package/src/lib/form/chips/tng-chips.component.js.map +1 -1
  34. package/src/lib/form/combobox/tng-combobox.component.d.ts.map +1 -1
  35. package/src/lib/form/combobox/tng-combobox.component.js +1 -0
  36. package/src/lib/form/combobox/tng-combobox.component.js.map +1 -1
  37. package/src/lib/form/index.d.ts +2 -2
  38. package/src/lib/form/index.d.ts.map +1 -1
  39. package/src/lib/form/index.js +2 -2
  40. package/src/lib/form/index.js.map +1 -1
  41. package/src/lib/form/input-otp/index.d.ts +3 -0
  42. package/src/lib/form/input-otp/index.d.ts.map +1 -0
  43. package/src/lib/form/input-otp/index.js +3 -0
  44. package/src/lib/form/input-otp/index.js.map +1 -0
  45. package/src/lib/form/input-otp/tng-input-otp.component.d.ts +79 -7
  46. package/src/lib/form/input-otp/tng-input-otp.component.d.ts.map +1 -1
  47. package/src/lib/form/input-otp/tng-input-otp.component.js +441 -81
  48. package/src/lib/form/input-otp/tng-input-otp.component.js.map +1 -1
  49. package/src/lib/form/label/tng-label.component.d.ts.map +1 -1
  50. package/src/lib/form/label/tng-label.component.js +1 -0
  51. package/src/lib/form/label/tng-label.component.js.map +1 -1
  52. package/src/lib/form/radio/tng-radio.component.d.ts +4 -0
  53. package/src/lib/form/radio/tng-radio.component.d.ts.map +1 -1
  54. package/src/lib/form/radio/tng-radio.component.js +16 -0
  55. package/src/lib/form/radio/tng-radio.component.js.map +1 -1
  56. package/src/lib/form/slider/tng-slider.component.d.ts.map +1 -1
  57. package/src/lib/form/slider/tng-slider.component.js +1 -0
  58. package/src/lib/form/slider/tng-slider.component.js.map +1 -1
  59. package/src/lib/form/switch/tng-switch.component.d.ts.map +1 -1
  60. package/src/lib/form/switch/tng-switch.component.js +1 -0
  61. package/src/lib/form/switch/tng-switch.component.js.map +1 -1
  62. package/src/lib/form/textarea/tng-textarea.component.d.ts +2 -0
  63. package/src/lib/form/textarea/tng-textarea.component.d.ts.map +1 -1
  64. package/src/lib/form/textarea/tng-textarea.component.js +8 -4
  65. package/src/lib/form/textarea/tng-textarea.component.js.map +1 -1
  66. package/src/lib/form/toggle/tng-toggle.component.d.ts.map +1 -1
  67. package/src/lib/form/toggle/tng-toggle.component.js +1 -0
  68. package/src/lib/form/toggle/tng-toggle.component.js.map +1 -1
  69. package/src/lib/form/toggle-group/tng-toggle-group.component.d.ts.map +1 -1
  70. package/src/lib/form/toggle-group/tng-toggle-group.component.js +1 -0
  71. package/src/lib/form/toggle-group/tng-toggle-group.component.js.map +1 -1
  72. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.d.ts.map +1 -1
  73. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.js +1 -0
  74. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.js.map +1 -1
  75. package/src/lib/layout/card/tng-card.component.d.ts.map +1 -1
  76. package/src/lib/layout/card/tng-card.component.js +10 -0
  77. package/src/lib/layout/card/tng-card.component.js.map +1 -1
  78. package/src/lib/layout/collapsible/tng-collapsible.component.d.ts.map +1 -1
  79. package/src/lib/layout/collapsible/tng-collapsible.component.js +1 -0
  80. package/src/lib/layout/collapsible/tng-collapsible.component.js.map +1 -1
  81. package/src/lib/layout/grid/tng-grid.component.d.ts.map +1 -1
  82. package/src/lib/layout/grid/tng-grid.component.js +1 -0
  83. package/src/lib/layout/grid/tng-grid.component.js.map +1 -1
  84. package/src/lib/layout/separator/tng-separator.component.d.ts.map +1 -1
  85. package/src/lib/layout/separator/tng-separator.component.js +1 -0
  86. package/src/lib/layout/separator/tng-separator.component.js.map +1 -1
  87. package/src/lib/layout/stepper/tng-stepper.component.d.ts.map +1 -1
  88. package/src/lib/layout/stepper/tng-stepper.component.js +1 -0
  89. package/src/lib/layout/stepper/tng-stepper.component.js.map +1 -1
  90. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.d.ts +10 -0
  91. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.d.ts.map +1 -1
  92. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.js +53 -1
  93. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.js.map +1 -1
  94. package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.d.ts.map +1 -1
  95. package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.js +1 -0
  96. package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.js.map +1 -1
  97. package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.d.ts.map +1 -1
  98. package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.js +1 -0
  99. package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.js.map +1 -1
  100. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.d.ts.map +1 -1
  101. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.js +1 -0
  102. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.js.map +1 -1
  103. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.d.ts.map +1 -1
  104. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.js +1 -0
  105. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.js.map +1 -1
  106. package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.d.ts.map +1 -1
  107. package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.js +1 -0
  108. package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.js.map +1 -1
  109. package/src/lib/navigation/context-menu/tng-context-menu.component.d.ts +1 -0
  110. package/src/lib/navigation/context-menu/tng-context-menu.component.d.ts.map +1 -1
  111. package/src/lib/navigation/context-menu/tng-context-menu.component.js +21 -4
  112. package/src/lib/navigation/context-menu/tng-context-menu.component.js.map +1 -1
  113. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.d.ts.map +1 -1
  114. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.js +1 -0
  115. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.js.map +1 -1
  116. package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.d.ts.map +1 -1
  117. package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.js +1 -0
  118. package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.js.map +1 -1
  119. package/src/lib/navigation/toolbar/tng-toolbar.component.d.ts.map +1 -1
  120. package/src/lib/navigation/toolbar/tng-toolbar.component.js +1 -0
  121. package/src/lib/navigation/toolbar/tng-toolbar.component.js.map +1 -1
  122. package/src/lib/overlay/dialog/tng-dialog.component.d.ts.map +1 -1
  123. package/src/lib/overlay/dialog/tng-dialog.component.js +1 -0
  124. package/src/lib/overlay/dialog/tng-dialog.component.js.map +1 -1
  125. package/src/lib/overlay/popover/tng-popover.component.d.ts +14 -19
  126. package/src/lib/overlay/popover/tng-popover.component.d.ts.map +1 -1
  127. package/src/lib/overlay/popover/tng-popover.component.js +25 -105
  128. package/src/lib/overlay/popover/tng-popover.component.js.map +1 -1
  129. package/src/lib/overlay/tng-overlay-focus-handoff.d.ts +10 -0
  130. package/src/lib/overlay/tng-overlay-focus-handoff.d.ts.map +1 -0
  131. package/src/lib/overlay/tng-overlay-focus-handoff.js +3 -0
  132. package/src/lib/overlay/tng-overlay-focus-handoff.js.map +1 -0
  133. package/src/lib/overlay/tng-overlay-runtime.d.ts +2 -2
  134. package/src/lib/overlay/tooltip/tng-tooltip.component.d.ts +1 -18
  135. package/src/lib/overlay/tooltip/tng-tooltip.component.d.ts.map +1 -1
  136. package/src/lib/overlay/tooltip/tng-tooltip.component.js +6 -85
  137. package/src/lib/overlay/tooltip/tng-tooltip.component.js.map +1 -1
  138. package/src/lib/utility/avatar/tng-avatar.component.d.ts.map +1 -1
  139. package/src/lib/utility/avatar/tng-avatar.component.js +9 -1
  140. package/src/lib/utility/avatar/tng-avatar.component.js.map +1 -1
  141. package/src/lib/utility/badge/tng-badge.component.d.ts.map +1 -1
  142. package/src/lib/utility/badge/tng-badge.component.js +1 -0
  143. package/src/lib/utility/badge/tng-badge.component.js.map +1 -1
  144. package/src/lib/utility/button/tng-button.component.d.ts.map +1 -1
  145. package/src/lib/utility/button/tng-button.component.js +1 -0
  146. package/src/lib/utility/button/tng-button.component.js.map +1 -1
  147. package/src/lib/utility/code-block/tng-code-block.component.d.ts.map +1 -1
  148. package/src/lib/utility/code-block/tng-code-block.component.js +1 -0
  149. package/src/lib/utility/code-block/tng-code-block.component.js.map +1 -1
  150. package/src/lib/utility/copy-button/tng-copy-button.component.d.ts.map +1 -1
  151. package/src/lib/utility/copy-button/tng-copy-button.component.js +1 -0
  152. package/src/lib/utility/copy-button/tng-copy-button.component.js.map +1 -1
  153. package/src/lib/utility/tag/tng-tag.component.d.ts +8 -0
  154. package/src/lib/utility/tag/tng-tag.component.d.ts.map +1 -1
  155. package/src/lib/utility/tag/tng-tag.component.js +17 -3
  156. package/src/lib/utility/tag/tng-tag.component.js.map +1 -1
  157. package/src/lib/utility/tree/tng-tree.component.d.ts.map +1 -1
  158. package/src/lib/utility/tree/tng-tree.component.js +1 -0
  159. package/src/lib/utility/tree/tng-tree.component.js.map +1 -1
@@ -56,6 +56,7 @@ let TngCardComponent = class TngCardComponent {
56
56
  };
57
57
  TngCardComponent = __decorate([
58
58
  Component({
59
+ standalone: true,
59
60
  selector: 'tng-card',
60
61
  imports: [TngCardPrimitive],
61
62
  templateUrl: './tng-card.component.html',
@@ -67,6 +68,7 @@ let TngCardHeaderComponent = class TngCardHeaderComponent {
67
68
  };
68
69
  TngCardHeaderComponent = __decorate([
69
70
  Component({
71
+ standalone: true,
70
72
  selector: 'tng-card-header',
71
73
  imports: [TngCardHeaderPrimitive],
72
74
  templateUrl: './tng-card-header.component.html',
@@ -78,6 +80,7 @@ let TngCardTitleComponent = class TngCardTitleComponent {
78
80
  };
79
81
  TngCardTitleComponent = __decorate([
80
82
  Component({
83
+ standalone: true,
81
84
  selector: 'tng-card-title',
82
85
  imports: [TngCardTitlePrimitive],
83
86
  templateUrl: './tng-card-title.component.html',
@@ -89,6 +92,7 @@ let TngCardDescriptionComponent = class TngCardDescriptionComponent {
89
92
  };
90
93
  TngCardDescriptionComponent = __decorate([
91
94
  Component({
95
+ standalone: true,
92
96
  selector: 'tng-card-description',
93
97
  imports: [TngCardDescriptionPrimitive],
94
98
  templateUrl: './tng-card-description.component.html',
@@ -100,6 +104,7 @@ let TngCardContentComponent = class TngCardContentComponent {
100
104
  };
101
105
  TngCardContentComponent = __decorate([
102
106
  Component({
107
+ standalone: true,
103
108
  selector: 'tng-card-content',
104
109
  imports: [TngCardContentPrimitive],
105
110
  templateUrl: './tng-card-content.component.html',
@@ -111,6 +116,7 @@ let TngCardFooterComponent = class TngCardFooterComponent {
111
116
  };
112
117
  TngCardFooterComponent = __decorate([
113
118
  Component({
119
+ standalone: true,
114
120
  selector: 'tng-card-footer',
115
121
  imports: [TngCardFooterPrimitive],
116
122
  templateUrl: './tng-card-footer.component.html',
@@ -122,6 +128,7 @@ let TngCardMediaComponent = class TngCardMediaComponent {
122
128
  };
123
129
  TngCardMediaComponent = __decorate([
124
130
  Component({
131
+ standalone: true,
125
132
  selector: 'tng-card-media',
126
133
  imports: [TngCardMediaPrimitive],
127
134
  templateUrl: './tng-card-media.component.html',
@@ -136,6 +143,7 @@ let TngCardActionsComponent = class TngCardActionsComponent {
136
143
  };
137
144
  TngCardActionsComponent = __decorate([
138
145
  Component({
146
+ standalone: true,
139
147
  selector: 'tng-card-actions',
140
148
  imports: [TngCardActionsPrimitive],
141
149
  templateUrl: './tng-card-actions.component.html',
@@ -147,6 +155,7 @@ let TngCardDividerComponent = class TngCardDividerComponent {
147
155
  };
148
156
  TngCardDividerComponent = __decorate([
149
157
  Component({
158
+ standalone: true,
150
159
  selector: 'tng-card-divider',
151
160
  imports: [TngCardDividerPrimitive],
152
161
  templateUrl: './tng-card-divider.component.html',
@@ -176,6 +185,7 @@ let TngCardLinkComponent = class TngCardLinkComponent {
176
185
  };
177
186
  TngCardLinkComponent = __decorate([
178
187
  Component({
188
+ standalone: true,
179
189
  selector: 'tng-card-link',
180
190
  imports: [TngCardLinkPrimitive],
181
191
  templateUrl: './tng-card-link.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/card/tng-card.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport {\n TngCard as TngCardPrimitive,\n TngCardActions as TngCardActionsPrimitive,\n TngCardContent as TngCardContentPrimitive,\n TngCardDescription as TngCardDescriptionPrimitive,\n TngCardDivider as TngCardDividerPrimitive,\n TngCardFooter as TngCardFooterPrimitive,\n TngCardHeader as TngCardHeaderPrimitive,\n TngCardLink as TngCardLinkPrimitive,\n TngCardMedia as TngCardMediaPrimitive,\n TngCardTitle as TngCardTitlePrimitive,\n} from '@tailng-ui/primitives';\n\nconst cardVariants = ['ghost', 'outline', 'solid'] as const;\nconst cardTones = ['danger', 'info', 'neutral', 'primary', 'success', 'warning'] as const;\nconst cardPaddings = ['lg', 'md', 'none', 'sm'] as const;\nconst cardActionAlignments = ['end', 'start'] as const;\n\nconst cardVariantSet = new Set<TngCardVariant>(cardVariants);\nconst cardToneSet = new Set<TngCardTone>(cardTones);\nconst cardPaddingSet = new Set<TngCardPadding>(cardPaddings);\nconst cardActionAlignmentSet = new Set<TngCardActionsAlign>(cardActionAlignments);\n\nconst defaultCardVariant: TngCardVariant = 'solid';\nconst defaultCardTone: TngCardTone = 'neutral';\nconst defaultCardPadding: TngCardPadding = 'md';\nconst defaultCardActionsAlign: TngCardActionsAlign = 'end';\n\nexport type TngCardVariant = (typeof cardVariants)[number];\nexport type TngCardTone = (typeof cardTones)[number];\nexport type TngCardPadding = (typeof cardPaddings)[number];\nexport type TngCardActionsAlign = (typeof cardActionAlignments)[number];\n\nfunction coerceCardVariant(value: string): TngCardVariant {\n if (cardVariantSet.has(value as TngCardVariant)) {\n return value as TngCardVariant;\n }\n\n return defaultCardVariant;\n}\n\nfunction coerceCardTone(value: string): TngCardTone {\n if (cardToneSet.has(value as TngCardTone)) {\n return value as TngCardTone;\n }\n\n return defaultCardTone;\n}\n\nfunction coerceCardPadding(value: string): TngCardPadding {\n if (cardPaddingSet.has(value as TngCardPadding)) {\n return value as TngCardPadding;\n }\n\n return defaultCardPadding;\n}\n\nfunction coerceCardActionsAlign(value: string): TngCardActionsAlign {\n if (cardActionAlignmentSet.has(value as TngCardActionsAlign)) {\n return value as TngCardActionsAlign;\n }\n\n return defaultCardActionsAlign;\n}\n\n@Component({\n selector: 'tng-card',\n imports: [TngCardPrimitive],\n templateUrl: './tng-card.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardComponent {\n public readonly elevated = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly interactive = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly padding = input<TngCardPadding, string>(defaultCardPadding, {\n transform: coerceCardPadding,\n });\n public readonly tone = input<TngCardTone, string>(defaultCardTone, {\n transform: coerceCardTone,\n });\n public readonly variant = input<TngCardVariant, string>(defaultCardVariant, {\n transform: coerceCardVariant,\n });\n}\n\n@Component({\n selector: 'tng-card-header',\n imports: [TngCardHeaderPrimitive],\n templateUrl: './tng-card-header.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardHeaderComponent {\n}\n\n@Component({\n selector: 'tng-card-title',\n imports: [TngCardTitlePrimitive],\n templateUrl: './tng-card-title.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardTitleComponent {\n}\n\n@Component({\n selector: 'tng-card-description',\n imports: [TngCardDescriptionPrimitive],\n templateUrl: './tng-card-description.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDescriptionComponent {\n}\n\n@Component({\n selector: 'tng-card-content',\n imports: [TngCardContentPrimitive],\n templateUrl: './tng-card-content.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardContentComponent {\n}\n\n@Component({\n selector: 'tng-card-footer',\n imports: [TngCardFooterPrimitive],\n templateUrl: './tng-card-footer.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardFooterComponent {\n}\n\n@Component({\n selector: 'tng-card-media',\n imports: [TngCardMediaPrimitive],\n templateUrl: './tng-card-media.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardMediaComponent {\n}\n\n@Component({\n selector: 'tng-card-actions',\n imports: [TngCardActionsPrimitive],\n templateUrl: './tng-card-actions.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardActionsComponent {\n public readonly align = input<TngCardActionsAlign, string>(defaultCardActionsAlign, {\n transform: coerceCardActionsAlign,\n });\n}\n\n@Component({\n selector: 'tng-card-divider',\n imports: [TngCardDividerPrimitive],\n templateUrl: './tng-card-divider.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDividerComponent {\n}\n\n@Component({\n selector: 'tng-card-link',\n imports: [TngCardLinkPrimitive],\n templateUrl: './tng-card-link.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardLinkComponent {\n public readonly ariaLabel = input<string | null>(null);\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly href = input<string | null>('#');\n public readonly rel = input<string | null>(null);\n public readonly target = input<string | null>(null);\n\n protected onClick(...args: readonly unknown[]): void {\n if (!this.disabled()) {\n return;\n }\n\n const [event] = args;\n if (!(event instanceof Event)) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
1
+ {"version":3,"file":"tng-card.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/card/tng-card.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport {\n TngCard as TngCardPrimitive,\n TngCardActions as TngCardActionsPrimitive,\n TngCardContent as TngCardContentPrimitive,\n TngCardDescription as TngCardDescriptionPrimitive,\n TngCardDivider as TngCardDividerPrimitive,\n TngCardFooter as TngCardFooterPrimitive,\n TngCardHeader as TngCardHeaderPrimitive,\n TngCardLink as TngCardLinkPrimitive,\n TngCardMedia as TngCardMediaPrimitive,\n TngCardTitle as TngCardTitlePrimitive,\n} from '@tailng-ui/primitives';\n\nconst cardVariants = ['ghost', 'outline', 'solid'] as const;\nconst cardTones = ['danger', 'info', 'neutral', 'primary', 'success', 'warning'] as const;\nconst cardPaddings = ['lg', 'md', 'none', 'sm'] as const;\nconst cardActionAlignments = ['end', 'start'] as const;\n\nconst cardVariantSet = new Set<TngCardVariant>(cardVariants);\nconst cardToneSet = new Set<TngCardTone>(cardTones);\nconst cardPaddingSet = new Set<TngCardPadding>(cardPaddings);\nconst cardActionAlignmentSet = new Set<TngCardActionsAlign>(cardActionAlignments);\n\nconst defaultCardVariant: TngCardVariant = 'solid';\nconst defaultCardTone: TngCardTone = 'neutral';\nconst defaultCardPadding: TngCardPadding = 'md';\nconst defaultCardActionsAlign: TngCardActionsAlign = 'end';\n\nexport type TngCardVariant = (typeof cardVariants)[number];\nexport type TngCardTone = (typeof cardTones)[number];\nexport type TngCardPadding = (typeof cardPaddings)[number];\nexport type TngCardActionsAlign = (typeof cardActionAlignments)[number];\n\nfunction coerceCardVariant(value: string): TngCardVariant {\n if (cardVariantSet.has(value as TngCardVariant)) {\n return value as TngCardVariant;\n }\n\n return defaultCardVariant;\n}\n\nfunction coerceCardTone(value: string): TngCardTone {\n if (cardToneSet.has(value as TngCardTone)) {\n return value as TngCardTone;\n }\n\n return defaultCardTone;\n}\n\nfunction coerceCardPadding(value: string): TngCardPadding {\n if (cardPaddingSet.has(value as TngCardPadding)) {\n return value as TngCardPadding;\n }\n\n return defaultCardPadding;\n}\n\nfunction coerceCardActionsAlign(value: string): TngCardActionsAlign {\n if (cardActionAlignmentSet.has(value as TngCardActionsAlign)) {\n return value as TngCardActionsAlign;\n }\n\n return defaultCardActionsAlign;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card',\n imports: [TngCardPrimitive],\n templateUrl: './tng-card.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardComponent {\n public readonly elevated = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly interactive = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly padding = input<TngCardPadding, string>(defaultCardPadding, {\n transform: coerceCardPadding,\n });\n public readonly tone = input<TngCardTone, string>(defaultCardTone, {\n transform: coerceCardTone,\n });\n public readonly variant = input<TngCardVariant, string>(defaultCardVariant, {\n transform: coerceCardVariant,\n });\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-header',\n imports: [TngCardHeaderPrimitive],\n templateUrl: './tng-card-header.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardHeaderComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-title',\n imports: [TngCardTitlePrimitive],\n templateUrl: './tng-card-title.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardTitleComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-description',\n imports: [TngCardDescriptionPrimitive],\n templateUrl: './tng-card-description.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDescriptionComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-content',\n imports: [TngCardContentPrimitive],\n templateUrl: './tng-card-content.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardContentComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-footer',\n imports: [TngCardFooterPrimitive],\n templateUrl: './tng-card-footer.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardFooterComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-media',\n imports: [TngCardMediaPrimitive],\n templateUrl: './tng-card-media.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardMediaComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-actions',\n imports: [TngCardActionsPrimitive],\n templateUrl: './tng-card-actions.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardActionsComponent {\n public readonly align = input<TngCardActionsAlign, string>(defaultCardActionsAlign, {\n transform: coerceCardActionsAlign,\n });\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-divider',\n imports: [TngCardDividerPrimitive],\n templateUrl: './tng-card-divider.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDividerComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-link',\n imports: [TngCardLinkPrimitive],\n templateUrl: './tng-card-link.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardLinkComponent {\n public readonly ariaLabel = input<string | null>(null);\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly href = input<string | null>('#');\n public readonly rel = input<string | null>(null);\n public readonly target = input<string | null>(null);\n\n protected onClick(...args: readonly unknown[]): void {\n if (!this.disabled()) {\n return;\n }\n\n const [event] = args;\n if (!(event instanceof Event)) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-collapsible.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":"AASA,wBAAgB,6BAA6B,IAAI,MAAM,CAGtD;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEnF;AAED,qBAUa,uBAAuB;IAClC,SAAgB,SAAS,8CAAkD;IAC3E,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IACH,SAAgB,KAAK,8CAAgC;IAErD,SAAgB,UAAU,oDAAqB;IAExC,QAAQ,IAAI,IAAI;CAIxB"}
1
+ {"version":3,"file":"tng-collapsible.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":"AASA,wBAAgB,6BAA6B,IAAI,MAAM,CAGtD;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEnF;AAED,qBAWa,uBAAuB;IAClC,SAAgB,SAAS,8CAAkD;IAC3E,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IACH,SAAgB,KAAK,8CAAgC;IAErD,SAAgB,UAAU,oDAAqB;IAExC,QAAQ,IAAI,IAAI;CAIxB"}
@@ -26,6 +26,7 @@ let TngCollapsibleComponent = class TngCollapsibleComponent {
26
26
  };
27
27
  TngCollapsibleComponent = __decorate([
28
28
  Component({
29
+ standalone: true,
29
30
  selector: 'tng-collapsible',
30
31
  imports: [
31
32
  TngCollapsiblePrimitive,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-collapsible.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,cAAc,IAAI,uBAAuB,EACzC,qBAAqB,IAAI,8BAA8B,EACvD,qBAAqB,IAAI,8BAA8B,GACxD,MAAM,uBAAuB,CAAC;AAE/B,IAAI,wBAAwB,GAAG,CAAC,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,wBAAwB,IAAI,CAAC,CAAC;IAC9B,OAAO,2BAA2B,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,QAAiB;IACxE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAYM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,6BAA6B,EAAE,CAAC,CAAC;IAC3D,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA4B,KAAK,EAAE;QAC7D,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,aAAa,CAAC,CAAC;IAErC,UAAU,GAAG,MAAM,EAAW,CAAC;IAExC,QAAQ;QACb,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAhBY,uBAAuB;IAVnC,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,uBAAuB;YACvB,8BAA8B;YAC9B,8BAA8B;SAC/B;QACD,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;GACW,uBAAuB,CAgBnC","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n TngCollapsible as TngCollapsiblePrimitive,\n TngCollapsibleContent as TngCollapsibleContentPrimitive,\n TngCollapsibleTrigger as TngCollapsibleTriggerPrimitive,\n} from '@tailng-ui/primitives';\n\nlet nextCollapsibleContentId = 0;\n\nexport function createTngCollapsibleContentId(): string {\n nextCollapsibleContentId += 1;\n return `tng-collapsible-content-${nextCollapsibleContentId}`;\n}\n\nexport function toggleTngCollapsibleState(open: boolean, disabled: boolean): boolean {\n return disabled ? open : !open;\n}\n\n@Component({\n selector: 'tng-collapsible',\n imports: [\n TngCollapsiblePrimitive,\n TngCollapsibleTriggerPrimitive,\n TngCollapsibleContentPrimitive,\n ],\n templateUrl: './tng-collapsible.component.html',\n styleUrl: './tng-collapsible.component.css',\n})\nexport class TngCollapsibleComponent {\n public readonly contentId = input<string>(createTngCollapsibleContentId());\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly title = input<string>('Collapsible');\n\n public readonly openChange = output<boolean>();\n\n public onToggle(): void {\n const nextState = toggleTngCollapsibleState(this.open(), this.disabled());\n this.openChange.emit(nextState);\n }\n}\n"]}
1
+ {"version":3,"file":"tng-collapsible.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,cAAc,IAAI,uBAAuB,EACzC,qBAAqB,IAAI,8BAA8B,EACvD,qBAAqB,IAAI,8BAA8B,GACxD,MAAM,uBAAuB,CAAC;AAE/B,IAAI,wBAAwB,GAAG,CAAC,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,wBAAwB,IAAI,CAAC,CAAC;IAC9B,OAAO,2BAA2B,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,QAAiB;IACxE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAaM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,6BAA6B,EAAE,CAAC,CAAC;IAC3D,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA4B,KAAK,EAAE;QAC7D,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,aAAa,CAAC,CAAC;IAErC,UAAU,GAAG,MAAM,EAAW,CAAC;IAExC,QAAQ;QACb,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAhBY,uBAAuB;IAXnC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,uBAAuB;YACvB,8BAA8B;YAC9B,8BAA8B;SAC/B;QACD,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;GACW,uBAAuB,CAgBnC","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n TngCollapsible as TngCollapsiblePrimitive,\n TngCollapsibleContent as TngCollapsibleContentPrimitive,\n TngCollapsibleTrigger as TngCollapsibleTriggerPrimitive,\n} from '@tailng-ui/primitives';\n\nlet nextCollapsibleContentId = 0;\n\nexport function createTngCollapsibleContentId(): string {\n nextCollapsibleContentId += 1;\n return `tng-collapsible-content-${nextCollapsibleContentId}`;\n}\n\nexport function toggleTngCollapsibleState(open: boolean, disabled: boolean): boolean {\n return disabled ? open : !open;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-collapsible',\n imports: [\n TngCollapsiblePrimitive,\n TngCollapsibleTriggerPrimitive,\n TngCollapsibleContentPrimitive,\n ],\n templateUrl: './tng-collapsible.component.html',\n styleUrl: './tng-collapsible.component.css',\n})\nexport class TngCollapsibleComponent {\n public readonly contentId = input<string>(createTngCollapsibleContentId());\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly title = input<string>('Collapsible');\n\n public readonly openChange = output<boolean>();\n\n public onToggle(): void {\n const nextState = toggleTngCollapsibleState(this.open(), this.disabled());\n this.openChange.emit(nextState);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-grid.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/grid/tng-grid.component.ts"],"names":[],"mappings":"AAGA,qBAMa,gBAAgB;IAC3B,SAAgB,SAAS,8CAAyB;CACnD"}
1
+ {"version":3,"file":"tng-grid.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/grid/tng-grid.component.ts"],"names":[],"mappings":"AAGA,qBAOa,gBAAgB;IAC3B,SAAgB,SAAS,8CAAyB;CACnD"}
@@ -6,6 +6,7 @@ let TngGridComponent = class TngGridComponent {
6
6
  };
7
7
  TngGridComponent = __decorate([
8
8
  Component({
9
+ standalone: true,
9
10
  selector: 'tng-grid',
10
11
  imports: [TngGridPrimitive],
11
12
  templateUrl: './tng-grid.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-grid.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/grid/tng-grid.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQ7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACX,SAAS,GAAG,KAAK,CAAS,MAAM,CAAC,CAAC;CACnD,CAAA;AAFY,gBAAgB;IAN5B,SAAS,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,0BAA0B;KACrC,CAAC;GACW,gBAAgB,CAE5B","sourcesContent":["import { Component, input } from '@angular/core';\nimport { TngGrid as TngGridPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-grid',\n imports: [TngGridPrimitive],\n templateUrl: './tng-grid.component.html',\n styleUrl: './tng-grid.component.css',\n})\nexport class TngGridComponent {\n public readonly ariaLabel = input<string>('Grid');\n}\n"]}
1
+ {"version":3,"file":"tng-grid.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/grid/tng-grid.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACX,SAAS,GAAG,KAAK,CAAS,MAAM,CAAC,CAAC;CACnD,CAAA;AAFY,gBAAgB;IAP5B,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,0BAA0B;KACrC,CAAC;GACW,gBAAgB,CAE5B","sourcesContent":["import { Component, input } from '@angular/core';\nimport { TngGrid as TngGridPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-grid',\n imports: [TngGridPrimitive],\n templateUrl: './tng-grid.component.html',\n styleUrl: './tng-grid.component.css',\n})\nexport class TngGridComponent {\n public readonly ariaLabel = input<string>('Grid');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-separator.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/separator/tng-separator.component.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,qBAMa,qBAAqB;IAChC,SAAgB,UAAU,8EAEvB;IACH,SAAgB,WAAW,+DAAgD;CAC5E"}
1
+ {"version":3,"file":"tng-separator.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/separator/tng-separator.component.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,qBAOa,qBAAqB;IAChC,SAAgB,UAAU,8EAEvB;IACH,SAAgB,WAAW,+DAAgD;CAC5E"}
@@ -9,6 +9,7 @@ let TngSeparatorComponent = class TngSeparatorComponent {
9
9
  };
10
10
  TngSeparatorComponent = __decorate([
11
11
  Component({
12
+ standalone: true,
12
13
  selector: 'tng-separator',
13
14
  imports: [TngSeparatorPrimitive],
14
15
  templateUrl: './tng-separator.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-separator.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/separator/tng-separator.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,YAAY,IAAI,qBAAqB,GAEtC,MAAM,uBAAuB,CAAC;AAQxB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChB,UAAU,GAAG,KAAK,CAA4B,IAAI,EAAE;QAClE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAA0B,YAAY,CAAC,CAAC;CAC5E,CAAA;AALY,qBAAqB;IANjC,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,CAAC,qBAAqB,CAAC;QAChC,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,+BAA+B;KAC1C,CAAC;GACW,qBAAqB,CAKjC","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport {\n TngSeparator as TngSeparatorPrimitive,\n type TngSeparatorOrientation,\n} from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-separator',\n imports: [TngSeparatorPrimitive],\n templateUrl: './tng-separator.component.html',\n styleUrl: './tng-separator.component.css',\n})\nexport class TngSeparatorComponent {\n public readonly decorative = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly orientation = input<TngSeparatorOrientation>('horizontal');\n}\n"]}
1
+ {"version":3,"file":"tng-separator.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/separator/tng-separator.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,YAAY,IAAI,qBAAqB,GAEtC,MAAM,uBAAuB,CAAC;AASxB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChB,UAAU,GAAG,KAAK,CAA4B,IAAI,EAAE;QAClE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAA0B,YAAY,CAAC,CAAC;CAC5E,CAAA;AALY,qBAAqB;IAPjC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,CAAC,qBAAqB,CAAC;QAChC,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,+BAA+B;KAC1C,CAAC;GACW,qBAAqB,CAKjC","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport {\n TngSeparator as TngSeparatorPrimitive,\n type TngSeparatorOrientation,\n} from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-separator',\n imports: [TngSeparatorPrimitive],\n templateUrl: './tng-separator.component.html',\n styleUrl: './tng-separator.component.css',\n})\nexport class TngSeparatorComponent {\n public readonly decorative = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly orientation = input<TngSeparatorOrientation>('horizontal');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-stepper.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/stepper/tng-stepper.component.ts"],"names":[],"mappings":"AAGA,qBAMa,mBAAmB;IAC9B,SAAgB,SAAS,8CAA4B;CACtD"}
1
+ {"version":3,"file":"tng-stepper.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/stepper/tng-stepper.component.ts"],"names":[],"mappings":"AAGA,qBAOa,mBAAmB;IAC9B,SAAgB,SAAS,8CAA4B;CACtD"}
@@ -6,6 +6,7 @@ let TngStepperComponent = class TngStepperComponent {
6
6
  };
7
7
  TngStepperComponent = __decorate([
8
8
  Component({
9
+ standalone: true,
9
10
  selector: 'tng-stepper',
10
11
  imports: [TngStepperPrimitive],
11
12
  templateUrl: './tng-stepper.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-stepper.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/stepper/tng-stepper.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQnE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACd,SAAS,GAAG,KAAK,CAAS,SAAS,CAAC,CAAC;CACtD,CAAA;AAFY,mBAAmB;IAN/B,SAAS,CAAC;QACT,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 { TngStepper as TngStepperPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-stepper',\n imports: [TngStepperPrimitive],\n templateUrl: './tng-stepper.component.html',\n styleUrl: './tng-stepper.component.css',\n})\nexport class TngStepperComponent {\n public readonly ariaLabel = input<string>('Stepper');\n}\n"]}
1
+ {"version":3,"file":"tng-stepper.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/stepper/tng-stepper.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 { TngStepper as TngStepperPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-stepper',\n imports: [TngStepperPrimitive],\n templateUrl: './tng-stepper.component.html',\n styleUrl: './tng-stepper.component.css',\n})\nexport class TngStepperComponent {\n public readonly ariaLabel = input<string>('Stepper');\n}\n"]}
@@ -2,12 +2,16 @@ import { type TemplateRef } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  export type TngBreadcrumbItemDisplayMode = 'ellipsis' | 'hidden' | 'visible';
4
4
  export declare class TngBreadcrumbItemComponent {
5
+ private readonly hostRef;
6
+ private keyboardModality;
5
7
  readonly stateChanges: Subject<void>;
6
8
  readonly current: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
7
9
  readonly currentAsLink: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
10
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9
11
  readonly href: import("@angular/core").InputSignal<string | null>;
10
12
  readonly routerLink: import("@angular/core").InputSignal<string | readonly (string | number)[] | null>;
13
+ protected readonly isFocused: import("@angular/core").WritableSignal<boolean>;
14
+ protected readonly isFocusVisible: import("@angular/core").WritableSignal<boolean>;
11
15
  protected readonly displayMode: import("@angular/core").WritableSignal<TngBreadcrumbItemDisplayMode>;
12
16
  protected readonly collapseLabel: import("@angular/core").WritableSignal<string>;
13
17
  protected readonly isResolvedCurrent: import("@angular/core").WritableSignal<boolean>;
@@ -24,5 +28,11 @@ export declare class TngBreadcrumbItemComponent {
24
28
  protected hasHrefLink(): boolean;
25
29
  protected hasRouterLink(): boolean;
26
30
  protected onLinkClick(event: MouseEvent): void;
31
+ protected onKeydown(): void;
32
+ protected onPointerdown(): void;
33
+ protected onMousedown(): void;
34
+ protected onTouchstart(): void;
35
+ protected onFocusin(event: FocusEvent): void;
36
+ protected onFocusout(event: FocusEvent): void;
27
37
  }
28
38
  //# sourceMappingURL=tng-breadcrumb-item.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-item.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAM7F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,MAAM,4BAA4B,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7E,qBAYa,0BAA0B;IACrC,SAAgB,YAAY,gBAAuB;IACnD,SAAgB,OAAO,qEAAiD;IACxE,SAAgB,aAAa,qEAAiD;IAC9E,SAAgB,QAAQ,qEAAiD;IACzE,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,UAAU,oFAA6D;IAEvF,SAAS,CAAC,QAAQ,CAAC,WAAW,uEAAmD;IACjF,SAAS,CAAC,QAAQ,CAAC,aAAa,iDAAkB;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,kDAAiB;IACrD,SAAS,CAAC,QAAQ,CAAC,SAAS,iDAAe;IAC3C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,sEAA6C;IACjF,SAAS,CAAC,QAAQ,CAAC,aAAa,kDAAiB;;IAW1C,WAAW,IAAI,IAAI;IAInB,WAAW,IAAI,IAAI;IAInB,cAAc,CAAC,IAAI,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAK/E,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIxC,YAAY,CACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,GAC7C,IAAI;IAMP,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAarC,SAAS,CAAC,WAAW,IAAI,OAAO;IAIhC,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAQ/C"}
1
+ {"version":3,"file":"tng-breadcrumb-item.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,MAAM,4BAA4B,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7E,qBAaa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,gBAAgB,CAAS;IAEjC,SAAgB,YAAY,gBAAuB;IACnD,SAAgB,OAAO,qEAAiD;IACxE,SAAgB,aAAa,qEAAiD;IAC9E,SAAgB,QAAQ,qEAAiD;IACzE,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,UAAU,oFAA6D;IAEvF,SAAS,CAAC,QAAQ,CAAC,SAAS,kDAAiB;IAC7C,SAAS,CAAC,QAAQ,CAAC,cAAc,kDAAiB;IAClD,SAAS,CAAC,QAAQ,CAAC,WAAW,uEAAmD;IACjF,SAAS,CAAC,QAAQ,CAAC,aAAa,iDAAkB;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,kDAAiB;IACrD,SAAS,CAAC,QAAQ,CAAC,SAAS,iDAAe;IAC3C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,sEAA6C;IACjF,SAAS,CAAC,QAAQ,CAAC,aAAa,kDAAiB;;IAW1C,WAAW,IAAI,IAAI;IAInB,WAAW,IAAI,IAAI;IAInB,cAAc,CAAC,IAAI,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAK/E,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIxC,YAAY,CACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,GAC7C,IAAI;IAMP,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAarC,SAAS,CAAC,WAAW,IAAI,OAAO;IAIhC,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAU9C,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B,SAAS,CAAC,YAAY,IAAI,IAAI;IAK9B,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAa5C,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAS9C"}
@@ -1,17 +1,21 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgTemplateOutlet } from '@angular/common';
3
- import { booleanAttribute, Component, input, signal } from '@angular/core';
3
+ import { booleanAttribute, Component, ElementRef, HostListener, inject, input, signal, } from '@angular/core';
4
4
  import { RouterLink } from '@angular/router';
5
5
  import { TngBreadcrumbItem as TngBreadcrumbItemPrimitive, TngBreadcrumbLink as TngBreadcrumbLinkPrimitive, } from '@tailng-ui/primitives';
6
6
  import { Subject } from 'rxjs';
7
7
  import { TngBreadcrumbSeparatorComponent } from './tng-breadcrumb-separator.component';
8
8
  let TngBreadcrumbItemComponent = class TngBreadcrumbItemComponent {
9
+ hostRef = inject(ElementRef);
10
+ keyboardModality = false;
9
11
  stateChanges = new Subject();
10
12
  current = input(false, { transform: booleanAttribute });
11
13
  currentAsLink = input(false, { transform: booleanAttribute });
12
14
  disabled = input(false, { transform: booleanAttribute });
13
15
  href = input(null);
14
16
  routerLink = input(null);
17
+ isFocused = signal(false);
18
+ isFocusVisible = signal(false);
15
19
  displayMode = signal('visible');
16
20
  collapseLabel = signal('More');
17
21
  isResolvedCurrent = signal(false);
@@ -67,9 +71,57 @@ let TngBreadcrumbItemComponent = class TngBreadcrumbItemComponent {
67
71
  event.preventDefault();
68
72
  event.stopImmediatePropagation();
69
73
  }
74
+ onKeydown() {
75
+ this.keyboardModality = true;
76
+ }
77
+ onPointerdown() {
78
+ this.keyboardModality = false;
79
+ }
80
+ onMousedown() {
81
+ this.keyboardModality = false;
82
+ }
83
+ onTouchstart() {
84
+ this.keyboardModality = false;
85
+ }
86
+ onFocusin(event) {
87
+ this.isFocused.set(true);
88
+ const target = event.target;
89
+ if (target instanceof HTMLElement) {
90
+ this.isFocusVisible.set(target.matches(':focus-visible') || this.keyboardModality);
91
+ return;
92
+ }
93
+ this.isFocusVisible.set(this.keyboardModality);
94
+ }
95
+ onFocusout(event) {
96
+ const relatedTarget = event.relatedTarget;
97
+ if (relatedTarget instanceof Node && this.hostRef.nativeElement.contains(relatedTarget)) {
98
+ return;
99
+ }
100
+ this.isFocused.set(false);
101
+ this.isFocusVisible.set(false);
102
+ }
70
103
  };
104
+ __decorate([
105
+ HostListener('keydown')
106
+ ], TngBreadcrumbItemComponent.prototype, "onKeydown", null);
107
+ __decorate([
108
+ HostListener('pointerdown')
109
+ ], TngBreadcrumbItemComponent.prototype, "onPointerdown", null);
110
+ __decorate([
111
+ HostListener('mousedown')
112
+ ], TngBreadcrumbItemComponent.prototype, "onMousedown", null);
113
+ __decorate([
114
+ HostListener('touchstart')
115
+ ], TngBreadcrumbItemComponent.prototype, "onTouchstart", null);
116
+ __decorate([
117
+ HostListener('focusin', ['$event'])
118
+ ], TngBreadcrumbItemComponent.prototype, "onFocusin", null);
119
+ __decorate([
120
+ HostListener('focusout', ['$event'])
121
+ ], TngBreadcrumbItemComponent.prototype, "onFocusout", null);
71
122
  TngBreadcrumbItemComponent = __decorate([
72
123
  Component({
124
+ standalone: true,
73
125
  selector: 'tng-breadcrumb-item',
74
126
  imports: [
75
127
  RouterLink,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-item.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, input, signal, type TemplateRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport {\n TngBreadcrumbItem as TngBreadcrumbItemPrimitive,\n TngBreadcrumbLink as TngBreadcrumbLinkPrimitive,\n} from '@tailng-ui/primitives';\nimport { Subject } from 'rxjs';\nimport { TngBreadcrumbSeparatorComponent } from './tng-breadcrumb-separator.component';\n\nexport type TngBreadcrumbItemDisplayMode = 'ellipsis' | 'hidden' | 'visible';\n\n@Component({\n selector: 'tng-breadcrumb-item',\n imports: [\n RouterLink,\n NgTemplateOutlet,\n TngBreadcrumbItemPrimitive,\n TngBreadcrumbLinkPrimitive,\n TngBreadcrumbSeparatorComponent,\n ],\n templateUrl: './tng-breadcrumb-item.component.html',\n styleUrl: './tng-breadcrumb-item.component.css',\n})\nexport class TngBreadcrumbItemComponent {\n public readonly stateChanges = new Subject<void>();\n public readonly current = input(false, { transform: booleanAttribute });\n public readonly currentAsLink = input(false, { transform: booleanAttribute });\n public readonly disabled = input(false, { transform: booleanAttribute });\n public readonly href = input<string | null>(null);\n public readonly routerLink = input<string | readonly (number | string)[] | null>(null);\n\n protected readonly displayMode = signal<TngBreadcrumbItemDisplayMode>('visible');\n protected readonly collapseLabel = signal('More');\n protected readonly isResolvedCurrent = signal(false);\n protected readonly separator = signal('/');\n protected readonly separatorTemplate = signal<TemplateRef<unknown> | null>(null);\n protected readonly showSeparator = signal(false);\n\n public constructor() {\n this.current();\n this.currentAsLink();\n this.disabled();\n this.href();\n this.routerLink();\n queueMicrotask(() => this.stateChanges.next());\n }\n\n public ngOnChanges(): void {\n this.stateChanges.next();\n }\n\n public ngOnDestroy(): void {\n this.stateChanges.complete();\n }\n\n public setDisplayMode(mode: TngBreadcrumbItemDisplayMode, collapseLabel: string): void {\n this.displayMode.set(mode);\n this.collapseLabel.set(collapseLabel);\n }\n\n public setResolvedCurrent(value: boolean): void {\n this.isResolvedCurrent.set(value);\n }\n\n public setSeparator(\n separator: string,\n showSeparator: boolean,\n separatorTemplate: TemplateRef<unknown> | null,\n ): void {\n this.separator.set(separator);\n this.showSeparator.set(showSeparator);\n this.separatorTemplate.set(separatorTemplate);\n }\n\n protected shouldRenderLink(): boolean {\n const hasExplicitTarget = this.hasHrefLink() || this.hasRouterLink();\n if (!hasExplicitTarget) {\n return false;\n }\n\n if (!this.isResolvedCurrent()) {\n return true;\n }\n\n return this.currentAsLink();\n }\n\n protected hasHrefLink(): boolean {\n return this.href() !== null;\n }\n\n protected hasRouterLink(): boolean {\n return this.routerLink() !== null;\n }\n\n protected onLinkClick(event: MouseEvent): void {\n if (!this.disabled()) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
1
+ {"version":3,"file":"tng-breadcrumb-item.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n signal,\n type TemplateRef,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport {\n TngBreadcrumbItem as TngBreadcrumbItemPrimitive,\n TngBreadcrumbLink as TngBreadcrumbLinkPrimitive,\n} from '@tailng-ui/primitives';\nimport { Subject } from 'rxjs';\nimport { TngBreadcrumbSeparatorComponent } from './tng-breadcrumb-separator.component';\n\nexport type TngBreadcrumbItemDisplayMode = 'ellipsis' | 'hidden' | 'visible';\n\n@Component({\n standalone: true,\n selector: 'tng-breadcrumb-item',\n imports: [\n RouterLink,\n NgTemplateOutlet,\n TngBreadcrumbItemPrimitive,\n TngBreadcrumbLinkPrimitive,\n TngBreadcrumbSeparatorComponent,\n ],\n templateUrl: './tng-breadcrumb-item.component.html',\n styleUrl: './tng-breadcrumb-item.component.css',\n})\nexport class TngBreadcrumbItemComponent {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private keyboardModality = false;\n\n public readonly stateChanges = new Subject<void>();\n public readonly current = input(false, { transform: booleanAttribute });\n public readonly currentAsLink = input(false, { transform: booleanAttribute });\n public readonly disabled = input(false, { transform: booleanAttribute });\n public readonly href = input<string | null>(null);\n public readonly routerLink = input<string | readonly (number | string)[] | null>(null);\n\n protected readonly isFocused = signal(false);\n protected readonly isFocusVisible = signal(false);\n protected readonly displayMode = signal<TngBreadcrumbItemDisplayMode>('visible');\n protected readonly collapseLabel = signal('More');\n protected readonly isResolvedCurrent = signal(false);\n protected readonly separator = signal('/');\n protected readonly separatorTemplate = signal<TemplateRef<unknown> | null>(null);\n protected readonly showSeparator = signal(false);\n\n public constructor() {\n this.current();\n this.currentAsLink();\n this.disabled();\n this.href();\n this.routerLink();\n queueMicrotask(() => this.stateChanges.next());\n }\n\n public ngOnChanges(): void {\n this.stateChanges.next();\n }\n\n public ngOnDestroy(): void {\n this.stateChanges.complete();\n }\n\n public setDisplayMode(mode: TngBreadcrumbItemDisplayMode, collapseLabel: string): void {\n this.displayMode.set(mode);\n this.collapseLabel.set(collapseLabel);\n }\n\n public setResolvedCurrent(value: boolean): void {\n this.isResolvedCurrent.set(value);\n }\n\n public setSeparator(\n separator: string,\n showSeparator: boolean,\n separatorTemplate: TemplateRef<unknown> | null,\n ): void {\n this.separator.set(separator);\n this.showSeparator.set(showSeparator);\n this.separatorTemplate.set(separatorTemplate);\n }\n\n protected shouldRenderLink(): boolean {\n const hasExplicitTarget = this.hasHrefLink() || this.hasRouterLink();\n if (!hasExplicitTarget) {\n return false;\n }\n\n if (!this.isResolvedCurrent()) {\n return true;\n }\n\n return this.currentAsLink();\n }\n\n protected hasHrefLink(): boolean {\n return this.href() !== null;\n }\n\n protected hasRouterLink(): boolean {\n return this.routerLink() !== null;\n }\n\n protected onLinkClick(event: MouseEvent): void {\n if (!this.disabled()) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n @HostListener('keydown')\n protected onKeydown(): void {\n this.keyboardModality = true;\n }\n\n @HostListener('pointerdown')\n protected onPointerdown(): void {\n this.keyboardModality = false;\n }\n\n @HostListener('mousedown')\n protected onMousedown(): void {\n this.keyboardModality = false;\n }\n\n @HostListener('touchstart')\n protected onTouchstart(): void {\n this.keyboardModality = false;\n }\n\n @HostListener('focusin', ['$event'])\n protected onFocusin(event: FocusEvent): void {\n this.isFocused.set(true);\n\n const target = event.target;\n if (target instanceof HTMLElement) {\n this.isFocusVisible.set(target.matches(':focus-visible') || this.keyboardModality);\n return;\n }\n\n this.isFocusVisible.set(this.keyboardModality);\n }\n\n @HostListener('focusout', ['$event'])\n protected onFocusout(event: FocusEvent): void {\n const relatedTarget = event.relatedTarget;\n if (relatedTarget instanceof Node && this.hostRef.nativeElement.contains(relatedTarget)) {\n return;\n }\n\n this.isFocused.set(false);\n this.isFocusVisible.set(false);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-link.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.ts"],"names":[],"mappings":"AAIA,qBAMa,0BAA0B;IACrC,SAAgB,OAAO,qEAAiD;IACxE,SAAgB,QAAQ,qEAAiD;IACzE,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,GAAG,qDAA8B;IACjD,SAAgB,UAAU,oFAA6D;IACvF,SAAgB,MAAM,qDAA8B;IAEpD,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAQ3C"}
1
+ {"version":3,"file":"tng-breadcrumb-link.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.ts"],"names":[],"mappings":"AAIA,qBAOa,0BAA0B;IACrC,SAAgB,OAAO,qEAAiD;IACxE,SAAgB,QAAQ,qEAAiD;IACzE,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,GAAG,qDAA8B;IACjD,SAAgB,UAAU,oFAA6D;IACvF,SAAgB,MAAM,qDAA8B;IAEpD,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAQ3C"}
@@ -19,6 +19,7 @@ let TngBreadcrumbLinkComponent = class TngBreadcrumbLinkComponent {
19
19
  };
20
20
  TngBreadcrumbLinkComponent = __decorate([
21
21
  Component({
22
+ standalone: true,
22
23
  selector: 'tng-breadcrumb-link',
23
24
  imports: [RouterLink, TngBreadcrumbLinkPrimitive],
24
25
  templateUrl: './tng-breadcrumb-link.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-link.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQjF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrB,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAClC,GAAG,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACjC,UAAU,GAAG,KAAK,CAA+C,IAAI,CAAC,CAAC;IACvE,MAAM,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAE1C,OAAO,CAAC,KAAiB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAhBY,0BAA0B;IANtC,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,CAAC,UAAU,EAAE,0BAA0B,CAAC;QACjD,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,qCAAqC;KAChD,CAAC;GACW,0BAA0B,CAgBtC","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TngBreadcrumbLink as TngBreadcrumbLinkPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-breadcrumb-link',\n imports: [RouterLink, TngBreadcrumbLinkPrimitive],\n templateUrl: './tng-breadcrumb-link.component.html',\n styleUrl: './tng-breadcrumb-link.component.css',\n})\nexport class TngBreadcrumbLinkComponent {\n public readonly current = input(false, { transform: booleanAttribute });\n public readonly disabled = input(false, { transform: booleanAttribute });\n public readonly href = input<string | null>(null);\n public readonly rel = input<string | null>(null);\n public readonly routerLink = input<string | readonly (number | string)[] | null>(null);\n public readonly target = input<string | null>(null);\n\n protected onClick(event: MouseEvent): void {\n if (!this.disabled()) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
1
+ {"version":3,"file":"tng-breadcrumb-link.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AASjF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrB,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAClC,GAAG,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACjC,UAAU,GAAG,KAAK,CAA+C,IAAI,CAAC,CAAC;IACvE,MAAM,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAE1C,OAAO,CAAC,KAAiB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAhBY,0BAA0B;IAPtC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,CAAC,UAAU,EAAE,0BAA0B,CAAC;QACjD,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,qCAAqC;KAChD,CAAC;GACW,0BAA0B,CAgBtC","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TngBreadcrumbLink as TngBreadcrumbLinkPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-breadcrumb-link',\n imports: [RouterLink, TngBreadcrumbLinkPrimitive],\n templateUrl: './tng-breadcrumb-link.component.html',\n styleUrl: './tng-breadcrumb-link.component.css',\n})\nexport class TngBreadcrumbLinkComponent {\n public readonly current = input(false, { transform: booleanAttribute });\n public readonly disabled = input(false, { transform: booleanAttribute });\n public readonly href = input<string | null>(null);\n public readonly rel = input<string | null>(null);\n public readonly routerLink = input<string | readonly (number | string)[] | null>(null);\n public readonly target = input<string | null>(null);\n\n protected onClick(event: MouseEvent): void {\n if (!this.disabled()) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-list.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.ts"],"names":[],"mappings":"AAGA,qBAMa,0BAA0B;CAAG"}
1
+ {"version":3,"file":"tng-breadcrumb-list.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.ts"],"names":[],"mappings":"AAGA,qBAOa,0BAA0B;CAAG"}
@@ -5,6 +5,7 @@ let TngBreadcrumbListComponent = class TngBreadcrumbListComponent {
5
5
  };
6
6
  TngBreadcrumbListComponent = __decorate([
7
7
  Component({
8
+ standalone: true,
8
9
  selector: 'tng-breadcrumb-list',
9
10
  imports: [TngBreadcrumbListPrimitive],
10
11
  templateUrl: './tng-breadcrumb-list.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-list.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQjF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAAG,CAAA;AAA7B,0BAA0B;IANtC,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,qCAAqC;KAChD,CAAC;GACW,0BAA0B,CAAG","sourcesContent":["import { Component } from '@angular/core';\nimport { TngBreadcrumbList as TngBreadcrumbListPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-breadcrumb-list',\n imports: [TngBreadcrumbListPrimitive],\n templateUrl: './tng-breadcrumb-list.component.html',\n styleUrl: './tng-breadcrumb-list.component.css',\n})\nexport class TngBreadcrumbListComponent {}\n"]}
1
+ {"version":3,"file":"tng-breadcrumb-list.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AASjF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAAG,CAAA;AAA7B,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,CAAG","sourcesContent":["import { Component } from '@angular/core';\nimport { TngBreadcrumbList as TngBreadcrumbListPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-breadcrumb-list',\n imports: [TngBreadcrumbListPrimitive],\n templateUrl: './tng-breadcrumb-list.component.html',\n styleUrl: './tng-breadcrumb-list.component.css',\n})\nexport class TngBreadcrumbListComponent {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-separator-template.directive.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,qBAIa,uCAAuC;aACf,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;gBAAjC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;CACrE"}
1
+ {"version":3,"file":"tng-breadcrumb-separator-template.directive.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,qBAKa,uCAAuC;aACf,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;gBAAjC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;CACrE"}
@@ -8,6 +8,7 @@ let TngBreadcrumbSeparatorTemplateDirective = class TngBreadcrumbSeparatorTempla
8
8
  };
9
9
  TngBreadcrumbSeparatorTemplateDirective = __decorate([
10
10
  Directive({
11
+ standalone: true,
11
12
  selector: 'ng-template[tngBreadcrumbSeparatorTemplate]',
12
13
  exportAs: 'tngBreadcrumbSeparatorTemplate',
13
14
  })
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-separator-template.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,eAAe,CAAC;AAMhD,IAAM,uCAAuC,GAA7C,MAAM,uCAAuC;IACf;IAAnC,YAAmC,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;CACzE,CAAA;AAFY,uCAAuC;IAJnD,SAAS,CAAC;QACT,QAAQ,EAAE,6CAA6C;QACvD,QAAQ,EAAE,gCAAgC;KAC3C,CAAC;GACW,uCAAuC,CAEnD","sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tngBreadcrumbSeparatorTemplate]',\n exportAs: 'tngBreadcrumbSeparatorTemplate',\n})\nexport class TngBreadcrumbSeparatorTemplateDirective {\n public constructor(public readonly templateRef: TemplateRef<unknown>) {}\n}\n"]}
1
+ {"version":3,"file":"tng-breadcrumb-separator-template.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,eAAe,CAAC;AAOhD,IAAM,uCAAuC,GAA7C,MAAM,uCAAuC;IACf;IAAnC,YAAmC,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;CACzE,CAAA;AAFY,uCAAuC;IALnD,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,6CAA6C;QACvD,QAAQ,EAAE,gCAAgC;KAC3C,CAAC;GACW,uCAAuC,CAEnD","sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tngBreadcrumbSeparatorTemplate]',\n exportAs: 'tngBreadcrumbSeparatorTemplate',\n})\nexport class TngBreadcrumbSeparatorTemplateDirective {\n public constructor(public readonly templateRef: TemplateRef<unknown>) {}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-separator.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAGnE,qBAMa,+BAA+B;IAC1C,SAAgB,MAAM,8CAAc;IACpC,SAAgB,QAAQ,mEAA4C;CACrE"}
1
+ {"version":3,"file":"tng-breadcrumb-separator.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAGnE,qBAOa,+BAA+B;IAC1C,SAAgB,MAAM,8CAAc;IACpC,SAAgB,QAAQ,mEAA4C;CACrE"}
@@ -8,6 +8,7 @@ let TngBreadcrumbSeparatorComponent = class TngBreadcrumbSeparatorComponent {
8
8
  };
9
9
  TngBreadcrumbSeparatorComponent = __decorate([
10
10
  Component({
11
+ standalone: true,
11
12
  selector: 'tng-breadcrumb-separator',
12
13
  imports: [NgTemplateOutlet, TngBreadcrumbSeparatorPrimitive],
13
14
  templateUrl: './tng-breadcrumb-separator.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb-separator.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,sBAAsB,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAQ3F,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAC1B,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,GAAG,KAAK,CAA8B,IAAI,CAAC,CAAC;CACrE,CAAA;AAHY,+BAA+B;IAN3C,SAAS,CAAC;QACT,QAAQ,EAAE,0BAA0B;QACpC,OAAO,EAAE,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;QAC5D,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE,0CAA0C;KACrD,CAAC;GACW,+BAA+B,CAG3C","sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input, type TemplateRef } from '@angular/core';\nimport { TngBreadcrumbSeparator as TngBreadcrumbSeparatorPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-breadcrumb-separator',\n imports: [NgTemplateOutlet, TngBreadcrumbSeparatorPrimitive],\n templateUrl: './tng-breadcrumb-separator.component.html',\n styleUrl: './tng-breadcrumb-separator.component.css',\n})\nexport class TngBreadcrumbSeparatorComponent {\n public readonly symbol = input('/');\n public readonly template = input<TemplateRef<unknown> | null>(null);\n}\n"]}
1
+ {"version":3,"file":"tng-breadcrumb-separator.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,sBAAsB,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAS3F,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAC1B,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,GAAG,KAAK,CAA8B,IAAI,CAAC,CAAC;CACrE,CAAA;AAHY,+BAA+B;IAP3C,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,0BAA0B;QACpC,OAAO,EAAE,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;QAC5D,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE,0CAA0C;KACrD,CAAC;GACW,+BAA+B,CAG3C","sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input, type TemplateRef } from '@angular/core';\nimport { TngBreadcrumbSeparator as TngBreadcrumbSeparatorPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-breadcrumb-separator',\n imports: [NgTemplateOutlet, TngBreadcrumbSeparatorPrimitive],\n templateUrl: './tng-breadcrumb-separator.component.html',\n styleUrl: './tng-breadcrumb-separator.component.css',\n})\nexport class TngBreadcrumbSeparatorComponent {\n public readonly symbol = input('/');\n public readonly template = input<TemplateRef<unknown> | null>(null);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAOvB,qBAMa,sBAAuB,YAAW,gBAAgB;IAE7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwC;IAGzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAuB;IAE1D,SAAgB,SAAS,qDAAsC;IAC/D,SAAgB,SAAS,8CAAc;IACvC,SAAgB,QAAQ,qDAA8B;IACtD,SAAgB,mBAAmB,8CAAY;IAC/C,SAAgB,kBAAkB,8CAAY;IAC9C,SAAgB,aAAa,8CAAiB;IAE9C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,yCAQjC;IAEH,OAAO,CAAC,sBAAsB,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;;IAatD,kBAAkB,IAAI,IAAI;IAa1B,WAAW,IAAI,IAAI;IAK1B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,mBAAmB;IAuD3B,OAAO,CAAC,qBAAqB;CAS9B"}
1
+ {"version":3,"file":"tng-breadcrumb.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAOvB,qBAOa,sBAAuB,YAAW,gBAAgB;IAE7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwC;IAGzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAuB;IAE1D,SAAgB,SAAS,qDAAsC;IAC/D,SAAgB,SAAS,8CAAc;IACvC,SAAgB,QAAQ,qDAA8B;IACtD,SAAgB,mBAAmB,8CAAY;IAC/C,SAAgB,kBAAkB,8CAAY;IAC9C,SAAgB,aAAa,8CAAiB;IAE9C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,yCAQjC;IAEH,OAAO,CAAC,sBAAsB,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;;IAatD,kBAAkB,IAAI,IAAI;IAa1B,WAAW,IAAI,IAAI;IAK1B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,mBAAmB;IAuD3B,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -145,6 +145,7 @@ __decorate([
145
145
  ], TngBreadcrumbComponent.prototype, "separatorTemplate", void 0);
146
146
  TngBreadcrumbComponent = __decorate([
147
147
  Component({
148
+ standalone: true,
148
149
  selector: 'tng-breadcrumb',
149
150
  imports: [TngBreadcrumbPrimitive, TngBreadcrumbListComponent],
150
151
  templateUrl: './tng-breadcrumb.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-breadcrumb.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ContentChild,\n ContentChildren,\n computed,\n effect,\n input,\n TemplateRef,\n type AfterContentInit,\n type QueryList,\n} from '@angular/core';\nimport { TngBreadcrumb as TngBreadcrumbPrimitive } from '@tailng-ui/primitives';\nimport { merge, Subscription } from 'rxjs';\nimport { TngBreadcrumbItemComponent, type TngBreadcrumbItemDisplayMode } from './tng-breadcrumb-item.component';\nimport { TngBreadcrumbListComponent } from './tng-breadcrumb-list.component';\nimport { TngBreadcrumbSeparatorTemplateDirective } from './tng-breadcrumb-separator-template.directive';\n\n@Component({\n selector: 'tng-breadcrumb',\n imports: [TngBreadcrumbPrimitive, TngBreadcrumbListComponent],\n templateUrl: './tng-breadcrumb.component.html',\n styleUrl: './tng-breadcrumb.component.css',\n})\nexport class TngBreadcrumbComponent implements AfterContentInit {\n @ContentChildren(TngBreadcrumbItemComponent, { descendants: true })\n private readonly breadcrumbItems?: QueryList<TngBreadcrumbItemComponent>;\n\n @ContentChild(TngBreadcrumbSeparatorTemplateDirective, { read: TemplateRef })\n private readonly separatorTemplate?: TemplateRef<unknown>;\n\n public readonly ariaLabel = input<string | null>('Breadcrumb');\n public readonly separator = input('/');\n public readonly maxItems = input<number | null>(null);\n public readonly itemsBeforeCollapse = input(1);\n public readonly itemsAfterCollapse = input(2);\n public readonly collapseLabel = input('More');\n\n protected readonly resolvedAriaLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n if (ariaLabel === null) {\n return 'Breadcrumb';\n }\n\n const trimmedAriaLabel = ariaLabel.trim();\n return trimmedAriaLabel.length > 0 ? trimmedAriaLabel : 'Breadcrumb';\n });\n\n private itemStateSubscriptions = Subscription.EMPTY;\n private readonly queryListSubscriptions = new Subscription();\n\n public constructor() {\n effect(() => {\n this.separator();\n this.maxItems();\n this.itemsBeforeCollapse();\n this.itemsAfterCollapse();\n this.collapseLabel();\n this.syncItems();\n });\n }\n\n public ngAfterContentInit(): void {\n this.rebindItemStateSubscriptions();\n if (this.breadcrumbItems === undefined) {\n return;\n }\n\n this.queryListSubscriptions.add(\n this.breadcrumbItems.changes.subscribe(() => {\n this.rebindItemStateSubscriptions();\n }),\n );\n }\n\n public ngOnDestroy(): void {\n this.itemStateSubscriptions.unsubscribe();\n this.queryListSubscriptions.unsubscribe();\n }\n\n private rebindItemStateSubscriptions(): void {\n this.itemStateSubscriptions.unsubscribe();\n\n const items = this.breadcrumbItems?.toArray() ?? [];\n if (items.length === 0) {\n this.syncItems();\n return;\n }\n\n this.itemStateSubscriptions = merge(...items.map((item) => item.stateChanges)).subscribe(() => {\n this.syncItems();\n });\n\n this.syncItems();\n }\n\n private syncItems(): void {\n const items = this.breadcrumbItems?.toArray() ?? [];\n if (items.length === 0) {\n return;\n }\n\n const currentIndex = this.resolveCurrentIndex(items);\n const displayModes = this.resolveDisplayModes(items, currentIndex);\n const visibleIndices = this.resolveVisibleIndices(displayModes);\n\n for (let index = 0; index < items.length; index += 1) {\n const item = items[index];\n const isVisible = displayModes[index] !== 'hidden';\n const isLastVisibleItem = !visibleIndices.some((visibleIndex) => visibleIndex > index);\n\n item.setResolvedCurrent(index === currentIndex);\n item.setDisplayMode(displayModes[index], this.collapseLabel());\n item.setSeparator(this.separator(), isVisible && !isLastVisibleItem, this.separatorTemplate ?? null);\n }\n }\n\n private resolveCurrentIndex(items: readonly TngBreadcrumbItemComponent[]): number {\n const explicitlyCurrentIndices = items.reduce<number[]>((accumulator, item, index) => {\n if (item.current()) {\n accumulator.push(index);\n }\n return accumulator;\n }, []);\n\n if (explicitlyCurrentIndices.length > 0) {\n return explicitlyCurrentIndices[explicitlyCurrentIndices.length - 1];\n }\n\n if (items.length === 1) {\n return 0;\n }\n\n return -1;\n }\n\n // eslint-disable-next-line complexity,max-lines-per-function\n private resolveDisplayModes(\n items: readonly TngBreadcrumbItemComponent[],\n currentIndex: number,\n ): readonly TngBreadcrumbItemDisplayMode[] {\n const itemCount = items.length;\n const maxItems = this.maxItems();\n if (maxItems === null || maxItems < 1 || itemCount <= maxItems) {\n return Array.from({ length: itemCount }, () => 'visible' as const);\n }\n\n const itemsBeforeCollapse = Math.max(1, Math.floor(this.itemsBeforeCollapse()));\n const itemsAfterCollapse = Math.max(1, Math.floor(this.itemsAfterCollapse()));\n const visibleIndices = new Set<number>();\n\n for (let index = 0; index < Math.min(itemsBeforeCollapse, itemCount); index += 1) {\n visibleIndices.add(index);\n }\n\n for (\n let index = Math.max(itemCount - itemsAfterCollapse, 0);\n index < itemCount;\n index += 1\n ) {\n visibleIndices.add(index);\n }\n\n if (currentIndex >= 0) {\n visibleIndices.add(currentIndex);\n }\n\n const hiddenIndices: number[] = [];\n for (let index = 0; index < itemCount; index += 1) {\n if (!visibleIndices.has(index)) {\n hiddenIndices.push(index);\n }\n }\n\n if (hiddenIndices.length === 0) {\n return Array.from({ length: itemCount }, () => 'visible' as const);\n }\n\n const displayModes: TngBreadcrumbItemDisplayMode[] = Array.from(\n { length: itemCount },\n () => 'visible' as const,\n );\n\n for (const hiddenIndex of hiddenIndices) {\n displayModes[hiddenIndex] = 'hidden';\n }\n\n // The first hidden item becomes the collapse marker so we avoid introducing a separate focusable node.\n displayModes[hiddenIndices[0]] = 'ellipsis';\n return displayModes;\n }\n\n private resolveVisibleIndices(displayModes: readonly TngBreadcrumbItemDisplayMode[]): readonly number[] {\n const visibleIndices: number[] = [];\n for (let index = 0; index < displayModes.length; index += 1) {\n if (displayModes[index] !== 'hidden') {\n visibleIndices.push(index);\n }\n }\n return visibleIndices;\n }\n}\n"]}
1
+ {"version":3,"file":"tng-breadcrumb.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/breadcrumb/tng-breadcrumb.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ContentChild,\n ContentChildren,\n computed,\n effect,\n input,\n TemplateRef,\n type AfterContentInit,\n type QueryList,\n} from '@angular/core';\nimport { TngBreadcrumb as TngBreadcrumbPrimitive } from '@tailng-ui/primitives';\nimport { merge, Subscription } from 'rxjs';\nimport { TngBreadcrumbItemComponent, type TngBreadcrumbItemDisplayMode } from './tng-breadcrumb-item.component';\nimport { TngBreadcrumbListComponent } from './tng-breadcrumb-list.component';\nimport { TngBreadcrumbSeparatorTemplateDirective } from './tng-breadcrumb-separator-template.directive';\n\n@Component({\n standalone: true,\n selector: 'tng-breadcrumb',\n imports: [TngBreadcrumbPrimitive, TngBreadcrumbListComponent],\n templateUrl: './tng-breadcrumb.component.html',\n styleUrl: './tng-breadcrumb.component.css',\n})\nexport class TngBreadcrumbComponent implements AfterContentInit {\n @ContentChildren(TngBreadcrumbItemComponent, { descendants: true })\n private readonly breadcrumbItems?: QueryList<TngBreadcrumbItemComponent>;\n\n @ContentChild(TngBreadcrumbSeparatorTemplateDirective, { read: TemplateRef })\n private readonly separatorTemplate?: TemplateRef<unknown>;\n\n public readonly ariaLabel = input<string | null>('Breadcrumb');\n public readonly separator = input('/');\n public readonly maxItems = input<number | null>(null);\n public readonly itemsBeforeCollapse = input(1);\n public readonly itemsAfterCollapse = input(2);\n public readonly collapseLabel = input('More');\n\n protected readonly resolvedAriaLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n if (ariaLabel === null) {\n return 'Breadcrumb';\n }\n\n const trimmedAriaLabel = ariaLabel.trim();\n return trimmedAriaLabel.length > 0 ? trimmedAriaLabel : 'Breadcrumb';\n });\n\n private itemStateSubscriptions = Subscription.EMPTY;\n private readonly queryListSubscriptions = new Subscription();\n\n public constructor() {\n effect(() => {\n this.separator();\n this.maxItems();\n this.itemsBeforeCollapse();\n this.itemsAfterCollapse();\n this.collapseLabel();\n this.syncItems();\n });\n }\n\n public ngAfterContentInit(): void {\n this.rebindItemStateSubscriptions();\n if (this.breadcrumbItems === undefined) {\n return;\n }\n\n this.queryListSubscriptions.add(\n this.breadcrumbItems.changes.subscribe(() => {\n this.rebindItemStateSubscriptions();\n }),\n );\n }\n\n public ngOnDestroy(): void {\n this.itemStateSubscriptions.unsubscribe();\n this.queryListSubscriptions.unsubscribe();\n }\n\n private rebindItemStateSubscriptions(): void {\n this.itemStateSubscriptions.unsubscribe();\n\n const items = this.breadcrumbItems?.toArray() ?? [];\n if (items.length === 0) {\n this.syncItems();\n return;\n }\n\n this.itemStateSubscriptions = merge(...items.map((item) => item.stateChanges)).subscribe(() => {\n this.syncItems();\n });\n\n this.syncItems();\n }\n\n private syncItems(): void {\n const items = this.breadcrumbItems?.toArray() ?? [];\n if (items.length === 0) {\n return;\n }\n\n const currentIndex = this.resolveCurrentIndex(items);\n const displayModes = this.resolveDisplayModes(items, currentIndex);\n const visibleIndices = this.resolveVisibleIndices(displayModes);\n\n for (let index = 0; index < items.length; index += 1) {\n const item = items[index];\n const isVisible = displayModes[index] !== 'hidden';\n const isLastVisibleItem = !visibleIndices.some((visibleIndex) => visibleIndex > index);\n\n item.setResolvedCurrent(index === currentIndex);\n item.setDisplayMode(displayModes[index], this.collapseLabel());\n item.setSeparator(this.separator(), isVisible && !isLastVisibleItem, this.separatorTemplate ?? null);\n }\n }\n\n private resolveCurrentIndex(items: readonly TngBreadcrumbItemComponent[]): number {\n const explicitlyCurrentIndices = items.reduce<number[]>((accumulator, item, index) => {\n if (item.current()) {\n accumulator.push(index);\n }\n return accumulator;\n }, []);\n\n if (explicitlyCurrentIndices.length > 0) {\n return explicitlyCurrentIndices[explicitlyCurrentIndices.length - 1];\n }\n\n if (items.length === 1) {\n return 0;\n }\n\n return -1;\n }\n\n // eslint-disable-next-line complexity,max-lines-per-function\n private resolveDisplayModes(\n items: readonly TngBreadcrumbItemComponent[],\n currentIndex: number,\n ): readonly TngBreadcrumbItemDisplayMode[] {\n const itemCount = items.length;\n const maxItems = this.maxItems();\n if (maxItems === null || maxItems < 1 || itemCount <= maxItems) {\n return Array.from({ length: itemCount }, () => 'visible' as const);\n }\n\n const itemsBeforeCollapse = Math.max(1, Math.floor(this.itemsBeforeCollapse()));\n const itemsAfterCollapse = Math.max(1, Math.floor(this.itemsAfterCollapse()));\n const visibleIndices = new Set<number>();\n\n for (let index = 0; index < Math.min(itemsBeforeCollapse, itemCount); index += 1) {\n visibleIndices.add(index);\n }\n\n for (\n let index = Math.max(itemCount - itemsAfterCollapse, 0);\n index < itemCount;\n index += 1\n ) {\n visibleIndices.add(index);\n }\n\n if (currentIndex >= 0) {\n visibleIndices.add(currentIndex);\n }\n\n const hiddenIndices: number[] = [];\n for (let index = 0; index < itemCount; index += 1) {\n if (!visibleIndices.has(index)) {\n hiddenIndices.push(index);\n }\n }\n\n if (hiddenIndices.length === 0) {\n return Array.from({ length: itemCount }, () => 'visible' as const);\n }\n\n const displayModes: TngBreadcrumbItemDisplayMode[] = Array.from(\n { length: itemCount },\n () => 'visible' as const,\n );\n\n for (const hiddenIndex of hiddenIndices) {\n displayModes[hiddenIndex] = 'hidden';\n }\n\n // The first hidden item becomes the collapse marker so we avoid introducing a separate focusable node.\n displayModes[hiddenIndices[0]] = 'ellipsis';\n return displayModes;\n }\n\n private resolveVisibleIndices(displayModes: readonly TngBreadcrumbItemDisplayMode[]): readonly number[] {\n const visibleIndices: number[] = [];\n for (let index = 0; index < displayModes.length; index += 1) {\n if (displayModes[index] !== 'hidden') {\n visibleIndices.push(index);\n }\n }\n return visibleIndices;\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export declare class TngContextMenuComponent {
2
2
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
3
+ protected get hostAriaLabel(): string;
3
4
  }
4
5
  //# sourceMappingURL=tng-context-menu.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tng-context-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/context-menu/tng-context-menu.component.ts"],"names":[],"mappings":"AAGA,qBAMa,uBAAuB;IAClC,SAAgB,SAAS,8CAAiC;CAC3D"}
1
+ {"version":3,"file":"tng-context-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/context-menu/tng-context-menu.component.ts"],"names":[],"mappings":"AAMA,qBAiBa,uBAAuB;IAClC,SAAgB,SAAS,8CAAiC;IAG1D,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;CACF"}