@icure/form 1.1.23 → 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 (35) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/components/common/metadata-buttons-bar.d.ts +1 -0
  3. package/components/common/metadata-buttons-bar.js +256 -235
  4. package/components/common/metadata-buttons-bar.js.map +1 -1
  5. package/components/common/styles/paths.d.ts +1 -0
  6. package/components/common/styles/paths.js +14 -1
  7. package/components/common/styles/paths.js.map +1 -1
  8. package/components/icure-button-group/index.d.ts +3 -1
  9. package/components/icure-button-group/index.js +233 -216
  10. package/components/icure-button-group/index.js.map +1 -1
  11. package/components/icure-date-picker/index.js +205 -209
  12. package/components/icure-date-picker/index.js.map +1 -1
  13. package/components/icure-dropdown-field/index.js +206 -210
  14. package/components/icure-dropdown-field/index.js.map +1 -1
  15. package/components/icure-form/fields/dropdown/dropdown-field.js +0 -2
  16. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  17. package/components/icure-form/fields/token-field/token-field.d.ts +2 -0
  18. package/components/icure-form/fields/token-field/token-field.js +20 -4
  19. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  20. package/components/icure-form/index.js +200 -205
  21. package/components/icure-form/index.js.map +1 -1
  22. package/components/icure-form/renderer/form/form.js +8 -5
  23. package/components/icure-form/renderer/form/form.js.map +1 -1
  24. package/components/icure-label/index.js +200 -205
  25. package/components/icure-label/index.js.map +1 -1
  26. package/components/icure-text-field/index.d.ts +7 -0
  27. package/components/icure-text-field/index.js +280 -238
  28. package/components/icure-text-field/index.js.map +1 -1
  29. package/components/icure-text-field/schema/token-schema.js +2 -2
  30. package/components/icure-text-field/schema/token-schema.js.map +1 -1
  31. package/components/model/index.js +1 -0
  32. package/components/model/index.js.map +1 -1
  33. package/components/themes/icure-blue/index.js +64 -53
  34. package/components/themes/icure-blue/index.js.map +1 -1
  35. package/package.json +1 -1
@@ -26,37 +26,58 @@ const baseCss = (0, lit_2.css) `@charset "UTF-8";
26
26
 
27
27
  .ProseMirror {
28
28
  position: relative;
29
- }
30
-
31
- .ProseMirror {
32
29
  width: 100%;
33
30
  word-wrap: break-word;
34
31
  white-space: pre-wrap;
35
32
  -webkit-font-variant-ligatures: none;
36
33
  font-variant-ligatures: none;
37
34
  font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
35
+ padding: 6px 8px 2px 8px;
36
+ line-height: 1.2;
37
+ color: #274768;
38
+ font-size: 14px;
39
+ font-weight: 400;
40
+ outline: none;
41
+ }
42
+ .ProseMirror p:last-child,
43
+ .ProseMirror h1:last-child,
44
+ .ProseMirror h2:last-child,
45
+ .ProseMirror h3:last-child,
46
+ .ProseMirror h4:last-child,
47
+ .ProseMirror h5:last-child,
48
+ .ProseMirror h6:last-child {
49
+ margin-bottom: 2px;
50
+ }
51
+ .ProseMirror p {
52
+ margin-bottom: 1em;
38
53
  }
39
-
40
54
  .ProseMirror pre {
41
55
  white-space: pre-wrap;
42
56
  }
43
-
44
57
  .ProseMirror li {
45
58
  position: relative;
46
59
  }
60
+ .ProseMirror ul,
61
+ .ProseMirror ol {
62
+ padding-left: 30px;
63
+ }
64
+ .ProseMirror blockquote {
65
+ padding-left: 1em;
66
+ border-left: 3px solid #eee;
67
+ margin-left: 0;
68
+ margin-right: 0;
69
+ }
47
70
 
71
+ .ProseMirror-hideselection {
72
+ caret-color: transparent;
73
+ }
48
74
  .ProseMirror-hideselection *::selection {
49
75
  background: transparent;
50
76
  }
51
-
52
77
  .ProseMirror-hideselection *::-moz-selection {
53
78
  background: transparent;
54
79
  }
55
80
 
56
- .ProseMirror-hideselection {
57
- caret-color: transparent;
58
- }
59
-
60
81
  .ProseMirror-selectednode {
61
82
  outline: 2px solid #8cf;
62
83
  }
@@ -65,8 +86,7 @@ const baseCss = (0, lit_2.css) `@charset "UTF-8";
65
86
  li.ProseMirror-selectednode {
66
87
  outline: none;
67
88
  }
