@icure/form 1.1.14 → 1.1.16

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 (195) hide show
  1. package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.2.0-6bda8c35cb-704621c28d.zip +0 -0
  2. package/.yarn/cache/@lit-reactive-element-npm-1.6.3-4828441e51-79b58631c3.zip +0 -0
  3. package/.yarn/cache/@lit-reactive-element-npm-2.0.4-4836436301-368d788d9e.zip +0 -0
  4. package/.yarn/cache/@material-animation-npm-14.0.0-canary.53b3cad2f.0-06a813cdea-9b5190654c.zip +0 -0
  5. package/.yarn/cache/@material-base-npm-14.0.0-canary.53b3cad2f.0-d195c1fdc4-9f4928d115.zip +0 -0
  6. package/.yarn/cache/@material-button-npm-14.0.0-canary.53b3cad2f.0-d4b070f508-873295c56a.zip +0 -0
  7. package/.yarn/cache/@material-density-npm-14.0.0-canary.53b3cad2f.0-48c1f65059-a23f00edfe.zip +0 -0
  8. package/.yarn/cache/@material-dialog-npm-14.0.0-canary.53b3cad2f.0-96168fa294-c1a498b81a.zip +0 -0
  9. package/.yarn/cache/@material-dom-npm-14.0.0-canary.53b3cad2f.0-ac009dc871-f5817f76dd.zip +0 -0
  10. package/.yarn/cache/@material-elevation-npm-14.0.0-canary.53b3cad2f.0-3312f06793-2f8945c7b6.zip +0 -0
  11. package/.yarn/cache/@material-feature-targeting-npm-14.0.0-canary.53b3cad2f.0-a919042d50-e7a1ed68f9.zip +0 -0
  12. package/.yarn/cache/@material-floating-label-npm-14.0.0-canary.53b3cad2f.0-eb8f330f2f-5295dc481d.zip +0 -0
  13. package/.yarn/cache/@material-focus-ring-npm-14.0.0-canary.53b3cad2f.0-b22f851a2e-92273b1247.zip +0 -0
  14. package/.yarn/cache/@material-icon-button-npm-14.0.0-canary.53b3cad2f.0-e158d26048-19b51665f2.zip +0 -0
  15. package/.yarn/cache/@material-line-ripple-npm-14.0.0-canary.53b3cad2f.0-d089468db9-6518961487.zip +0 -0
  16. package/.yarn/cache/@material-list-npm-14.0.0-canary.53b3cad2f.0-df9ce05084-6c977f518d.zip +0 -0
  17. package/.yarn/cache/@material-menu-npm-14.0.0-canary.53b3cad2f.0-9489b592c8-71b6a1f4dd.zip +0 -0
  18. package/.yarn/cache/@material-menu-surface-npm-14.0.0-canary.53b3cad2f.0-52212f38f4-ad48e168ca.zip +0 -0
  19. package/.yarn/cache/@material-mwc-base-npm-0.27.0-79caf3ef2b-07af17edfc.zip +0 -0
  20. package/.yarn/cache/@material-mwc-button-npm-0.27.0-4b85f2b26f-2ef5cc0951.zip +0 -0
  21. package/.yarn/cache/@material-mwc-checkbox-npm-0.27.0-e837031d8e-ba53a6ea8c.zip +0 -0
  22. package/.yarn/cache/@material-mwc-dialog-npm-0.27.0-77c6071543-ffab528e8e.zip +0 -0
  23. package/.yarn/cache/@material-mwc-floating-label-npm-0.27.0-80e62b22c0-fbbf4f2e42.zip +0 -0
  24. package/.yarn/cache/@material-mwc-icon-button-npm-0.27.0-41f82f135b-7315c0735b.zip +0 -0
  25. package/.yarn/cache/@material-mwc-icon-npm-0.27.0-98c9e8509f-6dfa5115d5.zip +0 -0
  26. package/.yarn/cache/@material-mwc-line-ripple-npm-0.27.0-e6704221e0-6862ede0f4.zip +0 -0
  27. package/.yarn/cache/@material-mwc-list-npm-0.27.0-5344fc9de4-6c2ae4f1c6.zip +0 -0
  28. package/.yarn/cache/@material-mwc-menu-npm-0.27.0-7c2bb47797-126f733659.zip +0 -0
  29. package/.yarn/cache/@material-mwc-notched-outline-npm-0.27.0-0e0d1c4d5f-2739032f76.zip +0 -0
  30. package/.yarn/cache/@material-mwc-radio-npm-0.27.0-aa2098a280-0b0a0a6b99.zip +0 -0
  31. package/.yarn/cache/@material-mwc-ripple-npm-0.27.0-ed37672f08-9cd73fdfe4.zip +0 -0
  32. package/.yarn/cache/@material-mwc-textfield-npm-0.27.0-dabd704f55-978c893aca.zip +0 -0
  33. package/.yarn/cache/@material-notched-outline-npm-14.0.0-canary.53b3cad2f.0-ecacde98db-1a9f8db4d8.zip +0 -0
  34. package/.yarn/cache/@material-radio-npm-14.0.0-canary.53b3cad2f.0-c50de64d41-898554f2b3.zip +0 -0
  35. package/.yarn/cache/@material-ripple-npm-14.0.0-canary.53b3cad2f.0-49060bfe7e-08b71917e2.zip +0 -0
  36. package/.yarn/cache/@material-rtl-npm-14.0.0-canary.53b3cad2f.0-daca794b76-3c1b8b48c6.zip +0 -0
  37. package/.yarn/cache/@material-shape-npm-14.0.0-canary.53b3cad2f.0-5bcff722a6-6ad9b020c0.zip +0 -0
  38. package/.yarn/cache/@material-textfield-npm-14.0.0-canary.53b3cad2f.0-4414808dda-7072e3c9df.zip +0 -0
  39. package/.yarn/cache/@material-theme-npm-14.0.0-canary.53b3cad2f.0-9a24e7b046-fd44e92917.zip +0 -0
  40. package/.yarn/cache/@material-tokens-npm-14.0.0-canary.53b3cad2f.0-f1c87523da-efa909f861.zip +0 -0
  41. package/.yarn/cache/@material-touch-target-npm-14.0.0-canary.53b3cad2f.0-fa6a2d0875-dbc13cbe7a.zip +0 -0
  42. package/.yarn/cache/@material-typography-npm-14.0.0-canary.53b3cad2f.0-f4a58946f1-fa2671df40.zip +0 -0
  43. package/.yarn/cache/@types-trusted-types-npm-2.0.7-a07fc44f59-8e4202766a.zip +0 -0
  44. package/.yarn/cache/@webcomponents-webcomponentsjs-npm-2.8.0-36c07db4d2-186373c030.zip +0 -0
  45. package/.yarn/cache/app-datepicker-npm-6.0.0-rc.33-f74d593ddf-6490949c45.zip +0 -0
  46. package/.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip +0 -0
  47. package/.yarn/cache/blocking-elements-npm-0.1.1-423f51c76e-9a34084405.zip +0 -0
  48. package/.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip +0 -0
  49. package/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip +0 -0
  50. package/.yarn/cache/linkify-it-npm-5.0.0-adb5f9c96f-b0b86cadaf.zip +0 -0
  51. package/.yarn/cache/lit-element-npm-3.3.3-2f9f9e38c0-29a596fa55.zip +0 -0
  52. package/.yarn/cache/lit-element-npm-4.0.6-bfca4f9870-4f73cd1c0d.zip +0 -0
  53. package/.yarn/cache/lit-html-npm-2.8.0-82f88d6ebf-2d70df0724.zip +0 -0
  54. package/.yarn/cache/lit-html-npm-3.1.4-58e56c5010-428593679c.zip +0 -0
  55. package/.yarn/cache/lit-npm-2.8.0-92bb1333a4-2480e733f7.zip +0 -0
  56. package/.yarn/cache/lit-npm-3.1.4-b7dcc2d5a3-c6ffa5580f.zip +0 -0
  57. package/.yarn/cache/lit-ntml-npm-3.0.6-98ebc6c1ac-2917c778d9.zip +0 -0
  58. package/.yarn/cache/lodash-es-npm-4.17.21-b45832dfce-05cbffad6e.zip +0 -0
  59. package/.yarn/cache/markdown-it-npm-14.1.0-e337d75bfe-07296b45eb.zip +0 -0
  60. package/.yarn/cache/mdurl-npm-2.0.0-3259713daf-880bc289ef.zip +0 -0
  61. package/.yarn/cache/nodemod-npm-3.0.6-844d650911-47ffe619b3.zip +0 -0
  62. package/.yarn/cache/normalize-diacritics-npm-3.0.12-93e2346015-5ddc2cfaf8.zip +0 -0
  63. package/.yarn/cache/orderedmap-npm-2.1.1-64b8a0684f-082cf970b0.zip +0 -0
  64. package/.yarn/cache/parse5-npm-6.0.1-70a35a494a-7d569a176c.zip +0 -0
  65. package/.yarn/cache/prosemirror-commands-npm-1.5.2-27f8f3fee9-ff65063a8c.zip +0 -0
  66. package/.yarn/cache/prosemirror-history-npm-1.3.2-cc128c8ee6-b85fe6378a.zip +0 -0
  67. package/.yarn/cache/prosemirror-keymap-npm-1.2.2-efb8276b00-85fe4fc303.zip +0 -0
  68. package/.yarn/cache/prosemirror-markdown-npm-1.12.0-28e990f443-d7607ee1a6.zip +0 -0
  69. package/.yarn/cache/prosemirror-model-npm-1.19.4-4fd32211c8-12c277ed30.zip +0 -0
  70. package/.yarn/cache/prosemirror-model-npm-1.22.2-9238026de4-f4004a4ebe.zip +0 -0
  71. package/.yarn/cache/prosemirror-schema-basic-npm-1.2.2-def7bf2ec7-1f93f8678c.zip +0 -0
  72. package/.yarn/cache/prosemirror-schema-list-npm-1.3.0-23c1830a7e-03654e37c8.zip +0 -0
  73. package/.yarn/cache/prosemirror-state-npm-1.4.3-d6540e44ad-28857d935c.zip +0 -0
  74. package/.yarn/cache/prosemirror-transform-npm-1.8.0-ea3ca0411f-6d16ca4f95.zip +0 -0
  75. package/.yarn/cache/prosemirror-transform-npm-1.9.0-fd256f82f0-c2d63c1fb0.zip +0 -0
  76. package/.yarn/cache/prosemirror-view-npm-1.32.7-63c3e4b182-40c9038a52.zip +0 -0
  77. package/.yarn/cache/prosemirror-view-npm-1.33.9-dd77e3e48f-d3bd6cef56.zip +0 -0
  78. package/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-13466d7ed5.zip +0 -0
  79. package/.yarn/cache/rope-sequence-npm-1.3.4-3b09587e5f-95cca2f99a.zip +0 -0
  80. package/.yarn/cache/tslib-npm-2.6.3-0fd136b3be-74fce0e100.zip +0 -0
  81. package/.yarn/cache/uc.micro-npm-2.1.0-c45282c865-3719735824.zip +0 -0
  82. package/.yarn/cache/uuid-npm-9.0.1-39a8442bc6-39931f6da7.zip +0 -0
  83. package/.yarn/cache/w3c-keyname-npm-2.2.8-66d7d5317a-95bafa4c04.zip +0 -0
  84. package/.yarn/cache/wicg-inert-npm-3.1.2-786d525c4e-538c5cb7f2.zip +0 -0
  85. package/.yarn/install-state.gz +0 -0
  86. package/components/common/field-with-options.d.ts +1 -1
  87. package/components/common/field-with-options.js.map +1 -1
  88. package/components/common/field.d.ts +3 -1
  89. package/components/common/field.js +18 -8
  90. package/components/common/field.js.map +1 -1
  91. package/components/common/utils.js.map +1 -1
  92. package/components/icure-button-group/index.js +8 -2
  93. package/components/icure-button-group/index.js.map +1 -1
  94. package/components/icure-date-picker/index.js +11 -4
  95. package/components/icure-date-picker/index.js.map +1 -1
  96. package/components/icure-dropdown-field/index.d.ts +3 -1
  97. package/components/icure-dropdown-field/index.js +42 -9
  98. package/components/icure-dropdown-field/index.js.map +1 -1
  99. package/components/icure-form/fields/button-group/checkbox.js +4 -3
  100. package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
  101. package/components/icure-form/fields/button-group/radio-button.js +5 -4
  102. package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
  103. package/components/icure-form/fields/date-picker/date-picker.js +4 -3
  104. package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
  105. package/components/icure-form/fields/date-picker/date-time-picker.js +4 -3
  106. package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
  107. package/components/icure-form/fields/date-picker/time-picker.js +4 -3
  108. package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
  109. package/components/icure-form/fields/dropdown/dropdown-field.d.ts +2 -4
  110. package/components/icure-form/fields/dropdown/dropdown-field.js +6 -5
  111. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  112. package/components/icure-form/fields/items-list-field/items-list-field.js +4 -4
  113. package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
  114. package/components/icure-form/fields/label/label.js +1 -1
  115. package/components/icure-form/fields/label/label.js.map +1 -1
  116. package/components/icure-form/fields/measure-field/measure-field.js +4 -3
  117. package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
  118. package/components/icure-form/fields/number-field/number-field.js +4 -3
  119. package/components/icure-form/fields/number-field/number-field.js.map +1 -1
  120. package/components/icure-form/fields/text-field/text-field.d.ts +1 -1
  121. package/components/icure-form/fields/text-field/text-field.js +5 -4
  122. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  123. package/components/icure-form/fields/token-field/token-field.js +4 -4
  124. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  125. package/components/icure-form/fields/utils/index.d.ts +4 -6
  126. package/components/icure-form/fields/utils/index.js +1 -1
  127. package/components/icure-form/fields/utils/index.js.map +1 -1
  128. package/components/icure-form/index.d.ts +8 -8
  129. package/components/icure-form/index.js +17 -13
  130. package/components/icure-form/index.js.map +1 -1
  131. package/components/icure-form/renderer/form/form-selection-button.js +1 -1
  132. package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
  133. package/components/icure-form/renderer/form/form.js +67 -58
  134. package/components/icure-form/renderer/form/form.js.map +1 -1
  135. package/components/icure-form/renderer/index.d.ts +4 -6
  136. package/components/icure-form/renderer/index.js.map +1 -1
  137. package/components/icure-label/index.js +6 -1
  138. package/components/icure-label/index.js.map +1 -1
  139. package/components/icure-text-field/index.d.ts +7 -9
  140. package/components/icure-text-field/index.js +118 -51
  141. package/components/icure-text-field/index.js.map +1 -1
  142. package/components/icure-text-field/plugin/caret-fix-plugin.js.map +1 -1
  143. package/components/icure-text-field/plugin/mask-plugin.js.map +1 -1
  144. package/components/icure-text-field/plugin/regexp-plugin.js.map +1 -1
  145. package/components/icure-text-field/prosemirror-commands.d.ts +2 -2
  146. package/components/icure-text-field/prosemirror-commands.js.map +1 -1
  147. package/components/icure-text-field/prosemirror-utils.js.map +1 -1
  148. package/components/icure-text-field/schema/common-marks.js.map +1 -1
  149. package/components/icure-text-field/schema/measure-schema.js.map +1 -1
  150. package/components/icure-text-field/selection-companion.js.map +1 -1
  151. package/components/icure-text-field/suggestion-palette.js.map +1 -1
  152. package/components/model/index.d.ts +69 -137
  153. package/components/model/index.js +30 -103
  154. package/components/model/index.js.map +1 -1
  155. package/components/themes/icure-blue/index.d.ts +1 -0
  156. package/components/themes/icure-blue/index.js +321 -0
  157. package/components/themes/icure-blue/index.js.map +1 -0
  158. package/conversion/ckmeans-grouping.js.map +1 -1
  159. package/conversion/ckmeans.js.map +1 -1
  160. package/conversion/icure-convert.js.map +1 -1
  161. package/generic/model.d.ts +45 -1
  162. package/generic/model.js.map +1 -1
  163. package/icure/form-values-container.d.ts +42 -8
  164. package/icure/form-values-container.js +99 -52
  165. package/icure/form-values-container.js.map +1 -1
  166. package/icure/icure-utils.d.ts +19 -0
  167. package/icure/icure-utils.js +117 -0
  168. package/icure/icure-utils.js.map +1 -0
  169. package/icure/model.d.ts +1 -1
  170. package/icure/model.js.map +1 -1
  171. package/package.json +5 -7
  172. package/utils/code-utils.d.ts +3 -10
  173. package/utils/code-utils.js +3 -9
  174. package/utils/code-utils.js.map +1 -1
  175. package/utils/dates.d.ts +6 -0
  176. package/utils/dates.js +58 -0
  177. package/utils/dates.js.map +1 -0
  178. package/utils/fields-values-provider.d.ts +2 -1
  179. package/utils/fields-values-provider.js +11 -6
  180. package/utils/fields-values-provider.js.map +1 -1
  181. package/utils/form-value-container.js.map +1 -1
  182. package/utils/icure-utils.js.map +1 -1
  183. package/utils/interpreter.js +1 -2
  184. package/utils/interpreter.js.map +1 -1
  185. package/utils/languages.d.ts +1 -5
  186. package/utils/languages.js.map +1 -1
  187. package/utils/markdown.d.ts +2 -1
  188. package/utils/markdown.js +5 -1
  189. package/utils/markdown.js.map +1 -1
  190. package/utils/no-lodash.d.ts +3 -1
  191. package/utils/no-lodash.js +3 -1
  192. package/utils/no-lodash.js.map +1 -1
  193. package/utils/primitive.d.ts +0 -3
  194. package/utils/primitive.js +4 -59
  195. package/utils/primitive.js.map +1 -1
