@tailng-ui/primitives 0.13.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.
Files changed (199) hide show
  1. package/package.json +2 -2
  2. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
  3. package/src/lib/feedback/empty/tng-empty.js +0 -5
  4. package/src/lib/feedback/empty/tng-empty.js.map +1 -1
  5. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  6. package/src/lib/feedback/progress-bar/tng-progress-bar.js +0 -2
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  8. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
  9. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +0 -1
  10. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  11. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  12. package/src/lib/feedback/skeleton/tng-skeleton.js +0 -1
  13. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  14. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
  15. package/src/lib/feedback/toast/tng-toast.js +0 -2
  16. package/src/lib/feedback/toast/tng-toast.js.map +1 -1
  17. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
  18. package/src/lib/form/_shared/select/tng-select.overlay.shared.js +0 -1
  19. package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
  20. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
  21. package/src/lib/form/_shared/select/tng-select.parts.shared.js +0 -4
  22. package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
  23. package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
  24. package/src/lib/form/autocomplete/tng-autocomplete.js +0 -1
  25. package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
  26. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
  27. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +0 -2
  28. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
  29. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
  30. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +0 -1
  31. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
  32. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
  33. package/src/lib/form/autocomplete/tng-autocomplete.parts.js +0 -4
  34. package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
  35. package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
  36. package/src/lib/form/button-toggle/tng-button-toggle.js +0 -2
  37. package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
  38. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
  39. package/src/lib/form/checkbox/tng-checkbox.js +0 -1
  40. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
  41. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  42. package/src/lib/form/chips/tng-chips.js +0 -3
  43. package/src/lib/form/chips/tng-chips.js.map +1 -1
  44. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
  45. package/src/lib/form/combobox/tng-combobox.js +0 -1
  46. package/src/lib/form/combobox/tng-combobox.js.map +1 -1
  47. package/src/lib/form/input/tng-input.d.ts.map +1 -1
  48. package/src/lib/form/input/tng-input.js +0 -4
  49. package/src/lib/form/input/tng-input.js.map +1 -1
  50. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  51. package/src/lib/form/input-otp/tng-input-otp.js +0 -1
  52. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  53. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  54. package/src/lib/form/label/tng-label.js +0 -1
  55. package/src/lib/form/label/tng-label.js.map +1 -1
  56. package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
  57. package/src/lib/form/listbox/listbox.directive.js +0 -1
  58. package/src/lib/form/listbox/listbox.directive.js.map +1 -1
  59. package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
  60. package/src/lib/form/listbox/option.directive.js +0 -1
  61. package/src/lib/form/listbox/option.directive.js.map +1 -1
  62. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
  63. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +0 -1
  64. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
  65. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
  66. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +0 -1
  67. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
  68. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
  69. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +0 -1
  70. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
  71. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
  72. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +0 -2
  73. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
  74. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
  75. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +0 -1
  76. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
  77. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
  78. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +0 -1
  79. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
  80. package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
  81. package/src/lib/form/multi-select/tng-multi-select.js +0 -1
  82. package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
  83. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
  84. package/src/lib/form/multi-select/tng-multi-select.listbox.js +0 -2
  85. package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
  86. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
  87. package/src/lib/form/multiselect/tng-multiselect.js +0 -1
  88. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
  89. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  90. package/src/lib/form/radio/tng-radio.js +0 -1
  91. package/src/lib/form/radio/tng-radio.js.map +1 -1
  92. package/src/lib/form/select/tng-select.d.ts.map +1 -1
  93. package/src/lib/form/select/tng-select.js +0 -1
  94. package/src/lib/form/select/tng-select.js.map +1 -1
  95. package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
  96. package/src/lib/form/select/tng-select.listbox.js +0 -2
  97. package/src/lib/form/select/tng-select.listbox.js.map +1 -1
  98. package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
  99. package/src/lib/form/slider/tng-slider.js +0 -1
  100. package/src/lib/form/slider/tng-slider.js.map +1 -1
  101. package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
  102. package/src/lib/form/switch/tng-switch.js +0 -1
  103. package/src/lib/form/switch/tng-switch.js.map +1 -1
  104. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
  105. package/src/lib/form/textarea/tng-textarea.js +0 -1
  106. package/src/lib/form/textarea/tng-textarea.js.map +1 -1
  107. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
  108. package/src/lib/form/toggle/tng-toggle.js +0 -1
  109. package/src/lib/form/toggle/tng-toggle.js.map +1 -1
  110. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
  111. package/src/lib/form/toggle-group/tng-toggle-group.js +0 -1
  112. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
  113. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
  114. package/src/lib/layout/accordion/tng-accordion.js +0 -4
  115. package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
  116. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
  117. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +0 -1
  118. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
  119. package/src/lib/layout/card/tng-card.d.ts.map +1 -1
  120. package/src/lib/layout/card/tng-card.js +0 -10
  121. package/src/lib/layout/card/tng-card.js.map +1 -1
  122. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
  123. package/src/lib/layout/collapsible/tng-collapsible.js +0 -3
  124. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
  125. package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
  126. package/src/lib/layout/drawer/tng-drawer.js +0 -6
  127. package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
  128. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
  129. package/src/lib/layout/grid/tng-grid.js +0 -1
  130. package/src/lib/layout/grid/tng-grid.js.map +1 -1
  131. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
  132. package/src/lib/layout/separator/tng-separator.js +0 -1
  133. package/src/lib/layout/separator/tng-separator.js.map +1 -1
  134. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
  135. package/src/lib/layout/stepper/tng-stepper.js +0 -1
  136. package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
  137. package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
  138. package/src/lib/layout/tree/tng-tree-group.js +0 -1
  139. package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
  140. package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
  141. package/src/lib/layout/tree/tng-tree-indicator.js +0 -1
  142. package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
  143. package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
  144. package/src/lib/layout/tree/tng-tree-item.js +0 -1
  145. package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
  146. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
  147. package/src/lib/layout/tree/tng-tree.js +0 -1
  148. package/src/lib/layout/tree/tng-tree.js.map +1 -1
  149. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
  150. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +0 -5
  151. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
  152. package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
  153. package/src/lib/navigation/context-menu/tng-context-menu.js +0 -2
  154. package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
  155. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
  156. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +0 -1
  157. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
  158. package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
  159. package/src/lib/navigation/menu/tng-menu.js +0 -6
  160. package/src/lib/navigation/menu/tng-menu.js.map +1 -1
  161. package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
  162. package/src/lib/navigation/menubar/tng-menubar.js +0 -2
  163. package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
  164. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
  165. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +0 -1
  166. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
  167. package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
  168. package/src/lib/navigation/tabs/tng-tabs.js +0 -6
  169. package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
  170. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
  171. package/src/lib/navigation/toolbar/tng-toolbar.js +0 -1
  172. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
  173. package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
  174. package/src/lib/overlay/dialog/tng-dialog.js +0 -9
  175. package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
  176. package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
  177. package/src/lib/overlay/popover/tng-popover.js +0 -4
  178. package/src/lib/overlay/popover/tng-popover.js.map +1 -1
  179. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  180. package/src/lib/overlay/tooltip/tng-tooltip.js +0 -3
  181. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  182. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
  183. package/src/lib/utility/avatar/tng-avatar.js +0 -3
  184. package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
  185. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  186. package/src/lib/utility/badge/tng-badge.js +0 -1
  187. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  188. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
  189. package/src/lib/utility/code-block/tng-code-block.js +0 -5
  190. package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
  191. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  192. package/src/lib/utility/copy/tng-copy.js +0 -1
  193. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  194. package/src/lib/utility/press/tng-press.d.ts.map +1 -1
  195. package/src/lib/utility/press/tng-press.js +0 -1
  196. package/src/lib/utility/press/tng-press.js.map +1 -1
  197. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  198. package/src/lib/utility/tag/tng-tag.js +0 -3
  199. package/src/lib/utility/tag/tng-tag.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailng-ui/primitives",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/tailng/tailng-ui"
@@ -15,7 +15,7 @@
15
15
  }
16
16
  },
17
17
  "dependencies": {
18
- "@tailng-ui/cdk": "^0.12.0"
18
+ "@tailng-ui/cdk": "^0.13.0"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@angular/core": "^21.1.0",
@@ -1 +1 @@
1
- {"version":3,"file":"tng-empty.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/empty/tng-empty.ts"],"names":[],"mappings":";AAEA,qBAKa,QAAQ;IAEnB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;yCAFpC,QAAQ;2CAAR,QAAQ;CAGpB;AAED,qBAKa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAKa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;yCAF1C,aAAa;2CAAb,aAAa;CAGzB;AAED,qBAKa,mBAAmB;IAE9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,mBAAmB;2CAAnB,mBAAmB;CAG/B;AAED,qBAKa,eAAe;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,eAAe,CAAU;yCAF5C,eAAe;2CAAf,eAAe;CAG3B"}
1
+ {"version":3,"file":"tng-empty.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/empty/tng-empty.ts"],"names":[],"mappings":";AAEA,qBAIa,QAAQ;IAEnB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;yCAFpC,QAAQ;2CAAR,QAAQ;CAGpB;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;yCAF1C,aAAa;2CAAb,aAAa;CAGzB;AAED,qBAIa,mBAAmB;IAE9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,mBAAmB;2CAAnB,mBAAmB;CAG/B;AAED,qBAIa,eAAe;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,eAAe,CAAU;yCAF5C,eAAe;2CAAf,eAAe;CAG3B"}
@@ -10,7 +10,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
10
10
  args: [{
11
11
  selector: '[tngEmpty]',
12
12
  exportAs: 'tngEmpty',
13
- standalone: true,
14
13
  }]
