@raqm/ui 0.0.0-stage → 0.1.1

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 (178) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +28 -0
  4. package/README.md +126 -3
  5. package/combobox/README.md +17 -0
  6. package/fesm2022/raqm-ui-accordion.mjs +414 -0
  7. package/fesm2022/raqm-ui-accordion.mjs.map +1 -0
  8. package/fesm2022/raqm-ui-alert-dialog.mjs +457 -0
  9. package/fesm2022/raqm-ui-alert-dialog.mjs.map +1 -0
  10. package/fesm2022/raqm-ui-alert.mjs +195 -0
  11. package/fesm2022/raqm-ui-alert.mjs.map +1 -0
  12. package/fesm2022/raqm-ui-aspect-ratio.mjs +66 -0
  13. package/fesm2022/raqm-ui-aspect-ratio.mjs.map +1 -0
  14. package/fesm2022/raqm-ui-attachment.mjs +435 -0
  15. package/fesm2022/raqm-ui-attachment.mjs.map +1 -0
  16. package/fesm2022/raqm-ui-avatar.mjs +337 -0
  17. package/fesm2022/raqm-ui-avatar.mjs.map +1 -0
  18. package/fesm2022/raqm-ui-badge.mjs +68 -0
  19. package/fesm2022/raqm-ui-badge.mjs.map +1 -0
  20. package/fesm2022/raqm-ui-breadcrumb.mjs +309 -0
  21. package/fesm2022/raqm-ui-breadcrumb.mjs.map +1 -0
  22. package/fesm2022/raqm-ui-button-group.mjs +138 -0
  23. package/fesm2022/raqm-ui-button-group.mjs.map +1 -0
  24. package/fesm2022/raqm-ui-button.mjs +295 -0
  25. package/fesm2022/raqm-ui-button.mjs.map +1 -0
  26. package/fesm2022/raqm-ui-calendar.mjs +1394 -0
  27. package/fesm2022/raqm-ui-calendar.mjs.map +1 -0
  28. package/fesm2022/raqm-ui-card.mjs +331 -0
  29. package/fesm2022/raqm-ui-card.mjs.map +1 -0
  30. package/fesm2022/raqm-ui-carousel.mjs +410 -0
  31. package/fesm2022/raqm-ui-carousel.mjs.map +1 -0
  32. package/fesm2022/raqm-ui-checkbox.mjs +86 -0
  33. package/fesm2022/raqm-ui-checkbox.mjs.map +1 -0
  34. package/fesm2022/raqm-ui-collapsible.mjs +266 -0
  35. package/fesm2022/raqm-ui-collapsible.mjs.map +1 -0
  36. package/fesm2022/raqm-ui-combobox.mjs +1584 -0
  37. package/fesm2022/raqm-ui-combobox.mjs.map +1 -0
  38. package/fesm2022/raqm-ui-command.mjs +1210 -0
  39. package/fesm2022/raqm-ui-command.mjs.map +1 -0
  40. package/fesm2022/raqm-ui-context-menu.mjs +723 -0
  41. package/fesm2022/raqm-ui-context-menu.mjs.map +1 -0
  42. package/fesm2022/raqm-ui-dialog.mjs +1214 -0
  43. package/fesm2022/raqm-ui-dialog.mjs.map +1 -0
  44. package/fesm2022/raqm-ui-drawer.mjs +687 -0
  45. package/fesm2022/raqm-ui-drawer.mjs.map +1 -0
  46. package/fesm2022/raqm-ui-dropdown-menu.mjs +1168 -0
  47. package/fesm2022/raqm-ui-dropdown-menu.mjs.map +1 -0
  48. package/fesm2022/raqm-ui-empty.mjs +272 -0
  49. package/fesm2022/raqm-ui-empty.mjs.map +1 -0
  50. package/fesm2022/raqm-ui-field.mjs +517 -0
  51. package/fesm2022/raqm-ui-field.mjs.map +1 -0
  52. package/fesm2022/raqm-ui-hover-card.mjs +828 -0
  53. package/fesm2022/raqm-ui-hover-card.mjs.map +1 -0
  54. package/fesm2022/raqm-ui-input-group.mjs +270 -0
  55. package/fesm2022/raqm-ui-input-group.mjs.map +1 -0
  56. package/fesm2022/raqm-ui-input-otp.mjs +788 -0
  57. package/fesm2022/raqm-ui-input-otp.mjs.map +1 -0
  58. package/fesm2022/raqm-ui-input.mjs +73 -0
  59. package/fesm2022/raqm-ui-input.mjs.map +1 -0
  60. package/fesm2022/raqm-ui-item.mjs +495 -0
  61. package/fesm2022/raqm-ui-item.mjs.map +1 -0
  62. package/fesm2022/raqm-ui-kbd.mjs +80 -0
  63. package/fesm2022/raqm-ui-kbd.mjs.map +1 -0
  64. package/fesm2022/raqm-ui-label.mjs +44 -0
  65. package/fesm2022/raqm-ui-label.mjs.map +1 -0
  66. package/fesm2022/raqm-ui-menubar.mjs +536 -0
  67. package/fesm2022/raqm-ui-menubar.mjs.map +1 -0
  68. package/fesm2022/raqm-ui-native-select.mjs +131 -0
  69. package/fesm2022/raqm-ui-native-select.mjs.map +1 -0
  70. package/fesm2022/raqm-ui-navigation-menu.mjs +1399 -0
  71. package/fesm2022/raqm-ui-navigation-menu.mjs.map +1 -0
  72. package/fesm2022/raqm-ui-overlay-internal.mjs +185 -0
  73. package/fesm2022/raqm-ui-overlay-internal.mjs.map +1 -0
  74. package/fesm2022/raqm-ui-pagination.mjs +440 -0
  75. package/fesm2022/raqm-ui-pagination.mjs.map +1 -0
  76. package/fesm2022/raqm-ui-popover.mjs +1495 -0
  77. package/fesm2022/raqm-ui-popover.mjs.map +1 -0
  78. package/fesm2022/raqm-ui-progress.mjs +369 -0
  79. package/fesm2022/raqm-ui-progress.mjs.map +1 -0
  80. package/fesm2022/raqm-ui-questionnaire.mjs +1005 -0
  81. package/fesm2022/raqm-ui-questionnaire.mjs.map +1 -0
  82. package/fesm2022/raqm-ui-radio-group.mjs +151 -0
  83. package/fesm2022/raqm-ui-radio-group.mjs.map +1 -0
  84. package/fesm2022/raqm-ui-resizable.mjs +439 -0
  85. package/fesm2022/raqm-ui-resizable.mjs.map +1 -0
  86. package/fesm2022/raqm-ui-scroll-area.mjs +510 -0
  87. package/fesm2022/raqm-ui-scroll-area.mjs.map +1 -0
  88. package/fesm2022/raqm-ui-select.mjs +1073 -0
  89. package/fesm2022/raqm-ui-select.mjs.map +1 -0
  90. package/fesm2022/raqm-ui-separator.mjs +103 -0
  91. package/fesm2022/raqm-ui-separator.mjs.map +1 -0
  92. package/fesm2022/raqm-ui-sheet.mjs +411 -0
  93. package/fesm2022/raqm-ui-sheet.mjs.map +1 -0
  94. package/fesm2022/raqm-ui-sidebar.mjs +1784 -0
  95. package/fesm2022/raqm-ui-sidebar.mjs.map +1 -0
  96. package/fesm2022/raqm-ui-skeleton.mjs +50 -0
  97. package/fesm2022/raqm-ui-skeleton.mjs.map +1 -0
  98. package/fesm2022/raqm-ui-slider.mjs +609 -0
  99. package/fesm2022/raqm-ui-slider.mjs.map +1 -0
  100. package/fesm2022/raqm-ui-spinner.mjs +137 -0
  101. package/fesm2022/raqm-ui-spinner.mjs.map +1 -0
  102. package/fesm2022/raqm-ui-switch.mjs +109 -0
  103. package/fesm2022/raqm-ui-switch.mjs.map +1 -0
  104. package/fesm2022/raqm-ui-table.mjs +271 -0
  105. package/fesm2022/raqm-ui-table.mjs.map +1 -0
  106. package/fesm2022/raqm-ui-tabs.mjs +536 -0
  107. package/fesm2022/raqm-ui-tabs.mjs.map +1 -0
  108. package/fesm2022/raqm-ui-textarea.mjs +37 -0
  109. package/fesm2022/raqm-ui-textarea.mjs.map +1 -0
  110. package/fesm2022/raqm-ui-toast.mjs +918 -0
  111. package/fesm2022/raqm-ui-toast.mjs.map +1 -0
  112. package/fesm2022/raqm-ui-toggle-group.mjs +462 -0
  113. package/fesm2022/raqm-ui-toggle-group.mjs.map +1 -0
  114. package/fesm2022/raqm-ui-toggle.mjs +158 -0
  115. package/fesm2022/raqm-ui-toggle.mjs.map +1 -0
  116. package/fesm2022/raqm-ui-tooltip.mjs +1226 -0
  117. package/fesm2022/raqm-ui-tooltip.mjs.map +1 -0
  118. package/fesm2022/raqm-ui.mjs +50 -0
  119. package/input-otp/README.md +12 -0
  120. package/package.json +275 -3
  121. package/styles/theme.css +4324 -0
  122. package/types/raqm-ui-accordion.d.ts +124 -0
  123. package/types/raqm-ui-alert-dialog.d.ts +81 -0
  124. package/types/raqm-ui-alert.d.ts +29 -0
  125. package/types/raqm-ui-aspect-ratio.d.ts +13 -0
  126. package/types/raqm-ui-attachment.d.ts +72 -0
  127. package/types/raqm-ui-avatar.d.ts +67 -0
  128. package/types/raqm-ui-badge.d.ts +20 -0
  129. package/types/raqm-ui-breadcrumb.d.ts +35 -0
  130. package/types/raqm-ui-button-group.d.ts +27 -0
  131. package/types/raqm-ui-button.d.ts +80 -0
  132. package/types/raqm-ui-calendar.d.ts +359 -0
  133. package/types/raqm-ui-card.d.ts +34 -0
  134. package/types/raqm-ui-carousel.d.ts +81 -0
  135. package/types/raqm-ui-checkbox.d.ts +24 -0
  136. package/types/raqm-ui-collapsible.d.ts +72 -0
  137. package/types/raqm-ui-combobox.d.ts +405 -0
  138. package/types/raqm-ui-command.d.ts +256 -0
  139. package/types/raqm-ui-context-menu.d.ts +196 -0
  140. package/types/raqm-ui-dialog.d.ts +232 -0
  141. package/types/raqm-ui-drawer.d.ts +121 -0
  142. package/types/raqm-ui-dropdown-menu.d.ts +319 -0
  143. package/types/raqm-ui-empty.d.ts +35 -0
  144. package/types/raqm-ui-field.d.ts +88 -0
  145. package/types/raqm-ui-hover-card.d.ts +139 -0
  146. package/types/raqm-ui-input-group.d.ts +45 -0
  147. package/types/raqm-ui-input-otp.d.ts +197 -0
  148. package/types/raqm-ui-input.d.ts +16 -0
  149. package/types/raqm-ui-item.d.ts +71 -0
  150. package/types/raqm-ui-kbd.d.ts +12 -0
  151. package/types/raqm-ui-label.d.ts +6 -0
  152. package/types/raqm-ui-menubar.d.ts +159 -0
  153. package/types/raqm-ui-native-select.d.ts +23 -0
  154. package/types/raqm-ui-navigation-menu.d.ts +230 -0
  155. package/types/raqm-ui-overlay-internal.d.ts +5 -0
  156. package/types/raqm-ui-pagination.d.ts +84 -0
  157. package/types/raqm-ui-popover.d.ts +235 -0
  158. package/types/raqm-ui-progress.d.ts +79 -0
  159. package/types/raqm-ui-questionnaire.d.ts +217 -0
  160. package/types/raqm-ui-radio-group.d.ts +48 -0
  161. package/types/raqm-ui-resizable.d.ts +98 -0
  162. package/types/raqm-ui-scroll-area.d.ts +132 -0
  163. package/types/raqm-ui-select.d.ts +205 -0
  164. package/types/raqm-ui-separator.d.ts +21 -0
  165. package/types/raqm-ui-sheet.d.ts +79 -0
  166. package/types/raqm-ui-sidebar.d.ts +285 -0
  167. package/types/raqm-ui-skeleton.d.ts +6 -0
  168. package/types/raqm-ui-slider.d.ts +129 -0
  169. package/types/raqm-ui-spinner.d.ts +32 -0
  170. package/types/raqm-ui-switch.d.ts +32 -0
  171. package/types/raqm-ui-table.d.ts +36 -0
  172. package/types/raqm-ui-tabs.d.ts +154 -0
  173. package/types/raqm-ui-textarea.d.ts +6 -0
  174. package/types/raqm-ui-toast.d.ts +190 -0
  175. package/types/raqm-ui-toggle-group.d.ts +167 -0
  176. package/types/raqm-ui-toggle.d.ts +42 -0
  177. package/types/raqm-ui-tooltip.d.ts +207 -0
  178. package/types/raqm-ui.d.ts +50 -0
