@icure/form 1.1.22 → 1.1.24

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 (79) hide show
  1. package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.2.1-d14ce3e3e5-5667c44f58.zip +0 -0
  2. package/.yarn/cache/{lit-element-npm-4.0.6-bfca4f9870-4f73cd1c0d.zip → lit-element-npm-4.1.0-98fef2c259-16cc7e343f.zip} +0 -0
  3. package/.yarn/cache/lit-html-npm-3.2.0-5c83bb0b92-fa566878ef.zip +0 -0
  4. package/.yarn/cache/{lit-npm-3.1.4-b7dcc2d5a3-c6ffa5580f.zip → lit-npm-3.2.0-e29d8256b0-b34e667481.zip} +0 -0
  5. package/.yarn/cache/prosemirror-model-npm-1.22.3-f92a11e7ca-dfc1f80fad.zip +0 -0
  6. package/.yarn/cache/prosemirror-transform-npm-1.10.0-c36ebced12-4cacb4ef83.zip +0 -0
  7. package/.yarn/cache/prosemirror-view-npm-1.34.2-c94b518ce1-5895d76c3f.zip +0 -0
  8. package/.yarn/cache/tslib-npm-2.7.0-21668f5c21-1606d5c89f.zip +0 -0
  9. package/.yarn/cache/wicg-inert-npm-3.1.3-38590e83f2-45b3cfec63.zip +0 -0
  10. package/.yarn/install-state.gz +0 -0
  11. package/components/common/field.d.ts +4 -2
  12. package/components/common/field.js +22 -0
  13. package/components/common/field.js.map +1 -1
  14. package/components/common/metadata-buttons-bar.d.ts +1 -0
  15. package/components/common/metadata-buttons-bar.js +256 -235
  16. package/components/common/metadata-buttons-bar.js.map +1 -1
  17. package/components/common/styles/paths.d.ts +1 -0
  18. package/components/common/styles/paths.js +14 -1
  19. package/components/common/styles/paths.js.map +1 -1
  20. package/components/common/utils.d.ts +1 -0
  21. package/components/common/utils.js +7 -1
  22. package/components/common/utils.js.map +1 -1
  23. package/components/icure-button-group/index.d.ts +3 -1
  24. package/components/icure-button-group/index.js +233 -216
  25. package/components/icure-button-group/index.js.map +1 -1
  26. package/components/icure-date-picker/index.js +205 -209
  27. package/components/icure-date-picker/index.js.map +1 -1
  28. package/components/icure-dropdown-field/index.js +206 -210
  29. package/components/icure-dropdown-field/index.js.map +1 -1
  30. package/components/icure-form/fields/button-group/checkbox.js +2 -0
  31. package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
  32. package/components/icure-form/fields/button-group/radio-button.js +2 -0
  33. package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
  34. package/components/icure-form/fields/date-picker/date-picker.js +2 -0
  35. package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
  36. package/components/icure-form/fields/date-picker/date-time-picker.js +2 -0
  37. package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
  38. package/components/icure-form/fields/date-picker/time-picker.js +2 -0
  39. package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
  40. package/components/icure-form/fields/dropdown/dropdown-field.d.ts +1 -3
  41. package/components/icure-form/fields/dropdown/dropdown-field.js +3 -7
  42. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  43. package/components/icure-form/fields/items-list-field/items-list-field.js +2 -0
  44. package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
  45. package/components/icure-form/fields/measure-field/measure-field.js +2 -0
  46. package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
  47. package/components/icure-form/fields/number-field/number-field.js +2 -0
  48. package/components/icure-form/fields/number-field/number-field.js.map +1 -1
  49. package/components/icure-form/fields/text-field/text-field.d.ts +0 -1
  50. package/components/icure-form/fields/text-field/text-field.js +0 -5
  51. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  52. package/components/icure-form/fields/token-field/token-field.d.ts +2 -0
  53. package/components/icure-form/fields/token-field/token-field.js +20 -4
  54. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  55. package/components/icure-form/index.js +200 -205
  56. package/components/icure-form/index.js.map +1 -1
  57. package/components/icure-form/renderer/form/form.js +8 -5
  58. package/components/icure-form/renderer/form/form.js.map +1 -1
  59. package/components/icure-label/index.js +200 -205
  60. package/components/icure-label/index.js.map +1 -1
  61. package/components/icure-text-field/index.d.ts +7 -3
  62. package/components/icure-text-field/index.js +276 -247
  63. package/components/icure-text-field/index.js.map +1 -1
  64. package/components/icure-text-field/schema/token-schema.js +2 -2
  65. package/components/icure-text-field/schema/token-schema.js.map +1 -1
  66. package/components/model/index.js +1 -0
  67. package/components/model/index.js.map +1 -1
  68. package/components/themes/icure-blue/index.js +64 -53
  69. package/components/themes/icure-blue/index.js.map +1 -1
  70. package/package.json +1 -1
  71. package/utils/code-utils.js +2 -2
  72. package/utils/code-utils.js.map +1 -1
  73. package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.2.0-6bda8c35cb-704621c28d.zip +0 -0
  74. package/.yarn/cache/lit-html-npm-3.1.4-58e56c5010-428593679c.zip +0 -0
  75. package/.yarn/cache/prosemirror-model-npm-1.22.2-9238026de4-f4004a4ebe.zip +0 -0
  76. package/.yarn/cache/prosemirror-transform-npm-1.9.0-fd256f82f0-c2d63c1fb0.zip +0 -0
  77. package/.yarn/cache/prosemirror-view-npm-1.33.9-dd77e3e48f-d3bd6cef56.zip +0 -0
  78. package/.yarn/cache/tslib-npm-2.6.3-0fd136b3be-74fce0e100.zip +0 -0
  79. package/.yarn/cache/wicg-inert-npm-3.1.2-786d525c4e-538c5cb7f2.zip +0 -0
@@ -21,37 +21,58 @@ const baseCss = (0, lit_2.css) `@charset "UTF-8";
21
21
 
22
22
  .ProseMirror {
23
23
  position: relative;
24
- }
25
-
26
- .ProseMirror {
27
24
  width: 100%;
28
25
  word-wrap: break-word;
29
26
  white-space: pre-wrap;
30
27
  -webkit-font-variant-ligatures: none;
31
28
  font-variant-ligatures: none;
32
29
  font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
30
+ padding: 6px 8px 2px 8px;
31
+ line-height: 1.2;
32
+ color: #274768;
33
+ font-size: 14px;
34
+ font-weight: 400;
35
+ outline: none;
36
+ }
37
+ .ProseMirror p:last-child,
38
+ .ProseMirror h1:last-child,
39
+ .ProseMirror h2:last-child,
40
+ .ProseMirror h3:last-child,
41
+ .ProseMirror h4:last-child,
42
+ .ProseMirror h5:last-child,
43
+ .ProseMirror h6:last-child {
44
+ margin-bottom: 2px;
45
+ }
46
+ .ProseMirror p {
47
+ margin-bottom: 1em;
33
48
  }
34
-
35
49
  .ProseMirror pre {
36
50
  white-space: pre-wrap;
37
51
  }
38
-
39
52
  .ProseMirror li {
40
53
  position: relative;
41
54
  }
55
+ .ProseMirror ul,
56
+ .ProseMirror ol {
57
+ padding-left: 30px;
58
+ }
59
+ .ProseMirror blockquote {
60
+ padding-left: 1em;
61
+ border-left: 3px solid #eee;
62
+ margin-left: 0;
63
+ margin-right: 0;
64
+ }
42
65
 
66
+ .ProseMirror-hideselection {
67
+ caret-color: transparent;
68
+ }
43
69
  .ProseMirror-hideselection *::selection {
44
70
  background: transparent;
45
71
  }
46
-
47
72
  .ProseMirror-hideselection *::-moz-selection {
48
73
  background: transparent;
49
74
  }
50
75
 
51
- .ProseMirror-hideselection {
52
- caret-color: transparent;
53
- }
54
-
55
76
  .ProseMirror-selectednode {
56
77
  outline: 2px solid #8cf;
57
78
  }
@@ -60,8 +81,7 @@ const baseCss = (0, lit_2.css) `@charset "UTF-8";
60
81
  li.ProseMirror-selectednode {
61
82
  outline: none;
62
83
  }
