@icure/form 3.0.38 → 3.0.39

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 (81) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/components/common/field.d.ts +1 -0
  3. package/components/common/field.js +5 -0
  4. package/components/common/field.js.map +1 -1
  5. package/components/common/metadata-buttons-bar.js +4 -0
  6. package/components/common/metadata-buttons-bar.js.map +1 -1
  7. package/components/icure-button/index.js +4 -0
  8. package/components/icure-button/index.js.map +1 -1
  9. package/components/icure-button-group/index.js +4 -0
  10. package/components/icure-button-group/index.js.map +1 -1
  11. package/components/icure-date-picker/index.js +4 -0
  12. package/components/icure-date-picker/index.js.map +1 -1
  13. package/components/icure-dropdown-field/index.js +4 -0
  14. package/components/icure-dropdown-field/index.js.map +1 -1
  15. package/components/icure-form/fields/button-group/checkbox.d.ts +1 -0
  16. package/components/icure-form/fields/button-group/checkbox.js +39 -2
  17. package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
  18. package/components/icure-form/fields/button-group/radio-button.d.ts +1 -0
  19. package/components/icure-form/fields/button-group/radio-button.js +39 -2
  20. package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
  21. package/components/icure-form/fields/date-picker/date-picker.d.ts +1 -0
  22. package/components/icure-form/fields/date-picker/date-picker.js +54 -17
  23. package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
  24. package/components/icure-form/fields/date-picker/date-time-picker.d.ts +1 -0
  25. package/components/icure-form/fields/date-picker/date-time-picker.js +54 -17
  26. package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
  27. package/components/icure-form/fields/date-picker/time-picker.d.ts +1 -0
  28. package/components/icure-form/fields/date-picker/time-picker.js +54 -17
  29. package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
  30. package/components/icure-form/fields/dropdown/dropdown-field.d.ts +1 -0
  31. package/components/icure-form/fields/dropdown/dropdown-field.js +39 -2
  32. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  33. package/components/icure-form/fields/items-list-field/items-list-field.d.ts +1 -0
  34. package/components/icure-form/fields/items-list-field/items-list-field.js +55 -17
  35. package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
  36. package/components/icure-form/fields/measure-field/measure-field.d.ts +1 -0
  37. package/components/icure-form/fields/measure-field/measure-field.js +39 -2
  38. package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
  39. package/components/icure-form/fields/number-field/number-field.d.ts +1 -0
  40. package/components/icure-form/fields/number-field/number-field.js +55 -18
  41. package/components/icure-form/fields/number-field/number-field.js.map +1 -1
  42. package/components/icure-form/fields/text-field/text-field.d.ts +1 -0
  43. package/components/icure-form/fields/text-field/text-field.js +65 -28
  44. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  45. package/components/icure-form/fields/token-field/token-field.d.ts +1 -0
  46. package/components/icure-form/fields/token-field/token-field.js +55 -17
  47. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  48. package/components/icure-form/fields/utils/index.d.ts +1 -0
  49. package/components/icure-form/fields/utils/index.js +2 -0
  50. package/components/icure-form/fields/utils/index.js.map +1 -1
  51. package/components/icure-form/index.d.ts +1 -1
  52. package/components/icure-form/index.js +26 -5
  53. package/components/icure-form/index.js.map +1 -1
  54. package/components/icure-form/renderer/form/form-selection-button.js +4 -0
  55. package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
  56. package/components/icure-form/renderer/form/form.d.ts +7 -2
  57. package/components/icure-form/renderer/form/form.js +618 -454
  58. package/components/icure-form/renderer/form/form.js.map +1 -1
  59. package/components/icure-form/renderer/index.d.ts +1 -1
  60. package/components/icure-form/renderer/index.js.map +1 -1
  61. package/components/icure-label/index.js +4 -0
  62. package/components/icure-label/index.js.map +1 -1
  63. package/components/icure-text-field/index.js +10 -11
  64. package/components/icure-text-field/index.js.map +1 -1
  65. package/components/model/index.d.ts +15 -1
  66. package/components/model/index.js +13 -2
  67. package/components/model/index.js.map +1 -1
  68. package/generic/model.d.ts +6 -6
  69. package/generic/model.js.map +1 -1
  70. package/icure/form-values-container.d.ts +63 -42
  71. package/icure/form-values-container.js +180 -139
  72. package/icure/form-values-container.js.map +1 -1
  73. package/icure/icure-utils.js +30 -12
  74. package/icure/icure-utils.js.map +1 -1
  75. package/icure/model.d.ts +9 -2
  76. package/icure/model.js +7 -1
  77. package/icure/model.js.map +1 -1
  78. package/package.json +1 -1
  79. package/utils/code-utils.d.ts +3 -2
  80. package/utils/code-utils.js +5 -6
  81. package/utils/code-utils.js.map +1 -1
