@tacdaed/fragments 1.0.0-beta.1 → 1.0.0-beta.3

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 (248) hide show
  1. package/README.md +4 -20
  2. package/fesm2022/tacdaed-fragments.mjs +8928 -0
  3. package/fesm2022/tacdaed-fragments.mjs.map +1 -0
  4. package/index.d.ts +3929 -0
  5. package/package.json +29 -22
  6. package/ng-package.json +0 -25
  7. package/src/lib/components/accordion/accordion.component.html +0 -103
  8. package/src/lib/components/accordion/accordion.component.scss +0 -382
  9. package/src/lib/components/accordion/accordion.component.spec.ts +0 -147
  10. package/src/lib/components/accordion/accordion.component.ts +0 -211
  11. package/src/lib/components/accordion/accordion.type.ts +0 -82
  12. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -43
  13. package/src/lib/components/breadcrumb/breadcrumb.component.scss +0 -112
  14. package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +0 -33
  15. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -103
  16. package/src/lib/components/breadcrumb/breadcrumb.interface.ts +0 -7
  17. package/src/lib/components/button/button.component.html +0 -57
  18. package/src/lib/components/button/button.component.scss +0 -445
  19. package/src/lib/components/button/button.component.spec.ts +0 -99
  20. package/src/lib/components/button/button.component.ts +0 -143
  21. package/src/lib/components/button/button.type.ts +0 -7
  22. package/src/lib/components/card/card.component.html +0 -44
  23. package/src/lib/components/card/card.component.scss +0 -114
  24. package/src/lib/components/card/card.component.spec.ts +0 -65
  25. package/src/lib/components/card/card.component.ts +0 -21
  26. package/src/lib/components/card/card.type.ts +0 -3
  27. package/src/lib/components/code-block/code-block.component.html +0 -55
  28. package/src/lib/components/code-block/code-block.component.scss +0 -122
  29. package/src/lib/components/code-block/code-block.component.spec.ts +0 -81
  30. package/src/lib/components/code-block/code-block.component.ts +0 -302
  31. package/src/lib/components/code-block/code-block.interface.ts +0 -28
  32. package/src/lib/components/code-block/code-block.type.ts +0 -73
  33. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.html +0 -14
  34. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.scss +0 -20
  35. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.spec.ts +0 -38
  36. package/src/lib/components/decorative/sparkle-field/sparkle-field.component.ts +0 -181
  37. package/src/lib/components/input/input-base.ts +0 -187
  38. package/src/lib/components/input/input-calendar/input-calendar.component.html +0 -76
  39. package/src/lib/components/input/input-calendar/input-calendar.component.scss +0 -179
  40. package/src/lib/components/input/input-calendar/input-calendar.component.spec.ts +0 -44
  41. package/src/lib/components/input/input-calendar/input-calendar.component.ts +0 -299
  42. package/src/lib/components/input/input-checkbox/input-checkbox.component.html +0 -37
  43. package/src/lib/components/input/input-checkbox/input-checkbox.component.scss +0 -128
  44. package/src/lib/components/input/input-checkbox/input-checkbox.component.spec.ts +0 -43
  45. package/src/lib/components/input/input-checkbox/input-checkbox.component.ts +0 -112
  46. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.html +0 -43
  47. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.scss +0 -140
  48. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.spec.ts +0 -62
  49. package/src/lib/components/input/input-checkbox-group/input-checkbox-group.component.ts +0 -136
  50. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.html +0 -81
  51. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.scss +0 -228
  52. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.spec.ts +0 -62
  53. package/src/lib/components/input/input-clock-picker/input-clock-picker.component.ts +0 -178
  54. package/src/lib/components/input/input-consts.ts +0 -132
  55. package/src/lib/components/input/input-date/input-date-validators.ts +0 -41
  56. package/src/lib/components/input/input-date/input-date.component.html +0 -41
  57. package/src/lib/components/input/input-date/input-date.component.scss +0 -95
  58. package/src/lib/components/input/input-date/input-date.component.spec.ts +0 -43
  59. package/src/lib/components/input/input-date/input-date.component.ts +0 -359
  60. package/src/lib/components/input/input-date-time/input-date-time.component.html +0 -70
  61. package/src/lib/components/input/input-date-time/input-date-time.component.scss +0 -133
  62. package/src/lib/components/input/input-date-time/input-date-time.component.spec.ts +0 -36
  63. package/src/lib/components/input/input-date-time/input-date-time.component.ts +0 -387
  64. package/src/lib/components/input/input-file-upload/input-file-upload.component.html +0 -89
  65. package/src/lib/components/input/input-file-upload/input-file-upload.component.scss +0 -171
  66. package/src/lib/components/input/input-file-upload/input-file-upload.component.spec.ts +0 -43
  67. package/src/lib/components/input/input-file-upload/input-file-upload.component.ts +0 -351
  68. package/src/lib/components/input/input-interface.ts +0 -8
  69. package/src/lib/components/input/input-number/input-number-validators.ts +0 -0
  70. package/src/lib/components/input/input-number/input-number.component.html +0 -51
  71. package/src/lib/components/input/input-number/input-number.component.scss +0 -140
  72. package/src/lib/components/input/input-number/input-number.component.spec.ts +0 -44
  73. package/src/lib/components/input/input-number/input-number.component.ts +0 -343
  74. package/src/lib/components/input/input-radio-group/input-radio-group.component.html +0 -44
  75. package/src/lib/components/input/input-radio-group/input-radio-group.component.scss +0 -139
  76. package/src/lib/components/input/input-radio-group/input-radio-group.component.spec.ts +0 -58
  77. package/src/lib/components/input/input-radio-group/input-radio-group.component.ts +0 -132
  78. package/src/lib/components/input/input-slider/input-slider.component.html +0 -111
  79. package/src/lib/components/input/input-slider/input-slider.component.scss +0 -203
  80. package/src/lib/components/input/input-slider/input-slider.component.spec.ts +0 -46
  81. package/src/lib/components/input/input-slider/input-slider.component.ts +0 -410
  82. package/src/lib/components/input/input-text/input-text-validators.ts +0 -67
  83. package/src/lib/components/input/input-text/input-text.component.html +0 -71
  84. package/src/lib/components/input/input-text/input-text.component.scss +0 -118
  85. package/src/lib/components/input/input-text/input-text.component.spec.ts +0 -55
  86. package/src/lib/components/input/input-text/input-text.component.ts +0 -215
  87. package/src/lib/components/input/input-time/input-time-validators.ts +0 -42
  88. package/src/lib/components/input/input-time/input-time.component.html +0 -92
  89. package/src/lib/components/input/input-time/input-time.component.scss +0 -191
  90. package/src/lib/components/input/input-time/input-time.component.spec.ts +0 -39
  91. package/src/lib/components/input/input-time/input-time.component.ts +0 -691
  92. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.html +0 -36
  93. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.scss +0 -121
  94. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.spec.ts +0 -54
  95. package/src/lib/components/input/input-toggle-switch/input-toggle-switch.component.ts +0 -117
  96. package/src/lib/components/input/input-type.ts +0 -18
  97. package/src/lib/components/input/input-validation/input-validation.component.html +0 -19
  98. package/src/lib/components/input/input-validation/input-validation.component.scss +0 -39
  99. package/src/lib/components/input/input-validation/input-validation.component.spec.ts +0 -45
  100. package/src/lib/components/input/input-validation/input-validation.component.ts +0 -13
  101. package/src/lib/components/input/input.pipe.ts +0 -14
  102. package/src/lib/components/layout/container/container.component.html +0 -1
  103. package/src/lib/components/layout/container/container.component.scss +0 -33
  104. package/src/lib/components/layout/container/container.component.ts +0 -32
  105. package/src/lib/components/layout/container/container.type.ts +0 -1
  106. package/src/lib/components/layout/divider/divider.component.html +0 -1
  107. package/src/lib/components/layout/divider/divider.component.scss +0 -60
  108. package/src/lib/components/layout/divider/divider.component.ts +0 -38
  109. package/src/lib/components/layout/divider/divider.type.ts +0 -2
  110. package/src/lib/components/layout/section/section.component.html +0 -21
  111. package/src/lib/components/layout/section/section.component.scss +0 -43
  112. package/src/lib/components/layout/section/section.component.ts +0 -33
  113. package/src/lib/components/layout/section/section.type.ts +0 -2
  114. package/src/lib/components/layout/separator/separator.component.html +0 -9
  115. package/src/lib/components/layout/separator/separator.component.scss +0 -52
  116. package/src/lib/components/layout/separator/separator.component.ts +0 -25
  117. package/src/lib/components/layout/separator/separator.type.ts +0 -1
  118. package/src/lib/components/loader/content-blur/content-blur.component.html +0 -13
  119. package/src/lib/components/loader/content-blur/content-blur.component.scss +0 -43
  120. package/src/lib/components/loader/content-blur/content-blur.component.spec.ts +0 -42
  121. package/src/lib/components/loader/content-blur/content-blur.component.ts +0 -34
  122. package/src/lib/components/loader/loader.type.ts +0 -2
  123. package/src/lib/components/loader/progress-bar/progress-bar.component.html +0 -26
  124. package/src/lib/components/loader/progress-bar/progress-bar.component.scss +0 -151
  125. package/src/lib/components/loader/progress-bar/progress-bar.component.spec.ts +0 -47
  126. package/src/lib/components/loader/progress-bar/progress-bar.component.ts +0 -28
  127. package/src/lib/components/loader/progress-bar/progress-bar.type.ts +0 -8
  128. package/src/lib/components/loader/pulse-loader/pulse-loader.component.html +0 -12
  129. package/src/lib/components/loader/pulse-loader/pulse-loader.component.scss +0 -202
  130. package/src/lib/components/loader/pulse-loader/pulse-loader.component.spec.ts +0 -55
  131. package/src/lib/components/loader/pulse-loader/pulse-loader.component.ts +0 -73
  132. package/src/lib/components/loader/pulse-loader/pulse-loader.type.ts +0 -6
  133. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.html +0 -13
  134. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.scss +0 -113
  135. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.spec.ts +0 -37
  136. package/src/lib/components/loader/skeleton-loader/skeleton-loader.component.ts +0 -51
  137. package/src/lib/components/loader/skeleton-loader/skeleton-loader.type.ts +0 -6
  138. package/src/lib/components/loader/spinner/spinner.component.html +0 -20
  139. package/src/lib/components/loader/spinner/spinner.component.scss +0 -137
  140. package/src/lib/components/loader/spinner/spinner.component.spec.ts +0 -43
  141. package/src/lib/components/loader/spinner/spinner.component.ts +0 -32
  142. package/src/lib/components/loader/spinner/spinner.type.ts +0 -6
  143. package/src/lib/components/modal/modal.component.html +0 -47
  144. package/src/lib/components/modal/modal.component.scss +0 -139
  145. package/src/lib/components/modal/modal.component.spec.ts +0 -60
  146. package/src/lib/components/modal/modal.component.ts +0 -83
  147. package/src/lib/components/modal/modal.type.ts +0 -9
  148. package/src/lib/components/morph/blob-moph/blob-moprh.component.spec.ts +0 -79
  149. package/src/lib/components/morph/blob-moph/blob-moprh.component.ts +0 -96
  150. package/src/lib/components/morph/blob-moph/blob-morph.component.html +0 -34
  151. package/src/lib/components/morph/blob-moph/blob-morph.component.scss +0 -7
  152. package/src/lib/components/morph/morph.abstract.ts +0 -13
  153. package/src/lib/components/pagination/pagination.interface.ts +0 -4
  154. package/src/lib/components/pagination/small-pagination/small-pagination.component.html +0 -61
  155. package/src/lib/components/pagination/small-pagination/small-pagination.component.scss +0 -187
  156. package/src/lib/components/pagination/small-pagination/small-pagination.component.spec.ts +0 -88
  157. package/src/lib/components/pagination/small-pagination/small-pagination.component.ts +0 -177
  158. package/src/lib/components/selection-lists/multi-select/multi-select.component.html +0 -170
  159. package/src/lib/components/selection-lists/multi-select/multi-select.component.scss +0 -312
  160. package/src/lib/components/selection-lists/multi-select/multi-select.component.spec.ts +0 -61
  161. package/src/lib/components/selection-lists/multi-select/multi-select.component.ts +0 -372
  162. package/src/lib/components/selection-lists/selection-list/selection-list.component.html +0 -125
  163. package/src/lib/components/selection-lists/selection-list/selection-list.component.scss +0 -267
  164. package/src/lib/components/selection-lists/selection-list/selection-list.component.spec.ts +0 -66
  165. package/src/lib/components/selection-lists/selection-list/selection-list.component.ts +0 -315
  166. package/src/lib/components/selection-lists/selection-lists-base.ts +0 -35
  167. package/src/lib/components/selection-lists/selection-lists-const.ts +0 -17
  168. package/src/lib/components/selection-lists/selection-lists-interface.ts +0 -7
  169. package/src/lib/components/selection-lists/selection-lists.type.ts +0 -1
  170. package/src/lib/components/side-nav/side-nav.component.html +0 -101
  171. package/src/lib/components/side-nav/side-nav.component.scss +0 -295
  172. package/src/lib/components/side-nav/side-nav.component.spec.ts +0 -0
  173. package/src/lib/components/side-nav/side-nav.component.ts +0 -18
  174. package/src/lib/components/side-nav/side-nav.type.ts +0 -28
  175. package/src/lib/components/snackbar/snackbar.component.html +0 -33
  176. package/src/lib/components/snackbar/snackbar.component.scss +0 -195
  177. package/src/lib/components/snackbar/snackbar.component.ts +0 -112
  178. package/src/lib/components/snackbar/snackbar.type.ts +0 -27
  179. package/src/lib/components/status/chip/chip.component.html +0 -51
  180. package/src/lib/components/status/chip/chip.component.scss +0 -149
  181. package/src/lib/components/status/chip/chip.component.spec.ts +0 -62
  182. package/src/lib/components/status/chip/chip.component.ts +0 -83
  183. package/src/lib/components/status/chip/chip.type.ts +0 -42
  184. package/src/lib/components/status/directives/badge/badge.directive.spec.ts +0 -60
  185. package/src/lib/components/status/directives/badge/badge.directive.ts +0 -190
  186. package/src/lib/components/status/directives/badge/badge.interface.ts +0 -19
  187. package/src/lib/components/status/pill/pill.component.html +0 -40
  188. package/src/lib/components/status/pill/pill.component.scss +0 -113
  189. package/src/lib/components/status/pill/pill.component.spec.ts +0 -47
  190. package/src/lib/components/status/pill/pill.component.ts +0 -83
  191. package/src/lib/components/status/pill/pill.type.ts +0 -42
  192. package/src/lib/components/status/status.interface.ts +0 -57
  193. package/src/lib/components/status/status.type.ts +0 -62
  194. package/src/lib/components/status/tag/tag.component.html +0 -39
  195. package/src/lib/components/status/tag/tag.component.scss +0 -140
  196. package/src/lib/components/status/tag/tag.component.spec.ts +0 -47
  197. package/src/lib/components/status/tag/tag.component.ts +0 -83
  198. package/src/lib/components/status/tag/tag.type.ts +0 -42
  199. package/src/lib/components/stepper/stepper.component.html +0 -83
  200. package/src/lib/components/stepper/stepper.component.scss +0 -196
  201. package/src/lib/components/stepper/stepper.component.ts +0 -482
  202. package/src/lib/components/stepper/stepper.type.ts +0 -60
  203. package/src/lib/components/table/table.component.html +0 -438
  204. package/src/lib/components/table/table.component.scss +0 -259
  205. package/src/lib/components/table/table.component.spec.ts +0 -117
  206. package/src/lib/components/table/table.component.ts +0 -215
  207. package/src/lib/components/table/table.enum.ts +0 -4
  208. package/src/lib/components/table/table.function.ts +0 -47
  209. package/src/lib/components/table/table.interface.ts +0 -143
  210. package/src/lib/components/table/table.pipe.ts +0 -62
  211. package/src/lib/components/table/table.type.ts +0 -15
  212. package/src/lib/components/tabs/tabs.component.html +0 -88
  213. package/src/lib/components/tabs/tabs.component.scss +0 -305
  214. package/src/lib/components/tabs/tabs.component.spec.ts +0 -94
  215. package/src/lib/components/tabs/tabs.component.ts +0 -282
  216. package/src/lib/components/tabs/tabs.type.ts +0 -81
  217. package/src/lib/components/title-bar/title-bar.component.html +0 -21
  218. package/src/lib/components/title-bar/title-bar.component.scss +0 -139
  219. package/src/lib/components/title-bar/title-bar.component.spec.ts +0 -44
  220. package/src/lib/components/title-bar/title-bar.component.ts +0 -13
  221. package/src/lib/components/toast/toast.component.html +0 -36
  222. package/src/lib/components/toast/toast.component.scss +0 -241
  223. package/src/lib/components/toast/toast.component.ts +0 -165
  224. package/src/lib/components/toast/toast.type.ts +0 -37
  225. package/src/lib/components/toast-stack/toast-stack.component.html +0 -30
  226. package/src/lib/components/toast-stack/toast-stack.component.scss +0 -35
  227. package/src/lib/components/toast-stack/toast-stack.component.ts +0 -51
  228. package/src/lib/consts/country-prefix.ts +0 -244
  229. package/src/lib/directives/tooltip/popover.directive.ts +0 -274
  230. package/src/lib/directives/tooltip/tooltip.directive.spec.ts +0 -86
  231. package/src/lib/directives/tooltip/tooltip.directive.ts +0 -234
  232. package/src/lib/directives/tooltip/tooltip.interface.ts +0 -29
  233. package/src/lib/directives/tooltip/tooltip.type.ts +0 -9
  234. package/src/lib/interfaces/common.interfaces.ts +0 -4
  235. package/src/lib/pipes/chunk.pipe.ts +0 -16
  236. package/src/lib/pipes/safe-html.pipe.ts +0 -14
  237. package/src/lib/pipes/sanitize-html.pipe.ts +0 -23
  238. package/src/lib/types/base.types.ts +0 -23
  239. package/src/lib/types/common.types.ts +0 -98
  240. package/src/lib/types/form.types.ts +0 -5
  241. package/src/lib/utils/common.utils.ts +0 -53
  242. package/src/lib/utils/date.utils.ts +0 -474
  243. package/src/lib/utils/number.utils.ts +0 -16
  244. package/src/lib/utils/uuid.utils.ts +0 -39
  245. package/src/public-api.ts +0 -114
  246. package/tsconfig.lib.json +0 -17
  247. package/tsconfig.lib.prod.json +0 -10
  248. package/tsconfig.spec.json +0 -9
