bfg-common 1.5.20 → 1.5.21

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 (200) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/scss/common/normalize.scss +339 -361
  3. package/assets/scss/common/utilities.scss +1 -1
  4. package/components/atoms/TheIcon3.vue +50 -50
  5. package/components/atoms/autocomplete/Autocomplete.vue +3 -3
  6. package/components/atoms/collapse/CollapseNav.vue +165 -165
  7. package/components/atoms/combobox/Combobox.vue +1 -1
  8. package/components/atoms/datepicker/Datepicker.vue +1 -1
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/list/dragDropList/DragDropList.vue +1 -1
  11. package/components/atoms/loader/Loader.vue +1 -1
  12. package/components/atoms/loader/PreLoader.vue +1 -1
  13. package/components/atoms/modal/Modal.vue +2 -2
  14. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  15. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +1 -1
  16. package/components/atoms/perPage/PerPage.vue +58 -58
  17. package/components/atoms/popover/Popover.vue +1 -1
  18. package/components/atoms/popup/SimplePopup.vue +1 -1
  19. package/components/atoms/select/TheSelect.vue +1 -1
  20. package/components/atoms/stack/StackBlock.vue +185 -185
  21. package/components/atoms/table/compact/Compact.vue +5 -5
  22. package/components/atoms/table/dataGrid/DataGrid.vue +4 -4
  23. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  24. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  25. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  26. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  27. package/components/atoms/tooltip/Signpost.vue +1 -1
  28. package/components/atoms/tooltip/Text.vue +1 -1
  29. package/components/atoms/tooltip/Tooltip.vue +1 -1
  30. package/components/atoms/tooltip/TooltipError.vue +1 -1
  31. package/components/atoms/wizard/Wizard.vue +2 -2
  32. package/components/common/accordion/Accordion.vue +1 -1
  33. package/components/common/accordion/Recursion.vue +222 -222
  34. package/components/common/adapterManager/AddAdapterModal.vue +1 -1
  35. package/components/common/browse/BrowseNew.vue +237 -237
  36. package/components/common/browse/BrowseOld.vue +217 -217
  37. package/components/common/browse/blocks/Container.vue +1 -1
  38. package/components/common/browse/blocks/contents/Files.vue +37 -37
  39. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  40. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  41. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  42. package/components/common/context/Context.vue +111 -111
  43. package/components/common/context/lib/models/interfaces.ts +31 -31
  44. package/components/common/context/recursion/Recursion.vue +87 -87
  45. package/components/common/context/recursion/RecursionNew.vue +238 -238
  46. package/components/common/context/recursion/RecursionOld.vue +228 -228
  47. package/components/common/details/DetailsItem.vue +109 -109
  48. package/components/common/diagramMain/DiagramMain.vue +897 -897
  49. package/components/common/diagramMain/Header.vue +214 -214
  50. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +1 -1
  51. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +1 -1
  52. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +1 -1
  53. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +1 -1
  54. package/components/common/feedback/Buttons.vue +1 -1
  55. package/components/common/feedback/Feedback.vue +1 -1
  56. package/components/common/feedback/Message.vue +3 -3
  57. package/components/common/graph/Graph.vue +104 -104
  58. package/components/common/help/navbar/left/Left.vue +1 -1
  59. package/components/common/layout/theHeader/TheHeaderNew.vue +1 -1
  60. package/components/common/layout/theHeader/TheHeaderOld.vue +1 -1
  61. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  62. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  64. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  65. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  66. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  67. package/components/common/monitor/advanced/graphView/GraphViewOld.vue +1 -1
  68. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +1 -1
  69. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  70. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  71. package/components/common/monitor/resourceAllocation/resourceAllocation.vue +1 -1
  72. package/components/common/pages/home/StatusContent.vue +49 -49
  73. package/components/common/pages/home/headline/Headline.vue +45 -45
  74. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  75. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  76. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  77. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  78. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  79. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  80. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  81. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  82. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  83. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  84. package/components/common/pages/packages/Packages.vue +208 -208
  85. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  86. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  87. package/components/common/pages/tasks/Tasks.vue +1 -1
  88. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  89. package/components/common/portlets/tag/Portlet.vue +433 -433
  90. package/components/common/recursionTree/RecursionTree.vue +223 -223
  91. package/components/common/select/button/ButtonDropdown.vue +108 -108
  92. package/components/common/spiceConsole/Drawer.vue +370 -370
  93. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  94. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  95. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  96. package/components/common/split/vertical/Vertical.vue +160 -160
  97. package/components/common/split/vertical/VerticalNew.vue +2 -2
  98. package/components/common/split/vertical/VerticalOld.vue +1 -1
  99. package/components/common/tools/Actions.vue +188 -188
  100. package/components/common/vm/actions/add/Add.vue +622 -622
  101. package/components/common/vm/actions/clone/Clone.vue +639 -639
  102. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  103. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  104. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  105. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  106. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  107. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  174. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  175. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  176. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  177. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  178. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  179. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  180. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/DeletePopover.vue +1 -1
  181. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  182. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +1 -1
  183. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  184. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  185. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  186. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  187. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  188. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  189. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  190. package/composables/productNameLocal.ts +30 -30
  191. package/composables/useAppVersion.ts +21 -21
  192. package/package.json +2 -2
  193. package/plugins/date.ts +233 -233
  194. package/plugins/directives.ts +24 -24
  195. package/public/spice-console/lib/images/bitmap.js +203 -203
  196. package/public/spice-console/network/spicechannel.js +383 -383
  197. package/store/main/mutations.ts +7 -7
  198. package/store/main/state.ts +7 -7
  199. package/store/tasks/mappers/recentTasks.ts +64 -64
  200. package/package.json~ +0 -42