15
14
  }], propDecorators: { dataSlot: [{
16
15
  type: HostBinding,
@@ -26,7 +25,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
26
25
  args: [{
27
26
  selector: '[tngEmptyIcon]',
28
27
  exportAs: 'tngEmptyIcon',
29
- standalone: true,
30
28
  }]
31
29
  }], propDecorators: { dataSlot: [{
32
30
  type: HostBinding,
@@ -42,7 +40,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
42
40
  args: [{
43
41
  selector: '[tngEmptyTitle]',
44
42
  exportAs: 'tngEmptyTitle',
45
- standalone: true,
46
43
  }]
47
44
  }], propDecorators: { dataSlot: [{
48
45
  type: HostBinding,
@@ -58,7 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
58
55
  args: [{
59
56
  selector: '[tngEmptyDescription]',
60
57
  exportAs: 'tngEmptyDescription',
61
- standalone: true,
62
58
  }]
63
59
  }], propDecorators: { dataSlot: [{
64
60
  type: HostBinding,
@@ -74,7 +70,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
74
70
  args: [{
75
71
  selector: '[tngEmptyActions]',
76
72
  exportAs: 'tngEmptyActions',
77
- standalone: true,
78
73
  }]
79
74
  }], propDecorators: { dataSlot: [{
80
75
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-empty.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/empty/tng-empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAOvD,MAAM,OAAO,QAAQ;IAEA,QAAQ,GAAG,OAAgB,CAAC;uGAFpC,QAAQ;2FAAR,QAAQ;;2FAAR,QAAQ;kBALpB,SAAS;mBAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;uGAFzC,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBALxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;uGAF1C,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBALzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,eAAe;oBACzB,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,mBAAmB;IAEX,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,mBAAmB;2FAAnB,mBAAmB;;2FAAnB,mBAAmB;kBAL/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,qBAAqB;oBAC/B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,eAAe;IAEP,QAAQ,GAAG,eAAwB,CAAC;uGAF5C,eAAe;2FAAf,eAAe;;2FAAf,eAAe;kBAL3B,SAAS;mBAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,QAAQ,EAAE,iBAAiB;oBAC3B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngEmpty]',\n exportAs: 'tngEmpty',\n standalone: true,\n})\nexport class TngEmpty {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty' as const;\n}\n\n@Directive({\n selector: '[tngEmptyIcon]',\n exportAs: 'tngEmptyIcon',\n standalone: true,\n})\nexport class TngEmptyIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-icon' as const;\n}\n\n@Directive({\n selector: '[tngEmptyTitle]',\n exportAs: 'tngEmptyTitle',\n standalone: true,\n})\nexport class TngEmptyTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-title' as const;\n}\n\n@Directive({\n selector: '[tngEmptyDescription]',\n exportAs: 'tngEmptyDescription',\n standalone: true,\n})\nexport class TngEmptyDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-description' as const;\n}\n\n@Directive({\n selector: '[tngEmptyActions]',\n exportAs: 'tngEmptyActions',\n standalone: true,\n})\nexport class TngEmptyActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-actions' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-empty.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/empty/tng-empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAMvD,MAAM,OAAO,QAAQ;IAEA,QAAQ,GAAG,OAAgB,CAAC;uGAFpC,QAAQ;2FAAR,QAAQ;;2FAAR,QAAQ;kBAJpB,SAAS;mBAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,UAAU;iBACrB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,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,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;uGAF1C,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBAJzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,eAAe;iBAC1B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,mBAAmB;IAEX,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,mBAAmB;2FAAnB,mBAAmB;;2FAAnB,mBAAmB;kBAJ/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,qBAAqB;iBAChC;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,eAAe;IAEP,QAAQ,GAAG,eAAwB,CAAC;uGAF5C,eAAe;2FAAf,eAAe;;2FAAf,eAAe;kBAJ3B,SAAS;mBAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,QAAQ,EAAE,iBAAiB;iBAC5B;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngEmpty]',\n exportAs: 'tngEmpty',\n})\nexport class TngEmpty {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty' as const;\n}\n\n@Directive({\n selector: '[tngEmptyIcon]',\n exportAs: 'tngEmptyIcon',\n})\nexport class TngEmptyIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-icon' as const;\n}\n\n@Directive({\n selector: '[tngEmptyTitle]',\n exportAs: 'tngEmptyTitle',\n})\nexport class TngEmptyTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-title' as const;\n}\n\n@Directive({\n selector: '[tngEmptyDescription]',\n exportAs: 'tngEmptyDescription',\n})\nexport class TngEmptyDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-description' as const;\n}\n\n@Directive({\n selector: '[tngEmptyActions]',\n exportAs: 'tngEmptyActions',\n})\nexport class TngEmptyActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-actions' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-progress-bar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-bar/tng-progress-bar.ts"],"names":[],"mappings":";AAMA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAWD;AAED,qBAKa,cAAc;IACzB,SAAgB,aAAa,8EAE1B;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAE/C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAErD,OAAO,KAAK,KAAK,GAMhB;yCA7DU,cAAc;2CAAd,cAAc;CA8D1B;AAED,qBAKa,uBAAuB;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,wBAAwB,CAAU;yCAFrD,uBAAuB;2CAAvB,uBAAuB;CAGnC"}
1
+ {"version":3,"file":"tng-progress-bar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-bar/tng-progress-bar.ts"],"names":[],"mappings":";AAMA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAWD;AAED,qBAIa,cAAc;IACzB,SAAgB,aAAa,8EAE1B;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAE/C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAErD,OAAO,KAAK,KAAK,GAMhB;yCA7DU,cAAc;2CAAd,cAAc;CA8D1B;AAED,qBAIa,uBAAuB;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,wBAAwB,CAAU;yCAFrD,uBAAuB;2CAAvB,uBAAuB;CAGnC"}
@@ -59,7 +59,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
59
59
  args: [{
60
60
  selector: '[tngProgressBar]',
61
61
  exportAs: 'tngProgressBar',
62
- standalone: true,
63
62
  }]
64
63
  }], propDecorators: { indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], ariaValueMaxAttr: [{
65
64
  type: HostBinding,
@@ -90,7 +89,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
90
89
  args: [{
91
90
  selector: '[tngProgressBarIndicator]',
92
91
  exportAs: 'tngProgressBarIndicator',
93
- standalone: true,
94
92
  }]
95
93
  }], propDecorators: { dataSlot: [{
96
94
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-progress-bar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-bar/tng-progress-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngProgressBarMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngProgressBarMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function resolveTngProgressBarRange(\n min: number,\n max: number,\n value: number,\n): Readonly<{\n max: number;\n min: number;\n value: number;\n}> {\n const resolvedMin = normalizeTngProgressBarMin(min);\n const resolvedMax = Math.max(normalizeTngProgressBarMax(max), resolvedMin);\n const normalizedValue = normalizeFiniteNumber(value, resolvedMin);\n const resolvedValue = Math.min(Math.max(normalizedValue, resolvedMin), resolvedMax);\n\n return Object.freeze({\n max: resolvedMax,\n min: resolvedMin,\n value: resolvedValue,\n });\n}\n\n@Directive({\n selector: '[tngProgressBar]',\n exportAs: 'tngProgressBar',\n standalone: true,\n})\nexport class TngProgressBar {\n public readonly indeterminate = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngProgressBarMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngProgressBarMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n @HostBinding('attr.aria-valuemax')\n protected get ariaValueMaxAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.max);\n }\n\n @HostBinding('attr.aria-valuemin')\n protected get ariaValueMinAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.min);\n }\n\n @HostBinding('attr.aria-valuenow')\n protected get ariaValueNowAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.value);\n }\n\n @HostBinding('attr.data-indeterminate')\n protected get dataIndeterminateAttr(): '' | null {\n return this.indeterminate() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-bar' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'progressbar' as const;\n\n private get range(): Readonly<{\n max: number;\n min: number;\n value: number;\n }> {\n return resolveTngProgressBarRange(this.min(), this.max(), this.value());\n }\n}\n\n@Directive({\n selector: '[tngProgressBarIndicator]',\n exportAs: 'tngProgressBarIndicator',\n standalone: true,\n})\nexport class TngProgressBarIndicator {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-bar-indicator' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-progress-bar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-bar/tng-progress-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngProgressBarMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngProgressBarMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function resolveTngProgressBarRange(\n min: number,\n max: number,\n value: number,\n): Readonly<{\n max: number;\n min: number;\n value: number;\n}> {\n const resolvedMin = normalizeTngProgressBarMin(min);\n const resolvedMax = Math.max(normalizeTngProgressBarMax(max), resolvedMin);\n const normalizedValue = normalizeFiniteNumber(value, resolvedMin);\n const resolvedValue = Math.min(Math.max(normalizedValue, resolvedMin), resolvedMax);\n\n return Object.freeze({\n max: resolvedMax,\n min: resolvedMin,\n value: resolvedValue,\n });\n}\n\n@Directive({\n selector: '[tngProgressBar]',\n exportAs: 'tngProgressBar',\n})\nexport class TngProgressBar {\n public readonly indeterminate = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngProgressBarMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngProgressBarMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n @HostBinding('attr.aria-valuemax')\n protected get ariaValueMaxAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.max);\n }\n\n @HostBinding('attr.aria-valuemin')\n protected get ariaValueMinAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.min);\n }\n\n @HostBinding('attr.aria-valuenow')\n protected get ariaValueNowAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.value);\n }\n\n @HostBinding('attr.data-indeterminate')\n protected get dataIndeterminateAttr(): '' | null {\n return this.indeterminate() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-bar' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'progressbar' as const;\n\n private get range(): Readonly<{\n max: number;\n min: number;\n value: number;\n }> {\n return resolveTngProgressBarRange(this.min(), this.max(), this.value());\n }\n}\n\n@Directive({\n selector: '[tngProgressBarIndicator]',\n exportAs: 'tngProgressBarIndicator',\n})\nexport class TngProgressBarIndicator {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-bar-indicator' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-progress-spinner.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-spinner/tng-progress-spinner.ts"],"names":[],"mappings":";AAMA,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAWD;AAED,qBAKa,kBAAkB;IAC7B,SAAgB,aAAa,8EAE1B;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAE/C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;IAG1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAErD,OAAO,KAAK,KAAK,GAMhB;yCA7DU,kBAAkB;2CAAlB,kBAAkB;CA8D9B"}
1
+ {"version":3,"file":"tng-progress-spinner.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-spinner/tng-progress-spinner.ts"],"names":[],"mappings":";AAMA,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAWD;AAED,qBAIa,kBAAkB;IAC7B,SAAgB,aAAa,8EAE1B;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAE/C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;IAG1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAErD,OAAO,KAAK,KAAK,GAMhB;yCA7DU,kBAAkB;2CAAlB,kBAAkB;CA8D9B"}
@@ -59,7 +59,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
59
59
  args: [{
60
60
  selector: '[tngProgressSpinner]',
61
61
  exportAs: 'tngProgressSpinner',
62
- standalone: true,
63
62
  }]
