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
@@ -0,0 +1,36 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * A utility service for injecting styles into the document.
4
+ * Angular doesn't allow directives to specify styles, only components.
5
+ * As we ship directives, occasionally we need to associate styles with them.
6
+ * This service allows us to programmatically inject styles into the document.
7
+ */
8
+ export declare class StyleInjector {
9
+ /**
10
+ * Detect the platform.
11
+ */
12
+ private readonly platformId;
13
+ /**
14
+ * Store the map of style elements with their unique identifiers.
15
+ */
16
+ private readonly styleElements;
17
+ constructor();
18
+ /**
19
+ * Inject a style into the document.
20
+ * @param id The unique identifier for the style.
21
+ * @param style The style to inject.
22
+ */
23
+ add(id: string, style: string): void;
24
+ /**
25
+ * Remove a style from the document.
26
+ * @param id The unique identifier for the style.
27
+ */
28
+ remove(id: string): void;
29
+ /**
30
+ * Collect any styles that were rendered by the server.
31
+ */
32
+ private collectServerStyles;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<StyleInjector, never>;
34
+ static ɵprov: i0.ɵɵInjectableDeclaration<StyleInjector>;
35
+ }
36
+ export declare function injectStyleInjector(): StyleInjector;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ng-primitives",
3
- "license": "CC BY-ND 4.0",
4
- "version": "0.0.7",
3
+ "license": "Apache-2.0",
4
+ "version": "0.2.0",
5
5
  "peerDependencies": {
6
6
  "@angular/core": ">=18.0.0",
7
7
  "@angular/cdk": ">=18.0.0",
@@ -41,11 +41,11 @@
41
41
  "esm": "./esm2022/accordion/ng-primitives-accordion.mjs",
42
42
  "default": "./fesm2022/ng-primitives-accordion.mjs"
43
43
  },
