ng-primitives 0.0.7 → 0.2.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 (211) hide show
  1. package/README.md +14 -4
  2. package/accordion/accordion-trigger/accordion-trigger.directive.d.ts +2 -1
  3. package/autofill/README.md +3 -0
  4. package/autofill/autofill/autofill.directive.d.ts +19 -0
  5. package/{select/select-button/select-button.token.d.ts → autofill/autofill/autofill.token.d.ts} +4 -4
  6. package/autofill/index.d.ts +9 -0
  7. package/avatar/avatar/avatar.directive.d.ts +2 -1
  8. package/button/README.md +3 -0
  9. package/button/button/button.directive.d.ts +27 -0
  10. package/{select/select-option/select-option.token.d.ts → button/button/button.token.d.ts} +4 -4
  11. package/button/index.d.ts +9 -0
  12. package/checkbox/checkbox/checkbox.directive.d.ts +11 -61
  13. package/checkbox/index.d.ts +0 -4
  14. package/esm2022/a11y/visually-hidden/visually-hidden.directive.mjs +3 -3
  15. package/esm2022/accordion/accordion/accordion.directive.mjs +5 -4
  16. package/esm2022/accordion/accordion-content/accordion-content.directive.mjs +5 -6
  17. package/esm2022/accordion/accordion-item/accordion-item.directive.mjs +5 -5
  18. package/esm2022/accordion/accordion-trigger/accordion-trigger.directive.mjs +8 -5
  19. package/esm2022/autofill/autofill/autofill.directive.mjs +71 -0
  20. package/esm2022/autofill/autofill/autofill.token.mjs +16 -0
  21. package/esm2022/autofill/index.mjs +10 -0
  22. package/esm2022/autofill/ng-primitives-autofill.mjs +5 -0
  23. package/esm2022/avatar/avatar/avatar.directive.mjs +7 -4
  24. package/esm2022/avatar/avatar-fallback/avatar-fallback.directive.mjs +3 -3
  25. package/esm2022/avatar/avatar-image/avatar-image.directive.mjs +3 -3
  26. package/esm2022/button/button/button.directive.mjs +47 -0
  27. package/esm2022/button/button/button.token.mjs +16 -0
  28. package/esm2022/button/index.mjs +10 -0
  29. package/esm2022/button/ng-primitives-button.mjs +5 -0
  30. package/esm2022/checkbox/checkbox/checkbox.directive.mjs +29 -79
  31. package/esm2022/checkbox/index.mjs +1 -5
  32. package/esm2022/file-upload/file-upload/file-upload.directive.mjs +7 -4
  33. package/esm2022/focus-trap/focus-trap/focus-trap.directive.mjs +262 -0
  34. package/esm2022/focus-trap/focus-trap/focus-trap.token.mjs +16 -0
  35. package/esm2022/focus-trap/index.mjs +10 -0
  36. package/esm2022/focus-trap/ng-primitives-focus-trap.mjs +5 -0
  37. package/esm2022/form-field/description/description.directive.mjs +14 -14
  38. package/esm2022/form-field/error/error.directive.mjs +27 -29
  39. package/esm2022/form-field/form-control/form-control.directive.mjs +22 -16
  40. package/esm2022/form-field/form-field/form-field.directive.mjs +3 -3
  41. package/esm2022/form-field/form-field/form-field.token.mjs +3 -7
  42. package/esm2022/form-field/label/label.directive.mjs +56 -17
  43. package/esm2022/input/index.mjs +10 -0
  44. package/esm2022/input/input/input.directive.mjs +55 -0
  45. package/esm2022/input/input/input.token.mjs +16 -0
  46. package/esm2022/input/ng-primitives-input.mjs +5 -0
  47. package/esm2022/interactions/focus/focus.directive.mjs +15 -10
  48. package/esm2022/interactions/focus-visible/focus-visible.directive.mjs +12 -7
  49. package/esm2022/interactions/hover/hover.directive.mjs +16 -11
  50. package/esm2022/interactions/index.mjs +5 -1
  51. package/esm2022/interactions/move/move.directive.mjs +216 -0
  52. package/esm2022/interactions/move/move.token.mjs +16 -0
  53. package/esm2022/interactions/press/press.directive.mjs +118 -0
  54. package/esm2022/interactions/press/press.token.mjs +16 -0
  55. package/esm2022/internal/disabled/disabled.mjs +19 -0
  56. package/esm2022/internal/index.mjs +11 -0
  57. package/esm2022/internal/ng-primitives-internal.mjs +5 -0
  58. package/esm2022/internal/orientation/orientation.mjs +19 -0
  59. package/esm2022/internal/style-injector/style-injector.mjs +81 -0
  60. package/esm2022/progress/progress/progress.directive.mjs +3 -3
  61. package/esm2022/progress/progress-indicator/progress-indicator.directive.mjs +3 -3
  62. package/esm2022/radio/radio-group/radio-group.directive.mjs +14 -54
  63. package/esm2022/radio/radio-indicator/radio-indicator.directive.mjs +8 -5
  64. package/esm2022/radio/radio-item/radio-item.directive.mjs +8 -6
  65. package/esm2022/resize/resize/resize.directive.mjs +3 -3
  66. package/esm2022/roving-focus/roving-focus-group/roving-focus-group.directive.mjs +14 -9
  67. package/esm2022/roving-focus/roving-focus-item/roving-focus-item.directive.mjs +3 -3
  68. package/esm2022/search/index.mjs +10 -0
  69. package/esm2022/search/ng-primitives-search.mjs +5 -0
  70. package/esm2022/search/search-field/search-field.directive.mjs +47 -0
  71. package/esm2022/search/search-field/search-field.token.mjs +16 -0
  72. package/esm2022/select/index.mjs +1 -7
  73. package/esm2022/select/select/select.directive.mjs +23 -36
  74. package/esm2022/select/select/select.token.mjs +1 -1
  75. package/esm2022/slider/slider/slider.directive.mjs +18 -5
  76. package/esm2022/slider/slider-range/slider-range.directive.mjs +6 -5
  77. package/esm2022/slider/slider-thumb/slider-thumb.directive.mjs +7 -4
  78. package/esm2022/slider/slider-track/slider-track.directive.mjs +8 -4
  79. package/esm2022/switch/switch/switch.directive.mjs +18 -58
  80. package/esm2022/switch/switch-thumb/switch-thumb.directive.mjs +9 -6
  81. package/esm2022/tabs/tab-button/tab-button.directive.mjs +8 -6
  82. package/esm2022/tabs/tab-list/tab-list.directive.mjs +3 -3
  83. package/esm2022/tabs/tab-panel/tab-panel.directive.mjs +5 -6
  84. package/esm2022/tabs/tabset/tabset.directive.mjs +14 -18
  85. package/esm2022/textarea/index.mjs +10 -0
  86. package/esm2022/textarea/ng-primitives-textarea.mjs +5 -0
  87. package/esm2022/textarea/textarea/textarea.directive.mjs +37 -0
  88. package/esm2022/textarea/textarea/textarea.token.mjs +16 -0
  89. package/esm2022/toggle/toggle/toggle.directive.mjs +33 -13
  90. package/esm2022/tooltip/tooltip/tooltip.directive.mjs +3 -3
  91. package/esm2022/tooltip/tooltip-trigger/tooltip-trigger.directive.mjs +7 -7
  92. package/esm2022/utils/helpers/focus-manager.mjs +3 -3
  93. package/esm2022/utils/index.mjs +2 -2
  94. package/esm2022/utils/signals/async.mjs +11 -17
  95. package/fesm2022/ng-primitives-a11y.mjs +3 -3
  96. package/fesm2022/ng-primitives-accordion.mjs +19 -16
  97. package/fesm2022/ng-primitives-accordion.mjs.map +1 -1
  98. package/fesm2022/ng-primitives-autofill.mjs +100 -0
  99. package/fesm2022/ng-primitives-autofill.mjs.map +1 -0
  100. package/fesm2022/ng-primitives-avatar.mjs +13 -10
  101. package/fesm2022/ng-primitives-avatar.mjs.map +1 -1
  102. package/fesm2022/ng-primitives-button.mjs +76 -0
  103. package/fesm2022/ng-primitives-button.mjs.map +1 -0
  104. package/fesm2022/ng-primitives-checkbox.mjs +25 -203
  105. package/fesm2022/ng-primitives-checkbox.mjs.map +1 -1
  106. package/fesm2022/ng-primitives-file-upload.mjs +6 -3
  107. package/fesm2022/ng-primitives-file-upload.mjs.map +1 -1
  108. package/fesm2022/ng-primitives-focus-trap.mjs +291 -0
  109. package/fesm2022/ng-primitives-focus-trap.mjs.map +1 -0
  110. package/fesm2022/ng-primitives-form-field.mjs +119 -80
  111. package/fesm2022/ng-primitives-form-field.mjs.map +1 -1
  112. package/fesm2022/ng-primitives-input.mjs +84 -0
  113. package/fesm2022/ng-primitives-input.mjs.map +1 -0
  114. package/fesm2022/ng-primitives-interactions.mjs +394 -26
  115. package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
  116. package/fesm2022/ng-primitives-internal.mjs +132 -0
  117. package/fesm2022/ng-primitives-internal.mjs.map +1 -0
  118. package/fesm2022/ng-primitives-progress.mjs +6 -6
  119. package/fesm2022/ng-primitives-radio.mjs +25 -62
  120. package/fesm2022/ng-primitives-radio.mjs.map +1 -1
  121. package/fesm2022/ng-primitives-resize.mjs +3 -3
  122. package/fesm2022/ng-primitives-roving-focus.mjs +15 -10
  123. package/fesm2022/ng-primitives-roving-focus.mjs.map +1 -1
  124. package/fesm2022/ng-primitives-search.mjs +76 -0
  125. package/fesm2022/ng-primitives-search.mjs.map +1 -0
  126. package/fesm2022/ng-primitives-select.mjs +23 -395
  127. package/fesm2022/ng-primitives-select.mjs.map +1 -1
  128. package/fesm2022/ng-primitives-slider.mjs +35 -14
  129. package/fesm2022/ng-primitives-slider.mjs.map +1 -1
  130. package/fesm2022/ng-primitives-switch.mjs +23 -62
  131. package/fesm2022/ng-primitives-switch.mjs.map +1 -1
  132. package/fesm2022/ng-primitives-tabs.mjs +27 -30
  133. package/fesm2022/ng-primitives-tabs.mjs.map +1 -1
  134. package/fesm2022/ng-primitives-textarea.mjs +66 -0
  135. package/fesm2022/ng-primitives-textarea.mjs.map +1 -0
  136. package/fesm2022/ng-primitives-toggle.mjs +32 -12
  137. package/fesm2022/ng-primitives-toggle.mjs.map +1 -1
  138. package/fesm2022/ng-primitives-tooltip.mjs +9 -9
  139. package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
  140. package/fesm2022/ng-primitives-utils.mjs +14 -20
  141. package/fesm2022/ng-primitives-utils.mjs.map +1 -1
  142. package/file-upload/file-upload/file-upload.directive.d.ts +2 -1
  143. package/focus-trap/README.md +3 -0
  144. package/focus-trap/focus-trap/focus-trap.directive.d.ts +64 -0
  145. package/{select/select-options/select-options.token.d.ts → focus-trap/focus-trap/focus-trap.token.d.ts} +4 -4
  146. package/focus-trap/index.d.ts +9 -0
  147. package/form-field/description/description.directive.d.ts +1 -1
  148. package/form-field/error/error.directive.d.ts +9 -5
  149. package/form-field/form-control/form-control.directive.d.ts +7 -3
  150. package/form-field/form-field/form-field.token.d.ts +1 -1
  151. package/form-field/label/label.directive.d.ts +3 -2
  152. package/input/README.md +3 -0
  153. package/input/index.d.ts +9 -0
  154. package/input/input/input.directive.d.ts +33 -0
  155. package/input/input/input.token.d.ts +14 -0
  156. package/interactions/focus/focus.directive.d.ts +6 -2
  157. package/interactions/focus-visible/focus-visible.directive.d.ts +5 -1
  158. package/interactions/hover/hover.directive.d.ts +5 -1
  159. package/interactions/index.d.ts +4 -0
  160. package/interactions/move/move.directive.d.ts +126 -0
  161. package/interactions/move/move.token.d.ts +14 -0
  162. package/interactions/press/press.directive.d.ts +59 -0
  163. package/interactions/press/press.token.d.ts +14 -0
  164. package/internal/README.md +3 -0
  165. package/internal/disabled/disabled.d.ts +21 -0
  166. package/internal/index.d.ts +10 -0
  167. package/internal/orientation/orientation.d.ts +22 -0
  168. package/internal/style-injector/style-injector.d.ts +36 -0
  169. package/package.json +49 -7
  170. package/radio/radio-group/radio-group.directive.d.ts +4 -41
  171. package/radio/radio-indicator/radio-indicator.directive.d.ts +2 -1
  172. package/radio/radio-item/radio-item.directive.d.ts +2 -1
  173. package/roving-focus/roving-focus-group/roving-focus-group.directive.d.ts +7 -2
  174. package/search/README.md +3 -0
  175. package/search/index.d.ts +9 -0
  176. package/search/search-field/search-field.directive.d.ts +15 -0
  177. package/search/search-field/search-field.token.d.ts +14 -0
  178. package/select/index.d.ts +0 -6
  179. package/select/select/select.directive.d.ts +7 -22
  180. package/select/select/select.token.d.ts +2 -2
  181. package/slider/slider/slider.directive.d.ts +4 -2
  182. package/slider/slider-thumb/slider-thumb.directive.d.ts +2 -1
  183. package/slider/slider-track/slider-track.directive.d.ts +1 -1
  184. package/switch/switch/switch.directive.d.ts +5 -45
  185. package/switch/switch-thumb/switch-thumb.directive.d.ts +2 -1
  186. package/tabs/tab-button/tab-button.directive.d.ts +2 -1
  187. package/tabs/tabset/tabset.directive.d.ts +3 -9
  188. package/textarea/README.md +3 -0
  189. package/textarea/index.d.ts +9 -0
  190. package/textarea/textarea/textarea.directive.d.ts +20 -0
  191. package/textarea/textarea/textarea.token.d.ts +14 -0
  192. package/toggle/toggle/toggle.directive.d.ts +16 -4
  193. package/utils/index.d.ts +1 -1
  194. package/utils/signals/async.d.ts +10 -12
  195. package/checkbox/checkbox-indicator/checkbox-indicator.directive.d.ts +0 -19
  196. package/checkbox/checkbox-indicator/checkbox-indicator.token.d.ts +0 -15
  197. package/checkbox/checkbox-input/checkbox-input.directive.d.ts +0 -10
  198. package/checkbox/checkbox-label/checkbox-label.directive.d.ts +0 -9
  199. package/esm2022/checkbox/checkbox-indicator/checkbox-indicator.directive.mjs +0 -51
  200. package/esm2022/checkbox/checkbox-indicator/checkbox-indicator.token.mjs +0 -17
  201. package/esm2022/checkbox/checkbox-input/checkbox-input.directive.mjs +0 -40
  202. package/esm2022/checkbox/checkbox-label/checkbox-label.directive.mjs +0 -32
  203. package/esm2022/select/select-button/select-button.directive.mjs +0 -84
  204. package/esm2022/select/select-button/select-button.token.mjs +0 -16
  205. package/esm2022/select/select-option/select-option.directive.mjs +0 -90
  206. package/esm2022/select/select-option/select-option.token.mjs +0 -16
  207. package/esm2022/select/select-options/select-options.directive.mjs +0 -157
  208. package/esm2022/select/select-options/select-options.token.mjs +0 -16
  209. package/select/select-button/select-button.directive.d.ts +0 -51
  210. package/select/select-option/select-option.directive.d.ts +0 -57
  211. package/select/select-options/select-options.directive.d.ts +0 -65