64
63
  }], propDecorators: { indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], ariaValueMaxAttr: [{
65
64
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-progress-spinner.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-spinner/tng-progress-spinner.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngProgressSpinnerMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngProgressSpinnerMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function resolveTngProgressSpinnerRange(\n min: number,\n max: number,\n value: number,\n): Readonly<{\n max: number;\n min: number;\n value: number;\n}> {\n const resolvedMin = normalizeTngProgressSpinnerMin(min);\n const resolvedMax = Math.max(normalizeTngProgressSpinnerMax(max), resolvedMin);\n const normalizedValue = normalizeFiniteNumber(value, resolvedMin);\n const resolvedValue = Math.min(Math.max(normalizedValue, resolvedMin), resolvedMax);\n\n return Object.freeze({\n max: resolvedMax,\n min: resolvedMin,\n value: resolvedValue,\n });\n}\n\n@Directive({\n selector: '[tngProgressSpinner]',\n exportAs: 'tngProgressSpinner',\n standalone: true,\n})\nexport class TngProgressSpinner {\n public readonly indeterminate = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngProgressSpinnerMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngProgressSpinnerMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n @HostBinding('attr.aria-valuemax')\n protected get ariaValueMaxAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.max);\n }\n\n @HostBinding('attr.aria-valuemin')\n protected get ariaValueMinAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.min);\n }\n\n @HostBinding('attr.aria-valuenow')\n protected get ariaValueNowAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.value);\n }\n\n @HostBinding('attr.data-indeterminate')\n protected get dataIndeterminateAttr(): '' | null {\n return this.indeterminate() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-spinner' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'progressbar' as const;\n\n private get range(): Readonly<{\n max: number;\n min: number;\n value: number;\n }> {\n return resolveTngProgressSpinnerRange(this.min(), this.max(), this.value());\n }\n}\n"]}
1
+ {"version":3,"file":"tng-progress-spinner.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-spinner/tng-progress-spinner.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngProgressSpinnerMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngProgressSpinnerMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function resolveTngProgressSpinnerRange(\n min: number,\n max: number,\n value: number,\n): Readonly<{\n max: number;\n min: number;\n value: number;\n}> {\n const resolvedMin = normalizeTngProgressSpinnerMin(min);\n const resolvedMax = Math.max(normalizeTngProgressSpinnerMax(max), resolvedMin);\n const normalizedValue = normalizeFiniteNumber(value, resolvedMin);\n const resolvedValue = Math.min(Math.max(normalizedValue, resolvedMin), resolvedMax);\n\n return Object.freeze({\n max: resolvedMax,\n min: resolvedMin,\n value: resolvedValue,\n });\n}\n\n@Directive({\n selector: '[tngProgressSpinner]',\n exportAs: 'tngProgressSpinner',\n})\nexport class TngProgressSpinner {\n public readonly indeterminate = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngProgressSpinnerMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngProgressSpinnerMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n @HostBinding('attr.aria-valuemax')\n protected get ariaValueMaxAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.max);\n }\n\n @HostBinding('attr.aria-valuemin')\n protected get ariaValueMinAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.min);\n }\n\n @HostBinding('attr.aria-valuenow')\n protected get ariaValueNowAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.value);\n }\n\n @HostBinding('attr.data-indeterminate')\n protected get dataIndeterminateAttr(): '' | null {\n return this.indeterminate() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-spinner' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'progressbar' as const;\n\n private get range(): Readonly<{\n max: number;\n min: number;\n value: number;\n }> {\n return resolveTngProgressSpinnerRange(this.min(), this.max(), this.value());\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-skeleton.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/skeleton/tng-skeleton.ts"],"names":[],"mappings":";AAEA,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAElF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAEhF;AAED,qBAKa,WAAW;IACtB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,8EAEpB;IAGH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAU;IAGpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,KAAK,gBAAgB,IAAI,OAAO,GAAG,MAAM,CAEjD;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;yCAzBvC,WAAW;2CAAX,WAAW;CA0BvB"}
1
+ {"version":3,"file":"tng-skeleton.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/skeleton/tng-skeleton.ts"],"names":[],"mappings":";AAEA,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAElF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAEhF;AAED,qBAIa,WAAW;IACtB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,8EAEpB;IAGH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAU;IAGpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,KAAK,gBAAgB,IAAI,OAAO,GAAG,MAAM,CAEjD;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;yCAzBvC,WAAW;2CAAX,WAAW;CA0BvB"}
@@ -26,7 +26,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
26
26
  args: [{
27
27
  selector: '[tngSkeleton]',
28
28
  exportAs: 'tngSkeleton',
29
- standalone: true,
30
29
  }]