44
- "./avatar": {
45
- "types": "./avatar/index.d.ts",
46
- "esm2022": "./esm2022/avatar/ng-primitives-avatar.mjs",
47
- "esm": "./esm2022/avatar/ng-primitives-avatar.mjs",
48
- "default": "./fesm2022/ng-primitives-avatar.mjs"
44
+ "./button": {
45
+ "types": "./button/index.d.ts",
46
+ "esm2022": "./esm2022/button/ng-primitives-button.mjs",
47
+ "esm": "./esm2022/button/ng-primitives-button.mjs",
48
+ "default": "./fesm2022/ng-primitives-button.mjs"
49
49
  },
50
50
  "./checkbox": {
51
51
  "types": "./checkbox/index.d.ts",
@@ -59,12 +59,36 @@
59
59
  "esm": "./esm2022/file-upload/ng-primitives-file-upload.mjs",
60
60
  "default": "./fesm2022/ng-primitives-file-upload.mjs"
61
61
  },
62
+ "./avatar": {
63
+ "types": "./avatar/index.d.ts",
64
+ "esm2022": "./esm2022/avatar/ng-primitives-avatar.mjs",
65
+ "esm": "./esm2022/avatar/ng-primitives-avatar.mjs",
66
+ "default": "./fesm2022/ng-primitives-avatar.mjs"
67
+ },
68
+ "./autofill": {
69
+ "types": "./autofill/index.d.ts",
70
+ "esm2022": "./esm2022/autofill/ng-primitives-autofill.mjs",
71
+ "esm": "./esm2022/autofill/ng-primitives-autofill.mjs",
72
+ "default": "./fesm2022/ng-primitives-autofill.mjs"
73
+ },
74
+ "./focus-trap": {
75
+ "types": "./focus-trap/index.d.ts",
76
+ "esm2022": "./esm2022/focus-trap/ng-primitives-focus-trap.mjs",
77
+ "esm": "./esm2022/focus-trap/ng-primitives-focus-trap.mjs",
78
+ "default": "./fesm2022/ng-primitives-focus-trap.mjs"
79
+ },
62
80
  "./form-field": {
63
81
  "types": "./form-field/index.d.ts",
64
82
  "esm2022": "./esm2022/form-field/ng-primitives-form-field.mjs",
65
83
  "esm": "./esm2022/form-field/ng-primitives-form-field.mjs",
66
84
  "default": "./fesm2022/ng-primitives-form-field.mjs"
67
85
  },
86
+ "./input": {
87
+ "types": "./input/index.d.ts",
88
+ "esm2022": "./esm2022/input/ng-primitives-input.mjs",
89
+ "esm": "./esm2022/input/ng-primitives-input.mjs",
90
+ "default": "./fesm2022/ng-primitives-input.mjs"
91
+ },
68
92
  "./interactions": {
69
93
  "types": "./interactions/index.d.ts",
70
94
  "esm2022": "./esm2022/interactions/ng-primitives-interactions.mjs",
@@ -83,6 +107,12 @@
83
107
  "esm": "./esm2022/radio/ng-primitives-radio.mjs",
84
108
  "default": "./fesm2022/ng-primitives-radio.mjs"
85
109
  },
110
+ "./internal": {
111
+ "types": "./internal/index.d.ts",
112
+ "esm2022": "./esm2022/internal/ng-primitives-internal.mjs",
113
+ "esm": "./esm2022/internal/ng-primitives-internal.mjs",
114
+ "default": "./fesm2022/ng-primitives-internal.mjs"
115
+ },
86
116
  "./resize": {
87
117
  "types": "./resize/index.d.ts",
88
118
  "esm2022": "./esm2022/resize/ng-primitives-resize.mjs",
@@ -95,6 +125,12 @@
95
125
  "esm": "./esm2022/roving-focus/ng-primitives-roving-focus.mjs",
96
126
  "default": "./fesm2022/ng-primitives-roving-focus.mjs"
97
127
  },
128
+ "./search": {
129
+ "types": "./search/index.d.ts",
130
+ "esm2022": "./esm2022/search/ng-primitives-search.mjs",
131
+ "esm": "./esm2022/search/ng-primitives-search.mjs",
132
+ "default": "./fesm2022/ng-primitives-search.mjs"
133
+ },
98
134
  "./select": {
99
135
  "types": "./select/index.d.ts",
100
136
  "esm2022": "./esm2022/select/ng-primitives-select.mjs",
@@ -119,6 +155,12 @@
119
155
  "esm": "./esm2022/tabs/ng-primitives-tabs.mjs",
120
156
  "default": "./fesm2022/ng-primitives-tabs.mjs"
121
157
  },
158
+ "./textarea": {
159
+ "types": "./textarea/index.d.ts",
160
+ "esm2022": "./esm2022/textarea/ng-primitives-textarea.mjs",
161
+ "esm": "./esm2022/textarea/ng-primitives-textarea.mjs",
162
+ "default": "./fesm2022/ng-primitives-textarea.mjs"
163
+ },
122
164
  "./toggle": {
123
165
  "types": "./toggle/index.d.ts",
124
166
  "esm2022": "./esm2022/toggle/ng-primitives-toggle.mjs",
@@ -6,10 +6,11 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
- import { ControlValueAccessor } from '@angular/forms';
9
+ import { NgpCanDisable } from 'ng-primitives/internal';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "ng-primitives/roving-focus";
12
- export declare class NgpRadioGroup implements ControlValueAccessor {
12
+ import * as i2 from "ng-primitives/form-field";
13
+ export declare class NgpRadioGroup implements NgpCanDisable {
13
14
  /**
14
15
  * The value of the radio group.
15
16
  */
@@ -18,54 +19,16 @@ export declare class NgpRadioGroup implements ControlValueAccessor {
18
19
  * Whether the radio group is disabled.
19
20
  */
20
21
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
21
- /**
22
- * Whether the radio group is disabled via the form.
23
- */
24
- readonly formDisabled: import("@angular/core").WritableSignal<boolean>;
25
22
  /**
26
23
  * The orientation of the radio group.
27
24
  * @default 'horizontal'
28
25
  */
29
26
  readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
30
- /**
31
- * The callback function to call when the value of the radio group changes.
32
- * @internal
33
- */
34
- private onChange?;
35
- /**
36
- * The callback function to call when the radio group is touched.
37
- * @internal
38
- */
39
- private onTouched?;
40
27
  /**
41
28
  * Select a radio item.
42
29
  * @param value The value of the radio item to select.
43
30
  */
44
31
  select(value: string): void;
45
- /**
46
- * Update the value of the radio group.
47
- * @param value The new value of the radio group.
48
- * @internal
49
- */
50
- writeValue(value: string): void;
51
- /**
52
- * Register a callback function to call when the value of the radio group changes.
53
- * @param fn The callback function to call when the value of the radio group changes.
54
- * @internal
55
- */
56
- registerOnChange(fn: (value: string) => void): void;
57
- registerOnTouched(fn: () => void): void;
58
- /**
59
- * Set the disabled state of the radio group.
60
- * @param isDisabled Whether the radio group is disabled.
61
- * @internal
62
- */
63
- setDisabledState(isDisabled: boolean): void;
64
- /**
65
- * When focus leaves the radio group, mark it as touched.
66
- * @internal
67
- */
68
- protected onFocusout(): void;
69
32
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpRadioGroup, never>;
70
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpRadioGroup, "[ngpRadioGroup]", never, { "value": { "alias": "ngpRadioGroupValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpRadioGroupDisabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "ngpRadioGroupOrientation"; "required": false; "isSignal": true; }; }, { "value": "ngpRadioGroupValueChange"; }, never, never, true, [{ directive: typeof i1.NgpRovingFocusGroup; inputs: {}; outputs: {}; }]>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpRadioGroup, "[ngpRadioGroup]", never, { "value": { "alias": "ngpRadioGroupValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpRadioGroupDisabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "ngpRadioGroupOrientation"; "required": false; "isSignal": true; }; }, { "value": "ngpRadioGroupValueChange"; }, never, never, true, [{ directive: typeof i1.NgpRovingFocusGroup; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFormControl; inputs: {}; outputs: {}; }]>;
71
34
  }
@@ -1,4 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
+ import * as i1 from "ng-primitives/interactions";
2
3
  export declare class NgpRadioIndicator {
3
4
  /**
4
5
  * Access the radio group.
@@ -13,5 +14,5 @@ export declare class NgpRadioIndicator {
13
14
  */
14
15
  readonly checked: import("@angular/core").Signal<boolean>;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpRadioIndicator, never>;
16
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpRadioIndicator, "[ngpRadioIndicator]", never, {}, {}, never, never, true, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpRadioIndicator, "[ngpRadioIndicator]", never, {}, {}, never, never, true, [{ directive: typeof i1.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i1.NgpPress; inputs: {}; outputs: {}; }]>;
17
18
  }
@@ -8,6 +8,7 @@
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "ng-primitives/roving-focus";
11
+ import * as i2 from "ng-primitives/interactions";
11
12
  export declare class NgpRadioItem {
12
13
  /**
13
14
  * Access the radio group.
@@ -37,5 +38,5 @@ export declare class NgpRadioItem {
37
38
  */
38
39
  protected onClick(): void;
39
40
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpRadioItem, never>;
40
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpRadioItem, "[ngpRadioItem]", never, { "value": { "alias": "ngpRadioItemValue"; "required": true; "isSignal": true; }; "disabled": { "alias": "ngpRadioItemDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpRovingFocusItem; inputs: {}; outputs: {}; }]>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpRadioItem, "[ngpRadioItem]", never, { "value": { "alias": "ngpRadioItemValue"; "required": true; "isSignal": true; }; "disabled": { "alias": "ngpRadioItemDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpRovingFocusItem; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocusVisible; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }]>;
41
42
  }
@@ -7,9 +7,10 @@
7
7
  */
8
8
  import { FocusOrigin } from '@angular/cdk/a11y';
9
9
  import { BooleanInput } from '@angular/cdk/coercion';
10
+ import { NgpCanOrientate, NgpOrientation } from 'ng-primitives/internal';
10
11
  import { NgpRovingFocusItem } from '../roving-focus-item/roving-focus-item.directive';
11
12
  import * as i0 from "@angular/core";
12
- export declare class NgpRovingFocusGroup {
13
+ export declare class NgpRovingFocusGroup implements NgpCanOrientate {
13
14
  /**
14
15
  * Access the directionality service.
15
16
  */
@@ -18,7 +19,11 @@ export declare class NgpRovingFocusGroup {
18
19
  * Determine the orientation of the roving focus group.
19
20
  * @default 'vertical'
20
21
  */
21
- readonly orientation: import("@angular/core").ModelSignal<"horizontal" | "vertical">;
22
+ readonly orientation: import("@angular/core").ModelSignal<NgpOrientation>;
23
+ /**
24
+ * Determine the orientation of the roving focus group.
25
+ */
26
+ readonly groupOrientation: import("@angular/core").Signal<NgpOrientation>;
22
27
  /**
23
28
  * Determine if focus should wrap when the end or beginning is reached.
24
29
  */
@@ -0,0 +1,3 @@
1
+ # ng-primitives/search
2
+
3
+ Secondary entry point of `ng-primitives`. It can be used by importing from `ng-primitives/search`.
@@ -0,0 +1,9 @@
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 { NgpSearchField } from './search-field/search-field.directive';
9
+ export { NgpSearchFieldToken } from './search-field/search-field.token';
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "ng-primitives/form-field";
3
+ export declare class NgpSearchField {
4
+ /**
5
+ * Access the child input field.
6
+ */
7
+ protected readonly input: import("@angular/core").Signal<import("ng-primitives/input").NgpInput>;
8
+ /**
9
+ * Whether the input field is empty.
10
+ */
11
+ protected readonly empty: import("@angular/core").Signal<boolean>;
12
+ protected clear(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgpSearchField, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSearchField, "[ngpSearchField]", ["ngpSearchField"], {}, {}, ["input"], never, true, [{ directive: typeof i1.NgpFormField; inputs: {}; outputs: {}; }]>;
15
+ }
@@ -0,0 +1,14 @@
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 } from '@angular/core';
9
+ import type { NgpSearchField } from './search-field.directive';
10
+ export declare const NgpSearchFieldToken: InjectionToken<NgpSearchField>;
11
+ /**
12
+ * Inject the SearchField directive instance
13
+ */
14
+ export declare function injectSearchField(): NgpSearchField;
package/select/index.d.ts CHANGED
@@ -5,11 +5,5 @@
5
5
  * This source code is licensed under the CC BY-ND 4.0 license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
- export { NgpSelectButton } from './select-button/select-button.directive';
9
- export { NgpSelectButtonToken } from './select-button/select-button.token';
10
- export { NgpSelectOption } from './select-option/select-option.directive';
11
- export { NgpSelectOptionToken } from './select-option/select-option.token';
12
- export { NgpSelectOptions } from './select-options/select-options.directive';
13
- export { NgpSelectOptionsToken } from './select-options/select-options.token';
14
8
  export { NgpSelect } from './select/select.directive';
15
9
  export { NgpSelectToken } from './select/select.token';
@@ -6,30 +6,15 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
+ import { NgpCanDisable } from 'ng-primitives/internal';
9
10
  import * as i0 from "@angular/core";
10
- export declare class NgpSelect<T> {
11
+ import * as i1 from "ng-primitives/form-field";
12
+ import * as i2 from "ng-primitives/interactions";
13
+ export declare class NgpSelect implements NgpCanDisable {
11
14
  /**
12
- * The selected value.
13
- */
14
- readonly value: import("@angular/core").ModelSignal<T>;
15
- /**
16
- * Whether the select dropdown is open.
17
- */
18
- readonly open: import("@angular/core").ModelSignal<boolean>;
19
- /**
20
- * Disable the select component.
15
+ * Whether the select is disabled.
21
16
  */
22
17
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
23
- /**
24
- * Access the select button instance.
25
- * @internal
26
- */
27
- readonly button: import("@angular/core").Signal<import("ng-primitives/select").NgpSelectButton>;
28
- /**
29
- * Access the select options instance.
30
- * @internal
31
- */
32
- readonly options: import("@angular/core").Signal<import("ng-primitives/select").NgpSelectOptions<unknown>>;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<NgpSelect<any>, never>;
34
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSelect<any>, "[ngpSelect]", ["ngpSelect"], { "value": { "alias": "ngpSelectValue"; "required": true; "isSignal": true; }; "open": { "alias": "ngpSelectOpen"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpSelectDisabled"; "required": false; "isSignal": true; }; }, { "value": "ngpSelectValueChange"; "open": "ngpSelectOpenChange"; }, ["button", "options"], never, true, never>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgpSelect, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSelect, "select[ngpSelect]", ["ngpSelect"], { "disabled": { "alias": "ngpSelectDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpFormControl; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocusVisible; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }]>;
35
20
  }
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import { InjectionToken } from '@angular/core';
9
9
  import type { NgpSelect } from './select.directive';
10
- export declare const NgpSelectToken: InjectionToken<NgpSelect<unknown>>;
10
+ export declare const NgpSelectToken: InjectionToken<NgpSelect>;
11
11
  /**
12
12
  * Inject the Select directive instance
13
13
  */
14
- export declare function injectSelect<T>(): NgpSelect<T>;
14
+ export declare function injectSelect(): NgpSelect;
@@ -6,8 +6,10 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
9
+ import { NgpCanDisable } from 'ng-primitives/internal';
9
10
  import * as i0 from "@angular/core";
10
- export declare class NgpSlider {
11
+ import * as i1 from "ng-primitives/form-field";
12
+ export declare class NgpSlider implements NgpCanDisable {
11
13
  /**
12
14
  * The value of the slider.
13
15
  */
@@ -41,5 +43,5 @@ export declare class NgpSlider {
41
43
  */
42
44
  protected readonly percentage: import("@angular/core").Signal<number>;
43
45
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpSlider, never>;
44
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSlider, "[ngpSlider]", ["ngpSlider"], { "value": { "alias": "ngpSliderValue"; "required": false; "isSignal": true; }; "min": { "alias": "ngpSliderMin"; "required": false; "isSignal": true; }; "max": { "alias": "ngpSliderMax"; "required": false; "isSignal": true; }; "step": { "alias": "ngpSliderStep"; "required": false; "isSignal": true; }; "orientation": { "alias": "ngpSliderOrientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpSliderDisabled"; "required": false; "isSignal": true; }; }, { "value": "ngpSliderValueChange"; }, ["track"], never, true, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSlider, "[ngpSlider]", ["ngpSlider"], { "value": { "alias": "ngpSliderValue"; "required": false; "isSignal": true; }; "min": { "alias": "ngpSliderMin"; "required": false; "isSignal": true; }; "max": { "alias": "ngpSliderMax"; "required": false; "isSignal": true; }; "step": { "alias": "ngpSliderStep"; "required": false; "isSignal": true; }; "orientation": { "alias": "ngpSliderOrientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpSliderDisabled"; "required": false; "isSignal": true; }; }, { "value": "ngpSliderValueChange"; }, ["track"], never, true, [{ directive: typeof i1.NgpFormControl; inputs: {}; outputs: {}; }]>;
45
47
  }
@@ -1,4 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
+ import * as i1 from "ng-primitives/interactions";
2
3
  export declare class NgpSliderThumb {
3
4
  /**
4
5
  * Access the slider.
@@ -17,5 +18,5 @@ export declare class NgpSliderThumb {
17
18
  */
18
19
  protected handleKeydown(event: KeyboardEvent): void;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpSliderThumb, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSliderThumb, "[ngpSliderThumb]", ["ngpSliderThumb"], {}, {}, never, never, true, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSliderThumb, "[ngpSliderThumb]", ["ngpSliderThumb"], {}, {}, never, never, true, [{ directive: typeof i1.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i1.NgpFocusVisible; inputs: {}; outputs: {}; }, { directive: typeof i1.NgpPress; inputs: {}; outputs: {}; }]>;
21
22
  }
@@ -11,7 +11,7 @@ export declare class NgpSliderTrack {
11
11
  /**
12
12
  * Access the slider.
13
13
  */
14
- private readonly slider;
14
+ protected readonly slider: import("ng-primitives/slider").NgpSlider;
15
15
  /**
16
16
  * The element that represents the slider track.
17
17
  */
@@ -6,9 +6,11 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
- import { ControlValueAccessor } from '@angular/forms';
9
+ import { NgpCanDisable } from 'ng-primitives/internal';
10
10
  import * as i0 from "@angular/core";
11
- export declare class NgpSwitch implements ControlValueAccessor {
11
+ import * as i1 from "ng-primitives/form-field";
12
+ import * as i2 from "ng-primitives/interactions";
13
+ export declare class NgpSwitch implements NgpCanDisable {
12
14
  /**
13
15
  * Access the element ref.
14
16
  */
@@ -27,48 +29,6 @@ export declare class NgpSwitch implements ControlValueAccessor {
27
29
  * @default false
28
30
  */
29
31
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
30
- /**
31
- * Store the form disabled state.
32
- * @internal
33
- */
34
- readonly formDisabled: import("@angular/core").WritableSignal<boolean>;
35
- /**
36
- * Derive the disabled state based on the input and form disabled state.
37
- * @internal
38
- */
39
- readonly disabledState: import("@angular/core").Signal<boolean>;
40
- /**
41
- * Store the onChange callback.
42
- */
43
- private onChange?;
44
- /**
45
- * Store the onTouched callback.
46
- */
47
- protected onTouched?: () => void;
48
- /**
49
- * Register the onChange callback.
50
- * @param fn The onChange callback.
51
- * @internal
52
- */
53
- registerOnChange(fn: (checked: boolean) => void): void;
54
- /**
55
- * Register the onTouched callback.
56
- * @param fn The onTouched callback.
57
- * @internal
58
- */
59
- registerOnTouched(fn: () => void): void;
60
- /**
61
- * Write the value to the checked state.
62
- * @param checked The checked state.
63
- * @internal
64
- */
65
- writeValue(checked: boolean): void;
66
- /**
67
- * Set the disabled state.
68
- * @param isDisabled The disabled state.
69
- * @internal
70
- */
71
- setDisabledState(isDisabled: boolean): void;
72
32
  /**
73
33
  * Toggle the checked state.
74
34
  */
@@ -78,5 +38,5 @@ export declare class NgpSwitch implements ControlValueAccessor {
78
38
  */
79
39
  protected onKeyDown(): void;
80
40
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpSwitch, never>;
81
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSwitch, "[ngpSwitch]", ["ngpSwitch"], { "checked": { "alias": "ngpSwitchChecked"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpSwitchDisabled"; "required": false; "isSignal": true; }; }, { "checked": "ngpSwitchCheckedChange"; }, never, never, true, never>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSwitch, "[ngpSwitch]", ["ngpSwitch"], { "checked": { "alias": "ngpSwitchChecked"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpSwitchDisabled"; "required": false; "isSignal": true; }; }, { "checked": "ngpSwitchCheckedChange"; }, never, never, true, [{ directive: typeof i1.NgpFormControl; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocusVisible; inputs: {}; outputs: {}; }]>;
82
42
  }
@@ -1,9 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
+ import * as i1 from "ng-primitives/interactions";
2
3
  export declare class NgpSwitchThumb {
3
4
  /**
4
5
  * Access the switch directive.
5
6
  */
6
7
  protected readonly switch: import("ng-primitives/switch").NgpSwitch;
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpSwitchThumb, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSwitchThumb, "[ngpSwitchThumb]", never, {}, {}, never, never, true, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSwitchThumb, "[ngpSwitchThumb]", never, {}, {}, never, never, true, [{ directive: typeof i1.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i1.NgpFocusVisible; inputs: {}; outputs: {}; }, { directive: typeof i1.NgpPress; inputs: {}; outputs: {}; }]>;
9
10
  }
@@ -8,6 +8,7 @@
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "ng-primitives/roving-focus";
11
+ import * as i2 from "ng-primitives/interactions";
11
12
  export declare class NgpTabButton {
12
13
  /**
13
14
  * Access the tabset
@@ -50,5 +51,5 @@ export declare class NgpTabButton {
50
51
  */
51
52
  protected activateOnFocus(): void;
52
53
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpTabButton, never>;
53
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpTabButton, "[ngpTabButton]", ["ngpTabButton"], { "value": { "alias": "ngpTabButtonValue"; "required": true; "isSignal": true; }; "disabled": { "alias": "ngpTabButtonDisabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpRovingFocusItem; inputs: {}; outputs: {}; }]>;
54
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpTabButton, "[ngpTabButton]", ["ngpTabButton"], { "value": { "alias": "ngpTabButtonValue"; "required": true; "isSignal": true; }; "disabled": { "alias": "ngpTabButtonDisabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpRovingFocusItem; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocusVisible; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }]>;
54
55
  }
@@ -6,18 +6,14 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
- import { OnChanges, SimpleChanges } from '@angular/core';
9
+ import { NgpCanOrientate, NgpOrientation } from 'ng-primitives/internal';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "ng-primitives/roving-focus";
12
- export declare class NgpTabset implements OnChanges {
12
+ export declare class NgpTabset implements NgpCanOrientate {
13
13
  /**
14
14
  * Access the global tabset configuration
15
15
  */
16
16
  private readonly config;
17
- /**
18
- * Access the roving focus group directive
19
- */
20
- private readonly rovingFocusGroup;
21
17
  /**
22
18
  * Define the id for the tabset
23
19
  */
@@ -30,7 +26,7 @@ export declare class NgpTabset implements OnChanges {
30
26
  * The orientation of the tabset
31
27
  * @default 'horizontal'
32
28
  */
33
- readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
29
+ readonly orientation: import("@angular/core").InputSignal<NgpOrientation>;
34
30
  /**
35
31
  * Whether tabs should activate on focus
36
32
  */
@@ -43,8 +39,6 @@ export declare class NgpTabset implements OnChanges {
43
39
  * Get the id of the selected tab
44
40
  */
45
41
  readonly selectedTab: import("@angular/core").Signal<string | null>;
46
- constructor();
47
- ngOnChanges(changes: SimpleChanges): void;
48
42
  /**
49
43
  * Select a tab by its value
50
44
  * @param value The value of the tab to select
@@ -0,0 +1,3 @@
1
+ # ng-primitives/textarea
2
+
3
+ Secondary entry point of `ng-primitives`. It can be used by importing from `ng-primitives/textarea`.
@@ -0,0 +1,9 @@
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';
@@ -0,0 +1,20 @@
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 { BooleanInput } from '@angular/cdk/coercion';
9
+ import { NgpCanDisable } from 'ng-primitives/internal';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "ng-primitives/form-field";
12
+ import * as i2 from "ng-primitives/interactions";
13
+ export declare class NgpTextarea implements NgpCanDisable {
14
+ /**
15
+ * Whether the element is disabled.
16
+ */
17
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgpTextarea, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpTextarea, "[ngpTextarea]", ["ngpTextarea"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpFormControl; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocus; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }]>;
20
+ }
@@ -0,0 +1,14 @@
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 } from '@angular/core';
9
+ import type { NgpTextarea } from './textarea.directive';
10
+ export declare const NgpTextareaToken: InjectionToken<NgpTextarea>;
11
+ /**
12
+ * Inject the Textarea directive instance
13
+ */
14
+ export declare function injectTextarea(): NgpTextarea;