@nodaro/shared 1.4.1

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 (665) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +32 -0
  3. package/dist/index.cjs +12506 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +12269 -0
  6. package/dist/index.d.ts +12269 -0
  7. package/dist/index.js +11831 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +54 -0
  10. package/src/__tests__/__snapshots__/prompt-builder-segments.test.ts.snap +65 -0
  11. package/src/__tests__/ai-avatar-pricing.test.ts +321 -0
  12. package/src/__tests__/apply-video-negative-prompt.test.ts +76 -0
  13. package/src/__tests__/attach-columns.test.ts +28 -0
  14. package/src/__tests__/audio-crossfade-curves.test.ts +33 -0
  15. package/src/__tests__/build-model-menu.test.ts +58 -0
  16. package/src/__tests__/character-aspect-defaults.test.ts +142 -0
  17. package/src/__tests__/character-mention-slug.test.ts +199 -0
  18. package/src/__tests__/character-reference-photo-kinds.test.ts +32 -0
  19. package/src/__tests__/character-usage-mode.test.ts +147 -0
  20. package/src/__tests__/character-variant-assets.test.ts +142 -0
  21. package/src/__tests__/character-voice.test.ts +130 -0
  22. package/src/__tests__/cinematic-avatar-pricing.test.ts +119 -0
  23. package/src/__tests__/combine-transitions.test.ts +137 -0
  24. package/src/__tests__/component-types.test.ts +87 -0
  25. package/src/__tests__/condition-variables.test.ts +98 -0
  26. package/src/__tests__/credit-identifiers.test.ts +811 -0
  27. package/src/__tests__/default-video-provider.test.ts +63 -0
  28. package/src/__tests__/entity-image-handle.test.ts +43 -0
  29. package/src/__tests__/entity-variants.test.ts +33 -0
  30. package/src/__tests__/fal-lip-sync-sets.test.ts +31 -0
  31. package/src/__tests__/featured-entities.test.ts +33 -0
  32. package/src/__tests__/film-pricing.test.ts +64 -0
  33. package/src/__tests__/filter-condition.test.ts +285 -0
  34. package/src/__tests__/freecut-protocol.test.ts +35 -0
  35. package/src/__tests__/generate-text-items.test.ts +19 -0
  36. package/src/__tests__/generated-results.test.ts +50 -0
  37. package/src/__tests__/graph-utils.test.ts +618 -0
  38. package/src/__tests__/group-aggregation.test.ts +83 -0
  39. package/src/__tests__/i18n-locale-completeness.test.ts +156 -0
  40. package/src/__tests__/image-critic-node.test.ts +86 -0
  41. package/src/__tests__/image-mask-mode.test.ts +16 -0
  42. package/src/__tests__/image-ref-limit.test.ts +78 -0
  43. package/src/__tests__/inpaint-region.test.ts +24 -0
  44. package/src/__tests__/input-field-map-parity.test.ts +30 -0
  45. package/src/__tests__/json-evaluator.test.ts +289 -0
  46. package/src/__tests__/json-path.test.ts +64 -0
  47. package/src/__tests__/lip-sync-pricing.test.ts +142 -0
  48. package/src/__tests__/list-merge.test.ts +96 -0
  49. package/src/__tests__/list-sort.test.ts +134 -0
  50. package/src/__tests__/llm-models.test.ts +445 -0
  51. package/src/__tests__/location-mention-slug.test.ts +246 -0
  52. package/src/__tests__/locations-coverage-critic-schema.test.ts +92 -0
  53. package/src/__tests__/loop-delimiter.test.ts +39 -0
  54. package/src/__tests__/lottie-slots.test.ts +245 -0
  55. package/src/__tests__/model-catalog-flux2-resolutions.test.ts +21 -0
  56. package/src/__tests__/model-constants-location.test.ts +20 -0
  57. package/src/__tests__/model-constants.test.ts +122 -0
  58. package/src/__tests__/model-tree.test.ts +86 -0
  59. package/src/__tests__/no-internal-imports.test.ts +25 -0
  60. package/src/__tests__/node-default-mappings.test.ts +175 -0
  61. package/src/__tests__/node-mappable-fields.test.ts +7 -0
  62. package/src/__tests__/node-preset-export.test.ts +46 -0
  63. package/src/__tests__/node-preset-extract.test.ts +166 -0
  64. package/src/__tests__/node-refs-canonical.test.ts +54 -0
  65. package/src/__tests__/node-refs-combine.test.ts +54 -0
  66. package/src/__tests__/node-refs.test.ts +187 -0
  67. package/src/__tests__/node-runtime-keys.test.ts +99 -0
  68. package/src/__tests__/object-aspect-defaults.test.ts +59 -0
  69. package/src/__tests__/parameter-node-value.test.ts +137 -0
  70. package/src/__tests__/pinterest-url.test.ts +35 -0
  71. package/src/__tests__/pipeline-chat.test.ts +110 -0
  72. package/src/__tests__/pipeline-validation.test.ts +98 -0
  73. package/src/__tests__/presentation-utils.test.ts +1137 -0
  74. package/src/__tests__/producer-types.test.ts +47 -0
  75. package/src/__tests__/prompt-length-limits.test.ts +156 -0
  76. package/src/__tests__/provider-directive-defaults.test.ts +46 -0
  77. package/src/__tests__/reduce-strategy-registry.test.ts +43 -0
  78. package/src/__tests__/reference-board-templates.test.ts +33 -0
  79. package/src/__tests__/reference-roles.test.ts +36 -0
  80. package/src/__tests__/resolve-field-mappings.test.ts +110 -0
  81. package/src/__tests__/resolve-pipeline-model.test.ts +76 -0
  82. package/src/__tests__/scene-node-types.test.ts +80 -0
  83. package/src/__tests__/scraper-actors.test.ts +67 -0
  84. package/src/__tests__/seedance-2-catalog.test.ts +18 -0
  85. package/src/__tests__/seedance-2-credit-id.test.ts +23 -0
  86. package/src/__tests__/seedance-aspects.test.ts +52 -0
  87. package/src/__tests__/selector.test.ts +1151 -0
  88. package/src/__tests__/settled-with-limit.test.ts +214 -0
  89. package/src/__tests__/social-media-specs.test.ts +129 -0
  90. package/src/__tests__/sub-workflow-validation.test.ts +88 -0
  91. package/src/__tests__/switchx-pricing.test.ts +28 -0
  92. package/src/__tests__/to-connected-references.test.ts +153 -0
  93. package/src/__tests__/utilities.test.ts +541 -0
  94. package/src/__tests__/video-analysis-pricing.test.ts +58 -0
  95. package/src/__tests__/video-analysis.test.ts +63 -0
  96. package/src/__tests__/video-audio-capability.test.ts +204 -0
  97. package/src/__tests__/video-gen-providers.test.ts +28 -0
  98. package/src/__tests__/video-mode-aliases.test.ts +150 -0
  99. package/src/__tests__/video-ref-limits.test.ts +72 -0
  100. package/src/__tests__/video-utils.test.ts +303 -0
  101. package/src/__tests__/voice-changer-models.test.ts +33 -0
  102. package/src/__tests__/workflow-export-strip.test.ts +46 -0
  103. package/src/ai-avatar-pricing.ts +213 -0
  104. package/src/ancestor-refs.ts +48 -0
  105. package/src/animals.ts +231 -0
  106. package/src/audio-crossfade-curves.ts +73 -0
  107. package/src/audio-fx-presets.ts +64 -0
  108. package/src/avatar-payload-validators.ts +214 -0
  109. package/src/caption-styles.ts +31 -0
  110. package/src/character-aspect-defaults.ts +102 -0
  111. package/src/character-facets.ts +37 -0
  112. package/src/character-mention-slug.ts +166 -0
  113. package/src/character-usage-mode.ts +109 -0
  114. package/src/character-variant-assets.ts +121 -0
  115. package/src/character-voice.ts +151 -0
  116. package/src/cinematic-avatar-pricing.ts +111 -0
  117. package/src/clone-utils.ts +46 -0
  118. package/src/combine-transitions.ts +482 -0
  119. package/src/community.ts +112 -0
  120. package/src/component-types.ts +127 -0
  121. package/src/condition-variables.ts +65 -0
  122. package/src/credit-estimators/index.ts +15 -0
  123. package/src/credit-estimators/video-utils.ts +165 -0
  124. package/src/credit-identifiers.ts +304 -0
  125. package/src/entity-approval-types.ts +31 -0
  126. package/src/entity-aspect-defaults.ts +82 -0
  127. package/src/entity-asset-types.ts +296 -0
  128. package/src/entity-image-handle.ts +36 -0
  129. package/src/extra-refs.ts +139 -0
  130. package/src/featured-entities.ts +136 -0
  131. package/src/film-pricing.ts +117 -0
  132. package/src/filter-condition.ts +250 -0
  133. package/src/flux2-pricing.ts +18 -0
  134. package/src/freecut-protocol.ts +52 -0
  135. package/src/furniture.ts +167 -0
  136. package/src/generate-text-items.ts +15 -0
  137. package/src/generated-results.ts +63 -0
  138. package/src/group-aggregation.ts +75 -0
  139. package/src/hint-graph-types.ts +18 -0
  140. package/src/i18n/action-fx.ar.ts +89 -0
  141. package/src/i18n/action-fx.de.ts +89 -0
  142. package/src/i18n/action-fx.es.ts +89 -0
  143. package/src/i18n/action-fx.fr.ts +89 -0
  144. package/src/i18n/action-fx.he.ts +89 -0
  145. package/src/i18n/action-fx.hi.ts +89 -0
  146. package/src/i18n/action-fx.ja.ts +89 -0
  147. package/src/i18n/action-fx.ko.ts +89 -0
  148. package/src/i18n/action-fx.pt-BR.ts +89 -0
  149. package/src/i18n/action-fx.ru.ts +89 -0
  150. package/src/i18n/action-fx.zh-CN.ts +89 -0
  151. package/src/i18n/aesthetic.ar.ts +170 -0
  152. package/src/i18n/aesthetic.de.ts +48 -0
  153. package/src/i18n/aesthetic.es.ts +169 -0
  154. package/src/i18n/aesthetic.fr.ts +52 -0
  155. package/src/i18n/aesthetic.he.ts +169 -0
  156. package/src/i18n/aesthetic.hi.ts +55 -0
  157. package/src/i18n/aesthetic.ja.ts +165 -0
  158. package/src/i18n/aesthetic.ko.ts +169 -0
  159. package/src/i18n/aesthetic.pt-BR.ts +148 -0
  160. package/src/i18n/aesthetic.ru.ts +155 -0
  161. package/src/i18n/aesthetic.zh-CN.ts +172 -0
  162. package/src/i18n/animals.ar.ts +145 -0
  163. package/src/i18n/animals.de.ts +144 -0
  164. package/src/i18n/animals.es.ts +158 -0
  165. package/src/i18n/animals.fr.ts +144 -0
  166. package/src/i18n/animals.he.ts +155 -0
  167. package/src/i18n/animals.hi.ts +157 -0
  168. package/src/i18n/animals.ja.ts +159 -0
  169. package/src/i18n/animals.ko.ts +159 -0
  170. package/src/i18n/animals.pt-BR.ts +157 -0
  171. package/src/i18n/animals.ru.ts +155 -0
  172. package/src/i18n/animals.zh-CN.ts +155 -0
  173. package/src/i18n/atmosphere.ar.ts +49 -0
  174. package/src/i18n/atmosphere.de.ts +47 -0
  175. package/src/i18n/atmosphere.es.ts +50 -0
  176. package/src/i18n/atmosphere.fr.ts +47 -0
  177. package/src/i18n/atmosphere.he.ts +47 -0
  178. package/src/i18n/atmosphere.hi.ts +49 -0
  179. package/src/i18n/atmosphere.ja.ts +49 -0
  180. package/src/i18n/atmosphere.ko.ts +49 -0
  181. package/src/i18n/atmosphere.pt-BR.ts +49 -0
  182. package/src/i18n/atmosphere.ru.ts +47 -0
  183. package/src/i18n/atmosphere.zh-CN.ts +152 -0
  184. package/src/i18n/backdrop.ar.ts +53 -0
  185. package/src/i18n/backdrop.de.ts +46 -0
  186. package/src/i18n/backdrop.es.ts +54 -0
  187. package/src/i18n/backdrop.fr.ts +52 -0
  188. package/src/i18n/backdrop.he.ts +51 -0
  189. package/src/i18n/backdrop.hi.ts +59 -0
  190. package/src/i18n/backdrop.ja.ts +61 -0
  191. package/src/i18n/backdrop.ko.ts +59 -0
  192. package/src/i18n/backdrop.pt-BR.ts +59 -0
  193. package/src/i18n/backdrop.ru.ts +57 -0
  194. package/src/i18n/backdrop.zh-CN.ts +57 -0
  195. package/src/i18n/camera-format.ar.ts +40 -0
  196. package/src/i18n/camera-format.de.ts +37 -0
  197. package/src/i18n/camera-format.es.ts +41 -0
  198. package/src/i18n/camera-format.fr.ts +37 -0
  199. package/src/i18n/camera-format.he.ts +37 -0
  200. package/src/i18n/camera-format.hi.ts +42 -0
  201. package/src/i18n/camera-format.ja.ts +37 -0
  202. package/src/i18n/camera-format.ko.ts +37 -0
  203. package/src/i18n/camera-format.pt-BR.ts +46 -0
  204. package/src/i18n/camera-format.ru.ts +42 -0
  205. package/src/i18n/camera-format.zh-CN.ts +42 -0
  206. package/src/i18n/camera-motions.ar.ts +86 -0
  207. package/src/i18n/camera-motions.de.ts +74 -0
  208. package/src/i18n/camera-motions.es.ts +86 -0
  209. package/src/i18n/camera-motions.fr.ts +86 -0
  210. package/src/i18n/camera-motions.he.ts +86 -0
  211. package/src/i18n/camera-motions.hi.ts +99 -0
  212. package/src/i18n/camera-motions.ja.ts +99 -0
  213. package/src/i18n/camera-motions.ko.ts +99 -0
  214. package/src/i18n/camera-motions.pt-BR.ts +99 -0
  215. package/src/i18n/camera-motions.ru.ts +99 -0
  216. package/src/i18n/camera-motions.zh-CN.ts +99 -0
  217. package/src/i18n/character-fx.ar.ts +72 -0
  218. package/src/i18n/character-fx.de.ts +72 -0
  219. package/src/i18n/character-fx.es.ts +72 -0
  220. package/src/i18n/character-fx.fr.ts +72 -0
  221. package/src/i18n/character-fx.he.ts +72 -0
  222. package/src/i18n/character-fx.hi.ts +72 -0
  223. package/src/i18n/character-fx.ja.ts +72 -0
  224. package/src/i18n/character-fx.ko.ts +72 -0
  225. package/src/i18n/character-fx.pt-BR.ts +72 -0
  226. package/src/i18n/character-fx.ru.ts +72 -0
  227. package/src/i18n/character-fx.zh-CN.ts +72 -0
  228. package/src/i18n/color-look.ar.ts +50 -0
  229. package/src/i18n/color-look.de.ts +47 -0
  230. package/src/i18n/color-look.es.ts +50 -0
  231. package/src/i18n/color-look.fr.ts +50 -0
  232. package/src/i18n/color-look.he.ts +49 -0
  233. package/src/i18n/color-look.hi.ts +52 -0
  234. package/src/i18n/color-look.ja.ts +54 -0
  235. package/src/i18n/color-look.ko.ts +54 -0
  236. package/src/i18n/color-look.pt-BR.ts +54 -0
  237. package/src/i18n/color-look.ru.ts +52 -0
  238. package/src/i18n/color-look.zh-CN.ts +53 -0
  239. package/src/i18n/composition-effects.ar.ts +26 -0
  240. package/src/i18n/composition-effects.de.ts +25 -0
  241. package/src/i18n/composition-effects.es.ts +27 -0
  242. package/src/i18n/composition-effects.fr.ts +25 -0
  243. package/src/i18n/composition-effects.he.ts +25 -0
  244. package/src/i18n/composition-effects.hi.ts +27 -0
  245. package/src/i18n/composition-effects.ja.ts +27 -0
  246. package/src/i18n/composition-effects.ko.ts +27 -0
  247. package/src/i18n/composition-effects.pt-BR.ts +25 -0
  248. package/src/i18n/composition-effects.ru.ts +82 -0
  249. package/src/i18n/composition-effects.zh-CN.ts +25 -0
  250. package/src/i18n/era.ar.ts +37 -0
  251. package/src/i18n/era.de.ts +34 -0
  252. package/src/i18n/era.es.ts +37 -0
  253. package/src/i18n/era.fr.ts +37 -0
  254. package/src/i18n/era.he.ts +36 -0
  255. package/src/i18n/era.hi.ts +39 -0
  256. package/src/i18n/era.ja.ts +41 -0
  257. package/src/i18n/era.ko.ts +39 -0
  258. package/src/i18n/era.pt-BR.ts +41 -0
  259. package/src/i18n/era.ru.ts +121 -0
  260. package/src/i18n/era.zh-CN.ts +39 -0
  261. package/src/i18n/exposure-settings.ar.ts +28 -0
  262. package/src/i18n/exposure-settings.de.ts +26 -0
  263. package/src/i18n/exposure-settings.es.ts +28 -0
  264. package/src/i18n/exposure-settings.fr.ts +29 -0
  265. package/src/i18n/exposure-settings.he.ts +28 -0
  266. package/src/i18n/exposure-settings.hi.ts +31 -0
  267. package/src/i18n/exposure-settings.ja.ts +31 -0
  268. package/src/i18n/exposure-settings.ko.ts +31 -0
  269. package/src/i18n/exposure-settings.pt-BR.ts +31 -0
  270. package/src/i18n/exposure-settings.ru.ts +31 -0
  271. package/src/i18n/exposure-settings.zh-CN.ts +31 -0
  272. package/src/i18n/framing.ar.ts +78 -0
  273. package/src/i18n/framing.de.ts +73 -0
  274. package/src/i18n/framing.es.ts +78 -0
  275. package/src/i18n/framing.fr.ts +78 -0
  276. package/src/i18n/framing.he.ts +77 -0
  277. package/src/i18n/framing.hi.ts +82 -0
  278. package/src/i18n/framing.ja.ts +84 -0
  279. package/src/i18n/framing.ko.ts +82 -0
  280. package/src/i18n/framing.pt-BR.ts +84 -0
  281. package/src/i18n/framing.ru.ts +82 -0
  282. package/src/i18n/framing.zh-CN.ts +82 -0
  283. package/src/i18n/furniture.ar.ts +92 -0
  284. package/src/i18n/furniture.de.ts +93 -0
  285. package/src/i18n/furniture.es.ts +101 -0
  286. package/src/i18n/furniture.fr.ts +93 -0
  287. package/src/i18n/furniture.he.ts +101 -0
  288. package/src/i18n/furniture.hi.ts +101 -0
  289. package/src/i18n/furniture.ja.ts +101 -0
  290. package/src/i18n/furniture.ko.ts +101 -0
  291. package/src/i18n/furniture.pt-BR.ts +101 -0
  292. package/src/i18n/furniture.ru.ts +101 -0
  293. package/src/i18n/furniture.zh-CN.ts +101 -0
  294. package/src/i18n/held-prop.ar.ts +74 -0
  295. package/src/i18n/held-prop.de.ts +65 -0
  296. package/src/i18n/held-prop.es.ts +83 -0
  297. package/src/i18n/held-prop.fr.ts +74 -0
  298. package/src/i18n/held-prop.he.ts +73 -0
  299. package/src/i18n/held-prop.hi.ts +82 -0
  300. package/src/i18n/held-prop.ja.ts +84 -0
  301. package/src/i18n/held-prop.ko.ts +84 -0
  302. package/src/i18n/held-prop.pt-BR.ts +84 -0
  303. package/src/i18n/held-prop.ru.ts +82 -0
  304. package/src/i18n/held-prop.zh-CN.ts +82 -0
  305. package/src/i18n/index.ts +208 -0
  306. package/src/i18n/instrumentation.ar.ts +195 -0
  307. package/src/i18n/instrumentation.de.ts +195 -0
  308. package/src/i18n/instrumentation.es.ts +195 -0
  309. package/src/i18n/instrumentation.fr.ts +195 -0
  310. package/src/i18n/instrumentation.he.ts +195 -0
  311. package/src/i18n/instrumentation.hi.ts +195 -0
  312. package/src/i18n/instrumentation.ja.ts +195 -0
  313. package/src/i18n/instrumentation.ko.ts +195 -0
  314. package/src/i18n/instrumentation.pt-BR.ts +195 -0
  315. package/src/i18n/instrumentation.ru.ts +195 -0
  316. package/src/i18n/instrumentation.zh-CN.ts +195 -0
  317. package/src/i18n/lens.ar.ts +24 -0
  318. package/src/i18n/lens.de.ts +24 -0
  319. package/src/i18n/lens.es.ts +24 -0
  320. package/src/i18n/lens.fr.ts +24 -0
  321. package/src/i18n/lens.he.ts +24 -0
  322. package/src/i18n/lens.hi.ts +24 -0
  323. package/src/i18n/lens.ja.ts +24 -0
  324. package/src/i18n/lens.ko.ts +24 -0
  325. package/src/i18n/lens.pt-BR.ts +24 -0
  326. package/src/i18n/lens.ru.ts +25 -0
  327. package/src/i18n/lens.zh-CN.ts +24 -0
  328. package/src/i18n/lighting.ar.ts +86 -0
  329. package/src/i18n/lighting.de.ts +84 -0
  330. package/src/i18n/lighting.es.ts +89 -0
  331. package/src/i18n/lighting.fr.ts +84 -0
  332. package/src/i18n/lighting.he.ts +88 -0
  333. package/src/i18n/lighting.hi.ts +90 -0
  334. package/src/i18n/lighting.ja.ts +90 -0
  335. package/src/i18n/lighting.ko.ts +90 -0
  336. package/src/i18n/lighting.pt-BR.ts +90 -0
  337. package/src/i18n/lighting.ru.ts +88 -0
  338. package/src/i18n/lighting.zh-CN.ts +92 -0
  339. package/src/i18n/loop-subject.ar.ts +39 -0
  340. package/src/i18n/loop-subject.de.ts +39 -0
  341. package/src/i18n/loop-subject.es.ts +39 -0
  342. package/src/i18n/loop-subject.fr.ts +39 -0
  343. package/src/i18n/loop-subject.he.ts +39 -0
  344. package/src/i18n/loop-subject.hi.ts +39 -0
  345. package/src/i18n/loop-subject.ja.ts +39 -0
  346. package/src/i18n/loop-subject.ko.ts +39 -0
  347. package/src/i18n/loop-subject.pt-BR.ts +39 -0
  348. package/src/i18n/loop-subject.ru.ts +39 -0
  349. package/src/i18n/loop-subject.zh-CN.ts +39 -0
  350. package/src/i18n/materials.ar.ts +80 -0
  351. package/src/i18n/materials.de.ts +80 -0
  352. package/src/i18n/materials.es.ts +87 -0
  353. package/src/i18n/materials.fr.ts +80 -0
  354. package/src/i18n/materials.he.ts +86 -0
  355. package/src/i18n/materials.hi.ts +86 -0
  356. package/src/i18n/materials.ja.ts +88 -0
  357. package/src/i18n/materials.ko.ts +88 -0
  358. package/src/i18n/materials.pt-BR.ts +88 -0
  359. package/src/i18n/materials.ru.ts +86 -0
  360. package/src/i18n/materials.zh-CN.ts +86 -0
  361. package/src/i18n/mood.ar.ts +61 -0
  362. package/src/i18n/mood.de.ts +61 -0
  363. package/src/i18n/mood.es.ts +66 -0
  364. package/src/i18n/mood.fr.ts +61 -0
  365. package/src/i18n/mood.he.ts +64 -0
  366. package/src/i18n/mood.hi.ts +66 -0
  367. package/src/i18n/mood.ja.ts +66 -0
  368. package/src/i18n/mood.ko.ts +66 -0
  369. package/src/i18n/mood.pt-BR.ts +64 -0
  370. package/src/i18n/mood.ru.ts +64 -0
  371. package/src/i18n/mood.zh-CN.ts +64 -0
  372. package/src/i18n/music-genre.ar.ts +302 -0
  373. package/src/i18n/music-genre.de.ts +302 -0
  374. package/src/i18n/music-genre.es.ts +302 -0
  375. package/src/i18n/music-genre.fr.ts +302 -0
  376. package/src/i18n/music-genre.he.ts +302 -0
  377. package/src/i18n/music-genre.hi.ts +302 -0
  378. package/src/i18n/music-genre.ja.ts +302 -0
  379. package/src/i18n/music-genre.ko.ts +302 -0
  380. package/src/i18n/music-genre.pt-BR.ts +302 -0
  381. package/src/i18n/music-genre.ru.ts +302 -0
  382. package/src/i18n/music-genre.zh-CN.ts +302 -0
  383. package/src/i18n/music-mood.ar.ts +75 -0
  384. package/src/i18n/music-mood.de.ts +75 -0
  385. package/src/i18n/music-mood.es.ts +75 -0
  386. package/src/i18n/music-mood.fr.ts +75 -0
  387. package/src/i18n/music-mood.he.ts +75 -0
  388. package/src/i18n/music-mood.hi.ts +75 -0
  389. package/src/i18n/music-mood.ja.ts +75 -0
  390. package/src/i18n/music-mood.ko.ts +75 -0
  391. package/src/i18n/music-mood.pt-BR.ts +75 -0
  392. package/src/i18n/music-mood.ru.ts +75 -0
  393. package/src/i18n/music-mood.zh-CN.ts +75 -0
  394. package/src/i18n/person.ar.ts +638 -0
  395. package/src/i18n/person.de.ts +629 -0
  396. package/src/i18n/person.es.ts +645 -0
  397. package/src/i18n/person.fr.ts +621 -0
  398. package/src/i18n/person.he.ts +656 -0
  399. package/src/i18n/person.hi.ts +654 -0
  400. package/src/i18n/person.ja.ts +662 -0
  401. package/src/i18n/person.ko.ts +662 -0
  402. package/src/i18n/person.pt-BR.ts +656 -0
  403. package/src/i18n/person.ru.ts +656 -0
  404. package/src/i18n/person.zh-CN.ts +656 -0
  405. package/src/i18n/photo-genre.ar.ts +58 -0
  406. package/src/i18n/photo-genre.de.ts +52 -0
  407. package/src/i18n/photo-genre.es.ts +64 -0
  408. package/src/i18n/photo-genre.fr.ts +58 -0
  409. package/src/i18n/photo-genre.he.ts +62 -0
  410. package/src/i18n/photo-genre.hi.ts +63 -0
  411. package/src/i18n/photo-genre.ja.ts +65 -0
  412. package/src/i18n/photo-genre.ko.ts +63 -0
  413. package/src/i18n/photo-genre.pt-BR.ts +65 -0
  414. package/src/i18n/photo-genre.ru.ts +63 -0
  415. package/src/i18n/photo-genre.zh-CN.ts +63 -0
  416. package/src/i18n/photographer.ar.ts +75 -0
  417. package/src/i18n/photographer.de.ts +74 -0
  418. package/src/i18n/photographer.es.ts +77 -0
  419. package/src/i18n/photographer.fr.ts +77 -0
  420. package/src/i18n/photographer.he.ts +78 -0
  421. package/src/i18n/photographer.hi.ts +80 -0
  422. package/src/i18n/photographer.ja.ts +84 -0
  423. package/src/i18n/photographer.ko.ts +84 -0
  424. package/src/i18n/photographer.pt-BR.ts +83 -0
  425. package/src/i18n/photographer.ru.ts +78 -0
  426. package/src/i18n/photographer.zh-CN.ts +78 -0
  427. package/src/i18n/pose.ar.ts +95 -0
  428. package/src/i18n/pose.de.ts +96 -0
  429. package/src/i18n/pose.es.ts +104 -0
  430. package/src/i18n/pose.fr.ts +96 -0
  431. package/src/i18n/pose.he.ts +104 -0
  432. package/src/i18n/pose.hi.ts +104 -0
  433. package/src/i18n/pose.ja.ts +104 -0
  434. package/src/i18n/pose.ko.ts +104 -0
  435. package/src/i18n/pose.pt-BR.ts +104 -0
  436. package/src/i18n/pose.ru.ts +104 -0
  437. package/src/i18n/pose.zh-CN.ts +104 -0
  438. package/src/i18n/post-process-effects.ar.ts +25 -0
  439. package/src/i18n/post-process-effects.de.ts +24 -0
  440. package/src/i18n/post-process-effects.es.ts +26 -0
  441. package/src/i18n/post-process-effects.fr.ts +24 -0
  442. package/src/i18n/post-process-effects.he.ts +24 -0
  443. package/src/i18n/post-process-effects.hi.ts +26 -0
  444. package/src/i18n/post-process-effects.ja.ts +26 -0
  445. package/src/i18n/post-process-effects.ko.ts +26 -0
  446. package/src/i18n/post-process-effects.pt-BR.ts +24 -0
  447. package/src/i18n/post-process-effects.ru.ts +24 -0
  448. package/src/i18n/post-process-effects.zh-CN.ts +24 -0
  449. package/src/i18n/render-quality.ar.ts +34 -0
  450. package/src/i18n/render-quality.de.ts +30 -0
  451. package/src/i18n/render-quality.es.ts +35 -0
  452. package/src/i18n/render-quality.fr.ts +34 -0
  453. package/src/i18n/render-quality.he.ts +33 -0
  454. package/src/i18n/render-quality.hi.ts +39 -0
  455. package/src/i18n/render-quality.ja.ts +39 -0
  456. package/src/i18n/render-quality.ko.ts +39 -0
  457. package/src/i18n/render-quality.pt-BR.ts +37 -0
  458. package/src/i18n/render-quality.ru.ts +37 -0
  459. package/src/i18n/render-quality.zh-CN.ts +37 -0
  460. package/src/i18n/seasons.ar.ts +10 -0
  461. package/src/i18n/seasons.de.ts +10 -0
  462. package/src/i18n/seasons.es.ts +10 -0
  463. package/src/i18n/seasons.fr.ts +10 -0
  464. package/src/i18n/seasons.he.ts +10 -0
  465. package/src/i18n/seasons.hi.ts +10 -0
  466. package/src/i18n/seasons.ja.ts +10 -0
  467. package/src/i18n/seasons.ko.ts +10 -0
  468. package/src/i18n/seasons.pt-BR.ts +10 -0
  469. package/src/i18n/seasons.ru.ts +10 -0
  470. package/src/i18n/seasons.zh-CN.ts +10 -0
  471. package/src/i18n/setting.ar.ts +73 -0
  472. package/src/i18n/setting.de.ts +73 -0
  473. package/src/i18n/setting.es.ts +77 -0
  474. package/src/i18n/setting.fr.ts +73 -0
  475. package/src/i18n/setting.he.ts +76 -0
  476. package/src/i18n/setting.hi.ts +76 -0
  477. package/src/i18n/setting.ja.ts +78 -0
  478. package/src/i18n/setting.ko.ts +76 -0
  479. package/src/i18n/setting.pt-BR.ts +78 -0
  480. package/src/i18n/setting.ru.ts +76 -0
  481. package/src/i18n/setting.zh-CN.ts +76 -0
  482. package/src/i18n/style.ar.ts +55 -0
  483. package/src/i18n/style.de.ts +54 -0
  484. package/src/i18n/style.es.ts +54 -0
  485. package/src/i18n/style.fr.ts +54 -0
  486. package/src/i18n/style.he.ts +54 -0
  487. package/src/i18n/style.hi.ts +54 -0
  488. package/src/i18n/style.ja.ts +54 -0
  489. package/src/i18n/style.ko.ts +54 -0
  490. package/src/i18n/style.pt-BR.ts +56 -0
  491. package/src/i18n/style.ru.ts +54 -0
  492. package/src/i18n/style.zh-CN.ts +54 -0
  493. package/src/i18n/styling.ar.ts +295 -0
  494. package/src/i18n/styling.de.ts +285 -0
  495. package/src/i18n/styling.es.ts +317 -0
  496. package/src/i18n/styling.fr.ts +285 -0
  497. package/src/i18n/styling.he.ts +307 -0
  498. package/src/i18n/styling.hi.ts +323 -0
  499. package/src/i18n/styling.ja.ts +317 -0
  500. package/src/i18n/styling.ko.ts +311 -0
  501. package/src/i18n/styling.pt-BR.ts +301 -0
  502. package/src/i18n/styling.ru.ts +301 -0
  503. package/src/i18n/styling.zh-CN.ts +307 -0
  504. package/src/i18n/temporal.ar.ts +31 -0
  505. package/src/i18n/temporal.de.ts +24 -0
  506. package/src/i18n/temporal.es.ts +27 -0
  507. package/src/i18n/temporal.fr.ts +28 -0
  508. package/src/i18n/temporal.he.ts +31 -0
  509. package/src/i18n/temporal.hi.ts +31 -0
  510. package/src/i18n/temporal.ja.ts +31 -0
  511. package/src/i18n/temporal.ko.ts +31 -0
  512. package/src/i18n/temporal.pt-BR.ts +31 -0
  513. package/src/i18n/temporal.ru.ts +31 -0
  514. package/src/i18n/temporal.zh-CN.ts +31 -0
  515. package/src/i18n/transitions.ar.ts +97 -0
  516. package/src/i18n/transitions.de.ts +97 -0
  517. package/src/i18n/transitions.es.ts +97 -0
  518. package/src/i18n/transitions.fr.ts +97 -0
  519. package/src/i18n/transitions.he.ts +97 -0
  520. package/src/i18n/transitions.hi.ts +97 -0
  521. package/src/i18n/transitions.ja.ts +97 -0
  522. package/src/i18n/transitions.ko.ts +97 -0
  523. package/src/i18n/transitions.pt-BR.ts +97 -0
  524. package/src/i18n/transitions.ru.ts +97 -0
  525. package/src/i18n/transitions.zh-CN.ts +97 -0
  526. package/src/i18n/types.ts +158 -0
  527. package/src/i18n/vehicles.ar.ts +137 -0
  528. package/src/i18n/vehicles.de.ts +125 -0
  529. package/src/i18n/vehicles.es.ts +138 -0
  530. package/src/i18n/vehicles.fr.ts +125 -0
  531. package/src/i18n/vehicles.he.ts +136 -0
  532. package/src/i18n/vehicles.hi.ts +138 -0
  533. package/src/i18n/vehicles.ja.ts +138 -0
  534. package/src/i18n/vehicles.ko.ts +138 -0
  535. package/src/i18n/vehicles.pt-BR.ts +136 -0
  536. package/src/i18n/vehicles.ru.ts +136 -0
  537. package/src/i18n/vehicles.zh-CN.ts +136 -0
  538. package/src/i18n/voice-character.ar.ts +126 -0
  539. package/src/i18n/voice-character.de.ts +126 -0
  540. package/src/i18n/voice-character.es.ts +126 -0
  541. package/src/i18n/voice-character.fr.ts +126 -0
  542. package/src/i18n/voice-character.he.ts +126 -0
  543. package/src/i18n/voice-character.hi.ts +126 -0
  544. package/src/i18n/voice-character.ja.ts +126 -0
  545. package/src/i18n/voice-character.ko.ts +126 -0
  546. package/src/i18n/voice-character.pt-BR.ts +126 -0
  547. package/src/i18n/voice-character.ru.ts +126 -0
  548. package/src/i18n/voice-character.zh-CN.ts +126 -0
  549. package/src/i18n/voice-delivery.ar.ts +77 -0
  550. package/src/i18n/voice-delivery.de.ts +77 -0
  551. package/src/i18n/voice-delivery.es.ts +77 -0
  552. package/src/i18n/voice-delivery.fr.ts +77 -0
  553. package/src/i18n/voice-delivery.he.ts +77 -0
  554. package/src/i18n/voice-delivery.hi.ts +77 -0
  555. package/src/i18n/voice-delivery.ja.ts +77 -0
  556. package/src/i18n/voice-delivery.ko.ts +77 -0
  557. package/src/i18n/voice-delivery.pt-BR.ts +77 -0
  558. package/src/i18n/voice-delivery.ru.ts +77 -0
  559. package/src/i18n/voice-delivery.zh-CN.ts +77 -0
  560. package/src/i18n/weapons.ar.ts +115 -0
  561. package/src/i18n/weapons.de.ts +114 -0
  562. package/src/i18n/weapons.es.ts +116 -0
  563. package/src/i18n/weapons.fr.ts +103 -0
  564. package/src/i18n/weapons.he.ts +114 -0
  565. package/src/i18n/weapons.hi.ts +116 -0
  566. package/src/i18n/weapons.ja.ts +116 -0
  567. package/src/i18n/weapons.ko.ts +116 -0
  568. package/src/i18n/weapons.pt-BR.ts +114 -0
  569. package/src/i18n/weapons.ru.ts +114 -0
  570. package/src/i18n/weapons.zh-CN.ts +114 -0
  571. package/src/image-critic-node.ts +61 -0
  572. package/src/image-critic-types.ts +40 -0
  573. package/src/index.ts +866 -0
  574. package/src/inject-upstream.ts +15 -0
  575. package/src/inpaint-region.ts +51 -0
  576. package/src/json-evaluator.ts +732 -0
  577. package/src/json-path.ts +52 -0
  578. package/src/lip-sync-pricing.ts +90 -0
  579. package/src/list-merge.ts +40 -0
  580. package/src/list-sort.ts +122 -0
  581. package/src/list-source-resolver.ts +50 -0
  582. package/src/llm-models.ts +245 -0
  583. package/src/location-mention-slug.ts +291 -0
  584. package/src/location-preset-catalog-map.ts +128 -0
  585. package/src/loop-delimiter.ts +73 -0
  586. package/src/lora-routing.ts +95 -0
  587. package/src/lottie-overlay-catalog.ts +175 -0
  588. package/src/lottie-slots.ts +309 -0
  589. package/src/model-catalog.ts +2386 -0
  590. package/src/model-constants.ts +1910 -0
  591. package/src/model-tree.ts +120 -0
  592. package/src/monetization.ts +15 -0
  593. package/src/multi-pick.ts +42 -0
  594. package/src/node-default-mappings.ts +262 -0
  595. package/src/node-mappable-fields.ts +70 -0
  596. package/src/node-preset-export.ts +56 -0
  597. package/src/node-preset-extract.ts +147 -0
  598. package/src/node-refs.ts +253 -0
  599. package/src/node-runtime-keys.ts +117 -0
  600. package/src/object-aspect-defaults.ts +72 -0
  601. package/src/object-picker-types.ts +22 -0
  602. package/src/parameter-node-value.ts +284 -0
  603. package/src/pinterest-url.ts +28 -0
  604. package/src/pipeline-chat.ts +72 -0
  605. package/src/pipeline-defaults.ts +318 -0
  606. package/src/pipeline-events.ts +162 -0
  607. package/src/pipeline-state-types.ts +196 -0
  608. package/src/pipeline-types.ts +647 -0
  609. package/src/pipeline-validation.ts +87 -0
  610. package/src/presentation-types.ts +23 -0
  611. package/src/presentation-utils.ts +397 -0
  612. package/src/producer-types.ts +188 -0
  613. package/src/progress-curve.ts +99 -0
  614. package/src/provider-directive-defaults.ts +69 -0
  615. package/src/reduce-strategy-registry.ts +121 -0
  616. package/src/reference-board-templates.ts +81 -0
  617. package/src/reference-roles.ts +153 -0
  618. package/src/reference-sheet/__tests__/board-to-column.test.ts +20 -0
  619. package/src/reference-sheet/__tests__/catalog.test.ts +50 -0
  620. package/src/reference-sheet/__tests__/cost.test.ts +38 -0
  621. package/src/reference-sheet/__tests__/no-drift.test.ts +28 -0
  622. package/src/reference-sheet/__tests__/panel-plan.test.ts +61 -0
  623. package/src/reference-sheet/__tests__/panel-prompts.test.ts +17 -0
  624. package/src/reference-sheet/__tests__/plan-generation.test.ts +72 -0
  625. package/src/reference-sheet/__tests__/presets.test.ts +54 -0
  626. package/src/reference-sheet/__tests__/types.test.ts +24 -0
  627. package/src/reference-sheet/catalog.ts +144 -0
  628. package/src/reference-sheet/cost.ts +37 -0
  629. package/src/reference-sheet/credit-id.ts +7 -0
  630. package/src/reference-sheet/index.ts +8 -0
  631. package/src/reference-sheet/panel-plan.ts +65 -0
  632. package/src/reference-sheet/panel-prompts.ts +14 -0
  633. package/src/reference-sheet/plan-generation.ts +79 -0
  634. package/src/reference-sheet/presets.ts +77 -0
  635. package/src/reference-sheet/types.ts +92 -0
  636. package/src/repeat-types.ts +97 -0
  637. package/src/resolve-field-mappings.ts +119 -0
  638. package/src/route-filter.ts +80 -0
  639. package/src/scene-helper-types.ts +249 -0
  640. package/src/scene-node-types.ts +281 -0
  641. package/src/scraper-actors.ts +57 -0
  642. package/src/scraper-output-schemas.ts +25 -0
  643. package/src/seasons.ts +45 -0
  644. package/src/selector.ts +864 -0
  645. package/src/settled-with-limit.ts +42 -0
  646. package/src/shot-element.ts +43 -0
  647. package/src/social-media-specs.ts +121 -0
  648. package/src/social-post.ts +24 -0
  649. package/src/sub-workflow-validation.ts +78 -0
  650. package/src/supported-fonts.ts +40 -0
  651. package/src/surround.ts +113 -0
  652. package/src/switchx-pricing.ts +33 -0
  653. package/src/text-separators.ts +59 -0
  654. package/src/to-connected-references.ts +77 -0
  655. package/src/types.ts +272 -0
  656. package/src/variant-job-id.ts +17 -0
  657. package/src/vehicles.ts +213 -0
  658. package/src/video-analysis-pricing.ts +74 -0
  659. package/src/video-analysis.ts +127 -0
  660. package/src/video-duration.ts +25 -0
  661. package/src/voice-changer-models.ts +36 -0
  662. package/src/voice-matcher-types.ts +37 -0
  663. package/src/voices.ts +92 -0
  664. package/src/weapons.ts +190 -0
  665. package/src/workflow-export.ts +153 -0
