@tacdaed/fragments 1.0.0-beta.4 → 1.0.0-beta.5

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 (263) hide show
  1. package/README.md +16 -11
  2. package/assets/styles/scss/_all.scss +0 -1
  3. package/fesm2022/tacdaed-fragments.mjs +8928 -0
  4. package/index.d.ts +3929 -0
  5. package/package.json +34 -22
  6. package/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf +0 -0
  7. package/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf +0 -0
  8. package/assets/resources/fonts/Roboto/Roboto-Black.ttf +0 -0
  9. package/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
  10. package/assets/resources/fonts/Roboto/Roboto-Bold.ttf +0 -0
  11. package/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
  12. package/assets/resources/fonts/Roboto/Roboto-Italic.ttf +0 -0
  13. package/assets/resources/fonts/Roboto/Roboto-Light.ttf +0 -0
  14. package/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
  15. package/assets/resources/fonts/Roboto/Roboto-Medium.ttf +0 -0
  16. package/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
  17. package/assets/resources/fonts/Roboto/Roboto-Regular.ttf +0 -0
  18. package/assets/resources/fonts/Roboto/Roboto-Thin.ttf +0 -0
  19. package/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
  20. package/assets/styles/scss/_fonts.scss +0 -122
  21. package/ng-package.json +0 -20
  22. package/src/lib/components/accordion/accordion.component.html +0 -103
  23. package/src/lib/components/accordion/accordion.component.scss +0 -382
  24. package/src/lib/components/accordion/accordion.component.spec.ts +0 -147
  25. package/src/lib/components/accordion/accordion.component.ts +0 -211
  26. package/src/lib/components/accordion/accordion.type.ts +0 -82
  27. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -43
  28. package/src/lib/components/breadcrumb/breadcrumb.component.scss +0 -112
  29. package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +0 -33
  30. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -103
  31. package/src/lib/components/breadcrumb/breadcrumb.interface.ts +0 -7
  32. package/src/lib/components/button/button.component.html +0 -57
  33. package/src/lib/components/button/button.component.scss +0 -445
  34. package/src/lib/components/button/button.component.spec.ts +0 -99
  35. package/src/lib/components/button/button.component.ts +0 -143
  36. package/src/lib/components/button/button.type.ts +0 -7
  37. package/src/lib/components/card/card.component.html +0 -44
  38. package/src/lib/components/card/card.component.scss +0 -114
  39. package/src/lib/components/card/card.component.spec.ts +0 -65
  40. package/src/lib/components/card/card.component.ts +0 -21
  41. package/src/lib/components/card/card.type.ts +0 -3
  42. package/src/lib/components/code-block/code-block.component.html +0 -55
  43. package/src/lib/components/code-block/code-block.component.scss +0 -122
  44. package/src/lib/components/code-block/code-block.component.spec.ts +0 -81
  45. package/src/lib/components/code-block/code-block.component.ts +0 -302
  46. package/src/lib/components/code-block/code-block.interface.ts +0 -28
  47. package/src/lib/components/code-block/code-block.type.ts +0 -73
  48. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.html +0 -14
  49. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.scss +0 -20
  50. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.spec.ts +0 -38
  51. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.ts +0 -181
  52. package/src/lib/components/input/input-base.ts +0 -187
  53. package/src/lib/components/input/input-calendar/input-calendar.component.html +0 -76
  54. package/src/lib/components/input/input-calendar/input-calendar.component.scss +0 -179
  55. package/src/lib/components/input/input-calendar/input-calendar.component.spec.ts +0 -44
  56. package/src/lib/components/input/input-calendar/input-calendar.component.ts +0 -299
  57. package/src/lib/components/input/input-checkbox/input-checkbox.component.html +0 -37
  58. package/src/lib/components/input/input-checkbox/input-checkbox.component.scss +0 -128
  59. package/src/lib/components/input/input-checkbox/input-checkbox.component.spec.ts +0 -43
  60. package/src/lib/components/input/input-checkbox/input-checkbox.component.ts +0 -112
  61. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.html +0 -43
  62. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.scss +0 -140
  63. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.spec.ts +0 -62
  64. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.ts +0 -136
  65. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.html +0 -81
  66. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.scss +0 -228
  67. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.spec.ts +0 -62
  68. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.ts +0 -178
  69. package/src/lib/components/input/input-consts.ts +0 -132
  70. package/src/lib/components/input/input-date/input-date-validators.ts +0 -41
  71. package/src/lib/components/input/input-date/input-date.component.html +0 -41
  72. package/src/lib/components/input/input-date/input-date.component.scss +0 -95
  73. package/src/lib/components/input/input-date/input-date.component.spec.ts +0 -43
  74. package/src/lib/components/input/input-date/input-date.component.ts +0 -359
  75. package/src/lib/components/input/input-date-time/input-date-time.component.html +0 -70
  76. package/src/lib/components/input/input-date-time/input-date-time.component.scss +0 -133
  77. package/src/lib/components/input/input-date-time/input-date-time.component.spec.ts +0 -36
  78. package/src/lib/components/input/input-date-time/input-date-time.component.ts +0 -387
  79. package/src/lib/components/input/input-file-upload/input-file-upload.component.html +0 -89
  80. package/src/lib/components/input/input-file-upload/input-file-upload.component.scss +0 -171
  81. package/src/lib/components/input/input-file-upload/input-file-upload.component.spec.ts +0 -43
  82. package/src/lib/components/input/input-file-upload/input-file-upload.component.ts +0 -351
  83. package/src/lib/components/input/input-interface.ts +0 -8
  84. package/src/lib/components/input/input-number/input-number-validators.ts +0 -0
  85. package/src/lib/components/input/input-number/input-number.component.html +0 -51
  86. package/src/lib/components/input/input-number/input-number.component.scss +0 -140
  87. package/src/lib/components/input/input-number/input-number.component.spec.ts +0 -44
  88. package/src/lib/components/input/input-number/input-number.component.ts +0 -343
  89. package/src/lib/components/input/input-radio-group/input-radio-group.component.html +0 -44
  90. package/src/lib/components/input/input-radio-group/input-radio-group.component.scss +0 -139
  91. package/src/lib/components/input/input-radio-group/input-radio-group.component.spec.ts +0 -58
  92. package/src/lib/components/input/input-radio-group/input-radio-group.component.ts +0 -132
  93. package/src/lib/components/input/input-slider/input-slider.component.html +0 -111
  94. package/src/lib/components/input/input-slider/input-slider.component.scss +0 -203
  95. package/src/lib/components/input/input-slider/input-slider.component.spec.ts +0 -46
  96. package/src/lib/components/input/input-slider/input-slider.component.ts +0 -410
  97. package/src/lib/components/input/input-text/input-text-validators.ts +0 -67
  98. package/src/lib/components/input/input-text/input-text.component.html +0 -71
  99. package/src/lib/components/input/input-text/input-text.component.scss +0 -118
  100. package/src/lib/components/input/input-text/input-text.component.spec.ts +0 -55
  101. package/src/lib/components/input/input-text/input-text.component.ts +0 -215
  102. package/src/lib/components/input/input-time/input-time-validators.ts +0 -42
  103. package/src/lib/components/input/input-time/input-time.component.html +0 -92
  104. package/src/lib/components/input/input-time/input-time.component.scss +0 -191
  105. package/src/lib/components/input/input-time/input-time.component.spec.ts +0 -39
  106. package/src/lib/components/input/input-time/input-time.component.ts +0 -691
  107. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.html +0 -36
  108. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.scss +0 -121
  109. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.spec.ts +0 -54
  110. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.ts +0 -117
  111. package/src/lib/components/input/input-type.ts +0 -18
  112. package/src/lib/components/input/input-validation/input-validation.component.html +0 -19
  113. package/src/lib/components/input/input-validation/input-validation.component.scss +0 -39
  114. package/src/lib/components/input/input-validation/input-validation.component.spec.ts +0 -45
  115. package/src/lib/components/input/input-validation/input-validation.component.ts +0 -13
  116. package/src/lib/components/input/input.pipe.ts +0 -14
  117. package/src/lib/components/layout/container/container.component.html +0 -1
  118. package/src/lib/components/layout/container/container.component.scss +0 -33
  119. package/src/lib/components/layout/container/container.component.ts +0 -32
  120. package/src/lib/components/layout/container/container.type.ts +0 -1
  121. package/src/lib/components/layout/divider/divider.component.html +0 -1
  122. package/src/lib/components/layout/divider/divider.component.scss +0 -60
  123. package/src/lib/components/layout/divider/divider.component.ts +0 -38
  124. package/src/lib/components/layout/divider/divider.type.ts +0 -2
  125. package/src/lib/components/layout/section/section.component.html +0 -21
  126. package/src/lib/components/layout/section/section.component.scss +0 -43
  127. package/src/lib/components/layout/section/section.component.ts +0 -33
  128. package/src/lib/components/layout/section/section.type.ts +0 -2
  129. package/src/lib/components/layout/separator/separator.component.html +0 -9
  130. package/src/lib/components/layout/separator/separator.component.scss +0 -52
  131. package/src/lib/components/layout/separator/separator.component.ts +0 -25
  132. package/src/lib/components/layout/separator/separator.type.ts +0 -1
  133. package/src/lib/components/loader/content-blur/content-blur.component.html +0 -13
  134. package/src/lib/components/loader/content-blur/content-blur.component.scss +0 -43
  135. package/src/lib/components/loader/content-blur/content-blur.component.spec.ts +0 -42
  136. package/src/lib/components/loader/content-blur/content-blur.component.ts +0 -34
  137. package/src/lib/components/loader/loader.type.ts +0 -2
  138. package/src/lib/components/loader/progress-bar/progress-bar.component.html +0 -26
  139. package/src/lib/components/loader/progress-bar/progress-bar.component.scss +0 -151
  140. package/src/lib/components/loader/progress-bar/progress-bar.component.spec.ts +0 -47
  141. package/src/lib/components/loader/progress-bar/progress-bar.component.ts +0 -28
  142. package/src/lib/components/loader/progress-bar/progress-bar.type.ts +0 -8
  143. package/src/lib/components/loader/pulse-loader/pulse-loader.component.html +0 -12
  144. package/src/lib/components/loader/pulse-loader/pulse-loader.component.scss +0 -202
  145. package/src/lib/components/loader/pulse-loader/pulse-loader.component.spec.ts +0 -55
  146. package/src/lib/components/loader/pulse-loader/pulse-loader.component.ts +0 -73
  147. package/src/lib/components/loader/pulse-loader/pulse-loader.type.ts +0 -6
  148. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.html +0 -13
  149. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.scss +0 -113
  150. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.spec.ts +0 -37
  151. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.ts +0 -51
  152. package/src/lib/components/loader/skeleton-loader/skeleton-loader.type.ts +0 -6
  153. package/src/lib/components/loader/spinner/spinner.component.html +0 -20
  154. package/src/lib/components/loader/spinner/spinner.component.scss +0 -137
  155. package/src/lib/components/loader/spinner/spinner.component.spec.ts +0 -43
  156. package/src/lib/components/loader/spinner/spinner.component.ts +0 -32
  157. package/src/lib/components/loader/spinner/spinner.type.ts +0 -6
  158. package/src/lib/components/modal/modal.component.html +0 -47
  159. package/src/lib/components/modal/modal.component.scss +0 -139
  160. package/src/lib/components/modal/modal.component.spec.ts +0 -60
  161. package/src/lib/components/modal/modal.component.ts +0 -83
  162. package/src/lib/components/modal/modal.type.ts +0 -9
  163. package/src/lib/components/morph/blob-moph/blob-moprh.component.spec.ts +0 -79
  164. package/src/lib/components/morph/blob-moph/blob-moprh.component.ts +0 -96
  165. package/src/lib/components/morph/blob-moph/blob-morph.component.html +0 -34
  166. package/src/lib/components/morph/blob-moph/blob-morph.component.scss +0 -7
  167. package/src/lib/components/morph/morph.abstract.ts +0 -13
  168. package/src/lib/components/pagination/pagination.interface.ts +0 -4
  169. package/src/lib/components/pagination/small-pagination/small-pagination.component.html +0 -61
  170. package/src/lib/components/pagination/small-pagination/small-pagination.component.scss +0 -187
  171. package/src/lib/components/pagination/small-pagination/small-pagination.component.spec.ts +0 -88
  172. package/src/lib/components/pagination/small-pagination/small-pagination.component.ts +0 -177
  173. package/src/lib/components/selection-lists/multi-select/multi-select.component.html +0 -170
  174. package/src/lib/components/selection-lists/multi-select/multi-select.component.scss +0 -312
  175. package/src/lib/components/selection-lists/multi-select/multi-select.component.spec.ts +0 -61
  176. package/src/lib/components/selection-lists/multi-select/multi-select.component.ts +0 -372
  177. package/src/lib/components/selection-lists/selection-list/selection-list.component.html +0 -125
  178. package/src/lib/components/selection-lists/selection-list/selection-list.component.scss +0 -267
  179. package/src/lib/components/selection-lists/selection-list/selection-list.component.spec.ts +0 -66
  180. package/src/lib/components/selection-lists/selection-list/selection-list.component.ts +0 -315
  181. package/src/lib/components/selection-lists/selection-lists-base.ts +0 -35
  182. package/src/lib/components/selection-lists/selection-lists-const.ts +0 -17
  183. package/src/lib/components/selection-lists/selection-lists-interface.ts +0 -7
  184. package/src/lib/components/selection-lists/selection-lists.type.ts +0 -1
  185. package/src/lib/components/side-nav/side-nav.component.html +0 -101
  186. package/src/lib/components/side-nav/side-nav.component.scss +0 -295
  187. package/src/lib/components/side-nav/side-nav.component.spec.ts +0 -0
  188. package/src/lib/components/side-nav/side-nav.component.ts +0 -18
  189. package/src/lib/components/side-nav/side-nav.type.ts +0 -28
  190. package/src/lib/components/snackbar/snackbar.component.html +0 -33
  191. package/src/lib/components/snackbar/snackbar.component.scss +0 -195
  192. package/src/lib/components/snackbar/snackbar.component.ts +0 -112
  193. package/src/lib/components/snackbar/snackbar.type.ts +0 -27
  194. package/src/lib/components/status/chip/chip.component.html +0 -51
  195. package/src/lib/components/status/chip/chip.component.scss +0 -149
  196. package/src/lib/components/status/chip/chip.component.spec.ts +0 -62
  197. package/src/lib/components/status/chip/chip.component.ts +0 -83
  198. package/src/lib/components/status/chip/chip.type.ts +0 -42
  199. package/src/lib/components/status/directives/badge/badge.directive.spec.ts +0 -60
  200. package/src/lib/components/status/directives/badge/badge.directive.ts +0 -190
  201. package/src/lib/components/status/directives/badge/badge.interface.ts +0 -19
  202. package/src/lib/components/status/pill/pill.component.html +0 -40
  203. package/src/lib/components/status/pill/pill.component.scss +0 -113
  204. package/src/lib/components/status/pill/pill.component.spec.ts +0 -47
  205. package/src/lib/components/status/pill/pill.component.ts +0 -83
  206. package/src/lib/components/status/pill/pill.type.ts +0 -42
  207. package/src/lib/components/status/status.interface.ts +0 -57
  208. package/src/lib/components/status/status.type.ts +0 -62
  209. package/src/lib/components/status/tag/tag.component.html +0 -39
  210. package/src/lib/components/status/tag/tag.component.scss +0 -140
  211. package/src/lib/components/status/tag/tag.component.spec.ts +0 -47
  212. package/src/lib/components/status/tag/tag.component.ts +0 -83
  213. package/src/lib/components/status/tag/tag.type.ts +0 -42
  214. package/src/lib/components/stepper/stepper.component.html +0 -83
  215. package/src/lib/components/stepper/stepper.component.scss +0 -196
  216. package/src/lib/components/stepper/stepper.component.ts +0 -482
  217. package/src/lib/components/stepper/stepper.type.ts +0 -60
  218. package/src/lib/components/table/table.component.html +0 -438
  219. package/src/lib/components/table/table.component.scss +0 -259
  220. package/src/lib/components/table/table.component.spec.ts +0 -117
  221. package/src/lib/components/table/table.component.ts +0 -215
  222. package/src/lib/components/table/table.enum.ts +0 -4
  223. package/src/lib/components/table/table.function.ts +0 -47
  224. package/src/lib/components/table/table.interface.ts +0 -143
  225. package/src/lib/components/table/table.pipe.ts +0 -62
  226. package/src/lib/components/table/table.type.ts +0 -15
  227. package/src/lib/components/tabs/tabs.component.html +0 -88
  228. package/src/lib/components/tabs/tabs.component.scss +0 -305
  229. package/src/lib/components/tabs/tabs.component.spec.ts +0 -94
  230. package/src/lib/components/tabs/tabs.component.ts +0 -282
  231. package/src/lib/components/tabs/tabs.type.ts +0 -81
  232. package/src/lib/components/title-bar/title-bar.component.html +0 -21
  233. package/src/lib/components/title-bar/title-bar.component.scss +0 -139
  234. package/src/lib/components/title-bar/title-bar.component.spec.ts +0 -44
  235. package/src/lib/components/title-bar/title-bar.component.ts +0 -13
  236. package/src/lib/components/toast/toast.component.html +0 -36
  237. package/src/lib/components/toast/toast.component.scss +0 -241
  238. package/src/lib/components/toast/toast.component.ts +0 -165
  239. package/src/lib/components/toast/toast.type.ts +0 -37
  240. package/src/lib/components/toast-stack/toast-stack.component.html +0 -30
  241. package/src/lib/components/toast-stack/toast-stack.component.scss +0 -35
  242. package/src/lib/components/toast-stack/toast-stack.component.ts +0 -51
  243. package/src/lib/consts/country-prefix.ts +0 -244
  244. package/src/lib/directives/tooltip/popover.directive.ts +0 -274
  245. package/src/lib/directives/tooltip/tooltip.directive.spec.ts +0 -86
  246. package/src/lib/directives/tooltip/tooltip.directive.ts +0 -234
  247. package/src/lib/directives/tooltip/tooltip.interface.ts +0 -29
  248. package/src/lib/directives/tooltip/tooltip.type.ts +0 -9
  249. package/src/lib/interfaces/common.interfaces.ts +0 -4
  250. package/src/lib/pipes/chunk.pipe.ts +0 -16
  251. package/src/lib/pipes/safe-html.pipe.ts +0 -14
  252. package/src/lib/pipes/sanitize-html.pipe.ts +0 -23
  253. package/src/lib/types/base.types.ts +0 -23
  254. package/src/lib/types/common.types.ts +0 -98
  255. package/src/lib/types/form.types.ts +0 -5
  256. package/src/lib/utils/common.utils.ts +0 -53
  257. package/src/lib/utils/date.utils.ts +0 -474
  258. package/src/lib/utils/number.utils.ts +0 -16
  259. package/src/lib/utils/uuid.utils.ts +0 -39
  260. package/src/public-api.ts +0 -114
  261. package/tsconfig.lib.json +0 -17
  262. package/tsconfig.lib.prod.json +0 -10
  263. package/tsconfig.spec.json +0 -9
