shared-ritm 1.2.57 → 1.2.59

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 (103) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +1639 -1629
  4. package/dist/shared-ritm.umd.js +7 -7
  5. package/dist/types/api/services/VideoService.d.ts +6 -0
  6. package/dist/types/index.d.ts +2 -1
  7. package/package.json +63 -63
  8. package/src/App.vue +2461 -2461
  9. package/src/api/services/AuthService.ts +58 -58
  10. package/src/api/services/FileService.ts +15 -15
  11. package/src/api/services/GanttService.ts +17 -17
  12. package/src/api/services/MetricsService.ts +109 -109
  13. package/src/api/services/ProjectsService.ts +67 -67
  14. package/src/api/services/RepairsService.ts +100 -100
  15. package/src/api/services/TasksService.ts +137 -137
  16. package/src/api/services/VideoService.ts +14 -0
  17. package/src/api/settings/ApiService.ts +128 -128
  18. package/src/api/types/Api_Controls.ts +72 -72
  19. package/src/api/types/Api_Files.ts +1 -1
  20. package/src/api/types/Api_Projects.ts +55 -55
  21. package/src/api/types/Api_Repairs.ts +93 -93
  22. package/src/api/types/Api_Tasks.ts +155 -155
  23. package/src/common/app-button/AppButton.vue +173 -173
  24. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  25. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  26. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  27. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  28. package/src/common/app-icon/AppIcon.vue +108 -108
  29. package/src/common/app-input/AppInput.vue +148 -147
  30. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  31. package/src/common/app-layout/AppLayout.vue +84 -84
  32. package/src/common/app-layout/components/AppLayoutHeader.vue +246 -246
  33. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  34. package/src/common/app-loader/index.vue +43 -43
  35. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  36. package/src/common/app-select/AppSelect.vue +157 -157
  37. package/src/common/app-sheet/AppSheet.vue +120 -120
  38. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  39. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  40. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  41. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  42. package/src/common/app-toggle/AppToggle.vue +23 -23
  43. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  44. package/src/global.d.ts +1 -1
  45. package/src/icons/components/arrow-down-icon.vue +25 -25
  46. package/src/icons/components/arrow-frame-icon.vue +19 -19
  47. package/src/icons/components/arrow-square.vue +22 -22
  48. package/src/icons/components/table-filter-icon.vue +30 -30
  49. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  50. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  51. package/src/icons/header/NotificationIcon.vue +18 -18
  52. package/src/icons/header/PersonIcon.vue +11 -11
  53. package/src/icons/header/SettingIcon.vue +14 -14
  54. package/src/icons/header/flashIcon.vue +24 -24
  55. package/src/icons/header/searchStatusIcon.vue +24 -24
  56. package/src/icons/header/smallCapsIcon.vue +34 -34
  57. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  58. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  59. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  60. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  61. package/src/icons/sidebar/instruments-icon.vue +45 -45
  62. package/src/icons/sidebar/logo-icon.vue +15 -15
  63. package/src/icons/sidebar/logout-icon.vue +13 -13
  64. package/src/icons/sidebar/modules-icon.vue +16 -16
  65. package/src/icons/sidebar/notifications-icon.vue +24 -24
  66. package/src/icons/sidebar/order-icon.vue +44 -44
  67. package/src/icons/sidebar/pass-icon.vue +38 -38
  68. package/src/icons/sidebar/positions-icon.vue +42 -42
  69. package/src/icons/sidebar/preorder-icon.vue +19 -19
  70. package/src/icons/sidebar/projects-icon.vue +31 -31
  71. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  72. package/src/icons/sidebar/repairs-icon.vue +20 -20
  73. package/src/icons/sidebar/roles-icon.vue +26 -26
  74. package/src/icons/sidebar/status-history-icon.vue +24 -24
  75. package/src/icons/sidebar/tasks-icon.vue +28 -28
  76. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  77. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  78. package/src/icons/sidebar/teams-icon.vue +32 -32
  79. package/src/icons/sidebar/user-icon.vue +18 -18
  80. package/src/icons/sidebar/users-icon.vue +46 -46
  81. package/src/icons/sidebar/videosources-icon.vue +19 -19
  82. package/src/icons/sidebar/videowall-icon.vue +13 -13
  83. package/src/icons/sidebar/videozones-icon.vue +21 -21
  84. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  85. package/src/icons/sidebar/workshop-icon.vue +100 -100
  86. package/src/icons/sidebar/workzones-icon.vue +22 -22
  87. package/src/icons/task/attention-icon.vue +13 -13
  88. package/src/icons/task/clock-icon.vue +10 -10
  89. package/src/icons/task/delete-icon.vue +10 -10
  90. package/src/icons/task/fire-icon.vue +16 -16
  91. package/src/index.ts +2 -0
  92. package/src/main.ts +28 -28
  93. package/src/quasar-user-options.ts +17 -17
  94. package/src/router/index.ts +10 -10
  95. package/src/shared/fonts/Inter_18pt-Black.ttf +0 -0
  96. package/src/shared/fonts/Inter_18pt-Bold.ttf +0 -0
  97. package/src/shared/fonts/Inter_18pt-Regular.ttf +0 -0
  98. package/src/shared/fonts/Inter_18pt-SemiBold.ttf +0 -0
  99. package/src/shared/styles/general.css +125 -96
  100. package/src/shims-vue.d.ts +5 -5
  101. package/src/styles/variables.sass +12 -12
  102. package/src/utils/confirm.ts +12 -12
  103. package/src/utils/notification.ts +9 -9
