@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,552 @@
1
+ import { _IdGenerator } from "@angular/cdk/a11y";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, booleanAttribute, computed, inject, input, model, output } from "@angular/core";
4
+ import { STAR_UI_TEXT } from "@star-ng/ui/core";
5
+ var StarSlider = class StarSlider {
6
+ value = model(0, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
7
+ min = input(0, ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
8
+ max = input(100, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
9
+ low = computed(() => this.min() ?? 0, ...ngDevMode ? [{ debugName: "low" }] : /* istanbul ignore next */ []);
10
+ high = computed(() => this.max() ?? 100, ...ngDevMode ? [{ debugName: "high" }] : /* istanbul ignore next */ []);
11
+ step = input(1, ...ngDevMode ? [{ debugName: "step" }] : /* istanbul ignore next */ []);
12
+ showValue = input(false, {
13
+ ...ngDevMode ? { debugName: "showValue" } : /* istanbul ignore next */ {},
14
+ transform: booleanAttribute
15
+ });
16
+ format = input(String, ...ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []);
17
+ ariaLabel = input(null, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
18
+ inputId = input(inject(_IdGenerator).getId("star-slider-"), ...ngDevMode ? [{ debugName: "inputId" }] : /* istanbul ignore next */ []);
19
+ disabled = input(false, {
20
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
21
+ transform: booleanAttribute
22
+ });
23
+ readonly = input(false, {
24
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
25
+ transform: booleanAttribute
26
+ });
27
+ touch = output();
28
+ percent = computed(() => (this.value() - this.low()) / Math.max(1, this.high() - this.low()) * 100, ...ngDevMode ? [{ debugName: "percent" }] : /* istanbul ignore next */ []);
29
+ valueText = computed(() => this.format()(this.value()), ...ngDevMode ? [{ debugName: "valueText" }] : /* istanbul ignore next */ []);
30
+ static ɵfac = i0.ɵɵngDeclareFactory({
31
+ minVersion: "12.0.0",
32
+ version: "22.2.6",
33
+ ngImport: i0,
34
+ type: StarSlider,
35
+ deps: [],
36
+ target: i0.ɵɵFactoryTarget.Component
37
+ });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({
39
+ minVersion: "17.0.0",
40
+ version: "22.2.6",
41
+ type: StarSlider,
42
+ isStandalone: true,
43
+ selector: "star-slider",
44
+ inputs: {
45
+ value: {
46
+ classPropertyName: "value",
47
+ publicName: "value",
48
+ isSignal: true,
49
+ isRequired: false,
50
+ transformFunction: null
51
+ },
52
+ min: {
53
+ classPropertyName: "min",
54
+ publicName: "min",
55
+ isSignal: true,
56
+ isRequired: false,
57
+ transformFunction: null
58
+ },
59
+ max: {
60
+ classPropertyName: "max",
61
+ publicName: "max",
62
+ isSignal: true,
63
+ isRequired: false,
64
+ transformFunction: null
65
+ },
66
+ step: {
67
+ classPropertyName: "step",
68
+ publicName: "step",
69
+ isSignal: true,
70
+ isRequired: false,
71
+ transformFunction: null
72
+ },
73
+ showValue: {
74
+ classPropertyName: "showValue",
75
+ publicName: "showValue",
76
+ isSignal: true,
77
+ isRequired: false,
78
+ transformFunction: null
79
+ },
80
+ format: {
81
+ classPropertyName: "format",
82
+ publicName: "format",
83
+ isSignal: true,
84
+ isRequired: false,
85
+ transformFunction: null
86
+ },
87
+ ariaLabel: {
88
+ classPropertyName: "ariaLabel",
89
+ publicName: "ariaLabel",
90
+ isSignal: true,
91
+ isRequired: false,
92
+ transformFunction: null
93
+ },
94
+ inputId: {
95
+ classPropertyName: "inputId",
96
+ publicName: "inputId",
97
+ isSignal: true,
98
+ isRequired: false,
99
+ transformFunction: null
100
+ },
101
+ disabled: {
102
+ classPropertyName: "disabled",
103
+ publicName: "disabled",
104
+ isSignal: true,
105
+ isRequired: false,
106
+ transformFunction: null
107
+ },
108
+ readonly: {
109
+ classPropertyName: "readonly",
110
+ publicName: "readonly",
111
+ isSignal: true,
112
+ isRequired: false,
113
+ transformFunction: null
114
+ }
115
+ },
116
+ outputs: {
117
+ value: "valueChange",
118
+ touch: "touch"
119
+ },
120
+ host: {
121
+ properties: { "class.star-slider--disabled": "disabled()" },
122
+ classAttribute: "star-slider"
123
+ },
124
+ ngImport: i0,
125
+ template: `
126
+ <input
127
+ #range
128
+ type="range"
129
+ class="star-slider__input"
130
+ [id]="inputId()"
131
+ [min]="low()"
132
+ [max]="high()"
133
+ [step]="step()"
134
+ [value]="value()"
135
+ [disabled]="disabled() || readonly()"
136
+ [attr.aria-label]="ariaLabel()"
137
+ [attr.aria-valuetext]="valueText()"
138
+ [style.--star-fill]="percent() + '%'"
139
+ (input)="value.set(+range.value)"
140
+ (blur)="touch.emit()"
141
+ />
142
+ @if (showValue()) {
143
+ <output class="star-slider__value" [attr.for]="inputId()">{{ valueText() }}</output>
144
+ }
145
+ `,
146
+ isInline: true,
147
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
148
+ });
149
+ };
150
+ i0.ɵɵngDeclareClassMetadata({
151
+ minVersion: "12.0.0",
152
+ version: "22.2.6",
153
+ ngImport: i0,
154
+ type: StarSlider,
155
+ decorators: [{
156
+ type: Component,
157
+ args: [{
158
+ selector: "star-slider",
159
+ changeDetection: ChangeDetectionStrategy.OnPush,
160
+ host: {
161
+ class: "star-slider",
162
+ "[class.star-slider--disabled]": "disabled()"
163
+ },
164
+ template: `
165
+ <input
166
+ #range
167
+ type="range"
168
+ class="star-slider__input"
169
+ [id]="inputId()"
170
+ [min]="low()"
171
+ [max]="high()"
172
+ [step]="step()"
173
+ [value]="value()"
174
+ [disabled]="disabled() || readonly()"
175
+ [attr.aria-label]="ariaLabel()"
176
+ [attr.aria-valuetext]="valueText()"
177
+ [style.--star-fill]="percent() + '%'"
178
+ (input)="value.set(+range.value)"
179
+ (blur)="touch.emit()"
180
+ />
181
+ @if (showValue()) {
182
+ <output class="star-slider__value" [attr.for]="inputId()">{{ valueText() }}</output>
183
+ }
184
+ `
185
+ }]
186
+ }],
187
+ propDecorators: {
188
+ value: [{
189
+ type: i0.Input,
190
+ args: [{
191
+ isSignal: true,
192
+ alias: "value",
193
+ required: false
194
+ }]
195
+ }, {
196
+ type: i0.Output,
197
+ args: ["valueChange"]
198
+ }],
199
+ min: [{
200
+ type: i0.Input,
201
+ args: [{
202
+ isSignal: true,
203
+ alias: "min",
204
+ required: false
205
+ }]
206
+ }],
207
+ max: [{
208
+ type: i0.Input,
209
+ args: [{
210
+ isSignal: true,
211
+ alias: "max",
212
+ required: false
213
+ }]
214
+ }],
215
+ step: [{
216
+ type: i0.Input,
217
+ args: [{
218
+ isSignal: true,
219
+ alias: "step",
220
+ required: false
221
+ }]
222
+ }],
223
+ showValue: [{
224
+ type: i0.Input,
225
+ args: [{
226
+ isSignal: true,
227
+ alias: "showValue",
228
+ required: false
229
+ }]
230
+ }],
231
+ format: [{
232
+ type: i0.Input,
233
+ args: [{
234
+ isSignal: true,
235
+ alias: "format",
236
+ required: false
237
+ }]
238
+ }],
239
+ ariaLabel: [{
240
+ type: i0.Input,
241
+ args: [{
242
+ isSignal: true,
243
+ alias: "ariaLabel",
244
+ required: false
245
+ }]
246
+ }],
247
+ inputId: [{
248
+ type: i0.Input,
249
+ args: [{
250
+ isSignal: true,
251
+ alias: "inputId",
252
+ required: false
253
+ }]
254
+ }],
255
+ disabled: [{
256
+ type: i0.Input,
257
+ args: [{
258
+ isSignal: true,
259
+ alias: "disabled",
260
+ required: false
261
+ }]
262
+ }],
263
+ readonly: [{
264
+ type: i0.Input,
265
+ args: [{
266
+ isSignal: true,
267
+ alias: "readonly",
268
+ required: false
269
+ }]
270
+ }],
271
+ touch: [{
272
+ type: i0.Output,
273
+ args: ["touch"]
274
+ }]
275
+ }
276
+ });
277
+ var StarRangeSlider = class StarRangeSlider {
278
+ text = inject(STAR_UI_TEXT);
279
+ value = model([0, 100], ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
280
+ bounds = input([0, 100], ...ngDevMode ? [{ debugName: "bounds" }] : /* istanbul ignore next */ []);
281
+ step = input(1, ...ngDevMode ? [{ debugName: "step" }] : /* istanbul ignore next */ []);
282
+ showValue = input(false, {
283
+ ...ngDevMode ? { debugName: "showValue" } : /* istanbul ignore next */ {},
284
+ transform: booleanAttribute
285
+ });
286
+ format = input(String, ...ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []);
287
+ ariaLabel = input(null, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
288
+ disabled = input(false, {
289
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
290
+ transform: booleanAttribute
291
+ });
292
+ touch = output();
293
+ toPercent(value) {
294
+ return (value - this.bounds()[0]) / Math.max(1, this.bounds()[1] - this.bounds()[0]) * 100;
295
+ }
296
+ lowPercent = computed(() => this.toPercent(this.value()[0]), ...ngDevMode ? [{ debugName: "lowPercent" }] : /* istanbul ignore next */ []);
297
+ highPercent = computed(() => this.toPercent(this.value()[1]), ...ngDevMode ? [{ debugName: "highPercent" }] : /* istanbul ignore next */ []);
298
+ setLow(value, input) {
299
+ const low = Math.min(value, this.value()[1]);
300
+ input.value = String(low);
301
+ this.value.set([low, this.value()[1]]);
302
+ }
303
+ setHigh(value, input) {
304
+ const high = Math.max(value, this.value()[0]);
305
+ input.value = String(high);
306
+ this.value.set([this.value()[0], high]);
307
+ }
308
+ static ɵfac = i0.ɵɵngDeclareFactory({
309
+ minVersion: "12.0.0",
310
+ version: "22.2.6",
311
+ ngImport: i0,
312
+ type: StarRangeSlider,
313
+ deps: [],
314
+ target: i0.ɵɵFactoryTarget.Component
315
+ });
316
+ static ɵcmp = i0.ɵɵngDeclareComponent({
317
+ minVersion: "17.0.0",
318
+ version: "22.2.6",
319
+ type: StarRangeSlider,
320
+ isStandalone: true,
321
+ selector: "star-range-slider",
322
+ inputs: {
323
+ value: {
324
+ classPropertyName: "value",
325
+ publicName: "value",
326
+ isSignal: true,
327
+ isRequired: false,
328
+ transformFunction: null
329
+ },
330
+ bounds: {
331
+ classPropertyName: "bounds",
332
+ publicName: "bounds",
333
+ isSignal: true,
334
+ isRequired: false,
335
+ transformFunction: null
336
+ },
337
+ step: {
338
+ classPropertyName: "step",
339
+ publicName: "step",
340
+ isSignal: true,
341
+ isRequired: false,
342
+ transformFunction: null
343
+ },
344
+ showValue: {
345
+ classPropertyName: "showValue",
346
+ publicName: "showValue",
347
+ isSignal: true,
348
+ isRequired: false,
349
+ transformFunction: null
350
+ },
351
+ format: {
352
+ classPropertyName: "format",
353
+ publicName: "format",
354
+ isSignal: true,
355
+ isRequired: false,
356
+ transformFunction: null
357
+ },
358
+ ariaLabel: {
359
+ classPropertyName: "ariaLabel",
360
+ publicName: "ariaLabel",
361
+ isSignal: true,
362
+ isRequired: false,
363
+ transformFunction: null
364
+ },
365
+ disabled: {
366
+ classPropertyName: "disabled",
367
+ publicName: "disabled",
368
+ isSignal: true,
369
+ isRequired: false,
370
+ transformFunction: null
371
+ }
372
+ },
373
+ outputs: {
374
+ value: "valueChange",
375
+ touch: "touch"
376
+ },
377
+ host: {
378
+ properties: { "class.star-slider--disabled": "disabled()" },
379
+ classAttribute: "star-slider star-slider--range"
380
+ },
381
+ ngImport: i0,
382
+ template: `
383
+ <div
384
+ class="star-slider__track"
385
+ [style.--star-from]="lowPercent() + '%'"
386
+ [style.--star-to]="highPercent() + '%'"
387
+ >
388
+ <input
389
+ #low
390
+ type="range"
391
+ class="star-slider__input"
392
+ [min]="bounds()[0]"
393
+ [max]="bounds()[1]"
394
+ [step]="step()"
395
+ [value]="value()[0]"
396
+ [disabled]="disabled()"
397
+ [attr.aria-label]="text.sliderMinimum(ariaLabel() ?? '')"
398
+ [attr.aria-valuetext]="format()(value()[0])"
399
+ (input)="setLow(+low.value, low)"
400
+ (blur)="touch.emit()"
401
+ />
402
+ <input
403
+ #high
404
+ type="range"
405
+ class="star-slider__input"
406
+ [min]="bounds()[0]"
407
+ [max]="bounds()[1]"
408
+ [step]="step()"
409
+ [value]="value()[1]"
410
+ [disabled]="disabled()"
411
+ [attr.aria-label]="text.sliderMaximum(ariaLabel() ?? '')"
412
+ [attr.aria-valuetext]="format()(value()[1])"
413
+ (input)="setHigh(+high.value, high)"
414
+ (blur)="touch.emit()"
415
+ />
416
+ </div>
417
+ @if (showValue()) {
418
+ <output class="star-slider__value"
419
+ >{{ format()(value()[0]) }} – {{ format()(value()[1]) }}</output
420
+ >
421
+ }
422
+ `,
423
+ isInline: true,
424
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
425
+ });
426
+ };
427
+ i0.ɵɵngDeclareClassMetadata({
428
+ minVersion: "12.0.0",
429
+ version: "22.2.6",
430
+ ngImport: i0,
431
+ type: StarRangeSlider,
432
+ decorators: [{
433
+ type: Component,
434
+ args: [{
435
+ selector: "star-range-slider",
436
+ changeDetection: ChangeDetectionStrategy.OnPush,
437
+ host: {
438
+ class: "star-slider star-slider--range",
439
+ "[class.star-slider--disabled]": "disabled()"
440
+ },
441
+ template: `
442
+ <div
443
+ class="star-slider__track"
444
+ [style.--star-from]="lowPercent() + '%'"
445
+ [style.--star-to]="highPercent() + '%'"
446
+ >
447
+ <input
448
+ #low
449
+ type="range"
450
+ class="star-slider__input"
451
+ [min]="bounds()[0]"
452
+ [max]="bounds()[1]"
453
+ [step]="step()"
454
+ [value]="value()[0]"
455
+ [disabled]="disabled()"
456
+ [attr.aria-label]="text.sliderMinimum(ariaLabel() ?? '')"
457
+ [attr.aria-valuetext]="format()(value()[0])"
458
+ (input)="setLow(+low.value, low)"
459
+ (blur)="touch.emit()"
460
+ />
461
+ <input
462
+ #high
463
+ type="range"
464
+ class="star-slider__input"
465
+ [min]="bounds()[0]"
466
+ [max]="bounds()[1]"
467
+ [step]="step()"
468
+ [value]="value()[1]"
469
+ [disabled]="disabled()"
470
+ [attr.aria-label]="text.sliderMaximum(ariaLabel() ?? '')"
471
+ [attr.aria-valuetext]="format()(value()[1])"
472
+ (input)="setHigh(+high.value, high)"
473
+ (blur)="touch.emit()"
474
+ />
475
+ </div>
476
+ @if (showValue()) {
477
+ <output class="star-slider__value"
478
+ >{{ format()(value()[0]) }} – {{ format()(value()[1]) }}</output
479
+ >
480
+ }
481
+ `
482
+ }]
483
+ }],
484
+ propDecorators: {
485
+ value: [{
486
+ type: i0.Input,
487
+ args: [{
488
+ isSignal: true,
489
+ alias: "value",
490
+ required: false
491
+ }]
492
+ }, {
493
+ type: i0.Output,
494
+ args: ["valueChange"]
495
+ }],
496
+ bounds: [{
497
+ type: i0.Input,
498
+ args: [{
499
+ isSignal: true,
500
+ alias: "bounds",
501
+ required: false
502
+ }]
503
+ }],
504
+ step: [{
505
+ type: i0.Input,
506
+ args: [{
507
+ isSignal: true,
508
+ alias: "step",
509
+ required: false
510
+ }]
511
+ }],
512
+ showValue: [{
513
+ type: i0.Input,
514
+ args: [{
515
+ isSignal: true,
516
+ alias: "showValue",
517
+ required: false
518
+ }]
519
+ }],
520
+ format: [{
521
+ type: i0.Input,
522
+ args: [{
523
+ isSignal: true,
524
+ alias: "format",
525
+ required: false
526
+ }]
527
+ }],
528
+ ariaLabel: [{
529
+ type: i0.Input,
530
+ args: [{
531
+ isSignal: true,
532
+ alias: "ariaLabel",
533
+ required: false
534
+ }]
535
+ }],
536
+ disabled: [{
537
+ type: i0.Input,
538
+ args: [{
539
+ isSignal: true,
540
+ alias: "disabled",
541
+ required: false
542
+ }]
543
+ }],
544
+ touch: [{
545
+ type: i0.Output,
546
+ args: ["touch"]
547
+ }]
548
+ }
549
+ });
550
+ export { StarRangeSlider, StarSlider };
551
+
552
+ //# sourceMappingURL=star-ng-ui-slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"star-ng-ui-slider.mjs","names":[],"sources":["../../../projects/star-ng/slider/slider.ts"],"sourcesContent":["import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport type { FormValueControl } from '@angular/forms/signals';\nimport { STAR_UI_TEXT } from '@star-ng/ui/core';\n\n/**\n * Slider (PrimeNG `p-slider`) on native `<input type=\"range\">`: full keyboard and screen-reader\n * support from the platform, styled track and fill, optional value label.\n * `<star-slider [(value)]=\"severity\" [min]=\"1\" [max]=\"5\" ariaLabel=\"Severity\" showValue />`\n */\n@Component({\n selector: 'star-slider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'star-slider', '[class.star-slider--disabled]': 'disabled()' },\n template: `\n <input\n #range\n type=\"range\"\n class=\"star-slider__input\"\n [id]=\"inputId()\"\n [min]=\"low()\"\n [max]=\"high()\"\n [step]=\"step()\"\n [value]=\"value()\"\n [disabled]=\"disabled() || readonly()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-valuetext]=\"valueText()\"\n [style.--star-fill]=\"percent() + '%'\"\n (input)=\"value.set(+range.value)\"\n (blur)=\"touch.emit()\"\n />\n @if (showValue()) {\n <output class=\"star-slider__value\" [attr.for]=\"inputId()\">{{ valueText() }}</output>\n }\n `,\n})\nexport class StarSlider implements FormValueControl<number> {\n readonly value = model(0);\n /** Also bound from Signal Forms `min()` / `max()` validators. */\n readonly min = input<number | undefined>(0);\n readonly max = input<number | undefined>(100);\n protected readonly low = computed(() => this.min() ?? 0);\n protected readonly high = computed(() => this.max() ?? 100);\n readonly step = input(1);\n readonly showValue = input(false, { transform: booleanAttribute });\n /** Text for the current value, for example `(v) => v + ' kg'`. */\n readonly format = input<(value: number) => string>(String);\n readonly ariaLabel = input<string | null>(null);\n readonly inputId = input(inject(_IdGenerator).getId('star-slider-'));\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly readonly = input(false, { transform: booleanAttribute });\n readonly touch = output<void>();\n\n protected readonly percent = computed(\n () => ((this.value() - this.low()) / Math.max(1, this.high() - this.low())) * 100,\n );\n protected readonly valueText = computed(() => this.format()(this.value()));\n}\n\n/**\n * Range slider (PrimeNG `p-slider [range]`): two native range inputs on one track; the handles\n * cannot cross. Value: `[low, high]`.\n * `<star-range-slider [(value)]=\"ageRange\" [bounds]=\"[0, 100]\" ariaLabel=\"Age\" showValue />`\n */\n@Component({\n selector: 'star-range-slider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'star-slider star-slider--range', '[class.star-slider--disabled]': 'disabled()' },\n template: `\n <div\n class=\"star-slider__track\"\n [style.--star-from]=\"lowPercent() + '%'\"\n [style.--star-to]=\"highPercent() + '%'\"\n >\n <input\n #low\n type=\"range\"\n class=\"star-slider__input\"\n [min]=\"bounds()[0]\"\n [max]=\"bounds()[1]\"\n [step]=\"step()\"\n [value]=\"value()[0]\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"text.sliderMinimum(ariaLabel() ?? '')\"\n [attr.aria-valuetext]=\"format()(value()[0])\"\n (input)=\"setLow(+low.value, low)\"\n (blur)=\"touch.emit()\"\n />\n <input\n #high\n type=\"range\"\n class=\"star-slider__input\"\n [min]=\"bounds()[0]\"\n [max]=\"bounds()[1]\"\n [step]=\"step()\"\n [value]=\"value()[1]\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"text.sliderMaximum(ariaLabel() ?? '')\"\n [attr.aria-valuetext]=\"format()(value()[1])\"\n (input)=\"setHigh(+high.value, high)\"\n (blur)=\"touch.emit()\"\n />\n </div>\n @if (showValue()) {\n <output class=\"star-slider__value\"\n >{{ format()(value()[0]) }} – {{ format()(value()[1]) }}</output\n >\n }\n `,\n})\nexport class StarRangeSlider implements FormValueControl<readonly [number, number]> {\n protected readonly text = inject(STAR_UI_TEXT);\n readonly value = model<readonly [number, number]>([0, 100]);\n /** Lowest and highest selectable values. */\n readonly bounds = input<readonly [number, number]>([0, 100]);\n readonly step = input(1);\n readonly showValue = input(false, { transform: booleanAttribute });\n readonly format = input<(value: number) => string>(String);\n readonly ariaLabel = input<string | null>(null);\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly touch = output<void>();\n\n private toPercent(value: number): number {\n return ((value - this.bounds()[0]) / Math.max(1, this.bounds()[1] - this.bounds()[0])) * 100;\n }\n protected readonly lowPercent = computed(() => this.toPercent(this.value()[0]));\n protected readonly highPercent = computed(() => this.toPercent(this.value()[1]));\n\n protected setLow(value: number, input: HTMLInputElement): void {\n const low = Math.min(value, this.value()[1]);\n input.value = String(low);\n this.value.set([low, this.value()[1]]);\n }\n\n protected setHigh(value: number, input: HTMLInputElement): void {\n const high = Math.max(value, this.value()[0]);\n input.value = String(high);\n this.value.set([this.value()[0], high]);\n }\n}\n"],"mappings":"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"}