@@ -0,0 +1,301 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- Makeup --------------------
5
+ "makeup-natural": { label: "Натуральный", description: "Тонкий макияж «без макияжа»" },
6
+ "makeup-glamour": { label: "Гламур", description: "Полный отполированный гламурный лук" },
7
+ "makeup-smoky": { label: "Дымчатый глаз", description: "Тёмный драматичный макияж глаз" },
8
+ "makeup-bold-lips": { label: "Яркие губы", description: "Сильная красная или тёмная помада" },
9
+ "makeup-editorial": { label: "Editorial", description: "Авангардный модный макияж" },
10
+ "makeup-goth": { label: "Готический", description: "Тёмная готическая эстетика" },
11
+ "makeup-dewy": { label: "Сияющий блеск", description: "Свежесияющая кожа в фокусе" },
12
+
13
+ // -------------------- Eyewear --------------------
14
+ "eyewear-sunglasses": { label: "Солнцезащитные очки", description: "Обычные тёмные солнцезащитные очки" },
15
+ "eyewear-aviators": { label: "Авиаторы", description: "Классические очки-авиаторы" },
16
+ "eyewear-cat-eye": { label: "Кошачий глаз", description: "Винтажные оправы кошачий глаз" },
17
+ "eyewear-round": { label: "Круглые / Леннон", description: "Круглые очки в проволочной оправе" },
18
+ "eyewear-fashion": { label: "Модные очки", description: "Смелые дизайнерские оправы" },
19
+ "eyewear-sport": { label: "Спортивные очки", description: "Спортивные очки с обхватом" },
20
+
21
+ // -------------------- Headwear --------------------
22
+ "headwear-beanie": { label: "Шапка-бини", description: "Вязаная шапка-бини" },
23
+ "headwear-baseball-cap": { label: "Бейсболка", description: "Кепка с изогнутым козырьком" },
24
+ "headwear-fedora": { label: "Федора", description: "Шляпа с полями федора" },
25
+ "headwear-sun-hat": { label: "Шляпа от солнца", description: "Шляпа с широкими полями от солнца" },
26
+ "headwear-headband": { label: "Ободок", description: "Ободок для волос" },
27
+ "headwear-bandana": { label: "Бандана", description: "Бандана, повязанная вокруг головы" },
28
+ "headwear-hood": { label: "Капюшон", description: "Капюшон худи поднят" },
29
+ "headwear-crown": { label: "Корона", description: "Королевская или декоративная корона" },
30
+ "headwear-helmet": { label: "Шлем", description: "Защитный шлем" },
31
+ "headwear-veil": { label: "Вуаль", description: "Вуаль, наброшенная на лицо/волосы" },
32
+
33
+ // -------------------- Hair Cut --------------------
34
+ "cut-pixie": { label: "Пикси", description: "Короткая укороченная стрижка пикси" },
35
+ "cut-buzz-cut": { label: "Бритьё машинкой", description: "Очень короткая стрижка машинкой" },
36
+ "cut-crew-cut": { label: "Ёжик", description: "Короткая классическая стрижка ёжик с переходом" },
37
+ "cut-shaved": { label: "Бритая", description: "Полностью бритая голова" },
38
+ "cut-undercut": { label: "Андеркат", description: "Короткие бока, длинный верх" },
39
+ "cut-faux-hawk": { label: "Фоухок", description: "Поднятая центральная полоса, выбритые бока" },
40
+ "cut-mohawk": { label: "Ирокез", description: "Выбритые бока, высокая центральная полоса" },
41
+ "cut-pompadour": { label: "Помпадур", description: "Зачёсанный наверх и назад, объём спереди" },
42
+ "cut-short": { label: "Короткие", description: "Обычная короткая стрижка" },
43
+ "cut-short-curly": { label: "Короткие кудрявые", description: "Короткая многослойная кудрявая форма" },
44
+ "cut-micro-bob": { label: "Микро-боб", description: "Очень короткий боб до уха" },
45
+ "cut-french-bob": { label: "Французский боб", description: "Прямой боб до челюсти, часто с чёлкой" },
46
+ "cut-bob": { label: "Боб", description: "Боб до подбородка" },
47
+ "cut-lob": { label: "Лоб", description: "Длинный боб до ключиц" },
48
+ "cut-mullet": { label: "Маллет", description: "Короткие сверху и по бокам, длинные сзади" },
49
+ "cut-wolf-cut": { label: "Wolf cut", description: "Лохматый многослойный маллет с чёлкой" },
50
+ "cut-bangs": { label: "Прямая чёлка", description: "Прямая чёлка через лоб" },
51
+ "cut-curtain-bangs": { label: "Чёлка-шторка", description: "Чёлка с пробором посередине, обрамляющая лицо" },
52
+ "cut-wispy-bangs": { label: "Тонкая чёлка", description: "Тонкая, прядями, воздушная чёлка" },
53
+ "cut-side-swept": { label: "Зачёсанные на бок", description: "Падают на лицо, закрывая один глаз" },
54
+ "cut-slicked-back": { label: "Зализанные назад", description: "Прямо назад, отполированно" },
55
+ "cut-bardot-tendrils": { label: "Бардо с прядями", description: "Зачёсанные назад с обрамляющими лицо прядями" },
56
+ "cut-ponytail": { label: "Хвост (низкий)", description: "Низкий хвост назад" },
57
+ "cut-high-ponytail": { label: "Высокий хвост", description: "Высокий хвост на макушке" },
58
+ "cut-half-up": { label: "Полу-собранные", description: "Верх собран, остальное распущено" },
59
+ "cut-bun": { label: "Пучок", description: "Классический низкий или средний пучок" },
60
+ "cut-top-knot": { label: "Узел на макушке", description: "Пучок завязан высоко на макушке" },
61
+ "cut-space-buns": { label: "Пучки космо", description: "Два симметричных пучка по сторонам" },
62
+ "cut-braids": { label: "Косы", description: "Множество свободных плетёных кос" },
63
+ "cut-single-braid": { label: "Одна коса", description: "Одна длинная коса по спине" },
64
+ "cut-two-braids": { label: "Две косы", description: "Косы-хвостики по сторонам" },
65
+ "cut-french-braid": { label: "Французская коса", description: "Сплетена плотно к коже головы" },
66
+ "cut-dutch-braid": { label: "Голландская коса", description: "Перевёрнутая выпуклая французская коса" },
67
+ "cut-fishtail-braid": { label: "Коса рыбий хвост", description: "Тонкое плетение из двух прядей" },
68
+ "cut-box-braids": { label: "Box-косы", description: "Отдельные секционные косы" },
69
+ "cut-crown-braid": { label: "Коса-корона", description: "Коса, обёрнутая вокруг головы" },
70
+ "cut-cornrows": { label: "Корнроу", description: "Тугие плетёные корнроу" },
71
+ "cut-dreadlocks": { label: "Дреды", description: "Спутанные верёвочные локоны" },
72
+ "cut-sisterlocks": { label: "Sisterlocks", description: "Тонкие, аккуратно секционированные микро-локи" },
73
+
74
+ // -------------------- Hair State --------------------
75
+ "hair-wet": { label: "Мокрые", description: "Промокшие, прилипшие волосы" },
76
+ "hair-damp": { label: "Влажные", description: "Свежевымытые влажные волосы" },
77
+ "hair-messy": { label: "Растрёпанные", description: "Растрёпанные, неухоженные" },
78
+ "hair-tousled": { label: "Взъерошенные", description: "Слегка примятые, обжитые" },
79
+ "hair-bedhead": { label: "Утренние волосы", description: "Только-проснулся, прижатые с одной стороны" },
80
+ "hair-windswept": { label: "Растрёпанные ветром", description: "Развеваемые ветром, в движении" },
81
+ "hair-voluminous": { label: "Объёмные", description: "Большой, сделанный укладкой объём" },
82
+ "hair-sleek": { label: "Гладкие", description: "Глянцево гладкие прямые" },
83
+ "hair-frizzy": { label: "Пушистые", description: "Ореол пушистости" },
84
+ "hair-strands-on-face": { label: "Пряди на лице", description: "Свободные пряди на лице" },
85
+ "hair-tucked-behind-ear": { label: "Заправленные за ухо", description: "Заправленные за одно ухо" },
86
+ "hair-flowing": { label: "Струящиеся", description: "Длинное струящееся движение" },
87
+
88
+ // -------------------- Hair Treatment --------------------
89
+ "treatment-babylights": { description: "Сверхтонкие, изящные мелирования" },
90
+ "treatment-balayage": { description: "Прорисованные вручную мелирования" },
91
+ "treatment-ombre": { label: "Омбре", description: "Градиент от тёмных корней к светлым кончикам" },
92
+ "treatment-sombre": { label: "Сомбре", description: "Тонкое, мягкое омбре" },
93
+ "treatment-highlights": { label: "Мелирование", description: "Классическое мелирование на фольге" },
94
+ "treatment-lowlights": { label: "Лоулайтс", description: "Полосы более тёмного оттенка" },
95
+ "treatment-rooted": { label: "С корнями", description: "Видимый эффект отросших корней" },
96
+
97
+ // -------------------- Jewelry --------------------
98
+ "jewelry-subtle": { label: "Сдержанные", description: "Минимальные, изящные украшения" },
99
+ "jewelry-statement": { label: "Statement", description: "Смелое выразительное украшение" },
100
+ "jewelry-gold": { label: "Золотые", description: "Золотое ожерелье и серьги" },
101
+ "jewelry-silver": { label: "Серебряные", description: "Серебряное ожерелье и серьги" },
102
+ "jewelry-layered": { label: "Многослойные", description: "Многослойные ожерелья / цепочки" },
103
+ "jewelry-pearl": { label: "Жемчужные", description: "Жемчужное ожерелье / серьги" },
104
+ "jewelry-chunky": { label: "Массивные", description: "Массивные цепи и кольца" },
105
+ "jewelry-smart-watch": { label: "Умные часы", description: "Современные умные часы на запястье" },
106
+ "jewelry-choker-leather": { label: "Кожаный чокер", description: "Чёрный кожаный чокер плотно к горлу" },
107
+ "jewelry-choker-velvet": { label: "Бархатный чокер", description: "Бархатный лентовый чокер, нарядный и винтажный" },
108
+ "jewelry-choker-chain": { label: "Чокер-цепь", description: "Тонкий металлический чокер-цепочка" },
109
+ "jewelry-stud-earrings": { label: "Серьги-пусеты", description: "Маленькие простые пусеты" },
110
+ "jewelry-hoop-earrings": { label: "Серьги-кольца", description: "Золотые или серебряные кольца" },
111
+ "jewelry-ear-cuff": { label: "Кафф", description: "Скульптурный кафф, оплетающий хрящ" },
112
+ "jewelry-septum-ring": { label: "Кольцо в септум", description: "Кольцо в септум носа" },
113
+ "jewelry-body-chain": { label: "Цепь на тело", description: "Тонкая металлическая цепь, перекинутая через торс" },
114
+
115
+ // -------------------- Nails --------------------
116
+ "nails-polished": { label: "Полированные", description: "Прозрачный или нюдовый лак" },
117
+ "nails-red": { label: "Красные", description: "Ярко-красный лак для ногтей" },
118
+ "nails-dark": { label: "Тёмные", description: "Тёмный / чёрный лак" },
119
+ "nails-long-acrylic": { label: "Длинные акриловые", description: "Длинные акриловые ногти" },
120
+ "nails-french": { label: "Французский маникюр", description: "Классический французский маникюр" },
121
+
122
+ // -------------------- Face Paint --------------------
123
+ "face-paint-subtle": { label: "Тонкая роспись по телу", description: "Тонкие акценты росписи по телу / лицу" },
124
+ "face-paint-dramatic": { label: "Драматичная роспись лица", description: "Смелая художественная роспись лица" },
125
+ "face-paint-costume": { label: "Костюмная краска", description: "Косплейная / театральная краска" },
126
+ "face-paint-tribal": { label: "Племенные знаки", description: "Племенные знаки на лице" },
127
+ "face-paint-warpaint": { label: "Боевая раскраска", description: "Полосы боевой раскраски воина" },
128
+
129
+ // -------------------- Fabric --------------------
130
+ "fabric-silk": { label: "Шёлк", description: "Гладкая глянцевая шёлковая одежда" },
131
+ "fabric-cotton": { label: "Хлопок", description: "Мягкий матовый хлопок" },
132
+ "fabric-denim": { label: "Деним", description: "Плотный индиго-деним" },
133
+ "fabric-leather": { label: "Кожа", description: "Богатая мягкая кожа" },
134
+ "fabric-velvet": { label: "Бархат", description: "Плюшевый бархат" },
135
+ "fabric-satin": { label: "Атлас", description: "Глянцевый атлас" },
136
+ "fabric-lace": { label: "Кружево", description: "Изящное узорчатое кружево" },
137
+ "fabric-wool": { label: "Шерсть", description: "Тёплая тканая шерсть" },
138
+ "fabric-linen": { label: "Лён", description: "Натуральный текстурный лён" },
139
+ "fabric-tweed": { label: "Твид", description: "Деревенский тканый твид" },
140
+ "fabric-cashmere": { label: "Кашемир", description: "Роскошный мягкий кашемир" },
141
+ "fabric-chiffon": { label: "Шифон", description: "Прозрачный струящийся шифон" },
142
+ "fabric-fur": { label: "Мех", description: "Густой плюшевый мех" },
143
+ "fabric-sequins": { label: "Пайетки", description: "Сверкающая ткань с пайетками" },
144
+ "fabric-latex": { label: "Латекс", description: "Глянцевый латекс" },
145
+
146
+ // -------------------- Outfit --------------------
147
+ "outfit-school-uniform": { label: "Школьная форма", description: "Классический комплект школьной формы" },
148
+ "outfit-business-suit": { label: "Деловой костюм", description: "Сшитый на заказ двойка деловой костюм" },
149
+ "outfit-tuxedo": { label: "Смокинг", description: "Парадный смокинг black-tie" },
150
+ "outfit-evening-gown": { label: "Вечернее платье", description: "Парадное платье в пол" },
151
+ "outfit-wedding-dress": { label: "Свадебное платье", description: "Белое свадебное платье" },
152
+ "outfit-cocktail-dress": { label: "Коктейльное платье", description: "Коктейльное платье до колен" },
153
+ "outfit-lab-coat": { label: "Лабораторный халат", description: "Белый медицинский лабораторный халат" },
154
+ "outfit-scrubs": { label: "Медицинская роба", description: "Однотонная медицинская роба" },
155
+ "outfit-military": { label: "Военная форма", description: "Оливково-зелёная военная форма" },
156
+ "outfit-lifeguard": { label: "Форма спасателя", description: "Красные топ и шорты спасателя" },
157
+ "outfit-athleisure": { label: "Athleisure", description: "Подходящие топ и низ athleisure" },
158
+ "outfit-tracksuit": { label: "Спортивный костюм", description: "Двойной спортивный костюм с молнией спереди" },
159
+ "outfit-bikini": { label: "Бикини", description: "Раздельный купальник" },
160
+ "outfit-one-piece-swim": { label: "Слитный купальник", description: "Облегающий слитный купальник" },
161
+ "outfit-lingerie": { label: "Комплект белья", description: "Подходящий комплект нижнего белья" },
162
+ "outfit-pajamas": { label: "Пижама", description: "Мягкий хлопковый пижамный комплект" },
163
+ "outfit-bathrobe": { label: "Халат", description: "Плюшевый махровый халат" },
164
+ "outfit-kimono": { label: "Кимоно", description: "Традиционное японское кимоно" },
165
+ "outfit-ballerina": { label: "Балерина", description: "Классический костюм балерины" },
166
+ "outfit-flapper": { label: "Флэппер 1920-х", description: "Расшитое бисером платье флэппер" },
167
+
168
+ // -------------------- Top --------------------
169
+ "top-tshirt": { label: "Футболка", description: "Простая футболка с круглым вырезом" },
170
+ "top-tank": { label: "Майка", description: "Майка с вырезом совком" },
171
+ "top-crop-top": { label: "Кроп-топ", description: "Укороченный выше талии" },
172
+ "top-hoodie": { label: "Худи", description: "Худи через голову" },
173
+ "top-sweater": { label: "Свитер", description: "Вязаный пуловер свитер" },
174
+ "top-turtleneck": { label: "Водолазка", description: "Водолазка с высоким горлом" },
175
+ "top-blouse": { label: "Блузка", description: "Струящаяся нарядная блузка" },
176
+ "top-button-down": { label: "Рубашка на пуговицах", description: "Сшитая рубашка на пуговицах" },
177
+ "top-polo": { label: "Поло", description: "Поло с короткими рукавами" },
178
+ "top-tube-top": { label: "Топ-труба", description: "Топ-труба без бретелей" },
179
+ "top-camisole": { label: "Камисоль", description: "Тонкий атласный ками" },
180
+ "top-corset": { label: "Корсет", description: "Структурный корсет-топ" },
181
+ "top-bra-top": { label: "Топ-бра", description: "Топ-бра, открывающий талию" },
182
+ "top-sports-bra": { label: "Спортивный бра", description: "Спортивный бра" },
183
+ "top-bikini-top": { label: "Верх бикини", description: "Треугольный верх бикини" },
184
+
185
+ // -------------------- Bottom --------------------
186
+ "bottom-jeans": { label: "Джинсы", description: "Классические синие джинсы" },
187
+ "bottom-skinny-jeans": { label: "Скинни-джинсы", description: "Облегающие скинни-джинсы" },
188
+ "bottom-wide-leg-jeans": { label: "Джинсы wide-leg", description: "Широкие свободные джинсы" },
189
+ "bottom-mom-jeans": { label: "Mom-джинсы", description: "Mom-джинсы с высокой талией" },
190
+ "bottom-low-rise-jeans": { label: "Джинсы с низкой посадкой", description: "Джинсы с низкой посадкой" },
191
+ "bottom-chinos": { label: "Чиносы", description: "Сшитые чиносы" },
192
+ "bottom-trousers": { label: "Брюки", description: "Отглаженные брюки" },
193
+ "bottom-cargo": { label: "Карго", description: "Карго с боковыми карманами" },
194
+ "bottom-leggings": { label: "Леггинсы", description: "Облегающие леггинсы" },
195
+ "bottom-sweatpants": { label: "Спортивные штаны", description: "Свободные спортивные штаны" },
196
+ "bottom-shorts": { label: "Шорты", description: "Шорты по середину бедра" },
197
+ "bottom-denim-shorts": { label: "Джинсовые шорты", description: "Обрезанные джинсовые шорты" },
198
+ "bottom-mini-skirt": { label: "Мини-юбка", description: "Мини-юбка выше колена" },
199
+ "bottom-pleated-skirt": { label: "Плиссированная юбка", description: "Плиссированная юбка по середину бедра" },
200
+ "bottom-midi-skirt": { label: "Юбка-миди", description: "Юбка-миди до икры" },
201
+ "bottom-maxi-skirt": { label: "Юбка-макси", description: "Юбка-макси в пол" },
202
+
203
+ // -------------------- Outerwear --------------------
204
+ "outerwear-leather-jacket": { label: "Кожаная куртка", description: "Облегающая кожаная куртка" },
205
+ "outerwear-denim-jacket": { label: "Джинсовая куртка", description: "Классическая джинсовая куртка" },
206
+ "outerwear-bomber": { label: "Куртка-бомбер", description: "Атласная куртка-бомбер" },
207
+ "outerwear-blazer": { label: "Блейзер", description: "Сшитый блейзер" },
208
+ "outerwear-trench": { label: "Тренч", description: "Тренч с поясом" },
209
+ "outerwear-overcoat": { label: "Шерстяное пальто", description: "Длинное шерстяное пальто" },
210
+ "outerwear-puffer": { label: "Пуховик", description: "Стёганый пуховик" },
211
+ "outerwear-parka": { label: "Парка", description: "Парка с капюшоном и меховой отделкой" },
212
+ "outerwear-cardigan": { label: "Кардиган", description: "Кардиган с открытым передом" },
213
+ "outerwear-vest": { label: "Жилет", description: "Сшитый жилет" },
214
+ "outerwear-kimono-robe": { label: "Кимоно-халат", description: "Струящийся кимоно-халат" },
215
+ "outerwear-varsity": { label: "Варсити-куртка", description: "Куртка letterman varsity" },
216
+ "outerwear-fur-coat": { label: "Шуба", description: "Плюшевая шуба" },
217
+
218
+ // -------------------- Legwear --------------------
219
+ "legwear-bare": { label: "Голые ноги", description: "Голые ноги, без чулок" },
220
+ "legwear-sheer-tights": { label: "Тонкие колготки", description: "Тонкие телесные колготки" },
221
+ "legwear-opaque-tights": { label: "Плотные колготки", description: "Плотные непрозрачные колготки" },
222
+ "legwear-fishnets": { label: "Сетка", description: "Сетка-ромбик" },
223
+ "legwear-thigh-highs": { label: "Чулки до бедра", description: "Чулки до бедра" },
224
+ "legwear-lace-top-stockings": { label: "Чулки с кружевной резинкой", description: "Чулки до бедра с кружевной резинкой" },
225
+ "legwear-knee-highs": { label: "Гольфы до колен", description: "Гольфы до колен" },
226
+ "legwear-crew-socks": { label: "Носки до икры", description: "Носки до середины икры" },
227
+ "legwear-ankle-socks": { label: "Носки до щиколотки", description: "Низкие носки до щиколотки" },
228
+ "legwear-leg-warmers": { label: "Гетры", description: "Вязаные гетры" },
229
+
230
+ // -------------------- Footwear --------------------
231
+ "footwear-sneakers": { label: "Кроссовки", description: "Низкие кроссовки" },
232
+ "footwear-high-tops": { label: "Высокие кроссовки", description: "Высокие холщовые кроссовки" },
233
+ "footwear-running-shoes": { label: "Кроссовки для бега", description: "Спортивные кроссовки для бега" },
234
+ "footwear-stilettos": { label: "Шпильки", description: "Острые шпильки" },
235
+ "footwear-block-heels": { label: "Каблук-кубик", description: "Лодочки на массивном каблуке" },
236
+ "footwear-platforms": { label: "Платформа", description: "Высокая подошва-платформа" },
237
+ "footwear-ankle-boots": { label: "Ботильоны", description: "Облегающие ботильоны" },
238
+ "footwear-knee-boots": { label: "Сапоги до колен", description: "Высокие сапоги до колен" },
239
+ "footwear-thigh-high-boots": { label: "Сапоги-чулки", description: "Сапоги выше колена" },
240
+ "footwear-combat-boots": { label: "Берцы", description: "Шнурованные берцы" },
241
+ "footwear-chelsea-boots": { label: "Челси", description: "Челси без шнуровки" },
242
+ "footwear-cowboy-boots": { label: "Ковбойские сапоги", description: "Острые ковбойские сапоги" },
243
+ "footwear-loafers": { label: "Лоферы", description: "Полированные пенни-лоферы" },
244
+ "footwear-oxfords": { label: "Оксфорды", description: "Шнурованные кожаные оксфорды" },
245
+ "footwear-sandals": { label: "Сандалии", description: "Плоские сандалии с ремешками" },
246
+ "footwear-mules": { label: "Мюли", description: "Мюли без задника" },
247
+ "footwear-flip-flops": { label: "Шлёпанцы", description: "Повседневные резиновые шлёпанцы" },
248
+ "footwear-ballet-flats": { label: "Балетки", description: "Балетки без шнуровки" },
249
+ "footwear-barefoot": { label: "Босиком", description: "Без обуви — босиком" },
250
+
251
+ // -------------------- Wardrobe State --------------------
252
+ "state-oversized": { label: "Оверсайз", description: "Свободный, оверсайзовый крой" },
253
+ "state-fitted": { label: "Облегающий", description: "Облегающий силуэт" },
254
+ "state-cropped": { label: "Укороченный", description: "Топ укорочен на талии" },
255
+ "state-sheer": { label: "Прозрачный", description: "Полупрозрачная ткань" },
256
+ "state-wet": { label: "Мокрая", description: "Промокшая, прилипшая к коже" },
257
+ "state-ripped": { label: "Рваная", description: "Рваная и обтрёпанная" },
258
+ "state-distressed": { label: "Состаренная", description: "Поношенная, выцветшая, обветренная" },
259
+ "state-vintage": { label: "Винтаж", description: "Поношенный, ретро-характер" },
260
+ "state-tucked-in": { label: "Заправленная", description: "Топ заправлен в низ" },
261
+ "state-half-tucked": { label: "Полузаправленная", description: "Перед заправлен, зад свободен" },
262
+ "state-off-shoulder": { label: "С открытым плечом", description: "Соскользнула с одного плеча" },
263
+ "state-unbuttoned": { label: "Расстёгнутая", description: "Открытая / расстёгнутая" },
264
+ "state-rolled-sleeves": { label: "Закатанные рукава", description: "Рукава закатаны до предплечья" },
265
+ "state-layered": { label: "Многослойная", description: "Множество наложенных слоёв" },
266
+ "outfit-goth": { label: "Готика", description: "Полная тёмная готика: чёрное кружево, кожа, тёмный макияж, цепи" },
267
+ "outfit-emo": { label: "Эмо", description: "Эмо начала 2000-х: скинни-джинсы, футболка с группой, крашеные волосы, подводка" },
268
+ "outfit-streetwear": { label: "Стритвир", description: "Современный стритвир: худи, мешковатые штаны, кроссовки, панама" },
269
+ "outfit-cyberpunk": { label: "Киберпанк", description: "Киберпанк с неоновой подсветкой: техвир, светодиодные акценты, сетчатые слои" },
270
+ "outfit-cottagecore": { label: "Cottagecore", description: "Пасторальная коттеджная эстетика: прерийное платье, фартук, корзина" },
271
+ "outfit-dark-academia": { label: "Dark Academia", description: "Оксфордско-твидовый учёный: блейзер, жилет, оксфордские туфли" },
272
+ "outfit-anime-cosplay": { label: "Аниме-косплей", description: "Костюм по образу узнаваемого аниме-персонажа" },
273
+ "outfit-nurse": { label: "Медсестра", description: "Медицинская роба, стетоскоп, бейдж на ленте" },
274
+ "outfit-pirate": { label: "Пират", description: "Пиратский костюм: треуголка, кушак, рубашка с жабо, сапоги" },
275
+ "outfit-fairy": { label: "Фея", description: "Фэнтезийная фея: газовые крылья, цветочный венок, эфирное платье" },
276
+ "outfit-mermaid": { label: "Русалка", description: "Фэнтезийная русалка: чешуйчатый хвост/юбка, топ-ракушка" },
277
+ "headwear-bucket-hat": { label: "Панама", description: "Мягкая повседневная панама с опущенными полями" },
278
+ "headwear-beret": { label: "Берет", description: "Мягкий круглый французский берет" },
279
+ "headwear-turban": { label: "Тюрбан", description: "Намотанный головной тюрбан, культурный / модный" },
280
+ "headwear-fascinator": { label: "Фасинатор", description: "Маленький декоративный головной убор в стиле королевской свадьбы" },
281
+ "headwear-bowler": { label: "Котелок", description: "Шляпа-котелок с круглой тульёй" },
282
+ "headwear-cowboy-hat": { label: "Ковбойская шляпа", description: "Широкополая ковбойская шляпа в стиле вестерн" },
283
+ "footwear-crocs": { label: "Crocs", description: "Цветные сабо из смолы, повседневные" },
284
+ "footwear-birkenstocks": { label: "Birkenstocks", description: "Сандалии с пробковой стелькой" },
285
+ "footwear-doc-martens": { label: "Doc Martens", description: "Массивные кожаные ботинки в стиле берцев" },
286
+ "footwear-converse": { label: "Converse", description: "Холщовые высокие кроссовки, классические Chuck Taylor" },
287
+ "footwear-vans": { label: "Vans", description: "Слипоны или низкие скейтерские кроссовки" },
288
+ "footwear-espadrilles": { label: "Эспадрильи", description: "Холщовая летняя обувь с плетёной джутовой подошвой" },
289
+ "bottom-overalls": { label: "Комбинезон", description: "Джинсовый комбинезон" },
290
+ "bottom-culottes": { label: "Кюлоты", description: "Широкие укороченные брюки до середины икры" },
291
+ "bottom-palazzo-pants": { label: "Брюки-палаццо", description: "Струящиеся широкие брюки" },
292
+ "bottom-harem-pants": { label: "Шаровары", description: "Свободные брюки с заниженной мотнёй" },
293
+ "bottom-bike-shorts": { label: "Велосипедки", description: "Облегающие лайкровые шорты до середины бедра" },
294
+ "top-bodysuit": { label: "Боди", description: "Облегающая цельная вещь для торса" },
295
+ "top-leotard": { label: "Купальник", description: "Облегающий топ танцевального стиля с рукавами" },
296
+ "top-mesh-top": { label: "Сетчатый топ", description: "Топ из прозрачной сетчатой ткани" },
297
+ "top-sheer-top": { label: "Прозрачный топ", description: "Топ из полупрозрачной ткани" },
298
+ "top-bandeau": { label: "Бандо", description: "Топ-труба без бретелей" },
299
+ }
300
+
301
+ export default map