@ai-stack/payloadcms 3.76.0-beta.1 → 3.76.0-beta.2

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 (337) hide show
  1. package/dist/ai/core/generateObject.js +1 -4
  2. package/dist/ai/core/generateObject.js.map +1 -1
  3. package/dist/ai/core/generateText.js +1 -5
  4. package/dist/ai/core/generateText.js.map +1 -1
  5. package/dist/ai/core/media/generateMedia.js +1 -4
  6. package/dist/ai/core/media/generateMedia.js.map +1 -1
  7. package/dist/ai/core/media/image/generateImage.js +4 -14
  8. package/dist/ai/core/media/image/generateImage.js.map +1 -1
  9. package/dist/ai/core/media/image/handlers/multimodal.js +8 -25
  10. package/dist/ai/core/media/image/handlers/multimodal.js.map +1 -1
  11. package/dist/ai/core/media/image/handlers/standard.js +7 -2
  12. package/dist/ai/core/media/image/handlers/standard.js.map +1 -1
  13. package/dist/ai/core/media/speech/generateSpeech.js +2 -3
  14. package/dist/ai/core/media/speech/generateSpeech.js.map +1 -1
  15. package/dist/ai/core/media/types.d.ts +2 -3
  16. package/dist/ai/core/media/types.js.map +1 -1
  17. package/dist/ai/core/streamObject.js +0 -3
  18. package/dist/ai/core/streamObject.js.map +1 -1
  19. package/dist/ai/core/streamText.js +1 -4
  20. package/dist/ai/core/streamText.js.map +1 -1
  21. package/dist/ai/core/types.d.ts +2 -2
  22. package/dist/ai/core/types.js.map +1 -1
  23. package/dist/ai/providers/blocks/anthropic.js +0 -42
  24. package/dist/ai/providers/blocks/anthropic.js.map +1 -1
  25. package/dist/ai/providers/blocks/elevenlabs.js +1 -106
  26. package/dist/ai/providers/blocks/elevenlabs.js.map +1 -1
  27. package/dist/ai/providers/blocks/fal.js +0 -118
  28. package/dist/ai/providers/blocks/fal.js.map +1 -1
  29. package/dist/ai/providers/blocks/google.js +2 -237
  30. package/dist/ai/providers/blocks/google.js.map +1 -1
  31. package/dist/ai/providers/blocks/openai-compatible.js +0 -144
  32. package/dist/ai/providers/blocks/openai-compatible.js.map +1 -1
  33. package/dist/ai/providers/blocks/openai.js +0 -200
  34. package/dist/ai/providers/blocks/openai.js.map +1 -1
  35. package/dist/ai/providers/blocks/xai.js +0 -53
  36. package/dist/ai/providers/blocks/xai.js.map +1 -1
  37. package/dist/ai/providers/index.d.ts +1 -1
  38. package/dist/ai/providers/index.js +0 -2
  39. package/dist/ai/providers/index.js.map +1 -1
  40. package/dist/ai/providers/registry.d.ts +24 -28
  41. package/dist/ai/providers/registry.js +184 -138
  42. package/dist/ai/providers/registry.js.map +1 -1
  43. package/dist/ai/providers/types.d.ts +12 -33
  44. package/dist/ai/providers/types.js +0 -1
  45. package/dist/ai/providers/types.js.map +1 -1
  46. package/dist/ai/schemas/lexicalJsonSchema.js +1 -1
  47. package/dist/ai/schemas/lexicalJsonSchema.js.map +1 -1
  48. package/dist/ai/utilities/filterEditorSchemaByNodes.js.map +1 -0
  49. package/dist/ai/utilities/generateFileNameByPrompt.js.map +1 -0
  50. package/dist/ai/utilities/isObjectSchema.js.map +1 -0
  51. package/dist/ai/utilities/nodeToSchemaMap.js.map +1 -0
  52. package/dist/ai/{prompts.d.ts → utilities/prompts.d.ts} +1 -1
  53. package/dist/ai/utilities/prompts.js.map +1 -0
  54. package/dist/ai/utilities/systemGenerate.js.map +1 -0
  55. package/dist/collections/AIJobs.js +3 -12
  56. package/dist/collections/AIJobs.js.map +1 -1
  57. package/dist/collections/AIProviders.js +47 -20
  58. package/dist/collections/AIProviders.js.map +1 -1
  59. package/dist/collections/Instructions.js +86 -54
  60. package/dist/collections/Instructions.js.map +1 -1
  61. package/dist/collections/shared.d.ts +30 -0
  62. package/dist/collections/shared.js +15 -0
  63. package/dist/collections/shared.js.map +1 -0
  64. package/dist/endpoints/fetchFields.js +14 -6
  65. package/dist/endpoints/fetchFields.js.map +1 -1
  66. package/dist/endpoints/fetchVoices.js +1 -1
  67. package/dist/endpoints/fetchVoices.js.map +1 -1
  68. package/dist/endpoints/generate.d.ts +7 -0
  69. package/dist/endpoints/generate.js +268 -0
  70. package/dist/endpoints/generate.js.map +1 -0
  71. package/dist/endpoints/index.js +9 -639
  72. package/dist/endpoints/index.js.map +1 -1
  73. package/dist/endpoints/promptMentions.d.ts +2 -0
  74. package/dist/endpoints/promptMentions.js +166 -0
  75. package/dist/endpoints/promptMentions.js.map +1 -0
  76. package/dist/endpoints/upload.d.ts +7 -0
  77. package/dist/endpoints/upload.js +294 -0
  78. package/dist/endpoints/upload.js.map +1 -0
  79. package/dist/endpoints/videogenWebhook.d.ts +7 -0
  80. package/dist/endpoints/videogenWebhook.js +132 -0
  81. package/dist/endpoints/videogenWebhook.js.map +1 -0
  82. package/dist/exports/client.d.ts +2 -1
  83. package/dist/exports/client.js +2 -1
  84. package/dist/exports/client.js.map +1 -1
  85. package/dist/exports/fields.d.ts +2 -1
  86. package/dist/exports/fields.js +2 -1
  87. package/dist/exports/fields.js.map +1 -1
  88. package/dist/fields/ArrayComposeField/ArrayComposeField.js +1 -1
  89. package/dist/fields/ArrayComposeField/ArrayComposeField.js.map +1 -1
  90. package/dist/fields/ArrayComposeField/ArrayComposeField.jsx +1 -1
  91. package/dist/fields/ComposeField/ComposeField.d.ts +1 -0
  92. package/dist/fields/ComposeField/ComposeField.js +18 -8
  93. package/dist/fields/ComposeField/ComposeField.js.map +1 -1
  94. package/dist/fields/ComposeField/ComposeField.jsx +12 -7
  95. package/dist/fields/PromptEditorField/feature.client.d.ts +1 -0
  96. package/dist/fields/PromptEditorField/feature.client.js +173 -0
  97. package/dist/fields/PromptEditorField/feature.client.js.map +1 -0
  98. package/dist/fields/PromptEditorField/feature.client.jsx +148 -0
  99. package/dist/fields/PromptEditorField/feature.server.d.ts +1 -0
  100. package/dist/fields/PromptEditorField/feature.server.js +30 -0
  101. package/dist/fields/PromptEditorField/feature.server.js.map +1 -0
  102. package/dist/fields/PromptField.d.ts +4 -0
  103. package/dist/fields/PromptField.js +18 -0
  104. package/dist/fields/PromptField.js.map +1 -0
  105. package/dist/fields/SelectField/SelectField.js +0 -1
  106. package/dist/fields/SelectField/SelectField.js.map +1 -1
  107. package/dist/fields/SelectField/SelectField.jsx +0 -1
  108. package/dist/index.d.ts +4 -3
  109. package/dist/index.js +4 -2
  110. package/dist/index.js.map +1 -1
  111. package/dist/libraries/handlebars/helpers.js +2 -2
  112. package/dist/libraries/handlebars/helpers.js.map +1 -1
  113. package/dist/libraries/handlebars/replacePlaceholders.js +5 -1
  114. package/dist/libraries/handlebars/replacePlaceholders.js.map +1 -1
  115. package/dist/payload-ai.d.ts +5 -19
  116. package/dist/plugin.js +17 -20
  117. package/dist/plugin.js.map +1 -1
  118. package/dist/providers/FieldProvider/FieldProvider.js +10 -19
  119. package/dist/providers/FieldProvider/FieldProvider.js.map +1 -1
  120. package/dist/providers/FieldProvider/FieldProvider.jsx +7 -17
  121. package/dist/providers/InstructionsProvider/InstructionsProvider.js +4 -1
  122. package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
  123. package/dist/providers/InstructionsProvider/InstructionsProvider.jsx +3 -0
  124. package/dist/translations/de.json +47 -0
  125. package/dist/translations/en.json +45 -2
  126. package/dist/translations/es.json +45 -2
  127. package/dist/translations/fa.json +45 -2
  128. package/dist/translations/fr.json +46 -3
  129. package/dist/translations/hi.json +47 -0
  130. package/dist/translations/index.d.ts +88 -26
  131. package/dist/translations/index.js +18 -32
  132. package/dist/translations/index.js.map +1 -1
  133. package/dist/translations/ja.json +47 -0
  134. package/dist/translations/nb.json +47 -0
  135. package/dist/translations/nl.json +47 -0
  136. package/dist/translations/pl.json +45 -2
  137. package/dist/translations/pt.json +47 -0
  138. package/dist/translations/ru.json +45 -2
  139. package/dist/translations/th.json +47 -0
  140. package/dist/translations/translation-schema.json +184 -11
  141. package/dist/translations/uk.json +45 -2
  142. package/dist/translations/zh.json +47 -0
  143. package/dist/types.d.ts +54 -28
  144. package/dist/types.js.map +1 -1
  145. package/dist/ui/Compose/Compose.js +42 -79
  146. package/dist/ui/Compose/Compose.js.map +1 -1
  147. package/dist/ui/Compose/Compose.jsx +32 -86
  148. package/dist/ui/Compose/ComposePlaceholder.js +1 -1
  149. package/dist/ui/Compose/ComposePlaceholder.js.map +1 -1
  150. package/dist/ui/Compose/ComposePlaceholder.jsx +1 -1
  151. package/dist/ui/Compose/{compose.module.css → compose.module.scss} +3 -5
  152. package/dist/ui/Compose/hooks/menu/Item.d.ts +1 -1
  153. package/dist/ui/Compose/hooks/menu/Item.js +7 -3
  154. package/dist/ui/Compose/hooks/menu/Item.js.map +1 -1
  155. package/dist/ui/Compose/hooks/menu/Item.jsx +11 -5
  156. package/dist/ui/Compose/hooks/menu/TranslateMenu.js +3 -1
  157. package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -1
  158. package/dist/ui/Compose/hooks/menu/TranslateMenu.jsx +3 -1
  159. package/dist/ui/Compose/hooks/menu/items.d.ts +8 -8
  160. package/dist/ui/Compose/hooks/menu/itemsMap.d.ts +2 -1
  161. package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -1
  162. package/dist/ui/Compose/hooks/menu/types.d.ts +21 -0
  163. package/dist/ui/Compose/hooks/menu/types.js +3 -0
  164. package/dist/ui/Compose/hooks/menu/types.js.map +1 -0
  165. package/dist/ui/Compose/hooks/menu/useMenu.d.ts +2 -2
  166. package/dist/ui/Compose/hooks/menu/useMenu.js +45 -23
  167. package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -1
  168. package/dist/ui/Compose/hooks/menu/useMenu.jsx +43 -23
  169. package/dist/ui/Compose/hooks/mergeGeneratedValue.d.ts +14 -0
  170. package/dist/ui/Compose/hooks/mergeGeneratedValue.js +38 -0
  171. package/dist/ui/Compose/hooks/mergeGeneratedValue.js.map +1 -0
  172. package/dist/ui/Compose/hooks/useGenerate.js +37 -12
  173. package/dist/ui/Compose/hooks/useGenerate.js.map +1 -1
  174. package/dist/ui/Compose/hooks/useGenerateUpload.js +66 -24
  175. package/dist/ui/Compose/hooks/useGenerateUpload.js.map +1 -1
  176. package/dist/ui/Compose/hooks/useStreamingUpdate.js +4 -4
  177. package/dist/ui/Compose/hooks/useStreamingUpdate.js.map +1 -1
  178. package/dist/ui/ConfigDashboard/configDashboard.module.css +94 -0
  179. package/dist/ui/ConfigDashboard/index.js +27 -92
  180. package/dist/ui/ConfigDashboard/index.js.map +1 -1
  181. package/dist/ui/ConfigDashboard/index.jsx +24 -77
  182. package/dist/ui/DynamicModelSelect/index.js +6 -27
  183. package/dist/ui/DynamicModelSelect/index.js.map +1 -1
  184. package/dist/ui/DynamicModelSelect/index.jsx +6 -29
  185. package/dist/ui/DynamicProviderSelect/index.js +6 -27
  186. package/dist/ui/DynamicProviderSelect/index.js.map +1 -1
  187. package/dist/ui/DynamicProviderSelect/index.jsx +6 -29
  188. package/dist/ui/DynamicVoiceSelect/index.js +34 -83
  189. package/dist/ui/DynamicVoiceSelect/index.js.map +1 -1
  190. package/dist/ui/DynamicVoiceSelect/index.jsx +16 -53
  191. package/dist/ui/GlobalProviderOptions/index.d.ts +2 -0
  192. package/dist/ui/GlobalProviderOptions/index.js +118 -0
  193. package/dist/ui/GlobalProviderOptions/index.js.map +1 -0
  194. package/dist/ui/GlobalProviderOptions/index.jsx +60 -0
  195. package/dist/ui/Icons/Icons.js +1 -1
  196. package/dist/ui/Icons/Icons.js.map +1 -1
  197. package/dist/ui/Icons/Icons.jsx +1 -1
  198. package/dist/ui/Icons/LottieAnimation.js +1 -1
  199. package/dist/ui/Icons/LottieAnimation.js.map +1 -1
  200. package/dist/ui/Icons/LottieAnimation.jsx +1 -1
  201. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.d.ts +12 -0
  202. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js +166 -0
  203. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js.map +1 -0
  204. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.jsx +83 -0
  205. package/dist/ui/InstructionProviderOptions/index.d.ts +2 -0
  206. package/dist/ui/InstructionProviderOptions/index.js +157 -0
  207. package/dist/ui/InstructionProviderOptions/index.js.map +1 -0
  208. package/dist/ui/InstructionProviderOptions/index.jsx +92 -0
  209. package/dist/ui/VoicesFetcher/index.js.map +1 -1
  210. package/dist/ui/hooks/useAISettings.d.ts +26 -0
  211. package/dist/ui/hooks/useAISettings.js +73 -0
  212. package/dist/ui/hooks/useAISettings.js.map +1 -0
  213. package/dist/ui/providerOptions/updateProviderOptionsValue.d.ts +6 -0
  214. package/dist/ui/providerOptions/updateProviderOptionsValue.js +50 -0
  215. package/dist/ui/providerOptions/updateProviderOptionsValue.js.map +1 -0
  216. package/dist/ui/shared/handleSelectChange.d.ts +5 -0
  217. package/dist/ui/shared/handleSelectChange.js +12 -0
  218. package/dist/ui/shared/handleSelectChange.js.map +1 -0
  219. package/dist/ui/shared/types.d.ts +11 -0
  220. package/dist/ui/shared/types.js +5 -0
  221. package/dist/ui/shared/types.js.map +1 -0
  222. package/dist/utilities/ai/resolveEffectiveInstructionSettings.d.ts +15 -0
  223. package/dist/utilities/ai/resolveEffectiveInstructionSettings.js +136 -0
  224. package/dist/utilities/ai/resolveEffectiveInstructionSettings.js.map +1 -0
  225. package/dist/{endpoints → utilities}/buildPromptUtils.js +14 -5
  226. package/dist/utilities/buildPromptUtils.js.map +1 -0
  227. package/dist/utilities/buildSmartPrompt.js +3 -3
  228. package/dist/utilities/buildSmartPrompt.js.map +1 -1
  229. package/dist/utilities/fields/fieldToJsonSchema.js.map +1 -0
  230. package/dist/utilities/fields/getFieldBySchemaPath.js.map +1 -0
  231. package/dist/utilities/fields/getFieldInfo.js.map +1 -0
  232. package/dist/utilities/{updateFieldsConfig.js → fields/updateFieldsConfig.js} +7 -2
  233. package/dist/utilities/fields/updateFieldsConfig.js.map +1 -0
  234. package/dist/utilities/images/extractImageData.js.map +1 -0
  235. package/dist/utilities/images/extractPromptAttachments.js.map +1 -0
  236. package/dist/utilities/{fetchImages.d.ts → images/fetchImages.d.ts} +1 -1
  237. package/dist/utilities/images/fetchImages.js +49 -0
  238. package/dist/utilities/images/fetchImages.js.map +1 -0
  239. package/dist/utilities/images/resolveImageReferences.js +183 -0
  240. package/dist/utilities/images/resolveImageReferences.js.map +1 -0
  241. package/dist/utilities/init/autoSetupProviders.d.ts +3 -0
  242. package/dist/utilities/init/autoSetupProviders.js +216 -0
  243. package/dist/utilities/init/autoSetupProviders.js.map +1 -0
  244. package/dist/utilities/lexical/editorSchemaValidator.js.map +1 -0
  245. package/dist/utilities/lexical/lexicalToHTML.js.map +1 -0
  246. package/dist/utilities/lexical/lexicalToPromptTemplate.d.ts +2 -0
  247. package/dist/utilities/lexical/lexicalToPromptTemplate.js +50 -0
  248. package/dist/utilities/lexical/lexicalToPromptTemplate.js.map +1 -0
  249. package/dist/utilities/lexical/setSafeLexicalState.js.map +1 -0
  250. package/dist/utilities/lexical/stringToLexicalJSON.d.ts +2 -0
  251. package/dist/utilities/lexical/stringToLexicalJSON.js +39 -0
  252. package/dist/utilities/lexical/stringToLexicalJSON.js.map +1 -0
  253. package/dist/utilities/sanitizeLog.d.ts +1 -0
  254. package/dist/utilities/sanitizeLog.js +39 -0
  255. package/dist/utilities/sanitizeLog.js.map +1 -0
  256. package/dist/utilities/seedProperties.js +37 -22
  257. package/dist/utilities/seedProperties.js.map +1 -1
  258. package/package.json +5 -2
  259. package/dist/ai/analyse.d.ts +0 -1
  260. package/dist/ai/analyse.js +0 -3
  261. package/dist/ai/analyse.js.map +0 -1
  262. package/dist/ai/index.d.ts +0 -11
  263. package/dist/ai/index.js +0 -25
  264. package/dist/ai/index.js.map +0 -1
  265. package/dist/ai/prompts.js.map +0 -1
  266. package/dist/ai/utils/filterEditorSchemaByNodes.js.map +0 -1
  267. package/dist/ai/utils/generateFileNameByPrompt.js.map +0 -1
  268. package/dist/ai/utils/isObjectSchema.js.map +0 -1
  269. package/dist/ai/utils/nodeToSchemaMap.js.map +0 -1
  270. package/dist/ai/utils/systemGenerate.js.map +0 -1
  271. package/dist/endpoints/buildPromptUtils.js.map +0 -1
  272. package/dist/endpoints/chat.d.ts +0 -4
  273. package/dist/fields/PromptEditorField/PromptEditorField.d.ts +0 -3
  274. package/dist/fields/PromptEditorField/PromptEditorField.js +0 -217
  275. package/dist/fields/PromptEditorField/PromptEditorField.js.map +0 -1
  276. package/dist/fields/PromptEditorField/PromptEditorField.jsx +0 -160
  277. package/dist/ui/AIConfigDashboard/index.d.ts +0 -2
  278. package/dist/ui/AIConfigDashboard/index.js +0 -224
  279. package/dist/ui/AIConfigDashboard/index.js.map +0 -1
  280. package/dist/ui/AIConfigDashboard/index.jsx +0 -175
  281. package/dist/ui/ProviderOptionsEditor/index.d.ts +0 -7
  282. package/dist/ui/ProviderOptionsEditor/index.js +0 -291
  283. package/dist/ui/ProviderOptionsEditor/index.js.map +0 -1
  284. package/dist/ui/ProviderOptionsEditor/index.jsx +0 -210
  285. package/dist/utilities/editorSchemaValidator.js.map +0 -1
  286. package/dist/utilities/extractImageData.js.map +0 -1
  287. package/dist/utilities/extractPromptAttachments.js.map +0 -1
  288. package/dist/utilities/fetchImages.js +0 -38
  289. package/dist/utilities/fetchImages.js.map +0 -1
  290. package/dist/utilities/fieldToJsonSchema.js.map +0 -1
  291. package/dist/utilities/getFieldBySchemaPath.js.map +0 -1
  292. package/dist/utilities/getFieldInfo.js.map +0 -1
  293. package/dist/utilities/getProviderOptionsFields.d.ts +0 -16
  294. package/dist/utilities/getProviderOptionsFields.js +0 -80
  295. package/dist/utilities/getProviderOptionsFields.js.map +0 -1
  296. package/dist/utilities/isPluginActivated.d.ts +0 -2
  297. package/dist/utilities/isPluginActivated.js +0 -5
  298. package/dist/utilities/isPluginActivated.js.map +0 -1
  299. package/dist/utilities/lexicalToHTML.js.map +0 -1
  300. package/dist/utilities/resolveImageReferences.js +0 -167
  301. package/dist/utilities/resolveImageReferences.js.map +0 -1
  302. package/dist/utilities/schemaConverter.d.ts +0 -3
  303. package/dist/utilities/schemaConverter.js +0 -93
  304. package/dist/utilities/schemaConverter.js.map +0 -1
  305. package/dist/utilities/setSafeLexicalState.js.map +0 -1
  306. package/dist/utilities/updateFieldsConfig.js.map +0 -1
  307. /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.d.ts +0 -0
  308. /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.js +0 -0
  309. /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.d.ts +0 -0
  310. /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.js +0 -0
  311. /package/dist/ai/{utils → utilities}/isObjectSchema.d.ts +0 -0
  312. /package/dist/ai/{utils → utilities}/isObjectSchema.js +0 -0
  313. /package/dist/ai/{utils → utilities}/nodeToSchemaMap.d.ts +0 -0
  314. /package/dist/ai/{utils → utilities}/nodeToSchemaMap.js +0 -0
  315. /package/dist/ai/{prompts.js → utilities/prompts.js} +0 -0
  316. /package/dist/ai/{utils → utilities}/systemGenerate.d.ts +0 -0
  317. /package/dist/ai/{utils → utilities}/systemGenerate.js +0 -0
  318. /package/dist/ui/Icons/{icons.module.css → icons.module.scss} +0 -0
  319. /package/dist/{endpoints → utilities}/buildPromptUtils.d.ts +0 -0
  320. /package/dist/utilities/{fieldToJsonSchema.d.ts → fields/fieldToJsonSchema.d.ts} +0 -0
  321. /package/dist/utilities/{fieldToJsonSchema.js → fields/fieldToJsonSchema.js} +0 -0
  322. /package/dist/utilities/{getFieldBySchemaPath.d.ts → fields/getFieldBySchemaPath.d.ts} +0 -0
  323. /package/dist/utilities/{getFieldBySchemaPath.js → fields/getFieldBySchemaPath.js} +0 -0
  324. /package/dist/utilities/{getFieldInfo.d.ts → fields/getFieldInfo.d.ts} +0 -0
  325. /package/dist/utilities/{getFieldInfo.js → fields/getFieldInfo.js} +0 -0
  326. /package/dist/utilities/{updateFieldsConfig.d.ts → fields/updateFieldsConfig.d.ts} +0 -0
  327. /package/dist/utilities/{extractImageData.d.ts → images/extractImageData.d.ts} +0 -0
  328. /package/dist/utilities/{extractImageData.js → images/extractImageData.js} +0 -0
  329. /package/dist/utilities/{extractPromptAttachments.d.ts → images/extractPromptAttachments.d.ts} +0 -0
  330. /package/dist/utilities/{extractPromptAttachments.js → images/extractPromptAttachments.js} +0 -0
  331. /package/dist/utilities/{resolveImageReferences.d.ts → images/resolveImageReferences.d.ts} +0 -0
  332. /package/dist/utilities/{editorSchemaValidator.d.ts → lexical/editorSchemaValidator.d.ts} +0 -0
  333. /package/dist/utilities/{editorSchemaValidator.js → lexical/editorSchemaValidator.js} +0 -0
  334. /package/dist/utilities/{lexicalToHTML.d.ts → lexical/lexicalToHTML.d.ts} +0 -0
  335. /package/dist/utilities/{lexicalToHTML.js → lexical/lexicalToHTML.js} +0 -0
  336. /package/dist/utilities/{setSafeLexicalState.d.ts → lexical/setSafeLexicalState.d.ts} +0 -0
  337. /package/dist/utilities/{setSafeLexicalState.js → lexical/setSafeLexicalState.js} +0 -0
