@raintonic/formaui 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +145 -0
  3. package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs +806 -0
  4. package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs.map +1 -0
  5. package/fesm2022/raintonic-formaui-cdk-form-field.mjs +86 -0
  6. package/fesm2022/raintonic-formaui-cdk-form-field.mjs.map +1 -0
  7. package/fesm2022/raintonic-formaui-cdk-overlay.mjs +1757 -0
  8. package/fesm2022/raintonic-formaui-cdk-overlay.mjs.map +1 -0
  9. package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs +287 -0
  10. package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs.map +1 -0
  11. package/fesm2022/raintonic-formaui-components-accordion.mjs +217 -0
  12. package/fesm2022/raintonic-formaui-components-accordion.mjs.map +1 -0
  13. package/fesm2022/raintonic-formaui-components-alert.mjs +161 -0
  14. package/fesm2022/raintonic-formaui-components-alert.mjs.map +1 -0
  15. package/fesm2022/raintonic-formaui-components-autocomplete.mjs +726 -0
  16. package/fesm2022/raintonic-formaui-components-autocomplete.mjs.map +1 -0
  17. package/fesm2022/raintonic-formaui-components-avatar.mjs +92 -0
  18. package/fesm2022/raintonic-formaui-components-avatar.mjs.map +1 -0
  19. package/fesm2022/raintonic-formaui-components-badge.mjs +107 -0
  20. package/fesm2022/raintonic-formaui-components-badge.mjs.map +1 -0
  21. package/fesm2022/raintonic-formaui-components-big-menu.mjs +68 -0
  22. package/fesm2022/raintonic-formaui-components-big-menu.mjs.map +1 -0
  23. package/fesm2022/raintonic-formaui-components-breadcrumb.mjs +55 -0
  24. package/fesm2022/raintonic-formaui-components-breadcrumb.mjs.map +1 -0
  25. package/fesm2022/raintonic-formaui-components-button-group.mjs +103 -0
  26. package/fesm2022/raintonic-formaui-components-button-group.mjs.map +1 -0
  27. package/fesm2022/raintonic-formaui-components-button.mjs +241 -0
  28. package/fesm2022/raintonic-formaui-components-button.mjs.map +1 -0
  29. package/fesm2022/raintonic-formaui-components-card.mjs +270 -0
  30. package/fesm2022/raintonic-formaui-components-card.mjs.map +1 -0
  31. package/fesm2022/raintonic-formaui-components-checkbox.mjs +295 -0
  32. package/fesm2022/raintonic-formaui-components-checkbox.mjs.map +1 -0
  33. package/fesm2022/raintonic-formaui-components-data-table.mjs +631 -0
  34. package/fesm2022/raintonic-formaui-components-data-table.mjs.map +1 -0
  35. package/fesm2022/raintonic-formaui-components-date-picker.mjs +1331 -0
  36. package/fesm2022/raintonic-formaui-components-date-picker.mjs.map +1 -0
  37. package/fesm2022/raintonic-formaui-components-divider.mjs +41 -0
  38. package/fesm2022/raintonic-formaui-components-divider.mjs.map +1 -0
  39. package/fesm2022/raintonic-formaui-components-drawer.mjs +190 -0
  40. package/fesm2022/raintonic-formaui-components-drawer.mjs.map +1 -0
  41. package/fesm2022/raintonic-formaui-components-dynamic-form.mjs +266 -0
  42. package/fesm2022/raintonic-formaui-components-dynamic-form.mjs.map +1 -0
  43. package/fesm2022/raintonic-formaui-components-empty-state.mjs +33 -0
  44. package/fesm2022/raintonic-formaui-components-empty-state.mjs.map +1 -0
  45. package/fesm2022/raintonic-formaui-components-file-upload.mjs +246 -0
  46. package/fesm2022/raintonic-formaui-components-file-upload.mjs.map +1 -0
  47. package/fesm2022/raintonic-formaui-components-form-field.mjs +482 -0
  48. package/fesm2022/raintonic-formaui-components-form-field.mjs.map +1 -0
  49. package/fesm2022/raintonic-formaui-components-icon.mjs +117 -0
  50. package/fesm2022/raintonic-formaui-components-icon.mjs.map +1 -0
  51. package/fesm2022/raintonic-formaui-components-input.mjs +327 -0
  52. package/fesm2022/raintonic-formaui-components-input.mjs.map +1 -0
  53. package/fesm2022/raintonic-formaui-components-list.mjs +149 -0
  54. package/fesm2022/raintonic-formaui-components-list.mjs.map +1 -0
  55. package/fesm2022/raintonic-formaui-components-menu.mjs +896 -0
  56. package/fesm2022/raintonic-formaui-components-menu.mjs.map +1 -0
  57. package/fesm2022/raintonic-formaui-components-number-input.mjs +345 -0
  58. package/fesm2022/raintonic-formaui-components-number-input.mjs.map +1 -0
  59. package/fesm2022/raintonic-formaui-components-paginator.mjs +139 -0
  60. package/fesm2022/raintonic-formaui-components-paginator.mjs.map +1 -0
  61. package/fesm2022/raintonic-formaui-components-password-input.mjs +306 -0
  62. package/fesm2022/raintonic-formaui-components-password-input.mjs.map +1 -0
  63. package/fesm2022/raintonic-formaui-components-popover.mjs +451 -0
  64. package/fesm2022/raintonic-formaui-components-popover.mjs.map +1 -0
  65. package/fesm2022/raintonic-formaui-components-progressbar.mjs +148 -0
  66. package/fesm2022/raintonic-formaui-components-progressbar.mjs.map +1 -0
  67. package/fesm2022/raintonic-formaui-components-radio.mjs +260 -0
  68. package/fesm2022/raintonic-formaui-components-radio.mjs.map +1 -0
  69. package/fesm2022/raintonic-formaui-components-select.mjs +1011 -0
  70. package/fesm2022/raintonic-formaui-components-select.mjs.map +1 -0
  71. package/fesm2022/raintonic-formaui-components-side-panel.mjs +150 -0
  72. package/fesm2022/raintonic-formaui-components-side-panel.mjs.map +1 -0
  73. package/fesm2022/raintonic-formaui-components-sidebar.mjs +257 -0
  74. package/fesm2022/raintonic-formaui-components-sidebar.mjs.map +1 -0
  75. package/fesm2022/raintonic-formaui-components-skeleton.mjs +50 -0
  76. package/fesm2022/raintonic-formaui-components-skeleton.mjs.map +1 -0
  77. package/fesm2022/raintonic-formaui-components-slider.mjs +347 -0
  78. package/fesm2022/raintonic-formaui-components-slider.mjs.map +1 -0
  79. package/fesm2022/raintonic-formaui-components-spinner.mjs +63 -0
  80. package/fesm2022/raintonic-formaui-components-spinner.mjs.map +1 -0
  81. package/fesm2022/raintonic-formaui-components-stepper.mjs +317 -0
  82. package/fesm2022/raintonic-formaui-components-stepper.mjs.map +1 -0
  83. package/fesm2022/raintonic-formaui-components-tab.mjs +197 -0
  84. package/fesm2022/raintonic-formaui-components-tab.mjs.map +1 -0
  85. package/fesm2022/raintonic-formaui-components-tag.mjs +78 -0
  86. package/fesm2022/raintonic-formaui-components-tag.mjs.map +1 -0
  87. package/fesm2022/raintonic-formaui-components-time-picker.mjs +644 -0
  88. package/fesm2022/raintonic-formaui-components-time-picker.mjs.map +1 -0
  89. package/fesm2022/raintonic-formaui-components-toggle.mjs +171 -0
  90. package/fesm2022/raintonic-formaui-components-toggle.mjs.map +1 -0
  91. package/fesm2022/raintonic-formaui-components-toolbar.mjs +140 -0
  92. package/fesm2022/raintonic-formaui-components-toolbar.mjs.map +1 -0
  93. package/fesm2022/raintonic-formaui-components-tooltip.mjs +555 -0
  94. package/fesm2022/raintonic-formaui-components-tooltip.mjs.map +1 -0
  95. package/fesm2022/raintonic-formaui-components-tree-select.mjs +314 -0
  96. package/fesm2022/raintonic-formaui-components-tree-select.mjs.map +1 -0
  97. package/fesm2022/raintonic-formaui-components-tree-table.mjs +103 -0
  98. package/fesm2022/raintonic-formaui-components-tree-table.mjs.map +1 -0
  99. package/fesm2022/raintonic-formaui-components-tree.mjs +430 -0
  100. package/fesm2022/raintonic-formaui-components-tree.mjs.map +1 -0
  101. package/fesm2022/raintonic-formaui-core.mjs +62 -0
  102. package/fesm2022/raintonic-formaui-core.mjs.map +1 -0
  103. package/fesm2022/raintonic-formaui-services-dialog.mjs +798 -0
  104. package/fesm2022/raintonic-formaui-services-dialog.mjs.map +1 -0
  105. package/fesm2022/raintonic-formaui-services-notification.mjs +391 -0
  106. package/fesm2022/raintonic-formaui-services-notification.mjs.map +1 -0
  107. package/fesm2022/raintonic-formaui-services-theme.mjs +248 -0
  108. package/fesm2022/raintonic-formaui-services-theme.mjs.map +1 -0
  109. package/fesm2022/raintonic-formaui-test-utils.mjs +66 -0
  110. package/fesm2022/raintonic-formaui-test-utils.mjs.map +1 -0
  111. package/fesm2022/raintonic-formaui.mjs +15 -0
  112. package/fesm2022/raintonic-formaui.mjs.map +1 -0
  113. package/llms-full.txt +1627 -0
  114. package/llms.txt +60 -0
  115. package/package.json +251 -0
  116. package/styles/_fonts-entry.scss +3 -0
  117. package/styles/fonts/dm-mono-400-latin.woff2 +0 -0
  118. package/styles/fonts/inter-tight-latin-italic.woff2 +0 -0
  119. package/styles/fonts/inter-tight-latin.woff2 +0 -0
  120. package/styles/index.scss +127 -0
  121. package/styles/partials/_constants.scss +29 -0
  122. package/styles/partials/_fonts.scss +36 -0
  123. package/styles/partials/_grid.scss +171 -0
  124. package/styles/partials/_mixins.scss +145 -0
  125. package/styles/partials/_motion.scss +252 -0
  126. package/styles/partials/_theme.scss +275 -0
  127. package/styles/partials/_typography.scss +112 -0
  128. package/styles/partials/_utilities.scss +480 -0
  129. package/styles/partials/themes/_dark.scss +254 -0
  130. package/styles/partials/themes/_light.scss +254 -0
  131. package/types/raintonic-formaui-cdk-drag-drop.d.ts +196 -0
  132. package/types/raintonic-formaui-cdk-drag-drop.d.ts.map +1 -0
  133. package/types/raintonic-formaui-cdk-form-field.d.ts +62 -0
  134. package/types/raintonic-formaui-cdk-form-field.d.ts.map +1 -0
  135. package/types/raintonic-formaui-cdk-overlay.d.ts +843 -0
  136. package/types/raintonic-formaui-cdk-overlay.d.ts.map +1 -0
  137. package/types/raintonic-formaui-cdk-virtual-scroll.d.ts +112 -0
  138. package/types/raintonic-formaui-cdk-virtual-scroll.d.ts.map +1 -0
  139. package/types/raintonic-formaui-components-accordion.d.ts +124 -0
  140. package/types/raintonic-formaui-components-accordion.d.ts.map +1 -0
  141. package/types/raintonic-formaui-components-alert.d.ts +143 -0
  142. package/types/raintonic-formaui-components-alert.d.ts.map +1 -0
  143. package/types/raintonic-formaui-components-autocomplete.d.ts +193 -0
  144. package/types/raintonic-formaui-components-autocomplete.d.ts.map +1 -0
  145. package/types/raintonic-formaui-components-avatar.d.ts +52 -0
  146. package/types/raintonic-formaui-components-avatar.d.ts.map +1 -0
  147. package/types/raintonic-formaui-components-badge.d.ts +47 -0
  148. package/types/raintonic-formaui-components-badge.d.ts.map +1 -0
  149. package/types/raintonic-formaui-components-big-menu.d.ts +62 -0
  150. package/types/raintonic-formaui-components-big-menu.d.ts.map +1 -0
  151. package/types/raintonic-formaui-components-breadcrumb.d.ts +26 -0
  152. package/types/raintonic-formaui-components-breadcrumb.d.ts.map +1 -0
  153. package/types/raintonic-formaui-components-button-group.d.ts +61 -0
  154. package/types/raintonic-formaui-components-button-group.d.ts.map +1 -0
  155. package/types/raintonic-formaui-components-button.d.ts +116 -0
  156. package/types/raintonic-formaui-components-button.d.ts.map +1 -0
  157. package/types/raintonic-formaui-components-card.d.ts +191 -0
  158. package/types/raintonic-formaui-components-card.d.ts.map +1 -0
  159. package/types/raintonic-formaui-components-checkbox.d.ts +132 -0
  160. package/types/raintonic-formaui-components-checkbox.d.ts.map +1 -0
  161. package/types/raintonic-formaui-components-data-table.d.ts +368 -0
  162. package/types/raintonic-formaui-components-data-table.d.ts.map +1 -0
  163. package/types/raintonic-formaui-components-date-picker.d.ts +341 -0
  164. package/types/raintonic-formaui-components-date-picker.d.ts.map +1 -0
  165. package/types/raintonic-formaui-components-divider.d.ts +21 -0
  166. package/types/raintonic-formaui-components-divider.d.ts.map +1 -0
  167. package/types/raintonic-formaui-components-drawer.d.ts +48 -0
  168. package/types/raintonic-formaui-components-drawer.d.ts.map +1 -0
  169. package/types/raintonic-formaui-components-dynamic-form.d.ts +412 -0
  170. package/types/raintonic-formaui-components-dynamic-form.d.ts.map +1 -0
  171. package/types/raintonic-formaui-components-empty-state.d.ts +14 -0
  172. package/types/raintonic-formaui-components-empty-state.d.ts.map +1 -0
  173. package/types/raintonic-formaui-components-file-upload.d.ts +77 -0
  174. package/types/raintonic-formaui-components-file-upload.d.ts.map +1 -0
  175. package/types/raintonic-formaui-components-form-field.d.ts +271 -0
  176. package/types/raintonic-formaui-components-form-field.d.ts.map +1 -0
  177. package/types/raintonic-formaui-components-icon.d.ts +61 -0
  178. package/types/raintonic-formaui-components-icon.d.ts.map +1 -0
  179. package/types/raintonic-formaui-components-input.d.ts +149 -0
  180. package/types/raintonic-formaui-components-input.d.ts.map +1 -0
  181. package/types/raintonic-formaui-components-list.d.ts +48 -0
  182. package/types/raintonic-formaui-components-list.d.ts.map +1 -0
  183. package/types/raintonic-formaui-components-menu.d.ts +403 -0
  184. package/types/raintonic-formaui-components-menu.d.ts.map +1 -0
  185. package/types/raintonic-formaui-components-number-input.d.ts +127 -0
  186. package/types/raintonic-formaui-components-number-input.d.ts.map +1 -0
  187. package/types/raintonic-formaui-components-paginator.d.ts +37 -0
  188. package/types/raintonic-formaui-components-paginator.d.ts.map +1 -0
  189. package/types/raintonic-formaui-components-password-input.d.ts +111 -0
  190. package/types/raintonic-formaui-components-password-input.d.ts.map +1 -0
  191. package/types/raintonic-formaui-components-popover.d.ts +131 -0
  192. package/types/raintonic-formaui-components-popover.d.ts.map +1 -0
  193. package/types/raintonic-formaui-components-progressbar.d.ts +111 -0
  194. package/types/raintonic-formaui-components-progressbar.d.ts.map +1 -0
  195. package/types/raintonic-formaui-components-radio.d.ts +95 -0
  196. package/types/raintonic-formaui-components-radio.d.ts.map +1 -0
  197. package/types/raintonic-formaui-components-select.d.ts +307 -0
  198. package/types/raintonic-formaui-components-select.d.ts.map +1 -0
  199. package/types/raintonic-formaui-components-side-panel.d.ts +51 -0
  200. package/types/raintonic-formaui-components-side-panel.d.ts.map +1 -0
  201. package/types/raintonic-formaui-components-sidebar.d.ts +174 -0
  202. package/types/raintonic-formaui-components-sidebar.d.ts.map +1 -0
  203. package/types/raintonic-formaui-components-skeleton.d.ts +20 -0
  204. package/types/raintonic-formaui-components-skeleton.d.ts.map +1 -0
  205. package/types/raintonic-formaui-components-slider.d.ts +108 -0
  206. package/types/raintonic-formaui-components-slider.d.ts.map +1 -0
  207. package/types/raintonic-formaui-components-spinner.d.ts +42 -0
  208. package/types/raintonic-formaui-components-spinner.d.ts.map +1 -0
  209. package/types/raintonic-formaui-components-stepper.d.ts +126 -0
  210. package/types/raintonic-formaui-components-stepper.d.ts.map +1 -0
  211. package/types/raintonic-formaui-components-tab.d.ts +96 -0
  212. package/types/raintonic-formaui-components-tab.d.ts.map +1 -0
  213. package/types/raintonic-formaui-components-tag.d.ts +34 -0
  214. package/types/raintonic-formaui-components-tag.d.ts.map +1 -0
  215. package/types/raintonic-formaui-components-time-picker.d.ts +172 -0
  216. package/types/raintonic-formaui-components-time-picker.d.ts.map +1 -0
  217. package/types/raintonic-formaui-components-toggle.d.ts +70 -0
  218. package/types/raintonic-formaui-components-toggle.d.ts.map +1 -0
  219. package/types/raintonic-formaui-components-toolbar.d.ts +128 -0
  220. package/types/raintonic-formaui-components-toolbar.d.ts.map +1 -0
  221. package/types/raintonic-formaui-components-tooltip.d.ts +268 -0
  222. package/types/raintonic-formaui-components-tooltip.d.ts.map +1 -0
  223. package/types/raintonic-formaui-components-tree-select.d.ts +80 -0
  224. package/types/raintonic-formaui-components-tree-select.d.ts.map +1 -0
  225. package/types/raintonic-formaui-components-tree-table.d.ts +90 -0
  226. package/types/raintonic-formaui-components-tree-table.d.ts.map +1 -0
  227. package/types/raintonic-formaui-components-tree.d.ts +104 -0
  228. package/types/raintonic-formaui-components-tree.d.ts.map +1 -0
  229. package/types/raintonic-formaui-core.d.ts +115 -0
  230. package/types/raintonic-formaui-core.d.ts.map +1 -0
  231. package/types/raintonic-formaui-services-dialog.d.ts +451 -0
  232. package/types/raintonic-formaui-services-dialog.d.ts.map +1 -0
  233. package/types/raintonic-formaui-services-notification.d.ts +221 -0
  234. package/types/raintonic-formaui-services-notification.d.ts.map +1 -0
  235. package/types/raintonic-formaui-services-theme.d.ts +126 -0
  236. package/types/raintonic-formaui-services-theme.d.ts.map +1 -0
  237. package/types/raintonic-formaui-test-utils.d.ts +24 -0
  238. package/types/raintonic-formaui-test-utils.d.ts.map +1 -0
  239. package/types/raintonic-formaui.d.ts +4 -0
  240. package/types/raintonic-formaui.d.ts.map +1 -0
