@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
@@ -29,37 +29,58 @@ const baseCss = (0, lit_2.css) `@charset "UTF-8";
29
29
 
30
30
  .ProseMirror {
31
31
  position: relative;
32
- }
33
-
34
- .ProseMirror {
35
32
  width: 100%;
36
33
  word-wrap: break-word;
37
34
  white-space: pre-wrap;
38
35
  -webkit-font-variant-ligatures: none;
39
36
  font-variant-ligatures: none;
40
37
  font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
38
+ padding: 6px 8px 2px 8px;
39
+ line-height: 1.2;
40
+ color: #274768;
41
+ font-size: 14px;
42
+ font-weight: 400;
43
+ outline: none;
44
+ }
45
+ .ProseMirror p:last-child,
46
+ .ProseMirror h1:last-child,
47
+ .ProseMirror h2:last-child,
48
+ .ProseMirror h3:last-child,
49
+ .ProseMirror h4:last-child,
50
+ .ProseMirror h5:last-child,
51
+ .ProseMirror h6:last-child {
52
+ margin-bottom: 2px;
53
+ }
54
+ .ProseMirror p {
55
+ margin-bottom: 1em;
41
56
  }
42
-
43
57
  .ProseMirror pre {
44
58
  white-space: pre-wrap;
45
59
  }
46
-
47
60
  .ProseMirror li {
48
61
  position: relative;
49
62
  }
63
+ .ProseMirror ul,
64
+ .ProseMirror ol {
65
+ padding-left: 30px;
66
+ }
67
+ .ProseMirror blockquote {
68
+ padding-left: 1em;
69
+ border-left: 3px solid #eee;
70
+ margin-left: 0;
71
+ margin-right: 0;
72
+ }
50
73
 
74
+ .ProseMirror-hideselection {
75
+ caret-color: transparent;
76
+ }
51
77
  .ProseMirror-hideselection *::selection {
52
78
  background: transparent;
53
79
  }
54
-
55
80
  .ProseMirror-hideselection *::-moz-selection {
56
81
  background: transparent;
57
82
  }
58
83
 
59
- .ProseMirror-hideselection {
60
- caret-color: transparent;
61
- }
62
-
63
84
  .ProseMirror-selectednode {
64
85
  outline: 2px solid #8cf;
65
86
  }
@@ -68,8 +89,7 @@ const baseCss = (0, lit_2.css) `@charset "UTF-8";
68
89
  li.ProseMirror-selectednode {
69
90
  outline: none;
70
91
  }