68
-
69
- li.ProseMirror-selectednode:after {
89
+ li.ProseMirror-selectednode :after {
70
90
  content: "";
71
91
  position: absolute;
72
92
  left: -32px;
@@ -82,7 +102,6 @@ li.ProseMirror-selectednode:after {
82
102
  pointer-events: none;
83
103
  position: absolute;
84
104
  }
85
-
86
105
  .ProseMirror-gapcursor:after {
87
106
  content: "";
88
107
  display: block;
@@ -108,7 +127,6 @@ li.ProseMirror-selectednode:after {
108
127
  border: none;
109
128
  margin: 1em 0;
110
129
  }
111
-
112
130
  .ProseMirror-example-setup-style hr:after {
113
131
  content: "";
114
132
  display: block;
@@ -117,18 +135,6 @@ li.ProseMirror-selectednode:after {
117
135
  line-height: 2px;
118
136
  }
119
137
 
120
- .ProseMirror ul,
121
- .ProseMirror ol {
122
- padding-left: 30px;
123
- }
124
-
125
- .ProseMirror blockquote {
126
- padding-left: 1em;
127
- border-left: 3px solid #eee;
128
- margin-left: 0;
129
- margin-right: 0;
130
- }
131
-
132
138
  .ProseMirror-example-setup-style img {
133
139
  cursor: default;
134
140
  }
@@ -142,21 +148,18 @@ li.ProseMirror-selectednode:after {
142
148
  z-index: 11;
143
149
  box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);
144
150
  }
145
-
146
151
  .ProseMirror-prompt h5 {
147
152
  margin: 0;
148
153
  font-weight: normal;
149
154
  font-size: 100%;
150
155
  color: #444;
151
156
  }
152
-
153
157
  .ProseMirror-prompt input[type=text],
154
158
  .ProseMirror-prompt textarea {
155
159
  background: #eee;
156
160
  border: none;
157
161
  outline: none;
158
162
  }
159
-
160
163
  .ProseMirror-prompt input[type=text] {
161
164
  padding: 0 4px;
162
165
  }
@@ -170,7 +173,6 @@ li.ProseMirror-selectednode:after {
170
173
  background: transparent;
171
174
  padding: 0;
172
175
  }
173
-
174
176
  .ProseMirror-prompt-close:after {
175
177
  content: "✕";
176
178
  font-size: 12px;
@@ -201,29 +203,6 @@ li.ProseMirror-selectednode:after {
201
203
  align-items: flex-end;
202
204
  }
203
205
 
204
- .ProseMirror p:last-child,
205
- .ProseMirror h1:last-child,
206
- .ProseMirror h2:last-child,
207
- .ProseMirror h3:last-child,
208
- .ProseMirror h4:last-child,
209
- .ProseMirror h5:last-child,
210
- .ProseMirror h6:last-child {
211
- margin-bottom: 2px;
212
- }
213
-
214
- .ProseMirror {
215
- padding: 6px 8px 2px 8px;
216
- line-height: 1.2;
217
- color: #274768;
218
- font-size: 14px;
219
- font-weight: 400;
220
- outline: none;
221
- }
222
-
223
- .ProseMirror p {
224
- margin-bottom: 1em;
225
- }
226
-
227
206
  .icure-input {
228
207
  background: #edf2f7;
229
208
  border-radius: 8px;
@@ -251,29 +230,22 @@ li.ProseMirror-selectednode:after {
251
230
  align-items: flex-start;
252
231
  }
253
232
  #editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {
254
- display: inline-block;
233
+ display: flex;
234
+ flex-direction: row;
255
235
  border-radius: 8px;
256
236
  padding: 2px 4px;
257
237
  margin-right: 2px;
258
238
  background-color: #dadada;
259
239
  border-color: rgba(42, 61, 108, 0.44);
240
+ min-height: 20px;
260
241
  }
261
242
  #editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {
262
- min-width: 26px;
263
243
  display: inline-block;
244
+ min-height: 18px;
264
245
  }
265
246
  #editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {
266
247
  display: none;
267
248
  }
268
- #editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {
269
- background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K") no-repeat center/16px;
270
- }
271
- #editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {
272
- content: " ";
273
- min-width: 22px;
274
- background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K") no-repeat center/16px;
275
- display: inline-block;
276
- }
277
249
  #editor.items-list .ProseMirror {
