@dxtmisha/scripts 0.11.8 → 1.0.0

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 (335) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/ai-resources/componentMaterials.md +19 -0
  3. package/ai-resources/componentPrompt.md +381 -0
  4. package/ai-resources/componentWiki.md +13 -0
  5. package/bin/arguments.ts +168 -0
  6. package/bin/build-packages.ts +12 -2
  7. package/bin/build-publish-packages.ts +12 -2
  8. package/bin/design-component.ts +7 -1
  9. package/bin/design-constructor.ts +22 -3
  10. package/bin/design-figma.ts +26 -4
  11. package/bin/design-flags.ts +14 -2
  12. package/bin/design-library.ts +7 -1
  13. package/bin/design-package.ts +29 -5
  14. package/bin/design-prompt.ts +22 -3
  15. package/bin/design-screenshot.ts +12 -2
  16. package/bin/design-types-save.ts +32 -5
  17. package/bin/design-types.ts +32 -6
  18. package/bin/design-ui.ts +21 -3
  19. package/bin/design-wiki-storm.ts +11 -3
  20. package/dist/AiZAi-x3CInynJ.js +232 -0
  21. package/dist/PropertiesConfig-ChizwW5y.js +250 -0
  22. package/{src/config.ts → dist/config.d.ts} +179 -158
  23. package/dist/config.js +20 -0
  24. package/dist/figmaApiTypes-CArSsNW8.js +6 -0
  25. package/dist/library-ai.d.ts +482 -0
  26. package/dist/library-ai.js +2 -0
  27. package/dist/library-figma.d.ts +462 -0
  28. package/dist/library-figma.js +75 -0
  29. package/dist/library-ui.d.ts +586 -0
  30. package/dist/library-ui.js +3760 -0
  31. package/dist/library.d.ts +4677 -0
  32. package/dist/library.js +1436 -0
  33. package/dist/propertyTypes-DflziKuR.js +236 -0
  34. package/package.json +69 -20
  35. package/bin/ai-doc.ts +0 -7
  36. package/bin/build-functional.ts +0 -5
  37. package/bin/design-component-wiki.ts +0 -11
  38. package/src/classes/Ai/AiAbstract.ts +0 -242
  39. package/src/classes/Ai/AiClaude.ts +0 -26
  40. package/src/classes/Ai/AiClaudeAgent.ts +0 -16
  41. package/src/classes/Ai/AiClaudeAgentLite.ts +0 -86
  42. package/src/classes/Ai/AiClaudeCli.ts +0 -24
  43. package/src/classes/Ai/AiClaudeCliLite.ts +0 -108
  44. package/src/classes/Ai/AiClaudeLite.ts +0 -112
  45. package/src/classes/Ai/AiDoc.ts +0 -81
  46. package/src/classes/Ai/AiDocItem.ts +0 -27
  47. package/src/classes/Ai/AiDocItemAbstract.ts +0 -209
  48. package/src/classes/Ai/AiDocItemClasses.ts +0 -27
  49. package/src/classes/Ai/AiDocItemComposables.ts +0 -20
  50. package/src/classes/Ai/AiDocType.ts +0 -45
  51. package/src/classes/Ai/AiGoogle.ts +0 -26
  52. package/src/classes/Ai/AiGoogleCli.ts +0 -24
  53. package/src/classes/Ai/AiGoogleCliLite.ts +0 -108
  54. package/src/classes/Ai/AiGoogleLite.ts +0 -78
  55. package/src/classes/Ai/AiOpenAi.ts +0 -26
  56. package/src/classes/Ai/AiOpenAiLite.ts +0 -107
  57. package/src/classes/Ai/AiZAi.ts +0 -17
  58. package/src/classes/Ai/AiZAiLite.ts +0 -77
  59. package/src/classes/Ai/ApiTmp.ts +0 -43
  60. package/src/classes/BrowserItem.ts +0 -408
  61. package/src/classes/Build/BuildFunctional.ts +0 -54
  62. package/src/classes/Build/BuildPackages.ts +0 -137
  63. package/src/classes/Build/BuildPublishPackages.ts +0 -105
  64. package/src/classes/BuildItem.ts +0 -187
  65. package/src/classes/Component/ComponentCreator.ts +0 -45
  66. package/src/classes/Component/ComponentItem.ts +0 -161
  67. package/src/classes/Component/ComponentWiki.ts +0 -258
  68. package/src/classes/Component/ComponentWikiFile.ts +0 -138
  69. package/src/classes/Design/DesignCommand.ts +0 -243
  70. package/src/classes/Design/DesignComponent.ts +0 -824
  71. package/src/classes/Design/DesignConstructor.ts +0 -222
  72. package/src/classes/Design/DesignConstructors.ts +0 -101
  73. package/src/classes/Design/DesignFigma.ts +0 -61
  74. package/src/classes/Design/DesignFlags.ts +0 -215
  75. package/src/classes/Design/DesignReplace.ts +0 -672
  76. package/src/classes/Design/DesignScreenshot.ts +0 -140
  77. package/src/classes/Design/DesignStructure.ts +0 -201
  78. package/src/classes/Design/DesignStructureClasses.ts +0 -105
  79. package/src/classes/Design/DesignStructureItemAbstract.ts +0 -52
  80. package/src/classes/Design/DesignStructureRead.ts +0 -349
  81. package/src/classes/Design/DesignStructureStyles.ts +0 -45
  82. package/src/classes/Design/DesignTypes.ts +0 -94
  83. package/src/classes/Design/DesignTypesAi.ts +0 -135
  84. package/src/classes/Design/DesignTypesDescription.ts +0 -121
  85. package/src/classes/Design/DesignTypesMake.ts +0 -460
  86. package/src/classes/Design/DesignTypesMcp.ts +0 -90
  87. package/src/classes/Design/DesignTypesPrompts.ts +0 -332
  88. package/src/classes/Design/DesignTypescript.ts +0 -244
  89. package/src/classes/Design/DesignUi.ts +0 -143
  90. package/src/classes/Design/DesignWiki.ts +0 -52
  91. package/src/classes/Design/DesignWikiStorm.ts +0 -95
  92. package/src/classes/Design/DesignWikiStormItem.ts +0 -316
  93. package/src/classes/FigmaApi.ts +0 -190
  94. package/src/classes/Git/GitRead.ts +0 -261
  95. package/src/classes/Library/LibraryAiMcpItem.ts +0 -67
  96. package/src/classes/Library/LibraryAiPrompt.ts +0 -268
  97. package/src/classes/Library/LibraryAiPromptItem.ts +0 -331
  98. package/src/classes/Library/LibraryAiWiki.ts +0 -127
  99. package/src/classes/Library/LibraryAiWikiItem.ts +0 -79
  100. package/src/classes/Library/LibraryExport.ts +0 -167
  101. package/src/classes/Library/LibraryFlags.ts +0 -62
  102. package/src/classes/Library/LibraryItems.ts +0 -138
  103. package/src/classes/Library/LibraryList.ts +0 -189
  104. package/src/classes/Library/LibraryMedia.ts +0 -139
  105. package/src/classes/Library/LibraryPlugin.ts +0 -73
  106. package/src/classes/Library/LibraryTypes.ts +0 -130
  107. package/src/classes/Package/PackageFile.ts +0 -154
  108. package/src/classes/Package/PackageInit.ts +0 -54
  109. package/src/classes/Package/PackageItem.ts +0 -329
  110. package/src/classes/Properties/Properties.ts +0 -175
  111. package/src/classes/Properties/PropertiesCache.ts +0 -248
  112. package/src/classes/Properties/PropertiesConfig.ts +0 -213
  113. package/src/classes/Properties/PropertiesConvector.ts +0 -52
  114. package/src/classes/Properties/PropertiesFile.ts +0 -522
  115. package/src/classes/Properties/PropertiesImport.ts +0 -182
  116. package/src/classes/Properties/PropertiesItems.ts +0 -605
  117. package/src/classes/Properties/PropertiesKeys.ts +0 -121
  118. package/src/classes/Properties/PropertiesMain.ts +0 -138
  119. package/src/classes/Properties/PropertiesPalette.ts +0 -149
  120. package/src/classes/Properties/PropertiesPath.ts +0 -193
  121. package/src/classes/Properties/PropertiesScss.ts +0 -261
  122. package/src/classes/Properties/PropertiesSeparator.ts +0 -118
  123. package/src/classes/Properties/PropertiesSettings.ts +0 -104
  124. package/src/classes/Properties/PropertiesStandard.ts +0 -180
  125. package/src/classes/Properties/PropertiesTool.ts +0 -80
  126. package/src/classes/Properties/PropertiesTypes.ts +0 -147
  127. package/src/classes/Properties/PropertiesValues.ts +0 -75
  128. package/src/classes/Properties/PropertiesWrap.ts +0 -187
  129. package/src/classes/Properties/convector/convectorColor.ts +0 -27
  130. package/src/classes/Properties/convector/convectorFontFamilies.ts +0 -18
  131. package/src/classes/Properties/convector/convectorShadow.ts +0 -61
  132. package/src/classes/Properties/convector/convectorTypography.ts +0 -19
  133. package/src/classes/Properties/to/PropertiesToAbstract.ts +0 -51
  134. package/src/classes/Properties/to/PropertiesToAnimate.ts +0 -59
  135. package/src/classes/Properties/to/PropertiesToClass.ts +0 -49
  136. package/src/classes/Properties/to/PropertiesToClone.ts +0 -114
  137. package/src/classes/Properties/to/PropertiesToComponent.ts +0 -52
  138. package/src/classes/Properties/to/PropertiesToDrag.ts +0 -231
  139. package/src/classes/Properties/to/PropertiesToDuplicate.ts +0 -165
  140. package/src/classes/Properties/to/PropertiesToFull.ts +0 -36
  141. package/src/classes/Properties/to/PropertiesToLink.ts +0 -259
  142. package/src/classes/Properties/to/PropertiesToMedia.ts +0 -187
  143. package/src/classes/Properties/to/PropertiesToMulti.ts +0 -101
  144. package/src/classes/Properties/to/PropertiesToNone.ts +0 -46
  145. package/src/classes/Properties/to/PropertiesToPalette.ts +0 -241
  146. package/src/classes/Properties/to/PropertiesToProperty.ts +0 -31
  147. package/src/classes/Properties/to/PropertiesToRemove.ts +0 -33
  148. package/src/classes/Properties/to/PropertiesToReplace.ts +0 -77
  149. package/src/classes/Properties/to/PropertiesToRoot.ts +0 -40
  150. package/src/classes/Properties/to/PropertiesToSimilar.ts +0 -128
  151. package/src/classes/Properties/to/PropertiesToSort.ts +0 -146
  152. package/src/classes/Properties/to/PropertiesToState.ts +0 -65
  153. package/src/classes/Properties/to/PropertiesToStyle.ts +0 -52
  154. package/src/classes/Properties/to/PropertiesToSub.ts +0 -95
  155. package/src/classes/Properties/to/PropertiesToSubclass.ts +0 -76
  156. package/src/classes/Properties/to/PropertiesToVar.ts +0 -194
  157. package/src/classes/Properties/to/PropertiesToVariable.ts +0 -176
  158. package/src/classes/Styles/Styles.ts +0 -247
  159. package/src/classes/Styles/StylesClasses.ts +0 -86
  160. package/src/classes/Styles/StylesProperties.ts +0 -197
  161. package/src/classes/Styles/StylesRoot.ts +0 -103
  162. package/src/classes/Styles/StylesTool.ts +0 -112
  163. package/src/classes/Styles/to/StylesToAbstract.ts +0 -93
  164. package/src/classes/Styles/to/StylesToAnimate.ts +0 -19
  165. package/src/classes/Styles/to/StylesToClass.ts +0 -25
  166. package/src/classes/Styles/to/StylesToClassFull.ts +0 -19
  167. package/src/classes/Styles/to/StylesToContainer.ts +0 -24
  168. package/src/classes/Styles/to/StylesToMedia.ts +0 -19
  169. package/src/classes/Styles/to/StylesToProperty.ts +0 -123
  170. package/src/classes/Styles/to/StylesToRoot.ts +0 -14
  171. package/src/classes/Styles/to/StylesToSelector.ts +0 -71
  172. package/src/classes/Styles/to/StylesToVar.ts +0 -105
  173. package/src/classes/Styles/to/StylesToVirtual.ts +0 -33
  174. package/src/composables/useAi.ts +0 -38
  175. package/src/demo/ai.ts +0 -10
  176. package/src/functions/getComponentPaths.ts +0 -13
  177. package/src/functions/getConfigAi.ts +0 -14
  178. package/src/functions/getConstructorProperties.ts +0 -54
  179. package/src/functions/getDirname.ts +0 -17
  180. package/src/functions/getNameDirByPaths.ts +0 -16
  181. package/src/functions/getPackageJson.ts +0 -19
  182. package/src/functions/hasNativeDirname.ts +0 -8
  183. package/src/functions/run.ts +0 -47
  184. package/src/functions/toPathStandardSep.ts +0 -14
  185. package/src/library-ai.ts +0 -10
  186. package/src/library.ts +0 -73
  187. package/src/media/ai/ai-doc-types.ts +0 -21
  188. package/src/media/properties/css.ts +0 -634
  189. package/src/media/properties/cssSelector.ts +0 -74
  190. package/src/media/properties/cssVirtual.ts +0 -12
  191. package/src/media/properties/listSort.ts +0 -113
  192. package/src/media/properties/style.ts +0 -81
  193. package/src/media/templates/component/DesignComponent.mdx +0 -30
  194. package/src/media/templates/component/DesignComponent.stories.ts +0 -34
  195. package/src/media/templates/component/DesignComponent.vue +0 -54
  196. package/src/media/templates/component/DesignComponentAiWiki.vue +0 -25
  197. package/src/media/templates/component/index.ts +0 -13
  198. package/src/media/templates/component/props.ts +0 -27
  199. package/src/media/templates/component/styleToken.scss +0 -17
  200. package/src/media/templates/component/wiki.ts +0 -13
  201. package/src/media/templates/component/wikiData.ts +0 -28
  202. package/src/media/templates/componentDoc/ComponentDoc.vue +0 -26
  203. package/src/media/templates/componentDoc/index.ts +0 -12
  204. package/src/media/templates/componentDoc/materials/README.md +0 -8
  205. package/src/media/templates/componentDoc/materials/prompt.md +0 -38
  206. package/src/media/templates/componentDoc/subcomponents/_.gitignore.txt +0 -0
  207. package/src/media/templates/componentDoc/types.ts +0 -15
  208. package/src/media/templates/componentDoc/wiki/ComponentDoc.mdx +0 -13
  209. package/src/media/templates/componentDoc/wiki/ComponentDoc.stories.ts +0 -24
  210. package/src/media/templates/componentDoc/wiki/prompt.md +0 -41
  211. package/src/media/templates/constructors/Constructors.ts +0 -33
  212. package/src/media/templates/constructors/ConstructorsDesign.tsx +0 -129
  213. package/src/media/templates/constructors/basicTypes.ts +0 -0
  214. package/src/media/templates/constructors/index.ts +0 -5
  215. package/src/media/templates/constructors/props.ts +0 -28
  216. package/src/media/templates/constructors/style.scss +0 -5
  217. package/src/media/templates/constructors/types.ts +0 -47
  218. package/src/media/templates/packages/figma/README.md +0 -1
  219. package/src/media/templates/packages/figma/_.gitignore.txt +0 -29
  220. package/src/media/templates/packages/figma/ai.sample.config.ts +0 -2
  221. package/src/media/templates/packages/figma/design.config.json +0 -3
  222. package/src/media/templates/packages/figma/index.html +0 -12
  223. package/src/media/templates/packages/figma/manifest.json +0 -25
  224. package/src/media/templates/packages/figma/package.json +0 -37
  225. package/src/media/templates/packages/figma/src/App.vue +0 -9
  226. package/src/media/templates/packages/figma/src/classes/_.gitignore.txt +0 -1
  227. package/src/media/templates/packages/figma/src/code.ts +0 -16
  228. package/src/media/templates/packages/figma/src/components/_.gitignore.txt +0 -1
  229. package/src/media/templates/packages/figma/src/composables/_.gitignore.txt +0 -1
  230. package/src/media/templates/packages/figma/src/config.ts +0 -0
  231. package/src/media/templates/packages/figma/src/functions/_.gitignore.txt +0 -1
  232. package/src/media/templates/packages/figma/src/library.ts +0 -0
  233. package/src/media/templates/packages/figma/src/main.ts +0 -4
  234. package/src/media/templates/packages/figma/src/media/_.gitignore.txt +0 -1
  235. package/src/media/templates/packages/figma/src/storybook/_.gitignore.txt +0 -1
  236. package/src/media/templates/packages/figma/src/types/_.gitignore.txt +0 -1
  237. package/src/media/templates/packages/figma/src/vite-env.d.ts +0 -1
  238. package/src/media/templates/packages/figma/tsconfig.app.json +0 -12
  239. package/src/media/templates/packages/figma/tsconfig.json +0 -7
  240. package/src/media/templates/packages/figma/tsconfig.node.json +0 -8
  241. package/src/media/templates/packages/figma/vite.config.ts +0 -7
  242. package/src/media/templates/packages/library/README.md +0 -1
  243. package/src/media/templates/packages/library/_.gitignore.txt +0 -27
  244. package/src/media/templates/packages/library/ai-description.md +0 -15
  245. package/src/media/templates/packages/library/design.config.json +0 -3
  246. package/src/media/templates/packages/library/index.html +0 -12
  247. package/src/media/templates/packages/library/materials/README.md +0 -8
  248. package/src/media/templates/packages/library/materials/prompt.md +0 -45
  249. package/src/media/templates/packages/library/package.json +0 -46
  250. package/src/media/templates/packages/library/src/App.vue +0 -8
  251. package/src/media/templates/packages/library/src/classes/_.gitignore.txt +0 -1
  252. package/src/media/templates/packages/library/src/components/_.gitignore.txt +0 -1
  253. package/src/media/templates/packages/library/src/composables/_.gitignore.txt +0 -1
  254. package/src/media/templates/packages/library/src/functions/_.gitignore.txt +0 -1
  255. package/src/media/templates/packages/library/src/library.ts +0 -0
  256. package/src/media/templates/packages/library/src/main.ts +0 -6
  257. package/src/media/templates/packages/library/src/style.scss +0 -0
  258. package/src/media/templates/packages/library/src/types/_.gitignore.txt +0 -1
  259. package/src/media/templates/packages/library/src/vite-env.d.ts +0 -1
  260. package/src/media/templates/packages/library/tsconfig.app.json +0 -11
  261. package/src/media/templates/packages/library/tsconfig.json +0 -7
  262. package/src/media/templates/packages/library/tsconfig.node.json +0 -7
  263. package/src/media/templates/packages/library/vite.config.ts +0 -14
  264. package/src/media/templates/packages/nitro/README.md +0 -1
  265. package/src/media/templates/packages/nitro/_.gitignore.txt +0 -28
  266. package/src/media/templates/packages/nitro/index.html +0 -2
  267. package/src/media/templates/packages/nitro/package.json +0 -25
  268. package/src/media/templates/packages/nitro/server/plugins/ui-plugin.ts +0 -7
  269. package/src/media/templates/packages/nitro/server/routes/api/hello.ts +0 -13
  270. package/src/media/templates/packages/nitro/src/App.vue +0 -10
  271. package/src/media/templates/packages/nitro/src/assets/_.gitignore.txt +0 -0
  272. package/src/media/templates/packages/nitro/src/components/_.gitignore.txt +0 -0
  273. package/src/media/templates/packages/nitro/src/composables/_.gitignore.txt +0 -0
  274. package/src/media/templates/packages/nitro/src/entry-client.ts +0 -13
  275. package/src/media/templates/packages/nitro/src/entry-server.ts +0 -29
  276. package/src/media/templates/packages/nitro/src/main.ts +0 -14
  277. package/src/media/templates/packages/nitro/src/pages/HomePage.vue +0 -8
  278. package/src/media/templates/packages/nitro/src/router.ts +0 -11
  279. package/src/media/templates/packages/nitro/src/style.scss +0 -0
  280. package/src/media/templates/packages/nitro/src/templates/main.html +0 -21
  281. package/src/media/templates/packages/nitro/src/vite-env.d.ts +0 -11
  282. package/src/media/templates/packages/nitro/tsconfig.app.json +0 -14
  283. package/src/media/templates/packages/nitro/tsconfig.json +0 -7
  284. package/src/media/templates/packages/nitro/tsconfig.node.json +0 -12
  285. package/src/media/templates/packages/nitro/vite.config.ts +0 -17
  286. package/src/media/templates/packages/project/README.md +0 -1
  287. package/src/media/templates/packages/project/_.gitignore.txt +0 -28
  288. package/src/media/templates/packages/project/design.config.json +0 -3
  289. package/src/media/templates/packages/project/index.html +0 -12
  290. package/src/media/templates/packages/project/materials/README.md +0 -8
  291. package/src/media/templates/packages/project/materials/prompt.md +0 -41
  292. package/src/media/templates/packages/project/package.json +0 -13
  293. package/src/media/templates/packages/project/public/_.gitignore.txt +0 -0
  294. package/src/media/templates/packages/project/src/App.vue +0 -12
  295. package/src/media/templates/packages/project/src/assets/_.gitignore.txt +0 -0
  296. package/src/media/templates/packages/project/src/components/_.gitignore.txt +0 -0
  297. package/src/media/templates/packages/project/src/composables/_.gitignore.txt +0 -0
  298. package/src/media/templates/packages/project/src/main.ts +0 -6
  299. package/src/media/templates/packages/project/src/style.scss +0 -0
  300. package/src/media/templates/packages/project/src/vite-env.d.ts +0 -1
  301. package/src/media/templates/packages/project/tsconfig.app.json +0 -11
  302. package/src/media/templates/packages/project/tsconfig.json +0 -7
  303. package/src/media/templates/packages/project/tsconfig.node.json +0 -7
  304. package/src/media/templates/packages/project/vite.config.ts +0 -7
  305. package/src/media/templates/prompts/aiCodeGlobalPrompt.en.md +0 -22
  306. package/src/media/templates/prompts/aiCodeGlobalPrompt.ru.md +0 -21
  307. package/src/media/templates/prompts/aiCodeVuePrompt.en.md +0 -17
  308. package/src/media/templates/prompts/aiCodeVuePrompt.ru.md +0 -17
  309. package/src/media/templates/prompts/aiDocClassPrompt.en.txt +0 -63
  310. package/src/media/templates/prompts/aiDocClassPrompt.ru.txt +0 -63
  311. package/src/media/templates/prompts/aiDocComposablePrompt.en.txt +0 -67
  312. package/src/media/templates/prompts/aiDocComposablePrompt.ru.txt +0 -67
  313. package/src/media/templates/prompts/aiDocFunctionPrompt.en.txt +0 -57
  314. package/src/media/templates/prompts/aiDocFunctionPrompt.ru.txt +0 -57
  315. package/src/media/templates/prompts/componentPrompt.en.txt +0 -182
  316. package/src/media/templates/prompts/componentPrompt.ru.txt +0 -182
  317. package/src/media/templates/prompts/demoClassEn.mdx +0 -111
  318. package/src/media/templates/prompts/demoClassRu.mdx +0 -111
  319. package/src/media/templates/prompts/demoComponentEn.mdx +0 -282
  320. package/src/media/templates/prompts/demoComponentRu.mdx +0 -282
  321. package/src/media/templates/prompts/demoComposableEn.mdx +0 -103
  322. package/src/media/templates/prompts/demoComposableRu.mdx +0 -103
  323. package/src/media/templates/prompts/demoDocEn.mdx +0 -30
  324. package/src/media/templates/prompts/demoDocRu.mdx +0 -30
  325. package/src/media/templates/viteComponentTemplateConfig.ts +0 -14
  326. package/src/types/aiTypes.ts +0 -19
  327. package/src/types/configTypes.ts +0 -69
  328. package/src/types/designTypes.ts +0 -167
  329. package/src/types/figmaApiTypes.ts +0 -337
  330. package/src/types/gitTypes.ts +0 -59
  331. package/src/types/libraryTypes.ts +0 -49
  332. package/src/types/propertyTypes.ts +0 -586
  333. package/src/types/screenshotTypes.ts +0 -55
  334. package/src/types/webTypes.ts +0 -134
  335. package/src/vite-env.d.ts +0 -1
