@icure/form 1.1.19 → 1.1.21

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.
Files changed (47) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/components/common/field.d.ts +7 -4
  3. package/components/common/field.js +8 -7
  4. package/components/common/field.js.map +1 -1
  5. package/components/common/metadata-buttons-bar.d.ts +44 -0
  6. package/components/common/metadata-buttons-bar.js +1329 -0
  7. package/components/common/metadata-buttons-bar.js.map +1 -0
  8. package/components/icure-button-group/index.js +21 -22
  9. package/components/icure-button-group/index.js.map +1 -1
  10. package/components/icure-date-picker/index.js +22 -23
  11. package/components/icure-date-picker/index.js.map +1 -1
  12. package/components/icure-dropdown-field/index.js +21 -22
  13. package/components/icure-dropdown-field/index.js.map +1 -1
  14. package/components/icure-form/fields/text-field/text-field.js +1 -0
  15. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  16. package/components/icure-form/fields/utils/index.d.ts +1 -1
  17. package/components/icure-form/fields/utils/index.js +1 -1
  18. package/components/icure-form/fields/utils/index.js.map +1 -1
  19. package/components/icure-form/index.d.ts +3 -0
  20. package/components/icure-form/index.js +27 -23
  21. package/components/icure-form/index.js.map +1 -1
  22. package/components/icure-form/renderer/form/form.js +3 -2
  23. package/components/icure-form/renderer/form/form.js.map +1 -1
  24. package/components/icure-form/renderer/index.d.ts +3 -1
  25. package/components/icure-form/renderer/index.js.map +1 -1
  26. package/components/icure-label/index.js +21 -22
  27. package/components/icure-label/index.js.map +1 -1
  28. package/components/icure-text-field/index.d.ts +1 -14
  29. package/components/icure-text-field/index.js +42 -160
  30. package/components/icure-text-field/index.js.map +1 -1
  31. package/components/model/index.d.ts +1 -0
  32. package/components/model/index.js.map +1 -1
  33. package/components/themes/icure-blue/index.js +7 -6
  34. package/components/themes/icure-blue/index.js.map +1 -1
  35. package/components/themes/kendo/index.js +5 -3
  36. package/components/themes/kendo/index.js.map +1 -1
  37. package/generic/model.d.ts +1 -1
  38. package/generic/model.js.map +1 -1
  39. package/icure/form-values-container.d.ts +2 -2
  40. package/icure/form-values-container.js +27 -13
  41. package/icure/form-values-container.js.map +1 -1
  42. package/package.json +1 -1
  43. package/utils/dates.js +1 -1
  44. package/utils/dates.js.map +1 -1
  45. package/utils/fields-values-provider.d.ts +1 -1
  46. package/utils/fields-values-provider.js +2 -2
  47. package/utils/fields-values-provider.js.map +1 -1