71
-
72
- li.ProseMirror-selectednode:after {
92
+ li.ProseMirror-selectednode :after {
73
93
  content: "";
74
94
  position: absolute;
75
95
  left: -32px;
@@ -85,7 +105,6 @@ li.ProseMirror-selectednode:after {
85
105
  pointer-events: none;
86
106
  position: absolute;
87
107
  }
88
-
89
108
  .ProseMirror-gapcursor:after {
90
109
  content: "";
91
110
  display: block;
@@ -111,7 +130,6 @@ li.ProseMirror-selectednode:after {
111
130
  border: none;
112
131
  margin: 1em 0;
113
132
  }
114
-
115
133
  .ProseMirror-example-setup-style hr:after {
116
134
  content: "";
117
135
  display: block;
@@ -120,18 +138,6 @@ li.ProseMirror-selectednode:after {
120
138
  line-height: 2px;
121
139
  }
122
140
 
123
- .ProseMirror ul,
124
- .ProseMirror ol {
125
- padding-left: 30px;
126
- }
127
-
128
- .ProseMirror blockquote {
129
- padding-left: 1em;
130
- border-left: 3px solid #eee;
131
- margin-left: 0;
132
- margin-right: 0;
133
- }
134
-
135
141
  .ProseMirror-example-setup-style img {
136
142
  cursor: default;
137
143
  }
@@ -145,21 +151,18 @@ li.ProseMirror-selectednode:after {
145
151
  z-index: 11;
146
152
  box-shadow: -0.5px 2px 5px rgba(0, 0, 0, 0.2);
147
153
  }
148
-
149
154
  .ProseMirror-prompt h5 {
150
155
  margin: 0;
151
156
  font-weight: normal;
152
157
  font-size: 100%;
153
158
  color: #444;
154
159
  }
155
-
156
160
  .ProseMirror-prompt input[type=text],
157
161
  .ProseMirror-prompt textarea {
158
162
  background: #eee;
159
163
  border: none;
160
164
  outline: none;
161
165
  }
162
-
163
166
  .ProseMirror-prompt input[type=text] {
164
167
  padding: 0 4px;
165
168
  }
@@ -173,7 +176,6 @@ li.ProseMirror-selectednode:after {
173
176
  background: transparent;
174
177
  padding: 0;
175
178
  }
176
-
177
179
  .ProseMirror-prompt-close:after {
178
180
  content: "✕";
179
181
  font-size: 12px;
@@ -204,29 +206,6 @@ li.ProseMirror-selectednode:after {
204
206
  align-items: flex-end;
205
207
  }
206
208
 
207
- .ProseMirror p:last-child,
208
- .ProseMirror h1:last-child,
209
- .ProseMirror h2:last-child,
210
- .ProseMirror h3:last-child,
211
- .ProseMirror h4:last-child,
212
- .ProseMirror h5:last-child,
213
- .ProseMirror h6:last-child {
214
- margin-bottom: 2px;
215
- }
216
-
217
- .ProseMirror {
218
- padding: 6px 8px 2px 8px;
219
- line-height: 1.2;
220
- color: #274768;
221
- font-size: 14px;
222
- font-weight: 400;
223
- outline: none;
224
- }
225
-
226
- .ProseMirror p {
227
- margin-bottom: 1em;
228
- }
229
-
230
209
  .icure-input {
231
210
  background: #edf2f7;
232
211
  border-radius: 8px;
@@ -254,29 +233,22 @@ li.ProseMirror-selectednode:after {
254
233
  align-items: flex-start;
255
234
  }
256
235
  #editor.tokens-list .ProseMirror li, #editor.styled-tokens-list .ProseMirror li {
257
- display: inline-block;
236
+ display: flex;
237
+ flex-direction: row;
258
238
  border-radius: 8px;
259
239
  padding: 2px 4px;
260
240
  margin-right: 2px;
261
241
  background-color: #dadada;
262
242
  border-color: rgba(42, 61, 108, 0.44);
243
+ min-height: 20px;
263
244
  }
264
245
  #editor.tokens-list .ProseMirror li span, #editor.styled-tokens-list .ProseMirror li span {
265
- min-width: 26px;
266
246
  display: inline-block;
247
+ min-height: 18px;
267
248
  }
268
249
  #editor.tokens-list .ProseMirror li span br, #editor.styled-tokens-list .ProseMirror li span br {
269
250
  display: none;
270
251
  }
271
- #editor.tokens-list .ProseMirror li span:after:hover, #editor.styled-tokens-list .ProseMirror li span:after:hover {
272
- background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0iIzAwMDAwMCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K") no-repeat center/16px;
273
- }
274
- #editor.tokens-list .ProseMirror li span:after, #editor.styled-tokens-list .ProseMirror li span:after {
275
- content: " ";
276
- min-width: 22px;
277
- background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3 Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzg4ODg4OCIgZmlsbD0iIzg4ODg4OCIg d2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik0xNiw4YTEsMSwwLDAs MC0xLjQxNCwwTDEyLDEwLjU4Niw5LjQxNCw4QTEsMSwwLDAsMCw4LDkuNDE0TDEw LjU4NiwxMiw4LDE0LjU4NkExLDEsMCwwLDAsOS40MTQsMTZMMTIsMTMuNDE0LDE0 LjU4NiwxNkExLDEsMCwwLDAsMTYsMTQuNTg2TDEzLjQxNCwxMiwxNiw5LjQxNEEx LDEsMCwwLDAsMTYsOFoiLz48cGF0aCBkPSJNMTIsMEExMiwxMiwwLDEsMCwyNCwx MiwxMi4wMTMsMTIuMDEzLDAsMCwwLDEyLDBabTAsMjJBMTAsMTAsMCwxLDEsMjIs MTIsMTAuMDExLDEwLjAxMSwwLDAsMSwxMiwyMloiLz48L3N2Zz4K") no-repeat center/16px;
278
- display: inline-block;
279
- }
280
252
  #editor.items-list .ProseMirror {
281
253
  display: flex;
282
254
  flex-direction: column;
@@ -312,66 +284,82 @@ h3 {
312
284
  margin-top: 0;
313
285
  }
314
286
 
315
- .extra {
316
- flex-shrink: 0;
287
+ .icure-input-metadata-container {
317
288
  display: flex;
318
- flex-flow: row nowrap;
319
- align-items: center;
320
- padding: 0 8px;
321
- transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);
322
289
  }
323
-
324
- .extra > .info {
325
- color: #809ab4;
326
- font-size: 12px;
327
- width: 100%;
328
- height: auto;
329
- overflow: hidden;
330
- pointer-events: none;
331
- text-align: right;
290
+ .icure-input-metadata-container .icure-metadata-container {
291
+ display: flex;
292
+ flex-grow: 1;
293
+ padding: 0 4px;
294
+ border: 1px solid #DDE3E7;
295
+ border-left: none;
296
+ border-radius: 0 6px 6px 0;
297
+ outline: 0;
298
+ box-sizing: border-box;
332
299
  }
333
-
334
- .extra > .info > span {
335
- font-weight: 700;
300
+ .icure-input-metadata-container .icure-metadata-container__validationError {
301
+ border-color: red;
336
302
  }
337
303
 
338
- .extra .buttons-container {
304
+ .extra {
305
+ min-width: 20px;
306
+ width: auto;
307
+ height: 20px;
339
308
  position: relative;
340
- display: flex;
341
- height: 100%;
342
- flex-flow: row nowrap;
343
- align-items: center;
344
- justify-content: flex-end;
345
- width: 0;
346
- transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);
309
+ transition: all 0.24s cubic-bezier(0.42, 0.01, 1, 0.62);
310
+ }
311
+ .extra:hover .info {
312
+ display: none;
347
313
  }
348
-
349
314
  .extra:hover .buttons-container .menu-container .btn {
350
315
  animation: slideIn 0.24s ease-in forwards;
351
316
  pointer-events: none;
352
317
  display: unset !important;
353
318
  }
354
-
355
- .extra.forced:hover .buttons-container .menu-container .btn {
356
- animation: none;
357
- pointer-events: all;
319
+ .extra.forced .info, .extra.forced .extra .info.hidden {
320
+ opacity: 0 !important;
321
+ z-index: 0 !important;
322
+ display: none;
358
323
  }
359
-
360
324
  .extra.forced .buttons-container .btn {
361
325
  opacity: 1 !important;
362
326
  display: unset !important;
363
327
  }
364
-
365
- .extra .buttons-container .btn.forced {
366
- opacity: 1 !important;
367
- display: unset !important;
328
+ .extra.forced:hover .buttons-container .menu-container .btn {
329
+ animation: none;
330
+ pointer-events: all;
368
331
  }
369
-
370
- .extra.forced .info, .extra .info.hidden {
371
- opacity: 0 !important;
372
- z-index: 0 !important;
332
+ .extra--metadataButtonsBar {
333
+ height: 100%;
334
+ display: flex;
335
+ align-items: center;
336
+ padding: 0 4px;
337
+ }
338
+ .extra .info {
339
+ color: #809ab4;
340
+ font-size: 15px;
341
+ width: 100%;
342
+ height: auto;
343
+ overflow: hidden;
344
+ pointer-events: none;
345
+ text-align: center;
346
+ }
347
+ .extra .info span {
348
+ font-weight: 700;
349
+ }
350
+ .extra .info.hidden {
351
+ display: none;
352
+ }
353
+ .extra .buttons-container {
354
+ display: flex;
355
+ height: 20px;
356
+ width: auto;
357
+ flex-flow: row nowrap;
358
+ align-items: center;
359
+ justify-content: flex-end;
360
+ transition: all 0.24s cubic-bezier(0.14, 0.69, 0.87, 0.54);
361
+ z-index: 1000;
373
362
  }
374
-
375
363
  .extra .buttons-container .btn {
376
364
  border: none;
377
365
  background: transparent;
@@ -381,32 +369,44 @@ h3 {
381
369
  opacity: 0;
382
370
  cursor: pointer;
383
371
  height: 20px;
384
- width: 10px;
385
372
  margin-left: 4px;
386
373
  margin-right: 4px;
387
374
  padding: 0;
388
375
  }
389
-
390
- .extra .buttons-container .menu-container:last-child .btn {
391
- margin-right: 0;
376
+ .extra .buttons-container .btn svg {
377
+ width: 15px;
378
+ height: 15px;
392
379
  }
393
-
394
380
  .extra .buttons-container .btn svg path {
395
381
  fill: #809ab4;
396
382
  }
397
-
383
+ .extra .buttons-container .btn.forced {
384
+ opacity: 1 !important;
385
+ display: unset !important;
386
+ }
398
387
  .extra .buttons-container .btn.forced svg path {
399
388
  fill: crimson !important;
400
389
  }
401
-
390
+ .extra .buttons-container .btn:focus, .extra .buttons-container .btn:focus-within {
391
+ border: none;
392
+ outline: none;
393
+ }
402
394
  .extra .buttons-container .btn:hover svg path {
403
395
  fill: #274768;
404
396
  }
405
-
397
+ .extra .buttons-container .menu-container .btn:hover::before {
398
+ content: "";
399
+ display: block;
400
+ border-color: #274768 transparent transparent transparent;
401
+ border-style: solid;
402
+ border-width: 4px;
403
+ position: absolute;
404
+ top: -6px;
405
+ }
406
406
  .extra .buttons-container .menu-container .btn:hover::after {
407
407
  content: attr(data-content);
408
408
  position: absolute;
409
- top: -22px;
409
+ top: -21px;
410
410
  height: 16px;
411
411
  left: 50%;
412
412
  transform: translateX(-50%);
@@ -422,21 +422,8 @@ h3 {
422
422
  font-size: 12px;
423
423
  line-height: 0;
424
424
  }
425
-
426
- .extra .buttons-container .btn:focus,
427
- .extra .buttons-container .btn:focus-within {
428
- border: none;
429
- outline: none;
430
- }
431
-
432
- .extra .buttons-container .menu-container .btn:hover::before {
433
- content: "";
434
- display: block;
435
- border-color: #274768 transparent transparent transparent;
436
- border-style: solid;
437
- border-width: 4px;
438
- position: absolute;
439
- top: -6px;
425
+ .extra .buttons-container .menu-container:last-child .btn {
426
+ margin-right: 0;
440
427
  }
441
428
 
442
429
  @keyframes slideIn {
@@ -456,15 +443,47 @@ h3 {
456
443
  align-items: center;
457
444
  height: fit-content;
458
445
  }
446
+ .menu-container .item {
447
+ height: 30px;
448
+ width: 100%;
449
+ background: transparent;
450
+ border-radius: 4px;
451
+ font-size: 14px;
452
+ color: #274768;
453
+ display: flex;
454
+ flex-flow: row nowrap;
455
+ align-items: center;
456
+ justify-content: flex-start;
457
+ box-shadow: none;
458
+ border: none;
459
+ white-space: nowrap;
460
+ overflow-x: hidden;
461
+ text-overflow: ellipsis;
462
+ }
463
+ .menu-container .item.existing {
464
+ background-color: #BFE8EA;
465
+ }
466
+ .menu-container .item.selected {
467
+ color: white;
468
+ background-color: #084B83;
469
+ }
470
+ .menu-container .item:hover {
471
+ background: #DCE7F2;
472
+ color: #274768;
473
+ font-weight: 500;
474
+ border-radius: 4px;
475
+ }
459
476
 
460
477
  .value-date-menu {
461
478
  width: unset !important;
462
479
  }
463
480
 
464
481
  .menu {
465
- display: block;
482
+ display: flex;
483
+ flex-direction: column;
484
+ gap: 2px;
466
485
  position: absolute;
467
- top: 20px;
486
+ top: 32px;
468
487
  right: -12px;
469
488
  z-index: 2;
470
489
  background: #fff;
@@ -506,56 +525,27 @@ h3 {
506
525
  }
507
526
 
508
527
  .menu-trigger:focus .menu {
509
- display: block;
510
- }
511
-
512
- .menu-container .item {
513
- height: 22px;
514
- width: 100%;
515
- background: transparent;
516
- border-radius: 4px;
517
- font-size: 14px;
518
- color: #274768;
519
528
  display: flex;
520
- flex-flow: row nowrap;
521
- align-items: center;
522
- justify-content: flex-start;
523
- box-shadow: none;
524
- border: none;
525
- white-space: nowrap;
526
- overflow-x: hidden;
527
- text-overflow: ellipsis;
528
- }
529
-
530
- .menu-container .item:hover {
531
- background: #f5f9fd;
532
- font-weight: 500;
533
- border-radius: 4px;
534
529
  }
535
530
 
536
531
  span {
537
532
  position: relative;
538
533
  z-index: 1;
539
534
  }
540
-
541
535
  span.date {
542
536
  margin-right: 1px;
543
537
  }
544
-
545
538
  span.time {
546
539
  margin-left: 1px;
547
540
  }
548
-
549
541
  span.measure {
550
542
  display: inline-block;
551
543
  margin-right: 1px;
552
544
  }
553
-
554
545
  span.unit {
555
546
  margin-left: 1px;
556
547
  display: inline-block;
557
548
  }
558
-
559
549
  span[data-content]:hover::after {
560
550
  position: absolute;
561
551
  content: attr(data-content);
@@ -567,7 +557,6 @@ span[data-content]:hover::after {
567
557
  left: 0px;
568
558
  padding: 0px 2px;
569
559
  }
570
-
571
560
  span[data-content]::before {
572
561
  position: absolute;
573
562
  content: "";
@@ -599,7 +588,6 @@ span[data-content]::before {
599
588
  cursor: pointer;
600
589
  border-radius: 0 2px 2px 0;
601
590
  }
602
-
603
591
  .companion:hover {
604
592
  font-weight: 700;
605
593
  background: hsl(202, 100%, 50%);
@@ -622,14 +610,19 @@ span[data-content]::before {
622
610
  background: white;
623
611
  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);
624
612
  }
625
-
626
613
  .suggestion-palette ul {
627
614
  white-space: nowrap;
628
615
  list-style-type: none;
629
616
  margin: 0;
630
617
  padding: 0;
631
618
  }
632
-
619
+ .suggestion-palette ul li:not(:first-child) svg.tab-icn,
620
+ .suggestion-palette ul li:not(.focused) svg.return-icn, .suggestion-palette ul.focused li:first-child svg.tab-icn {
621
+ height: 0;
622
+ width: 0;
623
+ transform: scale(0);
624
+ opacity: 0;
625
+ }
633
626
  .suggestion-palette ul li {
634
627
  padding: 0 8px;
635
628
  font-size: 11px;
@@ -641,6 +634,12 @@ span[data-content]::before {
641
634
  border-radius: 4px;
642
635
  color: rgb(39, 71, 104);
643
636
  }
637
+ .suggestion-palette ul li.focused {
638
+ background-color: rgb(237, 242, 247);
639
+ }
640
+ .suggestion-palette ul li.focused svg.return-icn {
641
+ animation: growIn 0.24s ease-in forwards;
642
+ }
644
643
  .suggestion-palette ul li svg {
645
644
  height: 12px;
646
645
  width: 12px;
@@ -651,23 +650,6 @@ span[data-content]::before {
651
650
  fill: rgb(128, 154, 180);
652
651
  }
653
652
 
654
- .suggestion-palette ul li:not(:first-child) svg.tab-icn,
655
- .suggestion-palette ul li:not(.focused) svg.return-icn,
656
- .suggestion-palette ul.focused li:first-child svg.tab-icn {
657
- height: 0;
658
- width: 0;
659
- transform: scale(0);
660
- opacity: 0;
661
- }
662
-
663
- .suggestion-palette ul li.focused {
664
- background-color: rgb(237, 242, 247);
665
- }
666
-
667
- .suggestion-palette ul li.focused svg.return-icn {
668
- animation: growIn 0.24s ease-in forwards;
669
- }
670
-
671
653
  @keyframes growIn {
672
654
  0% {
673
655
  transform: scale(0.5);
@@ -776,7 +758,6 @@ app-date-picker {
776
758
  -ms-user-select: none; /* IE 10 and IE 11 */
777
759
  user-select: none; /* Standard syntax */
778
760
  }
779
-
780
761
  .option:hover {
781
762
  color: #656565;
782
763
  background-color: #ededed;
@@ -804,13 +785,6 @@ app-date-picker {
804
785
  position: relative;
805
786
  }
806
787
 
807
- .icure-form {
808
- background-color: rgba(0, 0, 0, 0);
809
- display: grid;
810
- gap: 0 6px;
811
- grid-template-columns: repeat(24, 1fr);
812
- }
813
-
814
788
  .group {
815
789
  align-items: end;
816
790
  display: grid;
@@ -826,6 +800,12 @@ app-date-picker {
826
800
  background-color: #e7f0fd;
827
801
  }
828
802
 
803
+ .icure-form {
804
+ background-color: rgba(0, 0, 0, 0);
805
+ display: grid;
806
+ gap: 16px 6px;
807
+ grid-template-columns: repeat(24, 1fr);
808
+ }
829
809
  .icure-form hr {
830
810
  display: block;
831
811
  margin-top: 20px;
@@ -861,16 +841,22 @@ app-date-picker {
861
841
  }
862
842
 
863
843
  .icure-form-field {
864
- align-items: end;
865
844
  display: grid;
845
+ align-items: flex-start;
866
846
  }
867
847
 
868
848
  .error {
869
849
  color: red;
870
850
  font-size: 12px;
851
+ margin-top: 4px;
871
852
  }
872
853
 
873
- .icure-text-field > .icure-label, .icure-button-group > .icure-label {
854
+ .icure-text-field .icure-label-extra, .icure-button-group .icure-label-extra {
855
+ display: flex;
856
+ width: 100%;
857
+ gap: 12px;
858
+ }
859
+ .icure-text-field .icure-label, .icure-button-group .icure-label {
874
860
  z-index: 1;
875
861
  pointer-events: none;
876
862
  line-height: 1.4em;
@@ -883,9 +869,8 @@ app-date-picker {
883
869
  max-width: 85%;
884
870
  min-width: 0;
885
871
  }
886
- .icure-text-field > .icure-label.float, .icure-button-group > .icure-label.float {
887
- display: inline-block;
888
- height: 1.4em;
872
+ .icure-text-field .icure-label.float, .icure-button-group .icure-label.float {
873
+ display: flex;
889
874
  white-space: nowrap;
890
875
  text-overflow: ellipsis;
891
876
  overflow: hidden;
@@ -894,9 +879,6 @@ app-date-picker {
894
879
  .icure-text-field {
895
880
  position: relative;
896
881
  width: 100%;
897
- flex-direction: row;
898
- justify-content: stretch;
899
- align-items: center;
900
882
  }
901
883
  .icure-text-field > .icure-label {
902
884
  transition: transform 0.2s ease-out, color 0.2s ease-out;
@@ -918,12 +900,14 @@ app-date-picker {
918
900
  }
919
901
  .icure-text-field .icure-input,
920
902
  .icure-text-field .input-container {
921
- border-radius: 2px;
922
- padding: 0 8px;
903
+ padding: 8px;
923
904
  width: 100%;
924
905
  box-sizing: border-box;
925
906
  border-width: 1px;
926
907
  border-style: solid;
908
+ border-color: #DDE3E7;
909
+ border-radius: 2px;
910
+ box-sizing: border-box;
927
911
  outline: 0;
928
912
  font: inherit;
929
913
  font-size: 14px;
@@ -934,9 +918,15 @@ app-date-picker {
934
918
  position: relative;
935
919
  -webkit-appearance: none;
936
920
  background-color: #ffffff;
937
- border-color: red;
938
921
  color: #000000;
939
- box-sizing: border-box;
922
+ }
923
+ .icure-text-field .icure-input__validationError,
924
+ .icure-text-field .input-container__validationError {
925
+ border-color: red;
926
+ }
927
+ .icure-text-field .icure-input__withMetadata,
928
+ .icure-text-field .input-container__withMetadata {
929
+ border-radius: 6px 0 0 6px;
940
930
  }
941
931
  .icure-text-field .icure-input:focus, .icure-text-field .icure-input:focus-within,
942
932
  .icure-text-field .input-container:focus,
@@ -991,13 +981,13 @@ app-date-picker {
991
981
  color: #656565;
992
982
  opacity: 0.5;
993
983
  }
994
- .icure-text-field .icure-input .extra .buttons-container .btn svg path,
995
- .icure-text-field .input-container .extra .buttons-container .btn svg path {
984
+ .icure-text-field .icure-input .extra .btn svg path,
985
+ .icure-text-field .input-container .extra .btn svg path {
996
986
  fill: #656565;
997
987
  opacity: 0.5;
998
988
  }
999
- .icure-text-field .icure-input .extra .buttons-container .btn svg path:hover,
1000
- .icure-text-field .input-container .extra .buttons-container .btn svg path:hover {
989
+ .icure-text-field .icure-input .extra .btn svg path:hover,
990
+ .icure-text-field .input-container .extra .btn svg path:hover {
1001
991
  fill: #656565;
1002
992
  opacity: 1;
1003
993
  }
@@ -1011,6 +1001,11 @@ input[type=radio] {
1011
1001
  accent-color: #06a070;
1012
1002
  }
1013
1003
 
1004
+ .icure-button-group {
1005
+ display: flex;
1006
+ flex-direction: column;
1007
+ gap: 4px;
1008
+ }
1014
1009
  .icure-button-group > div {
1015
1010
  display: grid;
1016
1011
  }
@@ -1089,21 +1084,22 @@ class IcureDatePickerField extends common_1.Field {
1089
1084
  return undefined;
1090
1085
  }
1091
1086
  render() {
1092
- var _a, _b, _c;
1087
+ var _a, _b, _c, _d, _e;
1093
1088
  if (!this.visible) {
1094
1089
  return (0, lit_1.html) ``;
1095
1090
  }
1096
1091
  const value = this.getValueFromProvider();
1092
+ const validationError = (_b = (_a = this.validationErrorsProvider) === null || _a === void 0 ? void 0 : _a.call(this)) === null || _b === void 0 ? void 0 : _b.length;
1097
1093
  return (0, lit_1.html) ` <div id="root" class="icure-text-field ${value && value != '' ? 'has-content' : ''}" data-placeholder="${this.placeholder}">
1098
1094
  ${this.displayedLabels ? (0, utils_1.generateLabels)(this.displayedLabels, this.language(), this.translate ? this.translationProvider : undefined) : lit_1.nothing}
1099
- <div class="icure-input" @click="${this.togglePopup}" id="test">
1095
+ <div class="icure-input ${validationError && 'icure-input__validationError'}" @click="${this.togglePopup}" id="test">
1100
1096
  <div id="editor">${value}</div>
1101
1097
  <div id="extra" class=${'extra forced'}>
1102
1098
  <button class="btn select-arrow">${paths_1.datePicto}</button>
1103
1099
  ${this.displayDatePicker
1104
1100
  ? (0, lit_1.html) `<div id="menu" class="date-picker" @click="${(event) => event.stopPropagation()}">
1105
1101
  <app-date-picker
1106
- locale="${(_b = (_a = this.selectedLanguage) !== null && _a !== void 0 ? _a : this.defaultLanguage) !== null && _b !== void 0 ? _b : 'en'}"
1102
+ locale="${(_d = (_c = this.selectedLanguage) !== null && _c !== void 0 ? _c : this.defaultLanguage) !== null && _d !== void 0 ? _d : 'en'}"
1107
1103
  style=""
1108
1104
  max="${constants_1.MAX_DATE}"
1109
1105
  min="${(0, to_resolved_date_1.toResolvedDate)('1900-01-01')}"
@@ -1112,7 +1108,7 @@ class IcureDatePickerField extends common_1.Field {
1112
1108
  </div>`
1113
1109
  : ''}
1114
1110
  </div>
1115
- <div class="error">${(_c = this.validationErrorsProvider) === null || _c === void 0 ? void 0 : _c.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>
1111
+ <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>
1116
1112
  </div>
1117
1113
  </div>`;
1118
1114
  }