@@ -1,259 +0,0 @@
1
- // export:none
2
-
3
- import { isObjectNotArray, splice } from '@dxtmisha/functional-basic'
4
-
5
- import { PropertiesToAbstract } from './PropertiesToAbstract'
6
- import { PropertiesTypes } from '../PropertiesTypes'
7
-
8
- import {
9
- type PropertyItem,
10
- PropertyKey,
11
- type PropertyLinkItem,
12
- type PropertyList,
13
- PropertyType
14
- } from '../../../types/propertyTypes'
15
-
16
- const MAX = 32
17
- const MAX_PARENT = 24
18
- const USED_TYPE: PropertyType[] = [
19
- PropertyType.link,
20
- PropertyType.var,
21
- PropertyType.property,
22
- PropertyType.selector,
23
- PropertyType.virtual,
24
- PropertyType.scss
25
- ]
26
-
27
- /**
28
- * The method for changing all links.
29
- *
30
- * Метод для изменения всех ссылок.
31
- */
32
- export class PropertiesToLink extends PropertiesToAbstract {
33
- protected readonly FILE_CACHE = '004-link'
34
-
35
- private update = 1
36
- private readonly ignore: string[] = []
37
- private readonly links: string[] = []
38
-
39
- /**
40
- * The method searches for all links and replaces their values with the specified link.
41
- *
42
- * Метод ищет все ссылки и заменяет значения на указанную ссылку.
43
- */
44
- protected init(): void {
45
- let max = MAX
46
-
47
- while (
48
- this.update > 0
49
- && max-- > 0) {
50
- this.update = 0
51
- this.read()
52
- }
53
- }
54
-
55
- /**
56
- * The method searches for all links and replaces their values with the specified link.
57
- *
58
- * Метод ищет все ссылки и заменяет значения на указанную ссылку.
59
- * @param design design name/ название дизайна
60
- * @param component component name/ название компонента
61
- * @param properties array with all property records/ массив со всеми записями свойств
62
- * @param parent object of ancestor/ объект предка
63
- */
64
- private read(
65
- design?: string,
66
- component?: string,
67
- properties = this.items.get(),
68
- parent: string[] = []
69
- ) {
70
- const items: PropertyLinkItem[] = []
71
- let expect = false
72
-
73
- if (parent.length > MAX_PARENT) {
74
- return expect
75
- }
76
-
77
- for (const [name, item] of Object.entries(properties)) {
78
- const parentItem = [...parent, name]
79
-
80
- if (
81
- design
82
- && component
83
- && this.isType(item)
84
- && this.isValue(item.value)
85
- && !this.isIgnore(item.value)
86
- ) {
87
- const link = this.items.getLink(design, component, item.value)
88
- const data = this.items.getInfo(link)
89
-
90
- if (data) {
91
- if (this.isData(data.value)) {
92
- if (
93
- !this.isLink(link)
94
- && this.read(
95
- data.design,
96
- data.component,
97
- data.value,
98
- parentItem
99
- )
100
- ) {
101
- expect = true
102
- break
103
- } else {
104
- this.addLink(link)
105
- this.update++
106
-
107
- items.push({
108
- name,
109
- data: data.value,
110
- properties
111
- })
112
-
113
- break
114
- }
115
- } else if (typeof data.value === 'string') {
116
- this.addIgnore(data.value)
117
- }
118
- } else {
119
- // TODO: зачем это надо?
120
- // expect = true
121
- // break
122
- }
123
- } else if (
124
- isObjectNotArray(item.value)
125
- && this.read(
126
- design ?? name,
127
- design && (component ?? name),
128
- item.value,
129
- parentItem
130
- )
131
- ) {
132
- expect = true
133
- }
134
- }
135
-
136
- if (items.length > 0) {
137
- this.add(parent, items)
138
- }
139
-
140
- return expect
141
- }
142
-
143
- /**
144
- * Checks for compliance by type.
145
- *
146
- * Проверяет на соответствие по типу.
147
- * @param item current element/ текущий элемент
148
- */
149
- private isType(item: PropertyItem): boolean {
150
- return !item?.[PropertyKey.type] || PropertiesTypes.isInType(item[PropertyKey.type], USED_TYPE)
151
- }
152
-
153
- /**
154
- * Checks whether a value is a reference.
155
- *
156
- * Проверяет, является ли значение ссылкой.
157
- * @param value current element/ текущий элемент
158
- */
159
- private isValue(value: PropertyItem['value']): value is string {
160
- return typeof value === 'string'
161
- && Boolean(value.match(/^{[^{}]+}$/))
162
- && !value.match(/[{?.]sys/)
163
- }
164
-
165
- /**
166
- * Checks if the values are valid, if such values have been checked.
167
- *
168
- * Проверяет, подходят ли значения, проверены ли такие значения.
169
- * @param value current element/ текущий элемент
170
- */
171
- private isIgnore(value: string): boolean {
172
- return this.ignore.indexOf(value) !== -1
173
- }
174
-
175
- /**
176
- * Checks if the values are processed for the current link.
177
- *
178
- * Проверяет, обработаны ли значения у текущей ссылки.
179
- * @param value current element/ текущий элемент
180
- */
181
- private isLink(value: string): boolean {
182
- return this.links.indexOf(value) !== -1
183
- }
184
-
185
- /**
186
- * Checks if the given link meets the conditions.
187
- *
188
- * Проверяет, подходит ли данный ссылка под условия.
189
- * @param value current element/ текущий элемент
190
- */
191
- private isData(value: PropertyItem['value']): value is PropertyList {
192
- return isObjectNotArray(value) && Object.keys(value).length > 0
193
- }
194
-
195
- /**
196
- * Checks if the values are hidden.
197
- *
198
- * Проверяет, являются ли значения скрытыми.
199
- * @param parents list of ancestors/ список предков
200
- * @private
201
- */
202
-
203
- /*
204
- private isNone (parents: PropertyItemsParent[]): boolean {
205
- for (const parent of parents) {
206
- if (parent.item?.[PropertyKey.type] === PropertyType.none) {
207
- return true
208
- }
209
- }
210
-
211
- return false
212
- }
213
- */
214
-
215
- /**
216
- * Adds new entries.
217
- *
218
- * Добавляет новые записи.
219
- * @param parent ссылка на предка/ ссылка на предка
220
- * @param items data for processing/ данные для обработки
221
- */
222
- private add(parent: string[], items: PropertyLinkItem[]): void {
223
- const property = this.items.getInfo(`{${parent.join('.')}}`)
224
-
225
- if (property) {
226
- items.forEach(({
227
- name,
228
- data,
229
- properties
230
- }) => {
231
- property.item.value = splice<PropertyItem>(
232
- properties,
233
- data,
234
- name
235
- ) as PropertyList
236
- })
237
- }
238
- }
239
-
240
- /**
241
- * We will add the values to the ignore.
242
- *
243
- * Добавим значения в игнор.
244
- * @param value current element/ текущий элемент
245
- */
246
- private addIgnore(value: string): void {
247
- this.ignore.push(value)
248
- }
249
-
250
- /**
251
- * We will add a label that the current link is processed.
252
- *
253
- * Добавим метку, что текущая ссылка обработана.
254
- * @param value current element/ текущий элемент
255
- */
256
- private addLink(value: string): void {
257
- this.links.push(value)
258
- }
259
- }
@@ -1,187 +0,0 @@
1
- // export:none
2
-
3
- import { forEach, isObjectNotArray, toCamelCase } from '@dxtmisha/functional-basic'
4
-
5
- import { PropertiesToAbstract } from './PropertiesToAbstract'
6
- import { PropertiesItems } from '../PropertiesItems'
7
-
8
- import { type PropertyItem, type PropertyItemsMedia, PropertyKey, PropertyType } from '../../../types/propertyTypes'
9
-
10
- /**
11
- * A class for transforming class.
12
- *
13
- * Класс для преобразования class.
14
- */
15
- export class PropertiesToMedia extends PropertiesToAbstract {
16
- protected readonly FILE_CACHE = '040-media'
17
- private readonly media: PropertyItemsMedia
18
-
19
- /**
20
- * Constructor
21
- * @param items data for processing/ данные для обработки
22
- */
23
- constructor(protected items: PropertiesItems) {
24
- super(items)
25
- this.media = this.items.getMedia()
26
- }
27
-
28
- protected init(): void {
29
- this.items
30
- .findVariable([
31
- PropertyType.mediaGroup,
32
- PropertyType.mediaMaxGroup,
33
- PropertyType.containerGroup,
34
- PropertyType.containerMaxGroup
35
- ])
36
- .forEach(
37
- (
38
- {
39
- design,
40
- name,
41
- item,
42
- parent
43
- }
44
- ) => {
45
- if (
46
- parent?.value
47
- && isObjectNotArray(parent.value)
48
- ) {
49
- if (name in parent.value) {
50
- delete parent.value[name]
51
- }
52
-
53
- Object.assign(
54
- parent.value,
55
- this.toValueGroup(design, name, item, this.getTypeByGroup(item))
56
- )
57
- }
58
- }
59
- )
60
-
61
- this.items
62
- .findVariable([
63
- PropertyType.media,
64
- PropertyType.mediaMax,
65
- PropertyType.container,
66
- PropertyType.containerMax
67
- ])
68
- .forEach(
69
- (
70
- {
71
- design,
72
- name,
73
- item
74
- }
75
- ) => {
76
- item[PropertyKey.name] = this.getName(design, name, item)
77
- }
78
- )
79
- }
80
-
81
- /**
82
- * @param design design name/ название дизайна
83
- * @param name base property name/ базовое название свойства
84
- * @param item current element/ текущий элемент
85
- */
86
- private getName(
87
- design: string,
88
- name: string,
89
- item: PropertyItem
90
- ) {
91
- const values = this.toValueForMedia(
92
- design,
93
- this.items.getReName(name, item).split(',')
94
- )
95
-
96
- if (values.length > 1) {
97
- return `(min-width: ${values?.[0] || '0px'}) and (max-width: calc(${values?.[1] || '1980px'} - 1px))`
98
- } else if (
99
- item?.[PropertyKey.variable] === PropertyType.mediaMax
100
- || item?.[PropertyKey.variable] === PropertyType.containerMax
101
- ) {
102
- return `(max-width: calc(${values?.[0] || '1980px'} - 1px))`
103
- } else {
104
- return `(min-width: ${values?.[0] || '0px'})`
105
- }
106
- }
107
-
108
- /**
109
- * Returns the type of property by group.
110
- *
111
- * Возвращает тип свойства по группе.
112
- * @param item current element/ текущий элемент
113
- */
114
- private getTypeByGroup(item: PropertyItem): PropertyType {
115
- switch (item?.[PropertyKey.variable]) {
116
- case PropertyType.containerGroup:
117
- return PropertyType.container
118
- case PropertyType.containerMaxGroup:
119
- return PropertyType.containerMax
120
- case PropertyType.mediaMaxGroup:
121
- return PropertyType.mediaMax
122
- default:
123
- return PropertyType.media
124
- }
125
- }
126
-
127
- /**
128
- * Updates data if the alias is entered.
129
- *
130
- * Изменяет данные, если введен алиас.
131
- * @param design design name/ название дизайна
132
- * @param values a list of values for media/ список значений для медиа
133
- */
134
- private toValueForMedia(design: string, values: string[]): string[] {
135
- return forEach(values, (value) => {
136
- const key = toCamelCase(value.replace(/^mediaMax|media|containerMax|container/, ''))
137
- const media = this.media?.[design]?.[key]?.value
138
-
139
- return (typeof media === 'string' && media) || key
140
- })
141
- }
142
-
143
- /**
144
- * Creates a group of media values.
145
- *
146
- * Создает группу медиа значений.
147
- * @param design design name/ название дизайна
148
- * @param name base property name/ базовое название свойства
149
- * @param item current element/ текущий элемент
150
- * @param type property type/ тип свойства
151
- */
152
- private toValueGroup(
153
- design: string,
154
- name: string,
155
- item: PropertyItem,
156
- type: PropertyType
157
- ): Record<string, PropertyItem> | undefined {
158
- const medias = this.media?.[design]
159
-
160
- if (medias) {
161
- const data: Record<string, PropertyItem> = {}
162
-
163
- Object.keys(medias).forEach((key) => {
164
- const index: string = toCamelCase(`${name}-${key}`)
165
- const indexMedia: string = toCamelCase(`${type}-${key}`)
166
-
167
- data[index] = {
168
- value: {
169
- [indexMedia]: {
170
- value: item.value,
171
- __i: `${type}|sm`,
172
- __v: type,
173
- __n: indexMedia
174
- }
175
- },
176
- __i: index,
177
- __v: PropertyType.state,
178
- __n: `&--${index}`
179
- } as PropertyItem
180
- })
181
-
182
- return data
183
- }
184
-
185
- return undefined
186
- }
187
- }
@@ -1,101 +0,0 @@
1
- // export:none
2
-
3
- import { forEach, isFilled, isObjectNotArray } from '@dxtmisha/functional-basic'
4
-
5
- import { PropertiesToAbstract } from './PropertiesToAbstract'
6
-
7
- import {
8
- type PropertyItem,
9
- type PropertyItemsItem,
10
- PropertyKey,
11
- type PropertyList,
12
- PropertyType
13
- } from '../../../types/propertyTypes'
14
-
15
- const TYPE = [
16
- PropertyType.var,
17
- PropertyType.state
18
- ]
19
-
20
- /**
21
- * Class for converting properties with multiple values.
22
- *
23
- * Класс для преобразования свойств с множеством значений.
24
- */
25
- export class PropertiesToMulti extends PropertiesToAbstract {
26
- protected readonly FILE_CACHE = '012-multi'
27
-
28
- /**
29
- * Converts property records with multiple types.
30
- *
31
- * Преобразует записи свойств со множеством типов.
32
- */
33
- protected init(): void {
34
- this.getList().forEach(({
35
- item,
36
- name,
37
- value
38
- }) => {
39
- this.read(
40
- this.items.getReName(name, item),
41
- value as PropertyList,
42
- item?.[PropertyKey.varKey] ?? false
43
- )
44
-
45
- item[PropertyKey.variable] = PropertyType.state
46
- })
47
- }
48
-
49
- /**
50
- * Returns a list of properties with multiple values.
51
- *
52
- * Возвращает список свойств с множеством значений.
53
- */
54
- private getList(): PropertyItemsItem[] {
55
- return this.items.each((property) => {
56
- const {
57
- item,
58
- value
59
- } = property
60
-
61
- if (
62
- item?.[PropertyKey.variable] === PropertyType.property
63
- && isFilled(value)
64
- && isObjectNotArray(value)
65
- ) {
66
- return property
67
- }
68
- }) as PropertyItemsItem[]
69
- }
70
-
71
- /**
72
- * Transformation for the element.
73
- *
74
- * Преобразование для элемента.
75
- * @param name property name/ название свойства transformed/
76
- * массив, который нужно преобразовать
77
- * @param properties array with all property records/ массив со всеми записями свойств
78
- * @param isVar should i convert the type to var/ надо ли преобразовывать тип в var
79
- */
80
- private read(
81
- name: string,
82
- properties: PropertyList,
83
- isVar: boolean
84
- ) {
85
- forEach(properties, (item) => {
86
- if (
87
- typeof item.value === 'string'
88
- && item?.[PropertyKey.variable]
89
- && TYPE.indexOf(item[PropertyKey.variable]) !== -1
90
- ) {
91
- item[PropertyKey.variable] = PropertyType.state
92
- item.value = {
93
- [name]: {
94
- value: item.value,
95
- [PropertyKey.variable]: isVar ? PropertyType.var : PropertyType.property
96
- }
97
- } as PropertyItem['value']
98
- }
99
- })
100
- }
101
- }
@@ -1,46 +0,0 @@
1
- // export:none
2
-
3
- import { getColumn, isFilled, isObjectNotArray } from '@dxtmisha/functional-basic'
4
-
5
- import { PropertiesToAbstract } from './PropertiesToAbstract'
6
-
7
- import { PropertyType } from '../../../types/propertyTypes'
8
-
9
- const TYPES = [
10
- PropertyType.var,
11
- PropertyType.property
12
- ]
13
-
14
- /**
15
- * Class for cleaning all empty entries for clothing the array.
16
- *
17
- * Класс для очистки всех пустых записей для облечения массива.
18
- */
19
- export class PropertiesToNone extends PropertiesToAbstract {
20
- protected readonly FILE_CACHE = '900-none'
21
-
22
- /**
23
- * Removes all empty entries from the data.
24
- *
25
- * Удаляет у данных всех пустых записей.
26
- */
27
- protected init(): void {
28
- this.items.findVariable(TYPES)
29
- .forEach(({
30
- name,
31
- value,
32
- parent,
33
- parents
34
- }) => {
35
- if (
36
- parent
37
- && !isFilled(value)
38
- && isObjectNotArray(value)
39
- && isObjectNotArray(parent.value)
40
- ) {
41
- console.error('[None]', `{${getColumn(parents, 'name').join('.')}.${name}}`)
42
- delete parent.value[name]
43
- }
44
- })
45
- }
46
- }