@icure/form 3.0.39 → 3.0.42
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/.yarn/cache/{@babel-runtime-npm-7.26.10-d01a90d446-22d2e0abb8.zip → @babel-runtime-npm-7.28.4-31bc1b0001-934b0a0460.zip} +0 -0
- package/.yarn/cache/{@icure-motss-app-datepicker-npm-6.0.0-rc.39-d00d21c35a-eefaed31a8.zip → @icure-motss-app-datepicker-npm-6.0.0-rc.40-ca1da7abbb-9bbe2bed34.zip} +0 -0
- package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.4.0-e5ef5fbeba-e267c25576.zip +0 -0
- package/.yarn/cache/{@lit-reactive-element-npm-2.1.0-77512b732b-fb36e9f64b.zip → @lit-reactive-element-npm-2.1.1-3875228c32-b9bbc9c089.zip} +0 -0
- package/.yarn/cache/{@lit-task-npm-1.0.2-01d3dd32e9-22e1265a62.zip → @lit-task-npm-1.0.3-48f265b3e9-790b6a2603.zip} +0 -0
- package/.yarn/cache/{lit-element-npm-4.1.1-bb20932b82-74d0f2d6fb.zip → lit-element-npm-4.2.1-b5bc114ced-5925326176.zip} +0 -0
- package/.yarn/cache/{lit-html-npm-3.2.1-1662fc597d-1bacd9f8b2.zip → lit-html-npm-3.3.1-e3722d4f4a-de07c66945.zip} +0 -0
- package/.yarn/cache/{lit-npm-3.2.1-27cb5b7782-ee22bbc53d.zip → lit-npm-3.3.1-8f683c51f1-fb88f1ff80.zip} +0 -0
- package/.yarn/cache/{prosemirror-commands-npm-1.7.0-212f35173c-a39225d534.zip → prosemirror-commands-npm-1.7.1-5b2afb6640-2316c40ea2.zip} +0 -0
- package/.yarn/cache/prosemirror-history-npm-1.5.0-e639d02880-6afb0e1d17.zip +0 -0
- package/.yarn/cache/prosemirror-keymap-npm-1.2.3-0e7e0c8195-0a2eed2771.zip +0 -0
- package/.yarn/cache/prosemirror-model-npm-1.25.4-e7ee2df3df-ab5aa609df.zip +0 -0
- package/.yarn/cache/prosemirror-state-npm-1.4.4-8b7e3a396c-1b5dba46c2.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.10.5-5b3b4f5f61-6f5921e53a.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.41.4-cf361fd330-b663b8c6ce.zip +0 -0
- package/.yarn/install-state.gz +0 -0
- package/components/common/field.d.ts +0 -1
- package/components/common/field.js +0 -5
- package/components/common/field.js.map +1 -1
- package/components/common/metadata-buttons-bar.d.ts +1 -1
- package/components/common/metadata-buttons-bar.js +2 -6
- package/components/common/metadata-buttons-bar.js.map +1 -1
- package/components/icure-button/index.js +0 -4
- package/components/icure-button/index.js.map +1 -1
- package/components/icure-button-group/index.js +0 -4
- package/components/icure-button-group/index.js.map +1 -1
- package/components/icure-date-picker/index.d.ts +1 -1
- package/components/icure-date-picker/index.js +2 -6
- package/components/icure-date-picker/index.js.map +1 -1
- package/components/icure-dropdown-field/index.js +0 -4
- package/components/icure-dropdown-field/index.js.map +1 -1
- package/components/icure-form/fields/button-group/checkbox.d.ts +0 -1
- package/components/icure-form/fields/button-group/checkbox.js +2 -39
- package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
- package/components/icure-form/fields/button-group/radio-button.d.ts +0 -1
- package/components/icure-form/fields/button-group/radio-button.js +2 -39
- package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-picker.d.ts +0 -1
- package/components/icure-form/fields/date-picker/date-picker.js +17 -54
- package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-time-picker.d.ts +0 -1
- package/components/icure-form/fields/date-picker/date-time-picker.js +17 -54
- package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/time-picker.d.ts +0 -1
- package/components/icure-form/fields/date-picker/time-picker.js +17 -54
- package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
- package/components/icure-form/fields/dropdown/dropdown-field.d.ts +0 -1
- package/components/icure-form/fields/dropdown/dropdown-field.js +2 -39
- package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
- package/components/icure-form/fields/items-list-field/items-list-field.d.ts +0 -1
- package/components/icure-form/fields/items-list-field/items-list-field.js +17 -55
- package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
- package/components/icure-form/fields/measure-field/measure-field.d.ts +0 -1
- package/components/icure-form/fields/measure-field/measure-field.js +2 -39
- package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
- package/components/icure-form/fields/number-field/number-field.d.ts +0 -1
- package/components/icure-form/fields/number-field/number-field.js +18 -55
- package/components/icure-form/fields/number-field/number-field.js.map +1 -1
- package/components/icure-form/fields/text-field/text-field.d.ts +0 -1
- package/components/icure-form/fields/text-field/text-field.js +28 -65
- package/components/icure-form/fields/text-field/text-field.js.map +1 -1
- package/components/icure-form/fields/token-field/token-field.d.ts +0 -1
- package/components/icure-form/fields/token-field/token-field.js +17 -55
- package/components/icure-form/fields/token-field/token-field.js.map +1 -1
- package/components/icure-form/fields/utils/index.d.ts +0 -1
- package/components/icure-form/fields/utils/index.js +0 -2
- package/components/icure-form/fields/utils/index.js.map +1 -1
- package/components/icure-form/index.d.ts +1 -1
- package/components/icure-form/index.js +5 -26
- package/components/icure-form/index.js.map +1 -1
- package/components/icure-form/renderer/form/form-selection-button.js +0 -4
- package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
- package/components/icure-form/renderer/form/form.d.ts +2 -7
- package/components/icure-form/renderer/form/form.js +454 -618
- package/components/icure-form/renderer/form/form.js.map +1 -1
- package/components/icure-form/renderer/index.d.ts +1 -1
- package/components/icure-form/renderer/index.js.map +1 -1
- package/components/icure-label/index.js +0 -4
- package/components/icure-label/index.js.map +1 -1
- package/components/icure-text-field/index.js +11 -10
- package/components/icure-text-field/index.js.map +1 -1
- package/components/model/index.d.ts +1 -15
- package/components/model/index.js +2 -13
- package/components/model/index.js.map +1 -1
- package/generic/model.d.ts +6 -6
- package/generic/model.js.map +1 -1
- package/icure/form-values-container.d.ts +42 -63
- package/icure/form-values-container.js +151 -192
- package/icure/form-values-container.js.map +1 -1
- package/icure/icure-utils.js +12 -30
- package/icure/icure-utils.js.map +1 -1
- package/icure/model.d.ts +2 -9
- package/icure/model.js +1 -7
- package/icure/model.js.map +1 -1
- package/package.json +1 -2
- package/utils/code-utils.d.ts +2 -3
- package/utils/code-utils.js +6 -5
- package/utils/code-utils.js.map +1 -1
- package/.yarn/cache/@icure-cardinal-sdk-npm-1.3.0-ts-2-d77151b3e6-86e1497829.zip +0 -0
- package/.yarn/cache/@js-joda-core-npm-3.2.0-d2526290e9-64625c2f22.zip +0 -0
- package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.3.0-6bfa115c08-c2003e8bb6.zip +0 -0
- package/.yarn/cache/@lit-reactive-element-npm-2.0.4-4836436301-368d788d9e.zip +0 -0
- package/.yarn/cache/format-util-npm-1.0.5-a524ca953a-0c8622e54a.zip +0 -0
- package/.yarn/cache/prosemirror-history-npm-1.4.1-ad68c86bb7-90f9bf59bc.zip +0 -0
- package/.yarn/cache/prosemirror-keymap-npm-1.2.2-efb8276b00-85fe4fc303.zip +0 -0
- package/.yarn/cache/prosemirror-model-npm-1.25.0-0870b04e23-e311e1e36c.zip +0 -0
- package/.yarn/cache/prosemirror-state-npm-1.4.3-d6540e44ad-28857d935c.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.10.3-fb23bef7a8-8cbe29501e.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.38.1-8cfb4ec84f-12f7f4d27f.zip +0 -0
- package/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-9f57c93277.zip +0 -0
- package/.yarn/cache/ws-npm-8.18.0-56f68bc4d6-91d4d35bc9.zip +0 -0
- package/utils/form-value-container.d.ts +0 -3
- package/utils/form-value-container.js +0 -30
- package/utils/form-value-container.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/renderer/form/form.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { RendererProps } from '../index'\nimport { fieldValuesProvider, getValidationErrorProvider, handleMetadataChangedProvider, handleValueChangedProvider } from '../../../../utils/fields-values-provider'\nimport { Field, FieldMetadata, FieldValue, Form, Group, SortOptions, Subform } from '../../../model'\nimport { FormValuesContainer, Suggestion } from '../../../../generic'\n\nimport { defaultTranslationProvider } from '../../../../utils/languages'\nimport { getLabels } from '../../../common/utils'\nimport { filterAndSortOptionsFromFieldDefinition, sortSuggestions } from '../../../../utils/code-utils'\n\nimport './form-selection-button'\nimport { currentDate, currentDateTime, currentTime } from '../../../../utils/dates'\n\nasync function allNext<T>(\n\tsubGenerators: (AsyncGenerator<[T, boolean], void, unknown> | undefined)[],\n\tcache: T[],\n): Promise<{\n\tdone: boolean\n\tsubElements: Awaited<typeof nothing | T>[]\n}> {\n\tlet done = true\n\tconst subElements = await Promise.all(\n\t\tsubGenerators.map(async (sg, idx) => {\n\t\t\tif (!sg) {\n\t\t\t\treturn nothing\n\t\t\t}\n\t\t\tif (cache[idx]) {\n\t\t\t\treturn cache[idx]\n\t\t\t}\n\t\t\tconst itv = await sg.next()\n\t\t\tif (itv.value) {\n\t\t\t\tconst [value, isStale] = itv.value\n\t\t\t\tif (isStale) {\n\t\t\t\t\tcache[idx] = value\n\t\t\t\t}\n\t\t\t\tdone = done && isStale\n\t\t\t\treturn value\n\t\t\t} else {\n\t\t\t\treturn nothing\n\t\t\t}\n\t\t}),\n\t)\n\treturn { done, subElements }\n}\n\nexport async function* render(\n\tform: Form,\n\tprops: RendererProps,\n\tformsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>,\n\ttranslationProvider?: (language: string, text: string) => string,\n\townersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => [],\n\toptionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>,\n\tactionListener: (event: string, payload: unknown) => void = () => undefined,\n\tlanguages?: { [iso: string]: string },\n\treadonly?: boolean,\n\tdisplayMetadata?: boolean,\n\tsectionWrapper?: (index: number, section: () => Promise<TemplateResult>) => Promise<TemplateResult>,\n): AsyncGenerator<[TemplateResult<1>, boolean], void, unknown> {\n\tasync function* renderPotentiallyReadonlyField(fg: Field, getHtml: (readonly: boolean) => TemplateResult<1>): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tif (formsValueContainer?.isFieldBeingComputed(fg.label())) {\n\t\t\tyield [getHtml(true), true]\n\t\t} else if (fg.computedProperties?.readonly) {\n\t\t\tconst readonlyPromise = formsValueContainer?.compute(fg.computedProperties.readonly)\n\t\t\tyield [getHtml(true), false]\n\t\t\tconst finalResult = getHtml(!!readonlyPromise ? await (readonlyPromise as Promise<boolean>) : false)\n\t\t\twhile (true) {\n\t\t\t\tyield [finalResult, true]\n\t\t\t}\n\t\t} else {\n\t\t\tconst finalResult = getHtml(readonly ?? fg.readonly ?? false)\n\t\t\twhile (true) {\n\t\t\t\tyield [finalResult, true]\n\t\t\t}\n\t\t}\n\t}\n\n\tconst composedOptionsProvider =\n\t\toptionsProvider && form.codifications\n\t\t\t? async (language: string, codifications: string[], terms?: string[], sortOptions?: SortOptions): Promise<Suggestion[]> => {\n\t\t\t\t\tconst originalOptions = optionsProvider ? await optionsProvider(language, codifications, terms) : []\n\t\t\t\t\treturn sortSuggestions(\n\t\t\t\t\t\toriginalOptions.concat(\n\t\t\t\t\t\t\tform.codifications\n\t\t\t\t\t\t\t\t?.filter((c) => codifications.includes(c.type))\n\t\t\t\t\t\t\t\t?.flatMap((c) =>\n\t\t\t\t\t\t\t\t\tc.codes\n\t\t\t\t\t\t\t\t\t\t.filter((c) => (terms ?? []).map((st) => st.toLowerCase()).every((st) => c.label[language].toLowerCase().includes(st)))\n\t\t\t\t\t\t\t\t\t\t.map((c) => ({ id: c.id, label: c.label, text: c.label[language], terms: terms ?? [] })),\n\t\t\t\t\t\t\t\t) ?? [],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tsortOptions,\n\t\t\t\t\t)\n\t\t\t }\n\t\t\t: optionsProvider\n\t\t\t? (language: string, codifications: string[], terms?: string[], sortOptions?: SortOptions): Promise<Suggestion[]> => {\n\t\t\t\t\treturn optionsProvider?.(language, codifications, terms).then((codes) => sortSuggestions(codes, language, sortOptions)) ?? Promise.resolve([])\n\t\t\t }\n\t\t\t: undefined\n\n\tconst h = function (level: number, className = '', content: TemplateResult): TemplateResult {\n\t\treturn level === 1\n\t\t\t? html`<h1 class=\"${className}\">${content}</h1>`\n\t\t\t: level === 2\n\t\t\t? html`<h2 class=\"${className}\">${content}</h2>`\n\t\t\t: level === 3\n\t\t\t? html`<h3 class=\"${className}\">${content}</h3>`\n\t\t\t: level === 4\n\t\t\t? html`<h4 class=\"${className}\">${content}</h4>`\n\t\t\t: level === 5\n\t\t\t? html`<h5 class=\"${className}\">${content}</h5>`\n\t\t\t: html`<h6 class=\"${className}\">${content}</h6>`\n\t}\n\n\tasync function* renderGroup(fg: Group, fgSpan: number, level: number): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tconst subGenerators = fg.fields?.map((fieldOrGroup: Field | Group) => renderFieldGroupOrSubform(fieldOrGroup, level + 1)) ?? []\n\t\tconst cache: (TemplateResult<1> | typeof nothing)[] = []\n\t\twhile (true) {\n\t\t\tconst { done, subElements } = await allNext(subGenerators, cache)\n\t\t\tconst filteredSubElements = subElements.filter((x) => !!x && x !== nothing)\n\n\t\t\tyield [\n\t\t\t\tfilteredSubElements.length\n\t\t\t\t\t? html` <div class=\"${['group', fg.borderless ? undefined : 'bordered'].filter((x) => !!x).join(' ')}\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t\t\t\t\t${fg.borderless ? nothing : html` <div>${h(level, '', html`${fg.group}`)}</div>`}\n\t\t\t\t\t\t\t<div class=\"icure-form\">${filteredSubElements}</div>\n\t\t\t\t\t </div>`\n\t\t\t\t\t: nothing,\n\t\t\t\tdone,\n\t\t\t] as [TemplateResult<1> | typeof nothing, boolean]\n\t\t}\n\t}\n\n\tasync function* renderSubform(fg: Subform, fgSpan: number, level: number): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tasync function getHtml(children: [FormValuesContainer<FieldValue, FieldMetadata>, Form | undefined, TemplateResult<1> | typeof nothing][]) {\n\t\t\treturn html`<div class=\"subform\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t\t<div class=\"subform__heading\">\n\t\t\t\t\t${h(level, 'subform__heading__title', html`${(props.language && fg.shortLabel ? tp?.(props.language, fg.shortLabel) : fg.shortLabel) ?? ''}`)}\n\t\t\t\t\t${readonly\n\t\t\t\t\t\t? nothing\n\t\t\t\t\t\t: html`<form-selection-button\n\t\t\t\t\t\t\t\t.label=\"${fg.labels.add ?? 'Add subform'}\"\n\t\t\t\t\t\t\t\t.forms=\"${Object.entries(fg.forms)}\"\n\t\t\t\t\t\t\t\t.formAdded=\"${(form: Form) => {\n\t\t\t\t\t\t\t\t\tform.id && formsValueContainer?.addChild(fg.id, form.id, fg.shortLabel ?? '')\n\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t.translationProvider=\"${tp}\"\n\t\t\t\t\t\t\t\t.language=\"${props.language}\"\n\t\t\t\t\t\t ></form-selection-button>`}\n\t\t\t\t</div>\n\t\t\t\t${await Promise.all(\n\t\t\t\t\tchildren?.map(async ([child, childForm, renderedChildForm]) => {\n\t\t\t\t\t\tconst title = childForm?.form ?? childForm?.description\n\t\t\t\t\t\tconst localisedTitle = (title && tp && props.language ? tp?.(props.language, title) : title) ?? ''\n\t\t\t\t\t\tconst localisedRemove = (fg.labels.remove && tp && props.language ? tp?.(props.language, fg.labels.remove) : fg.labels.remove) ?? 'Remove'\n\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<div class=\"subform__child\">\n\t\t\t\t\t\t\t\t<h3 class=\"subform__child__title\">${localisedTitle}</h3>\n\t\t\t\t\t\t\t\t${renderedChildForm} ${readonly ? nothing : html` <button class=\"subform__removeBtn\" @click=\"${() => formsValueContainer?.removeChild?.(child)}\">${localisedRemove}</button>`}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t}),\n\t\t\t\t)}\n\t\t\t</div>`\n\t\t}\n\n\t\tconst children = (await formsValueContainer?.getChildren())?.filter((c) => c.getLabel() === fg.id)\n\t\tconst tp = translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))\n\n\t\tconst subGenerators = (children ?? []).map((child) => {\n\t\t\tconst childForm = Object.values(fg.forms).find((f) => f.id === child.getFormId())\n\t\t\treturn childForm ? render(childForm, props, child, translationProvider, ownersProvider, optionsProvider, actionListener, languages, readonly, displayMetadata) : undefined\n\t\t})\n\n\t\tconst cache: (TemplateResult<1> | typeof nothing)[] = []\n\t\twhile (true) {\n\t\t\tconst { done, subElements } = await allNext(subGenerators, cache)\n\t\t\tyield [await getHtml((children ?? []).map((child, idx) => [child, Object.values(fg.forms).find((f) => f.id === child.getFormId()), subElements[idx]])), done] as [TemplateResult<1>, boolean]\n\t\t}\n\t}\n\n\tasync function* renderTextField(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\tconst loading = formsValueContainer?.isFieldBeingComputed(fg.label())\n\t\t\treturn html`<icure-form-text-field\n\t\t\t\tclass=\"icure-form-field ${loading ? 'loading' : ''}\"\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan, fg.styleOptions?.width)}\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\t.multiline=\"${fg.multiline || false}\"\n\t\t\t\t.lines=${fgRowSpan}\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.languages=\"${languages}\"\n\t\t\t\t.linksProvider=${fg.options?.linksProvider}\n\t\t\t\t.suggestionProvider=${fg.options?.suggestionProvider}\n\t\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.codeColorProvider=${fg.options?.codeColorProvider}\n\t\t\t\t.linkColorProvider=${fg.options?.linkColorProvider}\n\t\t\t\t.codeContentProvider=${fg.options?.codeContentProvider}\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t\t.loading=\"${loading}\"\n\t\t\t></icure-form-text-field>`\n\t\t})\n\t}\n\n\tasync function* renderTokenField(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-token-field\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan, fg.styleOptions?.width)}\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\t.multiline=\"${fg.multiline || false}\"\n\t\t\t\t.lines=${fgRowSpan}\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.suggestionProvider=${fg.options?.suggestionProvider}\n\t\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-token-field>`\n\t\t})\n\t}\n\n\tasync function* renderItemsListField(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-items-list-field\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan, fg.styleOptions?.width)}\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\t.multiline=\"${fg.multiline || false}\"\n\t\t\t\t.lines=${fgRowSpan}\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.suggestionProvider=${fg.options?.suggestionProvider}\n\t\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-items-list-field>`\n\t\t})\n\t}\n\n\tasync function* renderMeasureField(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-measure-field\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\tunit=\"${fg.unit}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-measure-field>`\n\t\t})\n\t}\n\n\tasync function* renderNumberField(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\tconst loading = formsValueContainer?.isFieldBeingComputed(fg.label())\n\t\t\treturn html`<icure-form-number-field\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field ${loading ? 'loading' : ''}\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t\t.loading=\"${loading}\"\n\t\t\t></icure-form-number-field>`\n\t\t})\n\t}\n\n\tasync function* renderDatePicker(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html` <icure-form-date-picker\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\tvalue=\"${fg.now ? currentDate() : fg.value}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=\"${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\"\n\t\t\t\t.handleValueChanged=\"${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\"\n\t\t\t\t.handleMetadataChanged=\"${handleMetadataChangedProvider(formsValueContainer)}\"\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-date-picker>`\n\t\t})\n\t}\n\n\tasync function* renderTimePicker(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-time-picker\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\tvalue=\"${fg.now ? currentTime() : fg.value}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-time-picker>`\n\t\t})\n\t}\n\n\tasync function* renderDateTimePicker(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-date-time-picker\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\tlabel=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\tvalue=\"${fg.now ? currentDateTime() : fg.value}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-date-time-picker>`\n\t\t})\n\t}\n\n\tasync function* renderDropdownField(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-dropdown-field\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\t.label=${fg.field}\n\t\t\t\t.displayedLabels=${getLabels(fg)}\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translate=\"${fg.translate}\"\n\t\t\t\t.sortOptions=\"${fg.sortOptions}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\t.codifications=\"${fg.codifications}\"\n\t\t\t\t.optionsProvider=\"${composedOptionsProvider && fg.codifications?.length\n\t\t\t\t\t? (language: string, terms?: string[]) => composedOptionsProvider(language, fg.codifications ?? [], terms, fg.sortOptions)\n\t\t\t\t\t: (language: string, terms?: string[]) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}\"\n\t\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-dropdown-field>`\n\t\t})\n\t}\n\n\tasync function* renderRadioButtons(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html`<icure-form-radio-button\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\t.label=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translate=\"${fg.translate}\"\n\t\t\t\t.sortOptions=\"${fg.sortOptions}\"\n\t\t\t\t.codifications=\"${fg.codifications}\"\n\t\t\t\t.optionsProvider=\"${composedOptionsProvider && fg.codifications?.length\n\t\t\t\t\t? (language: string, terms?: string[]) => composedOptionsProvider(language, fg.codifications ?? [], terms, fg.sortOptions)\n\t\t\t\t\t: (language: string, terms?: string[]) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}\"\n\t\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-radio-button>`\n\t\t})\n\t}\n\n\tasync function* renderCheckboxes(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield* renderPotentiallyReadonlyField(fg, function (readonly: boolean) {\n\t\t\treturn html` <icure-form-checkbox\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\t.label=\"${fg.field}\"\n\t\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translate=\"${fg.translate}\"\n\t\t\t\t.sortOptions=\"${fg.sortOptions}\"\n\t\t\t\tvalue=\"${fg.value}\"\n\t\t\t\t.codifications=\"${fg.codifications}\"\n\t\t\t\t.optionsProvider=\"${composedOptionsProvider && fg.codifications?.length\n\t\t\t\t\t? (language: string, terms?: string[]) => composedOptionsProvider(language, fg.codifications ?? [], terms, fg.sortOptions)\n\t\t\t\t\t: (language: string, terms?: string[]) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}\"\n\t\t\t\t.ownersProvider=\"${ownersProvider}\"\n\t\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t\t.metadataProvider=\"${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\"\n\t\t\t\t.handleValueChanged=\"${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\"\n\t\t\t\t.handleMetadataChanged=\"${handleMetadataChangedProvider(formsValueContainer)}\"\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t\t.readonly=\"${readonly}\"\n\t\t\t></icure-form-checkbox>`\n\t\t})\n\t}\n\n\tasync function* renderButton(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tfunction getHtml(payload: unknown, event: string) {\n\t\t\treturn html`<icure-form-button\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-button\"\n\t\t\t\tlabel=\"${fg.shortLabel ?? fg.field}\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.actionListener=\"${actionListener}\"\n\t\t\t\t.event=\"${event}\"\n\t\t\t\t.payload=\"${payload}\"\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t></icure-form-button>`\n\t\t}\n\n\t\tif (fg.computedProperties?.readonly || fg.computedProperties?.event) {\n\t\t\tyield [getHtml(true, fg.event ?? 'submit'), false]\n\n\t\t\tconst [payload, event] = (await Promise.all([\n\t\t\t\tfg.payload !== undefined ? fg.payload : fg.computedProperties?.payload ? !(await formsValueContainer?.compute(fg.computedProperties?.payload)) : undefined,\n\t\t\t\tfg.event !== undefined ? fg.event : fg.computedProperties?.event ? !(await formsValueContainer?.compute(fg.computedProperties?.event)) : 'submit',\n\t\t\t])) as [string | undefined, string]\n\n\t\t\tyield [getHtml(payload, event), true]\n\t\t} else {\n\t\t\tyield [getHtml(true, fg.event ?? 'submit'), true]\n\t\t}\n\t}\n\n\tasync function* renderLabel(fgSpan: number, fgRowSpan: number, fg: Field): AsyncGenerator<[TemplateResult<1>, boolean], void, unknown> {\n\t\tyield [\n\t\t\thtml`<icure-form-label\n\t\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\t\tclass=\"icure-form-field\"\n\t\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t\tlabelPosition=\"${props.labelPosition}\"\n\t\t\t\tlabel=\"${fg.shortLabel ?? fg.field}\"\n\t\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t></icure-form-label>`,\n\t\t\ttrue,\n\t\t]\n\t}\n\n\tasync function* dummyGen(): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tyield [html``, true]\n\t}\n\n\tasync function* renderFieldGroupOrSubform(fg: Field | Group | Subform, level: number): AsyncGenerator<[TemplateResult<1> | typeof nothing, boolean], void, unknown> {\n\t\tif (!fg) {\n\t\t\tyield Promise.resolve([nothing, true] as [typeof nothing, boolean])\n\t\t\treturn\n\t\t}\n\t\tconst computedProperties = (await Object.keys(fg.computedProperties ?? {})\n\t\t\t.filter((k) => k !== 'value' && k !== 'defaultValue')\n\t\t\t.reduce(async (acc, k) => ({ ...(await acc), [k]: fg.computedProperties?.[k] && (await formsValueContainer?.compute(fg.computedProperties[k])) }), Promise.resolve({}))) as {\n\t\t\t[key: string]: string | number | boolean | undefined\n\t\t}\n\t\tif (computedProperties['hidden']) {\n\t\t\tyield Promise.resolve([nothing, true] as [typeof nothing, boolean])\n\t\t\treturn\n\t\t}\n\n\t\tconst fgSpan = (computedProperties['span'] ?? fg.span ?? 6) as number\n\t\tconst fgRowSpan = (computedProperties['rowSpan'] ?? fg.rowSpan ?? 1) as number\n\n\t\tif (fg.clazz === 'group' && fg.fields?.length) {\n\t\t\tyield* renderGroup((fg as Group).copy({ ...computedProperties }), fgSpan, level)\n\t\t} else if (fg.clazz === 'subform' && (fg.id || computedProperties['title'])) {\n\t\t\tyield* renderSubform((fg as Subform).copy({ ...computedProperties }), fgSpan, level)\n\t\t} else if (fg.clazz === 'field') {\n\t\t\tconst field = fg.copy({ ...computedProperties })\n\n\t\t\tfor await (const render of fg.type === 'text-field'\n\t\t\t\t? renderTextField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'measure-field'\n\t\t\t\t? renderMeasureField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'token-field'\n\t\t\t\t? renderTokenField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'items-list-field'\n\t\t\t\t? renderItemsListField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'number-field'\n\t\t\t\t? renderNumberField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'date-picker'\n\t\t\t\t? renderDatePicker(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'time-picker'\n\t\t\t\t? renderTimePicker(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'date-time-picker'\n\t\t\t\t? renderDateTimePicker(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'dropdown-field'\n\t\t\t\t? renderDropdownField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'radio-button'\n\t\t\t\t? renderRadioButtons(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'checkbox'\n\t\t\t\t? renderCheckboxes(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'label'\n\t\t\t\t? renderLabel(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'action'\n\t\t\t\t? renderButton(fgSpan, fgRowSpan, field)\n\t\t\t\t: dummyGen()) {\n\t\t\t\tyield [html`${render[0]}`, render[1]]\n\t\t\t}\n\t\t} else {\n\t\t\tyield [html``, true]\n\t\t}\n\t}\n\n\tconst calculateFieldOrGroupSize = (span: number, rowSpan: number, fixedWidth?: number | undefined) => {\n\t\tif (fixedWidth) return `width: ${fixedWidth}px`\n\t\treturn `grid-column: span ${span}; ${rowSpan > 1 ? `grid-row: span ${rowSpan}` : ''}`\n\t}\n\n\tasync function* renderForm(\n\t\tform: Form,\n\t\tsectionWrapper: (index: number, section: () => Promise<TemplateResult>) => Promise<TemplateResult>,\n\t): AsyncGenerator<[TemplateResult<1>, boolean], void, unknown> {\n\t\tconst sectionGenerators = form.sections.map(async function* (s): AsyncGenerator<[(TemplateResult<1> | typeof nothing)[], boolean], void, unknown> {\n\t\t\tconst fieldsGenerator = s.fields.map((fieldOrGroup: Field | Group | Subform) => renderFieldGroupOrSubform(fieldOrGroup, 3))\n\t\t\tconst cache: (TemplateResult<1> | typeof nothing)[] = []\n\t\t\twhile (true) {\n\t\t\t\tconst { done, subElements } = await allNext(fieldsGenerator, cache)\n\t\t\t\tyield [subElements, done]\n\t\t\t}\n\t\t})\n\n\t\tconst cache: (TemplateResult<1> | typeof nothing)[][] = []\n\t\twhile (true) {\n\t\t\tconst { done, subElements } = await allNext(sectionGenerators, cache)\n\t\t\tyield [html`${await Promise.all(subElements.map((section, idx) => sectionWrapper(idx, async () => html` <div class=\"icure-form\">${section}</div>`)))}`, done]\n\t\t}\n\t}\n\n\tyield* renderForm(form, sectionWrapper ?? (async (_idx, section) => await section()))\n}\n"]}
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/renderer/form/form.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;AAIrK,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,uCAAuC,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEvG,OAAO,yBAAyB,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEnF,MAAM,CAAC,MAAM,MAAM,GAAa,2EAY9B,EAAE,kHAXH,IAAU,EACV,KAAoB,EACpB,mBAAoE,EACpE,mBAAgE,EAChE,iBAAqG,GAAS,EAAE,kDAAC,OAAA,EAAE,CAAA,GAAA,EACnH,eAAwG,EACxG,iBAA4D,GAAG,EAAE,CAAC,SAAS,EAC3E,SAAqC,EACrC,QAAkB,EAClB,eAAyB,EACzB,cAAiF;IAEjF,MAAM,uBAAuB,GAC5B,eAAe,IAAI,IAAI,CAAC,aAAa;QACpC,CAAC,CAAC,CAAO,QAAgB,EAAE,aAAuB,EAAE,KAAgB,EAAE,WAAyB,EAAyB,EAAE;;YACxH,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACpG,OAAO,eAAe,CACrB,eAAe,CAAC,MAAM,CACrB,MAAA,MAAA,MAAA,IAAI,CAAC,aAAa,0CACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,0CAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,KAAK;iBACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;iBACtH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAAE,CAAC,CAAC,CACzF,mCAAI,EAAE,CACR,EACD,QAAQ,EACR,WAAW,CACX,CAAA;QACD,CAAC,CAAA;QACH,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,QAAgB,EAAE,aAAuB,EAAE,KAAgB,EAAE,WAAyB,EAAyB,EAAE;;gBAClH,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,mCAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC9I,CAAC;YACH,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,CAAC,GAAG,UAAU,KAAa,EAAE,SAAS,GAAG,EAAE,EAAE,OAAuB;QACzE,OAAO,KAAK,KAAK,CAAC;YACjB,CAAC,CAAC,IAAI,CAAA,cAAc,SAAS,KAAK,OAAO,OAAO;YAChD,CAAC,CAAC,KAAK,KAAK,CAAC;gBACb,CAAC,CAAC,IAAI,CAAA,cAAc,SAAS,KAAK,OAAO,OAAO;gBAChD,CAAC,CAAC,KAAK,KAAK,CAAC;oBACb,CAAC,CAAC,IAAI,CAAA,cAAc,SAAS,KAAK,OAAO,OAAO;oBAChD,CAAC,CAAC,KAAK,KAAK,CAAC;wBACb,CAAC,CAAC,IAAI,CAAA,cAAc,SAAS,KAAK,OAAO,OAAO;wBAChD,CAAC,CAAC,KAAK,KAAK,CAAC;4BACb,CAAC,CAAC,IAAI,CAAA,cAAc,SAAS,KAAK,OAAO,OAAO;4BAChD,CAAC,CAAC,IAAI,CAAA,cAAc,SAAS,KAAK,OAAO,OAAO,CAAA;IAClD,CAAC,CAAA;IAED,SAAe,WAAW,CAAC,EAAS,EAAE,MAAc,EAAE,KAAa;;;YAClE,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAA,EAAE,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAA2B,EAAE,EAAE,CAAC,yBAAyB,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAA;YACvL,OAAO,WAAW,CAAC,MAAM;gBACxB,CAAC,CAAC,IAAI,CAAA,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;OAC/I,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAA,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ;+BACrD,WAAW;YAC9B;gBACT,CAAC,CAAC,OAAO,CAAA;QACX,CAAC;KAAA;IAED,SAAe,aAAa,CAAC,EAAW,EAAE,MAAc,EAAE,KAAa;;;YACtE,MAAM,QAAQ,GAAG,MAAA,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,EAAE,CAAA,CAAC,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAClG,MAAM,EAAE,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;YACtG,OAAO,IAAI,CAAA,+BAA+B,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;;MAE1E,CAAC,CAAC,KAAK,EAAE,yBAAyB,EAAE,IAAI,CAAA,GAAG,MAAA,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,mCAAI,EAAE,EAAE,CAAC;MAC3I,QAAQ;gBACT,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAA;iBACM,MAAA,EAAE,CAAC,MAAM,CAAC,GAAG,mCAAI,aAAa;iBAC9B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;qBACpB,CAAC,KAAa,EAAE,IAAU,EAAE,EAAE;;oBAC3C,IAAI,CAAC,EAAE,KAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAA,EAAE,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAA,CAAA;gBAC9E,CAAC;+BACuB,EAAE;oBACb,KAAK,CAAC,QAAQ;iCACD;;KAE5B,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,CAAO,gBAAgB,EAAE,KAAK,EAAE,EAAE;;gBAC1D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAA;gBAExC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;gBACjF,MAAM,KAAK,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAA;gBACvD,MAAM,cAAc,GAAG,MAAA,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAA;gBAClG,MAAM,eAAe,GAAG,MAAA,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAI,QAAQ,CAAA;gBAC1I,IAAI,SAAS,EAAE,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA;;2CAEmB,cAAc;SAChD,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC;SACjJ,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,+CAA+C,GAAG,EAAE,WAAC,OAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,oEAAG,KAAK,CAAC,CAAA,EAAA,KAAK,eAAe,WAAW;;MAEzJ,CAAC,CAAA;gBACH,CAAC;gBACD,OAAO,SAAS,CAAA;YACjB,CAAC,CAAA,EAAE,OAAO,CAAC,OAAO,CAAC,EAAsB,CAAC,CAAC,CAAA;SACrC,CAAA;QACR,CAAC;KAAA;IAED,SAAe,eAAe,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC1E,OAAO,IAAI,CAAA;;YAED,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAA,EAAE,CAAC,YAAY,0CAAE,KAAK,CAAC;YACpE,EAAE,CAAC,KAAK;YACR,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;iBACrB,EAAE,CAAC,SAAS,IAAI,KAAK;YAC1B,SAAS;uBACE,KAAK,CAAC,QAAQ;iBACpB,SAAS;oBACN,MAAA,EAAE,CAAC,OAAO,0CAAE,aAAa;yBACpB,MAAA,EAAE,CAAC,OAAO,0CAAE,kBAAkB;qBAClC,cAAc;0BACT,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;wBAC3D,MAAA,EAAE,CAAC,OAAO,0CAAE,iBAAiB;wBAC7B,MAAA,EAAE,CAAC,OAAO,0CAAE,iBAAiB;0BAC3B,MAAA,EAAE,CAAC,OAAO,0CAAE,mBAAmB;2BAC9B,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC;qBAC1D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;4BACjI,CAAA;QAC3B,CAAC;KAAA;IAED,SAAe,gBAAgB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC3E,OAAO,IAAI,CAAA;;YAED,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAA,EAAE,CAAC,YAAY,0CAAE,KAAK,CAAC;YACpE,EAAE,CAAC,KAAK;YACR,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;iBACrB,EAAE,CAAC,SAAS,IAAI,KAAK;YAC1B,SAAS;uBACE,KAAK,CAAC,QAAQ;yBACZ,MAAA,EAAE,CAAC,OAAO,0CAAE,kBAAkB;qBAClC,cAAc;0BACT,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;6BAChI,CAAA;QAC5B,CAAC;KAAA;IAED,SAAe,oBAAoB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC/E,OAAO,IAAI,CAAA;;YAED,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAA,EAAE,CAAC,YAAY,0CAAE,KAAK,CAAC;YACpE,EAAE,CAAC,KAAK;YACR,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;iBACrB,EAAE,CAAC,SAAS,IAAI,KAAK;YAC1B,SAAS;uBACE,KAAK,CAAC,QAAQ;yBACZ,MAAA,EAAE,CAAC,OAAO,0CAAE,kBAAkB;qBAClC,cAAc;0BACT,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;kCAC3H,CAAA;QACjC,CAAC;KAAA;IAED,SAAe,kBAAkB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC7E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;YAC1B,EAAE,CAAC,KAAK;WACT,EAAE,CAAC,IAAI;uBACK,KAAK,CAAC,QAAQ;0BACX,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;+BAC9H,CAAA;QAC9B,CAAC;KAAA;IAED,SAAe,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC5E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;YAC1B,EAAE,CAAC,KAAK;uBACG,KAAK,CAAC,QAAQ;0BACX,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;8BAC/H,CAAA;QAC7B,CAAC;KAAA;IAED,SAAe,gBAAgB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC3E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;YAC1B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;uBACtB,KAAK,CAAC,QAAQ;0BACX,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;6BAChI,CAAA;QAC5B,CAAC;KAAA;IAED,SAAe,gBAAgB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC3E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;YAC1B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;uBACtB,KAAK,CAAC,QAAQ;0BACX,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;6BAChI,CAAA;QAC5B,CAAC;KAAA;IAED,SAAe,oBAAoB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC/E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,EAAE,CAAC,KAAK;uBACG,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;YAC1B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;uBAC1B,KAAK,CAAC,QAAQ;0BACX,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;kCAC3H,CAAA;QACjC,CAAC;KAAA;IAED,SAAe,mBAAmB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC9E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,EAAE,CAAC,KAAK;sBACE,SAAS,CAAC,EAAE,CAAC;uBACZ,KAAK,CAAC,QAAQ;iBACpB,EAAE,CAAC,SAAS;mBACV,EAAE,CAAC,WAAW;YACrB,EAAE,CAAC,KAAK;qBACC,EAAE,CAAC,aAAa;uBACd,uBAAuB,KAAI,MAAA,EAAE,CAAC,aAAa,0CAAE,MAAM,CAAA;gBACtE,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAgB,EAAE,EAAE,WAAC,OAAA,uBAAuB,CAAC,QAAQ,EAAE,MAAA,EAAE,CAAC,aAAa,mCAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA,EAAA;gBAC1H,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAgB,EAAE,EAAE,CAAC,uCAAuC,CAAC,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,CAAC;qBAC1G,cAAc;0BACT,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gCAC7H,CAAA;QAC/B,CAAC;KAAA;IAED,SAAe,kBAAkB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC7E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;aAE3C,EAAE,CAAC,KAAK;uBACE,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;uBACf,KAAK,CAAC,QAAQ;iBACpB,EAAE,CAAC,SAAS;mBACV,EAAE,CAAC,WAAW;qBACZ,EAAE,CAAC,aAAa;uBACd,uBAAuB,KAAI,MAAA,EAAE,CAAC,aAAa,0CAAE,MAAM,CAAA;gBACtE,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAgB,EAAE,EAAE,WAAC,OAAA,uBAAuB,CAAC,QAAQ,EAAE,MAAA,EAAE,CAAC,aAAa,mCAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA,EAAA;gBAC1H,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAgB,EAAE,EAAE,CAAC,uCAAuC,CAAC,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,CAAC;qBAC1G,cAAc;0BACT,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACrF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;uBACjE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;yBAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;4BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC1D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;8BAC/H,CAAA;QAC7B,CAAC;KAAA;IAED,SAAe,gBAAgB,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YAC3E,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;aAE3C,EAAE,CAAC,KAAK;uBACE,SAAS,CAAC,EAAE,CAAC;uBACb,eAAe;uBACf,KAAK,CAAC,QAAQ;iBACpB,EAAE,CAAC,SAAS;mBACV,EAAE,CAAC,WAAW;YACrB,EAAE,CAAC,KAAK;qBACC,EAAE,CAAC,aAAa;uBACd,uBAAuB,KAAI,MAAA,EAAE,CAAC,aAAa,0CAAE,MAAM,CAAA;gBACtE,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAgB,EAAE,EAAE,WAAC,OAAA,uBAAuB,CAAC,QAAQ,EAAE,MAAA,EAAE,CAAC,aAAa,mCAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA,EAAA;gBAC1H,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAgB,EAAE,EAAE,CAAC,uCAAuC,CAAC,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,CAAC;sBACzG,cAAc;2BACT,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACtF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;qBAC9D,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC;wBAChE,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;0BAC9E,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;6BACpE,6BAA6B,CAAC,mBAAmB,CAAC;oBAC3D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;0BACnI,CAAA;QACzB,CAAC;KAAA;IAED,SAAe,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YACvE,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;YAE5C,MAAA,EAAE,CAAC,UAAU,mCAAI,EAAE,CAAC,KAAK;uBACd,KAAK,CAAC,QAAQ;2BACV,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACtF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;sBAC7D,cAAc;aACvB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,QAAQ;eAC/I,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,SAAS;oBACrJ,EAAE,CAAC,YAAY;wBACX,CAAA;QACvB,CAAC;KAAA;IAED,SAAe,WAAW,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAS;;;YACtE,OAAO,IAAI,CAAA;YACD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;;uBAEjC,KAAK,CAAC,QAAQ;mBAClB,KAAK,CAAC,aAAa;YAC1B,MAAA,EAAE,CAAC,UAAU,mCAAI,EAAE,CAAC,KAAK;2BACV,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACtF,0BAA0B,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBAC/D,EAAE,CAAC,YAAY;gBACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,MAAA,EAAE,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;uBACtI,CAAA;QACtB,CAAC;KAAA;IAED,MAAM,yBAAyB,GAAG,UAAgB,EAA2B,EAAE,KAAa;;;YAC3F,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,OAAO,OAAO,CAAA;YACf,CAAC;YACD,MAAM,kBAAkB,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAA,EAAE,CAAC,kBAAkB,mCAAI,EAAE,CAAC;iBACxE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,cAAc,CAAC;iBACpD,MAAM,CAAC,CAAO,GAAG,EAAE,CAAC,EAAE,EAAE,wDAAC,OAAA,iCAAM,CAAC,MAAM,GAAG,CAAC,KAAE,CAAC,CAAC,CAAC,EAAE,CAAA,MAAA,EAAE,CAAC,kBAAkB,0CAAG,CAAC,CAAC,KAAI,CAAC,MAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,IAAG,CAAA,GAAA,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAEvK,CAAA;YACD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,OAAO,CAAA;YACf,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAA,MAAA,kBAAkB,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC,IAAI,mCAAI,CAAC,CAAW,CAAA;YACrE,MAAM,SAAS,GAAG,CAAC,MAAA,MAAA,kBAAkB,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAC,OAAO,mCAAI,CAAC,CAAW,CAAA;YAE9E,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,KAAI,MAAA,EAAE,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE,CAAC;gBAC/C,OAAO,MAAM,WAAW,CAAE,EAAY,CAAC,IAAI,mBAAM,kBAAkB,EAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YACvF,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC7E,OAAO,MAAM,aAAa,CAAE,EAAc,CAAC,IAAI,mBAAM,kBAAkB,EAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YAC3F,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,mBAAM,kBAAkB,EAAG,CAAA;gBAChD,OAAO,IAAI,CAAA,GAAG,EAAE,CAAC,IAAI,KAAK,YAAY;oBACrC,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;oBACjD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,eAAe;wBAC7B,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;wBACpD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa;4BAC3B,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;4BAClD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB;gCAChC,CAAC,CAAC,MAAM,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;gCACtD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc;oCAC5B,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;oCACnD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa;wCAC3B,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;wCAClD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa;4CAC3B,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;4CAClD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB;gDAChC,CAAC,CAAC,MAAM,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;gDACtD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,gBAAgB;oDAC9B,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;oDACrD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc;wDAC5B,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;wDACpD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU;4DACxB,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;4DAClD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO;gEACrB,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;gEAC7C,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ;oEACtB,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;oEAC9C,CAAC,CAAC,EAAE,EAAE,CAAA;YACR,CAAC;YACD,OAAO,IAAI,CAAA,EAAE,CAAA;QACd,CAAC;KAAA,CAAA;IAED,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,UAA+B,EAAE,EAAE;QACpG,IAAI,UAAU;YAAE,OAAO,UAAU,UAAU,IAAI,CAAA;QAC/C,OAAO,qBAAqB,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACtF,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAO,IAAU,EAAE,cAAgF,EAAE,EAAE;QACzH,OAAO,MAAM,OAAO,CAAC,GAAG,CACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAO,CAAC,EAAE,GAAG,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAqC,EAAE,EAAE,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACtI,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA,4BAA4B,OAAO,QAAQ,CAAC,CAAA;QAClF,CAAC,CAAA,CAAC,CACF,CAAA;IACF,CAAC,CAAA,CAAA;IAED,OAAO,IAAI,CAAA,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAA;AACxF,CAAC,CAAA,CAAA","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { Renderer, RendererProps } from '../index'\nimport { fieldValuesProvider, getValidationErrorProvider, handleMetadataChangedProvider, handleValueChangedProvider } from '../../../../utils/fields-values-provider'\nimport { FieldMetadata, FieldValue, Form, Field, Group, Subform, SortOptions } from '../../../model'\nimport { FormValuesContainer, Suggestion } from '../../../../generic'\n\nimport { defaultTranslationProvider } from '../../../../utils/languages'\nimport { getLabels } from '../../../common/utils'\nimport { filterAndSortOptionsFromFieldDefinition, sortSuggestions } from '../../../../utils/code-utils'\n\nimport './form-selection-button'\nimport { currentDate, currentDateTime, currentTime } from '../../../../utils/dates'\n\nexport const render: Renderer = async (\n\tform: Form,\n\tprops: RendererProps,\n\tformsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>,\n\ttranslationProvider?: (language: string, text: string) => string,\n\townersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => [],\n\toptionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>,\n\tactionListener: (event: string, payload: unknown) => void = () => undefined,\n\tlanguages?: { [iso: string]: string },\n\treadonly?: boolean,\n\tdisplayMetadata?: boolean,\n\tsectionWrapper?: (index: number, section: () => TemplateResult) => TemplateResult,\n) => {\n\tconst composedOptionsProvider =\n\t\toptionsProvider && form.codifications\n\t\t\t? async (language: string, codifications: string[], terms?: string[], sortOptions?: SortOptions): Promise<Suggestion[]> => {\n\t\t\t\t\tconst originalOptions = optionsProvider ? await optionsProvider(language, codifications, terms) : []\n\t\t\t\t\treturn sortSuggestions(\n\t\t\t\t\t\toriginalOptions.concat(\n\t\t\t\t\t\t\tform.codifications\n\t\t\t\t\t\t\t\t?.filter((c) => codifications.includes(c.type))\n\t\t\t\t\t\t\t\t?.flatMap((c) =>\n\t\t\t\t\t\t\t\t\tc.codes\n\t\t\t\t\t\t\t\t\t\t.filter((c) => (terms ?? []).map((st) => st.toLowerCase()).every((st) => c.label[language].toLowerCase().includes(st)))\n\t\t\t\t\t\t\t\t\t\t.map((c) => ({ id: c.id, label: c.label, text: c.label[language], terms: terms ?? [] })),\n\t\t\t\t\t\t\t\t) ?? [],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tsortOptions,\n\t\t\t\t\t)\n\t\t\t }\n\t\t\t: optionsProvider\n\t\t\t? (language: string, codifications: string[], terms?: string[], sortOptions?: SortOptions): Promise<Suggestion[]> => {\n\t\t\t\t\treturn optionsProvider?.(language, codifications, terms).then((codes) => sortSuggestions(codes, language, sortOptions)) ?? Promise.resolve([])\n\t\t\t }\n\t\t\t: undefined\n\n\tconst h = function (level: number, className = '', content: TemplateResult): TemplateResult {\n\t\treturn level === 1\n\t\t\t? html`<h1 class=\"${className}\">${content}</h1>`\n\t\t\t: level === 2\n\t\t\t? html`<h2 class=\"${className}\">${content}</h2>`\n\t\t\t: level === 3\n\t\t\t? html`<h3 class=\"${className}\">${content}</h3>`\n\t\t\t: level === 4\n\t\t\t? html`<h4 class=\"${className}\">${content}</h4>`\n\t\t\t: level === 5\n\t\t\t? html`<h5 class=\"${className}\">${content}</h5>`\n\t\t\t: html`<h6 class=\"${className}\">${content}</h6>`\n\t}\n\n\tasync function renderGroup(fg: Group, fgSpan: number, level: number) {\n\t\tconst subElements = (await Promise.all((fg.fields ?? []).map((fieldOrGroup: Field | Group) => renderFieldGroupOrSubform(fieldOrGroup, level + 1)))).filter((x) => !!x && x !== nothing)\n\t\treturn subElements.length\n\t\t\t? html`<div class=\"${['group', fg.borderless ? undefined : 'bordered'].filter((x) => !!x).join(' ')}\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t\t\t${fg.borderless ? nothing : html`<div>${h(level, '', html`${fg.group}`)}</div>`}\n\t\t\t\t\t<div class=\"icure-form\">${subElements}</div>\n\t\t\t </div>`\n\t\t\t: nothing\n\t}\n\n\tasync function renderSubform(fg: Subform, fgSpan: number, level: number) {\n\t\tconst children = (await formsValueContainer?.getChildren())?.filter((c) => c.getLabel() === fg.id)\n\t\tconst tp = translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))\n\t\treturn html`<div class=\"subform\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t<div class=\"subform__heading\">\n\t\t\t\t${h(level, 'subform__heading__title', html`${(props.language && fg.shortLabel ? tp?.(props.language, fg.shortLabel) : fg.shortLabel) ?? ''}`)}\n\t\t\t\t${readonly\n\t\t\t\t\t? nothing\n\t\t\t\t\t: html`<form-selection-button\n\t\t\t\t\t\t\t.label=\"${fg.labels.add ?? 'Add subform'}\"\n\t\t\t\t\t\t\t.forms=\"${Object.entries(fg.forms)}\"\n\t\t\t\t\t\t\t.formAdded=\"${(title: string, form: Form) => {\n\t\t\t\t\t\t\t\tform.id && formsValueContainer?.addChild(fg.id, form.id, fg.shortLabel ?? '')\n\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t.translationProvider=\"${tp}\"\n\t\t\t\t\t\t\t.language=\"${props.language}\"\n\t\t\t\t\t ></form-selection-button>`}\n\t\t\t</div>\n\t\t\t${await children?.reduce(async (templatesPromise, child) => {\n\t\t\t\tconst templates = await templatesPromise\n\n\t\t\t\tconst childForm = Object.values(fg.forms).find((f) => f.id === child.getFormId())\n\t\t\t\tconst title = childForm?.form ?? childForm?.description\n\t\t\t\tconst localisedTitle = (title && tp && props.language ? tp?.(props.language, title) : title) ?? ''\n\t\t\t\tconst localisedRemove = (fg.labels.remove && tp && props.language ? tp?.(props.language, fg.labels.remove) : fg.labels.remove) ?? 'Remove'\n\t\t\t\tif (childForm) {\n\t\t\t\t\ttemplates.push(html`\n\t\t\t\t\t\t<div class=\"subform__child\">\n\t\t\t\t\t\t\t<h3 class=\"subform__child__title\">${localisedTitle}</h3>\n\t\t\t\t\t\t\t${await render(childForm, props, child, translationProvider, ownersProvider, optionsProvider, actionListener, languages, readonly, displayMetadata)}\n\t\t\t\t\t\t\t${readonly ? nothing : html` <button class=\"subform__removeBtn\" @click=\"${() => formsValueContainer?.removeChild?.(child)}\">${localisedRemove}</button>`}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t\treturn templates\n\t\t\t}, Promise.resolve([] as TemplateResult[]))}\n\t\t</div>`\n\t}\n\n\tasync function renderTextField(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-text-field\n\t\t\tclass=\"icure-form-field\"\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan, fg.styleOptions?.width)}\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t.multiline=\"${fg.multiline || false}\"\n\t\t\t.lines=${fgRowSpan}\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.languages=\"${languages}\"\n\t\t\t.linksProvider=${fg.options?.linksProvider}\n\t\t\t.suggestionProvider=${fg.options?.suggestionProvider}\n\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.codeColorProvider=${fg.options?.codeColorProvider}\n\t\t\t.linkColorProvider=${fg.options?.linkColorProvider}\n\t\t\t.codeContentProvider=${fg.options?.codeContentProvider}\n\t\t\t.defaultValueProvider=${() => formsValueContainer?.getDefaultValue(fg.field)}\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-text-field>`\n\t}\n\n\tasync function renderTokenField(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-token-field\n\t\t\tclass=\"icure-form-field\"\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan, fg.styleOptions?.width)}\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t.multiline=\"${fg.multiline || false}\"\n\t\t\t.lines=${fgRowSpan}\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.suggestionProvider=${fg.options?.suggestionProvider}\n\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-token-field>`\n\t}\n\n\tasync function renderItemsListField(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-items-list-field\n\t\t\tclass=\"icure-form-field\"\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan, fg.styleOptions?.width)}\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t.multiline=\"${fg.multiline || false}\"\n\t\t\t.lines=${fgRowSpan}\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.suggestionProvider=${fg.options?.suggestionProvider}\n\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-items-list-field>`\n\t}\n\n\tasync function renderMeasureField(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-measure-field\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\tunit=\"${fg.unit}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-measure-field>`\n\t}\n\n\tasync function renderNumberField(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-number-field\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-number-field>`\n\t}\n\n\tasync function renderDatePicker(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-date-picker\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\tvalue=\"${fg.now ? currentDate() : fg.value}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-date-picker>`\n\t}\n\n\tasync function renderTimePicker(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-time-picker\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\tvalue=\"${fg.now ? currentTime() : fg.value}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-time-picker>`\n\t}\n\n\tasync function renderDateTimePicker(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-date-time-picker\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\tvalue=\"${fg.now ? currentDateTime() : fg.value}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-date-time-picker>`\n\t}\n\n\tasync function renderDropdownField(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-dropdown-field\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\t.label=${fg.field}\n\t\t\t.displayedLabels=${getLabels(fg)}\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translate=\"${fg.translate}\"\n\t\t\t.sortOptions=\"${fg.sortOptions}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\t.codifications=\"${fg.codifications}\"\n\t\t\t.optionsProvider=\"${composedOptionsProvider && fg.codifications?.length\n\t\t\t\t? (language: string, terms?: string[]) => composedOptionsProvider(language, fg.codifications ?? [], terms, fg.sortOptions)\n\t\t\t\t: (language: string, terms?: string[]) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}\"\n\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-dropdown-field>`\n\t}\n\n\tasync function renderRadioButtons(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-radio-button\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\t.label=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translate=\"${fg.translate}\"\n\t\t\t.sortOptions=\"${fg.sortOptions}\"\n\t\t\t.codifications=\"${fg.codifications}\"\n\t\t\t.optionsProvider=\"${composedOptionsProvider && fg.codifications?.length\n\t\t\t\t? (language: string, terms?: string[]) => composedOptionsProvider(language, fg.codifications ?? [], terms, fg.sortOptions)\n\t\t\t\t: (language: string, terms?: string[]) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}\"\n\t\t\t.ownersProvider=${ownersProvider}\n\t\t\t.translationProvider=${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-radio-button>`\n\t}\n\n\tasync function renderCheckboxes(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html` <icure-form-checkbox\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\t.label=\"${fg.field}\"\n\t\t\t.displayedLabels=\"${getLabels(fg)}\"\n\t\t\t.displayMetadata=\"${displayMetadata}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translate=\"${fg.translate}\"\n\t\t\t.sortOptions=\"${fg.sortOptions}\"\n\t\t\tvalue=\"${fg.value}\"\n\t\t\t.codifications=\"${fg.codifications}\"\n\t\t\t.optionsProvider=\"${composedOptionsProvider && fg.codifications?.length\n\t\t\t\t? (language: string, terms?: string[]) => composedOptionsProvider(language, fg.codifications ?? [], terms, fg.sortOptions)\n\t\t\t\t: (language: string, terms?: string[]) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}\"\n\t\t\t.ownersProvider=\"${ownersProvider}\"\n\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=\"${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\"\n\t\t\t.handleValueChanged=\"${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}\"\n\t\t\t.handleMetadataChanged=\"${handleMetadataChangedProvider(formsValueContainer)}\"\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-checkbox>`\n\t}\n\n\tasync function renderButton(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-button\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-button\"\n\t\t\tlabel=\"${fg.shortLabel ?? fg.field}\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.actionListener=\"${actionListener}\"\n\t\t\t.event=\"${fg.event !== undefined ? fg.event : fg.computedProperties?.event ? !(await formsValueContainer?.compute(fg.computedProperties?.event)) : 'submit'}\"\n\t\t\t.payload=\"${fg.payload !== undefined ? fg.payload : fg.computedProperties?.payload ? !(await formsValueContainer?.compute(fg.computedProperties?.payload)) : undefined}\"\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t></icure-form-button>`\n\t}\n\n\tasync function renderLabel(fgSpan: number, fgRowSpan: number, fg: Field) {\n\t\treturn html`<icure-form-label\n\t\t\tstyle=\"${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}\"\n\t\t\tclass=\"icure-form-field\"\n\t\t\t.defaultLanguage=\"${props.language}\"\n\t\t\tlabelPosition=${props.labelPosition}\n\t\t\tlabel=\"${fg.shortLabel ?? fg.field}\"\n\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t.validationErrorsProvider=\"${getValidationErrorProvider(formsValueContainer, fg)}\"\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !(await formsValueContainer?.compute(fg.computedProperties?.readonly)) : false)}\"\n\t\t></icure-form-label>`\n\t}\n\n\tconst renderFieldGroupOrSubform = async function (fg: Field | Group | Subform, level: number): Promise<TemplateResult | TemplateResult[] | typeof nothing> {\n\t\tif (!fg) {\n\t\t\treturn nothing\n\t\t}\n\t\tconst computedProperties = (await Object.keys(fg.computedProperties ?? {})\n\t\t\t.filter((k) => k !== 'value' && k !== 'defaultValue')\n\t\t\t.reduce(async (acc, k) => ({ ...(await acc), [k]: fg.computedProperties?.[k] && (await formsValueContainer?.compute(fg.computedProperties[k])) }), Promise.resolve({}))) as {\n\t\t\t[key: string]: string | number | boolean | undefined\n\t\t}\n\t\tif (computedProperties['hidden']) {\n\t\t\treturn nothing\n\t\t}\n\n\t\tconst fgSpan = (computedProperties['span'] ?? fg.span ?? 6) as number\n\t\tconst fgRowSpan = (computedProperties['rowSpan'] ?? fg.rowSpan ?? 1) as number\n\n\t\tif (fg.clazz === 'group' && fg.fields?.length) {\n\t\t\treturn await renderGroup((fg as Group).copy({ ...computedProperties }), fgSpan, level)\n\t\t} else if (fg.clazz === 'subform' && (fg.id || computedProperties['title'])) {\n\t\t\treturn await renderSubform((fg as Subform).copy({ ...computedProperties }), fgSpan, level)\n\t\t} else if (fg.clazz === 'field') {\n\t\t\tconst field = fg.copy({ ...computedProperties })\n\t\t\treturn html`${fg.type === 'text-field'\n\t\t\t\t? await renderTextField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'measure-field'\n\t\t\t\t? await renderMeasureField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'token-field'\n\t\t\t\t? await renderTokenField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'items-list-field'\n\t\t\t\t? await renderItemsListField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'number-field'\n\t\t\t\t? await renderNumberField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'date-picker'\n\t\t\t\t? await renderDatePicker(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'time-picker'\n\t\t\t\t? await renderTimePicker(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'date-time-picker'\n\t\t\t\t? await renderDateTimePicker(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'dropdown-field'\n\t\t\t\t? await renderDropdownField(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'radio-button'\n\t\t\t\t? await renderRadioButtons(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'checkbox'\n\t\t\t\t? await renderCheckboxes(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'label'\n\t\t\t\t? await renderLabel(fgSpan, fgRowSpan, field)\n\t\t\t\t: fg.type === 'action'\n\t\t\t\t? await renderButton(fgSpan, fgRowSpan, field)\n\t\t\t\t: ''}`\n\t\t}\n\t\treturn html``\n\t}\n\n\tconst calculateFieldOrGroupSize = (span: number, rowSpan: number, fixedWidth?: number | undefined) => {\n\t\tif (fixedWidth) return `width: ${fixedWidth}px`\n\t\treturn `grid-column: span ${span}; ${rowSpan > 1 ? `grid-row: span ${rowSpan}` : ''}`\n\t}\n\n\tconst renderForm = async (form: Form, sectionWrapper: (index: number, section: () => TemplateResult) => TemplateResult) => {\n\t\treturn await Promise.all(\n\t\t\tform.sections.map(async (s, idx) => {\n\t\t\t\tconst section = await Promise.all(s.fields.map((fieldOrGroup: Field | Group | Subform) => renderFieldGroupOrSubform(fieldOrGroup, 3)))\n\t\t\t\treturn sectionWrapper(idx, () => html` <div class=\"icure-form\">${section}</div>`)\n\t\t\t}),\n\t\t)\n\t}\n\n\treturn html`${await renderForm(form, sectionWrapper ?? ((idx, section) => section()))}`\n}\n"]}
|
|
@@ -8,4 +8,4 @@ export interface RendererProps {
|
|
|
8
8
|
}
|
|
9
9
|
export type Renderer = (form: Form, props: RendererProps, formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, translationProvider?: (language: string, text: string) => string, ownersProvider?: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]>, optionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>, actionListener?: (event: string, payload: unknown) => void, languages?: {
|
|
10
10
|
[iso: string]: string;
|
|
11
|
-
}, readonly?: boolean, displayMetadata?: boolean, sectionWrapper?: (index: number, section: () =>
|
|
11
|
+
}, readonly?: boolean, displayMetadata?: boolean, sectionWrapper?: (index: number, section: () => TemplateResult) => TemplateResult) => Promise<TemplateResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../tmp/components/icure-form/renderer/index.ts"],"names":[],"mappings":"","sourcesContent":["import { TemplateResult } from 'lit'\nimport { FormValuesContainer, Suggestion } from '../../../generic'\nimport { FieldMetadata, FieldValue, Form } from '../../model'\n\nexport interface RendererProps {\n\tlanguage?: string\n\tlabelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float'\n\tdefaultOwner?: string\n}\n\nexport type Renderer = (\n\tform: Form,\n\tprops: RendererProps,\n\tformsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>,\n\ttranslationProvider?: (language: string, text: string) => string,\n\townersProvider?: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]>,\n\toptionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>,\n\tactionListener?: (event: string, payload: unknown) => void,\n\tlanguages?: { [iso: string]: string },\n\treadonly?: boolean,\n\tdisplayMetadata?: boolean,\n\tsectionWrapper?: (index: number, section: () =>
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../tmp/components/icure-form/renderer/index.ts"],"names":[],"mappings":"","sourcesContent":["import { TemplateResult } from 'lit'\nimport { FormValuesContainer, Suggestion } from '../../../generic'\nimport { FieldMetadata, FieldValue, Form } from '../../model'\n\nexport interface RendererProps {\n\tlanguage?: string\n\tlabelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float'\n\tdefaultOwner?: string\n}\n\nexport type Renderer = (\n\tform: Form,\n\tprops: RendererProps,\n\tformsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>,\n\ttranslationProvider?: (language: string, text: string) => string,\n\townersProvider?: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]>,\n\toptionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>,\n\tactionListener?: (event: string, payload: unknown) => void,\n\tlanguages?: { [iso: string]: string },\n\treadonly?: boolean,\n\tdisplayMetadata?: boolean,\n\tsectionWrapper?: (index: number, section: () => TemplateResult) => TemplateResult,\n) => Promise<TemplateResult>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-label/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit'\nimport { generateLabel } from '../common/utils'\nimport { property } from 'lit/decorators.js'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n.tab-container .tab-bar li {\n display: inline-block;\n padding: 8px 16px;\n cursor: pointer;\n color: #000000;\n font-size: 14px;\n font-weight: 500;\n}\n.tab-container .tab-bar li.active {\n background-color: #656565;\n color: white;\n}\n.tab-container .tab-content .tab {\n display: none;\n}\n.tab-container .tab-content .tab.active {\n display: block;\n}\n\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: add-two(12px, 0, 1.2);\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: add-two(12px, 0, 1.1);\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: add-two(8px, 1px);\n color: #084B83;\n align-items: center;\n text-wrap: auto;\n min-height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field .icure-label.float, .icure-button-group .icure-label.float {\n display: flex;\n overflow: hidden;\n}\n\n.loading {\n position: relative;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input .reset-button,\n.icure-text-field .input-container .reset-button {\n position: absolute;\n right: 0;\n border: none;\n background: transparent;\n top: 0;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.icure-text-field .icure-input .reset-button svg,\n.icure-text-field .input-container .reset-button svg {\n width: 15px;\n height: 15px;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: add-three(1.4em, 1px, 0);\n left: add-two(8px, 1px);\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { icureFormLogging } from '../../index'\n\nexport class IcureLabel extends LitElement {\n\t@property() label?: string\n\t@property() labelPosition?: string\n\t@property() visible = true\n\t@property() translationProvider: (language: string, text: string) => string = (language, text) => text\n\t@property() defaultLanguage = 'en'\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tif (icureFormLogging) {\n\t\t\tconsole.log(`Rendering label ${this.label}`)\n\t\t}\n\n\t\treturn html`${generateLabel(this.label ? this.translationProvider?.(this.defaultLanguage, this.label) ?? this.label : '', this.labelPosition ?? 'float', 'en')}`\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-label/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgmCjB,CAAA;AACF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QAGa,YAAO,GAAG,IAAI,CAAA;QACd,wBAAmB,GAA+C,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;QAC1F,oBAAe,GAAG,IAAI,CAAA;IAgBnC,CAAC;IAdA,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,OAAO,CAAC,CAAA;IACjB,CAAC;IAED,MAAM;;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA,EAAE,CAAA;QACd,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,IAAI,CAAA,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,mBAAmB,qDAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,OAAO,EAAE,IAAI,CAAC,EAAE,CAAA;IACjK,CAAC;CACD;AApBY;IAAX,QAAQ,EAAE;;yCAAe;AACd;IAAX,QAAQ,EAAE;;iDAAuB;AACtB;IAAX,QAAQ,EAAE;;2CAAe;AACd;IAAX,QAAQ,EAAE;;uDAA2F;AAC1F;IAAX,QAAQ,EAAE;;mDAAuB","sourcesContent":["import { html, LitElement } from 'lit'\nimport { generateLabel } from '../common/utils'\nimport { property } from 'lit/decorators.js'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n.tab-container .tab-bar li {\n display: inline-block;\n padding: 8px 16px;\n cursor: pointer;\n color: #000000;\n font-size: 14px;\n font-weight: 500;\n}\n.tab-container .tab-bar li.active {\n background-color: #656565;\n color: white;\n}\n.tab-container .tab-content .tab {\n display: none;\n}\n.tab-container .tab-content .tab.active {\n display: block;\n}\n\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: add-two(12px, 0, 1.2);\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: add-two(12px, 0, 1.1);\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: add-two(8px, 1px);\n color: #084B83;\n align-items: center;\n text-wrap: auto;\n min-height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field .icure-label.float, .icure-button-group .icure-label.float {\n display: flex;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input .reset-button,\n.icure-text-field .input-container .reset-button {\n position: absolute;\n right: 0;\n border: none;\n background: transparent;\n top: 0;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.icure-text-field .icure-input .reset-button svg,\n.icure-text-field .input-container .reset-button svg {\n width: 15px;\n height: 15px;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: add-three(1.4em, 1px, 0);\n left: add-two(8px, 1px);\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { icureFormLogging } from '../../index'\n\nexport class IcureLabel extends LitElement {\n\t@property() label?: string\n\t@property() labelPosition?: string\n\t@property() visible = true\n\t@property() translationProvider: (language: string, text: string) => string = (language, text) => text\n\t@property() defaultLanguage = 'en'\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tif (icureFormLogging) {\n\t\t\tconsole.log(`Rendering label ${this.label}`)\n\t\t}\n\n\t\treturn html`${generateLabel(this.label ? this.translationProvider?.(this.defaultLanguage, this.label) ?? this.label : '', this.labelPosition ?? 'float', 'en')}`\n\t}\n}\n"]}
|
|
@@ -959,10 +959,6 @@ app-date-picker {
|
|
|
959
959
|
overflow: hidden;
|
|
960
960
|
}
|
|
961
961
|
|
|
962
|
-
.loading {
|
|
963
|
-
position: relative;
|
|
964
|
-
}
|
|
965
|
-
|
|
966
962
|
.icure-text-field {
|
|
967
963
|
position: relative;
|
|
968
964
|
width: 100%;
|
|
@@ -1376,15 +1372,20 @@ export class IcureTextField extends Field {
|
|
|
1376
1372
|
}
|
|
1377
1373
|
reset(renderHash) {
|
|
1378
1374
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1379
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
1375
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1380
1376
|
if (this.view) {
|
|
1381
1377
|
const defaultValue = yield ((_a = this.defaultValueProvider) === null || _a === void 0 ? void 0 : _a.call(this));
|
|
1382
1378
|
const contentForLanguage = (_e = (_c = (_b = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.content) === null || _b === void 0 ? void 0 : _b[this.language()]) !== null && _c !== void 0 ? _c : (_d = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.content) === null || _d === void 0 ? void 0 : _d[this.defaultLanguage]) !== null && _e !== void 0 ? _e : (_f = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.content) === null || _f === void 0 ? void 0 : _f['*'];
|
|
1383
|
-
const
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1379
|
+
const newState = EditorState.create({
|
|
1380
|
+
schema: this.view.state.schema,
|
|
1381
|
+
doc: (_h = (_g = this.parser) === null || _g === void 0 ? void 0 : _g.parse(contentForLanguage !== null && contentForLanguage !== void 0 ? contentForLanguage : {
|
|
1382
|
+
type: 'string',
|
|
1383
|
+
value: '',
|
|
1384
|
+
}, undefined, renderHash)) !== null && _h !== void 0 ? _h : undefined,
|
|
1385
|
+
plugins: this.view.state.plugins,
|
|
1386
|
+
selection: undefined,
|
|
1387
|
+
});
|
|
1388
|
+
this.view.updateState(newState);
|
|
1388
1389
|
}
|
|
1389
1390
|
});
|
|
1390
1391
|
}
|