278
250
  display: flex;
279
251
  flex-direction: column;
@@ -309,66 +281,82 @@ h3 {
309
281
  margin-top: 0;
310
282
  }
311
283
 
312
- .extra {
313
- flex-shrink: 0;
284
+ .icure-input-metadata-container {
314
285
  display: flex;
315
- flex-flow: row nowrap;
316
- align-items: center;
317
- padding: 0 8px;
318
- transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);
319
286
  }
320
-
321
- .extra > .info {
322
- color: #809ab4;
323
- font-size: 12px;
324
- width: 100%;
325
- height: auto;
326
- overflow: hidden;
327
- pointer-events: none;
328
- text-align: right;
287
+ .icure-input-metadata-container .icure-metadata-container {
288
+ display: flex;
289
+ flex-grow: 1;
290
+ padding: 0 4px;
291
+ border: 1px solid #DDE3E7;
292
+ border-left: none;
293
+ border-radius: 0 6px 6px 0;
294
+ outline: 0;
295
+ box-sizing: border-box;
329
296
  }
330
-
331
- .extra > .info > span {
332
- font-weight: 700;
297
+ .icure-input-metadata-container .icure-metadata-container__validationError {
298
+ border-color: red;
333
299
  }
334
300
 
335
- .extra .buttons-container {
301
+ .extra {
302
+ min-width: 20px;
303
+ width: auto;
304
+ height: 20px;
336
305
  position: relative;
337
- display: flex;
338
- height: 100%;
339
- flex-flow: row nowrap;
340
- align-items: center;
341
- justify-content: flex-end;
342
- width: 0;
343
- transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);
306
+ transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);
307
+ }
308
+ .extra:hover .info {
309
+ display: none;
344
310
  }
345
-
346
311
  .extra:hover .buttons-container .menu-container .btn {
347
312
  animation: slideIn 0.24s ease-in forwards;
348
313
  pointer-events: none;
349
314
  display: unset !important;
350
315
  }
351
-
352
- .extra.forced:hover .buttons-container .menu-container .btn {
353
- animation: none;
354
- pointer-events: all;
316
+ .extra.forced .info, .extra.forced .extra .info.hidden {
317
+ opacity: 0 !important;
318
+ z-index: 0 !important;
319
+ display: none;
355
320
  }
356
-
357
321
  .extra.forced .buttons-container .btn {
358
322
  opacity: 1 !important;
359
323
  display: unset !important;
360
324
  }
361
-
362
- .extra .buttons-container .btn.forced {
363
- opacity: 1 !important;
364
- display: unset !important;
325
+ .extra.forced:hover .buttons-container .menu-container .btn {
326
+ animation: none;
327
+ pointer-events: all;
365
328
  }
366
-
367
- .extra.forced .info, .extra .info.hidden {
368
- opacity: 0 !important;
369
- z-index: 0 !important;
329
+ .extra--metadataButtonsBar {
330
+ height: 100%;
331
+ display: flex;
332
+ align-items: center;
333
+ padding: 0 4px;
334
+ }
335
+ .extra .info {
336
+ color: #809ab4;
337
+ font-size: 15px;
338
+ width: 100%;
339
+ height: auto;
340
+ overflow: hidden;
341
+ pointer-events: none;
342
+ text-align: center;
343
+ }
344
+ .extra .info span {
345
+ font-weight: 700;
346
+ }
347
+ .extra .info.hidden {
348
+ display: none;
349
+ }
350
+ .extra .buttons-container {
351
+ display: flex;
352
+ height: 20px;
353
+ width: auto;
354
+ flex-flow: row nowrap;
355
+ align-items: center;
356
+ justify-content: flex-end;
357
+ transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);
358
+ z-index: 1000;
370
359
  }
371
-
372
360
  .extra .buttons-container .btn {
373
361
  border: none;
374
362
  background: transparent;
@@ -378,32 +366,44 @@ h3 {
378
366
  opacity: 0;
379
367
  cursor: pointer;
380
368
  height: 20px;
381
- width: 10px;
382
369
  margin-left: 4px;
383
370
  margin-right: 4px;
384
371
  padding: 0;
385
372
  }
386
-
387
- .extra .buttons-container .menu-container:last-child .btn {
388
- margin-right: 0;
373
+ .extra .buttons-container .btn svg {
374
+ width: 15px;
375
+ height: 15px;
389
376
  }
390
-
391
377
  .extra .buttons-container .btn svg path {
392
378
  fill: #809ab4;
393
379
  }
394
-
380
+ .extra .buttons-container .btn.forced {
381
+ opacity: 1 !important;
382
+ display: unset !important;
383
+ }
395
384
  .extra .buttons-container .btn.forced svg path {
396
385
  fill: crimson !important;
397
386
  }
398
-
387
+ .extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {
388
+ border: none;
389
+ outline: none;
390
+ }
399
391
  .extra .buttons-container .btn:hover svg path {
400
392
  fill: #274768;
401
393
  }
402
-
394
+ .extra .buttons-container .menu-container .btn:hover::before {
395
+ content: "";
396
+ display: block;
397
+ border-color: #274768 transparent transparent transparent;
398
+ border-style: solid;
399
+ border-width: 4px;
400
+ position: absolute;
401
+ top: -6px;
402
+ }
403
403
  .extra .buttons-container .menu-container .btn:hover::after {
404
404
  content: attr(data-content);
405
405
  position: absolute;
406
- top: -22px;
406
+ top: -21px;
407
407
  height: 16px;
408
408
  left: 50%;
409
409
  transform: translateX(-50%);
@@ -419,21 +419,8 @@ h3 {
419
419
  font-size: 12px;
420
420
  line-height: 0;
421
421
  }
422
-
423
- .extra .buttons-container .btn:focus,
424
- .extra .buttons-container .btn:focus-within {
425
- border: none;
426
- outline: none;
427
- }
428
-
429
- .extra .buttons-container .menu-container .btn:hover::before {
430
- content: "";
431
- display: block;
432
- border-color: #274768 transparent transparent transparent;
433
- border-style: solid;
434
- border-width: 4px;
435
- position: absolute;
436
- top: -6px;
422
+ .extra .buttons-container .menu-container:last-child .btn {
423
+ margin-right: 0;
437
424
  }
438
425
 
439
426
  @keyframes slideIn {
@@ -453,15 +440,47 @@ h3 {
453
440
  align-items: center;
454
441
  height: fit-content;
455
442
  }
443
+ .menu-container .item {
444
+ height: 30px;
445
+ width: 100%;
446
+ background: transparent;
447
+ border-radius: 4px;
448
+ font-size: 14px;
449
+ color: #274768;
450
+ display: flex;
451
+ flex-flow: row nowrap;
452
+ align-items: center;
453
+ justify-content: flex-start;
454
+ box-shadow: none;
455
+ border: none;
456
+ white-space: nowrap;
457
+ overflow-x: hidden;
458
+ text-overflow: ellipsis;
459
+ }
460
+ .menu-container .item.existing {
461
+ background-color: #BFE8EA;
462
+ }
463
+ .menu-container .item.selected {
464
+ color: white;
465
+ background-color: #084B83;
466
+ }
467
+ .menu-container .item:hover {
468
+ background: #DCE7F2;
469
+ color: #274768;
470
+ font-weight: 500;
471
+ border-radius: 4px;
472
+ }
456
473
 
457
474
  .value-date-menu {
458
475
  width: unset !important;
459
476
  }
460
477
 
461
478
  .menu {
462
- display: block;
479
+ display: flex;
480
+ flex-direction: column;
481
+ gap: 2px;
463
482
  position: absolute;
464
- top: 20px;
483
+ top: 32px;
465
484
  right: -12px;
466
485
  z-index: 2;
467
486
  background: #fff;
@@ -503,56 +522,27 @@ h3 {
503
522
  }
504
523
 
505
524
  .menu-trigger:focus .menu {
506
- display: block;
507
- }
508
-
509
- .menu-container .item {
510
- height: 22px;
511
- width: 100%;
512
- background: transparent;
513
- border-radius: 4px;
514
- font-size: 14px;
515
- color: #274768;
516
525
  display: flex;
517
- flex-flow: row nowrap;
518
- align-items: center;
519
- justify-content: flex-start;
520
- box-shadow: none;
521
- border: none;
522
- white-space: nowrap;
523
- overflow-x: hidden;
524
- text-overflow: ellipsis;
525
- }
526
-
527
- .menu-container .item:hover {
528
- background: #f5f9fd;
529
- font-weight: 500;
530
- border-radius: 4px;
531
526
  }
532
527
 
533
528
  span {
534
529
  position: relative;
535
530
  z-index: 1;
536
531
  }
537
-
538
532
  span.date {
539
533
  margin-right: 1px;
540
534
  }
541
-
542
535
  span.time {
543
536
  margin-left: 1px;
544
537
  }
545
-
546
538
  span.measure {
547
539
  display: inline-block;
548
540
  margin-right: 1px;
549
541
  }
550
-
551
542
  span.unit {
552
543
  margin-left: 1px;
553
544
  display: inline-block;
554
545
  }
555
-
556
546
  span[data-content]:hover::after {
557
547
  position: absolute;
558
548
  content: attr(data-content);
@@ -564,7 +554,6 @@ span[data-content]:hover::after {
564
554
  left: 0px;
565
555
  padding: 0px 2px;
566
556
  }
567
-
568
557
  span[data-content]::before {
569
558
  position: absolute;
570
559
  content: "";
@@ -596,7 +585,6 @@ span[data-content]::before {
596
585
  cursor: pointer;
597
586
  border-radius: 0 2px 2px 0;
598
587
  }
599
-
600
588
  .companion:hover {
601
589
  font-weight: 700;
602
590
  background: hsl(202, 100%, 50%);
@@ -619,14 +607,19 @@ span[data-content]::before {
619
607
  background: white;
620
608
  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);
621
609
  }
622
-
623
610
  .suggestion-palette ul {
624
611
  white-space: nowrap;
625
612
  list-style-type: none;
626
613
  margin: 0;
627
614
  padding: 0;
628
615
  }
629
-
616
+ .suggestion-palette ul li:not(:first-child) svg.tab-icn,
617
+ .suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {
618
+ height: 0;
619
+ width: 0;
620
+ transform: scale(0);
621
+ opacity: 0;
622
+ }
630
623
  .suggestion-palette ul li {
631
624
  padding: 0 8px;
632
625
  font-size: 11px;
@@ -638,6 +631,12 @@ span[data-content]::before {
638
631
  border-radius: 4px;
639
632
  color: rgb(39, 71, 104);
640
633
  }
634
+ .suggestion-palette ul li.focused {
635
+ background-color: rgb(237, 242, 247);
636
+ }
637
+ .suggestion-palette ul li.focused svg.return-icn {
638
+ animation: growIn 0.24s ease-in forwards;
639
+ }
641
640
  .suggestion-palette ul li svg {
642
641
  height: 12px;
643
642
  width: 12px;
@@ -648,23 +647,6 @@ span[data-content]::before {
648
647
  fill: rgb(128, 154, 180);
649
648
  }
650
649
 
651
- .suggestion-palette ul li:not(:first-child) svg.tab-icn,
652
- .suggestion-palette ul li:not(.focused) svg.return-icn,
653
- .suggestion-palette ul.focused li:first-child svg.tab-icn {
654
- height: 0;
655
- width: 0;
656
- transform: scale(0);
657
- opacity: 0;
658
- }
659
-
660
- .suggestion-palette ul li.focused {
661
- background-color: rgb(237, 242, 247);
662
- }
663
-
664
- .suggestion-palette ul li.focused svg.return-icn {
665
- animation: growIn 0.24s ease-in forwards;
666
- }
667
-
668
650
  @keyframes growIn {
669
651
  0% {
670
652
  transform: scale(0.5);
@@ -773,7 +755,6 @@ app-date-picker {
773
755
  -ms-user-select: none; /* IE 10 and IE 11 */
774
756
  user-select: none; /* Standard syntax */
775
757
  }
776
-
777
758
  .option:hover {
778
759
  color: #656565;
779
760
  background-color: #ededed;
@@ -801,13 +782,6 @@ app-date-picker {
801
782
  position: relative;
802
783
  }
803
784
 
804
- .icure-form {
805
- background-color: rgba(0, 0, 0, 0);
806
- display: grid;
807
- gap: 0 6px;
808
- grid-template-columns: repeat(24, 1fr);
809
- }
810
-
811
785
  .group {
812
786
  align-items: end;
813
787
  display: grid;
@@ -823,6 +797,12 @@ app-date-picker {
823
797
  background-color: #e7f0fd;
824
798
  }
825
799
 
800
+ .icure-form {
801
+ background-color: rgba(0, 0, 0, 0);
802
+ display: grid;
803
+ gap: 16px 6px;
804
+ grid-template-columns: repeat(24, 1fr);
805
+ }
826
806
  .icure-form hr {
827
807
  display: block;
828
808
  margin-top: 20px;
@@ -858,16 +838,22 @@ app-date-picker {
858
838
  }
859
839
 
860
840
  .icure-form-field {
861
- align-items: end;
862
841
  display: grid;
842
+ align-items: flex-start;
863
843
  }
864
844
 
865
845
  .error {
866
846
  color: red;
867
847
  font-size: 12px;
848
+ margin-top: 4px;
868
849
  }
869
850
 
870
- .icure-text-field > .icure-label, .icure-button-group > .icure-label {
851
+ .icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {
852
+ display: flex;
853
+ width: 100%;
854
+ gap: 12px;
855
+ }
856
+ .icure-text-field .icure-label, .icure-button-group .icure-label {
871
857
  z-index: 1;
872
858
  pointer-events: none;
873
859
  line-height: 1.4em;
@@ -880,9 +866,8 @@ app-date-picker {
880
866
  max-width: 85%;
881
867
  min-width: 0;
882
868
  }
883
- .icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {
884
- display: inline-block;
885
- height: 1.4em;
869
+ .icure-text-field .icure-label.float, .icure-button-group .icure-label.float {
870
+ display: flex;
886
871
  white-space: nowrap;
887
872
  text-overflow: ellipsis;
888
873
  overflow: hidden;
@@ -891,9 +876,6 @@ app-date-picker {
891
876
  .icure-text-field {
892
877
  position: relative;
893
878
  width: 100%;
894
- flex-direction: row;
895
- justify-content: stretch;
896
- align-items: center;
897
879
  }
898
880
  .icure-text-field > .icure-label {
899
881
  transition: transform 0.2s ease-out, color 0.2s ease-out;
@@ -915,12 +897,14 @@ app-date-picker {
915
897
  }
916
898
  .icure-text-field .icure-input,
917
899
  .icure-text-field .input-container {
918
- border-radius: 2px;
919
- padding: 0 8px;
900
+ padding: 8px;
920
901
  width: 100%;
921
902
  box-sizing: border-box;
922
903
  border-width: 1px;
923
904
  border-style: solid;
905
+ border-color: #DDE3E7;
906
+ border-radius: 2px;
907
+ box-sizing: border-box;
924
908
  outline: 0;
925
909
  font: inherit;
926
910
  font-size: 14px;
@@ -931,9 +915,15 @@ app-date-picker {
931
915
  position: relative;
932
916
  -webkit-appearance: none;
933
917
  background-color: #ffffff;
934
- border-color: red;
935
918
  color: #000000;
936
- box-sizing: border-box;
919
+ }
920
+ .icure-text-field .icure-input__validationError,
921
+ .icure-text-field .input-container__validationError {
922
+ border-color: red;
923
+ }
924
+ .icure-text-field .icure-input__withMetadata,
925
+ .icure-text-field .input-container__withMetadata {
926
+ border-radius: 6px 0 0 6px;
937
927
  }
938
928
  .icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,
939
929
  .icure-text-field .input-container:focus,
@@ -988,13 +978,13 @@ app-date-picker {
988
978
  color: #656565;
989
979
  opacity: 0.5;
990
980
  }
991
- .icure-text-field .icure-input .extra .buttons-container .btn svg path,
992
- .icure-text-field .input-container .extra .buttons-container .btn svg path {
981
+ .icure-text-field .icure-input .extra .btn svg path,
982
+ .icure-text-field .input-container .extra .btn svg path {
993
983
  fill: #656565;
994
984
  opacity: 0.5;
995
985
  }
996
- .icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,
997
- .icure-text-field .input-container .extra .buttons-container .btn svg path:hover {
986
+ .icure-text-field .icure-input .extra .btn svg path:hover,
987
+ .icure-text-field .input-container .extra .btn svg path:hover {
998
988
  fill: #656565;
999
989
  opacity: 1;
1000
990
  }
@@ -1008,6 +998,11 @@ input[type=radio] {
1008
998
  accent-color: #06a070;
1009
999
  }
1010
1000
 
1001
+ .icure-button-group {
1002
+ display: flex;
1003
+ flex-direction: column;
1004
+ gap: 4px;
1005
+ }
1011
1006
  .icure-button-group > div {
1012
1007
  display: grid;
1013
1008
  }
@@ -1139,22 +1134,23 @@ class IcureDropdownField extends (0, field_with_options_1.FieldWithOptionsMixin)
1139
1134
  return [undefined, undefined];
1140
1135
  }
1141
1136
  render() {
1142
- var _a, _b, _c, _d, _e;
1137
+ var _a, _b, _c, _d, _e, _f, _g;
1143
1138
  if (!this.visible) {
1144
1139
  return (0, lit_1.html) ``;
1145
1140
  }
1146
1141
  const [, inputValue] = (_a = this.getValueFromProvider()) !== null && _a !== void 0 ? _a : '';
1142
+ const validationError = (_c = (_b = this.validationErrorsProvider) === null || _b === void 0 ? void 0 : _b.call(this)) === null || _c === void 0 ? void 0 : _c.length;
1147
1143
  return (0, lit_1.html) `
1148
1144
  <div id="root" class="icure-text-field ${inputValue != '' ? 'has-content' : ''}" data-placeholder=${this.placeholder}>
1149
1145
  ${this.displayedLabels ? (0, utils_1.generateLabels)(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : lit_1.nothing}
1150
- <div class="icure-input" id="test" @click="${(event) => this.togglePopup(event, true)}">
1151
- <input type="text" id="editor" style="outline: none" .value=${(_c = (_b = this.textInputValue) !== null && _b !== void 0 ? _b : inputValue) !== null && _c !== void 0 ? _c : ''} @input="${this.textInputChanged()}" />
1146
+ <div class="icure-input ${validationError && 'icure-input__validationError'}" id="test" @click="${(event) => this.togglePopup(event, true)}">
1147
+ <input type="text" id="editor" style="outline: none" .value=${(_e = (_d = this.textInputValue) !== null && _d !== void 0 ? _d : inputValue) !== null && _e !== void 0 ? _e : ''} @input="${this.textInputChanged()}" />
1152
1148
  <div id="extra" class=${'extra forced'}>
1153
1149
  <button class="btn select-arrow" @click="${this.togglePopup}">${paths_1.dropdownPicto}</button>
1154
1150
  ${this.displayMenu
1155
1151
  ? (0, lit_1.html) `
1156
1152
  <div id="menu" class="options">
1157
- ${(_d = this.displayedOptions) === null || _d === void 0 ? void 0 : _d.map((x) => {
1153
+ ${(_f = this.displayedOptions) === null || _f === void 0 ? void 0 : _f.map((x) => {
1158
1154
  var _a, _b;
1159
1155
  return (0, lit_1.html) `<button
1160
1156
  @click="${this.handleOptionButtonClicked(x.id)}"
@@ -1168,8 +1164,8 @@ class IcureDropdownField extends (0, field_with_options_1.FieldWithOptionsMixin)
1168
1164
  `
1169
1165
  : ''}
1170
1166
  </div>
1171
- <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>
1172
1167
  </div>
1168
+ <div class="error">${(_g = this.validationErrorsProvider) === null || _g === void 0 ? void 0 : _g.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>
1173
1169
  </div>
1174
1170
  `;
1175
1171
  }