@@ -1,7 +1,26 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { SelectInput, useField, useFormFields } from '@payloadcms/ui';
4
- import React, { useEffect, useMemo, useState } from 'react';
4
+ import React, { useEffect, useMemo } from 'react';
5
+ import { handleSelectChange } from '../shared/handleSelectChange.js';
6
+ import { useAISettings } from '../hooks/useAISettings.js';
7
+ const StatusMessage = ({ label, message, path })=>/*#__PURE__*/ _jsxs("div", {
8
+ className: "field-type text",
9
+ children: [
10
+ /*#__PURE__*/ _jsx("label", {
11
+ className: "field-label",
12
+ htmlFor: path,
13
+ children: label
14
+ }),
15
+ /*#__PURE__*/ _jsx("p", {
16
+ style: {
17
+ color: 'var(--theme-elevation-600)',
18
+ fontSize: '13px'
19
+ },
20
+ children: message
21
+ })
22
+ ]
23
+ });
5
24
  export const DynamicVoiceSelect = (props)=>{
6
25
  const { name, path } = props;
7
26
  // Get provider from siblings
@@ -13,29 +32,7 @@ export const DynamicVoiceSelect = (props)=>{
13
32
  const { setValue, value } = useField({
14
33
  path
15
34
  });
16
- const [aiSettings, setAiSettings] = useState(null);
17
- const [isLoading, setIsLoading] = useState(true);
18
- // Fetch AI Settings - re-fetch when provider changes to ensure we have latest voices
19
- useEffect(()=>{
20
- const fetchSettings = async ()=>{
21
- setIsLoading(true);
22
- try {
23
- const response = await fetch('/api/globals/ai-providers?depth=1');
24
- if (response.ok) {
25
- const data = await response.json();
26
- setAiSettings(data);
27
- }
28
- } catch (err) {
29
- console.error('Error fetching AI settings:', err);
30
- } finally{
31
- setIsLoading(false);
32
- }
33
- };
34
- void fetchSettings();
35
- }, [
36
- provider
37
- ]) // Re-fetch when provider changes to ensure we have the latest voices
38
- ;
35
+ const { data: aiSettings, isLoading } = useAISettings();
39
36
  const voices = useMemo(()=>{
40
37
  if (!provider || !aiSettings?.providers) {
41
38
  return [];
@@ -68,64 +65,24 @@ export const DynamicVoiceSelect = (props)=>{
68
65
  setValue
69
66
  ]);
70
67
  if (!provider) {
71
- return /*#__PURE__*/ _jsxs("div", {
72
- className: "field-type text",
73
- children: [
74
- /*#__PURE__*/ _jsx("label", {
75
- className: "field-label",
76
- htmlFor: path,
77
- children: "Voice"
78
- }),
79
- /*#__PURE__*/ _jsx("p", {
80
- style: {
81
- color: 'var(--theme-elevation-600)',
82
- fontSize: '13px'
83
- },
84
- children: "Please select a provider first."
85
- })
86
- ]
68
+ return /*#__PURE__*/ _jsx(StatusMessage, {
69
+ label: "Voice",
70
+ message: "Please select a provider first.",
71
+ path: path
87
72
  });
88
73
  }
89
74
  if (isLoading) {
90
- return /*#__PURE__*/ _jsxs("div", {
91
- className: "field-type text",
92
- children: [
93
- /*#__PURE__*/ _jsx("label", {
94
- className: "field-label",
95
- htmlFor: path,
96
- children: "Voice"
97
- }),
98
- /*#__PURE__*/ _jsx("p", {
99
- style: {
100
- color: 'var(--theme-elevation-600)',
101
- fontSize: '13px'
102
- },
103
- children: "Loading voices..."
104
- })
105
- ]
75
+ return /*#__PURE__*/ _jsx(StatusMessage, {
76
+ label: "Voice",
77
+ message: "Loading voices...",
78
+ path: path
106
79
  });
107
80
  }
108
81
  if (voices.length === 0) {
109
- return /*#__PURE__*/ _jsxs("div", {
110
- className: "field-type text",
111
- children: [
112
- /*#__PURE__*/ _jsx("label", {
113
- className: "field-label",
114
- htmlFor: path,
115
- children: "Voice"
116
- }),
117
- /*#__PURE__*/ _jsxs("p", {
118
- style: {
119
- color: 'var(--theme-elevation-600)',
120
- fontSize: '13px'
121
- },
122
- children: [
123
- "No voices available. Please configure voices in AI Settings for ",
124
- provider,
125
- "."
126
- ]
127
- })
128
- ]
82
+ return /*#__PURE__*/ _jsx(StatusMessage, {
83
+ label: "Voice",
84
+ message: `No voices available. Please configure voices in AI Settings for ${provider}.`,
85
+ path: path
129
86
  });
130
87
  }
131
88
  return /*#__PURE__*/ _jsxs("div", {
@@ -138,13 +95,7 @@ export const DynamicVoiceSelect = (props)=>{
138
95
  }),
139
96
  /*#__PURE__*/ _jsx(SelectInput, {
140
97
  name: name,
141
- onChange: (option)=>{
142
- if (option && typeof option === 'object' && 'value' in option) {
143
- setValue(option.value);
144
- } else {
145
- setValue(option);
146
- }
147
- },
98
+ onChange: (option)=>handleSelectChange(setValue, option),
148
99
  options: voices,
149
100
  path: path,
150
101
  value: value
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/DynamicVoiceSelect/index.tsx"],"sourcesContent":["'use client'\n\nimport { SelectInput, useField, useFormFields } from '@payloadcms/ui'\nimport React, { useEffect, useMemo, useState } from 'react'\n\ntype Props = {\n name: string\n path: string\n}\n\ninterface Voice {\n category?: string\n enabled?: boolean\n id: string\n labels?: Record<string, unknown>\n name: string\n preview_url?: string\n}\n\ninterface ProviderBlock {\n blockType: string\n enabled?: boolean\n voices?: Voice[]\n}\n\nexport const DynamicVoiceSelect: React.FC<Props> = (props) => {\n const { name, path } = props\n\n // Get provider from siblings\n const parentPath = path.split('.').slice(0, -1).join('.')\n const providerPath = `${parentPath}.provider`\n\n // Use useFormFields to get the provider field value - this will re-render when provider changes\n const providerField = useFormFields(([fields]) => fields[providerPath])\n const provider = (providerField?.value as string) || ''\n\n const { setValue, value } = useField<string>({ path })\n const [aiSettings, setAiSettings] = useState<{ providers?: ProviderBlock[] } | null>(null)\n const [isLoading, setIsLoading] = useState(true)\n\n // Fetch AI Settings - re-fetch when provider changes to ensure we have latest voices\n useEffect(() => {\n const fetchSettings = async () => {\n setIsLoading(true)\n try {\n const response = await fetch('/api/globals/ai-providers?depth=1')\n if (response.ok) {\n const data = await response.json()\n setAiSettings(data)\n }\n } catch (err) {\n console.error('Error fetching AI settings:', err)\n } finally {\n setIsLoading(false)\n }\n }\n\n void fetchSettings()\n }, [provider]) // Re-fetch when provider changes to ensure we have the latest voices\n\n const voices = useMemo(() => {\n if (!provider || !aiSettings?.providers) {\n return []\n }\n\n // Find the provider block matching the selected provider\n const providerBlock = aiSettings.providers.find(\n (p: ProviderBlock) => p.blockType === provider && p.enabled !== false,\n )\n\n if (!providerBlock?.voices) {\n return []\n }\n\n // Get enabled voices from provider block\n return providerBlock.voices\n .filter((v: Voice) => v.enabled !== false)\n .map((v: Voice) => ({\n label: v.name || v.id,\n value: v.id,\n }))\n }, [provider, aiSettings])\n\n // Clear voice selection when provider changes and current voice is not available\n useEffect(() => {\n if (value && voices.length > 0) {\n const voiceExists = voices.some((v) => v.value === value)\n if (!voiceExists) {\n setValue('')\n }\n }\n }, [voices, value, setValue])\n\n if (!provider) {\n return (\n <div className=\"field-type text\">\n <label className=\"field-label\" htmlFor={path}>\n Voice\n </label>\n <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>\n Please select a provider first.\n </p>\n </div>\n )\n }\n\n if (isLoading) {\n return (\n <div className=\"field-type text\">\n <label className=\"field-label\" htmlFor={path}>\n Voice\n </label>\n <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>Loading voices...</p>\n </div>\n )\n }\n\n if (voices.length === 0) {\n return (\n <div className=\"field-type text\">\n <label className=\"field-label\" htmlFor={path}>\n Voice\n </label>\n <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>\n No voices available. Please configure voices in AI Settings for {provider}.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type select\">\n <label className=\"field-label\" htmlFor={path}>\n Voice\n </label>\n <SelectInput\n name={name}\n onChange={(option) => {\n if (option && typeof option === 'object' && 'value' in option) {\n setValue(option.value as string)\n } else {\n setValue(option)\n }\n }}\n options={voices}\n path={path}\n value={value}\n />\n </div>\n )\n}\n\n"],"names":["SelectInput","useField","useFormFields","React","useEffect","useMemo","useState","DynamicVoiceSelect","props","name","path","parentPath","split","slice","join","providerPath","providerField","fields","provider","value","setValue","aiSettings","setAiSettings","isLoading","setIsLoading","fetchSettings","response","fetch","ok","data","json","err","console","error","voices","providers","providerBlock","find","p","blockType","enabled","filter","v","map","label","id","length","voiceExists","some","div","className","htmlFor","style","color","fontSize","onChange","option","options"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/ui/DynamicVoiceSelect/index.tsx"],"sourcesContent":["'use client'\n\nimport { SelectInput, useField, useFormFields } from '@payloadcms/ui'\nimport React, { useEffect, useMemo } from 'react'\n\nimport type { Voice } from '../shared/types.js'\n\nimport { handleSelectChange } from '../shared/handleSelectChange.js'\nimport { useAISettings } from '../hooks/useAISettings.js'\n\ntype Props = {\n name: string\n path: string\n}\n\ninterface ProviderBlock {\n blockType: string\n enabled?: boolean\n voices?: Voice[]\n}\n\nconst StatusMessage: React.FC<{ label: string; message: string; path: string }> = ({ label, message, path }) => (\n <div className=\"field-type text\">\n <label className=\"field-label\" htmlFor={path}>\n {label}\n </label>\n <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>\n {message}\n </p>\n </div>\n)\n\nexport const DynamicVoiceSelect: React.FC<Props> = (props) => {\n const { name, path } = props\n\n // Get provider from siblings\n const parentPath = path.split('.').slice(0, -1).join('.')\n const providerPath = `${parentPath}.provider`\n\n // Use useFormFields to get the provider field value - this will re-render when provider changes\n const providerField = useFormFields(([fields]) => fields[providerPath])\n const provider = (providerField?.value as string) || ''\n\n const { setValue, value } = useField<string>({ path })\n const { data: aiSettings, isLoading } = useAISettings()\n\n const voices = useMemo(() => {\n if (!provider || !aiSettings?.providers) {\n return []\n }\n\n // Find the provider block matching the selected provider\n const providerBlock = aiSettings.providers.find(\n (p: ProviderBlock) => p.blockType === provider && p.enabled !== false,\n ) as ProviderBlock | undefined\n\n if (!providerBlock?.voices) {\n return []\n }\n\n // Get enabled voices from provider block\n return providerBlock.voices\n .filter((v: Voice) => v.enabled !== false)\n .map((v: Voice) => ({\n label: v.name || v.id,\n value: v.id,\n }))\n }, [provider, aiSettings])\n\n // Clear voice selection when provider changes and current voice is not available\n useEffect(() => {\n if (value && voices.length > 0) {\n const voiceExists = voices.some((v) => v.value === value)\n if (!voiceExists) {\n setValue('')\n }\n }\n }, [voices, value, setValue])\n\n if (!provider) {\n return <StatusMessage label=\"Voice\" message=\"Please select a provider first.\" path={path} />\n }\n\n if (isLoading) {\n return <StatusMessage label=\"Voice\" message=\"Loading voices...\" path={path} />\n }\n\n if (voices.length === 0) {\n return (\n <StatusMessage\n label=\"Voice\"\n message={`No voices available. Please configure voices in AI Settings for ${provider}.`}\n path={path}\n />\n )\n }\n\n return (\n <div className=\"field-type select\">\n <label className=\"field-label\" htmlFor={path}>\n Voice\n </label>\n <SelectInput\n name={name}\n onChange={(option) => handleSelectChange(setValue, option)}\n options={voices}\n path={path}\n value={value}\n />\n </div>\n )\n}\n\n"],"names":["SelectInput","useField","useFormFields","React","useEffect","useMemo","handleSelectChange","useAISettings","StatusMessage","label","message","path","div","className","htmlFor","p","style","color","fontSize","DynamicVoiceSelect","props","name","parentPath","split","slice","join","providerPath","providerField","fields","provider","value","setValue","data","aiSettings","isLoading","voices","providers","providerBlock","find","blockType","enabled","filter","v","map","id","length","voiceExists","some","onChange","option","options"],"mappings":"AAAA;;AAEA,SAASA,WAAW,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,iBAAgB;AACrE,OAAOC,SAASC,SAAS,EAAEC,OAAO,QAAQ,QAAO;AAIjD,SAASC,kBAAkB,QAAQ,kCAAiC;AACpE,SAASC,aAAa,QAAQ,4BAA2B;AAazD,MAAMC,gBAA4E,CAAC,EAAEC,KAAK,EAAEC,OAAO,EAAEC,IAAI,EAAE,iBACzG,MAACC;QAAIC,WAAU;;0BACb,KAACJ;gBAAMI,WAAU;gBAAcC,SAASH;0BACrCF;;0BAEH,KAACM;gBAAEC,OAAO;oBAAEC,OAAO;oBAA8BC,UAAU;gBAAO;0BAC/DR;;;;AAKP,OAAO,MAAMS,qBAAsC,CAACC;IAClD,MAAM,EAAEC,IAAI,EAAEV,IAAI,EAAE,GAAGS;IAEvB,6BAA6B;IAC7B,MAAME,aAAaX,KAAKY,KAAK,CAAC,KAAKC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC;IACrD,MAAMC,eAAe,CAAC,EAAEJ,WAAW,SAAS,CAAC;IAE7C,gGAAgG;IAChG,MAAMK,gBAAgBzB,cAAc,CAAC,CAAC0B,OAAO,GAAKA,MAAM,CAACF,aAAa;IACtE,MAAMG,WAAW,AAACF,eAAeG,SAAoB;IAErD,MAAM,EAAEC,QAAQ,EAAED,KAAK,EAAE,GAAG7B,SAAiB;QAAEU;IAAK;IACpD,MAAM,EAAEqB,MAAMC,UAAU,EAAEC,SAAS,EAAE,GAAG3B;IAExC,MAAM4B,SAAS9B,QAAQ;QACrB,IAAI,CAACwB,YAAY,CAACI,YAAYG,WAAW;YACvC,OAAO,EAAE;QACX;QAEA,yDAAyD;QACzD,MAAMC,gBAAgBJ,WAAWG,SAAS,CAACE,IAAI,CAC7C,CAACvB,IAAqBA,EAAEwB,SAAS,KAAKV,YAAYd,EAAEyB,OAAO,KAAK;QAGlE,IAAI,CAACH,eAAeF,QAAQ;YAC1B,OAAO,EAAE;QACX;QAEA,yCAAyC;QACzC,OAAOE,cAAcF,MAAM,CACxBM,MAAM,CAAC,CAACC,IAAaA,EAAEF,OAAO,KAAK,OACnCG,GAAG,CAAC,CAACD,IAAc,CAAA;gBAClBjC,OAAOiC,EAAErB,IAAI,IAAIqB,EAAEE,EAAE;gBACrBd,OAAOY,EAAEE,EAAE;YACb,CAAA;IACJ,GAAG;QAACf;QAAUI;KAAW;IAEzB,iFAAiF;IACjF7B,UAAU;QACR,IAAI0B,SAASK,OAAOU,MAAM,GAAG,GAAG;YAC9B,MAAMC,cAAcX,OAAOY,IAAI,CAAC,CAACL,IAAMA,EAAEZ,KAAK,KAAKA;YACnD,IAAI,CAACgB,aAAa;gBAChBf,SAAS;YACX;QACF;IACF,GAAG;QAACI;QAAQL;QAAOC;KAAS;IAE5B,IAAI,CAACF,UAAU;QACb,qBAAO,KAACrB;YAAcC,OAAM;YAAQC,SAAQ;YAAkCC,MAAMA;;IACtF;IAEA,IAAIuB,WAAW;QACb,qBAAO,KAAC1B;YAAcC,OAAM;YAAQC,SAAQ;YAAoBC,MAAMA;;IACxE;IAEA,IAAIwB,OAAOU,MAAM,KAAK,GAAG;QACvB,qBACE,KAACrC;YACCC,OAAM;YACNC,SAAS,CAAC,gEAAgE,EAAEmB,SAAS,CAAC,CAAC;YACvFlB,MAAMA;;IAGZ;IAEA,qBACE,MAACC;QAAIC,WAAU;;0BACb,KAACJ;gBAAMI,WAAU;gBAAcC,SAASH;0BAAM;;0BAG9C,KAACX;gBACCqB,MAAMA;gBACN2B,UAAU,CAACC,SAAW3C,mBAAmByB,UAAUkB;gBACnDC,SAASf;gBACTxB,MAAMA;gBACNmB,OAAOA;;;;AAIf,EAAC"}
@@ -1,6 +1,16 @@
1
1
  'use client';
2
2
  import { SelectInput, useField, useFormFields } from '@payloadcms/ui';
3
- import React, { useEffect, useMemo, useState } from 'react';
3
+ import React, { useEffect, useMemo } from 'react';
4
+ import { handleSelectChange } from '../shared/handleSelectChange.js';
5
+ import { useAISettings } from '../hooks/useAISettings.js';
6
+ const StatusMessage = ({ label, message, path }) => (<div className="field-type text">
7
+ <label className="field-label" htmlFor={path}>
8
+ {label}
9
+ </label>
10
+ <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>
11
+ {message}
12
+ </p>
13
+ </div>);
4
14
  export const DynamicVoiceSelect = (props) => {
5
15
  const { name, path } = props;
6
16
  // Get provider from siblings
@@ -10,28 +20,7 @@ export const DynamicVoiceSelect = (props) => {
10
20
  const providerField = useFormFields(([fields]) => fields[providerPath]);
11
21
  const provider = providerField?.value || '';
12
22
  const { setValue, value } = useField({ path });
13
- const [aiSettings, setAiSettings] = useState(null);
14
- const [isLoading, setIsLoading] = useState(true);
15
- // Fetch AI Settings - re-fetch when provider changes to ensure we have latest voices
16
- useEffect(() => {
17
- const fetchSettings = async () => {
18
- setIsLoading(true);
19
- try {
20
- const response = await fetch('/api/globals/ai-providers?depth=1');
21
- if (response.ok) {
22
- const data = await response.json();
23
- setAiSettings(data);
24
- }
25
- }
26
- catch (err) {
27
- console.error('Error fetching AI settings:', err);
28
- }
29
- finally {
30
- setIsLoading(false);
31
- }
32
- };
33
- void fetchSettings();
34
- }, [provider]); // Re-fetch when provider changes to ensure we have the latest voices
23
+ const { data: aiSettings, isLoading } = useAISettings();
35
24
  const voices = useMemo(() => {
36
25
  if (!provider || !aiSettings?.providers) {
37
26
  return [];
@@ -59,44 +48,18 @@ export const DynamicVoiceSelect = (props) => {
59
48
  }
60
49
  }, [voices, value, setValue]);
61
50
  if (!provider) {
62
- return (<div className="field-type text">
63
- <label className="field-label" htmlFor={path}>
64
- Voice
65
- </label>
66
- <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>
67
- Please select a provider first.
68
- </p>
69
- </div>);
51
+ return <StatusMessage label="Voice" message="Please select a provider first." path={path}/>;
70
52
  }
71
53
  if (isLoading) {
72
- return (<div className="field-type text">
73
- <label className="field-label" htmlFor={path}>
74
- Voice
75
- </label>
76
- <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>Loading voices...</p>
77
- </div>);
54
+ return <StatusMessage label="Voice" message="Loading voices..." path={path}/>;
78
55
  }
79
56
  if (voices.length === 0) {
80
- return (<div className="field-type text">
81
- <label className="field-label" htmlFor={path}>
82
- Voice
83
- </label>
84
- <p style={{ color: 'var(--theme-elevation-600)', fontSize: '13px' }}>
85
- No voices available. Please configure voices in AI Settings for {provider}.
86
- </p>
87
- </div>);
57
+ return (<StatusMessage label="Voice" message={`No voices available. Please configure voices in AI Settings for ${provider}.`} path={path}/>);
88
58
  }
89
59
  return (<div className="field-type select">
90
60
  <label className="field-label" htmlFor={path}>
91
61
  Voice
92
62
  </label>
93
- <SelectInput name={name} onChange={(option) => {
94
- if (option && typeof option === 'object' && 'value' in option) {
95
- setValue(option.value);
96
- }
97
- else {
98
- setValue(option);
99
- }
100
- }} options={voices} path={path} value={value}/>
63
+ <SelectInput name={name} onChange={(option) => handleSelectChange(setValue, option)} options={voices} path={path} value={value}/>
101
64
  </div>);
102
65
  };
@@ -0,0 +1,2 @@
1
+ import type { FieldClientComponent } from 'payload';
2
+ export declare const GlobalProviderOptions: FieldClientComponent;
@@ -0,0 +1,118 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useField, useFormFields } from '@payloadcms/ui';
4
+ import * as React from 'react';
5
+ import { useCallback } from 'react';
6
+ import { ProviderOptionsTree } from '../InstructionProviderOptions/ProviderOptionsTree.js';
7
+ import { updateProviderOptionsValue } from '../providerOptions/updateProviderOptionsValue.js';
8
+ function isRecord(value) {
9
+ return !!value && typeof value === 'object' && !Array.isArray(value);
10
+ }
11
+ export const GlobalProviderOptions = ({ path })=>{
12
+ const fieldPath = String(path || '');
13
+ const groupPath = fieldPath.split('.').slice(0, -1).join('.');
14
+ const providerPath = `${groupPath}.provider`;
15
+ const schemaPath = `${groupPath}.schema`;
16
+ const providerField = useFormFields(([fields])=>fields[providerPath]);
17
+ const schemaField = useFormFields(([fields])=>fields[schemaPath]);
18
+ const provider = typeof providerField?.value === 'string' ? providerField.value : undefined;
19
+ const schemaByProvider = isRecord(schemaField?.value) ? schemaField.value : {};
20
+ const schema = provider && isRecord(schemaByProvider[provider]) ? schemaByProvider[provider] : null;
21
+ const { setValue: setProviderOptionsValue, value: providerOptionsValue } = useField({
22
+ path: fieldPath
23
+ });
24
+ const handleOptionChange = useCallback((keyPath, targetValue)=>{
25
+ const nextValue = updateProviderOptionsValue({
26
+ currentValue: providerOptionsValue,
27
+ keyPath,
28
+ provider,
29
+ targetValue
30
+ });
31
+ setProviderOptionsValue(nextValue);
32
+ }, [
33
+ provider,
34
+ providerOptionsValue,
35
+ setProviderOptionsValue
36
+ ]);
37
+ if (!provider) {
38
+ return /*#__PURE__*/ _jsxs("div", {
39
+ className: "field-type",
40
+ style: {
41
+ marginTop: '1rem'
42
+ },
43
+ children: [
44
+ /*#__PURE__*/ _jsx("div", {
45
+ className: "field-label",
46
+ children: "Provider Options"
47
+ }),
48
+ /*#__PURE__*/ _jsx("p", {
49
+ style: {
50
+ color: 'var(--theme-elevation-500)',
51
+ margin: 0
52
+ },
53
+ children: "Select a provider to configure provider options."
54
+ })
55
+ ]
56
+ });
57
+ }
58
+ if (!schema || Object.keys(schema).length === 0) {
59
+ return /*#__PURE__*/ _jsxs("div", {
60
+ className: "field-type",
61
+ style: {
62
+ marginTop: '1rem'
63
+ },
64
+ children: [
65
+ /*#__PURE__*/ _jsx("div", {
66
+ className: "field-label",
67
+ children: "Provider Options"
68
+ }),
69
+ /*#__PURE__*/ _jsx("p", {
70
+ style: {
71
+ color: 'var(--theme-elevation-500)',
72
+ margin: 0
73
+ },
74
+ children: "No provider options schema exists for this provider and capability."
75
+ })
76
+ ]
77
+ });
78
+ }
79
+ const selectedProviderValues = isRecord(providerOptionsValue) && isRecord(providerOptionsValue[provider]) ? providerOptionsValue[provider] : {};
80
+ return /*#__PURE__*/ _jsxs("div", {
81
+ className: "field-type",
82
+ style: {
83
+ marginTop: '1rem'
84
+ },
85
+ children: [
86
+ /*#__PURE__*/ _jsx("div", {
87
+ className: "field-label",
88
+ children: "Provider Options"
89
+ }),
90
+ /*#__PURE__*/ _jsxs("p", {
91
+ style: {
92
+ color: 'var(--theme-elevation-500)',
93
+ marginBottom: '0.75rem',
94
+ marginTop: 0
95
+ },
96
+ children: [
97
+ "Configure default provider options for ",
98
+ provider,
99
+ "."
100
+ ]
101
+ }),
102
+ /*#__PURE__*/ _jsx("div", {
103
+ style: {
104
+ display: 'flex',
105
+ flexDirection: 'column'
106
+ },
107
+ children: /*#__PURE__*/ _jsx(ProviderOptionsTree, {
108
+ onChange: handleOptionChange,
109
+ path: [],
110
+ schemaValue: schema,
111
+ selectedValue: selectedProviderValues
112
+ })
113
+ })
114
+ ]
115
+ });
116
+ };
117
+
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/ui/GlobalProviderOptions/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldClientComponent } from 'payload'\n\nimport { useField, useFormFields } from '@payloadcms/ui'\nimport * as React from 'react'\nimport { useCallback } from 'react'\n\nimport { ProviderOptionsTree } from '../InstructionProviderOptions/ProviderOptionsTree.js'\nimport { updateProviderOptionsValue } from '../providerOptions/updateProviderOptionsValue.js'\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === 'object' && !Array.isArray(value)\n}\n\nexport const GlobalProviderOptions: FieldClientComponent = ({ path }) => {\n const fieldPath = String(path || '')\n const groupPath = fieldPath.split('.').slice(0, -1).join('.')\n const providerPath = `${groupPath}.provider`\n const schemaPath = `${groupPath}.schema`\n\n const providerField = useFormFields(([fields]) => fields[providerPath])\n const schemaField = useFormFields(([fields]) => fields[schemaPath])\n const provider = typeof providerField?.value === 'string' ? providerField.value : undefined\n\n const schemaByProvider = isRecord(schemaField?.value) ? schemaField.value : {}\n const schema = provider && isRecord(schemaByProvider[provider]) ? schemaByProvider[provider] : null\n\n const { setValue: setProviderOptionsValue, value: providerOptionsValue } = useField<unknown>({\n path: fieldPath,\n })\n\n const handleOptionChange = useCallback(\n (keyPath: string[], targetValue: unknown) => {\n const nextValue = updateProviderOptionsValue({\n currentValue: providerOptionsValue,\n keyPath,\n provider,\n targetValue,\n })\n setProviderOptionsValue(nextValue)\n },\n [provider, providerOptionsValue, setProviderOptionsValue],\n )\n\n if (!provider) {\n return (\n <div className=\"field-type\" style={{ marginTop: '1rem' }}>\n <div className=\"field-label\">Provider Options</div>\n <p style={{ color: 'var(--theme-elevation-500)', margin: 0 }}>\n Select a provider to configure provider options.\n </p>\n </div>\n )\n }\n\n if (!schema || Object.keys(schema).length === 0) {\n return (\n <div className=\"field-type\" style={{ marginTop: '1rem' }}>\n <div className=\"field-label\">Provider Options</div>\n <p style={{ color: 'var(--theme-elevation-500)', margin: 0 }}>\n No provider options schema exists for this provider and capability.\n </p>\n </div>\n )\n }\n\n const selectedProviderValues =\n isRecord(providerOptionsValue) && isRecord(providerOptionsValue[provider])\n ? providerOptionsValue[provider]\n : {}\n\n return (\n <div className=\"field-type\" style={{ marginTop: '1rem' }}>\n <div className=\"field-label\">Provider Options</div>\n <p style={{ color: 'var(--theme-elevation-500)', marginBottom: '0.75rem', marginTop: 0 }}>\n Configure default provider options for {provider}.\n </p>\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <ProviderOptionsTree\n onChange={handleOptionChange}\n path={[]}\n schemaValue={schema}\n selectedValue={selectedProviderValues}\n />\n </div>\n </div>\n )\n}\n"],"names":["useField","useFormFields","React","useCallback","ProviderOptionsTree","updateProviderOptionsValue","isRecord","value","Array","isArray","GlobalProviderOptions","path","fieldPath","String","groupPath","split","slice","join","providerPath","schemaPath","providerField","fields","schemaField","provider","undefined","schemaByProvider","schema","setValue","setProviderOptionsValue","providerOptionsValue","handleOptionChange","keyPath","targetValue","nextValue","currentValue","div","className","style","marginTop","p","color","margin","Object","keys","length","selectedProviderValues","marginBottom","display","flexDirection","onChange","schemaValue","selectedValue"],"mappings":"AAAA;;AAIA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,iBAAgB;AACxD,YAAYC,WAAW,QAAO;AAC9B,SAASC,WAAW,QAAQ,QAAO;AAEnC,SAASC,mBAAmB,QAAQ,uDAAsD;AAC1F,SAASC,0BAA0B,QAAQ,mDAAkD;AAE7F,SAASC,SAASC,KAAc;IAC9B,OAAO,CAAC,CAACA,SAAS,OAAOA,UAAU,YAAY,CAACC,MAAMC,OAAO,CAACF;AAChE;AAEA,OAAO,MAAMG,wBAA8C,CAAC,EAAEC,IAAI,EAAE;IAClE,MAAMC,YAAYC,OAAOF,QAAQ;IACjC,MAAMG,YAAYF,UAAUG,KAAK,CAAC,KAAKC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC;IACzD,MAAMC,eAAe,CAAC,EAAEJ,UAAU,SAAS,CAAC;IAC5C,MAAMK,aAAa,CAAC,EAAEL,UAAU,OAAO,CAAC;IAExC,MAAMM,gBAAgBnB,cAAc,CAAC,CAACoB,OAAO,GAAKA,MAAM,CAACH,aAAa;IACtE,MAAMI,cAAcrB,cAAc,CAAC,CAACoB,OAAO,GAAKA,MAAM,CAACF,WAAW;IAClE,MAAMI,WAAW,OAAOH,eAAeb,UAAU,WAAWa,cAAcb,KAAK,GAAGiB;IAElF,MAAMC,mBAAmBnB,SAASgB,aAAaf,SAASe,YAAYf,KAAK,GAAG,CAAC;IAC7E,MAAMmB,SAASH,YAAYjB,SAASmB,gBAAgB,CAACF,SAAS,IAAIE,gBAAgB,CAACF,SAAS,GAAG;IAE/F,MAAM,EAAEI,UAAUC,uBAAuB,EAAErB,OAAOsB,oBAAoB,EAAE,GAAG7B,SAAkB;QAC3FW,MAAMC;IACR;IAEA,MAAMkB,qBAAqB3B,YACzB,CAAC4B,SAAmBC;QAClB,MAAMC,YAAY5B,2BAA2B;YAC3C6B,cAAcL;YACdE;YACAR;YACAS;QACF;QACAJ,wBAAwBK;IAC1B,GACA;QAACV;QAAUM;QAAsBD;KAAwB;IAG3D,IAAI,CAACL,UAAU;QACb,qBACE,MAACY;YAAIC,WAAU;YAAaC,OAAO;gBAAEC,WAAW;YAAO;;8BACrD,KAACH;oBAAIC,WAAU;8BAAc;;8BAC7B,KAACG;oBAAEF,OAAO;wBAAEG,OAAO;wBAA8BC,QAAQ;oBAAE;8BAAG;;;;IAKpE;IAEA,IAAI,CAACf,UAAUgB,OAAOC,IAAI,CAACjB,QAAQkB,MAAM,KAAK,GAAG;QAC/C,qBACE,MAACT;YAAIC,WAAU;YAAaC,OAAO;gBAAEC,WAAW;YAAO;;8BACrD,KAACH;oBAAIC,WAAU;8BAAc;;8BAC7B,KAACG;oBAAEF,OAAO;wBAAEG,OAAO;wBAA8BC,QAAQ;oBAAE;8BAAG;;;;IAKpE;IAEA,MAAMI,yBACJvC,SAASuB,yBAAyBvB,SAASuB,oBAAoB,CAACN,SAAS,IACrEM,oBAAoB,CAACN,SAAS,GAC9B,CAAC;IAEP,qBACE,MAACY;QAAIC,WAAU;QAAaC,OAAO;YAAEC,WAAW;QAAO;;0BACrD,KAACH;gBAAIC,WAAU;0BAAc;;0BAC7B,MAACG;gBAAEF,OAAO;oBAAEG,OAAO;oBAA8BM,cAAc;oBAAWR,WAAW;gBAAE;;oBAAG;oBAChDf;oBAAS;;;0BAEnD,KAACY;gBAAIE,OAAO;oBAAEU,SAAS;oBAAQC,eAAe;gBAAS;0BACrD,cAAA,KAAC5C;oBACC6C,UAAUnB;oBACVnB,MAAM,EAAE;oBACRuC,aAAaxB;oBACbyB,eAAeN;;;;;AAKzB,EAAC"}
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+ import { useField, useFormFields } from '@payloadcms/ui';
3
+ import * as React from 'react';
4
+ import { useCallback } from 'react';
5
+ import { ProviderOptionsTree } from '../InstructionProviderOptions/ProviderOptionsTree.js';
6
+ import { updateProviderOptionsValue } from '../providerOptions/updateProviderOptionsValue.js';
7
+ function isRecord(value) {
8
+ return !!value && typeof value === 'object' && !Array.isArray(value);
9
+ }
10
+ export const GlobalProviderOptions = ({ path }) => {
11
+ const fieldPath = String(path || '');
12
+ const groupPath = fieldPath.split('.').slice(0, -1).join('.');
13
+ const providerPath = `${groupPath}.provider`;
14
+ const schemaPath = `${groupPath}.schema`;
15
+ const providerField = useFormFields(([fields]) => fields[providerPath]);
16
+ const schemaField = useFormFields(([fields]) => fields[schemaPath]);
17
+ const provider = typeof providerField?.value === 'string' ? providerField.value : undefined;
18
+ const schemaByProvider = isRecord(schemaField?.value) ? schemaField.value : {};
19
+ const schema = provider && isRecord(schemaByProvider[provider]) ? schemaByProvider[provider] : null;
20
+ const { setValue: setProviderOptionsValue, value: providerOptionsValue } = useField({
21
+ path: fieldPath,
22
+ });
23
+ const handleOptionChange = useCallback((keyPath, targetValue) => {
24
+ const nextValue = updateProviderOptionsValue({
25
+ currentValue: providerOptionsValue,
26
+ keyPath,
27
+ provider,
28
+ targetValue,
29
+ });
30
+ setProviderOptionsValue(nextValue);
31
+ }, [provider, providerOptionsValue, setProviderOptionsValue]);
32
+ if (!provider) {
33
+ return (<div className="field-type" style={{ marginTop: '1rem' }}>
34
+ <div className="field-label">Provider Options</div>
35
+ <p style={{ color: 'var(--theme-elevation-500)', margin: 0 }}>
36
+ Select a provider to configure provider options.
37
+ </p>
38
+ </div>);
39
+ }
40
+ if (!schema || Object.keys(schema).length === 0) {
41
+ return (<div className="field-type" style={{ marginTop: '1rem' }}>
42
+ <div className="field-label">Provider Options</div>
43
+ <p style={{ color: 'var(--theme-elevation-500)', margin: 0 }}>
44
+ No provider options schema exists for this provider and capability.
45
+ </p>
46
+ </div>);
47
+ }
48
+ const selectedProviderValues = isRecord(providerOptionsValue) && isRecord(providerOptionsValue[provider])
49
+ ? providerOptionsValue[provider]
50
+ : {};
51
+ return (<div className="field-type" style={{ marginTop: '1rem' }}>
52
+ <div className="field-label">Provider Options</div>
53
+ <p style={{ color: 'var(--theme-elevation-500)', marginBottom: '0.75rem', marginTop: 0 }}>
54
+ Configure default provider options for {provider}.
55
+ </p>
56
+ <div style={{ display: 'flex', flexDirection: 'column' }}>
57
+ <ProviderOptionsTree onChange={handleOptionChange} path={[]} schemaValue={schema} selectedValue={selectedProviderValues}/>
58
+ </div>
59
+ </div>);
60
+ };
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import styles from './icons.module.css';
3
+ import styles from './icons.module.scss';
4
4
  import LottieAnimation from './LottieAnimation.js';
5
5
  export const PluginIcon = ({ color = 'white', isLoading })=>{
6
6
  return /*#__PURE__*/ _jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/Icons/Icons.tsx"],"sourcesContent":["import React from 'react'\n\nimport styles from './icons.module.css'\nimport LottieAnimation from './LottieAnimation.js'\n\nexport const PluginIcon = ({\n color = 'white',\n isLoading,\n}: {\n color?: string\n isLoading?: boolean\n}) => {\n return (\n <span className={styles.actions_icon}>\n <LottieAnimation isLoading={isLoading} />\n </span>\n )\n}\n\nexport const TuneIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M450-130v-220h60v80h320v60H510v80h-60Zm-320-80v-60h220v60H130Zm160-160v-80H130v-60h160v-80h60v220h-60Zm160-80v-60h380v60H450Zm160-160v-220h60v80h160v60H670v80h-60Zm-480-80v-60h380v60H130Z\" />\n </svg>\n </span>\n )\n}\n\nexport const LocalLibraryIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M480-115.38q-67.38-54.93-148.85-86.7Q249.69-233.85 160-240v-373.85q91.77 5.39 174.38 43.81Q417-531.62 480-474.92q63-56.7 145.62-95.12 82.61-38.42 174.38-43.81V-240q-89.92 6.15-171.27 37.92-81.35 31.77-148.73 86.7Zm0-50.16q63-46.23 134-74.56 71-28.33 146-37.44v-291.38q-78.38 13-149.65 50.57-71.27 37.58-130.35 96.66-59.08-59.08-130.35-96.66-71.27-37.57-149.65-50.57v291.38q75 9.11 146 37.44t134 74.56Zm0-451.38q-53.31 0-91.27-37.96-37.96-37.97-37.96-91.27 0-53.31 37.96-91.27 37.96-37.96 91.27-37.96 53.31 0 91.27 37.96 37.96 37.96 37.96 91.27 0 53.3-37.96 91.27-37.96 37.96-91.27 37.96Zm.03-40q36.82 0 63.01-26.22 26.19-26.22 26.19-63.04t-26.22-63.01q-26.22-26.19-63.04-26.19t-63.01 26.21q-26.19 26.22-26.19 63.04t26.22 63.01q26.22 26.2 63.04 26.2Zm-.03-89.23Zm0 324.46Z\" />\n </svg>\n </span>\n )\n}\n\nexport const SpellCheckIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M564-93.85 407.85-250 450-292.15l114 114 226.77-226.77 42.15 42.15L564-93.85ZM135.39-320l191.69-520h69.38l190.92 520h-68.92l-49.07-142H250.92l-49.84 142h-65.69ZM272-518h178.31L362-765.54h-3.23L272-518Z\" />\n </svg>\n </span>\n )\n}\n\nexport const TranslateIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m476-100 178.15-460h62.46l178.16 460h-63.62l-45.3-122H584.92l-45.31 122H476ZM160.38-217.69l-42.15-42.16 198.92-199.3q-34.61-35-65.8-83.08Q220.15-590.31 200-640h63.61q17.31 36.31 42.12 72.62 24.81 36.3 53.58 66.07 42.61-43 80.61-104.42T493.62-720H67.69v-60H330v-64.61h60V-780h262.31v60h-97.93q-19.46 67.38-62.03 140.88-42.58 73.5-90.89 121.2l98.69 101.07-22.69 61.62-118.15-121.16-198.93 198.7Zm443.77-57.39h162.46l-81.23-218.23-81.23 218.23Z\" />\n </svg>\n </span>\n )\n}\n\nexport const DocsAddOnIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M650-131v-120H530v-60h120v-120h60v120h120v60H710v120h-60ZM170-250v-60h281.85q-1.85 15.8-1.35 30.09t2.35 29.91H170Zm0-160v-60h379.08q-17.23 12.15-31.5 27.15-14.27 15-25.96 32.85H170Zm0-160v-60h580v60H170Zm0-160v-60h580v60H170Z\" />\n </svg>\n </span>\n )\n}\n\nexport const SummarizeIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M320-603.85q15.08 0 25.62-10.53 10.53-10.54 10.53-25.62 0-15.08-10.53-25.62-10.54-10.53-25.62-10.53-15.08 0-25.62 10.53-10.53 10.54-10.53 25.62 0 15.08 10.53 25.62 10.54 10.53 25.62 10.53Zm0 160q15.08 0 25.62-10.53 10.53-10.54 10.53-25.62 0-15.08-10.53-25.62-10.54-10.53-25.62-10.53-15.08 0-25.62 10.53-10.53 10.54-10.53 25.62 0 15.08 10.53 25.62 10.54 10.53 25.62 10.53Zm0 160q15.08 0 25.62-10.53 10.53-10.54 10.53-25.62 0-15.08-10.53-25.62-10.54-10.53-25.62-10.53-15.08 0-25.62 10.53-10.53 10.54-10.53 25.62 0 15.08 10.53 25.62 10.54 10.53 25.62 10.53ZM212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h419.23L820-631.54v419.23Q820-182 799-161q-21 21-51.31 21H212.31Zm0-60h535.38q5.39 0 8.85-3.46t3.46-8.85V-600H600v-160H212.31q-5.39 0-8.85 3.46t-3.46 8.85v535.38q0 5.39 3.46 8.85t8.85 3.46ZM200-760v160-160V-200v-560Z\" />\n </svg>\n </span>\n )\n}\n\nexport const SegmentIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M380-254.62v-59.99h440v59.99H380ZM380-450v-60h440v60H380ZM140-645.39v-59.99h680v59.99H140Z\" />\n </svg>\n </span>\n )\n}\n\nexport const StylusNoteIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m487.46-283.15 332.31-332.31q2.69-2.69 2.69-6.54t-2.69-6.54l-38.92-38.92q-2.7-2.69-6.54-2.69-3.85 0-6.54 2.69L435.46-335.15l52 52Zm-251 72.38q-89.23-5-134-39.69-44.77-34.69-44.77-98.16 0-60.76 51-98.57 51-37.81 141.77-45.81 43.62-3.77 65.43-15.77 21.8-12 21.8-33.23 0-29.46-29.5-44.96t-96.73-22.27l5.46-59.62q92.23 8.77 136.5 39.77 44.27 31 44.27 87.08 0 47.61-36.57 75.5-36.58 27.88-106.2 33.5-68.61 5.77-102.92 26.77t-34.31 57.61q0 37.31 28.58 55.51 28.58 18.19 92.65 22.34l-2.46 60Zm260.38 3.15L359.92-344.54l373.54-373.15q17.69-17.69 41.35-17.5 23.65.19 41.34 17.5L870-663.85q17.69 17.7 17.69 41.54 0 23.85-17.69 41.54L496.84-207.62ZM363.23-180q-13.54 3.23-23.84-7.08-10.31-10.31-7.08-23.84l27.61-133.62 136.92 136.92L363.23-180Z\" />\n </svg>\n </span>\n )\n}\n\nexport const EditNoteIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M180-400v-60h280v60H180Zm0-160v-60h440v60H180Zm0-160v-60h440v60H180Zm344.62 540v-105.69l217.15-216.16q7.46-7.46 16.11-10.5 8.65-3.03 17.3-3.03 9.43 0 18.25 3.53 8.82 3.54 16.03 10.62l37 37.38q6.46 7.47 10 16.16Q860-439 860-430.31t-3.23 17.69q-3.23 9-10.31 16.46L630.31-180H524.62Zm287.69-250.31-37-37.38 37 37.38Zm-240 202.62h38l129.84-130.47-18.38-19-18.62-18.76-130.84 130.23v38Zm149.46-149.47-18.62-18.76 37 37.76-18.38-19Z\" />\n </svg>\n </span>\n )\n}\n\nexport const ArrowIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m531.69-480-184-184L376-692.31 588.31-480 376-267.69 347.69-296l184-184Z\" />\n </svg>\n </span>\n )\n}\n"],"names":["React","styles","LottieAnimation","PluginIcon","color","isLoading","span","className","actions_icon","TuneIcon","size","icon","svg","height","viewBox","width","xmlns","path","d","LocalLibraryIcon","SpellCheckIcon","TranslateIcon","DocsAddOnIcon","SummarizeIcon","SegmentIcon","StylusNoteIcon","EditNoteIcon","ArrowIcon"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/ui/Icons/Icons.tsx"],"sourcesContent":["import React from 'react'\n\nimport styles from './icons.module.scss'\nimport LottieAnimation from './LottieAnimation.js'\n\nexport const PluginIcon = ({\n color = 'white',\n isLoading,\n}: {\n color?: string\n isLoading?: boolean\n}) => {\n return (\n <span className={styles.actions_icon}>\n <LottieAnimation isLoading={isLoading} />\n </span>\n )\n}\n\nexport const TuneIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M450-130v-220h60v80h320v60H510v80h-60Zm-320-80v-60h220v60H130Zm160-160v-80H130v-60h160v-80h60v220h-60Zm160-80v-60h380v60H450Zm160-160v-220h60v80h160v60H670v80h-60Zm-480-80v-60h380v60H130Z\" />\n </svg>\n </span>\n )\n}\n\nexport const LocalLibraryIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M480-115.38q-67.38-54.93-148.85-86.7Q249.69-233.85 160-240v-373.85q91.77 5.39 174.38 43.81Q417-531.62 480-474.92q63-56.7 145.62-95.12 82.61-38.42 174.38-43.81V-240q-89.92 6.15-171.27 37.92-81.35 31.77-148.73 86.7Zm0-50.16q63-46.23 134-74.56 71-28.33 146-37.44v-291.38q-78.38 13-149.65 50.57-71.27 37.58-130.35 96.66-59.08-59.08-130.35-96.66-71.27-37.57-149.65-50.57v291.38q75 9.11 146 37.44t134 74.56Zm0-451.38q-53.31 0-91.27-37.96-37.96-37.97-37.96-91.27 0-53.31 37.96-91.27 37.96-37.96 91.27-37.96 53.31 0 91.27 37.96 37.96 37.96 37.96 91.27 0 53.3-37.96 91.27-37.96 37.96-91.27 37.96Zm.03-40q36.82 0 63.01-26.22 26.19-26.22 26.19-63.04t-26.22-63.01q-26.22-26.19-63.04-26.19t-63.01 26.21q-26.19 26.22-26.19 63.04t26.22 63.01q26.22 26.2 63.04 26.2Zm-.03-89.23Zm0 324.46Z\" />\n </svg>\n </span>\n )\n}\n\nexport const SpellCheckIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M564-93.85 407.85-250 450-292.15l114 114 226.77-226.77 42.15 42.15L564-93.85ZM135.39-320l191.69-520h69.38l190.92 520h-68.92l-49.07-142H250.92l-49.84 142h-65.69ZM272-518h178.31L362-765.54h-3.23L272-518Z\" />\n </svg>\n </span>\n )\n}\n\nexport const TranslateIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m476-100 178.15-460h62.46l178.16 460h-63.62l-45.3-122H584.92l-45.31 122H476ZM160.38-217.69l-42.15-42.16 198.92-199.3q-34.61-35-65.8-83.08Q220.15-590.31 200-640h63.61q17.31 36.31 42.12 72.62 24.81 36.3 53.58 66.07 42.61-43 80.61-104.42T493.62-720H67.69v-60H330v-64.61h60V-780h262.31v60h-97.93q-19.46 67.38-62.03 140.88-42.58 73.5-90.89 121.2l98.69 101.07-22.69 61.62-118.15-121.16-198.93 198.7Zm443.77-57.39h162.46l-81.23-218.23-81.23 218.23Z\" />\n </svg>\n </span>\n )\n}\n\nexport const DocsAddOnIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M650-131v-120H530v-60h120v-120h60v120h120v60H710v120h-60ZM170-250v-60h281.85q-1.85 15.8-1.35 30.09t2.35 29.91H170Zm0-160v-60h379.08q-17.23 12.15-31.5 27.15-14.27 15-25.96 32.85H170Zm0-160v-60h580v60H170Zm0-160v-60h580v60H170Z\" />\n </svg>\n </span>\n )\n}\n\nexport const SummarizeIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M320-603.85q15.08 0 25.62-10.53 10.53-10.54 10.53-25.62 0-15.08-10.53-25.62-10.54-10.53-25.62-10.53-15.08 0-25.62 10.53-10.53 10.54-10.53 25.62 0 15.08 10.53 25.62 10.54 10.53 25.62 10.53Zm0 160q15.08 0 25.62-10.53 10.53-10.54 10.53-25.62 0-15.08-10.53-25.62-10.54-10.53-25.62-10.53-15.08 0-25.62 10.53-10.53 10.54-10.53 25.62 0 15.08 10.53 25.62 10.54 10.53 25.62 10.53Zm0 160q15.08 0 25.62-10.53 10.53-10.54 10.53-25.62 0-15.08-10.53-25.62-10.54-10.53-25.62-10.53-15.08 0-25.62 10.53-10.53 10.54-10.53 25.62 0 15.08 10.53 25.62 10.54 10.53 25.62 10.53ZM212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h419.23L820-631.54v419.23Q820-182 799-161q-21 21-51.31 21H212.31Zm0-60h535.38q5.39 0 8.85-3.46t3.46-8.85V-600H600v-160H212.31q-5.39 0-8.85 3.46t-3.46 8.85v535.38q0 5.39 3.46 8.85t8.85 3.46ZM200-760v160-160V-200v-560Z\" />\n </svg>\n </span>\n )\n}\n\nexport const SegmentIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M380-254.62v-59.99h440v59.99H380ZM380-450v-60h440v60H380ZM140-645.39v-59.99h680v59.99H140Z\" />\n </svg>\n </span>\n )\n}\n\nexport const StylusNoteIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m487.46-283.15 332.31-332.31q2.69-2.69 2.69-6.54t-2.69-6.54l-38.92-38.92q-2.7-2.69-6.54-2.69-3.85 0-6.54 2.69L435.46-335.15l52 52Zm-251 72.38q-89.23-5-134-39.69-44.77-34.69-44.77-98.16 0-60.76 51-98.57 51-37.81 141.77-45.81 43.62-3.77 65.43-15.77 21.8-12 21.8-33.23 0-29.46-29.5-44.96t-96.73-22.27l5.46-59.62q92.23 8.77 136.5 39.77 44.27 31 44.27 87.08 0 47.61-36.57 75.5-36.58 27.88-106.2 33.5-68.61 5.77-102.92 26.77t-34.31 57.61q0 37.31 28.58 55.51 28.58 18.19 92.65 22.34l-2.46 60Zm260.38 3.15L359.92-344.54l373.54-373.15q17.69-17.69 41.35-17.5 23.65.19 41.34 17.5L870-663.85q17.69 17.7 17.69 41.54 0 23.85-17.69 41.54L496.84-207.62ZM363.23-180q-13.54 3.23-23.84-7.08-10.31-10.31-7.08-23.84l27.61-133.62 136.92 136.92L363.23-180Z\" />\n </svg>\n </span>\n )\n}\n\nexport const EditNoteIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M180-400v-60h280v60H180Zm0-160v-60h440v60H180Zm0-160v-60h440v60H180Zm344.62 540v-105.69l217.15-216.16q7.46-7.46 16.11-10.5 8.65-3.03 17.3-3.03 9.43 0 18.25 3.53 8.82 3.54 16.03 10.62l37 37.38q6.46 7.47 10 16.16Q860-439 860-430.31t-3.23 17.69q-3.23 9-10.31 16.46L630.31-180H524.62Zm287.69-250.31-37-37.38 37 37.38Zm-240 202.62h38l129.84-130.47-18.38-19-18.62-18.76-130.84 130.23v38Zm149.46-149.47-18.62-18.76 37 37.76-18.38-19Z\" />\n </svg>\n </span>\n )\n}\n\nexport const ArrowIcon = ({ color = 'white', size = 24 }) => {\n return (\n <span className={styles.icon}>\n <svg height={size} viewBox=\"0 -960 960 960\" width={size} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m531.69-480-184-184L376-692.31 588.31-480 376-267.69 347.69-296l184-184Z\" />\n </svg>\n </span>\n )\n}\n"],"names":["React","styles","LottieAnimation","PluginIcon","color","isLoading","span","className","actions_icon","TuneIcon","size","icon","svg","height","viewBox","width","xmlns","path","d","LocalLibraryIcon","SpellCheckIcon","TranslateIcon","DocsAddOnIcon","SummarizeIcon","SegmentIcon","StylusNoteIcon","EditNoteIcon","ArrowIcon"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import styles from './icons.module.css';
2
+ import styles from './icons.module.scss';
3
3
  import LottieAnimation from './LottieAnimation.js';
4
4
  export const PluginIcon = ({ color = 'white', isLoading, }) => {
5
5
  return (<span className={styles.actions_icon}>
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import React, { useEffect, useRef, useState } from 'react';
4
- import styles from './icons.module.css';
4
+ import styles from './icons.module.scss';
5
5
  const LottieAnimation = ({ isLoading = false })=>{
6
6
  const svgRef = useRef(null);
7
7
  const [animations, setAnimations] = useState([]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/Icons/LottieAnimation.tsx"],"sourcesContent":["// @ts-nocheck\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport styles from './icons.module.css'\n\nconst LottieAnimation = ({ isLoading = false }) => {\n const svgRef = useRef(null)\n const [animations, setAnimations] = useState([])\n\n useEffect(() => {\n const svg = svgRef.current\n if (!svg) {return}\n\n const animateTransform = (element, keyframes) => {\n const animation = element.animate(keyframes, {\n direction: 'alternate',\n duration: 1000,\n easing: 'ease-in-out',\n iterations: Infinity,\n })\n return animation\n }\n\n // Animate Group 2 (Rectangle)\n const rectangle = svg.querySelector('#group2')\n const rectangleAnimation = animateTransform(rectangle, [\n { transform: 'translate(0, 0) scale(1)' },\n { transform: 'translate(0, 0) scale(2.54)' },\n { transform: 'translate(0, 0) scale(1)' },\n ])\n\n // Animate Group 3 (Triangle)\n const triangle = svg.querySelector('#group3')\n const triangleAnimation = animateTransform(triangle, [\n { transform: 'translate(-69.5px, 77.5px) scale(1)' },\n { transform: 'translate(-70px, 73px) scale(0.36)' },\n { transform: 'translate(-69.5px, 77.5px) scale(1)' },\n ])\n\n setAnimations([rectangleAnimation, triangleAnimation])\n\n // Clean up animations on unmount\n return () => {\n rectangleAnimation.cancel()\n triangleAnimation.cancel()\n }\n }, [])\n\n useEffect(() => {\n if (isLoading) {\n animations.forEach((animation) => animation.play())\n } else {\n animations.forEach((animation) => animation.pause())\n }\n }, [isLoading, animations])\n\n return (\n <span\n style={{\n left: '3px',\n position: 'relative',\n top: '-6px',\n }}\n >\n <svg height=\"41\" ref={svgRef} viewBox=\"-250 -250 500 500\" width=\"41\">\n <g id=\"group2\">\n <rect className={styles.color_fill} height=\"41\" width=\"41\" x=\"-20.5\" y=\"-20.5\" />\n </g>\n <g id=\"group3\">\n <path className={styles.color_fill} d=\"M48.5 57.5L48.5 -57.5L-49.5 -1.093L48.5 57.5Z\" />\n </g>\n </svg>\n </span>\n )\n}\n\nexport default LottieAnimation\n"],"names":["React","useEffect","useRef","useState","styles","LottieAnimation","isLoading","svgRef","animations","setAnimations","svg","current","animateTransform","element","keyframes","animation","animate","direction","duration","easing","iterations","Infinity","rectangle","querySelector","rectangleAnimation","transform","triangle","triangleAnimation","cancel","forEach","play","pause","span","style","left","position","top","height","ref","viewBox","width","g","id","rect","className","color_fill","x","y","path","d"],"mappings":"AAAA,cAAc;;AAEd,OAAOA,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAE1D,OAAOC,YAAY,qBAAoB;AAEvC,MAAMC,kBAAkB,CAAC,EAAEC,YAAY,KAAK,EAAE;IAC5C,MAAMC,SAASL,OAAO;IACtB,MAAM,CAACM,YAAYC,cAAc,GAAGN,SAAS,EAAE;IAE/CF,UAAU;QACR,MAAMS,MAAMH,OAAOI,OAAO;QAC1B,IAAI,CAACD,KAAK;YAAC;QAAM;QAEjB,MAAME,mBAAmB,CAACC,SAASC;YACjC,MAAMC,YAAYF,QAAQG,OAAO,CAACF,WAAW;gBAC3CG,WAAW;gBACXC,UAAU;gBACVC,QAAQ;gBACRC,YAAYC;YACd;YACA,OAAON;QACT;QAEA,8BAA8B;QAC9B,MAAMO,YAAYZ,IAAIa,aAAa,CAAC;QACpC,MAAMC,qBAAqBZ,iBAAiBU,WAAW;YACrD;gBAAEG,WAAW;YAA2B;YACxC;gBAAEA,WAAW;YAA8B;YAC3C;gBAAEA,WAAW;YAA2B;SACzC;QAED,6BAA6B;QAC7B,MAAMC,WAAWhB,IAAIa,aAAa,CAAC;QACnC,MAAMI,oBAAoBf,iBAAiBc,UAAU;YACnD;gBAAED,WAAW;YAAsC;YACnD;gBAAEA,WAAW;YAAqC;YAClD;gBAAEA,WAAW;YAAsC;SACpD;QAEDhB,cAAc;YAACe;YAAoBG;SAAkB;QAErD,iCAAiC;QACjC,OAAO;YACLH,mBAAmBI,MAAM;YACzBD,kBAAkBC,MAAM;QAC1B;IACF,GAAG,EAAE;IAEL3B,UAAU;QACR,IAAIK,WAAW;YACbE,WAAWqB,OAAO,CAAC,CAACd,YAAcA,UAAUe,IAAI;QAClD,OAAO;YACLtB,WAAWqB,OAAO,CAAC,CAACd,YAAcA,UAAUgB,KAAK;QACnD;IACF,GAAG;QAACzB;QAAWE;KAAW;IAE1B,qBACE,KAACwB;QACCC,OAAO;YACLC,MAAM;YACNC,UAAU;YACVC,KAAK;QACP;kBAEA,cAAA,MAAC1B;YAAI2B,QAAO;YAAKC,KAAK/B;YAAQgC,SAAQ;YAAoBC,OAAM;;8BAC9D,KAACC;oBAAEC,IAAG;8BACJ,cAAA,KAACC;wBAAKC,WAAWxC,OAAOyC,UAAU;wBAAER,QAAO;wBAAKG,OAAM;wBAAKM,GAAE;wBAAQC,GAAE;;;8BAEzE,KAACN;oBAAEC,IAAG;8BACJ,cAAA,KAACM;wBAAKJ,WAAWxC,OAAOyC,UAAU;wBAAEI,GAAE;;;;;;AAKhD;AAEA,eAAe5C,gBAAe"}
1
+ {"version":3,"sources":["../../../src/ui/Icons/LottieAnimation.tsx"],"sourcesContent":["// @ts-nocheck\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport styles from './icons.module.scss'\n\nconst LottieAnimation = ({ isLoading = false }) => {\n const svgRef = useRef(null)\n const [animations, setAnimations] = useState([])\n\n useEffect(() => {\n const svg = svgRef.current\n if (!svg) {return}\n\n const animateTransform = (element, keyframes) => {\n const animation = element.animate(keyframes, {\n direction: 'alternate',\n duration: 1000,\n easing: 'ease-in-out',\n iterations: Infinity,\n })\n return animation\n }\n\n // Animate Group 2 (Rectangle)\n const rectangle = svg.querySelector('#group2')\n const rectangleAnimation = animateTransform(rectangle, [\n { transform: 'translate(0, 0) scale(1)' },\n { transform: 'translate(0, 0) scale(2.54)' },\n { transform: 'translate(0, 0) scale(1)' },\n ])\n\n // Animate Group 3 (Triangle)\n const triangle = svg.querySelector('#group3')\n const triangleAnimation = animateTransform(triangle, [\n { transform: 'translate(-69.5px, 77.5px) scale(1)' },\n { transform: 'translate(-70px, 73px) scale(0.36)' },\n { transform: 'translate(-69.5px, 77.5px) scale(1)' },\n ])\n\n setAnimations([rectangleAnimation, triangleAnimation])\n\n // Clean up animations on unmount\n return () => {\n rectangleAnimation.cancel()\n triangleAnimation.cancel()\n }\n }, [])\n\n useEffect(() => {\n if (isLoading) {\n animations.forEach((animation) => animation.play())\n } else {\n animations.forEach((animation) => animation.pause())\n }\n }, [isLoading, animations])\n\n return (\n <span\n style={{\n left: '3px',\n position: 'relative',\n top: '-6px',\n }}\n >\n <svg height=\"41\" ref={svgRef} viewBox=\"-250 -250 500 500\" width=\"41\">\n <g id=\"group2\">\n <rect className={styles.color_fill} height=\"41\" width=\"41\" x=\"-20.5\" y=\"-20.5\" />\n </g>\n <g id=\"group3\">\n <path className={styles.color_fill} d=\"M48.5 57.5L48.5 -57.5L-49.5 -1.093L48.5 57.5Z\" />\n </g>\n </svg>\n </span>\n )\n}\n\nexport default LottieAnimation\n"],"names":["React","useEffect","useRef","useState","styles","LottieAnimation","isLoading","svgRef","animations","setAnimations","svg","current","animateTransform","element","keyframes","animation","animate","direction","duration","easing","iterations","Infinity","rectangle","querySelector","rectangleAnimation","transform","triangle","triangleAnimation","cancel","forEach","play","pause","span","style","left","position","top","height","ref","viewBox","width","g","id","rect","className","color_fill","x","y","path","d"],"mappings":"AAAA,cAAc;;AAEd,OAAOA,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAE1D,OAAOC,YAAY,sBAAqB;AAExC,MAAMC,kBAAkB,CAAC,EAAEC,YAAY,KAAK,EAAE;IAC5C,MAAMC,SAASL,OAAO;IACtB,MAAM,CAACM,YAAYC,cAAc,GAAGN,SAAS,EAAE;IAE/CF,UAAU;QACR,MAAMS,MAAMH,OAAOI,OAAO;QAC1B,IAAI,CAACD,KAAK;YAAC;QAAM;QAEjB,MAAME,mBAAmB,CAACC,SAASC;YACjC,MAAMC,YAAYF,QAAQG,OAAO,CAACF,WAAW;gBAC3CG,WAAW;gBACXC,UAAU;gBACVC,QAAQ;gBACRC,YAAYC;YACd;YACA,OAAON;QACT;QAEA,8BAA8B;QAC9B,MAAMO,YAAYZ,IAAIa,aAAa,CAAC;QACpC,MAAMC,qBAAqBZ,iBAAiBU,WAAW;YACrD;gBAAEG,WAAW;YAA2B;YACxC;gBAAEA,WAAW;YAA8B;YAC3C;gBAAEA,WAAW;YAA2B;SACzC;QAED,6BAA6B;QAC7B,MAAMC,WAAWhB,IAAIa,aAAa,CAAC;QACnC,MAAMI,oBAAoBf,iBAAiBc,UAAU;YACnD;gBAAED,WAAW;YAAsC;YACnD;gBAAEA,WAAW;YAAqC;YAClD;gBAAEA,WAAW;YAAsC;SACpD;QAEDhB,cAAc;YAACe;YAAoBG;SAAkB;QAErD,iCAAiC;QACjC,OAAO;YACLH,mBAAmBI,MAAM;YACzBD,kBAAkBC,MAAM;QAC1B;IACF,GAAG,EAAE;IAEL3B,UAAU;QACR,IAAIK,WAAW;YACbE,WAAWqB,OAAO,CAAC,CAACd,YAAcA,UAAUe,IAAI;QAClD,OAAO;YACLtB,WAAWqB,OAAO,CAAC,CAACd,YAAcA,UAAUgB,KAAK;QACnD;IACF,GAAG;QAACzB;QAAWE;KAAW;IAE1B,qBACE,KAACwB;QACCC,OAAO;YACLC,MAAM;YACNC,UAAU;YACVC,KAAK;QACP;kBAEA,cAAA,MAAC1B;YAAI2B,QAAO;YAAKC,KAAK/B;YAAQgC,SAAQ;YAAoBC,OAAM;;8BAC9D,KAACC;oBAAEC,IAAG;8BACJ,cAAA,KAACC;wBAAKC,WAAWxC,OAAOyC,UAAU;wBAAER,QAAO;wBAAKG,OAAM;wBAAKM,GAAE;wBAAQC,GAAE;;;8BAEzE,KAACN;oBAAEC,IAAG;8BACJ,cAAA,KAACM;wBAAKJ,WAAWxC,OAAOyC,UAAU;wBAAEI,GAAE;;;;;;AAKhD;AAEA,eAAe5C,gBAAe"}
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
- import styles from './icons.module.css';
3
+ import styles from './icons.module.scss';
4
4
  const LottieAnimation = ({ isLoading = false }) => {
5
5
  const svgRef = useRef(null);
6
6
  const [animations, setAnimations] = useState([]);
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ type Primitive = boolean | null | number | string | undefined;
3
+ type PrimitiveArray = number[] | string[];
4
+ type ProviderOptionTreeNodeProps = {
5
+ disabled?: boolean;
6
+ onChange: (path: string[], value: any) => void;
7
+ path: string[];
8
+ schemaValue: Primitive | PrimitiveArray | Record<string, any>;
9
+ selectedValue: any;
10
+ };
11
+ export declare const ProviderOptionsTree: React.FC<ProviderOptionTreeNodeProps>;
12
+ export {};