@star-ng/ui 0.0.0-stage → 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 (217) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +162 -2
  3. package/fesm2022/star-ng-ui-accordion.mjs +376 -0
  4. package/fesm2022/star-ng-ui-accordion.mjs.map +1 -0
  5. package/fesm2022/star-ng-ui-autocomplete.mjs +786 -0
  6. package/fesm2022/star-ng-ui-autocomplete.mjs.map +1 -0
  7. package/fesm2022/star-ng-ui-avatar.mjs +154 -0
  8. package/fesm2022/star-ng-ui-avatar.mjs.map +1 -0
  9. package/fesm2022/star-ng-ui-badge.mjs +153 -0
  10. package/fesm2022/star-ng-ui-badge.mjs.map +1 -0
  11. package/fesm2022/star-ng-ui-breadcrumb.mjs +199 -0
  12. package/fesm2022/star-ng-ui-breadcrumb.mjs.map +1 -0
  13. package/fesm2022/star-ng-ui-button.mjs +282 -0
  14. package/fesm2022/star-ng-ui-button.mjs.map +1 -0
  15. package/fesm2022/star-ng-ui-card.mjs +112 -0
  16. package/fesm2022/star-ng-ui-card.mjs.map +1 -0
  17. package/fesm2022/star-ng-ui-chart.mjs +1904 -0
  18. package/fesm2022/star-ng-ui-chart.mjs.map +1 -0
  19. package/fesm2022/star-ng-ui-checkbox.mjs +345 -0
  20. package/fesm2022/star-ng-ui-checkbox.mjs.map +1 -0
  21. package/fesm2022/star-ng-ui-core.mjs +484 -0
  22. package/fesm2022/star-ng-ui-core.mjs.map +1 -0
  23. package/fesm2022/star-ng-ui-data-display.mjs +1870 -0
  24. package/fesm2022/star-ng-ui-data-display.mjs.map +1 -0
  25. package/fesm2022/star-ng-ui-date-picker.mjs +2786 -0
  26. package/fesm2022/star-ng-ui-date-picker.mjs.map +1 -0
  27. package/fesm2022/star-ng-ui-dialog.mjs +948 -0
  28. package/fesm2022/star-ng-ui-dialog.mjs.map +1 -0
  29. package/fesm2022/star-ng-ui-drawer.mjs +158 -0
  30. package/fesm2022/star-ng-ui-drawer.mjs.map +1 -0
  31. package/fesm2022/star-ng-ui-editor.mjs +416 -0
  32. package/fesm2022/star-ng-ui-editor.mjs.map +1 -0
  33. package/fesm2022/star-ng-ui-field.mjs +378 -0
  34. package/fesm2022/star-ng-ui-field.mjs.map +1 -0
  35. package/fesm2022/star-ng-ui-file-upload.mjs +762 -0
  36. package/fesm2022/star-ng-ui-file-upload.mjs.map +1 -0
  37. package/fesm2022/star-ng-ui-i18n-de.mjs +179 -0
  38. package/fesm2022/star-ng-ui-i18n-de.mjs.map +1 -0
  39. package/fesm2022/star-ng-ui-i18n-es.mjs +179 -0
  40. package/fesm2022/star-ng-ui-i18n-es.mjs.map +1 -0
  41. package/fesm2022/star-ng-ui-input-group.mjs +188 -0
  42. package/fesm2022/star-ng-ui-input-group.mjs.map +1 -0
  43. package/fesm2022/star-ng-ui-input-mask.mjs +434 -0
  44. package/fesm2022/star-ng-ui-input-mask.mjs.map +1 -0
  45. package/fesm2022/star-ng-ui-input-number.mjs +691 -0
  46. package/fesm2022/star-ng-ui-input-number.mjs.map +1 -0
  47. package/fesm2022/star-ng-ui-input-otp.mjs +343 -0
  48. package/fesm2022/star-ng-ui-input-otp.mjs.map +1 -0
  49. package/fesm2022/star-ng-ui-input-tags.mjs +616 -0
  50. package/fesm2022/star-ng-ui-input-tags.mjs.map +1 -0
  51. package/fesm2022/star-ng-ui-knob.mjs +514 -0
  52. package/fesm2022/star-ng-ui-knob.mjs.map +1 -0
  53. package/fesm2022/star-ng-ui-layout.mjs +608 -0
  54. package/fesm2022/star-ng-ui-layout.mjs.map +1 -0
  55. package/fesm2022/star-ng-ui-listbox.mjs +886 -0
  56. package/fesm2022/star-ng-ui-listbox.mjs.map +1 -0
  57. package/fesm2022/star-ng-ui-media.mjs +833 -0
  58. package/fesm2022/star-ng-ui-media.mjs.map +1 -0
  59. package/fesm2022/star-ng-ui-menu.mjs +1840 -0
  60. package/fesm2022/star-ng-ui-menu.mjs.map +1 -0
  61. package/fesm2022/star-ng-ui-message.mjs +191 -0
  62. package/fesm2022/star-ng-ui-message.mjs.map +1 -0
  63. package/fesm2022/star-ng-ui-paginator.mjs +387 -0
  64. package/fesm2022/star-ng-ui-paginator.mjs.map +1 -0
  65. package/fesm2022/star-ng-ui-panel.mjs +324 -0
  66. package/fesm2022/star-ng-ui-panel.mjs.map +1 -0
  67. package/fesm2022/star-ng-ui-password.mjs +517 -0
  68. package/fesm2022/star-ng-ui-password.mjs.map +1 -0
  69. package/fesm2022/star-ng-ui-popover.mjs +241 -0
  70. package/fesm2022/star-ng-ui-popover.mjs.map +1 -0
  71. package/fesm2022/star-ng-ui-progress-bar.mjs +183 -0
  72. package/fesm2022/star-ng-ui-progress-bar.mjs.map +1 -0
  73. package/fesm2022/star-ng-ui-radio.mjs +411 -0
  74. package/fesm2022/star-ng-ui-radio.mjs.map +1 -0
  75. package/fesm2022/star-ng-ui-rating.mjs +211 -0
  76. package/fesm2022/star-ng-ui-rating.mjs.map +1 -0
  77. package/fesm2022/star-ng-ui-select-button.mjs +613 -0
  78. package/fesm2022/star-ng-ui-select-button.mjs.map +1 -0
  79. package/fesm2022/star-ng-ui-select.mjs +2547 -0
  80. package/fesm2022/star-ng-ui-select.mjs.map +1 -0
  81. package/fesm2022/star-ng-ui-skeleton.mjs +160 -0
  82. package/fesm2022/star-ng-ui-skeleton.mjs.map +1 -0
  83. package/fesm2022/star-ng-ui-slider.mjs +552 -0
  84. package/fesm2022/star-ng-ui-slider.mjs.map +1 -0
  85. package/fesm2022/star-ng-ui-spinner.mjs +148 -0
  86. package/fesm2022/star-ng-ui-spinner.mjs.map +1 -0
  87. package/fesm2022/star-ng-ui-stepper.mjs +360 -0
  88. package/fesm2022/star-ng-ui-stepper.mjs.map +1 -0
  89. package/fesm2022/star-ng-ui-table.mjs +3531 -0
  90. package/fesm2022/star-ng-ui-table.mjs.map +1 -0
  91. package/fesm2022/star-ng-ui-tabs.mjs +464 -0
  92. package/fesm2022/star-ng-ui-tabs.mjs.map +1 -0
  93. package/fesm2022/star-ng-ui-tag.mjs +129 -0
  94. package/fesm2022/star-ng-ui-tag.mjs.map +1 -0
  95. package/fesm2022/star-ng-ui-theme-switch.mjs +105 -0
  96. package/fesm2022/star-ng-ui-theme-switch.mjs.map +1 -0
  97. package/fesm2022/star-ng-ui-theme.mjs +98 -0
  98. package/fesm2022/star-ng-ui-theme.mjs.map +1 -0
  99. package/fesm2022/star-ng-ui-toast.mjs +298 -0
  100. package/fesm2022/star-ng-ui-toast.mjs.map +1 -0
  101. package/fesm2022/star-ng-ui-toggle-switch.mjs +316 -0
  102. package/fesm2022/star-ng-ui-toggle-switch.mjs.map +1 -0
  103. package/fesm2022/star-ng-ui-tooltip.mjs +297 -0
  104. package/fesm2022/star-ng-ui-tooltip.mjs.map +1 -0
  105. package/fesm2022/star-ng-ui-transloco.mjs +40 -0
  106. package/fesm2022/star-ng-ui-transloco.mjs.map +1 -0
  107. package/fesm2022/star-ng-ui-tree.mjs +1446 -0
  108. package/fesm2022/star-ng-ui-tree.mjs.map +1 -0
  109. package/fesm2022/star-ng-ui-utility.mjs +2134 -0
  110. package/fesm2022/star-ng-ui-utility.mjs.map +1 -0
  111. package/fesm2022/star-ng-ui.mjs +51 -0
  112. package/package.json +285 -3
  113. package/styles/_base.scss +70 -0
  114. package/styles/_shared.scss +2 -0
  115. package/styles/_tokens.scss +190 -0
  116. package/styles/controls/_accordion.scss +75 -0
  117. package/styles/controls/_autocomplete.scss +44 -0
  118. package/styles/controls/_avatar.scss +39 -0
  119. package/styles/controls/_breadcrumb.scss +45 -0
  120. package/styles/controls/_button.scss +137 -0
  121. package/styles/controls/_card.scss +38 -0
  122. package/styles/controls/_chart.scss +214 -0
  123. package/styles/controls/_chip.scss +51 -0
  124. package/styles/controls/_choice.scss +153 -0
  125. package/styles/controls/_data-display.scss +124 -0
  126. package/styles/controls/_date-picker.scss +300 -0
  127. package/styles/controls/_dialog.scss +123 -0
  128. package/styles/controls/_drawer.scss +118 -0
  129. package/styles/controls/_editor.scss +74 -0
  130. package/styles/controls/_field.scss +92 -0
  131. package/styles/controls/_file-upload.scss +136 -0
  132. package/styles/controls/_input-group.scss +104 -0
  133. package/styles/controls/_input-mask.scss +46 -0
  134. package/styles/controls/_input-number.scss +125 -0
  135. package/styles/controls/_knob.scss +76 -0
  136. package/styles/controls/_layout.scss +182 -0
  137. package/styles/controls/_listbox.scss +38 -0
  138. package/styles/controls/_media.scss +222 -0
  139. package/styles/controls/_menu.scss +254 -0
  140. package/styles/controls/_message.scss +48 -0
  141. package/styles/controls/_org-chart.scss +128 -0
  142. package/styles/controls/_paginator.scss +59 -0
  143. package/styles/controls/_panel.scss +83 -0
  144. package/styles/controls/_popover.scss +40 -0
  145. package/styles/controls/_progress-bar.scss +74 -0
  146. package/styles/controls/_select-button.scss +61 -0
  147. package/styles/controls/_select.scss +216 -0
  148. package/styles/controls/_skeleton.scss +43 -0
  149. package/styles/controls/_slider.scss +163 -0
  150. package/styles/controls/_spinner.scss +34 -0
  151. package/styles/controls/_stepper.scss +109 -0
  152. package/styles/controls/_table.scss +523 -0
  153. package/styles/controls/_tabs.scss +93 -0
  154. package/styles/controls/_tag.scss +84 -0
  155. package/styles/controls/_toast.scss +141 -0
  156. package/styles/controls/_tooltip.scss +14 -0
  157. package/styles/controls/_tree.scss +113 -0
  158. package/styles/controls/_utility.scss +654 -0
  159. package/styles/star-ng.css +5807 -0
  160. package/styles/star-ng.min.css +1 -0
  161. package/styles/star-ng.scss +50 -0
  162. package/theme/star-theme-first-paint.js +1 -0
  163. package/types/star-ng-ui-accordion.d.ts +82 -0
  164. package/types/star-ng-ui-autocomplete.d.ts +171 -0
  165. package/types/star-ng-ui-avatar.d.ts +43 -0
  166. package/types/star-ng-ui-badge.d.ts +46 -0
  167. package/types/star-ng-ui-breadcrumb.d.ts +39 -0
  168. package/types/star-ng-ui-button.d.ts +79 -0
  169. package/types/star-ng-ui-card.d.ts +29 -0
  170. package/types/star-ng-ui-chart.d.ts +337 -0
  171. package/types/star-ng-ui-checkbox.d.ts +92 -0
  172. package/types/star-ng-ui-core.d.ts +373 -0
  173. package/types/star-ng-ui-data-display.d.ts +438 -0
  174. package/types/star-ng-ui-date-picker.d.ts +701 -0
  175. package/types/star-ng-ui-dialog.d.ts +254 -0
  176. package/types/star-ng-ui-drawer.d.ts +29 -0
  177. package/types/star-ng-ui-editor.d.ts +96 -0
  178. package/types/star-ng-ui-field.d.ts +146 -0
  179. package/types/star-ng-ui-file-upload.d.ts +192 -0
  180. package/types/star-ng-ui-i18n-de.d.ts +7 -0
  181. package/types/star-ng-ui-i18n-es.d.ts +7 -0
  182. package/types/star-ng-ui-input-group.d.ts +58 -0
  183. package/types/star-ng-ui-input-mask.d.ts +126 -0
  184. package/types/star-ng-ui-input-number.d.ts +193 -0
  185. package/types/star-ng-ui-input-otp.d.ts +86 -0
  186. package/types/star-ng-ui-input-tags.d.ts +159 -0
  187. package/types/star-ng-ui-knob.d.ts +121 -0
  188. package/types/star-ng-ui-layout.d.ts +154 -0
  189. package/types/star-ng-ui-listbox.d.ts +170 -0
  190. package/types/star-ng-ui-media.d.ts +161 -0
  191. package/types/star-ng-ui-menu.d.ts +332 -0
  192. package/types/star-ng-ui-message.d.ts +52 -0
  193. package/types/star-ng-ui-paginator.d.ts +85 -0
  194. package/types/star-ng-ui-panel.d.ts +65 -0
  195. package/types/star-ng-ui-password.d.ts +129 -0
  196. package/types/star-ng-ui-popover.d.ts +57 -0
  197. package/types/star-ng-ui-progress-bar.d.ts +49 -0
  198. package/types/star-ng-ui-radio.d.ts +116 -0
  199. package/types/star-ng-ui-rating.d.ts +52 -0
  200. package/types/star-ng-ui-select-button.d.ts +169 -0
  201. package/types/star-ng-ui-select.d.ts +563 -0
  202. package/types/star-ng-ui-skeleton.d.ts +47 -0
  203. package/types/star-ng-ui-slider.d.ts +145 -0
  204. package/types/star-ng-ui-spinner.d.ts +29 -0
  205. package/types/star-ng-ui-stepper.d.ts +89 -0
  206. package/types/star-ng-ui-table.d.ts +885 -0
  207. package/types/star-ng-ui-tabs.d.ts +109 -0
  208. package/types/star-ng-ui-tag.d.ts +35 -0
  209. package/types/star-ng-ui-theme-switch.d.ts +36 -0
  210. package/types/star-ng-ui-theme.d.ts +95 -0
  211. package/types/star-ng-ui-toast.d.ts +84 -0
  212. package/types/star-ng-ui-toggle-switch.d.ts +81 -0
  213. package/types/star-ng-ui-tooltip.d.ts +66 -0
  214. package/types/star-ng-ui-transloco.d.ts +14 -0
  215. package/types/star-ng-ui-tree.d.ts +343 -0
  216. package/types/star-ng-ui-utility.d.ts +533 -0
  217. package/types/star-ng-ui.d.ts +51 -0
