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

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,140 +0,0 @@
1
- @use './../../../../../assets/styles/scss/variables' as *;
2
- @use 'sass:color';
3
-
4
- :host {
5
- .frg-tag {
6
- display: inline-flex;
7
- align-items: center;
8
- gap: 0.35rem;
9
- border-radius: 0.25rem;
10
- white-space: nowrap;
11
- transition: all 0.2s ease-in-out;
12
-
13
- color: $color-dark-soft;
14
- cursor: default;
15
-
16
- &--primary {
17
- background: color.scale($color-primary, $lightness: 90%);
18
- border: 1px solid color.scale($color-primary, $lightness: 70%);
19
- color: $color-primary-dark;
20
- }
21
-
22
- &--secondary {
23
- background: color.scale($color-secondary, $lightness: 90%);
24
- border: 1px solid color.scale($color-secondary, $lightness: 70%);
25
- color: $color-secondary-dark;
26
- }
27
-
28
- &--tertiary {
29
- background: color.scale($color-tertiary, $lightness: 90%);
30
- border: 1px solid color.scale($color-tertiary, $lightness: 70%);
31
- color: $color-tertiary-dark;
32
- }
33
-
34
- &--info {
35
- background: color.scale($color-info, $lightness: 90%);
36
- border: 1px solid color.scale($color-info, $lightness: 70%);
37
- color: $color-info-dark;
38
- }
39
-
40
- &--warning {
41
- background: color.scale($color-warning, $lightness: 90%);
42
- border: 1px solid color.scale($color-warning, $lightness: 70%);
43
- color: $color-warning-dark;
44
- }
45
-
46
- &--danger {
47
- background: color.scale($color-danger, $lightness: 90%);
48
- border: 1px solid color.scale($color-danger, $lightness: 70%);
49
- color: $color-danger-dark;
50
- }
51
-
52
- &--success {
53
- background: color.scale($color-success, $lightness: 90%);
54
- border: 1px solid color.scale($color-success, $lightness: 70%);
55
- color: $color-success-dark;
56
- }
57
-
58
- &--dark {
59
- background: $color-dark;
60
- border: 1px solid color.scale($color-dark, $lightness: -10%);
61
- color: $color-light;
62
- }
63
-
64
- &--light {
65
- background: $color-light;
66
- border: 1px solid color.scale($color-dark, $lightness: 85%);
67
- color: $color-dark;
68
- }
69
-
70
- &--sm {
71
- font-size: 0.875rem;
72
- padding: 0.1rem 0.5rem;
73
- }
74
-
75
- &--md {
76
- font-size: 1rem;
77
- padding: 0.15rem 0.75rem;
78
- }
79
-
80
- &--lg {
81
- font-size: 1.125rem;
82
- padding: 0.2rem 1rem;
83
- }
84
-
85
- &__icon {
86
- display: flex;
87
- align-items: center;
88
- font-size: 0.9em;
89
- }
90
-
91
- &__label {
92
- display: inline-block;
93
- }
94
-
95
- &__remove {
96
- color: inherit;
97
- background: transparent;
98
- border: none;
99
- padding: 0;
100
- margin-left: 0.25rem;
101
- cursor: pointer;
102
- font-size: 1.2rem;
103
- line-height: 1;
104
- transition: opacity 0.2s ease;
105
-
106
- &:hover {
107
- opacity: 0.8;
108
- }
109
-
110
- &:focus-visible {
111
- outline: 2px solid rgba($color-primary, 0.5);
112
- outline-offset: 2px;
113
- }
114
-
115
- &:focus:not(:focus-visible) {
116
- outline: none;
117
- }
118
- }
119
-
120
- &--disabled {
121
- background: color.scale($color-dark, $lightness: 92%);
122
- border: 1px solid color.scale($color-dark, $lightness: 80%);
123
- color: $color-dark-soft;
124
- opacity: 0.6;
125
- cursor: not-allowed;
126
- pointer-events: none;
127
-
128
- &:focus {
129
- outline: none;
130
- }
131
-
132
- &__icon,
133
- &__remove {
134
- opacity: 0.4;
135
- pointer-events: none;
136
- }
137
- }
138
-
139
- }
140
- }
@@ -1,47 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { By } from '@angular/platform-browser';
3
- import { TagComponent } from './tag.component';
4
-
5
- describe('TagComponent', () => {
6
- let fixture: ComponentFixture<TagComponent>;
7
- let component: TagComponent;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [TagComponent]
12
- }).compileComponents();
13
-
14
- fixture = TestBed.createComponent(TagComponent);
15
- component = fixture.componentInstance;
16
- });
17
-
18
- it('renders the label', () => {
19
- component.label = 'Draft';
20
-
21
- fixture.detectChanges();
22
-
23
- const label = fixture.debugElement.query(By.css('.frg-tag__label'));
24
- expect(label.nativeElement.textContent).toContain('Draft');
25
- });
26
-
27
- it('applies disabled class when disabled', () => {
28
- component.disabled = true;
29
-
30
- fixture.detectChanges();
31
-
32
- const host = fixture.debugElement.query(By.css('.frg-tag'));
33
- expect(host.nativeElement.classList).toContain('frg-tag--disabled');
34
- });
35
-
36
- it('emits removed when removable and not disabled', () => {
37
- const emitSpy = spyOn(component.removed, 'emit');
38
- component.removable = true;
39
-
40
- fixture.detectChanges();
41
-
42
- const removeButton = fixture.debugElement.query(By.css('.frg-tag__remove'));
43
- removeButton.nativeElement.click();
44
-
45
- expect(emitSpy).toHaveBeenCalledWith(component.id);
46
- });
47
- });
@@ -1,83 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { generateUUID } from '../../../utils/uuid.utils';
4
- import { Tag, TTagIconPosition, TTagSize, TTagType } from './tag.type';
5
-
6
- /**
7
- * TagComponent
8
- *
9
- * A small UI element used to display labeled statuses, metadata, or categories.
10
- * Supports icons, removable behavior, disabled state, and standardized design-
11
- * system styles and sizes. Implements the shared `Tag` interface to ensure
12
- * consistency across all status-driven UI components (Tag, Badge, Chip, etc.).
13
- */
14
- @Component({
15
- selector: 'frg-tag',
16
- templateUrl: './tag.component.html',
17
- styleUrls: ['./tag.component.scss'],
18
- imports: [NgClass]
19
- })
20
- export class TagComponent implements Tag {
21
-
22
- /**
23
- * Unique identifier for the tag.
24
- * Automatically generated if not provided by the parent.
25
- * Used primarily for tracking and removal events.
26
- */
27
- @Input() id: string = generateUUID();
28
-
29
- /**
30
- * Text content displayed inside the tag.
31
- */
32
- @Input() label?: string = '';
33
-
34
- /**
35
- * Visual style of the tag.
36
- * Corresponds to design-system status color tokens.
37
- * Example: 'primary', 'secondary', 'success', 'warning', etc.
38
- */
39
- @Input() style: TTagType = 'primary';
40
-
41
- /**
42
- * Size variant of the tag.
43
- * Options follow the standardized sizing tokens: 'sm', 'md', or 'lg'.
44
- */
45
- @Input() size: TTagSize = 'md';
46
-
47
- /**
48
- * Optional icon class displayed before the label.
49
- * Example: 'frg-icon-info', 'frg-icon-alert'.
50
- */
51
- @Input() icon: string | undefined = undefined;
52
-
53
- /**
54
- * Position of the icon
55
- */
56
- @Input() iconPosition: TTagIconPosition = 'end';
57
-
58
- /**
59
- * Whether the tag is disabled.
60
- * Disables interactions and applies the disabled visual style.
61
- */
62
- @Input() disabled = false;
63
-
64
- /**
65
- * If true, displays a remove button allowing the tag to be dismissed.
66
- */
67
- @Input() removable = false;
68
-
69
- /**
70
- * Emits the ID of the tag when it is removed.
71
- */
72
- @Output() removed = new EventEmitter<string>();
73
-
74
- /**
75
- * Emits the `removed` event when the remove button is clicked,
76
- * provided the tag is not disabled and removal is allowed.
77
- */
78
- onRemove(): void {
79
- if (!this.disabled && this.removable) {
80
- this.removed.emit(this.id);
81
- }
82
- }
83
- }
@@ -1,42 +0,0 @@
1
- import { StatusIndicator } from "../status.interface";
2
- import { TBaseStatusIconPosition, TBaseStatusSize, TBaseStatusStyle } from "../status.type";
3
-
4
- /**
5
- * TagType
6
- *
7
- * Alias for `TBaseStatusStyle`.
8
- * Represents the visual style of a tag according to the design system.
9
- * Example: 'primary', 'secondary', 'success', etc.
10
- */
11
- export type TTagType = TBaseStatusStyle;
12
-
13
- /**
14
- * TagSize
15
- *
16
- * Alias for `TBaseStatusSize`.
17
- * Defines the size of the tag. Options: 'sm', 'md', 'lg'.
18
- */
19
- export type TTagSize = TBaseStatusSize;
20
-
21
- /**
22
- * TagIconPosition
23
- *
24
- * Alias for `TBaseStatusIconPosition`.
25
- * Defines the icon position of the icon in the tag. Options: 'start' or 'end'.
26
- */
27
- export type TTagIconPosition = TBaseStatusIconPosition;
28
- /**
29
- * Tag
30
- *
31
- * A UI element that extends the shared `StatusIndicator` interface.
32
- * Represents a labeled status, optionally removable.
33
- *
34
- * @extends StatusIndicator
35
- */
36
- export interface Tag extends StatusIndicator {
37
- /**
38
- * If true, the tag can be removed by the user.
39
- * Triggers the `removed` event in the component.
40
- */
41
- removable?: boolean;
42
- }
@@ -1,83 +0,0 @@
1
- <div
2
- class="frg-stepper"
3
- [class.is-animated]="animated"
4
- [attr.data-orientation]="orientation"
5
- [attr.data-motion]="motion">
6
- <div class="frg-stepper__header" role="tablist" [attr.aria-orientation]="orientation">
7
- @for (step of viewSteps; track step.id; let i = $index) {
8
- <button
9
- type="button"
10
- #stepBtn
11
- class="frg-stepper__step"
12
- role="tab"
13
- [class.is-active]="isActive(step.id)"
14
- [class.is-disabled]="isStepDisabled(step, i)"
15
- [attr.id]="stepId(step.id)"
16
- [attr.aria-controls]="panelId(step.id)"
17
- [attr.aria-selected]="isActive(step.id)"
18
- [attr.aria-current]="isActive(step.id) ? 'step' : null"
19
- [attr.aria-disabled]="isStepDisabled(step, i) || null"
20
- [attr.aria-invalid]="isStepError(step) || null"
21
- [attr.tabindex]="tabIndexFor(i)"
22
- [disabled]="isStepDisabled(step, i)"
23
- (click)="onStepClick(i, $event)"
24
- (keydown)="onStepKeydown($event, i)">
25
- <span class="frg-stepper__indicator" [attr.data-status]="stepStatus(step, i)">
26
- @if (step.indicatorTemplate || indicatorTemplate) {
27
- <ng-container
28
- [ngTemplateOutlet]="step.indicatorTemplate || indicatorTemplate"
29
- [ngTemplateOutletContext]="buildContext(step, i)">
30
- </ng-container>
31
- } @else {
32
- <span class="frg-stepper__indicator-text">{{ indicatorText(step, i) }}</span>
33
- }
34
- <span class="frg-stepper__sr">{{ indicatorLabel(step, i) }}</span>
35
- </span>
36
- <span class="frg-stepper__label">
37
- @if (step.labelTemplate || labelTemplate) {
38
- <ng-container
39
- [ngTemplateOutlet]="step.labelTemplate || labelTemplate"
40
- [ngTemplateOutletContext]="buildContext(step, i)">
41
- </ng-container>
42
- } @else {
43
- <span class="frg-stepper__label-text">{{ step.label }}</span>
44
- @if (step.description) {
45
- <small class="frg-stepper__label-desc">{{ step.description }}</small>
46
- }
47
- @if (step.optional) {
48
- <span class="frg-stepper__label-optional">Optional</span>
49
- }
50
- }
51
- </span>
52
- </button>
53
- @if (i < viewSteps.length - 1) {
54
- <span class="frg-stepper__connector" [class.is-complete]="isStepComplete(step)" aria-hidden="true"></span>
55
- }
56
- }
57
- </div>
58
-
59
- <div class="frg-stepper__panels">
60
- @for (step of viewSteps; track step.id; let i = $index) {
61
- <section
62
- class="frg-stepper__panel"
63
- #panelBody
64
- role="tabpanel"
65
- [class.is-active]="isActive(step.id)"
66
- [attr.id]="panelId(step.id)"
67
- [attr.aria-labelledby]="stepId(step.id)"
68
- [hidden]="!isActive(step.id)"
69
- [attr.tabindex]="isActive(step.id) ? 0 : -1">
70
- @if (step.contentTemplate || contentTemplate) {
71
- <ng-container
72
- [ngTemplateOutlet]="step.contentTemplate || contentTemplate"
73
- [ngTemplateOutletContext]="buildContext(step, i)">
74
- </ng-container>
75
- } @else if (step.content) {
76
- {{ step.content }}
77
- } @else if (step.data; as payload) {
78
- {{ payload }}
79
- }
80
- </section>
81
- }
82
- </div>
83
- </div>
@@ -1,196 +0,0 @@
1
- @use "sass:color";
2
- @use './../../../../assets/styles/scss/variables' as *;
3
-
4
- :host {
5
- display: block;
6
- font-family: $base-font;
7
- }
8
-
9
- .frg-stepper {
10
- display: flex;
11
- flex-direction: column;
12
- gap: 1.25rem;
13
- --frg-stepper-offset: 10px;
14
-
15
- &[data-orientation='vertical'] {
16
- .frg-stepper__header {
17
- flex-direction: column;
18
- align-items: stretch;
19
- gap: 0.65rem;
20
- }
21
-
22
- .frg-stepper__step {
23
- align-items: flex-start;
24
- }
25
-
26
- .frg-stepper__connector {
27
- width: 2px;
28
- height: 1.5rem;
29
- margin-left: 1.05rem;
30
- }
31
- }
32
- }
33
-
34
- .frg-stepper[data-motion='previous'] {
35
- --frg-stepper-offset: -10px;
36
- }
37
-
38
- .frg-stepper__header {
39
- display: flex;
40
- align-items: center;
41
- gap: 0.85rem;
42
- flex-wrap: wrap;
43
- }
44
-
45
- .frg-stepper__step {
46
- display: inline-flex;
47
- align-items: center;
48
- gap: 0.75rem;
49
- border: none;
50
- background: transparent;
51
- cursor: pointer;
52
- padding: 0.45rem 0.6rem;
53
- border-radius: 0.65rem;
54
- color: $color-dark-neutral;
55
- text-align: left;
56
- transition:
57
- color 0.16s ease,
58
- background-color 0.2s ease,
59
- box-shadow 0.2s ease;
60
-
61
- &.is-disabled {
62
- opacity: 0.6;
63
- cursor: not-allowed;
64
- }
65
-
66
- &:hover:not(.is-disabled) {
67
- background-color: color.scale($color-light, $lightness: -2%);
68
- color: $color-dark;
69
- }
70
-
71
- &:focus-visible {
72
- outline: none;
73
- box-shadow: 0 0 0 2px color.scale($color-primary, $lightness: 32%);
74
- }
75
-
76
- &.is-active {
77
- color: $color-dark;
78
- }
79
- }
80
-
81
- .frg-stepper__indicator {
82
- position: relative;
83
- width: 2.1rem;
84
- height: 2.1rem;
85
- border-radius: 999px;
86
- border: 1px solid $color-light-soft;
87
- display: inline-flex;
88
- align-items: center;
89
- justify-content: center;
90
- background-color: $color-light;
91
- color: $color-dark;
92
- font-size: $font-size-xs;
93
- font-weight: 700;
94
- line-height: 1;
95
- flex-shrink: 0;
96
-
97
- &[data-status='active'] {
98
- background-color: $color-primary;
99
- border-color: $color-primary;
100
- color: $color-light;
101
- box-shadow: $box-shadow-primary-sm;
102
- }
103
-
104
- &[data-status='completed'] {
105
- background-color: $color-success;
106
- border-color: $color-success;
107
- color: $color-light;
108
- }
109
-
110
- &[data-status='error'] {
111
- background-color: $color-danger;
112
- border-color: $color-danger;
113
- color: $color-light;
114
- }
115
- }
116
-
117
- .frg-stepper__indicator-text {
118
- font-size: $font-size-xs;
119
- text-transform: uppercase;
120
- }
121
-
122
- .frg-stepper__label {
123
- display: flex;
124
- flex-direction: column;
125
- gap: 0.1rem;
126
- }
127
-
128
- .frg-stepper__label-text {
129
- font-size: $font-size-sm;
130
- font-weight: 600;
131
- line-height: 1.35;
132
- }
133
-
134
- .frg-stepper__label-desc {
135
- font-size: $font-size-2xs;
136
- color: $color-dark-soft;
137
- }
138
-
139
- .frg-stepper__label-optional {
140
- font-size: $font-size-2xs;
141
- color: $color-dark-soft;
142
- text-transform: uppercase;
143
- letter-spacing: 0.04em;
144
- }
145
-
146
- .frg-stepper__connector {
147
- flex: 1 1 auto;
148
- height: 2px;
149
- background-color: $color-light-soft;
150
- border-radius: 999px;
151
-
152
- &.is-complete {
153
- background-color: $color-success;
154
- }
155
- }
156
-
157
- .frg-stepper__panels {
158
- position: relative;
159
- }
160
-
161
- .frg-stepper__panel {
162
- padding: 0.75rem 0;
163
- color: $color-dark-neutral;
164
- outline: none;
165
- line-height: 1.5;
166
- opacity: 0;
167
- transform: translateX(var(--frg-stepper-offset));
168
-
169
- &.is-active {
170
- opacity: 1;
171
- transform: translateX(0);
172
- }
173
-
174
- &:focus-visible {
175
- outline: 2px solid $color-primary;
176
- outline-offset: 2px;
177
- }
178
- }
179
-
180
- .frg-stepper.is-animated {
181
- .frg-stepper__panel {
182
- transition: opacity 0.2s ease, transform 0.2s ease;
183
- }
184
- }
185
-
186
- .frg-stepper__sr {
187
- position: absolute;
188
- width: 1px;
189
- height: 1px;
190
- padding: 0;
191
- margin: -1px;
192
- overflow: hidden;
193
- clip: rect(0, 0, 0, 0);
194
- border: 0;
195
- white-space: nowrap;
196
- }