@@ -0,0 +1,517 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, Directive, ElementRef, booleanAttribute, computed, inject, input, signal } from "@angular/core";
3
+ import { RaqmSeparator } from "@raqm/ui/separator";
4
+ var RaqmFieldComponent = class RaqmFieldComponent {
5
+ orientation = input("vertical", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
6
+ hostIsCustomElement = inject(ElementRef).nativeElement.tagName === "RAQM-FIELD";
7
+ role = this.hostIsCustomElement ? "group" : null;
8
+ static ɵfac = i0.ɵɵngDeclareFactory({
9
+ minVersion: "12.0.0",
10
+ version: "22.2.2",
11
+ ngImport: i0,
12
+ type: RaqmFieldComponent,
13
+ deps: [],
14
+ target: i0.ɵɵFactoryTarget.Component
15
+ });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({
17
+ minVersion: "17.1.0",
18
+ version: "22.2.2",
19
+ type: RaqmFieldComponent,
20
+ isStandalone: true,
21
+ selector: "raqm-field, span[raqm-field]",
22
+ inputs: { orientation: {
23
+ classPropertyName: "orientation",
24
+ publicName: "orientation",
25
+ isSignal: true,
26
+ isRequired: false,
27
+ transformFunction: null
28
+ } },
29
+ host: {
30
+ properties: {
31
+ "attr.data-raqm-orientation": "orientation()",
32
+ "attr.role": "role"
33
+ },
34
+ classAttribute: "raqm-field"
35
+ },
36
+ ngImport: i0,
37
+ template: "<ng-content />",
38
+ isInline: true,
39
+ styles: [":host{display:flex;width:100%;gap:calc(var(--raqm-spacing) * 2);flex-direction:column}:host([data-raqm-orientation=horizontal]){flex-direction:row;align-items:center}@container raqm-field-group (min-width: 28rem){:host([data-raqm-orientation=responsive]){flex-direction:row;align-items:center}}:host([data-invalid=true]){color:var(--raqm-destructive)}\n"],
40
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
41
+ });
42
+ };
43
+ i0.ɵɵngDeclareClassMetadata({
44
+ minVersion: "12.0.0",
45
+ version: "22.2.2",
46
+ ngImport: i0,
47
+ type: RaqmFieldComponent,
48
+ decorators: [{
49
+ type: Component,
50
+ args: [{
51
+ selector: "raqm-field, span[raqm-field]",
52
+ template: "<ng-content />",
53
+ changeDetection: ChangeDetectionStrategy.OnPush,
54
+ host: {
55
+ class: "raqm-field",
56
+ "[attr.data-raqm-orientation]": "orientation()",
57
+ "[attr.role]": "role"
58
+ },
59
+ styles: [":host{display:flex;width:100%;gap:calc(var(--raqm-spacing) * 2);flex-direction:column}:host([data-raqm-orientation=horizontal]){flex-direction:row;align-items:center}@container raqm-field-group (min-width: 28rem){:host([data-raqm-orientation=responsive]){flex-direction:row;align-items:center}}:host([data-invalid=true]){color:var(--raqm-destructive)}\n"]
60
+ }]
61
+ }],
62
+ propDecorators: { orientation: [{
63
+ type: i0.Input,
64
+ args: [{
65
+ isSignal: true,
66
+ alias: "orientation",
67
+ required: false
68
+ }]
69
+ }] }
70
+ });
71
+ var RaqmFieldContentComponent = class RaqmFieldContentComponent {
72
+ static ɵfac = i0.ɵɵngDeclareFactory({
73
+ minVersion: "12.0.0",
74
+ version: "22.2.2",
75
+ ngImport: i0,
76
+ type: RaqmFieldContentComponent,
77
+ deps: [],
78
+ target: i0.ɵɵFactoryTarget.Component
79
+ });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({
81
+ minVersion: "14.0.0",
82
+ version: "22.2.2",
83
+ type: RaqmFieldContentComponent,
84
+ isStandalone: true,
85
+ selector: "raqm-field-content, span[raqm-field-content]",
86
+ host: { classAttribute: "raqm-field-content" },
87
+ ngImport: i0,
88
+ template: "<ng-content />",
89
+ isInline: true,
90
+ styles: [":host{display:flex;flex:1 1 0%;flex-direction:column;gap:calc(var(--raqm-spacing) * .5);line-height:var(--raqm-line-height-snug);min-width:0;overflow-wrap:anywhere}\n"],
91
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
92
+ });
93
+ };
94
+ i0.ɵɵngDeclareClassMetadata({
95
+ minVersion: "12.0.0",
96
+ version: "22.2.2",
97
+ ngImport: i0,
98
+ type: RaqmFieldContentComponent,
99
+ decorators: [{
100
+ type: Component,
101
+ args: [{
102
+ selector: "raqm-field-content, span[raqm-field-content]",
103
+ template: "<ng-content />",
104
+ changeDetection: ChangeDetectionStrategy.OnPush,
105
+ host: { class: "raqm-field-content" },
106
+ styles: [":host{display:flex;flex:1 1 0%;flex-direction:column;gap:calc(var(--raqm-spacing) * .5);line-height:var(--raqm-line-height-snug);min-width:0;overflow-wrap:anywhere}\n"]
107
+ }]
108
+ }]
109
+ });
110
+ var RaqmFieldDescriptionComponent = class RaqmFieldDescriptionComponent {
111
+ static ɵfac = i0.ɵɵngDeclareFactory({
112
+ minVersion: "12.0.0",
113
+ version: "22.2.2",
114
+ ngImport: i0,
115
+ type: RaqmFieldDescriptionComponent,
116
+ deps: [],
117
+ target: i0.ɵɵFactoryTarget.Component
118
+ });
119
+ static ɵcmp = i0.ɵɵngDeclareComponent({
120
+ minVersion: "14.0.0",
121
+ version: "22.2.2",
122
+ type: RaqmFieldDescriptionComponent,
123
+ isStandalone: true,
124
+ selector: "raqm-field-description, span[raqm-field-description]",
125
+ host: { classAttribute: "raqm-field-description" },
126
+ ngImport: i0,
127
+ template: "<ng-content />",
128
+ isInline: true,
129
+ styles: [":host{display:block;margin:0;color:var(--raqm-muted-foreground);font-size:var(--raqm-font-size-sm);line-height:var(--raqm-line-height-normal);font-weight:var(--raqm-font-weight-normal);text-align:start;min-width:0;overflow-wrap:anywhere}\n"],
130
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
131
+ });
132
+ };
133
+ i0.ɵɵngDeclareClassMetadata({
134
+ minVersion: "12.0.0",
135
+ version: "22.2.2",
136
+ ngImport: i0,
137
+ type: RaqmFieldDescriptionComponent,
138
+ decorators: [{
139
+ type: Component,
140
+ args: [{
141
+ selector: "raqm-field-description, span[raqm-field-description]",
142
+ template: "<ng-content />",
143
+ changeDetection: ChangeDetectionStrategy.OnPush,
144
+ host: { class: "raqm-field-description" },
145
+ styles: [":host{display:block;margin:0;color:var(--raqm-muted-foreground);font-size:var(--raqm-font-size-sm);line-height:var(--raqm-line-height-normal);font-weight:var(--raqm-font-weight-normal);text-align:start;min-width:0;overflow-wrap:anywhere}\n"]
146
+ }]
147
+ }]
148
+ });
149
+ var RaqmFieldErrorComponent = class RaqmFieldErrorComponent {
150
+ errors = input([], ...ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []);
151
+ messages = computed(() => {
152
+ const seen = /* @__PURE__ */ new Set();
153
+ const unique = [];
154
+ for (const entry of this.errors()) {
155
+ const message = entry?.message;
156
+ if (typeof message === "string" && message.length > 0 && !seen.has(message)) {
157
+ seen.add(message);
158
+ unique.push(message);
159
+ }
160
+ }
161
+ return unique;
162
+ }, ...ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []);
163
+ static ɵfac = i0.ɵɵngDeclareFactory({
164
+ minVersion: "12.0.0",
165
+ version: "22.2.2",
166
+ ngImport: i0,
167
+ type: RaqmFieldErrorComponent,
168
+ deps: [],
169
+ target: i0.ɵɵFactoryTarget.Component
170
+ });
171
+ static ɵcmp = i0.ɵɵngDeclareComponent({
172
+ minVersion: "17.0.0",
173
+ version: "22.2.2",
174
+ type: RaqmFieldErrorComponent,
175
+ isStandalone: true,
176
+ selector: "raqm-field-error",
177
+ inputs: { errors: {
178
+ classPropertyName: "errors",
179
+ publicName: "errors",
180
+ isSignal: true,
181
+ isRequired: false,
182
+ transformFunction: null
183
+ } },
184
+ host: { classAttribute: "raqm-field-error" },
185
+ exportAs: ["raqmFieldError"],
186
+ ngImport: i0,
187
+ template: "<!-- Projected content wins over `errors`; each region renders only when non-empty. -->\r\n<div class=\"raqm-field-error__content\" role=\"alert\"><ng-content /></div>\r\n@if (messages().length > 0) {\r\n <div class=\"raqm-field-error__generated\" role=\"alert\">\r\n @if (messages().length === 1) {\r\n {{ messages()[0] }}\r\n } @else {\r\n <ul class=\"raqm-field-error__list\">\r\n @for (message of messages(); track message) {\r\n <li class=\"raqm-field-error__item\">{{ message }}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n}\r\n",
188
+ styles: [":host{display:block;margin:0;color:var(--raqm-destructive);font-size:var(--raqm-font-size-sm);line-height:calc(var(--raqm-spacing) * 5);font-weight:var(--raqm-font-weight-normal);min-width:0;overflow-wrap:anywhere}.raqm-field-error__content:empty{display:none}.raqm-field-error__content:not(:empty)~.raqm-field-error__generated{display:none}:host:has(>.raqm-field-error__content:empty):not(:has(>.raqm-field-error__generated)){display:none}.raqm-field-error__list{display:flex;flex-direction:column;gap:calc(var(--raqm-spacing) * 1);margin:0;margin-inline-start:calc(var(--raqm-spacing) * 4);padding:0;list-style-type:disc}\n"],
189
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
190
+ });
191
+ };
192
+ i0.ɵɵngDeclareClassMetadata({
193
+ minVersion: "12.0.0",
194
+ version: "22.2.2",
195
+ ngImport: i0,
196
+ type: RaqmFieldErrorComponent,
197
+ decorators: [{
198
+ type: Component,
199
+ args: [{
200
+ selector: "raqm-field-error",
201
+ changeDetection: ChangeDetectionStrategy.OnPush,
202
+ exportAs: "raqmFieldError",
203
+ host: { class: "raqm-field-error" },
204
+ template: "<!-- Projected content wins over `errors`; each region renders only when non-empty. -->\r\n<div class=\"raqm-field-error__content\" role=\"alert\"><ng-content /></div>\r\n@if (messages().length > 0) {\r\n <div class=\"raqm-field-error__generated\" role=\"alert\">\r\n @if (messages().length === 1) {\r\n {{ messages()[0] }}\r\n } @else {\r\n <ul class=\"raqm-field-error__list\">\r\n @for (message of messages(); track message) {\r\n <li class=\"raqm-field-error__item\">{{ message }}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n}\r\n",
205
+ styles: [":host{display:block;margin:0;color:var(--raqm-destructive);font-size:var(--raqm-font-size-sm);line-height:calc(var(--raqm-spacing) * 5);font-weight:var(--raqm-font-weight-normal);min-width:0;overflow-wrap:anywhere}.raqm-field-error__content:empty{display:none}.raqm-field-error__content:not(:empty)~.raqm-field-error__generated{display:none}:host:has(>.raqm-field-error__content:empty):not(:has(>.raqm-field-error__generated)){display:none}.raqm-field-error__list{display:flex;flex-direction:column;gap:calc(var(--raqm-spacing) * 1);margin:0;margin-inline-start:calc(var(--raqm-spacing) * 4);padding:0;list-style-type:disc}\n"]
206
+ }]
207
+ }],
208
+ propDecorators: { errors: [{
209
+ type: i0.Input,
210
+ args: [{
211
+ isSignal: true,
212
+ alias: "errors",
213
+ required: false
214
+ }]
215
+ }] }
216
+ });
217
+ var RaqmFieldGroupComponent = class RaqmFieldGroupComponent {
218
+ static ɵfac = i0.ɵɵngDeclareFactory({
219
+ minVersion: "12.0.0",
220
+ version: "22.2.2",
221
+ ngImport: i0,
222
+ type: RaqmFieldGroupComponent,
223
+ deps: [],
224
+ target: i0.ɵɵFactoryTarget.Component
225
+ });
226
+ static ɵcmp = i0.ɵɵngDeclareComponent({
227
+ minVersion: "14.0.0",
228
+ version: "22.2.2",
229
+ type: RaqmFieldGroupComponent,
230
+ isStandalone: true,
231
+ selector: "raqm-field-group",
232
+ host: { classAttribute: "raqm-field-group" },
233
+ ngImport: i0,
234
+ template: "<ng-content />",
235
+ isInline: true,
236
+ styles: [":host{display:flex;flex-direction:column;inline-size:100%;gap:calc(var(--raqm-spacing) * 5);container-type:inline-size;container-name:raqm-field-group;min-inline-size:0;overflow-wrap:anywhere}\n"],
237
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
238
+ });
239
+ };
240
+ i0.ɵɵngDeclareClassMetadata({
241
+ minVersion: "12.0.0",
242
+ version: "22.2.2",
243
+ ngImport: i0,
244
+ type: RaqmFieldGroupComponent,
245
+ decorators: [{
246
+ type: Component,
247
+ args: [{
248
+ selector: "raqm-field-group",
249
+ template: "<ng-content />",
250
+ changeDetection: ChangeDetectionStrategy.OnPush,
251
+ host: { class: "raqm-field-group" },
252
+ styles: [":host{display:flex;flex-direction:column;inline-size:100%;gap:calc(var(--raqm-spacing) * 5);container-type:inline-size;container-name:raqm-field-group;min-inline-size:0;overflow-wrap:anywhere}\n"]
253
+ }]
254
+ }]
255
+ });
256
+ var RaqmFieldLabelDirective = class RaqmFieldLabelDirective {
257
+ static ɵfac = i0.ɵɵngDeclareFactory({
258
+ minVersion: "12.0.0",
259
+ version: "22.2.2",
260
+ ngImport: i0,
261
+ type: RaqmFieldLabelDirective,
262
+ deps: [],
263
+ target: i0.ɵɵFactoryTarget.Directive
264
+ });
265
+ static ɵdir = i0.ɵɵngDeclareDirective({
266
+ minVersion: "14.0.0",
267
+ version: "22.2.2",
268
+ type: RaqmFieldLabelDirective,
269
+ isStandalone: true,
270
+ selector: "label[raqm-field-label]",
271
+ host: { classAttribute: "raqm-field-label" },
272
+ ngImport: i0
273
+ });
274
+ };
275
+ i0.ɵɵngDeclareClassMetadata({
276
+ minVersion: "12.0.0",
277
+ version: "22.2.2",
278
+ ngImport: i0,
279
+ type: RaqmFieldLabelDirective,
280
+ decorators: [{
281
+ type: Directive,
282
+ args: [{
283
+ selector: "label[raqm-field-label]",
284
+ host: { class: "raqm-field-label" }
285
+ }]
286
+ }]
287
+ });
288
+ var RaqmFieldLegendComponent = class RaqmFieldLegendComponent {
289
+ legend = input(false, {
290
+ ...ngDevMode ? { debugName: "legend" } : /* istanbul ignore next */ {},
291
+ transform: booleanAttribute
292
+ });
293
+ label = input(false, {
294
+ ...ngDevMode ? { debugName: "label" } : /* istanbul ignore next */ {},
295
+ transform: booleanAttribute
296
+ });
297
+ activeTreatment = computed(() => {
298
+ const legend = this.legend();
299
+ const label = this.label();
300
+ if (legend && label) throw new Error("raqm-field-legend: use either legend or label, not both.");
301
+ return label ? "label" : "legend";
302
+ }, ...ngDevMode ? [{ debugName: "activeTreatment" }] : /* istanbul ignore next */ []);
303
+ static ɵfac = i0.ɵɵngDeclareFactory({
304
+ minVersion: "12.0.0",
305
+ version: "22.2.2",
306
+ ngImport: i0,
307
+ type: RaqmFieldLegendComponent,
308
+ deps: [],
309
+ target: i0.ɵɵFactoryTarget.Component
310
+ });
311
+ static ɵcmp = i0.ɵɵngDeclareComponent({
312
+ minVersion: "17.1.0",
313
+ version: "22.2.2",
314
+ type: RaqmFieldLegendComponent,
315
+ isStandalone: true,
316
+ selector: "legend[raqm-field-legend]",
317
+ inputs: {
318
+ legend: {
319
+ classPropertyName: "legend",
320
+ publicName: "legend",
321
+ isSignal: true,
322
+ isRequired: false,
323
+ transformFunction: null
324
+ },
325
+ label: {
326
+ classPropertyName: "label",
327
+ publicName: "label",
328
+ isSignal: true,
329
+ isRequired: false,
330
+ transformFunction: null
331
+ }
332
+ },
333
+ host: {
334
+ properties: { "attr.data-raqm-label": "activeTreatment() === \"label\" ? \"\" : null" },
335
+ classAttribute: "raqm-field-legend"
336
+ },
337
+ ngImport: i0,
338
+ template: "<ng-content />",
339
+ isInline: true,
340
+ styles: [":host{margin:0;padding:0;margin-block-end:calc(var(--raqm-spacing) * 1.5);font-weight:var(--raqm-font-weight-medium);font-size:var(--raqm-font-size-base);line-height:calc(var(--raqm-spacing) * 6);color:var(--raqm-foreground);min-width:0;overflow-wrap:anywhere}:host([data-raqm-label]){font-size:var(--raqm-font-size-sm);line-height:calc(var(--raqm-spacing) * 5)}\n"],
341
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
342
+ });
343
+ };
344
+ i0.ɵɵngDeclareClassMetadata({
345
+ minVersion: "12.0.0",
346
+ version: "22.2.2",
347
+ ngImport: i0,
348
+ type: RaqmFieldLegendComponent,
349
+ decorators: [{
350
+ type: Component,
351
+ args: [{
352
+ selector: "legend[raqm-field-legend]",
353
+ template: "<ng-content />",
354
+ changeDetection: ChangeDetectionStrategy.OnPush,
355
+ host: {
356
+ class: "raqm-field-legend",
357
+ "[attr.data-raqm-label]": "activeTreatment() === \"label\" ? \"\" : null"
358
+ },
359
+ styles: [":host{margin:0;padding:0;margin-block-end:calc(var(--raqm-spacing) * 1.5);font-weight:var(--raqm-font-weight-medium);font-size:var(--raqm-font-size-base);line-height:calc(var(--raqm-spacing) * 6);color:var(--raqm-foreground);min-width:0;overflow-wrap:anywhere}:host([data-raqm-label]){font-size:var(--raqm-font-size-sm);line-height:calc(var(--raqm-spacing) * 5)}\n"]
360
+ }]
361
+ }],
362
+ propDecorators: {
363
+ legend: [{
364
+ type: i0.Input,
365
+ args: [{
366
+ isSignal: true,
367
+ alias: "legend",
368
+ required: false
369
+ }]
370
+ }],
371
+ label: [{
372
+ type: i0.Input,
373
+ args: [{
374
+ isSignal: true,
375
+ alias: "label",
376
+ required: false
377
+ }]
378
+ }]
379
+ }
380
+ });
381
+ var RaqmFieldSeparatorComponent = class RaqmFieldSeparatorComponent {
382
+ host = inject(ElementRef);
383
+ hasCaption = signal(false, ...ngDevMode ? [{ debugName: "hasCaption" }] : /* istanbul ignore next */ []);
384
+ ngAfterContentChecked() {
385
+ const hasCaption = (this.host.nativeElement.textContent ?? "").trim().length > 0;
386
+ if (hasCaption !== this.hasCaption()) this.hasCaption.set(hasCaption);
387
+ }
388
+ static ɵfac = i0.ɵɵngDeclareFactory({
389
+ minVersion: "12.0.0",
390
+ version: "22.2.2",
391
+ ngImport: i0,
392
+ type: RaqmFieldSeparatorComponent,
393
+ deps: [],
394
+ target: i0.ɵɵFactoryTarget.Component
395
+ });
396
+ static ɵcmp = i0.ɵɵngDeclareComponent({
397
+ minVersion: "14.0.0",
398
+ version: "22.2.2",
399
+ type: RaqmFieldSeparatorComponent,
400
+ isStandalone: true,
401
+ selector: "raqm-field-separator",
402
+ host: { classAttribute: "raqm-field-separator" },
403
+ ngImport: i0,
404
+ template: "<!-- Rule first; the caption sits on top and hides for whitespace-only content. -->\r\n<div class=\"raqm-field-separator__line\">\r\n <raqm-separator />\r\n</div>\r\n\r\n<span class=\"raqm-field-separator__caption\" [hidden]=\"!hasCaption()\">\r\n <ng-content />\r\n</span>\r\n",
405
+ styles: [":host{position:relative;display:flex;align-items:center;justify-content:center;min-block-size:calc(var(--raqm-spacing) * 5);margin-block:calc(var(--raqm-spacing) * -2);min-inline-size:0;overflow-wrap:anywhere}.raqm-field-separator__line{position:absolute;inset-inline:0;inset-block-start:50%;transform:translateY(-50%)}.raqm-field-separator__caption{position:relative;z-index:1;box-sizing:border-box;max-inline-size:100%;padding-inline:calc(var(--raqm-spacing) * 2);background-color:var(--raqm-background);color:var(--raqm-muted-foreground);font-size:var(--raqm-font-size-sm);text-align:center;overflow-wrap:anywhere}\n"],
406
+ dependencies: [{
407
+ kind: "component",
408
+ type: RaqmSeparator,
409
+ selector: "raqm-separator",
410
+ inputs: ["horizontal", "vertical"]
411
+ }],
412
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
413
+ });
414
+ };
415
+ i0.ɵɵngDeclareClassMetadata({
416
+ minVersion: "12.0.0",
417
+ version: "22.2.2",
418
+ ngImport: i0,
419
+ type: RaqmFieldSeparatorComponent,
420
+ decorators: [{
421
+ type: Component,
422
+ args: [{
423
+ selector: "raqm-field-separator",
424
+ imports: [RaqmSeparator],
425
+ changeDetection: ChangeDetectionStrategy.OnPush,
426
+ host: { class: "raqm-field-separator" },
427
+ template: "<!-- Rule first; the caption sits on top and hides for whitespace-only content. -->\r\n<div class=\"raqm-field-separator__line\">\r\n <raqm-separator />\r\n</div>\r\n\r\n<span class=\"raqm-field-separator__caption\" [hidden]=\"!hasCaption()\">\r\n <ng-content />\r\n</span>\r\n",
428
+ styles: [":host{position:relative;display:flex;align-items:center;justify-content:center;min-block-size:calc(var(--raqm-spacing) * 5);margin-block:calc(var(--raqm-spacing) * -2);min-inline-size:0;overflow-wrap:anywhere}.raqm-field-separator__line{position:absolute;inset-inline:0;inset-block-start:50%;transform:translateY(-50%)}.raqm-field-separator__caption{position:relative;z-index:1;box-sizing:border-box;max-inline-size:100%;padding-inline:calc(var(--raqm-spacing) * 2);background-color:var(--raqm-background);color:var(--raqm-muted-foreground);font-size:var(--raqm-font-size-sm);text-align:center;overflow-wrap:anywhere}\n"]
429
+ }]
430
+ }]
431
+ });
432
+ var RaqmFieldTitleDirective = class RaqmFieldTitleDirective {
433
+ static ɵfac = i0.ɵɵngDeclareFactory({
434
+ minVersion: "12.0.0",
435
+ version: "22.2.2",
436
+ ngImport: i0,
437
+ type: RaqmFieldTitleDirective,
438
+ deps: [],
439
+ target: i0.ɵɵFactoryTarget.Directive
440
+ });
441
+ static ɵdir = i0.ɵɵngDeclareDirective({
442
+ minVersion: "14.0.0",
443
+ version: "22.2.2",
444
+ type: RaqmFieldTitleDirective,
445
+ isStandalone: true,
446
+ selector: "span[raqm-field-title]",
447
+ host: { classAttribute: "raqm-field-title" },
448
+ ngImport: i0
449
+ });
450
+ };
451
+ i0.ɵɵngDeclareClassMetadata({
452
+ minVersion: "12.0.0",
453
+ version: "22.2.2",
454
+ ngImport: i0,
455
+ type: RaqmFieldTitleDirective,
456
+ decorators: [{
457
+ type: Directive,
458
+ args: [{
459
+ selector: "span[raqm-field-title]",
460
+ host: { class: "raqm-field-title" }
461
+ }]
462
+ }]
463
+ });
464
+ var RaqmFieldsetComponent = class RaqmFieldsetComponent {
465
+ static ɵfac = i0.ɵɵngDeclareFactory({
466
+ minVersion: "12.0.0",
467
+ version: "22.2.2",
468
+ ngImport: i0,
469
+ type: RaqmFieldsetComponent,
470
+ deps: [],
471
+ target: i0.ɵɵFactoryTarget.Component
472
+ });
473
+ static ɵcmp = i0.ɵɵngDeclareComponent({
474
+ minVersion: "14.0.0",
475
+ version: "22.2.2",
476
+ type: RaqmFieldsetComponent,
477
+ isStandalone: true,
478
+ selector: "fieldset[raqm-fieldset]",
479
+ host: { classAttribute: "raqm-fieldset" },
480
+ ngImport: i0,
481
+ template: "<ng-content />",
482
+ isInline: true,
483
+ styles: [":host{display:flex;flex-direction:column;gap:calc(var(--raqm-spacing) * 4);margin:0;padding:0;border:0;min-inline-size:0;overflow-wrap:anywhere}\n"],
484
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
485
+ });
486
+ };
487
+ i0.ɵɵngDeclareClassMetadata({
488
+ minVersion: "12.0.0",
489
+ version: "22.2.2",
490
+ ngImport: i0,
491
+ type: RaqmFieldsetComponent,
492
+ decorators: [{
493
+ type: Component,
494
+ args: [{
495
+ selector: "fieldset[raqm-fieldset]",
496
+ template: "<ng-content />",
497
+ changeDetection: ChangeDetectionStrategy.OnPush,
498
+ host: { class: "raqm-fieldset" },
499
+ styles: [":host{display:flex;flex-direction:column;gap:calc(var(--raqm-spacing) * 4);margin:0;padding:0;border:0;min-inline-size:0;overflow-wrap:anywhere}\n"]
500
+ }]
501
+ }]
502
+ });
503
+ const RaqmField = [
504
+ RaqmFieldComponent,
505
+ RaqmFieldContentComponent,
506
+ RaqmFieldDescriptionComponent,
507
+ RaqmFieldErrorComponent,
508
+ RaqmFieldGroupComponent,
509
+ RaqmFieldLabelDirective,
510
+ RaqmFieldLegendComponent,
511
+ RaqmFieldSeparatorComponent,
512
+ RaqmFieldTitleDirective,
513
+ RaqmFieldsetComponent
514
+ ];
515
+ export { RaqmField, RaqmFieldComponent, RaqmFieldContentComponent, RaqmFieldDescriptionComponent, RaqmFieldErrorComponent, RaqmFieldGroupComponent, RaqmFieldLabelDirective, RaqmFieldLegendComponent, RaqmFieldSeparatorComponent, RaqmFieldTitleDirective, RaqmFieldsetComponent };
516
+
517
+ //# sourceMappingURL=raqm-ui-field.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raqm-ui-field.mjs","names":[],"sources":["../../../projects/ui/field/field.ts","../../../projects/ui/field/field-error.component.html","../../../projects/ui/field/field-separator.component.html","../../../projects/ui/field/public-api.ts"],"sourcesContent":["import {\r\n AfterContentChecked,\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n ElementRef,\r\n booleanAttribute,\r\n computed,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { RaqmSeparator } from '@raqm/ui/separator';\r\n\r\n/** Field container; `for`, `id`, `aria-describedby` and `aria-invalid` are app-owned. */\r\n@Component({\r\n // Additive selector: `span[raqm-field]` keeps a choice card phrasing-only in a `<label>`.\r\n selector: 'raqm-field, span[raqm-field]',\r\n template: '<ng-content />',\r\n styleUrl: './field.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-field',\r\n // Read by the relationship styles.\r\n '[attr.data-raqm-orientation]': 'orientation()',\r\n '[attr.role]': 'role',\r\n },\r\n})\r\nexport class RaqmFieldComponent {\r\n readonly orientation = input<'vertical' | 'horizontal' | 'responsive'>('vertical');\r\n\r\n // Read once from the host tag; no DOM query.\r\n private readonly hostIsCustomElement =\r\n inject<ElementRef<HTMLElement>>(ElementRef).nativeElement.tagName === 'RAQM-FIELD';\r\n\r\n // Only the custom element is `role=\"group\"`; the phrasing span host stays role-neutral.\r\n protected readonly role: 'group' | null = this.hostIsCustomElement ? 'group' : null;\r\n}\r\n\r\n@Component({\r\n selector: 'raqm-field-content, span[raqm-field-content]',\r\n template: '<ng-content />',\r\n styleUrl: './field-content.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-field-content',\r\n },\r\n})\r\nexport class RaqmFieldContentComponent {}\r\n\r\n/** Supporting text; the control's `id` and `aria-describedby` are app-owned. */\r\n@Component({\r\n selector: 'raqm-field-description, span[raqm-field-description]',\r\n template: '<ng-content />',\r\n styleUrl: './field-description.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-field-description',\r\n },\r\n})\r\nexport class RaqmFieldDescriptionComponent {}\r\n\r\n/** Validation message; projected content wins over `errors` and no ids or ARIA attributes are generated. */\r\n@Component({\r\n selector: 'raqm-field-error',\r\n templateUrl: './field-error.component.html',\r\n styleUrl: './field-error.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n // Template reference: #e=\"raqmFieldError\".\r\n exportAs: 'raqmFieldError',\r\n host: {\r\n class: 'raqm-field-error',\r\n },\r\n})\r\nexport class RaqmFieldErrorComponent {\r\n // Optional consumer entries; never mutated.\r\n readonly errors = input<readonly ({ message?: string } | undefined)[]>([]);\r\n\r\n protected readonly messages = computed<readonly string[]>(() => {\r\n const seen = new Set<string>();\r\n const unique: string[] = [];\r\n for (const entry of this.errors()) {\r\n const message = entry?.message;\r\n if (typeof message === 'string' && message.length > 0 && !seen.has(message)) {\r\n seen.add(message);\r\n unique.push(message);\r\n }\r\n }\r\n return unique;\r\n });\r\n}\r\n\r\n/** Spacing container; a neutral host, not a `<fieldset>`, and the named container for a responsive Field. */\r\n@Component({\r\n selector: 'raqm-field-group',\r\n template: '<ng-content />',\r\n styleUrl: './field-group.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-field-group',\r\n },\r\n})\r\nexport class RaqmFieldGroupComponent {}\r\n\r\n/** Viewless marker on an app-authored `<label>`; native `for` and activation are preserved. */\r\n@Directive({\r\n selector: 'label[raqm-field-label]',\r\n host: {\r\n class: 'raqm-field-label',\r\n },\r\n})\r\nexport class RaqmFieldLabelDirective {}\r\n\r\n/** Legend treatments; `label` selects the smaller step and setting both attributes throws. */\r\n@Component({\r\n selector: 'legend[raqm-field-legend]',\r\n template: '<ng-content />',\r\n styleUrl: './field-legend.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-field-legend',\r\n // Presence-only hook for the label treatment.\r\n '[attr.data-raqm-label]': 'activeTreatment() === \"label\" ? \"\" : null',\r\n },\r\n})\r\nexport class RaqmFieldLegendComponent {\r\n readonly legend = input(false, { transform: booleanAttribute });\r\n readonly label = input(false, { transform: booleanAttribute });\r\n\r\n protected readonly activeTreatment = computed<'legend' | 'label'>(() => {\r\n const legend = this.legend();\r\n const label = this.label();\r\n if (legend && label) {\r\n throw new Error('raqm-field-legend: use either legend or label, not both.');\r\n }\r\n return label ? 'label' : 'legend';\r\n });\r\n}\r\n\r\n/** Captioned rule; the nested separator is semantic and adds no tab stop. */\r\n@Component({\r\n selector: 'raqm-field-separator',\r\n imports: [RaqmSeparator],\r\n templateUrl: './field-separator.component.html',\r\n styleUrl: './field-separator.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-field-separator',\r\n },\r\n})\r\nexport class RaqmFieldSeparatorComponent implements AfterContentChecked {\r\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\r\n\r\n protected readonly hasCaption = signal(false);\r\n\r\n // Re-checked after each content check; no observer is installed.\r\n ngAfterContentChecked(): void {\r\n const hasCaption = (this.host.nativeElement.textContent ?? '').trim().length > 0;\r\n if (hasCaption !== this.hasCaption()) {\r\n this.hasCaption.set(hasCaption);\r\n }\r\n }\r\n}\r\n\r\n/** Viewless title styling; phrasing content, valid inside a `<label>`. */\r\n@Directive({\r\n selector: 'span[raqm-field-title]',\r\n host: {\r\n class: 'raqm-field-title',\r\n },\r\n})\r\nexport class RaqmFieldTitleDirective {}\r\n\r\n/** Native `<fieldset>` host; a disabled fieldset does not mirror `FormControl` state. */\r\n@Component({\r\n selector: 'fieldset[raqm-fieldset]',\r\n template: '<ng-content />',\r\n styleUrl: './fieldset.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-fieldset',\r\n },\r\n})\r\nexport class RaqmFieldsetComponent {}\r\n","<!-- Projected content wins over `errors`; each region renders only when non-empty. -->\r\n<div class=\"raqm-field-error__content\" role=\"alert\"><ng-content /></div>\r\n@if (messages().length > 0) {\r\n <div class=\"raqm-field-error__generated\" role=\"alert\">\r\n @if (messages().length === 1) {\r\n {{ messages()[0] }}\r\n } @else {\r\n <ul class=\"raqm-field-error__list\">\r\n @for (message of messages(); track message) {\r\n <li class=\"raqm-field-error__item\">{{ message }}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n}\r\n","<!-- Rule first; the caption sits on top and hides for whitespace-only content. -->\r\n<div class=\"raqm-field-separator__line\">\r\n <raqm-separator />\r\n</div>\r\n\r\n<span class=\"raqm-field-separator__caption\" [hidden]=\"!hasCaption()\">\r\n <ng-content />\r\n</span>\r\n","// Public API for `@raqm/ui/field`.\r\nimport {\r\n RaqmFieldComponent,\r\n RaqmFieldContentComponent,\r\n RaqmFieldDescriptionComponent,\r\n RaqmFieldErrorComponent,\r\n RaqmFieldGroupComponent,\r\n RaqmFieldLabelDirective,\r\n RaqmFieldLegendComponent,\r\n RaqmFieldSeparatorComponent,\r\n RaqmFieldTitleDirective,\r\n RaqmFieldsetComponent,\r\n} from './field';\r\n\r\nexport {\r\n RaqmFieldComponent,\r\n RaqmFieldContentComponent,\r\n RaqmFieldDescriptionComponent,\r\n RaqmFieldErrorComponent,\r\n RaqmFieldGroupComponent,\r\n RaqmFieldLabelDirective,\r\n RaqmFieldLegendComponent,\r\n RaqmFieldSeparatorComponent,\r\n RaqmFieldTitleDirective,\r\n RaqmFieldsetComponent,\r\n};\r\n\r\nexport const RaqmField = [\r\n RaqmFieldComponent,\r\n RaqmFieldContentComponent,\r\n RaqmFieldDescriptionComponent,\r\n RaqmFieldErrorComponent,\r\n RaqmFieldGroupComponent,\r\n RaqmFieldLabelDirective,\r\n RaqmFieldLegendComponent,\r\n RaqmFieldSeparatorComponent,\r\n RaqmFieldTitleDirective,\r\n RaqmFieldsetComponent,\r\n] as const;\r\n"],"mappings":"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"}