@icure/form 1.1.21 → 1.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/components/common/metadata-buttons-bar.d.ts +9 -6
- package/components/common/metadata-buttons-bar.js +56 -24
- package/components/common/metadata-buttons-bar.js.map +1 -1
- package/components/icure-button-group/index.js +1 -1
- package/components/icure-button-group/index.js.map +1 -1
- package/components/icure-date-picker/index.js +1 -1
- package/components/icure-date-picker/index.js.map +1 -1
- package/components/icure-dropdown-field/index.js +1 -1
- package/components/icure-dropdown-field/index.js.map +1 -1
- package/components/icure-form/index.js +1 -1
- package/components/icure-form/index.js.map +1 -1
- package/components/icure-label/index.js +1 -1
- package/components/icure-label/index.js.map +1 -1
- package/components/icure-text-field/index.d.ts +1 -0
- package/components/icure-text-field/index.js +20 -17
- package/components/icure-text-field/index.js.map +1 -1
- package/components/themes/icure-blue/index.js +19 -1
- package/components/themes/icure-blue/index.js.map +1 -1
- package/icure/form-values-container.js +23 -21
- package/icure/form-values-container.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-button-group/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property } from 'lit/decorators.js'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n position: relative;\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra.forced .info, .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 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\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.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: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 0 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n\nexport class IcureButtonGroup extends FieldWithOptionsMixin(Field) {\n\t@property() type: 'radio' | 'checkbox' = 'radio'\n\n\t//override\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\tgetValueFromProvider(): [string, string[]] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tconst fromValue = valueForLanguage && valueForLanguage.type === 'compound' && valueForLanguage.value ? Object.keys(valueForLanguage.value) : []\n\t\t\treturn [id, fromValue.concat(value?.codes?.map((c) => c.id)?.filter((id) => !fromValue.includes(id)) ?? [])]\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\tpublic checkboxChange() {\n\t\tif (this.readonly) return\n\t\tif (this.handleValueChanged) {\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tconst inputs = Array.from(this.shadowRoot?.querySelectorAll('input') || []).filter((input) => input.checked)\n\t\t\tconst selectedOptions = this.displayedOptions?.filter((option) => inputs.some((i) => i.id === option.id))\n\t\t\tthis.handleValueChanged?.(\n\t\t\t\tthis.label,\n\t\t\t\tthis.language(),\n\t\t\t\t{\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\t[this.language()]: {\n\t\t\t\t\t\t\ttype: 'compound',\n\t\t\t\t\t\t\tvalue: selectedOptions?.reduce(\n\t\t\t\t\t\t\t\t(acc, c) => ({\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[c.id]: { type: 'boolean', value: true },\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcodes: selectedOptions,\n\t\t\t\t},\n\t\t\t\tvalueId,\n\t\t\t)\n\t\t}\n\t}\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tconst inputValues = this.getValueFromProvider()[1] ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"icure-text-field icure-button-group\">\n\t\t\t\t${this.displayedLabels && this.displayedOptions?.length\n\t\t\t\t\t? generateLabels(\n\t\t\t\t\t\t\tObject.entries(this.displayedLabels ?? {})\n\t\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t\t//If we have less than 2 options, we don't need to display the label except if it is different from the first option\n\t\t\t\t\t\t\t\t\t([, l]) => (this.displayedOptions?.length ?? 0) > 1 || (this.displayedOptions?.length && l !== this.displayedOptions[0].label[this.language()]),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {}),\n\t\t\t\t\t\t\tthis.language(),\n\t\t\t\t\t\t\tthis.translate ? this.translationProvider : undefined,\n\t\t\t\t\t )\n\t\t\t\t\t: nothing}\n\t\t\t\t<div style=\"${this.generateStyle()}\">\n\t\t\t\t\t${(this.displayedOptions?.length ? this.displayedOptions : [{ id: this.label, label: {} }]).map((x) => {\n\t\t\t\t\t\tconst text = (x.label ?? {})[this.language()] ?? ''\n\t\t\t\t\t\tif (this.readonly) {\n\t\t\t\t\t\t\treturn html`<div>\n\t\t\t\t\t\t\t\t<input class=\"icure-checkbox\" disabled type=\"${this.type}\" id=\"${x.id}\" name=\"${this.label}\" value=\"${text}\" .checked=${inputValues.includes(x.id)} />\n\t\t\t\t\t\t\t\t<label class=\"icure-button-group-label\" for=\"${x.id}\"><span>${text}</span></label>\n\t\t\t\t\t\t\t</div>`\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn html`<div>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"icure-checkbox\"\n\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\tname=\"${this.label}\"\n\t\t\t\t\t\t\t\tvalue=\"${text}\"\n\t\t\t\t\t\t\t\t.checked=${inputValues.includes(x.id)}\n\t\t\t\t\t\t\t\t@change=${this.checkboxChange}\n\t\t\t\t\t\t\t/><label class=\"icure-button-group-label\" for=\"${x.id}\"><span>${text}</span></label>\n\t\t\t\t\t\t</div>`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate generateStyle() {\n\t\treturn this.styleOptions?.span\n\t\t\t? `grid-template-columns: repeat(${this.styleOptions?.span}, 1fr);`\n\t\t\t: this.styleOptions?.rows\n\t\t\t? `grid-template-columns: repeat(${Number((this.displayedOptions?.length ?? 0) / (this.styleOptions?.rows as number))}, 1fr);`\n\t\t\t: ''\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-button-group/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property } from 'lit/decorators.js'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n position: relative;\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra.forced .info, .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 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\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\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: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 0 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n\nexport class IcureButtonGroup extends FieldWithOptionsMixin(Field) {\n\t@property() type: 'radio' | 'checkbox' = 'radio'\n\n\t//override\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\tgetValueFromProvider(): [string, string[]] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tconst fromValue = valueForLanguage && valueForLanguage.type === 'compound' && valueForLanguage.value ? Object.keys(valueForLanguage.value) : []\n\t\t\treturn [id, fromValue.concat(value?.codes?.map((c) => c.id)?.filter((id) => !fromValue.includes(id)) ?? [])]\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\tpublic checkboxChange() {\n\t\tif (this.readonly) return\n\t\tif (this.handleValueChanged) {\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tconst inputs = Array.from(this.shadowRoot?.querySelectorAll('input') || []).filter((input) => input.checked)\n\t\t\tconst selectedOptions = this.displayedOptions?.filter((option) => inputs.some((i) => i.id === option.id))\n\t\t\tthis.handleValueChanged?.(\n\t\t\t\tthis.label,\n\t\t\t\tthis.language(),\n\t\t\t\t{\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\t[this.language()]: {\n\t\t\t\t\t\t\ttype: 'compound',\n\t\t\t\t\t\t\tvalue: selectedOptions?.reduce(\n\t\t\t\t\t\t\t\t(acc, c) => ({\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[c.id]: { type: 'boolean', value: true },\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcodes: selectedOptions,\n\t\t\t\t},\n\t\t\t\tvalueId,\n\t\t\t)\n\t\t}\n\t}\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tconst inputValues = this.getValueFromProvider()[1] ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"icure-text-field icure-button-group\">\n\t\t\t\t${this.displayedLabels && this.displayedOptions?.length\n\t\t\t\t\t? generateLabels(\n\t\t\t\t\t\t\tObject.entries(this.displayedLabels ?? {})\n\t\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t\t//If we have less than 2 options, we don't need to display the label except if it is different from the first option\n\t\t\t\t\t\t\t\t\t([, l]) => (this.displayedOptions?.length ?? 0) > 1 || (this.displayedOptions?.length && l !== this.displayedOptions[0].label[this.language()]),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {}),\n\t\t\t\t\t\t\tthis.language(),\n\t\t\t\t\t\t\tthis.translate ? this.translationProvider : undefined,\n\t\t\t\t\t )\n\t\t\t\t\t: nothing}\n\t\t\t\t<div style=\"${this.generateStyle()}\">\n\t\t\t\t\t${(this.displayedOptions?.length ? this.displayedOptions : [{ id: this.label, label: {} }]).map((x) => {\n\t\t\t\t\t\tconst text = (x.label ?? {})[this.language()] ?? ''\n\t\t\t\t\t\tif (this.readonly) {\n\t\t\t\t\t\t\treturn html`<div>\n\t\t\t\t\t\t\t\t<input class=\"icure-checkbox\" disabled type=\"${this.type}\" id=\"${x.id}\" name=\"${this.label}\" value=\"${text}\" .checked=${inputValues.includes(x.id)} />\n\t\t\t\t\t\t\t\t<label class=\"icure-button-group-label\" for=\"${x.id}\"><span>${text}</span></label>\n\t\t\t\t\t\t\t</div>`\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn html`<div>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"icure-checkbox\"\n\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\tname=\"${this.label}\"\n\t\t\t\t\t\t\t\tvalue=\"${text}\"\n\t\t\t\t\t\t\t\t.checked=${inputValues.includes(x.id)}\n\t\t\t\t\t\t\t\t@change=${this.checkboxChange}\n\t\t\t\t\t\t\t/><label class=\"icure-button-group-label\" for=\"${x.id}\"><span>${text}</span></label>\n\t\t\t\t\t\t</div>`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate generateStyle() {\n\t\treturn this.styleOptions?.span\n\t\t\t? `grid-template-columns: repeat(${this.styleOptions?.span}, 1fr);`\n\t\t\t: this.styleOptions?.rows\n\t\t\t? `grid-template-columns: repeat(${Number((this.displayedOptions?.length ?? 0) / (this.styleOptions?.rows as number))}, 1fr);`\n\t\t\t: ''\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-date-picker/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { generateLabels } from '../common/utils'\nimport { property, state } from 'lit/decorators.js'\nimport 'app-datepicker'\nimport { CustomEventDetail } from 'app-datepicker/dist/typings'\nimport { MAX_DATE } from 'app-datepicker/dist/constants'\nimport { toResolvedDate } from 'app-datepicker/dist/helpers/to-resolved-date'\nimport { Field } from '../common'\nimport { datePicto } from '../common/styles/paths'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { format } from 'date-fns'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n position: relative;\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra.forced .info, .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 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\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.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: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 0 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { anyDateToDate } from '../../utils/dates'\n\nexport class IcureDatePickerField extends Field {\n\t//TODO: support different date formats\n\t@property() placeholder = ''\n\n\t@state() protected displayDatePicker = false\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tthis.displayDatePicker = 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\tgetValueFromProvider(): string | undefined {\n\t\tconst [, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst valueForLanguage = versions[0]?.value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && (valueForLanguage.type === 'timestamp' || valueForLanguage.type === 'datetime') && valueForLanguage.value) {\n\t\t\t\tconst date = anyDateToDate(valueForLanguage.value)\n\t\t\t\treturn date ? format(date, 'dd/MM/yyyy') : ''\n\t\t\t}\n\t\t}\n\t\treturn undefined\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst value = this.getValueFromProvider()\n\n\t\treturn html` <div id=\"root\" class=\"icure-text-field ${value && value != '' ? 'has-content' : ''}\" data-placeholder=\"${this.placeholder}\">\n\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t<div class=\"icure-input\" @click=\"${this.togglePopup}\" id=\"test\">\n\t\t\t\t<div id=\"editor\">${value}</div>\n\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t<button class=\"btn select-arrow\">${datePicto}</button>\n\t\t\t\t\t${this.displayDatePicker\n\t\t\t\t\t\t? html`<div id=\"menu\" class=\"date-picker\" @click=\"${(event: Event) => event.stopPropagation()}\">\n\t\t\t\t\t\t\t\t<app-date-picker\n\t\t\t\t\t\t\t\t\tlocale=\"${this.selectedLanguage ?? this.defaultLanguage ?? 'en'}\"\n\t\t\t\t\t\t\t\t\tstyle=\"\"\n\t\t\t\t\t\t\t\t\tmax=\"${MAX_DATE}\"\n\t\t\t\t\t\t\t\t\tmin=\"${toResolvedDate('1900-01-01')}\"\n\t\t\t\t\t\t\t\t\t@date-updated=\"${this.dateUpdated}\"\n\t\t\t\t\t\t\t\t></app-date-picker>\n\t\t\t\t\t\t </div>`\n\t\t\t\t\t\t: ''}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t</div>\n\t\t</div>`\n\t}\n\n\tpublic dateUpdated(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\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tthis.handleValueChanged?.(\n\t\t\t\tthis.label,\n\t\t\t\tthis.language(),\n\t\t\t\t{\n\t\t\t\t\tcontent: { [this.language()]: { type: 'timestamp', value: fuzzyDateValue } },\n\t\t\t\t},\n\t\t\t\tvalueId,\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic togglePopup(): void {\n\t\tif (this.readonly && !this.displayDatePicker) {\n\t\t\treturn\n\t\t}\n\t\tthis.displayDatePicker = !this.displayDatePicker\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-date-picker/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { generateLabels } from '../common/utils'\nimport { property, state } from 'lit/decorators.js'\nimport 'app-datepicker'\nimport { CustomEventDetail } from 'app-datepicker/dist/typings'\nimport { MAX_DATE } from 'app-datepicker/dist/constants'\nimport { toResolvedDate } from 'app-datepicker/dist/helpers/to-resolved-date'\nimport { Field } from '../common'\nimport { datePicto } from '../common/styles/paths'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { format } from 'date-fns'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n position: relative;\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra.forced .info, .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 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\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\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: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 0 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { anyDateToDate } from '../../utils/dates'\n\nexport class IcureDatePickerField extends Field {\n\t//TODO: support different date formats\n\t@property() placeholder = ''\n\n\t@state() protected displayDatePicker = false\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tthis.displayDatePicker = 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\tgetValueFromProvider(): string | undefined {\n\t\tconst [, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst valueForLanguage = versions[0]?.value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && (valueForLanguage.type === 'timestamp' || valueForLanguage.type === 'datetime') && valueForLanguage.value) {\n\t\t\t\tconst date = anyDateToDate(valueForLanguage.value)\n\t\t\t\treturn date ? format(date, 'dd/MM/yyyy') : ''\n\t\t\t}\n\t\t}\n\t\treturn undefined\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst value = this.getValueFromProvider()\n\n\t\treturn html` <div id=\"root\" class=\"icure-text-field ${value && value != '' ? 'has-content' : ''}\" data-placeholder=\"${this.placeholder}\">\n\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t<div class=\"icure-input\" @click=\"${this.togglePopup}\" id=\"test\">\n\t\t\t\t<div id=\"editor\">${value}</div>\n\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t<button class=\"btn select-arrow\">${datePicto}</button>\n\t\t\t\t\t${this.displayDatePicker\n\t\t\t\t\t\t? html`<div id=\"menu\" class=\"date-picker\" @click=\"${(event: Event) => event.stopPropagation()}\">\n\t\t\t\t\t\t\t\t<app-date-picker\n\t\t\t\t\t\t\t\t\tlocale=\"${this.selectedLanguage ?? this.defaultLanguage ?? 'en'}\"\n\t\t\t\t\t\t\t\t\tstyle=\"\"\n\t\t\t\t\t\t\t\t\tmax=\"${MAX_DATE}\"\n\t\t\t\t\t\t\t\t\tmin=\"${toResolvedDate('1900-01-01')}\"\n\t\t\t\t\t\t\t\t\t@date-updated=\"${this.dateUpdated}\"\n\t\t\t\t\t\t\t\t></app-date-picker>\n\t\t\t\t\t\t </div>`\n\t\t\t\t\t\t: ''}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t</div>\n\t\t</div>`\n\t}\n\n\tpublic dateUpdated(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\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tthis.handleValueChanged?.(\n\t\t\t\tthis.label,\n\t\t\t\tthis.language(),\n\t\t\t\t{\n\t\t\t\t\tcontent: { [this.language()]: { type: 'timestamp', value: fuzzyDateValue } },\n\t\t\t\t},\n\t\t\t\tvalueId,\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic togglePopup(): void {\n\t\tif (this.readonly && !this.displayDatePicker) {\n\t\t\treturn\n\t\t}\n\t\tthis.displayDatePicker = !this.displayDatePicker\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-dropdown-field/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { dropdownPicto } from '../common/styles/paths'\nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n position: relative;\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra.forced .info, .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 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\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n.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: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 0 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \n\nexport class IcureDropdownField extends FieldWithOptionsMixin(Field) {\n\t@property() placeholder = ''\n\n\t@state() protected displayMenu = false\n\t@state() protected textInputValue?: string = undefined\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\ttogglePopup(event: MouseEvent, force = false): void {\n\t\tif (this.readonly) return\n\t\tthis.displayMenu = force || !this.displayMenu\n\t\tconsole.log('togglePopup', this.textInputValue)\n\t\tevent.stopPropagation()\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tif (this.displayMenu) {\n\t\t\t\tconsole.log(this.label)\n\t\t\t\tthis.displayMenu = false\n\t\t\t}\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\ttextInputChanged(): (e: Event) => void {\n\t\treturn (e: Event) => {\n\t\t\tconst target = e.target as HTMLInputElement\n\t\t\tconst textInputValue = target.value\n\t\t\tthis.textInputValue = textInputValue\n\t\t\tthis.triggerSearch(textInputValue)\n\t\t}\n\t}\n\n\tprivate triggerSearch(textInputValue: string | undefined, cooldown = 500) {\n\t\tsetTimeout(() => {\n\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\tthis.optionsProvider?.(this.language(), textInputValue ? [textInputValue] : []).then((options) => {\n\t\t\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\t\t\tthis.displayedOptions = options\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}, cooldown)\n\t}\n\n\thandleOptionButtonClicked(id: string | undefined): (e: Event) => boolean {\n\t\treturn (e: Event) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tif (id) {\n\t\t\t\tconst code = this.displayedOptions?.find((option) => option.id === id)\n\t\t\t\tconst inputValue = this.displayedOptions?.find((option) => option.id === id)?.['label']?.[this.language()] ?? ''\n\t\t\t\tthis.displayMenu = false\n\t\t\t\tthis.textInputValue = undefined\n\t\t\t\tthis.handleValueChanged?.(\n\t\t\t\t\tthis.label,\n\t\t\t\t\tthis.language(),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: { [this.language()]: { type: 'string', value: inputValue } },\n\t\t\t\t\t\tcodes: code ? [code] : [],\n\t\t\t\t\t},\n\t\t\t\t\tvalueId,\n\t\t\t\t)\n\t\t\t\tthis.triggerSearch(undefined, 0)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\tgetValueFromProvider(): [string, string] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && valueForLanguage.type === 'string' && valueForLanguage.value) {\n\t\t\t\treturn [id, valueForLanguage.value]\n\t\t\t} else if (value?.codes?.length) {\n\t\t\t\treturn [id, value?.codes?.[0]?.label?.[this.language()] ?? '']\n\t\t\t}\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst [, inputValue] = this.getValueFromProvider() ?? ''\n\n\t\treturn html`\n\t\t\t<div id=\"root\" class=\"icure-text-field ${inputValue != '' ? 'has-content' : ''}\" data-placeholder=${this.placeholder}>\n\t\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t\t<div class=\"icure-input\" id=\"test\" @click=\"${(event: MouseEvent) => this.togglePopup(event, true)}\">\n\t\t\t\t\t<input type=\"text\" id=\"editor\" style=\"outline: none\" .value=${this.textInputValue ?? inputValue ?? ''} @input=\"${this.textInputChanged()}\" />\n\t\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t\t<button class=\"btn select-arrow\" @click=\"${this.togglePopup}\">${dropdownPicto}</button>\n\t\t\t\t\t\t${this.displayMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"options\">\n\t\t\t\t\t\t\t\t\t\t${this.displayedOptions?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${this.handleOptionButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"option ${x?.['label']?.[this.language()] === inputValue ? 'selected' : ''}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x?.['label']?.[this.language()] || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-dropdown-field/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { dropdownPicto } from '../common/styles/paths'\nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n position: relative;\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n display: unset !important;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra .buttons-container .btn.forced {\n opacity: 1 !important;\n display: unset !important;\n}\n\n.extra.forced .info, .extra .info.hidden {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n display: none;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn.forced svg path {\n fill: crimson !important;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 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\n.value-date-menu {\n width: unset !important;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\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: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 0 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 1px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \n\nexport class IcureDropdownField extends FieldWithOptionsMixin(Field) {\n\t@property() placeholder = ''\n\n\t@state() protected displayMenu = false\n\t@state() protected textInputValue?: string = undefined\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\ttogglePopup(event: MouseEvent, force = false): void {\n\t\tif (this.readonly) return\n\t\tthis.displayMenu = force || !this.displayMenu\n\t\tconsole.log('togglePopup', this.textInputValue)\n\t\tevent.stopPropagation()\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tif (this.displayMenu) {\n\t\t\t\tconsole.log(this.label)\n\t\t\t\tthis.displayMenu = false\n\t\t\t}\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\ttextInputChanged(): (e: Event) => void {\n\t\treturn (e: Event) => {\n\t\t\tconst target = e.target as HTMLInputElement\n\t\t\tconst textInputValue = target.value\n\t\t\tthis.textInputValue = textInputValue\n\t\t\tthis.triggerSearch(textInputValue)\n\t\t}\n\t}\n\n\tprivate triggerSearch(textInputValue: string | undefined, cooldown = 500) {\n\t\tsetTimeout(() => {\n\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\tthis.optionsProvider?.(this.language(), textInputValue ? [textInputValue] : []).then((options) => {\n\t\t\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\t\t\tthis.displayedOptions = options\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}, cooldown)\n\t}\n\n\thandleOptionButtonClicked(id: string | undefined): (e: Event) => boolean {\n\t\treturn (e: Event) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tif (id) {\n\t\t\t\tconst code = this.displayedOptions?.find((option) => option.id === id)\n\t\t\t\tconst inputValue = this.displayedOptions?.find((option) => option.id === id)?.['label']?.[this.language()] ?? ''\n\t\t\t\tthis.displayMenu = false\n\t\t\t\tthis.textInputValue = undefined\n\t\t\t\tthis.handleValueChanged?.(\n\t\t\t\t\tthis.label,\n\t\t\t\t\tthis.language(),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: { [this.language()]: { type: 'string', value: inputValue } },\n\t\t\t\t\t\tcodes: code ? [code] : [],\n\t\t\t\t\t},\n\t\t\t\t\tvalueId,\n\t\t\t\t)\n\t\t\t\tthis.triggerSearch(undefined, 0)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\tgetValueFromProvider(): [string, string] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && valueForLanguage.type === 'string' && valueForLanguage.value) {\n\t\t\t\treturn [id, valueForLanguage.value]\n\t\t\t} else if (value?.codes?.length) {\n\t\t\t\treturn [id, value?.codes?.[0]?.label?.[this.language()] ?? '']\n\t\t\t}\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst [, inputValue] = this.getValueFromProvider() ?? ''\n\n\t\treturn html`\n\t\t\t<div id=\"root\" class=\"icure-text-field ${inputValue != '' ? 'has-content' : ''}\" data-placeholder=${this.placeholder}>\n\t\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t\t<div class=\"icure-input\" id=\"test\" @click=\"${(event: MouseEvent) => this.togglePopup(event, true)}\">\n\t\t\t\t\t<input type=\"text\" id=\"editor\" style=\"outline: none\" .value=${this.textInputValue ?? inputValue ?? ''} @input=\"${this.textInputChanged()}\" />\n\t\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t\t<button class=\"btn select-arrow\" @click=\"${this.togglePopup}\">${dropdownPicto}</button>\n\t\t\t\t\t\t${this.displayMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"options\">\n\t\t\t\t\t\t\t\t\t\t${this.displayedOptions?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${this.handleOptionButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"option ${x?.['label']?.[this.language()] === inputValue ? 'selected' : ''}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x?.['label']?.[this.language()] || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"]}
|