bfg-common 1.5.44 → 1.5.45

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 (184) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/scss/common/normalize.scss +339 -339
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +165 -165
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  11. package/components/atoms/perPage/PerPage.vue +58 -58
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  15. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  16. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  17. package/components/atoms/tooltip/Signpost.vue +227 -227
  18. package/components/common/accordion/Recursion.vue +222 -222
  19. package/components/common/browse/BrowseNew.vue +237 -237
  20. package/components/common/browse/BrowseOld.vue +217 -217
  21. package/components/common/browse/blocks/contents/Files.vue +37 -37
  22. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  23. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  24. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  25. package/components/common/context/Context.vue +111 -111
  26. package/components/common/context/lib/models/interfaces.ts +31 -31
  27. package/components/common/context/recursion/Recursion.vue +87 -87
  28. package/components/common/context/recursion/RecursionNew.vue +238 -238
  29. package/components/common/context/recursion/RecursionOld.vue +228 -228
  30. package/components/common/details/DetailsItem.vue +109 -109
  31. package/components/common/diagramMain/DiagramMain.vue +897 -897
  32. package/components/common/diagramMain/Header.vue +214 -214
  33. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  34. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  36. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  37. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  38. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  39. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  40. package/components/common/pages/home/StatusContent.vue +49 -49
  41. package/components/common/pages/home/headline/Headline.vue +45 -45
  42. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  43. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  44. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  45. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  46. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  47. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  48. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  49. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  50. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  51. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  52. package/components/common/pages/licensing/Licensing.vue +128 -0
  53. package/components/common/pages/licensing/lib/models/interfaces.ts +22 -0
  54. package/components/common/pages/licensing/lib/utils/validation.ts +29 -0
  55. package/components/common/pages/licensing/listView/ListView.vue +50 -0
  56. package/components/common/pages/licensing/listView/lib/config/list.ts +57 -0
  57. package/components/common/pages/licensing/listView/lib/models/interfaces.ts +5 -0
  58. package/components/common/pages/licensing/modals/assign/Assign.vue +247 -0
  59. package/components/common/pages/licensing/modals/assign/lib/config/tabsPannel.ts +17 -0
  60. package/components/common/pages/licensing/modals/assign/lib/models/interfaces.ts +5 -0
  61. package/components/common/pages/licensing/modals/assign/lib/utils/error.ts +25 -0
  62. package/components/common/pages/licensing/modals/assign/new/New.vue +216 -0
  63. package/components/common/pages/licensing/modals/assign/tableView/TableView.vue +193 -0
  64. package/components/common/pages/licensing/modals/assign/tableView/lib/config/table.ts +100 -0
  65. package/components/common/pages/licensing/modals/assign/tableView/lib/config/tableKeys.ts +10 -0
  66. package/components/common/pages/licensing/modals/assign/tableView/lib/models/interfaces.ts +9 -0
  67. package/components/common/pages/licensing/modals/assign/tableView/lib/models/types.ts +8 -0
  68. package/components/common/pages/packages/Packages.vue +208 -208
  69. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  70. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  71. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  72. package/components/common/portlets/tag/Portlet.vue +433 -433
  73. package/components/common/recursionTree/RecursionTree.vue +223 -223
  74. package/components/common/select/button/ButtonDropdown.vue +108 -108
  75. package/components/common/spiceConsole/Drawer.vue +370 -370
  76. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  77. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  78. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  79. package/components/common/split/vertical/Vertical.vue +160 -160
  80. package/components/common/tools/Actions.vue +188 -188
  81. package/components/common/vm/actions/add/Add.vue +774 -774
  82. package/components/common/vm/actions/add/lib/config/steps.ts +247 -247
  83. package/components/common/vm/actions/clone/Clone.vue +798 -798
  84. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  85. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  86. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  87. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  88. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  89. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  159. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  160. package/components/common/vm/actions/common/select/createType/CreateType.vue +74 -74
  161. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  162. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  163. package/components/common/vm/actions/common/select/template/Template.vue +65 -65
  164. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  165. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  166. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  167. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  168. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  169. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  170. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  171. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  172. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  173. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  174. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  175. package/composables/productNameLocal.ts +30 -30
  176. package/composables/useAppVersion.ts +21 -21
  177. package/package.json +1 -1
  178. package/plugins/date.ts +233 -233
  179. package/plugins/directives.ts +24 -24
  180. package/public/spice-console/lib/images/bitmap.js +203 -203
  181. package/public/spice-console/network/spicechannel.js +383 -383
  182. package/store/main/mutations.ts +7 -7
  183. package/store/main/state.ts +7 -7
  184. package/store/tasks/mappers/recentTasks.ts +64 -64
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
+ ```