@@ -1,165 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges } from '@angular/core';
3
- import { ToastCloseEvent, TToastCloseReason, TToastPosition, TToastSize, TToastStyle } from './toast.type';
4
-
5
- @Component({
6
- selector: 'frg-toast',
7
- imports: [NgClass],
8
- templateUrl: './toast.component.html',
9
- styleUrl: './toast.component.scss'
10
- })
11
- export class ToastComponent implements OnChanges, OnDestroy {
12
- @Input() open: boolean = false;
13
- @Input() title: string = '';
14
- @Input() message: string = '';
15
- @Input() styleType: TToastStyle = 'primary';
16
- @Input() position: TToastPosition = 'top-right';
17
- @Input() size: TToastSize = 'medium';
18
- @Input() autoClose: boolean = false;
19
- @Input() duration: number = 4000;
20
- @Input() hasCloseButton: boolean = true;
21
- @Input() stacked: boolean = false;
22
- @Input() closing: boolean = false;
23
- @Input() motionDuration: number = 200;
24
- @Input() ariaLabel: string = 'Notification';
25
-
26
- @Output() closed = new EventEmitter<ToastCloseEvent>();
27
-
28
- private closeTimerId: ReturnType<typeof setTimeout> | null = null;
29
- private enterTimerId: ReturnType<typeof setTimeout> | null = null;
30
- private leaveTimerId: ReturnType<typeof setTimeout> | null = null;
31
-
32
- protected isRendered = false;
33
- protected isEntering = false;
34
- protected isClosing = false;
35
-
36
- get statusIconClass(): string | null {
37
- switch (this.styleType) {
38
- case 'info':
39
- return 'fas fa-info-circle';
40
- case 'success':
41
- return 'fas fa-check-circle';
42
- case 'warning':
43
- return 'fas fa-exclamation-triangle';
44
- case 'danger':
45
- return 'fas fa-times-circle';
46
- default:
47
- return null;
48
- }
49
- }
50
-
51
- get toastClassMap() {
52
- return {
53
- 'frg-toast--stacked': this.stacked,
54
- 'frg-toast--top-left': this.position === 'top-left',
55
- 'frg-toast--top-right': this.position === 'top-right',
56
- 'frg-toast--bottom-left': this.position === 'bottom-left',
57
- 'frg-toast--bottom-right': this.position === 'bottom-right',
58
- 'frg-toast--size-small': this.size === 'small',
59
- 'frg-toast--size-medium': this.size === 'medium',
60
- 'frg-toast--size-large': this.size === 'large',
61
- 'frg-toast--enter': this.isEntering,
62
- 'frg-toast--leave': this.isClosing || this.closing,
63
- 'frg-toast--primary': this.styleType === 'primary',
64
- 'frg-toast--secondary': this.styleType === 'secondary',
65
- 'frg-toast--tertiary': this.styleType === 'tertiary',
66
- 'frg-toast--dark': this.styleType === 'dark',
67
- 'frg-toast--light': this.styleType === 'light',
68
- 'frg-toast--info': this.styleType === 'info',
69
- 'frg-toast--success': this.styleType === 'success',
70
- 'frg-toast--warning': this.styleType === 'warning',
71
- 'frg-toast--danger': this.styleType === 'danger',
72
- 'frg-toast--default': this.styleType === 'default'
73
- };
74
- }
75
-
76
- ngOnChanges(changes: SimpleChanges): void {
77
- if (changes['open']) {
78
- if (this.open) {
79
- this.openToast();
80
- } else {
81
- this.closeToast();
82
- }
83
- }
84
- if (changes['open'] || changes['autoClose'] || changes['duration']) {
85
- this.syncAutoClose();
86
- }
87
- }
88
-
89
- ngOnDestroy(): void {
90
- this.clearCloseTimer();
91
- this.clearEnterTimer();
92
- this.clearLeaveTimer();
93
- }
94
-
95
- onCloseClick(): void {
96
- this.requestClose('close-button');
97
- }
98
-
99
- private syncAutoClose(): void {
100
- this.clearCloseTimer();
101
-
102
- if (!this.open || !this.autoClose || this.duration <= 0) {
103
- return;
104
- }
105
-
106
- this.closeTimerId = setTimeout(() => {
107
- this.requestClose('timeout');
108
- }, this.duration);
109
- }
110
-
111
- private requestClose(reason: TToastCloseReason): void {
112
- if (!this.open) {
113
- return;
114
- }
115
- this.clearCloseTimer();
116
- this.closed.emit({ reason });
117
- }
118
-
119
- private clearCloseTimer(): void {
120
- if (this.closeTimerId) {
121
- clearTimeout(this.closeTimerId);
122
- this.closeTimerId = null;
123
- }
124
- }
125
-
126
- private openToast(): void {
127
- this.isRendered = true;
128
- this.isClosing = false;
129
- this.startEnterAnimation();
130
- }
131
-
132
- private closeToast(): void {
133
- if (!this.isRendered) {
134
- return;
135
- }
136
- this.isClosing = true;
137
- this.clearLeaveTimer();
138
- this.leaveTimerId = setTimeout(() => {
139
- this.isClosing = false;
140
- this.isRendered = false;
141
- }, this.motionDuration);
142
- }
143
-
144
- private startEnterAnimation(): void {
145
- this.clearEnterTimer();
146
- this.isEntering = true;
147
- this.enterTimerId = setTimeout(() => {
148
- this.isEntering = false;
149
- }, this.motionDuration);
150
- }
151
-
152
- private clearEnterTimer(): void {
153
- if (this.enterTimerId) {
154
- clearTimeout(this.enterTimerId);
155
- this.enterTimerId = null;
156
- }
157
- }
158
-
159
- private clearLeaveTimer(): void {
160
- if (this.leaveTimerId) {
161
- clearTimeout(this.leaveTimerId);
162
- this.leaveTimerId = null;
163
- }
164
- }
165
- }
@@ -1,37 +0,0 @@
1
- import { TBaseSize, TBaseStyle } from '../../types/base.types';
2
-
3
- export type TToastStyle = Exclude<
4
- TBaseStyle,
5
- | 'outline-primary'
6
- | 'outline-secondary'
7
- | 'outline-tertiary'
8
- | 'outline-dark'
9
- | 'outline-light'
10
- | 'outline-info'
11
- | 'outline-success'
12
- | 'outline-warning'
13
- | 'outline-danger'
14
- >;
15
- export type TToastPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
16
- export type TToastCloseReason = 'close-button' | 'timeout' | 'programmatic';
17
- export type TToastSize = TBaseSize;
18
-
19
- export interface ToastCloseEvent {
20
- reason: TToastCloseReason;
21
- }
22
-
23
- export interface ToastStackItem {
24
- id: string;
25
- title?: string;
26
- message?: string;
27
- styleType?: TToastStyle;
28
- size?: TToastSize;
29
- autoClose?: boolean;
30
- duration?: number;
31
- hasCloseButton?: boolean;
32
- ariaLabel?: string;
33
- }
34
-
35
- export interface ToastStackCloseEvent extends ToastCloseEvent {
36
- id: string;
37
- }
@@ -1,30 +0,0 @@
1
- @if (visibleToasts.length) {
2
- <div
3
- class="frg-toast-stack"
4
- [ngClass]="{
5
- 'frg-toast-stack--top-left': position === 'top-left',
6
- 'frg-toast-stack--top-right': position === 'top-right',
7
- 'frg-toast-stack--bottom-left': position === 'bottom-left',
8
- 'frg-toast-stack--bottom-right': position === 'bottom-right'
9
- }"
10
- >
11
- @for (toast of visibleToasts; track toast.id) {
12
- <frg-toast
13
- [open]="true"
14
- [title]="toast.title || ''"
15
- [message]="toast.message || ''"
16
- [styleType]="toast.styleType || 'primary'"
17
- [size]="toast.size || 'medium'"
18
- [autoClose]="toast.autoClose ?? false"
19
- [duration]="toast.duration ?? 4000"
20
- [hasCloseButton]="toast.hasCloseButton ?? true"
21
- [ariaLabel]="toast.ariaLabel || 'Notification'"
22
- [stacked]="true"
23
- [closing]="isClosing(toast.id)"
24
- [position]="position"
25
- [motionDuration]="motionDuration"
26
- (closed)="onToastClosed(toast.id, $event)"
27
- ></frg-toast>
28
- }
29
- </div>
30
- }
@@ -1,35 +0,0 @@
1
- @use '../../../../assets/styles/scss/variables' as *;
2
-
3
- :host {
4
- display: block;
5
-
6
- .frg-toast-stack {
7
- position: fixed;
8
- display: flex;
9
- flex-direction: column;
10
- gap: 0.75rem;
11
- z-index: 1100;
12
- min-width: 18rem;
13
- max-width: 24rem;
14
- }
15
-
16
- .frg-toast-stack--top-left {
17
- top: 1.5rem;
18
- left: 1.5rem;
19
- }
20
-
21
- .frg-toast-stack--top-right {
22
- top: 1.5rem;
23
- right: 1.5rem;
24
- }
25
-
26
- .frg-toast-stack--bottom-left {
27
- bottom: 1.5rem;
28
- left: 1.5rem;
29
- }
30
-
31
- .frg-toast-stack--bottom-right {
32
- bottom: 1.5rem;
33
- right: 1.5rem;
34
- }
35
- }
@@ -1,51 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
3
- import { ToastComponent } from '../toast/toast.component';
4
- import { ToastCloseEvent, ToastStackCloseEvent, ToastStackItem, TToastPosition } from '../toast/toast.type';
5
-
6
- @Component({
7
- selector: 'frg-toast-stack',
8
- imports: [NgClass, ToastComponent],
9
- templateUrl: './toast-stack.component.html',
10
- styleUrl: './toast-stack.component.scss'
11
- })
12
- export class ToastStackComponent implements OnChanges {
13
- @Input() toasts: ToastStackItem[] = [];
14
- @Input() position: TToastPosition = 'top-right';
15
- @Input() maxVisible: number = 4;
16
- @Input() motionDuration: number = 200;
17
-
18
- @Output() closed = new EventEmitter<ToastStackCloseEvent>();
19
-
20
- private closingIds = new Set<string>();
21
-
22
- get visibleToasts(): ToastStackItem[] {
23
- return this.toasts.slice(0, this.maxVisible);
24
- }
25
-
26
- ngOnChanges(changes: SimpleChanges): void {
27
- if (changes['toasts']) {
28
- const ids = new Set(this.toasts.map((toast) => toast.id));
29
- this.closingIds.forEach((id) => {
30
- if (!ids.has(id)) {
31
- this.closingIds.delete(id);
32
- }
33
- });
34
- }
35
- }
36
-
37
- onToastClosed(id: string, event: ToastCloseEvent): void {
38
- if (this.closingIds.has(id)) {
39
- return;
40
- }
41
- this.closingIds.add(id);
42
- setTimeout(() => {
43
- this.closingIds.delete(id);
44
- this.closed.emit({ id, reason: event.reason });
45
- }, this.motionDuration);
46
- }
47
-
48
- isClosing(id: string): boolean {
49
- return this.closingIds.has(id);
50
- }
51
- }
@@ -1,244 +0,0 @@
1
- export const TELEPHONE_COUNTRY_PREFIX: { name: string; dial_code: string; code: string }[] = [
2
- { name: 'Afghanistan', dial_code: '+93', code: 'AF' },
3
- { name: 'Aland Islands', dial_code: '+358', code: 'AX' },
4
- { name: 'Albania', dial_code: '+355', code: 'AL' },
5
- { name: 'Algeria', dial_code: '+213', code: 'DZ' },
6
- { name: 'AmericanSamoa', dial_code: '+1684', code: 'AS' },
7
- { name: 'Andorra', dial_code: '+376', code: 'AD' },
8
- { name: 'Angola', dial_code: '+244', code: 'AO' },
9
- { name: 'Anguilla', dial_code: '+1264', code: 'AI' },
10
- { name: 'Antarctica', dial_code: '+672', code: 'AQ' },
11
- { name: 'Antigua and Barbuda', dial_code: '+1268', code: 'AG' },
12
- { name: 'Argentina', dial_code: '+54', code: 'AR' },
13
- { name: 'Armenia', dial_code: '+374', code: 'AM' },
14
- { name: 'Aruba', dial_code: '+297', code: 'AW' },
15
- { name: 'Australia', dial_code: '+61', code: 'AU' },
16
- { name: 'Austria', dial_code: '+43', code: 'AT' },
17
- { name: 'Azerbaijan', dial_code: '+994', code: 'AZ' },
18
- { name: 'Bahamas', dial_code: '+1242', code: 'BS' },
19
- { name: 'Bahrain', dial_code: '+973', code: 'BH' },
20
- { name: 'Bangladesh', dial_code: '+880', code: 'BD' },
21
- { name: 'Barbados', dial_code: '+1246', code: 'BB' },
22
- { name: 'Belarus', dial_code: '+375', code: 'BY' },
23
- { name: 'Belgium', dial_code: '+32', code: 'BE' },
24
- { name: 'Belize', dial_code: '+501', code: 'BZ' },
25
- { name: 'Benin', dial_code: '+229', code: 'BJ' },
26
- { name: 'Bermuda', dial_code: '+1441', code: 'BM' },
27
- { name: 'Bhutan', dial_code: '+975', code: 'BT' },
28
- { name: 'Bolivia, Plurinational State of', dial_code: '+591', code: 'BO' },
29
- { name: 'Bosnia and Herzegovina', dial_code: '+387', code: 'BA' },
30
- { name: 'Botswana', dial_code: '+267', code: 'BW' },
31
- { name: 'Brazil', dial_code: '+55', code: 'BR' },
32
- { name: 'British Indian Ocean Territory', dial_code: '+246', code: 'IO' },
33
- { name: 'Brunei Darussalam', dial_code: '+673', code: 'BN' },
34
- { name: 'Bulgaria', dial_code: '+359', code: 'BG' },
35
- { name: 'Burkina Faso', dial_code: '+226', code: 'BF' },
36
- { name: 'Burundi', dial_code: '+257', code: 'BI' },
37
- { name: 'Cambodia', dial_code: '+855', code: 'KH' },
38
- { name: 'Cameroon', dial_code: '+237', code: 'CM' },
39
- { name: 'Canada', dial_code: '+1', code: 'CA' },
40
- { name: 'Cape Verde', dial_code: '+238', code: 'CV' },
41
- { name: 'Cayman Islands', dial_code: '+1345', code: 'KY' },
42
- { name: 'Central African Republic', dial_code: '+236', code: 'CF' },
43
- { name: 'Chad', dial_code: '+235', code: 'TD' },
44
- { name: 'Chile', dial_code: '+56', code: 'CL' },
45
- { name: 'China', dial_code: '+86', code: 'CN' },
46
- { name: 'Christmas Island', dial_code: '+61', code: 'CX' },
47
- { name: 'Cocos (Keeling) Islands', dial_code: '+61', code: 'CC' },
48
- { name: 'Colombia', dial_code: '+57', code: 'CO' },
49
- { name: 'Comoros', dial_code: '+269', code: 'KM' },
50
- { name: 'Congo', dial_code: '+242', code: 'CG' },
51
- { name: 'Congo, The Democratic Republic of the Congo', dial_code: '+243', code: 'CD' },
52
- { name: 'Cook Islands', dial_code: '+682', code: 'CK' },
53
- { name: 'Costa Rica', dial_code: '+506', code: 'CR' },
54
- { name: "Cote d'Ivoire", dial_code: '+225', code: 'CI' },
55
- { name: 'Croatia', dial_code: '+385', code: 'HR' },
56
- { name: 'Cuba', dial_code: '+53', code: 'CU' },
57
- { name: 'Cyprus', dial_code: '+357', code: 'CY' },
58
- { name: 'Czech Republic', dial_code: '+420', code: 'CZ' },
59
- { name: 'Denmark', dial_code: '+45', code: 'DK' },
60
- { name: 'Djibouti', dial_code: '+253', code: 'DJ' },
61
- { name: 'Dominica', dial_code: '+1767', code: 'DM' },
62
- { name: 'Dominican Republic', dial_code: '+1849', code: 'DO' },
63
- { name: 'Ecuador', dial_code: '+593', code: 'EC' },
64
- { name: 'Egypt', dial_code: '+20', code: 'EG' },
65
- { name: 'El Salvador', dial_code: '+503', code: 'SV' },
66
- { name: 'Equatorial Guinea', dial_code: '+240', code: 'GQ' },
67
- { name: 'Eritrea', dial_code: '+291', code: 'ER' },
68
- { name: 'Estonia', dial_code: '+372', code: 'EE' },
69
- { name: 'Ethiopia', dial_code: '+251', code: 'ET' },
70
- { name: 'Falkland Islands (Malvinas)', dial_code: '+500', code: 'FK' },
71
- { name: 'Faroe Islands', dial_code: '+298', code: 'FO' },
72
- { name: 'Fiji', dial_code: '+679', code: 'FJ' },
73
- { name: 'Finland', dial_code: '+358', code: 'FI' },
74
- { name: 'France', dial_code: '+33', code: 'FR' },
75
- { name: 'French Guiana', dial_code: '+594', code: 'GF' },
76
- { name: 'French Polynesia', dial_code: '+689', code: 'PF' },
77
- { name: 'Gabon', dial_code: '+241', code: 'GA' },
78
- { name: 'Gambia', dial_code: '+220', code: 'GM' },
79
- { name: 'Georgia', dial_code: '+995', code: 'GE' },
80
- { name: 'Germany', dial_code: '+49', code: 'DE' },
81
- { name: 'Ghana', dial_code: '+233', code: 'GH' },
82
- { name: 'Gibraltar', dial_code: '+350', code: 'GI' },
83
- { name: 'Greece', dial_code: '+30', code: 'GR' },
84
- { name: 'Greenland', dial_code: '+299', code: 'GL' },
85
- { name: 'Grenada', dial_code: '+1473', code: 'GD' },
86
- { name: 'Guadeloupe', dial_code: '+590', code: 'GP' },
87
- { name: 'Guam', dial_code: '+1671', code: 'GU' },
88
- { name: 'Guatemala', dial_code: '+502', code: 'GT' },
89
- { name: 'Guernsey', dial_code: '+44', code: 'GG' },
90
- { name: 'Guinea', dial_code: '+224', code: 'GN' },
91
- { name: 'Guinea-Bissau', dial_code: '+245', code: 'GW' },
92
- { name: 'Guyana', dial_code: '+595', code: 'GY' },
93
- { name: 'Haiti', dial_code: '+509', code: 'HT' },
94
- { name: 'Holy See (Vatican City State)', dial_code: '+379', code: 'VA' },
95
- { name: 'Honduras', dial_code: '+504', code: 'HN' },
96
- { name: 'Hong Kong', dial_code: '+852', code: 'HK' },
97
- { name: 'Hungary', dial_code: '+36', code: 'HU' },
98
- { name: 'Iceland', dial_code: '+354', code: 'IS' },
99
- { name: 'India', dial_code: '+91', code: 'IN' },
100
- { name: 'Indonesia', dial_code: '+62', code: 'ID' },
101
- { name: 'Iran, Islamic Republic of Persian Gulf', dial_code: '+98', code: 'IR' },
102
- { name: 'Iraq', dial_code: '+964', code: 'IQ' },
103
- { name: 'Ireland', dial_code: '+353', code: 'IE' },
104
- { name: 'Isle of Man', dial_code: '+44', code: 'IM' },
105
- { name: 'Israel', dial_code: '+972', code: 'IL' },
106
- { name: 'Italy', dial_code: '+39', code: 'IT' },
107
- { name: 'Jamaica', dial_code: '+1876', code: 'JM' },
108
- { name: 'Japan', dial_code: '+81', code: 'JP' },
109
- { name: 'Jersey', dial_code: '+44', code: 'JE' },
110
- { name: 'Jordan', dial_code: '+962', code: 'JO' },
111
- { name: 'Kazakhstan', dial_code: '+77', code: 'KZ' },
112
- { name: 'Kenya', dial_code: '+254', code: 'KE' },
113
- { name: 'Kiribati', dial_code: '+686', code: 'KI' },
114
- { name: "Korea, Democratic People's Republic of Korea", dial_code: '+850', code: 'KP' },
115
- { name: 'Korea, Republic of South Korea', dial_code: '+82', code: 'KR' },
116
- { name: 'Kuwait', dial_code: '+965', code: 'KW' },
117
- { name: 'Kyrgyzstan', dial_code: '+996', code: 'KG' },
118
- { name: 'Laos', dial_code: '+856', code: 'LA' },
119
- { name: 'Latvia', dial_code: '+371', code: 'LV' },
120
- { name: 'Lebanon', dial_code: '+961', code: 'LB' },
121
- { name: 'Lesotho', dial_code: '+266', code: 'LS' },
122
- { name: 'Liberia', dial_code: '+231', code: 'LR' },
123
- { name: 'Libyan Arab Jamahiriya', dial_code: '+218', code: 'LY' },
124
- { name: 'Liechtenstein', dial_code: '+423', code: 'LI' },
125
- { name: 'Lithuania', dial_code: '+370', code: 'LT' },
126
- { name: 'Luxembourg', dial_code: '+352', code: 'LU' },
127
- { name: 'Macao', dial_code: '+853', code: 'MO' },
128
- { name: 'Macedonia', dial_code: '+389', code: 'MK' },
129
- { name: 'Madagascar', dial_code: '+261', code: 'MG' },
130
- { name: 'Malawi', dial_code: '+265', code: 'MW' },
131
- { name: 'Malaysia', dial_code: '+60', code: 'MY' },
132
- { name: 'Maldives', dial_code: '+960', code: 'MV' },
133
- { name: 'Mali', dial_code: '+223', code: 'ML' },
134
- { name: 'Malta', dial_code: '+356', code: 'MT' },
135
- { name: 'Marshall Islands', dial_code: '+692', code: 'MH' },
136
- { name: 'Martinique', dial_code: '+596', code: 'MQ' },
137
- { name: 'Mauritania', dial_code: '+222', code: 'MR' },
138
- { name: 'Mauritius', dial_code: '+230', code: 'MU' },
139
- { name: 'Mayotte', dial_code: '+262', code: 'YT' },
140
- { name: 'Mexico', dial_code: '+52', code: 'MX' },
141
- { name: 'Micronesia, Federated States of Micronesia', dial_code: '+691', code: 'FM' },
142
- { name: 'Moldova', dial_code: '+373', code: 'MD' },
143
- { name: 'Monaco', dial_code: '+377', code: 'MC' },
144
- { name: 'Mongolia', dial_code: '+976', code: 'MN' },
145
- { name: 'Montenegro', dial_code: '+382', code: 'ME' },
146
- { name: 'Montserrat', dial_code: '+1664', code: 'MS' },
147
- { name: 'Morocco', dial_code: '+212', code: 'MA' },
148
- { name: 'Mozambique', dial_code: '+258', code: 'MZ' },
149
- { name: 'Myanmar', dial_code: '+95', code: 'MM' },
150
- { name: 'Namibia', dial_code: '+264', code: 'NA' },
151
- { name: 'Nauru', dial_code: '+674', code: 'NR' },
152
- { name: 'Nepal', dial_code: '+977', code: 'NP' },
153
- { name: 'Netherlands', dial_code: '+31', code: 'NL' },
154
- { name: 'Netherlands Antilles', dial_code: '+599', code: 'AN' },
155
- { name: 'New Caledonia', dial_code: '+687', code: 'NC' },
156
- { name: 'New Zealand', dial_code: '+64', code: 'NZ' },
157
- { name: 'Nicaragua', dial_code: '+505', code: 'NI' },
158
- { name: 'Niger', dial_code: '+227', code: 'NE' },
159
- { name: 'Nigeria', dial_code: '+234', code: 'NG' },
160
- { name: 'Niue', dial_code: '+683', code: 'NU' },
161
- { name: 'Norfolk Island', dial_code: '+672', code: 'NF' },
162
- { name: 'Northern Mariana Islands', dial_code: '+1670', code: 'MP' },
163
- { name: 'Norway', dial_code: '+47', code: 'NO' },
164
- { name: 'Oman', dial_code: '+968', code: 'OM' },
165
- { name: 'Pakistan', dial_code: '+92', code: 'PK' },
166
- { name: 'Palau', dial_code: '+680', code: 'PW' },
167
- { name: 'Palestinian Territory, Occupied', dial_code: '+970', code: 'PS' },
168
- { name: 'Panama', dial_code: '+507', code: 'PA' },
169
- { name: 'Papua New Guinea', dial_code: '+675', code: 'PG' },
170
- { name: 'Paraguay', dial_code: '+595', code: 'PY' },
171
- { name: 'Peru', dial_code: '+51', code: 'PE' },
172
- { name: 'Philippines', dial_code: '+63', code: 'PH' },
173
- { name: 'Pitcairn', dial_code: '+872', code: 'PN' },
174
- { name: 'Poland', dial_code: '+48', code: 'PL' },
175
- { name: 'Portugal', dial_code: '+351', code: 'PT' },
176
- { name: 'Puerto Rico', dial_code: '+1939', code: 'PR' },
177
- { name: 'Qatar', dial_code: '+974', code: 'QA' },
178
- { name: 'Romania', dial_code: '+40', code: 'RO' },
179
- { name: 'Russia', dial_code: '+7', code: 'RU' },
180
- { name: 'Rwanda', dial_code: '+250', code: 'RW' },
181
- { name: 'Reunion', dial_code: '+262', code: 'RE' },
182
- { name: 'Saint Barthelemy', dial_code: '+590', code: 'BL' },
183
- { name: 'Saint Helena, Ascension and Tristan Da Cunha', dial_code: '+290', code: 'SH' },
184
- { name: 'Saint Kitts and Nevis', dial_code: '+1869', code: 'KN' },
185
- { name: 'Saint Lucia', dial_code: '+1758', code: 'LC' },
186
- { name: 'Saint Martin', dial_code: '+590', code: 'MF' },
187
- { name: 'Saint Pierre and Miquelon', dial_code: '+508', code: 'PM' },
188
- { name: 'Saint Vincent and the Grenadines', dial_code: '+1784', code: 'VC' },
189
- { name: 'Samoa', dial_code: '+685', code: 'WS' },
190
- { name: 'San Marino', dial_code: '+378', code: 'SM' },
191
- { name: 'Sao Tome and Principe', dial_code: '+239', code: 'ST' },
192
- { name: 'Saudi Arabia', dial_code: '+966', code: 'SA' },
193
- { name: 'Senegal', dial_code: '+221', code: 'SN' },
194
- { name: 'Serbia', dial_code: '+381', code: 'RS' },
195
- { name: 'Seychelles', dial_code: '+248', code: 'SC' },
196
- { name: 'Sierra Leone', dial_code: '+232', code: 'SL' },
197
- { name: 'Singapore', dial_code: '+65', code: 'SG' },
198
- { name: 'Slovakia', dial_code: '+421', code: 'SK' },
199
- { name: 'Slovenia', dial_code: '+386', code: 'SI' },
200
- { name: 'Solomon Islands', dial_code: '+677', code: 'SB' },
201
- { name: 'Somalia', dial_code: '+252', code: 'SO' },
202
- { name: 'South Africa', dial_code: '+27', code: 'ZA' },
203
- { name: 'South Sudan', dial_code: '+211', code: 'SS' },
204
- { name: 'South Georgia and the South Sandwich Islands', dial_code: '+500', code: 'GS' },
205
- { name: 'Spain', dial_code: '+34', code: 'ES' },
206
- { name: 'Sri Lanka', dial_code: '+94', code: 'LK' },
207
- { name: 'Sudan', dial_code: '+249', code: 'SD' },
208
- { name: 'Suriname', dial_code: '+597', code: 'SR' },
209
- { name: 'Svalbard and Jan Mayen', dial_code: '+47', code: 'SJ' },
210
- { name: 'Swaziland', dial_code: '+268', code: 'SZ' },
211
- { name: 'Sweden', dial_code: '+46', code: 'SE' },
212
- { name: 'Switzerland', dial_code: '+41', code: 'CH' },
213
- { name: 'Syrian Arab Republic', dial_code: '+963', code: 'SY' },
214
- { name: 'Taiwan', dial_code: '+886', code: 'TW' },
215
- { name: 'Tajikistan', dial_code: '+992', code: 'TJ' },
216
- { name: 'Tanzania, United Republic of Tanzania', dial_code: '+255', code: 'TZ' },
217
- { name: 'Thailand', dial_code: '+66', code: 'TH' },
218
- { name: 'Timor-Leste', dial_code: '+670', code: 'TL' },
219
- { name: 'Togo', dial_code: '+228', code: 'TG' },
220
- { name: 'Tokelau', dial_code: '+690', code: 'TK' },
221
- { name: 'Tonga', dial_code: '+676', code: 'TO' },
222
- { name: 'Trinidad and Tobago', dial_code: '+1868', code: 'TT' },
223
- { name: 'Tunisia', dial_code: '+216', code: 'TN' },
224
- { name: 'Turkey', dial_code: '+90', code: 'TR' },
225
- { name: 'Turkmenistan', dial_code: '+993', code: 'TM' },
226
- { name: 'Turks and Caicos Islands', dial_code: '+1649', code: 'TC' },
227
- { name: 'Tuvalu', dial_code: '+688', code: 'TV' },
228
- { name: 'Uganda', dial_code: '+256', code: 'UG' },
229
- { name: 'Ukraine', dial_code: '+380', code: 'UA' },
230
- { name: 'United Arab Emirates', dial_code: '+971', code: 'AE' },
231
- { name: 'United Kingdom', dial_code: '+44', code: 'GB' },
232
- { name: 'United States', dial_code: '+1', code: 'US' },
233
- { name: 'Uruguay', dial_code: '+598', code: 'UY' },
234
- { name: 'Uzbekistan', dial_code: '+998', code: 'UZ' },
235
- { name: 'Vanuatu', dial_code: '+678', code: 'VU' },
236
- { name: 'Venezuela, Bolivarian Republic of Venezuela', dial_code: '+58', code: 'VE' },
237
- { name: 'Vietnam', dial_code: '+84', code: 'VN' },
238
- { name: 'Virgin Islands, British', dial_code: '+1284', code: 'VG' },
239
- { name: 'Virgin Islands, U.S.', dial_code: '+1340', code: 'VI' },
240
- { name: 'Wallis and Futuna', dial_code: '+681', code: 'WF' },
241
- { name: 'Yemen', dial_code: '+967', code: 'YE' },
242
- { name: 'Zambia', dial_code: '+260', code: 'ZM' },
243
- { name: 'Zimbabwe', dial_code: '+263', code: 'ZW' }
244
- ];