@@ -16,15 +16,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
16
16
  step((generator = generator.apply(thisArg, _arguments || [])).next());
17
17
  });
18
18
  };
19
- import { html } from 'lit';
19
+ import { html, nothing } from 'lit';
20
20
  import { Field } from '../../../common';
21
- import { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils';
21
+ import { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils';
22
22
  import { property } from 'lit/decorators.js';
23
+ // @ts-ignore
24
+ import { css } from 'lit';
25
+ const overlayCss = css `.overlay {
26
+ position: absolute;
27
+ height: 32px;
28
+ left: 2px;
29
+ right: 2px;
30
+ bottom: 8px;
31
+ background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ pointer-events: auto; /* Ensure the overlay captures click events */
36
+ z-index: 1000; /* Ensure the overlay is above other elements */
37
+ }
38
+
39
+ .spinner {
40
+ border: 3px solid rgba(0, 0, 0, 0.1);
41
+ border-radius: 50%;
42
+ border-top: 3px solid #3498db;
43
+ width: 20px;
44
+ height: 20px;
45
+ animation: spin 2s linear infinite;
46
+ }
47
+
48
+ @keyframes spin {
49
+ 0% {
50
+ transform: rotate(0deg);
51
+ }
52
+ 100% {
53
+ transform: rotate(360deg);
54
+ }
55
+ }`;
23
56
  export class CheckBox extends Field {
24
57
  constructor() {
25
58
  super(...arguments);
26
59
  this.optionsProvider = () => __awaiter(this, void 0, void 0, function* () { return []; });
27
60
  }
61
+ static get styles() {
62
+ return [overlayCss];
63
+ }
28
64
  renderSync() {
29
65
  var _a;
30
66
  const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
@@ -49,6 +85,7 @@ export class CheckBox extends Field {
49
85
  .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
50
86
  .styleOptions=${this.styleOptions}
51
87
  ></icure-button-group>
88
+ ${this.loading ? overlay() : nothing}
52
89
  `;
53
90
  });
54
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/button-group/checkbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,MAAM,OAAO,QAAS,SAAQ,KAAK;IAAnC;;QACa,oBAAe,GAA+D,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;IA2BzG,CAAC;IA1BS,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;;;kBAGI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;mBACd,IAAI,CAAC,SAAS;uBACV,IAAI,CAAC,cAAc;wBAClB,IAAI,CAAC,eAAe;4BAChB,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;qBACpE,IAAI,CAAC,YAAY;;IAElC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AA3BY;IAAX,QAAQ,EAAE;;iDAA6F","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { property } from 'lit/decorators.js'\nimport { Code } from '../../../model'\n\nexport class CheckBox extends Field {\n\t@property() optionsProvider: (language: string, searchTerm?: string) => Promise<Code[]> = async () => []\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`\n\t\t\t\t<icure-button-group\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\t.translate=\"${this.translate}\"\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.optionsProvider=${this.optionsProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t\t></icure-button-group>\n\t\t\t`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/button-group/checkbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEF,MAAM,OAAO,QAAS,SAAQ,KAAK;IAAnC;;QACa,oBAAe,GAA+D,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;IAgCzG,CAAC;IA/BA,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAEQ,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;;;kBAGI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;mBACd,IAAI,CAAC,SAAS;uBACV,IAAI,CAAC,cAAc;wBAClB,IAAI,CAAC,eAAe;4BAChB,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;qBACpE,IAAI,CAAC,YAAY;;MAEhC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;IACpC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAhCY;IAAX,QAAQ,EAAE;;iDAA6F","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils'\nimport { property } from 'lit/decorators.js'\nimport { Code } from '../../../model'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst overlayCss = css`.overlay {\n position: absolute;\n height: 32px;\n left: 2px;\n right: 2px;\n bottom: 8px;\n background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: auto; /* Ensure the overlay captures click events */\n z-index: 1000; /* Ensure the overlay is above other elements */\n}\n\n.spinner {\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top: 3px solid #3498db;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}` \n\nexport class CheckBox extends Field {\n\t@property() optionsProvider: (language: string, searchTerm?: string) => Promise<Code[]> = async () => []\n\tstatic get styles() {\n\t\treturn [overlayCss]\n\t}\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`\n\t\t\t\t<icure-button-group\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\t.translate=\"${this.translate}\"\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.optionsProvider=${this.optionsProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t\t></icure-button-group>\n\t\t\t\t${this.loading ? overlay() : nothing}\n\t\t\t`\n\t\t})\n\t}\n}\n"]}
@@ -3,5 +3,6 @@ import { Field } from '../../../common';
3
3
  import { Code } from '../../../model';
4
4
  export declare class RadioButton extends Field {
5
5
  optionsProvider: (language: string, searchTerm?: string) => Promise<Code[]>;
6
+ static get styles(): import("lit").CSSResult[];
6
7
  renderSync(): TemplateResult[];
7
8
  }
@@ -16,15 +16,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
16
16
  step((generator = generator.apply(thisArg, _arguments || [])).next());
17
17
  });
18
18
  };