@@ -861,6 +861,11 @@ app-date-picker {
861
861
  display: grid;
862
862
  }
863
863
 
864
+ .error {
865
+ color: red;
866
+ font-size: 12px;
867
+ }
868
+
864
869
  .icure-text-field > .icure-label, .icure-button-group > .icure-label {
865
870
  z-index: 1;
866
871
  pointer-events: none;
@@ -1049,14 +1054,12 @@ const languages_1 = require("../../utils/languages");
1049
1054
  class IcureForm extends lit_1.LitElement {
1050
1055
  constructor() {
1051
1056
  super();
1052
- this.skin = 'material';
1053
1057
  this.renderer = 'form';
1054
1058
  this.visible = true;
1055
1059
  this.readonly = false;
1060
+ this.displayMetadata = false;
1056
1061
  this.labelPosition = undefined;
1057
1062
  this.formValuesContainer = undefined;
1058
- this.codesProvider = () => Promise.resolve([]);
1059
- this.optionsProvider = () => Promise.resolve([]);
1060
1063
  }
1061
1064
  static get styles() {
1062
1065
  return [baseCss];
@@ -1064,25 +1067,23 @@ class IcureForm extends lit_1.LitElement {
1064
1067
  render() {
1065
1068
  var _a, _b;
1066
1069
  const renderer = this.renderer === 'form' ? form_1.render : undefined;
1070
+ console.log('Render metadata', this.displayMetadata);
1067
1071
  if (!this.visible) {
1068
1072
  return (0, lit_1.html) ``;
1069
1073
  }
1070
1074
  const translationTables = (_a = this.form) === null || _a === void 0 ? void 0 : _a.translations;
1071
1075
  return renderer && this.form
1072
- ? renderer(this.form, { labelPosition: this.labelPosition, defaultLanguage: this.defaultLanguage, displayedLanguage: this.displayedLanguage }, this.formValuesContainer, (_b = this.translationProvider) !== null && _b !== void 0 ? _b : (translationTables ? (0, languages_1.defaultTranslationProvider)(translationTables) : undefined), () => [], this.codesProvider, this.optionsProvider, this.readonly)
1076
+ ? renderer(this.form, { labelPosition: this.labelPosition, language: this.language }, this.formValuesContainer, (_b = this.translationProvider) !== null && _b !== void 0 ? _b : (translationTables ? (0, languages_1.defaultTranslationProvider)(translationTables) : undefined), this.ownersProvider, this.codesProvider, this.optionsProvider, this.readonly, this.displayMetadata)
1073
1077
  : this.form
1074
1078
  ? (0, lit_1.html) `<p>unknown renderer</p>`
1075
1079
  : (0, lit_1.html) `<p>missing form</p>`;
1076
1080
  }
1077
1081
  }
1082
+ exports.IcureForm = IcureForm;
1078
1083
  __decorate([
1079
1084
  (0, decorators_js_1.property)(),
1080
1085
  __metadata("design:type", model_1.Form)
1081
1086
  ], IcureForm.prototype, "form", void 0);
1082
- __decorate([
1083
- (0, decorators_js_1.property)(),
1084
- __metadata("design:type", Object)
1085
- ], IcureForm.prototype, "skin", void 0);
1086
1087
  __decorate([
1087
1088
  (0, decorators_js_1.property)(),
1088
1089
  __metadata("design:type", Object)
@@ -1098,15 +1099,15 @@ __decorate([
1098
1099
  __decorate([
1099
1100
  (0, decorators_js_1.property)(),
1100
1101
  __metadata("design:type", Object)
1101
- ], IcureForm.prototype, "labelPosition", void 0);
1102
+ ], IcureForm.prototype, "displayMetadata", void 0);
1102
1103
  __decorate([
1103
1104
  (0, decorators_js_1.property)(),
1104
- __metadata("design:type", String)
1105
- ], IcureForm.prototype, "defaultLanguage", void 0);
1105
+ __metadata("design:type", Object)
1106
+ ], IcureForm.prototype, "labelPosition", void 0);
1106
1107
  __decorate([
1107
1108
  (0, decorators_js_1.property)(),
1108
1109
  __metadata("design:type", String)
1109
- ], IcureForm.prototype, "displayedLanguage", void 0);
1110
+ ], IcureForm.prototype, "language", void 0);
1110
1111
  __decorate([
1111
1112
  (0, decorators_js_1.property)(),
1112
1113
  __metadata("design:type", Object)
@@ -1115,6 +1116,10 @@ __decorate([
1115
1116
  (0, decorators_js_1.property)(),
1116
1117
  __metadata("design:type", Function)
1117
1118
  ], IcureForm.prototype, "translationProvider", void 0);
1119
+ __decorate([
1120
+ (0, decorators_js_1.property)(),
1121
+ __metadata("design:type", Function)
1122
+ ], IcureForm.prototype, "ownersProvider", void 0);
1118
1123
  __decorate([
1119
1124
  (0, decorators_js_1.property)(),
1120
1125
  __metadata("design:type", Function)
@@ -1123,5 +1128,4 @@ __decorate([
1123
1128
  (0, decorators_js_1.property)(),
1124
1129
  __metadata("design:type", Function)
1125
1130
  ], IcureForm.prototype, "optionsProvider", void 0);
1126
- exports.IcureForm = IcureForm;
1127
1131
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-form/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Import the LitElement base class and html helper function\nimport { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { Renderer } from './renderer'\nimport { render as renderAsForm } from './renderer/form/form'\nimport { Code, FieldMetadata, FieldValue, Form } from '../model'\nimport { FormValuesContainer } from '../../generic'\n\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.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 { defaultTranslationProvider } from '../../utils/languages'\n\n/**\n * Form element\n */\nexport class IcureForm extends LitElement {\n\t@property() form?: Form\n\t@property() skin = 'material'\n\t@property() renderer = 'form'\n\t@property() visible = true\n\t@property() readonly = false\n\t@property() labelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float' | undefined = undefined\n\t@property() defaultLanguage?: string\n\t@property() displayedLanguage?: string\n\t@property() formValuesContainer?: FormValuesContainer<FieldValue, FieldMetadata> = undefined\n\t@property() translationProvider?: (language: string, text: string) => string\n\t@property() codesProvider: (codifications: string[], searchTerm: string) => Promise<Code[]> = () => Promise.resolve([])\n\t@property() optionsProvider: (language: string, codifications: string[], searchTerm: string) => Promise<Code[]> = () => Promise.resolve([])\n\n\tconstructor() {\n\t\tsuper()\n\t}\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tconst renderer: Renderer | undefined = this.renderer === 'form' ? renderAsForm : undefined\n\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tconst translationTables = this.form?.translations\n\n\t\treturn renderer && this.form\n\t\t\t? renderer(\n\t\t\t\t\tthis.form,\n\t\t\t\t\t{ labelPosition: this.labelPosition, defaultLanguage: this.defaultLanguage, displayedLanguage: this.displayedLanguage },\n\t\t\t\t\tthis.formValuesContainer,\n\t\t\t\t\tthis.translationProvider ?? (translationTables ? defaultTranslationProvider(translationTables) : undefined),\n\t\t\t\t\t() => [],\n\t\t\t\t\tthis.codesProvider,\n\t\t\t\t\tthis.optionsProvider,\n\t\t\t\t\tthis.readonly,\n\t\t\t )\n\t\t\t: this.form\n\t\t\t? html`<p>unknown renderer</p>`\n\t\t\t: html`<p>missing form</p>`\n\t}\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tmp/components/icure-form/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Import the LitElement base class and html helper function\nimport { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { Renderer } from './renderer'\nimport { render as renderAsForm } from './renderer/form/form'\nimport { FieldMetadata, FieldValue, Form } from '../model'\nimport { FormValuesContainer, Suggestion } from '../../generic'\n\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 { defaultTranslationProvider } from '../../utils/languages'\n\n/**\n * Form element\n */\nexport class IcureForm extends LitElement {\n\t@property() form?: Form\n\t@property() renderer = 'form'\n\t@property() visible = true\n\t@property() readonly = false\n\t@property() displayMetadata = false\n\t@property() labelPosition?: 'top' | 'left' | 'right' | 'bottom' | 'float' | undefined = undefined\n\t@property() language?: string\n\t@property() formValuesContainer?: FormValuesContainer<FieldValue, FieldMetadata> = undefined\n\t@property() translationProvider?: (language: string, text: string) => string\n\t@property() ownersProvider?: (terms: string[], ids?: string[], specialties?: string[]) => Promise<Suggestion[]>\n\t@property() codesProvider?: (codifications: string[], terms: string[]) => Promise<Suggestion[]>\n\t@property() optionsProvider?: (language: string, codifications: string[], terms?: string[]) => Promise<Suggestion[]>\n\n\tconstructor() {\n\t\tsuper()\n\t}\n\n\tstatic get styles() {\n\t\treturn [baseCss]\n\t}\n\n\trender() {\n\t\tconst renderer: Renderer | undefined = this.renderer === 'form' ? renderAsForm : undefined\n\n\t\tconsole.log('Render metadata', this.displayMetadata)\n\n\t\tif (!this.visible) {\n\t\t\treturn html``\n\t\t}\n\t\tconst translationTables = this.form?.translations\n\n\t\treturn renderer && this.form\n\t\t\t? renderer(\n\t\t\t\t\tthis.form,\n\t\t\t\t\t{ labelPosition: this.labelPosition, language: this.language },\n\t\t\t\t\tthis.formValuesContainer,\n\t\t\t\t\tthis.translationProvider ?? (translationTables ? defaultTranslationProvider(translationTables) : undefined),\n\t\t\t\t\tthis.ownersProvider,\n\t\t\t\t\tthis.codesProvider,\n\t\t\t\t\tthis.optionsProvider,\n\t\t\t\t\tthis.readonly,\n\t\t\t\t\tthis.displayMetadata,\n\t\t\t )\n\t\t\t: this.form\n\t\t\t? html`<p>unknown renderer</p>`\n\t\t\t: html`<p>missing form</p>`\n\t}\n}\n"]}
@@ -91,6 +91,7 @@ class FormSelectionButton extends lit_1.LitElement {
91
91
  </div>`;
92
92
  }
93
93
  }
94
+ exports.FormSelectionButton = FormSelectionButton;
94
95
  __decorate([
95
96
  (0, decorators_js_1.property)(),
96
97
  __metadata("design:type", Array)
@@ -103,6 +104,5 @@ __decorate([
103
104
  (0, decorators_js_1.state)(),
104
105
  __metadata("design:type", Object)
105
106
  ], FormSelectionButton.prototype, "displayMenu", void 0);
106
- exports.FormSelectionButton = FormSelectionButton;
107
107
  customElements.define('form-selection-button', FormSelectionButton);
108
108
  //# sourceMappingURL=form-selection-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-selection-button.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/renderer/form/form-selection-button.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoD;AACpD,qDAAmD;AAGnD,MAAa,mBAAoB,SAAQ,gBAAU;IAAnD;;QAEa,cAAS,GAAwC,GAAG,EAAE;YACjE,gBAAgB;QACjB,CAAC,CAAA;QACgB,gBAAW,GAAG,KAAK,CAAA;IAyErC,CAAC;IAxEA,MAAM,KAAK,MAAM;QAChB,OAAO,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDT,CAAA;IACF,CAAC;IACD,MAAM;;QACL,OAAO,IAAA,UAAI,EAAA;iCACoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3D,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAA,UAAI,EAAA;QACF,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CACd,IAAA,UAAI,EAAA;;kBAEM,GAAG,EAAE;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACzB,CAAC;;WAEC,EAAE;kBACK,CACX;aACM;YACT,CAAC,CAAC,aAAO;SACJ,CAAA;IACR,CAAC;CACD;AA7EA;IAAC,IAAA,wBAAQ,GAAE;;kDAAyB;AACpC;IAAC,IAAA,wBAAQ,GAAE;;sDAEV;AACD;IAAC,IAAA,qBAAK,GAAE;;wDAA4B;AALrC,kDA8EC;AACD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA","sourcesContent":["import { css, html, LitElement, nothing } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { Form } from '../../../model'\n\nexport class FormSelectionButton extends LitElement {\n\t@property() forms?: [string, Form][]\n\t@property() formAdded: (title: string, form: Form) => void = () => {\n\t\t/* Do nothing */\n\t}\n\t@state() private displayMenu = false\n\tstatic get styles() {\n\t\treturn css`\n\t\t\t.options-container {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t.options {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 30px;\n\t\t\t\tright: 0;\n\t\t\t\tz-index: 2;\n\t\t\t\tbackground: #fff;\n\t\t\t\tbox-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n\t\t\t\twidth: auto;\n\t\t\t\tmin-width: 100%;\n\t\t\t\toverflow-y: auto;\n\t\t\t\tmax-height: 280px;\n\t\t\t}\n\n\t\t\t.option {\n\t\t\t\theight: 28px;\n\t\t\t\tmin-height: 28px;\n\t\t\t\twidth: 100%;\n\t\t\t\tbackground: transparent;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: #545454;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-flow: row nowrap;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tborder: none;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow-x: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tpadding: 4px 8px;\n\t\t\t\t-webkit-user-select: none; /* Safari */\n\t\t\t\t-ms-user-select: none; /* IE 10 and IE 11 */\n\t\t\t\tuser-select: none; /* Standard syntax */\n\t\t\t}\n\n\t\t\t.option:hover {\n\t\t\t\tcolor: #656565;\n\t\t\t\tbackground-color: #ededed;\n\t\t\t}\n\t\t`\n\t}\n\trender() {\n\t\treturn html`<div class=\"options-container\">\n\t\t\t<button class=\"btn\" @click=\"${() => (this.displayMenu = true)}\">+</button>\n\t\t\t${this.displayMenu\n\t\t\t\t? html`<div class=\"options\">\n\t\t\t\t\t\t${this.forms?.map(\n\t\t\t\t\t\t\t([id, form]) =>\n\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\tclass=\"option\"\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.formAdded(id, form)\n\t\t\t\t\t\t\t\t\t\tthis.displayMenu = false\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${id}\n\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t)}\n\t\t\t\t </div>`\n\t\t\t\t: nothing}\n\t\t</div>`\n\t}\n}\ncustomElements.define('form-selection-button', FormSelectionButton)\n"]}
1
+ {"version":3,"file":"form-selection-button.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/renderer/form/form-selection-button.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoD;AACpD,qDAAmD;AAGnD,MAAa,mBAAoB,SAAQ,gBAAU;IAAnD;;QAEa,cAAS,GAAwC,GAAG,EAAE;YACjE,gBAAgB;QACjB,CAAC,CAAA;QACgB,gBAAW,GAAG,KAAK,CAAA;IAyErC,CAAC;IAxEA,MAAM,KAAK,MAAM;QAChB,OAAO,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDT,CAAA;IACF,CAAC;IACD,MAAM;;QACL,OAAO,IAAA,UAAI,EAAA;iCACoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3D,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAA,UAAI,EAAA;QACF,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CACd,IAAA,UAAI,EAAA;;kBAEM,GAAG,EAAE;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACzB,CAAC;;WAEC,EAAE;kBACK,CACX;aACM;YACT,CAAC,CAAC,aAAO;SACJ,CAAA;IACR,CAAC;CACD;AA9ED,kDA8EC;AA7EY;IAAX,IAAA,wBAAQ,GAAE;;kDAAyB;AACxB;IAAX,IAAA,wBAAQ,GAAE;;sDAEV;AACgB;IAAhB,IAAA,qBAAK,GAAE;;wDAA4B;AA0ErC,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA","sourcesContent":["import { css, html, LitElement, nothing } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { Form } from '../../../model'\n\nexport class FormSelectionButton extends LitElement {\n\t@property() forms?: [string, Form][]\n\t@property() formAdded: (title: string, form: Form) => void = () => {\n\t\t/* Do nothing */\n\t}\n\t@state() private displayMenu = false\n\tstatic get styles() {\n\t\treturn css`\n\t\t\t.options-container {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t.options {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 30px;\n\t\t\t\tright: 0;\n\t\t\t\tz-index: 2;\n\t\t\t\tbackground: #fff;\n\t\t\t\tbox-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);\n\t\t\t\twidth: auto;\n\t\t\t\tmin-width: 100%;\n\t\t\t\toverflow-y: auto;\n\t\t\t\tmax-height: 280px;\n\t\t\t}\n\n\t\t\t.option {\n\t\t\t\theight: 28px;\n\t\t\t\tmin-height: 28px;\n\t\t\t\twidth: 100%;\n\t\t\t\tbackground: transparent;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: #545454;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-flow: row nowrap;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tborder: none;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow-x: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tpadding: 4px 8px;\n\t\t\t\t-webkit-user-select: none; /* Safari */\n\t\t\t\t-ms-user-select: none; /* IE 10 and IE 11 */\n\t\t\t\tuser-select: none; /* Standard syntax */\n\t\t\t}\n\n\t\t\t.option:hover {\n\t\t\t\tcolor: #656565;\n\t\t\t\tbackground-color: #ededed;\n\t\t\t}\n\t\t`\n\t}\n\trender() {\n\t\treturn html`<div class=\"options-container\">\n\t\t\t<button class=\"btn\" @click=\"${() => (this.displayMenu = true)}\">+</button>\n\t\t\t${this.displayMenu\n\t\t\t\t? html`<div class=\"options\">\n\t\t\t\t\t\t${this.forms?.map(\n\t\t\t\t\t\t\t([id, form]) =>\n\t\t\t\t\t\t\t\thtml`<button\n\t\t\t\t\t\t\t\t\tclass=\"option\"\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.formAdded(id, form)\n\t\t\t\t\t\t\t\t\t\tthis.displayMenu = false\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${id}\n\t\t\t\t\t\t\t\t</button>`,\n\t\t\t\t\t\t)}\n\t\t\t\t </div>`\n\t\t\t\t: nothing}\n\t\t</div>`\n\t}\n}\ncustomElements.define('form-selection-button', FormSelectionButton)\n"]}
@@ -12,26 +12,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.render = void 0;
13
13
  const lit_1 = require("lit");
14
14
  const fields_values_provider_1 = require("../../../../utils/fields-values-provider");
15
- const icure_utils_1 = require("../../../../utils/icure-utils");
16
15
  const languages_1 = require("../../../../utils/languages");
17
16
  const utils_1 = require("../../../common/utils");
18
17
  const code_utils_1 = require("../../../../utils/code-utils");
19
18
  require("./form-selection-button");
20
- const render = (form, props, formsValueContainer, translationProvider, ownersProvider = () => [], codesProvider = () => Promise.resolve([]), optionsProvider, readonly) => {
19
+ const dates_1 = require("../../../../utils/dates");
20
+ const render = (form, props, formsValueContainer, translationProvider, ownersProvider = () => __awaiter(void 0, void 0, void 0, function* () { return []; }), codesProvider = () => __awaiter(void 0, void 0, void 0, function* () { return []; }), optionsProvider, readonly, displayMetadata) => {
21
21
  const composedOptionsProvider = optionsProvider && form.codifications
22
- ? (language, codifications, searchTerms) => __awaiter(void 0, void 0, void 0, function* () {
22
+ ? (language, codifications, terms) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  var _a, _b, _c;
24
- const originalOptions = optionsProvider ? yield optionsProvider(language, codifications, searchTerms) : [];
25
- return originalOptions.concat((_c = (_b = (_a = form.codifications) === null || _a === void 0 ? void 0 : _a.filter((c) => codifications.includes(c.type))) === null || _b === void 0 ? void 0 : _b.flatMap((c) => c.codes.filter((c) => !searchTerms ||
26
- searchTerms
27
- .split(/\s+/)
28
- .map((st) => st.toLowerCase())
29
- .every((st) => c.label[language].toLowerCase().includes(st))))) !== null && _c !== void 0 ? _c : []);
24
+ const originalOptions = optionsProvider ? yield optionsProvider(language, codifications, terms) : [];
25
+ return originalOptions.concat((_c = (_b = (_a = form.codifications) === null || _a === void 0 ? void 0 : _a.filter((c) => codifications.includes(c.type))) === null || _b === void 0 ? void 0 : _b.flatMap((c) => c.codes
26
+ .filter((c) => (terms !== null && terms !== void 0 ? terms : []).map((st) => st.toLowerCase()).every((st) => c.label[language].toLowerCase().includes(st)))
27
+ .map((c) => ({ id: c.id, label: c.label, text: c.label[language], terms: terms !== null && terms !== void 0 ? terms : [] })))) !== null && _c !== void 0 ? _c : []);
30
28
  })
31
29
  : optionsProvider
32
- ? (language, codifications, searchTerms, sortOptions) => {
30
+ ? (language, codifications, terms, sortOptions) => {
33
31
  var _a;
34
- return (_a = optionsProvider === null || optionsProvider === void 0 ? void 0 : optionsProvider(language, codifications, searchTerms).then((codes) => (0, code_utils_1.sortCodes)(codes, language, sortOptions))) !== null && _a !== void 0 ? _a : Promise.resolve([]);
32
+ return (_a = optionsProvider === null || optionsProvider === void 0 ? void 0 : optionsProvider(language, codifications, terms).then((codes) => (0, code_utils_1.sortCodes)(codes, language, sortOptions))) !== null && _a !== void 0 ? _a : Promise.resolve([]);
35
33
  }
36
34
  : undefined;
37
35
  const h = function (level, content) {
@@ -72,7 +70,7 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
72
70
  return (childForm &&
73
71
  (0, lit_1.html) `
74
72
  <div class="container">
75
- ${(0, exports.render)(childForm, props, child, translationProvider, ownersProvider, codesProvider, optionsProvider)}
73
+ ${(0, exports.render)(childForm, props, child, translationProvider, ownersProvider, codesProvider, optionsProvider, readonly, displayMetadata)}
76
74
  <button @click="${() => { var _a; return (_a = formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.removeChild) === null || _a === void 0 ? void 0 : _a.call(formsValueContainer, child); }}" class="float-right-btn bottom">-</button>
77
75
  <hr />
78
76
  </div>
@@ -81,76 +79,79 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
81
79
  </div>`;
82
80
  }
83
81
  function renderTextField(fgSpan, fgRowSpan, fg) {
84
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
82
+ var _a, _b, _c, _d, _e, _f, _g, _h;
85
83
  return (0, lit_1.html) `<icure-form-text-field
86
84
  class="icure-form-field"
87
85
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
88
86
  label="${fg.field}"
89
87
  value="${fg.value}"
90
88
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
89
+ .displayMetadata="${displayMetadata}"
91
90
  .multiline="${fg.multiline || false}"
92
91
  .lines=${fgRowSpan}
93
- .defaultLanguage="${props.defaultLanguage}"
94
- .displayedLanguage="${props.displayedLanguage}"
92
+ .defaultLanguage="${props.language}"
95
93
  .linksProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.linksProvider}
96
94
  .suggestionProvider=${(_c = fg.options) === null || _c === void 0 ? void 0 : _c.suggestionProvider}
97
- .ownersProvider=${(_d = fg.options) === null || _d === void 0 ? void 0 : _d.ownersProvider}
95
+ .ownersProvider=${ownersProvider}
98
96
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
99
- .codeColorProvider=${(_e = fg.options) === null || _e === void 0 ? void 0 : _e.codeColorProvider}
100
- .linkColorProvider=${(_f = fg.options) === null || _f === void 0 ? void 0 : _f.linkColorProvider}
101
- .codeContentProvider=${(_g = fg.options) === null || _g === void 0 ? void 0 : _g.codeContentProvider}
97
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
98
+ .codeColorProvider=${(_d = fg.options) === null || _d === void 0 ? void 0 : _d.codeColorProvider}
99
+ .linkColorProvider=${(_e = fg.options) === null || _e === void 0 ? void 0 : _e.linkColorProvider}
100
+ .codeContentProvider=${(_f = fg.options) === null || _f === void 0 ? void 0 : _f.codeContentProvider}
102
101
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
103
102
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
104
103
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
105
104
  .handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChanged)(formsValueContainer)}
106
105
  .styleOptions="${fg.styleOptions}"
107
- .readonly="${readonly || fg.readonly || (((_h = fg.computedProperties) === null || _h === void 0 ? void 0 : _h.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_j = fg.computedProperties) === null || _j === void 0 ? void 0 : _j.readonly)) : false)}"
106
+ .readonly="${readonly || fg.readonly || (((_g = fg.computedProperties) === null || _g === void 0 ? void 0 : _g.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_h = fg.computedProperties) === null || _h === void 0 ? void 0 : _h.readonly)) : false)}"
108
107
  ></icure-form-text-field>`;
109
108
  }
110
109
  function renderTokenField(fgSpan, fgRowSpan, fg) {
111
- var _a, _b, _c, _d, _e;
110
+ var _a, _b, _c, _d;
112
111
  return (0, lit_1.html) `<icure-form-token-field
113
112
  class="icure-form-field"
114
113
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
115
114
  label="${fg.field}"
116
115
  value="${fg.value}"
117
116
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
117
+ .displayMetadata="${displayMetadata}"
118
118
  .multiline="${fg.multiline || false}"
119
119
  .lines=${fgRowSpan}
120
- .defaultLanguage="${props.defaultLanguage}"
121
- .displayedLanguage="${props.displayedLanguage}"
120
+ .defaultLanguage="${props.language}"
122
121
  .suggestionProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.suggestionProvider}
123
- .ownersProvider=${(_c = fg.options) === null || _c === void 0 ? void 0 : _c.ownersProvider}
122
+ .ownersProvider=${ownersProvider}
124
123
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
124
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
125
125
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
126
126
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
127
127
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
128
128
  .handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChanged)(formsValueContainer)}
129
129
  .styleOptions="${fg.styleOptions}"
130
- .readonly="${readonly || fg.readonly || (((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_e = fg.computedProperties) === null || _e === void 0 ? void 0 : _e.readonly)) : false)}"
130
+ .readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly)) : false)}"
131
131
  ></icure-form-token-field>`;
132
132
  }
133
133
  function renderItemsListField(fgSpan, fgRowSpan, fg) {
134
- var _a, _b, _c, _d, _e;
134
+ var _a, _b, _c, _d;
135
135
  return (0, lit_1.html) `<icure-form-items-list-field
136
136
  class="icure-form-field"
137
137
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
138
138
  label="${fg.field}"
139
139
  value="${fg.value}"
140
140
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
141
+ .displayMetadata="${displayMetadata}"
141
142
  .multiline="${fg.multiline || false}"
142
143
  .lines=${fgRowSpan}
143
- .defaultLanguage="${props.defaultLanguage}"
144
- .displayedLanguage="${props.displayedLanguage}"
144
+ .defaultLanguage="${props.language}"
145
145
  .suggestionProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.suggestionProvider}
146
- .ownersProvider=${(_c = fg.options) === null || _c === void 0 ? void 0 : _c.ownersProvider}
146
+ .ownersProvider=${ownersProvider}
147
147
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
148
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
148
149
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
149
150
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
150
151
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
151
152
  .handleMetadataChanged=${(0, fields_values_provider_1.handleMetadataChanged)(formsValueContainer)}
152
153
  .styleOptions="${fg.styleOptions}"
153
- .readonly="${readonly || fg.readonly || (((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_e = fg.computedProperties) === null || _e === void 0 ? void 0 : _e.readonly)) : false)}"
154
+ .readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly)) : false)}"
154
155
  ></icure-form-items-list-field>`;
155
156
  }
156
157
  function renderMeasureField(fgSpan, fgRowSpan, fg) {
@@ -160,11 +161,12 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
160
161
  class="icure-form-field"
161
162
  label="${fg.field}"
162
163
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
164
+ .displayMetadata="${displayMetadata}"
163
165
  value="${fg.value}"
164
166
  unit="${fg.unit}"
165
- .defaultLanguage="${props.defaultLanguage}"
166
- .displayedLanguage="${props.displayedLanguage}"
167
+ .defaultLanguage="${props.language}"
167
168
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
169
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
168
170
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
169
171
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
170
172
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -180,10 +182,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
180
182
  class="icure-form-field"
181
183
  label="${fg.field}"
182
184
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
185
+ .displayMetadata="${displayMetadata}"
183
186
  value="${fg.value}"
184
- .defaultLanguage="${props.defaultLanguage}"
185
- .displayedLanguage="${props.displayedLanguage}"
187
+ .defaultLanguage="${props.language}"
186
188
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
189
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
187
190
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
188
191
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
189
192
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -199,10 +202,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
199
202
  class="icure-form-field"
200
203
  label="${fg.field}"
201
204
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
202
- value="${fg.now ? (0, icure_utils_1.currentDate)() : fg.value}"
203
- .defaultLanguage="${props.defaultLanguage}"
204
- .displayedLanguage="${props.displayedLanguage}"
205
+ .displayMetadata="${displayMetadata}"
206
+ value="${fg.now ? (0, dates_1.currentDate)() : fg.value}"
207
+ .defaultLanguage="${props.language}"
205
208
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
209
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
206
210
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
207
211
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
208
212
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -218,10 +222,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
218
222
  class="icure-form-field"
219
223
  label="${fg.field}"
220
224
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
221
- value="${fg.now ? (0, icure_utils_1.currentTime)() : fg.value}"
222
- .defaultLanguage="${props.defaultLanguage}"
223
- .displayedLanguage="${props.displayedLanguage}"
225
+ .displayMetadata="${displayMetadata}"
226
+ value="${fg.now ? (0, dates_1.currentTime)() : fg.value}"
227
+ .defaultLanguage="${props.language}"
224
228
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
229
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
225
230
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
226
231
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
227
232
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -237,10 +242,11 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
237
242
  class="icure-form-field"
238
243
  label="${fg.field}"
239
244
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
240
- value="${fg.now ? (0, icure_utils_1.currentDateTime)() : fg.value}"
241
- .defaultLanguage="${props.defaultLanguage}"
242
- .displayedLanguage="${props.displayedLanguage}"
245
+ .displayMetadata="${displayMetadata}"
246
+ value="${fg.now ? (0, dates_1.currentDateTime)() : fg.value}"
247
+ .defaultLanguage="${props.language}"
243
248
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
249
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
244
250
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
245
251
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
246
252
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -256,17 +262,17 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
256
262
  class="icure-form-field"
257
263
  .label=${fg.field}
258
264
  .displayedLabels=${(0, utils_1.getLabels)(fg)}
259
- .defaultLanguage="${props.defaultLanguage}"
260
- .displayedLanguage="${props.displayedLanguage}"
265
+ .defaultLanguage="${props.language}"
261
266
  .translate="${fg.translate}"
262
267
  .sortOptions="${fg.sortOptions}"
263
268
  value="${fg.value}"
264
269
  .codifications="${fg.codifications}"
265
270
  .optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
266
- ? (language, searchTerms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], searchTerms, fg.sortOptions); }
267
- : (language, searchTerms) => (0, code_utils_1.filerAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, searchTerms)}"
271
+ ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
272
+ : (language, terms) => (0, code_utils_1.filterAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, terms)}"
268
273
  .ownersProvider=${ownersProvider}
269
274
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
275
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
270
276
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
271
277
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
272
278
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -282,16 +288,17 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
282
288
  class="icure-form-field"
283
289
  .label="${fg.field}"
284
290
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
285
- .defaultLanguage="${props.defaultLanguage}"
286
- .displayedLanguage="${props.displayedLanguage}"
291
+ .displayMetadata="${displayMetadata}"
292
+ .defaultLanguage="${props.language}"
287
293
  .translate="${fg.translate}"
288
294
  .sortOptions="${fg.sortOptions}"
289
295
  .codifications="${fg.codifications}"
290
296
  .optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
291
- ? (language, searchTerms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], searchTerms, fg.sortOptions); }
292
- : (language, searchTerms) => (0, code_utils_1.filerAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, searchTerms)}"
297
+ ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
298
+ : (language, terms) => (0, code_utils_1.filterAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, terms)}"
293
299
  .ownersProvider=${ownersProvider}
294
300
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
301
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
295
302
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
296
303
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
297
304
  .handleValueChanged=${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}
@@ -307,17 +314,18 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
307
314
  class="icure-form-field"
308
315
  .label="${fg.field}"
309
316
  .displayedLabels="${(0, utils_1.getLabels)(fg)}"
310
- .defaultLanguage="${props.defaultLanguage}"
311
- .displayedLanguage="${props.displayedLanguage}"
317
+ .displayMetadata="${displayMetadata}"
318
+ .defaultLanguage="${props.language}"
312
319
  .translate="${fg.translate}"
313
320
  .sortOptions="${fg.sortOptions}"
314
321
  value="${fg.value}"
315
322
  .codifications="${fg.codifications}"
316
323
  .optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
317
- ? (language, searchTerms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], searchTerms, fg.sortOptions); }
318
- : (language, searchTerms) => (0, code_utils_1.filerAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, searchTerms)}"
324
+ ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
325
+ : (language, terms) => (0, code_utils_1.filterAndSortOptionsFromFieldDefinition)(language, fg, translationProvider, terms)}"
319
326
  .ownersProvider="${ownersProvider}"
320
327
  .translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}"
328
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
321
329
  .valueProvider="${formsValueContainer && (0, fields_values_provider_1.fieldValuesProvider)(formsValueContainer, fg)}"
322
330
  .metadataProvider="${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}"
323
331
  .handleValueChanged="${(0, fields_values_provider_1.handleValueChanged)(formsValueContainer, fg, props.defaultOwner)}"
@@ -333,7 +341,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
333
341
  class="icure-form-field"
334
342
  labelPosition=${props.labelPosition}
335
343
  label="${fg.field}"
336
- .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}
344
+ .translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && (0, languages_1.defaultTranslationProvider)(form.translations))}"
345
+ .validationErrorsProvider="${(0, fields_values_provider_1.getValidationError)(formsValueContainer, fg)}"
337
346
  .styleOptions="${fg.styleOptions}"