31
30
  }], propDecorators: { animated: [{ type: i0.Input, args: [{ isSignal: true, alias: "animated", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], ariaHiddenAttr: [{
32
31
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-skeleton.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/skeleton/tng-skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAEhF,MAAM,UAAU,8BAA8B,CAAC,QAAiB;IAC9D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC;AAOD,MAAM,OAAO,WAAW;IACN,QAAQ,GAAG,KAAK,CAA4B,IAAI,qDAC9D,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,OAAO,GAAG,KAAK,CAA4B,IAAI,oDAC7D,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IAGgB,cAAc,GAAG,MAAe,CAAC;IAGjC,QAAQ,GAAG,cAAuB,CAAC;IAEtD,IACc,gBAAgB;QAC5B,OAAO,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IACc,eAAe;QAC3B,OAAO,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAGkB,QAAQ,GAAG,UAAmB,CAAC;uGAzBvC,WAAW;2FAAX,WAAW;;2FAAX,WAAW;kBALvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,aAAa;oBACvB,UAAU,EAAE,IAAI;iBACjB;;sBASE,WAAW;uBAAC,kBAAkB;;sBAG9B,WAAW;uBAAC,WAAW;;sBAGvB,WAAW;uBAAC,oBAAoB;;sBAKhC,WAAW;uBAAC,mBAAmB;;sBAK/B,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngSkeletonDataAnimated(animated: boolean): 'false' | 'true' {\n return animated ? 'true' : 'false';\n}\n\nexport function resolveTngSkeletonDataRounded(rounded: boolean): 'false' | 'true' {\n return rounded ? 'true' : 'false';\n}\n\n@Directive({\n selector: '[tngSkeleton]',\n exportAs: 'tngSkeleton',\n standalone: true,\n})\nexport class TngSkeleton {\n public readonly animated = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly rounded = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-hidden')\n protected readonly ariaHiddenAttr = 'true' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'presentation' as const;\n\n @HostBinding('attr.data-animated')\n protected get dataAnimatedAttr(): 'false' | 'true' {\n return resolveTngSkeletonDataAnimated(this.animated());\n }\n\n @HostBinding('attr.data-rounded')\n protected get dataRoundedAttr(): 'false' | 'true' {\n return resolveTngSkeletonDataRounded(this.rounded());\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'skeleton' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-skeleton.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/skeleton/tng-skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAEhF,MAAM,UAAU,8BAA8B,CAAC,QAAiB;IAC9D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC;AAMD,MAAM,OAAO,WAAW;IACN,QAAQ,GAAG,KAAK,CAA4B,IAAI,qDAC9D,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,OAAO,GAAG,KAAK,CAA4B,IAAI,oDAC7D,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IAGgB,cAAc,GAAG,MAAe,CAAC;IAGjC,QAAQ,GAAG,cAAuB,CAAC;IAEtD,IACc,gBAAgB;QAC5B,OAAO,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IACc,eAAe;QAC3B,OAAO,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAGkB,QAAQ,GAAG,UAAmB,CAAC;uGAzBvC,WAAW;2FAAX,WAAW;;2FAAX,WAAW;kBAJvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,aAAa;iBACxB;;sBASE,WAAW;uBAAC,kBAAkB;;sBAG9B,WAAW;uBAAC,WAAW;;sBAGvB,WAAW;uBAAC,oBAAoB;;sBAKhC,WAAW;uBAAC,mBAAmB;;sBAK/B,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngSkeletonDataAnimated(animated: boolean): 'false' | 'true' {\n return animated ? 'true' : 'false';\n}\n\nexport function resolveTngSkeletonDataRounded(rounded: boolean): 'false' | 'true' {\n return rounded ? 'true' : 'false';\n}\n\n@Directive({\n selector: '[tngSkeleton]',\n exportAs: 'tngSkeleton',\n})\nexport class TngSkeleton {\n public readonly animated = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly rounded = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-hidden')\n protected readonly ariaHiddenAttr = 'true' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'presentation' as const;\n\n @HostBinding('attr.data-animated')\n protected get dataAnimatedAttr(): 'false' | 'true' {\n return resolveTngSkeletonDataAnimated(this.animated());\n }\n\n @HostBinding('attr.data-rounded')\n protected get dataRoundedAttr(): 'false' | 'true' {\n return resolveTngSkeletonDataRounded(this.rounded());\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'skeleton' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toast.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/toast/tng-toast.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAElF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAEzE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,GAAG,IAAI,CAE9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,CAE1E;AAED,qBAKa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,gBAAgB,CAAU;yCAF7C,gBAAgB;2CAAhB,gBAAgB;CAG5B;AAED,qBAKa,YAAY;IACvB,SAAgB,IAAI,8EAEjB;IACH,SAAgB,IAAI,oDAAkC;IAGtD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAU;IAGpD,SAAS,KAAK,YAAY,IAAI,WAAW,GAAG,QAAQ,CAEnD;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAGpD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,YAAY,IAAI,YAAY,CAEzC;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;IAGD,SAAS,KAAK,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAE3C;yCAnCU,YAAY;2CAAZ,YAAY;CAoCxB"}
1
+ {"version":3,"file":"tng-toast.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/toast/tng-toast.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAElF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAEzE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,GAAG,IAAI,CAE9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,CAE1E;AAED,qBAIa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,gBAAgB,CAAU;yCAF7C,gBAAgB;2CAAhB,gBAAgB;CAG5B;AAED,qBAIa,YAAY;IACvB,SAAgB,IAAI,8EAEjB;IACH,SAAgB,IAAI,oDAAkC;IAGtD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAU;IAGpD,SAAS,KAAK,YAAY,IAAI,WAAW,GAAG,QAAQ,CAEnD;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAGpD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,YAAY,IAAI,YAAY,CAEzC;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;IAGD,SAAS,KAAK,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAE3C;yCAnCU,YAAY;2CAAZ,YAAY;CAoCxB"}
@@ -22,7 +22,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
22
22
  args: [{
23
23
  selector: '[tngToastViewport]',
24
24
  exportAs: 'tngToastViewport',
25
- standalone: true,
26
25
  }]
27
26
  }], propDecorators: { dataSlot: [{
28
27
  type: HostBinding,
@@ -56,7 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
56
55
  args: [{
57
56
  selector: '[tngToastItem]',
58
57
  exportAs: 'tngToastItem',
59
- standalone: true,
60
58
  }]
61
59
  }], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], ariaAtomicAttr: [{
62
60
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toast.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/toast/tng-toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAIhF,MAAM,UAAU,uBAAuB,CAAC,IAAkB;IACxD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAkB;IACpD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtE,CAAC;AAOD,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,gBAAyB,CAAC;uGAF7C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,YAAY;IACP,IAAI,GAAG,KAAK,CAA4B,IAAI,iDAC1D,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,IAAI,GAAG,KAAK,CAAe,SAAS,gDAAC,CAAC;IAGnC,cAAc,GAAG,MAAe,CAAC;IAEpD,IACc,YAAY;QACxB,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAGkB,QAAQ,GAAG,YAAqB,CAAC;IAEpD,IACc,aAAa;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IACc,UAAU;QACtB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IACc,QAAQ;QACpB,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;uGAnCU,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBALxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,IAAI;iBACjB;;sBAOE,WAAW;uBAAC,kBAAkB;;sBAG9B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,WAAW","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport type TngToastTone = 'danger' | 'neutral' | 'success' | 'warning';\n\nexport function resolveTngToastAriaLive(tone: TngToastTone): 'assertive' | 'polite' {\n return tone === 'danger' || tone === 'warning' ? 'assertive' : 'polite';\n}\n\nexport function resolveTngToastDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\nexport function resolveTngToastHidden(open: boolean): '' | null {\n return open ? null : '';\n}\n\nexport function resolveTngToastRole(tone: TngToastTone): 'alert' | 'status' {\n return tone === 'danger' || tone === 'warning' ? 'alert' : 'status';\n}\n\n@Directive({\n selector: '[tngToastViewport]',\n exportAs: 'tngToastViewport',\n standalone: true,\n})\nexport class TngToastViewport {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toast-viewport' as const;\n}\n\n@Directive({\n selector: '[tngToastItem]',\n exportAs: 'tngToastItem',\n standalone: true,\n})\nexport class TngToastItem {\n public readonly open = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly tone = input<TngToastTone>('neutral');\n\n @HostBinding('attr.aria-atomic')\n protected readonly ariaAtomicAttr = 'true' as const;\n\n @HostBinding('attr.aria-live')\n protected get ariaLiveAttr(): 'assertive' | 'polite' {\n return resolveTngToastAriaLive(this.tone());\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toast-item' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngToastDataState(this.open());\n }\n\n @HostBinding('attr.data-tone')\n protected get dataToneAttr(): TngToastTone {\n return this.tone();\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return resolveTngToastHidden(this.open());\n }\n\n @HostBinding('attr.role')\n protected get roleAttr(): 'alert' | 'status' {\n return resolveTngToastRole(this.tone());\n }\n}\n"]}
1
+ {"version":3,"file":"tng-toast.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/toast/tng-toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAIhF,MAAM,UAAU,uBAAuB,CAAC,IAAkB;IACxD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAkB;IACpD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtE,CAAC;AAMD,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,gBAAyB,CAAC;uGAF7C,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,YAAY;IACP,IAAI,GAAG,KAAK,CAA4B,IAAI,iDAC1D,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,IAAI,GAAG,KAAK,CAAe,SAAS,gDAAC,CAAC;IAGnC,cAAc,GAAG,MAAe,CAAC;IAEpD,IACc,YAAY;QACxB,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAGkB,QAAQ,GAAG,YAAqB,CAAC;IAEpD,IACc,aAAa;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IACc,UAAU;QACtB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IACc,QAAQ;QACpB,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;uGAnCU,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAJxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBACzB;;sBAOE,WAAW;uBAAC,kBAAkB;;sBAG9B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,WAAW","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport type TngToastTone = 'danger' | 'neutral' | 'success' | 'warning';\n\nexport function resolveTngToastAriaLive(tone: TngToastTone): 'assertive' | 'polite' {\n return tone === 'danger' || tone === 'warning' ? 'assertive' : 'polite';\n}\n\nexport function resolveTngToastDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\nexport function resolveTngToastHidden(open: boolean): '' | null {\n return open ? null : '';\n}\n\nexport function resolveTngToastRole(tone: TngToastTone): 'alert' | 'status' {\n return tone === 'danger' || tone === 'warning' ? 'alert' : 'status';\n}\n\n@Directive({\n selector: '[tngToastViewport]',\n exportAs: 'tngToastViewport',\n})\nexport class TngToastViewport {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toast-viewport' as const;\n}\n\n@Directive({\n selector: '[tngToastItem]',\n exportAs: 'tngToastItem',\n})\nexport class TngToastItem {\n public readonly open = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly tone = input<TngToastTone>('neutral');\n\n @HostBinding('attr.aria-atomic')\n protected readonly ariaAtomicAttr = 'true' as const;\n\n @HostBinding('attr.aria-live')\n protected get ariaLiveAttr(): 'assertive' | 'polite' {\n return resolveTngToastAriaLive(this.tone());\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toast-item' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngToastDataState(this.open());\n }\n\n @HostBinding('attr.data-tone')\n protected get dataToneAttr(): TngToastTone {\n return this.tone();\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return resolveTngToastHidden(this.open());\n }\n\n @HostBinding('attr.role')\n protected get roleAttr(): 'alert' | 'status' {\n return resolveTngToastRole(this.tone());\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.overlay.shared.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.overlay.shared.ts"],"names":[],"mappings":";AAsCA,qBAKa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6C;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,cAAc,CAA+B;IAErD,QAAQ,CAAC,SAAS;;;oBAAqD;IACvE,QAAQ,CAAC,MAAM;;;oBAAkD;IACjE,QAAQ,CAAC,SAAS;;;;oBAA4D;IAG9E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAoB;IAGjE,SAAS,KAAK,MAAM,IAAI,EAAE,GAAG,IAAI,CAEhC;IAED,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,wBAAwB,CAA6B;;IAsB7D,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,mBAAmB;yCAtNhB,gBAAgB;2CAAhB,gBAAgB;CAmO5B"}
1
+ {"version":3,"file":"tng-select.overlay.shared.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.overlay.shared.ts"],"names":[],"mappings":";AAsCA,qBAIa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6C;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,cAAc,CAA+B;IAErD,QAAQ,CAAC,SAAS;;;oBAAqD;IACvE,QAAQ,CAAC,MAAM;;;oBAAkD;IACjE,QAAQ,CAAC,SAAS;;;;oBAA4D;IAG9E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAoB;IAGjE,SAAS,KAAK,MAAM,IAAI,EAAE,GAAG,IAAI,CAEhC;IAED,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,wBAAwB,CAA6B;;IAsB7D,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,mBAAmB;yCAtNhB,gBAAgB;2CAAhB,gBAAgB;CAmO5B"}
@@ -216,7 +216,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
216
216
  args: [{
217
217
  selector: '[tngSelectOverlay]',
218
218
  exportAs: 'tngSelectOverlay',
219
- standalone: true,
220
219
  }]
221
220
  }], ctorParameters: () => [], propDecorators: { placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], collision: [{ type: i0.Input, args: [{ isSignal: true, alias: "collision", required: false }] }], dataSlot: [{
222
221
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.overlay.shared.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.overlay.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;AAU7D,SAAS,kBAAkB,CAAC,CAAuB;IACjD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,QAAQ,CAAC,MAA0B,EAAE,SAAsB;IAClE,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,YAAY,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAOD,MAAM,OAAO,gBAAgB;IACV,IAAI,GAAG,MAAM,CAAmB,eAAe,CAAC,CAAC;IACjD,KAAK,GAAG,MAAM,CAAC,CAAA,UAAuB,CAAA,CAAC,CAAC;IACxC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEzC,qBAAqB,GAAuB,IAAI,CAAC;IACjD,oBAAoB,GAAwB,IAAI,CAAC;IACjD,oBAAoB,GAAwB,IAAI,CAAC;IACjD,cAAc,GAA0B,IAAI,CAAC;IAE5C,SAAS,GAAG,KAAK,CAAkC,SAAS,qDAAC,CAAC;IAC9D,MAAM,GAAG,KAAK,CAA+B,SAAS,kDAAC,CAAC;IACxD,SAAS,GAAG,KAAK,CAAyC,SAAS,qDAAC,CAAC;IAG3D,QAAQ,GAAqB,gBAAgB,CAAC;IAEjE,IACc,MAAM;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,CAAC;IAEO,WAAW,GAAmB,IAAI,CAAC;IACnC,cAAc,GAAgB,IAAI,CAAC;IACnC,wBAAwB,GAAwB,IAAI,CAAC;IAE7D;QACE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE5D,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI;gBAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC;;gBACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;SAC5B,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QACnC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAEO,wBAAwB;QAC9B,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO;YAC3B,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;gBACjC,KAAK,GAAG,IAAI,CAAC;gBACb,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvF,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,OAAO;gBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEO,aAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAuB,CAAC;IAClF,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,aAAmC,CAAC;QAC1E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAEvC,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAE5B,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACnE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;YAE3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC;gBACpC,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,OAAO;gBACpB,YAAY,EAAE,QAAQ;gBACtB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;aAC5B,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;YACnC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,oBAAoB,CAAC,KAAK,GAAG,KAAK;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IACE,IAAI,CAAC,qBAAqB;YAC1B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAC7C,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAmC,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,wBAAwB;YAAE,OAAO;QAE1C,MAAM,aAAa,GAAG,CAAC,EAAgB,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,OAAO;YACvC,IAAI,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAE,OAAO;YACpD,IACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpB,EAAE,CAAC,MAAM;gBACR,EAAE,CAAC,MAAkB,CAAC,OAAO,EAAE,CAC9B,gEAAgE,CACjE;gBAED,OAAO;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,wBAAwB,GAAG,GAAG,EAAE;YACnC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAEO,mBAAmB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAmC,CAAC;QAC5D,IAAI,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;uGAlOU,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAeE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,aAAa","sourcesContent":["import {\n DestroyRef,\n Directive,\n ElementRef,\n HostBinding,\n inject,\n input,\n effect,\n} from '@angular/core';\nimport type {\n TngOverlayCollisionOptions,\n TngOverlayOffset,\n TngOverlayPlacement,\n} from '@tailng-ui/cdk';\nimport { computeOverlayPosition } from '@tailng-ui/cdk';\n\nimport { TNG_SELECT_HOST } from './tng-select.tokens.shared';\nimport type { TngSelectHostApi } from './tng-select.host-api';\n\ntype MaybeRect = Readonly<{\n left: number;\n top: number;\n width: number;\n height: number;\n}>;\n\nfunction rectFromClientRect(r: DOMRect | ClientRect): MaybeRect {\n return { left: r.left, top: r.top, width: r.width, height: r.height };\n}\n\nfunction viewportRect(): MaybeRect {\n return { left: 0, top: 0, width: window.innerWidth || 1024, height: window.innerHeight || 768 };\n}\n\nfunction isInside(target: EventTarget | null, container: HTMLElement): boolean {\n return !!target && target instanceof Node && container.contains(target);\n}\n\n@Directive({\n selector: '[tngSelectOverlay]',\n exportAs: 'tngSelectOverlay',\n standalone: true,\n})\nexport class TngSelectOverlay {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly elRef = inject(ElementRef<HTMLElement>);\n private readonly destroyRef = inject(DestroyRef);\n\n private lastFocusedBeforeOpen: HTMLElement | null = null;\n private removeResizeListener: (() => void) | null = null;\n private removeScrollListener: (() => void) | null = null;\n private resizeObserver: ResizeObserver | null = null;\n\n readonly placement = input<TngOverlayPlacement | undefined>(undefined);\n readonly offset = input<TngOverlayOffset | undefined>(undefined);\n readonly collision = input<TngOverlayCollisionOptions | undefined>(undefined);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-overlay' = 'select-overlay';\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.host.open() ? null : '';\n }\n\n private placeholder: Comment | null = null;\n private originalParent: Node | null = null;\n private removeDocPointerListener: (() => void) | null = null;\n\n constructor() {\n this.placeholder = document.createComment('tng-select-overlay-anchor');\n const hostEl = this.elRef.nativeElement;\n this.originalParent = hostEl.parentNode;\n this.originalParent?.insertBefore(this.placeholder, hostEl);\n\n effect(() => {\n const open = this.host.open();\n if (open) this.mountToBodyAndPosition();\n else this.restoreToPlaceholder();\n });\n\n this.destroyRef.onDestroy(() => {\n this.teardownOutsidePointer();\n this.restoreToPlaceholder(true);\n this.placeholder = null;\n this.originalParent = null;\n });\n }\n\n private reposition(): void {\n if (!this.host.open()) return;\n const panel = this.elRef.nativeElement;\n const trigger = this.findTriggerEl();\n if (!trigger) return;\n\n const anchor = rectFromClientRect(trigger.getBoundingClientRect());\n const overlay = rectFromClientRect(panel.getBoundingClientRect());\n const viewport = viewportRect();\n\n const result = computeOverlayPosition({\n anchorRect: anchor,\n overlayRect: overlay,\n viewportRect: viewport,\n placement: this.placement(),\n offset: this.offset(),\n collision: this.collision(),\n });\n\n panel.style.left = `${result.x}px`;\n panel.style.top = `${result.y}px`;\n }\n\n private setupRepositionListeners(): void {\n let rafId: number | null = null;\n const schedule = () => {\n if (rafId !== null) return;\n rafId = requestAnimationFrame(() => {\n rafId = null;\n this.reposition();\n });\n };\n\n const onResize = () => schedule();\n const onScroll = () => schedule();\n window.addEventListener('resize', onResize);\n window.addEventListener('scroll', onScroll, true);\n this.removeResizeListener = () => window.removeEventListener('resize', onResize);\n this.removeScrollListener = () => window.removeEventListener('scroll', onScroll, true);\n\n if ('ResizeObserver' in window) {\n this.resizeObserver = new ResizeObserver(() => schedule());\n const trigger = this.findTriggerEl();\n if (trigger) this.resizeObserver.observe(trigger);\n this.resizeObserver.observe(this.elRef.nativeElement);\n }\n }\n\n private teardownRepositionListeners(): void {\n this.removeResizeListener?.();\n this.removeScrollListener?.();\n this.removeResizeListener = null;\n this.removeScrollListener = null;\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n\n private findTriggerEl(): HTMLElement | null {\n const root = this.host.hostElement;\n return root.querySelector('[data-slot=\"select-trigger\"]') as HTMLElement | null;\n }\n\n private mountToBodyAndPosition(): void {\n this.lastFocusedBeforeOpen = document.activeElement as HTMLElement | null;\n this.setupRepositionListeners();\n const panel = this.elRef.nativeElement;\n\n if (panel.parentNode !== document.body) {\n document.body.appendChild(panel);\n }\n\n panel.style.position = 'fixed';\n panel.style.left = '0px';\n panel.style.top = '0px';\n panel.style.zIndex = '1000';\n\n queueMicrotask(() => {\n if (!this.host.open()) return;\n const trigger = this.findTriggerEl();\n if (!trigger) return;\n\n const anchor = rectFromClientRect(trigger.getBoundingClientRect());\n panel.style.minWidth = `${anchor.width}px`;\n\n const overlay = rectFromClientRect(panel.getBoundingClientRect());\n const viewport = viewportRect();\n const result = computeOverlayPosition({\n anchorRect: anchor,\n overlayRect: overlay,\n viewportRect: viewport,\n placement: this.placement(),\n offset: this.offset(),\n collision: this.collision(),\n });\n\n panel.style.left = `${result.x}px`;\n panel.style.top = `${result.y}px`;\n });\n\n this.setupOutsidePointer();\n }\n\n private restoreToPlaceholder(force = false): void {\n const panel = this.elRef.nativeElement;\n if (!force && panel.parentNode !== document.body) {\n this.teardownOutsidePointer();\n return;\n }\n\n if (this.placeholder?.parentNode) {\n this.placeholder.parentNode.insertBefore(panel, this.placeholder);\n } else if (this.originalParent) {\n this.originalParent.appendChild(panel);\n }\n\n this.teardownRepositionListeners();\n\n if (\n this.lastFocusedBeforeOpen &&\n document.contains(this.lastFocusedBeforeOpen)\n ) {\n const active = document.activeElement as HTMLElement | null;\n const panelEl = this.elRef.nativeElement;\n if (!active || panelEl.contains(active)) {\n this.lastFocusedBeforeOpen.focus();\n }\n }\n\n this.restoreFocusOnClose();\n panel.style.position = '';\n panel.style.left = '';\n panel.style.top = '';\n panel.style.zIndex = '';\n panel.style.minWidth = '';\n this.teardownOutsidePointer();\n }\n\n private setupOutsidePointer(): void {\n if (this.removeDocPointerListener) return;\n\n const onPointerDown = (ev: PointerEvent) => {\n if (!this.host.open()) return;\n const panel = this.elRef.nativeElement;\n const trigger = this.findTriggerEl();\n if (isInside(ev.target, panel)) return;\n if (trigger && isInside(ev.target, trigger)) return;\n if (\n this.host.multiple() &&\n ev.target &&\n (ev.target as Element).closest?.(\n '[data-slot=\"select-option\"], [data-slot=\"multi-select-option\"]'\n )\n )\n return;\n this.host.close();\n };\n\n document.addEventListener('pointerdown', onPointerDown, true);\n this.removeDocPointerListener = () => {\n document.removeEventListener('pointerdown', onPointerDown, true);\n };\n }\n\n private teardownOutsidePointer(): void {\n this.removeDocPointerListener?.();\n this.removeDocPointerListener = null;\n }\n\n private restoreFocusOnClose(): void {\n const panel = this.elRef.nativeElement;\n const active = document.activeElement as HTMLElement | null;\n if (active && panel.contains(active)) {\n const trigger = this.findTriggerEl();\n trigger?.focus();\n return;\n }\n if (document.activeElement === document.body) {\n const trigger = this.findTriggerEl();\n trigger?.focus();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"tng-select.overlay.shared.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.overlay.shared.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n Directive,\n ElementRef,\n HostBinding,\n inject,\n input,\n effect,\n} from '@angular/core';\nimport type {\n TngOverlayCollisionOptions,\n TngOverlayOffset,\n TngOverlayPlacement,\n} from '@tailng-ui/cdk';\nimport { computeOverlayPosition } from '@tailng-ui/cdk';\n\nimport { TNG_SELECT_HOST } from './tng-select.tokens.shared';\nimport type { TngSelectHostApi } from './tng-select.host-api';\n\ntype MaybeRect = Readonly<{\n left: number;\n top: number;\n width: number;\n height: number;\n}>;\n\nfunction rectFromClientRect(r: DOMRect | ClientRect): MaybeRect {\n return { left: r.left, top: r.top, width: r.width, height: r.height };\n}\n\nfunction viewportRect(): MaybeRect {\n return { left: 0, top: 0, width: window.innerWidth || 1024, height: window.innerHeight || 768 };\n}\n\nfunction isInside(target: EventTarget | null, container: HTMLElement): boolean {\n return !!target && target instanceof Node && container.contains(target);\n}\n\n@Directive({\n selector: '[tngSelectOverlay]',\n exportAs: 'tngSelectOverlay',\n})\nexport class TngSelectOverlay {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly elRef = inject(ElementRef<HTMLElement>);\n private readonly destroyRef = inject(DestroyRef);\n\n private lastFocusedBeforeOpen: HTMLElement | null = null;\n private removeResizeListener: (() => void) | null = null;\n private removeScrollListener: (() => void) | null = null;\n private resizeObserver: ResizeObserver | null = null;\n\n readonly placement = input<TngOverlayPlacement | undefined>(undefined);\n readonly offset = input<TngOverlayOffset | undefined>(undefined);\n readonly collision = input<TngOverlayCollisionOptions | undefined>(undefined);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-overlay' = 'select-overlay';\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.host.open() ? null : '';\n }\n\n private placeholder: Comment | null = null;\n private originalParent: Node | null = null;\n private removeDocPointerListener: (() => void) | null = null;\n\n constructor() {\n this.placeholder = document.createComment('tng-select-overlay-anchor');\n const hostEl = this.elRef.nativeElement;\n this.originalParent = hostEl.parentNode;\n this.originalParent?.insertBefore(this.placeholder, hostEl);\n\n effect(() => {\n const open = this.host.open();\n if (open) this.mountToBodyAndPosition();\n else this.restoreToPlaceholder();\n });\n\n this.destroyRef.onDestroy(() => {\n this.teardownOutsidePointer();\n this.restoreToPlaceholder(true);\n this.placeholder = null;\n this.originalParent = null;\n });\n }\n\n private reposition(): void {\n if (!this.host.open()) return;\n const panel = this.elRef.nativeElement;\n const trigger = this.findTriggerEl();\n if (!trigger) return;\n\n const anchor = rectFromClientRect(trigger.getBoundingClientRect());\n const overlay = rectFromClientRect(panel.getBoundingClientRect());\n const viewport = viewportRect();\n\n const result = computeOverlayPosition({\n anchorRect: anchor,\n overlayRect: overlay,\n viewportRect: viewport,\n placement: this.placement(),\n offset: this.offset(),\n collision: this.collision(),\n });\n\n panel.style.left = `${result.x}px`;\n panel.style.top = `${result.y}px`;\n }\n\n private setupRepositionListeners(): void {\n let rafId: number | null = null;\n const schedule = () => {\n if (rafId !== null) return;\n rafId = requestAnimationFrame(() => {\n rafId = null;\n this.reposition();\n });\n };\n\n const onResize = () => schedule();\n const onScroll = () => schedule();\n window.addEventListener('resize', onResize);\n window.addEventListener('scroll', onScroll, true);\n this.removeResizeListener = () => window.removeEventListener('resize', onResize);\n this.removeScrollListener = () => window.removeEventListener('scroll', onScroll, true);\n\n if ('ResizeObserver' in window) {\n this.resizeObserver = new ResizeObserver(() => schedule());\n const trigger = this.findTriggerEl();\n if (trigger) this.resizeObserver.observe(trigger);\n this.resizeObserver.observe(this.elRef.nativeElement);\n }\n }\n\n private teardownRepositionListeners(): void {\n this.removeResizeListener?.();\n this.removeScrollListener?.();\n this.removeResizeListener = null;\n this.removeScrollListener = null;\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n\n private findTriggerEl(): HTMLElement | null {\n const root = this.host.hostElement;\n return root.querySelector('[data-slot=\"select-trigger\"]') as HTMLElement | null;\n }\n\n private mountToBodyAndPosition(): void {\n this.lastFocusedBeforeOpen = document.activeElement as HTMLElement | null;\n this.setupRepositionListeners();\n const panel = this.elRef.nativeElement;\n\n if (panel.parentNode !== document.body) {\n document.body.appendChild(panel);\n }\n\n panel.style.position = 'fixed';\n panel.style.left = '0px';\n panel.style.top = '0px';\n panel.style.zIndex = '1000';\n\n queueMicrotask(() => {\n if (!this.host.open()) return;\n const trigger = this.findTriggerEl();\n if (!trigger) return;\n\n const anchor = rectFromClientRect(trigger.getBoundingClientRect());\n panel.style.minWidth = `${anchor.width}px`;\n\n const overlay = rectFromClientRect(panel.getBoundingClientRect());\n const viewport = viewportRect();\n const result = computeOverlayPosition({\n anchorRect: anchor,\n overlayRect: overlay,\n viewportRect: viewport,\n placement: this.placement(),\n offset: this.offset(),\n collision: this.collision(),\n });\n\n panel.style.left = `${result.x}px`;\n panel.style.top = `${result.y}px`;\n });\n\n this.setupOutsidePointer();\n }\n\n private restoreToPlaceholder(force = false): void {\n const panel = this.elRef.nativeElement;\n if (!force && panel.parentNode !== document.body) {\n this.teardownOutsidePointer();\n return;\n }\n\n if (this.placeholder?.parentNode) {\n this.placeholder.parentNode.insertBefore(panel, this.placeholder);\n } else if (this.originalParent) {\n this.originalParent.appendChild(panel);\n }\n\n this.teardownRepositionListeners();\n\n if (\n this.lastFocusedBeforeOpen &&\n document.contains(this.lastFocusedBeforeOpen)\n ) {\n const active = document.activeElement as HTMLElement | null;\n const panelEl = this.elRef.nativeElement;\n if (!active || panelEl.contains(active)) {\n this.lastFocusedBeforeOpen.focus();\n }\n }\n\n this.restoreFocusOnClose();\n panel.style.position = '';\n panel.style.left = '';\n panel.style.top = '';\n panel.style.zIndex = '';\n panel.style.minWidth = '';\n this.teardownOutsidePointer();\n }\n\n private setupOutsidePointer(): void {\n if (this.removeDocPointerListener) return;\n\n const onPointerDown = (ev: PointerEvent) => {\n if (!this.host.open()) return;\n const panel = this.elRef.nativeElement;\n const trigger = this.findTriggerEl();\n if (isInside(ev.target, panel)) return;\n if (trigger && isInside(ev.target, trigger)) return;\n if (\n this.host.multiple() &&\n ev.target &&\n (ev.target as Element).closest?.(\n '[data-slot=\"select-option\"], [data-slot=\"multi-select-option\"]'\n )\n )\n return;\n this.host.close();\n };\n\n document.addEventListener('pointerdown', onPointerDown, true);\n this.removeDocPointerListener = () => {\n document.removeEventListener('pointerdown', onPointerDown, true);\n };\n }\n\n private teardownOutsidePointer(): void {\n this.removeDocPointerListener?.();\n this.removeDocPointerListener = null;\n }\n\n private restoreFocusOnClose(): void {\n const panel = this.elRef.nativeElement;\n const active = document.activeElement as HTMLElement | null;\n if (active && panel.contains(active)) {\n const trigger = this.findTriggerEl();\n trigger?.focus();\n return;\n }\n if (document.activeElement === document.body) {\n const trigger = this.findTriggerEl();\n trigger?.focus();\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.parts.shared.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.parts.shared.ts"],"names":[],"mappings":";AAMA,qBAKa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6C;IAClE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmC;IAEtD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2D;IAG1F,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAoB;IAEvC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAc;IACxC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAa;IAGtF,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAE7C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAG1C;IAGD,SAAS,KAAK,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAElD;IAGD,SAAS,KAAK,QAAQ,IAAI,GAAG,GAAG,IAAI,CAQnC;IAGD,SAAS,KAAK,WAAW,IAAI,MAAM,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAI5C;IAGD,SAAS,KAAK,eAAe,IAAI,MAAM,GAAG,IAAI,CAS7C;IAGD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAelD,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;yCAvFpC,gBAAgB;2CAAhB,gBAAgB;CAkG5B;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAkB;yCAFlD,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAKa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAiB;yCAFhD,aAAa;2CAAb,aAAa;CAGzB;AAID,qBAKa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6C;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAGjD,QAAQ,CAAC,EAAE,SAAqB;IAGhC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAoB;IAGjE,SAAS,KAAK,MAAM,IAAI,EAAE,GAAG,IAAI,CAEhC;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,GAAG,IAAI,CAEtC;;yCAlBU,gBAAgB;2CAAhB,gBAAgB;CA0B5B"}
1
+ {"version":3,"file":"tng-select.parts.shared.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.parts.shared.ts"],"names":[],"mappings":";AAMA,qBAIa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6C;IAClE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmC;IAEtD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2D;IAG1F,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAoB;IAEvC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAc;IACxC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAa;IAGtF,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAE7C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAG1C;IAGD,SAAS,KAAK,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAElD;IAGD,SAAS,KAAK,QAAQ,IAAI,GAAG,GAAG,IAAI,CAQnC;IAGD,SAAS,KAAK,WAAW,IAAI,MAAM,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAI5C;IAGD,SAAS,KAAK,eAAe,IAAI,MAAM,GAAG,IAAI,CAS7C;IAGD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAelD,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;yCAvFpC,gBAAgB;2CAAhB,gBAAgB;CAkG5B;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAkB;yCAFlD,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAiB;yCAFhD,aAAa;2CAAb,aAAa;CAGzB;AAID,qBAIa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6C;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAGjD,QAAQ,CAAC,EAAE,SAAqB;IAGhC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAoB;IAGjE,SAAS,KAAK,MAAM,IAAI,EAAE,GAAG,IAAI,CAEhC;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,GAAG,IAAI,CAEtC;;yCAlBU,gBAAgB;2CAAhB,gBAAgB;CA0B5B"}
@@ -88,7 +88,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
88
88
  args: [{
89
89
  selector: '[tngSelectTrigger]',
90
90
  exportAs: 'tngSelectTrigger',
91
- standalone: true,
92
91
  }]
93
92
  }], propDecorators: { dataSlot: [{
94
93
  type: HostBinding,
@@ -140,7 +139,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
140
139
  args: [{
141
140
  selector: '[tngSelectValue]',
142
141
  exportAs: 'tngSelectValue',
143
- standalone: true,
144
142
  }]
145
143
  }], propDecorators: { dataSlot: [{
146
144
  type: HostBinding,
@@ -156,7 +154,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
156
154
  args: [{
157
155
  selector: '[tngSelectIcon]',
158
156
  exportAs: 'tngSelectIcon',
159
- standalone: true,
160
157
  }]
161
158
  }], propDecorators: { dataSlot: [{
162
159
  type: HostBinding,
@@ -189,7 +186,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
189
186
  args: [{
190
187
  selector: '[tngSelectContent]',
191
188
  exportAs: 'tngSelectContent',
192
- standalone: true,
193
189
  }]
194
190
  }], ctorParameters: () => [], propDecorators: { id: [{
195
191
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.parts.shared.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.parts.shared.ts"],"names":[],"mappings":"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","sourcesContent":["import { DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\nimport { ensureActiveAndSync, handleComboboxKeydown } from '../../../internal/combobox';\nimport type { TngSelectHostApi } from './tng-select.host-api';\nimport { TNG_SELECT_HOST } from './tng-select.tokens.shared';\n\n@Directive({\n selector: '[tngSelectTrigger]',\n exportAs: 'tngSelectTrigger',\n standalone: true,\n})\nexport class TngSelectTrigger {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly el = inject(ElementRef<HTMLElement>);\n\n private get listbox() {\n return this.host.getListboxApi();\n }\n private readonly authorTabindex = this.el.nativeElement.getAttribute('tabindex') !== null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-trigger' = 'select-trigger';\n\n @HostBinding('attr.role') protected readonly role: 'combobox' = 'combobox';\n @HostBinding('attr.aria-haspopup') protected readonly haspopup: 'listbox' = 'listbox';\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n return this.host.open() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.host.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n if (!this.host.open()) return null;\n return this.host.getContentId() ?? this.host.getListboxId();\n }\n\n @HostBinding('attr.aria-activedescendant')\n protected get ariaActiveDescendant(): string | null {\n return this.host.open() ? this.host.getActiveDescendantId() : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabindex(): '0' | null {\n const node = this.el.nativeElement;\n const isNaturallyFocusable =\n node instanceof HTMLButtonElement ||\n node instanceof HTMLInputElement ||\n node instanceof HTMLSelectElement ||\n node instanceof HTMLTextAreaElement;\n return isNaturallyFocusable || this.authorTabindex ? null : '0';\n }\n\n @HostBinding('attr.aria-invalid')\n protected get ariaInvalid(): 'true' | null {\n return this.host.invalid() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledby(): string | null {\n const node = this.el.nativeElement;\n if (node.hasAttribute('aria-label')) return null;\n return this.host.labelId();\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedby(): string | null {\n const ids: string[] = [];\n const desc = this.host.descriptionId();\n if (desc) ids.push(desc);\n if (this.host.invalid()) {\n const err = this.host.errorId();\n if (err) ids.push(err);\n }\n return ids.length ? ids.join(' ') : null;\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n if (this.host.disabled()) return;\n const btn = event.button ?? 0;\n if (btn !== 0) return;\n\n event.preventDefault();\n this.el.nativeElement.focus();\n this.host.toggle();\n\n if (this.host.open()) {\n ensureActiveAndSync(this.listbox, (id) => this.host.setActiveDescendantId(id));\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n handleComboboxKeydown(event, {\n disabled: this.host.disabled(),\n open: this.host.open(),\n openSelect: () => this.host.openSelect(),\n close: () => this.host.close(),\n listbox: this.listbox,\n setActiveDescendantId: (id) => this.host.setActiveDescendantId(id),\n multiSelect: this.host.multiple(),\n });\n }\n}\n\n@Directive({\n selector: '[tngSelectValue]',\n exportAs: 'tngSelectValue',\n standalone: true,\n})\nexport class TngSelectValue {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-value' = 'select-value';\n}\n\n@Directive({\n selector: '[tngSelectIcon]',\n exportAs: 'tngSelectIcon',\n standalone: true,\n})\nexport class TngSelectIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-icon' = 'select-icon';\n}\n\nconst createContentId = createTngIdFactory('tng-select-content');\n\n@Directive({\n selector: '[tngSelectContent]',\n exportAs: 'tngSelectContent',\n standalone: true,\n})\nexport class TngSelectContent {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly destroyRef = inject(DestroyRef);\n\n @HostBinding('attr.id')\n readonly id = createContentId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-content' = 'select-content';\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.host.open() ? null : '';\n }\n\n @HostBinding('attr.aria-busy')\n protected get ariaBusy(): 'true' | null {\n return this.host.loading() ? 'true' : null;\n }\n\n constructor() {\n this.host.setContentId(this.id);\n this.destroyRef.onDestroy(() => {\n if (this.host.getContentId() === this.id) this.host.setContentId(null);\n });\n }\n}\n"]}
1
+ {"version":3,"file":"tng-select.parts.shared.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.parts.shared.ts"],"names":[],"mappings":"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","sourcesContent":["import { DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\nimport { ensureActiveAndSync, handleComboboxKeydown } from '../../../internal/combobox';\nimport type { TngSelectHostApi } from './tng-select.host-api';\nimport { TNG_SELECT_HOST } from './tng-select.tokens.shared';\n\n@Directive({\n selector: '[tngSelectTrigger]',\n exportAs: 'tngSelectTrigger',\n})\nexport class TngSelectTrigger {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly el = inject(ElementRef<HTMLElement>);\n\n private get listbox() {\n return this.host.getListboxApi();\n }\n private readonly authorTabindex = this.el.nativeElement.getAttribute('tabindex') !== null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-trigger' = 'select-trigger';\n\n @HostBinding('attr.role') protected readonly role: 'combobox' = 'combobox';\n @HostBinding('attr.aria-haspopup') protected readonly haspopup: 'listbox' = 'listbox';\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n return this.host.open() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.host.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n if (!this.host.open()) return null;\n return this.host.getContentId() ?? this.host.getListboxId();\n }\n\n @HostBinding('attr.aria-activedescendant')\n protected get ariaActiveDescendant(): string | null {\n return this.host.open() ? this.host.getActiveDescendantId() : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabindex(): '0' | null {\n const node = this.el.nativeElement;\n const isNaturallyFocusable =\n node instanceof HTMLButtonElement ||\n node instanceof HTMLInputElement ||\n node instanceof HTMLSelectElement ||\n node instanceof HTMLTextAreaElement;\n return isNaturallyFocusable || this.authorTabindex ? null : '0';\n }\n\n @HostBinding('attr.aria-invalid')\n protected get ariaInvalid(): 'true' | null {\n return this.host.invalid() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledby(): string | null {\n const node = this.el.nativeElement;\n if (node.hasAttribute('aria-label')) return null;\n return this.host.labelId();\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedby(): string | null {\n const ids: string[] = [];\n const desc = this.host.descriptionId();\n if (desc) ids.push(desc);\n if (this.host.invalid()) {\n const err = this.host.errorId();\n if (err) ids.push(err);\n }\n return ids.length ? ids.join(' ') : null;\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n if (this.host.disabled()) return;\n const btn = event.button ?? 0;\n if (btn !== 0) return;\n\n event.preventDefault();\n this.el.nativeElement.focus();\n this.host.toggle();\n\n if (this.host.open()) {\n ensureActiveAndSync(this.listbox, (id) => this.host.setActiveDescendantId(id));\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n handleComboboxKeydown(event, {\n disabled: this.host.disabled(),\n open: this.host.open(),\n openSelect: () => this.host.openSelect(),\n close: () => this.host.close(),\n listbox: this.listbox,\n setActiveDescendantId: (id) => this.host.setActiveDescendantId(id),\n multiSelect: this.host.multiple(),\n });\n }\n}\n\n@Directive({\n selector: '[tngSelectValue]',\n exportAs: 'tngSelectValue',\n})\nexport class TngSelectValue {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-value' = 'select-value';\n}\n\n@Directive({\n selector: '[tngSelectIcon]',\n exportAs: 'tngSelectIcon',\n})\nexport class TngSelectIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-icon' = 'select-icon';\n}\n\nconst createContentId = createTngIdFactory('tng-select-content');\n\n@Directive({\n selector: '[tngSelectContent]',\n exportAs: 'tngSelectContent',\n})\nexport class TngSelectContent {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly destroyRef = inject(DestroyRef);\n\n @HostBinding('attr.id')\n readonly id = createContentId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-content' = 'select-content';\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.host.open() ? null : '';\n }\n\n @HostBinding('attr.aria-busy')\n protected get ariaBusy(): 'true' | null {\n return this.host.loading() ? 'true' : null;\n }\n\n constructor() {\n this.host.setContentId(this.id);\n this.destroyRef.onDestroy(() => {\n if (this.host.getContentId() === this.id) this.host.setContentId(null);\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;AAElF,iFAAiF;AACjF,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAMa,eAAe,CAAC,CAAC,GAAG,OAAO;IACtC,QAAQ,CAAC,WAAW,MAAiD;IAErE,SAAgB,IAAI,+CAAyB;IAC7C,SAAgB,QAAQ,+CAAyB;IACjD,oCAAoC;IACpC,SAAgB,KAAK,gDAAyB;IAC9C,+DAA+D;IAC/D,SAAgB,WAAW,+CAAyB;IACpD,2EAA2E;IAC3E,SAAgB,MAAM,+CAAyB;IAC/C,yFAAyF;IACzF,SAAgB,MAAM,uEAAwC;IAE9D,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAA0C;IAC7D,mFAAmF;IACnF,eAAe,UAAS;IACxB,4GAA4G;IAC5G,kBAAkB,UAAS;IAE3B,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,qDAA8B;IACrD,SAAgB,aAAa,qDAA8B;IAC3D,SAAgB,OAAO,qDAA8B;IAEnD,gDAAgD;IAClD,SAAgB,KAAK,8CAAqB;IAE1C,uEAAuE;IACvE,SAAgB,WAAW,mDAAoB;IAG/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,QAAQ,CAE3C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAED,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAC9C,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAEtC,UAAU,IAAI,IAAI;IAKlB,KAAK,IAAI,IAAI;IAEb,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,aAAa,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAI1D,aAAa,IAAI,yBAAyB,GAAG,IAAI;yCAlFtC,eAAe;2CAAf,eAAe;CAqF3B"}
1
+ {"version":3,"file":"tng-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;AAElF,iFAAiF;AACjF,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAKa,eAAe,CAAC,CAAC,GAAG,OAAO;IACtC,QAAQ,CAAC,WAAW,MAAiD;IAErE,SAAgB,IAAI,+CAAyB;IAC7C,SAAgB,QAAQ,+CAAyB;IACjD,oCAAoC;IACpC,SAAgB,KAAK,gDAAyB;IAC9C,+DAA+D;IAC/D,SAAgB,WAAW,+CAAyB;IACpD,2EAA2E;IAC3E,SAAgB,MAAM,+CAAyB;IAC/C,yFAAyF;IACzF,SAAgB,MAAM,uEAAwC;IAE9D,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAA0C;IAC7D,mFAAmF;IACnF,eAAe,UAAS;IACxB,4GAA4G;IAC5G,kBAAkB,UAAS;IAE3B,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,qDAA8B;IACrD,SAAgB,aAAa,qDAA8B;IAC3D,SAAgB,OAAO,qDAA8B;IAEnD,gDAAgD;IAClD,SAAgB,KAAK,8CAAqB;IAE1C,uEAAuE;IACvE,SAAgB,WAAW,mDAAoB;IAG/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,QAAQ,CAE3C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAED,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAC9C,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAEtC,UAAU,IAAI,IAAI;IAKlB,KAAK,IAAI,IAAI;IAEb,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,aAAa,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAI1D,aAAa,IAAI,yBAAyB,GAAG,IAAI;yCAlFtC,eAAe;2CAAf,eAAe;CAqF3B"}
@@ -75,7 +75,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
75
75
  args: [{
76
76
  selector: '[tngAutocomplete]',
77
77
  exportAs: 'tngAutocomplete',
78
- standalone: true,
79
78
  providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }],
80
79
  }]
81
80
  }], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], allowCreate: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowCreate", required: false }] }], strict: [{ type: i0.Input, args: [{ isSignal: true, alias: "strict", required: false }] }], create: [{ type: i0.Output, args: ["create"] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], labelId: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelId", required: false }] }], descriptionId: [{ type: i0.Input, args: [{ isSignal: true, alias: "descriptionId", required: false }] }], errorId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorId", required: false }] }], query: [{ type: i0.Input, args: [{ isSignal: true, alias: "query", required: false }] }, { type: i0.Output, args: ["queryChange"] }], queryChange: [{ type: i0.Output, args: ["queryChange"] }], dataSlot: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tng-autocomplete.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';\nimport type { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';\n\n/** Emitted when user commits a free-form value (Enter with no active option). */\nexport interface TngAutocompleteCreateEvent {\n query: string;\n}\n\n@Directive({\n selector: '[tngAutocomplete]',\n exportAs: 'tngAutocomplete',\n standalone: true,\n providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }],\n})\nexport class TngAutocomplete<T = unknown> {\n readonly hostElement = inject(ElementRef<HTMLElement>).nativeElement;\n\n public readonly open = model<boolean>(false);\n public readonly disabled = input<boolean>(false);\n /** Value of the selected option. */\n public readonly value = model<T | null>(null);\n /** Allow free-form create when Enter with no active option. */\n public readonly allowCreate = input<boolean>(false);\n /** When true, blocks free-form create (strict = must select from list). */\n public readonly strict = input<boolean>(false);\n /** Emitted when user presses Enter with no active option and allowCreate and !strict. */\n public readonly create = output<TngAutocompleteCreateEvent>();\n\n private _contentId: string | null = null;\n private _listboxId: string | null = null;\n private _activeId: string | null = null;\n private _listboxApi: TngAutocompleteListboxApi | null = null;\n /** Set by overlay before programmatic focus restore to prevent reopen-on-focus. */\n _restoringFocus = false;\n /** Set by trigger when create is emitted; listbox effect skips sync to avoid overwriting consumer value. */\n _createJustEmitted = false;\n\n public readonly loading = input<boolean>(false);\n public readonly invalid = input<boolean>(false);\n public readonly labelId = input<string | null>(null);\n public readonly descriptionId = input<string | null>(null);\n public readonly errorId = input<string | null>(null);\n\n /** Current input query (used for filtering). */\n public readonly query = model<string>('');\n\n /** Emitted when query changes (typing OR open-on-focus empty emit). */\n public readonly queryChange = output<string>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'autocomplete' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.open() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-loading')\n protected get dataLoading(): '' | null {\n return this.loading() ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalid(): '' | null {\n return this.invalid() ? '' : null;\n }\n\n setContentId(id: string | null): void { this._contentId = id; }\n getContentId(): string | null { return this._contentId; }\n setListboxId(id: string | null): void { this._listboxId = id; }\n getListboxId(): string | null { return this._listboxId; }\n setActiveDescendantId(id: string | null): void { this._activeId = id; }\n getActiveDescendantId(): string | null { return this._activeId; }\n\n openSelect(): void {\n if (this.disabled()) return;\n this.open.set(true);\n }\n\n close(): void { this.open.set(false); }\n\n selectValue(value: T): void {\n if (this.disabled()) return;\n this.value.set(value);\n this.close();\n }\n\n setListboxApi(api: TngAutocompleteListboxApi | null): void {\n this._listboxApi = api;\n }\n\n getListboxApi(): TngAutocompleteListboxApi | null {\n return this._listboxApi;\n }\n}\n"]}