package/CODE_STYLE.md CHANGED
@@ -1,109 +1,109 @@
1
- ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
2
- ## Javascript
3
-
4
- ### Название переменных
5
-
6
- Используем camelCase:
7
- ```javascript
8
- const theExample = 0
9
- ```
10
-
11
- Название переменных должно быть содержательным:
12
- ```javascript
13
- const desc = 'some description' // Плохо
14
-
15
- const description = 'some description' // Хорошо
16
- ```
17
-
18
- Если переменная типа boolean, используем префиксы is или has:
19
- ```javascript
20
- const isDisabled = true
21
-
22
- const hasName = false
23
- ```
24
-
25
- Приоритетно используем стрелочные функции:
26
- ```javascript
27
- const example = () => {...}
28
- ```
29
-
30
- ---
31
-
32
- ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
33
- ## Typescript
34
-
35
- ### Interface
36
- Название интерфейсов начинаем с префикса **I_** (также есть **API_**, **UI_**, подробно об этом написано в файле PROJECT_STRUCTURE.md):
37
- ```typescript
38
- interface I_Example
39
- ```
40
-
41
- ### Type
42
- Название типов начинаем с префикса **T_**:
43
- ```typescript
44
- type T_Example
45
- ```
46
-
47
- ### Enum
48
- Название enum начинаем с префикса **E_**:
49
- ```typescript
50
- enum E_Example
51
- ```
52
-
53
- P.S. Нужно писать как можно более понятные типы.
54
-
55
- ---
56
-
57
- ![Vue.js](https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vue.js&logoColor=4FC08D)
58
- ## Vue
59
-
60
- ### Название тегов
61
- Используем kebab-case:
62
- ```html
63
- <the-button>Button</the-button>
64
- ```
65
-
66
- ### Название тега
67
- Название тега не должно состоять из одного слова:
68
- ```html
69
- <example></example> // Плохо
70
-
71
- <the-example></the-example> // Хорошо
72
- ```
73
-
74
- ### Использование "the" в названии тега
75
- Если название тега, к примеру, icon, должно быть так:
76
- ```html
77
- <the-icon></the-icon>
78
- ```
79
-
80
- ### Использование самозакрывающихся тегов
81
- Если в тег ничего не передаем, то используем его как самозакрывающийся:
82
- ```html
83
- <the-icon/>
84
- ```
85
-
86
- ### Props / Emits
87
- Props пишем в kebab-case:
88
- ```html
89
- <the-example my-name="Name"/>
90
- ```
91
-
92
- Emits пишем в kebab-case, ключ первого аргумента всегда "event", а второго - "value":
93
- ```javascript
94
- const emits = defineEmits<{
95
- (event: 'change-name', value: string): void
96
- }>()
97
- ```
98
-
99
- ### Composition API
100
- Так как у нас используется Composition API, нужно весь код группировать по блокам:
101
- ```javascript
102
- const isShowModal = ref<boolean>(false)
103
- const toggleModal = (): void => isShowModal.value = !isShowModal.value
104
-
105
- const errors = ref<string[]>([])
106
- const updateErrors = (newErrors: string[]): void => {
107
- errors.value = newErrors
108
- }
109
- ```
1
+ ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
2
+ ## Javascript
3
+
4
+ ### Название переменных
5
+
6
+ Используем camelCase:
7
+ ```javascript
8
+ const theExample = 0
9
+ ```
10
+
11
+ Название переменных должно быть содержательным:
12
+ ```javascript
13
+ const desc = 'some description' // Плохо
14
+
15
+ const description = 'some description' // Хорошо
16
+ ```
17
+
18
+ Если переменная типа boolean, используем префиксы is или has:
19
+ ```javascript
20
+ const isDisabled = true
21
+
22
+ const hasName = false
23
+ ```
24
+
25
+ Приоритетно используем стрелочные функции:
26
+ ```javascript
27
+ const example = () => {...}
28
+ ```
29
+
30
+ ---
31
+
32
+ ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
33
+ ## Typescript
34
+
35
+ ### Interface
36
+ Название интерфейсов начинаем с префикса **I_** (также есть **API_**, **UI_**, подробно об этом написано в файле PROJECT_STRUCTURE.md):
37
+ ```typescript
38
+ interface I_Example
39
+ ```
40
+
41
+ ### Type
42
+ Название типов начинаем с префикса **T_**:
43
+ ```typescript
44
+ type T_Example
45
+ ```
46
+
47
+ ### Enum
48
+ Название enum начинаем с префикса **E_**:
49
+ ```typescript
50
+ enum E_Example
51
+ ```
52
+
53
+ P.S. Нужно писать как можно более понятные типы.
54
+
55
+ ---
56
+
57
+ ![Vue.js](https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vue.js&logoColor=4FC08D)
58
+ ## Vue
59
+
60
+ ### Название тегов
61
+ Используем kebab-case:
62
+ ```html
63
+ <the-button>Button</the-button>
64
+ ```
65
+
66
+ ### Название тега
67
+ Название тега не должно состоять из одного слова:
68
+ ```html
69
+ <example></example> // Плохо
70
+
71
+ <the-example></the-example> // Хорошо
72
+ ```
73
+
74
+ ### Использование "the" в названии тега
75
+ Если название тега, к примеру, icon, должно быть так:
76
+ ```html
77
+ <the-icon></the-icon>
78
+ ```
79
+
80
+ ### Использование самозакрывающихся тегов
81
+ Если в тег ничего не передаем, то используем его как самозакрывающийся:
82
+ ```html
83
+ <the-icon/>
84
+ ```
85
+
86
+ ### Props / Emits
87
+ Props пишем в kebab-case:
88
+ ```html
89
+ <the-example my-name="Name"/>
90
+ ```
91
+
92
+ Emits пишем в kebab-case, ключ первого аргумента всегда "event", а второго - "value":
93
+ ```javascript
94
+ const emits = defineEmits<{
95
+ (event: 'change-name', value: string): void
96
+ }>()
97
+ ```
98
+
99
+ ### Composition API
100
+ Так как у нас используется Composition API, нужно весь код группировать по блокам:
101
+ ```javascript
102
+ const isShowModal = ref<boolean>(false)
103
+ const toggleModal = (): void => isShowModal.value = !isShowModal.value
104
+
105
+ const errors = ref<string[]>([])
106
+ const updateErrors = (newErrors: string[]): void => {
107
+ errors.value = newErrors
108
+ }
109
+ ```