@@ -6,8 +6,10 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { Directive } from '@angular/core';
9
+ import { NgpFocusVisible, NgpHover, NgpPress } from 'ng-primitives/interactions';
9
10
  import { injectSwitch } from '../switch/switch.token';
10
11
  import * as i0 from "@angular/core";
12
+ import * as i1 from "ng-primitives/interactions";
11
13
  export class NgpSwitchThumb {
12
14
  constructor() {
13
15
  /**
@@ -15,18 +17,19 @@ export class NgpSwitchThumb {
15
17
  */
16
18
  this.switch = injectSwitch();
17
19
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpSwitchThumb, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: NgpSwitchThumb, isStandalone: true, selector: "[ngpSwitchThumb]", host: { properties: { "attr.data-state": "switch.checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switch.disabledState() ? \"true\" : null" } }, ngImport: i0 }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpSwitchThumb, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: NgpSwitchThumb, isStandalone: true, selector: "[ngpSwitchThumb]", host: { properties: { "attr.data-checked": "switch.checked()", "attr.data-disabled": "switch.disabled() ? \"true\" : null" } }, hostDirectives: [{ directive: i1.NgpHover }, { directive: i1.NgpFocusVisible }, { directive: i1.NgpPress }], ngImport: i0 }); }
20
22
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpSwitchThumb, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpSwitchThumb, decorators: [{
22
24
  type: Directive,
23
25
  args: [{
24
26
  selector: '[ngpSwitchThumb]',
25
27
  standalone: true,
26
28
  host: {
27
- '[attr.data-state]': 'switch.checked() ? "checked" : "unchecked"',
28
- '[attr.data-disabled]': 'switch.disabledState() ? "true" : null',
29
+ '[attr.data-checked]': 'switch.checked()',
30
+ '[attr.data-disabled]': 'switch.disabled() ? "true" : null',
29
31
  },
32
+ hostDirectives: [NgpHover, NgpFocusVisible, NgpPress],
30
33
  }]
31
34
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRodW1iLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvc3dpdGNoL3NyYy9zd2l0Y2gtdGh1bWIvc3dpdGNoLXRodW1iLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFVdEQsTUFBTSxPQUFPLGNBQWM7SUFSM0I7UUFTRTs7V0FFRztRQUNnQixXQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7S0FDNUM7OEdBTFksY0FBYztrR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQVIxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsNENBQTRDO3dCQUNqRSxzQkFBc0IsRUFBRSx3Q0FBd0M7cUJBQ2pFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0U3dpdGNoIH0gZnJvbSAnLi4vc3dpdGNoL3N3aXRjaC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3BTd2l0Y2hUaHVtYl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3N3aXRjaC5jaGVja2VkKCkgPyBcImNoZWNrZWRcIiA6IFwidW5jaGVja2VkXCInLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdzd2l0Y2guZGlzYWJsZWRTdGF0ZSgpID8gXCJ0cnVlXCIgOiBudWxsJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwU3dpdGNoVGh1bWIge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBzd2l0Y2ggZGlyZWN0aXZlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN3aXRjaCA9IGluamVjdFN3aXRjaCgpO1xufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRodW1iLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvc3dpdGNoL3NyYy9zd2l0Y2gtdGh1bWIvc3dpdGNoLXRodW1iLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBV3RELE1BQU0sT0FBTyxjQUFjO0lBVDNCO1FBVUU7O1dBRUc7UUFDZ0IsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO0tBQzVDOzhHQUxZLGNBQWM7a0dBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFUMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLHFCQUFxQixFQUFFLGtCQUFrQjt3QkFDekMsc0JBQXNCLEVBQUUsbUNBQW1DO3FCQUM1RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQztpQkFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3BGb2N1c1Zpc2libGUsIE5ncEhvdmVyLCBOZ3BQcmVzcyB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGluamVjdFN3aXRjaCB9IGZyb20gJy4uL3N3aXRjaC9zd2l0Y2gudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdwU3dpdGNoVGh1bWJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWNoZWNrZWRdJzogJ3N3aXRjaC5jaGVja2VkKCknLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdzd2l0Y2guZGlzYWJsZWQoKSA/IFwidHJ1ZVwiIDogbnVsbCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdwSG92ZXIsIE5ncEZvY3VzVmlzaWJsZSwgTmdwUHJlc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BTd2l0Y2hUaHVtYiB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHN3aXRjaCBkaXJlY3RpdmUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3dpdGNoID0gaW5qZWN0U3dpdGNoKCk7XG59XG4iXX0=
@@ -1,8 +1,10 @@
1
1
  import { Directive, HostListener, booleanAttribute, computed, input } from '@angular/core';
2
+ import { NgpFocusVisible, NgpHover, NgpPress } from 'ng-primitives/interactions';
2
3
  import { NgpRovingFocusItem } from 'ng-primitives/roving-focus';
3
4
  import { injectTabset } from '../tabset/tabset.token';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "ng-primitives/roving-focus";
7
+ import * as i2 from "ng-primitives/interactions";
6
8
  export class NgpTabButton {
7
9
  constructor() {
8
10
  /**
@@ -55,10 +57,10 @@ export class NgpTabButton {
55
57
  this.select();
56
58
  }
57
59
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpTabButton, isStandalone: true, selector: "[ngpTabButton]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabButtonValue", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpTabButtonDisabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tab" }, listeners: { "click": "select()", "focus": "activateOnFocus()" }, properties: { "attr.id": "id() ?? defaultId()", "attr.aria-controls": "ariaControls()", "attr.data-state": "active() ? \"active\" : \"inactive\"", "attr.data-disabled": "disabled()", "attr.data-orientation": "tabset.orientation()" } }, exportAs: ["ngpTabButton"], hostDirectives: [{ directive: i1.NgpRovingFocusItem }], ngImport: i0 }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
61
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTabButton, isStandalone: true, selector: "[ngpTabButton]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabButtonValue", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpTabButtonDisabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tab" }, listeners: { "click": "select()", "focus": "activateOnFocus()" }, properties: { "attr.id": "id() ?? defaultId()", "attr.aria-controls": "ariaControls()", "attr.data-active": "active()", "attr.data-disabled": "disabled()", "attr.data-orientation": "tabset.orientation()" } }, exportAs: ["ngpTabButton"], hostDirectives: [{ directive: i1.NgpRovingFocusItem }, { directive: i2.NgpHover }, { directive: i2.NgpFocusVisible }, { directive: i2.NgpPress }], ngImport: i0 }); }
60
62
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabButton, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabButton, decorators: [{
62
64
  type: Directive,
63
65
  args: [{
64
66
  standalone: true,
@@ -68,11 +70,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
68
70
  role: 'tab',
69
71
  '[attr.id]': 'id() ?? defaultId()',
70
72
  '[attr.aria-controls]': 'ariaControls()',
71
- '[attr.data-state]': 'active() ? "active" : "inactive"',
73
+ '[attr.data-active]': 'active()',
72
74
  '[attr.data-disabled]': 'disabled()',
73
75
  '[attr.data-orientation]': 'tabset.orientation()',
74
76
  },
75
- hostDirectives: [NgpRovingFocusItem],
77
+ hostDirectives: [NgpRovingFocusItem, NgpHover, NgpFocusVisible, NgpPress],
76
78
  }]
77
79
  }], propDecorators: { select: [{
78
80
  type: HostListener,
@@ -81,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
81
83
  type: HostListener,
82
84
  args: ['focus']
83
85
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3RhYnMvc3JjL3RhYi1idXR0b24vdGFiLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQWdCdEQsTUFBTSxPQUFPLFlBQVk7SUFkekI7UUFlRTs7V0FFRztRQUNnQixXQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFFeEU7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQ3RELEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFSDs7O1dBR0c7UUFDTSxPQUFFLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFOUI7OztXQUdHO1FBQ00sY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsRjs7O1dBR0c7UUFDTSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVwRjs7V0FFRztRQUNNLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQW1CeEU7SUFqQkM7O09BRUc7SUFFSCxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBRU8sZUFBZTtRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OEdBM0RVLFlBQVk7a0dBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFkeEIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsS0FBSzt3QkFDWCxXQUFXLEVBQUUscUJBQXFCO3dCQUNsQyxzQkFBc0IsRUFBRSxnQkFBZ0I7d0JBQ3hDLG1CQUFtQixFQUFFLGtDQUFrQzt3QkFDdkQsc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMseUJBQXlCLEVBQUUsc0JBQXNCO3FCQUNsRDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDckM7OEJBZ0RDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxPQUFPO2dCQVNYLGVBQWU7c0JBRHhCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdwUm92aW5nRm9jdXNJdGVtIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9yb3ZpbmctZm9jdXMnO1xuaW1wb3J0IHsgaW5qZWN0VGFic2V0IH0gZnJvbSAnLi4vdGFic2V0L3RhYnNldC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BUYWJCdXR0b25dJyxcbiAgZXhwb3J0QXM6ICduZ3BUYWJCdXR0b24nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ3RhYicsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCgpID8/IGRlZmF1bHRJZCgpJyxcbiAgICAnW2F0dHIuYXJpYS1jb250cm9sc10nOiAnYXJpYUNvbnRyb2xzKCknLFxuICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdhY3RpdmUoKSA/IFwiYWN0aXZlXCIgOiBcImluYWN0aXZlXCInLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAndGFic2V0Lm9yaWVudGF0aW9uKCknLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW05ncFJvdmluZ0ZvY3VzSXRlbV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFRhYkJ1dHRvbiB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHRhYnNldFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnNldCA9IGluamVjdFRhYnNldCgpO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRhYiB0aGlzIHRyaWdnZXIgY29udHJvbHNcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPih7IGFsaWFzOiAnbmdwVGFiQnV0dG9uVmFsdWUnIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgZGlzYWJsZWRcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwVGFiQnV0dG9uRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgaWQgb2YgdGhlIHRhYiBidXR0b25cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGEgdW5pcXVlIGlkIGZvciB0aGUgdGFiIGJ1dHRvbiBpZiBub3QgcHJvdmlkZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0SWQgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLnRhYnNldC5pZCgpfS1idXR0b24tJHt0aGlzLnZhbHVlKCl9YCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgYXJpYS1jb250cm9scyBvZiB0aGUgdGFiIGJ1dHRvblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGFyaWFDb250cm9scyA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic2V0LmlkKCl9LXBhbmVsLSR7dGhpcy52YWx1ZSgpfWApO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlXG4gICAqL1xuICByZWFkb25seSBhY3RpdmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRhYnNldC52YWx1ZSgpID09PSB0aGlzLnZhbHVlKCkpO1xuXG4gIC8qKlxuICAgKiBTZWxlY3QgdGhlIHRhYiB0aGlzIHRyaWdnZXIgY29udHJvbHNcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudGFic2V0LnNlbGVjdCh0aGlzLnZhbHVlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIGZvY3VzIHNlbGVjdCB0aGUgdGFiIHRoaXMgdHJpZ2dlciBjb250cm9scyBpZiBhY3RpdmF0ZU9uRm9jdXMgaXMgdHJ1ZVxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICBwcm90ZWN0ZWQgYWN0aXZhdGVPbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRhYnNldC5hY3RpdmF0ZU9uRm9jdXMoKSkge1xuICAgICAgdGhpcy5zZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3RhYnMvc3JjL3RhYi1idXR0b24vdGFiLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFnQnRELE1BQU0sT0FBTyxZQUFZO0lBZHpCO1FBZUU7O1dBRUc7UUFDZ0IsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBRXhFOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUN0RCxLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsQ0FBQyxDQUFDO1FBRUg7OztXQUdHO1FBQ00sT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRTlCOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEY7OztXQUdHO1FBQ00saUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFcEY7O1dBRUc7UUFDTSxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FtQnhFO0lBakJDOztPQUVHO0lBRUgsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUVPLGVBQWU7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDOzhHQTNEVSxZQUFZO2tHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBZHhCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLEtBQUs7d0JBQ1gsV0FBVyxFQUFFLHFCQUFxQjt3QkFDbEMsc0JBQXNCLEVBQUUsZ0JBQWdCO3dCQUN4QyxvQkFBb0IsRUFBRSxVQUFVO3dCQUNoQyxzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyx5QkFBeUIsRUFBRSxzQkFBc0I7cUJBQ2xEO29CQUNELGNBQWMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDO2lCQUMxRTs4QkFnREMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE9BQU87Z0JBU1gsZUFBZTtzQkFEeEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3BGb2N1c1Zpc2libGUsIE5ncEhvdmVyLCBOZ3BQcmVzcyB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IE5ncFJvdmluZ0ZvY3VzSXRlbSB9IGZyb20gJ25nLXByaW1pdGl2ZXMvcm92aW5nLWZvY3VzJztcbmltcG9ydCB7IGluamVjdFRhYnNldCB9IGZyb20gJy4uL3RhYnNldC90YWJzZXQudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbmdwVGFiQnV0dG9uXScsXG4gIGV4cG9ydEFzOiAnbmdwVGFiQnV0dG9uJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICd0YWInLFxuICAgICdbYXR0ci5pZF0nOiAnaWQoKSA/PyBkZWZhdWx0SWQoKScsXG4gICAgJ1thdHRyLmFyaWEtY29udHJvbHNdJzogJ2FyaWFDb250cm9scygpJyxcbiAgICAnW2F0dHIuZGF0YS1hY3RpdmVdJzogJ2FjdGl2ZSgpJyxcbiAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ3RhYnNldC5vcmllbnRhdGlvbigpJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ3BSb3ZpbmdGb2N1c0l0ZW0sIE5ncEhvdmVyLCBOZ3BGb2N1c1Zpc2libGUsIE5ncFByZXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwVGFiQnV0dG9uIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgdGFic2V0XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFic2V0ID0gaW5qZWN0VGFic2V0KCk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgdGFiIHRoaXMgdHJpZ2dlciBjb250cm9sc1xuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KHsgYWxpYXM6ICduZ3BUYWJCdXR0b25WYWx1ZScgfSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYiBpcyBkaXNhYmxlZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICduZ3BUYWJCdXR0b25EaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBpZCBvZiB0aGUgdGFiIGJ1dHRvblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgYSB1bmlxdWUgaWQgZm9yIHRoZSB0YWIgYnV0dG9uIGlmIG5vdCBwcm92aWRlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic2V0LmlkKCl9LWJ1dHRvbi0ke3RoaXMudmFsdWUoKX1gKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBhcmlhLWNvbnRyb2xzIG9mIHRoZSB0YWIgYnV0dG9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgYXJpYUNvbnRyb2xzID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy50YWJzZXQuaWQoKX0tcGFuZWwtJHt0aGlzLnZhbHVlKCl9YCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmVcbiAgICovXG4gIHJlYWRvbmx5IGFjdGl2ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGFic2V0LnZhbHVlKCkgPT09IHRoaXMudmFsdWUoKSk7XG5cbiAgLyoqXG4gICAqIFNlbGVjdCB0aGUgdGFiIHRoaXMgdHJpZ2dlciBjb250cm9sc1xuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy50YWJzZXQuc2VsZWN0KHRoaXMudmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogT24gZm9jdXMgc2VsZWN0IHRoZSB0YWIgdGhpcyB0cmlnZ2VyIGNvbnRyb2xzIGlmIGFjdGl2YXRlT25Gb2N1cyBpcyB0cnVlXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIHByb3RlY3RlZCBhY3RpdmF0ZU9uRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFic2V0LmFjdGl2YXRlT25Gb2N1cygpKSB7XG4gICAgICB0aGlzLnNlbGVjdCgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -15,10 +15,10 @@ export class NgpTabList {
15
15
  */
16
16
  this.tabset = injectTabset();
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabList, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: NgpTabList, isStandalone: true, selector: "[ngpTabList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabset.orientation()", "attr.data-orientation": "tabset.orientation()" } }, exportAs: ["ngpTabList"], ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabList, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: NgpTabList, isStandalone: true, selector: "[ngpTabList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabset.orientation()", "attr.data-orientation": "tabset.orientation()" } }, exportAs: ["ngpTabList"], ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabList, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabList, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  standalone: true,
@@ -39,10 +39,10 @@ export class NgpTabPanel {
39
39
  */
40
40
  this.active = computed(() => this.tabset.selectedTab() === this.value());
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpTabPanel, isStandalone: true, selector: "[ngpTabPanel]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabPanelValue", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabIndex": "0" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.data-state": "active() ? \"active\" : \"inactive\"", "attr.data-orientation": "tabset.orientation()", "hidden": "!active()" } }, providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }], exportAs: ["ngpTabPanel"], ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTabPanel, isStandalone: true, selector: "[ngpTabPanel]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabPanelValue", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabIndex": "0" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.data-active": "active()", "attr.data-orientation": "tabset.orientation()" } }, providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }], exportAs: ["ngpTabPanel"], ngImport: i0 }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabPanel, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabPanel, decorators: [{
46
46
  type: Directive,
47
47
  args: [{
48
48
  standalone: true,
@@ -53,10 +53,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
53
53
  role: 'tabpanel',
54
54
  tabIndex: '0',
55
55
  '[attr.aria-labelledby]': 'labelledBy()',
56
- '[attr.data-state]': 'active() ? "active" : "inactive"',
56
+ '[attr.data-active]': 'active()',
57
57
  '[attr.data-orientation]': 'tabset.orientation()',
58
- '[hidden]': '!active()',
59
58
  },
60
59
  }]
61
60
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGFicy9zcmMvdGFiLXBhbmVsL3RhYi1wYW5lbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFnQnJELE1BQU0sT0FBTyxXQUFXO0lBZHhCO1FBZUU7O1dBRUc7UUFDZ0IsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRXZFOzs7V0FHRztRQUNNLE9BQUUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUU5Qjs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpGOzs7V0FHRztRQUNNLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkY7O1dBRUc7UUFDTSxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDOUU7OEdBakNZLFdBQVc7a0dBQVgsV0FBVyxtakJBVlgsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUM7OzJGQVV6RCxXQUFXO2tCQWR2QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsYUFBYSxFQUFFLENBQUM7b0JBQ3BFLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsUUFBUSxFQUFFLEdBQUc7d0JBQ2Isd0JBQXdCLEVBQUUsY0FBYzt3QkFDeEMsbUJBQW1CLEVBQUUsa0NBQWtDO3dCQUN2RCx5QkFBeUIsRUFBRSxzQkFBc0I7d0JBQ2pELFVBQVUsRUFBRSxXQUFXO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0VGFic2V0IH0gZnJvbSAnLi4vdGFic2V0L3RhYnNldC50b2tlbic7XG5pbXBvcnQgeyBOZ3BUYWJQYW5lbFRva2VuIH0gZnJvbSAnLi90YWItcGFuZWwudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbmdwVGFiUGFuZWxdJyxcbiAgZXhwb3J0QXM6ICduZ3BUYWJQYW5lbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwVGFiUGFuZWxUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncFRhYlBhbmVsIH1dLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ3RhYnBhbmVsJyxcbiAgICB0YWJJbmRleDogJzAnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ2xhYmVsbGVkQnkoKScsXG4gICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2FjdGl2ZSgpID8gXCJhY3RpdmVcIiA6IFwiaW5hY3RpdmVcIicsXG4gICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ3RhYnNldC5vcmllbnRhdGlvbigpJyxcbiAgICAnW2hpZGRlbl0nOiAnIWFjdGl2ZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwVGFiUGFuZWwge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSB0YWJzZXRcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSB0YWJzZXQgPSBpbmplY3RUYWJzZXQoKTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0YWJcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPih7IGFsaWFzOiAnbmdwVGFiUGFuZWxWYWx1ZScgfSk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgaWQgb2YgdGhlIHRhYiBwYW5lbFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgYSB1bmlxdWUgaWQgZm9yIHRoZSB0YWIgcGFuZWwgaWYgbm90IHByb3ZpZGVkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdElkID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy50YWJzZXQuaWQoKX0tcGFuZWwtJHt0aGlzLnZhbHVlKCl9YCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgYXJpYS1sYWJlbGxlZGJ5IG9mIHRoZSB0YWIgcGFuZWxcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBsYWJlbGxlZEJ5ID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy50YWJzZXQuaWQoKX0tYnV0dG9uLSR7dGhpcy52YWx1ZSgpfWApO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlXG4gICAqL1xuICByZWFkb25seSBhY3RpdmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRhYnNldC5zZWxlY3RlZFRhYigpID09PSB0aGlzLnZhbHVlKCkpO1xufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGFicy9zcmMvdGFiLXBhbmVsL3RhYi1wYW5lbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFlckQsTUFBTSxPQUFPLFdBQVc7SUFieEI7UUFjRTs7V0FFRztRQUNnQixXQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFdkU7OztXQUdHO1FBQ00sT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRTlCOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakY7OztXQUdHO1FBQ00sZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuRjs7V0FFRztRQUNNLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUM5RTs4R0FqQ1ksV0FBVztrR0FBWCxXQUFXLGlnQkFUWCxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7MkZBU3pELFdBQVc7a0JBYnZCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxhQUFhLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxVQUFVO3dCQUNoQixRQUFRLEVBQUUsR0FBRzt3QkFDYix3QkFBd0IsRUFBRSxjQUFjO3dCQUN4QyxvQkFBb0IsRUFBRSxVQUFVO3dCQUNoQyx5QkFBeUIsRUFBRSxzQkFBc0I7cUJBQ2xEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RUYWJzZXQgfSBmcm9tICcuLi90YWJzZXQvdGFic2V0LnRva2VuJztcbmltcG9ydCB7IE5ncFRhYlBhbmVsVG9rZW4gfSBmcm9tICcuL3RhYi1wYW5lbC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BUYWJQYW5lbF0nLFxuICBleHBvcnRBczogJ25ncFRhYlBhbmVsJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOZ3BUYWJQYW5lbFRva2VuLCB1c2VFeGlzdGluZzogTmdwVGFiUGFuZWwgfV0sXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAndGFicGFuZWwnLFxuICAgIHRhYkluZGV4OiAnMCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbGFiZWxsZWRCeSgpJyxcbiAgICAnW2F0dHIuZGF0YS1hY3RpdmVdJzogJ2FjdGl2ZSgpJyxcbiAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAndGFic2V0Lm9yaWVudGF0aW9uKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BUYWJQYW5lbCB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHRhYnNldFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnNldCA9IGluamVjdFRhYnNldCgpO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRhYlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KHsgYWxpYXM6ICduZ3BUYWJQYW5lbFZhbHVlJyB9KTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBpZCBvZiB0aGUgdGFiIHBhbmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBhIHVuaXF1ZSBpZCBmb3IgdGhlIHRhYiBwYW5lbCBpZiBub3QgcHJvdmlkZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0SWQgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLnRhYnNldC5pZCgpfS1wYW5lbC0ke3RoaXMudmFsdWUoKX1gKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBhcmlhLWxhYmVsbGVkYnkgb2YgdGhlIHRhYiBwYW5lbFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVsbGVkQnkgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLnRhYnNldC5pZCgpfS1idXR0b24tJHt0aGlzLnZhbHVlKCl9YCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmVcbiAgICovXG4gIHJlYWRvbmx5IGFjdGl2ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGFic2V0LnNlbGVjdGVkVGFiKCkgPT09IHRoaXMudmFsdWUoKSk7XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { Directive, booleanAttribute, computed, contentChildren, input, model, } from '@angular/core';
2
- import { NgpRovingFocusGroup, injectRovingFocusGroup } from 'ng-primitives/roving-focus';
2
+ import { NgpOrientationToken } from 'ng-primitives/internal';
3
+ import { NgpRovingFocusGroup } from 'ng-primitives/roving-focus';
3
4
  import { uniqueId } from 'ng-primitives/utils';
4
5
  import { injectTabsConfig } from '../config/tabs.config';
5
6
  import { NgpTabPanelToken } from '../tab-panel/tab-panel.token';
@@ -12,10 +13,6 @@ export class NgpTabset {
12
13
  * Access the global tabset configuration
13
14
  */
14
15
  this.config = injectTabsConfig();
15
- /**
16
- * Access the roving focus group directive
17
- */
18
- this.rovingFocusGroup = injectRovingFocusGroup();
19
16
  /**
20
17
  * Define the id for the tabset
21
18
  */
@@ -56,13 +53,6 @@ export class NgpTabset {
56
53
  // otherwise return the first tab
57
54
  return panels[0]?.value();
58
55
  });
59
- // default the orientation to horizontal
60
- this.rovingFocusGroup.orientation.set(this.orientation());
61
- }
62
- ngOnChanges(changes) {
63
- if ('orientation' in changes) {
64
- this.rovingFocusGroup.orientation.set(this.orientation());
65
- }
66
56
  }