338
347
  .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
339
348
  ></icure-form-label>`;
@@ -347,8 +356,8 @@ const render = (form, props, formsValueContainer, translationProvider, ownersPro
347
356
  if (computedProperties['hidden']) {
348
357
  return (0, lit_1.html) ``;
349
358
  }
350
- const fgSpan = (_c = (_b = computedProperties['span']) !== null && _b !== void 0 ? _b : fg.span) !== null && _c !== void 0 ? _c : 6;
351
- const fgRowSpan = (_e = (_d = computedProperties['rowSpan']) !== null && _d !== void 0 ? _d : fg.rowSpan) !== null && _e !== void 0 ? _e : 1;
359
+ const fgSpan = ((_c = (_b = computedProperties['span']) !== null && _b !== void 0 ? _b : fg.span) !== null && _c !== void 0 ? _c : 6);
360
+ const fgRowSpan = ((_e = (_d = computedProperties['rowSpan']) !== null && _d !== void 0 ? _d : fg.rowSpan) !== null && _e !== void 0 ? _e : 1);
352
361
  if (fg.clazz === 'group' && ((_f = fg.fields) === null || _f === void 0 ? void 0 : _f.length)) {
353
362
  return renderGroup(fg.copy(Object.assign({}, computedProperties)), fgSpan, level);
354
363
  }