@@ -0,0 +1,221 @@
1
+ import { FuiNotificationConfig, FuiNotificationPosition } from '@raintonic/formaui/components/alert';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from '@angular/core';
4
+
5
+ /**
6
+ * Reference to a notification instance.
7
+ * Provides control over the notification and observables for lifecycle events.
8
+ */
9
+ declare class FuiNotificationRef {
10
+ readonly id: string;
11
+ readonly config: FuiNotificationConfig;
12
+ private readonly _afterClosed;
13
+ private readonly _afterDismissed;
14
+ /**
15
+ * Observable that emits when the notification is closed
16
+ */
17
+ readonly afterClosed: Observable<void>;
18
+ /**
19
+ * Observable that emits when the notification is dismissed (after animation)
20
+ */
21
+ readonly afterDismissed: Observable<void>;
22
+ constructor(id: string, config: FuiNotificationConfig);
23
+ /**
24
+ * Close the notification
25
+ */
26
+ close(): void;
27
+ /**
28
+ * Called internally when the notification is fully dismissed
29
+ * @internal
30
+ */
31
+ _dismiss(): void;
32
+ }
33
+
34
+ /**
35
+ * # FuiNotificationService
36
+ *
37
+ * Service for displaying toast-style notifications using overlays.
38
+ * Notifications can be displayed at various positions on the screen and will
39
+ * auto-dismiss after a configurable duration with a visual countdown.
40
+ *
41
+ * ## Features
42
+ * - Multiple notification variants (success, info, warning, error, primary, generic)
43
+ * - Configurable positioning (top-left, top-center, top-right, bottom-left, bottom-center, bottom-right)
44
+ * - Auto-dismiss with progress bar countdown
45
+ * - Manual dismiss via close button
46
+ * - Stack multiple notifications
47
+ * - Convenient shorthand methods for common variants
48
+ *
49
+ * ## Usage
50
+ *
51
+ * ### Success Notification
52
+ * ```typescript
53
+ * this.notificationService.success('Changes saved successfully!');
54
+ * ```
55
+ *
56
+ * ### Error Notification with Description
57
+ * ```typescript
58
+ * this.notificationService.error('Failed to save', {
59
+ * description: 'Please check your connection and try again.'
60
+ * });
61
+ * ```
62
+ *
63
+ * ### Custom Duration and Position
64
+ * ```typescript
65
+ * this.notificationService.info('New message received', {
66
+ * description: 'Click to view',
67
+ * duration: 10000,
68
+ * position: 'bottom-right'
69
+ * });
70
+ * ```
71
+ *
72
+ * ### No Auto-Dismiss
73
+ * ```typescript
74
+ * this.notificationService.warning('Important notice', {
75
+ * duration: 0, // Won't auto-dismiss
76
+ * closeable: true
77
+ * });
78
+ * ```
79
+ *
80
+ * ### Full Configuration
81
+ * ```typescript
82
+ * const ref = this.notificationService.show({
83
+ * variant: 'success',
84
+ * title: 'Success!',
85
+ * description: 'Your operation completed successfully.',
86
+ * duration: 5000,
87
+ * closeable: true,
88
+ * icon: 'custom-icon',
89
+ * position: 'top-center'
90
+ * });
91
+ *
92
+ * // Programmatically close
93
+ * ref.close();
94
+ * ```
95
+ */
96
+ declare class FuiNotificationService {
97
+ private readonly _document;
98
+ private readonly _rendererFactory;
99
+ private readonly _environmentInjector;
100
+ private readonly _applicationRef;
101
+ private readonly _renderer;
102
+ /**
103
+ * Map of container components by position
104
+ */
105
+ private readonly _containers;
106
+ /**
107
+ * Default position for notifications
108
+ */
109
+ private _defaultPosition;
110
+ /**
111
+ * Next unique notification ID
112
+ */
113
+ private _nextId;
114
+ constructor();
115
+ /**
116
+ * Set the default position for notifications
117
+ */
118
+ setDefaultPosition(position: FuiNotificationPosition): void;
119
+ /**
120
+ * Show a success notification
121
+ */
122
+ success(title: string, options?: Partial<Omit<FuiNotificationConfig, 'variant' | 'title'>> & {
123
+ position?: FuiNotificationPosition;
124
+ }): FuiNotificationRef;
125
+ /**
126
+ * Show an info notification
127
+ */
128
+ info(title: string, options?: Partial<Omit<FuiNotificationConfig, 'variant' | 'title'>> & {
129
+ position?: FuiNotificationPosition;
130
+ }): FuiNotificationRef;
131
+ /**
132
+ * Show a warning notification
133
+ */
134
+ warning(title: string, options?: Partial<Omit<FuiNotificationConfig, 'variant' | 'title'>> & {
135
+ position?: FuiNotificationPosition;
136
+ }): FuiNotificationRef;
137
+ /**
138
+ * Show an error notification
139
+ */
140
+ error(title: string, options?: Partial<Omit<FuiNotificationConfig, 'variant' | 'title'>> & {
141
+ position?: FuiNotificationPosition;
142
+ }): FuiNotificationRef;
143
+ /**
144
+ * Show a primary notification
145
+ */
146
+ primary(title: string, options?: Partial<Omit<FuiNotificationConfig, 'variant' | 'title'>> & {
147
+ position?: FuiNotificationPosition;
148
+ }): FuiNotificationRef;
149
+ /**
150
+ * Show a generic notification
151
+ */
152
+ generic(title: string, options?: Partial<Omit<FuiNotificationConfig, 'variant' | 'title'>> & {
153
+ position?: FuiNotificationPosition;
154
+ }): FuiNotificationRef;
155
+ /**
156
+ * Show a notification with full configuration
157
+ */
158
+ show(config: FuiNotificationConfig & {
159
+ position?: FuiNotificationPosition;
160
+ }): FuiNotificationRef;
161
+ /**
162
+ * Clear all notifications at a specific position
163
+ */
164
+ clearPosition(position: FuiNotificationPosition): void;
165
+ /**
166
+ * Clear all notifications
167
+ */
168
+ clearAll(): void;
169
+ private _getOrCreateContainer;
170
+ private _createContainer;
171
+ static ɵfac: i0.ɵɵFactoryDeclaration<FuiNotificationService, never>;
172
+ static ɵprov: i0.ɵɵInjectableDeclaration<FuiNotificationService>;
173
+ }
174
+
175
+ /**
176
+ * Container component for displaying stacked notifications.
177
+ * This component is created by the notification service and managed internally.
178
+ * @internal
179
+ */
180
+ declare class FuiNotificationContainerComponent {
181
+ /**
182
+ * List of active notifications
183
+ */
184
+ readonly notifications: i0.WritableSignal<FuiNotificationRef[]>;
185
+ /**
186
+ * Progress values for each notification (0-100)
187
+ */
188
+ readonly progressValues: i0.WritableSignal<Map<any, any>>;
189
+ /**
190
+ * Timers for auto-dismiss
191
+ */
192
+ private readonly timers;
193
+ constructor();
194
+ /**
195
+ * Add a notification to the container
196
+ */
197
+ addNotification(notification: FuiNotificationRef): void;
198
+ /**
199
+ * Remove a notification from the container
200
+ */
201
+ removeNotification(notificationId: string): void;
202
+ /**
203
+ * Handle notification close button click
204
+ */
205
+ onNotificationClose(notification: FuiNotificationRef): void;
206
+ /**
207
+ * Get the progress value for a notification
208
+ */
209
+ getProgress(notificationId: string): number;
210
+ /**
211
+ * Check if notification should show progress bar
212
+ */
213
+ shouldShowProgress(notification: FuiNotificationRef): boolean;
214
+ private _setupAutoDismiss;
215
+ private _removeNotification;
216
+ static ɵfac: i0.ɵɵFactoryDeclaration<FuiNotificationContainerComponent, never>;
217
+ static ɵcmp: i0.ɵɵComponentDeclaration<FuiNotificationContainerComponent, "fui-notification-container", never, {}, {}, never, never, true, never>;
218
+ }
219
+
220
+ export { FuiNotificationContainerComponent, FuiNotificationRef, FuiNotificationService };
221
+ //# sourceMappingURL=raintonic-formaui-services-notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raintonic-formaui-services-notification.d.ts","sources":["../../../lib/services/notification/notification-ref.ts","../../../lib/services/notification/notification.service.ts","../../../lib/services/notification/notification-container.component.ts"],"mappings":";;;;AAGA;;;AAGG;AACH,cAAa,kBAAkB;AAeX;AACA,qBAAQ,qBAAqB;AAf/C;AACA;AAEA;;AAEG;AACH,0BAAsB,UAAU;AAEhC;;AAEG;AACH,6BAAyB,UAAU;AAGjB,oCACQ,qBAAqB;AAG/C;;AAEG;AACH;AAKA;;;AAGG;AACH;AAID;;AC3BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DG;AACH,cAGa,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AAEA;;AAEG;AACH;AAEA;;AAEG;;AAGH;;AAEG;;;AAOH;;AAEG;AACH,iCAA6B,uBAAuB;AAIpD;;AAEG;AACH,qCAEY,OAAO,CAAC,IAAI,CAAC,qBAAqB;mBAC/B,uBAAuB;AACnC,QACA,kBAAkB;AAQrB;;AAEG;AACH,kCAEY,OAAO,CAAC,IAAI,CAAC,qBAAqB;mBAC/B,uBAAuB;AACnC,QACA,kBAAkB;AAQrB;;AAEG;AACH,qCAEY,OAAO,CAAC,IAAI,CAAC,qBAAqB;mBAC/B,uBAAuB;AACnC,QACA,kBAAkB;AAQrB;;AAEG;AACH,mCAEY,OAAO,CAAC,IAAI,CAAC,qBAAqB;mBAC/B,uBAAuB;AACnC,QACA,kBAAkB;AAQrB;;AAEG;AACH,qCAEY,OAAO,CAAC,IAAI,CAAC,qBAAqB;mBAC/B,uBAAuB;AACnC,QACA,kBAAkB;AAQrB;;AAEG;AACH,qCAEY,OAAO,CAAC,IAAI,CAAC,qBAAqB;mBAC/B,uBAAuB;AACnC,QACA,kBAAkB;AAQrB;;AAEG;AACH,iBAAa,qBAAqB;mBAAgB,uBAAuB;AAAE,QAAG,kBAAkB;AAchG;;AAEG;AACH,4BAAwB,uBAAuB;AAW/C;;AAEG;AACH;AASA;AAWA;yCAvLW,sBAAsB;6CAAtB,sBAAsB;AA0MlC;;ACtRD;;;;AAIG;AACH,cAea,iCAAiC;AAC5C;;AAEG;4BACmBA,EAAA,CAAA,cAAA,CAAA,kBAAA;AAEtB;;AAEG;6BACoBA,EAAA,CAAA,cAAA,CAAA,GAAA;AAEvB;;AAEG;AACH;;AAaA;;AAEG;AACH,kCAA8B,kBAAkB;AAehD;;AAEG;AACH;AAOA;;AAEG;AACH,sCAAkC,kBAAkB;AAIpD;;AAEG;AACH;AAIA;;AAEG;AACH,qCAAiC,kBAAkB;AAKnD;AA4BA;yCAzGW,iCAAiC;2CAAjC,iCAAiC;AA+H7C;;;;","names":["_angular_core"]}
@@ -0,0 +1,126 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Signal } from '@angular/core';
3
+
4
+ /**
5
+ * Configuration interface for theme customization
6
+ */
7
+ interface FuiThemeConfig {
8
+ /** Primary color for the theme (hex, rgb, hsl) */
9
+ primary?: string;
10
+ /** Secondary color for the theme (hex, rgb, hsl) */
11
+ secondary?: string;
12
+ /** Tertiary color for the theme (hex, rgb, hsl) */
13
+ tertiary?: string;
14
+ }
15
+ /**
16
+ * Available theme modes
17
+ */
18
+ type FuiThemeMode = 'light' | 'dark' | 'auto';
19
+ /**
20
+ * # FuiTheme Service
21
+ *
22
+ * Central service for managing theme configuration and mode switching.
23
+ * Provides runtime theme customization with CSS variables and automatic palette generation.
24
+ *
25
+ * ## Features
26
+ * - Runtime theme customization
27
+ * - Light/dark/auto mode switching
28
+ * - Automatic color palette generation
29
+ * - CSS variables-based theming
30
+ * - Persistent theme preferences
31
+ * - System theme detection
32
+ *
33
+ * ## Usage
34
+ *
35
+ * ### Basic Theme Setup
36
+ * ```typescript
37
+ * import { FuiThemeService } from '@raintonic/formaui/services/theme';
38
+ *
39
+ * constructor(private themeService: FuiThemeService) {
40
+ * // Set custom theme colors
41
+ * this.themeService.setTheme({
42
+ * primary: '#007bff',
43
+ * secondary: '#6c757d',
44
+ * tertiary: '#28a745'
45
+ * });
46
+ * }
47
+ * ```
48
+ *
49
+ * ### Theme Mode Switching
50
+ * ```typescript
51
+ * // Switch to dark mode
52
+ * this.themeService.setMode('dark');
53
+ *
54
+ * // Switch to auto (follows system preference)
55
+ * this.themeService.setMode('auto');
56
+ *
57
+ * // Get current mode
58
+ * const currentMode = this.themeService.currentMode();
59
+ * const isDark = this.themeService.isDark();
60
+ * ```
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * import { Component, effect } from '@angular/core';
65
+ * import { FuiThemeService } from '@raintonic/formaui/services/theme';
66
+ *
67
+ * @Component({
68
+ * template: `
69
+ * <div class="theme-controls">
70
+ * <button rtButton (click)="setLightMode()">Light</button>
71
+ * <button rtButton (click)="setDarkMode()">Dark</button>
72
+ * <button rtButton (click)="setAutoMode()">Auto</button>
73
+ * </div>
74
+ * `
75
+ * })
76
+ * export class ThemeControlsComponent {
77
+ * constructor(public themeService: FuiThemeService) {}
78
+ *
79
+ * setLightMode() { this.themeService.setMode('light'); }
80
+ * setDarkMode() { this.themeService.setMode('dark'); }
81
+ * setAutoMode() { this.themeService.setMode('auto'); }
82
+ * }
83
+ * ```
84
+ */
85
+ declare class FuiThemeService {
86
+ private readonly _destroyRef;
87
+ private readonly _document;
88
+ private readonly _platformId;
89
+ private readonly _currentMode;
90
+ private readonly _isDark;
91
+ readonly currentMode: Signal<FuiThemeMode>;
92
+ readonly isDark: Signal<boolean>;
93
+ constructor();
94
+ /**
95
+ * Initialize theme with custom colors
96
+ */
97
+ initTheme(config?: FuiThemeConfig): void;
98
+ /**
99
+ * Set theme colors dynamically
100
+ */
101
+ setTheme(config?: FuiThemeConfig): void;
102
+ /**
103
+ * Set theme mode
104
+ */
105
+ setThemeMode(mode: FuiThemeMode): void;
106
+ /**
107
+ * Set theme mode (preferred method)
108
+ */
109
+ setMode(mode: FuiThemeMode): void;
110
+ /**
111
+ * Toggle between light and dark themes
112
+ */
113
+ toggleTheme(): void;
114
+ private _initializeTheme;
115
+ private _setupMediaQueryListener;
116
+ private _applyThemeMode;
117
+ private _updateDarkMode;
118
+ private _setColorPalette;
119
+ private _generateColorPalette;
120
+ static ɵfac: i0.ɵɵFactoryDeclaration<FuiThemeService, never>;
121
+ static ɵprov: i0.ɵɵInjectableDeclaration<FuiThemeService>;
122
+ }
123
+
124
+ export { FuiThemeService };
125
+ export type { FuiThemeConfig, FuiThemeMode };
126
+ //# sourceMappingURL=raintonic-formaui-services-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raintonic-formaui-services-theme.d.ts","sources":["../../../lib/services/theme/theme.service.ts"],"mappings":";;;AAGA;;AAEG;UACc,cAAc;;;;;;;AAO9B;AAED;;AAEG;AACG,KAAM,YAAY;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEG;AACH,cAGa,eAAe;AAC1B;AACA;AACA;AACA;AACA;AAEA,0BAAsB,MAAM,CAAC,YAAY;AACzC,qBAAiB,MAAM;;AAOvB;;AAEG;AACH,uBAAkB,cAAmB;AAIrC;;AAEG;AACH,sBAAiB,cAAmB;AAgBpC;;AAEG;AACH,uBAAmB,YAAY;AAI/B;;AAEG;AACH,kBAAc,YAAY;AAK1B;;AAEG;AACH;AAKA;AAoBA;AA+BA;AA+BA;AAKA;AAWA;yCAlKW,eAAe;6CAAf,eAAe;AAkM3B;;;;","names":[]}
@@ -0,0 +1,24 @@
1
+ import axe from 'axe-core';
2
+
3
+ /**
4
+ * Runs axe-core accessibility audit on the given element.
5
+ * Returns violations array. Empty array means no violations.
6
+ */
7
+ declare function runA11yAudit(element: HTMLElement): Promise<axe.Result[]>;
8
+
9
+ declare function pressKey(element: HTMLElement, key: string, modifiers?: {
10
+ shift?: boolean;
11
+ ctrl?: boolean;
12
+ alt?: boolean;
13
+ }): void;
14
+ declare function pressTab(element: HTMLElement, shift?: boolean): void;
15
+ declare function pressArrowDown(element: HTMLElement): void;
16
+ declare function pressArrowUp(element: HTMLElement): void;
17
+ declare function pressEnter(element: HTMLElement): void;
18
+ declare function pressSpace(element: HTMLElement): void;
19
+ declare function pressEscape(element: HTMLElement): void;
20
+ declare function pressHome(element: HTMLElement): void;
21
+ declare function pressEnd(element: HTMLElement): void;
22
+
23
+ export { pressArrowDown, pressArrowUp, pressEnd, pressEnter, pressEscape, pressHome, pressKey, pressSpace, pressTab, runA11yAudit };
24
+ //# sourceMappingURL=raintonic-formaui-test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raintonic-formaui-test-utils.d.ts","sources":["../../../lib/test-utils/a11y-test.util.ts","../../../lib/test-utils/keyboard-test.util.ts"],"mappings":";;AAEA;;;AAGG;AACH,iBAAsB,YAAY,UAAU,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM;;ACN5E,iBAAgB,QAAQ,UACb,WAAW;;;;AAE0C;AAahE,iBAAgB,QAAQ,UAAU,WAAW;AAI7C,iBAAgB,cAAc,UAAU,WAAW;AAInD,iBAAgB,YAAY,UAAU,WAAW;AAIjD,iBAAgB,UAAU,UAAU,WAAW;AAI/C,iBAAgB,UAAU,UAAU,WAAW;AAI/C,iBAAgB,WAAW,UAAU,WAAW;AAIhD,iBAAgB,SAAS,UAAU,WAAW;AAI9C,iBAAgB,QAAQ,UAAU,WAAW;;;;","names":[]}
@@ -0,0 +1,4 @@
1
+ declare const FORMAUI_VERSION = "0.1.0";
2
+
3
+ export { FORMAUI_VERSION };
4
+ //# sourceMappingURL=raintonic-formaui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raintonic-formaui.d.ts","sources":["../../../lib/src/public-api.ts"],"mappings":"AAAA,cAAa,eAAe;;;;","names":[]}