67
57
  /**
68
58
  * Select a tab by its value
@@ -71,21 +61,27 @@ export class NgpTabset {
71
61
  select(value) {
72
62
  this.value.set(value);
73
63
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabset, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.0.2", type: NgpTabset, isStandalone: true, selector: "[ngpTabset]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "ngpTabsetValue", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "ngpTabsetOrientation", isSignal: true, isRequired: false, transformFunction: null }, activateOnFocus: { classPropertyName: "activateOnFocus", publicName: "ngpTabsetActivateOnFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "ngpTabsetValueChange" }, host: { properties: { "attr.id": "id()", "attr.data-orientation": "orientation()" } }, providers: [{ provide: NgpTabsetToken, useExisting: NgpTabset }], queries: [{ propertyName: "panels", predicate: NgpTabPanelToken, descendants: true, isSignal: true }], exportAs: ["ngpTabset"], usesOnChanges: true, hostDirectives: [{ directive: i1.NgpRovingFocusGroup }], ngImport: i0 }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabset, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
65
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.1", type: NgpTabset, isStandalone: true, selector: "[ngpTabset]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "ngpTabsetValue", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "ngpTabsetOrientation", isSignal: true, isRequired: false, transformFunction: null }, activateOnFocus: { classPropertyName: "activateOnFocus", publicName: "ngpTabsetActivateOnFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "ngpTabsetValueChange" }, host: { properties: { "attr.id": "id()", "attr.data-orientation": "orientation()" } }, providers: [
66
+ { provide: NgpTabsetToken, useExisting: NgpTabset },
67
+ { provide: NgpOrientationToken, useExisting: NgpTabset },
68
+ ], queries: [{ propertyName: "panels", predicate: NgpTabPanelToken, descendants: true, isSignal: true }], exportAs: ["ngpTabset"], hostDirectives: [{ directive: i1.NgpRovingFocusGroup }], ngImport: i0 }); }
76
69
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTabset, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabset, decorators: [{
78
71
  type: Directive,
79
72
  args: [{
80
73
  standalone: true,
81
74
  selector: '[ngpTabset]',
82
75
  exportAs: 'ngpTabset',
83
- providers: [{ provide: NgpTabsetToken, useExisting: NgpTabset }],
76
+ providers: [
77
+ { provide: NgpTabsetToken, useExisting: NgpTabset },
78
+ { provide: NgpOrientationToken, useExisting: NgpTabset },
79
+ ],
84
80
  hostDirectives: [NgpRovingFocusGroup],
85
81
  host: {
86
82
  '[attr.id]': 'id()',
87
83
  '[attr.data-orientation]': 'orientation()',
88
84
  },
89
85
  }]
90
- }], ctorParameters: () => [] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGFicy9zcmMvdGFic2V0L3RhYnNldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWFoRCxNQUFNLE9BQU8sU0FBUztJQTJEcEI7UUExREE7O1dBRUc7UUFDYyxXQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUU3Qzs7V0FFRztRQUNjLHFCQUFnQixHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFFN0Q7O1dBRUc7UUFDTSxPQUFFLEdBQUcsS0FBSyxDQUFTLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRXBEOztXQUVHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxFQUFFO1lBQzFDLEtBQUssRUFBRSxnQkFBZ0I7U0FDeEIsQ0FBQyxDQUFDO1FBRUg7OztXQUdHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQTRCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQy9FLEtBQUssRUFBRSxzQkFBc0I7U0FDOUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxvQkFBZSxHQUFHLEtBQUssQ0FBd0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDbkYsS0FBSyxFQUFFLDBCQUEwQjtZQUNqQyxTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sV0FBTSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTNFOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU3Qiw2RUFBNkU7WUFDN0UsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFFRCxpQ0FBaUM7WUFDakMsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFHRCx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OEdBNUVVLFNBQVM7a0dBQVQsU0FBUywydUJBUFQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLGlEQWlEOUIsZ0JBQWdCOzsyRkExQ3ZDLFNBQVM7a0JBWHJCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztvQkFDckIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsV0FBVyxFQUFFLENBQUM7b0JBQ2hFLGNBQWMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0osV0FBVyxFQUFFLE1BQU07d0JBQ25CLHlCQUF5QixFQUFFLGVBQWU7cUJBQzNDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ncFJvdmluZ0ZvY3VzR3JvdXAsIGluamVjdFJvdmluZ0ZvY3VzR3JvdXAgfSBmcm9tICduZy1wcmltaXRpdmVzL3JvdmluZy1mb2N1cyc7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvdXRpbHMnO1xuaW1wb3J0IHsgaW5qZWN0VGFic0NvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90YWJzLmNvbmZpZyc7XG5pbXBvcnQgeyBOZ3BUYWJQYW5lbFRva2VuIH0gZnJvbSAnLi4vdGFiLXBhbmVsL3RhYi1wYW5lbC50b2tlbic7XG5pbXBvcnQgeyBOZ3BUYWJzZXRUb2tlbiB9IGZyb20gJy4vdGFic2V0LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFRhYnNldF0nLFxuICBleHBvcnRBczogJ25ncFRhYnNldCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwVGFic2V0VG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BUYWJzZXQgfV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdwUm92aW5nRm9jdXNHcm91cF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkKCknLFxuICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbigpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwVGFic2V0IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZ2xvYmFsIHRhYnNldCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdFRhYnNDb25maWcoKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSByb3ZpbmcgZm9jdXMgZ3JvdXAgZGlyZWN0aXZlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdmluZ0ZvY3VzR3JvdXAgPSBpbmplY3RSb3ZpbmdGb2N1c0dyb3VwKCk7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgaWQgZm9yIHRoZSB0YWJzZXRcbiAgICovXG4gIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPih1bmlxdWVJZCgnbmdwLXRhYnNldCcpKTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBhY3RpdmUgdGFiXG4gICAqL1xuICByZWFkb25seSB2YWx1ZSA9IG1vZGVsPHN0cmluZyB8IG51bGw+KG51bGwsIHtcbiAgICBhbGlhczogJ25ncFRhYnNldFZhbHVlJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgdGFic2V0XG4gICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgKi9cbiAgcmVhZG9ubHkgb3JpZW50YXRpb24gPSBpbnB1dDwnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnPih0aGlzLmNvbmZpZy5vcmllbnRhdGlvbiwge1xuICAgIGFsaWFzOiAnbmdwVGFic2V0T3JpZW50YXRpb24nLFxuICB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0YWJzIHNob3VsZCBhY3RpdmF0ZSBvbiBmb2N1c1xuICAgKi9cbiAgcmVhZG9ubHkgYWN0aXZhdGVPbkZvY3VzID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0Pih0aGlzLmNvbmZpZy5hY3RpdmF0ZU9uRm9jdXMsIHtcbiAgICBhbGlhczogJ25ncFRhYnNldEFjdGl2YXRlT25Gb2N1cycsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSB0YWJzIHdpdGhpbiB0aGUgdGFic2V0XG4gICAqL1xuICByZWFkb25seSBwYW5lbHMgPSBjb250ZW50Q2hpbGRyZW4oTmdwVGFiUGFuZWxUb2tlbiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogR2V0IHRoZSBpZCBvZiB0aGUgc2VsZWN0ZWQgdGFiXG4gICAqL1xuICByZWFkb25seSBzZWxlY3RlZFRhYiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBwYW5lbHMgPSB0aGlzLnBhbmVscygpO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgYSB2YWx1ZSBzZXQgYW5kIGEgdGFiIHdpdGggdGhhdCB2YWx1ZSBleGlzdHMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBpZiAocGFuZWxzLnNvbWUocGFuZWwgPT4gcGFuZWwudmFsdWUoKSA9PT0gdGhpcy52YWx1ZSgpKSkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUoKTtcbiAgICB9XG5cbiAgICAvLyBvdGhlcndpc2UgcmV0dXJuIHRoZSBmaXJzdCB0YWJcbiAgICByZXR1cm4gcGFuZWxzWzBdPy52YWx1ZSgpO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBkZWZhdWx0IHRoZSBvcmllbnRhdGlvbiB0byBob3Jpem9udGFsXG4gICAgdGhpcy5yb3ZpbmdGb2N1c0dyb3VwLm9yaWVudGF0aW9uLnNldCh0aGlzLm9yaWVudGF0aW9uKCkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICgnb3JpZW50YXRpb24nIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMucm92aW5nRm9jdXNHcm91cC5vcmllbnRhdGlvbi5zZXQodGhpcy5vcmllbnRhdGlvbigpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgdGFiIGJ5IGl0cyB2YWx1ZVxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSB0YWIgdG8gc2VsZWN0XG4gICAqL1xuICBzZWxlY3QodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcbiAgfVxufVxuIl19
86
+ }] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGFicy9zcmMvdGFic2V0L3RhYnNldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUMsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFnQmhELE1BQU0sT0FBTyxTQUFTO0lBZHRCO1FBZUU7O1dBRUc7UUFDYyxXQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUU3Qzs7V0FFRztRQUNNLE9BQUUsR0FBRyxLQUFLLENBQVMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFcEQ7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFnQixJQUFJLEVBQUU7WUFDMUMsS0FBSyxFQUFFLGdCQUFnQjtTQUN4QixDQUFDLENBQUM7UUFFSDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBaUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDcEUsS0FBSyxFQUFFLHNCQUFzQjtTQUM5QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUF3QixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNuRixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxXQUFNLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0U7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTdCLDZFQUE2RTtZQUM3RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEIsQ0FBQztZQUVELGlDQUFpQztZQUNqQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztLQVNKO0lBUEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs4R0E1RFUsU0FBUztrR0FBVCxTQUFTLDJ1QkFWVDtZQUNULEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFO1lBQ25ELEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7U0FDekQsaURBNENpQyxnQkFBZ0I7OzJGQXJDdkMsU0FBUztrQkFkckIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsV0FBVyxFQUFFO3dCQUNuRCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLFdBQVcsRUFBRTtxQkFDekQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ3JDLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUUsTUFBTTt3QkFDbkIseUJBQXlCLEVBQUUsZUFBZTtxQkFDM0M7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ncENhbk9yaWVudGF0ZSwgTmdwT3JpZW50YXRpb24sIE5ncE9yaWVudGF0aW9uVG9rZW4gfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVybmFsJztcbmltcG9ydCB7IE5ncFJvdmluZ0ZvY3VzR3JvdXAgfSBmcm9tICduZy1wcmltaXRpdmVzL3JvdmluZy1mb2N1cyc7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvdXRpbHMnO1xuaW1wb3J0IHsgaW5qZWN0VGFic0NvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90YWJzLmNvbmZpZyc7XG5pbXBvcnQgeyBOZ3BUYWJQYW5lbFRva2VuIH0gZnJvbSAnLi4vdGFiLXBhbmVsL3RhYi1wYW5lbC50b2tlbic7XG5pbXBvcnQgeyBOZ3BUYWJzZXRUb2tlbiB9IGZyb20gJy4vdGFic2V0LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFRhYnNldF0nLFxuICBleHBvcnRBczogJ25ncFRhYnNldCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTmdwVGFic2V0VG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BUYWJzZXQgfSxcbiAgICB7IHByb3ZpZGU6IE5ncE9yaWVudGF0aW9uVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BUYWJzZXQgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ3BSb3ZpbmdGb2N1c0dyb3VwXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQoKScsXG4gICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BUYWJzZXQgaW1wbGVtZW50cyBOZ3BDYW5PcmllbnRhdGUge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBnbG9iYWwgdGFic2V0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0VGFic0NvbmZpZygpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGlkIGZvciB0aGUgdGFic2V0XG4gICAqL1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4odW5pcXVlSWQoJ25ncC10YWJzZXQnKSk7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgYWN0aXZlIHRhYlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWUgPSBtb2RlbDxzdHJpbmcgfCBudWxsPihudWxsLCB7XG4gICAgYWxpYXM6ICduZ3BUYWJzZXRWYWx1ZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZW50YXRpb24gb2YgdGhlIHRhYnNldFxuICAgKiBAZGVmYXVsdCAnaG9yaXpvbnRhbCdcbiAgICovXG4gIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8TmdwT3JpZW50YXRpb24+KHRoaXMuY29uZmlnLm9yaWVudGF0aW9uLCB7XG4gICAgYWxpYXM6ICduZ3BUYWJzZXRPcmllbnRhdGlvbicsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRhYnMgc2hvdWxkIGFjdGl2YXRlIG9uIGZvY3VzXG4gICAqL1xuICByZWFkb25seSBhY3RpdmF0ZU9uRm9jdXMgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KHRoaXMuY29uZmlnLmFjdGl2YXRlT25Gb2N1cywge1xuICAgIGFsaWFzOiAnbmdwVGFic2V0QWN0aXZhdGVPbkZvY3VzJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHRhYnMgd2l0aGluIHRoZSB0YWJzZXRcbiAgICovXG4gIHJlYWRvbmx5IHBhbmVscyA9IGNvbnRlbnRDaGlsZHJlbihOZ3BUYWJQYW5lbFRva2VuLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGlkIG9mIHRoZSBzZWxlY3RlZCB0YWJcbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdGVkVGFiID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHBhbmVscyA9IHRoaXMucGFuZWxzKCk7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBhIHZhbHVlIHNldCBhbmQgYSB0YWIgd2l0aCB0aGF0IHZhbHVlIGV4aXN0cywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIGlmIChwYW5lbHMuc29tZShwYW5lbCA9PiBwYW5lbC52YWx1ZSgpID09PSB0aGlzLnZhbHVlKCkpKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZSgpO1xuICAgIH1cblxuICAgIC8vIG90aGVyd2lzZSByZXR1cm4gdGhlIGZpcnN0IHRhYlxuICAgIHJldHVybiBwYW5lbHNbMF0/LnZhbHVlKCk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSB0YWIgYnkgaXRzIHZhbHVlXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHRhYiB0byBzZWxlY3RcbiAgICovXG4gIHNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ export { NgpTextarea } from './textarea/textarea.directive';
9
+ export { NgpTextareaToken } from './textarea/textarea.token';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3RleHRhcmVhL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5leHBvcnQgeyBOZ3BUZXh0YXJlYSB9IGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuZGlyZWN0aXZlJztcbmV4cG9ydCB7IE5ncFRleHRhcmVhVG9rZW4gfSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLnRva2VuJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJpbWl0aXZlcy10ZXh0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGV4dGFyZWEvc3JjL25nLXByaW1pdGl2ZXMtdGV4dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { booleanAttribute, Directive, input } from '@angular/core';
2
+ import { NgpFormControl } from 'ng-primitives/form-field';
3
+ import { NgpFocus, NgpHover, NgpPress } from 'ng-primitives/interactions';
4
+ import { NgpDisabledToken } from 'ng-primitives/internal';
5
+ import { NgpTextareaToken } from './textarea.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ng-primitives/form-field";
8
+ import * as i2 from "ng-primitives/interactions";
9
+ export class NgpTextarea {
10
+ constructor() {
11
+ /**
12
+ * Whether the element is disabled.
13
+ */
14
+ this.disabled = input(false, {
15
+ transform: booleanAttribute,
16
+ });
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTextarea, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTextarea, isStandalone: true, selector: "[ngpTextarea]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
20
+ { provide: NgpTextareaToken, useExisting: NgpTextarea },
21
+ { provide: NgpDisabledToken, useExisting: NgpTextarea },
22
+ ], exportAs: ["ngpTextarea"], hostDirectives: [{ directive: i1.NgpFormControl }, { directive: i2.NgpHover }, { directive: i2.NgpFocus }, { directive: i2.NgpPress }], ngImport: i0 }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTextarea, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ standalone: true,
28
+ selector: '[ngpTextarea]',
29
+ exportAs: 'ngpTextarea',
30
+ providers: [
31
+ { provide: NgpTextareaToken, useExisting: NgpTextarea },
32
+ { provide: NgpDisabledToken, useExisting: NgpTextarea },
33
+ ],
34
+ hostDirectives: [NgpFormControl, NgpHover, NgpFocus, NgpPress],
35
+ }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy90ZXh0YXJlYS9zcmMvdGV4dGFyZWEvdGV4dGFyZWEuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFZcEQsTUFBTSxPQUFPLFdBQVc7SUFWeEI7UUFXRTs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUN0RCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQztLQUNKOzhHQVBZLFdBQVc7a0dBQVgsV0FBVyx5TUFOWDtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7WUFDdkQsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRTtTQUN4RDs7MkZBR1UsV0FBVztrQkFWdkIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxhQUFhLEVBQUU7d0JBQ3ZELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsYUFBYSxFQUFFO3FCQUN4RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7aUJBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3BGb3JtQ29udHJvbCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBOZ3BGb2N1cywgTmdwSG92ZXIsIE5ncFByZXNzIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgTmdwQ2FuRGlzYWJsZSwgTmdwRGlzYWJsZWRUb2tlbiB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJuYWwnO1xuaW1wb3J0IHsgTmdwVGV4dGFyZWFUb2tlbiB9IGZyb20gJy4vdGV4dGFyZWEudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbmdwVGV4dGFyZWFdJyxcbiAgZXhwb3J0QXM6ICduZ3BUZXh0YXJlYScsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTmdwVGV4dGFyZWFUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncFRleHRhcmVhIH0sXG4gICAgeyBwcm92aWRlOiBOZ3BEaXNhYmxlZFRva2VuLCB1c2VFeGlzdGluZzogTmdwVGV4dGFyZWEgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ3BGb3JtQ29udHJvbCwgTmdwSG92ZXIsIE5ncEZvY3VzLCBOZ3BQcmVzc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFRleHRhcmVhIGltcGxlbWVudHMgTmdwQ2FuRGlzYWJsZSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpTextareaToken = new InjectionToken('NgpTextareaToken');
10
+ /**
11
+ * Inject the Textarea directive instance
12
+ */
13
+ export function injectTextarea() {
14
+ return inject(NgpTextareaToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3RleHRhcmVhL3NyYy90ZXh0YXJlYS90ZXh0YXJlYS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBYyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXBGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmdwVGV4dGFyZWEgfSBmcm9tICcuL3RleHRhcmVhLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBOZ3BUZXh0YXJlYVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPE5ncFRleHRhcmVhPignTmdwVGV4dGFyZWFUb2tlbicpO1xuXG4vKipcbiAqIEluamVjdCB0aGUgVGV4dGFyZWEgZGlyZWN0aXZlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RUZXh0YXJlYSgpOiBOZ3BUZXh0YXJlYSB7XG4gIHJldHVybiBpbmplY3QoTmdwVGV4dGFyZWFUb2tlbik7XG59XG4iXX0=
@@ -1,12 +1,16 @@
1
- import { Directive, HostListener, booleanAttribute, input, model } from '@angular/core';
1
+ import { Directive, ElementRef, HostListener, booleanAttribute, inject, input, model, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NgpToggle {
4
4
  constructor() {
5
5
  /**
6
- * Whether the toggle is pressed.
6
+ * Access the element.
7
+ */
8
+ this.element = inject(ElementRef);
9
+ /**
10
+ * Whether the toggle is selected.
7
11
  * @default false
8
12
  */
9
- this.pressed = model(false, { alias: 'ngpTogglePressed' });
13
+ this.selected = model(false, { alias: 'ngpToggleSelected' });
10
14
  /**
11
15
  * Whether the toggle is disabled.
12
16
  * @default false
@@ -15,34 +19,50 @@ export class NgpToggle {
15
19
  alias: 'ngpToggleDisabled',
16
20
  transform: booleanAttribute,
17
21
  });
22
+ /**
23
+ * Determine if the element is a button.
24
+ */
25
+ this.isButton = this.element.nativeElement.tagName === 'BUTTON';
18
26
  }
19
27
  /**
20
- * Toggle the pressed state.
28
+ * Toggle the selected state.
21
29
  */
22
30
  toggle() {
23
31
  if (this.disabled()) {
24
32
  return;
25
33
  }
26
- this.pressed.set(!this.pressed());
34
+ this.selected.update(selected => !selected);
27
35
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpToggle, isStandalone: true, selector: "button[ngpToggle]", inputs: { pressed: { classPropertyName: "pressed", publicName: "ngpTogglePressed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressed: "ngpTogglePressedChange" }, host: { attributes: { "type": "button" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-pressed": "pressed()", "attr.data-state": "pressed() ? \"on\" : \"off\"", "attr.data-disabled": "disabled()" } }, exportAs: ["ngpToggle"], ngImport: i0 }); }
36
+ /**
37
+ * If the element is not a button or a link the space key should toggle the selected state.
38
+ */
39
+ onKeyDown(event) {
40
+ if (!this.isButton && this.element.nativeElement.tagName !== 'A') {
41
+ event.preventDefault();
42
+ this.toggle();
43
+ }
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
46
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpToggle, isStandalone: true, selector: "[ngpToggle]", inputs: { selected: { classPropertyName: "selected", publicName: "ngpToggleSelected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "ngpToggleSelectedChange" }, host: { listeners: { "click": "toggle()", "keydown.space": "onKeyDown($event)" }, properties: { "attr.type": "isButton ? \"button\" : null", "attr.aria-pressed": "selected()", "attr.data-selected": "selected()", "attr.data-disabled": "disabled()" } }, exportAs: ["ngpToggle"], ngImport: i0 }); }
30
47
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpToggle, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpToggle, decorators: [{
32
49
  type: Directive,
33
50
  args: [{
34
- selector: 'button[ngpToggle]',
51
+ selector: '[ngpToggle]',
35
52
  exportAs: 'ngpToggle',
36
53
  standalone: true,
37
54
  host: {
38
- type: 'button',
39
- '[attr.aria-pressed]': 'pressed()',
40
- '[attr.data-state]': 'pressed() ? "on" : "off"',
55
+ '[attr.type]': 'isButton ? "button" : null',
56
+ '[attr.aria-pressed]': 'selected()',
57
+ '[attr.data-selected]': 'selected()',
41
58
  '[attr.data-disabled]': 'disabled()',
42
59
  },
43
60
  }]
44
61
  }], propDecorators: { toggle: [{
45
62
  type: HostListener,
46
63
  args: ['click']
64
+ }], onKeyDown: [{
65
+ type: HostListener,
66
+ args: ['keydown.space', ['$event']]
47
67
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdG9nZ2xlL3NyYy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWF4RixNQUFNLE9BQU8sU0FBUztJQVh0QjtRQVlFOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUV4RTs7O1dBR0c7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUU7WUFDdEQsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQztLQWFKO0lBWEM7O09BRUc7SUFFSCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0ExQlUsU0FBUztrR0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQVhyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLHFCQUFxQixFQUFFLFdBQVc7d0JBQ2xDLG1CQUFtQixFQUFFLDBCQUEwQjt3QkFDL0Msc0JBQXNCLEVBQUUsWUFBWTtxQkFDckM7aUJBQ0Y7OEJBcUJDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgYm9vbGVhbkF0dHJpYnV0ZSwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvbltuZ3BUb2dnbGVdJyxcbiAgZXhwb3J0QXM6ICduZ3BUb2dnbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgJ1thdHRyLmFyaWEtcHJlc3NlZF0nOiAncHJlc3NlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAncHJlc3NlZCgpID8gXCJvblwiIDogXCJvZmZcIicsXG4gICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BUb2dnbGUge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIGlzIHByZXNzZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcmVzc2VkID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UsIHsgYWxpYXM6ICduZ3BUb2dnbGVQcmVzc2VkJyB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIGlzIGRpc2FibGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICduZ3BUb2dnbGVEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSBwcmVzc2VkIHN0YXRlLlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJlc3NlZC5zZXQoIXRoaXMucHJlc3NlZCgpKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdG9nZ2xlL3NyYy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDOztBQWF2QixNQUFNLE9BQU8sU0FBUztJQVh0QjtRQVlFOztXQUVHO1FBQ2MsWUFBTyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFFdkU7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBRTFFOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUN0RCxLQUFLLEVBQUUsbUJBQW1CO1lBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTyxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQztLQXdCdEU7SUF0QkM7O09BRUc7SUFFSCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFFTyxTQUFTLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2pFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OEdBL0NVLFNBQVM7a0dBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFYckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLDRCQUE0Qjt3QkFDM0MscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMsc0JBQXNCLEVBQUUsWUFBWTtxQkFDckM7aUJBQ0Y7OEJBK0JDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxPQUFPO2dCQWFYLFNBQVM7c0JBRGxCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdwVG9nZ2xlXScsXG4gIGV4cG9ydEFzOiAnbmdwVG9nZ2xlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci50eXBlXSc6ICdpc0J1dHRvbiA/IFwiYnV0dG9uXCIgOiBudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1wcmVzc2VkXSc6ICdzZWxlY3RlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQoKScsXG4gICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BUb2dnbGUge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIGlzIHNlbGVjdGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSwgeyBhbGlhczogJ25ncFRvZ2dsZVNlbGVjdGVkJyB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIGlzIGRpc2FibGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICduZ3BUb2dnbGVEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBlbGVtZW50IGlzIGEgYnV0dG9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGlzQnV0dG9uID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0JVVFRPTic7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgc2VsZWN0ZWQgc3RhdGUuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZC51cGRhdGUoc2VsZWN0ZWQgPT4gIXNlbGVjdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBub3QgYSBidXR0b24gb3IgYSBsaW5rIHRoZSBzcGFjZSBrZXkgc2hvdWxkIHRvZ2dsZSB0aGUgc2VsZWN0ZWQgc3RhdGUuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0J1dHRvbiAmJiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC50YWdOYW1lICE9PSAnQScpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -37,10 +37,10 @@ export class NgpTooltip {
37
37
  }
38
38
  }
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: NgpTooltip, isStandalone: true, selector: "[ngpTooltip]", host: { attributes: { "role": "tooltip" }, properties: { "style.left.px": "x()", "style.top.px": "y()" } }, providers: [{ provide: NgpTooltipToken, useExisting: NgpTooltip }], exportAs: ["ngpTooltip"], ngImport: i0 }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: NgpTooltip, isStandalone: true, selector: "[ngpTooltip]", host: { attributes: { "role": "tooltip" }, properties: { "style.left.px": "x()", "style.top.px": "y()" } }, providers: [{ provide: NgpTooltipToken, useExisting: NgpTooltip }], exportAs: ["ngpTooltip"], ngImport: i0 }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTooltip, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTooltip, decorators: [{
44
44
  type: Directive,
45
45
  args: [{
46
46
  standalone: true,
@@ -1,7 +1,7 @@
1
1
  import { DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
2
- import { Directive, ElementRef, Injector, ViewContainerRef, booleanAttribute, computed, effect, inject, input, model, numberAttribute, signal, } from '@angular/core';
2
+ import { Directive, ElementRef, Injector, ViewContainerRef, booleanAttribute, computed, inject, input, model, numberAttribute, signal, } from '@angular/core';
3
3
  import { autoUpdate, computePosition, flip, offset, shift, } from '@floating-ui/dom';
4
- import { injectDisposables } from 'ng-primitives/utils';
4
+ import { injectDisposables, onBooleanChange } from 'ng-primitives/utils';
5
5
  import { injectTooltipConfig } from '../config/tooltip.config';
6
6
  import { NgpTooltipTriggerToken, provideTooltipTrigger } from './tooltip-trigger.token';
7
7
  import * as i0 from "@angular/core";
@@ -122,7 +122,7 @@ export class NgpTooltipTrigger {
122
122
  */
123
123
  this.state = signal('closed');
124
124
  // any time the open state changes then show or hide the tooltip
125
- effect(() => (this.open() ? this.show() : this.hide()), { allowSignalWrites: true });
125
+ onBooleanChange(this.open, this.show.bind(this), this.hide.bind(this));
126
126
  }
127
127
  ngOnDestroy() {
128
128
  this.destroyTooltip();
@@ -167,10 +167,10 @@ export class NgpTooltipTrigger {
167
167
  this.dispose?.();
168
168
  this.state.set('closed');
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTooltipTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
171
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpTooltipTrigger, isStandalone: true, selector: "[ngpTooltipTrigger]", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "ngpTooltipTrigger", isSignal: true, isRequired: true, transformFunction: null }, open: { classPropertyName: "open", publicName: "ngpTooltipTriggerOpen", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpTooltipTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "ngpTooltipTriggerPlacement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "ngpTooltipTriggerOffset", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "ngpTooltipTriggerShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "ngpTooltipTriggerHideDelay", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "ngpTooltipTriggerFlip", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "ngpTooltipTriggerContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "ngpTooltipTriggerOpenChange" }, host: { listeners: { "mouseenter": "open.set(true)", "mouseleave": "open.set(false)", "focus": "open.set(true)", "blur": "open.set(false)" }, properties: { "attr.data-state": "state()", "attr.data-disabled": "disabled()" } }, providers: [{ provide: NgpTooltipTriggerToken, useExisting: NgpTooltipTrigger }], exportAs: ["ngpTooltipTrigger"], ngImport: i0 }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTooltipTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
171
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTooltipTrigger, isStandalone: true, selector: "[ngpTooltipTrigger]", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "ngpTooltipTrigger", isSignal: true, isRequired: true, transformFunction: null }, open: { classPropertyName: "open", publicName: "ngpTooltipTriggerOpen", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpTooltipTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "ngpTooltipTriggerPlacement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "ngpTooltipTriggerOffset", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "ngpTooltipTriggerShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "ngpTooltipTriggerHideDelay", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "ngpTooltipTriggerFlip", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "ngpTooltipTriggerContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "ngpTooltipTriggerOpenChange" }, host: { listeners: { "mouseenter": "open.set(true)", "mouseleave": "open.set(false)", "focus": "open.set(true)", "blur": "open.set(false)" }, properties: { "attr.data-state": "state()", "attr.data-disabled": "disabled()" } }, providers: [{ provide: NgpTooltipTriggerToken, useExisting: NgpTooltipTrigger }], exportAs: ["ngpTooltipTrigger"], ngImport: i0 }); }
172
172
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpTooltipTrigger, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTooltipTrigger, decorators: [{
174
174
  type: Directive,
175
175
  args: [{
176
176
  standalone: true,
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
187
187
  },
188
188
  }]
189
189
  }], ctorParameters: () => [] });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC10cmlnZ2VyL3Rvb2x0aXAtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixRQUFRLEVBR1IsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLFVBQVUsRUFDVixlQUFlLEVBQ2YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFnQnhGLE1BQU0sT0FBTyxpQkFBaUI7SUE0STVCO1FBM0lBOztXQUVHO1FBQ2MsWUFBTyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBRTNEOztXQUVHO1FBQ2MscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFN0Q7O1dBRUc7UUFDYyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDOztXQUVHO1FBQ2MsV0FBTSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFFaEQ7O1dBRUc7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QkFBaUIsRUFBRSxDQUFDOzsyRkFVckUsaUJBQWlCO2tCQWQ3QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFLENBQUM7b0JBQ2hGLElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxTQUFTO3dCQUM5QixzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyxjQUFjLEVBQUUsZ0JBQWdCO3dCQUNoQyxjQUFjLEVBQUUsaUJBQWlCO3dCQUNqQyxTQUFTLEVBQUUsZ0JBQWdCO3dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERvbVBvcnRhbE91dGxldCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1pZGRsZXdhcmUsXG4gIFBsYWNlbWVudCxcbiAgYXV0b1VwZGF0ZSxcbiAgY29tcHV0ZVBvc2l0aW9uLFxuICBmbGlwLFxuICBvZmZzZXQsXG4gIHNoaWZ0LFxufSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IGluamVjdERpc3Bvc2FibGVzIH0gZnJvbSAnbmctcHJpbWl0aXZlcy91dGlscyc7XG5pbXBvcnQgeyBpbmplY3RUb29sdGlwQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3Rvb2x0aXAuY29uZmlnJztcbmltcG9ydCB7IE5ncFRvb2x0aXBUcmlnZ2VyVG9rZW4sIHByb3ZpZGVUb29sdGlwVHJpZ2dlciB9IGZyb20gJy4vdG9vbHRpcC10cmlnZ2VyLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFRvb2x0aXBUcmlnZ2VyXScsXG4gIGV4cG9ydEFzOiAnbmdwVG9vbHRpcFRyaWdnZXInLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncFRvb2x0aXBUcmlnZ2VyVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BUb29sdGlwVHJpZ2dlciB9XSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzdGF0ZSgpJyxcbiAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdvcGVuLnNldCh0cnVlKScsXG4gICAgJyhtb3VzZWxlYXZlKSc6ICdvcGVuLnNldChmYWxzZSknLFxuICAgICcoZm9jdXMpJzogJ29wZW4uc2V0KHRydWUpJyxcbiAgICAnKGJsdXIpJzogJ29wZW4uc2V0KGZhbHNlKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFRvb2x0aXBUcmlnZ2VyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgdHJpZ2dlciBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHRyaWdnZXIgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHZpZXcgY29udGFpbmVyIHJlZi5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBpbmplY3Rvci5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGdsb2JhbCB0b29sdGlwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdFRvb2x0aXBDb25maWcoKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBkaXNwb3NhYmxlIHV0aWxpdGllc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkaXNwb3NhYmxlcyA9IGluamVjdERpc3Bvc2FibGVzKCk7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgdG9vbHRpcCB0ZW1wbGF0ZSByZWYuXG4gICAqL1xuICByZWFkb25seSB0b29sdGlwID0gaW5wdXQucmVxdWlyZWQ8VGVtcGxhdGVSZWY8dm9pZD4+KHtcbiAgICBhbGlhczogJ25ncFRvb2x0aXBUcmlnZ2VyJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBvcGVuIHN0YXRlIG9mIHRoZSB0b29sdGlwLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbiA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICduZ3BUb29sdGlwVHJpZ2dlck9wZW4nLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIGlmIHRoZSB0cmlnZ2VyIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwbGFjZW1lbnQgb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gdGhlIHRyaWdnZXIuXG4gICAqIEBkZWZhdWx0ICd0b3AnXG4gICAqL1xuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxQbGFjZW1lbnQ+KHRoaXMuY29uZmlnLnBsYWNlbWVudCwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJQbGFjZW1lbnQnLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBvZmZzZXQgb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gdGhlIHRyaWdnZXIuXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIHJlYWRvbmx5IG9mZnNldCA9IGlucHV0PG51bWJlciwgTnVtYmVySW5wdXQ+KHRoaXMuY29uZmlnLm9mZnNldCwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJPZmZzZXQnLFxuICAgIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBkZWxheSBiZWZvcmUgdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICByZWFkb25seSBzaG93RGVsYXkgPSBpbnB1dDxudW1iZXIsIE51bWJlcklucHV0Pih0aGlzLmNvbmZpZy5zaG93RGVsYXksIHtcbiAgICBhbGlhczogJ25ncFRvb2x0aXBUcmlnZ2VyU2hvd0RlbGF5JyxcbiAgICB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgZGVsYXkgYmVmb3JlIHRoZSB0b29sdGlwIGlzIGhpZGRlbi5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgcmVhZG9ubHkgaGlkZURlbGF5ID0gaW5wdXQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4odGhpcy5jb25maWcuaGlkZURlbGF5LCB7XG4gICAgYWxpYXM6ICduZ3BUb29sdGlwVHJpZ2dlckhpZGVEZWxheScsXG4gICAgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgd2hldGhlciB0aGUgdG9vbHRpcCBzaG91bGQgZmxpcCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHRoZSB0b29sdGlwLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmbGlwID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0Pih0aGlzLmNvbmZpZy5mbGlwLCB7XG4gICAgYWxpYXM6ICduZ3BUb29sdGlwVHJpZ2dlckZsaXAnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgY29udGFpbmVyIGluIHdoaWNoIHRoZSB0b29sdGlwIHNob3VsZCBiZSBhdHRhY2hlZC5cbiAgICogQGRlZmF1bHQgZG9jdW1lbnQuYm9keVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyID0gaW5wdXQ8SFRNTEVsZW1lbnQ+KHRoaXMuY29uZmlnLmNvbnRhaW5lciwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJDb250YWluZXInLFxuICB9KTtcblxuICAvKipcbiAgICogU3RvcmUgdGhlIHRvb2x0aXAgdmlldyByZWYuXG4gICAqL1xuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx2b2lkPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZXJpdmUgdGhlIHRvb2x0aXAgbWlkZGxld2FyZSBmcm9tIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBtaWRkbGV3YXJlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1pZGRsZXdhcmU6IE1pZGRsZXdhcmVbXSA9IFtvZmZzZXQodGhpcy5vZmZzZXQoKSksIHNoaWZ0KCldO1xuXG4gICAgaWYgKHRoaXMuZmxpcCgpKSB7XG4gICAgICBtaWRkbGV3YXJlLnB1c2goZmxpcCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWlkZGxld2FyZTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHRoZSBjb21wdXRlZCBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBwb3NpdGlvbiA9IHNpZ25hbDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KHtcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTdG9yZSB0aGUgc3RhdGUgb2YgdGhlIHRvb2x0aXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWw8VG9vbHRpcFN0YXRlPignY2xvc2VkJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNwb3NlIGZ1bmN0aW9uIHRvIHN0b3AgY29tcHV0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC5cbiAgICovXG4gIHByaXZhdGUgZGlzcG9zZT86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gYW55IHRpbWUgdGhlIG9wZW4gc3RhdGUgY2hhbmdlcyB0aGVuIHNob3cgb3IgaGlkZSB0aGUgdG9vbHRpcFxuICAgIGVmZmVjdCgoKSA9PiAodGhpcy5vcGVuKCkgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpKSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICAvLyBpZiB0aGUgdHJpZ2dlciBpcyBkaXNhYmxlZCBvciB0aGUgdG9vbHRpcCBpcyBhbHJlYWR5IG9wZW4gdGhlbiBkbyBub3Qgc2hvdyB0aGUgdG9vbHRpcFxuICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5zdGF0ZSgpID09PSAnb3BlbicgfHwgdGhpcy5zdGF0ZSgpID09PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLnNldCgnb3BlbmluZycpO1xuICAgIHRoaXMuZGlzcG9zYWJsZXMuc2V0VGltZW91dCgoKSA9PiB0aGlzLmNyZWF0ZVRvb2x0aXAoKSwgdGhpcy5zaG93RGVsYXkoKSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGUoKTogdm9pZCB7XG4gICAgLy8gaWYgdGhlIHRyaWdnZXIgaXMgZGlzYWJsZWQgb3IgdGhlIHRvb2x0aXAgaXMgYWxyZWFkeSBjbG9zZWQgdGhlbiBkbyBub3QgaGlkZSB0aGUgdG9vbHRpcFxuICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5zdGF0ZSgpID09PSAnY2xvc2VkJyB8fCB0aGlzLnN0YXRlKCkgPT09ICdjbG9zaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUuc2V0KCdjbG9zaW5nJyk7XG4gICAgdGhpcy5kaXNwb3NhYmxlcy5zZXRUaW1lb3V0KCgpID0+IHRoaXMuZGVzdHJveVRvb2x0aXAoKSwgdGhpcy5oaWRlRGVsYXkoKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgdGhpcy50b29sdGlwKCksXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICk7XG5cbiAgICBjb25zdCBkb21PdXRsZXQgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgdGhpcy5jb250YWluZXIoKSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgcHJvdmlkZXJzOiBbcHJvdmlkZVRvb2x0aXBUcmlnZ2VyKHRoaXMpXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLnZpZXdSZWYgPSBkb21PdXRsZXQuYXR0YWNoKHBvcnRhbCk7XG4gICAgdGhpcy52aWV3UmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGNvbnN0IG91dGxldEVsZW1lbnQgPSB0aGlzLnZpZXdSZWYucm9vdE5vZGVzWzBdO1xuXG4gICAgdGhpcy5kaXNwb3NlID0gYXV0b1VwZGF0ZSh0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudCwgb3V0bGV0RWxlbWVudCwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSBhd2FpdCBjb21wdXRlUG9zaXRpb24odGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQsIG91dGxldEVsZW1lbnQsIHtcbiAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCgpLFxuICAgICAgICBtaWRkbGV3YXJlOiB0aGlzLm1pZGRsZXdhcmUoKSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBvc2l0aW9uLnNldCh7IHg6IHBvc2l0aW9uLngsIHk6IHBvc2l0aW9uLnkgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YXRlLnNldCgnb3BlbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95VG9vbHRpcCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnZpZXdSZWYgPSBudWxsO1xuICAgIHRoaXMuZGlzcG9zZT8uKCk7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2Nsb3NlZCcpO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdGF0ZSA9ICdjbG9zZWQnIHwgJ29wZW5pbmcnIHwgJ29wZW4nIHwgJ2Nsb3NpbmcnO1xuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC10cmlnZ2VyL3Rvb2x0aXAtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixRQUFRLEVBR1IsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsVUFBVSxFQUNWLGVBQWUsRUFDZixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFnQnhGLE1BQU0sT0FBTyxpQkFBaUI7SUE0STVCO1FBM0lBOztXQUVHO1FBQ2MsWUFBTyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBRTNEOztXQUVHO1FBQ2MscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFN0Q7O1dBRUc7UUFDYyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDOztXQUVHO1FBQ2MsV0FBTSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFFaEQ7O1dBRUc7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O21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFLENBQUM7b0JBQ2hGLElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxTQUFTO3dCQUM5QixzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyxjQUFjLEVBQUUsZ0JBQWdCO3dCQUNoQyxjQUFjLEVBQUUsaUJBQWlCO3dCQUNqQyxTQUFTLEVBQUUsZ0JBQWdCO3dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERvbVBvcnRhbE91dGxldCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNaWRkbGV3YXJlLFxuICBQbGFjZW1lbnQsXG4gIGF1dG9VcGRhdGUsXG4gIGNvbXB1dGVQb3NpdGlvbixcbiAgZmxpcCxcbiAgb2Zmc2V0LFxuICBzaGlmdCxcbn0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5pbXBvcnQgeyBpbmplY3REaXNwb3NhYmxlcywgb25Cb29sZWFuQ2hhbmdlIH0gZnJvbSAnbmctcHJpbWl0aXZlcy91dGlscyc7XG5pbXBvcnQgeyBpbmplY3RUb29sdGlwQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3Rvb2x0aXAuY29uZmlnJztcbmltcG9ydCB7IE5ncFRvb2x0aXBUcmlnZ2VyVG9rZW4sIHByb3ZpZGVUb29sdGlwVHJpZ2dlciB9IGZyb20gJy4vdG9vbHRpcC10cmlnZ2VyLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFRvb2x0aXBUcmlnZ2VyXScsXG4gIGV4cG9ydEFzOiAnbmdwVG9vbHRpcFRyaWdnZXInLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncFRvb2x0aXBUcmlnZ2VyVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BUb29sdGlwVHJpZ2dlciB9XSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzdGF0ZSgpJyxcbiAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdvcGVuLnNldCh0cnVlKScsXG4gICAgJyhtb3VzZWxlYXZlKSc6ICdvcGVuLnNldChmYWxzZSknLFxuICAgICcoZm9jdXMpJzogJ29wZW4uc2V0KHRydWUpJyxcbiAgICAnKGJsdXIpJzogJ29wZW4uc2V0KGZhbHNlKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFRvb2x0aXBUcmlnZ2VyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgdHJpZ2dlciBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHRyaWdnZXIgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHZpZXcgY29udGFpbmVyIHJlZi5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBpbmplY3Rvci5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGdsb2JhbCB0b29sdGlwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdFRvb2x0aXBDb25maWcoKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBkaXNwb3NhYmxlIHV0aWxpdGllc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkaXNwb3NhYmxlcyA9IGluamVjdERpc3Bvc2FibGVzKCk7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgdG9vbHRpcCB0ZW1wbGF0ZSByZWYuXG4gICAqL1xuICByZWFkb25seSB0b29sdGlwID0gaW5wdXQucmVxdWlyZWQ8VGVtcGxhdGVSZWY8dm9pZD4+KHtcbiAgICBhbGlhczogJ25ncFRvb2x0aXBUcmlnZ2VyJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBvcGVuIHN0YXRlIG9mIHRoZSB0b29sdGlwLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbiA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICduZ3BUb29sdGlwVHJpZ2dlck9wZW4nLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIGlmIHRoZSB0cmlnZ2VyIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwbGFjZW1lbnQgb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gdGhlIHRyaWdnZXIuXG4gICAqIEBkZWZhdWx0ICd0b3AnXG4gICAqL1xuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxQbGFjZW1lbnQ+KHRoaXMuY29uZmlnLnBsYWNlbWVudCwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJQbGFjZW1lbnQnLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBvZmZzZXQgb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gdGhlIHRyaWdnZXIuXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIHJlYWRvbmx5IG9mZnNldCA9IGlucHV0PG51bWJlciwgTnVtYmVySW5wdXQ+KHRoaXMuY29uZmlnLm9mZnNldCwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJPZmZzZXQnLFxuICAgIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBkZWxheSBiZWZvcmUgdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICByZWFkb25seSBzaG93RGVsYXkgPSBpbnB1dDxudW1iZXIsIE51bWJlcklucHV0Pih0aGlzLmNvbmZpZy5zaG93RGVsYXksIHtcbiAgICBhbGlhczogJ25ncFRvb2x0aXBUcmlnZ2VyU2hvd0RlbGF5JyxcbiAgICB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgZGVsYXkgYmVmb3JlIHRoZSB0b29sdGlwIGlzIGhpZGRlbi5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgcmVhZG9ubHkgaGlkZURlbGF5ID0gaW5wdXQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4odGhpcy5jb25maWcuaGlkZURlbGF5LCB7XG4gICAgYWxpYXM6ICduZ3BUb29sdGlwVHJpZ2dlckhpZGVEZWxheScsXG4gICAgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgd2hldGhlciB0aGUgdG9vbHRpcCBzaG91bGQgZmxpcCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHRoZSB0b29sdGlwLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmbGlwID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0Pih0aGlzLmNvbmZpZy5mbGlwLCB7XG4gICAgYWxpYXM6ICduZ3BUb29sdGlwVHJpZ2dlckZsaXAnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgY29udGFpbmVyIGluIHdoaWNoIHRoZSB0b29sdGlwIHNob3VsZCBiZSBhdHRhY2hlZC5cbiAgICogQGRlZmF1bHQgZG9jdW1lbnQuYm9keVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyID0gaW5wdXQ8SFRNTEVsZW1lbnQ+KHRoaXMuY29uZmlnLmNvbnRhaW5lciwge1xuICAgIGFsaWFzOiAnbmdwVG9vbHRpcFRyaWdnZXJDb250YWluZXInLFxuICB9KTtcblxuICAvKipcbiAgICogU3RvcmUgdGhlIHRvb2x0aXAgdmlldyByZWYuXG4gICAqL1xuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx2b2lkPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZXJpdmUgdGhlIHRvb2x0aXAgbWlkZGxld2FyZSBmcm9tIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBtaWRkbGV3YXJlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1pZGRsZXdhcmU6IE1pZGRsZXdhcmVbXSA9IFtvZmZzZXQodGhpcy5vZmZzZXQoKSksIHNoaWZ0KCldO1xuXG4gICAgaWYgKHRoaXMuZmxpcCgpKSB7XG4gICAgICBtaWRkbGV3YXJlLnB1c2goZmxpcCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWlkZGxld2FyZTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHRoZSBjb21wdXRlZCBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBwb3NpdGlvbiA9IHNpZ25hbDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KHtcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTdG9yZSB0aGUgc3RhdGUgb2YgdGhlIHRvb2x0aXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWw8VG9vbHRpcFN0YXRlPignY2xvc2VkJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNwb3NlIGZ1bmN0aW9uIHRvIHN0b3AgY29tcHV0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC5cbiAgICovXG4gIHByaXZhdGUgZGlzcG9zZT86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gYW55IHRpbWUgdGhlIG9wZW4gc3RhdGUgY2hhbmdlcyB0aGVuIHNob3cgb3IgaGlkZSB0aGUgdG9vbHRpcFxuICAgIG9uQm9vbGVhbkNoYW5nZSh0aGlzLm9wZW4sIHRoaXMuc2hvdy5iaW5kKHRoaXMpLCB0aGlzLmhpZGUuYmluZCh0aGlzKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgLy8gaWYgdGhlIHRyaWdnZXIgaXMgZGlzYWJsZWQgb3IgdGhlIHRvb2x0aXAgaXMgYWxyZWFkeSBvcGVuIHRoZW4gZG8gbm90IHNob3cgdGhlIHRvb2x0aXBcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpIHx8IHRoaXMuc3RhdGUoKSA9PT0gJ29wZW4nIHx8IHRoaXMuc3RhdGUoKSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5zZXQoJ29wZW5pbmcnKTtcbiAgICB0aGlzLmRpc3Bvc2FibGVzLnNldFRpbWVvdXQoKCkgPT4gdGhpcy5jcmVhdGVUb29sdGlwKCksIHRoaXMuc2hvd0RlbGF5KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuICAgIC8vIGlmIHRoZSB0cmlnZ2VyIGlzIGRpc2FibGVkIG9yIHRoZSB0b29sdGlwIGlzIGFscmVhZHkgY2xvc2VkIHRoZW4gZG8gbm90IGhpZGUgdGhlIHRvb2x0aXBcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpIHx8IHRoaXMuc3RhdGUoKSA9PT0gJ2Nsb3NlZCcgfHwgdGhpcy5zdGF0ZSgpID09PSAnY2xvc2luZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLnNldCgnY2xvc2luZycpO1xuICAgIHRoaXMuZGlzcG9zYWJsZXMuc2V0VGltZW91dCgoKSA9PiB0aGlzLmRlc3Ryb3lUb29sdGlwKCksIHRoaXMuaGlkZURlbGF5KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUb29sdGlwKCk6IHZvaWQge1xuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgIHRoaXMudG9vbHRpcCgpLFxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICApO1xuXG4gICAgY29uc3QgZG9tT3V0bGV0ID0gbmV3IERvbVBvcnRhbE91dGxldChcbiAgICAgIHRoaXMuY29udGFpbmVyKCksXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVUb29sdGlwVHJpZ2dlcih0aGlzKV0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy52aWV3UmVmID0gZG9tT3V0bGV0LmF0dGFjaChwb3J0YWwpO1xuICAgIHRoaXMudmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBjb25zdCBvdXRsZXRFbGVtZW50ID0gdGhpcy52aWV3UmVmLnJvb3ROb2Rlc1swXTtcblxuICAgIHRoaXMuZGlzcG9zZSA9IGF1dG9VcGRhdGUodGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQsIG91dGxldEVsZW1lbnQsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gYXdhaXQgY29tcHV0ZVBvc2l0aW9uKHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50LCBvdXRsZXRFbGVtZW50LCB7XG4gICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQoKSxcbiAgICAgICAgbWlkZGxld2FyZTogdGhpcy5taWRkbGV3YXJlKCksXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wb3NpdGlvbi5zZXQoeyB4OiBwb3NpdGlvbi54LCB5OiBwb3NpdGlvbi55IH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdGF0ZS5zZXQoJ29wZW4nKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVRvb2x0aXAoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3UmVmID0gbnVsbDtcbiAgICB0aGlzLmRpc3Bvc2U/LigpO1xuICAgIHRoaXMuc3RhdGUuc2V0KCdjbG9zZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBUb29sdGlwU3RhdGUgPSAnY2xvc2VkJyB8ICdvcGVuaW5nJyB8ICdvcGVuJyB8ICdjbG9zaW5nJztcbiJdfQ==