@icure/form 2.0.11 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/cache/@babel-runtime-npm-7.26.9-8369ff039f-838492d8a9.zip +0 -0
- package/.yarn/cache/@icure-motss-app-datepicker-npm-6.0.0-rc.36-66219db2d1-5f34375d97.zip +0 -0
- package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.3.0-6bfa115c08-c2003e8bb6.zip +0 -0
- package/.yarn/cache/@lit-reactive-element-npm-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/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/date-fns-npm-2.30.0-895c790e0f-f7be015232.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.1.1-bb20932b82-74d0f2d6fb.zip +0 -0
- package/.yarn/cache/lit-html-npm-2.8.0-82f88d6ebf-2d70df0724.zip +0 -0
- package/.yarn/cache/lit-html-npm-3.2.1-1662fc597d-1bacd9f8b2.zip +0 -0
- package/.yarn/cache/lit-npm-2.8.0-92bb1333a4-2480e733f7.zip +0 -0
- package/.yarn/cache/lit-npm-3.2.1-27cb5b7782-ee22bbc53d.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/orderedmap-npm-2.1.1-64b8a0684f-082cf970b0.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.24.1-6467e55b40-386076e2ff.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.10.2-1c2da9123e-93b0c03aff.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.8.0-ea3ca0411f-6d16ca4f95.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.32.7-63c3e4b182-40c9038a52.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.38.0-9061dc9cf4-0d0f17c1b2.zip +0 -0
- package/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-13466d7ed5.zip +0 -0
- package/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-9f57c93277.zip +0 -0
- package/.yarn/cache/rope-sequence-npm-1.3.4-3b09587e5f-95cca2f99a.zip +0 -0
- package/.yarn/cache/tslib-npm-2.8.1-66590b21b8-e4aba30e63.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.3-38590e83f2-45b3cfec63.zip +0 -0
- package/.yarn/install-state.gz +0 -0
- package/components/common/field-with-options.js +9 -5
- package/components/common/field-with-options.js.map +1 -1
- package/components/common/field.js +25 -21
- package/components/common/field.js.map +1 -1
- package/components/common/index.js +17 -1
- package/components/common/index.js.map +1 -1
- package/components/common/metadata-buttons-bar.d.ts +1 -1
- package/components/common/metadata-buttons-bar.js +58 -65
- package/components/common/metadata-buttons-bar.js.map +1 -1
- package/components/common/styles/paths.js +13 -10
- package/components/common/styles/paths.js.map +1 -1
- package/components/common/utils.js +21 -11
- package/components/common/utils.js.map +1 -1
- package/components/icure-button/index.js +19 -15
- package/components/icure-button/index.js.map +1 -1
- package/components/icure-button-group/index.js +26 -22
- package/components/icure-button-group/index.js.map +1 -1
- package/components/icure-date-picker/index.d.ts +2 -2
- package/components/icure-date-picker/index.js +31 -27
- package/components/icure-date-picker/index.js.map +1 -1
- package/components/icure-dropdown-field/index.js +25 -21
- package/components/icure-dropdown-field/index.js.map +1 -1
- package/components/icure-form/fields/button/button.js +17 -13
- package/components/icure-form/fields/button/button.js.map +1 -1
- package/components/icure-form/fields/button/index.js +17 -1
- package/components/icure-form/fields/button/index.js.map +1 -1
- package/components/icure-form/fields/button-group/checkbox.js +14 -10
- package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
- package/components/icure-form/fields/button-group/index.js +18 -2
- package/components/icure-form/fields/button-group/index.js.map +1 -1
- package/components/icure-form/fields/button-group/radio-button.js +14 -10
- package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-picker.js +12 -8
- package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-time-picker.js +12 -8
- package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/index.js +19 -3
- package/components/icure-form/fields/date-picker/index.js.map +1 -1
- package/components/icure-form/fields/date-picker/time-picker.js +12 -8
- package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
- package/components/icure-form/fields/dropdown/dropdown-field.js +14 -10
- package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
- package/components/icure-form/fields/dropdown/index.js +17 -1
- package/components/icure-form/fields/dropdown/index.js.map +1 -1
- package/components/icure-form/fields/index.js +26 -10
- package/components/icure-form/fields/index.js.map +1 -1
- package/components/icure-form/fields/items-list-field/index.js +17 -1
- package/components/icure-form/fields/items-list-field/index.js.map +1 -1
- package/components/icure-form/fields/items-list-field/items-list-field.js +11 -7
- package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
- package/components/icure-form/fields/label/index.js +17 -1
- package/components/icure-form/fields/label/index.js.map +1 -1
- package/components/icure-form/fields/label/label.js +15 -11
- package/components/icure-form/fields/label/label.js.map +1 -1
- package/components/icure-form/fields/measure-field/index.js +17 -1
- package/components/icure-form/fields/measure-field/index.js.map +1 -1
- package/components/icure-form/fields/measure-field/measure-field.js +12 -8
- package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
- package/components/icure-form/fields/number-field/index.js +17 -1
- package/components/icure-form/fields/number-field/index.js.map +1 -1
- package/components/icure-form/fields/number-field/number-field.js +12 -8
- package/components/icure-form/fields/number-field/number-field.js.map +1 -1
- package/components/icure-form/fields/text-field/index.js +17 -1
- package/components/icure-form/fields/text-field/index.js.map +1 -1
- package/components/icure-form/fields/text-field/text-field.js +24 -20
- package/components/icure-form/fields/text-field/text-field.js.map +1 -1
- package/components/icure-form/fields/token-field/index.js +17 -1
- package/components/icure-form/fields/token-field/index.js.map +1 -1
- package/components/icure-form/fields/token-field/token-field.js +12 -8
- package/components/icure-form/fields/token-field/token-field.js.map +1 -1
- package/components/icure-form/fields/utils/index.js +13 -5
- package/components/icure-form/fields/utils/index.js.map +1 -1
- package/components/icure-form/index.js +32 -28
- package/components/icure-form/index.js.map +1 -1
- package/components/icure-form/renderer/form/form-selection-button.js +19 -15
- package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
- package/components/icure-form/renderer/form/form.js +127 -123
- package/components/icure-form/renderer/form/form.js.map +1 -1
- package/components/icure-form/renderer/index.js +2 -1
- package/components/icure-label/index.js +17 -13
- package/components/icure-label/index.js.map +1 -1
- package/components/icure-text-field/index.js +106 -98
- package/components/icure-text-field/index.js.map +1 -1
- package/components/icure-text-field/plugin/caret-fix-plugin.js +7 -3
- package/components/icure-text-field/plugin/caret-fix-plugin.js.map +1 -1
- package/components/icure-text-field/plugin/has-content-class-plugin.js +7 -3
- package/components/icure-text-field/plugin/has-content-class-plugin.js.map +1 -1
- package/components/icure-text-field/plugin/mask-plugin.js +11 -7
- package/components/icure-text-field/plugin/mask-plugin.js.map +1 -1
- package/components/icure-text-field/plugin/regexp-plugin.js +9 -5
- package/components/icure-text-field/plugin/regexp-plugin.js.map +1 -1
- package/components/icure-text-field/prosemirror-commands.js +15 -10
- package/components/icure-text-field/prosemirror-commands.js.map +1 -1
- package/components/icure-text-field/prosemirror-utils.js +5 -1
- package/components/icure-text-field/prosemirror-utils.js.map +1 -1
- package/components/icure-text-field/schema/common-marks.js +7 -3
- package/components/icure-text-field/schema/common-marks.js.map +1 -1
- package/components/icure-text-field/schema/date-time-schema.js +9 -3
- package/components/icure-text-field/schema/date-time-schema.js.map +1 -1
- package/components/icure-text-field/schema/decimal-schema.js +5 -1
- package/components/icure-text-field/schema/decimal-schema.js.map +1 -1
- package/components/icure-text-field/schema/index.js +21 -17
- package/components/icure-text-field/schema/index.js.map +1 -1
- package/components/icure-text-field/schema/items-list-schema.js +7 -3
- package/components/icure-text-field/schema/items-list-schema.js.map +1 -1
- package/components/icure-text-field/schema/markdown-schema.js +9 -5
- package/components/icure-text-field/schema/markdown-schema.js.map +1 -1
- package/components/icure-text-field/schema/measure-schema.js +12 -6
- package/components/icure-text-field/schema/measure-schema.js.map +1 -1
- package/components/icure-text-field/schema/token-schema.js +9 -5
- package/components/icure-text-field/schema/token-schema.js.map +1 -1
- package/components/icure-text-field/schema/utils.js +7 -2
- package/components/icure-text-field/schema/utils.js.map +1 -1
- package/components/icure-text-field/selection-companion.js +5 -1
- package/components/icure-text-field/selection-companion.js.map +1 -1
- package/components/icure-text-field/suggestion-palette.js +10 -3
- package/components/icure-text-field/suggestion-palette.js.map +1 -1
- package/components/index.js +21 -5
- package/components/index.js.map +1 -1
- package/components/model/index.js +46 -22
- package/components/model/index.js.map +1 -1
- package/components/themes/default/index.js +32 -30
- package/components/themes/default/index.js.map +1 -1
- package/components/themes/icure-blue/index.js +47 -45
- package/components/themes/icure-blue/index.js.map +1 -1
- package/components/themes/kendo/index.js +47 -45
- package/components/themes/kendo/index.js.map +1 -1
- package/conversion/ckmeans-grouping.js +10 -3
- package/conversion/ckmeans-grouping.js.map +1 -1
- package/conversion/ckmeans.js +3 -1
- package/conversion/ckmeans.js.map +1 -1
- package/generic/index.js +17 -1
- package/generic/index.js.map +1 -1
- package/generic/model.js +2 -1
- package/icure/form-values-container.d.ts +14 -14
- package/icure/form-values-container.js +45 -37
- package/icure/form-values-container.js.map +1 -1
- package/icure/icure-utils.d.ts +7 -7
- package/icure/icure-utils.js +28 -16
- package/icure/icure-utils.js.map +1 -1
- package/icure/index.js +18 -2
- package/icure/index.js.map +1 -1
- package/icure/model.d.ts +1 -1
- package/icure/model.js +2 -1
- package/icure/model.js.map +1 -1
- package/index.js +17 -1
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/utils/code-utils.d.ts +10 -1
- package/utils/code-utils.js +59 -11
- package/utils/code-utils.js.map +1 -1
- package/utils/dates.js +21 -9
- package/utils/dates.js.map +1 -1
- package/utils/fields-values-provider.js +17 -8
- package/utils/fields-values-provider.js.map +1 -1
- package/utils/form-value-container.js +7 -3
- package/utils/form-value-container.js.map +1 -1
- package/utils/interpreter.js +5 -1
- package/utils/interpreter.js.map +1 -1
- package/utils/languages.js +8 -3
- package/utils/languages.js.map +1 -1
- package/utils/markdown.js +11 -6
- package/utils/markdown.js.map +1 -1
- package/utils/no-lodash.js +9 -3
- package/utils/no-lodash.js.map +1 -1
- package/utils/primitive.js +12 -7
- package/utils/primitive.js.map +1 -1
- package/conversion/icure-convert.d.ts +0 -3
- package/conversion/icure-convert.js +0 -161
- package/conversion/icure-convert.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -16,11 +17,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
17
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
18
|
});
|
|
18
19
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.TextField = void 0;
|
|
22
|
+
const lit_1 = require("lit");
|
|
23
|
+
const decorators_js_1 = require("lit/decorators.js");
|
|
24
|
+
const common_1 = require("../../../common");
|
|
25
|
+
const utils_1 = require("../utils");
|
|
26
|
+
class TextField extends common_1.Field {
|
|
24
27
|
constructor() {
|
|
25
28
|
super(...arguments);
|
|
26
29
|
//Boolean value is parsed as text, so we also need to use string type
|
|
@@ -40,7 +43,7 @@ export class TextField extends Field {
|
|
|
40
43
|
var _a;
|
|
41
44
|
const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
42
45
|
return (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {
|
|
43
|
-
return html `<icure-text-field
|
|
46
|
+
return (0, lit_1.html) `<icure-text-field
|
|
44
47
|
.readonly="${this.readonly}"
|
|
45
48
|
.displayMetadata="${this.displayMetadata}"
|
|
46
49
|
label="${this.label}"
|
|
@@ -59,58 +62,59 @@ export class TextField extends Field {
|
|
|
59
62
|
.codeColorProvider=${this.codeColorProvider}
|
|
60
63
|
.linkColorProvider=${this.linkColorProvider}
|
|
61
64
|
.codeContentProvider=${this.codeContentProvider}
|
|
62
|
-
.valueProvider=${singleValueProvider(this.valueProvider, id)}
|
|
65
|
+
.valueProvider=${(0, utils_1.singleValueProvider)(this.valueProvider, id)}
|
|
63
66
|
.validationErrorsProvider=${this.validationErrorsProvider}
|
|
64
67
|
.metadataProvider=${this.metadataProvider}
|
|
65
|
-
.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
|
|
66
|
-
.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
|
|
68
|
+
.handleValueChanged=${(0, utils_1.handleSingleValueChanged)(this.handleValueChanged, id)}
|
|
69
|
+
.handleMetadataChanged=${(0, utils_1.handleSingleMetadataChanged)(this.handleMetadataChanged, id)}
|
|
67
70
|
.styleOptions=${this.styleOptions}
|
|
68
71
|
></icure-text-field>`;
|
|
69
72
|
});
|
|
70
73
|
}
|
|
71
74
|
}
|
|
75
|
+
exports.TextField = TextField;
|
|
72
76
|
__decorate([
|
|
73
|
-
property(),
|
|
77
|
+
(0, decorators_js_1.property)(),
|
|
74
78
|
__metadata("design:type", Object)
|
|
75
79
|
], TextField.prototype, "multiline", void 0);
|
|
76
80
|
__decorate([
|
|
77
|
-
property(),
|
|
81
|
+
(0, decorators_js_1.property)(),
|
|
78
82
|
__metadata("design:type", Object)
|
|
79
83
|
], TextField.prototype, "lines", void 0);
|
|
80
84
|
__decorate([
|
|
81
|
-
property(),
|
|
85
|
+
(0, decorators_js_1.property)(),
|
|
82
86
|
__metadata("design:type", Object)
|
|
83
87
|
], TextField.prototype, "rows", void 0);
|
|
84
88
|
__decorate([
|
|
85
|
-
property(),
|
|
89
|
+
(0, decorators_js_1.property)(),
|
|
86
90
|
__metadata("design:type", Object)
|
|
87
91
|
], TextField.prototype, "grows", void 0);
|
|
88
92
|
__decorate([
|
|
89
|
-
property(),
|
|
93
|
+
(0, decorators_js_1.property)(),
|
|
90
94
|
__metadata("design:type", String)
|
|
91
95
|
], TextField.prototype, "unit", void 0);
|
|
92
96
|
__decorate([
|
|
93
|
-
property(),
|
|
97
|
+
(0, decorators_js_1.property)(),
|
|
94
98
|
__metadata("design:type", Set)
|
|
95
99
|
], TextField.prototype, "suggestionStopWords", void 0);
|
|
96
100
|
__decorate([
|
|
97
|
-
property(),
|
|
101
|
+
(0, decorators_js_1.property)(),
|
|
98
102
|
__metadata("design:type", Function)
|
|
99
103
|
], TextField.prototype, "linksProvider", void 0);
|
|
100
104
|
__decorate([
|
|
101
|
-
property(),
|
|
105
|
+
(0, decorators_js_1.property)(),
|
|
102
106
|
__metadata("design:type", Function)
|
|
103
107
|
], TextField.prototype, "suggestionProvider", void 0);
|
|
104
108
|
__decorate([
|
|
105
|
-
property(),
|
|
109
|
+
(0, decorators_js_1.property)(),
|
|
106
110
|
__metadata("design:type", Function)
|
|
107
111
|
], TextField.prototype, "codeColorProvider", void 0);
|
|
108
112
|
__decorate([
|
|
109
|
-
property(),
|
|
113
|
+
(0, decorators_js_1.property)(),
|
|
110
114
|
__metadata("design:type", Function)
|
|
111
115
|
], TextField.prototype, "linkColorProvider", void 0);
|
|
112
116
|
__decorate([
|
|
113
|
-
property(),
|
|
117
|
+
(0, decorators_js_1.property)(),
|
|
114
118
|
__metadata("design:type", Function)
|
|
115
119
|
], TextField.prototype, "codeContentProvider", void 0);
|
|
116
120
|
//# sourceMappingURL=text-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/text-field/text-field.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/text-field/text-field.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { Suggestion } from '../../../../generic'\n\nexport class TextField extends Field {\n\t//Boolean value is parsed as text, so we also need to use string type\n\t@property() multiline: boolean | string = false\n\t@property() lines = 1\n\t@property() rows = 1\n\t@property() grows = false\n\t@property() unit?: string = ''\n\t@property() suggestionStopWords: Set<string> = new Set<string>()\n\t@property() linksProvider: (sug: { id: string; code: string; text: string; terms: string[] }) => Promise<{ href: string; title: string } | undefined> = () =>\n\t\tPromise.resolve(undefined)\n\t@property() suggestionProvider: (terms: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() codeColorProvider: (type: string, code: string) => string = () => 'XI'\n\t@property() linkColorProvider: (type: string, code: string) => string = () => 'cat1'\n\t@property() codeContentProvider: (codes: { type: string; code: string }[]) => string = (codes) => codes.map((c) => c.code).join(',')\n\n\trender() {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t.multiline=\"${this.multiline}\"\n\t\t\t\t.lines=\"${this.lines}\"\n\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\tschema=\"${this.multiline ? 'text-document' : 'styled-text-with-codes'}\"\n\t\t\t\t?suggestions=${!!this.suggestionProvider}\n\t\t\t\t?links=${!!this.linksProvider}\n\t\t\t\t.linksProvider=${this.linksProvider}\n\t\t\t\t.suggestionProvider=${this.suggestionProvider}\n\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t.codeColorProvider=${this.codeColorProvider}\n\t\t\t\t.linkColorProvider=${this.linkColorProvider}\n\t\t\t\t.codeContentProvider=${this.codeContentProvider}\n\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t></icure-text-field>`\n\t\t})\n\t}\n}\n"]}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./token-field"), exports);
|
|
2
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/token-field/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/token-field/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B","sourcesContent":["export * from './token-field'\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -16,10 +17,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
17
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
18
|
});
|
|
18
19
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.TokenField = void 0;
|
|
22
|
+
const lit_1 = require("lit");
|
|
23
|
+
const common_1 = require("../../../common");
|
|
24
|
+
const decorators_js_1 = require("lit/decorators.js");
|
|
25
|
+
class TokenField extends common_1.Field {
|
|
23
26
|
constructor() {
|
|
24
27
|
super(...arguments);
|
|
25
28
|
this.multiline = false;
|
|
@@ -27,7 +30,7 @@ export class TokenField extends Field {
|
|
|
27
30
|
this.lines = 1;
|
|
28
31
|
}
|
|
29
32
|
render() {
|
|
30
|
-
return html `<icure-text-field
|
|
33
|
+
return (0, lit_1.html) `<icure-text-field
|
|
31
34
|
.readonly="${this.readonly}"
|
|
32
35
|
label="${this.label}"
|
|
33
36
|
.multiline="${this.multiline}"
|
|
@@ -46,16 +49,17 @@ export class TokenField extends Field {
|
|
|
46
49
|
></icure-text-field>`;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
52
|
+
exports.TokenField = TokenField;
|
|
49
53
|
__decorate([
|
|
50
|
-
property(),
|
|
54
|
+
(0, decorators_js_1.property)(),
|
|
51
55
|
__metadata("design:type", Object)
|
|
52
56
|
], TokenField.prototype, "multiline", void 0);
|
|
53
57
|
__decorate([
|
|
54
|
-
property(),
|
|
58
|
+
(0, decorators_js_1.property)(),
|
|
55
59
|
__metadata("design:type", Function)
|
|
56
60
|
], TokenField.prototype, "suggestionProvider", void 0);
|
|
57
61
|
__decorate([
|
|
58
|
-
property(),
|
|
62
|
+
(0, decorators_js_1.property)(),
|
|
59
63
|
__metadata("design:type", Object)
|
|
60
64
|
], TokenField.prototype, "lines", void 0);
|
|
61
65
|
//# sourceMappingURL=token-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/token-field/token-field.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/token-field/token-field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6BAA0B;AAC1B,4CAAuC;AACvC,qDAA4C;AAG5C,MAAa,UAAW,SAAQ,cAAK;IAArC;;QACa,cAAS,GAAqB,KAAK,CAAA;QACnC,uBAAkB,GAA+C,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;QAC/E,UAAK,GAAG,CAAC,CAAA;IAoBtB,CAAC;IAnBA,MAAM;QACL,OAAO,IAAA,UAAI,EAAA;gBACG,IAAI,CAAC,QAAQ;YACjB,IAAI,CAAC,KAAK;iBACL,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,KAAK;uBACA,IAAI,CAAC,eAAe;uBACpB,IAAI,CAAC,eAAe;;4BAEf,IAAI,CAAC,qBAAqB;yBAC7B,IAAI,CAAC,kBAAkB;uBACzB,IAAI,CAAC,gBAAgB;qBACvB,IAAI,CAAC,cAAc;yBACf,IAAI,CAAC,kBAAkB;0BACtB,IAAI,CAAC,mBAAmB;+BACnB,IAAI,CAAC,wBAAwB;oBACxC,IAAI,CAAC,aAAa;uBACf,CAAA;IACtB,CAAC;CACD;AAvBD,gCAuBC;AAtBY;IAAX,IAAA,wBAAQ,GAAE;;6CAAoC;AACnC;IAAX,IAAA,wBAAQ,GAAE;;sDAAgF;AAC/E;IAAX,IAAA,wBAAQ,GAAE;;yCAAU","sourcesContent":["import { html } from 'lit'\nimport { Field } from '../../../common'\nimport { property } from 'lit/decorators.js'\nimport { Suggestion } from '../../../../generic'\n\nexport class TokenField extends Field {\n\t@property() multiline: boolean | string = false\n\t@property() suggestionProvider: (terms: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() lines = 1\n\trender() {\n\t\treturn html`<icure-text-field\n\t\t\t.readonly=\"${this.readonly}\"\n\t\t\tlabel=\"${this.label}\"\n\t\t\t.multiline=\"${this.multiline}\"\n\t\t\t.lines=\"${this.lines}\"\n\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\tschema=\"tokens-list\"\n\t\t\t.handleMetadataChanged=${this.handleMetadataChanged}\n\t\t\t.handleValueChanged=${this.handleValueChanged}\n\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t.suggestionProvider=${this.suggestionProvider}\n\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t.valueProvider=${this.valueProvider}\n\t\t></icure-text-field>`\n\t}\n}\n"]}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractValues = exports.extractSingleValue = exports.handleSingleMetadataChanged = exports.handleSingleValueChanged = exports.singleValueProvider = void 0;
|
|
4
|
+
const singleValueProvider = (valueProvider, id) => valueProvider &&
|
|
2
5
|
(() => id && valueProvider
|
|
3
6
|
? {
|
|
4
7
|
[id]: valueProvider()[id],
|
|
5
8
|
}
|
|
6
9
|
: {});
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
exports.singleValueProvider = singleValueProvider;
|
|
11
|
+
const handleSingleValueChanged = (handleValueChanged, id) => handleValueChanged && ((label, language, value) => handleValueChanged === null || handleValueChanged === void 0 ? void 0 : handleValueChanged(label, language, value, id));
|
|
12
|
+
exports.handleSingleValueChanged = handleSingleValueChanged;
|
|
13
|
+
const handleSingleMetadataChanged = (handleMetadataChanged, id) => handleMetadataChanged && ((metadata) => handleMetadataChanged === null || handleMetadataChanged === void 0 ? void 0 : handleMetadataChanged(metadata, id));
|
|
14
|
+
exports.handleSingleMetadataChanged = handleSingleMetadataChanged;
|
|
15
|
+
const extractSingleValue = (value, id) => {
|
|
10
16
|
if (!value) {
|
|
11
17
|
return [undefined, undefined];
|
|
12
18
|
}
|
|
@@ -21,7 +27,8 @@ export const extractSingleValue = (value, id) => {
|
|
|
21
27
|
return [id, value[id]];
|
|
22
28
|
}
|
|
23
29
|
};
|
|
24
|
-
|
|
30
|
+
exports.extractSingleValue = extractSingleValue;
|
|
31
|
+
const extractValues = (value, metadataProvider, id) => {
|
|
25
32
|
if (!value) {
|
|
26
33
|
return [];
|
|
27
34
|
}
|
|
@@ -37,4 +44,5 @@ export const extractValues = (value, metadataProvider, id) => {
|
|
|
37
44
|
});
|
|
38
45
|
}
|
|
39
46
|
};
|
|
47
|
+
exports.extractValues = extractValues;
|
|
40
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldMetadata, FieldValue } from '../../../model'\nimport { Version, VersionedData } from '../../../../generic'\n\nexport const singleValueProvider = (valueProvider?: () => VersionedData<FieldValue>, id?: string) =>\n\tvalueProvider &&\n\t(() =>\n\t\tid && valueProvider\n\t\t\t? {\n\t\t\t\t\t[id]: valueProvider()[id],\n\t\t\t }\n\t\t\t: {})\n\nexport const handleSingleValueChanged = (handleValueChanged?: (label: string, language: string, value?: FieldValue, id?: string) => string | undefined, id?: string) =>\n\thandleValueChanged && ((label: string, language: string, value: FieldValue) => handleValueChanged?.(label, language, value, id))\n\nexport const handleSingleMetadataChanged = (handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined, id?: string) =>\n\thandleMetadataChanged && ((metadata: FieldMetadata) => handleMetadataChanged?.(metadata, id))\n\nexport const extractSingleValue = <V extends FieldValue>(value?: VersionedData<V>, id?: string): [string, Version<V>[]] | [undefined, undefined] => {\n\tif (!value) {\n\t\treturn [undefined, undefined]\n\t}\n\tif (id && value[id]) {\n\t\treturn [id, value[id]]\n\t} else {\n\t\tif (Object.keys(value).length > 1) {\n\t\t\tconsole.log('Warning: multiple values found for a single value field')\n\t\t}\n\t\tconst id = Object.keys(value)[0]\n\t\treturn [id, value[id]]\n\t}\n}\n\nexport const extractValues = <V extends FieldValue>(\n\tvalue: VersionedData<V> | undefined,\n\tmetadataProvider: (id: string, revisions: (string | null)[]) => VersionedData<FieldMetadata>,\n\tid?: string,\n): [string, Version<V>[]][] => {\n\tif (!value) {\n\t\treturn []\n\t}\n\tif (id && value[id]) {\n\t\treturn [[id, value[id]]]\n\t} else {\n\t\treturn Object.entries(value).sort(([id1, v1], [id2, v2]) => {\n\t\t\tconst m1 = metadataProvider(id1, v1[0].revision ? [v1[0].revision] : [null])[id1]\n\t\t\tconst m2 = metadataProvider(id2, v2[0].revision ? [v2[0].revision] : [null])[id2]\n\t\t\treturn (m1?.[0]?.value?.index ?? 0) - (m2?.[0]?.value?.index ?? 0)\n\t\t})\n\t}\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -7,14 +8,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
10
|
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IcureForm = void 0;
|
|
10
13
|
// Import the LitElement base class and html helper function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
const lit_1 = require("lit");
|
|
15
|
+
const decorators_js_1 = require("lit/decorators.js");
|
|
16
|
+
const form_1 = require("./renderer/form/form");
|
|
17
|
+
const model_1 = require("../model");
|
|
15
18
|
// @ts-ignore
|
|
16
|
-
|
|
17
|
-
const baseCss = css `@charset "UTF-8";
|
|
19
|
+
const lit_2 = require("lit");
|
|
20
|
+
const baseCss = (0, lit_2.css) `@charset "UTF-8";
|
|
18
21
|
:host {
|
|
19
22
|
--bg-color-1: #f44336;
|
|
20
23
|
}
|
|
@@ -1099,11 +1102,11 @@ input[type=radio] {
|
|
|
1099
1102
|
font-weight: 500;
|
|
1100
1103
|
height: 1.4em;
|
|
1101
1104
|
}`;
|
|
1102
|
-
|
|
1105
|
+
const languages_1 = require("../../utils/languages");
|
|
1103
1106
|
/**
|
|
1104
1107
|
* Form element
|
|
1105
1108
|
*/
|
|
1106
|
-
|
|
1109
|
+
class IcureForm extends lit_1.LitElement {
|
|
1107
1110
|
constructor() {
|
|
1108
1111
|
super();
|
|
1109
1112
|
this.renderer = 'form';
|
|
@@ -1111,7 +1114,7 @@ export class IcureForm extends LitElement {
|
|
|
1111
1114
|
this.readonly = false;
|
|
1112
1115
|
this.displayMetadata = false;
|
|
1113
1116
|
this.labelPosition = undefined;
|
|
1114
|
-
this.languages = languages;
|
|
1117
|
+
this.languages = languages_1.languages;
|
|
1115
1118
|
this.formValuesContainer = undefined;
|
|
1116
1119
|
this.actionListener = () => undefined;
|
|
1117
1120
|
}
|
|
@@ -1120,69 +1123,70 @@ export class IcureForm extends LitElement {
|
|
|
1120
1123
|
}
|
|
1121
1124
|
render() {
|
|
1122
1125
|
var _a, _b;
|
|
1123
|
-
const renderer = this.renderer === 'form' ?
|
|
1126
|
+
const renderer = this.renderer === 'form' ? form_1.render : undefined;
|
|
1124
1127
|
console.log('Render metadata', this.displayMetadata);
|
|
1125
1128
|
if (!this.visible) {
|
|
1126
|
-
return html ``;
|
|
1129
|
+
return (0, lit_1.html) ``;
|
|
1127
1130
|
}
|
|
1128
1131
|
const translationTables = (_a = this.form) === null || _a === void 0 ? void 0 : _a.translations;
|
|
1129
1132
|
return renderer && this.form
|
|
1130
|
-
? renderer(this.form, { labelPosition: this.labelPosition, language: this.language }, this.formValuesContainer, (_b = this.translationProvider) !== null && _b !== void 0 ? _b : (translationTables ? defaultTranslationProvider(translationTables) : undefined), this.ownersProvider, this.optionsProvider, this.actionListener, this.languages, this.readonly, this.displayMetadata)
|
|
1133
|
+
? 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.optionsProvider, this.actionListener, this.languages, this.readonly, this.displayMetadata)
|
|
1131
1134
|
: this.form
|
|
1132
|
-
? html `<p>unknown renderer</p>`
|
|
1133
|
-
: html `<p>missing form</p>`;
|
|
1135
|
+
? (0, lit_1.html) `<p>unknown renderer</p>`
|
|
1136
|
+
: (0, lit_1.html) `<p>missing form</p>`;
|
|
1134
1137
|
}
|
|
1135
1138
|
}
|
|
1139
|
+
exports.IcureForm = IcureForm;
|
|
1136
1140
|
__decorate([
|
|
1137
|
-
property(),
|
|
1138
|
-
__metadata("design:type", Form)
|
|
1141
|
+
(0, decorators_js_1.property)(),
|
|
1142
|
+
__metadata("design:type", model_1.Form)
|
|
1139
1143
|
], IcureForm.prototype, "form", void 0);
|
|
1140
1144
|
__decorate([
|
|
1141
|
-
property(),
|
|
1145
|
+
(0, decorators_js_1.property)(),
|
|
1142
1146
|
__metadata("design:type", Object)
|
|
1143
1147
|
], IcureForm.prototype, "renderer", void 0);
|
|
1144
1148
|
__decorate([
|
|
1145
|
-
property(),
|
|
1149
|
+
(0, decorators_js_1.property)(),
|
|
1146
1150
|
__metadata("design:type", Object)
|
|
1147
1151
|
], IcureForm.prototype, "visible", void 0);
|
|
1148
1152
|
__decorate([
|
|
1149
|
-
property(),
|
|
1153
|
+
(0, decorators_js_1.property)(),
|
|
1150
1154
|
__metadata("design:type", Object)
|
|
1151
1155
|
], IcureForm.prototype, "readonly", void 0);
|
|
1152
1156
|
__decorate([
|
|
1153
|
-
property(),
|
|
1157
|
+
(0, decorators_js_1.property)(),
|
|
1154
1158
|
__metadata("design:type", Object)
|
|
1155
1159
|
], IcureForm.prototype, "displayMetadata", void 0);
|
|
1156
1160
|
__decorate([
|
|
1157
|
-
property(),
|
|
1161
|
+
(0, decorators_js_1.property)(),
|
|
1158
1162
|
__metadata("design:type", Object)
|
|
1159
1163
|
], IcureForm.prototype, "labelPosition", void 0);
|
|
1160
1164
|
__decorate([
|
|
1161
|
-
property(),
|
|
1165
|
+
(0, decorators_js_1.property)(),
|
|
1162
1166
|
__metadata("design:type", String)
|
|
1163
1167
|
], IcureForm.prototype, "language", void 0);
|
|
1164
1168
|
__decorate([
|
|
1165
|
-
property(),
|
|
1169
|
+
(0, decorators_js_1.property)(),
|
|
1166
1170
|
__metadata("design:type", Object)
|
|
1167
1171
|
], IcureForm.prototype, "languages", void 0);
|
|
1168
1172
|
__decorate([
|
|
1169
|
-
property(),
|
|
1173
|
+
(0, decorators_js_1.property)(),
|
|
1170
1174
|
__metadata("design:type", Object)
|
|
1171
1175
|
], IcureForm.prototype, "formValuesContainer", void 0);
|
|
1172
1176
|
__decorate([
|
|
1173
|
-
property(),
|
|
1177
|
+
(0, decorators_js_1.property)(),
|
|
1174
1178
|
__metadata("design:type", Function)
|
|
1175
1179
|
], IcureForm.prototype, "translationProvider", void 0);
|
|
1176
1180
|
__decorate([
|
|
1177
|
-
property(),
|
|
1181
|
+
(0, decorators_js_1.property)(),
|
|
1178
1182
|
__metadata("design:type", Function)
|
|
1179
1183
|
], IcureForm.prototype, "ownersProvider", void 0);
|
|
1180
1184
|
__decorate([
|
|
1181
|
-
property(),
|
|
1185
|
+
(0, decorators_js_1.property)(),
|
|
1182
1186
|
__metadata("design:type", Function)
|
|
1183
1187
|
], IcureForm.prototype, "optionsProvider", void 0);
|
|
1184
1188
|
__decorate([
|
|
1185
|
-
property(),
|
|
1189
|
+
(0, decorators_js_1.property)(),
|
|
1186
1190
|
__metadata("design:type", Function)
|
|
1187
1191
|
], IcureForm.prototype, "actionListener", void 0);
|
|
1188
1192
|
//# 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 { 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 width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 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\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 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: flex;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n box-sizing: border-box;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\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, languages } 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() languages?: { [iso: string]: string } = languages\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() optionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>\n\t@property() actionListener?: (event: string, payload: unknown) => void = () => undefined\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.optionsProvider,\n\t\t\t\t\tthis.actionListener,\n\t\t\t\t\tthis.languages,\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"]}
|
|
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 width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 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\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 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: flex;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n box-sizing: border-box;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\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, languages } 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() languages?: { [iso: string]: string } = languages\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() optionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>\n\t@property() actionListener?: (event: string, payload: unknown) => void = () => undefined\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.optionsProvider,\n\t\t\t\t\tthis.actionListener,\n\t\t\t\t\tthis.languages,\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"]}
|