bfg-common 1.3.525 → 1.3.528

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.
@@ -17,6 +17,7 @@
17
17
  :is-dark-theme="props.isDarkTheme"
18
18
  @toggle-main-menu="emits('toggle-main-menu')"
19
19
  @show-preference="emits('show-preference')"
20
+ @reset-preference="emits('reset-preference')"
20
21
  @hide-preference="emits('hide-preference')"
21
22
  @global-refresh="emits('global-refresh')"
22
23
  @update-time-format="emits('update-time-format', $event)"
@@ -55,6 +56,7 @@
55
56
  </template>
56
57
 
57
58
  <script setup lang="ts">
59
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
58
60
  import type { UI_T_Project } from '~/lib/models/types'
59
61
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
60
62
 
@@ -69,7 +71,7 @@ const props = defineProps<{
69
71
  hostname: string
70
72
  isPreference: boolean
71
73
  selectedLanguageType: string
72
- selectedLang: string
74
+ selectedLang: UI_I_Dropdown
73
75
  newView: boolean
74
76
  newViewLocal: boolean
75
77
  timeFormat: string
@@ -80,10 +82,11 @@ const emits = defineEmits<{
80
82
  (event: 'toggle-main-menu'): void
81
83
  (event: 'global-refresh'): void
82
84
  (event: 'show-preference'): void
85
+ (event: 'reset-preference'): void
83
86
  (event: 'hide-preference'): void
84
87
  (event: 'change-theme-mode'): void
85
88
  (event: 'update-time-format', value: UI_T_TimeValue): void
86
- (event: 'update-language', value: string): void
89
+ (event: 'update-language', value: UI_I_Dropdown): void
87
90
  (event: 'update-is-browser', value: string): void
88
91
  (event: 'update-is-new-view', value: boolean): void
89
92
  (event: 'submit-preferences'): void
@@ -65,6 +65,7 @@
65
65
  :new-view="props.newView"
66
66
  :project="props.project"
67
67
  @show-preference="emits('show-preference')"
68
+ @reset-preference="emits('reset-preference')"
68
69
  @hide-preference="emits('hide-preference')"
69
70
  @change-theme-mode="emits('change-theme-mode')"
70
71
  @update-time-format="emits('update-time-format', $event)"
@@ -80,6 +81,7 @@
80
81
  </template>
81
82
 
82
83
  <script setup lang="ts">
84
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
83
85
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
84
86
  import type { UI_T_Project } from '~/lib/models/types'
85
87
 
@@ -94,7 +96,7 @@ const props = defineProps<{
94
96
  hostname: string
95
97
  isPreference: boolean
96
98
  selectedLanguageType: string
97
- selectedLang: string
99
+ selectedLang: UI_I_Dropdown
98
100
  newView: boolean
99
101
  timeFormat: string
100
102
  isDarkTheme: boolean
@@ -104,10 +106,11 @@ const emits = defineEmits<{
104
106
  (event: 'toggle-main-menu'): void
105
107
  (event: 'global-refresh'): void
106
108
  (event: 'show-preference'): void
109
+ (event: 'reset-preference'): void
107
110
  (event: 'hide-preference'): void
108
111
  (event: 'change-theme-mode'): void
109
112
  (event: 'update-time-format', value: UI_T_TimeValue): void
110
- (event: 'update-language', value: string): void
113
+ (event: 'update-language', value: UI_I_Dropdown): void
111
114
  (event: 'update-is-browser', value: string): void
112
115
  (event: 'update-is-new-view', value: boolean): void
113
116
  (event: 'submit-preferences'): void
@@ -68,14 +68,14 @@
68
68
  :is-preference="props.isPreference"
69
69
  :time-format="props.timeFormat"
70
70
  :selected-language-type="props.selectedLanguageType"
71
- :selected-language="props.selectedLang"
71
+ :selected-language="props.selectedLang.value"
72
72
  :new-view="props.newView"
73
73
  :project="props.project"
74
74
  @show-preference="emits('show-preference')"
75
75
  @hide-preference="emits('hide-preference')"
76
76
  @change-theme-mode="emits('change-theme-mode')"
77
77
  @update-time-format="emits('update-time-format', $event)"
78
- @update-language="emits('update-language', $event)"
78
+ @update-language="onUpdateLanguage"
79
79
  @update-is-browser="emits('update-is-browser', $event)"
80
80
  @update-is-new-view="emits('update-is-new-view', $event)"
81
81
  @submit-preferences="emits('submit-preferences')"
@@ -100,8 +100,10 @@
100
100
  </template>
101
101
 
102
102
  <script setup lang="ts">
103
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
103
104
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
104
105
  import type { UI_T_Project } from '~/lib/models/types'
106
+ import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
105
107
 
106
108
  const props = defineProps<{
107
109
  companyName: string
@@ -114,7 +116,7 @@ const props = defineProps<{
114
116
  hostname: string
115
117
  isPreference: boolean
116
118
  selectedLanguageType: string
117
- selectedLang: string
119
+ selectedLang: UI_I_Dropdown
118
120
  newView: boolean
119
121
  timeFormat: string
120
122
  }>()
@@ -126,12 +128,17 @@ const emits = defineEmits<{
126
128
  (event: 'hide-preference'): void
127
129
  (event: 'change-theme-mode'): void
128
130
  (event: 'update-time-format', value: UI_T_TimeValue): void
129
- (event: 'update-language', value: string): void
131
+ (event: 'update-language', value: UI_I_Dropdown): void
130
132
  (event: 'update-is-browser', value: string): void
131
133
  (event: 'update-is-new-view', value: boolean): void
132
134
  (event: 'submit-preferences'): void
133
135
  }>()
134
136
 
137
+ const onUpdateLanguage = (language: string): void => {
138
+ const languageObj = findInLocals(language)
139
+ emits('update-language', languageObj)
140
+ }
141
+
135
142
  const isShowFeedback = ref<boolean>(false)
136
143
  </script>
137
144
 
@@ -28,6 +28,7 @@
28
28
  :selected-language="props.selectedLanguage"
29
29
  :project="props.project"
30
30
  @hide="emits('hide-preference')"
31
+ @reset="emits('reset-preference')"
31
32
  @update-time-format="emits('update-time-format', $event)"
32
33
  @update-language="emits('update-language', $event)"
33
34
  @update-language-type="emits('update-language-type', $event)"
@@ -39,6 +40,7 @@
39
40
  </template>
40
41
 
41
42
  <script setup lang="ts">
43
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
42
44
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
43
45
  import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
44
46
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
@@ -50,15 +52,16 @@ const props = defineProps<{
50
52
  newView: boolean
51
53
  timeFormat: UI_T_TimeValue
52
54
  selectedLanguageType: UI_T_LangValue
53
- selectedLanguage: UI_T_LangValue
55
+ selectedLanguage: UI_I_Dropdown
54
56
  userFromStore?: UI_I_User
55
57
  }>()
56
58
  const emits = defineEmits<{
57
59
  (event: 'show-preference'): void
60
+ (event: 'reset-preference'): void
58
61
  (event: 'hide-preference'): void
59
62
  (event: 'change-theme-mode'): void
60
63
  (event: 'update-time-format', value: UI_T_TimeValue): void
61
- (event: 'update-language', value: string): void
64
+ (event: 'update-language', value: UI_I_Dropdown): void
62
65
  (event: 'update-language-type', value: string): void
63
66
  (event: 'update-is-browser', value: string): void
64
67
  (event: 'update-is-new-view', value: boolean): void
@@ -8,6 +8,7 @@
8
8
  :selected-language-type="props.selectedLanguageType"
9
9
  :selected-language="props.selectedLanguage"
10
10
  @hide="emits('hide')"
11
+ @reset="emits('reset')"
11
12
  @update-time-format="emits('update-time-format', $event)"
12
13
  @update-language="emits('update-language', $event)"
13
14
  @update-language-type="emits('update-language-type', $event)"
@@ -34,6 +35,7 @@
34
35
  </template>
35
36
 
36
37
  <script setup lang="ts">
38
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
37
39
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
38
40
  import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
39
41
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
@@ -44,15 +46,16 @@ const props = defineProps<{
44
46
  user?: UI_I_User
45
47
  newView: boolean
46
48
  selectedLanguageType: UI_T_LangValue
47
- selectedLanguage: UI_T_LangValue
49
+ selectedLanguage: UI_I_Dropdown
48
50
  isNewView: boolean
49
51
  }>()
50
52
 
51
53
  const emits = defineEmits<{
52
54
  (event: 'hide'): void
55
+ (event: 'reset'): void
53
56
  (event: 'update-time-format', value: UI_T_TimeValue): void
54
57
  (event: 'update-language-type', value: string): void
55
- (event: 'update-language', value: string): void
58
+ (event: 'update-language', value: UI_I_Dropdown): void
56
59
  (event: 'update-is-browser', value: string): void
57
60
  (event: 'update-is-new-view', value: boolean): void
58
61
  (event: 'submit'): void
@@ -3,6 +3,7 @@
3
3
  test-id="user-preferences-modal"
4
4
  width="580px"
5
5
  :title="localization.preferences"
6
+ @reset="emits('reset')"
6
7
  @submit="emits('submit')"
7
8
  @hide="onHide"
8
9
  >
@@ -21,7 +22,7 @@
21
22
  :selected-language="props.selectedLanguage"
22
23
  :project="props.project"
23
24
  @update-language-type="emits('update-language-type', $event)"
24
- @update="emits('update-language', $event)"
25
+ @update-language="emits('update-language', $event)"
25
26
  @update-is-browser="emits('update-is-browser', $event)"
26
27
  />
27
28
  </ui-modal-block-form-standard>
@@ -52,6 +53,7 @@
52
53
  </template>
53
54
 
54
55
  <script setup lang="ts">
56
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
55
57
  import type { UI_I_Localization } from '~/lib/models/interfaces'
56
58
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
57
59
  import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
@@ -60,7 +62,7 @@ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMe
60
62
  const props = defineProps<{
61
63
  project: UI_T_Project
62
64
  timeFormat: UI_T_TimeValue
63
- selectedLanguage: UI_T_LangValue
65
+ selectedLanguage: UI_I_Dropdown
64
66
  selectedLanguageType: UI_T_LangValue
65
67
  newView: boolean
66
68
  user?: UI_I_User
@@ -69,10 +71,11 @@ const emits = defineEmits<{
69
71
  (event: 'hide'): void
70
72
  (event: 'update-time-format', value: UI_T_TimeValue): void
71
73
  (event: 'update-language-type', value: string): void
72
- (event: 'update-language', value: string): void
74
+ (event: 'update-language', value: UI_I_Dropdown): void
73
75
  (event: 'update-is-browser', value: string): void
74
76
  (event: 'update-is-new-view', value: boolean): void
75
77
  (event: 'submit'): void
78
+ (event: 'reset'): void
76
79
  }>()
77
80
 
78
81
  const { $store }: any = useNuxtApp()
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <form id="change-language-form">
2
+ <form id="change-language-form" @submit.prevent>
3
3
  <div class="flex">
4
4
  <ui-modal-icon>
5
5
  <ui-icon-icon3 name="language-new" width="20" height="20" />
@@ -14,32 +14,23 @@
14
14
  </div>
15
15
 
16
16
  <div v-for="(item, key) in radioOptions" :key="key" class="radio flex">
17
- <input
18
- :id="item.label"
17
+ <ui-radio
19
18
  v-model="languageMode"
20
- :data-id="item.testId"
21
- type="radio"
19
+ :test-id="item.testId"
20
+ :label="item.label"
22
21
  :value="item.value"
23
- @change="onChange"
22
+ size="sm"
24
23
  />
25
- <label :for="item.label"> {{ item.label }} </label>
26
-
27
- <span v-if="item.selectLang" class="select select-lang">
28
- <select
29
- id="language-select"
30
- v-model="selectedLanguageLocal"
31
- :disabled="languageMode !== item.value"
32
- data-id="language-select"
24
+
25
+ <span v-if="item.selectLang" class="select">
26
+ <common-select-language
27
+ :normalize-lang="locales"
28
+ :selected-lang="selectedLanguageLocal"
29
+ :disabled="props.selectedType === 'BROWSER'"
30
+ width="97px"
31
+ size="sm"
33
32
  @change="onSelectLang"
34
- >
35
- <option
36
- v-for="(item2, key2) in langOptions"
37
- :key="key2"
38
- :value="item2.value"
39
- >
40
- {{ item2.text }}
41
- </option>
42
- </select>
33
+ />
43
34
  </span>
44
35
  </div>
45
36
  </div>
@@ -48,26 +39,25 @@
48
39
  </template>
49
40
 
50
41
  <script setup lang="ts">
42
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
51
43
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
52
44
  import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
53
45
  import type { UI_I_Localization } from '~/lib/models/interfaces'
54
- import type {
55
- UI_I_LanguageItem,
56
- UI_I_RadioItemLang,
57
- } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
46
+ import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
47
+ import { locales } from '~/components/common/selectLanguage/lib/config/config'
48
+ import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
58
49
  import { UI_E_DetectSelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/enums'
59
- import { langConfig } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/lang'
60
50
  import { radioOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/radioOptions'
61
51
  import { defineBrowserLangFunc } from '~/components/common/layout/theHeader/lib/utils/localization'
62
52
 
63
53
  const props = defineProps<{
64
54
  selectedType: UI_T_LangValue
65
- selectedLanguage: UI_T_LangValue
55
+ selectedLanguage: UI_I_Dropdown
66
56
  project: UI_T_Project
67
57
  }>()
68
58
 
69
59
  const emits = defineEmits<{
70
- (event: 'update', value: string): void
60
+ (event: 'update-language', value: UI_I_Dropdown): void
71
61
  (event: 'update-language-type', value: UI_T_SelectedRadio): void
72
62
  (event: 'update-is-browser', value: string): void
73
63
  }>()
@@ -89,35 +79,34 @@ const radioOptions = readonly<UI_I_RadioItemLang[]>(
89
79
  radioOptionsFunc(localization.value)
90
80
  )
91
81
 
92
- const langOptions = ref<UI_I_LanguageItem[]>(langConfig)
93
-
94
- const selectedLanguageLocal = ref<string>(props.selectedLanguage)
82
+ const selectedLanguageLocal = ref<UI_I_Dropdown>(props.selectedLanguage)
95
83
 
96
84
  const setPreferenceLang = (language: string): void => {
97
- let browserLang = language
85
+ let currentLang = language
98
86
 
99
- language === 'BROWSER' && (browserLang = defineBrowserLangFunc())
87
+ language === 'BROWSER' &&
88
+ (currentLang = findInLocals(defineBrowserLangFunc()))
100
89
 
101
90
  if (props.project === 'sphere') {
102
91
  const { $store }: any = useNuxtApp()
103
92
 
104
93
  $store.dispatch('profile/A_PREFERENCES_FOR_CHANGING', {
105
- language: browserLang,
94
+ language: currentLang,
106
95
  })
107
96
  } else if (props.project === 'procurator') {
108
- emits('update', browserLang)
97
+ emits('update-language', currentLang)
109
98
  }
110
99
  }
111
100
 
112
- const onSelectLang = (): void => {
113
- selectedLanguageLocal.value && setPreferenceLang(selectedLanguageLocal.value)
101
+ const onSelectLang = (newValue): void => {
102
+ selectedLanguageLocal.value && setPreferenceLang(newValue)
114
103
  }
115
104
 
116
105
  const onChange = (): void => {
117
106
  const lang =
118
107
  languageMode.value === 'LANG'
119
108
  ? selectedLanguageLocal.value
120
- : languageMode.value
109
+ : languageMode.value // 'BROWSER'
121
110
 
122
111
  lang && setPreferenceLang(lang)
123
112
 
@@ -132,24 +121,35 @@ const updateIsBrowser = (value: string): void => {
132
121
  watch(
133
122
  languageMode,
134
123
  (newValue) => {
124
+ onChange()
135
125
  newValue && updateIsBrowser(newValue)
136
126
  },
137
127
  { immediate: true }
138
128
  )
129
+
130
+ watch(
131
+ () => props.selectedLanguage,
132
+ (newValue) => {
133
+ selectedLanguageLocal.value = newValue
134
+ },
135
+ { immediate: true }
136
+ )
137
+
138
+ watch(
139
+ () => props.selectedType,
140
+ (newValue) => {
141
+ languageMode.value = UI_E_DetectSelectedRadio[newValue]
142
+ },
143
+ { immediate: true }
144
+ )
139
145
  </script>
140
146
 
141
147
  <style lang="scss" scoped>
142
- .radio {
143
- margin-bottom: 5px;
144
- &:nth-child(2) {
145
- margin-top: 10px;
146
- }
148
+ .radio:not(:last-child) {
149
+ margin-bottom: 12px;
147
150
  }
148
- .select-lang {
149
- margin-left: 3px;
150
- height: 24px;
151
- & > select {
152
- height: 100%;
153
- }
151
+
152
+ .select {
153
+ margin-left: 8px;
154
154
  }
155
155
  </style>
@@ -12,19 +12,14 @@
12
12
  <div class="form-second-title">
13
13
  {{ description }}
14
14
  </div>
15
-
16
15
  <div v-for="(item, key) in formatOptions" :key="key" class="radio">
17
- <input
18
- :id="item.value"
16
+ <ui-radio
19
17
  v-model="timeItem"
20
- :data-id="item.testId"
21
- type="radio"
18
+ :test-id="item.testId"
19
+ :label="item.label"
22
20
  :value="item.value"
23
- @change="onChange"
21
+ size="sm"
24
22
  />
25
- <label :for="item.value">
26
- {{ item.label }}
27
- </label>
28
23
  </div>
29
24
  </div>
30
25
  </div>
@@ -57,22 +52,18 @@ const formatOptions = readonly<UI_I_RadioItem[]>(
57
52
  formatOptionsFunc(localization.value)
58
53
  )
59
54
 
60
- const timeItem = ref<UI_T_TimeValue>(props.timeFormat)
61
-
62
- const onChange = (): void => {
63
- emits('update', timeItem.value)
64
- }
55
+ const timeItem = computed({
56
+ get() {
57
+ return props.timeFormat
58
+ },
59
+ set(newValue: UI_T_TimeValue) {
60
+ emits('update', newValue)
61
+ },
62
+ })
65
63
  </script>
66
64
 
67
65
  <style lang="scss" scoped>
68
- .radio {
69
- margin-bottom: 5px;
70
- &:nth-child(2) {
71
- margin-top: 10px;
72
- }
73
- }
74
- input[type='radio']:focus:checked + label::before,
75
- input[type='radio']:focus + label::before {
76
- box-shadow: inset 0 0 0 0.25rem #0094d2;
66
+ .radio:not(:last-child) {
67
+ margin-bottom: 12px;
77
68
  }
78
69
  </style>
@@ -0,0 +1,134 @@
1
+ <template>
2
+ <div :class="['language-dropdown', props.size]">
3
+ <ui-select
4
+ v-model="selectedLang"
5
+ test-id="select-language"
6
+ :items="props.normalizeLang"
7
+ :width="props.size === 'md' ? '114px' : '97px'"
8
+ arrow-stroke-width="2.4"
9
+ :disabled="props.disabled"
10
+ :size="props.size"
11
+ max-height="inherit"
12
+ @change="onSelect"
13
+ >
14
+ <template #toggleContent>
15
+ <span class="language-dropdown__icon content-icon"
16
+ ><ui-icon-icon2
17
+ :name="selectedLang?.iconName"
18
+ :height="props.size === 'md' ? '16' : '13'"
19
+ :width="props.size === 'md' ? '24' : '19'"
20
+ ></ui-icon-icon2
21
+ ></span>
22
+ {{ selectedLang?.text }}
23
+ </template>
24
+ <template #row="{ item }">
25
+ <span class="language-dropdown__icon dropdown-icon">
26
+ <ui-icon-icon2
27
+ :name="item.iconName"
28
+ :height="props.size === 'md' ? '16' : '13'"
29
+ :width="props.size === 'md' ? '24' : '19'"
30
+ ></ui-icon-icon2>
31
+ </span>
32
+ <span class="ui-item-text">{{ item.text }}</span>
33
+ </template>
34
+ </ui-select>
35
+ </div>
36
+ </template>
37
+
38
+ <script lang="ts" setup>
39
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
40
+
41
+ const props = withDefaults(
42
+ defineProps<{
43
+ normalizeLang: UI_I_Dropdown[]
44
+ selectedLang: UI_I_Dropdown
45
+ disabled?: boolean
46
+ width?: string
47
+ size?: 'sm' | 'md'
48
+ }>(),
49
+ {
50
+ disabled: false,
51
+ width: '114px',
52
+ size: 'md',
53
+ }
54
+ )
55
+
56
+ const emits = defineEmits<{
57
+ (event: 'change', lang: UI_I_Dropdown): void
58
+ }>()
59
+
60
+ const selectedLang = ref<UI_I_Dropdown>(props.selectedLang)
61
+ const onSelect = (lang: UI_I_Dropdown): void => {
62
+ emits('change', lang)
63
+ }
64
+
65
+ watch(
66
+ () => props.selectedLang,
67
+ (newValue: UI_I_Dropdown) => {
68
+ selectedLang.value = newValue
69
+ },
70
+ { deep: true, immediate: true }
71
+ )
72
+ </script>
73
+
74
+ <style lang="scss" scoped>
75
+ .language-dropdown {
76
+ &.sm {
77
+ .language-dropdown__icon {
78
+ margin-right: 8px;
79
+ &.content-icon {
80
+ margin-right: 6px;
81
+ }
82
+ }
83
+
84
+ font-size: 12px;
85
+ line-height: 14.52px;
86
+ font-weight: 500;
87
+ }
88
+
89
+ &.md {
90
+ .language-dropdown__icon {
91
+ margin-right: 8px;
92
+ &.content-icon {
93
+ margin-right: 8px;
94
+ }
95
+ }
96
+
97
+ font-size: 14px;
98
+ line-height: 16.94px;
99
+ font-weight: 500;
100
+ }
101
+
102
+ :deep(.ui-dropdown-menu-item) {
103
+ display: flex;
104
+ align-items: center;
105
+ border-radius: 4px;
106
+
107
+ &:not(:last-child) {
108
+ margin-bottom: 8px;
109
+ }
110
+ &:not(.disabled):not(.selected):hover {
111
+ background-color: var(--dropdown-item-hover-bg-color);
112
+
113
+ .ui-item-text {
114
+ color: var(--dropdown-item-hover-color);
115
+ }
116
+ }
117
+
118
+ & .ui-item-text {
119
+ color: var(--dropdown-item-color);
120
+ font-weight: 500;
121
+ }
122
+
123
+ &.selected {
124
+ .ui-item-text {
125
+ color: var(--dropdown-item-selected-color);
126
+ }
127
+ }
128
+ }
129
+
130
+ &__icon {
131
+ display: flex;
132
+ }
133
+ }
134
+ </style>
@@ -0,0 +1,34 @@
1
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
2
+
3
+ export const locales: UI_I_Dropdown[] = [
4
+ {
5
+ text: 'RU',
6
+ value: 'ru_RU',
7
+ iconName: 'ru-flag',
8
+ },
9
+ {
10
+ text: 'AM',
11
+ value: 'hy_AM',
12
+ iconName: 'am-flag',
13
+ },
14
+ {
15
+ text: 'BY',
16
+ value: 'be_BY',
17
+ iconName: 'be-flag',
18
+ },
19
+ {
20
+ text: 'KZ',
21
+ value: 'kk_KZ',
22
+ iconName: 'kk-flag',
23
+ },
24
+ {
25
+ text: 'CN',
26
+ value: 'zh_CHS',
27
+ iconName: 'zh-flag',
28
+ },
29
+ {
30
+ text: 'EN',
31
+ value: 'en_US',
32
+ iconName: 'en-flag',
33
+ },
34
+ ]
@@ -0,0 +1,5 @@
1
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
2
+ import { locales } from '~/components/common/selectLanguage/lib/config/config'
3
+
4
+ export const findInLocals = (find: string): UI_I_Dropdown =>
5
+ locales.find((lang: UI_I_Dropdown) => lang.value === find) || locales[0]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.3.525",
4
+ "version": "1.3.528",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -35,7 +35,7 @@
35
35
  "@vueuse/components": "^10.1.2",
36
36
  "date-fns": "^2.29.3",
37
37
  "bfg-nuxt-3-graph": "^1.0.15",
38
- "bfg-uikit": "1.0.71",
38
+ "bfg-uikit": "1.0.77",
39
39
  "html2canvas": "^1.4.1",
40
40
  "prettier-eslint": "^15.0.1"
41
41
  }