@ai-stack/payloadcms 3.76.0-beta.0 → 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.
- package/dist/ai/core/generateObject.js +1 -4
- package/dist/ai/core/generateObject.js.map +1 -1
- package/dist/ai/core/generateText.js +1 -5
- package/dist/ai/core/generateText.js.map +1 -1
- package/dist/ai/core/media/generateMedia.js +1 -4
- package/dist/ai/core/media/generateMedia.js.map +1 -1
- package/dist/ai/core/media/image/generateImage.js +4 -14
- package/dist/ai/core/media/image/generateImage.js.map +1 -1
- package/dist/ai/core/media/image/handlers/multimodal.js +21 -58
- package/dist/ai/core/media/image/handlers/multimodal.js.map +1 -1
- package/dist/ai/core/media/image/handlers/standard.js +17 -9
- package/dist/ai/core/media/image/handlers/standard.js.map +1 -1
- package/dist/ai/core/media/speech/generateSpeech.js +10 -11
- package/dist/ai/core/media/speech/generateSpeech.js.map +1 -1
- package/dist/ai/core/media/types.d.ts +3 -4
- package/dist/ai/core/media/types.js.map +1 -1
- package/dist/ai/core/streamObject.js +0 -3
- package/dist/ai/core/streamObject.js.map +1 -1
- package/dist/ai/core/streamText.js +1 -4
- package/dist/ai/core/streamText.js.map +1 -1
- package/dist/ai/core/types.d.ts +2 -2
- package/dist/ai/core/types.js.map +1 -1
- package/dist/ai/providers/blocks/anthropic.js +0 -42
- package/dist/ai/providers/blocks/anthropic.js.map +1 -1
- package/dist/ai/providers/blocks/elevenlabs.js +1 -106
- package/dist/ai/providers/blocks/elevenlabs.js.map +1 -1
- package/dist/ai/providers/blocks/fal.js +0 -118
- package/dist/ai/providers/blocks/fal.js.map +1 -1
- package/dist/ai/providers/blocks/google.js +2 -236
- package/dist/ai/providers/blocks/google.js.map +1 -1
- package/dist/ai/providers/blocks/openai-compatible.js +0 -144
- package/dist/ai/providers/blocks/openai-compatible.js.map +1 -1
- package/dist/ai/providers/blocks/openai.js +0 -200
- package/dist/ai/providers/blocks/openai.js.map +1 -1
- package/dist/ai/providers/blocks/xai.js +0 -53
- package/dist/ai/providers/blocks/xai.js.map +1 -1
- package/dist/ai/providers/index.d.ts +1 -1
- package/dist/ai/providers/index.js +0 -2
- package/dist/ai/providers/index.js.map +1 -1
- package/dist/ai/providers/registry.d.ts +24 -28
- package/dist/ai/providers/registry.js +186 -140
- package/dist/ai/providers/registry.js.map +1 -1
- package/dist/ai/providers/types.d.ts +12 -33
- package/dist/ai/providers/types.js +0 -1
- package/dist/ai/providers/types.js.map +1 -1
- package/dist/ai/schemas/lexicalJsonSchema.js +1 -1
- package/dist/ai/schemas/lexicalJsonSchema.js.map +1 -1
- package/dist/ai/utilities/filterEditorSchemaByNodes.js.map +1 -0
- package/dist/ai/utilities/generateFileNameByPrompt.js.map +1 -0
- package/dist/ai/utilities/isObjectSchema.js.map +1 -0
- package/dist/ai/utilities/nodeToSchemaMap.js.map +1 -0
- package/dist/ai/{prompts.d.ts → utilities/prompts.d.ts} +1 -1
- package/dist/ai/utilities/prompts.js.map +1 -0
- package/dist/ai/utilities/systemGenerate.js.map +1 -0
- package/dist/collections/AIJobs.js +3 -12
- package/dist/collections/AIJobs.js.map +1 -1
- package/dist/collections/AIProviders.d.ts +2 -0
- package/dist/collections/{AISettings.js → AIProviders.js} +54 -26
- package/dist/collections/AIProviders.js.map +1 -0
- package/dist/collections/Instructions.js +93 -57
- package/dist/collections/Instructions.js.map +1 -1
- package/dist/collections/shared.d.ts +30 -0
- package/dist/collections/shared.js +15 -0
- package/dist/collections/shared.js.map +1 -0
- package/dist/defaults.js +1 -1
- package/dist/defaults.js.map +1 -1
- package/dist/endpoints/fetchFields.js +15 -7
- package/dist/endpoints/fetchFields.js.map +1 -1
- package/dist/endpoints/fetchVoices.js +2 -2
- package/dist/endpoints/fetchVoices.js.map +1 -1
- package/dist/endpoints/generate.d.ts +7 -0
- package/dist/endpoints/generate.js +268 -0
- package/dist/endpoints/generate.js.map +1 -0
- package/dist/endpoints/index.js +9 -604
- package/dist/endpoints/index.js.map +1 -1
- package/dist/endpoints/promptMentions.d.ts +2 -0
- package/dist/endpoints/promptMentions.js +166 -0
- package/dist/endpoints/promptMentions.js.map +1 -0
- package/dist/endpoints/upload.d.ts +7 -0
- package/dist/endpoints/upload.js +294 -0
- package/dist/endpoints/upload.js.map +1 -0
- package/dist/endpoints/videogenWebhook.d.ts +7 -0
- package/dist/endpoints/videogenWebhook.js +132 -0
- package/dist/endpoints/videogenWebhook.js.map +1 -0
- package/dist/exports/client.d.ts +3 -2
- package/dist/exports/client.js +3 -2
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/fields.d.ts +2 -1
- package/dist/exports/fields.js +2 -1
- package/dist/exports/fields.js.map +1 -1
- package/dist/fields/ArrayComposeField/ArrayComposeField.js +1 -1
- package/dist/fields/ArrayComposeField/ArrayComposeField.js.map +1 -1
- package/dist/fields/ArrayComposeField/ArrayComposeField.jsx +1 -1
- package/dist/fields/ComposeField/ComposeField.d.ts +1 -0
- package/dist/fields/ComposeField/ComposeField.js +18 -8
- package/dist/fields/ComposeField/ComposeField.js.map +1 -1
- package/dist/fields/ComposeField/ComposeField.jsx +12 -7
- package/dist/fields/PromptEditorField/feature.client.d.ts +1 -0
- package/dist/fields/PromptEditorField/feature.client.js +173 -0
- package/dist/fields/PromptEditorField/feature.client.js.map +1 -0
- package/dist/fields/PromptEditorField/feature.client.jsx +148 -0
- package/dist/fields/PromptEditorField/feature.server.d.ts +1 -0
- package/dist/fields/PromptEditorField/feature.server.js +30 -0
- package/dist/fields/PromptEditorField/feature.server.js.map +1 -0
- package/dist/fields/PromptField.d.ts +4 -0
- package/dist/fields/PromptField.js +18 -0
- package/dist/fields/PromptField.js.map +1 -0
- package/dist/fields/SelectField/SelectField.js +0 -1
- package/dist/fields/SelectField/SelectField.js.map +1 -1
- package/dist/fields/SelectField/SelectField.jsx +0 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/libraries/handlebars/helpers.js +2 -2
- package/dist/libraries/handlebars/helpers.js.map +1 -1
- package/dist/libraries/handlebars/replacePlaceholders.js +5 -1
- package/dist/libraries/handlebars/replacePlaceholders.js.map +1 -1
- package/dist/payload-ai.d.ts +5 -19
- package/dist/plugin.js +19 -22
- package/dist/plugin.js.map +1 -1
- package/dist/providers/FieldProvider/FieldProvider.js +10 -19
- package/dist/providers/FieldProvider/FieldProvider.js.map +1 -1
- package/dist/providers/FieldProvider/FieldProvider.jsx +7 -17
- package/dist/providers/InstructionsProvider/InstructionsProvider.js +4 -1
- package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
- package/dist/providers/InstructionsProvider/InstructionsProvider.jsx +3 -0
- package/dist/providers/InstructionsProvider/useInstructions.js +1 -1
- package/dist/providers/InstructionsProvider/useInstructions.js.map +1 -1
- package/dist/translations/de.json +47 -0
- package/dist/translations/en.json +45 -2
- package/dist/translations/es.json +45 -2
- package/dist/translations/fa.json +45 -2
- package/dist/translations/fr.json +46 -3
- package/dist/translations/hi.json +47 -0
- package/dist/translations/index.d.ts +88 -26
- package/dist/translations/index.js +18 -32
- package/dist/translations/index.js.map +1 -1
- package/dist/translations/ja.json +47 -0
- package/dist/translations/nb.json +47 -0
- package/dist/translations/nl.json +47 -0
- package/dist/translations/pl.json +45 -2
- package/dist/translations/pt.json +47 -0
- package/dist/translations/ru.json +45 -2
- package/dist/translations/th.json +47 -0
- package/dist/translations/translation-schema.json +184 -11
- package/dist/translations/uk.json +45 -2
- package/dist/translations/zh.json +47 -0
- package/dist/types.d.ts +57 -31
- package/dist/types.js.map +1 -1
- package/dist/ui/Compose/Compose.js +42 -79
- package/dist/ui/Compose/Compose.js.map +1 -1
- package/dist/ui/Compose/Compose.jsx +32 -86
- package/dist/ui/Compose/ComposePlaceholder.js +1 -1
- package/dist/ui/Compose/ComposePlaceholder.js.map +1 -1
- package/dist/ui/Compose/ComposePlaceholder.jsx +1 -1
- package/dist/ui/Compose/{compose.module.css → compose.module.scss} +3 -5
- package/dist/ui/Compose/hooks/menu/Item.d.ts +1 -1
- package/dist/ui/Compose/hooks/menu/Item.js +7 -3
- package/dist/ui/Compose/hooks/menu/Item.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/Item.jsx +11 -5
- package/dist/ui/Compose/hooks/menu/TranslateMenu.d.ts +5 -0
- package/dist/ui/Compose/hooks/menu/TranslateMenu.js +48 -5
- package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/TranslateMenu.jsx +44 -6
- package/dist/ui/Compose/hooks/menu/items.d.ts +8 -8
- package/dist/ui/Compose/hooks/menu/itemsMap.d.ts +2 -1
- package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/menu.module.scss +4 -1
- package/dist/ui/Compose/hooks/menu/types.d.ts +21 -0
- package/dist/ui/Compose/hooks/menu/types.js +3 -0
- package/dist/ui/Compose/hooks/menu/types.js.map +1 -0
- package/dist/ui/Compose/hooks/menu/useMenu.d.ts +2 -2
- package/dist/ui/Compose/hooks/menu/useMenu.js +45 -23
- package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/useMenu.jsx +43 -23
- package/dist/ui/Compose/hooks/mergeGeneratedValue.d.ts +14 -0
- package/dist/ui/Compose/hooks/mergeGeneratedValue.js +38 -0
- package/dist/ui/Compose/hooks/mergeGeneratedValue.js.map +1 -0
- package/dist/ui/Compose/hooks/useActiveFieldTracking.js +34 -0
- package/dist/ui/Compose/hooks/useActiveFieldTracking.js.map +1 -1
- package/dist/ui/Compose/hooks/useGenerate.js +37 -12
- package/dist/ui/Compose/hooks/useGenerate.js.map +1 -1
- package/dist/ui/Compose/hooks/useGenerateUpload.js +67 -19
- package/dist/ui/Compose/hooks/useGenerateUpload.js.map +1 -1
- package/dist/ui/Compose/hooks/useStreamingUpdate.js +4 -4
- package/dist/ui/Compose/hooks/useStreamingUpdate.js.map +1 -1
- package/dist/ui/ConfigDashboard/configDashboard.module.css +94 -0
- package/dist/ui/ConfigDashboard/index.d.ts +2 -0
- package/dist/ui/ConfigDashboard/index.js +159 -0
- package/dist/ui/ConfigDashboard/index.js.map +1 -0
- package/dist/ui/ConfigDashboard/index.jsx +122 -0
- package/dist/ui/DynamicModelSelect/index.js +6 -27
- package/dist/ui/DynamicModelSelect/index.js.map +1 -1
- package/dist/ui/DynamicModelSelect/index.jsx +6 -29
- package/dist/ui/DynamicProviderSelect/index.js +6 -27
- package/dist/ui/DynamicProviderSelect/index.js.map +1 -1
- package/dist/ui/DynamicProviderSelect/index.jsx +6 -29
- package/dist/ui/DynamicVoiceSelect/index.js +34 -83
- package/dist/ui/DynamicVoiceSelect/index.js.map +1 -1
- package/dist/ui/DynamicVoiceSelect/index.jsx +16 -53
- package/dist/ui/GlobalProviderOptions/index.d.ts +2 -0
- package/dist/ui/GlobalProviderOptions/index.js +118 -0
- package/dist/ui/GlobalProviderOptions/index.js.map +1 -0
- package/dist/ui/GlobalProviderOptions/index.jsx +60 -0
- package/dist/ui/Icons/Icons.js +1 -1
- package/dist/ui/Icons/Icons.js.map +1 -1
- package/dist/ui/Icons/Icons.jsx +1 -1
- package/dist/ui/Icons/LottieAnimation.js +1 -1
- package/dist/ui/Icons/LottieAnimation.js.map +1 -1
- package/dist/ui/Icons/LottieAnimation.jsx +1 -1
- package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.d.ts +12 -0
- package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js +166 -0
- package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js.map +1 -0
- package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.jsx +83 -0
- package/dist/ui/InstructionProviderOptions/index.d.ts +2 -0
- package/dist/ui/InstructionProviderOptions/index.js +157 -0
- package/dist/ui/InstructionProviderOptions/index.js.map +1 -0
- package/dist/ui/InstructionProviderOptions/index.jsx +92 -0
- package/dist/ui/VoicesFetcher/index.js.map +1 -1
- package/dist/ui/hooks/useAISettings.d.ts +26 -0
- package/dist/ui/hooks/useAISettings.js +73 -0
- package/dist/ui/hooks/useAISettings.js.map +1 -0
- package/dist/ui/providerOptions/updateProviderOptionsValue.d.ts +6 -0
- package/dist/ui/providerOptions/updateProviderOptionsValue.js +50 -0
- package/dist/ui/providerOptions/updateProviderOptionsValue.js.map +1 -0
- package/dist/ui/shared/handleSelectChange.d.ts +5 -0
- package/dist/ui/shared/handleSelectChange.js +12 -0
- package/dist/ui/shared/handleSelectChange.js.map +1 -0
- package/dist/ui/shared/types.d.ts +11 -0
- package/dist/ui/shared/types.js +5 -0
- package/dist/ui/shared/types.js.map +1 -0
- package/dist/utilities/ai/resolveEffectiveInstructionSettings.d.ts +15 -0
- package/dist/utilities/ai/resolveEffectiveInstructionSettings.js +136 -0
- package/dist/utilities/ai/resolveEffectiveInstructionSettings.js.map +1 -0
- package/dist/{endpoints → utilities}/buildPromptUtils.js +14 -5
- package/dist/utilities/buildPromptUtils.js.map +1 -0
- package/dist/utilities/buildSmartPrompt.js +3 -3
- package/dist/utilities/buildSmartPrompt.js.map +1 -1
- package/dist/utilities/fields/fieldToJsonSchema.js.map +1 -0
- package/dist/utilities/fields/getFieldBySchemaPath.js.map +1 -0
- package/dist/utilities/fields/getFieldInfo.js.map +1 -0
- package/dist/utilities/{updateFieldsConfig.js → fields/updateFieldsConfig.js} +8 -3
- package/dist/utilities/fields/updateFieldsConfig.js.map +1 -0
- package/dist/utilities/images/extractImageData.js.map +1 -0
- package/dist/utilities/images/extractPromptAttachments.js.map +1 -0
- package/dist/utilities/{fetchImages.d.ts → images/fetchImages.d.ts} +1 -1
- package/dist/utilities/images/fetchImages.js +49 -0
- package/dist/utilities/images/fetchImages.js.map +1 -0
- package/dist/utilities/images/resolveImageReferences.js +183 -0
- package/dist/utilities/images/resolveImageReferences.js.map +1 -0
- package/dist/utilities/init/autoSetupProviders.d.ts +3 -0
- package/dist/utilities/init/autoSetupProviders.js +216 -0
- package/dist/utilities/init/autoSetupProviders.js.map +1 -0
- package/dist/utilities/lexical/editorSchemaValidator.js.map +1 -0
- package/dist/utilities/lexical/lexicalToHTML.js.map +1 -0
- package/dist/utilities/lexical/lexicalToPromptTemplate.d.ts +2 -0
- package/dist/utilities/lexical/lexicalToPromptTemplate.js +50 -0
- package/dist/utilities/lexical/lexicalToPromptTemplate.js.map +1 -0
- package/dist/utilities/lexical/setSafeLexicalState.js.map +1 -0
- package/dist/utilities/lexical/stringToLexicalJSON.d.ts +2 -0
- package/dist/utilities/lexical/stringToLexicalJSON.js +39 -0
- package/dist/utilities/lexical/stringToLexicalJSON.js.map +1 -0
- package/dist/utilities/sanitizeLog.d.ts +1 -0
- package/dist/utilities/sanitizeLog.js +39 -0
- package/dist/utilities/sanitizeLog.js.map +1 -0
- package/dist/utilities/seedProperties.js +37 -22
- package/dist/utilities/seedProperties.js.map +1 -1
- package/package.json +5 -2
- package/dist/ai/analyse.d.ts +0 -1
- package/dist/ai/analyse.js +0 -3
- package/dist/ai/analyse.js.map +0 -1
- package/dist/ai/index.d.ts +0 -11
- package/dist/ai/index.js +0 -25
- package/dist/ai/index.js.map +0 -1
- package/dist/ai/prompts.js.map +0 -1
- package/dist/ai/utils/filterEditorSchemaByNodes.js.map +0 -1
- package/dist/ai/utils/generateFileNameByPrompt.js.map +0 -1
- package/dist/ai/utils/isObjectSchema.js.map +0 -1
- package/dist/ai/utils/nodeToSchemaMap.js.map +0 -1
- package/dist/ai/utils/systemGenerate.js.map +0 -1
- package/dist/collections/AISettings.d.ts +0 -2
- package/dist/collections/AISettings.js.map +0 -1
- package/dist/endpoints/buildPromptUtils.js.map +0 -1
- package/dist/endpoints/chat.d.ts +0 -4
- package/dist/fields/PromptEditorField/PromptEditorField.d.ts +0 -3
- package/dist/fields/PromptEditorField/PromptEditorField.js +0 -217
- package/dist/fields/PromptEditorField/PromptEditorField.js.map +0 -1
- package/dist/fields/PromptEditorField/PromptEditorField.jsx +0 -160
- package/dist/ui/AIConfigDashboard/index.d.ts +0 -2
- package/dist/ui/AIConfigDashboard/index.js +0 -222
- package/dist/ui/AIConfigDashboard/index.js.map +0 -1
- package/dist/ui/AIConfigDashboard/index.jsx +0 -170
- package/dist/ui/ProviderOptionsEditor/index.d.ts +0 -7
- package/dist/ui/ProviderOptionsEditor/index.js +0 -291
- package/dist/ui/ProviderOptionsEditor/index.js.map +0 -1
- package/dist/ui/ProviderOptionsEditor/index.jsx +0 -210
- package/dist/utilities/editorSchemaValidator.js.map +0 -1
- package/dist/utilities/extractImageData.js.map +0 -1
- package/dist/utilities/extractPromptAttachments.js.map +0 -1
- package/dist/utilities/fetchImages.js +0 -38
- package/dist/utilities/fetchImages.js.map +0 -1
- package/dist/utilities/fieldToJsonSchema.js.map +0 -1
- package/dist/utilities/getFieldBySchemaPath.js.map +0 -1
- package/dist/utilities/getFieldInfo.js.map +0 -1
- package/dist/utilities/getProviderOptionsFields.d.ts +0 -16
- package/dist/utilities/getProviderOptionsFields.js +0 -80
- package/dist/utilities/getProviderOptionsFields.js.map +0 -1
- package/dist/utilities/isPluginActivated.d.ts +0 -2
- package/dist/utilities/isPluginActivated.js +0 -5
- package/dist/utilities/isPluginActivated.js.map +0 -1
- package/dist/utilities/lexicalToHTML.js.map +0 -1
- package/dist/utilities/resolveImageReferences.js +0 -167
- package/dist/utilities/resolveImageReferences.js.map +0 -1
- package/dist/utilities/schemaConverter.d.ts +0 -3
- package/dist/utilities/schemaConverter.js +0 -93
- package/dist/utilities/schemaConverter.js.map +0 -1
- package/dist/utilities/setSafeLexicalState.js.map +0 -1
- package/dist/utilities/updateFieldsConfig.js.map +0 -1
- /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.d.ts +0 -0
- /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.js +0 -0
- /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.d.ts +0 -0
- /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.js +0 -0
- /package/dist/ai/{utils → utilities}/isObjectSchema.d.ts +0 -0
- /package/dist/ai/{utils → utilities}/isObjectSchema.js +0 -0
- /package/dist/ai/{utils → utilities}/nodeToSchemaMap.d.ts +0 -0
- /package/dist/ai/{utils → utilities}/nodeToSchemaMap.js +0 -0
- /package/dist/ai/{prompts.js → utilities/prompts.js} +0 -0
- /package/dist/ai/{utils → utilities}/systemGenerate.d.ts +0 -0
- /package/dist/ai/{utils → utilities}/systemGenerate.js +0 -0
- /package/dist/ui/Icons/{icons.module.css → icons.module.scss} +0 -0
- /package/dist/{endpoints → utilities}/buildPromptUtils.d.ts +0 -0
- /package/dist/utilities/{fieldToJsonSchema.d.ts → fields/fieldToJsonSchema.d.ts} +0 -0
- /package/dist/utilities/{fieldToJsonSchema.js → fields/fieldToJsonSchema.js} +0 -0
- /package/dist/utilities/{getFieldBySchemaPath.d.ts → fields/getFieldBySchemaPath.d.ts} +0 -0
- /package/dist/utilities/{getFieldBySchemaPath.js → fields/getFieldBySchemaPath.js} +0 -0
- /package/dist/utilities/{getFieldInfo.d.ts → fields/getFieldInfo.d.ts} +0 -0
- /package/dist/utilities/{getFieldInfo.js → fields/getFieldInfo.js} +0 -0
- /package/dist/utilities/{updateFieldsConfig.d.ts → fields/updateFieldsConfig.d.ts} +0 -0
- /package/dist/utilities/{extractImageData.d.ts → images/extractImageData.d.ts} +0 -0
- /package/dist/utilities/{extractImageData.js → images/extractImageData.js} +0 -0
- /package/dist/utilities/{extractPromptAttachments.d.ts → images/extractPromptAttachments.d.ts} +0 -0
- /package/dist/utilities/{extractPromptAttachments.js → images/extractPromptAttachments.js} +0 -0
- /package/dist/utilities/{resolveImageReferences.d.ts → images/resolveImageReferences.d.ts} +0 -0
- /package/dist/utilities/{editorSchemaValidator.d.ts → lexical/editorSchemaValidator.d.ts} +0 -0
- /package/dist/utilities/{editorSchemaValidator.js → lexical/editorSchemaValidator.js} +0 -0
- /package/dist/utilities/{lexicalToHTML.d.ts → lexical/lexicalToHTML.d.ts} +0 -0
- /package/dist/utilities/{lexicalToHTML.js → lexical/lexicalToHTML.js} +0 -0
- /package/dist/utilities/{setSafeLexicalState.d.ts → lexical/setSafeLexicalState.d.ts} +0 -0
- /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
|
|
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
|
|
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-settings?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__*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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__*/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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__*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
|
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
|
|
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
|
|
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-settings?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
|
|
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
|
|
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 (<
|
|
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,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
|
+
};
|
package/dist/ui/Icons/Icons.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAOC,YAAY,sBAAqB;AACxC,OAAOC,qBAAqB,uBAAsB;AAElD,OAAO,MAAMC,aAAa,CAAC,EACzBC,QAAQ,OAAO,EACfC,SAAS,EAIV;IACC,qBACE,KAACC;QAAKC,WAAWN,OAAOO,YAAY;kBAClC,cAAA,KAACN;YAAgBG,WAAWA;;;AAGlC,EAAC;AAED,OAAO,MAAMI,WAAW,CAAC,EAAEL,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IACrD,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMC,mBAAmB,CAAC,EAAEf,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IAC7D,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAME,iBAAiB,CAAC,EAAEhB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IAC3D,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMG,gBAAgB,CAAC,EAAEjB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IAC1D,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMI,gBAAgB,CAAC,EAAElB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IAC1D,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMK,gBAAgB,CAAC,EAAEnB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IAC1D,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMM,cAAc,CAAC,EAAEpB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IACxD,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMO,iBAAiB,CAAC,EAAErB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IAC3D,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMQ,eAAe,CAAC,EAAEtB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IACzD,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC;AAED,OAAO,MAAMS,YAAY,CAAC,EAAEvB,QAAQ,OAAO,EAAEM,OAAO,EAAE,EAAE;IACtD,qBACE,KAACJ;QAAKC,WAAWN,OAAOU,IAAI;kBAC1B,cAAA,KAACC;YAAIC,QAAQH;YAAMI,SAAQ;YAAiBC,OAAOL;YAAMM,OAAM;sBAC7D,cAAA,KAACC;gBAAKC,GAAE;;;;AAIhB,EAAC"}
|
package/dist/ui/Icons/Icons.jsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import styles from './icons.module.
|
|
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.
|
|
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.
|
|
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.
|
|
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 {};
|