bfg-common 1.1.31 → 1.1.32

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 (76) hide show
  1. package/assets/localization/local_be.json +1 -4
  2. package/assets/localization/local_en.json +1 -4
  3. package/assets/localization/local_hy.json +1 -4
  4. package/assets/localization/local_kk.json +1 -4
  5. package/assets/localization/local_ru.json +1 -4
  6. package/assets/localization/local_zh.json +1 -4
  7. package/components/atoms/alert/Notification.vue +167 -167
  8. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  9. package/components/atoms/datepicker/Datepicker.vue +612 -612
  10. package/components/atoms/list/SelectList.vue +62 -62
  11. package/components/atoms/nav/NavBar.vue +116 -116
  12. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  13. package/components/atoms/notificationBar/NotificationBar.vue +174 -174
  14. package/components/atoms/perPage/PerPage.vue +52 -52
  15. package/components/atoms/popup/SimplePopup.vue +90 -90
  16. package/components/atoms/step/VerticalStep.vue +104 -104
  17. package/components/atoms/switch/Switch.vue +107 -107
  18. package/components/atoms/table/dataGrid/DataGrid.vue +5 -3
  19. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -204
  20. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  21. package/components/atoms/tabs/Tabs.vue +189 -189
  22. package/components/atoms/tooltip/Signpost.vue +224 -224
  23. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  24. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  25. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  26. package/components/common/browse/Browse.vue +182 -182
  27. package/components/common/browse/blocks/Title.vue +66 -66
  28. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  29. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  30. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  31. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  32. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  33. package/components/common/diagramMain/network/Contents.vue +238 -238
  34. package/components/common/feedback/Buttons.vue +232 -232
  35. package/components/common/feedback/Message.vue +468 -468
  36. package/components/common/feedback/VisitPortal.vue +54 -54
  37. package/components/common/help/navbar/left/Left.vue +159 -159
  38. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  39. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  40. package/components/common/modals/Confirmation.vue +4 -18
  41. package/components/common/modals/Rename.vue +165 -165
  42. package/components/common/monitor/advanced/Advanced.vue +0 -22
  43. package/components/common/monitor/advanced/tools/Tools.vue +7 -78
  44. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +9 -218
  45. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +9 -80
  46. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/config/optionsActions.ts +10 -22
  47. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +4 -27
  48. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +0 -16
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +0 -16
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +29 -100
  51. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +3 -29
  52. package/components/common/perPage/PerPage.vue +51 -51
  53. package/components/common/recursionTree/RecursionTree.vue +201 -201
  54. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -445
  55. package/components/common/vm/actions/add/select/storage/config/config.ts +154 -154
  56. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  57. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  58. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  59. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  60. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  61. package/models/store/interfaces.ts +37 -37
  62. package/models/store/storage/interfaces.ts +32 -32
  63. package/models/store/types.ts +32 -32
  64. package/modules/fixContentBuild/index.ts +92 -92
  65. package/modules/fixContentBuild/utils/methods.ts +114 -114
  66. package/package.json +1 -1
  67. package/public/spice-console/application/codec.js +257 -257
  68. package/public/spice-console/lib/rasterEngine.js +907 -907
  69. package/public/spice-console/network/spicechannel.js +369 -369
  70. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  71. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  72. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  73. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  74. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  75. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
  76. package/utils/contentBuild.ts +34 -34