1
+ {"version":3,"file":"tng-autocomplete.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';\nimport type { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';\n\n/** Emitted when user commits a free-form value (Enter with no active option). */\nexport interface TngAutocompleteCreateEvent {\n query: string;\n}\n\n@Directive({\n selector: '[tngAutocomplete]',\n exportAs: 'tngAutocomplete',\n providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }],\n})\nexport class TngAutocomplete<T = unknown> {\n readonly hostElement = inject(ElementRef<HTMLElement>).nativeElement;\n\n public readonly open = model<boolean>(false);\n public readonly disabled = input<boolean>(false);\n /** Value of the selected option. */\n public readonly value = model<T | null>(null);\n /** Allow free-form create when Enter with no active option. */\n public readonly allowCreate = input<boolean>(false);\n /** When true, blocks free-form create (strict = must select from list). */\n public readonly strict = input<boolean>(false);\n /** Emitted when user presses Enter with no active option and allowCreate and !strict. */\n public readonly create = output<TngAutocompleteCreateEvent>();\n\n private _contentId: string | null = null;\n private _listboxId: string | null = null;\n private _activeId: string | null = null;\n private _listboxApi: TngAutocompleteListboxApi | null = null;\n /** Set by overlay before programmatic focus restore to prevent reopen-on-focus. */\n _restoringFocus = false;\n /** Set by trigger when create is emitted; listbox effect skips sync to avoid overwriting consumer value. */\n _createJustEmitted = false;\n\n public readonly loading = input<boolean>(false);\n public readonly invalid = input<boolean>(false);\n public readonly labelId = input<string | null>(null);\n public readonly descriptionId = input<string | null>(null);\n public readonly errorId = input<string | null>(null);\n\n /** Current input query (used for filtering). */\n public readonly query = model<string>('');\n\n /** Emitted when query changes (typing OR open-on-focus empty emit). */\n public readonly queryChange = output<string>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'autocomplete' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.open() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-loading')\n protected get dataLoading(): '' | null {\n return this.loading() ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalid(): '' | null {\n return this.invalid() ? '' : null;\n }\n\n setContentId(id: string | null): void { this._contentId = id; }\n getContentId(): string | null { return this._contentId; }\n setListboxId(id: string | null): void { this._listboxId = id; }\n getListboxId(): string | null { return this._listboxId; }\n setActiveDescendantId(id: string | null): void { this._activeId = id; }\n getActiveDescendantId(): string | null { return this._activeId; }\n\n openSelect(): void {\n if (this.disabled()) return;\n this.open.set(true);\n }\n\n close(): void { this.open.set(false); }\n\n selectValue(value: T): void {\n if (this.disabled()) return;\n this.value.set(value);\n this.close();\n }\n\n setListboxApi(api: TngAutocompleteListboxApi | null): void {\n this._listboxApi = api;\n }\n\n getListboxApi(): TngAutocompleteListboxApi | null {\n return this._listboxApi;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-autocomplete.listbox.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;;AAK7E,qBAea,sBAAsB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,yBAAyB;IACnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAG1E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,sBAAsB,CAAU;IAG9D,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAqB;;IA2B1C,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAI3C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IAInD,YAAY,IAAI,IAAI;IAOpB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI;yCA3DzD,sBAAsB;2CAAtB,sBAAsB;CAmFlC;AAED,qBAUa,qBAAqB,CAAC,CAAC;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;yCAFlD,qBAAqB;2CAArB,qBAAqB;CAGjC"}
1
+ {"version":3,"file":"tng-autocomplete.listbox.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;;AAK7E,qBAca,sBAAsB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,yBAAyB;IACnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAG1E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,sBAAsB,CAAU;IAG9D,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAqB;;IA2B1C,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAI3C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IAInD,YAAY,IAAI,IAAI;IAOpB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI;yCA3DzD,sBAAsB;2CAAtB,sBAAsB;CAmFlC;AAED,qBASa,qBAAqB,CAAC,CAAC;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;yCAFlD,qBAAqB;2CAArB,qBAAqB;CAGjC"}
@@ -84,7 +84,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
84
84
  type: Directive,
85
85
  args: [{
86
86
  selector: '[tngAutocompleteListbox]',
87
- standalone: true,
88
87
  providers: [
89
88
  { provide: TNG_AUTOCOMPLETE_LISTBOX, useExisting: TngAutocompleteListbox },
90
89
  { provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false }
@@ -116,7 +115,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
116
115
  type: Directive,
117
116
  args: [{
118
117
  selector: '[tngAutocompleteOption]',
119
- standalone: true,
120
118
  hostDirectives: [
121
119
  {
122
120
  directive: TngOptionDirective,