@@ -0,0 +1,65 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Panel (PrimeNG `p-panel`): titled box with header actions and an optional collapse toggle.
4
+ * `<star-panel header="Order notes" toggleable [(collapsed)]="notesHidden">…</star-panel>`
5
+ */
6
+ export declare class StarPanel {
7
+ protected readonly text: import("@star-ng/ui/core").StarUiText;
8
+ private readonly ids;
9
+ readonly header: import("@angular/core").InputSignal<string>;
10
+ readonly toggleable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
11
+ readonly collapsed: import("@angular/core").ModelSignal<boolean>;
12
+ protected readonly titleId: string;
13
+ protected readonly contentId: string;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarPanel, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarPanel, "star-panel", never, {
16
+ "header": {
17
+ "alias": "header";
18
+ "required": false;
19
+ "isSignal": true;
20
+ };
21
+ "toggleable": {
22
+ "alias": "toggleable";
23
+ "required": false;
24
+ "isSignal": true;
25
+ };
26
+ "collapsed": {
27
+ "alias": "collapsed";
28
+ "required": false;
29
+ "isSignal": true;
30
+ };
31
+ }, {
32
+ "collapsed": "collapsedChange";
33
+ }, never, ["[starPanelActions]", "*", "[starPanelFooter]"], true, never>;
34
+ }
35
+ /**
36
+ * Fieldset (PrimeNG `p-fieldset`) on the native `<fieldset>` / `<legend>`, so groups of form
37
+ * controls keep their accessible name. Optional collapse toggle in the legend.
38
+ * `<star-fieldset legend="Requester" toggleable>…controls…</star-fieldset>`
39
+ */
40
+ export declare class StarFieldset {
41
+ readonly legend: import("@angular/core").InputSignal<string>;
42
+ readonly toggleable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
43
+ readonly collapsed: import("@angular/core").ModelSignal<boolean>;
44
+ protected readonly contentId: string;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarFieldset, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarFieldset, "star-fieldset", never, {
47
+ "legend": {
48
+ "alias": "legend";
49
+ "required": false;
50
+ "isSignal": true;
51
+ };
52
+ "toggleable": {
53
+ "alias": "toggleable";
54
+ "required": false;
55
+ "isSignal": true;
56
+ };
57
+ "collapsed": {
58
+ "alias": "collapsed";
59
+ "required": false;
60
+ "isSignal": true;
61
+ };
62
+ }, {
63
+ "collapsed": "collapsedChange";
64
+ }, never, ["*"], true, never>;
65
+ }
@@ -0,0 +1,129 @@
1
+ import { FormValueControl } from "@angular/forms/signals";
2
+ import { StarUiText } from "@star-ng/ui/core";
3
+ import * as i0 from "@angular/core";
4
+ export interface StarPasswordRule {
5
+ readonly label: string;
6
+ readonly test: (value: string) => boolean;
7
+ }
8
+ /** Default rules, labelled from the control texts (so they follow the active language). */
9
+ export declare function starPasswordRules(text: StarUiText, minLength?: number): readonly StarPasswordRule[];
10
+ /**
11
+ * Password field (PrimeNG `p-password`): show / hide toggle, strength meter and a rule
12
+ * checklist (`feedback`), `autocomplete` defaults to `new-password` with feedback,
13
+ * `current-password` without.
14
+ *
15
+ * `<star-password [formField]="form.newPassword" feedback />`
16
+ */
17
+ export declare class StarPassword implements FormValueControl<string> {
18
+ protected readonly text: StarUiText;
19
+ private readonly field;
20
+ private readonly ids;
21
+ readonly value: import("@angular/core").ModelSignal<string>;
22
+ readonly feedback: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
23
+ /** Custom rules. Default: length (`minLength`), upper, lower, number and symbol. */
24
+ readonly rules: import("@angular/core").InputSignal<readonly StarPasswordRule[] | null>;
25
+ /** Length rule; also bound from a Signal Forms `minLength()` validator. Default 12. */
26
+ readonly minLength: import("@angular/core").InputSignal<number | undefined>;
27
+ protected readonly activeRules: import("@angular/core").Signal<readonly StarPasswordRule[]>;
28
+ readonly placeholder: import("@angular/core").InputSignal<string | null>;
29
+ readonly autocomplete: import("@angular/core").InputSignal<string | null>;
30
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
31
+ readonly inputId: import("@angular/core").InputSignal<string>;
32
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
33
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
34
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
35
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
36
+ readonly touched: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
37
+ readonly name: import("@angular/core").InputSignal<string>;
38
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
39
+ protected readonly feedbackId: string;
40
+ /** Invalid after touch, or while the parent `star-field` shows an error. */
41
+ protected readonly showInvalid: import("@angular/core").Signal<boolean>;
42
+ /** Field error or hint, then the strength feedback. */
43
+ protected readonly describedBy: import("@angular/core").Signal<string | null>;
44
+ constructor();
45
+ protected readonly masked: import("@angular/core").WritableSignal<boolean>;
46
+ protected readonly bars: number[];
47
+ private readonly input;
48
+ /** Rules met, scaled to 0–4 bars. */
49
+ protected readonly score: import("@angular/core").Signal<number>;
50
+ protected readonly level: import("@angular/core").Signal<"weak" | "fair" | "good" | "strong">;
51
+ protected readonly levelText: import("@angular/core").Signal<string>;
52
+ focus(options?: FocusOptions): void;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarPassword, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarPassword, "star-password", never, {
55
+ "value": {
56
+ "alias": "value";
57
+ "required": false;
58
+ "isSignal": true;
59
+ };
60
+ "feedback": {
61
+ "alias": "feedback";
62
+ "required": false;
63
+ "isSignal": true;
64
+ };
65
+ "rules": {
66
+ "alias": "rules";
67
+ "required": false;
68
+ "isSignal": true;
69
+ };
70
+ "minLength": {
71
+ "alias": "minLength";
72
+ "required": false;
73
+ "isSignal": true;
74
+ };
75
+ "placeholder": {
76
+ "alias": "placeholder";
77
+ "required": false;
78
+ "isSignal": true;
79
+ };
80
+ "autocomplete": {
81
+ "alias": "autocomplete";
82
+ "required": false;
83
+ "isSignal": true;
84
+ };
85
+ "ariaLabel": {
86
+ "alias": "ariaLabel";
87
+ "required": false;
88
+ "isSignal": true;
89
+ };
90
+ "inputId": {
91
+ "alias": "inputId";
92
+ "required": false;
93
+ "isSignal": true;
94
+ };
95
+ "disabled": {
96
+ "alias": "disabled";
97
+ "required": false;
98
+ "isSignal": true;
99
+ };
100
+ "readonly": {
101
+ "alias": "readonly";
102
+ "required": false;
103
+ "isSignal": true;
104
+ };
105
+ "required": {
106
+ "alias": "required";
107
+ "required": false;
108
+ "isSignal": true;
109
+ };
110
+ "invalid": {
111
+ "alias": "invalid";
112
+ "required": false;
113
+ "isSignal": true;
114
+ };
115
+ "touched": {
116
+ "alias": "touched";
117
+ "required": false;
118
+ "isSignal": true;
119
+ };
120
+ "name": {
121
+ "alias": "name";
122
+ "required": false;
123
+ "isSignal": true;
124
+ };
125
+ }, {
126
+ "value": "valueChange";
127
+ "touch": "touch";
128
+ }, never, never, true, never>;
129
+ }
@@ -0,0 +1,57 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Popover (PrimeNG `p-popover`, formerly OverlayPanel): rich floating content anchored to an
4
+ * element. Native popover (top layer, works in dialogs), closes on outside click and Escape,
5
+ * moves focus in and back to the anchor.
6
+ *
7
+ * ```html
8
+ * <star-button #anchor (pressed)="info.toggle($event)">Details</star-button>
9
+ * <star-popover #info ariaLabel="Order details">…</star-popover>
10
+ * ```
11
+ */
12
+ export declare class StarPopover {
13
+ private readonly injector;
14
+ private readonly viewContainer;
15
+ private readonly directionality;
16
+ readonly panelId: string;
17
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
18
+ /** Moves focus into the popover when it opens. */
19
+ readonly focusOnShow: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
+ readonly dismissable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
21
+ readonly shown: import("@angular/core").OutputEmitterRef<void>;
22
+ readonly hidden: import("@angular/core").OutputEmitterRef<void>;
23
+ readonly visible: import("@angular/core").WritableSignal<boolean>;
24
+ private readonly panel;
25
+ private overlayRef;
26
+ private anchor;
27
+ private outside;
28
+ constructor();
29
+ /** Opens on the event's current target (or a given element), or closes when open. */
30
+ toggle(target: Event | HTMLElement): void;
31
+ show(target: Event | HTMLElement): void;
32
+ /** Closes; returns focus to the anchor when focus was inside the popover. */
33
+ hide(restoreFocus?: boolean): void;
34
+ /** Re-positions after content size changes. */
35
+ align(): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarPopover, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarPopover, "star-popover", never, {
38
+ "ariaLabel": {
39
+ "alias": "ariaLabel";
40
+ "required": false;
41
+ "isSignal": true;
42
+ };
43
+ "focusOnShow": {
44
+ "alias": "focusOnShow";
45
+ "required": false;
46
+ "isSignal": true;
47
+ };
48
+ "dismissable": {
49
+ "alias": "dismissable";
50
+ "required": false;
51
+ "isSignal": true;
52
+ };
53
+ }, {
54
+ "shown": "shown";
55
+ "hidden": "hidden";
56
+ }, never, ["*"], true, never>;
57
+ }
@@ -0,0 +1,49 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Progress bar (PrimeNG `p-progressbar`): determinate value or indeterminate stripe,
4
+ * optional value label, severity color. `role="progressbar"` with `aria-valuenow`.
5
+ *
6
+ * `<star-progress-bar [value]="uploaded()" showValue ariaLabel="Upload" />`
7
+ */
8
+ export declare class StarProgressBar {
9
+ readonly value: import("@angular/core").InputSignal<number>;
10
+ readonly indeterminate: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
11
+ readonly showValue: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
12
+ readonly severity: import("@angular/core").InputSignal<"primary" | "success" | "warn" | "danger" | "info">;
13
+ readonly size: import("@angular/core").InputSignal<"sm" | "md">;
14
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
15
+ protected readonly clamped: import("@angular/core").Signal<number>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarProgressBar, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarProgressBar, "star-progress-bar", never, {
18
+ "value": {
19
+ "alias": "value";
20
+ "required": false;
21
+ "isSignal": true;
22
+ };
23
+ "indeterminate": {
24
+ "alias": "indeterminate";
25
+ "required": false;
26
+ "isSignal": true;
27
+ };
28
+ "showValue": {
29
+ "alias": "showValue";
30
+ "required": false;
31
+ "isSignal": true;
32
+ };
33
+ "severity": {
34
+ "alias": "severity";
35
+ "required": false;
36
+ "isSignal": true;
37
+ };
38
+ "size": {
39
+ "alias": "size";
40
+ "required": false;
41
+ "isSignal": true;
42
+ };
43
+ "ariaLabel": {
44
+ "alias": "ariaLabel";
45
+ "required": false;
46
+ "isSignal": true;
47
+ };
48
+ }, {}, never, never, true, never>;
49
+ }
@@ -0,0 +1,116 @@
1
+ import { FormValueControl } from "@angular/forms/signals";
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Radio group (PrimeNG `p-radiobutton` used as a group). The group owns the value; each
5
+ * `star-radio` is a native radio input, so arrow keys move and select natively.
6
+ *
7
+ * ```html
8
+ * <star-radio-group [formField]="form.priority" ariaLabel="Priority">
9
+ * <star-radio value="low">Low</star-radio>
10
+ * <star-radio value="high">High</star-radio>
11
+ * </star-radio-group>
12
+ * ```
13
+ */
14
+ export declare class StarRadioGroup<T = unknown> implements FormValueControl<T | null> {
15
+ readonly value: import("@angular/core").ModelSignal<T | null>;
16
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
+ readonly touched: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
21
+ readonly name: import("@angular/core").InputSignal<string>;
22
+ readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal">;
23
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
24
+ readonly ariaLabelledBy: import("@angular/core").InputSignal<string | null>;
25
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
26
+ private readonly fallbackName;
27
+ readonly groupName: import("@angular/core").Signal<string>;
28
+ protected readonly showInvalid: import("@angular/core").Signal<boolean>;
29
+ private readonly host;
30
+ isSelected(value: T): boolean;
31
+ select(value: T): void;
32
+ focus(options?: FocusOptions): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarRadioGroup<any>, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarRadioGroup<any>, "star-radio-group", never, {
35
+ "value": {
36
+ "alias": "value";
37
+ "required": false;
38
+ "isSignal": true;
39
+ };
40
+ "disabled": {
41
+ "alias": "disabled";
42
+ "required": false;
43
+ "isSignal": true;
44
+ };
45
+ "readonly": {
46
+ "alias": "readonly";
47
+ "required": false;
48
+ "isSignal": true;
49
+ };
50
+ "required": {
51
+ "alias": "required";
52
+ "required": false;
53
+ "isSignal": true;
54
+ };
55
+ "invalid": {
56
+ "alias": "invalid";
57
+ "required": false;
58
+ "isSignal": true;
59
+ };
60
+ "touched": {
61
+ "alias": "touched";
62
+ "required": false;
63
+ "isSignal": true;
64
+ };
65
+ "name": {
66
+ "alias": "name";
67
+ "required": false;
68
+ "isSignal": true;
69
+ };
70
+ "orientation": {
71
+ "alias": "orientation";
72
+ "required": false;
73
+ "isSignal": true;
74
+ };
75
+ "ariaLabel": {
76
+ "alias": "ariaLabel";
77
+ "required": false;
78
+ "isSignal": true;
79
+ };
80
+ "ariaLabelledBy": {
81
+ "alias": "ariaLabelledBy";
82
+ "required": false;
83
+ "isSignal": true;
84
+ };
85
+ }, {
86
+ "value": "valueChange";
87
+ "touch": "touch";
88
+ }, never, ["*"], true, never>;
89
+ }
90
+ export declare class StarRadio<T = unknown> {
91
+ protected readonly group: StarRadioGroup<T>;
92
+ readonly value: import("@angular/core").InputSignal<T>;
93
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
94
+ readonly inputId: import("@angular/core").InputSignal<string>;
95
+ protected readonly checked: import("@angular/core").Signal<boolean>;
96
+ protected readonly isDisabled: import("@angular/core").Signal<boolean>;
97
+ protected onChange(radio: HTMLInputElement): void;
98
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarRadio<any>, never>;
99
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarRadio<any>, "star-radio", never, {
100
+ "value": {
101
+ "alias": "value";
102
+ "required": true;
103
+ "isSignal": true;
104
+ };
105
+ "disabled": {
106
+ "alias": "disabled";
107
+ "required": false;
108
+ "isSignal": true;
109
+ };
110
+ "inputId": {
111
+ "alias": "inputId";
112
+ "required": false;
113
+ "isSignal": true;
114
+ };
115
+ }, {}, never, ["*"], true, never>;
116
+ }
@@ -0,0 +1,52 @@
1
+ import { FormValueControl } from "@angular/forms/signals";
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Star rating (PrimeNG `p-rating`) as a native radio group: Arrow keys change the rating,
5
+ * screen readers announce "3 of 5 stars". Hover previews the rating.
6
+ * `<star-rating [(value)]="quality" ariaLabel="Response quality" />`
7
+ */
8
+ export declare class StarRating implements FormValueControl<number | null> {
9
+ protected readonly text: import("@star-ng/ui/core").StarUiText;
10
+ protected readonly groupName: string;
11
+ readonly value: import("@angular/core").ModelSignal<number | null>;
12
+ readonly count: import("@angular/core").InputSignal<number>;
13
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
14
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
17
+ protected readonly hover: import("@angular/core").WritableSignal<number | null>;
18
+ protected readonly stars: import("@angular/core").Signal<number[]>;
19
+ protected readonly shown: import("@angular/core").Signal<number>;
20
+ protected choose(star: number): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarRating, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarRating, "star-rating", never, {
23
+ "value": {
24
+ "alias": "value";
25
+ "required": false;
26
+ "isSignal": true;
27
+ };
28
+ "count": {
29
+ "alias": "count";
30
+ "required": false;
31
+ "isSignal": true;
32
+ };
33
+ "ariaLabel": {
34
+ "alias": "ariaLabel";
35
+ "required": false;
36
+ "isSignal": true;
37
+ };
38
+ "disabled": {
39
+ "alias": "disabled";
40
+ "required": false;
41
+ "isSignal": true;
42
+ };
43
+ "readonly": {
44
+ "alias": "readonly";
45
+ "required": false;
46
+ "isSignal": true;
47
+ };
48
+ }, {
49
+ "value": "valueChange";
50
+ "touch": "touch";
51
+ }, never, never, true, never>;
52
+ }
@@ -0,0 +1,169 @@
1
+ import { FormCheckboxControl, FormValueControl } from "@angular/forms/signals";
2
+ import { StarOptionKey } from "@star-ng/ui/core";
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Segmented choice (PrimeNG `p-selectbutton`). Single mode is a radio group (Arrow keys move and
6
+ * select); `multiple` mode is a group of toggle buttons (`aria-pressed`).
7
+ *
8
+ * `<star-select-button [options]="views" optionLabel="label" optionValue="id" [(value)]="view" ariaLabel="View" />`
9
+ */
10
+ export declare class StarSelectButton<TOption = unknown, TValue = TOption> implements FormValueControl<TValue | readonly TValue[] | null> {
11
+ private readonly host;
12
+ readonly value: import("@angular/core").ModelSignal<TValue | readonly TValue[] | null>;
13
+ readonly options: import("@angular/core").InputSignal<readonly TOption[]>;
14
+ readonly optionLabel: import("@angular/core").InputSignal<StarOptionKey<TOption> | null>;
15
+ readonly optionValue: import("@angular/core").InputSignal<StarOptionKey<TOption> | null>;
16
+ readonly optionIcon: import("@angular/core").InputSignal<StarOptionKey<TOption> | null>;
17
+ readonly optionDisabled: import("@angular/core").InputSignal<StarOptionKey<TOption> | null>;
18
+ readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ /** Single mode: clicking the selected item clears it. */
20
+ readonly allowEmpty: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
21
+ readonly size: import("@angular/core").InputSignal<"sm" | "md">;
22
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
23
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
24
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
25
+ readonly touched: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
26
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
27
+ private readonly selectedIndex;
28
+ protected labelOf(option: TOption): string;
29
+ protected iconOf(option: TOption): string | null;
30
+ protected isDisabled(option: TOption): boolean;
31
+ private valueOf;
32
+ protected isSelected(option: TOption): boolean;
33
+ /** Roving tabindex in single mode: the selected (or first) item is the tab stop. */
34
+ protected tabIndexFor(index: number): number;
35
+ protected toggle(option: TOption): void;
36
+ protected onKeydown(event: KeyboardEvent, index: number): void;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarSelectButton<any, any>, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarSelectButton<any, any>, "star-select-button", never, {
39
+ "value": {
40
+ "alias": "value";
41
+ "required": false;
42
+ "isSignal": true;
43
+ };
44
+ "options": {
45
+ "alias": "options";
46
+ "required": false;
47
+ "isSignal": true;
48
+ };
49
+ "optionLabel": {
50
+ "alias": "optionLabel";
51
+ "required": false;
52
+ "isSignal": true;
53
+ };
54
+ "optionValue": {
55
+ "alias": "optionValue";
56
+ "required": false;
57
+ "isSignal": true;
58
+ };
59
+ "optionIcon": {
60
+ "alias": "optionIcon";
61
+ "required": false;
62
+ "isSignal": true;
63
+ };
64
+ "optionDisabled": {
65
+ "alias": "optionDisabled";
66
+ "required": false;
67
+ "isSignal": true;
68
+ };
69
+ "multiple": {
70
+ "alias": "multiple";
71
+ "required": false;
72
+ "isSignal": true;
73
+ };
74
+ "allowEmpty": {
75
+ "alias": "allowEmpty";
76
+ "required": false;
77
+ "isSignal": true;
78
+ };
79
+ "size": {
80
+ "alias": "size";
81
+ "required": false;
82
+ "isSignal": true;
83
+ };
84
+ "ariaLabel": {
85
+ "alias": "ariaLabel";
86
+ "required": false;
87
+ "isSignal": true;
88
+ };
89
+ "disabled": {
90
+ "alias": "disabled";
91
+ "required": false;
92
+ "isSignal": true;
93
+ };
94
+ "invalid": {
95
+ "alias": "invalid";
96
+ "required": false;
97
+ "isSignal": true;
98
+ };
99
+ "touched": {
100
+ "alias": "touched";
101
+ "required": false;
102
+ "isSignal": true;
103
+ };
104
+ }, {
105
+ "value": "valueChange";
106
+ "touch": "touch";
107
+ }, never, never, true, never>;
108
+ }
109
+ /**
110
+ * Two-state button (PrimeNG `p-togglebutton`): `aria-pressed`, on / off labels and icons.
111
+ * `<star-toggle-button [(checked)]="starred" onLabel="Starred" offLabel="Star" onIcon="ph-fill ph-star" offIcon="ph-bold ph-star" />`
112
+ */
113
+ export declare class StarToggleButton implements FormCheckboxControl {
114
+ readonly checked: import("@angular/core").ModelSignal<boolean>;
115
+ readonly onLabel: import("@angular/core").InputSignal<string>;
116
+ readonly offLabel: import("@angular/core").InputSignal<string>;
117
+ readonly onIcon: import("@angular/core").InputSignal<string | null>;
118
+ readonly offIcon: import("@angular/core").InputSignal<string | null>;
119
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
120
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
121
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
122
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
123
+ static ɵfac: i0.ɵɵFactoryDeclaration<StarToggleButton, never>;
124
+ static ɵcmp: i0.ɵɵComponentDeclaration<StarToggleButton, "star-toggle-button", never, {
125
+ "checked": {
126
+ "alias": "checked";
127
+ "required": false;
128
+ "isSignal": true;
129
+ };
130
+ "onLabel": {
131
+ "alias": "onLabel";
132
+ "required": false;
133
+ "isSignal": true;
134
+ };
135
+ "offLabel": {
136
+ "alias": "offLabel";
137
+ "required": false;
138
+ "isSignal": true;
139
+ };
140
+ "onIcon": {
141
+ "alias": "onIcon";
142
+ "required": false;
143
+ "isSignal": true;
144
+ };
145
+ "offIcon": {
146
+ "alias": "offIcon";
147
+ "required": false;
148
+ "isSignal": true;
149
+ };
150
+ "ariaLabel": {
151
+ "alias": "ariaLabel";
152
+ "required": false;
153
+ "isSignal": true;
154
+ };
155
+ "disabled": {
156
+ "alias": "disabled";
157
+ "required": false;
158
+ "isSignal": true;
159
+ };
160
+ "readonly": {
161
+ "alias": "readonly";
162
+ "required": false;
163
+ "isSignal": true;
164
+ };
165
+ }, {
166
+ "checked": "checkedChange";
167
+ "touch": "touch";
168
+ }, never, never, true, never>;
169
+ }