@@ -1,174 +1,174 @@
1
- <template>
2
- <div class="notification-bar">
3
- <div class="alerts" :style="{ 'background-color': bgPageControl }">
4
- <div
5
- v-if="props.items.length > 1"
6
- :class="['alerts-pager ng-star-inserted']"
7
- >
8
- <div class="alerts-pager-control page-control">
9
- <div class="alerts-page-down">
10
- <button
11
- :id="`${props.testId}-prev-button`"
12
- class="alerts-pager-button"
13
- @click="prevPage"
14
- >
15
- <atoms-the-icon class="page-control__prev" name="angle" />
16
- </button>
17
- </div>
18
-
19
- <div class="alerts-pager-text">
20
- {{ stepPosition }} / {{ props.items.length }}
21
- </div>
22
-
23
- <div class="alerts-page-up">
24
- <button
25
- :id="`${props.testId}-next-button`"
26
- class="alerts-pager-button"
27
- @click="nextPage"
28
- >
29
- <atoms-the-icon class="page-control__next" name="angle" />
30
- </button>
31
- </div>
32
- </div>
33
- </div>
34
-
35
- <div class="alert-text-truncate">
36
- <div class="alert alert-app-level" :class="currentPage.status">
37
- <div class="alert-items">
38
- <div class="alert-item">
39
- <div class="alert-icon-wrapper">
40
- <atoms-the-icon
41
- :class="['alert-icon', iconName]"
42
- :name="iconName"
43
- stroke="none"
44
- fill="#fff"
45
- />
46
- </div>
47
-
48
- <span class="alert-text">{{ setMessage }}</span>
49
-
50
- <div class="alert-actions" @click="clickButton">
51
- <button
52
- :id="`${props.testId}-action-button`"
53
- class="btn alert-action"
54
- >
55
- {{ setActionText }}
56
- </button>
57
- </div>
58
- </div>
59
- </div>
60
-
61
- <button
62
- :id="`${props.testId}-remove-button`"
63
- class="close"
64
- @click="removeCurrentNotificationByKey(currentPage.id)"
65
- >
66
- <atoms-the-icon name="close" fill="#fff" />
67
- </button>
68
- </div>
69
- </div>
70
- </div>
71
- </div>
72
- </template>
73
-
74
- <script setup lang="ts">
75
- import { UI_I_NotificationItem } from '~/components/atoms/notificationBar/models/interfaces'
76
- import {
77
- UI_E_ActionTextByStatus,
78
- UI_E_ColorsPageControl,
79
- UI_E_IconsByStatus,
80
- UI_E_MsgByStatus,
81
- } from '~/components/atoms/notificationBar/models/enums'
82
- import { UI_T_ColorsPageControlKey } from '~/components/atoms/notificationBar/models/types'
83
-
84
- const { $store } = useNuxtApp()
85
- const localization = computed<any>(() => useLocal())
86
-
87
- const props = withDefaults(
88
- defineProps<{
89
- items: UI_I_NotificationItem[]
90
- testId?: string
91
- }>(),
92
- { testId: 'ui-notification-bar' }
93
- )
94
-
95
- const stepPosition = ref<number>(1)
96
-
97
- const removeCurrentNotificationByKey = (key: number | string): void => {
98
- stepPosition.value = Math.min(props.items.length - 1, stepPosition.value)
99
- $store.dispatch('main/A_REMOVE_NOTIFICATION_ITEM', key)
100
- }
101
- const prevPage = (): void => {
102
- if (stepPosition.value === 1) {
103
- stepPosition.value = props.items.length
104
- } else {
105
- stepPosition.value--
106
- }
107
- }
108
- const nextPage = (): void => {
109
- if (stepPosition.value === props.items.length) {
110
- stepPosition.value = 1
111
- } else {
112
- stepPosition.value++
113
- }
114
- }
115
- const clickButton = (): void => {
116
- console.log('action')
117
- }
118
-
119
- const currentPage = computed(() => {
120
- return props.items.find((_, i) => i + 1 === stepPosition.value)
121
- })
122
-
123
- const status = computed<UI_T_ColorsPageControlKey>(
124
- () => currentPage.value?.status || 'alert-success'
125
- )
126
- const setActionText = computed<string>(
127
- () => localization.value[UI_E_ActionTextByStatus[status.value]]
128
- )
129
-
130
- const setMessage = computed<string>(
131
- () => localization.value[UI_E_MsgByStatus[status.value]]
132
- )
133
-
134
- const iconName = computed<string>(
135
- () => UI_E_IconsByStatus[currentPage.value.status]
136
- )
137
-
138
- const bgPageControl = computed<string>(
139
- () => UI_E_ColorsPageControl[status.value]
140
- )
141
- </script>
142
-
143
- <style lang="scss" scoped>
144
- @import '~/assets/scss/common/mixins';
145
- .notification-bar {
146
- .alert {
147
- &-app-level {
148
- .close {
149
- &:focus {
150
- box-shadow: none;
151
- }
152
- }
153
- }
154
- }
155
- }
156
- .page-control {
157
- :is(.alerts-page-down, .alerts-page-up) {
158
- @include flex($align: center, $just: center);
159
- }
160
- .alerts-pager-button {
161
- @include flex($align: center);
162
- }
163
- svg {
164
- width: 15px;
165
- fill: #fff;
166
- }
167
- &__prev {
168
- transform: rotate(-90deg);
169
- }
170
- &__next {
171
- transform: rotate(90deg);
172
- }
173
- }
174
- </style>
1
+ <template>
2
+ <div class="notification-bar">
3
+ <div class="alerts" :style="{ 'background-color': bgPageControl }">
4
+ <div
5
+ v-if="props.items.length > 1"
6
+ :class="['alerts-pager ng-star-inserted']"
7
+ >
8
+ <div class="alerts-pager-control page-control">
9
+ <div class="alerts-page-down">
10
+ <button
11
+ :id="`${props.testId}-prev-button`"
12
+ class="alerts-pager-button"
13
+ @click="prevPage"
14
+ >
15
+ <atoms-the-icon class="page-control__prev" name="angle" />
16
+ </button>
17
+ </div>
18
+
19
+ <div class="alerts-pager-text">
20
+ {{ stepPosition }} / {{ props.items.length }}
21
+ </div>
22
+
23
+ <div class="alerts-page-up">
24
+ <button
25
+ :id="`${props.testId}-next-button`"
26
+ class="alerts-pager-button"
27
+ @click="nextPage"
28
+ >
29
+ <atoms-the-icon class="page-control__next" name="angle" />
30
+ </button>
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ <div class="alert-text-truncate">
36
+ <div class="alert alert-app-level" :class="currentPage.status">
37
+ <div class="alert-items">
38
+ <div class="alert-item">
39
+ <div class="alert-icon-wrapper">
40
+ <atoms-the-icon
41
+ :class="['alert-icon', iconName]"
42
+ :name="iconName"
43
+ stroke="none"
44
+ fill="#fff"
45
+ />
46
+ </div>
47
+
48
+ <span class="alert-text">{{ setMessage }}</span>
49
+
50
+ <div class="alert-actions" @click="clickButton">
51
+ <button
52
+ :id="`${props.testId}-action-button`"
53
+ class="btn alert-action"
54
+ >
55
+ {{ setActionText }}
56
+ </button>
57
+ </div>
58
+ </div>
59
+ </div>
60
+
61
+ <button
62
+ :id="`${props.testId}-remove-button`"
63
+ class="close"
64
+ @click="removeCurrentNotificationByKey(currentPage.id)"
65
+ >
66
+ <atoms-the-icon name="close" fill="#fff" />
67
+ </button>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </template>
73
+
74
+ <script setup lang="ts">
75
+ import { UI_I_NotificationItem } from '~/components/atoms/notificationBar/models/interfaces'
76
+ import {
77
+ UI_E_ActionTextByStatus,
78
+ UI_E_ColorsPageControl,
79
+ UI_E_IconsByStatus,
80
+ UI_E_MsgByStatus,
81
+ } from '~/components/atoms/notificationBar/models/enums'
82
+ import { UI_T_ColorsPageControlKey } from '~/components/atoms/notificationBar/models/types'
83
+
84
+ const { $store } = useNuxtApp()
85
+ const localization = computed<any>(() => useLocal())
86
+
87
+ const props = withDefaults(
88
+ defineProps<{
89
+ items: UI_I_NotificationItem[]
90
+ testId?: string
91
+ }>(),
92
+ { testId: 'ui-notification-bar' }
93
+ )
94
+
95
+ const stepPosition = ref<number>(1)
96
+
97
+ const removeCurrentNotificationByKey = (key: number | string): void => {
98
+ stepPosition.value = Math.min(props.items.length - 1, stepPosition.value)
99
+ $store.dispatch('main/A_REMOVE_NOTIFICATION_ITEM', key)
100
+ }
101
+ const prevPage = (): void => {
102
+ if (stepPosition.value === 1) {
103
+ stepPosition.value = props.items.length
104
+ } else {
105
+ stepPosition.value--
106
+ }
107
+ }
108
+ const nextPage = (): void => {
109
+ if (stepPosition.value === props.items.length) {
110
+ stepPosition.value = 1
111
+ } else {
112
+ stepPosition.value++
113
+ }
114
+ }
115
+ const clickButton = (): void => {
116
+ console.log('action')
117
+ }
118
+
119
+ const currentPage = computed(() => {
120
+ return props.items.find((_, i) => i + 1 === stepPosition.value)
121
+ })
122
+
123
+ const status = computed<UI_T_ColorsPageControlKey>(
124
+ () => currentPage.value?.status || 'alert-success'
125
+ )
126
+ const setActionText = computed<string>(
127
+ () => localization.value[UI_E_ActionTextByStatus[status.value]]
128
+ )
129
+
130
+ const setMessage = computed<string>(
131
+ () => localization.value[UI_E_MsgByStatus[status.value]]
132
+ )
133
+
134
+ const iconName = computed<string>(
135
+ () => UI_E_IconsByStatus[currentPage.value.status]
136
+ )
137
+
138
+ const bgPageControl = computed<string>(
139
+ () => UI_E_ColorsPageControl[status.value]
140
+ )
141
+ </script>
142
+
143
+ <style lang="scss" scoped>
144
+ @import '~/assets/scss/common/mixins';
145
+ .notification-bar {
146
+ .alert {
147
+ &-app-level {
148
+ .close {
149
+ &:focus {
150
+ box-shadow: none;
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ .page-control {
157
+ :is(.alerts-page-down, .alerts-page-up) {
158
+ @include flex($align: center, $just: center);
159
+ }
160
+ .alerts-pager-button {
161
+ @include flex($align: center);
162
+ }
163
+ svg {
164
+ width: 15px;
165
+ fill: #fff;
166
+ }
167
+ &__prev {
168
+ transform: rotate(-90deg);
169
+ }
170
+ &__next {
171
+ transform: rotate(90deg);
172
+ }
173
+ }
174
+ </style>
@@ -1,52 +1,52 @@
1
- <template>
2
- <div class="page-size">
3
- {{ selectLabel }}
4
-
5
- <div class="clr-select-wrapper">
6
- <select
7
- :id="`${props.testId}-select`"
8
- :value="props.pageSize"
9
- class="clr-page-size-select"
10
- @change="change"
11
- >
12
- <option
13
- v-for="(item, key) in props.options"
14
- :key="key"
15
- :value="item.value"
16
- >
17
- {{ item.text }}
18
- </option>
19
- </select>
20
- </div>
21
- </div>
22
- </template>
23
-
24
- <script setup lang="ts">
25
- import { UI_I_Localization } from '~/models/interfaces'
26
- import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
27
-
28
- const props = withDefaults(
29
- defineProps<{
30
- pageSize: number
31
- options: UI_I_OptionItem[]
32
- label?: string
33
- testId?: string
34
- }>(),
35
- {
36
- testId: 'ui-per-page',
37
- label: 'itemsPerPage',
38
- }
39
- )
40
- const emits = defineEmits<{
41
- (event: 'change', num: number): void
42
- }>()
43
-
44
- const localization = computed<UI_I_Localization>(() => useLocal())
45
- const selectLabel = computed<string>(() => localization.value[props.label])
46
-
47
- const change = (e: InputEvent): void => {
48
- emits('change', +(e.target as HTMLInputElement).value)
49
- }
50
- </script>
51
-
52
- <style scoped></style>
1
+ <template>
2
+ <div class="page-size">
3
+ {{ selectLabel }}
4
+
5
+ <div class="clr-select-wrapper">
6
+ <select
7
+ :id="`${props.testId}-select`"
8
+ :value="props.pageSize"
9
+ class="clr-page-size-select"
10
+ @change="change"
11
+ >
12
+ <option
13
+ v-for="(item, key) in props.options"
14
+ :key="key"
15
+ :value="item.value"
16
+ >
17
+ {{ item.text }}
18
+ </option>
19
+ </select>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import { UI_I_Localization } from '~/models/interfaces'
26
+ import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
27
+
28
+ const props = withDefaults(
29
+ defineProps<{
30
+ pageSize: number
31
+ options: UI_I_OptionItem[]
32
+ label?: string
33
+ testId?: string
34
+ }>(),
35
+ {
36
+ testId: 'ui-per-page',
37
+ label: 'itemsPerPage',
38
+ }
39
+ )
40
+ const emits = defineEmits<{
41
+ (event: 'change', num: number): void
42
+ }>()
43
+
44
+ const localization = computed<UI_I_Localization>(() => useLocal())
45
+ const selectLabel = computed<string>(() => localization.value[props.label])
46
+
47
+ const change = (e: InputEvent): void => {
48
+ emits('change', +(e.target as HTMLInputElement).value)
49
+ }
50
+ </script>
51
+
52
+ <style scoped></style>
@@ -1,90 +1,90 @@
1
- <template>
2
- <div
3
- v-show="modelValue"
4
- :style="{ top, bottom, left, right }"
5
- class="simple-popup clr-popover-content"
6
- @click.stop
7
- >
8
- <div class="close-wrapper">
9
- <button
10
- :id="`${props.testId}-close-icon`"
11
- class="close clr-smart-close-button"
12
- @click="hide"
13
- >
14
- <atoms-the-icon name="close" class="close-icon" />
15
- </button>
16
- </div>
17
- <slot />
18
- </div>
19
- </template>
20
-
21
- <script setup lang="ts">
22
- const props = withDefaults(
23
- defineProps<{
24
- modelValue: boolean
25
- top?: string
26
- bottom?: string
27
- left?: string
28
- right?: string
29
- testId?: string
30
- }>(),
31
- { testId: 'ui-simple-popup' }
32
- )
33
- const emits = defineEmits<{
34
- (event: 'update:model-value', status: boolean): void
35
- }>()
36
- const hide = (): void => {
37
- emits('update:model-value', false)
38
- }
39
-
40
- watch(
41
- () => props.modelValue,
42
- (val) => {
43
- if (val) {
44
- setTimeout(() => {
45
- window.addEventListener('click', hide)
46
- }, 0)
47
- return
48
- }
49
- window.removeEventListener('click', hide)
50
- }
51
- )
52
- </script>
53
-
54
- <style scoped lang="scss">
55
- .simple-popup {
56
- background: var(--popup-bgcolor);
57
- margin-top: 5px;
58
- border: 1px solid var(--table-border-color);
59
- padding: 18px;
60
- box-shadow: 0 1px 3px hsl(0deg 0% 55% / 25%);
61
- border-radius: 3px;
62
- font-weight: 400;
63
- position: absolute;
64
- z-index: 5000;
65
- cursor: default;
66
- opacity: 1;
67
-
68
- .close-wrapper {
69
- text-align: right;
70
-
71
- .clr-smart-close-button {
72
- .close-icon {
73
- width: 16px;
74
- height: 16px;
75
- }
76
- }
77
- }
78
- }
79
- </style>
80
-
81
- <style>
82
- :root {
83
- --popup-bgcolor: #fafafa;
84
- --table-border-color: #ccc;
85
- }
86
- :root.dark-theme {
87
- --popup-bgcolor: #29414e;
88
- --table-border-color: #495865;
89
- }
90
- </style>
1
+ <template>
2
+ <div
3
+ v-show="modelValue"
4
+ :style="{ top, bottom, left, right }"
5
+ class="simple-popup clr-popover-content"
6
+ @click.stop
7
+ >
8
+ <div class="close-wrapper">
9
+ <button
10
+ :id="`${props.testId}-close-icon`"
11
+ class="close clr-smart-close-button"
12
+ @click="hide"
13
+ >
14
+ <atoms-the-icon name="close" class="close-icon" />
15
+ </button>
16
+ </div>
17
+ <slot />
18
+ </div>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ const props = withDefaults(
23
+ defineProps<{
24
+ modelValue: boolean
25
+ top?: string
26
+ bottom?: string
27
+ left?: string
28
+ right?: string
29
+ testId?: string
30
+ }>(),
31
+ { testId: 'ui-simple-popup' }
32
+ )
33
+ const emits = defineEmits<{
34
+ (event: 'update:model-value', status: boolean): void
35
+ }>()
36
+ const hide = (): void => {
37
+ emits('update:model-value', false)
38
+ }
39
+
40
+ watch(
41
+ () => props.modelValue,
42
+ (val) => {
43
+ if (val) {
44
+ setTimeout(() => {
45
+ window.addEventListener('click', hide)
46
+ }, 0)
47
+ return
48
+ }
49
+ window.removeEventListener('click', hide)
50
+ }
51
+ )
52
+ </script>
53
+
54
+ <style scoped lang="scss">
55
+ .simple-popup {
56
+ background: var(--popup-bgcolor);
57
+ margin-top: 5px;
58
+ border: 1px solid var(--table-border-color);
59
+ padding: 18px;
60
+ box-shadow: 0 1px 3px hsl(0deg 0% 55% / 25%);
61
+ border-radius: 3px;
62
+ font-weight: 400;
63
+ position: absolute;
64
+ z-index: 5000;
65
+ cursor: default;
66
+ opacity: 1;
67
+
68
+ .close-wrapper {
69
+ text-align: right;
70
+
71
+ .clr-smart-close-button {
72
+ .close-icon {
73
+ width: 16px;
74
+ height: 16px;
75
+ }
76
+ }
77
+ }
78
+ }
79
+ </style>
80
+
81
+ <style>
82
+ :root {
83
+ --popup-bgcolor: #fafafa;
84
+ --table-border-color: #ccc;
85
+ }
86
+ :root.dark-theme {
87
+ --popup-bgcolor: #29414e;
88
+ --table-border-color: #495865;
89
+ }
90
+ </style>