@ethereal-nexus/core 1.16.0 → 1.18.0

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/index.js CHANGED
@@ -222,7 +222,7 @@ function dialog(entries) {
222
222
 
223
223
  // src/schema/multifield/multifield.ts
224
224
  function multifield(input) {
225
- const { label, children, required, itemLabelKey } = input;
225
+ const { label, children, required, itemLabelKey, max, min } = input;
226
226
  const childrenParse = children._parse();
227
227
  return {
228
228
  type: "multifield",
@@ -232,6 +232,8 @@ function multifield(input) {
232
232
  label,
233
233
  required,
234
234
  itemLabelKey,
235
+ max,
236
+ min,
235
237
  children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
236
238
  };
237
239
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/schema/dialog/tabs.ts","../src/schema/dialog/condition.ts","../src/utils/pathToArray.ts","../src/schema/dialog/dialog.ts","../src/schema/multifield/multifield.ts","../src/schema/text/text.ts","../src/schema/checkbox/checkbox.ts","../src/schema/pathbrowser/pathbrowser.ts","../src/schema/media/media.ts","../src/schema/select/select.ts","../src/schema/rte/rte.ts","../src/schema/dynamic/dynamic.ts","../src/schema/calendar/calendar.ts","../src/schema/datasource/datasource.ts","../src/schema/group/group.ts","../src/schema/datamodel/datamodel.ts","../src/schema/navigation/navigation.ts","../src/schema/tags/tags.ts","../src/schema/hidden/hidden.ts","../src/schema/optional/optional.ts","../src/schema/object/object.ts","../src/decorators/webcomponent/webcomponent.ts","../src/utils/pascalToKebab.ts","../src/functions/parse/parse.ts","../src/functions/parse/parsePrimitives.ts","../src/functions/component/component.ts"],"sourcesContent":["export * from \"./schema/dialog\";\n\nexport * from \"./schema/multifield\";\nexport * from \"./schema/text\";\nexport * from \"./schema/checkbox\";\nexport * from \"./schema/pathbrowser\";\nexport * from \"./schema/media\";\nexport * from \"./schema/select\";\nexport * from \"./schema/rte\";\nexport * from \"./schema/dynamic\";\nexport * from \"./schema/calendar\";\nexport * from \"./schema/datasource\";\nexport * from \"./schema/group\";\nexport * from \"./schema/datamodel\";\nexport * from \"./schema/navigation\";\nexport * from \"./schema/tags\";\n\nexport * from \"./schema/hidden\";\nexport * from \"./schema/optional\";\nexport * from \"./schema/object\";\n\nexport * from \"./types\";\n\nexport * from \"./decorators\"\nexport * from \"./functions\"\n","import { EntryMask } from '../../types';\nimport { Field } from './types';\n\nexport class Tabs<TEntries> {\n private tabs = new Map<string, EntryMask<TEntries>>();\n\n addTab(name: string, entries: EntryMask<TEntries>) {\n this.tabs.set(name, entries);\n }\n\n parse(entries: Field[]) {\n const result = []\n const usedEntries = new Set();\n\n if(this.tabs.size === 0) {\n return entries\n }\n\n for(const [name, mask] of this.tabs) {\n const children = []\n\n if(!mask) {\n throw new Error(`Entry \"${String(name)}\" does not have an appropriate tab configuration.`);\n }\n\n for(const [key,] of Object.entries(mask)) {\n const field = entries.find(f => f.id === key)\n\n if (usedEntries.has(key)) {\n throw new Error(`Entry \"${String(name)}.${String(key)}\" is already used in another tab.`);\n }\n\n if(!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n children.push(entries.find(f => f.id === key))\n }\n\n result.push({\n type: 'tab',\n label: name,\n id: `tab_${name.toLowerCase().replaceAll(' ', '')}`,\n children\n })\n }\n\n return [{\n type: 'tabs',\n id: 'tabs',\n children: result\n }]\n }\n}","import { NestedPaths } from '../../types';\nimport { ConditionFn, ConditionOperators, Conditions, Field } from './types';\nimport { ObjectEntries } from '../../types/object';\n\nfunction addConditionToField(fields: Field[], path: string, condition: Conditions): void {\n const keys = path.split('.');\n let currentFields = fields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const field = currentFields.find(f => f.id === key);\n\n if (!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n if (i === keys.length - 1) {\n field.condition = condition;\n } else {\n if (!field.children) {\n throw new Error(`Field with id \"${key}\" has no children`);\n }\n\n const nextKey = keys[i + 1];\n if(nextKey === '$this') {\n field.condition = condition;\n break;\n }\n currentFields = field.children;\n }\n }\n}\n\nexport class Condition<TEntries extends ObjectEntries> {\n private conditions = new Map<string, Conditions>();\n\n addCondition(field: NestedPaths<TEntries>, condition: ConditionFn<TEntries>) {\n const operators: ConditionOperators<TEntries> = {\n eq: (field, value) => ({ operator: 'eq', field, value }),\n neq: (field, value) => ({ operator: 'neq', field, value }),\n exists: (field) => ({ operator: 'exists', field }),\n and: (...operations) => ({ operator: 'and', value: operations }),\n or: (...operations) => ({ operator: 'or', value: operations })\n };\n\n this.conditions.set(field, condition(operators));\n }\n\n parse(entries: Field[]) {\n for (let [key, value] of this.conditions) {\n addConditionToField(entries, key, value)\n }\n\n return entries;\n }\n}\n","interface PathValue {\n path: string[];\n value: any;\n}\n\nexport function pathToArray(obj: Record<string, any>, parentPath: string[] = []): PathValue[] {\n const result: PathValue[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n const currentPath = [...parentPath, key];\n\n if (typeof value === 'object' && !value.hasOwnProperty('operator') && !Array.isArray(value)) {\n // If the value is an object, recurse into it\n result.push(...pathToArray(value, currentPath));\n } else {\n // If the value is not an object, store the path and value\n result.push({ path: currentPath, value });\n }\n }\n\n return result;\n}","import { BaseSchema, NestedPaths } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { Tabs } from './tabs';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { Condition } from './condition';\nimport { pathToArray } from '../../utils/pathToArray';\nimport { ConditionsArgument, TabsArgument } from './types';\nconst RESERVED_DIALOG_KEYS = ['title', 'id', 'name'] as const;\ntype ReservedDialogKeys = typeof RESERVED_DIALOG_KEYS[number] | `nav_${string}` | `cf_${string}`;\n\nexport interface DialogSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>> {\n type: 'dialog';\n tabs: (tabs: TabsArgument<TEntries>) => DialogSchema<TEntries>;\n conditions: (conditions: ConditionsArgument<TEntries>) => DialogSchema<TEntries>;\n}\n\nclass DialogBuilder<TEntries extends ObjectEntries> implements DialogSchema<TEntries> {\n private conditionsModule: Condition<TEntries>;\n private tabsModule: Tabs<TEntries>;\n private readonly entries: TEntries;\n readonly type = 'dialog';\n\n constructor(entries: TEntries) {\n this.entries = entries;\n this.conditionsModule = new Condition<TEntries>();\n this.tabsModule = new Tabs<TEntries>();\n }\n\n conditions(conditions: ConditionsArgument<TEntries>) {\n const conditionsArray = pathToArray(conditions)\n for (const condition of conditionsArray) {\n this.conditionsModule.addCondition(condition.path.join('.') as NestedPaths<TEntries>, condition.value);\n }\n return this;\n }\n\n tabs(tabs: TabsArgument<TEntries>) {\n for (const [key, tab] of Object.entries(tabs)) {\n this.tabsModule.addTab(key as any, tab!);\n }\n return this;\n }\n\n _parse() {\n const dialog = Object.entries(this.entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse(),\n }))\n .filter((entry: object) => {\n if ('type' in entry) {\n return entry.type !== 'hidden';\n }\n });\n\n const dialogWithConditions = this.conditionsModule.parse(dialog);\n const dialogWithTabs = this.tabsModule.parse(dialogWithConditions);\n return {\n dialog: dialogWithTabs\n };\n }\n\n _primitive() {\n const result: Record<string, WebcomponentPropTypes> = {};\n\n for (const [key, entry] of Object.entries(this.entries)) {\n const type = entry._primitive();\n if (typeof type === 'string') {\n result[key] = type;\n }\n }\n\n return result;\n }\n}\n\ntype ValidateDialogEntries<T extends ObjectEntries> = {\n [K in keyof T]: K extends ReservedDialogKeys\n ? { __error: `Property name '${K & string}' is reserved or starts with 'nav_' or 'cf_' and cannot be used in dialog schema` }\n : T[K]\n};\n\nexport function dialog<TEntries extends ObjectEntries>(\n entries: ValidateDialogEntries<TEntries>\n): DialogSchema<TEntries> {\n return new DialogBuilder(entries as unknown as TEntries);\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface TextSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'textfield';\n}\n\ninterface TextInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n validationRegex?: string;\n validationErrorMessage?: string;\n\n}\n\nexport function text(input: TextInput): TextSchema {\n const {placeholder, label,tooltip, required, defaultValue, validationRegex, validationErrorMessage} = input;\n\n return {\n type: 'textfield',\n _parse() {\n return {\n type: 'textfield',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n validationRegex,\n validationErrorMessage\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CheckBoxSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'checkbox';\n}\n\ninterface CheckBoxInput extends BaseFieldInput {\n showastoggle?: boolean\n defaultValue?: boolean | string;\n}\n\nexport function checkbox(input: CheckBoxInput): CheckBoxSchema {\n const {label, tooltip, showastoggle = false, defaultValue} = input;\n\n return {\n type: 'checkbox',\n _parse() {\n return {\n type: 'checkbox',\n label,\n tooltip,\n showastoggle,\n defaultValue\n }\n },\n _primitive() {\n return 'boolean'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface PathBrowserSchema<TOutput extends string | { path: string, [key: string]: string } = string | { path: string, [key: string]: string }> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'pathbrowser';\n}\n\ninterface PathBrowserInput extends BaseFieldInput {\n placeholder: string;\n defaultValue?: string;\n folder?: boolean;\n path?: string;\n pageProperties?: string[];\n}\n\nexport function pathbrowser(input: PathBrowserInput): PathBrowserSchema {\n const {placeholder, label, tooltip, required, defaultValue, folder = false, path, pageProperties} = input;\n\n return {\n type: 'pathbrowser',\n _parse() {\n return {\n type: 'pathbrowser',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n folder,\n pageProperties,\n path\n }\n },\n _primitive() {\n return pageProperties ? 'json' : 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype MediaOutputType = {\n alt: string;\n url: string;\n renditions: string[];\n};\n\nexport interface MediaSchema<TOutput extends string = string> extends BaseSchema<MediaOutputType> {\n /**\n * The schema type.\n */\n type: 'media';\n}\n\ntype ImageTypes = 'image/gif' | 'image/jpeg' | 'image/png' | 'image/tiff' | 'image/svg+xml';\ntype VideoTypes = 'video/mp4' | 'video/webm' | 'video/ogg';\ntype PDFTypes = 'application/pdf';\ntype ZipTypes = 'application/zip' | 'application/x-zip-compressed' | 'application/x-zip' | 'application/x-compressed' | 'multipart/x-zip';\ntype CSVType = 'text/csv';\n\n\ninterface MediaInput extends BaseFieldInput {\n defaultValue?: string;\n allowedMimeTypes?: ( PDFTypes | ZipTypes | ImageTypes | VideoTypes | CSVType)[];\n}\n\nexport function media(input: MediaInput): MediaSchema {\n const { label, tooltip, required, defaultValue, allowedMimeTypes } = input;\n\n return {\n type: 'media',\n _parse() {\n return {\n type: 'media',\n label,\n tooltip,\n required,\n defaultValue,\n allowedMimeTypes\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}\n\n/**\n * @deprecated Use `media` instead.\n */\nexport const image = (input: MediaInput = {\n label: 'image',\n allowedMimeTypes: ['image/gif', 'image/jpeg', 'image/png', 'image/tiff', 'image/svg+xml'],\n}) => media(input);\n","import { BaseFieldInput, BaseSchema } from '../../types';\n\ntype ReadonlyObject<T> = {\n readonly [K in keyof T]: T[K];\n};\n\nexport interface SelectSchema<T, TMultiple extends boolean = false> extends BaseSchema<TMultiple extends true ? T[] : T> {\n /**\n * The schema type.\n */\n type: 'select';\n multiple: TMultiple;\n}\n\ninterface SelectInput<TMultiple extends boolean = false> extends BaseFieldInput {\n placeholder?: string;\n multiple?: TMultiple;\n values: {\n value: string;\n label: string;\n }[];\n defaultValue?: TMultiple extends true ? string[] : string;\n}\n\ntype ValuesType<T extends { values: readonly { value: string }[] }> = T['values'][number]['value'];\n\nexport function select<const T extends SelectInput<TMultiple>, TMultiple extends boolean = T['multiple'] extends true ? true : false>(input: T): SelectSchema<ValuesType<ReadonlyObject<T>>, TMultiple> {\n const { label, values, tooltip, placeholder, multiple = false, required, defaultValue } = input;\n\n if (!multiple && Array.isArray(defaultValue)) {\n throw new Error('defaultValue should be a string when multiple is false');\n }\n\n return {\n type: 'select',\n _parse() {\n return {\n type: 'select',\n label,\n multiple,\n values,\n tooltip,\n placeholder,\n required,\n defaultValue\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n multiple: multiple as TMultiple,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface RichTextEditorSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'richtexteditor';\n}\n\ninterface RichTextEditorInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function rte(input: RichTextEditorInput): RichTextEditorSchema {\n const {placeholder, label, tooltip, required, defaultValue} = input;\n\n return {\n type: 'richtexteditor',\n _parse() {\n return {\n type: 'richtexteditor',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import {\n BaseSchema,\n} from '../../types';\n\nexport interface DynamicZoneSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'dynamic';\n}\n\ninterface DynamicInput {\n}\n\nexport function dynamic(input: DynamicInput): DynamicZoneSchema {\n return {\n type: 'dynamic',\n _parse() {\n return {\n type: 'dynamic',\n };\n },\n _primitive() {\n return 'string';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CalendarSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'calendar';\n}\n\ninterface CalendarInput extends BaseFieldInput {\n placeholder?: string;\n valueformat: string;\n displayformat?: string;\n headerformat?: string;\n startday?: string;\n min?: string;\n max?: string;\n defaultValue?: string;\n}\n\nexport function calendar(input: CalendarInput): CalendarSchema {\n const {valueformat,startday=0,min,max, placeholder, label,tooltip,required, defaultValue, headerformat, displayformat} = input;\n\n return {\n type: 'calendar',\n _parse() {\n return {\n type: 'calendar',\n label,\n valueformat,\n headerformat,\n displayformat,\n placeholder,\n startday,\n tooltip,\n min,\n max,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\nimport { SelectSchema } from '../select';\ntype DataSourceOutputType<Multiple extends boolean> = Multiple extends true ? string[] : string;\n\nexport interface DataSourceSchema<Multiple extends boolean = false> extends BaseSchema<DataSourceOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'datasource';\n}\n\ninterface DataSourceBody {\n [key: string]: any;\n}\ninterface DataSourceInput extends BaseFieldInput {\n placeholder?: string;\n url: string;\n multiple?: boolean;\n body: DataSourceBody;\n defaultValue?: string;\n method?: 'GET' | 'POST';\n}\n\nexport function datasource<Multiple extends boolean = false>(input: DataSourceInput & { multiple?: Multiple }): DataSourceSchema<Multiple> {\n const {label, body, url, tooltip,placeholder, multiple = false as Multiple, required, defaultValue, method = 'POST' } = input;\n\n return {\n type: 'datasource',\n _parse() {\n return {\n type: 'datasource',\n label,\n url,\n multiple,\n body,\n tooltip,\n placeholder,\n required,\n defaultValue,\n method\n }\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n }\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput,\n} from '../../types';\n\nexport interface GroupSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<{\n active: boolean;\n} & InferOutput<TChildren>> {\n readonly type: 'group';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren;\n toggle?: boolean;\n}\n\nexport function group<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): GroupSchema<TChildren> {\n const { label, children, tooltip, toggle } = input;\n const childrenParse = children._parse();\n\n return {\n type: 'group',\n _parse() {\n return {\n type: 'group',\n label,\n tooltip,\n toggle,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse],\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface DataModelSchema<TOutput extends Record<string, any> = Record<string, any>> extends BaseSchema<TOutput> { /**\n * The schema type.\n */\n type: 'datamodel';\n}\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function datamodel(input: DataModelInput): DataModelSchema {\n const {placeholder, label,tooltip, required, defaultValue} = input;\n\n return {\n type: 'datamodel',\n _parse() {\n return {\n type: 'datamodel',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface NavigationSchema extends BaseSchema<NavigationItemSchema[]> { /**\n * The schema type.\n */\n type: 'navigation';\n}\n\nexport interface NavigationItemSchema {\n id: string;\n children: NavigationItemSchema[];\n active: boolean;\n url: string;\n title: string;\n}\n\n/**\n * @deprecated Use string[] instead of { value, label }[] for pageProperties. The goal is to keep these fields hidden from the end user.\n */\nexport interface DeprecatedPagePropertyObject { value: string; label: string; }\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n showChildrenCheckbox?: boolean;\n showRootLevel?: boolean;\n defaultValue?: string;\n pageProperties?: string[] | DeprecatedPagePropertyObject[];\n}\n\nexport function navigation(input: DataModelInput): NavigationSchema {\n const {placeholder, label,tooltip, required, showChildrenCheckbox, showRootLevel, defaultValue, pageProperties} = input;\n\n return {\n type: 'navigation',\n _parse() {\n return {\n type: 'navigation',\n label,\n placeholder,\n tooltip,\n required,\n showChildrenCheckbox,\n showRootLevel,\n defaultValue,\n pageProperties,\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagOutputType = {\n name: string;\n namespace: string;\n};\n\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n","import { type BaseSchema } from '../../types';\nimport { type WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface HiddenSchema extends BaseSchema<string> {\n /**\n * The schema type.\n */\n type: 'hidden';\n}\n\ninterface HiddenInput {\n type: WebcomponentPropTypes\n}\n\n/**\n * Creates a hidden schema.\n *\n * @param input The type of input for the webcomponent binding.\n *\n * @returns A hidden schema.\n */\nexport function hidden(input: HiddenInput): HiddenSchema {\n const {type} = input;\n\n return {\n type: 'hidden',\n _parse() {\n //Explicitly hidding this input from the parse final result.\n return this;\n },\n _primitive() {\n return type\n },\n }\n}","import { BaseSchema, Output } from '../../types';\n\n/**\n * Optional schema type.\n */\nexport interface OptionalSchema<\n TWrapped extends BaseSchema,\n TOutput = Output<TWrapped> | undefined\n> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'optional';\n /**\n * The wrapped schema.\n */\n wrapped: TWrapped;\n}\n\n\n/**\n * Creates an optional schema.\n *\n * @param wrapped The wrapped schema.\n *\n * @returns A optional schema.\n */\nexport function optional<TWrapped extends BaseSchema>(\n wrapped: TWrapped\n): OptionalSchema<TWrapped> {\n return {\n type: 'optional',\n wrapped,\n _primitive() {\n return this.wrapped._primitive();\n },\n _parse() {\n return this.wrapped._parse();\n },\n };\n}","import type { BaseSchema } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface ObjectSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'object';\n}\n\nexport function object<TEntries extends ObjectEntries>(entries: TEntries): ObjectSchema<TEntries> {\n return {\n type: 'object',\n _parse() {\n return Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if('type' in entry){\n return entry.type !== 'hidden'\n }\n })\n },\n _primitive() {\n return 'json'\n }\n };\n}","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component as any, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}\n","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parse<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._parse()\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":"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","names":["field","dialog","dialog","component","r2wc"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/schema/dialog/tabs.ts","../src/schema/dialog/condition.ts","../src/utils/pathToArray.ts","../src/schema/dialog/dialog.ts","../src/schema/multifield/multifield.ts","../src/schema/text/text.ts","../src/schema/checkbox/checkbox.ts","../src/schema/pathbrowser/pathbrowser.ts","../src/schema/media/media.ts","../src/schema/select/select.ts","../src/schema/rte/rte.ts","../src/schema/dynamic/dynamic.ts","../src/schema/calendar/calendar.ts","../src/schema/datasource/datasource.ts","../src/schema/group/group.ts","../src/schema/datamodel/datamodel.ts","../src/schema/navigation/navigation.ts","../src/schema/tags/tags.ts","../src/schema/hidden/hidden.ts","../src/schema/optional/optional.ts","../src/schema/object/object.ts","../src/decorators/webcomponent/webcomponent.ts","../src/utils/pascalToKebab.ts","../src/functions/parse/parse.ts","../src/functions/parse/parsePrimitives.ts","../src/functions/component/component.ts"],"sourcesContent":["export * from \"./schema/dialog\";\n\nexport * from \"./schema/multifield\";\nexport * from \"./schema/text\";\nexport * from \"./schema/checkbox\";\nexport * from \"./schema/pathbrowser\";\nexport * from \"./schema/media\";\nexport * from \"./schema/select\";\nexport * from \"./schema/rte\";\nexport * from \"./schema/dynamic\";\nexport * from \"./schema/calendar\";\nexport * from \"./schema/datasource\";\nexport * from \"./schema/group\";\nexport * from \"./schema/datamodel\";\nexport * from \"./schema/navigation\";\nexport * from \"./schema/tags\";\n\nexport * from \"./schema/hidden\";\nexport * from \"./schema/optional\";\nexport * from \"./schema/object\";\n\nexport * from \"./types\";\n\nexport * from \"./decorators\"\nexport * from \"./functions\"\n","import { EntryMask } from '../../types';\nimport { Field } from './types';\n\nexport class Tabs<TEntries> {\n private tabs = new Map<string, EntryMask<TEntries>>();\n\n addTab(name: string, entries: EntryMask<TEntries>) {\n this.tabs.set(name, entries);\n }\n\n parse(entries: Field[]) {\n const result = []\n const usedEntries = new Set();\n\n if(this.tabs.size === 0) {\n return entries\n }\n\n for(const [name, mask] of this.tabs) {\n const children = []\n\n if(!mask) {\n throw new Error(`Entry \"${String(name)}\" does not have an appropriate tab configuration.`);\n }\n\n for(const [key,] of Object.entries(mask)) {\n const field = entries.find(f => f.id === key)\n\n if (usedEntries.has(key)) {\n throw new Error(`Entry \"${String(name)}.${String(key)}\" is already used in another tab.`);\n }\n\n if(!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n children.push(entries.find(f => f.id === key))\n }\n\n result.push({\n type: 'tab',\n label: name,\n id: `tab_${name.toLowerCase().replaceAll(' ', '')}`,\n children\n })\n }\n\n return [{\n type: 'tabs',\n id: 'tabs',\n children: result\n }]\n }\n}","import { NestedPaths } from '../../types';\nimport { ConditionFn, ConditionOperators, Conditions, Field } from './types';\nimport { ObjectEntries } from '../../types/object';\n\nfunction addConditionToField(fields: Field[], path: string, condition: Conditions): void {\n const keys = path.split('.');\n let currentFields = fields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const field = currentFields.find(f => f.id === key);\n\n if (!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n if (i === keys.length - 1) {\n field.condition = condition;\n } else {\n if (!field.children) {\n throw new Error(`Field with id \"${key}\" has no children`);\n }\n\n const nextKey = keys[i + 1];\n if(nextKey === '$this') {\n field.condition = condition;\n break;\n }\n currentFields = field.children;\n }\n }\n}\n\nexport class Condition<TEntries extends ObjectEntries> {\n private conditions = new Map<string, Conditions>();\n\n addCondition(field: NestedPaths<TEntries>, condition: ConditionFn<TEntries>) {\n const operators: ConditionOperators<TEntries> = {\n eq: (field, value) => ({ operator: 'eq', field, value }),\n neq: (field, value) => ({ operator: 'neq', field, value }),\n exists: (field) => ({ operator: 'exists', field }),\n and: (...operations) => ({ operator: 'and', value: operations }),\n or: (...operations) => ({ operator: 'or', value: operations })\n };\n\n this.conditions.set(field, condition(operators));\n }\n\n parse(entries: Field[]) {\n for (let [key, value] of this.conditions) {\n addConditionToField(entries, key, value)\n }\n\n return entries;\n }\n}\n","interface PathValue {\n path: string[];\n value: any;\n}\n\nexport function pathToArray(obj: Record<string, any>, parentPath: string[] = []): PathValue[] {\n const result: PathValue[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n const currentPath = [...parentPath, key];\n\n if (typeof value === 'object' && !value.hasOwnProperty('operator') && !Array.isArray(value)) {\n // If the value is an object, recurse into it\n result.push(...pathToArray(value, currentPath));\n } else {\n // If the value is not an object, store the path and value\n result.push({ path: currentPath, value });\n }\n }\n\n return result;\n}","import { BaseSchema, NestedPaths } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { Tabs } from './tabs';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { Condition } from './condition';\nimport { pathToArray } from '../../utils/pathToArray';\nimport { ConditionsArgument, TabsArgument } from './types';\nconst RESERVED_DIALOG_KEYS = ['title', 'id', 'name'] as const;\ntype ReservedDialogKeys = typeof RESERVED_DIALOG_KEYS[number] | `nav_${string}` | `cf_${string}`;\n\nexport interface DialogSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>> {\n type: 'dialog';\n tabs: (tabs: TabsArgument<TEntries>) => DialogSchema<TEntries>;\n conditions: (conditions: ConditionsArgument<TEntries>) => DialogSchema<TEntries>;\n}\n\nclass DialogBuilder<TEntries extends ObjectEntries> implements DialogSchema<TEntries> {\n private conditionsModule: Condition<TEntries>;\n private tabsModule: Tabs<TEntries>;\n private readonly entries: TEntries;\n readonly type = 'dialog';\n\n constructor(entries: TEntries) {\n this.entries = entries;\n this.conditionsModule = new Condition<TEntries>();\n this.tabsModule = new Tabs<TEntries>();\n }\n\n conditions(conditions: ConditionsArgument<TEntries>) {\n const conditionsArray = pathToArray(conditions)\n for (const condition of conditionsArray) {\n this.conditionsModule.addCondition(condition.path.join('.') as NestedPaths<TEntries>, condition.value);\n }\n return this;\n }\n\n tabs(tabs: TabsArgument<TEntries>) {\n for (const [key, tab] of Object.entries(tabs)) {\n this.tabsModule.addTab(key as any, tab!);\n }\n return this;\n }\n\n _parse() {\n const dialog = Object.entries(this.entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse(),\n }))\n .filter((entry: object) => {\n if ('type' in entry) {\n return entry.type !== 'hidden';\n }\n });\n\n const dialogWithConditions = this.conditionsModule.parse(dialog);\n const dialogWithTabs = this.tabsModule.parse(dialogWithConditions);\n return {\n dialog: dialogWithTabs\n };\n }\n\n _primitive() {\n const result: Record<string, WebcomponentPropTypes> = {};\n\n for (const [key, entry] of Object.entries(this.entries)) {\n const type = entry._primitive();\n if (typeof type === 'string') {\n result[key] = type;\n }\n }\n\n return result;\n }\n}\n\ntype ValidateDialogEntries<T extends ObjectEntries> = {\n [K in keyof T]: K extends ReservedDialogKeys\n ? { __error: `Property name '${K & string}' is reserved or starts with 'nav_' or 'cf_' and cannot be used in dialog schema` }\n : T[K]\n};\n\nexport function dialog<TEntries extends ObjectEntries>(\n entries: ValidateDialogEntries<TEntries>\n): DialogSchema<TEntries> {\n return new DialogBuilder(entries as unknown as TEntries);\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n max?: string\n min?: string\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey, max, min} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n max,\n min,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface TextSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'textfield';\n}\n\ninterface TextInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n validationRegex?: string;\n validationErrorMessage?: string;\n\n}\n\nexport function text(input: TextInput): TextSchema {\n const {placeholder, label,tooltip, required, defaultValue, validationRegex, validationErrorMessage} = input;\n\n return {\n type: 'textfield',\n _parse() {\n return {\n type: 'textfield',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n validationRegex,\n validationErrorMessage\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CheckBoxSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'checkbox';\n}\n\ninterface CheckBoxInput extends BaseFieldInput {\n showastoggle?: boolean\n defaultValue?: boolean | string;\n}\n\nexport function checkbox(input: CheckBoxInput): CheckBoxSchema {\n const {label, tooltip, showastoggle = false, defaultValue} = input;\n\n return {\n type: 'checkbox',\n _parse() {\n return {\n type: 'checkbox',\n label,\n tooltip,\n showastoggle,\n defaultValue\n }\n },\n _primitive() {\n return 'boolean'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface PathBrowserSchema<TOutput extends string | { path: string, [key: string]: string } = string | { path: string, [key: string]: string }> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'pathbrowser';\n}\n\ninterface PathBrowserInput extends BaseFieldInput {\n placeholder: string;\n defaultValue?: string;\n folder?: boolean;\n path?: string;\n pageProperties?: string[];\n}\n\nexport function pathbrowser(input: PathBrowserInput): PathBrowserSchema {\n const {placeholder, label, tooltip, required, defaultValue, folder = false, path, pageProperties} = input;\n\n return {\n type: 'pathbrowser',\n _parse() {\n return {\n type: 'pathbrowser',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n folder,\n pageProperties,\n path\n }\n },\n _primitive() {\n return pageProperties ? 'json' : 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype MediaOutputType = {\n alt: string;\n url: string;\n renditions: string[];\n};\n\nexport interface MediaSchema<TOutput extends string = string> extends BaseSchema<MediaOutputType> {\n /**\n * The schema type.\n */\n type: 'media';\n}\n\ntype ImageTypes = 'image/gif' | 'image/jpeg' | 'image/png' | 'image/tiff' | 'image/svg+xml';\ntype VideoTypes = 'video/mp4' | 'video/webm' | 'video/ogg';\ntype PDFTypes = 'application/pdf';\ntype ZipTypes = 'application/zip' | 'application/x-zip-compressed' | 'application/x-zip' | 'application/x-compressed' | 'multipart/x-zip';\ntype CSVType = 'text/csv';\n\n\ninterface MediaInput extends BaseFieldInput {\n defaultValue?: string;\n allowedMimeTypes?: ( PDFTypes | ZipTypes | ImageTypes | VideoTypes | CSVType)[];\n}\n\nexport function media(input: MediaInput): MediaSchema {\n const { label, tooltip, required, defaultValue, allowedMimeTypes } = input;\n\n return {\n type: 'media',\n _parse() {\n return {\n type: 'media',\n label,\n tooltip,\n required,\n defaultValue,\n allowedMimeTypes\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}\n\n/**\n * @deprecated Use `media` instead.\n */\nexport const image = (input: MediaInput = {\n label: 'image',\n allowedMimeTypes: ['image/gif', 'image/jpeg', 'image/png', 'image/tiff', 'image/svg+xml'],\n}) => media(input);\n","import { BaseFieldInput, BaseSchema } from '../../types';\n\ntype ReadonlyObject<T> = {\n readonly [K in keyof T]: T[K];\n};\n\nexport interface SelectSchema<T, TMultiple extends boolean = false> extends BaseSchema<TMultiple extends true ? T[] : T> {\n /**\n * The schema type.\n */\n type: 'select';\n multiple: TMultiple;\n}\n\ninterface SelectInput<TMultiple extends boolean = false> extends BaseFieldInput {\n placeholder?: string;\n multiple?: TMultiple;\n values: {\n value: string;\n label: string;\n }[];\n defaultValue?: TMultiple extends true ? string[] : string;\n}\n\ntype ValuesType<T extends { values: readonly { value: string }[] }> = T['values'][number]['value'];\n\nexport function select<const T extends SelectInput<TMultiple>, TMultiple extends boolean = T['multiple'] extends true ? true : false>(input: T): SelectSchema<ValuesType<ReadonlyObject<T>>, TMultiple> {\n const { label, values, tooltip, placeholder, multiple = false, required, defaultValue } = input;\n\n if (!multiple && Array.isArray(defaultValue)) {\n throw new Error('defaultValue should be a string when multiple is false');\n }\n\n return {\n type: 'select',\n _parse() {\n return {\n type: 'select',\n label,\n multiple,\n values,\n tooltip,\n placeholder,\n required,\n defaultValue\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n multiple: multiple as TMultiple,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface RichTextEditorSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'richtexteditor';\n}\n\ninterface RichTextEditorInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function rte(input: RichTextEditorInput): RichTextEditorSchema {\n const {placeholder, label, tooltip, required, defaultValue} = input;\n\n return {\n type: 'richtexteditor',\n _parse() {\n return {\n type: 'richtexteditor',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import {\n BaseSchema,\n} from '../../types';\n\nexport interface DynamicZoneSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'dynamic';\n}\n\ninterface DynamicInput {\n}\n\nexport function dynamic(input: DynamicInput): DynamicZoneSchema {\n return {\n type: 'dynamic',\n _parse() {\n return {\n type: 'dynamic',\n };\n },\n _primitive() {\n return 'string';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CalendarSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'calendar';\n}\n\ninterface CalendarInput extends BaseFieldInput {\n placeholder?: string;\n valueformat: string;\n displayformat?: string;\n headerformat?: string;\n startday?: string;\n min?: string;\n max?: string;\n defaultValue?: string;\n}\n\nexport function calendar(input: CalendarInput): CalendarSchema {\n const {valueformat,startday=0,min,max, placeholder, label,tooltip,required, defaultValue, headerformat, displayformat} = input;\n\n return {\n type: 'calendar',\n _parse() {\n return {\n type: 'calendar',\n label,\n valueformat,\n headerformat,\n displayformat,\n placeholder,\n startday,\n tooltip,\n min,\n max,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\nimport { SelectSchema } from '../select';\ntype DataSourceOutputType<Multiple extends boolean> = Multiple extends true ? string[] : string;\n\nexport interface DataSourceSchema<Multiple extends boolean = false> extends BaseSchema<DataSourceOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'datasource';\n}\n\ninterface DataSourceBody {\n [key: string]: any;\n}\ninterface DataSourceInput extends BaseFieldInput {\n placeholder?: string;\n url: string;\n multiple?: boolean;\n body: DataSourceBody;\n defaultValue?: string;\n method?: 'GET' | 'POST';\n}\n\nexport function datasource<Multiple extends boolean = false>(input: DataSourceInput & { multiple?: Multiple }): DataSourceSchema<Multiple> {\n const {label, body, url, tooltip,placeholder, multiple = false as Multiple, required, defaultValue, method = 'POST' } = input;\n\n return {\n type: 'datasource',\n _parse() {\n return {\n type: 'datasource',\n label,\n url,\n multiple,\n body,\n tooltip,\n placeholder,\n required,\n defaultValue,\n method\n }\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n }\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput,\n} from '../../types';\n\nexport interface GroupSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<{\n active: boolean;\n} & InferOutput<TChildren>> {\n readonly type: 'group';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren;\n toggle?: boolean;\n}\n\nexport function group<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): GroupSchema<TChildren> {\n const { label, children, tooltip, toggle } = input;\n const childrenParse = children._parse();\n\n return {\n type: 'group',\n _parse() {\n return {\n type: 'group',\n label,\n tooltip,\n toggle,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse],\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface DataModelSchema<TOutput extends Record<string, any> = Record<string, any>> extends BaseSchema<TOutput> { /**\n * The schema type.\n */\n type: 'datamodel';\n}\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function datamodel(input: DataModelInput): DataModelSchema {\n const {placeholder, label,tooltip, required, defaultValue} = input;\n\n return {\n type: 'datamodel',\n _parse() {\n return {\n type: 'datamodel',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface NavigationSchema extends BaseSchema<NavigationItemSchema[]> { /**\n * The schema type.\n */\n type: 'navigation';\n}\n\nexport interface NavigationItemSchema {\n id: string;\n children: NavigationItemSchema[];\n active: boolean;\n url: string;\n title: string;\n}\n\n/**\n * @deprecated Use string[] instead of { value, label }[] for pageProperties. The goal is to keep these fields hidden from the end user.\n */\nexport interface DeprecatedPagePropertyObject { value: string; label: string; }\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n showChildrenCheckbox?: boolean;\n showRootLevel?: boolean;\n defaultValue?: string;\n pageProperties?: string[] | DeprecatedPagePropertyObject[];\n}\n\nexport function navigation(input: DataModelInput): NavigationSchema {\n const {placeholder, label,tooltip, required, showChildrenCheckbox, showRootLevel, defaultValue, pageProperties} = input;\n\n return {\n type: 'navigation',\n _parse() {\n return {\n type: 'navigation',\n label,\n placeholder,\n tooltip,\n required,\n showChildrenCheckbox,\n showRootLevel,\n defaultValue,\n pageProperties,\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n","import { type BaseSchema } from '../../types';\nimport { type WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface HiddenSchema extends BaseSchema<string> {\n /**\n * The schema type.\n */\n type: 'hidden';\n}\n\ninterface HiddenInput {\n type: WebcomponentPropTypes\n}\n\n/**\n * Creates a hidden schema.\n *\n * @param input The type of input for the webcomponent binding.\n *\n * @returns A hidden schema.\n */\nexport function hidden(input: HiddenInput): HiddenSchema {\n const {type} = input;\n\n return {\n type: 'hidden',\n _parse() {\n //Explicitly hidding this input from the parse final result.\n return this;\n },\n _primitive() {\n return type\n },\n }\n}","import { BaseSchema, Output } from '../../types';\n\n/**\n * Optional schema type.\n */\nexport interface OptionalSchema<\n TWrapped extends BaseSchema,\n TOutput = Output<TWrapped> | undefined\n> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'optional';\n /**\n * The wrapped schema.\n */\n wrapped: TWrapped;\n}\n\n\n/**\n * Creates an optional schema.\n *\n * @param wrapped The wrapped schema.\n *\n * @returns A optional schema.\n */\nexport function optional<TWrapped extends BaseSchema>(\n wrapped: TWrapped\n): OptionalSchema<TWrapped> {\n return {\n type: 'optional',\n wrapped,\n _primitive() {\n return this.wrapped._primitive();\n },\n _parse() {\n return this.wrapped._parse();\n },\n };\n}","import type { BaseSchema } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface ObjectSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'object';\n}\n\nexport function object<TEntries extends ObjectEntries>(entries: TEntries): ObjectSchema<TEntries> {\n return {\n type: 'object',\n _parse() {\n return Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if('type' in entry){\n return entry.type !== 'hidden'\n }\n })\n },\n _primitive() {\n return 'json'\n }\n };\n}","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component as any, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}\n","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parse<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._parse()\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,OAAN,MAAqB;AAAA,EAArB;AACL,wBAAQ,QAAO,oBAAI,IAAiC;AAAA;AAAA,EAEpD,OAAO,MAAc,SAA8B;AACjD,SAAK,KAAK,IAAI,MAAM,OAAO;AAAA,EAC7B;AAAA,EAEA,MAAM,SAAkB;AACtB,UAAM,SAAS,CAAC;AAChB,UAAM,cAAc,oBAAI,IAAI;AAE5B,QAAG,KAAK,KAAK,SAAS,GAAG;AACvB,aAAO;AAAA,IACT;AAEA,eAAU,CAAC,MAAM,IAAI,KAAK,KAAK,MAAM;AACnC,YAAM,WAAW,CAAC;AAElB,UAAG,CAAC,MAAM;AACR,cAAM,IAAI,MAAM,UAAU,OAAO,IAAI,CAAC,mDAAmD;AAAA,MAC3F;AAEA,iBAAU,CAAC,GAAI,KAAK,OAAO,QAAQ,IAAI,GAAG;AACxC,cAAM,QAAQ,QAAQ,KAAK,OAAK,EAAE,OAAO,GAAG;AAE5C,YAAI,YAAY,IAAI,GAAG,GAAG;AACxB,gBAAM,IAAI,MAAM,UAAU,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,mCAAmC;AAAA,QAC1F;AAEA,YAAG,CAAC,OAAO;AACT,gBAAM,IAAI,MAAM,kBAAkB,GAAG,aAAa;AAAA,QACpD;AAEA,iBAAS,KAAK,QAAQ,KAAK,OAAK,EAAE,OAAO,GAAG,CAAC;AAAA,MAC/C;AAEA,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,QACP,IAAI,OAAO,KAAK,YAAY,EAAE,WAAW,KAAK,EAAE,CAAC;AAAA,QACjD;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AACF;;;ACjDA,SAAS,oBAAoB,QAAiB,MAAc,WAA6B;AACvF,QAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,MAAI,gBAAgB;AAEpB,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,MAAM,KAAK,CAAC;AAClB,UAAM,QAAQ,cAAc,KAAK,OAAK,EAAE,OAAO,GAAG;AAElD,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,kBAAkB,GAAG,aAAa;AAAA,IACpD;AAEA,QAAI,MAAM,KAAK,SAAS,GAAG;AACzB,YAAM,YAAY;AAAA,IACpB,OAAO;AACL,UAAI,CAAC,MAAM,UAAU;AACnB,cAAM,IAAI,MAAM,kBAAkB,GAAG,mBAAmB;AAAA,MAC1D;AAEA,YAAM,UAAU,KAAK,IAAI,CAAC;AAC1B,UAAG,YAAY,SAAS;AACtB,cAAM,YAAY;AAClB;AAAA,MACF;AACA,sBAAgB,MAAM;AAAA,IACxB;AAAA,EACF;AACF;AAEO,IAAM,YAAN,MAAgD;AAAA,EAAhD;AACL,wBAAQ,cAAa,oBAAI,IAAwB;AAAA;AAAA,EAEjD,aAAa,OAA8B,WAAkC;AAC3E,UAAM,YAA0C;AAAA,MAC9C,IAAI,CAACA,QAAO,WAAW,EAAE,UAAU,MAAM,OAAAA,QAAO,MAAM;AAAA,MACtD,KAAK,CAACA,QAAO,WAAW,EAAE,UAAU,OAAO,OAAAA,QAAO,MAAM;AAAA,MACxD,QAAQ,CAACA,YAAW,EAAE,UAAU,UAAU,OAAAA,OAAM;AAAA,MAChD,KAAK,IAAI,gBAAgB,EAAE,UAAU,OAAO,OAAO,WAAW;AAAA,MAC9D,IAAI,IAAI,gBAAgB,EAAE,UAAU,MAAM,OAAO,WAAW;AAAA,IAC9D;AAEA,SAAK,WAAW,IAAI,OAAO,UAAU,SAAS,CAAC;AAAA,EACjD;AAAA,EAEA,MAAM,SAAkB;AACtB,aAAS,CAAC,KAAK,KAAK,KAAK,KAAK,YAAY;AACxC,0BAAoB,SAAS,KAAK,KAAK;AAAA,IACzC;AAEA,WAAO;AAAA,EACT;AACF;;;AClDO,SAAS,YAAY,KAA0B,aAAuB,CAAC,GAAgB;AAC5F,QAAM,SAAsB,CAAC;AAE7B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,UAAM,cAAc,CAAC,GAAG,YAAY,GAAG;AAEvC,QAAI,OAAO,UAAU,YAAY,CAAC,MAAM,eAAe,UAAU,KAAK,CAAC,MAAM,QAAQ,KAAK,GAAG;AAE3F,aAAO,KAAK,GAAG,YAAY,OAAO,WAAW,CAAC;AAAA,IAChD,OAAO;AAEL,aAAO,KAAK,EAAE,MAAM,aAAa,MAAM,CAAC;AAAA,IAC1C;AAAA,EACF;AAEA,SAAO;AACT;;;ACLA,IAAM,gBAAN,MAAsF;AAAA,EAMpF,YAAY,SAAmB;AAL/B,wBAAQ;AACR,wBAAQ;AACR,wBAAiB;AACjB,wBAAS,QAAO;AAGd,SAAK,UAAU;AACf,SAAK,mBAAmB,IAAI,UAAoB;AAChD,SAAK,aAAa,IAAI,KAAe;AAAA,EACvC;AAAA,EAEA,WAAW,YAA0C;AACnD,UAAM,kBAAkB,YAAY,UAAU;AAC9C,eAAW,aAAa,iBAAiB;AACvC,WAAK,iBAAiB,aAAa,UAAU,KAAK,KAAK,GAAG,GAA4B,UAAU,KAAK;AAAA,IACvG;AACA,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,MAA8B;AACjC,eAAW,CAAC,KAAK,GAAG,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC7C,WAAK,WAAW,OAAO,KAAY,GAAI;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS;AACP,UAAMC,UAAS,OAAO,QAAQ,KAAK,OAAO,EACvC,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;AAAA,MACtB,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,GAAG,MAAM,OAAO;AAAA,IAClB,EAAE,EACD,OAAO,CAAC,UAAkB;AACzB,UAAI,UAAU,OAAO;AACnB,eAAO,MAAM,SAAS;AAAA,MACxB;AAAA,IACF,CAAC;AAEH,UAAM,uBAAuB,KAAK,iBAAiB,MAAMA,OAAM;AAC/D,UAAM,iBAAiB,KAAK,WAAW,MAAM,oBAAoB;AACjE,WAAO;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,aAAa;AACX,UAAM,SAAgD,CAAC;AAEvD,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,OAAO,GAAG;AACvD,YAAM,OAAO,MAAM,WAAW;AAC9B,UAAI,OAAO,SAAS,UAAU;AAC5B,eAAO,GAAG,IAAI;AAAA,MAChB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;AAQO,SAAS,OACd,SACwB;AACxB,SAAO,IAAI,cAAc,OAA8B;AACzD;;;AChEO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,cAAc,KAAK,IAAG,IAAI;AAC5D,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AC5BO,SAAS,KAAK,OAA8B;AACjD,QAAM,EAAC,aAAa,OAAM,SAAS,UAAU,cAAc,iBAAiB,uBAAsB,IAAI;AAEtG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACzBO,SAAS,SAAS,OAAsC;AAC7D,QAAM,EAAC,OAAO,SAAS,eAAe,OAAO,aAAY,IAAI;AAE7D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AChBO,SAAS,YAAY,OAA4C;AACtE,QAAM,EAAC,aAAa,OAAO,SAAS,UAAU,cAAc,SAAS,OAAO,MAAM,eAAc,IAAI;AAEpG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,iBAAiB,SAAS;AAAA,IACnC;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACbO,SAAS,MAAM,OAAgC;AACpD,QAAM,EAAE,OAAO,SAAS,UAAU,cAAc,iBAAiB,IAAI;AAErE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;AAKO,IAAM,QAAQ,CAAC,QAAoB;AAAA,EACxC,OAAO;AAAA,EACP,kBAAkB,CAAC,aAAa,cAAc,aAAa,cAAc,eAAe;AAC1F,MAAM,MAAM,KAAK;;;AC7BV,SAAS,OAAsH,OAAkE;AACtM,QAAM,EAAE,OAAO,QAAQ,SAAS,aAAa,WAAW,OAAO,UAAU,aAAa,IAAI;AAE1F,MAAI,CAAC,YAAY,MAAM,QAAQ,YAAY,GAAG;AAC5C,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC1E;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,IACH;AAAA,EACF;AACF;;;ACvCO,SAAS,IAAI,OAAkD;AACpE,QAAM,EAAC,aAAa,OAAO,SAAS,UAAU,aAAY,IAAI;AAE9D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACpBO,SAAS,QAAQ,OAAwC;AAC9D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACPO,SAAS,SAAS,OAAsC;AAC7D,QAAM,EAAC,aAAY,WAAS,GAAE,KAAI,KAAK,aAAa,OAAM,SAAQ,UAAU,cAAc,cAAc,cAAa,IAAI;AAEzH,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACvBO,SAAS,WAA6C,OAA8E;AACzI,QAAM,EAAC,OAAO,MAAM,KAAK,SAAQ,aAAa,WAAW,OAAmB,UAAU,cAAc,SAAS,OAAO,IAAI;AAExH,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACxBO,SAAS,MAAmD,OAA2D;AAC5H,QAAM,EAAE,OAAO,UAAU,SAAS,OAAO,IAAI;AAC7C,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AC9BO,SAAS,UAAU,OAAwC;AAChE,QAAM,EAAC,aAAa,OAAM,SAAS,UAAU,aAAY,IAAI;AAE7D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACJO,SAAS,WAAW,OAAyC;AAClE,QAAM,EAAC,aAAa,OAAM,SAAS,UAAU,sBAAsB,eAAe,cAAc,eAAc,IAAI;AAElH,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AClCO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACpBO,SAAS,OAAO,OAAkC;AACvD,QAAM,EAAC,KAAI,IAAI;AAEf,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAEP,aAAO;AAAA,IACT;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACPO,SAAS,SACd,SAC0B;AAC1B,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,aAAa;AACX,aAAO,KAAK,QAAQ,WAAW;AAAA,IACjC;AAAA,IACA,SAAS;AACP,aAAO,KAAK,QAAQ,OAAO;AAAA,IAC7B;AAAA,EACF;AACF;;;ACjCO,SAAS,OAAuC,SAA2C;AAChG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO,OAAO,QAAQ,OAAO,EAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;AAAA,QACtB,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,GAAG,MAAM,OAAO;AAAA,MAClB,EAAE,EACD,OAAO,CAAC,UAAkB;AACzB,YAAG,UAAU,OAAM;AACjB,iBAAO,MAAM,SAAS;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACL;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;AC1BA,oCAAiB;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACDO,SAAS,MAA+B,QAAyB;AACtE,SAAO,OAAO,OAAO;AACvB;;;ACDO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;ACGO,SAAS,UACd,QACAC,SAC2B;AAE3B,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAAA;AAAA,IACA,SAAS;AACP,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAGA,QAAO,OAAO;AAAA,MACnB;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,QACL,GAAGA,QAAO,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AJpBO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoBC,eAAsC;AAC/D,UAAM,OAAO,cAAcA,WAAU,WAAY;AAAA,IAEjD,MAAM,+BAA2B,8BAAAC,SAAKD,YAAkB;AAAA,MACtD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":["field","dialog","dialog","component","r2wc"]}
package/dist/index.mjs CHANGED
@@ -164,7 +164,7 @@ function dialog(entries) {
164
164
 
165
165
  // src/schema/multifield/multifield.ts
166
166
  function multifield(input) {
167
- const { label, children, required, itemLabelKey } = input;
167
+ const { label, children, required, itemLabelKey, max, min } = input;
168
168
  const childrenParse = children._parse();
169
169
  return {
170
170
  type: "multifield",
@@ -174,6 +174,8 @@ function multifield(input) {
174
174
  label,
175
175
  required,
176
176
  itemLabelKey,
177
+ max,
178
+ min,
177
179
  children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
178
180
  };
179
181
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema/dialog/tabs.ts","../src/schema/dialog/condition.ts","../src/utils/pathToArray.ts","../src/schema/dialog/dialog.ts","../src/schema/multifield/multifield.ts","../src/schema/text/text.ts","../src/schema/checkbox/checkbox.ts","../src/schema/pathbrowser/pathbrowser.ts","../src/schema/media/media.ts","../src/schema/select/select.ts","../src/schema/rte/rte.ts","../src/schema/dynamic/dynamic.ts","../src/schema/calendar/calendar.ts","../src/schema/datasource/datasource.ts","../src/schema/group/group.ts","../src/schema/datamodel/datamodel.ts","../src/schema/navigation/navigation.ts","../src/schema/tags/tags.ts","../src/schema/hidden/hidden.ts","../src/schema/optional/optional.ts","../src/schema/object/object.ts","../src/decorators/webcomponent/webcomponent.ts","../src/utils/pascalToKebab.ts","../src/functions/parse/parse.ts","../src/functions/parse/parsePrimitives.ts","../src/functions/component/component.ts"],"sourcesContent":["import { EntryMask } from '../../types';\nimport { Field } from './types';\n\nexport class Tabs<TEntries> {\n private tabs = new Map<string, EntryMask<TEntries>>();\n\n addTab(name: string, entries: EntryMask<TEntries>) {\n this.tabs.set(name, entries);\n }\n\n parse(entries: Field[]) {\n const result = []\n const usedEntries = new Set();\n\n if(this.tabs.size === 0) {\n return entries\n }\n\n for(const [name, mask] of this.tabs) {\n const children = []\n\n if(!mask) {\n throw new Error(`Entry \"${String(name)}\" does not have an appropriate tab configuration.`);\n }\n\n for(const [key,] of Object.entries(mask)) {\n const field = entries.find(f => f.id === key)\n\n if (usedEntries.has(key)) {\n throw new Error(`Entry \"${String(name)}.${String(key)}\" is already used in another tab.`);\n }\n\n if(!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n children.push(entries.find(f => f.id === key))\n }\n\n result.push({\n type: 'tab',\n label: name,\n id: `tab_${name.toLowerCase().replaceAll(' ', '')}`,\n children\n })\n }\n\n return [{\n type: 'tabs',\n id: 'tabs',\n children: result\n }]\n }\n}","import { NestedPaths } from '../../types';\nimport { ConditionFn, ConditionOperators, Conditions, Field } from './types';\nimport { ObjectEntries } from '../../types/object';\n\nfunction addConditionToField(fields: Field[], path: string, condition: Conditions): void {\n const keys = path.split('.');\n let currentFields = fields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const field = currentFields.find(f => f.id === key);\n\n if (!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n if (i === keys.length - 1) {\n field.condition = condition;\n } else {\n if (!field.children) {\n throw new Error(`Field with id \"${key}\" has no children`);\n }\n\n const nextKey = keys[i + 1];\n if(nextKey === '$this') {\n field.condition = condition;\n break;\n }\n currentFields = field.children;\n }\n }\n}\n\nexport class Condition<TEntries extends ObjectEntries> {\n private conditions = new Map<string, Conditions>();\n\n addCondition(field: NestedPaths<TEntries>, condition: ConditionFn<TEntries>) {\n const operators: ConditionOperators<TEntries> = {\n eq: (field, value) => ({ operator: 'eq', field, value }),\n neq: (field, value) => ({ operator: 'neq', field, value }),\n exists: (field) => ({ operator: 'exists', field }),\n and: (...operations) => ({ operator: 'and', value: operations }),\n or: (...operations) => ({ operator: 'or', value: operations })\n };\n\n this.conditions.set(field, condition(operators));\n }\n\n parse(entries: Field[]) {\n for (let [key, value] of this.conditions) {\n addConditionToField(entries, key, value)\n }\n\n return entries;\n }\n}\n","interface PathValue {\n path: string[];\n value: any;\n}\n\nexport function pathToArray(obj: Record<string, any>, parentPath: string[] = []): PathValue[] {\n const result: PathValue[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n const currentPath = [...parentPath, key];\n\n if (typeof value === 'object' && !value.hasOwnProperty('operator') && !Array.isArray(value)) {\n // If the value is an object, recurse into it\n result.push(...pathToArray(value, currentPath));\n } else {\n // If the value is not an object, store the path and value\n result.push({ path: currentPath, value });\n }\n }\n\n return result;\n}","import { BaseSchema, NestedPaths } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { Tabs } from './tabs';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { Condition } from './condition';\nimport { pathToArray } from '../../utils/pathToArray';\nimport { ConditionsArgument, TabsArgument } from './types';\nconst RESERVED_DIALOG_KEYS = ['title', 'id', 'name'] as const;\ntype ReservedDialogKeys = typeof RESERVED_DIALOG_KEYS[number] | `nav_${string}` | `cf_${string}`;\n\nexport interface DialogSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>> {\n type: 'dialog';\n tabs: (tabs: TabsArgument<TEntries>) => DialogSchema<TEntries>;\n conditions: (conditions: ConditionsArgument<TEntries>) => DialogSchema<TEntries>;\n}\n\nclass DialogBuilder<TEntries extends ObjectEntries> implements DialogSchema<TEntries> {\n private conditionsModule: Condition<TEntries>;\n private tabsModule: Tabs<TEntries>;\n private readonly entries: TEntries;\n readonly type = 'dialog';\n\n constructor(entries: TEntries) {\n this.entries = entries;\n this.conditionsModule = new Condition<TEntries>();\n this.tabsModule = new Tabs<TEntries>();\n }\n\n conditions(conditions: ConditionsArgument<TEntries>) {\n const conditionsArray = pathToArray(conditions)\n for (const condition of conditionsArray) {\n this.conditionsModule.addCondition(condition.path.join('.') as NestedPaths<TEntries>, condition.value);\n }\n return this;\n }\n\n tabs(tabs: TabsArgument<TEntries>) {\n for (const [key, tab] of Object.entries(tabs)) {\n this.tabsModule.addTab(key as any, tab!);\n }\n return this;\n }\n\n _parse() {\n const dialog = Object.entries(this.entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse(),\n }))\n .filter((entry: object) => {\n if ('type' in entry) {\n return entry.type !== 'hidden';\n }\n });\n\n const dialogWithConditions = this.conditionsModule.parse(dialog);\n const dialogWithTabs = this.tabsModule.parse(dialogWithConditions);\n return {\n dialog: dialogWithTabs\n };\n }\n\n _primitive() {\n const result: Record<string, WebcomponentPropTypes> = {};\n\n for (const [key, entry] of Object.entries(this.entries)) {\n const type = entry._primitive();\n if (typeof type === 'string') {\n result[key] = type;\n }\n }\n\n return result;\n }\n}\n\ntype ValidateDialogEntries<T extends ObjectEntries> = {\n [K in keyof T]: K extends ReservedDialogKeys\n ? { __error: `Property name '${K & string}' is reserved or starts with 'nav_' or 'cf_' and cannot be used in dialog schema` }\n : T[K]\n};\n\nexport function dialog<TEntries extends ObjectEntries>(\n entries: ValidateDialogEntries<TEntries>\n): DialogSchema<TEntries> {\n return new DialogBuilder(entries as unknown as TEntries);\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface TextSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'textfield';\n}\n\ninterface TextInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n validationRegex?: string;\n validationErrorMessage?: string;\n\n}\n\nexport function text(input: TextInput): TextSchema {\n const {placeholder, label,tooltip, required, defaultValue, validationRegex, validationErrorMessage} = input;\n\n return {\n type: 'textfield',\n _parse() {\n return {\n type: 'textfield',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n validationRegex,\n validationErrorMessage\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CheckBoxSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'checkbox';\n}\n\ninterface CheckBoxInput extends BaseFieldInput {\n showastoggle?: boolean\n defaultValue?: boolean | string;\n}\n\nexport function checkbox(input: CheckBoxInput): CheckBoxSchema {\n const {label, tooltip, showastoggle = false, defaultValue} = input;\n\n return {\n type: 'checkbox',\n _parse() {\n return {\n type: 'checkbox',\n label,\n tooltip,\n showastoggle,\n defaultValue\n }\n },\n _primitive() {\n return 'boolean'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface PathBrowserSchema<TOutput extends string | { path: string, [key: string]: string } = string | { path: string, [key: string]: string }> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'pathbrowser';\n}\n\ninterface PathBrowserInput extends BaseFieldInput {\n placeholder: string;\n defaultValue?: string;\n folder?: boolean;\n path?: string;\n pageProperties?: string[];\n}\n\nexport function pathbrowser(input: PathBrowserInput): PathBrowserSchema {\n const {placeholder, label, tooltip, required, defaultValue, folder = false, path, pageProperties} = input;\n\n return {\n type: 'pathbrowser',\n _parse() {\n return {\n type: 'pathbrowser',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n folder,\n pageProperties,\n path\n }\n },\n _primitive() {\n return pageProperties ? 'json' : 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype MediaOutputType = {\n alt: string;\n url: string;\n renditions: string[];\n};\n\nexport interface MediaSchema<TOutput extends string = string> extends BaseSchema<MediaOutputType> {\n /**\n * The schema type.\n */\n type: 'media';\n}\n\ntype ImageTypes = 'image/gif' | 'image/jpeg' | 'image/png' | 'image/tiff' | 'image/svg+xml';\ntype VideoTypes = 'video/mp4' | 'video/webm' | 'video/ogg';\ntype PDFTypes = 'application/pdf';\ntype ZipTypes = 'application/zip' | 'application/x-zip-compressed' | 'application/x-zip' | 'application/x-compressed' | 'multipart/x-zip';\ntype CSVType = 'text/csv';\n\n\ninterface MediaInput extends BaseFieldInput {\n defaultValue?: string;\n allowedMimeTypes?: ( PDFTypes | ZipTypes | ImageTypes | VideoTypes | CSVType)[];\n}\n\nexport function media(input: MediaInput): MediaSchema {\n const { label, tooltip, required, defaultValue, allowedMimeTypes } = input;\n\n return {\n type: 'media',\n _parse() {\n return {\n type: 'media',\n label,\n tooltip,\n required,\n defaultValue,\n allowedMimeTypes\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}\n\n/**\n * @deprecated Use `media` instead.\n */\nexport const image = (input: MediaInput = {\n label: 'image',\n allowedMimeTypes: ['image/gif', 'image/jpeg', 'image/png', 'image/tiff', 'image/svg+xml'],\n}) => media(input);\n","import { BaseFieldInput, BaseSchema } from '../../types';\n\ntype ReadonlyObject<T> = {\n readonly [K in keyof T]: T[K];\n};\n\nexport interface SelectSchema<T, TMultiple extends boolean = false> extends BaseSchema<TMultiple extends true ? T[] : T> {\n /**\n * The schema type.\n */\n type: 'select';\n multiple: TMultiple;\n}\n\ninterface SelectInput<TMultiple extends boolean = false> extends BaseFieldInput {\n placeholder?: string;\n multiple?: TMultiple;\n values: {\n value: string;\n label: string;\n }[];\n defaultValue?: TMultiple extends true ? string[] : string;\n}\n\ntype ValuesType<T extends { values: readonly { value: string }[] }> = T['values'][number]['value'];\n\nexport function select<const T extends SelectInput<TMultiple>, TMultiple extends boolean = T['multiple'] extends true ? true : false>(input: T): SelectSchema<ValuesType<ReadonlyObject<T>>, TMultiple> {\n const { label, values, tooltip, placeholder, multiple = false, required, defaultValue } = input;\n\n if (!multiple && Array.isArray(defaultValue)) {\n throw new Error('defaultValue should be a string when multiple is false');\n }\n\n return {\n type: 'select',\n _parse() {\n return {\n type: 'select',\n label,\n multiple,\n values,\n tooltip,\n placeholder,\n required,\n defaultValue\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n multiple: multiple as TMultiple,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface RichTextEditorSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'richtexteditor';\n}\n\ninterface RichTextEditorInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function rte(input: RichTextEditorInput): RichTextEditorSchema {\n const {placeholder, label, tooltip, required, defaultValue} = input;\n\n return {\n type: 'richtexteditor',\n _parse() {\n return {\n type: 'richtexteditor',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import {\n BaseSchema,\n} from '../../types';\n\nexport interface DynamicZoneSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'dynamic';\n}\n\ninterface DynamicInput {\n}\n\nexport function dynamic(input: DynamicInput): DynamicZoneSchema {\n return {\n type: 'dynamic',\n _parse() {\n return {\n type: 'dynamic',\n };\n },\n _primitive() {\n return 'string';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CalendarSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'calendar';\n}\n\ninterface CalendarInput extends BaseFieldInput {\n placeholder?: string;\n valueformat: string;\n displayformat?: string;\n headerformat?: string;\n startday?: string;\n min?: string;\n max?: string;\n defaultValue?: string;\n}\n\nexport function calendar(input: CalendarInput): CalendarSchema {\n const {valueformat,startday=0,min,max, placeholder, label,tooltip,required, defaultValue, headerformat, displayformat} = input;\n\n return {\n type: 'calendar',\n _parse() {\n return {\n type: 'calendar',\n label,\n valueformat,\n headerformat,\n displayformat,\n placeholder,\n startday,\n tooltip,\n min,\n max,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\nimport { SelectSchema } from '../select';\ntype DataSourceOutputType<Multiple extends boolean> = Multiple extends true ? string[] : string;\n\nexport interface DataSourceSchema<Multiple extends boolean = false> extends BaseSchema<DataSourceOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'datasource';\n}\n\ninterface DataSourceBody {\n [key: string]: any;\n}\ninterface DataSourceInput extends BaseFieldInput {\n placeholder?: string;\n url: string;\n multiple?: boolean;\n body: DataSourceBody;\n defaultValue?: string;\n method?: 'GET' | 'POST';\n}\n\nexport function datasource<Multiple extends boolean = false>(input: DataSourceInput & { multiple?: Multiple }): DataSourceSchema<Multiple> {\n const {label, body, url, tooltip,placeholder, multiple = false as Multiple, required, defaultValue, method = 'POST' } = input;\n\n return {\n type: 'datasource',\n _parse() {\n return {\n type: 'datasource',\n label,\n url,\n multiple,\n body,\n tooltip,\n placeholder,\n required,\n defaultValue,\n method\n }\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n }\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput,\n} from '../../types';\n\nexport interface GroupSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<{\n active: boolean;\n} & InferOutput<TChildren>> {\n readonly type: 'group';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren;\n toggle?: boolean;\n}\n\nexport function group<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): GroupSchema<TChildren> {\n const { label, children, tooltip, toggle } = input;\n const childrenParse = children._parse();\n\n return {\n type: 'group',\n _parse() {\n return {\n type: 'group',\n label,\n tooltip,\n toggle,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse],\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface DataModelSchema<TOutput extends Record<string, any> = Record<string, any>> extends BaseSchema<TOutput> { /**\n * The schema type.\n */\n type: 'datamodel';\n}\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function datamodel(input: DataModelInput): DataModelSchema {\n const {placeholder, label,tooltip, required, defaultValue} = input;\n\n return {\n type: 'datamodel',\n _parse() {\n return {\n type: 'datamodel',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface NavigationSchema extends BaseSchema<NavigationItemSchema[]> { /**\n * The schema type.\n */\n type: 'navigation';\n}\n\nexport interface NavigationItemSchema {\n id: string;\n children: NavigationItemSchema[];\n active: boolean;\n url: string;\n title: string;\n}\n\n/**\n * @deprecated Use string[] instead of { value, label }[] for pageProperties. The goal is to keep these fields hidden from the end user.\n */\nexport interface DeprecatedPagePropertyObject { value: string; label: string; }\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n showChildrenCheckbox?: boolean;\n showRootLevel?: boolean;\n defaultValue?: string;\n pageProperties?: string[] | DeprecatedPagePropertyObject[];\n}\n\nexport function navigation(input: DataModelInput): NavigationSchema {\n const {placeholder, label,tooltip, required, showChildrenCheckbox, showRootLevel, defaultValue, pageProperties} = input;\n\n return {\n type: 'navigation',\n _parse() {\n return {\n type: 'navigation',\n label,\n placeholder,\n tooltip,\n required,\n showChildrenCheckbox,\n showRootLevel,\n defaultValue,\n pageProperties,\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagOutputType = {\n name: string;\n namespace: string;\n};\n\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n","import { type BaseSchema } from '../../types';\nimport { type WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface HiddenSchema extends BaseSchema<string> {\n /**\n * The schema type.\n */\n type: 'hidden';\n}\n\ninterface HiddenInput {\n type: WebcomponentPropTypes\n}\n\n/**\n * Creates a hidden schema.\n *\n * @param input The type of input for the webcomponent binding.\n *\n * @returns A hidden schema.\n */\nexport function hidden(input: HiddenInput): HiddenSchema {\n const {type} = input;\n\n return {\n type: 'hidden',\n _parse() {\n //Explicitly hidding this input from the parse final result.\n return this;\n },\n _primitive() {\n return type\n },\n }\n}","import { BaseSchema, Output } from '../../types';\n\n/**\n * Optional schema type.\n */\nexport interface OptionalSchema<\n TWrapped extends BaseSchema,\n TOutput = Output<TWrapped> | undefined\n> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'optional';\n /**\n * The wrapped schema.\n */\n wrapped: TWrapped;\n}\n\n\n/**\n * Creates an optional schema.\n *\n * @param wrapped The wrapped schema.\n *\n * @returns A optional schema.\n */\nexport function optional<TWrapped extends BaseSchema>(\n wrapped: TWrapped\n): OptionalSchema<TWrapped> {\n return {\n type: 'optional',\n wrapped,\n _primitive() {\n return this.wrapped._primitive();\n },\n _parse() {\n return this.wrapped._parse();\n },\n };\n}","import type { BaseSchema } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface ObjectSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'object';\n}\n\nexport function object<TEntries extends ObjectEntries>(entries: TEntries): ObjectSchema<TEntries> {\n return {\n type: 'object',\n _parse() {\n return Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if('type' in entry){\n return entry.type !== 'hidden'\n }\n })\n },\n _primitive() {\n return 'json'\n }\n };\n}","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component as any, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}\n","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parse<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._parse()\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":"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","names":["field","dialog","dialog","component"]}
1
+ {"version":3,"sources":["../src/schema/dialog/tabs.ts","../src/schema/dialog/condition.ts","../src/utils/pathToArray.ts","../src/schema/dialog/dialog.ts","../src/schema/multifield/multifield.ts","../src/schema/text/text.ts","../src/schema/checkbox/checkbox.ts","../src/schema/pathbrowser/pathbrowser.ts","../src/schema/media/media.ts","../src/schema/select/select.ts","../src/schema/rte/rte.ts","../src/schema/dynamic/dynamic.ts","../src/schema/calendar/calendar.ts","../src/schema/datasource/datasource.ts","../src/schema/group/group.ts","../src/schema/datamodel/datamodel.ts","../src/schema/navigation/navigation.ts","../src/schema/tags/tags.ts","../src/schema/hidden/hidden.ts","../src/schema/optional/optional.ts","../src/schema/object/object.ts","../src/decorators/webcomponent/webcomponent.ts","../src/utils/pascalToKebab.ts","../src/functions/parse/parse.ts","../src/functions/parse/parsePrimitives.ts","../src/functions/component/component.ts"],"sourcesContent":["import { EntryMask } from '../../types';\nimport { Field } from './types';\n\nexport class Tabs<TEntries> {\n private tabs = new Map<string, EntryMask<TEntries>>();\n\n addTab(name: string, entries: EntryMask<TEntries>) {\n this.tabs.set(name, entries);\n }\n\n parse(entries: Field[]) {\n const result = []\n const usedEntries = new Set();\n\n if(this.tabs.size === 0) {\n return entries\n }\n\n for(const [name, mask] of this.tabs) {\n const children = []\n\n if(!mask) {\n throw new Error(`Entry \"${String(name)}\" does not have an appropriate tab configuration.`);\n }\n\n for(const [key,] of Object.entries(mask)) {\n const field = entries.find(f => f.id === key)\n\n if (usedEntries.has(key)) {\n throw new Error(`Entry \"${String(name)}.${String(key)}\" is already used in another tab.`);\n }\n\n if(!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n children.push(entries.find(f => f.id === key))\n }\n\n result.push({\n type: 'tab',\n label: name,\n id: `tab_${name.toLowerCase().replaceAll(' ', '')}`,\n children\n })\n }\n\n return [{\n type: 'tabs',\n id: 'tabs',\n children: result\n }]\n }\n}","import { NestedPaths } from '../../types';\nimport { ConditionFn, ConditionOperators, Conditions, Field } from './types';\nimport { ObjectEntries } from '../../types/object';\n\nfunction addConditionToField(fields: Field[], path: string, condition: Conditions): void {\n const keys = path.split('.');\n let currentFields = fields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const field = currentFields.find(f => f.id === key);\n\n if (!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n if (i === keys.length - 1) {\n field.condition = condition;\n } else {\n if (!field.children) {\n throw new Error(`Field with id \"${key}\" has no children`);\n }\n\n const nextKey = keys[i + 1];\n if(nextKey === '$this') {\n field.condition = condition;\n break;\n }\n currentFields = field.children;\n }\n }\n}\n\nexport class Condition<TEntries extends ObjectEntries> {\n private conditions = new Map<string, Conditions>();\n\n addCondition(field: NestedPaths<TEntries>, condition: ConditionFn<TEntries>) {\n const operators: ConditionOperators<TEntries> = {\n eq: (field, value) => ({ operator: 'eq', field, value }),\n neq: (field, value) => ({ operator: 'neq', field, value }),\n exists: (field) => ({ operator: 'exists', field }),\n and: (...operations) => ({ operator: 'and', value: operations }),\n or: (...operations) => ({ operator: 'or', value: operations })\n };\n\n this.conditions.set(field, condition(operators));\n }\n\n parse(entries: Field[]) {\n for (let [key, value] of this.conditions) {\n addConditionToField(entries, key, value)\n }\n\n return entries;\n }\n}\n","interface PathValue {\n path: string[];\n value: any;\n}\n\nexport function pathToArray(obj: Record<string, any>, parentPath: string[] = []): PathValue[] {\n const result: PathValue[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n const currentPath = [...parentPath, key];\n\n if (typeof value === 'object' && !value.hasOwnProperty('operator') && !Array.isArray(value)) {\n // If the value is an object, recurse into it\n result.push(...pathToArray(value, currentPath));\n } else {\n // If the value is not an object, store the path and value\n result.push({ path: currentPath, value });\n }\n }\n\n return result;\n}","import { BaseSchema, NestedPaths } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { Tabs } from './tabs';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { Condition } from './condition';\nimport { pathToArray } from '../../utils/pathToArray';\nimport { ConditionsArgument, TabsArgument } from './types';\nconst RESERVED_DIALOG_KEYS = ['title', 'id', 'name'] as const;\ntype ReservedDialogKeys = typeof RESERVED_DIALOG_KEYS[number] | `nav_${string}` | `cf_${string}`;\n\nexport interface DialogSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>> {\n type: 'dialog';\n tabs: (tabs: TabsArgument<TEntries>) => DialogSchema<TEntries>;\n conditions: (conditions: ConditionsArgument<TEntries>) => DialogSchema<TEntries>;\n}\n\nclass DialogBuilder<TEntries extends ObjectEntries> implements DialogSchema<TEntries> {\n private conditionsModule: Condition<TEntries>;\n private tabsModule: Tabs<TEntries>;\n private readonly entries: TEntries;\n readonly type = 'dialog';\n\n constructor(entries: TEntries) {\n this.entries = entries;\n this.conditionsModule = new Condition<TEntries>();\n this.tabsModule = new Tabs<TEntries>();\n }\n\n conditions(conditions: ConditionsArgument<TEntries>) {\n const conditionsArray = pathToArray(conditions)\n for (const condition of conditionsArray) {\n this.conditionsModule.addCondition(condition.path.join('.') as NestedPaths<TEntries>, condition.value);\n }\n return this;\n }\n\n tabs(tabs: TabsArgument<TEntries>) {\n for (const [key, tab] of Object.entries(tabs)) {\n this.tabsModule.addTab(key as any, tab!);\n }\n return this;\n }\n\n _parse() {\n const dialog = Object.entries(this.entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse(),\n }))\n .filter((entry: object) => {\n if ('type' in entry) {\n return entry.type !== 'hidden';\n }\n });\n\n const dialogWithConditions = this.conditionsModule.parse(dialog);\n const dialogWithTabs = this.tabsModule.parse(dialogWithConditions);\n return {\n dialog: dialogWithTabs\n };\n }\n\n _primitive() {\n const result: Record<string, WebcomponentPropTypes> = {};\n\n for (const [key, entry] of Object.entries(this.entries)) {\n const type = entry._primitive();\n if (typeof type === 'string') {\n result[key] = type;\n }\n }\n\n return result;\n }\n}\n\ntype ValidateDialogEntries<T extends ObjectEntries> = {\n [K in keyof T]: K extends ReservedDialogKeys\n ? { __error: `Property name '${K & string}' is reserved or starts with 'nav_' or 'cf_' and cannot be used in dialog schema` }\n : T[K]\n};\n\nexport function dialog<TEntries extends ObjectEntries>(\n entries: ValidateDialogEntries<TEntries>\n): DialogSchema<TEntries> {\n return new DialogBuilder(entries as unknown as TEntries);\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n max?: string\n min?: string\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey, max, min} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n max,\n min,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface TextSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'textfield';\n}\n\ninterface TextInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n validationRegex?: string;\n validationErrorMessage?: string;\n\n}\n\nexport function text(input: TextInput): TextSchema {\n const {placeholder, label,tooltip, required, defaultValue, validationRegex, validationErrorMessage} = input;\n\n return {\n type: 'textfield',\n _parse() {\n return {\n type: 'textfield',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n validationRegex,\n validationErrorMessage\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CheckBoxSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'checkbox';\n}\n\ninterface CheckBoxInput extends BaseFieldInput {\n showastoggle?: boolean\n defaultValue?: boolean | string;\n}\n\nexport function checkbox(input: CheckBoxInput): CheckBoxSchema {\n const {label, tooltip, showastoggle = false, defaultValue} = input;\n\n return {\n type: 'checkbox',\n _parse() {\n return {\n type: 'checkbox',\n label,\n tooltip,\n showastoggle,\n defaultValue\n }\n },\n _primitive() {\n return 'boolean'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface PathBrowserSchema<TOutput extends string | { path: string, [key: string]: string } = string | { path: string, [key: string]: string }> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'pathbrowser';\n}\n\ninterface PathBrowserInput extends BaseFieldInput {\n placeholder: string;\n defaultValue?: string;\n folder?: boolean;\n path?: string;\n pageProperties?: string[];\n}\n\nexport function pathbrowser(input: PathBrowserInput): PathBrowserSchema {\n const {placeholder, label, tooltip, required, defaultValue, folder = false, path, pageProperties} = input;\n\n return {\n type: 'pathbrowser',\n _parse() {\n return {\n type: 'pathbrowser',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue,\n folder,\n pageProperties,\n path\n }\n },\n _primitive() {\n return pageProperties ? 'json' : 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype MediaOutputType = {\n alt: string;\n url: string;\n renditions: string[];\n};\n\nexport interface MediaSchema<TOutput extends string = string> extends BaseSchema<MediaOutputType> {\n /**\n * The schema type.\n */\n type: 'media';\n}\n\ntype ImageTypes = 'image/gif' | 'image/jpeg' | 'image/png' | 'image/tiff' | 'image/svg+xml';\ntype VideoTypes = 'video/mp4' | 'video/webm' | 'video/ogg';\ntype PDFTypes = 'application/pdf';\ntype ZipTypes = 'application/zip' | 'application/x-zip-compressed' | 'application/x-zip' | 'application/x-compressed' | 'multipart/x-zip';\ntype CSVType = 'text/csv';\n\n\ninterface MediaInput extends BaseFieldInput {\n defaultValue?: string;\n allowedMimeTypes?: ( PDFTypes | ZipTypes | ImageTypes | VideoTypes | CSVType)[];\n}\n\nexport function media(input: MediaInput): MediaSchema {\n const { label, tooltip, required, defaultValue, allowedMimeTypes } = input;\n\n return {\n type: 'media',\n _parse() {\n return {\n type: 'media',\n label,\n tooltip,\n required,\n defaultValue,\n allowedMimeTypes\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}\n\n/**\n * @deprecated Use `media` instead.\n */\nexport const image = (input: MediaInput = {\n label: 'image',\n allowedMimeTypes: ['image/gif', 'image/jpeg', 'image/png', 'image/tiff', 'image/svg+xml'],\n}) => media(input);\n","import { BaseFieldInput, BaseSchema } from '../../types';\n\ntype ReadonlyObject<T> = {\n readonly [K in keyof T]: T[K];\n};\n\nexport interface SelectSchema<T, TMultiple extends boolean = false> extends BaseSchema<TMultiple extends true ? T[] : T> {\n /**\n * The schema type.\n */\n type: 'select';\n multiple: TMultiple;\n}\n\ninterface SelectInput<TMultiple extends boolean = false> extends BaseFieldInput {\n placeholder?: string;\n multiple?: TMultiple;\n values: {\n value: string;\n label: string;\n }[];\n defaultValue?: TMultiple extends true ? string[] : string;\n}\n\ntype ValuesType<T extends { values: readonly { value: string }[] }> = T['values'][number]['value'];\n\nexport function select<const T extends SelectInput<TMultiple>, TMultiple extends boolean = T['multiple'] extends true ? true : false>(input: T): SelectSchema<ValuesType<ReadonlyObject<T>>, TMultiple> {\n const { label, values, tooltip, placeholder, multiple = false, required, defaultValue } = input;\n\n if (!multiple && Array.isArray(defaultValue)) {\n throw new Error('defaultValue should be a string when multiple is false');\n }\n\n return {\n type: 'select',\n _parse() {\n return {\n type: 'select',\n label,\n multiple,\n values,\n tooltip,\n placeholder,\n required,\n defaultValue\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n multiple: multiple as TMultiple,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface RichTextEditorSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'richtexteditor';\n}\n\ninterface RichTextEditorInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function rte(input: RichTextEditorInput): RichTextEditorSchema {\n const {placeholder, label, tooltip, required, defaultValue} = input;\n\n return {\n type: 'richtexteditor',\n _parse() {\n return {\n type: 'richtexteditor',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import {\n BaseSchema,\n} from '../../types';\n\nexport interface DynamicZoneSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'dynamic';\n}\n\ninterface DynamicInput {\n}\n\nexport function dynamic(input: DynamicInput): DynamicZoneSchema {\n return {\n type: 'dynamic',\n _parse() {\n return {\n type: 'dynamic',\n };\n },\n _primitive() {\n return 'string';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CalendarSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'calendar';\n}\n\ninterface CalendarInput extends BaseFieldInput {\n placeholder?: string;\n valueformat: string;\n displayformat?: string;\n headerformat?: string;\n startday?: string;\n min?: string;\n max?: string;\n defaultValue?: string;\n}\n\nexport function calendar(input: CalendarInput): CalendarSchema {\n const {valueformat,startday=0,min,max, placeholder, label,tooltip,required, defaultValue, headerformat, displayformat} = input;\n\n return {\n type: 'calendar',\n _parse() {\n return {\n type: 'calendar',\n label,\n valueformat,\n headerformat,\n displayformat,\n placeholder,\n startday,\n tooltip,\n min,\n max,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\nimport { SelectSchema } from '../select';\ntype DataSourceOutputType<Multiple extends boolean> = Multiple extends true ? string[] : string;\n\nexport interface DataSourceSchema<Multiple extends boolean = false> extends BaseSchema<DataSourceOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'datasource';\n}\n\ninterface DataSourceBody {\n [key: string]: any;\n}\ninterface DataSourceInput extends BaseFieldInput {\n placeholder?: string;\n url: string;\n multiple?: boolean;\n body: DataSourceBody;\n defaultValue?: string;\n method?: 'GET' | 'POST';\n}\n\nexport function datasource<Multiple extends boolean = false>(input: DataSourceInput & { multiple?: Multiple }): DataSourceSchema<Multiple> {\n const {label, body, url, tooltip,placeholder, multiple = false as Multiple, required, defaultValue, method = 'POST' } = input;\n\n return {\n type: 'datasource',\n _parse() {\n return {\n type: 'datasource',\n label,\n url,\n multiple,\n body,\n tooltip,\n placeholder,\n required,\n defaultValue,\n method\n }\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n }\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput,\n} from '../../types';\n\nexport interface GroupSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<{\n active: boolean;\n} & InferOutput<TChildren>> {\n readonly type: 'group';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren;\n toggle?: boolean;\n}\n\nexport function group<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): GroupSchema<TChildren> {\n const { label, children, tooltip, toggle } = input;\n const childrenParse = children._parse();\n\n return {\n type: 'group',\n _parse() {\n return {\n type: 'group',\n label,\n tooltip,\n toggle,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse],\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface DataModelSchema<TOutput extends Record<string, any> = Record<string, any>> extends BaseSchema<TOutput> { /**\n * The schema type.\n */\n type: 'datamodel';\n}\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n}\n\nexport function datamodel(input: DataModelInput): DataModelSchema {\n const {placeholder, label,tooltip, required, defaultValue} = input;\n\n return {\n type: 'datamodel',\n _parse() {\n return {\n type: 'datamodel',\n label,\n placeholder,\n tooltip,\n required,\n defaultValue\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface NavigationSchema extends BaseSchema<NavigationItemSchema[]> { /**\n * The schema type.\n */\n type: 'navigation';\n}\n\nexport interface NavigationItemSchema {\n id: string;\n children: NavigationItemSchema[];\n active: boolean;\n url: string;\n title: string;\n}\n\n/**\n * @deprecated Use string[] instead of { value, label }[] for pageProperties. The goal is to keep these fields hidden from the end user.\n */\nexport interface DeprecatedPagePropertyObject { value: string; label: string; }\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n showChildrenCheckbox?: boolean;\n showRootLevel?: boolean;\n defaultValue?: string;\n pageProperties?: string[] | DeprecatedPagePropertyObject[];\n}\n\nexport function navigation(input: DataModelInput): NavigationSchema {\n const {placeholder, label,tooltip, required, showChildrenCheckbox, showRootLevel, defaultValue, pageProperties} = input;\n\n return {\n type: 'navigation',\n _parse() {\n return {\n type: 'navigation',\n label,\n placeholder,\n tooltip,\n required,\n showChildrenCheckbox,\n showRootLevel,\n defaultValue,\n pageProperties,\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n","import { type BaseSchema } from '../../types';\nimport { type WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface HiddenSchema extends BaseSchema<string> {\n /**\n * The schema type.\n */\n type: 'hidden';\n}\n\ninterface HiddenInput {\n type: WebcomponentPropTypes\n}\n\n/**\n * Creates a hidden schema.\n *\n * @param input The type of input for the webcomponent binding.\n *\n * @returns A hidden schema.\n */\nexport function hidden(input: HiddenInput): HiddenSchema {\n const {type} = input;\n\n return {\n type: 'hidden',\n _parse() {\n //Explicitly hidding this input from the parse final result.\n return this;\n },\n _primitive() {\n return type\n },\n }\n}","import { BaseSchema, Output } from '../../types';\n\n/**\n * Optional schema type.\n */\nexport interface OptionalSchema<\n TWrapped extends BaseSchema,\n TOutput = Output<TWrapped> | undefined\n> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'optional';\n /**\n * The wrapped schema.\n */\n wrapped: TWrapped;\n}\n\n\n/**\n * Creates an optional schema.\n *\n * @param wrapped The wrapped schema.\n *\n * @returns A optional schema.\n */\nexport function optional<TWrapped extends BaseSchema>(\n wrapped: TWrapped\n): OptionalSchema<TWrapped> {\n return {\n type: 'optional',\n wrapped,\n _primitive() {\n return this.wrapped._primitive();\n },\n _parse() {\n return this.wrapped._parse();\n },\n };\n}","import type { BaseSchema } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface ObjectSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'object';\n}\n\nexport function object<TEntries extends ObjectEntries>(entries: TEntries): ObjectSchema<TEntries> {\n return {\n type: 'object',\n _parse() {\n return Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if('type' in entry){\n return entry.type !== 'hidden'\n }\n })\n },\n _primitive() {\n return 'json'\n }\n };\n}","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component as any, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}\n","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parse<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._parse()\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":"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","names":["field","dialog","dialog","component"]}
@@ -26,7 +26,7 @@ module.exports = __toCommonJS(multifield_exports);
26
26
 
27
27
  // src/schema/multifield/multifield.ts
28
28
  function multifield(input) {
29
- const { label, children, required, itemLabelKey } = input;
29
+ const { label, children, required, itemLabelKey, max, min } = input;
30
30
  const childrenParse = children._parse();
31
31
  return {
32
32
  type: "multifield",
@@ -36,6 +36,8 @@ function multifield(input) {
36
36
  label,
37
37
  required,
38
38
  itemLabelKey,
39
+ max,
40
+ min,
39
41
  children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
40
42
  };
41
43
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/multifield/index.ts","../../../src/schema/multifield/multifield.ts"],"sourcesContent":["export * from './multifield';\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACqBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,aAAY,IAAI;AAClD,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/multifield/index.ts","../../../src/schema/multifield/multifield.ts"],"sourcesContent":["export * from './multifield';\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n max?: string\n min?: string\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey, max, min} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n max,\n min,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACuBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,cAAc,KAAK,IAAG,IAAI;AAC5D,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  // src/schema/multifield/multifield.ts
2
2
  function multifield(input) {
3
- const { label, children, required, itemLabelKey } = input;
3
+ const { label, children, required, itemLabelKey, max, min } = input;
4
4
  const childrenParse = children._parse();
5
5
  return {
6
6
  type: "multifield",
@@ -10,6 +10,8 @@ function multifield(input) {
10
10
  label,
11
11
  required,
12
12
  itemLabelKey,
13
+ max,
14
+ min,
13
15
  children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
14
16
  };
15
17
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/multifield/multifield.ts"],"sourcesContent":["import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}"],"mappings":";AAqBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,aAAY,IAAI;AAClD,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/multifield/multifield.ts"],"sourcesContent":["import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n max?: string\n min?: string\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey, max, min} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n max,\n min,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}\n"],"mappings":";AAuBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,cAAc,KAAK,IAAG,IAAI;AAC5D,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -13,6 +13,8 @@ interface MultifieldSchema<TChildren extends BaseSchema<unknown>> extends BaseSc
13
13
  interface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {
14
14
  children: TChildren;
15
15
  itemLabelKey?: keyof Output<TChildren>;
16
+ max?: string;
17
+ min?: string;
16
18
  }
17
19
  declare function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren>;
18
20
 
@@ -13,6 +13,8 @@ interface MultifieldSchema<TChildren extends BaseSchema<unknown>> extends BaseSc
13
13
  interface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {
14
14
  children: TChildren;
15
15
  itemLabelKey?: keyof Output<TChildren>;
16
+ max?: string;
17
+ min?: string;
16
18
  }
17
19
  declare function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren>;
18
20
 
@@ -24,7 +24,7 @@ __export(multifield_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(multifield_exports);
26
26
  function multifield(input) {
27
- const { label, children, required, itemLabelKey } = input;
27
+ const { label, children, required, itemLabelKey, max, min } = input;
28
28
  const childrenParse = children._parse();
29
29
  return {
30
30
  type: "multifield",
@@ -34,6 +34,8 @@ function multifield(input) {
34
34
  label,
35
35
  required,
36
36
  itemLabelKey,
37
+ max,
38
+ min,
37
39
  children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
38
40
  };
39
41
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/multifield/multifield.ts"],"sourcesContent":["import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,aAAY,IAAI;AAClD,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/multifield/multifield.ts"],"sourcesContent":["import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n max?: string\n min?: string\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey, max, min} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n max,\n min,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,cAAc,KAAK,IAAG,IAAI;AAC5D,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  // src/schema/multifield/multifield.ts
2
2
  function multifield(input) {
3
- const { label, children, required, itemLabelKey } = input;
3
+ const { label, children, required, itemLabelKey, max, min } = input;
4
4
  const childrenParse = children._parse();
5
5
  return {
6
6
  type: "multifield",
@@ -10,6 +10,8 @@ function multifield(input) {
10
10
  label,
11
11
  required,
12
12
  itemLabelKey,
13
+ max,
14
+ min,
13
15
  children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
14
16
  };
15
17
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/multifield/multifield.ts"],"sourcesContent":["import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}"],"mappings":";AAqBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,aAAY,IAAI;AAClD,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/multifield/multifield.ts"],"sourcesContent":["import {\n BaseFieldInput,\n BaseSchema,\n InferOutput, Output\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n itemLabelKey?: keyof Output<TChildren>\n max?: string\n min?: string\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required, itemLabelKey, max, min} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n itemLabelKey,\n max,\n min,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}\n"],"mappings":";AAuBO,SAAS,WAAwD,OAAgE;AACtI,QAAM,EAAC,OAAO,UAAU,UAAU,cAAc,KAAK,IAAG,IAAI;AAC5D,QAAM,gBAAgB,SAAS,OAAO;AAEtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;AAAA,MACzE;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/tags/index.ts","../../../src/schema/tags/tags.ts"],"sourcesContent":["export * from './tags'\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagOutputType = {\n name: string;\n namespace: string;\n};\n\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACwBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/tags/index.ts","../../../src/schema/tags/tags.ts"],"sourcesContent":["export * from './tags'\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACkBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/tags/tags.ts"],"sourcesContent":["import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagOutputType = {\n name: string;\n namespace: string;\n};\n\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";AAwBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/tags/tags.ts"],"sourcesContent":["import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";AAkBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -2,11 +2,7 @@ import { B as BaseSchema, d as BaseFieldInput } from '../../schema-2DE_dAsc.mjs'
2
2
  import '../../types/webcomponent.mjs';
3
3
  import '../../types/utils.mjs';
4
4
 
5
- type TagOutputType = {
6
- name: string;
7
- namespace: string;
8
- };
9
- type TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;
5
+ type TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;
10
6
  interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {
11
7
  /**
12
8
  * The schema type.
@@ -2,11 +2,7 @@ import { B as BaseSchema, d as BaseFieldInput } from '../../schema-Cva8xPv0.js';
2
2
  import '../../types/webcomponent.js';
3
3
  import '../../types/utils.js';
4
4
 
5
- type TagOutputType = {
6
- name: string;
7
- namespace: string;
8
- };
9
- type TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;
5
+ type TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;
10
6
  interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {
11
7
  /**
12
8
  * The schema type.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/tags/tags.ts"],"sourcesContent":["import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagOutputType = {\n name: string;\n namespace: string;\n};\n\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/tags/tags.ts"],"sourcesContent":["import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schema/tags/tags.ts"],"sourcesContent":["import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagOutputType = {\n name: string;\n namespace: string;\n};\n\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? TagOutputType[] : TagOutputType;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";AAwBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schema/tags/tags.ts"],"sourcesContent":["import { BaseFieldInput, type BaseSchema } from '../../types';\n\ntype TagsOutputType<Multiple extends boolean> = Multiple extends true ? String[] : String;\n\nexport interface TagsSchema<Multiple extends boolean = false> extends BaseSchema<TagsOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'tags';\n}\n\ninterface TagsInput extends BaseFieldInput {\n placeholder?: string;\n defaultValue?: string;\n multiple?: boolean;\n namespaces?: string[];\n}\n\nexport function tags<Multiple extends boolean = false>(input: TagsInput & {\n multiple?: Multiple\n}): TagsSchema<Multiple> {\n const { placeholder, label, required, defaultValue, multiple, namespaces } = input;\n\n return {\n type: 'tags',\n _parse() {\n return {\n type: 'tags',\n label,\n placeholder,\n required,\n defaultValue,\n multiple,\n namespaces,\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n };\n}\n"],"mappings":";AAkBO,SAAS,KAAuC,OAE9B;AACvB,QAAM,EAAE,aAAa,OAAO,UAAU,cAAc,UAAU,WAAW,IAAI;AAE7E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO,WAAW,SAAS;AAAA,IAC7B;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethereal-nexus/core",
3
- "version": "1.16.0",
3
+ "version": "1.18.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "",