@raqm/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 (178) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +28 -0
  4. package/README.md +125 -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 +4322 -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,129 @@
1
+ import * as i0 from "@angular/core";
2
+ /** Shift+Arrow and PageUp/PageDown step. */
3
+ declare const LARGE_STEP = 10;
4
+ declare function decimalPrecision(value: number): number;
5
+ declare function clamp(value: number, lower: number, upper: number): number;
6
+ declare function roundToStep(value: number, step: number, min: number): number;
7
+ /**
8
+ * Pushes neighbours past the thumb at `index`; `initialValues`, captured at drag start, lets a
9
+ * pushed neighbour return to its start value.
10
+ */
11
+ declare function pushThumbValues(values: readonly number[], index: number, nextValue: number, min: number, max: number, initialValues: readonly number[]): number[];
12
+ interface SliderThumb {
13
+ readonly index: number;
14
+ readonly value: number;
15
+ readonly style: Readonly<Record<string, string>>;
16
+ }
17
+ /** Edge alignment: `half-thumb + (track - thumb) * ratio` keeps both end thumbs inside the control. */
18
+ declare function offsetExpression(ratio: number): string;
19
+ declare function spanExpression(span: number): string;
20
+ /**
21
+ * Selects a value from within a range; each thumb is a real `<input type="range">`, so focus, ARIA
22
+ * and the form value stay native. Binding `value` makes it controlled, else `defaultValue` then `min`
23
+ * seed it. RTL mirrors Left/Right from the computed direction, so a CSS-only `dir` ancestor works.
24
+ */
25
+ export declare class RaqmSlider {
26
+ readonly value: import("@angular/core").InputSignal<number | readonly number[] | null>;
27
+ readonly defaultValue: import("@angular/core").InputSignal<number | readonly number[] | null>;
28
+ readonly min: import("@angular/core").InputSignal<number>;
29
+ readonly max: import("@angular/core").InputSignal<number>;
30
+ readonly step: import("@angular/core").InputSignal<number>;
31
+ readonly vertical: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
32
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
33
+ readonly name: import("@angular/core").InputSignal<string | null>;
34
+ readonly form: import("@angular/core").InputSignal<string | null>;
35
+ readonly id: import("@angular/core").InputSignal<string | null>;
36
+ readonly thumbLabels: import("@angular/core").InputSignal<readonly string[] | null>;
37
+ readonly valueChange: import("@angular/core").OutputEmitterRef<number | readonly number[]>;
38
+ private readonly host;
39
+ private readonly destroyRef;
40
+ private readonly uncontrolled;
41
+ private readonly activeIndex;
42
+ private readonly lastUsedIndex;
43
+ private readonly thumbElements;
44
+ private readonly thumbInputs;
45
+ protected readonly orientation: import("@angular/core").Signal<"horizontal" | "vertical">;
46
+ protected readonly values: import("@angular/core").Signal<readonly number[]>;
47
+ protected readonly thumbs: import("@angular/core").Signal<readonly SliderThumb[]>;
48
+ /** min → thumb for one value, first → last thumb for a range. */
49
+ protected readonly rangeStyle: import("@angular/core").Signal<Readonly<Record<string, string>>>;
50
+ private readonly pointer;
51
+ private readonly keyboard;
52
+ constructor();
53
+ protected inputId(index: number): string | null;
54
+ protected thumbLabel(index: number): string | null;
55
+ protected onFocus(index: number): void;
56
+ protected onBlur(): void;
57
+ /** Accepts a change made through the native input (assistive technology). */
58
+ protected onInput(event: Event, index: number): void;
59
+ protected onKeydown(event: KeyboardEvent, index: number): void;
60
+ protected onPointerDown(event: PointerEvent): void;
61
+ private round;
62
+ /** The public step, never zero, which would make every ratio meaningless. */
63
+ private stepSize;
64
+ private ratio;
65
+ private applyClamped;
66
+ private setValues;
67
+ private direction;
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmSlider, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmSlider, "raqm-slider", never, {
70
+ "value": {
71
+ "alias": "value";
72
+ "required": false;
73
+ "isSignal": true;
74
+ };
75
+ "defaultValue": {
76
+ "alias": "defaultValue";
77
+ "required": false;
78
+ "isSignal": true;
79
+ };
80
+ "min": {
81
+ "alias": "min";
82
+ "required": false;
83
+ "isSignal": true;
84
+ };
85
+ "max": {
86
+ "alias": "max";
87
+ "required": false;
88
+ "isSignal": true;
89
+ };
90
+ "step": {
91
+ "alias": "step";
92
+ "required": false;
93
+ "isSignal": true;
94
+ };
95
+ "vertical": {
96
+ "alias": "vertical";
97
+ "required": false;
98
+ "isSignal": true;
99
+ };
100
+ "disabled": {
101
+ "alias": "disabled";
102
+ "required": false;
103
+ "isSignal": true;
104
+ };
105
+ "name": {
106
+ "alias": "name";
107
+ "required": false;
108
+ "isSignal": true;
109
+ };
110
+ "form": {
111
+ "alias": "form";
112
+ "required": false;
113
+ "isSignal": true;
114
+ };
115
+ "id": {
116
+ "alias": "id";
117
+ "required": false;
118
+ "isSignal": true;
119
+ };
120
+ "thumbLabels": {
121
+ "alias": "thumbLabels";
122
+ "required": false;
123
+ "isSignal": true;
124
+ };
125
+ }, {
126
+ "valueChange": "valueChange";
127
+ }, never, never, true, never>;
128
+ }
129
+ export {};
@@ -0,0 +1,32 @@
1
+ import * as i0 from "@angular/core";
2
+ /** Raqm spinner — rotates projected content or its default glyph; `decorative`, `start` and `end` are boolean attributes. */
3
+ export declare class RaqmSpinner {
4
+ readonly decorative: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5
+ readonly label: import("@angular/core").InputSignal<string | null>;
6
+ protected readonly announces: import("@angular/core").Signal<boolean>;
7
+ readonly start: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
+ readonly end: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmSpinner, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmSpinner, "raqm-spinner", never, {
11
+ "decorative": {
12
+ "alias": "decorative";
13
+ "required": false;
14
+ "isSignal": true;
15
+ };
16
+ "label": {
17
+ "alias": "label";
18
+ "required": false;
19
+ "isSignal": true;
20
+ };
21
+ "start": {
22
+ "alias": "start";
23
+ "required": false;
24
+ "isSignal": true;
25
+ };
26
+ "end": {
27
+ "alias": "end";
28
+ "required": false;
29
+ "isSignal": true;
30
+ };
31
+ }, {}, never, ["*"], true, never>;
32
+ }
@@ -0,0 +1,32 @@
1
+ import { ControlValueAccessor } from "@angular/forms";
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Attaches the `raqm-switch` class to a native `<input>` and exposes it as `role="switch"`.
5
+ *
6
+ * @remarks
7
+ * `type="checkbox"` is set when absent, so Angular's checkbox validator does not match: with Forms,
8
+ * use `Validators.requiredTrue` for a required switch.
9
+ */
10
+ export declare class RaqmSwitch implements ControlValueAccessor {
11
+ private readonly host;
12
+ private onChange;
13
+ private onTouched;
14
+ private disabledStateFired;
15
+ /** `false` is the default track, `true` the small one. */
16
+ readonly small: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17
+ constructor();
18
+ writeValue(value: boolean | null | undefined): void;
19
+ registerOnChange(fn: (value: boolean) => void): void;
20
+ registerOnTouched(fn: () => void): void;
21
+ setDisabledState(isDisabled: boolean): void;
22
+ protected handleChange(event: Event): void;
23
+ protected handleBlur(): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmSwitch, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmSwitch, "input[raqm-switch]", never, {
26
+ "small": {
27
+ "alias": "small";
28
+ "required": false;
29
+ "isSignal": true;
30
+ };
31
+ }, {}, never, never, true, never>;
32
+ }
@@ -0,0 +1,36 @@
1
+ import * as i0 from "@angular/core";
2
+ /** Native `<table>` host; no data engine, and selection/expansion are CSS-only row hooks. */
3
+ export declare class RaqmTableDirective {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableDirective, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableDirective, "table[raqm-table]", never, {}, {}, never, never, true, never>;
6
+ }
7
+ export declare class RaqmTableHeaderDirective {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableHeaderDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableHeaderDirective, "thead[raqm-table-header]", never, {}, {}, never, never, true, never>;
10
+ }
11
+ export declare class RaqmTableBodyDirective {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableBodyDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableBodyDirective, "tbody[raqm-table-body]", never, {}, {}, never, never, true, never>;
14
+ }
15
+ export declare class RaqmTableFooterDirective {
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableFooterDirective, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableFooterDirective, "tfoot[raqm-table-footer]", never, {}, {}, never, never, true, never>;
18
+ }
19
+ /** CSS-only state hooks: `data-state="selected"` and a tint while a descendant reports `aria-expanded="true"`. */
20
+ export declare class RaqmTableRowDirective {
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableRowDirective, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableRowDirective, "tr[raqm-table-row]", never, {}, {}, never, never, true, never>;
23
+ }
24
+ export declare class RaqmTableHeadDirective {
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableHeadDirective, never>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableHeadDirective, "th[raqm-table-head]", never, {}, {}, never, never, true, never>;
27
+ }
28
+ export declare class RaqmTableCellDirective {
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableCellDirective, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableCellDirective, "td[raqm-table-cell]", never, {}, {}, never, never, true, never>;
31
+ }
32
+ export declare class RaqmTableCaptionDirective {
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTableCaptionDirective, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTableCaptionDirective, "caption[raqm-table-caption]", never, {}, {}, never, never, true, never>;
35
+ }
36
+ export declare const RaqmTable: readonly [typeof RaqmTableDirective, typeof RaqmTableHeaderDirective, typeof RaqmTableBodyDirective, typeof RaqmTableFooterDirective, typeof RaqmTableRowDirective, typeof RaqmTableHeadDirective, typeof RaqmTableCellDirective, typeof RaqmTableCaptionDirective];
@@ -0,0 +1,154 @@
1
+ import * as i0 from "@angular/core";
2
+ import { InjectionToken, OnInit, Signal } from "@angular/core";
3
+ interface RaqmTabsTriggerRef {
4
+ /** Unique, non-empty trigger value used by the root's selection contract. */
5
+ readonly value: string;
6
+ /** Disabled triggers are skipped by the tab stop and arrows. */
7
+ readonly disabled: Signal<boolean>;
8
+ /** The trigger's native `<button>`, used only to move focus. */
9
+ readonly host: HTMLElement;
10
+ }
11
+ /** Root contract published under {@link RAQM_TABS}; the dedicated token avoids a runtime module cycle. */
12
+ interface RaqmTabsContext {
13
+ /** Used for `aria-orientation` and arrow-key mapping. */
14
+ readonly vertical: Signal<boolean>;
15
+ readonly line: Signal<boolean>;
16
+ /** Bound model, else seed, else the first enabled trigger. */
17
+ readonly selectedValue: Signal<string | undefined>;
18
+ isSelected(value: string): boolean;
19
+ /** Missing, disabled or already-selected values are a no-op. */
20
+ select(value: string): void;
21
+ register(trigger: RaqmTabsTriggerRef): void;
22
+ /** Never changes the selection. */
23
+ unregister(trigger: RaqmTabsTriggerRef): void;
24
+ isTabStop(trigger: RaqmTabsTriggerRef): boolean;
25
+ /** Records the roving tab stop without changing the selection. */
26
+ noteFocus(trigger: RaqmTabsTriggerRef): void;
27
+ /** Moves focus without selecting (manual activation). */
28
+ moveFocus(trigger: RaqmTabsTriggerRef, event: KeyboardEvent): void;
29
+ triggerIdOf(trigger: RaqmTabsTriggerRef): string | null;
30
+ triggerIdFor(value: string): string | null;
31
+ panelIdFor(value: string): string | null;
32
+ }
33
+ /** Root token; injected optionally so a misplaced part renders and only logs a dev-mode error. */
34
+ declare const RAQM_TABS: InjectionToken<RaqmTabsContext>;
35
+ /** Tabs panel; `role="tabpanel"` paired by owned ids. Panels stay mounted, `hidden` when unselected, and only the visible panel is a tab stop. */
36
+ export declare class RaqmTabsContentComponent {
37
+ private readonly tabs;
38
+ readonly value: import("@angular/core").InputSignal<string>;
39
+ protected readonly selected: import("@angular/core").Signal<boolean>;
40
+ protected readonly panelId: import("@angular/core").Signal<string | null>;
41
+ protected readonly triggerId: import("@angular/core").Signal<string | null>;
42
+ constructor();
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTabsContentComponent, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmTabsContentComponent, "raqm-tabs-content", never, {
45
+ "value": {
46
+ "alias": "value";
47
+ "required": true;
48
+ "isSignal": true;
49
+ };
50
+ }, {}, never, ["*"], true, never>;
51
+ }
52
+ /** Tabs list; the real `role="tablist"`, and appearance comes from the root context so list and triggers cannot drift. */
53
+ export declare class RaqmTabsListComponent {
54
+ private readonly tabs;
55
+ protected readonly line: import("@angular/core").Signal<boolean>;
56
+ protected readonly vertical: import("@angular/core").Signal<boolean>;
57
+ protected readonly ariaOrientation: import("@angular/core").Signal<"vertical" | null>;
58
+ constructor();
59
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTabsListComponent, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmTabsListComponent, "raqm-tabs-list", never, {}, {}, never, ["*"], true, never>;
61
+ }
62
+ /** Tabs trigger on the native `<button>`; ARIA, owned id and roving `tabindex` come from the root, and it registers from `ngOnInit`. */
63
+ export declare class RaqmTabsTriggerComponent implements OnInit {
64
+ private readonly host;
65
+ private readonly authoredDisabled;
66
+ private readonly tabs;
67
+ private readonly destroyRef;
68
+ readonly value: import("@angular/core").InputSignal<string>;
69
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
70
+ private readonly ref;
71
+ protected readonly vertical: import("@angular/core").Signal<boolean>;
72
+ protected readonly disabledAttribute: import("@angular/core").Signal<"" | null>;
73
+ protected readonly selected: import("@angular/core").Signal<boolean>;
74
+ protected readonly id: import("@angular/core").Signal<string | null>;
75
+ protected readonly panelId: import("@angular/core").Signal<string | null>;
76
+ protected readonly tabIndex: import("@angular/core").Signal<-1 | 0>;
77
+ constructor();
78
+ ngOnInit(): void;
79
+ protected onClick(): void;
80
+ protected onKeydown(event: KeyboardEvent): void;
81
+ protected onFocus(): void;
82
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTabsTriggerComponent, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmTabsTriggerComponent, "button[raqm-tabs-trigger]", never, {
84
+ "value": {
85
+ "alias": "value";
86
+ "required": true;
87
+ "isSignal": true;
88
+ };
89
+ "disabled": {
90
+ "alias": "disabled";
91
+ "required": false;
92
+ "isSignal": true;
93
+ };
94
+ }, {}, never, ["*"], true, never>;
95
+ }
96
+ /** Tabs root; carries no ARIA role (`tablist` belongs on the list) and uses roving tabindex with manual activation: arrows move focus, Space/Enter selects. */
97
+ export declare class RaqmTabsComponent implements RaqmTabsContext {
98
+ private readonly host;
99
+ readonly value: import("@angular/core").ModelSignal<string | undefined>;
100
+ readonly defaultValue: import("@angular/core").InputSignal<string | undefined>;
101
+ readonly vertical: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
102
+ readonly line: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
103
+ private readonly tabs;
104
+ private readonly rootId;
105
+ private sequence;
106
+ private readonly enabledTabs;
107
+ private readonly focused;
108
+ readonly selectedValue: import("@angular/core").Signal<string | undefined>;
109
+ private readonly tabStop;
110
+ private readonly keyboard;
111
+ isSelected(value: string): boolean;
112
+ select(value: string): void;
113
+ /** Registers a trigger in DOM order, minting its ids; called from `ngOnInit` so `value` is bound. */
114
+ register(trigger: RaqmTabsTriggerRef): void;
115
+ /** Unregisters a trigger on destroy; survives keep their minted ids. */
116
+ unregister(trigger: RaqmTabsTriggerRef): void;
117
+ /** Whether the trigger is the set's single roving tab stop. */
118
+ isTabStop(trigger: RaqmTabsTriggerRef): boolean;
119
+ triggerIdOf(trigger: RaqmTabsTriggerRef): string | null;
120
+ triggerIdFor(value: string): string | null;
121
+ panelIdFor(value: string): string | null;
122
+ /** Records the last focused trigger as the roving tab stop; manual activation, so no selection change. */
123
+ noteFocus(trigger: RaqmTabsTriggerRef): void;
124
+ /** Moves focus among enabled triggers with wrapping; Left/Right follow the resolved direction (RTL reverses them). */
125
+ moveFocus(trigger: RaqmTabsTriggerRef, event: KeyboardEvent): void;
126
+ private isRtl;
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTabsComponent, never>;
128
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmTabsComponent, "raqm-tabs", never, {
129
+ "value": {
130
+ "alias": "value";
131
+ "required": false;
132
+ "isSignal": true;
133
+ };
134
+ "defaultValue": {
135
+ "alias": "defaultValue";
136
+ "required": false;
137
+ "isSignal": true;
138
+ };
139
+ "vertical": {
140
+ "alias": "vertical";
141
+ "required": false;
142
+ "isSignal": true;
143
+ };
144
+ "line": {
145
+ "alias": "line";
146
+ "required": false;
147
+ "isSignal": true;
148
+ };
149
+ }, {
150
+ "value": "valueChange";
151
+ }, never, ["*"], true, never>;
152
+ }
153
+ export declare const RaqmTabs: readonly [typeof RaqmTabsComponent, typeof RaqmTabsListComponent, typeof RaqmTabsTriggerComponent, typeof RaqmTabsContentComponent];
154
+ export {};
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ /** Native `<textarea>` host; value, validation and IME stay browser- and Forms-owned. */
3
+ export declare class RaqmTextarea {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTextarea, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTextarea, "textarea[raqm-textarea]", never, {}, {}, never, never, true, never>;
6
+ }
@@ -0,0 +1,190 @@
1
+ import * as i0 from "@angular/core";
2
+ import { OnDestroy } from "@angular/core";
3
+ type RaqmToastId = string;
4
+ type RaqmToastType = 'success' | 'info' | 'warning' | 'error' | 'loading';
5
+ /** Native action; its callback explicitly owns dismissal. */
6
+ interface RaqmToastActionOptions {
7
+ readonly label: string;
8
+ readonly onClick: (id: RaqmToastId, event: MouseEvent) => void;
9
+ readonly disabled?: boolean;
10
+ }
11
+ /** Text notification options; a timeout of 0 disables automatic dismissal. */
12
+ interface RaqmToastOptions {
13
+ readonly id?: RaqmToastId;
14
+ readonly title?: string;
15
+ readonly description?: string;
16
+ readonly type?: RaqmToastType;
17
+ readonly timeout?: number;
18
+ readonly action?: RaqmToastActionOptions;
19
+ readonly onClose?: () => void;
20
+ }
21
+ /** Immutable notification state; updates preserve its id and increment updateKey. */
22
+ interface RaqmToastRecord extends Omit<RaqmToastOptions, 'id' | 'timeout'> {
23
+ readonly id: RaqmToastId;
24
+ readonly timeout: number;
25
+ readonly updateKey: number;
26
+ readonly ending?: boolean;
27
+ }
28
+ export declare class RaqmToastService implements OnDestroy {
29
+ private readonly browser;
30
+ private readonly records;
31
+ private readonly clocks;
32
+ private readonly document;
33
+ private readonly exits;
34
+ private owner;
35
+ private paused;
36
+ private nextId;
37
+ private destroyed;
38
+ /** Newest first; older records queue behind the visible three. */
39
+ readonly toasts: import("@angular/core").Signal<readonly RaqmToastRecord[]>;
40
+ readonly visibleToasts: import("@angular/core").Signal<RaqmToastRecord[]>;
41
+ /** Visible roots plus retained, inert roots finishing the exit. */
42
+ readonly renderedToasts: import("@angular/core").Signal<RaqmToastRecord[]>;
43
+ /** Adds a notification, or upserts an existing explicit id without duplication. */
44
+ show(options: RaqmToastOptions): RaqmToastId;
45
+ success(options: Omit<RaqmToastOptions, 'type'>): RaqmToastId;
46
+ error(options: Omit<RaqmToastOptions, 'type'>): RaqmToastId;
47
+ /** Updates one id for loading → success/error workflows; dismissed ids stay dismissed. */
48
+ update(id: RaqmToastId, options: Partial<Omit<RaqmToastOptions, 'id'>>): void;
49
+ /** Dismisses one notification, or all notifications when no id is supplied. */
50
+ dismiss(id?: RaqmToastId): void;
51
+ /** Internal host ownership guard: duplicate hosts never create duplicate overlays. */
52
+ claimViewport(owner: object): boolean;
53
+ releaseViewport(owner: object): void;
54
+ pauseViewport(owner: object, paused: boolean): void;
55
+ ngOnDestroy(): void;
56
+ private timeout;
57
+ private createId;
58
+ private stopClock;
59
+ private syncClocks;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastService, never>;
61
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
62
+ }
63
+ /** Composable notification root; never takes focus automatically. */
64
+ export declare class RaqmToastComponent implements OnDestroy {
65
+ readonly toast: import("@angular/core").InputSignal<RaqmToastRecord>;
66
+ /** Internal viewport clock-pause signal for captured touch or mouse gestures. */
67
+ readonly swipingChange: import("@angular/core").OutputEmitterRef<boolean>;
68
+ private readonly service;
69
+ private readonly element;
70
+ private pointer;
71
+ private start;
72
+ private initial;
73
+ private axis;
74
+ private firstMove;
75
+ private maximum;
76
+ private baseline;
77
+ private intended;
78
+ private cancelled;
79
+ private delta;
80
+ constructor();
81
+ protected pointerDown(event: PointerEvent): void;
82
+ protected pointerMove(event: PointerEvent): void;
83
+ protected pointerEnd(event: PointerEvent): void;
84
+ ngOnDestroy(): void;
85
+ private releasePointer;
86
+ /** Closes this record and contains Escape within the notification. */
87
+ dismiss(event?: Event): void;
88
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastComponent, never>;
89
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToastComponent, "raqm-toast", never, {
90
+ "toast": {
91
+ "alias": "toast";
92
+ "required": true;
93
+ "isSignal": true;
94
+ };
95
+ }, {
96
+ "swipingChange": "swipingChange";
97
+ }, never, ["*"], true, never>;
98
+ }
99
+ export declare class RaqmToastTitleDirective {
100
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastTitleDirective, never>;
101
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmToastTitleDirective, "[raqm-toast-title]", never, {}, {}, never, never, true, never>;
102
+ }
103
+ export declare class RaqmToastContentDirective {
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastContentDirective, never>;
105
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmToastContentDirective, "[raqm-toast-content]", never, {}, {}, never, never, true, never>;
106
+ }
107
+ export declare class RaqmToastDescriptionDirective {
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastDescriptionDirective, never>;
109
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmToastDescriptionDirective, "[raqm-toast-description]", never, {}, {}, never, never, true, never>;
110
+ }
111
+ /** Native action; the consumer click callback owns its behavior and dismissal. */
112
+ export declare class RaqmToastActionDirective {
113
+ constructor();
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastActionDirective, never>;
115
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmToastActionDirective, "button[raqm-toast-action]", never, {}, {}, never, never, true, never>;
116
+ }
117
+ /** Native close button operating on its enclosing toast; the application names it. */
118
+ export declare class RaqmToastCloseComponent {
119
+ protected readonly root: RaqmToastComponent;
120
+ constructor();
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastCloseComponent, never>;
122
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToastCloseComponent, "button[raqm-toast-close]", never, {}, {}, never, ["*"], true, never>;
123
+ }
124
+ /** Decorative inline status glyphs. */
125
+ export declare class RaqmToastIconComponent {
126
+ readonly type: import("@angular/core").InputSignal<RaqmToastType | undefined>;
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToastIconComponent, never>;
128
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToastIconComponent, "raqm-toast-icon", never, {
129
+ "type": {
130
+ "alias": "type";
131
+ "required": false;
132
+ "isSignal": true;
133
+ };
134
+ }, {}, never, never, true, never>;
135
+ }
136
+ /** Nonmodal CDK viewport; mounted once near the application root. */
137
+ export declare class RaqmToasterComponent implements OnDestroy {
138
+ /** Accessible name of the notification viewport region. */
139
+ readonly label: import("@angular/core").InputSignal<string>;
140
+ /** Accessible name of the close control the toaster renders for each toast. */
141
+ readonly closeLabel: import("@angular/core").InputSignal<string>;
142
+ protected readonly service: RaqmToastService;
143
+ private readonly document;
144
+ private readonly overlay;
145
+ private readonly container;
146
+ private readonly host;
147
+ private readonly panel;
148
+ private overlayRef?;
149
+ private observer?;
150
+ private announcementTimer?;
151
+ private previousFocus;
152
+ private hovered;
153
+ private focused;
154
+ private swiping;
155
+ private readonly indices;
156
+ protected readonly expanded: import("@angular/core").WritableSignal<boolean>;
157
+ protected readonly announcement: import("@angular/core").WritableSignal<string>;
158
+ protected readonly ready: import("@angular/core").WritableSignal<boolean>;
159
+ protected readonly announcementKey: import("@angular/core").Signal<string>;
160
+ private announced;
161
+ private readonly pendingAnnouncements;
162
+ constructor();
163
+ ngOnDestroy(): void;
164
+ protected hover(value: boolean): void;
165
+ protected focusIn(event: FocusEvent): void;
166
+ protected focusOut(event: FocusEvent): void;
167
+ protected action(toast: RaqmToastRecord, event: MouseEvent): void;
168
+ protected toastIndex(toast: RaqmToastRecord): number;
169
+ protected swipe(value: boolean): void;
170
+ private syncPause;
171
+ private measure;
172
+ private ensureFocus;
173
+ private restoreFocus;
174
+ private readonly onDocumentKeydown;
175
+ static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToasterComponent, never>;
176
+ static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToasterComponent, "raqm-toaster", never, {
177
+ "label": {
178
+ "alias": "label";
179
+ "required": true;
180
+ "isSignal": true;
181
+ };
182
+ "closeLabel": {
183
+ "alias": "closeLabel";
184
+ "required": true;
185
+ "isSignal": true;
186
+ };
187
+ }, {}, never, never, true, never>;
188
+ }
189
+ export declare const RaqmToast: readonly [typeof RaqmToastComponent, typeof RaqmToastTitleDirective, typeof RaqmToastContentDirective, typeof RaqmToastDescriptionDirective, typeof RaqmToastActionDirective, typeof RaqmToastCloseComponent, typeof RaqmToastIconComponent, typeof RaqmToasterComponent];
190
+ export type { RaqmToastActionOptions, RaqmToastId, RaqmToastOptions, RaqmToastRecord, RaqmToastType };