63
-
64
- li.ProseMirror-selectednode:after {
84
+ li.ProseMirror-selectednode :after {
65
85
  content: "";
66
86
  position: absolute;
67
87
  left: -32px;
@@ -77,7 +97,6 @@ li.ProseMirror-selectednode:after {
77
97
  pointer-events: none;
78
98
  position: absolute;
79
99
  }
80
-
81
100
  .ProseMirror-gapcursor:after {
82
101
  content: "";
83
102
  display: block;
@@ -103,7 +122,6 @@ li.ProseMirror-selectednode:after {
103
122
  border: none;
104
123
  margin: 1em 0;
105
124
  }
106
-
107
125
  .ProseMirror-example-setup-style hr:after {
108
126
  content: "";
109
127
  display: block;
@@ -112,18 +130,6 @@ li.ProseMirror-selectednode:after {
112
130
  line-height: 2px;
113
131
  }
114
132
 
115
- .ProseMirror ul,
116
- .ProseMirror ol {
117
- padding-left: 30px;
118
- }
119
-
120
- .ProseMirror blockquote {
121
- padding-left: 1em;
122
- border-left: 3px solid #eee;
123
- margin-left: 0;
124
- margin-right: 0;
125
- }
126
-
127
133
  .ProseMirror-example-setup-style img {
128
134
  cursor: default;
129
135
  }
@@ -137,21 +143,18 @@ li.ProseMirror-selectednode:after {
137
143
  z-index: 11;
138
144
  box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);
139
145
  }
140
-
141
146
  .ProseMirror-prompt h5 {
142
147
  margin: 0;
143
148
  font-weight: normal;
144
149
  font-size: 100%;
145
150
  color: #444;
146
151
  }
147
-
148
152
  .ProseMirror-prompt input[type=text],
149
153
  .ProseMirror-prompt textarea {
150
154
  background: #eee;
151
155
  border: none;
152
156
  outline: none;
153
157
  }
154
-
155
158
  .ProseMirror-prompt input[type=text] {
156
159
  padding: 0 4px;
157
160
  }
@@ -165,7 +168,6 @@ li.ProseMirror-selectednode:after {
165
168
  background: transparent;
166
169
  padding: 0;
167
170
  }
168
-
169
171
  .ProseMirror-prompt-close:after {
170
172
  content: "✕";
171
173
  font-size: 12px;
@@ -196,29 +198,6 @@ li.ProseMirror-selectednode:after {
196
198
  align-items: flex-end;
197
199
  }
198
200
 
199
- .ProseMirror p:last-child,
200
- .ProseMirror h1:last-child,
201
- .ProseMirror h2:last-child,
202
- .ProseMirror h3:last-child,
203
- .ProseMirror h4:last-child,
204
- .ProseMirror h5:last-child,
205
- .ProseMirror h6:last-child {
206
- margin-bottom: 2px;
207
- }
208
-
209
- .ProseMirror {
210
- padding: 6px 8px 2px 8px;
211
- line-height: 1.2;
212
- color: #274768;
213
- font-size: 14px;
214
- font-weight: 400;
215
- outline: none;
216
- }
217
-
218
- .ProseMirror p {
219
- margin-bottom: 1em;
220
- }
221
-
222
201
  .icure-input {
223
202
  background: #edf2f7;
224
203
  border-radius: 8px;
@@ -246,29 +225,22 @@ li.ProseMirror-selectednode:after {
246
225
  align-items: flex-start;
247
226
  }
248
227
  #editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {
249
- display: inline-block;
228
+ display: flex;
229
+ flex-direction: row;
250
230
  border-radius: 8px;
251
231
  padding: 2px 4px;
252
232
  margin-right: 2px;
253
233
  background-color: #dadada;
254
234
  border-color: rgba(42, 61, 108, 0.44);
235
+ min-height: 20px;
255
236
  }
256
237
  #editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {
257
- min-width: 26px;
258
238
  display: inline-block;
239
+ min-height: 18px;
259
240
  }
260
241
  #editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {
261
242
  display: none;
262
243
  }
263
- #editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {
264
- background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K") no-repeat center/16px;
265
- }
266
- #editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {
267
- content: " ";
268
- min-width: 22px;
269
- background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K") no-repeat center/16px;
270
- display: inline-block;
271
- }
272
244
  #editor.items-list .ProseMirror {
273
245
  display: flex;
274
246
  flex-direction: column;
@@ -304,66 +276,82 @@ h3 {
304
276
  margin-top: 0;
305
277
  }
306
278
 
307
- .extra {
308
- flex-shrink: 0;
279
+ .icure-input-metadata-container {
309
280
  display: flex;
310
- flex-flow: row nowrap;
311
- align-items: center;
312
- padding: 0 8px;
313
- transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);
314
281
  }
