@icure/form 3.0.39 → 3.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/cache/{@babel-runtime-npm-7.26.10-d01a90d446-22d2e0abb8.zip → @babel-runtime-npm-7.28.4-31bc1b0001-934b0a0460.zip} +0 -0
- package/.yarn/cache/{@icure-motss-app-datepicker-npm-6.0.0-rc.39-d00d21c35a-eefaed31a8.zip → @icure-motss-app-datepicker-npm-6.0.0-rc.40-ca1da7abbb-9bbe2bed34.zip} +0 -0
- package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.4.0-e5ef5fbeba-e267c25576.zip +0 -0
- package/.yarn/cache/{@lit-reactive-element-npm-2.1.0-77512b732b-fb36e9f64b.zip → @lit-reactive-element-npm-2.1.1-3875228c32-b9bbc9c089.zip} +0 -0
- package/.yarn/cache/{@lit-task-npm-1.0.2-01d3dd32e9-22e1265a62.zip → @lit-task-npm-1.0.3-48f265b3e9-790b6a2603.zip} +0 -0
- package/.yarn/cache/{lit-element-npm-4.1.1-bb20932b82-74d0f2d6fb.zip → lit-element-npm-4.2.1-b5bc114ced-5925326176.zip} +0 -0
- package/.yarn/cache/{lit-html-npm-3.2.1-1662fc597d-1bacd9f8b2.zip → lit-html-npm-3.3.1-e3722d4f4a-de07c66945.zip} +0 -0
- package/.yarn/cache/{lit-npm-3.2.1-27cb5b7782-ee22bbc53d.zip → lit-npm-3.3.1-8f683c51f1-fb88f1ff80.zip} +0 -0
- package/.yarn/cache/{prosemirror-commands-npm-1.7.0-212f35173c-a39225d534.zip → prosemirror-commands-npm-1.7.1-5b2afb6640-2316c40ea2.zip} +0 -0
- package/.yarn/cache/prosemirror-history-npm-1.5.0-e639d02880-6afb0e1d17.zip +0 -0
- package/.yarn/cache/prosemirror-keymap-npm-1.2.3-0e7e0c8195-0a2eed2771.zip +0 -0
- package/.yarn/cache/prosemirror-model-npm-1.25.4-e7ee2df3df-ab5aa609df.zip +0 -0
- package/.yarn/cache/prosemirror-state-npm-1.4.4-8b7e3a396c-1b5dba46c2.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.10.5-5b3b4f5f61-6f5921e53a.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.41.4-cf361fd330-b663b8c6ce.zip +0 -0
- package/.yarn/install-state.gz +0 -0
- package/components/common/field.d.ts +0 -1
- package/components/common/field.js +0 -5
- package/components/common/field.js.map +1 -1
- package/components/common/metadata-buttons-bar.d.ts +1 -1
- package/components/common/metadata-buttons-bar.js +2 -6
- package/components/common/metadata-buttons-bar.js.map +1 -1
- package/components/icure-button/index.js +0 -4
- package/components/icure-button/index.js.map +1 -1
- package/components/icure-button-group/index.js +0 -4
- package/components/icure-button-group/index.js.map +1 -1
- package/components/icure-date-picker/index.d.ts +2 -2
- package/components/icure-date-picker/index.js +3 -7
- package/components/icure-date-picker/index.js.map +1 -1
- package/components/icure-dropdown-field/index.js +0 -4
- package/components/icure-dropdown-field/index.js.map +1 -1
- package/components/icure-form/fields/button-group/checkbox.d.ts +0 -1
- package/components/icure-form/fields/button-group/checkbox.js +2 -39
- package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
- package/components/icure-form/fields/button-group/radio-button.d.ts +0 -1
- package/components/icure-form/fields/button-group/radio-button.js +2 -39
- package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-picker.d.ts +0 -1
- package/components/icure-form/fields/date-picker/date-picker.js +17 -54
- package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/date-time-picker.d.ts +0 -1
- package/components/icure-form/fields/date-picker/date-time-picker.js +17 -54
- package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
- package/components/icure-form/fields/date-picker/time-picker.d.ts +0 -1
- package/components/icure-form/fields/date-picker/time-picker.js +17 -54
- package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
- package/components/icure-form/fields/dropdown/dropdown-field.d.ts +0 -1
- package/components/icure-form/fields/dropdown/dropdown-field.js +2 -39
- package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
- package/components/icure-form/fields/items-list-field/items-list-field.d.ts +0 -1
- package/components/icure-form/fields/items-list-field/items-list-field.js +17 -55
- package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
- package/components/icure-form/fields/measure-field/measure-field.d.ts +0 -1
- package/components/icure-form/fields/measure-field/measure-field.js +2 -39
- package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
- package/components/icure-form/fields/number-field/number-field.d.ts +0 -1
- package/components/icure-form/fields/number-field/number-field.js +18 -55
- package/components/icure-form/fields/number-field/number-field.js.map +1 -1
- package/components/icure-form/fields/text-field/text-field.d.ts +0 -1
- package/components/icure-form/fields/text-field/text-field.js +28 -65
- package/components/icure-form/fields/text-field/text-field.js.map +1 -1
- package/components/icure-form/fields/token-field/token-field.d.ts +0 -1
- package/components/icure-form/fields/token-field/token-field.js +17 -55
- package/components/icure-form/fields/token-field/token-field.js.map +1 -1
- package/components/icure-form/fields/utils/index.d.ts +0 -1
- package/components/icure-form/fields/utils/index.js +0 -2
- package/components/icure-form/fields/utils/index.js.map +1 -1
- package/components/icure-form/index.d.ts +1 -1
- package/components/icure-form/index.js +5 -26
- package/components/icure-form/index.js.map +1 -1
- package/components/icure-form/renderer/form/form-selection-button.js +0 -4
- package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
- package/components/icure-form/renderer/form/form.d.ts +2 -7
- package/components/icure-form/renderer/form/form.js +454 -618
- package/components/icure-form/renderer/form/form.js.map +1 -1
- package/components/icure-form/renderer/index.d.ts +1 -1
- package/components/icure-form/renderer/index.js.map +1 -1
- package/components/icure-label/index.js +0 -4
- package/components/icure-label/index.js.map +1 -1
- package/components/icure-text-field/index.js +11 -10
- package/components/icure-text-field/index.js.map +1 -1
- package/components/model/index.d.ts +1 -15
- package/components/model/index.js +2 -13
- package/components/model/index.js.map +1 -1
- package/generic/model.d.ts +6 -6
- package/generic/model.js.map +1 -1
- package/icure/form-values-container.d.ts +42 -63
- package/icure/form-values-container.js +151 -192
- package/icure/form-values-container.js.map +1 -1
- package/icure/icure-utils.js +12 -30
- package/icure/icure-utils.js.map +1 -1
- package/icure/model.d.ts +2 -9
- package/icure/model.js +1 -7
- package/icure/model.js.map +1 -1
- package/package.json +1 -2
- package/utils/code-utils.d.ts +2 -3
- package/utils/code-utils.js +6 -5
- package/utils/code-utils.js.map +1 -1
- package/.yarn/cache/@icure-cardinal-sdk-npm-1.3.0-ts-2-d77151b3e6-86e1497829.zip +0 -0
- package/.yarn/cache/@js-joda-core-npm-3.2.0-d2526290e9-64625c2f22.zip +0 -0
- package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.3.0-6bfa115c08-c2003e8bb6.zip +0 -0
- package/.yarn/cache/@lit-reactive-element-npm-2.0.4-4836436301-368d788d9e.zip +0 -0
- package/.yarn/cache/format-util-npm-1.0.5-a524ca953a-0c8622e54a.zip +0 -0
- package/.yarn/cache/prosemirror-history-npm-1.4.1-ad68c86bb7-90f9bf59bc.zip +0 -0
- package/.yarn/cache/prosemirror-keymap-npm-1.2.2-efb8276b00-85fe4fc303.zip +0 -0
- package/.yarn/cache/prosemirror-model-npm-1.25.0-0870b04e23-e311e1e36c.zip +0 -0
- package/.yarn/cache/prosemirror-state-npm-1.4.3-d6540e44ad-28857d935c.zip +0 -0
- package/.yarn/cache/prosemirror-transform-npm-1.10.3-fb23bef7a8-8cbe29501e.zip +0 -0
- package/.yarn/cache/prosemirror-view-npm-1.38.1-8cfb4ec84f-12f7f4d27f.zip +0 -0
- package/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-9f57c93277.zip +0 -0
- package/.yarn/cache/ws-npm-8.18.0-56f68bc4d6-91d4d35bc9.zip +0 -0
- package/utils/form-value-container.d.ts +0 -3
- package/utils/form-value-container.js +0 -30
- package/utils/form-value-container.js.map +0 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
|
@@ -48,7 +48,6 @@ export declare abstract class Field extends LitElement {
|
|
|
48
48
|
handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined;
|
|
49
49
|
visible: boolean;
|
|
50
50
|
readonly: boolean;
|
|
51
|
-
loading: boolean;
|
|
52
51
|
displayMetadata: boolean;
|
|
53
52
|
selectedLanguage?: string;
|
|
54
53
|
selectedRevision?: string;
|
|
@@ -55,7 +55,6 @@ export class Field extends LitElement {
|
|
|
55
55
|
this.handleMetadataChanged = undefined;
|
|
56
56
|
this.visible = true;
|
|
57
57
|
this.readonly = false;
|
|
58
|
-
this.loading = false;
|
|
59
58
|
this.displayMetadata = false;
|
|
60
59
|
this.selectedLanguage = undefined;
|
|
61
60
|
this._asyncTask = new Task(this, {
|
|
@@ -143,10 +142,6 @@ __decorate([
|
|
|
143
142
|
property(),
|
|
144
143
|
__metadata("design:type", Object)
|
|
145
144
|
], Field.prototype, "readonly", void 0);
|
|
146
|
-
__decorate([
|
|
147
|
-
property(),
|
|
148
|
-
__metadata("design:type", Object)
|
|
149
|
-
], Field.prototype, "loading", void 0);
|
|
150
145
|
__decorate([
|
|
151
146
|
property(),
|
|
152
147
|
__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../tmp/components/common/field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;GAEG;AACH,MAAM,OAAgB,KAAM,SAAQ,UAAU;IAA9C;;QAMC;;;WAGG;QACS,oBAAe,GAAW,EAAE,CAAA;QAOxC;;WAEG;QACS,cAAS,GAAG,IAAI,CAAA;QAC5B;;WAEG;QACS,oBAAe,GAAG,IAAI,CAAA;QAElC;;WAEG;QACS,cAAS,GAA8B,EAAE,CAAA;QAEzC,wBAAmB,GAA+C,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;QAEtG;;WAEG;QACS,yBAAoB,GAAsB,SAAS,CAAA;QACnD,kBAAa,GAAqC,SAAS,CAAA;QAC3D,6BAAwB,GAA8C,SAAS,CAAA;QAC/E,mBAAc,GAAuF,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;QACnH,qBAAgB,GAAgF,SAAS,CAAA;QACzG,uBAAkB,GAA8F,SAAS,CAAA;QACzH,0BAAqB,GAAkE,SAAS,CAAA;QAEzF,YAAO,GAAG,IAAI,CAAA;QACrB,aAAQ,GAAG,KAAK,CAAA;QAChB,
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../tmp/components/common/field.ts"],"names":[],"mappings":"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","sourcesContent":["import { property, state } from 'lit/decorators.js'\nimport { LitElement, TemplateResult } from 'lit'\nimport { FieldMetadata, FieldValue, Labels } from '../model'\nimport { Suggestion, VersionedData } from '../../generic'\nimport { Task } from '@lit/task'\n\n/**\n * Base class for all fields.\n */\nexport abstract class Field extends LitElement {\n\t/**\n\t * The label of the field. This is a unique per form property that is used to create data in the formValuesContainer.\n\t */\n\t@property() label: string\n\n\t/**\n\t * The labels of the field. These are the labels that will be displayed in the UI.\n\t * Several labels can be displayed at once\n\t */\n\t@property() displayedLabels: Labels = {}\n\n\t/**\n\t * Extra styles applied to the field.\n\t */\n\t@property() styleOptions: { [key: string]: unknown }\n\n\t/**\n\t * Translate labels and options\n\t */\n\t@property() translate = true\n\t/**\n\t * Iso code of the default language\n\t */\n\t@property() defaultLanguage = 'en'\n\n\t/**\n\t * Iso code and names of the supported languages\n\t */\n\t@property() languages: { [iso: string]: string } = {}\n\n\t@property() translationProvider: (language: string, text: string) => string = (language, text) => text\n\n\t/**\n\t * Provides the value of the field.\n\t */\n\t@property() defaultValueProvider?: () => FieldValue = undefined\n\t@property() valueProvider?: () => VersionedData<FieldValue> = undefined\n\t@property() validationErrorsProvider?: () => Promise<[FieldMetadata, string][]> = undefined\n\t@property() ownersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() metadataProvider?: (id: string, revisions: (string | null)[]) => VersionedData<FieldMetadata> = undefined\n\t@property() handleValueChanged?: (label: string, language: string, value?: FieldValue, id?: string) => string | undefined = undefined\n\t@property() handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined = undefined\n\n\t@property() public visible = true\n\t@property() readonly = false\n\t@property() displayMetadata = false\n\n\t@state() selectedLanguage?: string = undefined\n\t@state() selectedRevision?: string\n\n\t_asyncTask = new Task(this, {\n\t\ttask: async () => {\n\t\t\treturn this.validationErrorsProvider ? await this.validationErrorsProvider() : []\n\t\t},\n\t\targs: () => [],\n\t})\n\n\tlanguage(): string {\n\t\treturn (this.translate ? this.selectedLanguage ?? this.defaultLanguage : this.defaultLanguage) ?? 'en'\n\t}\n\n\trender() {\n\t\treturn this.validationErrorsProvider\n\t\t\t? this._asyncTask.render({\n\t\t\t\t\tpending: () => this.renderSync({ validationErrors: [] }),\n\t\t\t\t\tcomplete: (validationErrors: [FieldMetadata, string][]) => this.renderSync({ validationErrors }),\n\t\t\t\t\terror: () => this.renderSync({ validationErrors: [] }),\n\t\t\t })\n\t\t\t: this.renderSync({ validationErrors: [] })\n\t}\n\n\tabstract renderSync({}: { validationErrors: [FieldMetadata, string][] }): TemplateResult | TemplateResult[] | undefined\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { FieldMetadata, FieldValue } from '../model';
|
|
3
3
|
import { Suggestion, Version } from '../../generic';
|
|
4
|
-
import { CustomEventDetail } from '@icure/motss-app-datepicker/dist/typings';
|
|
4
|
+
import { CustomEventDetail } from '@icure/motss-app-datepicker/dist/typings.js';
|
|
5
5
|
export declare class MetadataButtonBar extends LitElement {
|
|
6
6
|
valueId: string;
|
|
7
7
|
metadata: FieldMetadata;
|
|
@@ -21,8 +21,8 @@ import { property, state } from 'lit/decorators.js';
|
|
|
21
21
|
import { calendarPatientPicto, i18nPicto, ownerPicto, resetPicto, searchPicto, versionPicto } from './styles/paths';
|
|
22
22
|
import { format } from 'date-fns';
|
|
23
23
|
import { anyDateToDate } from '../../utils/dates';
|
|
24
|
-
import { toResolvedDate } from '@icure/motss-app-datepicker/dist/helpers/to-resolved-date';
|
|
25
|
-
import { MAX_DATE } from '@icure/motss-app-datepicker/dist/constants';
|
|
24
|
+
import { toResolvedDate } from '@icure/motss-app-datepicker/dist/helpers/to-resolved-date.js';
|
|
25
|
+
import { MAX_DATE } from '@icure/motss-app-datepicker/dist/constants.js';
|
|
26
26
|
import { languageName } from '../../utils/languages';
|
|
27
27
|
// @ts-ignore
|
|
28
28
|
import { css } from 'lit';
|
|
@@ -944,10 +944,6 @@ app-date-picker {
|
|
|
944
944
|
overflow: hidden;
|
|
945
945
|
}
|
|
946
946
|
|
|
947
|
-
.loading {
|
|
948
|
-
position: relative;
|
|
949
|
-
}
|
|
950
|
-
|
|
951
947
|
.icure-text-field {
|
|
952
948
|
position: relative;
|
|
953
949
|
width: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-buttons-bar.js","sourceRoot":"","sources":["../../../tmp/components/common/metadata-buttons-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { FieldMetadata, FieldValue } from '../model'\nimport { Suggestion, Version } from '../../generic'\nimport { calendarPatientPicto, i18nPicto, ownerPicto, resetPicto, searchPicto, versionPicto } from './styles/paths'\nimport { format } from 'date-fns'\nimport { anyDateToDate } from '../../utils/dates'\nimport { toResolvedDate } from '@icure/motss-app-datepicker/dist/helpers/to-resolved-date'\nimport { CustomEventDetail } from '@icure/motss-app-datepicker/dist/typings'\nimport { MAX_DATE } from '@icure/motss-app-datepicker/dist/constants'\nimport { languageName } from '../../utils/languages'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n.tab-container .tab-bar li {\n display: inline-block;\n padding: 8px 16px;\n cursor: pointer;\n color: #000000;\n font-size: 14px;\n font-weight: 500;\n}\n.tab-container .tab-bar li.active {\n background-color: #656565;\n color: white;\n}\n.tab-container .tab-content .tab {\n display: none;\n}\n.tab-container .tab-content .tab.active {\n display: block;\n}\n\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: add-two(12px, 0, 1.2);\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: add-two(12px, 0, 1.1);\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: add-two(8px, 1px);\n color: #084B83;\n align-items: center;\n text-wrap: auto;\n min-height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field .icure-label.float, .icure-button-group .icure-label.float {\n display: flex;\n overflow: hidden;\n}\n\n.loading {\n position: relative;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input .reset-button,\n.icure-text-field .input-container .reset-button {\n position: absolute;\n right: 0;\n border: none;\n background: transparent;\n top: 0;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.icure-text-field .icure-input .reset-button svg,\n.icure-text-field .input-container .reset-button svg {\n width: 15px;\n height: 15px;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: add-three(1.4em, 1px, 0);\n left: add-two(8px, 1px);\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \n\nexport class MetadataButtonBar extends LitElement {\n\t@property() valueId: string\n\t@property() metadata: FieldMetadata\n\t@property() revision: string\n\t@property() versions: Version<FieldValue>[]\n\t@property() defaultLanguage: string\n\t@property() selectedLanguage?: string\n\t@property() languages: { [iso: string]: string } = {}\n\t@property() existingLanguages?: string[]\n\t@property() displayedLabels: { [iso: string]: string } = {}\n\t@property() handleReset?: () => void | undefined = undefined\n\t@property() handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined = undefined\n\t@property() handleLanguageSelected?: (iso?: string) => void = undefined\n\t@property() handleRevisionSelected?: (rev?: string | null) => void = undefined\n\t@property() ownersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => []\n\n\t@state() protected displayOwnersMenu = false\n\t@state() protected ownerInputValue = ''\n\t@state() protected availableOwners: Suggestion[] = []\n\t@state() protected loadedOwners: { [id: string]: Suggestion } = {}\n\n\t@state() protected displayLanguagesMenu = false\n\t@state() protected displayVersionsMenu = false\n\t@state() protected displayValueDateMenu = false\n\t@state() protected languageInputValue = ''\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tthis.displayVersionsMenu = false\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\trender() {\n\t\tconst revisionDate = this.versions.find((x) => x.revision === this.revision)?.modified\n\n\t\tconst owner = this.metadata?.owner\n\t\tif (owner && !this.loadedOwners[owner]) {\n\t\t\tthis.loadedOwners = { ...this.loadedOwners, [owner]: { id: owner, text: '', terms: [], label: {} } } // Make sure we do not loop endlessly\n\t\t\tthis.ownersProvider && this.ownersProvider([], [owner]).then((availableOwners) => (this.loadedOwners = availableOwners.reduce((acc, o) => ({ ...acc, [o.id]: o }), this.loadedOwners)))\n\t\t}\n\n\t\tconst forcedByMenu = this.displayOwnersMenu || this.displayLanguagesMenu || this.displayValueDateMenu || this.displayVersionsMenu\n\n\t\tconst discordantMetadata = this.metadata?.discordantMetadata?.()\n\n\t\tconst forcedByOwner = discordantMetadata?.owner !== undefined\n\t\tconst forcedByValueDate = discordantMetadata?.valueDate !== undefined\n\t\tconst forcedByLanguage = this.selectedLanguage && this.defaultLanguage !== this.selectedLanguage\n\t\tconst forcedByVersion = this.revision && this.revision !== this.versions?.[0]?.revision\n\n\t\tconsole.log('handle reset', this.handleReset)\n\n\t\treturn html` <div id=\"extra\" class=${'extra extra--metadataButtonsBar' + (forcedByMenu ? ' forced' : '')}>\n\t\t\t<div class=\"info ${forcedByOwner || forcedByLanguage || forcedByValueDate ? 'hidden' : ''}\">ⓘ</div>\n\t\t\t<div class=\"buttons-container\">\n\t\t\t\t${this.handleReset ? html`<button @click=\"${() => this.handleReset?.()}\" class=\"btn forced\">${resetPicto}</button>` : nothing}\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${(this.metadata?.owner ? this.loadedOwners[this.metadata?.owner]?.text : '') ?? ''}\"\n\t\t\t\t\t\t@click=\"${() => this.toggleOwnersMenu(this.metadata?.owner)}\"\n\t\t\t\t\t\tclass=\"btn menu-trigger author ${forcedByOwner ? 'forced' : ''}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${ownerPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayOwnersMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"menu\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-container\">${searchPicto} <input id=\"ownerSearch\" @input=\"${this.searchOwner}\" /></div>\n\t\t\t\t\t\t\t\t\t\t${(this.availableOwners?.length ? this.availableOwners : Object.values(this.loadedOwners))?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) => html` <button\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${() => this.handleOwnerButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"${this.metadata?.owner && this.loadedOwners[this.metadata?.owner]?.text === x.text ? 'item selected' : 'item'}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${x.text}\n\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${this.metadata?.valueDate ? format(anyDateToDate(this.metadata.valueDate)!, 'yyyy-MM-dd HH:mm:ss').replace(/ 00:00:00$/, '') : ''}\"\n\t\t\t\t\t\tclass=\"btn date ${forcedByValueDate ? 'forced' : ''}\"\n\t\t\t\t\t\t@click=\"${() => this.toggleValueDateMenu()}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${calendarPatientPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayValueDateMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"menu value-date-menu\">\n\t\t\t\t\t\t\t\t\t\t<app-date-picker locale=\"${this.defaultLanguage ?? 'en'}\" style=\"\" max=\"${MAX_DATE}\" min=\"${toResolvedDate('1900-01-01')}\" @date-updated=\"${this.dateUpdated}\"></app-date-picker>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${this.revision === null ? 'latest' : this.revision ? `rev-${this.revision.split('-')[0]} ${revisionDate ? `(${format(new Date(revisionDate), 'yyyy-MM-dd')})` : ''}` : ''}\"\n\t\t\t\t\t\t@click=\"${this.toggleVersionsMenu}\"\n\t\t\t\t\t\tclass=\"btn version ${forcedByVersion ? 'forced' : ''}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${versionPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayVersionsMenu\n\t\t\t\t\t\t\t? html` <div id=\"menu\" class=\"menu\">\n\t\t\t\t\t\t\t\t\t${this.versions.map(\n\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\thtml` <button class=\"item ${x.revision === this.revision ? 'item selected' : ''}\" @click=\"${() => this.handleRevisionButtonClicked(x.revision)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t${x.revision == null ? 'Latest' : x.revision ?? ''} ${x.modified ? `(${format(new Date(x.modified), 'yyyy-MM-dd')})` : ''}\n\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t </div>`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${this.selectedLanguage ? languageName(this.selectedLanguage) ?? this.selectedLanguage : languageName(this.defaultLanguage) ?? this.defaultLanguage}\"\n\t\t\t\t\t\t@click=\"${this.toggleLanguagesMenu}\"\n\t\t\t\t\t\tclass=\"btn menu-trigger language ${forcedByLanguage ? 'forced' : ''}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${i18nPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayLanguagesMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"menu\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-container\">${searchPicto} <input id=\"languageSearch\" @input=\"${this.searchLanguage}\" /></div>\n\t\t\t\t\t\t\t\t\t\t${[this.defaultLanguage, ...Object.keys(this.languages).filter((x) => x !== this.defaultLanguage)]\n\t\t\t\t\t\t\t\t\t\t\t.filter((x) => !!x && (languageName(x) ?? this.languages[x] ?? x).toLowerCase().includes((this.languageInputValue ?? '').toLowerCase()))\n\t\t\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t\t\t(x) => html` <button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${() => this.handleLanguageButtonClicked(x)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"${(x === this.defaultLanguage && !this.selectedLanguage) || x === this.selectedLanguage\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'item item selected'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.existingLanguages?.includes(x)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'item item existing'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'item'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x ? languageName(x) : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>`\n\t}\n\n\ttoggleOwnersMenu(ownerId?: string) {\n\t\tthis.displayOwnersMenu = !this.displayOwnersMenu\n\t\tif (this.displayOwnersMenu) {\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayVersionsMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\n\t\t\tsetTimeout(() => {\n\t\t\t\t;(this.renderRoot.querySelector('#ownerSearch') as HTMLInputElement)?.focus()\n\t\t\t}, 0)\n\t\t}\n\t}\n\n\tsearchOwner(e: InputEvent) {\n\t\tconst text = (e.target as HTMLInputElement).value\n\t\tsetTimeout(async () => {\n\t\t\tif ((this.renderRoot.querySelector('#ownerSearch') as HTMLInputElement)?.value === text) {\n\t\t\t\tif (this.ownersProvider) {\n\t\t\t\t\tconst availableOwners = await this.ownersProvider(text.split(' '))\n\t\t\t\t\tconsole.log(availableOwners)\n\t\t\t\t\tthis.availableOwners = availableOwners\n\t\t\t\t}\n\t\t\t}\n\t\t}, 300)\n\t}\n\n\tsearchLanguage(e: InputEvent) {\n\t\tthis.languageInputValue = (e.target as HTMLInputElement).value\n\t}\n\n\thandleOwnerButtonClicked(id: string) {\n\t\tconst valueId = this.valueId\n\t\tthis.handleMetadataChanged && valueId && this.handleMetadataChanged({ label: this.metadata.label, owner: id })\n\t\tthis.displayOwnersMenu = false\n\t}\n\n\thandleLanguageButtonClicked(id: string) {\n\t\tthis.handleLanguageSelected?.(id)\n\t\tthis.displayOwnersMenu = false\n\t}\n\n\thandleRevisionButtonClicked(rev?: string | null) {\n\t\tthis.handleRevisionSelected?.(rev)\n\t\tthis.displayVersionsMenu = false\n\t}\n\n\ttoggleValueDateMenu() {\n\t\tthis.displayValueDateMenu = !this.displayValueDateMenu\n\t\tif (this.displayValueDateMenu) {\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayVersionsMenu = false\n\t\t}\n\t}\n\n\tdateUpdated(date: CustomEventDetail['date-updated']): void {\n\t\tconst parts = date.detail.value?.split('-')\n\t\tif (parts && parts.length === 3) {\n\t\t\tconst fuzzyDateValue = parseInt(parts[0]) * 10000 + parseInt(parts[1]) * 100 + parseInt(parts[2])\n\t\t\tconst valueId = this.valueId\n\t\t\tthis.handleMetadataChanged && this.handleMetadataChanged({ label: this.metadata.label, valueDate: fuzzyDateValue * 1000000 }, valueId)\n\t\t\tthis.displayOwnersMenu = false\n\t\t}\n\t}\n\n\ttoggleLanguagesMenu() {\n\t\tthis.displayLanguagesMenu = !this.displayLanguagesMenu\n\t\tif (this.displayLanguagesMenu) {\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayVersionsMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\t\t}\n\t}\n\n\ttoggleVersionsMenu() {\n\t\tthis.displayVersionsMenu = !this.displayVersionsMenu\n\t\tif (this.displayVersionsMenu) {\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"metadata-buttons-bar.js","sourceRoot":"","sources":["../../../tmp/components/common/metadata-buttons-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { FieldMetadata, FieldValue } from '../model'\nimport { Suggestion, Version } from '../../generic'\nimport { calendarPatientPicto, i18nPicto, ownerPicto, resetPicto, searchPicto, versionPicto } from './styles/paths'\nimport { format } from 'date-fns'\nimport { anyDateToDate } from '../../utils/dates'\nimport { toResolvedDate } from '@icure/motss-app-datepicker/dist/helpers/to-resolved-date.js'\nimport { CustomEventDetail } from '@icure/motss-app-datepicker/dist/typings.js'\nimport { MAX_DATE } from '@icure/motss-app-datepicker/dist/constants.js'\nimport { languageName } from '../../utils/languages'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n.tab-container .tab-bar li {\n display: inline-block;\n padding: 8px 16px;\n cursor: pointer;\n color: #000000;\n font-size: 14px;\n font-weight: 500;\n}\n.tab-container .tab-bar li.active {\n background-color: #656565;\n color: white;\n}\n.tab-container .tab-content .tab {\n display: none;\n}\n.tab-container .tab-content .tab.active {\n display: block;\n}\n\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: add-two(12px, 0, 1.2);\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: add-two(12px, 0, 1.1);\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: add-two(8px, 1px);\n color: #084B83;\n align-items: center;\n text-wrap: auto;\n min-height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field .icure-label.float, .icure-button-group .icure-label.float {\n display: flex;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input .reset-button,\n.icure-text-field .input-container .reset-button {\n position: absolute;\n right: 0;\n border: none;\n background: transparent;\n top: 0;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.icure-text-field .icure-input .reset-button svg,\n.icure-text-field .input-container .reset-button svg {\n width: 15px;\n height: 15px;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: add-three(1.4em, 1px, 0);\n left: add-two(8px, 1px);\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \n\nexport class MetadataButtonBar extends LitElement {\n\t@property() valueId: string\n\t@property() metadata: FieldMetadata\n\t@property() revision: string\n\t@property() versions: Version<FieldValue>[]\n\t@property() defaultLanguage: string\n\t@property() selectedLanguage?: string\n\t@property() languages: { [iso: string]: string } = {}\n\t@property() existingLanguages?: string[]\n\t@property() displayedLabels: { [iso: string]: string } = {}\n\t@property() handleReset?: () => void | undefined = undefined\n\t@property() handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined = undefined\n\t@property() handleLanguageSelected?: (iso?: string) => void = undefined\n\t@property() handleRevisionSelected?: (rev?: string | null) => void = undefined\n\t@property() ownersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => []\n\n\t@state() protected displayOwnersMenu = false\n\t@state() protected ownerInputValue = ''\n\t@state() protected availableOwners: Suggestion[] = []\n\t@state() protected loadedOwners: { [id: string]: Suggestion } = {}\n\n\t@state() protected displayLanguagesMenu = false\n\t@state() protected displayVersionsMenu = false\n\t@state() protected displayValueDateMenu = false\n\t@state() protected languageInputValue = ''\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tthis.displayVersionsMenu = false\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\trender() {\n\t\tconst revisionDate = this.versions.find((x) => x.revision === this.revision)?.modified\n\n\t\tconst owner = this.metadata?.owner\n\t\tif (owner && !this.loadedOwners[owner]) {\n\t\t\tthis.loadedOwners = { ...this.loadedOwners, [owner]: { id: owner, text: '', terms: [], label: {} } } // Make sure we do not loop endlessly\n\t\t\tthis.ownersProvider && this.ownersProvider([], [owner]).then((availableOwners) => (this.loadedOwners = availableOwners.reduce((acc, o) => ({ ...acc, [o.id]: o }), this.loadedOwners)))\n\t\t}\n\n\t\tconst forcedByMenu = this.displayOwnersMenu || this.displayLanguagesMenu || this.displayValueDateMenu || this.displayVersionsMenu\n\n\t\tconst discordantMetadata = this.metadata?.discordantMetadata?.()\n\n\t\tconst forcedByOwner = discordantMetadata?.owner !== undefined\n\t\tconst forcedByValueDate = discordantMetadata?.valueDate !== undefined\n\t\tconst forcedByLanguage = this.selectedLanguage && this.defaultLanguage !== this.selectedLanguage\n\t\tconst forcedByVersion = this.revision && this.revision !== this.versions?.[0]?.revision\n\n\t\tconsole.log('handle reset', this.handleReset)\n\n\t\treturn html` <div id=\"extra\" class=${'extra extra--metadataButtonsBar' + (forcedByMenu ? ' forced' : '')}>\n\t\t\t<div class=\"info ${forcedByOwner || forcedByLanguage || forcedByValueDate ? 'hidden' : ''}\">ⓘ</div>\n\t\t\t<div class=\"buttons-container\">\n\t\t\t\t${this.handleReset ? html`<button @click=\"${() => this.handleReset?.()}\" class=\"btn forced\">${resetPicto}</button>` : nothing}\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${(this.metadata?.owner ? this.loadedOwners[this.metadata?.owner]?.text : '') ?? ''}\"\n\t\t\t\t\t\t@click=\"${() => this.toggleOwnersMenu(this.metadata?.owner)}\"\n\t\t\t\t\t\tclass=\"btn menu-trigger author ${forcedByOwner ? 'forced' : ''}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${ownerPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayOwnersMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"menu\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-container\">${searchPicto} <input id=\"ownerSearch\" @input=\"${this.searchOwner}\" /></div>\n\t\t\t\t\t\t\t\t\t\t${(this.availableOwners?.length ? this.availableOwners : Object.values(this.loadedOwners))?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) => html` <button\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${() => this.handleOwnerButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"${this.metadata?.owner && this.loadedOwners[this.metadata?.owner]?.text === x.text ? 'item selected' : 'item'}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${x.text}\n\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${this.metadata?.valueDate ? format(anyDateToDate(this.metadata.valueDate)!, 'yyyy-MM-dd HH:mm:ss').replace(/ 00:00:00$/, '') : ''}\"\n\t\t\t\t\t\tclass=\"btn date ${forcedByValueDate ? 'forced' : ''}\"\n\t\t\t\t\t\t@click=\"${() => this.toggleValueDateMenu()}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${calendarPatientPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayValueDateMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"menu value-date-menu\">\n\t\t\t\t\t\t\t\t\t\t<app-date-picker locale=\"${this.defaultLanguage ?? 'en'}\" style=\"\" max=\"${MAX_DATE}\" min=\"${toResolvedDate('1900-01-01')}\" @date-updated=\"${this.dateUpdated}\"></app-date-picker>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${this.revision === null ? 'latest' : this.revision ? `rev-${this.revision.split('-')[0]} ${revisionDate ? `(${format(new Date(revisionDate), 'yyyy-MM-dd')})` : ''}` : ''}\"\n\t\t\t\t\t\t@click=\"${this.toggleVersionsMenu}\"\n\t\t\t\t\t\tclass=\"btn version ${forcedByVersion ? 'forced' : ''}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${versionPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayVersionsMenu\n\t\t\t\t\t\t\t? html` <div id=\"menu\" class=\"menu\">\n\t\t\t\t\t\t\t\t\t${this.versions.map(\n\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\thtml` <button class=\"item ${x.revision === this.revision ? 'item selected' : ''}\" @click=\"${() => this.handleRevisionButtonClicked(x.revision)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t${x.revision == null ? 'Latest' : x.revision ?? ''} ${x.modified ? `(${format(new Date(x.modified), 'yyyy-MM-dd')})` : ''}\n\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t </div>`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-container\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-content=\"${this.selectedLanguage ? languageName(this.selectedLanguage) ?? this.selectedLanguage : languageName(this.defaultLanguage) ?? this.defaultLanguage}\"\n\t\t\t\t\t\t@click=\"${this.toggleLanguagesMenu}\"\n\t\t\t\t\t\tclass=\"btn menu-trigger language ${forcedByLanguage ? 'forced' : ''}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${i18nPicto}\n\t\t\t\t\t</button>\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.displayLanguagesMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"menu\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-container\">${searchPicto} <input id=\"languageSearch\" @input=\"${this.searchLanguage}\" /></div>\n\t\t\t\t\t\t\t\t\t\t${[this.defaultLanguage, ...Object.keys(this.languages).filter((x) => x !== this.defaultLanguage)]\n\t\t\t\t\t\t\t\t\t\t\t.filter((x) => !!x && (languageName(x) ?? this.languages[x] ?? x).toLowerCase().includes((this.languageInputValue ?? '').toLowerCase()))\n\t\t\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t\t\t(x) => html` <button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${() => this.handleLanguageButtonClicked(x)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"${(x === this.defaultLanguage && !this.selectedLanguage) || x === this.selectedLanguage\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'item item selected'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.existingLanguages?.includes(x)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'item item existing'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'item'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x ? languageName(x) : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>`\n\t}\n\n\ttoggleOwnersMenu(ownerId?: string) {\n\t\tthis.displayOwnersMenu = !this.displayOwnersMenu\n\t\tif (this.displayOwnersMenu) {\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayVersionsMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\n\t\t\tsetTimeout(() => {\n\t\t\t\t;(this.renderRoot.querySelector('#ownerSearch') as HTMLInputElement)?.focus()\n\t\t\t}, 0)\n\t\t}\n\t}\n\n\tsearchOwner(e: InputEvent) {\n\t\tconst text = (e.target as HTMLInputElement).value\n\t\tsetTimeout(async () => {\n\t\t\tif ((this.renderRoot.querySelector('#ownerSearch') as HTMLInputElement)?.value === text) {\n\t\t\t\tif (this.ownersProvider) {\n\t\t\t\t\tconst availableOwners = await this.ownersProvider(text.split(' '))\n\t\t\t\t\tconsole.log(availableOwners)\n\t\t\t\t\tthis.availableOwners = availableOwners\n\t\t\t\t}\n\t\t\t}\n\t\t}, 300)\n\t}\n\n\tsearchLanguage(e: InputEvent) {\n\t\tthis.languageInputValue = (e.target as HTMLInputElement).value\n\t}\n\n\thandleOwnerButtonClicked(id: string) {\n\t\tconst valueId = this.valueId\n\t\tthis.handleMetadataChanged && valueId && this.handleMetadataChanged({ label: this.metadata.label, owner: id })\n\t\tthis.displayOwnersMenu = false\n\t}\n\n\thandleLanguageButtonClicked(id: string) {\n\t\tthis.handleLanguageSelected?.(id)\n\t\tthis.displayOwnersMenu = false\n\t}\n\n\thandleRevisionButtonClicked(rev?: string | null) {\n\t\tthis.handleRevisionSelected?.(rev)\n\t\tthis.displayVersionsMenu = false\n\t}\n\n\ttoggleValueDateMenu() {\n\t\tthis.displayValueDateMenu = !this.displayValueDateMenu\n\t\tif (this.displayValueDateMenu) {\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayVersionsMenu = false\n\t\t}\n\t}\n\n\tdateUpdated(date: CustomEventDetail['date-updated']): void {\n\t\tconst parts = date.detail.value?.split('-')\n\t\tif (parts && parts.length === 3) {\n\t\t\tconst fuzzyDateValue = parseInt(parts[0]) * 10000 + parseInt(parts[1]) * 100 + parseInt(parts[2])\n\t\t\tconst valueId = this.valueId\n\t\t\tthis.handleMetadataChanged && this.handleMetadataChanged({ label: this.metadata.label, valueDate: fuzzyDateValue * 1000000 }, valueId)\n\t\t\tthis.displayOwnersMenu = false\n\t\t}\n\t}\n\n\ttoggleLanguagesMenu() {\n\t\tthis.displayLanguagesMenu = !this.displayLanguagesMenu\n\t\tif (this.displayLanguagesMenu) {\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayVersionsMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\t\t}\n\t}\n\n\ttoggleVersionsMenu() {\n\t\tthis.displayVersionsMenu = !this.displayVersionsMenu\n\t\tif (this.displayVersionsMenu) {\n\t\t\tthis.displayOwnersMenu = false\n\t\t\tthis.displayLanguagesMenu = false\n\t\t\tthis.displayValueDateMenu = false\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-button/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n.tab-container .tab-bar li {\n display: inline-block;\n padding: 8px 16px;\n cursor: pointer;\n color: #000000;\n font-size: 14px;\n font-weight: 500;\n}\n.tab-container .tab-bar li.active {\n background-color: #656565;\n color: white;\n}\n.tab-container .tab-content .tab {\n display: none;\n}\n.tab-container .tab-content .tab.active {\n display: block;\n}\n\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: add-two(12px, 0, 1.2);\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: add-two(12px, 0, 1.1);\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: add-two(8px, 1px);\n color: #084B83;\n align-items: center;\n text-wrap: auto;\n min-height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field .icure-label.float, .icure-button-group .icure-label.float {\n display: flex;\n overflow: hidden;\n}\n\n.loading {\n position: relative;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input .reset-button,\n.icure-text-field .input-container .reset-button {\n position: absolute;\n right: 0;\n border: none;\n background: transparent;\n top: 0;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.icure-text-field .icure-input .reset-button svg,\n.icure-text-field .input-container .reset-button svg {\n width: 15px;\n height: 15px;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: add-three(1.4em, 1px, 0);\n left: add-two(8px, 1px);\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { icureFormLogging } from '../../index'\n\nexport class IcureButton extends LitElement {\n\t@property() label?: string\n\t@property() labelPosition?: string\n\t@property() visible = true\n\t@property() defaultLanguage = 'en'\n\t@property() translationProvider?: (language: string, text: string) => string = (language, text) => text\n\t@property() actionListener: (event: string, payload: unknown) => void = () => undefined\n\t@property() event: string\n\t@property() payload: unknown\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tif (icureFormLogging) {\n\t\t\tconsole.log(`Rendering button ${this.label}`)\n\t\t}\n\t\treturn html`<div class=\"icure-button\" style=\"button\" @click=\"${() => this.actionListener(this.event, this.payload)}\">\n\t\t\t${this.label ? this.translationProvider?.(this.defaultLanguage, this.label) ?? this.label : this.label ?? ''}\n\t\t</div>`\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-button/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n.tab-container .tab-bar li {\n display: inline-block;\n padding: 8px 16px;\n cursor: pointer;\n color: #000000;\n font-size: 14px;\n font-weight: 500;\n}\n.tab-container .tab-bar li.active {\n background-color: #656565;\n color: white;\n}\n.tab-container .tab-content .tab {\n display: none;\n}\n.tab-container .tab-content .tab.active {\n display: block;\n}\n\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n.ProseMirror p {\n margin-bottom: 1em;\n}\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n.ProseMirror li {\n position: relative;\n}\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\nli.ProseMirror-selectednode :after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: flex;\n flex-direction: row;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n min-height: 20px;\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n display: inline-block;\n min-height: 18px;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.icure-input-metadata-container {\n display: flex;\n}\n.icure-input-metadata-container .icure-metadata-container {\n display: flex;\n flex-grow: 1;\n padding: 0 4px;\n border: 1px solid #DDE3E7;\n border-left: none;\n border-radius: 0 6px 6px 0;\n outline: 0;\n box-sizing: border-box;\n}\n.icure-input-metadata-container .icure-metadata-container__validationError {\n border-color: red;\n}\n\n.extra {\n min-width: 20px;\n width: auto;\n height: 20px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n.extra:hover .info {\n display: none;\n}\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n.extra.forced .info, .extra.forced .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n display: none;\n}\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n.extra--metadataButtonsBar {\n height: 100%;\n display: flex;\n align-items: center;\n padding: 0 4px;\n}\n.extra .info {\n color: #809ab4;\n font-size: 15px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: center;\n}\n.extra .info span {\n font-weight: 700;\n}\n.extra .info.hidden {\n display: none;\n}\n.extra .buttons-container {\n display: flex;\n height: 20px;\n width: auto;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n z-index: 1000;\n}\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.extra .buttons-container .btn svg {\n width: 15px;\n height: 15px;\n}\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n.extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -21px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n@keyframes slideIn {\n 0% {\n top: 0;\n opacity: 0;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n display: flex;\n align-items: center;\n height: fit-content;\n}\n.menu-container .item {\n height: 30px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n.menu-container .item.existing {\n background-color: #BFE8EA;\n}\n.menu-container .item.selected {\n color: white;\n background-color: #084B83;\n}\n.menu-container .item:hover {\n background: #DCE7F2;\n color: #274768;\n font-weight: 500;\n border-radius: 4px;\n}\n\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n gap: 2px;\n position: absolute;\n top: 32px;\n right: -12px;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: flex;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\nspan.date {\n margin-right: 1px;\n}\nspan.time {\n margin-left: 1px;\n}\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n padding: 2px;\n border-radius: 6px;\n}\n.options--subformView {\n top: 46px;\n min-width: unset;\n left: unset;\n right: 0;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n cursor: pointer;\n}\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n display: grid;\n position: relative;\n padding: 8px;\n border-radius: 6px;\n background-color: #e7f0fd;\n gap: 12px;\n}\n.subform__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: auto;\n}\n.subform__heading__title {\n padding: 0;\n margin: 0;\n}\n.subform__addBtn, .subform__removeBtn {\n cursor: pointer;\n background-color: #084B83;\n color: white;\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n border: none;\n outline: none;\n}\n.subform__addBtn:hover, .subform__removeBtn:hover {\n background-color: #3D87C5;\n}\n.subform__removeBtn {\n justify-self: end;\n border: 1px solid #DDE3E7;\n background-color: #FCFCFD;\n color: #084B83;\n}\n.subform__removeBtn:hover {\n background-color: #F2F2F2;\n}\n.subform__child {\n display: grid;\n grid-template-rows: auto;\n gap: 8px;\n padding: 8px;\n border-radius: 6px;\n background: white;\n border: 1px solid #3D87C5;\n}\n.subform__child__title {\n padding: 12px !important;\n border-radius: 6px;\n margin: 0;\n background-color: #BFE8EA;\n}\n.subform__child .subform {\n background: unset;\n margin: 0;\n padding: 0;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 16px 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: add-two(12px, 0, 1.2);\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: add-two(12px, 0, 1.1);\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n\n.icure-form-field {\n display: grid;\n align-items: flex-start;\n}\n\n.error {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {\n display: flex;\n width: 100%;\n gap: 12px;\n}\n.icure-text-field .icure-label, .icure-button-group .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: add-two(8px, 1px);\n color: #084B83;\n align-items: center;\n text-wrap: auto;\n min-height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field .icure-label.float, .icure-button-group .icure-label.float {\n display: flex;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n padding: 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-color: #DDE3E7;\n border-radius: 2px;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n color: #000000;\n}\n.icure-text-field .icure-input .reset-button,\n.icure-text-field .input-container .reset-button {\n position: absolute;\n right: 0;\n border: none;\n background: transparent;\n top: 0;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n.icure-text-field .icure-input .reset-button svg,\n.icure-text-field .input-container .reset-button svg {\n width: 15px;\n height: 15px;\n}\n.icure-text-field .icure-input__validationError,\n.icure-text-field .input-container__validationError {\n border-color: red;\n}\n.icure-text-field .icure-input__withMetadata,\n.icure-text-field .input-container__withMetadata {\n border-radius: 6px 0 0 6px;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path,\n.icure-text-field .input-container .extra .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .btn svg path:hover,\n.icure-text-field .input-container .extra .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button {\n display: flex;\n height: 32px;\n padding: 0 16px;\n background-color: #084B83;\n color: white;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: normal;\n}\n.icure-button:hover {\n background-color: #3D87C5;\n}\n\n.icure-button-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: add-three(1.4em, 1px, 0);\n left: add-two(8px, 1px);\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { icureFormLogging } from '../../index'\n\nexport class IcureButton extends LitElement {\n\t@property() label?: string\n\t@property() labelPosition?: string\n\t@property() visible = true\n\t@property() defaultLanguage = 'en'\n\t@property() translationProvider?: (language: string, text: string) => string = (language, text) => text\n\t@property() actionListener: (event: string, payload: unknown) => void = () => undefined\n\t@property() event: string\n\t@property() payload: unknown\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tif (icureFormLogging) {\n\t\t\tconsole.log(`Rendering button ${this.label}`)\n\t\t}\n\t\treturn html`<div class=\"icure-button\" style=\"button\" @click=\"${() => this.actionListener(this.event, this.payload)}\">\n\t\t\t${this.label ? this.translationProvider?.(this.defaultLanguage, this.label) ?? this.label : this.label ?? ''}\n\t\t</div>`\n\t}\n}\n"]}
|