@@ -1,148 +1,148 @@
1
- <template>
2
- <q-expansion-item
3
- v-if="item.items"
4
- :model-value="isRouteActive(item) && expand"
5
- header-class="text-purple"
6
- :class="[$style['menu-item'], { 'expansion-item-active': isRouteActive(item) && minify }]"
7
- :data-test="`sidebar-expansion-item-${(item.name || 'unnamed').toLowerCase().replace(/\s+/g, '-')}`"
8
- @update:model-value="expand = $event"
9
- >
10
- <template #header>
11
- <q-tooltip
12
- v-if="minify"
13
- :delay="100"
14
- transition-show="jump-right"
15
- transition-hide="jump-left"
16
- anchor="center right"
17
- self="center left"
18
- >
19
- {{ item.label }}
20
- </q-tooltip>
21
-
22
- <q-item-section v-if="item.icon" avatar>
23
- <app-icon :name="item.icon" color="white" size="24px" />
24
- </q-item-section>
25
-
26
- <q-item-section :class="$style['menu-item__label']">{{ item.label }}</q-item-section>
27
- </template>
28
-
29
- <sidebar-menu-item
30
- v-for="(subItem, index) in item.items"
31
- :key="index"
32
- :item="subItem"
33
- :main="main"
34
- :is-route-active="isRouteActive"
35
- />
36
- </q-expansion-item>
37
- <q-item
38
- v-else-if="item.name !== 'sign-out'"
39
- v-ripple
40
- :class="$style['menu-item']"
41
- :active="isRouteActive(item)"
42
- active-class="menu-active"
43
- clickable
44
- :to="main ? item.to : ''"
45
- :data-test="`sidebar-item-${item.name.toLowerCase().replace(/\s+/g, '-')}`"
46
- @click="goToRoute(item.to)"
47
- >
48
- <q-item-section v-if="item.icon" avatar>
49
- <app-icon :name="item.icon" color="white" size="24px" />
50
- </q-item-section>
51
-
52
- <q-item-section :class="$style['menu-item__label']">
53
- <p>{{ item.label }}</p>
54
- </q-item-section>
55
- <q-tooltip
56
- :delay="100"
57
- transition-show="jump-right"
58
- transition-hide="jump-left"
59
- anchor="center right"
60
- self="center left"
61
- >
62
- {{ item.label }}
63
- </q-tooltip>
64
- </q-item>
65
- </template>
66
-
67
- <script lang="ts" setup>
68
- import { defineProps, ref } from 'vue'
69
- import AppIcon from '@/common/app-icon/AppIcon.vue'
70
-
71
- interface Props {
72
- minify?: boolean
73
- main: boolean
74
- isRouteActive: (item: any) => boolean
75
- item: {
76
- name: string
77
- label: string
78
- icon: string
79
- href: string
80
- to: string
81
- items: any[]
82
- }
83
- }
84
-
85
- const emits = defineEmits(['goToRoute'])
86
- const props = defineProps<Props>()
87
-
88
- const expand = ref(true)
89
-
90
- const goToRoute = (to: string) => {
91
- if (!props.main) window.location.href = to
92
- }
93
- </script>
94
-
95
- <style lang="scss" scoped>
96
- .expansion-item-active {
97
- background: rgba(243, 249, 253, 0.1);
98
- border-radius: 10px;
99
- }
100
- </style>
101
-
102
- <style lang="scss" module>
103
- .menu-item {
104
- margin: 0 8px;
105
- &:global(.menu-active) {
106
- border-radius: 10px;
107
- background: rgba(243, 249, 253, 0.1);
108
- }
109
- :global(.q-item__section--avatar) {
110
- min-width: 24px;
111
- padding-right: 14px;
112
- }
113
-
114
- :global(.q-expansion-item__content .q-item) {
115
- padding-left: 20px;
116
- }
117
- :global(.q-item__section--main ~ .q-item__section--side) {
118
- color: white;
119
- }
120
- &__label {
121
- color: #fff;
122
- font-family: 'Nunito Sans', sans-serif;
123
- font-size: 16px;
124
- font-weight: 300;
125
- p {
126
- display: inline-block;
127
- max-width: 160px;
128
- white-space: nowrap;
129
- overflow: hidden;
130
- text-overflow: ellipsis;
131
- margin: 0;
132
- }
133
- }
134
- }
135
-
136
- @media (max-width: 1440px) {
137
- .menu-item {
138
- margin: 0 4px;
139
- :global(.q-item__section--avatar) {
140
- min-width: 24px;
141
- padding-right: 10px;
142
- }
143
- &__label {
144
- font-size: 14px;
145
- }
146
- }
147
- }
148
- </style>
1
+ <template>
2
+ <q-expansion-item
3
+ v-if="item.items"
4
+ :model-value="isRouteActive(item) && expand"
5
+ header-class="text-purple"
6
+ :class="[$style['menu-item'], { 'expansion-item-active': isRouteActive(item) && minify }]"
7
+ :data-test="`sidebar-expansion-item-${(item.name || 'unnamed').toLowerCase().replace(/\s+/g, '-')}`"
8
+ @update:model-value="expand = $event"
9
+ >
10
+ <template #header>
11
+ <q-tooltip
12
+ v-if="minify"
13
+ :delay="100"
14
+ transition-show="jump-right"
15
+ transition-hide="jump-left"
16
+ anchor="center right"
17
+ self="center left"
18
+ >
19
+ {{ item.label }}
20
+ </q-tooltip>
21
+
22
+ <q-item-section v-if="item.icon" avatar>
23
+ <app-icon :name="item.icon" color="white" size="24px" />
24
+ </q-item-section>
25
+
26
+ <q-item-section :class="$style['menu-item__label']">{{ item.label }}</q-item-section>
27
+ </template>
28
+
29
+ <sidebar-menu-item
30
+ v-for="(subItem, index) in item.items"
31
+ :key="index"
32
+ :item="subItem"
33
+ :main="main"
34
+ :is-route-active="isRouteActive"
35
+ />
36
+ </q-expansion-item>
37
+ <q-item
38
+ v-else-if="item.name !== 'sign-out'"
39
+ v-ripple
40
+ :class="$style['menu-item']"
41
+ :active="isRouteActive(item)"
42
+ active-class="menu-active"
43
+ clickable
44
+ :to="main ? item.to : ''"
45
+ :data-test="`sidebar-item-${item.name.toLowerCase().replace(/\s+/g, '-')}`"
46
+ @click="goToRoute(item.to)"
47
+ >
48
+ <q-item-section v-if="item.icon" avatar>
49
+ <app-icon :name="item.icon" color="white" size="24px" />
50
+ </q-item-section>
51
+
52
+ <q-item-section :class="$style['menu-item__label']">
53
+ <p>{{ item.label }}</p>
54
+ </q-item-section>
55
+ <q-tooltip
56
+ :delay="100"
57
+ transition-show="jump-right"
58
+ transition-hide="jump-left"
59
+ anchor="center right"
60
+ self="center left"
61
+ >
62
+ {{ item.label }}
63
+ </q-tooltip>
64
+ </q-item>
65
+ </template>
66
+
67
+ <script lang="ts" setup>
68
+ import { defineProps, ref } from 'vue'
69
+ import AppIcon from '@/common/app-icon/AppIcon.vue'
70
+
71
+ interface Props {
72
+ minify?: boolean
73
+ main: boolean
74
+ isRouteActive: (item: any) => boolean
75
+ item: {
76
+ name: string
77
+ label: string
78
+ icon: string
79
+ href: string
80
+ to: string
81
+ items: any[]
82
+ }
83
+ }
84
+
85
+ const emits = defineEmits(['goToRoute'])
86
+ const props = defineProps<Props>()
87
+
88
+ const expand = ref(true)
89
+
90
+ const goToRoute = (to: string) => {
91
+ if (!props.main) window.location.href = to
92
+ }
93
+ </script>
94
+
95
+ <style lang="scss" scoped>
96
+ .expansion-item-active {
97
+ background: rgba(243, 249, 253, 0.1);
98
+ border-radius: 10px;
99
+ }
100
+ </style>
101
+
102
+ <style lang="scss" module>
103
+ .menu-item {
104
+ margin: 0 8px;
105
+ &:global(.menu-active) {
106
+ border-radius: 10px;
107
+ background: rgba(243, 249, 253, 0.1);
108
+ }
109
+ :global(.q-item__section--avatar) {
110
+ min-width: 24px;
111
+ padding-right: 14px;
112
+ }
113
+
114
+ :global(.q-expansion-item__content .q-item) {
115
+ padding-left: 20px;
116
+ }
117
+ :global(.q-item__section--main ~ .q-item__section--side) {
118
+ color: white;
119
+ }
120
+ &__label {
121
+ color: #fff;
122
+ font-family: 'Nunito Sans', sans-serif;
123
+ font-size: 16px;
124
+ font-weight: 300;
125
+ p {
126
+ display: inline-block;
127
+ max-width: 160px;
128
+ white-space: nowrap;
129
+ overflow: hidden;
130
+ text-overflow: ellipsis;
131
+ margin: 0;
132
+ }
133
+ }
134
+ }
135
+
136
+ @media (max-width: 1440px) {
137
+ .menu-item {
138
+ margin: 0 4px;
139
+ :global(.q-item__section--avatar) {
140
+ min-width: 24px;
141
+ padding-right: 10px;
142
+ }
143
+ &__label {
144
+ font-size: 14px;
145
+ }
146
+ }
147
+ }
148
+ </style>
@@ -1,38 +1,38 @@
1
- import { computed, ref } from 'vue'
2
-
3
- export interface ColumnConfig {
4
- name: string
5
- label: string
6
- [key: string]: any
7
- }
8
-
9
- export function useColumnSelector(allColumns: ColumnConfig[], fixedColumnNames: string[] = []) {
10
- const selectedColumnNames = ref<string[]>([...new Set([...fixedColumnNames, ...allColumns.map(col => col.name)])])
11
-
12
- const visibleColumns = computed(() => allColumns.filter(col => selectedColumnNames.value.includes(col.name)))
13
-
14
- function openColumnSelectorDialog($q: any) {
15
- $q.dialog({
16
- title: 'Выберите колонки',
17
- options: {
18
- type: 'checkbox',
19
- model: [...selectedColumnNames.value],
20
- items: allColumns.map(col => ({
21
- label: col.label,
22
- value: col.name,
23
- disable: fixedColumnNames.includes(col.name),
24
- })),
25
- },
26
- cancel: true,
27
- persistent: true,
28
- }).onOk((val: string[]) => {
29
- selectedColumnNames.value = Array.from(new Set([...val, ...fixedColumnNames]))
30
- })
31
- }
32
-
33
- return {
34
- selectedColumnNames,
35
- visibleColumns,
36
- openColumnSelectorDialog,
37
- }
38
- }
1
+ import { computed, ref } from 'vue'
2
+
3
+ export interface ColumnConfig {
4
+ name: string
5
+ label: string
6
+ [key: string]: any
7
+ }
8
+
9
+ export function useColumnSelector(allColumns: ColumnConfig[], fixedColumnNames: string[] = []) {
10
+ const selectedColumnNames = ref<string[]>([...new Set([...fixedColumnNames, ...allColumns.map(col => col.name)])])
11
+
12
+ const visibleColumns = computed(() => allColumns.filter(col => selectedColumnNames.value.includes(col.name)))
13
+
14
+ function openColumnSelectorDialog($q: any) {
15
+ $q.dialog({
16
+ title: 'Выберите колонки',
17
+ options: {
18
+ type: 'checkbox',
19
+ model: [...selectedColumnNames.value],
20
+ items: allColumns.map(col => ({
21
+ label: col.label,
22
+ value: col.name,
23
+ disable: fixedColumnNames.includes(col.name),
24
+ })),
25
+ },
26
+ cancel: true,
27
+ persistent: true,
28
+ }).onOk((val: string[]) => {
29
+ selectedColumnNames.value = Array.from(new Set([...val, ...fixedColumnNames]))
30
+ })
31
+ }
32
+
33
+ return {
34
+ selectedColumnNames,
35
+ visibleColumns,
36
+ openColumnSelectorDialog,
37
+ }
38
+ }
@@ -1,23 +1,23 @@
1
- <template>
2
- <div>
3
- <q-toggle v-model="value" />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { computed } from 'vue'
9
-
10
- interface Props {
11
- modelValue: any
12
- }
13
-
14
- const props = defineProps<Props>()
15
- const emit = defineEmits(['update:modelValue', 'number'])
16
-
17
- const value = computed({
18
- get: () => props.modelValue,
19
- set: (newValue: any) => emit('update:modelValue', newValue),
20
- })
21
- </script>
22
-
23
- <style module lang="scss"></style>
1
+ <template>
2
+ <div>
3
+ <q-toggle v-model="value" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { computed } from 'vue'
9
+
10
+ interface Props {
11
+ modelValue: any
12
+ }
13
+
14
+ const props = defineProps<Props>()
15
+ const emit = defineEmits(['update:modelValue', 'number'])
16
+
17
+ const value = computed({
18
+ get: () => props.modelValue,
19
+ set: (newValue: any) => emit('update:modelValue', newValue),
20
+ })
21
+ </script>
22
+
23
+ <style module lang="scss"></style>
@@ -1,28 +1,28 @@
1
- <template>
2
- <div class="app-wrapper">
3
- <slot />
4
- </div>
5
- </template>
6
- <script setup lang="ts"></script>
7
- <style scoped lang="scss">
8
- .app-wrapper {
9
- width: 100%;
10
- height: 100%;
11
- margin: 20px 0 12px 0;
12
- padding: 30px;
13
- border-radius: 8px;
14
- background: #fff;
15
- outline: 4px solid #598dd5;
16
- outline-offset: -3px;
17
- box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25), 0px 4px 4px 0px #c4d7f1 inset,
18
- 0px 0px 6.4px 3px rgba(31, 82, 159, 0.5), 0px 6px 58px 0px rgba(0, 49, 122, 0.1);
19
- }
20
-
21
- @media (max-width: 1440px) {
22
- .app-wrapper {
23
- margin: 10px 0;
24
- padding: 14px;
25
- border-radius: 8px;
26
- }
27
- }
28
- </style>
1
+ <template>
2
+ <div class="app-wrapper">
3
+ <slot />
4
+ </div>
5
+ </template>
6
+ <script setup lang="ts"></script>
7
+ <style scoped lang="scss">
8
+ .app-wrapper {
9
+ width: 100%;
10
+ height: 100%;
11
+ margin: 20px 0 12px 0;
12
+ padding: 30px;
13
+ border-radius: 8px;
14
+ background: #fff;
15
+ outline: 4px solid #598dd5;
16
+ outline-offset: -3px;
17
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25), 0px 4px 4px 0px #c4d7f1 inset,
18
+ 0px 0px 6.4px 3px rgba(31, 82, 159, 0.5), 0px 6px 58px 0px rgba(0, 49, 122, 0.1);
19
+ }
20
+
21
+ @media (max-width: 1440px) {
22
+ .app-wrapper {
23
+ margin: 10px 0;
24
+ padding: 14px;
25
+ border-radius: 8px;
26
+ }
27
+ }
28
+ </style>
package/src/global.d.ts CHANGED
@@ -1 +1 @@
1
- declare module 'shared-ritm'
1
+ declare module 'shared-ritm'
@@ -1,25 +1,25 @@
1
- <script>
2
- export default {
3
- name: 'ArrowDownIcon',
4
- }
5
- </script>
6
-
7
- <template>
8
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
9
- <path
10
- d="M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2Z"
11
- stroke="#3F8CFF"
12
- stroke-width="1.5"
13
- stroke-miterlimit="10"
14
- stroke-linecap="round"
15
- stroke-linejoin="round"
16
- />
17
- <path
18
- d="M15.53 10.74L12 14.26L8.47003 10.74"
19
- stroke="#3F8CFF"
20
- stroke-width="1.5"
21
- stroke-linecap="round"
22
- stroke-linejoin="round"
23
- />
24
- </svg>
25
- </template>
1
+ <script>
2
+ export default {
3
+ name: 'ArrowDownIcon',
4
+ }
5
+ </script>
6
+
7
+ <template>
8
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
9
+ <path
10
+ d="M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2Z"
11
+ stroke="#3F8CFF"
12
+ stroke-width="1.5"
13
+ stroke-miterlimit="10"
14
+ stroke-linecap="round"
15
+ stroke-linejoin="round"
16
+ />
17
+ <path
18
+ d="M15.53 10.74L12 14.26L8.47003 10.74"
19
+ stroke="#3F8CFF"
20
+ stroke-width="1.5"
21
+ stroke-linecap="round"
22
+ stroke-linejoin="round"
23
+ />
24
+ </svg>
25
+ </template>
@@ -1,19 +1,19 @@
1
- <template>
2
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
3
- <path
4
- d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
5
- stroke="currentStroke"
6
- stroke-width="1.5"
7
- stroke-miterlimit="10"
8
- stroke-linecap="round"
9
- stroke-linejoin="round"
10
- />
11
- <path
12
- d="M8.46997 13.26L12 9.73999L15.53 13.26"
13
- stroke="currentStroke"
14
- stroke-width="1.5"
15
- stroke-linecap="round"
16
- stroke-linejoin="round"
17
- />
18
- </svg>
19
- </template>
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
3
+ <path
4
+ d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
5
+ stroke="currentStroke"
6
+ stroke-width="1.5"
7
+ stroke-miterlimit="10"
8
+ stroke-linecap="round"
9
+ stroke-linejoin="round"
10
+ />
11
+ <path
12
+ d="M8.46997 13.26L12 9.73999L15.53 13.26"
13
+ stroke="currentStroke"
14
+ stroke-width="1.5"
15
+ stroke-linecap="round"
16
+ stroke-linejoin="round"
17
+ />
18
+ </svg>
19
+ </template>
@@ -1,22 +1,22 @@
1
- <script setup lang="ts"></script>
2
-
3
- <template>
4
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path
6
- d="M9 22H15C20 22 22 20 22 15V9C22 4 20 2 15 2H9C4 2 2 4 2 9V15C2 20 4 22 9 22Z"
7
- stroke="#3F8CFF"
8
- stroke-width="1.5"
9
- stroke-linecap="round"
10
- stroke-linejoin="round"
11
- />
12
- <path
13
- d="M10.7402 15.53L14.2602 12L10.7402 8.46997"
14
- stroke="#3F8CFF"
15
- stroke-width="1.5"
16
- stroke-linecap="round"
17
- stroke-linejoin="round"
18
- />
19
- </svg>
20
- </template>
21
-
22
- <style scoped lang="scss"></style>
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path
6
+ d="M9 22H15C20 22 22 20 22 15V9C22 4 20 2 15 2H9C4 2 2 4 2 9V15C2 20 4 22 9 22Z"
7
+ stroke="#3F8CFF"
8
+ stroke-width="1.5"
9
+ stroke-linecap="round"
10
+ stroke-linejoin="round"
11
+ />
12
+ <path
13
+ d="M10.7402 15.53L14.2602 12L10.7402 8.46997"
14
+ stroke="#3F8CFF"
15
+ stroke-width="1.5"
16
+ stroke-linecap="round"
17
+ stroke-linejoin="round"
18
+ />
19
+ </svg>
20
+ </template>
21
+
22
+ <style scoped lang="scss"></style>