@@ -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 height: 28px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation-delay: 0.24s;\n}\n\n.extra:hover .buttons-container .menu-container:hover .btn {\n animation-delay: 0.04s;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n}\n\n.extra.forced .info {\n opacity: 0 !important;\n}\n\n.extra:hover .info {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 12px;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n position: relative;\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 4px 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 5px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \nimport { 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.displayedLanguage ?? 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: 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"]}
@@ -311,7 +311,6 @@ h3 {
311
311
 
312
312
  .extra {
313
313
  flex-shrink: 0;
314
- height: 28px;
315
314
  display: flex;
316
315
  flex-flow: row nowrap;
317
316
  align-items: center;
@@ -334,6 +333,7 @@ h3 {
334
333
  }
335
334
 
336
335
  .extra .buttons-container {
336
+ position: relative;
337
337
  display: flex;
338
338
  height: 100%;
339
339
  flex-flow: row nowrap;
@@ -346,14 +346,7 @@ h3 {
346
346
  .extra:hover .buttons-container .menu-container .btn {
347
347
  animation: slideIn 0.24s ease-in forwards;
348
348
  pointer-events: none;
349
- }
350
-
351
- .extra:hover .buttons-container .menu-container .btn {
352
- animation-delay: 0.24s;
353
- }
354
-
355
- .extra:hover .buttons-container .menu-container:hover .btn {
356
- animation-delay: 0.04s;
349
+ display: unset !important;
357
350
  }
358
351
 
359
352
  .extra.forced:hover .buttons-container .menu-container .btn {
@@ -363,13 +356,15 @@ h3 {
363
356
 
364
357
  .extra.forced .buttons-container .btn {
365
358
  opacity: 1 !important;
359
+ display: unset !important;
366
360
  }
367
361
 
368
- .extra.forced .info {
369
- opacity: 0 !important;
362
+ .extra .buttons-container .btn.forced {
363
+ opacity: 1 !important;
364
+ display: unset !important;
370
365
  }
371
366
 
372
- .extra:hover .info {
367
+ .extra.forced .info, .extra .info.hidden {
373
368
  opacity: 0 !important;
374
369
  z-index: 0 !important;
375
370
  }
@@ -379,6 +374,7 @@ h3 {
379
374
  background: transparent;
380
375
  position: relative;
381
376
  top: 0;
377
+ display: none;
382
378
  opacity: 0;
383
379
  cursor: pointer;
384
380
  height: 20px;
@@ -396,6 +392,10 @@ h3 {
396
392
  fill: #809ab4;
397
393
  }
398
394
 
395
+ .extra .buttons-container .btn.forced svg path {
396
+ fill: crimson !important;
397
+ }
398
+
399
399
  .extra .buttons-container .btn:hover svg path {
400
400
  fill: #274768;
401
401
  }
@@ -438,7 +438,8 @@ h3 {
438
438
 
439
439
  @keyframes slideIn {
440
440
  0% {
441
- top: 12px;
441
+ top: 0;
442
+ opacity: 0;
442
443
  pointer-events: none;
443
444
  }
444
445
  100% {
@@ -448,10 +449,13 @@ h3 {
448
449
  }
449
450
  }
450
451
  .menu-container {
451
- position: relative;
452
452
  display: flex;
453
453
  align-items: center;
454
- height: 100%;
454
+ height: fit-content;
455
+ }
456
+
457
+ .value-date-menu {
458
+ width: unset !important;
455
459
  }
456
460
 
457
461
  .menu {
@@ -469,7 +473,6 @@ h3 {
469
473
  max-height: 320px;
470
474
  overflow-y: scroll;
471
475
  }
472
-
473
476
  .menu .input-container {
474
477
  background: #edf2f7;
475
478
  border-radius: 4px;
@@ -481,22 +484,18 @@ h3 {
481
484
  margin-bottom: 4px;
482
485
  padding: 0 4px;
483
486
  }
484
-
485
487
  .menu .input-container:hover {
486
488
  box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);
487
489
  }
488
-
489
490
  .menu .input-container:focus-within {
490
491
  box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);
491
492
  }
492
-
493
493
  .menu .input-container input {
494
494
  background: transparent;
495
495
  border: none;
496
496
  flex-grow: 1;
497
497
  height: 100%;
498
498
  }
499
-
500
499
  .menu .input-container input:focus {
501
500
  background: transparent;
502
501
  border: none;
@@ -917,7 +916,7 @@ app-date-picker {
917
916
  .icure-text-field .icure-input,
918
917
  .icure-text-field .input-container {
919
918
  border-radius: 2px;
920
- padding: 4px 8px;
919
+ padding: 0 8px;
921
920
  width: 100%;
922
921
  box-sizing: border-box;
923
922
  border-width: 1px;
@@ -1021,7 +1020,7 @@ input[type=radio] {
1021
1020
  line-height: 1.4em;
1022
1021
  cursor: text;
1023
1022
  font-size: 12px;
1024
- top: calc(1.4em + 5px);
1023
+ top: calc(1.4em + 1px);
1025
1024
  left: 9px;
1026
1025
  transition: transform 0.2s ease-out, color 0.2s ease-out;
1027
1026
  color: #084B83;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-dropdown-field/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAmE;AACnE,qDAAmD;AACnD,kDAAsD;AACtD,sCAAiC;AACjC,2CAAgD;AAChD,sDAA+D;AAC/D,qEAAoE;AACpE,aAAa;AACb,6BAA0B;AAC1B,MAAM,OAAO,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqgCjB,CAAA;AAEF,MAAa,kBAAmB,SAAQ,IAAA,0CAAqB,EAAC,cAAK,CAAC;IAApE;;QACa,gBAAW,GAAG,EAAE,CAAA;QAET,gBAAW,GAAG,KAAK,CAAA;QACnB,mBAAc,GAAY,SAAS,CAAA;IAkIvD,CAAC;IAhIA,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,OAAO,CAAC,CAAA;IACjB,CAAC;IAED,WAAW,CAAC,KAAiB,EAAE,KAAK,GAAG,KAAK;QAC3C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC/C,KAAK,CAAC,eAAe,EAAE,CAAA;IACxB,CAAC;IAED,mBAAmB,CAAC,KAAiB;QACpC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACzB,CAAC;YACD,KAAK,CAAC,eAAe,EAAE,CAAA;QACxB,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACzB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,oBAAoB;QACnB,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAC5B,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,gBAAgB;QACf,OAAO,CAAC,CAAQ,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAA;YAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAA;YACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;YACpC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QACnC,CAAC,CAAA;IACF,CAAC;IAEO,aAAa,CAAC,cAAkC,EAAE,QAAQ,GAAG,GAAG;QACvE,UAAU,CAAC,GAAG,EAAE;;YACf,IAAI,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5C,MAAA,IAAI,CAAC,eAAe,qDAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;oBAChG,IAAI,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC5C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAA;oBAChC,CAAC;gBACF,CAAC,CAAC,CAAA;YACH,CAAC;QACF,CAAC,EAAE,QAAQ,CAAC,CAAA;IACb,CAAC;IAED,yBAAyB,CAAC,EAAsB;QAC/C,OAAO,CAAC,CAAQ,EAAE,EAAE;;YACnB,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,CAAC,CAAC,eAAe,EAAE,CAAA;YACnB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAA,IAAI,CAAC,oBAAoB,EAAE,mCAAI,EAAE,CAAA;YACnD,IAAI,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;gBACtE,MAAM,UAAU,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,0CAAG,OAAO,CAAC,0CAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE,CAAA;gBAChH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;gBACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;gBAC/B,MAAA,IAAI,CAAC,kBAAkB,qDACtB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EAAE,EACf;oBACC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBACrE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;iBACzB,EACD,OAAO,CACP,CAAA;gBACD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;gBAChC,OAAO,IAAI,CAAA;YACZ,CAAC;YACD,OAAO,KAAK,CAAA;QACb,CAAC,CAAA;IACF,CAAC;IAED,oBAAoB;;QACnB,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAC,CAAA;QACjE,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA;YAChC,MAAM,gBAAgB,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE,CAAA;YAChE,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACtF,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;iBAAM,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,MAAM,EAAE,CAAC;gBACjC,OAAO,CAAC,EAAE,EAAE,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,KAAK,0CAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE,CAAC,CAAA;YAC/D,CAAC;QACF,CAAC;QACD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM;;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,IAAA,UAAI,EAAA,EAAE,CAAA;QACd,CAAC;QAED,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,MAAA,IAAI,CAAC,oBAAoB,EAAE,mCAAI,EAAE,CAAA;QAExD,OAAO,IAAA,UAAI,EAAA;4CAC+B,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,sBAAsB,IAAI,CAAC,WAAW;MACjH,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAO;iDAClG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;mEAClC,MAAA,MAAA,IAAI,CAAC,cAAc,mCAAI,UAAU,mCAAI,EAAE,YAAY,IAAI,CAAC,gBAAgB,EAAE;6BAChH,cAAc;iDACM,IAAI,CAAC,WAAW,KAAK,qBAAa;QAC3E,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAA,UAAI,EAAA;;YAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,GAAG,CAC3B,CAAC,CAAC,EAAE,EAAE;;gBACL,OAAA,IAAA,UAAI,EAAA;uBACO,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;mBACxC,CAAC,CAAC,EAAE;6BACM,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,OAAO,CAAC,0CAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;eAE9E,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,OAAO,CAAC,0CAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAI,EAAE;sBAC9B,CAAA;aAAA,CACX;;UAED;YACH,CAAC,CAAC,EAAE;;0BAEe,MAAA,IAAI,CAAC,wBAAwB,qDAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,WAAC,OAAA,IAAA,UAAI,EAAA,QAAQ,MAAA,IAAI,CAAC,mBAAmB,qDAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAA,EAAA,CAAC;;;GAGnJ,CAAA;IACF,CAAC;CACD;AAtID,gDAsIC;AArIY;IAAX,IAAA,wBAAQ,GAAE;;uDAAiB;AAET;IAAlB,IAAA,qBAAK,GAAE;;uDAA8B;AACnB;IAAlB,IAAA,qBAAK,GAAE;;0DAA8C","sourcesContent":["import { CSSResultGroup, html, nothing, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { dropdownPicto } from '../common/styles/paths'\nimport { Field } from '../common'\nimport { generateLabels } from '../common/utils'\nimport { extractSingleValue } from '../icure-form/fields/utils'\nimport { FieldWithOptionsMixin } from '../common/field-with-options'\n// @ts-ignore\nimport { css } from 'lit';\nconst baseCss = css`@charset \"UTF-8\";\n:host {\n --bg-color-1: #f44336;\n}\n\n.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror li {\n position: relative;\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection {\n caret-color: transparent;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n/* Make sure li selections wrap around markers */\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n/* Add space around the hr to make clicking it easier */\n.ProseMirror-example-setup-style hr {\n padding: 2px 10px;\n border: none;\n margin: 1em 0;\n}\n\n.ProseMirror-example-setup-style hr:after {\n content: \"\";\n display: block;\n height: 1px;\n background: silver;\n line-height: 2px;\n}\n\n.ProseMirror ul,\n.ProseMirror ol {\n padding-left: 30px;\n}\n\n.ProseMirror blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0;\n margin-right: 0;\n}\n\n.ProseMirror-example-setup-style img {\n cursor: default;\n}\n\n.ProseMirror-prompt {\n background: white;\n padding: 5px 10px 5px 15px;\n border: 1px solid silver;\n position: fixed;\n border-radius: 3px;\n z-index: 11;\n box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.ProseMirror-prompt h5 {\n margin: 0;\n font-weight: normal;\n font-size: 100%;\n color: #444;\n}\n\n.ProseMirror-prompt input[type=text],\n.ProseMirror-prompt textarea {\n background: #eee;\n border: none;\n outline: none;\n}\n\n.ProseMirror-prompt input[type=text] {\n padding: 0 4px;\n}\n\n.ProseMirror-prompt-close {\n position: absolute;\n left: 2px;\n top: 1px;\n color: #666;\n border: none;\n background: transparent;\n padding: 0;\n}\n\n.ProseMirror-prompt-close:after {\n content: \"✕\";\n font-size: 12px;\n}\n\n.ProseMirror-invalid {\n background: #ffc;\n border: 1px solid #cc7;\n border-radius: 4px;\n padding: 5px 10px;\n position: absolute;\n min-width: 10em;\n}\n\n.ProseMirror-prompt-buttons {\n margin-top: 5px;\n display: none;\n}\n\n#editor,\n.editor {\n color: rgb(101, 101, 101);\n background-clip: padding-box;\n border-radius: 4px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n padding: 5px 0;\n display: flex;\n align-items: flex-end;\n}\n\n.ProseMirror p:last-child,\n.ProseMirror h1:last-child,\n.ProseMirror h2:last-child,\n.ProseMirror h3:last-child,\n.ProseMirror h4:last-child,\n.ProseMirror h5:last-child,\n.ProseMirror h6:last-child {\n margin-bottom: 2px;\n}\n\n.ProseMirror {\n padding: 6px 8px 2px 8px;\n line-height: 1.2;\n color: #274768;\n font-size: 14px;\n font-weight: 400;\n outline: none;\n}\n\n.ProseMirror p {\n margin-bottom: 1em;\n}\n\n.icure-input {\n background: #edf2f7;\n border-radius: 8px;\n border: none;\n min-height: 28px;\n height: auto;\n display: flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n justify-content: space-between;\n}\n\n#editor {\n background: transparent;\n border: none;\n padding: 0;\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n#editor.tokens-list .ProseMirror, #editor.styled-tokens-list .ProseMirror {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n#editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {\n display: inline-block;\n border-radius: 8px;\n padding: 2px 4px;\n margin-right: 2px;\n background-color: #dadada;\n border-color: rgba(42, 61, 108, 0.44);\n}\n#editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {\n min-width: 26px;\n display: inline-block;\n}\n#editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {\n display: none;\n}\n#editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n}\n#editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {\n content: \" \";\n min-width: 22px;\n background: transparent url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K\") no-repeat center/16px;\n display: inline-block;\n}\n#editor.items-list .ProseMirror {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 6px;\n}\n#editor.items-list .ProseMirror li {\n list-style-type: none;\n width: 100%;\n padding-bottom: 4px;\n border-bottom: 1px dotted rgba(128, 128, 128, 0.5098039216);\n}\n#editor.items-list .ProseMirror li:last-child {\n border-bottom: none;\n}\n\n#content {\n position: relative;\n padding: 0;\n}\n\n* {\n font-family: \"Roboto\", Helvetica, sans-serif;\n}\n\np {\n margin-top: 0;\n}\n\nh3 {\n color: #274768;\n margin-top: 0;\n}\n\n.extra {\n flex-shrink: 0;\n height: 28px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 0 8px;\n transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);\n}\n\n.extra > .info {\n color: #809ab4;\n font-size: 12px;\n width: 100%;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n text-align: right;\n}\n\n.extra > .info > span {\n font-weight: 700;\n}\n\n.extra .buttons-container {\n display: flex;\n height: 100%;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-end;\n width: 0;\n transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation: slideIn 0.24s ease-in forwards;\n pointer-events: none;\n}\n\n.extra:hover .buttons-container .menu-container .btn {\n animation-delay: 0.24s;\n}\n\n.extra:hover .buttons-container .menu-container:hover .btn {\n animation-delay: 0.04s;\n}\n\n.extra.forced:hover .buttons-container .menu-container .btn {\n animation: none;\n pointer-events: all;\n}\n\n.extra.forced .buttons-container .btn {\n opacity: 1 !important;\n}\n\n.extra.forced .info {\n opacity: 0 !important;\n}\n\n.extra:hover .info {\n opacity: 0 !important;\n z-index: 0 !important;\n}\n\n.extra .buttons-container .btn {\n border: none;\n background: transparent;\n position: relative;\n top: 0;\n opacity: 0;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0;\n}\n\n.extra .buttons-container .menu-container:last-child .btn {\n margin-right: 0;\n}\n\n.extra .buttons-container .btn svg path {\n fill: #809ab4;\n}\n\n.extra .buttons-container .btn:hover svg path {\n fill: #274768;\n}\n\n.extra .buttons-container .menu-container .btn:hover::after {\n content: attr(data-content);\n position: absolute;\n top: -22px;\n height: 16px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: 8px;\n background: #274768;\n color: white;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n text-transform: capitalize;\n white-space: nowrap;\n padding: 0 12px;\n font-size: 12px;\n line-height: 0;\n}\n\n.extra .buttons-container .btn:focus,\n.extra .buttons-container .btn:focus-within {\n border: none;\n outline: none;\n}\n\n.extra .buttons-container .menu-container .btn:hover::before {\n content: \"\";\n display: block;\n border-color: #274768 transparent transparent transparent;\n border-style: solid;\n border-width: 4px;\n position: absolute;\n top: -6px;\n}\n\n@keyframes slideIn {\n 0% {\n top: 12px;\n pointer-events: none;\n }\n 100% {\n top: 0;\n opacity: 1;\n pointer-events: all;\n }\n}\n.menu-container {\n position: relative;\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.menu {\n display: block;\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n border-radius: 8px;\n padding: 8px;\n width: 220px;\n min-height: 120px;\n max-height: 320px;\n overflow-y: scroll;\n}\n\n.menu .input-container {\n background: #edf2f7;\n border-radius: 4px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n height: 32px;\n margin-bottom: 4px;\n padding: 0 4px;\n}\n\n.menu .input-container:hover {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2);\n}\n\n.menu .input-container:focus-within {\n box-shadow: 0 0 0 3px rgba(40, 151, 255, 0.2), 0 0 0 1px rgb(40, 151, 255);\n}\n\n.menu .input-container input {\n background: transparent;\n border: none;\n flex-grow: 1;\n height: 100%;\n}\n\n.menu .input-container input:focus {\n background: transparent;\n border: none;\n outline: none;\n}\n\n.menu-trigger:focus .menu {\n display: block;\n}\n\n.menu-container .item {\n height: 22px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #274768;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.menu-container .item:hover {\n background: #f5f9fd;\n font-weight: 500;\n border-radius: 4px;\n}\n\nspan {\n position: relative;\n z-index: 1;\n}\n\nspan.date {\n margin-right: 1px;\n}\n\nspan.time {\n margin-left: 1px;\n}\n\nspan.measure {\n display: inline-block;\n margin-right: 1px;\n}\n\nspan.unit {\n margin-left: 1px;\n display: inline-block;\n}\n\nspan[data-content]:hover::after {\n position: absolute;\n content: attr(data-content);\n background: #274768;\n color: #ffffff;\n font-size: 9px;\n line-height: 12px;\n top: -12px;\n left: 0px;\n padding: 0px 2px;\n}\n\nspan[data-content]::before {\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n opacity: 0.3;\n}\n\n.masked {\n display: none;\n}\n\n.companion {\n position: absolute;\n width: 15px;\n background-color: hsl(194, 100%, 50%);\n color: white;\n z-index: 20;\n padding: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 0 2px 2px 0;\n}\n\n.companion:hover {\n font-weight: 700;\n background: hsl(202, 100%, 50%);\n}\n\n*::selection {\n background-color: hsla(194, 100%, 50%, 0.2);\n}\n\n.suggestion-palette {\n position: absolute;\n z-index: 20;\n max-width: 380px;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 4px;\n border: none;\n border-radius: 8px;\n background: white;\n box-shadow: 0 1.1px 1.1px rgba(0, 0, 0, 0.022), 0 2.7px 2.7px rgba(0, 0, 0, 0.032), 0 5px 5px rgba(0, 0, 0, 0.04), 0 8.9px 8.9px rgba(0, 0, 0, 0.048), 0 16.7px 16.7px rgba(0, 0, 0, 0.058), 0 40px 40px rgba(0, 0, 0, 0.08);\n}\n\n.suggestion-palette ul {\n white-space: nowrap;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\n.suggestion-palette ul li {\n padding: 0 8px;\n font-size: 11px;\n height: 20px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px;\n color: rgb(39, 71, 104);\n}\n.suggestion-palette ul li svg {\n height: 12px;\n width: 12px;\n border-radius: 4px;\n transform-origin: center center;\n}\n.suggestion-palette ul li svg path {\n fill: rgb(128, 154, 180);\n}\n\n.suggestion-palette ul li:not(:first-child) svg.tab-icn,\n.suggestion-palette ul li:not(.focused) svg.return-icn,\n.suggestion-palette ul.focused li:first-child svg.tab-icn {\n height: 0;\n width: 0;\n transform: scale(0);\n opacity: 0;\n}\n\n.suggestion-palette ul li.focused {\n background-color: rgb(237, 242, 247);\n}\n\n.suggestion-palette ul li.focused svg.return-icn {\n animation: growIn 0.24s ease-in forwards;\n}\n\n@keyframes growIn {\n 0% {\n transform: scale(0.5);\n }\n 90% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n}\nspan.code-count-1::after,\nspan.code-count-1::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n}\n\nspan.code-count-2::after,\nspan.code-count-2::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n /*background: repeating-linear-gradient(*/\n /*\t45deg,*/\n /*\tvar(--bg-code-color-1),*/\n /*\tvar(--bg-code-color-1) 10px,*/\n /*\tvar(--bg-code-color-2) 10px,*/\n /*\tvar(--bg-code-color-2) 20px*/\n /*);*/\n /* PAS STRIPES */\n background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);\n}\n\nspan.code-count-3::after,\nspan.code-count-3::before {\n background: var(--bg-code-color-1);\n color: var(--text-code-color-1);\n /* STRIPES */\n background: repeating-linear-gradient(45deg, var(--bg-code-color-1), var(--bg-code-color-1) 10px, var(--bg-code-color-2) 10px, var(--bg-code-color-2) 20px);\n /* PAS STRIPES */\n /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/\n}\n\n.selected-option {\n padding: 2px;\n margin-right: 5px;\n}\n\n.options {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n left: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: auto;\n min-width: 100%;\n overflow-y: auto;\n max-height: 280px;\n}\n\n.date-picker {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: absolute;\n top: 30px;\n right: 0;\n z-index: 2;\n background: #fff;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n width: 260px;\n overflow-y: auto;\n max-height: 280px;\n left: 0px;\n}\n\napp-date-picker {\n --app-primary: #084B83;\n --app-hover: #5b7da2;\n --app-selected-hover: #5b7da2;\n}\n\n.option {\n height: 28px;\n min-height: 28px;\n width: 100%;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: #545454;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n box-shadow: none;\n border: none;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n padding: 4px 8px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n\n.option:hover {\n color: #656565;\n background-color: #ededed;\n}\n\n.select-arrow {\n border: none;\n background: 0px 0px;\n position: relative;\n top: 0px;\n opacity: 0.5;\n cursor: pointer;\n height: 20px;\n width: 10px;\n margin-left: 4px;\n margin-right: 4px;\n padding: 0px;\n}\n\n.hidden {\n display: none;\n}\n\n.container {\n position: relative;\n}\n\n.icure-form {\n background-color: rgba(0, 0, 0, 0);\n display: grid;\n gap: 0 6px;\n grid-template-columns: repeat(24, 1fr);\n}\n\n.group {\n align-items: end;\n display: grid;\n}\n\n.subform {\n align-items: end;\n display: grid;\n position: relative;\n margin: 8px -8px 8px;\n padding: 0 8px 0;\n min-height: 64px;\n background-color: #e7f0fd;\n}\n\n.icure-form hr {\n display: block;\n margin-top: 20px;\n border-top: 1px solid rgba(8, 75, 131, 0.13);\n margin-bottom: 20px;\n}\n.icure-form h2 {\n font-size: 14.4px;\n font-weight: 700;\n color: #084B83;\n padding: 2px;\n}\n.icure-form h3 {\n font-size: 13.2px;\n font-weight: 500;\n color: #084B83;\n padding: 6px;\n}\n.icure-form .group.bordered {\n background: #f6f6f6;\n border-radius: 12px;\n}\n.icure-form .float-right-btn {\n position: absolute;\n right: 10px;\n cursor: pointer;\n}\n.icure-form .float-right-btn.top {\n top: 6px;\n}\n.icure-form .float-right-btn.bottom {\n bottom: -8px;\n}\n\n.icure-form-field {\n align-items: end;\n display: grid;\n}\n\n.error {\n color: red;\n font-size: 12px;\n}\n\n.icure-text-field > .icure-label, .icure-button-group > .icure-label {\n z-index: 1;\n pointer-events: none;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n left: 9px;\n color: #084B83;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {\n display: inline-block;\n height: 1.4em;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.icure-text-field {\n position: relative;\n width: 100%;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n}\n.icure-text-field > .icure-label {\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n}\n.icure-text-field > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-text-field > .icure-label.side {\n position: relative;\n}\n.icure-text-field > .icure-label.side.left {\n order: -1;\n margin-right: 1em;\n}\n.icure-text-field > .icure-label.side.right {\n order: 1;\n margin-left: 1em;\n}\n.icure-text-field .icure-input,\n.icure-text-field .input-container {\n border-radius: 2px;\n padding: 4px 8px;\n width: 100%;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n font: inherit;\n font-size: 14px;\n line-height: 1.4em;\n display: flex;\n align-items: center;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n background-color: #ffffff;\n border-color: red;\n color: #000000;\n box-sizing: border-box;\n}\n.icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,\n.icure-text-field .input-container:focus,\n.icure-text-field .input-container:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input:hover,\n.icure-text-field .input-container:hover {\n border-color: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n}\n.icure-text-field .icure-input:hover:focus, .icure-text-field .icure-input:hover:focus-within,\n.icure-text-field .input-container:hover:focus,\n.icure-text-field .input-container:hover:focus-within {\n box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.06);\n}\n.icure-text-field .icure-input .ProseMirror,\n.icure-text-field .input-container .ProseMirror {\n padding: 0;\n font-size: 14px;\n line-height: 1.4em;\n color: #000000;\n}\n.icure-text-field .icure-input .ProseMirror .date,\n.icure-text-field .input-container .ProseMirror .date {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror .time,\n.icure-text-field .input-container .ProseMirror .time {\n padding: 1px;\n}\n.icure-text-field .icure-input .ProseMirror:focus .focused,\n.icure-text-field .input-container .ProseMirror:focus .focused {\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n border-color: rgba(0, 0, 0, 0.1);\n}\n.icure-text-field .icure-input > svg,\n.icure-text-field .input-container > svg {\n opacity: 0.5;\n}\n.icure-text-field .icure-input > svg path,\n.icure-text-field .input-container > svg path {\n fill: #656565;\n}\n.icure-text-field .icure-input .extra,\n.icure-text-field .input-container .extra {\n height: 20px;\n}\n.icure-text-field .icure-input .extra > .info,\n.icure-text-field .input-container .extra > .info {\n color: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path,\n.icure-text-field .input-container .extra .buttons-container .btn svg path {\n fill: #656565;\n opacity: 0.5;\n}\n.icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,\n.icure-text-field .input-container .extra .buttons-container .btn svg path:hover {\n fill: #656565;\n opacity: 1;\n}\n\ninput[type=radio] {\n margin-top: -1px;\n vertical-align: middle;\n}\n\n.icure-checkbox:checked {\n accent-color: #06a070;\n}\n\n.icure-button-group > div {\n display: grid;\n}\n.icure-button-group > div > div {\n display: flex;\n align-items: center;\n}\n.icure-button-group > div > div > .icure-button-group-label {\n z-index: 1;\n line-height: 1.4em;\n cursor: text;\n font-size: 12px;\n top: calc(1.4em + 5px);\n left: 9px;\n transition: transform 0.2s ease-out, color 0.2s ease-out;\n color: #084B83;\n display: flex;\n align-items: center;\n height: 28px;\n max-width: 85%;\n min-width: 0;\n}\n.icure-button-group > div > div > .icure-button-group-label > span {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n padding-right: 8px;\n}\n.icure-button-group > .icure-input {\n flex: 1 1 auto;\n width: auto;\n}\n.icure-button-group > .icure-label {\n transform: translate(0, 0) scale(1);\n}\n.icure-button-group > .icure-label.above, .icure-button-group.has-content > .icure-label, .icure-button-group:focus > .icure-label, .icure-button-group:focus-within > .icure-label {\n font-weight: 500;\n height: 1.4em;\n}` \n\nexport class IcureDropdownField extends FieldWithOptionsMixin(Field) {\n\t@property() placeholder = ''\n\n\t@state() protected displayMenu = false\n\t@state() protected textInputValue?: string = undefined\n\n\tstatic get styles(): CSSResultGroup[] {\n\t\treturn [baseCss]\n\t}\n\n\ttogglePopup(event: MouseEvent, force = false): void {\n\t\tif (this.readonly) return\n\t\tthis.displayMenu = force || !this.displayMenu\n\t\tconsole.log('togglePopup', this.textInputValue)\n\t\tevent.stopPropagation()\n\t}\n\n\t_handleClickOutside(event: MouseEvent): void {\n\t\tif (!event.composedPath().includes(this)) {\n\t\t\tif (this.displayMenu) {\n\t\t\t\tconsole.log(this.label)\n\t\t\t\tthis.displayMenu = false\n\t\t\t}\n\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tdocument.addEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tdocument.removeEventListener('click', this._handleClickOutside.bind(this))\n\t}\n\n\ttextInputChanged(): (e: Event) => void {\n\t\treturn (e: Event) => {\n\t\t\tconst target = e.target as HTMLInputElement\n\t\t\tconst textInputValue = target.value\n\t\t\tthis.textInputValue = textInputValue\n\t\t\tthis.triggerSearch(textInputValue)\n\t\t}\n\t}\n\n\tprivate triggerSearch(textInputValue: string | undefined, cooldown = 500) {\n\t\tsetTimeout(() => {\n\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\tthis.optionsProvider?.(this.language(), textInputValue ? [textInputValue] : []).then((options) => {\n\t\t\t\t\tif (textInputValue === this.textInputValue) {\n\t\t\t\t\t\tthis.displayedOptions = options\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}, cooldown)\n\t}\n\n\thandleOptionButtonClicked(id: string | undefined): (e: Event) => boolean {\n\t\treturn (e: Event) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tconst [valueId] = this.getValueFromProvider() ?? ''\n\t\t\tif (id) {\n\t\t\t\tconst code = this.displayedOptions?.find((option) => option.id === id)\n\t\t\t\tconst inputValue = this.displayedOptions?.find((option) => option.id === id)?.['label']?.[this.language()] ?? ''\n\t\t\t\tthis.displayMenu = false\n\t\t\t\tthis.textInputValue = undefined\n\t\t\t\tthis.handleValueChanged?.(\n\t\t\t\t\tthis.label,\n\t\t\t\t\tthis.language(),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: { [this.language()]: { type: 'string', value: inputValue } },\n\t\t\t\t\t\tcodes: code ? [code] : [],\n\t\t\t\t\t},\n\t\t\t\t\tvalueId,\n\t\t\t\t)\n\t\t\t\tthis.triggerSearch(undefined, 0)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\tgetValueFromProvider(): [string, string] | [undefined, undefined] {\n\t\tconst [id, versions] = extractSingleValue(this.valueProvider?.())\n\t\tif (versions) {\n\t\t\tconst value = versions[0]?.value\n\t\t\tconst valueForLanguage = value?.content?.[this.language()] ?? ''\n\t\t\tif (valueForLanguage && valueForLanguage.type === 'string' && valueForLanguage.value) {\n\t\t\t\treturn [id, valueForLanguage.value]\n\t\t\t} else if (value?.codes?.length) {\n\t\t\t\treturn [id, value?.codes?.[0]?.label?.[this.language()] ?? '']\n\t\t\t}\n\t\t}\n\t\treturn [undefined, undefined]\n\t}\n\n\trender(): TemplateResult {\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst [, inputValue] = this.getValueFromProvider() ?? ''\n\n\t\treturn html`\n\t\t\t<div id=\"root\" class=\"icure-text-field ${inputValue != '' ? 'has-content' : ''}\" data-placeholder=${this.placeholder}>\n\t\t\t\t${this.displayedLabels ? generateLabels(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : nothing}\n\t\t\t\t<div class=\"icure-input\" id=\"test\" @click=\"${(event: MouseEvent) => this.togglePopup(event, true)}\">\n\t\t\t\t\t<input type=\"text\" id=\"editor\" style=\"outline: none\" .value=${this.textInputValue ?? inputValue ?? ''} @input=\"${this.textInputChanged()}\" />\n\t\t\t\t\t<div id=\"extra\" class=${'extra forced'}>\n\t\t\t\t\t\t<button class=\"btn select-arrow\" @click=\"${this.togglePopup}\">${dropdownPicto}</button>\n\t\t\t\t\t\t${this.displayMenu\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div id=\"menu\" class=\"options\">\n\t\t\t\t\t\t\t\t\t\t${this.displayedOptions?.map(\n\t\t\t\t\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${this.handleOptionButtonClicked(x.id)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"${x.id}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"option ${x?.['label']?.[this.language()] === inputValue ? 'selected' : ''}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${x?.['label']?.[this.language()] || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"error\">${this.validationErrorsProvider?.().map(([, error]) => html`<div>${this.translationProvider?.(this.language(), error)}</div>`)}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"]}
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"]}
@@ -52,6 +52,7 @@ class TextField extends common_1.Field {
52
52
  .lines="${this.lines}"
53
53
  .displayedLabels="${this.displayedLabels}"
54
54
  .defaultLanguage="${this.defaultLanguage}"
55
+ .languages="${this.languages}"
55
56
  schema="${this.multiline ? 'text-document' : 'styled-text-with-codes'}"
56
57
  ?suggestions=${!!this.suggestionProvider}
57
58
  ?links=${!!this.linksProvider}
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/text-field/text-field.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { Suggestion } from '../../../../generic'\n\nexport class TextField extends Field {\n\t//Boolean value is parsed as text, so we also need to use string type\n\t@property() multiline: boolean | string = false\n\t@property() lines = 1\n\t@property() rows = 1\n\t@property() grows = false\n\t@property() unit?: string = ''\n\t@property() suggestionStopWords: Set<string> = new Set<string>()\n\t@property() linksProvider: (sug: { id: string; code: string; text: string; terms: string[] }) => Promise<{ href: string; title: string } | undefined> = () =>\n\t\tPromise.resolve(undefined)\n\t@property() suggestionProvider: (terms: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() ownersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() codeColorProvider: (type: string, code: string) => string = () => 'XI'\n\t@property() linkColorProvider: (type: string, code: string) => string = () => 'cat1'\n\t@property() codeContentProvider: (codes: { type: string; code: string }[]) => string = (codes) => codes.map((c) => c.code).join(',')\n\n\trender() {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t.multiline=\"${this.multiline}\"\n\t\t\t\t.lines=\"${this.lines}\"\n\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\tschema=\"${this.multiline ? 'text-document' : 'styled-text-with-codes'}\"\n\t\t\t\t?suggestions=${!!this.suggestionProvider}\n\t\t\t\t?links=${!!this.linksProvider}\n\t\t\t\t.linksProvider=${this.linksProvider}\n\t\t\t\t.suggestionProvider=${this.suggestionProvider}\n\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t.codeColorProvider=${this.codeColorProvider}\n\t\t\t\t.linkColorProvider=${this.linkColorProvider}\n\t\t\t\t.codeContentProvider=${this.codeContentProvider}\n\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t></icure-text-field>`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/text-field/text-field.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { Suggestion } from '../../../../generic'\n\nexport class TextField extends Field {\n\t//Boolean value is parsed as text, so we also need to use string type\n\t@property() multiline: boolean | string = false\n\t@property() lines = 1\n\t@property() rows = 1\n\t@property() grows = false\n\t@property() unit?: string = ''\n\t@property() suggestionStopWords: Set<string> = new Set<string>()\n\t@property() linksProvider: (sug: { id: string; code: string; text: string; terms: string[] }) => Promise<{ href: string; title: string } | undefined> = () =>\n\t\tPromise.resolve(undefined)\n\t@property() suggestionProvider: (terms: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() ownersProvider: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]> = async () => []\n\t@property() codeColorProvider: (type: string, code: string) => string = () => 'XI'\n\t@property() linkColorProvider: (type: string, code: string) => string = () => 'cat1'\n\t@property() codeContentProvider: (codes: { type: string; code: string }[]) => string = (codes) => codes.map((c) => c.code).join(',')\n\n\trender() {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t.multiline=\"${this.multiline}\"\n\t\t\t\t.lines=\"${this.lines}\"\n\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\tschema=\"${this.multiline ? 'text-document' : 'styled-text-with-codes'}\"\n\t\t\t\t?suggestions=${!!this.suggestionProvider}\n\t\t\t\t?links=${!!this.linksProvider}\n\t\t\t\t.linksProvider=${this.linksProvider}\n\t\t\t\t.suggestionProvider=${this.suggestionProvider}\n\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t.codeColorProvider=${this.codeColorProvider}\n\t\t\t\t.linkColorProvider=${this.linkColorProvider}\n\t\t\t\t.codeContentProvider=${this.codeContentProvider}\n\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t></icure-text-field>`\n\t\t})\n\t}\n}\n"]}
@@ -4,6 +4,6 @@ export declare const singleValueProvider: (valueProvider?: () => VersionedData<F
4
4
  [x: string]: Version<FieldValue>[];
5
5
  }) | undefined;
6
6
  export declare const handleSingleValueChanged: (handleValueChanged?: (label: string, language: string, value?: FieldValue, id?: string) => string | undefined, id?: string) => ((label: string, language: string, value: FieldValue) => string | undefined) | undefined;
7
- export declare const handleSingleMetadataChanged: (handleMetadataChanged?: (label: string, metadata: FieldMetadata, id?: string) => string | undefined, id?: string) => ((label: string, value: FieldMetadata) => string | undefined) | undefined;
7
+ export declare const handleSingleMetadataChanged: (handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined, id?: string) => ((metadata: FieldMetadata) => string | undefined) | undefined;
8
8
  export declare const extractSingleValue: <V extends FieldValue>(value?: VersionedData<V>, id?: string) => [string, Version<V>[]] | [undefined, undefined];
9
9
  export declare const extractValues: <V extends FieldValue>(value: VersionedData<V> | undefined, metadataProvider: (id: string, revisions: (string | null)[]) => VersionedData<FieldMetadata>, id?: string) => [string, Version<V>[]][];
@@ -10,7 +10,7 @@ const singleValueProvider = (valueProvider, id) => valueProvider &&
10
10
  exports.singleValueProvider = singleValueProvider;
11
11
  const handleSingleValueChanged = (handleValueChanged, id) => handleValueChanged && ((label, language, value) => handleValueChanged === null || handleValueChanged === void 0 ? void 0 : handleValueChanged(label, language, value, id));
12
12
  exports.handleSingleValueChanged = handleSingleValueChanged;
13
- const handleSingleMetadataChanged = (handleMetadataChanged, id) => handleMetadataChanged && ((label, value) => handleMetadataChanged === null || handleMetadataChanged === void 0 ? void 0 : handleMetadataChanged(label, value, id));
13
+ const handleSingleMetadataChanged = (handleMetadataChanged, id) => handleMetadataChanged && ((metadata) => handleMetadataChanged === null || handleMetadataChanged === void 0 ? void 0 : handleMetadataChanged(metadata, id));
14
14
  exports.handleSingleMetadataChanged = handleSingleMetadataChanged;
15
15
  const extractSingleValue = (value, id) => {
16
16
  if (!value) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldMetadata, FieldValue } from '../../../model'\nimport { Version, VersionedData } from '../../../../generic'\n\nexport const singleValueProvider = (valueProvider?: () => VersionedData<FieldValue>, id?: string) =>\n\tvalueProvider &&\n\t(() =>\n\t\tid && valueProvider\n\t\t\t? {\n\t\t\t\t\t[id]: valueProvider()[id],\n\t\t\t }\n\t\t\t: {})\n\nexport const handleSingleValueChanged = (handleValueChanged?: (label: string, language: string, value?: FieldValue, id?: string) => string | undefined, id?: string) =>\n\thandleValueChanged && ((label: string, language: string, value: FieldValue) => handleValueChanged?.(label, language, value, id))\n\nexport const handleSingleMetadataChanged = (handleMetadataChanged?: (label: string, metadata: FieldMetadata, id?: string) => string | undefined, id?: string) =>\n\thandleMetadataChanged && ((label: string, value: FieldMetadata) => handleMetadataChanged?.(label, value, id))\n\nexport const extractSingleValue = <V extends FieldValue>(value?: VersionedData<V>, id?: string): [string, Version<V>[]] | [undefined, undefined] => {\n\tif (!value) {\n\t\treturn [undefined, undefined]\n\t}\n\tif (id && value[id]) {\n\t\treturn [id, value[id]]\n\t} else {\n\t\tif (Object.keys(value).length > 1) {\n\t\t\tconsole.log('Warning: multiple values found for a single value field')\n\t\t}\n\t\tconst id = Object.keys(value)[0]\n\t\treturn [id, value[id]]\n\t}\n}\n\nexport const extractValues = <V extends FieldValue>(\n\tvalue: VersionedData<V> | undefined,\n\tmetadataProvider: (id: string, revisions: (string | null)[]) => VersionedData<FieldMetadata>,\n\tid?: string,\n): [string, Version<V>[]][] => {\n\tif (!value) {\n\t\treturn []\n\t}\n\tif (id && value[id]) {\n\t\treturn [[id, value[id]]]\n\t} else {\n\t\treturn Object.entries(value).sort(([id1, v1], [id2, v2]) => {\n\t\t\tconst m1 = metadataProvider(id1, v1[0].revision ? [v1[0].revision] : [null])[id1]\n\t\t\tconst m2 = metadataProvider(id2, v2[0].revision ? [v2[0].revision] : [null])[id2]\n\t\t\treturn (m1?.[0]?.value?.index ?? 0) - (m2?.[0]?.value?.index ?? 0)\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldMetadata, FieldValue } from '../../../model'\nimport { Version, VersionedData } from '../../../../generic'\n\nexport const singleValueProvider = (valueProvider?: () => VersionedData<FieldValue>, id?: string) =>\n\tvalueProvider &&\n\t(() =>\n\t\tid && valueProvider\n\t\t\t? {\n\t\t\t\t\t[id]: valueProvider()[id],\n\t\t\t }\n\t\t\t: {})\n\nexport const handleSingleValueChanged = (handleValueChanged?: (label: string, language: string, value?: FieldValue, id?: string) => string | undefined, id?: string) =>\n\thandleValueChanged && ((label: string, language: string, value: FieldValue) => handleValueChanged?.(label, language, value, id))\n\nexport const handleSingleMetadataChanged = (handleMetadataChanged?: (metadata: FieldMetadata, id?: string) => string | undefined, id?: string) =>\n\thandleMetadataChanged && ((metadata: FieldMetadata) => handleMetadataChanged?.(metadata, id))\n\nexport const extractSingleValue = <V extends FieldValue>(value?: VersionedData<V>, id?: string): [string, Version<V>[]] | [undefined, undefined] => {\n\tif (!value) {\n\t\treturn [undefined, undefined]\n\t}\n\tif (id && value[id]) {\n\t\treturn [id, value[id]]\n\t} else {\n\t\tif (Object.keys(value).length > 1) {\n\t\t\tconsole.log('Warning: multiple values found for a single value field')\n\t\t}\n\t\tconst id = Object.keys(value)[0]\n\t\treturn [id, value[id]]\n\t}\n}\n\nexport const extractValues = <V extends FieldValue>(\n\tvalue: VersionedData<V> | undefined,\n\tmetadataProvider: (id: string, revisions: (string | null)[]) => VersionedData<FieldMetadata>,\n\tid?: string,\n): [string, Version<V>[]][] => {\n\tif (!value) {\n\t\treturn []\n\t}\n\tif (id && value[id]) {\n\t\treturn [[id, value[id]]]\n\t} else {\n\t\treturn Object.entries(value).sort(([id1, v1], [id2, v2]) => {\n\t\t\tconst m1 = metadataProvider(id1, v1[0].revision ? [v1[0].revision] : [null])[id1]\n\t\t\tconst m2 = metadataProvider(id2, v2[0].revision ? [v2[0].revision] : [null])[id2]\n\t\t\treturn (m1?.[0]?.value?.index ?? 0) - (m2?.[0]?.value?.index ?? 0)\n\t\t})\n\t}\n}\n"]}
@@ -12,6 +12,9 @@ export declare class IcureForm extends LitElement {
12
12
  displayMetadata: boolean;
13
13
  labelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float' | undefined;
14
14
  language?: string;
15
+ languages?: {
16
+ [iso: string]: string;
17
+ };
15
18
  formValuesContainer?: FormValuesContainer<FieldValue, FieldMetadata>;
16
19
  translationProvider?: (language: string, text: string) => string;
17
20
  ownersProvider?: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]>;