@icure/form 1.1.14 → 1.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.2.0-6bda8c35cb-704621c28d.zip +0 -0
- package/.yarn/cache/@lit-reactive-element-npm-1.6.3-4828441e51-79b58631c3.zip +0 -0
- package/.yarn/cache/@lit-reactive-element-npm-2.0.4-4836436301-368d788d9e.zip +0 -0
- package/.yarn/cache/@material-animation-npm-14.0.0-canary.53b3cad2f.0-06a813cdea-9b5190654c.zip +0 -0
- package/.yarn/cache/@material-base-npm-14.0.0-canary.53b3cad2f.0-d195c1fdc4-9f4928d115.zip +0 -0
- package/.yarn/cache/@material-button-npm-14.0.0-canary.53b3cad2f.0-d4b070f508-873295c56a.zip +0 -0
- package/.yarn/cache/@material-density-npm-14.0.0-canary.53b3cad2f.0-48c1f65059-a23f00edfe.zip +0 -0
- package/.yarn/cache/@material-dialog-npm-14.0.0-canary.53b3cad2f.0-96168fa294-c1a498b81a.zip +0 -0
- package/.yarn/cache/@material-dom-npm-14.0.0-canary.53b3cad2f.0-ac009dc871-f5817f76dd.zip +0 -0
- package/.yarn/cache/@material-elevation-npm-14.0.0-canary.53b3cad2f.0-3312f06793-2f8945c7b6.zip +0 -0
- package/.yarn/cache/@material-feature-targeting-npm-14.0.0-canary.53b3cad2f.0-a919042d50-e7a1ed68f9.zip +0 -0
- package/.yarn/cache/@material-floating-label-npm-14.0.0-canary.53b3cad2f.0-eb8f330f2f-5295dc481d.zip +0 -0
- package/.yarn/cache/@material-focus-ring-npm-14.0.0-canary.53b3cad2f.0-b22f851a2e-92273b1247.zip +0 -0
- package/.yarn/cache/@material-icon-button-npm-14.0.0-canary.53b3cad2f.0-e158d26048-19b51665f2.zip +0 -0
- package/.yarn/cache/@material-line-ripple-npm-14.0.0-canary.53b3cad2f.0-d089468db9-6518961487.zip +0 -0
- package/.yarn/cache/@material-list-npm-14.0.0-canary.53b3cad2f.0-df9ce05084-6c977f518d.zip +0 -0
- package/.yarn/cache/@material-menu-npm-14.0.0-canary.53b3cad2f.0-9489b592c8-71b6a1f4dd.zip +0 -0
- package/.yarn/cache/@material-menu-surface-npm-14.0.0-canary.53b3cad2f.0-52212f38f4-ad48e168ca.zip +0 -0
- package/.yarn/cache/@material-mwc-base-npm-0.27.0-79caf3ef2b-07af17edfc.zip +0 -0
- package/.yarn/cache/@material-mwc-button-npm-0.27.0-4b85f2b26f-2ef5cc0951.zip +0 -0
- package/.yarn/cache/@material-mwc-checkbox-npm-0.27.0-e837031d8e-ba53a6ea8c.zip +0 -0
- package/.yarn/cache/@material-mwc-dialog-npm-0.27.0-77c6071543-ffab528e8e.zip +0 -0
- package/.yarn/cache/@material-mwc-floating-label-npm-0.27.0-80e62b22c0-fbbf4f2e42.zip +0 -0
- package/.yarn/cache/@material-mwc-icon-button-npm-0.27.0-41f82f135b-7315c0735b.zip +0 -0
- package/.yarn/cache/@material-mwc-icon-npm-0.27.0-98c9e8509f-6dfa5115d5.zip +0 -0
- package/.yarn/cache/@material-mwc-line-ripple-npm-0.27.0-e6704221e0-6862ede0f4.zip +0 -0
- package/.yarn/cache/@material-mwc-list-npm-0.27.0-5344fc9de4-6c2ae4f1c6.zip +0 -0
- package/.yarn/cache/@material-mwc-menu-npm-0.27.0-7c2bb47797-126f733659.zip +0 -0
- package/.yarn/cache/@material-mwc-notched-outline-npm-0.27.0-0e0d1c4d5f-2739032f76.zip +0 -0
- package/.yarn/cache/@material-mwc-radio-npm-0.27.0-aa2098a280-0b0a0a6b99.zip +0 -0
- package/.yarn/cache/@material-mwc-ripple-npm-0.27.0-ed37672f08-9cd73fdfe4.zip +0 -0
- package/.yarn/cache/@material-mwc-textfield-npm-0.27.0-dabd704f55-978c893aca.zip +0 -0
- package/.yarn/cache/@material-notched-outline-npm-14.0.0-canary.53b3cad2f.0-ecacde98db-1a9f8db4d8.zip +0 -0
- package/.yarn/cache/@material-radio-npm-14.0.0-canary.53b3cad2f.0-c50de64d41-898554f2b3.zip +0 -0
- package/.yarn/cache/@material-ripple-npm-14.0.0-canary.53b3cad2f.0-49060bfe7e-08b71917e2.zip +0 -0
- package/.yarn/cache/@material-rtl-npm-14.0.0-canary.53b3cad2f.0-daca794b76-3c1b8b48c6.zip +0 -0
- package/.yarn/cache/@material-shape-npm-14.0.0-canary.53b3cad2f.0-5bcff722a6-6ad9b020c0.zip +0 -0
- package/.yarn/cache/@material-textfield-npm-14.0.0-canary.53b3cad2f.0-4414808dda-7072e3c9df.zip +0 -0
- package/.yarn/cache/@material-theme-npm-14.0.0-canary.53b3cad2f.0-9a24e7b046-fd44e92917.zip +0 -0
- package/.yarn/cache/@material-tokens-npm-14.0.0-canary.53b3cad2f.0-f1c87523da-efa909f861.zip +0 -0
- package/.yarn/cache/@material-touch-target-npm-14.0.0-canary.53b3cad2f.0-fa6a2d0875-dbc13cbe7a.zip +0 -0
- package/.yarn/cache/@material-typography-npm-14.0.0-canary.53b3cad2f.0-f4a58946f1-fa2671df40.zip +0 -0
- package/.yarn/cache/@types-trusted-types-npm-2.0.7-a07fc44f59-8e4202766a.zip +0 -0
- package/.yarn/cache/@webcomponents-webcomponentsjs-npm-2.8.0-36c07db4d2-186373c030.zip +0 -0
- package/.yarn/cache/app-datepicker-npm-6.0.0-rc.33-f74d593ddf-6490949c45.zip +0 -0
- package/.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip +0 -0
- package/.yarn/cache/blocking-elements-npm-0.1.1-423f51c76e-9a34084405.zip +0 -0
- package/.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip +0 -0
- package/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip +0 -0
- package/.yarn/cache/linkify-it-npm-5.0.0-adb5f9c96f-b0b86cadaf.zip +0 -0
- package/.yarn/cache/lit-element-npm-3.3.3-2f9f9e38c0-29a596fa55.zip +0 -0
- package/.yarn/cache/lit-element-npm-4.0.6-bfca4f9870-4f73cd1c0d.zip +0 -0
- package/.yarn/cache/lit-html-npm-2.8.0-82f88d6ebf-2d70df0724.zip +0 -0
- package/.yarn/cache/lit-html-npm-3.1.4-58e56c5010-428593679c.zip +0 -0
- package/.yarn/cache/lit-npm-2.8.0-92bb1333a4-2480e733f7.zip +0 -0
- package/.yarn/cache/lit-npm-3.1.4-b7dcc2d5a3-c6ffa5580f.zip +0 -0
- package/.yarn/cache/lit-ntml-npm-3.0.6-98ebc6c1ac-2917c778d9.zip +0 -0
- package/.yarn/cache/lodash-es-npm-4.17.21-b45832dfce-05cbffad6e.zip +0 -0
- package/.yarn/cache/markdown-it-npm-14.1.0-e337d75bfe-07296b45eb.zip +0 -0
- package/.yarn/cache/mdurl-npm-2.0.0-3259713daf-880bc289ef.zip +0 -0
- package/.yarn/cache/nodemod-npm-3.0.6-844d650911-47ffe619b3.zip +0 -0
- package/.yarn/cache/normalize-diacritics-npm-3.0.12-93e2346015-5ddc2cfaf8.zip +0 -0
- package/.yarn/cache/orderedmap-npm-2.1.1-64b8a0684f-082cf970b0.zip +0 -0
- package/.yarn/cache/parse5-npm-6.0.1-70a35a494a-7d569a176c.zip +0 -0
- package/.yarn/cache/prosemirror-commands-npm-1.5.2-27f8f3fee9-ff65063a8c.zip +0 -0
- package/.yarn/cache/prosemirror-history-npm-1.3.2-cc128c8ee6-b85fe6378a.zip +0 -0
- package/.yarn/cache/prosemirror-keymap-npm-1.2.2-efb8276b00-85fe4fc303.zip +0 -0
- package/.yarn/cache/prosemirror-markdown-npm-1.12.0-28e990f443-d7607ee1a6.zip +0 -0
- package/.yarn/cache/prosemirror-model-npm-1.19.4-4fd32211c8-12c277ed30.zip +0 -0
- package/.yarn/cache/prosemirror-model-npm-1.22.2-9238026de4-f4004a4ebe.zip +0 -0
- package/.yarn/cache/prosemirror-schema-basic-npm-1.2.2-def7bf2ec7-1f93f8678c.zip +0 -0
- package/.yarn/cache/prosemirror-schema-list-npm-1.3.0-23c1830a7e-03654e37c8.zip +0 -0
- package/.yarn/cache/prosemirror-state-npm-1.4.3-d6540e44ad-28857d935c.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.8.0-ea3ca0411f-6d16ca4f95.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.9.0-fd256f82f0-c2d63c1fb0.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.32.7-63c3e4b182-40c9038a52.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.33.9-dd77e3e48f-d3bd6cef56.zip +0 -0
- package/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-13466d7ed5.zip +0 -0
- package/.yarn/cache/rope-sequence-npm-1.3.4-3b09587e5f-95cca2f99a.zip +0 -0
- package/.yarn/cache/tslib-npm-2.6.3-0fd136b3be-74fce0e100.zip +0 -0
- package/.yarn/cache/uc.micro-npm-2.1.0-c45282c865-3719735824.zip +0 -0
- package/.yarn/cache/uuid-npm-9.0.1-39a8442bc6-39931f6da7.zip +0 -0
- package/.yarn/cache/w3c-keyname-npm-2.2.8-66d7d5317a-95bafa4c04.zip +0 -0
- package/.yarn/cache/wicg-inert-npm-3.1.2-786d525c4e-538c5cb7f2.zip +0 -0
- package/.yarn/install-state.gz +0 -0
- package/components/common/field-with-options.d.ts +1 -1
- package/components/common/field-with-options.js.map +1 -1
- package/components/common/field.d.ts +3 -1
- package/components/common/field.js +18 -8
- package/components/common/field.js.map +1 -1
- package/components/common/utils.js.map +1 -1
- package/components/icure-button-group/index.js +8 -2
- package/components/icure-button-group/index.js.map +1 -1
- package/components/icure-date-picker/index.js +11 -4
- package/components/icure-date-picker/index.js.map +1 -1
- package/components/icure-dropdown-field/index.d.ts +3 -1
- package/components/icure-dropdown-field/index.js +42 -9
- package/components/icure-dropdown-field/index.js.map +1 -1
- package/components/icure-form/fields/button-group/checkbox.js +4 -3
- package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
- package/components/icure-form/fields/button-group/radio-button.js +5 -4
- package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-picker.js +4 -3
- package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-time-picker.js +4 -3
- package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/time-picker.js +4 -3
- package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
- package/components/icure-form/fields/dropdown/dropdown-field.d.ts +2 -4
- package/components/icure-form/fields/dropdown/dropdown-field.js +6 -5
- package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
- package/components/icure-form/fields/items-list-field/items-list-field.js +4 -4
- package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
- package/components/icure-form/fields/label/label.js +1 -1
- package/components/icure-form/fields/label/label.js.map +1 -1
- package/components/icure-form/fields/measure-field/measure-field.js +4 -3
- package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
- package/components/icure-form/fields/number-field/number-field.js +4 -3
- package/components/icure-form/fields/number-field/number-field.js.map +1 -1
- package/components/icure-form/fields/text-field/text-field.d.ts +1 -1
- package/components/icure-form/fields/text-field/text-field.js +5 -4
- package/components/icure-form/fields/text-field/text-field.js.map +1 -1
- package/components/icure-form/fields/token-field/token-field.js +4 -4
- package/components/icure-form/fields/token-field/token-field.js.map +1 -1
- package/components/icure-form/fields/utils/index.d.ts +4 -6
- package/components/icure-form/fields/utils/index.js +1 -1
- package/components/icure-form/fields/utils/index.js.map +1 -1
- package/components/icure-form/index.d.ts +8 -8
- package/components/icure-form/index.js +17 -13
- package/components/icure-form/index.js.map +1 -1
- package/components/icure-form/renderer/form/form-selection-button.js +1 -1
- package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
- package/components/icure-form/renderer/form/form.js +67 -58
- package/components/icure-form/renderer/form/form.js.map +1 -1
- package/components/icure-form/renderer/index.d.ts +4 -6
- package/components/icure-form/renderer/index.js.map +1 -1
- package/components/icure-label/index.js +6 -1
- package/components/icure-label/index.js.map +1 -1
- package/components/icure-text-field/index.d.ts +7 -9
- package/components/icure-text-field/index.js +118 -51
- package/components/icure-text-field/index.js.map +1 -1
- package/components/icure-text-field/plugin/caret-fix-plugin.js.map +1 -1
- package/components/icure-text-field/plugin/mask-plugin.js.map +1 -1
- package/components/icure-text-field/plugin/regexp-plugin.js.map +1 -1
- package/components/icure-text-field/prosemirror-commands.d.ts +2 -2
- package/components/icure-text-field/prosemirror-commands.js.map +1 -1
- package/components/icure-text-field/prosemirror-utils.js.map +1 -1
- package/components/icure-text-field/schema/common-marks.js.map +1 -1
- package/components/icure-text-field/schema/measure-schema.js.map +1 -1
- package/components/icure-text-field/selection-companion.js.map +1 -1
- package/components/icure-text-field/suggestion-palette.js.map +1 -1
- package/components/model/index.d.ts +69 -137
- package/components/model/index.js +30 -103
- package/components/model/index.js.map +1 -1
- package/components/themes/icure-blue/index.d.ts +1 -0
- package/components/themes/icure-blue/index.js +321 -0
- package/components/themes/icure-blue/index.js.map +1 -0
- package/conversion/ckmeans-grouping.js.map +1 -1
- package/conversion/ckmeans.js.map +1 -1
- package/conversion/icure-convert.js.map +1 -1
- package/generic/model.d.ts +45 -1
- package/generic/model.js.map +1 -1
- package/icure/form-values-container.d.ts +42 -8
- package/icure/form-values-container.js +99 -52
- package/icure/form-values-container.js.map +1 -1
- package/icure/icure-utils.d.ts +19 -0
- package/icure/icure-utils.js +117 -0
- package/icure/icure-utils.js.map +1 -0
- package/icure/model.d.ts +1 -1
- package/icure/model.js.map +1 -1
- package/package.json +5 -7
- package/utils/code-utils.d.ts +3 -10
- package/utils/code-utils.js +3 -9
- package/utils/code-utils.js.map +1 -1
- package/utils/dates.d.ts +6 -0
- package/utils/dates.js +58 -0
- package/utils/dates.js.map +1 -0
- package/utils/fields-values-provider.d.ts +2 -1
- package/utils/fields-values-provider.js +11 -6
- package/utils/fields-values-provider.js.map +1 -1
- package/utils/form-value-container.js.map +1 -1
- package/utils/icure-utils.js.map +1 -1
- package/utils/interpreter.js +1 -2
- package/utils/interpreter.js.map +1 -1
- package/utils/languages.d.ts +1 -5
- package/utils/languages.js.map +1 -1
- package/utils/markdown.d.ts +2 -1
- package/utils/markdown.js +5 -1
- package/utils/markdown.js.map +1 -1
- package/utils/no-lodash.d.ts +3 -1
- package/utils/no-lodash.js +3 -1
- package/utils/no-lodash.js.map +1 -1
- package/utils/primitive.d.ts +0 -3
- package/utils/primitive.js +4 -59
- package/utils/primitive.js.map +1 -1
|
@@ -861,6 +861,11 @@ app-date-picker {
|
|
|
861
861
|
display: grid;
|
|
862
862
|
}
|
|
863
863
|
|
|
864
|
+
.error {
|
|
865
|
+
color: red;
|
|
866
|
+
font-size: 12px;
|
|
867
|
+
}
|
|
868
|
+
|
|
864
869
|
.icure-text-field > .icure-label, .icure-button-group > .icure-label {
|
|
865
870
|
z-index: 1;
|
|
866
871
|
pointer-events: none;
|
|
@@ -1049,14 +1054,12 @@ const languages_1 = require("../../utils/languages");
|
|
|
1049
1054
|
class IcureForm extends lit_1.LitElement {
|
|
1050
1055
|
constructor() {
|
|
1051
1056
|
super();
|
|
1052
|
-
this.skin = 'material';
|
|
1053
1057
|
this.renderer = 'form';
|
|
1054
1058
|
this.visible = true;
|
|
1055
1059
|
this.readonly = false;
|
|
1060
|
+
this.displayMetadata = false;
|
|
1056
1061
|
this.labelPosition = undefined;
|
|
1057
1062
|
this.formValuesContainer = undefined;
|
|
1058
|
-
this.codesProvider = () => Promise.resolve([]);
|
|
1059
|
-
this.optionsProvider = () => Promise.resolve([]);
|
|
1060
1063
|
}
|
|
1061
1064
|
static get styles() {
|
|
1062
1065
|
return [baseCss];
|
|
@@ -1064,25 +1067,23 @@ class IcureForm extends lit_1.LitElement {
|
|
|
1064
1067
|
render() {
|
|
1065
1068
|
var _a, _b;
|
|
1066
1069
|
const renderer = this.renderer === 'form' ? form_1.render : undefined;
|
|
1070
|
+
console.log('Render metadata', this.displayMetadata);
|
|
1067
1071
|
if (!this.visible) {
|
|
1068
1072
|
return (0, lit_1.html) ``;
|
|
1069
1073
|
}
|
|
1070
1074
|
const translationTables = (_a = this.form) === null || _a === void 0 ? void 0 : _a.translations;
|
|
1071
1075
|
return renderer && this.form
|
|
1072
|
-
? renderer(this.form, { labelPosition: this.labelPosition,
|
|
1076
|
+
? renderer(this.form, { labelPosition: this.labelPosition, language: this.language }, this.formValuesContainer, (_b = this.translationProvider) !== null && _b !== void 0 ? _b : (translationTables ? (0, languages_1.defaultTranslationProvider)(translationTables) : undefined), this.ownersProvider, this.codesProvider, this.optionsProvider, this.readonly, this.displayMetadata)
|
|
1073
1077
|
: this.form
|
|
1074
1078
|
? (0, lit_1.html) `<p>unknown renderer</p>`
|
|
1075
1079
|
: (0, lit_1.html) `<p>missing form</p>`;
|
|
1076
1080
|
}
|
|
1077
1081
|
}
|
|
1082
|
+
exports.IcureForm = IcureForm;
|
|
1078
1083
|
__decorate([
|
|
1079
1084
|
(0, decorators_js_1.property)(),
|
|
1080
1085
|
__metadata("design:type", model_1.Form)
|
|
1081
1086
|
], IcureForm.prototype, "form", void 0);
|
|
1082
|
-
__decorate([
|
|
1083
|
-
(0, decorators_js_1.property)(),
|
|
1084
|
-
__metadata("design:type", Object)
|
|
1085
|
-
], IcureForm.prototype, "skin", void 0);
|
|
1086
1087
|
__decorate([
|
|
1087
1088
|
(0, decorators_js_1.property)(),
|
|
1088
1089
|
__metadata("design:type", Object)
|
|
@@ -1098,15 +1099,15 @@ __decorate([
|
|
|
1098
1099
|
__decorate([
|
|
1099
1100
|
(0, decorators_js_1.property)(),
|
|
1100
1101
|
__metadata("design:type", Object)
|
|
1101
|
-
], IcureForm.prototype, "
|
|
1102
|
+
], IcureForm.prototype, "displayMetadata", void 0);
|
|
1102
1103
|
__decorate([
|
|
1103
1104
|
(0, decorators_js_1.property)(),
|
|
1104
|
-
__metadata("design:type",
|
|
1105
|
-
], IcureForm.prototype, "
|
|
1105
|
+
__metadata("design:type", Object)
|
|
1106
|
+
], IcureForm.prototype, "labelPosition", void 0);
|
|
1106
1107
|
__decorate([
|
|
1107
1108
|
(0, decorators_js_1.property)(),
|
|
1108
1109
|
__metadata("design:type", String)
|
|
1109
|
-
], IcureForm.prototype, "
|
|
1110
|
+
], IcureForm.prototype, "language", void 0);
|
|
1110
1111
|
__decorate([
|
|
1111
1112
|
(0, decorators_js_1.property)(),
|
|
1112
1113
|
__metadata("design:type", Object)
|
|
@@ -1115,6 +1116,10 @@ __decorate([
|
|
|
1115
1116
|
(0, decorators_js_1.property)(),
|
|
1116
1117
|
__metadata("design:type", Function)
|
|
1117
1118
|
], IcureForm.prototype, "translationProvider", void 0);
|
|
1119
|
+
__decorate([
|
|
1120
|
+
(0, decorators_js_1.property)(),
|
|
1121
|
+
__metadata("design:type", Function)
|
|
1122
|
+
], IcureForm.prototype, "ownersProvider", void 0);
|
|
1118
1123
|
__decorate([
|
|
1119
1124
|
(0, decorators_js_1.property)(),
|
|
1120
1125
|
__metadata("design:type", Function)
|
|
@@ -1123,5 +1128,4 @@ __decorate([
|
|
|
1123
1128
|
(0, decorators_js_1.property)(),
|
|
1124
1129
|
__metadata("design:type", Function)
|
|
1125
1130
|
], IcureForm.prototype, "optionsProvider", void 0);
|
|
1126
|
-
exports.IcureForm = IcureForm;
|
|
1127
1131
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-form/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Import the LitElement base class and html helper function\nimport { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { Renderer } from './renderer'\nimport { render as renderAsForm } from './renderer/form/form'\nimport { Code, FieldMetadata, FieldValue, Form } from '../model'\nimport { FormValuesContainer } from '../../generic'\n\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.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}` \nimport { defaultTranslationProvider } from '../../utils/languages'\n\n/**\n * Form element\n */\nexport class IcureForm extends LitElement {\n\t@property() form?: Form\n\t@property() skin = 'material'\n\t@property() renderer = 'form'\n\t@property() visible = true\n\t@property() readonly = false\n\t@property() labelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float' | undefined = undefined\n\t@property() defaultLanguage?: string\n\t@property() displayedLanguage?: string\n\t@property() formValuesContainer?: FormValuesContainer<FieldValue, FieldMetadata> = undefined\n\t@property() translationProvider?: (language: string, text: string) => string\n\t@property() codesProvider: (codifications: string[], searchTerm: string) => Promise<Code[]> = () => Promise.resolve([])\n\t@property() optionsProvider: (language: string, codifications: string[], searchTerm: string) => Promise<Code[]> = () => Promise.resolve([])\n\n\tconstructor() {\n\t\tsuper()\n\t}\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tconst renderer: Renderer | undefined = this.renderer === 'form' ? renderAsForm : undefined\n\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tconst translationTables = this.form?.translations\n\n\t\treturn renderer && this.form\n\t\t\t? renderer(\n\t\t\t\t\tthis.form,\n\t\t\t\t\t{ labelPosition: this.labelPosition, defaultLanguage: this.defaultLanguage, displayedLanguage: this.displayedLanguage },\n\t\t\t\t\tthis.formValuesContainer,\n\t\t\t\t\tthis.translationProvider ?? (translationTables ? defaultTranslationProvider(translationTables) : undefined),\n\t\t\t\t\t() => [],\n\t\t\t\t\tthis.codesProvider,\n\t\t\t\t\tthis.optionsProvider,\n\t\t\t\t\tthis.readonly,\n\t\t\t )\n\t\t\t: this.form\n\t\t\t? html`<p>unknown renderer</p>`\n\t\t\t: html`<p>missing form</p>`\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-form/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Import the LitElement base class and html helper function\nimport { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { Renderer } from './renderer'\nimport { render as renderAsForm } from './renderer/form/form'\nimport { FieldMetadata, FieldValue, Form } from '../model'\nimport { FormValuesContainer, Suggestion } from '../../generic'\n\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}` \nimport { defaultTranslationProvider } from '../../utils/languages'\n\n/**\n * Form element\n */\nexport class IcureForm extends LitElement {\n\t@property() form?: Form\n\t@property() renderer = 'form'\n\t@property() visible = true\n\t@property() readonly = false\n\t@property() displayMetadata = false\n\t@property() labelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float' | undefined = undefined\n\t@property() language?: string\n\t@property() formValuesContainer?: FormValuesContainer<FieldValue, FieldMetadata> = undefined\n\t@property() translationProvider?: (language: string, text: string) => string\n\t@property() ownersProvider?: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]>\n\t@property() codesProvider?: (codifications: string[], terms: string[]) => Promise<Suggestion[]>\n\t@property() optionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>\n\n\tconstructor() {\n\t\tsuper()\n\t}\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tconst renderer: Renderer | undefined = this.renderer === 'form' ? renderAsForm : undefined\n\n\t\tconsole.log('Render metadata', this.displayMetadata)\n\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tconst translationTables = this.form?.translations\n\n\t\treturn renderer && this.form\n\t\t\t? renderer(\n\t\t\t\t\tthis.form,\n\t\t\t\t\t{ labelPosition: this.labelPosition, language: this.language },\n\t\t\t\t\tthis.formValuesContainer,\n\t\t\t\t\tthis.translationProvider ?? (translationTables ? defaultTranslationProvider(translationTables) : undefined),\n\t\t\t\t\tthis.ownersProvider,\n\t\t\t\t\tthis.codesProvider,\n\t\t\t\t\tthis.optionsProvider,\n\t\t\t\t\tthis.readonly,\n\t\t\t\t\tthis.displayMetadata,\n\t\t\t )\n\t\t\t: this.form\n\t\t\t? html`<p>unknown renderer</p>`\n\t\t\t: html`<p>missing form</p>`\n\t}\n}\n"]}
|
|
@@ -91,6 +91,7 @@ class FormSelectionButton extends lit_1.LitElement {
|
|
|
91
91
|
</div>`;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
+
exports.FormSelectionButton = FormSelectionButton;
|
|
94
95
|
__decorate([
|
|
95
96
|
(0, decorators_js_1.property)(),
|
|
96
97
|
__metadata("design:type", Array)
|
|
@@ -103,6 +104,5 @@ __decorate([
|
|
|
103
104
|
(0, decorators_js_1.state)(),
|
|
104
105
|
__metadata("design:type", Object)
|
|
105
106
|
], FormSelectionButton.prototype, "displayMenu", void 0);
|
|
106
|
-
exports.FormSelectionButton = FormSelectionButton;
|
|
107
107
|
customElements.define('form-selection-button', FormSelectionButton);
|
|
108
108
|
//# sourceMappingURL=form-selection-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-selection-button.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/renderer/form/form-selection-button.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoD;AACpD,qDAAmD;AAGnD,MAAa,mBAAoB,SAAQ,gBAAU;IAAnD;;QAEa,cAAS,GAAwC,GAAG,EAAE;YACjE,gBAAgB;QACjB,CAAC,CAAA;QACgB,gBAAW,GAAG,KAAK,CAAA;IAyErC,CAAC;IAxEA,MAAM,KAAK,MAAM;QAChB,OAAO,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDT,CAAA;IACF,CAAC;IACD,MAAM;;QACL,OAAO,IAAA,UAAI,EAAA;iCACoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3D,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAA,UAAI,EAAA;QACF,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CACd,IAAA,UAAI,EAAA;;kBAEM,GAAG,EAAE;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACzB,CAAC;;WAEC,EAAE;kBACK,CACX;aACM;YACT,CAAC,CAAC,aAAO;SACJ,CAAA;IACR,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"form-selection-button.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/renderer/form/form-selection-button.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoD;AACpD,qDAAmD;AAGnD,MAAa,mBAAoB,SAAQ,gBAAU;IAAnD;;QAEa,cAAS,GAAwC,GAAG,EAAE;YACjE,gBAAgB;QACjB,CAAC,CAAA;QACgB,gBAAW,GAAG,KAAK,CAAA;IAyErC,CAAC;IAxEA,MAAM,KAAK,MAAM;QAChB,OAAO,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDT,CAAA;IACF,CAAC;IACD,MAAM;;QACL,OAAO,IAAA,UAAI,EAAA;iCACoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3D,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAA,UAAI,EAAA;QACF,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CACd,IAAA,UAAI,EAAA;;kBAEM,GAAG,EAAE;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACzB,CAAC;;WAEC,EAAE;kBACK,CACX;aACM;YACT,CAAC,CAAC,aAAO;SACJ,CAAA;IACR,CAAC;CACD;AA9ED,kDA8EC;AA7EY;IAAX,IAAA,wBAAQ,GAAE;;kDAAyB;AACxB;IAAX,IAAA,wBAAQ,GAAE;;sDAEV;AACgB;IAAhB,IAAA,qBAAK,GAAE;;wDAA4B;AA0ErC,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA","sourcesContent":["import { css, html, LitElement, nothing } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { Form } from '../../../model'\n\nexport class FormSelectionButton extends LitElement {\n\t@property() forms?: [string, Form][]\n\t@property() formAdded: (title: string, form: Form) => void = () => {\n\t\t/* Do nothing */\n\t}\n\t@state() private displayMenu = false\n\tstatic get styles() {\n\t\treturn css`\n\t\t\t.options-container {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t.options {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 30px;\n\t\t\t\tright: 0;\n\t\t\t\tz-index: 2;\n\t\t\t\tbackground: #fff;\n\t\t\t\tbox-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n\t\t\t\twidth: auto;\n\t\t\t\tmin-width: 100%;\n\t\t\t\toverflow-y: auto;\n\t\t\t\tmax-height: 280px;\n\t\t\t}\n\n\t\t\t.option {\n\t\t\t\theight: 28px;\n\t\t\t\tmin-height: 28px;\n\t\t\t\twidth: 100%;\n\t\t\t\tbackground: transparent;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: #545454;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-flow: row nowrap;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tborder: none;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow-x: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tpadding: 4px 8px;\n\t\t\t\t-webkit-user-select: none; /* Safari */\n\t\t\t\t-ms-user-select: none; /* IE 10 and IE 11 */\n\t\t\t\tuser-select: none; /* Standard syntax */\n\t\t\t}\n\n\t\t\t.option:hover {\n\t\t\t\tcolor: #656565;\n\t\t\t\tbackground-color: #ededed;\n\t\t\t}\n\t\t`\n\t}\n\trender() {\n\t\treturn html`<div class=\"options-container\">\n\t\t\t<button class=\"btn\" @click=\"${() => (this.displayMenu = true)}\">+</button>\n\t\t\t${this.displayMenu\n\t\t\t\t? html`<div class=\"options\">\n\t\t\t\t\t\t${this.forms?.map(\n\t\t\t\t\t\t\t([id, form]) =>\n\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\tclass=\"option\"\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.formAdded(id, form)\n\t\t\t\t\t\t\t\t\t\tthis.displayMenu = false\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${id}\n\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t)}\n\t\t\t\t </div>`\n\t\t\t\t: nothing}\n\t\t</div>`\n\t}\n}\ncustomElements.define('form-selection-button', FormSelectionButton)\n"]}
|
|
@@ -12,26 +12,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.render = void 0;
|
|
13
13
|
const lit_1 = require("lit");
|
|
14
14
|
const fields_values_provider_1 = require("../../../../utils/fields-values-provider");
|
|
15
|
-
const icure_utils_1 = require("../../../../utils/icure-utils");
|
|
16
15
|
const languages_1 = require("../../../../utils/languages");
|
|
17
16
|
const utils_1 = require("../../../common/utils");
|
|
18
17
|
const code_utils_1 = require("../../../../utils/code-utils");
|
|
19
18
|
require("./form-selection-button");
|
|
20
|
-
const
|
|
19
|
+
const dates_1 = require("../../../../utils/dates");
|
|
20
|
+
const render = (form, props, formsValueContainer, translationProvider, ownersProvider = () => __awaiter(void 0, void 0, void 0, function* () { return []; }), codesProvider = () => __awaiter(void 0, void 0, void 0, function* () { return []; }), optionsProvider, readonly, displayMetadata) => {
|
|
21
21
|
const composedOptionsProvider = optionsProvider && form.codifications
|
|
22
|
-
? (language, codifications,
|
|
22
|
+
? (language, codifications, terms) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
23
|
var _a, _b, _c;
|
|
24
|
-
const originalOptions = optionsProvider ? yield optionsProvider(language, codifications,
|
|
25
|
-
return originalOptions.concat((_c = (_b = (_a = form.codifications) === null || _a === void 0 ? void 0 : _a.filter((c) => codifications.includes(c.type))) === null || _b === void 0 ? void 0 : _b.flatMap((c) => c.codes
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.map((st) => st.toLowerCase())
|
|
29
|
-
.every((st) => c.label[language].toLowerCase().includes(st))))) !== null && _c !== void 0 ? _c : []);
|
|
24
|
+
const originalOptions = optionsProvider ? yield optionsProvider(language, codifications, terms) : [];
|
|
25
|
+
return originalOptions.concat((_c = (_b = (_a = form.codifications) === null || _a === void 0 ? void 0 : _a.filter((c) => codifications.includes(c.type))) === null || _b === void 0 ? void 0 : _b.flatMap((c) => c.codes
|
|
26
|
+
.filter((c) => (terms !== null && terms !== void 0 ? terms : []).map((st) => st.toLowerCase()).every((st) => c.label[language].toLowerCase().includes(st)))
|
|
27
|
+
.map((c) => ({ id: c.id, label: c.label, text: c.label[language], terms: terms !== null && terms !== void 0 ? terms : [] })))) !== null && _c !== void 0 ? _c : []);
|
|
30
28
|
})
|
|
31
29
|
: optionsProvider
|
|
32
|
-
? (language, codifications,
|
|
30
|
+
? (language, codifications, terms, sortOptions) => {
|
|
33
31
|
var _a;
|
|
34
|
-
return (_a = optionsProvider === null || optionsProvider === void 0 ? void 0 : optionsProvider(language, codifications,
|
|
32
|
+
return (_a = optionsProvider === null || optionsProvider === void 0 ? void 0 : optionsProvider(language, codifications, terms).then((codes) => (0, code_utils_1.sortCodes)(codes, language, sortOptions))) !== null && _a !== void 0 ? _a : Promise.resolve([]);
|
|
35
33
|
}
|
|
36
34
|
: undefined;
|
|
37
35
|
const h = function (level, content) {
|
|
@@ -72,7 +70,7 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
72
70
|
return (childForm &&
|
|
73
71
|
(0, lit_1.html) `
|
|
74
72
|
<div class="container">
|
|
75
|
-
${(0, exports.render)(childForm, props, child, translationProvider, ownersProvider, codesProvider, optionsProvider)}
|
|
73
|
+
${(0, exports.render)(childForm, props, child, translationProvider, ownersProvider, codesProvider, optionsProvider, readonly, displayMetadata)}
|
|
76
74
|
<button @click="${() => { var _a; return (_a = formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.removeChild) === null || _a === void 0 ? void 0 : _a.call(formsValueContainer, child); }}" class="float-right-btn bottom">-</button>
|
|
77
75
|
<hr />
|
|
78
76
|
</div>
|
|
@@ -81,76 +79,79 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
81
79
|
</div>`;
|
|
82
80
|
}
|
|
83
81
|
function renderTextField(fgSpan, fgRowSpan, fg) {
|
|
84
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
82
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
85
83
|
return (0, lit_1.html) `<icure-form-text-field
|
|
86
84
|
class="icure-form-field"
|
|
87
85
|
style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
|
|
88
86
|
label="${fg.field}"
|
|
89
87
|
value="${fg.value}"
|
|
90
88
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
89
|
+
.displayMetadata="${displayMetadata}"
|
|
91
90
|
.multiline="${fg.multiline || false}"
|
|
92
91
|
.lines=${fgRowSpan}
|
|
93
|
-
.defaultLanguage="${props.
|
|
94
|
-
.displayedLanguage="${props.displayedLanguage}"
|
|
92
|
+
.defaultLanguage="${props.language}"
|
|
95
93
|
.linksProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.linksProvider}
|
|
96
94
|
.suggestionProvider=${(_c = fg.options) === null || _c === void 0 ? void 0 : _c.suggestionProvider}
|
|
97
|
-
.ownersProvider=${
|
|
95
|
+
.ownersProvider=${ownersProvider}
|
|
98
96
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
99
|
-
.
|
|
100
|
-
.
|
|
101
|
-
.
|
|
97
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
98
|
+
.codeColorProvider=${(_d = fg.options) === null || _d === void 0 ? void 0 : _d.codeColorProvider}
|
|
99
|
+
.linkColorProvider=${(_e = fg.options) === null || _e === void 0 ? void 0 : _e.linkColorProvider}
|
|
100
|
+
.codeContentProvider=${(_f = fg.options) === null || _f === void 0 ? void 0 : _f.codeContentProvider}
|
|
102
101
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
103
102
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
104
103
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
105
104
|
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChanged)(formsValueContainer)}
|
|
106
105
|
.styleOptions="${fg.styleOptions}"
|
|
107
|
-
.readonly="${readonly || fg.readonly || (((
|
|
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)}"
|
|
108
107
|
></icure-form-text-field>`;
|
|
109
108
|
}
|
|
110
109
|
function renderTokenField(fgSpan, fgRowSpan, fg) {
|
|
111
|
-
var _a, _b, _c, _d
|
|
110
|
+
var _a, _b, _c, _d;
|
|
112
111
|
return (0, lit_1.html) `<icure-form-token-field
|
|
113
112
|
class="icure-form-field"
|
|
114
113
|
style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
|
|
115
114
|
label="${fg.field}"
|
|
116
115
|
value="${fg.value}"
|
|
117
116
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
117
|
+
.displayMetadata="${displayMetadata}"
|
|
118
118
|
.multiline="${fg.multiline || false}"
|
|
119
119
|
.lines=${fgRowSpan}
|
|
120
|
-
.defaultLanguage="${props.
|
|
121
|
-
.displayedLanguage="${props.displayedLanguage}"
|
|
120
|
+
.defaultLanguage="${props.language}"
|
|
122
121
|
.suggestionProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.suggestionProvider}
|
|
123
|
-
.ownersProvider=${
|
|
122
|
+
.ownersProvider=${ownersProvider}
|
|
124
123
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
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
127
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
128
128
|
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChanged)(formsValueContainer)}
|
|
129
129
|
.styleOptions="${fg.styleOptions}"
|
|
130
|
-
.readonly="${readonly || fg.readonly || (((
|
|
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>`;
|
|
132
132
|
}
|
|
133
133
|
function renderItemsListField(fgSpan, fgRowSpan, fg) {
|
|
134
|
-
var _a, _b, _c, _d
|
|
134
|
+
var _a, _b, _c, _d;
|
|
135
135
|
return (0, lit_1.html) `<icure-form-items-list-field
|
|
136
136
|
class="icure-form-field"
|
|
137
137
|
style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
|
|
138
138
|
label="${fg.field}"
|
|
139
139
|
value="${fg.value}"
|
|
140
140
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
141
|
+
.displayMetadata="${displayMetadata}"
|
|
141
142
|
.multiline="${fg.multiline || false}"
|
|
142
143
|
.lines=${fgRowSpan}
|
|
143
|
-
.defaultLanguage="${props.
|
|
144
|
-
.displayedLanguage="${props.displayedLanguage}"
|
|
144
|
+
.defaultLanguage="${props.language}"
|
|
145
145
|
.suggestionProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.suggestionProvider}
|
|
146
|
-
.ownersProvider=${
|
|
146
|
+
.ownersProvider=${ownersProvider}
|
|
147
147
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
148
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
148
149
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
149
150
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
150
151
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
151
152
|
.handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChanged)(formsValueContainer)}
|
|
152
153
|
.styleOptions="${fg.styleOptions}"
|
|
153
|
-
.readonly="${readonly || fg.readonly || (((
|
|
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)}"
|
|
154
155
|
></icure-form-items-list-field>`;
|
|
155
156
|
}
|
|
156
157
|
function renderMeasureField(fgSpan, fgRowSpan, fg) {
|
|
@@ -160,11 +161,12 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
160
161
|
class="icure-form-field"
|
|
161
162
|
label="${fg.field}"
|
|
162
163
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
164
|
+
.displayMetadata="${displayMetadata}"
|
|
163
165
|
value="${fg.value}"
|
|
164
166
|
unit="${fg.unit}"
|
|
165
|
-
.defaultLanguage="${props.
|
|
166
|
-
.displayedLanguage="${props.displayedLanguage}"
|
|
167
|
+
.defaultLanguage="${props.language}"
|
|
167
168
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
169
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
168
170
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
169
171
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
170
172
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -180,10 +182,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
180
182
|
class="icure-form-field"
|
|
181
183
|
label="${fg.field}"
|
|
182
184
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
185
|
+
.displayMetadata="${displayMetadata}"
|
|
183
186
|
value="${fg.value}"
|
|
184
|
-
.defaultLanguage="${props.
|
|
185
|
-
.displayedLanguage="${props.displayedLanguage}"
|
|
187
|
+
.defaultLanguage="${props.language}"
|
|
186
188
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
189
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
187
190
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
188
191
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
189
192
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -199,10 +202,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
199
202
|
class="icure-form-field"
|
|
200
203
|
label="${fg.field}"
|
|
201
204
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
.
|
|
205
|
+
.displayMetadata="${displayMetadata}"
|
|
206
|
+
value="${fg.now ? (0, dates_1.currentDate)() : fg.value}"
|
|
207
|
+
.defaultLanguage="${props.language}"
|
|
205
208
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
209
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
206
210
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
207
211
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
208
212
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -218,10 +222,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
218
222
|
class="icure-form-field"
|
|
219
223
|
label="${fg.field}"
|
|
220
224
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
.
|
|
225
|
+
.displayMetadata="${displayMetadata}"
|
|
226
|
+
value="${fg.now ? (0, dates_1.currentTime)() : fg.value}"
|
|
227
|
+
.defaultLanguage="${props.language}"
|
|
224
228
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
229
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
225
230
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
226
231
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
227
232
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -237,10 +242,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
237
242
|
class="icure-form-field"
|
|
238
243
|
label="${fg.field}"
|
|
239
244
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
.
|
|
245
|
+
.displayMetadata="${displayMetadata}"
|
|
246
|
+
value="${fg.now ? (0, dates_1.currentDateTime)() : fg.value}"
|
|
247
|
+
.defaultLanguage="${props.language}"
|
|
243
248
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
249
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
244
250
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
245
251
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
246
252
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -256,17 +262,17 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
256
262
|
class="icure-form-field"
|
|
257
263
|
.label=${fg.field}
|
|
258
264
|
.displayedLabels=${(0, utils_1.getLabels)(fg)}
|
|
259
|
-
.defaultLanguage="${props.
|
|
260
|
-
.displayedLanguage="${props.displayedLanguage}"
|
|
265
|
+
.defaultLanguage="${props.language}"
|
|
261
266
|
.translate="${fg.translate}"
|
|
262
267
|
.sortOptions="${fg.sortOptions}"
|
|
263
268
|
value="${fg.value}"
|
|
264
269
|
.codifications="${fg.codifications}"
|
|
265
270
|
.optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
|
|
266
|
-
? (language,
|
|
267
|
-
: (language,
|
|
271
|
+
? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
|
|
272
|
+
: (language, terms) => (0, code_utils_1.filterAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, terms)}"
|
|
268
273
|
.ownersProvider=${ownersProvider}
|
|
269
274
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
275
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
270
276
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
271
277
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
272
278
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -282,16 +288,17 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
282
288
|
class="icure-form-field"
|
|
283
289
|
.label="${fg.field}"
|
|
284
290
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
285
|
-
.
|
|
286
|
-
.
|
|
291
|
+
.displayMetadata="${displayMetadata}"
|
|
292
|
+
.defaultLanguage="${props.language}"
|
|
287
293
|
.translate="${fg.translate}"
|
|
288
294
|
.sortOptions="${fg.sortOptions}"
|
|
289
295
|
.codifications="${fg.codifications}"
|
|
290
296
|
.optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
|
|
291
|
-
? (language,
|
|
292
|
-
: (language,
|
|
297
|
+
? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
|
|
298
|
+
: (language, terms) => (0, code_utils_1.filterAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, terms)}"
|
|
293
299
|
.ownersProvider=${ownersProvider}
|
|
294
300
|
.translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
|
|
301
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
295
302
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
296
303
|
.metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
|
|
297
304
|
.handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
|
|
@@ -307,17 +314,18 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
307
314
|
class="icure-form-field"
|
|
308
315
|
.label="${fg.field}"
|
|
309
316
|
.displayedLabels="${(0, utils_1.getLabels)(fg)}"
|
|
310
|
-
.
|
|
311
|
-
.
|
|
317
|
+
.displayMetadata="${displayMetadata}"
|
|
318
|
+
.defaultLanguage="${props.language}"
|
|
312
319
|
.translate="${fg.translate}"
|
|
313
320
|
.sortOptions="${fg.sortOptions}"
|
|
314
321
|
value="${fg.value}"
|
|
315
322
|
.codifications="${fg.codifications}"
|
|
316
323
|
.optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
|
|
317
|
-
? (language,
|
|
318
|
-
: (language,
|
|
324
|
+
? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
|
|
325
|
+
: (language, terms) => (0, code_utils_1.filterAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, terms)}"
|
|
319
326
|
.ownersProvider="${ownersProvider}"
|
|
320
327
|
.translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}"
|
|
328
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
321
329
|
.valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
|
|
322
330
|
.metadataProvider="${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}"
|
|
323
331
|
.handleValueChanged="${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}"
|
|
@@ -333,7 +341,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
333
341
|
class="icure-form-field"
|
|
334
342
|
labelPosition=${props.labelPosition}
|
|
335
343
|
label="${fg.field}"
|
|
336
|
-
.translationProvider
|
|
344
|
+
.translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}"
|
|
345
|
+
.validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
|
|
337
346
|
.styleOptions="${fg.styleOptions}"
|
|
338
347
|
.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)}"
|
|
339
348
|
></icure-form-label>`;
|
|
@@ -347,8 +356,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
|
|
|
347
356
|
if (computedProperties['hidden']) {
|
|
348
357
|
return (0, lit_1.html) ``;
|
|
349
358
|
}
|
|
350
|
-
const fgSpan = (_c = (_b = computedProperties['span']) !== null && _b !== void 0 ? _b : fg.span) !== null && _c !== void 0 ? _c : 6;
|
|
351
|
-
const fgRowSpan = (_e = (_d = computedProperties['rowSpan']) !== null && _d !== void 0 ? _d : fg.rowSpan) !== null && _e !== void 0 ? _e : 1;
|
|
359
|
+
const fgSpan = ((_c = (_b = computedProperties['span']) !== null && _b !== void 0 ? _b : fg.span) !== null && _c !== void 0 ? _c : 6);
|
|
360
|
+
const fgRowSpan = ((_e = (_d = computedProperties['rowSpan']) !== null && _d !== void 0 ? _d : fg.rowSpan) !== null && _e !== void 0 ? _e : 1);
|
|
352
361
|
if (fg.clazz === 'group' && ((_f = fg.fields) === null || _f === void 0 ? void 0 : _f.length)) {
|
|
353
362
|
return renderGroup(fg.copy(Object.assign({}, computedProperties)), fgSpan, level);
|
|
354
363
|
}
|