@@ -1,81 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import { TBaseSize, TBaseStyle } from '../../types/base.types';
3
-
4
- /**
5
- * Style variants supported by tabs.
6
- */
7
- export type TTabStyle = TBaseStyle;
8
- /**
9
- * Size variants supported by tabs.
10
- */
11
- export type TTabSize = TBaseSize;
12
-
13
- /**
14
- * Context passed into projected templates for tabs.
15
- */
16
- export interface TabItemContext<T = unknown> {
17
- /**
18
- * Implicit reference to the current tab item.
19
- */
20
- $implicit: TabItem<T>;
21
- /**
22
- * Named reference to the current tab item.
23
- */
24
- item: TabItem<T>;
25
- /**
26
- * Zero-based index of the tab.
27
- */
28
- index: number;
29
- /**
30
- * Whether this tab is currently active.
31
- */
32
- active: boolean;
33
- /**
34
- * Function to activate this tab.
35
- */
36
- select: () => void;
37
- }
38
-
39
- /**
40
- * Definition for a single tab.
41
- */
42
- export interface TabItem<T = unknown> {
43
- /** Unique identifier for the tab. Auto-generated when omitted. */
44
- id?: string;
45
- /** Visible label shown on the tab button. */
46
- label: string;
47
- /** Optional secondary label or helper text. */
48
- description?: string;
49
- /** Optional icon to render when no template is provided. */
50
- icon?: string;
51
- /** Disable interaction for this tab. */
52
- disabled?: boolean;
53
- /** Apply a style variant to this tab. */
54
- style?: TTabStyle;
55
- /** Adjust spacing and typography for this tab. */
56
- size?: TTabSize;
57
- /** Mark this tab as initially active when no activeId input is provided. */
58
- active?: boolean;
59
- /** Arbitrary data available to projected templates. */
60
- data?: T;
61
- /** Simple content rendering when no template is provided. */
62
- content?: string;
63
- /** Custom icon template for this tab only. */
64
- iconTemplate?: TemplateRef<TabItemContext<T>>;
65
- /** Custom label template for this tab only. */
66
- labelTemplate?: TemplateRef<TabItemContext<T>>;
67
- /** Custom body template for this tab only. */
68
- contentTemplate?: TemplateRef<TabItemContext<T>>;
69
- }
70
-
71
- /**
72
- * Payload emitted when the active tab changes.
73
- */
74
- export interface TabChangeEvent<T = unknown> {
75
- /** Identifier of the active tab, or null when none available. */
76
- id: string | null;
77
- /** Index of the active tab in the view items. */
78
- index: number;
79
- /** The full tab item associated with the change. */
80
- item?: TabItem<T>;
81
- }
@@ -1,21 +0,0 @@
1
- @if (title) {
2
- <div
3
- class="frg-title-bar"
4
- [ngClass]="{
5
- 'frg-title-bar__primary': styleType === 'primary',
6
- 'frg-title-bar__secondary': styleType === 'secondary',
7
- 'frg-title-bar__tertiary': styleType === 'tertiary',
8
- 'frg-title-bar__dark': styleType === 'dark',
9
- 'frg-title-bar__light': styleType === 'light'
10
- }"
11
- >
12
- <div
13
- class="frg-title-bar-title d-flex justify-content-between"
14
- aria-level="3"
15
- >
16
- <div class="frg-title-bar-title__text">
17
- {{ title }}
18
- </div>
19
- </div>
20
- </div>
21
- }
@@ -1,139 +0,0 @@
1
- @use './../../../../assets/styles/scss/variables' as *;
2
- @use './../../../../assets/styles/scss/fonts';
3
-
4
- .frg-title-bar {
5
- color: $color-dark;
6
- font-weight: normal;
7
- font-size: 1.25rem;
8
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
9
- font-family:
10
- 'frg-opensans',
11
- system-ui,
12
- -apple-system,
13
- BlinkMacSystemFont,
14
- 'Segoe UI',
15
- Roboto,
16
- Oxygen,
17
- Ubuntu,
18
- Cantarell,
19
- 'Open Sans',
20
- 'Helvetica Neue',
21
- sans-serif;
22
-
23
- &__primary {
24
- background-color: $color-primary-dark;
25
- color: $color-light;
26
-
27
- & .frg-title-bar-title {
28
- & button {
29
- color: $color-primary-dark;
30
- }
31
- }
32
-
33
- & .frg-title-bar-filter {
34
- background-color: $color-primary;
35
- }
36
-
37
- & .frg-title-bar-search {
38
- background-color: $color-primary;
39
- }
40
- }
41
-
42
- &__secondary {
43
- background-color: $color-secondary-dark;
44
- color: $color-light;
45
-
46
- & .frg-title-bar-title {
47
- & button {
48
- color: $color-secondary-dark;
49
- }
50
- }
51
-
52
- & .frg-title-bar-filter {
53
- background-color: $color-secondary;
54
- }
55
-
56
- & .frg-title-bar-search {
57
- background-color: $color-secondary;
58
- }
59
- }
60
-
61
- &__tertiary {
62
- background-color: $color-tertiary-dark;
63
- color: $color-light;
64
-
65
- & .frg-title-bar-title {
66
- & button {
67
- color: $color-tertiary-dark;
68
- }
69
- }
70
-
71
- & .frg-title-bar-filter {
72
- background-color: $color-tertiary;
73
- }
74
-
75
- & .frg-title-bar-search {
76
- background-color: $color-tertiary;
77
- }
78
- }
79
-
80
- &__dark {
81
- background-color: $color-dark;
82
- color: #fff;
83
- }
84
-
85
- &__light {
86
- background-color: $color-light;
87
- }
88
-
89
- & .frg-title-bar-title {
90
- padding: 15px 25px;
91
-
92
- & button {
93
- outline: none;
94
- border: none;
95
- border-radius: 50%;
96
- width: 25px;
97
- height: 25px;
98
- padding: 15px;
99
- font-size: 1rem;
100
-
101
- &:focus {
102
- color: $color-dark;
103
- background-color: $input-background;
104
- border-color: $input-focus-border-color;
105
- outline: 0;
106
- outline: 3px solid $color-primary;
107
- box-shadow: none;
108
- }
109
-
110
- &:focus-visible {
111
- outline-offset: 5px;
112
- }
113
- }
114
- }
115
-
116
- & .frg-title-bar-filter {
117
- &__container {
118
- padding: 25px;
119
- }
120
-
121
- & label {
122
- display: block;
123
- font-size: 0.8rem;
124
- font-weight: lighter;
125
- }
126
- }
127
-
128
- & .frg-title-bar-search {
129
- &__container {
130
- padding: 25px;
131
- }
132
-
133
- & label {
134
- display: block;
135
- font-size: 0.8rem;
136
- font-weight: lighter;
137
- }
138
- }
139
- }
@@ -1,44 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { By } from '@angular/platform-browser';
3
- import { TitleBarComponent } from './title-bar.component';
4
-
5
- describe('TitleBarComponent', () => {
6
- let fixture: ComponentFixture<TitleBarComponent>;
7
- let component: TitleBarComponent;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [TitleBarComponent]
12
- }).compileComponents();
13
-
14
- fixture = TestBed.createComponent(TitleBarComponent);
15
- component = fixture.componentInstance;
16
- });
17
-
18
- it('renders title when provided', () => {
19
- component.title = 'Dashboard';
20
-
21
- fixture.detectChanges();
22
-
23
- const title = fixture.debugElement.query(By.css('.frg-title-bar-title__text'));
24
- expect(title.nativeElement.textContent).toContain('Dashboard');
25
- });
26
-
27
- it('does not render when title is empty', () => {
28
- component.title = '';
29
-
30
- fixture.detectChanges();
31
-
32
- expect(fixture.debugElement.query(By.css('.frg-title-bar'))).toBeNull();
33
- });
34
-
35
- it('applies style class based on styleType', () => {
36
- component.title = 'Dashboard';
37
- component.styleType = 'dark';
38
-
39
- fixture.detectChanges();
40
-
41
- const wrapper = fixture.debugElement.query(By.css('.frg-title-bar'));
42
- expect(wrapper.nativeElement.classList).toContain('frg-title-bar__dark');
43
- });
44
- });
@@ -1,13 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { TBaseStyle } from '../../types/base.types';
4
- @Component({
5
- selector: 'frg-title-bar',
6
- imports: [CommonModule],
7
- templateUrl: './title-bar.component.html',
8
- styleUrls: ['./title-bar.component.scss']
9
- })
10
- export class TitleBarComponent {
11
- @Input() title = '';
12
- @Input() styleType: TBaseStyle = 'primary';
13
- }
@@ -1,36 +0,0 @@
1
- @if (isRendered) {
2
- <div
3
- class="frg-toast"
4
- [ngClass]="toastClassMap"
5
- role="status"
6
- aria-live="polite"
7
- [attr.aria-label]="ariaLabel"
8
- [style.--frg-toast-motion]="motionDuration + 'ms'"
9
- >
10
- <div class="frg-toast__accent"></div>
11
- @if (statusIconClass) {
12
- <span class="frg-toast__status-icon" [ngClass]="statusIconClass" aria-hidden="true"></span>
13
- }
14
- <div class="frg-toast__content">
15
- @if (title) {
16
- <div class="frg-toast__title">{{ title }}</div>
17
- }
18
- <ng-content select="[frg-toast-title]"></ng-content>
19
- @if (message) {
20
- <div class="frg-toast__message">{{ message }}</div>
21
- }
22
- <ng-content select="[frg-toast-body]"></ng-content>
23
- <ng-content></ng-content>
24
- </div>
25
- @if (hasCloseButton) {
26
- <button
27
- type="button"
28
- class="frg-toast__close"
29
- aria-label="Close notification"
30
- (click)="onCloseClick()"
31
- >
32
- &times;
33
- </button>
34
- }
35
- </div>
36
- }
@@ -1,241 +0,0 @@
1
- @use 'sass:color';
2
- @use '../../../../assets/styles/scss/variables' as *;
3
-
4
- :host {
5
- display: block;
6
-
7
- .frg-toast {
8
- position: fixed;
9
- display: grid;
10
- grid-template-columns: 0.35rem auto 1fr auto;
11
- gap: 0.75rem;
12
- align-items: start;
13
- padding: 0.75rem 0.9rem;
14
- background: var(--frg-toast-bg, $color-light);
15
- color: var(--frg-toast-text, $color-dark);
16
- border-radius: 0.25rem;
17
- border: 1px solid var(--frg-toast-border, rgba($color-dark, 0.1));
18
- box-shadow: $box-shadow-md;
19
- min-width: 16rem;
20
- max-width: 22rem;
21
- z-index: 1100;
22
-
23
- &--size-small {
24
- padding: 0.6rem 0.75rem;
25
- min-width: 14rem;
26
- max-width: 20rem;
27
- .frg-toast__content {
28
- font-size: 0.8rem;
29
- }
30
- .frg-toast__title {
31
- font-size: 0.85rem;
32
- }
33
- }
34
-
35
- &--size-medium {
36
- padding: 0.75rem 0.9rem;
37
- }
38
-
39
- &--size-large {
40
- padding: 0.9rem 1.1rem;
41
- min-width: 18rem;
42
- max-width: 26rem;
43
- .frg-toast__content {
44
- font-size: 0.9rem;
45
- }
46
- .frg-toast__title {
47
- font-size: 1rem;
48
- }
49
- }
50
-
51
- &--stacked {
52
- position: relative;
53
- top: auto !important;
54
- right: auto !important;
55
- bottom: auto !important;
56
- left: auto !important;
57
- width: 100%;
58
- max-width: 100%;
59
- }
60
-
61
- &--enter {
62
- animation: frg-toast-enter var(--frg-toast-motion, 200ms) ease;
63
- }
64
-
65
- &--leave {
66
- animation: frg-toast-leave var(--frg-toast-motion, 200ms) ease forwards;
67
- }
68
-
69
- &__accent {
70
- width: 0.35rem;
71
- border-radius: 0.35rem;
72
- background: var(--frg-toast-accent, $color-primary);
73
- }
74
-
75
- &__content {
76
- display: flex;
77
- flex-direction: column;
78
- gap: 0.2rem;
79
- font-size: 0.85rem;
80
- }
81
-
82
- &__status-icon {
83
- color: var(--frg-toast-accent, $color-primary);
84
- font-size: 1rem;
85
- line-height: 1;
86
- margin-top: 0.15rem;
87
- }
88
-
89
- &__title {
90
- font-weight: 600;
91
- font-size: 0.9rem;
92
- }
93
-
94
- &__message {
95
- color: var(--frg-toast-message, $color-dark-soft);
96
- }
97
-
98
- &__close {
99
- border: 0;
100
- background: transparent;
101
- color: var(--frg-toast-text, $color-dark-soft);
102
- font-size: 1.2rem;
103
- line-height: 1;
104
- padding: 0;
105
- cursor: pointer;
106
- }
107
-
108
- &__close:hover,
109
- &__close:focus-visible {
110
- color: var(--frg-toast-text, $color-dark);
111
- }
112
- }
113
-
114
- .frg-toast--top-left {
115
- top: 1.5rem;
116
- left: 1.5rem;
117
- --frg-toast-translate-x: -16px;
118
- --frg-toast-translate-y: -6px;
119
- }
120
-
121
- .frg-toast--top-right {
122
- top: 1.5rem;
123
- right: 1.5rem;
124
- --frg-toast-translate-x: 16px;
125
- --frg-toast-translate-y: -6px;
126
- }
127
-
128
- .frg-toast--bottom-left {
129
- bottom: 1.5rem;
130
- left: 1.5rem;
131
- --frg-toast-translate-x: -16px;
132
- --frg-toast-translate-y: 6px;
133
- }
134
-
135
- .frg-toast--bottom-right {
136
- bottom: 1.5rem;
137
- right: 1.5rem;
138
- --frg-toast-translate-x: 16px;
139
- --frg-toast-translate-y: 6px;
140
- }
141
-
142
- .frg-toast--default {
143
- --frg-toast-accent: #{$color-dark-neutral};
144
- --frg-toast-bg: #{$color-neutral};
145
- --frg-toast-text: #{$color-dark};
146
- --frg-toast-message: #{$color-dark-soft};
147
- }
148
-
149
- .frg-toast--primary {
150
- --frg-toast-accent: #{$color-primary};
151
- --frg-toast-bg: #{color.scale($color-primary-light, $lightness: 50%)};
152
- --frg-toast-text: #{color.scale($color-primary-dark, $lightness: -25%)};
153
- --frg-toast-message: #{color.scale($color-primary-dark, $lightness: -25%)};
154
- }
155
-
156
- .frg-toast--secondary {
157
- --frg-toast-accent: #{$color-secondary};
158
- --frg-toast-bg: #{color.scale($color-secondary-light, $lightness: 50%)};
159
- --frg-toast-text: #{color.scale($color-secondary-dark, $lightness: -25%)};
160
- --frg-toast-message: #{color.scale($color-secondary-dark, $lightness: -25%)};
161
- }
162
-
163
- .frg-toast--tertiary {
164
- --frg-toast-accent: #{$color-tertiary};
165
- --frg-toast-bg: #{color.scale($color-tertiary-light, $lightness: 50%)};
166
- --frg-toast-text: #{color.scale($color-tertiary-dark, $lightness: -25%)};
167
- --frg-toast-message: #{color.scale($color-tertiary-dark, $lightness: -25%)};
168
- }
169
-
170
- .frg-toast--info {
171
- --frg-toast-accent: #{$color-info};
172
- --frg-toast-bg: #{$color-light};
173
- --frg-toast-text: #{$color-dark};
174
- --frg-toast-message: #{$color-dark-soft};
175
- border-top: 0.3rem solid #{$color-info};
176
- border-bottom: 0.3rem solid #{$color-info};
177
- }
178
-
179
- .frg-toast--success {
180
- --frg-toast-accent: #{$color-success};
181
- --frg-toast-bg: #{$color-light};
182
- --frg-toast-text: #{$color-dark};
183
- --frg-toast-message: #{$color-dark-soft};
184
- border-top: 0.3rem solid #{$color-success};
185
- border-bottom: 0.3rem solid #{$color-success};
186
- }
187
-
188
- .frg-toast--warning {
189
- --frg-toast-accent: #{$color-warning};
190
- --frg-toast-bg: #{$color-light};
191
- --frg-toast-text: #{$color-dark};
192
- --frg-toast-message: #{$color-dark-soft};
193
- border-top: 0.3rem solid #{$color-warning};
194
- border-bottom: 0.3rem solid #{$color-warning};
195
- }
196
-
197
- .frg-toast--danger {
198
- --frg-toast-accent: #{$color-danger};
199
- --frg-toast-bg: #{$color-light};
200
- --frg-toast-text: #{$color-dark};
201
- --frg-toast-message: #{$color-dark-soft};
202
- border-top: 0.3rem solid #{$color-danger};
203
- border-bottom: 0.3rem solid #{$color-danger};
204
- }
205
-
206
- .frg-toast--dark {
207
- --frg-toast-accent: #{$color-dark};
208
- --frg-toast-bg: #{$color-dark};
209
- --frg-toast-text: #{$color-light};
210
- --frg-toast-message: #{color.scale($color-light, $lightness: -12%)};
211
- }
212
-
213
- .frg-toast--light {
214
- --frg-toast-accent: #{$color-light-neutral};
215
- --frg-toast-bg: #{$color-light};
216
- --frg-toast-text: #{$color-dark};
217
- --frg-toast-message: #{$color-dark-soft};
218
- }
219
- }
220
-
221
- @keyframes frg-toast-enter {
222
- from {
223
- opacity: 0;
224
- transform: translate(var(--frg-toast-translate-x, 0), var(--frg-toast-translate-y, 0));
225
- }
226
- to {
227
- opacity: 1;
228
- transform: translate(0, 0);
229
- }
230
- }
231
-
232
- @keyframes frg-toast-leave {
233
- from {
234
- opacity: 1;
235
- transform: translate(0, 0);
236
- }
237
- to {
238
- opacity: 0;
239
- transform: translate(var(--frg-toast-translate-x, 0), var(--frg-toast-translate-y, 0));
240
- }
241
- }