import { HTMLAttributes, ComponentProps as ReactComponentProps } from 'react'; import { AssetParamValueItem } from '@uniformdev/canvas'; import { UniformComposition } from '@uniformdev/next-app-router'; import { ComponentParameter } from '@uniformdev/next-app-router-shared'; type ResolveEmptyPlaceholderFunction = NonNullable< ReactComponentProps['resolveEmptyPlaceholder'] >; export type ResolveEmptyPlaceholderOptions = Parameters[0]; export type ViewPort = { desktop?: T; tablet?: T; mobile?: T; }; export type SpaceType = Pick< NonNullable['style']>, | 'marginTop' | 'marginLeft' | 'paddingTop' | 'marginRight' | 'paddingLeft' | 'marginBottom' | 'paddingRight' | 'paddingBottom' >; type ToComponentParameters = { [K in keyof T]: ComponentParameter; }; export type ComponentProps< T, S extends string = string, > = import('@uniformdev/next-app-router/component').ComponentProps, S>; type ValueOfField = F extends { value: infer V } ? V : never; type FlattenFields = { [K in keyof T['fields']]: ValueOfField; }; type RenameKey = Omit & { [P in NewName]: T[K] }; export type ResolvedAssetFromItem = RenameKey, 'id', 'file'> & { id: T['_id']; }; export type ReplaceFieldsWithAssets = Omit & { [P in K]?: ResolvedAssetFromItem[]; };