315
-
316
- .extra > .info {
317
- color: #809ab4;
318
- font-size: 12px;
319
- width: 100%;
320
- height: auto;
321
- overflow: hidden;
322
- pointer-events: none;
323
- text-align: right;
282
+ .icure-input-metadata-container .icure-metadata-container {
283
+ display: flex;
284
+ flex-grow: 1;
285
+ padding: 0 4px;
286
+ border: 1px solid #DDE3E7;
287
+ border-left: none;
288
+ border-radius: 0 6px 6px 0;
289
+ outline: 0;
290
+ box-sizing: border-box;
324
291
  }
325
-
326
- .extra > .info > span {
327
- font-weight: 700;
292
+ .icure-input-metadata-container .icure-metadata-container__validationError {
293
+ border-color: red;
328
294
  }
329
295
 
330
- .extra .buttons-container {
296
+ .extra {
297
+ min-width: 20px;
298
+ width: auto;
299
+ height: 20px;
331
300
  position: relative;
332
- display: flex;
333
- height: 100%;
334
- flex-flow: row nowrap;
335
- align-items: center;
336
- justify-content: flex-end;
337
- width: 0;
338
- transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);
301
+ transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);
302
+ }
303
+ .extra:hover .info {
304
+ display: none;
339
305
  }
340
-
341
306
  .extra:hover .buttons-container .menu-container .btn {
342
307
  animation: slideIn 0.24s ease-in forwards;
343
308
  pointer-events: none;
344
309
  display: unset !important;
345
310
  }
346
-
347
- .extra.forced:hover .buttons-container .menu-container .btn {
348
- animation: none;
349
- pointer-events: all;
311
+ .extra.forced .info, .extra.forced .extra .info.hidden {
312
+ opacity: 0 !important;
313
+ z-index: 0 !important;
314
+ display: none;
350
315
  }
351
-
352
316
  .extra.forced .buttons-container .btn {
353
317
  opacity: 1 !important;
354
318
  display: unset !important;
355
319
  }
356
-
357
- .extra .buttons-container .btn.forced {
358
- opacity: 1 !important;
359
- display: unset !important;
320
+ .extra.forced:hover .buttons-container .menu-container .btn {
321
+ animation: none;
322
+ pointer-events: all;
360
323
  }
361
-
362
- .extra.forced .info, .extra .info.hidden {
363
- opacity: 0 !important;
364
- z-index: 0 !important;
324
+ .extra--metadataButtonsBar {
325
+ height: 100%;
326
+ display: flex;
327
+ align-items: center;
328
+ padding: 0 4px;
329
+ }
330
+ .extra .info {
331
+ color: #809ab4;
332
+ font-size: 15px;
333
+ width: 100%;
334
+ height: auto;
335
+ overflow: hidden;
336
+ pointer-events: none;
337
+ text-align: center;
338
+ }
339
+ .extra .info span {
340
+ font-weight: 700;
341
+ }
342
+ .extra .info.hidden {
343
+ display: none;
344
+ }
345
+ .extra .buttons-container {
346
+ display: flex;
347
+ height: 20px;
348
+ width: auto;
349
+ flex-flow: row nowrap;
350
+ align-items: center;
351
+ justify-content: flex-end;
352
+ transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);
353
+ z-index: 1000;
365
354
  }
366
-
367
355
  .extra .buttons-container .btn {
368
356
  border: none;
369
357
  background: transparent;
@@ -373,32 +361,44 @@ h3 {
373
361
  opacity: 0;
374
362
  cursor: pointer;
375
363
  height: 20px;
376
- width: 10px;
377
364
  margin-left: 4px;
378
365
  margin-right: 4px;
379
366
  padding: 0;
380
367
  }
381
-
382
- .extra .buttons-container .menu-container:last-child .btn {
383
- margin-right: 0;
368
+ .extra .buttons-container .btn svg {
369
+ width: 15px;
370
+ height: 15px;
384
371
  }
385
-
386
372
  .extra .buttons-container .btn svg path {
387
373
  fill: #809ab4;
388
374
  }
389
-
375
+ .extra .buttons-container .btn.forced {
376
+ opacity: 1 !important;
377
+ display: unset !important;
378
+ }
390
379
  .extra .buttons-container .btn.forced svg path {
391
380
  fill: crimson !important;
392
381
  }
393
-
382
+ .extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {
383
+ border: none;
384
+ outline: none;
385
+ }
394
386
  .extra .buttons-container .btn:hover svg path {
395
387
  fill: #274768;
396
388
  }
397
-
389
+ .extra .buttons-container .menu-container .btn:hover::before {
390
+ content: "";
391
+ display: block;
392
+ border-color: #274768 transparent transparent transparent;
393
+ border-style: solid;
394
+ border-width: 4px;
395
+ position: absolute;
396
+ top: -6px;
397
+ }
398
398
  .extra .buttons-container .menu-container .btn:hover::after {
399
399
  content: attr(data-content);
400
400
  position: absolute;
401
- top: -22px;
401
+ top: -21px;
402
402
  height: 16px;
403
403
  left: 50%;
404
404
  transform: translateX(-50%);
@@ -414,21 +414,8 @@ h3 {
414
414
  font-size: 12px;
415
415
  line-height: 0;
416
416
  }
417
-
418
- .extra .buttons-container .btn:focus,
419
- .extra .buttons-container .btn:focus-within {
420
- border: none;
421
- outline: none;
422
- }
423
-
424
- .extra .buttons-container .menu-container .btn:hover::before {
425
- content: "";
426
- display: block;
427
- border-color: #274768 transparent transparent transparent;
428
- border-style: solid;
429
- border-width: 4px;
430
- position: absolute;
431
- top: -6px;
417
+ .extra .buttons-container .menu-container:last-child .btn {
418
+ margin-right: 0;
432
419
  }
433
420
 
434
421
  @keyframes slideIn {
@@ -448,15 +435,47 @@ h3 {
448
435
  align-items: center;
449
436
  height: fit-content;
450
437
  }
438
+ .menu-container .item {
439
+ height: 30px;
440
+ width: 100%;
441
+ background: transparent;
442
+ border-radius: 4px;
443
+ font-size: 14px;
444
+ color: #274768;
445
+ display: flex;
446
+ flex-flow: row nowrap;
447
+ align-items: center;
448
+ justify-content: flex-start;
449
+ box-shadow: none;
450
+ border: none;
451
+ white-space: nowrap;
452
+ overflow-x: hidden;
453
+ text-overflow: ellipsis;
454
+ }
455
+ .menu-container .item.existing {
456
+ background-color: #BFE8EA;
457
+ }
458
+ .menu-container .item.selected {
459
+ color: white;
460
+ background-color: #084B83;
461
+ }
462
+ .menu-container .item:hover {
463
+ background: #DCE7F2;
464
+ color: #274768;
465
+ font-weight: 500;
466
+ border-radius: 4px;
467
+ }
451
468
 
452
469
  .value-date-menu {
453
470
  width: unset !important;
454
471
  }
455
472
 
456
473
  .menu {
457
- display: block;
474
+ display: flex;
475
+ flex-direction: column;
476
+ gap: 2px;
458
477
  position: absolute;
459
- top: 20px;
478
+ top: 32px;
460
479
  right: -12px;
461
480
  z-index: 2;
462
481
  background: #fff;
@@ -498,56 +517,27 @@ h3 {
498
517
  }
499
518
 
500
519
  .menu-trigger:focus .menu {
501
- display: block;
502
- }
503
-
504
- .menu-container .item {
505
- height: 22px;
506
- width: 100%;
507
- background: transparent;
508
- border-radius: 4px;
509
- font-size: 14px;
510
- color: #274768;
511
520
  display: flex;
512
- flex-flow: row nowrap;
513
- align-items: center;
514
- justify-content: flex-start;
515
- box-shadow: none;
516
- border: none;
517
- white-space: nowrap;
518
- overflow-x: hidden;
519
- text-overflow: ellipsis;
520
- }
521
-
522
- .menu-container .item:hover {
523
- background: #f5f9fd;
524
- font-weight: 500;
525
- border-radius: 4px;
526
521
  }
527
522
 
528
523
  span {
529
524
  position: relative;
530
525
  z-index: 1;
531
526
  }
532
-
533
527
  span.date {
534
528
  margin-right: 1px;
535
529
  }
536
-
537
530
  span.time {
538
531
  margin-left: 1px;
539
532
  }
540
-
541
533
  span.measure {
542
534
  display: inline-block;
543
535
  margin-right: 1px;
544
536
  }
545
-
546
537
  span.unit {
547
538
  margin-left: 1px;
548
539
  display: inline-block;
549
540
  }
550
-
551
541
  span[data-content]:hover::after {
552
542
  position: absolute;
553
543
  content: attr(data-content);
@@ -559,7 +549,6 @@ span[data-content]:hover::after {
559
549
  left: 0px;
560
550
  padding: 0px 2px;
561
551
  }
562
-
563
552
  span[data-content]::before {
564
553
  position: absolute;
565
554
  content: "";
@@ -591,7 +580,6 @@ span[data-content]::before {
591
580
  cursor: pointer;
592
581
  border-radius: 0 2px 2px 0;
593
582
  }
594
-
595
583
  .companion:hover {
596
584
  font-weight: 700;
597
585
  background: hsl(202, 100%, 50%);
@@ -614,14 +602,19 @@ span[data-content]::before {
614
602
  background: white;
615
603
  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);
616
604
  }
617
-
618
605
  .suggestion-palette ul {
619
606
  white-space: nowrap;
620
607
  list-style-type: none;
621
608
  margin: 0;
622
609
  padding: 0;
623
610
  }
624
-
611
+ .suggestion-palette ul li:not(:first-child) svg.tab-icn,
612
+ .suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {
613
+ height: 0;
614
+ width: 0;
615
+ transform: scale(0);
616
+ opacity: 0;
617
+ }
625
618
  .suggestion-palette ul li {
626
619
  padding: 0 8px;
627
620
  font-size: 11px;
@@ -633,6 +626,12 @@ span[data-content]::before {
633
626
  border-radius: 4px;
634
627
  color: rgb(39, 71, 104);
635
628
  }
629
+ .suggestion-palette ul li.focused {
630
+ background-color: rgb(237, 242, 247);
631
+ }
632
+ .suggestion-palette ul li.focused svg.return-icn {
633
+ animation: growIn 0.24s ease-in forwards;
634
+ }
636
635
  .suggestion-palette ul li svg {
637
636
  height: 12px;
638
637
  width: 12px;
@@ -643,23 +642,6 @@ span[data-content]::before {
643
642
  fill: rgb(128, 154, 180);
644
643
  }
645
644
 
646
- .suggestion-palette ul li:not(:first-child) svg.tab-icn,
647
- .suggestion-palette ul li:not(.focused) svg.return-icn,
648
- .suggestion-palette ul.focused li:first-child svg.tab-icn {
649
- height: 0;
650
- width: 0;
651
- transform: scale(0);
652
- opacity: 0;
653
- }
654
-
655
- .suggestion-palette ul li.focused {
656
- background-color: rgb(237, 242, 247);
657
- }
658
-
659
- .suggestion-palette ul li.focused svg.return-icn {
660
- animation: growIn 0.24s ease-in forwards;
661
- }
662
-
663
645
  @keyframes growIn {
664
646
  0% {
665
647
  transform: scale(0.5);
@@ -768,7 +750,6 @@ app-date-picker {
768
750
  -ms-user-select: none; /* IE 10 and IE 11 */
769
751
  user-select: none; /* Standard syntax */
770
752
  }
771
-
772
753
  .option:hover {
773
754
  color: #656565;
774
755
  background-color: #ededed;
@@ -796,13 +777,6 @@ app-date-picker {
796
777
  position: relative;
797
778
  }
798
779
 
799
- .icure-form {
800
- background-color: rgba(0, 0, 0, 0);
801
- display: grid;
802
- gap: 0 6px;
803
- grid-template-columns: repeat(24, 1fr);
804
- }
805
-
806
780
  .group {
807
781
  align-items: end;
808
782
  display: grid;
@@ -818,6 +792,12 @@ app-date-picker {
818
792
  background-color: #e7f0fd;
819
793
  }
820
794
 
795
+ .icure-form {
796
+ background-color: rgba(0, 0, 0, 0);
797
+ display: grid;
798
+ gap: 16px 6px;
799
+ grid-template-columns: repeat(24, 1fr);
800
+ }
821
801
  .icure-form hr {
822
802
  display: block;
823
803
  margin-top: 20px;
@@ -853,16 +833,22 @@ app-date-picker {
853
833
  }
854
834
 
855
835
  .icure-form-field {
856
- align-items: end;
857
836
  display: grid;
837
+ align-items: flex-start;
858
838
  }
859
839
 
860
840
  .error {
861
841
  color: red;
862
842
  font-size: 12px;
843
+ margin-top: 4px;
863
844
  }
864
845
 
865
- .icure-text-field > .icure-label, .icure-button-group > .icure-label {
846
+ .icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {
847
+ display: flex;
848
+ width: 100%;
849
+ gap: 12px;
850
+ }
851
+ .icure-text-field .icure-label, .icure-button-group .icure-label {
866
852
  z-index: 1;
867
853
  pointer-events: none;
868
854
  line-height: 1.4em;
@@ -875,9 +861,8 @@ app-date-picker {
875
861
  max-width: 85%;
876
862
  min-width: 0;
877
863
  }
878
- .icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {
879
- display: inline-block;
880
- height: 1.4em;
864
+ .icure-text-field .icure-label.float, .icure-button-group .icure-label.float {
865
+ display: flex;
881
866
  white-space: nowrap;
882
867
  text-overflow: ellipsis;
883
868
  overflow: hidden;
@@ -886,9 +871,6 @@ app-date-picker {
886
871
  .icure-text-field {
887
872
  position: relative;
888
873
  width: 100%;
889
- flex-direction: row;
890
- justify-content: stretch;
891
- align-items: center;
892
874
  }
893
875
  .icure-text-field > .icure-label {
894
876
  transition: transform 0.2s ease-out, color 0.2s ease-out;
@@ -910,12 +892,14 @@ app-date-picker {
910
892
  }
911
893
  .icure-text-field .icure-input,
912
894
  .icure-text-field .input-container {
913
- border-radius: 2px;
914
- padding: 0 8px;
895
+ padding: 8px;
915
896
  width: 100%;
916
897
  box-sizing: border-box;
917
898
  border-width: 1px;
918
899
  border-style: solid;
900
+ border-color: #DDE3E7;
901
+ border-radius: 2px;
902
+ box-sizing: border-box;
919
903
  outline: 0;
920
904
  font: inherit;
921
905
  font-size: 14px;
@@ -926,9 +910,15 @@ app-date-picker {
926
910
  position: relative;
927
911
  -webkit-appearance: none;
928
912
  background-color: #ffffff;
929
- border-color: red;
930
913
  color: #000000;
931
- box-sizing: border-box;
914
+ }
915
+ .icure-text-field .icure-input__validationError,
916
+ .icure-text-field .input-container__validationError {
917
+ border-color: red;
918
+ }
919
+ .icure-text-field .icure-input__withMetadata,
920
+ .icure-text-field .input-container__withMetadata {
921
+ border-radius: 6px 0 0 6px;
932
922
  }
933
923
  .icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,
934
924
  .icure-text-field .input-container:focus,
@@ -983,13 +973,13 @@ app-date-picker {
983
973
  color: #656565;
984
974
  opacity: 0.5;
985
975
  }
986
- .icure-text-field .icure-input .extra .buttons-container .btn svg path,
987
- .icure-text-field .input-container .extra .buttons-container .btn svg path {
976
+ .icure-text-field .icure-input .extra .btn svg path,
977
+ .icure-text-field .input-container .extra .btn svg path {
988
978
  fill: #656565;
989
979
  opacity: 0.5;
990
980
  }
991
- .icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,
992
- .icure-text-field .input-container .extra .buttons-container .btn svg path:hover {
981
+ .icure-text-field .icure-input .extra .btn svg path:hover,
982
+ .icure-text-field .input-container .extra .btn svg path:hover {
993
983
  fill: #656565;
994
984
  opacity: 1;
995
985
  }
@@ -1003,6 +993,11 @@ input[type=radio] {
1003
993
  accent-color: #06a070;
1004
994
  }
1005
995
 
996
+ .icure-button-group {
997
+ display: flex;
998
+ flex-direction: column;
999
+ gap: 4px;
1000
+ }
1006
1001
  .icure-button-group > div {
1007
1002
  display: grid;
1008
1003
  }
@@ -1063,9 +1058,9 @@ class IcureButtonGroup extends (0, field_with_options_1.FieldWithOptionsMixin)(c
1063
1058
  const value = (_b = versions[0]) === null || _b === void 0 ? void 0 : _b.value;
1064
1059
  const valueForLanguage = (_d = (_c = value === null || value === void 0 ? void 0 : value.content) === null || _c === void 0 ? void 0 : _c[this.language()]) !== null && _d !== void 0 ? _d : '';
1065
1060
  const fromValue = valueForLanguage && valueForLanguage.type === 'compound' && valueForLanguage.value ? Object.keys(valueForLanguage.value) : [];
1066
- return [id, fromValue.concat((_g = (_f = (_e = value === null || value === void 0 ? void 0 : value.codes) === null || _e === void 0 ? void 0 : _e.map((c) => c.id)) === null || _f === void 0 ? void 0 : _f.filter((id) => !fromValue.includes(id))) !== null && _g !== void 0 ? _g : [])];
1061
+ return [id, fromValue.concat((_g = (_f = (_e = value === null || value === void 0 ? void 0 : value.codes) === null || _e === void 0 ? void 0 : _e.map((c) => c.id)) === null || _f === void 0 ? void 0 : _f.filter((id) => !fromValue.includes(id))) !== null && _g !== void 0 ? _g : []), versions];
1067
1062
  }
1068
- return [undefined, undefined];
1063
+ return [undefined, undefined, undefined];
1069
1064
  }
1070
1065
  checkboxChange() {
1071
1066
  var _a, _b, _c, _d;
@@ -1087,27 +1082,49 @@ class IcureButtonGroup extends (0, field_with_options_1.FieldWithOptionsMixin)(c
1087
1082
  }
1088
1083
  }
1089
1084
  render() {
1090
- var _a, _b, _c, _d, _e;
1085
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
1091
1086
  if (!this.visible) {
1092
1087
  return (0, lit_1.html) ``;
1093
1088
  }
1094
- const inputValues = (_a = this.getValueFromProvider()[1]) !== null && _a !== void 0 ? _a : [];
1089
+ const [id, inputValues, versions] = this.getValueFromProvider();
1090
+ const version = this.selectedRevision ? versions === null || versions === void 0 ? void 0 : versions.find((v) => v.revision === this.selectedRevision) : versions === null || versions === void 0 ? void 0 : versions[0];
1091
+ const rev = version === null || version === void 0 ? void 0 : version.revision;
1092
+ const metadata = id && rev !== undefined ? (_e = (_d = (_c = (_a = this.metadataProvider) === null || _a === void 0 ? void 0 : _a.call(this, id, (_b = versions === null || versions === void 0 ? void 0 : versions.map((v) => v.revision)) !== null && _b !== void 0 ? _b : [])) === null || _c === void 0 ? void 0 : _c[id]) === null || _d === void 0 ? void 0 : _d.find((m) => m.revision === rev)) === null || _e === void 0 ? void 0 : _e.value : undefined;
1095
1093
  return (0, lit_1.html) `
1096
1094
  <div class="icure-text-field icure-button-group">
1097
- ${this.displayedLabels && ((_b = this.displayedOptions) === null || _b === void 0 ? void 0 : _b.length)
1098
- ? (0, utils_1.generateLabels)(Object.entries((_c = this.displayedLabels) !== null && _c !== void 0 ? _c : {})
1095
+ ${this.displayedLabels && ((_f = this.displayedOptions) === null || _f === void 0 ? void 0 : _f.length)
1096
+ ? (0, lit_1.html) `
1097
+ <div class="icure-label-extra">
1098
+ ${(0, utils_1.generateLabels)(Object.entries((_g = this.displayedLabels) !== null && _g !== void 0 ? _g : {})
1099
1099
  .filter(
1100
1100
  //If we have less than 2 options, we don't need to display the label except if it is different from the first option
1101
1101
  ([, l]) => { var _a, _b, _c; return ((_b = (_a = this.displayedOptions) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 1 || (((_c = this.displayedOptions) === null || _c === void 0 ? void 0 : _c.length) && l !== this.displayedOptions[0].label[this.language()]); })
1102
- .reduce((acc, [k, v]) => (Object.assign(Object.assign({}, acc), { [k]: v })), {}), this.language(), this.translate ? this.translationProvider : undefined)
1102
+ .reduce((acc, [k, v]) => (Object.assign(Object.assign({}, acc), { [k]: v })), {}), this.language(), this.translate ? this.translationProvider : undefined)}
1103
+ ${this.displayMetadata && metadata
1104
+ ? (0, lit_1.html) `<icure-metadata-buttons-bar
1105
+ .metadata="${metadata}"
1106
+ .revision="${rev}"
1107
+ .versions="${versions !== null && versions !== void 0 ? versions : []}"
1108
+ .valueId="${(_j = (0, utils_2.extractSingleValue)((_h = this.valueProvider) === null || _h === void 0 ? void 0 : _h.call(this))) === null || _j === void 0 ? void 0 : _j[0]}"
1109
+ .defaultLanguage="${this.defaultLanguage}"
1110
+ .selectedLanguage="${this.selectedLanguage}"
1111
+ .languages="${this.languages}"
1112
+ .handleMetadataChanged="${this.handleMetadataChanged}"
1113
+ .handleLanguageSelected="${(iso) => (this.selectedLanguage = iso)}"
1114
+ .handleRevisionSelected="${(rev) => (this.selectedRevision = rev)}"
1115
+ .ownersProvider="${this.ownersProvider}"
1116
+ />`
1117
+ : lit_1.nothing}
1118
+ </div>
1119
+ `
1103
1120
  : lit_1.nothing}
1104
1121
  <div style="${this.generateStyle()}">
1105
- ${(((_d = this.displayedOptions) === null || _d === void 0 ? void 0 : _d.length) ? this.displayedOptions : [{ id: this.label, label: {} }]).map((x) => {
1122
+ ${(((_k = this.displayedOptions) === null || _k === void 0 ? void 0 : _k.length) ? this.displayedOptions : [{ id: this.label, label: {} }]).map((x) => {
1106
1123
  var _a, _b;
1107
1124
  const text = (_b = ((_a = x.label) !== null && _a !== void 0 ? _a : {})[this.language()]) !== null && _b !== void 0 ? _b : '';
1108
1125
  if (this.readonly) {
1109
1126
  return (0, lit_1.html) `<div>
1110
- <input class="icure-checkbox" disabled type="${this.type}" id="${x.id}" name="${this.label}" value="${text}" .checked=${inputValues.includes(x.id)} />
1127
+ <input class="icure-checkbox" disabled type="${this.type}" id="${x.id}" name="${this.label}" value="${text}" .checked=${inputValues === null || inputValues === void 0 ? void 0 : inputValues.includes(x.id)} />
1111
1128
  <label class="icure-button-group-label" for="${x.id}"><span>${text}</span></label>
1112
1129
  </div>`;
1113
1130
  }
@@ -1118,13 +1135,13 @@ class IcureButtonGroup extends (0, field_with_options_1.FieldWithOptionsMixin)(c
1118
1135
  id="${x.id}"
1119
1136
  name="${this.label}"
1120
1137
  value="${text}"
1121
- .checked=${inputValues.includes(x.id)}
1138
+ .checked=${inputValues === null || inputValues === void 0 ? void 0 : inputValues.includes(x.id)}
1122
1139
  @change=${this.checkboxChange}
1123
1140
  /><label class="icure-button-group-label" for="${x.id}"><span>${text}</span></label>
1124
1141
  </div>`;
1125
1142
  })}
1126
1143
  </div>
1127
- <div class="error">${(_e = this.validationErrorsProvider) === null || _e === void 0 ? void 0 : _e.call(this).map(([, error]) => { var _a; return (0, lit_1.html) `<div>${(_a = this.translationProvider) === null || _a === void 0 ? void 0 : _a.call(this, this.language(), error)}</div>`; })}</div>
1144
+ <div class="error">${(_l = this.validationErrorsProvider) === null || _l === void 0 ? void 0 : _l.call(this).map(([, error]) => { var _a; return (0, lit_1.html) `<div>${(_a = this.translationProvider) === null || _a === void 0 ? void 0 : _a.call(this, this.language(), error)}</div>`; })}</div>
1128
1145
  </div>
1129
1146
  `;
1130
1147
  }