@sanity/personalization-plugin 3.0.1 → 3.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldExperiments.js","sources":["../../src/components/ExperimentContext.tsx","../../src/components/Array.tsx","../../src/components/ExperimentField.tsx","../../src/components/Select.tsx","../../src/components/ExperimentInput.tsx","../../src/components/ExperimentItem.tsx","../../src/components/VariantInput.tsx","../../src/components/VariantPreview.tsx","../../src/utils/flattenSchemaType.ts","../../src/fieldExperiments.tsx"],"sourcesContent":["import equal from 'fast-deep-equal'\nimport {createContext, useContext, useMemo} from 'react'\nimport {type ObjectInputProps, useClient, useWorkspace} from 'sanity'\nimport {suspend} from 'suspend-react'\n\nimport type {ExperimentContextProps, FieldPluginConfig} from '../types'\n\n// This provider makes the plugin config available to all components in the document form\n// But with experiments resolved\n\nexport const CONFIG_DEFAULT = {\n fields: [],\n apiVersion: '2024-11-07',\n experimentNameOverride: 'experiment',\n variantNameOverride: 'variant',\n variantId: 'variantId',\n variantArrayName: 'variants',\n experimentId: 'experimentId',\n}\n\nconst ExperimentContext = createContext<ExperimentContextProps>({\n ...CONFIG_DEFAULT,\n experiments: [],\n})\n\nexport function useExperimentContext() {\n return useContext(ExperimentContext)\n}\n\ntype ExperimentProps = ObjectInputProps & {\n experimentFieldPluginConfig: Required<FieldPluginConfig>\n}\n\nexport function ExperimentProvider(props: ExperimentProps) {\n const {experimentFieldPluginConfig} = props\n\n const client = useClient({apiVersion: experimentFieldPluginConfig.apiVersion})\n const workspace = useWorkspace()\n\n // Fetch or return experiments\n const experiments = Array.isArray(experimentFieldPluginConfig.experiments)\n ? experimentFieldPluginConfig.experiments\n : suspend(\n async () => {\n if (typeof experimentFieldPluginConfig.experiments === 'function') {\n return experimentFieldPluginConfig.experiments(client)\n }\n return experimentFieldPluginConfig.experiments\n },\n [workspace],\n {equal},\n )\n\n const context = useMemo(\n () => ({...experimentFieldPluginConfig, experiments}),\n [experimentFieldPluginConfig, experiments],\n )\n\n return (\n <ExperimentContext.Provider value={context}>\n {props.renderDefault(props)}\n </ExperimentContext.Provider>\n )\n}\n","import {Button, Inline, Stack} from '@sanity/ui'\nimport {uuid} from '@sanity/uuid'\nimport {useCallback} from 'react'\nimport {useFormValue} from 'sanity'\n\nimport type {ArrayInputProps, VariantType} from '../types'\nimport {useExperimentContext} from './ExperimentContext'\n\nexport const ArrayInput = (props: ArrayInputProps) => {\n const fieldPath = props.path.slice(0, -1)\n const {onItemAppend, variantName, variantId, experimentId} = props\n const experimentValue = useFormValue([...fieldPath, experimentId])\n\n const {experiments} = useExperimentContext()\n\n const handleClick = useCallback(\n async (variant: VariantType) => {\n const item = {\n _key: uuid(),\n [variantId]: variant.id,\n [experimentId]: experimentValue,\n _type: variantName,\n }\n\n // Patch the document\n onItemAppend(item)\n },\n [variantId, experimentId, experimentValue, variantName, onItemAppend],\n )\n\n const filteredVariants =\n experiments.find((option) => {\n return option.id === experimentValue\n })?.variants || []\n\n type Value = {\n value?: unknown\n [key: string]: unknown\n variantId: string\n _key: string\n _type: string\n }\n\n // there is probably some better was of getting the type of this?\n const values = (props.value as Value[]) || []\n\n const usedVariants = values?.map((variant) => variant[variantId])\n\n return (\n <Stack gap={3}>\n {props.renderDefault({...props, arrayFunctions: () => null})}\n\n <Inline gap={1}>\n {filteredVariants.map((variant) => {\n return (\n <Button\n key={`${experimentValue}-${variant.id}`}\n text={`Add ${variant.label}`}\n mode=\"ghost\"\n disabled={usedVariants?.includes(variant.id)}\n onClick={() => handleClick(variant)}\n />\n )\n })}\n </Inline>\n </Stack>\n )\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {useCallback, useMemo} from 'react'\nimport {GiSoapExperiment} from 'react-icons/gi'\nimport {\n defineDocumentFieldAction,\n type DocumentFieldActionItem,\n type DocumentFieldActionProps,\n type FormPatch,\n type ObjectFieldProps,\n type PatchEvent,\n set,\n unset,\n} from 'sanity'\ntype PatchStuff = {onChange: (patch: FormPatch | FormPatch[] | PatchEvent) => void; inputId: string}\n\nconst useAddExperimentAction = (\n props: DocumentFieldActionProps &\n PatchStuff & {experimentNameOverride: string; experimentId: string; active: boolean},\n): DocumentFieldActionItem => {\n const {onChange, active, experimentNameOverride} = props\n\n const handleAddAction = useCallback(() => {\n onChange([set(!active, ['active'])])\n }, [onChange, active])\n\n return {\n title: `Add ${experimentNameOverride}`,\n type: 'action',\n icon: GiSoapExperiment,\n onAction: handleAddAction,\n renderAsButton: true,\n }\n}\n\nconst useRemoveExperimentAction = (\n props: DocumentFieldActionProps &\n PatchStuff & {\n experimentNameOverride: string\n experimentId: string\n active: boolean\n variantNameOverride: string\n },\n): DocumentFieldActionItem => {\n const {onChange, active, experimentId, experimentNameOverride, variantNameOverride} = props\n const handleClearAction = useCallback(() => {\n const activeId = ['active']\n const experiment = [experimentId]\n const variants = [`${variantNameOverride}s`]\n onChange([set(!active, activeId), unset(experiment), unset(variants)])\n }, [onChange, active, experimentId, variantNameOverride])\n\n return {\n title: `Remove ${experimentNameOverride}`,\n type: 'action',\n icon: CloseIcon,\n onAction: handleClearAction,\n renderAsButton: true,\n }\n}\n\nconst createActions = ({\n onChange,\n inputId,\n active,\n experimentNameOverride,\n experimentId,\n variantNameOverride,\n}: PatchStuff & {\n active?: boolean\n experimentNameOverride: string\n experimentId: string\n variantNameOverride: string\n}) => {\n const removeAction = defineDocumentFieldAction({\n name: `Remove ${experimentNameOverride}`,\n useAction: (props) =>\n useRemoveExperimentAction({\n ...props,\n active: true,\n onChange,\n inputId,\n experimentNameOverride,\n experimentId,\n variantNameOverride,\n }),\n })\n const addAction = defineDocumentFieldAction({\n name: `Add ${experimentNameOverride}`,\n useAction: (props) =>\n useAddExperimentAction({\n ...props,\n active: false,\n onChange,\n inputId,\n experimentNameOverride,\n experimentId,\n }),\n })\n return active ? removeAction : addAction\n}\n\nexport const ExperimentField = (\n props: ObjectFieldProps & {\n experimentNameOverride: string\n experimentId: string\n variantNameOverride: string\n },\n) => {\n const {onChange} = props.inputProps\n const {inputId, experimentNameOverride, experimentId, variantNameOverride} = props\n const active = props.value?.['active'] as boolean | undefined\n\n const actionProps = useMemo(\n () => ({\n onChange,\n inputId,\n active,\n experimentNameOverride,\n experimentId,\n variantNameOverride,\n }),\n [onChange, inputId, active, experimentNameOverride, experimentId, variantNameOverride],\n )\n\n const memoizedActions = useMemo(() => {\n const oldActions = props.actions || []\n return [createActions(actionProps), ...oldActions]\n }, [actionProps, props.actions])\n\n const withActionProps = useMemo(\n () => ({\n ...props,\n actions: memoizedActions,\n }),\n [props, memoizedActions],\n )\n return props.renderDefault(withActionProps)\n}\n","import {Select as SanitySelect} from '@sanity/ui'\nimport type {ChangeEvent} from 'react'\nimport type {FormPatch, PatchEvent, Path, StringInputProps} from 'sanity'\n\nimport type {SelectOption} from './ExperimentInput'\n\nexport const Select = (\n props: StringInputProps & {\n listOptions: SelectOption[]\n handleChange: (\n event: ChangeEvent<HTMLSelectElement>,\n onChange: (patch: FormPatch | FormPatch[] | PatchEvent) => void,\n ) => void\n aditionalChangePath?: Path\n clearSubValueOnChange?: boolean\n },\n) => {\n const {\n value, // Current field value\n onChange, // Method to handle patch events,\n elementProps,\n listOptions,\n handleChange,\n } = props\n\n return (\n <SanitySelect\n {...elementProps}\n fontSize={2}\n padding={3}\n gap={[3, 3, 4]}\n value={value || ''} // Current field value\n onChange={(event) => handleChange(event, onChange)} // A function to call when the input value changes\n >\n <option value={''}>{'Select an option...'}</option>\n {listOptions.map(({value: optionValue, title}) => (\n <option key={optionValue} value={optionValue}>\n {title}\n </option>\n ))}\n </SanitySelect>\n )\n}\n","import {Card, Text} from '@sanity/ui'\nimport {type ChangeEvent, useCallback, useMemo} from 'react'\nimport {\n type FormPatch,\n getPublishedId,\n type PatchEvent,\n set,\n type StringInputProps,\n unset,\n useDocumentOperation,\n useFormValue,\n} from 'sanity'\n\nimport type {ExperimentType} from '..'\nimport {useExperimentContext} from './ExperimentContext'\nimport {Select} from './Select'\n\nexport type SelectOption = {title: string; value: string}\nconst formatlistOptions = (experiments: ExperimentType[]): SelectOption[] =>\n experiments.map((experiment) => ({\n title: experiment.label,\n value: experiment.id,\n }))\n\nexport const ExperimentInput = (\n props: StringInputProps & {variantNameOverride: string; experimentNameOverride: string},\n) => {\n const {experiments} = useExperimentContext()\n\n const id = useFormValue(['_id']) as string\n const additionalChangePath = useMemo(\n () => [...props.path.slice(0, -1), `${props.variantNameOverride}s`],\n [props.variantNameOverride, props.path],\n )\n const subValues = useFormValue(additionalChangePath)\n\n const {patch} = useDocumentOperation(getPublishedId(id), props.schemaType.name)\n\n const handleChange = useCallback(\n (\n event: ChangeEvent<HTMLSelectElement>,\n onChange: (patchchange: FormPatch | FormPatch[] | PatchEvent) => void,\n ) => {\n const inputValue = event.currentTarget.value\n\n if (inputValue) {\n onChange(set(inputValue))\n } else {\n onChange(unset())\n }\n\n if (subValues) {\n const patchEvent = {\n unset: [additionalChangePath.join('.')],\n }\n patch.execute([patchEvent])\n }\n },\n [patch, subValues, additionalChangePath],\n )\n\n if (!experiments.length)\n return (\n <Card padding={[3, 3, 4]} radius={2} shadow={1} tone=\"caution\">\n <Text align=\"center\" size={[2, 2, 3]}>\n There are no defined {props.experimentNameOverride}s\n </Text>\n </Card>\n )\n\n return (\n <Select {...props} listOptions={formatlistOptions(experiments)} handleChange={handleChange} />\n )\n}\n","import {type ObjectItem, type ObjectItemProps, set} from 'sanity'\n\nexport const ExperimentItem = (props: ObjectItemProps) => {\n const {active} = props.value as ObjectItem & {active: boolean}\n if (!active) {\n props.inputProps.onChange(set(true, ['active']))\n }\n\n return props.renderDefault(props)\n}\n","import {Button, Inline, Stack} from '@sanity/ui'\nimport {type ObjectInputProps, set, useFormValue} from 'sanity'\n\nexport const VariantInput = (props: ObjectInputProps) => {\n const experimentPath = props.path.slice(0, -2)\n const defaultValue = useFormValue([...experimentPath, 'default'])\n const handleClick = () => {\n props.onChange(set(defaultValue, ['value']))\n }\n return (\n <Stack gap={3}>\n {props.renderDefault(props)}\n\n <Inline gap={1}>\n <Button text=\"Copy default\" mode=\"ghost\" onClick={() => handleClick()} />\n </Inline>\n </Stack>\n )\n}\n","import {useEffect, useState} from 'react'\nimport {\n isImage,\n isReference,\n type ObjectSchemaType,\n type PreviewProps,\n type ReferenceSchemaType,\n useClient,\n} from 'sanity'\n\nimport type {VariantPreviewProps} from '../types'\nimport {useExperimentContext} from './ExperimentContext'\n\nexport const VariantPreview = (props: PreviewProps) => {\n const [subtitle, setSubtitle] = useState<string | undefined>(undefined)\n const [title, setTitle] = useState<string | undefined>(undefined)\n const [media, setMedia] = useState<any>(undefined)\n const client = useClient({apiVersion: '2025-01-01'})\n const {experiments} = useExperimentContext()\n\n const {experiment, variant, value} = props as VariantPreviewProps\n\n const selectedExperiment = experiments.find((experimentItem) => {\n return experimentItem.id === experiment\n })\n\n const selectedVariant = selectedExperiment?.variants.find((variantItem) => {\n return variantItem.id === variant\n })\n\n useEffect(() => {\n const getSubtitle = async () => {\n setTitle(`${selectedExperiment?.label} - ${selectedVariant?.label}`)\n if (typeof value === 'string') {\n return setSubtitle(value)\n }\n if (isReference(value)) {\n const doc = await client.getDocument(value._ref)\n const type = props.schemaType as ObjectSchemaType\n const valueField = type.fields.find((field) => field.name === 'value') as ObjectSchemaType\n const referenceField = valueField?.type as ReferenceSchemaType\n const referenceType = referenceField.to.find((field) => field.type?.name === doc?._type)\n\n const selectFields = {} as Record<string, unknown>\n const previewFields = referenceType?.preview?.select || {}\n Object.keys(previewFields).forEach((key) => {\n const valueKey = referenceType?.preview?.select?.[key]\n selectFields[key] =\n valueKey && doc\n ? valueKey?.split('.').reduce((acc, index) => acc[index], doc)\n : undefined\n })\n\n const previewContent = referenceType?.preview?.prepare?.(selectFields)\n setMedia(previewContent?.media || selectFields['media'])\n return setSubtitle(previewContent?.title || (selectFields['title'] as string))\n }\n if (isImage(value)) {\n setMedia(value)\n }\n return ''\n }\n void getSubtitle()\n }, [value, client, selectedExperiment?.label, selectedVariant?.label, props.schemaType])\n\n const previewProps = {\n ...props,\n title: title,\n subtitle: subtitle,\n media: media,\n }\n\n return props.renderDefault(previewProps)\n}\n","import {isDocumentSchemaType, type ObjectField, type Path, type SchemaType} from 'sanity'\n\nimport type {ObjectFieldWithPath} from '../types'\n\n/**\n * Flattens a document's schema type into a flat array of fields and includes their path\n */\nexport function flattenSchemaType(schemaType: SchemaType): ObjectFieldWithPath[] {\n if (!isDocumentSchemaType(schemaType)) {\n console.error(`Schema type is not a document`)\n return []\n }\n\n return extractInnerFields(schemaType.fields, [], 5)\n}\n\nfunction extractInnerFields(\n fields: ObjectField[],\n path: Path,\n maxDepth: number,\n): ObjectFieldWithPath[] {\n if (path.length >= maxDepth) {\n return []\n }\n\n const result: ObjectFieldWithPath[] = []\n\n for (const field of fields) {\n result.push({path: [...path, field.name], ...field})\n\n if (field.type.jsonType === 'object') {\n result.push(...extractInnerFields(field.type.fields, [...path, field.name], maxDepth))\n } else if (field.type.jsonType === 'array') {\n // Handle array types by checking each possible type in the array\n const arrayTypes = field.type.of || []\n for (const arrayType of arrayTypes) {\n if ('fields' in arrayType) {\n result.push(...extractInnerFields(arrayType.fields, [...path, field.name], maxDepth))\n }\n }\n }\n }\n\n return result\n}\n","import {\n type ArrayOfObjectsInputProps,\n defineField,\n definePlugin,\n defineType,\n type FieldDefinition,\n isObjectInputProps,\n} from 'sanity'\n\nimport {ArrayInput} from './components/Array'\nimport {CONFIG_DEFAULT, ExperimentProvider} from './components/ExperimentContext'\nimport {ExperimentField} from './components/ExperimentField'\nimport {ExperimentInput} from './components/ExperimentInput'\nimport {ExperimentItem} from './components/ExperimentItem'\nimport {VariantInput} from './components/VariantInput'\nimport {VariantPreview} from './components/VariantPreview'\nimport type {FieldPluginConfig} from './types'\nimport {flattenSchemaType} from './utils/flattenSchemaType'\n\nconst createExperimentType = ({\n field,\n experimentNameOverride,\n variantNameOverride,\n variantId,\n variantArrayName,\n experimentId,\n}: {\n field: string | FieldDefinition\n experimentNameOverride: string\n variantNameOverride: string\n variantId: string\n variantArrayName: string\n experimentId: string\n}) => {\n const typeName = typeof field === `string` ? field : field.name\n const usedName = String(typeName[0]).toUpperCase() + typeName.slice(1)\n const variantName = `${variantNameOverride}${usedName}`\n\n return defineType({\n name: `${experimentNameOverride}${usedName}`,\n type: 'object',\n components: {\n field: (props) => (\n <ExperimentField\n {...props}\n experimentId={experimentId}\n experimentNameOverride={experimentNameOverride}\n variantNameOverride={variantNameOverride}\n />\n ),\n item: ExperimentItem,\n },\n fields: [\n typeof field === `string`\n ? // Define a simple field if all we have is the name as a string\n defineField({\n name: 'default',\n type: field,\n })\n : // Pass in the configured options, but overwrite the name\n {\n ...field,\n name: 'default',\n },\n defineField({\n name: 'active',\n type: 'boolean',\n hidden: true,\n initialValue: false,\n }),\n defineField({\n name: experimentId,\n type: 'string',\n components: {\n input: (props) => (\n <ExperimentInput\n {...props}\n experimentNameOverride={experimentNameOverride}\n variantNameOverride={variantNameOverride}\n />\n ),\n },\n hidden: ({parent}) => {\n return !parent?.active\n },\n }),\n defineField({\n name: variantArrayName,\n type: 'array',\n hidden: ({parent}) => {\n return !parent?.[experimentId]\n },\n components: {\n input: (props: ArrayOfObjectsInputProps) => (\n <ArrayInput\n {...props}\n variantName={variantName}\n variantId={variantId}\n experimentId={experimentId}\n />\n ),\n },\n of: [\n defineField({\n name: variantName,\n type: variantName,\n }),\n ],\n }),\n ],\n preview: {\n select: {\n base: 'default',\n experiment: experimentId,\n },\n prepare: ({base, experiment}) => {\n const title = base?.title || base?.name || typeof base === 'string' ? base : ''\n const experimentTitle = experiment ? `Experiment: ${experiment}` : ''\n const media = base?.image || base?.photo || base?.media || ''\n return {\n title: title || experimentTitle,\n subtitle: title ? experimentTitle : '',\n media,\n }\n },\n },\n })\n}\n\nconst createVariantType = ({\n field,\n variantNameOverride,\n variantId,\n experimentId,\n}: {\n field: string | FieldDefinition\n variantNameOverride: string\n variantId: string\n experimentId: string\n}) => {\n const typeName = typeof field === `string` ? field : field.name\n const usedName = String(typeName[0]).toUpperCase() + typeName.slice(1)\n return defineType({\n name: `${variantNameOverride}${usedName}`,\n title: `${variantNameOverride} array ${usedName}`,\n type: 'object',\n components: {\n preview: VariantPreview,\n input: VariantInput,\n },\n fields: [\n {\n type: 'string',\n name: variantId,\n readOnly: true,\n },\n {\n type: 'string',\n name: experimentId,\n hidden: true,\n },\n typeof field === `string`\n ? // Define a simple field if all we have is the name as a string\n defineField({\n name: 'value',\n type: field,\n // hidden: ({parent}) => !parent?.[`${objectNameOverride}Id`],\n })\n : // Pass in the configured options, but overwrite the name\n {\n ...field,\n name: 'value',\n // hidden: ({parent}) => !parent?.[`${objectNameOverride}Id`],\n },\n ],\n preview: {\n select: {\n variant: variantId,\n experiment: experimentId,\n value: 'value',\n },\n },\n })\n}\n\nconst fieldSchema = ({\n fields,\n experimentNameOverride,\n variantNameOverride,\n variantId,\n variantArrayName,\n experimentId,\n}: Required<Omit<FieldPluginConfig, 'apiVersion' | 'experiments'>>) => {\n return [\n ...fields.map((field) =>\n createVariantType({field, variantNameOverride, variantId, experimentId}),\n ),\n ...fields.map((field) =>\n createExperimentType({\n field,\n experimentNameOverride,\n variantNameOverride,\n variantId,\n variantArrayName,\n experimentId,\n }),\n ),\n ]\n}\n\nexport const fieldLevelExperiments = definePlugin<FieldPluginConfig>((config) => {\n const pluginConfig = {...CONFIG_DEFAULT, ...config}\n const {fields, experimentNameOverride, variantNameOverride} = pluginConfig\n\n const experimentId = `${experimentNameOverride}Id`\n const variantArrayName = `${variantNameOverride}s`\n const variantId = `${variantNameOverride}Id`\n\n const fieldSchemaConfig = fieldSchema({\n fields,\n experimentNameOverride,\n variantNameOverride,\n variantId,\n variantArrayName,\n experimentId,\n })\n return {\n name: 'sanity-personalistaion-plugin-field-level-experiments',\n schema: {\n types: fieldSchemaConfig,\n },\n form: {\n components: {\n input: (props) => {\n const isRootInput = props.id === 'root' && isObjectInputProps(props)\n\n if (!isRootInput) {\n return props.renderDefault(props)\n }\n\n const flatFields = flattenSchemaType(props.schemaType)\n const hasExperiment = flatFields.some(\n (field) =>\n field.type.name.startsWith(experimentNameOverride) ||\n field.name.startsWith(experimentNameOverride),\n )\n\n if (!hasExperiment) {\n return props.renderDefault(props)\n }\n\n const providerProps = {\n ...props,\n experimentFieldPluginConfig: {\n ...pluginConfig,\n variantId,\n variantArrayName,\n experimentId,\n },\n }\n return ExperimentProvider(providerProps)\n },\n },\n },\n }\n})\n"],"names":["CONFIG_DEFAULT","fields","apiVersion","experimentNameOverride","variantNameOverride","variantId","variantArrayName","experimentId","ExperimentContext","createContext","experiments","useExperimentContext","useContext","ExperimentProvider","props","$","_c","experimentFieldPluginConfig","t0","client","useClient","workspace","useWorkspace","t1","Array","isArray","suspend","equal","t2","context","t3","renderDefault","t4","ArrayInput","onItemAppend","variantName","fieldPath","path","slice","useFormValue","experimentValue","variant","item","_key","uuid","id","_type","handleClick","T0","T1","t5","t6","filteredVariants","find","option","variants","usedVariants","value","map","variant_0","Stack","arrayFunctions","_temp","Inline","variant_1","label","includes","t7","t8","useAddExperimentAction","onChange","active","set","handleAddAction","title","type","icon","GiSoapExperiment","onAction","renderAsButton","useRemoveExperimentAction","activeId","experiment","unset","handleClearAction","CloseIcon","createActions","inputId","removeAction","defineDocumentFieldAction","name","useAction","addAction","ExperimentField","inputProps","actionProps","actions","oldActions","memoizedActions","withActionProps","Select","elementProps","listOptions","handleChange","for","event","Symbol","SanitySelect","optionValue","formatlistOptions","ExperimentInput","additionalChangePath","subValues","getPublishedId","patch","useDocumentOperation","schemaType","inputValue","currentTarget","patchEvent","join","execute","length","ExperimentItem","VariantInput","experimentPath","defaultValue","VariantPreview","subtitle","setSubtitle","useState","undefined","setTitle","media","setMedia","selectedExperiment","experimentItem","variantItem","selectedVariant","getSubtitle","isReference","doc","getDocument","_ref","referenceType","to","field_0","field","selectFields","previewFields","preview","select","Object","keys","forEach","key","valueKey","split","reduce","_temp2","previewContent","prepare","isImage","useEffect","previewProps","acc","index","flattenSchemaType","isDocumentSchemaType","extractInnerFields","console","error","maxDepth","result","push","jsonType","arrayTypes","of","arrayType","createExperimentType","typeName","usedName","String","toUpperCase","defineType","components","defineField","hidden","initialValue","input","parent","base","experimentTitle","image","photo","createVariantType","readOnly","fieldSchema","fieldLevelExperiments","definePlugin","config","pluginConfig","schema","types","form","isObjectInputProps","some","startsWith","providerProps"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { definePlugin, isObjectInputProps } from "sanity";
2
- import { flattenSchemaType, fieldLevelExperiments as fieldLevelExperiments$1 } from "../index.js";
2
+ import { flattenSchemaType, fieldLevelExperiments as fieldLevelExperiments$1 } from "../_chunks-es/fieldExperiments.js";
3
3
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { useState, useEffect, createContext, useContext } from "react";