19
- import { html } from 'lit';
19
+ import { html, nothing } from 'lit';
20
20
  import { Field } from '../../../common';
21
- import { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils';
21
+ import { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils';
22
22
  import { property } from 'lit/decorators.js';
23
+ // @ts-ignore
24
+ import { css } from 'lit';
25
+ const overlayCss = css `.overlay {
26
+ position: absolute;
27
+ height: 32px;
28
+ left: 2px;
29
+ right: 2px;
30
+ bottom: 8px;
31
+ background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ pointer-events: auto; /* Ensure the overlay captures click events */
36
+ z-index: 1000; /* Ensure the overlay is above other elements */
37
+ }
38
+
39
+ .spinner {
40
+ border: 3px solid rgba(0, 0, 0, 0.1);
41
+ border-radius: 50%;
42
+ border-top: 3px solid #3498db;
43
+ width: 20px;
44
+ height: 20px;
45
+ animation: spin 2s linear infinite;
46
+ }
47
+
48
+ @keyframes spin {
49
+ 0% {
50
+ transform: rotate(0deg);
51
+ }
52
+ 100% {
53
+ transform: rotate(360deg);
54
+ }
55
+ }`;
23
56
  export class RadioButton extends Field {
24
57
  constructor() {
25
58
  super(...arguments);
26
59
  this.optionsProvider = () => __awaiter(this, void 0, void 0, function* () { return []; });
27
60
  }
61
+ static get styles() {
62
+ return [overlayCss];
63
+ }
28
64
  renderSync() {
29
65
  var _a;
30
66
  const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
@@ -49,6 +85,7 @@ export class RadioButton extends Field {
49
85
  .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
50
86
  .styleOptions=${this.styleOptions}
51
87
  ></icure-button-group>
88
+ ${this.loading ? overlay() : nothing}
52
89
  `;
53
90
  });
54
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/button-group/radio-button.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,MAAM,OAAO,WAAY,SAAQ,KAAK;IAAtC;;QACa,oBAAe,GAA+D,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;IA2BzG,CAAC;IA1BS,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;;kBAEI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;;yBAEpB,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;mBACd,IAAI,CAAC,SAAS;wBACT,IAAI,CAAC,eAAe;uBACrB,IAAI,CAAC,cAAc;4BACd,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;qBACpE,IAAI,CAAC,YAAY;;IAElC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AA3BY;IAAX,QAAQ,EAAE;;oDAA6F","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { property } from 'lit/decorators.js'\nimport { Code } from '../../../model'\n\nexport class RadioButton extends Field {\n\t@property() optionsProvider: (language: string, searchTerm?: string) => Promise<Code[]> = async () => []\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`\n\t\t\t\t<icure-button-group\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\t.translate=\"${this.translate}\"\n\t\t\t\t\t.optionsProvider=${this.optionsProvider}\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t\t></icure-button-group>\n\t\t\t`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/button-group/radio-button.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEF,MAAM,OAAO,WAAY,SAAQ,KAAK;IAAtC;;QACa,oBAAe,GAA+D,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;IAgCzG,CAAC;IA/BA,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAEQ,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;;kBAEI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;;yBAEpB,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;mBACd,IAAI,CAAC,SAAS;wBACT,IAAI,CAAC,eAAe;uBACrB,IAAI,CAAC,cAAc;4BACd,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;qBACpE,IAAI,CAAC,YAAY;;MAEhC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;IACpC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAhCY;IAAX,QAAQ,EAAE;;oDAA6F","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils'\nimport { property } from 'lit/decorators.js'\nimport { Code } from '../../../model'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst overlayCss = css`.overlay {\n position: absolute;\n height: 32px;\n left: 2px;\n right: 2px;\n bottom: 8px;\n background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: auto; /* Ensure the overlay captures click events */\n z-index: 1000; /* Ensure the overlay is above other elements */\n}\n\n.spinner {\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top: 3px solid #3498db;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}` \n\nexport class RadioButton extends Field {\n\t@property() optionsProvider: (language: string, searchTerm?: string) => Promise<Code[]> = async () => []\n\tstatic get styles() {\n\t\treturn [overlayCss]\n\t}\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`\n\t\t\t\t<icure-button-group\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\t.translate=\"${this.translate}\"\n\t\t\t\t\t.optionsProvider=${this.optionsProvider}\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t\t.styleOptions=${this.styleOptions}\n\t\t\t\t></icure-button-group>\n\t\t\t\t${this.loading ? overlay() : nothing}\n\t\t\t`\n\t\t})\n\t}\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { TemplateResult } from 'lit';
2
2
  import { Field } from '../../../common';
3
3
  export declare class DatePicker extends Field {
4
+ static get styles(): import("lit").CSSResult[];
4
5
  renderSync(): TemplateResult[];
5
6
  }
@@ -1,27 +1,64 @@
1
- import { html } from 'lit';
2
- import { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils';
1
+ import { html, nothing } from 'lit';
2
+ import { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils';
3
3
  import { Field } from '../../../common';
4
+ // @ts-ignore
5
+ import { css } from 'lit';
6
+ const overlayCss = css `.overlay {
7
+ position: absolute;
8
+ height: 32px;
9
+ left: 2px;
10
+ right: 2px;
11
+ bottom: 8px;
12
+ background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
13
+ display: flex;
14
+ justify-content: center;
15
+ align-items: center;
16
+ pointer-events: auto; /* Ensure the overlay captures click events */
17
+ z-index: 1000; /* Ensure the overlay is above other elements */
18
+ }
19
+
20
+ .spinner {
21
+ border: 3px solid rgba(0, 0, 0, 0.1);
22
+ border-radius: 50%;
23
+ border-top: 3px solid #3498db;
24
+ width: 20px;
25
+ height: 20px;
26
+ animation: spin 2s linear infinite;
27
+ }
28
+
29
+ @keyframes spin {
30
+ 0% {
31
+ transform: rotate(0deg);
32
+ }
33
+ 100% {
34
+ transform: rotate(360deg);
35
+ }
36
+ }`;
4
37
  export class DatePicker extends Field {
38
+ static get styles() {
39
+ return [overlayCss];
40
+ }
5
41
  renderSync() {
6
42
  var _a;
7
43
  const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
8
44
  return (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {
9
45
  return html `<icure-date-picker-field
10
- .readonly="${this.readonly}"
11
- .displayMetadata="${this.displayMetadata}"
12
- label="${this.label}"
13
- .displayedLabels="${this.displayedLabels}"
14
- .defaultLanguage="${this.defaultLanguage}"
15
- .languages="${this.languages}"
16
- schema="decimal"
17
- .ownersProvider=${this.ownersProvider}
18
- .translationProvider=${this.translationProvider}
19
- .valueProvider=${singleValueProvider(this.valueProvider, id)}
20
- .validationErrorsProvider=${this.validationErrorsProvider}
21
- .metadataProvider=${this.metadataProvider}
22
- .handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
23
- .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
24
- ></icure-date-picker-field>`;
46
+ .readonly="${this.readonly}"
47
+ .displayMetadata="${this.displayMetadata}"
48
+ label="${this.label}"
49
+ .displayedLabels="${this.displayedLabels}"
50
+ .defaultLanguage="${this.defaultLanguage}"
51
+ .languages="${this.languages}"
52
+ schema="decimal"
53
+ .ownersProvider=${this.ownersProvider}
54
+ .translationProvider=${this.translationProvider}
55
+ .valueProvider=${singleValueProvider(this.valueProvider, id)}
56
+ .validationErrorsProvider=${this.validationErrorsProvider}
57
+ .metadataProvider=${this.metadataProvider}
58
+ .handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
59
+ .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
60
+ ></icure-date-picker-field>
61
+ ${this.loading ? overlay() : nothing} `;
25
62
  });
26
63
  }
27
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/date-picker/date-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACrG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC3B,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;iBACG,IAAI,CAAC,QAAQ;wBACN,IAAI,CAAC,eAAe;aAC/B,IAAI,CAAC,KAAK;wBACC,IAAI,CAAC,eAAe;wBACpB,IAAI,CAAC,eAAe;kBAC1B,IAAI,CAAC,SAAS;;sBAEV,IAAI,CAAC,cAAc;2BACd,IAAI,CAAC,mBAAmB;qBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gCAChC,IAAI,CAAC,wBAAwB;wBACrC,IAAI,CAAC,gBAAgB;0BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;6BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;+BACzD,CAAA;QAC7B,CAAC,CAAC,CAAA;IACH,CAAC;CACD","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { Field } from '../../../common'\n\nexport class DatePicker extends Field {\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-date-picker-field\n\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\tschema=\"decimal\"\n\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t></icure-date-picker-field>`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/date-picker/date-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEF,MAAM,OAAO,UAAW,SAAQ,KAAK;IACpC,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAEQ,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;kBACI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;;uBAEV,IAAI,CAAC,cAAc;4BACd,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;;MAEnF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAA;QACzC,CAAC,CAAC,CAAA;IACH,CAAC;CACD","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils'\nimport { Field } from '../../../common'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst overlayCss = css`.overlay {\n position: absolute;\n height: 32px;\n left: 2px;\n right: 2px;\n bottom: 8px;\n background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: auto; /* Ensure the overlay captures click events */\n z-index: 1000; /* Ensure the overlay is above other elements */\n}\n\n.spinner {\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top: 3px solid #3498db;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}` \n\nexport class DatePicker extends Field {\n\tstatic get styles() {\n\t\treturn [overlayCss]\n\t}\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-date-picker-field\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\tschema=\"decimal\"\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t></icure-date-picker-field>\n\t\t\t\t${this.loading ? overlay() : nothing} `\n\t\t})\n\t}\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { TemplateResult } from 'lit';
2
2
  import { Field } from '../../../common';
3
3
  export declare class DateTimePicker extends Field {
4
+ static get styles(): import("lit").CSSResult[];
4
5
  renderSync(): TemplateResult[];
5
6
  }
@@ -1,27 +1,64 @@
1
- import { html } from 'lit';
2
- import { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils';
1
+ import { html, nothing } from 'lit';
2
+ import { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils';
3
3
  import { Field } from '../../../common';
4
+ // @ts-ignore
5
+ import { css } from 'lit';
6
+ const overlayCss = css `.overlay {
7
+ position: absolute;
8
+ height: 32px;
9
+ left: 2px;
10
+ right: 2px;
11
+ bottom: 8px;
12
+ background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
13
+ display: flex;
14
+ justify-content: center;
15
+ align-items: center;
16
+ pointer-events: auto; /* Ensure the overlay captures click events */
17
+ z-index: 1000; /* Ensure the overlay is above other elements */
18
+ }
19
+
20
+ .spinner {
21
+ border: 3px solid rgba(0, 0, 0, 0.1);
22
+ border-radius: 50%;
23
+ border-top: 3px solid #3498db;
24
+ width: 20px;
25
+ height: 20px;
26
+ animation: spin 2s linear infinite;
27
+ }
28
+
29
+ @keyframes spin {
30
+ 0% {
31
+ transform: rotate(0deg);
32
+ }
33
+ 100% {
34
+ transform: rotate(360deg);
35
+ }
36
+ }`;
4
37
  export class DateTimePicker extends Field {
38
+ static get styles() {
39
+ return [overlayCss];
40
+ }
5
41
  renderSync() {
6
42
  var _a;
7
43
  const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
8
44
  return (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {
9
45
  return html `<icure-text-field
10
- .readonly="${this.readonly}"
11
- .displayMetadata="${this.displayMetadata}"
12
- label="${this.label}"
13
- .displayedLabels="${this.displayedLabels}"
14
- .defaultLanguage="${this.defaultLanguage}"
15
- .languages="${this.languages}"
16
- schema="date-time"
17
- .ownersProvider=${this.ownersProvider}
18
- .translationProvider=${this.translationProvider}
19
- .valueProvider=${singleValueProvider(this.valueProvider, id)}
20
- .validationErrorsProvider=${this.validationErrorsProvider}
21
- .metadataProvider=${this.metadataProvider}
22
- .handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
23
- .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
24
- ></icure-text-field>`;
46
+ .readonly="${this.readonly}"
47
+ .displayMetadata="${this.displayMetadata}"
48
+ label="${this.label}"
49
+ .displayedLabels="${this.displayedLabels}"
50
+ .defaultLanguage="${this.defaultLanguage}"
51
+ .languages="${this.languages}"
52
+ schema="date-time"
53
+ .ownersProvider=${this.ownersProvider}
54
+ .translationProvider=${this.translationProvider}
55
+ .valueProvider=${singleValueProvider(this.valueProvider, id)}
56
+ .validationErrorsProvider=${this.validationErrorsProvider}
57
+ .metadataProvider=${this.metadataProvider}
58
+ .handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
59
+ .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
60
+ ></icure-text-field>
61
+ ${this.loading ? overlay() : nothing} `;
25
62
  });
26
63
  }
27
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-picker.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/date-picker/date-time-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAErG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC/B,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;iBACG,IAAI,CAAC,QAAQ;wBACN,IAAI,CAAC,eAAe;aAC/B,IAAI,CAAC,KAAK;wBACC,IAAI,CAAC,eAAe;wBACpB,IAAI,CAAC,eAAe;kBAC1B,IAAI,CAAC,SAAS;;sBAEV,IAAI,CAAC,cAAc;2BACd,IAAI,CAAC,mBAAmB;qBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gCAChC,IAAI,CAAC,wBAAwB;wBACrC,IAAI,CAAC,gBAAgB;0BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;6BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;wBAChE,CAAA;QACtB,CAAC,CAAC,CAAA;IACH,CAAC;CACD","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\n\nimport { Field } from '../../../common'\n\nexport class DateTimePicker extends Field {\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\tschema=\"date-time\"\n\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t></icure-text-field>`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"date-time-picker.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/date-picker/date-time-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9G,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAEQ,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;kBACI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;;uBAEV,IAAI,CAAC,cAAc;4BACd,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;;MAEnF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAA;QACzC,CAAC,CAAC,CAAA;IACH,CAAC;CACD","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils'\n\nimport { Field } from '../../../common'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst overlayCss = css`.overlay {\n position: absolute;\n height: 32px;\n left: 2px;\n right: 2px;\n bottom: 8px;\n background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: auto; /* Ensure the overlay captures click events */\n z-index: 1000; /* Ensure the overlay is above other elements */\n}\n\n.spinner {\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top: 3px solid #3498db;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}` \n\nexport class DateTimePicker extends Field {\n\tstatic get styles() {\n\t\treturn [overlayCss]\n\t}\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\tschema=\"date-time\"\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t></icure-text-field>\n\t\t\t\t${this.loading ? overlay() : nothing} `\n\t\t})\n\t}\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { TemplateResult } from 'lit';
2
2
  import { Field } from '../../../common';
3
3
  export declare class TimePicker extends Field {
4
+ static get styles(): import("lit").CSSResult[];
4
5
  renderSync(): TemplateResult[];
5
6
  }
@@ -1,27 +1,64 @@
1
- import { html } from 'lit';
2
- import { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils';
1
+ import { html, nothing } from 'lit';
2
+ import { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils';
3
3
  import { Field } from '../../../common';
4
+ // @ts-ignore
5
+ import { css } from 'lit';
6
+ const overlayCss = css `.overlay {
7
+ position: absolute;
8
+ height: 32px;
9
+ left: 2px;
10
+ right: 2px;
11
+ bottom: 8px;
12
+ background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
13
+ display: flex;
14
+ justify-content: center;
15
+ align-items: center;
16
+ pointer-events: auto; /* Ensure the overlay captures click events */
17
+ z-index: 1000; /* Ensure the overlay is above other elements */
18
+ }
19
+
20
+ .spinner {
21
+ border: 3px solid rgba(0, 0, 0, 0.1);
22
+ border-radius: 50%;
23
+ border-top: 3px solid #3498db;
24
+ width: 20px;
25
+ height: 20px;
26
+ animation: spin 2s linear infinite;
27
+ }
28
+
29
+ @keyframes spin {
30
+ 0% {
31
+ transform: rotate(0deg);
32
+ }
33
+ 100% {
34
+ transform: rotate(360deg);
35
+ }
36
+ }`;
4
37
  export class TimePicker extends Field {
38
+ static get styles() {
39
+ return [overlayCss];
40
+ }
5
41
  renderSync() {
6
42
  var _a;
7
43
  const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
8
44
  return (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {
9
45
  return html `<icure-text-field
10
- .readonly="${this.readonly}"
11
- .displayMetadata="${this.displayMetadata}"
12
- label="${this.label}"
13
- .displayedLabels="${this.displayedLabels}"
14
- .defaultLanguage="${this.defaultLanguage}"
15
- .languages="${this.languages}"
16
- schema="time"
17
- .ownersProvider=${this.ownersProvider}
18
- .translationProvider=${this.translationProvider}
19
- .valueProvider=${singleValueProvider(this.valueProvider, id)}
20
- .validationErrorsProvider=${this.validationErrorsProvider}
21
- .metadataProvider=${this.metadataProvider}
22
- .handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
23
- .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
24
- ></icure-text-field>`;
46
+ .readonly="${this.readonly}"
47
+ .displayMetadata="${this.displayMetadata}"
48
+ label="${this.label}"
49
+ .displayedLabels="${this.displayedLabels}"
50
+ .defaultLanguage="${this.defaultLanguage}"
51
+ .languages="${this.languages}"
52
+ schema="time"
53
+ .ownersProvider=${this.ownersProvider}
54
+ .translationProvider=${this.translationProvider}
55
+ .valueProvider=${singleValueProvider(this.valueProvider, id)}
56
+ .validationErrorsProvider=${this.validationErrorsProvider}
57
+ .metadataProvider=${this.metadataProvider}
58
+ .handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}
59
+ .handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}
60
+ ></icure-text-field>
61
+ ${this.loading ? overlay() : nothing} `;
25
62
  });
26
63
  }
27
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"time-picker.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/date-picker/time-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACrG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC3B,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;iBACG,IAAI,CAAC,QAAQ;wBACN,IAAI,CAAC,eAAe;aAC/B,IAAI,CAAC,KAAK;wBACC,IAAI,CAAC,eAAe;wBACpB,IAAI,CAAC,eAAe;kBAC1B,IAAI,CAAC,SAAS;;sBAEV,IAAI,CAAC,cAAc;2BACd,IAAI,CAAC,mBAAmB;qBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gCAChC,IAAI,CAAC,wBAAwB;wBACrC,IAAI,CAAC,gBAAgB;0BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;6BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;wBAChE,CAAA;QACtB,CAAC,CAAC,CAAA;IACH,CAAC;CACD","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { Field } from '../../../common'\n\nexport class TimePicker extends Field {\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\tschema=\"time\"\n\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t></icure-text-field>`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"time-picker.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/date-picker/time-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEF,MAAM,OAAO,UAAW,SAAQ,KAAK;IACpC,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAEQ,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;kBACI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;cAC/B,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;;uBAEV,IAAI,CAAC,cAAc;4BACd,IAAI,CAAC,mBAAmB;sBAC9B,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;2BACnB,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;;MAEnF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAA;QACzC,CAAC,CAAC,CAAA;IACH,CAAC;CACD","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils'\nimport { Field } from '../../../common'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst overlayCss = css`.overlay {\n position: absolute;\n height: 32px;\n left: 2px;\n right: 2px;\n bottom: 8px;\n background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: auto; /* Ensure the overlay captures click events */\n z-index: 1000; /* Ensure the overlay is above other elements */\n}\n\n.spinner {\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top: 3px solid #3498db;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}` \n\nexport class TimePicker extends Field {\n\tstatic get styles() {\n\t\treturn [overlayCss]\n\t}\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`<icure-text-field\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\tschema=\"time\"\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t></icure-text-field>\n\t\t\t\t${this.loading ? overlay() : nothing} `\n\t\t})\n\t}\n}\n"]}
@@ -3,5 +3,6 @@ import { Field } from '../../../common';
3
3
  import { Suggestion } from '../../../../generic';
4
4
  export declare class DropdownField extends Field {
5
5
  optionsProvider: (language: string, searchTerm?: string) => Promise<Suggestion[]>;
6
+ static get styles(): import("lit").CSSResult[];
6
7
  renderSync(): TemplateResult[];
7
8
  }
@@ -16,15 +16,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
16
16
  step((generator = generator.apply(thisArg, _arguments || [])).next());
17
17
  });
18
18
  };
19
- import { html } from 'lit';
19
+ import { html, nothing } from 'lit';
20
20
  import { property } from 'lit/decorators.js';
21
21
  import { Field } from '../../../common';
22
- import { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils';
22
+ import { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils';
23
+ // @ts-ignore
24
+ import { css } from 'lit';
25
+ const overlayCss = css `.overlay {
26
+ position: absolute;
27
+ height: 32px;
28
+ left: 2px;
29
+ right: 2px;
30
+ bottom: 8px;
31
+ background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ pointer-events: auto; /* Ensure the overlay captures click events */
36
+ z-index: 1000; /* Ensure the overlay is above other elements */
37
+ }
38
+
39
+ .spinner {
40
+ border: 3px solid rgba(0, 0, 0, 0.1);
41
+ border-radius: 50%;
42
+ border-top: 3px solid #3498db;
43
+ width: 20px;
44
+ height: 20px;
45
+ animation: spin 2s linear infinite;
46
+ }
47
+
48
+ @keyframes spin {
49
+ 0% {
50
+ transform: rotate(0deg);
51
+ }
52
+ 100% {
53
+ transform: rotate(360deg);
54
+ }
55
+ }`;
23
56
  export class DropdownField extends Field {
24
57
  constructor() {
25
58
  super(...arguments);
26
59
  this.optionsProvider = () => __awaiter(this, void 0, void 0, function* () { return []; });
27
60
  }
61
+ static get styles() {
62
+ return [overlayCss];
63
+ }
28
64
  renderSync() {
29
65
  var _a;
30
66
  const versionedValues = (_a = this.valueProvider) === null || _a === void 0 ? void 0 : _a.call(this);
@@ -47,6 +83,7 @@ export class DropdownField extends Field {
47
83
  .optionsProvider=${this.optionsProvider}
48
84
  .translationProvider=${this.translationProvider}
49
85
  ></icure-dropdown-field>
86
+ ${this.loading ? overlay() : nothing}
50
87
  `;
51
88
  });
52
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/dropdown/dropdown-field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGrG,MAAM,OAAO,aAAc,SAAQ,KAAK;IAAxC;;QACa,oBAAe,GAAqE,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;IA0B/G,CAAC;IAxBS,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;;kBAEI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;cACnB,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;sBACX,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;uBACvB,IAAI,CAAC,cAAc;2BACf,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;wBACjE,IAAI,CAAC,eAAe;4BAChB,IAAI,CAAC,mBAAmB;;IAEhD,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AA1BY;IAAX,QAAQ,EAAE;;sDAAmG","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, singleValueProvider } from '../utils'\nimport { Suggestion } from '../../../../generic'\n\nexport class DropdownField extends Field {\n\t@property() optionsProvider: (language: string, searchTerm?: string) => Promise<Suggestion[]> = async () => []\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`\n\t\t\t\t<icure-dropdown-field\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\t.translate=\"${this.translate}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t\t.optionsProvider=${this.optionsProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t></icure-dropdown-field>\n\t\t\t`\n\t\t})\n\t}\n}\n"]}
1
+ {"version":3,"file":"dropdown-field.js","sourceRoot":"","sources":["../../../../../tmp/components/icure-form/fields/dropdown/dropdown-field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9G,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEF,MAAM,OAAO,aAAc,SAAQ,KAAK;IAAxC;;QACa,oBAAe,GAAqE,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA,CAAA;IA+B/G,CAAC;IA7BA,MAAM,KAAK,MAAM;QAChB,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAEQ,UAAU;;QAClB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC9C,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvH,OAAO,IAAI,CAAA;;kBAEI,IAAI,CAAC,QAAQ;yBACN,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;cACnB,IAAI,CAAC,KAAK;yBACC,IAAI,CAAC,eAAe;yBACpB,IAAI,CAAC,eAAe;mBAC1B,IAAI,CAAC,SAAS;sBACX,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;iCAChC,IAAI,CAAC,wBAAwB;yBACrC,IAAI,CAAC,gBAAgB;uBACvB,IAAI,CAAC,cAAc;2BACf,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;8BAClD,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;wBACjE,IAAI,CAAC,eAAe;4BAChB,IAAI,CAAC,mBAAmB;;MAE9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;IACpC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AA/BY;IAAX,QAAQ,EAAE;;sDAAmG","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { Field } from '../../../common'\nimport { handleSingleMetadataChanged, handleSingleValueChanged, overlay, singleValueProvider } from '../utils'\nimport { Suggestion } from '../../../../generic'\n\n// @ts-ignore\nimport { css } from 'lit';\nconst overlayCss = css`.overlay {\n position: absolute;\n height: 32px;\n left: 2px;\n right: 2px;\n bottom: 8px;\n background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: auto; /* Ensure the overlay captures click events */\n z-index: 1000; /* Ensure the overlay is above other elements */\n}\n\n.spinner {\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top: 3px solid #3498db;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}` \n\nexport class DropdownField extends Field {\n\t@property() optionsProvider: (language: string, searchTerm?: string) => Promise<Suggestion[]> = async () => []\n\n\tstatic get styles() {\n\t\treturn [overlayCss]\n\t}\n\n\toverride renderSync(): TemplateResult[] {\n\t\tconst versionedValues = this.valueProvider?.()\n\t\treturn (versionedValues && Object.keys(versionedValues).length ? Object.keys(versionedValues) : [undefined]).map((id) => {\n\t\t\treturn html`\n\t\t\t\t<icure-dropdown-field\n\t\t\t\t\t.readonly=\"${this.readonly}\"\n\t\t\t\t\t.displayMetadata=\"${this.displayMetadata}\"\n\t\t\t\t\t.translate=\"${this.translate}\"\n\t\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t\t.displayedLabels=\"${this.displayedLabels}\"\n\t\t\t\t\t.defaultLanguage=\"${this.defaultLanguage}\"\n\t\t\t\t\t.languages=\"${this.languages}\"\n\t\t\t\t\t.valueProvider=${singleValueProvider(this.valueProvider, id)}\n\t\t\t\t\t.validationErrorsProvider=${this.validationErrorsProvider}\n\t\t\t\t\t.metadataProvider=${this.metadataProvider}\n\t\t\t\t\t.ownersProvider=${this.ownersProvider}\n\t\t\t\t\t.handleValueChanged=${handleSingleValueChanged(this.handleValueChanged, id)}\n\t\t\t\t\t.handleMetadataChanged=${handleSingleMetadataChanged(this.handleMetadataChanged, id)}\n\t\t\t\t\t.optionsProvider=${this.optionsProvider}\n\t\t\t\t\t.translationProvider=${this.translationProvider}\n\t\t\t\t></icure-dropdown-field>\n\t\t\t\t${this.loading ? overlay() : nothing}\n\t\t\t`\n\t\t})\n\t}\n}\n"]}
@@ -3,5 +3,6 @@ import { Field } from '../../../common';
3
3
  export declare class ItemsListField extends Field {
4
4
  multiline: boolean | string;
5
5
  lines: number;
6
+ static get styles(): import("lit").CSSResult[];
6
7
  renderSync(): TemplateResult;
7
8
  }