@icure/form 1.1.16 → 1.1.17
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/install-state.gz +0 -0
- package/components/icure-dropdown-field/index.d.ts +1 -0
- package/components/icure-dropdown-field/index.js +15 -10
- package/components/icure-dropdown-field/index.js.map +1 -1
- package/components/icure-form/renderer/form/form.js +22 -22
- package/components/icure-form/renderer/form/form.js.map +1 -1
- package/package.json +1 -1
- package/utils/fields-values-provider.d.ts +5 -2
- package/utils/fields-values-provider.js +15 -9
- package/utils/fields-values-provider.js.map +1 -1
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
|
@@ -11,6 +11,7 @@ export declare class IcureDropdownField extends IcureDropdownField_base {
|
|
|
11
11
|
connectedCallback(): void;
|
|
12
12
|
disconnectedCallback(): void;
|
|
13
13
|
textInputChanged(): (e: Event) => void;
|
|
14
|
+
private triggerSearch;
|
|
14
15
|
handleOptionButtonClicked(id: string | undefined): (e: Event) => boolean;
|
|
15
16
|
getValueFromProvider(): [string, string] | [undefined, undefined];
|
|
16
17
|
render(): TemplateResult;
|
|
@@ -1063,6 +1063,7 @@ class IcureDropdownField extends (0, field_with_options_1.FieldWithOptionsMixin)
|
|
|
1063
1063
|
if (this.readonly)
|
|
1064
1064
|
return;
|
|
1065
1065
|
this.displayMenu = force || !this.displayMenu;
|
|
1066
|
+
console.log('togglePopup', this.textInputValue);
|
|
1066
1067
|
event.stopPropagation();
|
|
1067
1068
|
}
|
|
1068
1069
|
_handleClickOutside(event) {
|
|
@@ -1087,18 +1088,21 @@ class IcureDropdownField extends (0, field_with_options_1.FieldWithOptionsMixin)
|
|
|
1087
1088
|
const target = e.target;
|
|
1088
1089
|
const textInputValue = target.value;
|
|
1089
1090
|
this.textInputValue = textInputValue;
|
|
1090
|
-
|
|
1091
|
-
var _a;
|
|
1092
|
-
if (textInputValue === this.textInputValue) {
|
|
1093
|
-
(_a = this.optionsProvider) === null || _a === void 0 ? void 0 : _a.call(this, this.language(), textInputValue ? [textInputValue] : []).then((options) => {
|
|
1094
|
-
if (textInputValue === this.textInputValue) {
|
|
1095
|
-
this.displayedOptions = options;
|
|
1096
|
-
}
|
|
1097
|
-
});
|
|
1098
|
-
}
|
|
1099
|
-
}, 500);
|
|
1091
|
+
this.triggerSearch(textInputValue);
|
|
1100
1092
|
};
|
|
1101
1093
|
}
|
|
1094
|
+
triggerSearch(textInputValue, cooldown = 500) {
|
|
1095
|
+
setTimeout(() => {
|
|
1096
|
+
var _a;
|
|
1097
|
+
if (textInputValue === this.textInputValue) {
|
|
1098
|
+
(_a = this.optionsProvider) === null || _a === void 0 ? void 0 : _a.call(this, this.language(), textInputValue ? [textInputValue] : []).then((options) => {
|
|
1099
|
+
if (textInputValue === this.textInputValue) {
|
|
1100
|
+
this.displayedOptions = options;
|
|
1101
|
+
}
|
|
1102
|
+
});
|
|
1103
|
+
}
|
|
1104
|
+
}, cooldown);
|
|
1105
|
+
}
|
|
1102
1106
|
handleOptionButtonClicked(id) {
|
|
1103
1107
|
return (e) => {
|
|
1104
1108
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
@@ -1114,6 +1118,7 @@ class IcureDropdownField extends (0, field_with_options_1.FieldWithOptionsMixin)
|
|
|
1114
1118
|
content: { [this.language()]: { type: 'string', value: inputValue } },
|
|
1115
1119
|
codes: code ? [code] : [],
|
|
1116
1120
|
}, valueId);
|
|
1121
|
+
this.triggerSearch(undefined, 0);
|
|
1117
1122
|
return true;
|
|
1118
1123
|
}
|
|
1119
1124
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-dropdown-field/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { dropdownPicto } from '../common/styles/paths'\nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\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}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: 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}\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\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\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 ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\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-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\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\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\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.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\n.ProseMirror {\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\n.ProseMirror p {\n margin-bottom: 1em;\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: inline-block;\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}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\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.extra {\n flex-shrink: 0;\n height: 28px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation-delay: 0.24s;\n}\n\n.extra:hover .buttons-container .menu-container:hover .btn {\n animation-delay: 0.04s;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n}\n\n.extra.forced .info {\n opacity: 0 !important;\n}\n\n.extra:hover .info {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\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\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\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\n@keyframes slideIn {\n 0% {\n top: 12px;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n position: relative;\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\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\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\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\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\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\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: block;\n}\n\n.menu-container .item {\n height: 22px;\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\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\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}\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\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\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\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 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.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.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\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\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: 30px;\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 max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 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 left: 0px;\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}\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.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\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: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\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.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\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: 9px;\n color: #084B83;\n align-items: center;\n 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: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\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 border-radius: 2px;\n padding: 4px 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\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 border-color: red;\n color: #000000;\n box-sizing: border-box;\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 .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .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-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: calc(1.4em + 5px);\n left: 9px;\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}` \n\nexport class IcureDropdownField extends FieldWithOptionsMixin(Field) {\n\t@property() placeholder = ''\n\n\t@state() protected displayMenu = false\n\t@state() protected textInputValue?: string = undefined\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\ttogglePopup(event: MouseEvent, force = false): void {\n\t\tif (this.readonly) return\n\t\tthis.displayMenu = force || !this.displayMenu\n\t\tevent.stopPropagation()\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tif (this.displayMenu) {\n\t\t\t\tconsole.log(this.label)\n\t\t\t\tthis.displayMenu = false\n\t\t\t}\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\ttextInputChanged(): (e: Event) => void {\n\t\treturn (e: Event) => {\n\t\t\tconst target = e.target as HTMLInputElement\n\t\t\tconst textInputValue = target.value\n\t\t\tthis.textInputValue = textInputValue\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\t\tthis.optionsProvider?.(this.language(), textInputValue ? [textInputValue] : []).then((options) => {\n\t\t\t\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\t\t\t\tthis.displayedOptions = options\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}, 500)\n\t\t}\n\t}\n\n\thandleOptionButtonClicked(id: string | undefined): (e: Event) => boolean {\n\t\treturn (e: Event) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tif (id) {\n\t\t\t\tconst code = this.displayedOptions?.find((option) => option.id === id)\n\t\t\t\tconst inputValue = this.displayedOptions?.find((option) => option.id === id)?.['label']?.[this.language()] ?? ''\n\t\t\t\tthis.displayMenu = false\n\t\t\t\tthis.textInputValue = undefined\n\t\t\t\tthis.handleValueChanged?.(\n\t\t\t\t\tthis.label,\n\t\t\t\t\tthis.language(),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: { [this.language()]: { type: 'string', value: inputValue } },\n\t\t\t\t\t\tcodes: code ? [code] : [],\n\t\t\t\t\t},\n\t\t\t\t\tvalueId,\n\t\t\t\t)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\tgetValueFromProvider(): [string, string] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && valueForLanguage.type === 'string' && valueForLanguage.value) {\n\t\t\t\treturn [id, valueForLanguage.value]\n\t\t\t} else if (value?.codes?.length) {\n\t\t\t\treturn [id, value?.codes?.[0]?.label?.[this.language()] ?? '']\n\t\t\t}\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst [, inputValue] = this.getValueFromProvider() ?? ''\n\n\t\treturn html`\n\t\t\t<div id=\"root\" class=\"icure-text-field ${inputValue != '' ? 'has-content' : ''}\" data-placeholder=${this.placeholder}>\n\t\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t\t<div class=\"icure-input\" id=\"test\" @click=\"${(event: MouseEvent) => this.togglePopup(event, true)}\">\n\t\t\t\t\t<input type=\"text\" id=\"editor\" style=\"outline: none\" .value=${this.textInputValue ?? inputValue ?? ''} @input=\"${this.textInputChanged()}\" />\n\t\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t\t<button class=\"btn select-arrow\" @click=\"${this.togglePopup}\">${dropdownPicto}</button>\n\t\t\t\t\t\t${this.displayMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"options\">\n\t\t\t\t\t\t\t\t\t\t${this.displayedOptions?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${this.handleOptionButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"option ${x?.['label']?.[this.language()] === inputValue ? 'selected' : ''}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x?.['label']?.[this.language()] || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-dropdown-field/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { dropdownPicto } from '../common/styles/paths'\nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\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}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: 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}\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\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\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 ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\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-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\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\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\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.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\n.ProseMirror {\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\n.ProseMirror p {\n margin-bottom: 1em;\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: inline-block;\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}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\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.extra {\n flex-shrink: 0;\n height: 28px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation-delay: 0.24s;\n}\n\n.extra:hover .buttons-container .menu-container:hover .btn {\n animation-delay: 0.04s;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n}\n\n.extra.forced .info {\n opacity: 0 !important;\n}\n\n.extra:hover .info {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\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\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\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\n@keyframes slideIn {\n 0% {\n top: 12px;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n position: relative;\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\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\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\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\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\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\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: block;\n}\n\n.menu-container .item {\n height: 22px;\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\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\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}\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\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\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\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 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.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.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\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\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: 30px;\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 max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 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 left: 0px;\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}\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.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\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: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\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.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\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: 9px;\n color: #084B83;\n align-items: center;\n 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: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\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 border-radius: 2px;\n padding: 4px 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\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 border-color: red;\n color: #000000;\n box-sizing: border-box;\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 .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .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-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: calc(1.4em + 5px);\n left: 9px;\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}` \n\nexport class IcureDropdownField extends FieldWithOptionsMixin(Field) {\n\t@property() placeholder = ''\n\n\t@state() protected displayMenu = false\n\t@state() protected textInputValue?: string = undefined\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\ttogglePopup(event: MouseEvent, force = false): void {\n\t\tif (this.readonly) return\n\t\tthis.displayMenu = force || !this.displayMenu\n\t\tconsole.log('togglePopup', this.textInputValue)\n\t\tevent.stopPropagation()\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tif (this.displayMenu) {\n\t\t\t\tconsole.log(this.label)\n\t\t\t\tthis.displayMenu = false\n\t\t\t}\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\ttextInputChanged(): (e: Event) => void {\n\t\treturn (e: Event) => {\n\t\t\tconst target = e.target as HTMLInputElement\n\t\t\tconst textInputValue = target.value\n\t\t\tthis.textInputValue = textInputValue\n\t\t\tthis.triggerSearch(textInputValue)\n\t\t}\n\t}\n\n\tprivate triggerSearch(textInputValue: string | undefined, cooldown = 500) {\n\t\tsetTimeout(() => {\n\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\tthis.optionsProvider?.(this.language(), textInputValue ? [textInputValue] : []).then((options) => {\n\t\t\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\t\t\tthis.displayedOptions = options\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}, cooldown)\n\t}\n\n\thandleOptionButtonClicked(id: string | undefined): (e: Event) => boolean {\n\t\treturn (e: Event) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tif (id) {\n\t\t\t\tconst code = this.displayedOptions?.find((option) => option.id === id)\n\t\t\t\tconst inputValue = this.displayedOptions?.find((option) => option.id === id)?.['label']?.[this.language()] ?? ''\n\t\t\t\tthis.displayMenu = false\n\t\t\t\tthis.textInputValue = undefined\n\t\t\t\tthis.handleValueChanged?.(\n\t\t\t\t\tthis.label,\n\t\t\t\t\tthis.language(),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: { [this.language()]: { type: 'string', value: inputValue } },\n\t\t\t\t\t\tcodes: code ? [code] : [],\n\t\t\t\t\t},\n\t\t\t\t\tvalueId,\n\t\t\t\t)\n\t\t\t\tthis.triggerSearch(undefined, 0)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\tgetValueFromProvider(): [string, string] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && valueForLanguage.type === 'string' && valueForLanguage.value) {\n\t\t\t\treturn [id, valueForLanguage.value]\n\t\t\t} else if (value?.codes?.length) {\n\t\t\t\treturn [id, value?.codes?.[0]?.label?.[this.language()] ?? '']\n\t\t\t}\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst [, inputValue] = this.getValueFromProvider() ?? ''\n\n\t\treturn html`\n\t\t\t<div id=\"root\" class=\"icure-text-field ${inputValue != '' ? 'has-content' : ''}\" data-placeholder=${this.placeholder}>\n\t\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t\t<div class=\"icure-input\" id=\"test\" @click=\"${(event: MouseEvent) => this.togglePopup(event, true)}\">\n\t\t\t\t\t<input type=\"text\" id=\"editor\" style=\"outline: none\" .value=${this.textInputValue ?? inputValue ?? ''} @input=\"${this.textInputChanged()}\" />\n\t\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t\t<button class=\"btn select-arrow\" @click=\"${this.togglePopup}\">${dropdownPicto}</button>\n\t\t\t\t\t\t${this.displayMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"options\">\n\t\t\t\t\t\t\t\t\t\t${this.displayedOptions?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${this.handleOptionButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"option ${x?.['label']?.[this.language()] === inputValue ? 'selected' : ''}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x?.['label']?.[this.language()] || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"]}
|
|
@@ -100,8 +100,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
100
100
|
.codeContentProvider=${(_f = fg.options) === null || _f === void 0 ? void 0 : _f.codeContentProvider}
|
|
101
101
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
102
102
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
103
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
104
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
103
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
104
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
105
105
|
.styleOptions="${fg.styleOptions}"
|
|
106
106
|
.readonly="${readonly || fg.readonly || (((_g = fg.computedProperties) === null || _g === void 0 ? void 0 : _g.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_h = fg.computedProperties) === null || _h === void 0 ? void 0 : _h.readonly)) : false)}"
|
|
107
107
|
></icure-form-text-field>`;
|
|
@@ -124,8 +124,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
124
124
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
125
125
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
126
126
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
127
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
128
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
127
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
128
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
129
129
|
.styleOptions="${fg.styleOptions}"
|
|
130
130
|
.readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly)) : false)}"
|
|
131
131
|
></icure-form-token-field>`;
|
|
@@ -148,8 +148,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
148
148
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
149
149
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
150
150
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
151
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
152
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
151
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
152
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
153
153
|
.styleOptions="${fg.styleOptions}"
|
|
154
154
|
.readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly)) : false)}"
|
|
155
155
|
></icure-form-items-list-field>`;
|
|
@@ -169,8 +169,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
169
169
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
170
170
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
171
171
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
172
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
173
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
172
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
173
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
174
174
|
.styleOptions="${fg.styleOptions}"
|
|
175
175
|
.readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
|
|
176
176
|
></icure-form-measure-field>`;
|
|
@@ -189,8 +189,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
189
189
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
190
190
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
191
191
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
192
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
193
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
192
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
193
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
194
194
|
.styleOptions="${fg.styleOptions}"
|
|
195
195
|
.readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
|
|
196
196
|
></icure-form-number-field>`;
|
|
@@ -209,8 +209,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
209
209
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
210
210
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
211
211
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
212
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
213
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
212
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
213
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
214
214
|
.styleOptions="${fg.styleOptions}"
|
|
215
215
|
.readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
|
|
216
216
|
></icure-form-date-picker>`;
|
|
@@ -229,8 +229,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
229
229
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
230
230
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
231
231
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
232
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
233
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
232
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
233
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
234
234
|
.styleOptions="${fg.styleOptions}"
|
|
235
235
|
.readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
|
|
236
236
|
></icure-form-time-picker>`;
|
|
@@ -249,8 +249,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
249
249
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
250
250
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
251
251
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
252
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
253
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
252
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
253
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
254
254
|
.styleOptions="${fg.styleOptions}"
|
|
255
255
|
.readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
|
|
256
256
|
></icure-form-date-time-picker>`;
|
|
@@ -275,8 +275,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
275
275
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
276
276
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
277
277
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
278
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
279
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
278
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
279
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
280
280
|
.styleOptions="${fg.styleOptions}"
|
|
281
281
|
.readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
|
|
282
282
|
></icure-form-dropdown-field>`;
|
|
@@ -301,8 +301,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
301
301
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
302
302
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
303
303
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
304
|
-
.handleValueChanged=${(0, fields_values_provider_1.
|
|
305
|
-
.handleMetadataChanged=${(0, fields_values_provider_1.
|
|
304
|
+
.handleValueChanged=${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}
|
|
305
|
+
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}
|
|
306
306
|
.styleOptions="${fg.styleOptions}"
|
|
307
307
|
.readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
|
|
308
308
|
></icure-form-radio-button>`;
|
|
@@ -328,8 +328,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
328
328
|
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
329
329
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
330
330
|
.metadataProvider="${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}"
|
|
331
|
-
.handleValueChanged="${(0, fields_values_provider_1.
|
|
332
|
-
.handleMetadataChanged="${(0, fields_values_provider_1.
|
|
331
|
+
.handleValueChanged="${(0, fields_values_provider_1.handleValueChangedProvider)(formsValueContainer, fg, props.defaultOwner)}"
|
|
332
|
+
.handleMetadataChanged="${(0, fields_values_provider_1.handleMetadataChangedProvider)(formsValueContainer)}"
|
|
333
333
|
.styleOptions="${fg.styleOptions}"
|
|
334
334
|
.readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
|
|
335
335
|
></icure-form-checkbox>`;
|
|
@@ -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 { Renderer, RendererProps } from '../index'\nimport { fieldValuesProvider, getValidationError, handleMetadataChanged, handleValueChanged } from '../../../../utils/fields-values-provider'\nimport { Code, 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, sortCodes } from '../../../../utils/code-utils'\n\nimport './form-selection-button'\nimport { currentDate, currentDateTime, currentTime } from '../../../../utils/dates'\n\nexport const render: 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[]> = async () => [],\n\tcodesProvider: (codifications: string[], terms: string[]) => Promise<Suggestion[]> = async () => [],\n\toptionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>,\n\treadonly?: boolean,\n\tdisplayMetadata?: boolean,\n) => {\n\tconst composedOptionsProvider =\n\t\toptionsProvider && form.codifications\n\t\t\t? async (language: string, codifications: string[], terms?: string[]): Promise<Suggestion[]> => {\n\t\t\t\t\tconst originalOptions = optionsProvider ? await optionsProvider(language, codifications, terms) : []\n\t\t\t\t\treturn originalOptions.concat(\n\t\t\t\t\t\tform.codifications\n\t\t\t\t\t\t\t?.filter((c) => codifications.includes(c.type))\n\t\t\t\t\t\t\t?.flatMap((c) =>\n\t\t\t\t\t\t\t\tc.codes\n\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.map((c) => ({ id: c.id, label: c.label, text: c.label[language], terms: terms ?? [] })),\n\t\t\t\t\t\t\t) ?? [],\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<Code[]> => {\n\t\t\t\t\treturn optionsProvider?.(language, codifications, terms).then((codes) => sortCodes(codes, language, sortOptions)) ?? Promise.resolve([])\n\t\t\t }\n\t\t\t: undefined\n\n\tconst h = function (level: number, content: TemplateResult): TemplateResult {\n\t\treturn level === 1\n\t\t\t? html`<h1>${content}</h1>`\n\t\t\t: level === 2\n\t\t\t? html`<h2>${content}</h2>`\n\t\t\t: level === 3\n\t\t\t? html`<h3>${content}</h3>`\n\t\t\t: level === 4\n\t\t\t? html`<h4>${content}</h4>`\n\t\t\t: level === 5\n\t\t\t? html`<h5>${content}</h5>`\n\t\t\t: html`<h6>${content}</h6>`\n\t}\n\n\tfunction renderGroup(fg: Group, fgSpan: number, level: number) {\n\t\treturn html`<div class=\"${['group', fg.borderless ? undefined : 'bordered'].filter((x) => !!x).join(' ')}\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t${fg.borderless ? nothing : html`<div>${h(level, html`${fg.group}`)}</div>`}\n\t\t\t<div class=\"icure-form\">${(fg.fields ?? []).map((fieldOrGroup: Field | Group) => renderFieldGroupOrSubform(fieldOrGroup, level + 1))}</div>\n\t\t</div>`\n\t}\n\n\tfunction renderSubform(fg: Subform, fgSpan: number, level: number) {\n\t\tconst children = formsValueContainer?.getChildren()?.filter((c) => c.getLabel() === fg.id)\n\t\treturn html`<div class=\"subform\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t<div>${h(level, html`${fg.shortLabel}`)}</div>\n\t\t\t<form-selection-button\n\t\t\t\tclass=\"float-right-btn top\"\n\t\t\t\t.forms=\"${Object.entries(fg.forms)}\"\n\t\t\t\t.formAdded=\"${(title: string, form: Form) => {\n\t\t\t\t\tform.id && formsValueContainer?.addChild(fg.id, form.id, fg.shortLabel ?? '')\n\t\t\t\t}}\"\n\t\t\t></form-selection-button>\n\t\t\t${children\n\t\t\t\t?.map((child) => {\n\t\t\t\t\tconst childForm = Object.values(fg.forms).find((f) => f.id === child.getFormId())\n\t\t\t\t\treturn (\n\t\t\t\t\t\tchildForm &&\n\t\t\t\t\t\thtml`\n\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t${render(childForm, props, child, translationProvider, ownersProvider, codesProvider, optionsProvider, readonly, displayMetadata)}\n\t\t\t\t\t\t\t\t<button @click=\"${() => formsValueContainer?.removeChild?.(child)}\" class=\"float-right-btn bottom\">-</button>\n\t\t\t\t\t\t\t\t<hr />\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\t.filter((x) => !!x)}\n\t\t</div>`\n\t}\n\n\tfunction 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.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=\"${getValidationError(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.valueProvider=\"${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}\"\n\t\t\t.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}\n\t\t\t.handleValueChanged=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-text-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-token-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-items-list-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-measure-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-number-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-date-picker>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-time-picker>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-date-time-picker>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-dropdown-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\n\t\t\t.handleMetadataChanged=${handleMetadataChanged(formsValueContainer)}\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-radio-button>`\n\t}\n\n\tfunction 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=\"${getValidationError(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=\"${handleValueChanged(formsValueContainer, fg, props.defaultOwner)}\"\n\t\t\t.handleMetadataChanged=\"${handleMetadataChanged(formsValueContainer)}\"\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-checkbox>`\n\t}\n\n\tfunction 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\tlabelPosition=${props.labelPosition}\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t.validationErrorsProvider=\"${getValidationError(formsValueContainer, fg)}\"\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-label>`\n\t}\n\n\tconst renderFieldGroupOrSubform = function (fg: Field | Group | Subform, level: number): TemplateResult | TemplateResult[] | typeof nothing {\n\t\tif (!fg) {\n\t\t\treturn nothing\n\t\t}\n\t\tconst computedProperties = Object.keys(fg.computedProperties ?? {}).reduce(\n\t\t\t(acc, k) => ({ ...acc, [k]: fg.computedProperties?.[k] && formsValueContainer?.compute(fg.computedProperties[k]) }),\n\t\t\t{},\n\t\t) as { [key: string]: string | number | boolean | undefined }\n\t\tif (computedProperties['hidden']) {\n\t\t\treturn html``\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 renderGroup((fg as Group).copy({ ...computedProperties }), fgSpan, level)\n\t\t} else if (fg.clazz === 'subform' && (fg.id || computedProperties['title'])) {\n\t\t\treturn 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? 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: ''}`\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 = (form: Form) => {\n\t\treturn form.sections.map((s) => html`<div class=\"icure-form\">${s.fields.map((fieldOrGroup: Field | Group) => renderFieldGroupOrSubform(fieldOrGroup, 3))}</div>`)\n\t}\n\n\treturn html` ${renderForm(form)} `\n}\n"]}
|
|
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 { Renderer, RendererProps } from '../index'\nimport { fieldValuesProvider, getValidationError, handleMetadataChangedProvider, handleValueChangedProvider } from '../../../../utils/fields-values-provider'\nimport { Code, 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, sortCodes } from '../../../../utils/code-utils'\n\nimport './form-selection-button'\nimport { currentDate, currentDateTime, currentTime } from '../../../../utils/dates'\n\nexport const render: 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[]> = async () => [],\n\tcodesProvider: (codifications: string[], terms: string[]) => Promise<Suggestion[]> = async () => [],\n\toptionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>,\n\treadonly?: boolean,\n\tdisplayMetadata?: boolean,\n) => {\n\tconst composedOptionsProvider =\n\t\toptionsProvider && form.codifications\n\t\t\t? async (language: string, codifications: string[], terms?: string[]): Promise<Suggestion[]> => {\n\t\t\t\t\tconst originalOptions = optionsProvider ? await optionsProvider(language, codifications, terms) : []\n\t\t\t\t\treturn originalOptions.concat(\n\t\t\t\t\t\tform.codifications\n\t\t\t\t\t\t\t?.filter((c) => codifications.includes(c.type))\n\t\t\t\t\t\t\t?.flatMap((c) =>\n\t\t\t\t\t\t\t\tc.codes\n\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.map((c) => ({ id: c.id, label: c.label, text: c.label[language], terms: terms ?? [] })),\n\t\t\t\t\t\t\t) ?? [],\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<Code[]> => {\n\t\t\t\t\treturn optionsProvider?.(language, codifications, terms).then((codes) => sortCodes(codes, language, sortOptions)) ?? Promise.resolve([])\n\t\t\t }\n\t\t\t: undefined\n\n\tconst h = function (level: number, content: TemplateResult): TemplateResult {\n\t\treturn level === 1\n\t\t\t? html`<h1>${content}</h1>`\n\t\t\t: level === 2\n\t\t\t? html`<h2>${content}</h2>`\n\t\t\t: level === 3\n\t\t\t? html`<h3>${content}</h3>`\n\t\t\t: level === 4\n\t\t\t? html`<h4>${content}</h4>`\n\t\t\t: level === 5\n\t\t\t? html`<h5>${content}</h5>`\n\t\t\t: html`<h6>${content}</h6>`\n\t}\n\n\tfunction renderGroup(fg: Group, fgSpan: number, level: number) {\n\t\treturn html`<div class=\"${['group', fg.borderless ? undefined : 'bordered'].filter((x) => !!x).join(' ')}\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t${fg.borderless ? nothing : html`<div>${h(level, html`${fg.group}`)}</div>`}\n\t\t\t<div class=\"icure-form\">${(fg.fields ?? []).map((fieldOrGroup: Field | Group) => renderFieldGroupOrSubform(fieldOrGroup, level + 1))}</div>\n\t\t</div>`\n\t}\n\n\tfunction renderSubform(fg: Subform, fgSpan: number, level: number) {\n\t\tconst children = formsValueContainer?.getChildren()?.filter((c) => c.getLabel() === fg.id)\n\t\treturn html`<div class=\"subform\" style=\"${calculateFieldOrGroupSize(fgSpan, 1)}\">\n\t\t\t<div>${h(level, html`${fg.shortLabel}`)}</div>\n\t\t\t<form-selection-button\n\t\t\t\tclass=\"float-right-btn top\"\n\t\t\t\t.forms=\"${Object.entries(fg.forms)}\"\n\t\t\t\t.formAdded=\"${(title: string, form: Form) => {\n\t\t\t\t\tform.id && formsValueContainer?.addChild(fg.id, form.id, fg.shortLabel ?? '')\n\t\t\t\t}}\"\n\t\t\t></form-selection-button>\n\t\t\t${children\n\t\t\t\t?.map((child) => {\n\t\t\t\t\tconst childForm = Object.values(fg.forms).find((f) => f.id === child.getFormId())\n\t\t\t\t\treturn (\n\t\t\t\t\t\tchildForm &&\n\t\t\t\t\t\thtml`\n\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t${render(childForm, props, child, translationProvider, ownersProvider, codesProvider, optionsProvider, readonly, displayMetadata)}\n\t\t\t\t\t\t\t\t<button @click=\"${() => formsValueContainer?.removeChild?.(child)}\" class=\"float-right-btn bottom\">-</button>\n\t\t\t\t\t\t\t\t<hr />\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\t.filter((x) => !!x)}\n\t\t</div>`\n\t}\n\n\tfunction 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.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=\"${getValidationError(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.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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-text-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-token-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-items-list-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-measure-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-number-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-date-picker>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-time-picker>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-date-time-picker>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-dropdown-field>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-radio-button>`\n\t}\n\n\tfunction 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=\"${getValidationError(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 ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-checkbox>`\n\t}\n\n\tfunction 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\tlabelPosition=${props.labelPosition}\n\t\t\tlabel=\"${fg.field}\"\n\t\t\t.translationProvider=\"${translationProvider ?? (form.translations && defaultTranslationProvider(form.translations))}\"\n\t\t\t.validationErrorsProvider=\"${getValidationError(formsValueContainer, fg)}\"\n\t\t\t.styleOptions=\"${fg.styleOptions}\"\n\t\t\t.readonly=\"${readonly || fg.readonly || (fg.computedProperties?.readonly ? !formsValueContainer?.compute(fg.computedProperties?.readonly) : false)}\"\n\t\t></icure-form-label>`\n\t}\n\n\tconst renderFieldGroupOrSubform = function (fg: Field | Group | Subform, level: number): TemplateResult | TemplateResult[] | typeof nothing {\n\t\tif (!fg) {\n\t\t\treturn nothing\n\t\t}\n\t\tconst computedProperties = Object.keys(fg.computedProperties ?? {}).reduce(\n\t\t\t(acc, k) => ({ ...acc, [k]: fg.computedProperties?.[k] && formsValueContainer?.compute(fg.computedProperties[k]) }),\n\t\t\t{},\n\t\t) as { [key: string]: string | number | boolean | undefined }\n\t\tif (computedProperties['hidden']) {\n\t\t\treturn html``\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 renderGroup((fg as Group).copy({ ...computedProperties }), fgSpan, level)\n\t\t} else if (fg.clazz === 'subform' && (fg.id || computedProperties['title'])) {\n\t\t\treturn 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? 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: ''}`\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 = (form: Form) => {\n\t\treturn form.sections.map((s) => html`<div class=\"icure-form\">${s.fields.map((fieldOrGroup: Field | Group) => renderFieldGroupOrSubform(fieldOrGroup, 3))}</div>`)\n\t}\n\n\treturn html` ${renderForm(form)} `\n}\n"]}
|
package/package.json
CHANGED
|
@@ -12,8 +12,11 @@ export declare function makeMetadata(field: Field, owner?: string, index?: numbe
|
|
|
12
12
|
}[] | undefined;
|
|
13
13
|
};
|
|
14
14
|
export declare const getValidationError: (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field) => (() => [FieldMetadata, string][]);
|
|
15
|
-
export declare const
|
|
15
|
+
export declare const handleValueChangedProvider: (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field, owner?: string) => (label: string, language: string, value?: FieldValue, id?: string) => {
|
|
16
|
+
result: string;
|
|
17
|
+
formValuesContainer: FormValuesContainer<FieldValue, FieldMetadata>;
|
|
18
|
+
} | undefined;
|
|
19
|
+
export declare const handleMetadataChangedProvider: (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>) => (label: string, metadata: FieldMetadata, id?: string) => {
|
|
16
20
|
result: string;
|
|
17
21
|
formValuesContainer: FormValuesContainer<FieldValue, FieldMetadata>;
|
|
18
22
|
} | undefined;
|
|
19
|
-
export declare const handleMetadataChanged: (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>) => (label: string, metadata: FieldMetadata, id?: string) => ((formsValueContainer: FormValuesContainer<FieldValue, FieldMetadata>) => import("../generic").FormValuesContainerMutation<FieldValue, FieldMetadata, FormValuesContainer<FieldValue, FieldMetadata>, string>) | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.handleMetadataChangedProvider = exports.handleValueChangedProvider = exports.getValidationError = exports.makeMetadata = exports.fieldValuesProvider = void 0;
|
|
4
4
|
const dates_1 = require("./dates");
|
|
5
5
|
function getRevisionsFilter(field) {
|
|
6
6
|
return (id, history) => history
|
|
@@ -30,7 +30,7 @@ const getValidationError = (formsValueContainer, field) => () => {
|
|
|
30
30
|
return validators.filter(([metadata]) => metadata.label === (field === null || field === void 0 ? void 0 : field.label()));
|
|
31
31
|
};
|
|
32
32
|
exports.getValidationError = getValidationError;
|
|
33
|
-
const
|
|
33
|
+
const handleValueChangedProvider = (formsValueContainer, field, owner) => {
|
|
34
34
|
const wrapper = formsValueContainer ? [formsValueContainer] : [];
|
|
35
35
|
return (label, language, value, id) => {
|
|
36
36
|
const fvc = wrapper[0];
|
|
@@ -44,12 +44,18 @@ const handleValueChanged = (formsValueContainer, field, owner) => {
|
|
|
44
44
|
return undefined;
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
|
-
exports.
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
exports.handleValueChangedProvider = handleValueChangedProvider;
|
|
48
|
+
const handleMetadataChangedProvider = (formsValueContainer) => {
|
|
49
|
+
const wrapper = formsValueContainer ? [formsValueContainer] : [];
|
|
50
|
+
return (label, metadata, id) => {
|
|
51
|
+
const fvc = wrapper[0];
|
|
52
|
+
if (fvc) {
|
|
53
|
+
const { result, formValuesContainer: newFvc } = fvc.setMetadata(label, metadata, id);
|
|
54
|
+
wrapper[0] = newFvc;
|
|
55
|
+
return { result, formValuesContainer: newFvc };
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
};
|
|
53
59
|
};
|
|
54
|
-
exports.
|
|
60
|
+
exports.handleMetadataChangedProvider = handleMetadataChangedProvider;
|
|
55
61
|
//# sourceMappingURL=fields-values-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields-values-provider.js","sourceRoot":"","sources":["../../tmp/utils/fields-values-provider.ts"],"names":[],"mappings":";;;AAGA,mCAAyC;AAEzC,SAAS,kBAAkB,CAAC,KAAY;IACvC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CACtB,OAAO;SACL,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,eAAC,OAAA,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,0CAAE,IAAI,0CAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,0CAAE,KAAK,MAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA,EAAA,CAAC;SAClJ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAa,CAAA,CAAC,0CAA0C;AACzF,CAAC;AAEM,MAAM,mBAAmB,GAC/B,CAAC,mBAAmE,EAAE,KAAY,EAAqC,EAAE,CACzH,GAAG,EAAE,CACJ,mBAAmB,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAH7C,QAAA,mBAAmB,uBAG0B;AAE1D,SAAgB,YAAY,CAAC,KAAY,EAAE,KAAc,EAAE,KAAc;;IACxE,OAAO;QACN,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;QACpB,SAAS,EAAE,IAAA,uBAAe,EAAC,IAAI,IAAI,EAAE,CAAC;QACtC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,EAAE;SACT,CAAC,CAAC;KACH,CAAA;AACF,CAAC;AAXD,oCAWC;AAEM,MAAM,kBAAkB,GAC9B,CAAC,mBAAoE,EAAE,KAAa,EAAqC,EAAE,CAC3H,GAAG,EAAE;;IACJ,MAAM,UAAU,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,mBAAmB,EAAE,mCAAI,EAAE,CAAA;IACnE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,MAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE,CAAA,CAAC,CAAA;AAC5E,CAAC,CAAA;AALW,QAAA,kBAAkB,sBAK7B;AAEK,MAAM,
|
|
1
|
+
{"version":3,"file":"fields-values-provider.js","sourceRoot":"","sources":["../../tmp/utils/fields-values-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, FieldMetadata, FieldValue } from '../components/model'\nimport { FormValuesContainer, Version, VersionedData } from '../generic'\n\nimport { dateToFuzzyDate } from './dates'\n\nfunction getRevisionsFilter(field: Field): (id: string, history: Version<FieldMetadata>[]) => string[] {\n\treturn (id, history) =>\n\t\thistory\n\t\t\t.filter((fmd) => (field.tags?.length ? field.tags.every((t) => fmd?.value?.tags?.some((tt) => tt.id === t)) : fmd?.value?.label === field.label()))\n\t\t\t.map((fmd) => fmd.revision)\n\t\t\t.filter((r) => r !== undefined) as string[] //null is used as a new revision indicator\n}\n\nexport const fieldValuesProvider =\n\t(formValuesContainer: FormValuesContainer<FieldValue, FieldMetadata>, field: Field): (() => VersionedData<FieldValue>) =>\n\t() =>\n\t\tformValuesContainer.getValues(getRevisionsFilter(field))\n\nexport function makeMetadata(field: Field, owner?: string, index?: number) {\n\treturn {\n\t\tlabel: field.label(),\n\t\tvalueDate: dateToFuzzyDate(new Date()),\n\t\towner: owner,\n\t\tindex: index,\n\t\ttags: field.tags?.map((t) => ({\n\t\t\tid: t,\n\t\t\tlabel: {},\n\t\t})),\n\t}\n}\n\nexport const getValidationError =\n\t(formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field): (() => [FieldMetadata, string][]) =>\n\t() => {\n\t\tconst validators = formsValueContainer?.getValidationErrors() ?? []\n\t\treturn validators.filter(([metadata]) => metadata.label === field?.label())\n\t}\n\nexport const handleValueChangedProvider = (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field, owner?: string) => {\n\tconst wrapper = formsValueContainer ? [formsValueContainer] : []\n\treturn (label: string, language: string, value?: FieldValue, id?: string) => {\n\t\tconst fvc = wrapper[0]\n\t\tif (fvc) {\n\t\t\tconst { result, formValuesContainer: newFvc } = fvc.setValue(\n\t\t\t\tlabel,\n\t\t\t\tlanguage,\n\t\t\t\tvalue,\n\t\t\t\tid,\n\t\t\t\t!id && field // If the id is not set, we are creating a new value. In this case, we set the metadata.\n\t\t\t\t\t? makeMetadata(field, owner)\n\t\t\t\t\t: undefined,\n\t\t\t)\n\t\t\twrapper[0] = newFvc\n\t\t\treturn { result, formValuesContainer: newFvc }\n\t\t}\n\t\treturn undefined\n\t}\n}\n\nexport const handleMetadataChangedProvider = (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>) => {\n\tconst wrapper = formsValueContainer ? [formsValueContainer] : []\n\treturn (label: string, metadata: FieldMetadata, id?: string) => {\n\t\tconst fvc = wrapper[0]\n\t\tif (fvc) {\n\t\t\tconst { result, formValuesContainer: newFvc } = fvc.setMetadata(label, metadata, id)\n\t\t\twrapper[0] = newFvc\n\t\t\treturn { result, formValuesContainer: newFvc }\n\t\t}\n\t\treturn undefined\n\t}\n}\n"]}
|