@star-ng/ui 0.0.0-stage → 0.1.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 +148 -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 +782 -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 +392 -0
  22. package/fesm2022/star-ng-ui-core.mjs.map +1 -0
  23. package/fesm2022/star-ng-ui-data-display.mjs +1556 -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 +978 -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 +2523 -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 +3477 -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 +281 -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 +118 -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 +5803 -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 +310 -0
  173. package/types/star-ng-ui-data-display.d.ts +339 -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 +197 -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 +540 -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 +829 -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 +310 -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,148 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, inject, input } from "@angular/core";
3
+ import { STAR_UI_TEXT } from "@star-ng/ui/core";
4
+ var StarSpinner = class StarSpinner {
5
+ text = inject(STAR_UI_TEXT);
6
+ size = input("2.5rem", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
7
+ strokeWidth = input(4, ...ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []);
8
+ ariaLabel = input(null, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
9
+ static ɵfac = i0.ɵɵngDeclareFactory({
10
+ minVersion: "12.0.0",
11
+ version: "22.2.6",
12
+ ngImport: i0,
13
+ type: StarSpinner,
14
+ deps: [],
15
+ target: i0.ɵɵFactoryTarget.Component
16
+ });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({
18
+ minVersion: "17.1.0",
19
+ version: "22.2.6",
20
+ type: StarSpinner,
21
+ isStandalone: true,
22
+ selector: "star-spinner",
23
+ inputs: {
24
+ size: {
25
+ classPropertyName: "size",
26
+ publicName: "size",
27
+ isSignal: true,
28
+ isRequired: false,
29
+ transformFunction: null
30
+ },
31
+ strokeWidth: {
32
+ classPropertyName: "strokeWidth",
33
+ publicName: "strokeWidth",
34
+ isSignal: true,
35
+ isRequired: false,
36
+ transformFunction: null
37
+ },
38
+ ariaLabel: {
39
+ classPropertyName: "ariaLabel",
40
+ publicName: "ariaLabel",
41
+ isSignal: true,
42
+ isRequired: false,
43
+ transformFunction: null
44
+ }
45
+ },
46
+ host: {
47
+ attributes: { "role": "progressbar" },
48
+ properties: {
49
+ "attr.aria-label": "ariaLabel() ?? text.loading",
50
+ "style.width": "size()",
51
+ "style.height": "size()"
52
+ },
53
+ classAttribute: "star-spinner"
54
+ },
55
+ ngImport: i0,
56
+ template: `
57
+ <svg viewBox="0 0 50 50" aria-hidden="true">
58
+ <circle
59
+ class="star-spinner__track"
60
+ cx="25"
61
+ cy="25"
62
+ r="20"
63
+ fill="none"
64
+ [attr.stroke-width]="strokeWidth()"
65
+ />
66
+ <circle
67
+ class="star-spinner__arc"
68
+ cx="25"
69
+ cy="25"
70
+ r="20"
71
+ fill="none"
72
+ [attr.stroke-width]="strokeWidth()"
73
+ />
74
+ </svg>
75
+ `,
76
+ isInline: true,
77
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
78
+ });
79
+ };
80
+ i0.ɵɵngDeclareClassMetadata({
81
+ minVersion: "12.0.0",
82
+ version: "22.2.6",
83
+ ngImport: i0,
84
+ type: StarSpinner,
85
+ decorators: [{
86
+ type: Component,
87
+ args: [{
88
+ selector: "star-spinner",
89
+ changeDetection: ChangeDetectionStrategy.OnPush,
90
+ host: {
91
+ class: "star-spinner",
92
+ role: "progressbar",
93
+ "[attr.aria-label]": "ariaLabel() ?? text.loading",
94
+ "[style.width]": "size()",
95
+ "[style.height]": "size()"
96
+ },
97
+ template: `
98
+ <svg viewBox="0 0 50 50" aria-hidden="true">
99
+ <circle
100
+ class="star-spinner__track"
101
+ cx="25"
102
+ cy="25"
103
+ r="20"
104
+ fill="none"
105
+ [attr.stroke-width]="strokeWidth()"
106
+ />
107
+ <circle
108
+ class="star-spinner__arc"
109
+ cx="25"
110
+ cy="25"
111
+ r="20"
112
+ fill="none"
113
+ [attr.stroke-width]="strokeWidth()"
114
+ />
115
+ </svg>
116
+ `
117
+ }]
118
+ }],
119
+ propDecorators: {
120
+ size: [{
121
+ type: i0.Input,
122
+ args: [{
123
+ isSignal: true,
124
+ alias: "size",
125
+ required: false
126
+ }]
127
+ }],
128
+ strokeWidth: [{
129
+ type: i0.Input,
130
+ args: [{
131
+ isSignal: true,
132
+ alias: "strokeWidth",
133
+ required: false
134
+ }]
135
+ }],
136
+ ariaLabel: [{
137
+ type: i0.Input,
138
+ args: [{
139
+ isSignal: true,
140
+ alias: "ariaLabel",
141
+ required: false
142
+ }]
143
+ }]
144
+ }
145
+ });
146
+ export { StarSpinner };
147
+
148
+ //# sourceMappingURL=star-ng-ui-spinner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"star-ng-ui-spinner.mjs","names":[],"sources":["../../../projects/star-ng/spinner/spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { STAR_UI_TEXT } from '@star-ng/ui/core';\n\n/**\n * Indeterminate progress spinner (PrimeNG `p-progressspinner`), SVG stroke in the primary color.\n * `<star-spinner size=\"2rem\" />`\n */\n@Component({\n selector: 'star-spinner',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'star-spinner',\n role: 'progressbar',\n '[attr.aria-label]': 'ariaLabel() ?? text.loading',\n '[style.width]': 'size()',\n '[style.height]': 'size()',\n },\n template: `\n <svg viewBox=\"0 0 50 50\" aria-hidden=\"true\">\n <circle\n class=\"star-spinner__track\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n [attr.stroke-width]=\"strokeWidth()\"\n />\n <circle\n class=\"star-spinner__arc\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n [attr.stroke-width]=\"strokeWidth()\"\n />\n </svg>\n `,\n})\nexport class StarSpinner {\n protected readonly text = inject(STAR_UI_TEXT);\n readonly size = input('2.5rem');\n readonly strokeWidth = input(4);\n readonly ariaLabel = input<string | null>(null);\n}\n"],"mappings":";;;AAsCA,IAAa,cAAb,MAAa,YAAW;CACH,OAAO,OAAO,YAAY;CACpC,OAAO,MAAM,UAAS,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACtB,cAAc,MAAM,GAAE,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CACtB,YAAY,MAAqB,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,YAAA,CAAA,+BAAA,CAAA,CAAA;CAJpC,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAW,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAX,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAW,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,aAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,WAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,MAAA;GAAA,YAAA,EAAA,QAAA,cAAA;GAAA,YAAA;IAAA,mBAAA;IAAA,eAAA;IAAA,gBAAA;GAAA;GAAA,gBAAA;EAAA;EAAA,UAAA;EAAA,UArBZ;;;;;;;;;;;;;;;;;;;;EAmBT,UAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAEU,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAW,YAAA,CAAA;EA/BvB,MAAA;EAAU,MAAA,CAAA;GACT,UAAU;GACV,iBAAiB,wBAAwB;GACzC,MAAM;IACJ,OAAO;IACP,MAAM;IACN,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;GACnB;GACD,UAAU;;;;;;;;;;;;;;;;;;;;EAoBX,CAAA"}
@@ -0,0 +1,360 @@
1
+ import { _IdGenerator } from "@angular/cdk/a11y";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, booleanAttribute, computed, contentChildren, forwardRef, inject, input, model } from "@angular/core";
4
+ import { STAR_UI_TEXT } from "@star-ng/ui/core";
5
+ var StarStep = class StarStep {
6
+ stepper = inject(forwardRef(() => StarStepper));
7
+ ids = inject(_IdGenerator);
8
+ value = input.required(...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
9
+ label = input.required(...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
10
+ description = input("", ...ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []);
11
+ completed = input(false, {
12
+ ...ngDevMode ? { debugName: "completed" } : /* istanbul ignore next */ {},
13
+ transform: booleanAttribute
14
+ });
15
+ disabled = input(false, {
16
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
17
+ transform: booleanAttribute
18
+ });
19
+ headerId = this.ids.getId("star-step-");
20
+ panelId = this.ids.getId("star-step-panel-");
21
+ active = computed(() => this.stepper.current() === this.value(), ...ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []);
22
+ static ɵfac = i0.ɵɵngDeclareFactory({
23
+ minVersion: "12.0.0",
24
+ version: "22.2.6",
25
+ ngImport: i0,
26
+ type: StarStep,
27
+ deps: [],
28
+ target: i0.ɵɵFactoryTarget.Component
29
+ });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({
31
+ minVersion: "17.1.0",
32
+ version: "22.2.6",
33
+ type: StarStep,
34
+ isStandalone: true,
35
+ selector: "star-step",
36
+ inputs: {
37
+ value: {
38
+ classPropertyName: "value",
39
+ publicName: "value",
40
+ isSignal: true,
41
+ isRequired: true,
42
+ transformFunction: null
43
+ },
44
+ label: {
45
+ classPropertyName: "label",
46
+ publicName: "label",
47
+ isSignal: true,
48
+ isRequired: true,
49
+ transformFunction: null
50
+ },
51
+ description: {
52
+ classPropertyName: "description",
53
+ publicName: "description",
54
+ isSignal: true,
55
+ isRequired: false,
56
+ transformFunction: null
57
+ },
58
+ completed: {
59
+ classPropertyName: "completed",
60
+ publicName: "completed",
61
+ isSignal: true,
62
+ isRequired: false,
63
+ transformFunction: null
64
+ },
65
+ disabled: {
66
+ classPropertyName: "disabled",
67
+ publicName: "disabled",
68
+ isSignal: true,
69
+ isRequired: false,
70
+ transformFunction: null
71
+ }
72
+ },
73
+ host: {
74
+ attributes: { "role": "region" },
75
+ properties: {
76
+ "id": "panelId",
77
+ "attr.aria-labelledby": "headerId",
78
+ "hidden": "!active()"
79
+ },
80
+ classAttribute: "star-stepper__panel"
81
+ },
82
+ ngImport: i0,
83
+ template: `<ng-content />`,
84
+ isInline: true,
85
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
86
+ });
87
+ };
88
+ i0.ɵɵngDeclareClassMetadata({
89
+ minVersion: "12.0.0",
90
+ version: "22.2.6",
91
+ ngImport: i0,
92
+ type: StarStep,
93
+ decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ selector: "star-step",
97
+ changeDetection: ChangeDetectionStrategy.OnPush,
98
+ host: {
99
+ class: "star-stepper__panel",
100
+ role: "region",
101
+ "[id]": "panelId",
102
+ "[attr.aria-labelledby]": "headerId",
103
+ "[hidden]": "!active()"
104
+ },
105
+ template: `<ng-content />`
106
+ }]
107
+ }],
108
+ propDecorators: {
109
+ value: [{
110
+ type: i0.Input,
111
+ args: [{
112
+ isSignal: true,
113
+ alias: "value",
114
+ required: true
115
+ }]
116
+ }],
117
+ label: [{
118
+ type: i0.Input,
119
+ args: [{
120
+ isSignal: true,
121
+ alias: "label",
122
+ required: true
123
+ }]
124
+ }],
125
+ description: [{
126
+ type: i0.Input,
127
+ args: [{
128
+ isSignal: true,
129
+ alias: "description",
130
+ required: false
131
+ }]
132
+ }],
133
+ completed: [{
134
+ type: i0.Input,
135
+ args: [{
136
+ isSignal: true,
137
+ alias: "completed",
138
+ required: false
139
+ }]
140
+ }],
141
+ disabled: [{
142
+ type: i0.Input,
143
+ args: [{
144
+ isSignal: true,
145
+ alias: "disabled",
146
+ required: false
147
+ }]
148
+ }]
149
+ }
150
+ });
151
+ var StarStepper = class StarStepper {
152
+ text = inject(STAR_UI_TEXT);
153
+ value = model(null, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
154
+ linear = input(false, {
155
+ ...ngDevMode ? { debugName: "linear" } : /* istanbul ignore next */ {},
156
+ transform: booleanAttribute
157
+ });
158
+ ariaLabel = input(null, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
159
+ steps = contentChildren(StarStep, ...ngDevMode ? [{ debugName: "steps" }] : /* istanbul ignore next */ []);
160
+ current = computed(() => this.value() ?? this.steps()[0]?.value() ?? null, ...ngDevMode ? [{ debugName: "current" }] : /* istanbul ignore next */ []);
161
+ index = computed(() => this.steps().findIndex((s) => s.value() === this.current()), ...ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []);
162
+ isFirst = computed(() => this.index() <= 0, ...ngDevMode ? [{ debugName: "isFirst" }] : /* istanbul ignore next */ []);
163
+ isLast = computed(() => this.index() === this.steps().length - 1, ...ngDevMode ? [{ debugName: "isLast" }] : /* istanbul ignore next */ []);
164
+ reachable(index) {
165
+ const steps = this.steps();
166
+ if (steps[index]?.disabled()) return false;
167
+ if (!this.linear()) return true;
168
+ return steps.slice(0, index).every((step) => step.completed());
169
+ }
170
+ next() {
171
+ const index = this.index();
172
+ if (index < this.steps().length - 1 && this.reachable(index + 1)) this.value.set(this.steps()[index + 1].value());
173
+ }
174
+ previous() {
175
+ const index = this.index();
176
+ if (index > 0) this.value.set(this.steps()[index - 1].value());
177
+ }
178
+ static ɵfac = i0.ɵɵngDeclareFactory({
179
+ minVersion: "12.0.0",
180
+ version: "22.2.6",
181
+ ngImport: i0,
182
+ type: StarStepper,
183
+ deps: [],
184
+ target: i0.ɵɵFactoryTarget.Component
185
+ });
186
+ static ɵcmp = i0.ɵɵngDeclareComponent({
187
+ minVersion: "17.0.0",
188
+ version: "22.2.6",
189
+ type: StarStepper,
190
+ isStandalone: true,
191
+ selector: "star-stepper",
192
+ inputs: {
193
+ value: {
194
+ classPropertyName: "value",
195
+ publicName: "value",
196
+ isSignal: true,
197
+ isRequired: false,
198
+ transformFunction: null
199
+ },
200
+ linear: {
201
+ classPropertyName: "linear",
202
+ publicName: "linear",
203
+ isSignal: true,
204
+ isRequired: false,
205
+ transformFunction: null
206
+ },
207
+ ariaLabel: {
208
+ classPropertyName: "ariaLabel",
209
+ publicName: "ariaLabel",
210
+ isSignal: true,
211
+ isRequired: false,
212
+ transformFunction: null
213
+ }
214
+ },
215
+ outputs: { value: "valueChange" },
216
+ host: { classAttribute: "star-stepper" },
217
+ queries: [{
218
+ propertyName: "steps",
219
+ predicate: StarStep,
220
+ isSignal: true
221
+ }],
222
+ ngImport: i0,
223
+ template: `
224
+ <ol class="star-stepper__list" [attr.aria-label]="ariaLabel() ?? text.stepperLabel">
225
+ @for (step of steps(); track step.value(); let i = $index; let last = $last) {
226
+ <li
227
+ class="star-stepper__item"
228
+ [class.star-stepper__item--active]="step.active()"
229
+ [class.star-stepper__item--done]="step.completed()"
230
+ >
231
+ <button
232
+ type="button"
233
+ class="star-stepper__header"
234
+ [id]="step.headerId"
235
+ [attr.aria-controls]="step.panelId"
236
+ [attr.aria-current]="step.active() ? 'step' : null"
237
+ [disabled]="!reachable(i)"
238
+ (click)="value.set(step.value())"
239
+ >
240
+ <span class="star-stepper__number" aria-hidden="true">
241
+ @if (step.completed() && !step.active()) {
242
+ <i class="ph-bold ph-check"></i>
243
+ } @else {
244
+ {{ i + 1 }}
245
+ }
246
+ </span>
247
+ <span class="star-stepper__text">
248
+ <span class="star-stepper__label">{{ step.label() }}</span>
249
+ @if (step.description()) {
250
+ <span class="star-stepper__desc">{{ step.description() }}</span>
251
+ }
252
+ </span>
253
+ @if (step.completed()) {
254
+ <span class="star-sr-only">{{ text.stepCompleted }}</span>
255
+ }
256
+ </button>
257
+ @if (!last) {
258
+ <span class="star-stepper__line" aria-hidden="true"></span>
259
+ }
260
+ </li>
261
+ }
262
+ </ol>
263
+ <ng-content />
264
+ `,
265
+ isInline: true,
266
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
267
+ });
268
+ };
269
+ i0.ɵɵngDeclareClassMetadata({
270
+ minVersion: "12.0.0",
271
+ version: "22.2.6",
272
+ ngImport: i0,
273
+ type: StarStepper,
274
+ decorators: [{
275
+ type: Component,
276
+ args: [{
277
+ selector: "star-stepper",
278
+ changeDetection: ChangeDetectionStrategy.OnPush,
279
+ host: { class: "star-stepper" },
280
+ template: `
281
+ <ol class="star-stepper__list" [attr.aria-label]="ariaLabel() ?? text.stepperLabel">
282
+ @for (step of steps(); track step.value(); let i = $index; let last = $last) {
283
+ <li
284
+ class="star-stepper__item"
285
+ [class.star-stepper__item--active]="step.active()"
286
+ [class.star-stepper__item--done]="step.completed()"
287
+ >
288
+ <button
289
+ type="button"
290
+ class="star-stepper__header"
291
+ [id]="step.headerId"
292
+ [attr.aria-controls]="step.panelId"
293
+ [attr.aria-current]="step.active() ? 'step' : null"
294
+ [disabled]="!reachable(i)"
295
+ (click)="value.set(step.value())"
296
+ >
297
+ <span class="star-stepper__number" aria-hidden="true">
298
+ @if (step.completed() && !step.active()) {
299
+ <i class="ph-bold ph-check"></i>
300
+ } @else {
301
+ {{ i + 1 }}
302
+ }
303
+ </span>
304
+ <span class="star-stepper__text">
305
+ <span class="star-stepper__label">{{ step.label() }}</span>
306
+ @if (step.description()) {
307
+ <span class="star-stepper__desc">{{ step.description() }}</span>
308
+ }
309
+ </span>
310
+ @if (step.completed()) {
311
+ <span class="star-sr-only">{{ text.stepCompleted }}</span>
312
+ }
313
+ </button>
314
+ @if (!last) {
315
+ <span class="star-stepper__line" aria-hidden="true"></span>
316
+ }
317
+ </li>
318
+ }
319
+ </ol>
320
+ <ng-content />
321
+ `
322
+ }]
323
+ }],
324
+ propDecorators: {
325
+ value: [{
326
+ type: i0.Input,
327
+ args: [{
328
+ isSignal: true,
329
+ alias: "value",
330
+ required: false
331
+ }]
332
+ }, {
333
+ type: i0.Output,
334
+ args: ["valueChange"]
335
+ }],
336
+ linear: [{
337
+ type: i0.Input,
338
+ args: [{
339
+ isSignal: true,
340
+ alias: "linear",
341
+ required: false
342
+ }]
343
+ }],
344
+ ariaLabel: [{
345
+ type: i0.Input,
346
+ args: [{
347
+ isSignal: true,
348
+ alias: "ariaLabel",
349
+ required: false
350
+ }]
351
+ }],
352
+ steps: [{
353
+ type: i0.ContentChildren,
354
+ args: [i0.forwardRef(() => StarStep), { isSignal: true }]
355
+ }]
356
+ }
357
+ });
358
+ export { StarStep, StarStepper };
359
+
360
+ //# sourceMappingURL=star-ng-ui-stepper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"star-ng-ui-stepper.mjs","names":[],"sources":["../../../projects/star-ng/stepper/stepper.ts"],"sourcesContent":["import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n forwardRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { STAR_UI_TEXT } from '@star-ng/ui/core';\n\n/** One step of `star-stepper`; its content is the step panel. */\n@Component({\n selector: 'star-step',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'star-stepper__panel',\n role: 'region',\n '[id]': 'panelId',\n '[attr.aria-labelledby]': 'headerId',\n '[hidden]': '!active()',\n },\n template: `<ng-content />`,\n})\nexport class StarStep {\n private readonly stepper = inject(forwardRef(() => StarStepper));\n private readonly ids = inject(_IdGenerator);\n\n readonly value = input.required<string>();\n readonly label = input.required<string>();\n readonly description = input('');\n /** Marks the step done (check icon). In linear mode, later steps unlock only after this. */\n readonly completed = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly headerId = this.ids.getId('star-step-');\n readonly panelId = this.ids.getId('star-step-panel-');\n readonly active = computed(() => this.stepper.current() === this.value());\n}\n\n/**\n * Stepper (PrimeNG `p-stepper`): numbered steps with completed / current / upcoming states,\n * `[(value)]` for the active step, `linear` mode (a step opens only after all earlier steps\n * are `completed`), and `next()` / `previous()` for wizard buttons.\n *\n * ```html\n * <star-stepper #wizard [(value)]=\"step\" linear>\n * <star-step value=\"requester\" label=\"Requester\" [completed]=\"form.requester().valid()\">…</star-step>\n * <star-step value=\"question\" label=\"Question\">…</star-step>\n * </star-stepper>\n * ```\n */\n@Component({\n selector: 'star-stepper',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'star-stepper' },\n template: `\n <ol class=\"star-stepper__list\" [attr.aria-label]=\"ariaLabel() ?? text.stepperLabel\">\n @for (step of steps(); track step.value(); let i = $index; let last = $last) {\n <li\n class=\"star-stepper__item\"\n [class.star-stepper__item--active]=\"step.active()\"\n [class.star-stepper__item--done]=\"step.completed()\"\n >\n <button\n type=\"button\"\n class=\"star-stepper__header\"\n [id]=\"step.headerId\"\n [attr.aria-controls]=\"step.panelId\"\n [attr.aria-current]=\"step.active() ? 'step' : null\"\n [disabled]=\"!reachable(i)\"\n (click)=\"value.set(step.value())\"\n >\n <span class=\"star-stepper__number\" aria-hidden=\"true\">\n @if (step.completed() && !step.active()) {\n <i class=\"ph-bold ph-check\"></i>\n } @else {\n {{ i + 1 }}\n }\n </span>\n <span class=\"star-stepper__text\">\n <span class=\"star-stepper__label\">{{ step.label() }}</span>\n @if (step.description()) {\n <span class=\"star-stepper__desc\">{{ step.description() }}</span>\n }\n </span>\n @if (step.completed()) {\n <span class=\"star-sr-only\">{{ text.stepCompleted }}</span>\n }\n </button>\n @if (!last) {\n <span class=\"star-stepper__line\" aria-hidden=\"true\"></span>\n }\n </li>\n }\n </ol>\n <ng-content />\n `,\n})\nexport class StarStepper {\n protected readonly text = inject(STAR_UI_TEXT);\n readonly value = model<string | null>(null);\n readonly linear = input(false, { transform: booleanAttribute });\n readonly ariaLabel = input<string | null>(null);\n\n protected readonly steps = contentChildren(StarStep);\n\n readonly current = computed(() => this.value() ?? this.steps()[0]?.value() ?? null);\n readonly index = computed(() => this.steps().findIndex((s) => s.value() === this.current()));\n readonly isFirst = computed(() => this.index() <= 0);\n readonly isLast = computed(() => this.index() === this.steps().length - 1);\n\n protected reachable(index: number): boolean {\n const steps = this.steps();\n if (steps[index]?.disabled()) return false;\n if (!this.linear()) return true;\n return steps.slice(0, index).every((step) => step.completed());\n }\n\n next(): void {\n const index = this.index();\n if (index < this.steps().length - 1 && this.reachable(index + 1)) {\n this.value.set(this.steps()[index + 1].value());\n }\n }\n\n previous(): void {\n const index = this.index();\n if (index > 0) this.value.set(this.steps()[index - 1].value());\n }\n}\n"],"mappings":"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"}