@icure/form 1.0.7 → 1.0.12

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 (154) hide show
  1. package/components/index.js +1 -0
  2. package/components/index.js.map +1 -0
  3. package/components/iqr-form/fields/datePicker.d.ts +5 -3
  4. package/components/iqr-form/fields/datePicker.js +27 -12
  5. package/components/iqr-form/fields/datePicker.js.map +1 -0
  6. package/components/iqr-form/fields/dateTimePicker.d.ts +5 -3
  7. package/components/iqr-form/fields/dateTimePicker.js +19 -12
  8. package/components/iqr-form/fields/dateTimePicker.js.map +1 -0
  9. package/components/iqr-form/fields/measureField.d.ts +3 -3
  10. package/components/iqr-form/fields/measureField.js +14 -12
  11. package/components/iqr-form/fields/measureField.js.map +1 -0
  12. package/components/iqr-form/fields/multipleChoice.d.ts +3 -3
  13. package/components/iqr-form/fields/multipleChoice.js +14 -12
  14. package/components/iqr-form/fields/multipleChoice.js.map +1 -0
  15. package/components/iqr-form/fields/numberField.d.ts +3 -3
  16. package/components/iqr-form/fields/numberField.js +14 -12
  17. package/components/iqr-form/fields/numberField.js.map +1 -0
  18. package/components/iqr-form/fields/textfield.js +80 -27
  19. package/components/iqr-form/fields/textfield.js.map +1 -0
  20. package/components/iqr-form/fields/timePicker.d.ts +5 -3
  21. package/components/iqr-form/fields/timePicker.js +19 -12
  22. package/components/iqr-form/fields/timePicker.js.map +1 -0
  23. package/components/iqr-form/index.js +28 -22
  24. package/components/iqr-form/index.js.map +1 -0
  25. package/components/iqr-form/legacy/Content.d.ts +28 -0
  26. package/components/iqr-form/legacy/Content.js +30 -0
  27. package/components/iqr-form/legacy/Content.js.map +1 -0
  28. package/components/iqr-form/legacy/Data.d.ts +14 -0
  29. package/components/iqr-form/legacy/Data.js +21 -0
  30. package/components/iqr-form/legacy/Data.js.map +1 -0
  31. package/components/iqr-form/legacy/Editor.d.ts +34 -0
  32. package/components/iqr-form/legacy/Editor.js +19 -0
  33. package/components/iqr-form/legacy/Editor.js.map +1 -0
  34. package/components/iqr-form/legacy/FormColumn.d.ts +18 -0
  35. package/components/iqr-form/legacy/FormColumn.js +10 -0
  36. package/components/iqr-form/legacy/FormColumn.js.map +1 -0
  37. package/components/iqr-form/legacy/FormDataOption.d.ts +16 -0
  38. package/components/iqr-form/legacy/FormDataOption.js +21 -0
  39. package/components/iqr-form/legacy/FormDataOption.js.map +1 -0
  40. package/components/iqr-form/legacy/FormLayout.d.ts +25 -0
  41. package/components/iqr-form/legacy/FormLayout.js +10 -0
  42. package/components/iqr-form/legacy/FormLayout.js.map +1 -0
  43. package/components/iqr-form/legacy/FormLayoutData.d.ts +42 -0
  44. package/components/iqr-form/legacy/FormLayoutData.js +10 -0
  45. package/components/iqr-form/legacy/FormLayoutData.js.map +1 -0
  46. package/components/iqr-form/legacy/FormPlanning.d.ts +22 -0
  47. package/components/iqr-form/legacy/FormPlanning.js +21 -0
  48. package/components/iqr-form/legacy/FormPlanning.js.map +1 -0
  49. package/components/iqr-form/legacy/FormSection.d.ts +19 -0
  50. package/components/iqr-form/legacy/FormSection.js +10 -0
  51. package/components/iqr-form/legacy/FormSection.js.map +1 -0
  52. package/components/iqr-form/legacy/Formula.d.ts +27 -0
  53. package/components/iqr-form/legacy/Formula.js +32 -0
  54. package/components/iqr-form/legacy/Formula.js.map +1 -0
  55. package/components/iqr-form/legacy/GuiCode.d.ts +16 -0
  56. package/components/iqr-form/legacy/GuiCode.js +21 -0
  57. package/components/iqr-form/legacy/GuiCode.js.map +1 -0
  58. package/components/iqr-form/legacy/GuiCodeType.d.ts +15 -0
  59. package/components/iqr-form/legacy/GuiCodeType.js +21 -0
  60. package/components/iqr-form/legacy/GuiCodeType.js.map +1 -0
  61. package/components/iqr-form/legacy/Suggest.d.ts +19 -0
  62. package/components/iqr-form/legacy/Suggest.js +21 -0
  63. package/components/iqr-form/legacy/Suggest.js.map +1 -0
  64. package/components/iqr-form/legacy/Tag.d.ts +16 -0
  65. package/components/iqr-form/legacy/Tag.js +21 -0
  66. package/components/iqr-form/legacy/Tag.js.map +1 -0
  67. package/components/iqr-form/model/index.d.ts +36 -18
  68. package/components/iqr-form/model/index.js +9 -3
  69. package/components/iqr-form/model/index.js.map +1 -0
  70. package/components/iqr-form/renderer/cards.d.ts +1 -1
  71. package/components/iqr-form/renderer/cards.js +40 -29
  72. package/components/iqr-form/renderer/cards.js.map +1 -0
  73. package/components/iqr-form/renderer/form.d.ts +1 -1
  74. package/components/iqr-form/renderer/form.js +80 -32
  75. package/components/iqr-form/renderer/form.js.map +1 -0
  76. package/components/iqr-form/renderer/index.d.ts +6 -3
  77. package/components/iqr-form/renderer/index.js +1 -0
  78. package/components/iqr-form/renderer/index.js.map +1 -0
  79. package/components/iqr-form/utils.d.ts +5 -0
  80. package/components/iqr-form/utils.js +91 -0
  81. package/components/iqr-form/utils.js.map +1 -0
  82. package/components/iqr-form-loader/fieldsValuesProviders.d.ts +13 -0
  83. package/components/iqr-form-loader/fieldsValuesProviders.js +47 -0
  84. package/components/iqr-form-loader/fieldsValuesProviders.js.map +1 -0
  85. package/components/iqr-form-loader/formValuesContainer.d.ts +33 -0
  86. package/components/iqr-form-loader/formValuesContainer.js +111 -0
  87. package/components/iqr-form-loader/formValuesContainer.js.map +1 -0
  88. package/components/iqr-form-loader/index.d.ts +3 -0
  89. package/components/iqr-form-loader/index.js +16 -0
  90. package/components/iqr-form-loader/index.js.map +1 -0
  91. package/components/iqr-form-loader/models.d.ts +14 -0
  92. package/components/iqr-form-loader/models.js +3 -0
  93. package/components/iqr-form-loader/models.js.map +1 -0
  94. package/components/iqr-text-field/index.d.ts +26 -2
  95. package/components/iqr-text-field/index.js +334 -174
  96. package/components/iqr-text-field/index.js.map +1 -0
  97. package/components/iqr-text-field/plugin/caret-fix-plugin.d.ts +1 -1
  98. package/components/iqr-text-field/plugin/caret-fix-plugin.js +11 -6
  99. package/components/iqr-text-field/plugin/caret-fix-plugin.js.map +1 -0
  100. package/components/iqr-text-field/plugin/has-content-class-plugin.d.ts +1 -1
  101. package/components/iqr-text-field/plugin/has-content-class-plugin.js +8 -5
  102. package/components/iqr-text-field/plugin/has-content-class-plugin.js.map +1 -0
  103. package/components/iqr-text-field/plugin/mask-plugin.d.ts +1 -1
  104. package/components/iqr-text-field/plugin/mask-plugin.js +20 -12
  105. package/components/iqr-text-field/plugin/mask-plugin.js.map +1 -0
  106. package/components/iqr-text-field/plugin/regexp-plugin.d.ts +1 -1
  107. package/components/iqr-text-field/plugin/regexp-plugin.js +8 -4
  108. package/components/iqr-text-field/plugin/regexp-plugin.js.map +1 -0
  109. package/components/iqr-text-field/prosemirror-commands.d.ts +5 -3
  110. package/components/iqr-text-field/prosemirror-commands.js +5 -3
  111. package/components/iqr-text-field/prosemirror-commands.js.map +1 -0
  112. package/components/iqr-text-field/prosemirror-utils.d.ts +1 -1
  113. package/components/iqr-text-field/prosemirror-utils.js +2 -1
  114. package/components/iqr-text-field/prosemirror-utils.js.map +1 -0
  115. package/components/iqr-text-field/schema/common-marks.d.ts +1 -1
  116. package/components/iqr-text-field/schema/common-marks.js +50 -46
  117. package/components/iqr-text-field/schema/common-marks.js.map +1 -0
  118. package/components/iqr-text-field/schema/date-time-schema.js +14 -13
  119. package/components/iqr-text-field/schema/date-time-schema.js.map +1 -0
  120. package/components/iqr-text-field/schema/decimal-schema.js +5 -4
  121. package/components/iqr-text-field/schema/decimal-schema.js.map +1 -0
  122. package/components/iqr-text-field/schema/index.d.ts +6 -6
  123. package/components/iqr-text-field/schema/index.js +14 -6
  124. package/components/iqr-text-field/schema/index.js.map +1 -0
  125. package/components/iqr-text-field/schema/markdown-schema.js +66 -32
  126. package/components/iqr-text-field/schema/markdown-schema.js.map +1 -0
  127. package/components/iqr-text-field/schema/measure-schema.js +6 -5
  128. package/components/iqr-text-field/schema/measure-schema.js.map +1 -0
  129. package/components/iqr-text-field/schema/token-schema.js +11 -7
  130. package/components/iqr-text-field/schema/token-schema.js.map +1 -0
  131. package/components/iqr-text-field/schema/utils.d.ts +1 -1
  132. package/components/iqr-text-field/schema/utils.js +3 -2
  133. package/components/iqr-text-field/schema/utils.js.map +1 -0
  134. package/components/iqr-text-field/selection-companion.d.ts +2 -2
  135. package/components/iqr-text-field/selection-companion.js +14 -12
  136. package/components/iqr-text-field/selection-companion.js.map +1 -0
  137. package/components/iqr-text-field/styles/paths.d.ts +5 -0
  138. package/components/iqr-text-field/styles/paths.js +37 -0
  139. package/components/iqr-text-field/styles/paths.js.map +1 -0
  140. package/components/iqr-text-field/suggestion-palette.d.ts +13 -15
  141. package/components/iqr-text-field/suggestion-palette.js +52 -22
  142. package/components/iqr-text-field/suggestion-palette.js.map +1 -0
  143. package/index.js +1 -0
  144. package/index.js.map +1 -0
  145. package/package.json +4 -4
  146. package/utils/icure-utils.d.ts +19 -0
  147. package/utils/icure-utils.js +106 -0
  148. package/utils/icure-utils.js.map +1 -0
  149. package/utils/languages.d.ts +8 -0
  150. package/utils/languages.js +15 -0
  151. package/utils/languages.js.map +1 -0
  152. package/utils/no-lodash.d.ts +5 -0
  153. package/utils/no-lodash.js +25 -0
  154. package/utils/no-lodash.js.map +1 -0
@@ -22,7 +22,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  // Import the LitElement base class and html helper function
25
- const lit_element_1 = require("lit-element");
25
+ const lit_1 = require("lit");
26
+ const decorators_1 = require("lit/decorators");
26
27
  const prosemirror_state_1 = require("prosemirror-state");
27
28
  const prosemirror_view_1 = require("prosemirror-view");
28
29
  const prosemirror_history_1 = require("prosemirror-history");
@@ -38,8 +39,8 @@ const suggestion_palette_1 = require("./suggestion-palette");
38
39
  const caret_fix_plugin_1 = require("./plugin/caret-fix-plugin");
39
40
  const prosemirror_utils_1 = require("./prosemirror-utils");
40
41
  // @ts-ignore
41
- const lit_element_2 = require("lit-element");
42
- const baseCss = lit_element_2.css `@charset "UTF-8";
42
+ const lit_2 = require("lit");
43
+ const baseCss = lit_2.css `@charset "UTF-8";
43
44
  :host {
44
45
  --bg-color-1: #F44336;
45
46
  }
@@ -431,6 +432,10 @@ h3 {
431
432
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
432
433
  border-radius: 8px;
433
434
  padding: 8px;
435
+ width: 220px;
436
+ min-height: 120px;
437
+ max-height: 320px;
438
+ overflow-y: scroll;
434
439
  }
435
440
 
436
441
  .menu .input-container {
@@ -483,6 +488,9 @@ h3 {
483
488
  justify-content: flex-start;
484
489
  box-shadow: none;
485
490
  border: none;
491
+ white-space: nowrap;
492
+ overflow-x: hidden;
493
+ text-overflow: ellipsis;
486
494
  }
487
495
 
488
496
  .menu-container .item:hover {
@@ -520,7 +528,8 @@ span[data-content]:hover::after {
520
528
  background: #274768;
521
529
  color: #FFFFFF;
522
530
  font-size: 9px;
523
- top: -10px;
531
+ line-height: 12px;
532
+ top: -12px;
524
533
  left: 0px;
525
534
  padding: 0px 2px;
526
535
  }
@@ -598,14 +607,12 @@ span[data-content]::before {
598
607
  border-radius: 4px;
599
608
  color: #274768;
600
609
  }
601
-
602
610
  .suggestion-palette ul li svg {
603
611
  height: 12px;
604
612
  width: 12px;
605
613
  border-radius: 4px;
606
614
  transform-origin: center center;
607
615
  }
608
-
609
616
  .suggestion-palette ul li svg path {
610
617
  fill: #809ab4;
611
618
  }
@@ -665,7 +672,7 @@ span.code-count-3::after, span.code-count-3::before {
665
672
  /* background: linear-gradient(90deg, var(--bg-code-color-1) 0%, var(--bg-code-color-2) 100%);*/
666
673
  }`;
667
674
  // @ts-ignore
668
- const kendoCss = lit_element_2.css `.iqr-text-field {
675
+ const kendoCss = lit_2.css `.iqr-text-field {
669
676
  position: relative;
670
677
  padding-top: 1.4em;
671
678
  display: inline-flex;
@@ -789,27 +796,46 @@ const kendoCss = lit_element_2.css `.iqr-text-field {
789
796
  const mask_plugin_1 = require("./plugin/mask-plugin");
790
797
  const has_content_class_plugin_1 = require("./plugin/has-content-class-plugin");
791
798
  const regexp_plugin_1 = require("./plugin/regexp-plugin");
799
+ const no_lodash_1 = require("../../utils/no-lodash");
800
+ const paths_1 = require("./styles/paths");
801
+ const languages_1 = require("../../utils/languages");
792
802
  // Extend the LitElement base class
793
- class IqrTextField extends lit_element_1.LitElement {
803
+ class IqrTextField extends lit_1.LitElement {
794
804
  constructor() {
795
805
  super();
796
806
  this.suggestionStopWords = new Set();
807
+ this.displayOwnerMenu = false;
808
+ this.suggestions = false;
809
+ this.links = false;
797
810
  this.linksProvider = () => Promise.resolve(undefined);
798
- this.suggestionProvider = () => [];
811
+ this.suggestionProvider = () => __awaiter(this, void 0, void 0, function* () { return []; });
812
+ this.ownersProvider = () => __awaiter(this, void 0, void 0, function* () { return []; });
799
813
  this.codeColorProvider = () => 'XI';
800
814
  this.linkColorProvider = () => 'cat1';
801
- this.codeContentProvider = (codes) => codes.map(c => c.code).join(',');
815
+ this.codeContentProvider = (codes) => codes.map((c) => c.code).join(',');
802
816
  this.schema = 'styled-text-with-codes';
803
817
  this.label = '';
804
818
  this.labelPosition = 'float';
805
819
  this.placeholder = '';
806
- this.value = '';
807
- this.displayOwnerMenu = false;
808
- this.suggestions = false;
809
- this.links = false;
810
820
  this.textRegex = '';
821
+ this.value = '';
822
+ this.defaultLanguage = 'en';
823
+ this.valueProvider = undefined;
824
+ this.metaProvider = undefined;
825
+ this.handleValueChanged = undefined;
826
+ this.handleMetaChanged = undefined;
827
+ this.displayOwnersMenu = false;
828
+ this.ownerInputValue = '';
829
+ this.availableOwners = [];
830
+ this.displayLanguagesMenu = false;
831
+ this.languageInputValue = '';
832
+ this.displayVersionsMenu = false;
833
+ this.displayedLanguage = this.defaultLanguage;
834
+ this.displayedVersion = '0';
835
+ this.availableLanguages = [this.displayedLanguage];
811
836
  this.windowListeners = [];
812
837
  this.mouseCount = 0;
838
+ this.serviceId = undefined;
813
839
  }
814
840
  connectedCallback() {
815
841
  super.connectedCallback();
@@ -821,77 +847,76 @@ class IqrTextField extends lit_element_1.LitElement {
821
847
  }
822
848
  disconnectedCallback() {
823
849
  super.disconnectedCallback();
824
- this.windowListeners.forEach(wl => window.removeEventListener(wl[0], wl[1]));
850
+ this.windowListeners.forEach((wl) => window.removeEventListener(wl[0], wl[1]));
825
851
  }
826
852
  static get styles() {
827
853
  return [baseCss, kendoCss];
828
854
  }
829
855
  render() {
830
- return lit_element_1.html `
831
- <div id="root" class="iqr-text-field" data-placeholder=${this.placeholder}>
856
+ var _a, _b, _c, _d;
857
+ return lit_1.html `
858
+ <div id="root" class="iqr-text-field" data-placeholder=${this.placeholder}>
832
859
  <label class="iqr-label ${this.labelPosition}"><span>${this.label}</span></label>
833
860
  <div class="iqr-input">
834
861
  <div id="editor"></div>
835
- <div id="extra" class=${'extra' + (this.displayOwnerMenu ? ' forced' : '')}>
836
- <div class="info">
837
- ~${this.owner}
838
- </div>
862
+ <div id="extra" class=${'extra' + (this.displayOwnersMenu ? ' forced' : '')}>
863
+ <div class="info">~${this.owner}</div>
839
864
  <div class="buttons-container">
840
865
  <div class="menu-container">
841
- <button data-content="${this.owner}" @click="${this.toggleOwnerMenu}" class="btn menu-trigger author">
842
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
843
- <path fill-rule="evenodd" clip-rule="evenodd" d="M10 5C10 7.76142 7.76142 10 5 10C2.23858 10 0 7.76142 0 5C0 2.23858 2.23858 0 5 0C7.76142 0 10 2.23858 10 5ZM7 3C7 4.10457 6.10457 5 5 5C3.89543 5 3 4.10457 3 3C3 1.89543 3.89543 1 5 1C6.10457 1 7 1.89543 7 3ZM5.00001 9C6.53071 9 7.8606 8.1402 8.53306 6.8772C7.62844 6.33518 6.37946 6 5.00001 6C3.62055 6 2.37158 6.33517 1.46695 6.87719C2.13941 8.14019 3.4693 9 5.00001 9Z"/>
844
- </svg>
845
- </button>
846
- ${this.displayOwnerMenu ? lit_element_1.html `
847
- <div id="menu" class="menu">
848
- <div class="input-container">
849
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
850
- <path d="M12.9167 11.6667H12.2583L12.025 11.4417C12.8417 10.4917 13.3333 9.25833 13.3333 7.91667C13.3333 4.925 10.9083 2.5 7.91667 2.5C4.925 2.5 2.5 4.925 2.5 7.91667C2.5 10.9083 4.925 13.3333 7.91667 13.3333C9.25833 13.3333 10.4917 12.8417 11.4417 12.025L11.6667 12.2583V12.9167L15.8333 17.075L17.075 15.8333L12.9167 11.6667ZM7.91667 11.6667C5.84167 11.6667 4.16667 9.99167 4.16667 7.91667C4.16667 5.84167 5.84167 4.16667 7.91667 4.16667C9.99167 4.16667 11.6667 5.84167 11.6667 7.91667C11.6667 9.99167 9.99167 11.6667 7.91667 11.6667Z" fill="#809AB4"/>
851
- </svg>
852
- <input>
853
- </div>
854
- <button class="item">
855
- Jean René
856
- </button>
857
- <button class="item">
858
- Jean José
859
- </button>
860
- <button class="item">
861
- Marie-Josée Perrec
862
- </button>
863
- </div>
864
- ` : ''}
865
- </div>
866
+ <button data-content="${(_a = this.getMeta()) === null || _a === void 0 ? void 0 : _a.owner}" @click="${this.toggleOwnerMenu}" class="btn menu-trigger author">${paths_1.ownerPicto}</button>
867
+ ${this.displayOwnersMenu
868
+ ? lit_1.html `
869
+ <div id="menu" class="menu">
870
+ <div class="input-container">${paths_1.searchPicto} <input id="ownerSearch" @input="${this.searchOwner}" /></div>
871
+ ${(_b = this.availableOwners) === null || _b === void 0 ? void 0 : _b.map((x) => lit_1.html `<button @click="${this.handleOwnerButtonClicked(x.id)}" id="${x.id}" class="item">${x.text}</button>`)}
872
+ </div>
873
+ `
874
+ : ''}
875
+ </div>
866
876
  <div class="menu-container">
867
- <button data-content="01/02/20" class="btn date">
868
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
869
- <path fill-rule="evenodd" clip-rule="evenodd" d="M2 0C0.895431 0 0 0.89543 0 2V8C0 9.10457 0.89543 10 2 10H8C9.10457 10 10 9.10457 10 8V2C10 0.895431 9.10457 0 8 0H2ZM1 3V8C1 8.55229 1.44772 9 2 9H8C8.55229 9 9 8.55229 9 8V3H1ZM8 8H5V5H8V8Z"/>
870
- </svg>
871
- </button>
877
+ <button data-content="${(_c = this.getMeta()) === null || _c === void 0 ? void 0 : _c.valueDate}" class="btn date">${paths_1.datePicto}</button>
872
878
  </div>
873
879
  <div class="menu-container">
874
- <button data-content="1.0" class="btn version">
875
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
876
- <path fill-rule="evenodd" clip-rule="evenodd" d="M5 10C7.76141 10 10 7.76142 10 5C10 2.23858 7.76141 0 5 0C2.23859 0 0 2.23858 0 5C0 7.76142 2.23859 10 5 10ZM3.5 3.33172C3.03394 3.16698 2.70001 2.72249 2.70001 2.2C2.70001 1.53726 3.23727 1 3.90002 1C4.56274 1 5.10001 1.53726 5.10001 2.2C5.10001 2.72249 4.76608 3.16698 4.30002 3.33172V5.04041C4.73386 4.59767 5.31354 4.29838 5.96133 4.22028C6.12021 3.74364 6.56998 3.4 7.10001 3.4C7.76276 3.4 8.30002 3.93726 8.30002 4.6C8.30002 5.26274 7.76276 5.8 7.10001 5.8C6.58722 5.8 6.14957 5.47836 5.97775 5.02583C5.13132 5.16293 4.46295 5.8313 4.32584 6.67775C4.77838 6.84955 5.10001 7.28722 5.10001 7.8C5.10001 8.46274 4.56274 9 3.90002 9C3.23727 9 2.70001 8.46274 2.70001 7.8C2.70001 7.27751 3.03394 6.83302 3.5 6.66828V3.33172ZM3.5 7.8C3.5 7.58001 3.67758 7.4015 3.89722 7.4H3.9028C4.12241 7.4015 4.29999 7.58001 4.29999 7.8C4.29999 8.0209 4.12091 8.2 3.89999 8.2C3.67908 8.2 3.5 8.0209 3.5 7.8ZM6.70001 4.59555V4.60446C6.70239 4.82333 6.88055 5.00001 7.09998 5.00001C7.32089 5.00001 7.5 4.82092 7.5 4.60001C7.5 4.37909 7.32089 4.2 7.09998 4.2C6.88055 4.2 6.70239 4.37669 6.70001 4.59555ZM3.89999 2.6C4.12091 2.6 4.29999 2.42091 4.29999 2.2C4.29999 1.97909 4.12091 1.8 3.89999 1.8C3.67908 1.8 3.5 1.97909 3.5 2.2C3.5 2.42091 3.67908 2.6 3.89999 2.6Z"/>
877
- </svg>
878
- </button>
880
+ <button data-content="1.0" class="btn version">${paths_1.versionPicto}</button>
879
881
  </div>
880
882
  <div class="menu-container">
881
- <button data-content="fr" class="btn language">
882
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
883
- <path d="M5 0C2.2379 0 0 2.2379 0 5C0 7.7621 2.2379 10 5 10C7.7621 10 10 7.7621 10 5C10 2.2379 7.7621 0 5 0ZM9.03226 5C9.03226 5.45363 8.95363 5.89113 8.81452 6.29839H8.40524C8.31855 6.29839 8.23589 6.26411 8.1754 6.20161L7.53024 5.54435C7.43952 5.45161 7.43952 5.3004 7.53226 5.20766L7.78427 4.95565V4.78024C7.78427 4.71976 7.76008 4.66129 7.71774 4.61895L7.52823 4.42944C7.48589 4.3871 7.42742 4.3629 7.36694 4.3629H7.04435C6.91935 4.3629 6.81653 4.26008 6.81653 4.13508C6.81653 4.0746 6.84073 4.01613 6.88306 3.97379L7.07258 3.78427C7.11492 3.74194 7.17339 3.71774 7.23387 3.71774H7.87903C8.00403 3.71774 8.10685 3.61492 8.10685 3.48992V3.3004C8.10685 3.1754 8.00403 3.07258 7.87903 3.07258H7.13911C6.96169 3.07258 6.81653 3.21774 6.81653 3.39516V3.48589C6.81653 3.625 6.72782 3.74798 6.59677 3.79234L5.95968 4.00403C5.89315 4.02621 5.84879 4.08669 5.84879 4.15726V4.20161C5.84879 4.29032 5.77621 4.3629 5.6875 4.3629H5.36492C5.27621 4.3629 5.20363 4.29032 5.20363 4.20161C5.20363 4.1129 5.13105 4.04032 5.04234 4.04032H4.97984C4.91935 4.04032 4.8629 4.0746 4.83468 4.12903L4.64516 4.50605C4.59073 4.61492 4.47984 4.68347 4.35685 4.68347H3.91129C3.73387 4.68347 3.58871 4.53831 3.58871 4.36089V3.85081C3.58871 3.76613 3.62298 3.68347 3.68347 3.62298L4.08871 3.21774C4.18145 3.125 4.23387 2.99798 4.23387 2.86492C4.23387 2.79637 4.27823 2.73387 4.34476 2.71169L5.15121 2.44355C5.18548 2.43145 5.21573 2.41331 5.23992 2.38911L5.78024 1.84879C5.82258 1.80645 5.84677 1.74798 5.84677 1.6875C5.84677 1.5625 5.74395 1.45968 5.61895 1.45968H5.20161L4.87903 1.78226V1.94355C4.87903 2.03226 4.80645 2.10484 4.71774 2.10484H4.39516C4.30645 2.10484 4.23387 2.03226 4.23387 1.94355V1.54032C4.23387 1.48992 4.25806 1.44153 4.29839 1.41129L4.88105 0.97379C4.91935 0.971774 4.95766 0.967742 4.99597 0.967742C7.22379 0.967742 9.03226 2.77621 9.03226 5ZM2.62298 2.84476C2.62298 2.78427 2.64718 2.72581 2.68952 2.68347L3.20161 2.17137C3.24395 2.12903 3.30242 2.10484 3.3629 2.10484C3.4879 2.10484 3.59073 2.20766 3.59073 2.33266V2.65524C3.59073 2.71573 3.56653 2.77419 3.52419 2.81653L3.33468 3.00605C3.29234 3.04839 3.23387 3.07258 3.17339 3.07258H2.85081C2.72581 3.07258 2.62298 2.96976 2.62298 2.84476ZM5.20363 9.02218V8.87903C5.20363 8.70161 5.05847 8.55645 4.88105 8.55645H4.47379C4.25605 8.55645 3.93548 8.4496 3.76008 8.31855L3.3125 7.98185C3.08065 7.80847 2.94556 7.53629 2.94556 7.24798V6.76613C2.94556 6.44355 3.11492 6.14516 3.39113 5.97984L4.25605 5.46169C4.39919 5.37702 4.5625 5.33065 4.72782 5.33065H5.35685C5.57661 5.33065 5.78831 5.40927 5.95363 5.5504L6.8246 6.29839H7.19355C7.36492 6.29839 7.52823 6.36694 7.64919 6.4879L7.99798 6.83669C8.06653 6.90524 8.16129 6.94355 8.25806 6.94355H8.52823C7.875 8.13105 6.6371 8.9496 5.20363 9.02218Z"/>
884
- </svg>
885
- </button>
883
+ <button data-content="${this.displayedLanguage}" @click="${this.toggleLanguageMenu}" class="btn menu-trigger language">${paths_1.i18nPicto}</button>
884
+ ${this.displayLanguagesMenu
885
+ ? lit_1.html `
886
+ <div id="menu" class="menu">
887
+ <div class="input-container">${paths_1.searchPicto} <input /></div>
888
+ ${(_d = this.availableLanguages) === null || _d === void 0 ? void 0 : _d.map((x) => lit_1.html `<button id="${x}" class="item">${languages_1.languageName(x)}</button>`)}
889
+ </div>
890
+ `
891
+ : ''}
886
892
  </div>
887
893
  </div>
888
894
  </div>
889
895
  </div>
890
896
  </div>
891
- `;
897
+ `;
892
898
  }
893
899
  toggleOwnerMenu() {
894
- this.displayOwnerMenu = !this.displayOwnerMenu;
900
+ this.displayOwnersMenu = !this.displayOwnersMenu;
901
+ }
902
+ searchOwner(e) {
903
+ const text = e.target.value;
904
+ setTimeout(() => __awaiter(this, void 0, void 0, function* () {
905
+ if (this._ownerSearch.value === text) {
906
+ if (this.ownersProvider) {
907
+ const availableOwners = yield this.ownersProvider(text.split(' '));
908
+ console.log(availableOwners);
909
+ this.availableOwners = availableOwners;
910
+ }
911
+ }
912
+ }), 300);
913
+ }
914
+ handleOwnerButtonClicked(id) {
915
+ this.handleMetaChanged && this.serviceId && this.handleMetaChanged(this.serviceId, { revision: this.displayedVersion, owner: { id } });
916
+ this.displayOwnersMenu = false;
917
+ }
918
+ toggleLanguageMenu() {
919
+ this.displayLanguagesMenu = !this.displayLanguagesMenu;
895
920
  }
896
921
  mouseDown() {
897
922
  this.mouseCount++;
@@ -900,77 +925,41 @@ class IqrTextField extends lit_element_1.LitElement {
900
925
  var _a, _b, _c, _d, _e, _f, _g;
901
926
  this.mouseCount = 0;
902
927
  if (!((_c = (_b = (_a = this.view) === null || _a === void 0 ? void 0 : _a.dom) === null || _b === void 0 ? void 0 : _b.classList) === null || _c === void 0 ? void 0 : _c.contains('ProseMirror-focused'))) {
903
- (_g = (_f = (_e = (_d = this.view) === null || _d === void 0 ? void 0 : _d.dom) === null || _e === void 0 ? void 0 : _e.parentElement) === null || _f === void 0 ? void 0 : _f.querySelectorAll('.companion')) === null || _g === void 0 ? void 0 : _g.forEach(x => {
928
+ (_g = (_f = (_e = (_d = this.view) === null || _d === void 0 ? void 0 : _d.dom) === null || _e === void 0 ? void 0 : _e.parentElement) === null || _f === void 0 ? void 0 : _f.querySelectorAll('.companion')) === null || _g === void 0 ? void 0 : _g.forEach((x) => {
929
+ ;
904
930
  x.style.display = 'none';
905
931
  });
906
932
  }
907
933
  }
908
934
  firstUpdated() {
909
- var _a;
910
- const schema = this.proseMirrorSchema = schema_1.createSchema(this.schema, (t, c, isC) => isC ? this.codeColorProvider(t, c) : this.linkColorProvider(t, c), this.codeContentProvider);
911
- const tokenizer = markdown_it_1.default("commonmark", { html: false });
912
- this.parser = this.schema === 'date' ? {
913
- parse: (value) => schema.node("paragraph", {}, [
914
- schema.node("date", {}, value ? [schema.text(value)] : []),
915
- ])
916
- } : this.schema === 'date-time' ? {
917
- parse: (value) => {
918
- const date = value ? value.split(' ')[0] : '';
919
- const time = value ? value.split(' ')[1] : '';
920
- return schema.node("paragraph", {}, [
921
- schema.node("date", {}, date && date.length ? [schema.text(date)] : [schema.text(' ')]),
922
- schema.node("time", {}, time && time.length ? [schema.text(time)] : [schema.text(' ')]),
923
- ]);
924
- }
925
- } : this.schema === 'text-document' ? new prosemirror_markdown_1.MarkdownParser(schema, markdown_it_1.default("commonmark", { html: false }), {
926
- blockquote: { block: "blockquote" },
927
- paragraph: { block: "paragraph" },
928
- list_item: { block: "list_item" },
929
- bullet_list: { block: "bullet_list" },
930
- ordered_list: { block: "ordered_list", getAttrs: tok => ({ order: +(tok.attrGet("start") || 1) }) },
931
- heading: { block: "heading", getAttrs: tok => ({ level: +tok.tag.slice(1) }) },
932
- hr: { node: "horizontal_rule" },
933
- image: { node: "image", getAttrs: tok => {
934
- var _a;
935
- return ({
936
- src: tok.attrGet("src"),
937
- title: tok.attrGet("title") || null,
938
- alt: ((_a = (tok.children || [])[0]) === null || _a === void 0 ? void 0 : _a.content) || null
939
- });
940
- } },
941
- hardbreak: { node: "hard_break" },
942
- em: prosemirror_utils_1.hasMark(schema.spec.marks, 'em') ? { mark: "em" } : { ignore: true },
943
- strong: prosemirror_utils_1.hasMark(schema.spec.marks, 'strong') ? { mark: "strong" } : { ignore: true },
944
- link: prosemirror_utils_1.hasMark(schema.spec.marks, 'link') ? { mark: "link", getAttrs: tok => ({
945
- href: tok.attrGet("href"),
946
- title: tok.attrGet("title") || null
947
- }) } : { ignore: true }
948
- }) : new prosemirror_markdown_1.MarkdownParser(schema, { parse: (src, env) => {
949
- return tokenizer.parse(src, env).filter(t => !t.type.startsWith('paragraph_'));
950
- } }, {
951
- em: prosemirror_utils_1.hasMark(schema.spec.marks, 'em') ? { mark: "em" } : { ignore: true },
952
- strong: prosemirror_utils_1.hasMark(schema.spec.marks, 'strong') ? { mark: "strong" } : { ignore: true },
953
- link: prosemirror_utils_1.hasMark(schema.spec.marks, 'link') ? { mark: "link", getAttrs: tok => ({
954
- href: tok.attrGet("href"),
955
- title: tok.attrGet("title") || null
956
- }) } : { ignore: true }
957
- });
935
+ var _a, _b, _c, _d, _e;
936
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
958
937
  const cmp = this;
938
+ const pms = (this.proseMirrorSchema = schema_1.createSchema(this.schema, (t, c, isC) => (isC ? this.codeColorProvider(t, c) : this.linkColorProvider(t, c)), this.codeContentProvider));
939
+ this.parser = this.makeParser(pms);
959
940
  this.container = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('editor')) || undefined;
960
- let br = schema.nodes.hard_break;
961
- const hardBreak = prosemirror_commands_1.chainCommands(prosemirror_commands_1.exitCode, (state, dispatch) => {
962
- dispatch && dispatch(state.tr.replaceSelectionWith(br.create()).scrollIntoView());
963
- return true;
964
- });
965
- const replaceRangeWithSuggestion = (from, to, sug) => __awaiter(this, void 0, void 0, function* () {
966
- const link = yield this.linksProvider(sug);
967
- return link && cmp.view.state.tr.replaceWith(from, to, this.proseMirrorSchema.text(sug.text, [this.proseMirrorSchema.mark('link', link)])) || undefined;
968
- });
969
941
  if (this.container) {
970
- let headingsKeymap = prosemirror_keymap_1.keymap([1, 2, 3, 4, 5, 6].reduce((acc, idx) => {
971
- return Object.assign(acc, { [`Mod-ctrl-${idx}`]: prosemirror_commands_1.setBlockType(this.proseMirrorSchema.nodes.heading, { level: '' + idx }) });
942
+ const br = pms.nodes.hard_break;
943
+ const hardBreak = prosemirror_commands_1.chainCommands(prosemirror_commands_1.exitCode, (state, dispatch) => {
944
+ dispatch && dispatch(state.tr.replaceSelectionWith(br.create()).scrollIntoView());
945
+ return true;
946
+ });
947
+ const replaceRangeWithSuggestion = (from, to, sug) => __awaiter(this, void 0, void 0, function* () {
948
+ const link = yield this.linksProvider(sug);
949
+ return (link && cmp.view && cmp.view.state.tr.replaceWith(from, to, pms.text(sug.text, [pms.mark('link', link)]))) || undefined;
950
+ });
951
+ const headingsKeymap = prosemirror_keymap_1.keymap([1, 2, 3, 4, 5, 6].reduce((acc, idx) => {
952
+ return Object.assign(acc, { [`Mod-ctrl-${idx}`]: prosemirror_commands_1.setBlockType(pms.nodes.heading, { level: '' + idx }) });
972
953
  }, {}));
973
- const parsedDoc = this.parser.parse(this.value);
954
+ const providedValue = this.valueProvider && this.valueProvider();
955
+ this.displayedVersion = ((_c = (_b = providedValue === null || providedValue === void 0 ? void 0 : providedValue.versions) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.revision) || '0';
956
+ const displayedVersionedValue = (_e = (_d = providedValue === null || providedValue === void 0 ? void 0 : providedValue.versions) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.value;
957
+ this.serviceId = providedValue === null || providedValue === void 0 ? void 0 : providedValue.id;
958
+ this.availableLanguages = displayedVersionedValue && Object.keys(displayedVersionedValue).length ? no_lodash_1.sorted(Object.keys(displayedVersionedValue)) : this.availableLanguages;
959
+ if (!this.availableLanguages.includes(this.displayedLanguage)) {
960
+ this.displayedLanguage = this.availableLanguages[0];
961
+ }
962
+ const parsedDoc = this.parser.parse(this.valueProvider ? (displayedVersionedValue === null || displayedVersionedValue === void 0 ? void 0 : displayedVersionedValue[this.displayedLanguage]) || '' : this.value);
974
963
  this.view = new prosemirror_view_1.EditorView(this.container, {
975
964
  state: prosemirror_state_1.EditorState.create({
976
965
  doc: parsedDoc,
@@ -978,102 +967,273 @@ class IqrTextField extends lit_element_1.LitElement {
978
967
  plugins: [
979
968
  caret_fix_plugin_1.caretFixPlugin(),
980
969
  prosemirror_history_1.history(),
981
- this.links ?
982
- new prosemirror_state_1.Plugin({
983
- view(editorView) { return new selection_companion_1.SelectionCompanion(editorView, () => cmp.mouseCount > 0); }
984
- }) : null,
985
- this.suggestions ?
986
- new prosemirror_state_1.Plugin({
987
- view(editorView) { return (cmp.suggestionPalette = new suggestion_palette_1.SuggestionPalette(editorView, (terms) => cmp.suggestionProvider(terms), () => cmp.suggestionStopWords)); }
988
- }) : null,
989
- this.suggestions ?
990
- prosemirror_keymap_1.keymap({
991
- "Tab": (state, dispatch) => { return cmp.suggestionPalette && cmp.suggestionPalette.focusOrInsert(this.view, replaceRangeWithSuggestion) || false; },
992
- "ArrowUp": (state, dispatch) => { return cmp.suggestionPalette && cmp.suggestionPalette.arrowUp() || false; },
993
- "ArrowDown": (state, dispatch) => { return cmp.suggestionPalette && cmp.suggestionPalette.arrowDown() || false; },
994
- "Enter": (state, dispatch) => { return cmp.suggestionPalette && cmp.suggestionPalette.insert(this.view, replaceRangeWithSuggestion) || false; },
995
- }) : null,
996
- prosemirror_keymap_1.keymap({ "Mod-z": prosemirror_history_1.undo, "Mod-Shift-z": prosemirror_history_1.redo }),
997
- prosemirror_keymap_1.keymap(Object.assign({}, schema.marks.strong ? { "Mod-b": prosemirror_commands_1.toggleMark(schema.marks.strong) } : {}, schema.marks.em ? { "Mod-i": prosemirror_commands_1.toggleMark(schema.marks.em) } : {}, schema.nodes.paragraph ? { "Alt-ArrowUp": prosemirror_commands_1.joinUp } : {}, schema.nodes.paragraph ? { "Alt-ArrowDown": prosemirror_commands_1.joinDown } : {}, schema.nodes.paragraph ? { "Alt-Enter": hardBreak } : {}, schema.nodes.paragraph ? { "Shift-Enter": hardBreak } : {}, schema.nodes.ordered_list ? { "Shift-ctrl-1": prosemirror_schema_list_1.wrapInList(schema.nodes.ordered_list) } : {}, schema.nodes.bullet_list ? { "Shift-ctrl-*": prosemirror_schema_list_1.wrapInList(schema.nodes.bullet_list) } : {}, schema.nodes.blockquote ? { "Shift-ctrl-w": prosemirror_commands_2.wrapInIfNeeded(schema.nodes.blockquote) } : {}, schema.nodes.blockquote ? { "Shift-ctrl-u": prosemirror_commands_2.unwrapFrom(schema.nodes.blockquote) } : {}, schema.nodes.paragraph ? { "Mod-ctrl-0": prosemirror_commands_1.setBlockType(schema.nodes.paragraph) } : {}, schema.nodes.paragraph ? { "Shift-ctrl-0": prosemirror_commands_1.setBlockType(schema.nodes.paragraph) } : {}, schema.nodes.list_item ? { "Enter": prosemirror_schema_list_1.splitListItem(schema.nodes.list_item) } : {}, schema.nodes.ordered_list || schema.nodes.bullet_list ? { "Mod-(": prosemirror_schema_list_1.liftListItem(schema.nodes.list_item) } : {}, schema.nodes.ordered_list || schema.nodes.bullet_list ? { "Mod-[": prosemirror_schema_list_1.liftListItem(schema.nodes.list_item) } : {}, schema.nodes.ordered_list || schema.nodes.bullet_list ? { "Mod-)": prosemirror_schema_list_1.sinkListItem(schema.nodes.list_item) } : {}, schema.nodes.ordered_list || schema.nodes.bullet_list ? { "Mod-]": prosemirror_schema_list_1.sinkListItem(schema.nodes.list_item) } : {})),
998
- schema.nodes.heading ? headingsKeymap : null,
970
+ this.links
971
+ ? new prosemirror_state_1.Plugin({
972
+ view(editorView) {
973
+ return new selection_companion_1.SelectionCompanion(editorView, () => cmp.mouseCount > 0);
974
+ },
975
+ })
976
+ : null,
977
+ this.suggestions
978
+ ? new prosemirror_state_1.Plugin({
979
+ view(editorView) {
980
+ return (cmp.suggestionPalette = new suggestion_palette_1.SuggestionPalette(pms, editorView, (terms) => cmp.suggestionProvider(terms), () => cmp.suggestionStopWords));
981
+ },
982
+ })
983
+ : null,
984
+ this.suggestions
985
+ ? prosemirror_keymap_1.keymap({
986
+ Tab: () => {
987
+ return (cmp.suggestionPalette && this.view && cmp.suggestionPalette.focusOrInsert(this.view, replaceRangeWithSuggestion)) || false;
988
+ },
989
+ ArrowUp: () => {
990
+ return (cmp.suggestionPalette && cmp.suggestionPalette.arrowUp()) || false;
991
+ },
992
+ ArrowDown: () => {
993
+ return (cmp.suggestionPalette && cmp.suggestionPalette.arrowDown()) || false;
994
+ },
995
+ Enter: () => {
996
+ return (cmp.suggestionPalette && this.view && cmp.suggestionPalette.insert(this.view, replaceRangeWithSuggestion)) || false;
997
+ },
998
+ })
999
+ : null,
1000
+ prosemirror_keymap_1.keymap({ 'Mod-z': prosemirror_history_1.undo, 'Mod-Shift-z': prosemirror_history_1.redo }),
1001
+ prosemirror_keymap_1.keymap(Object.assign({}, pms.marks.strong ? { 'Mod-b': prosemirror_commands_1.toggleMark(pms.marks.strong) } : {}, pms.marks.em ? { 'Mod-i': prosemirror_commands_1.toggleMark(pms.marks.em) } : {}, pms.nodes.paragraph ? { 'Alt-ArrowUp': prosemirror_commands_1.joinUp } : {}, pms.nodes.paragraph ? { 'Alt-ArrowDown': prosemirror_commands_1.joinDown } : {}, pms.nodes.paragraph ? { 'Alt-Enter': hardBreak } : {}, pms.nodes.paragraph ? { 'Shift-Enter': hardBreak } : {}, pms.nodes.ordered_list ? { 'Shift-ctrl-1': prosemirror_schema_list_1.wrapInList(pms.nodes.ordered_list) } : {}, pms.nodes.bullet_list ? { 'Shift-ctrl-*': prosemirror_schema_list_1.wrapInList(pms.nodes.bullet_list) } : {}, pms.nodes.blockquote ? { 'Shift-ctrl-w': prosemirror_commands_2.wrapInIfNeeded(pms.nodes.blockquote) } : {}, pms.nodes.blockquote ? { 'Shift-ctrl-u': prosemirror_commands_2.unwrapFrom(pms.nodes.blockquote) } : {}, pms.nodes.paragraph ? { 'Mod-ctrl-0': prosemirror_commands_1.setBlockType(pms.nodes.paragraph) } : {}, pms.nodes.paragraph ? { 'Shift-ctrl-0': prosemirror_commands_1.setBlockType(pms.nodes.paragraph) } : {}, pms.nodes.list_item ? { Enter: prosemirror_schema_list_1.splitListItem(pms.nodes.list_item) } : {}, pms.nodes.ordered_list || pms.nodes.bullet_list ? { 'Mod-(': prosemirror_schema_list_1.liftListItem(pms.nodes.list_item) } : {}, pms.nodes.ordered_list || pms.nodes.bullet_list ? { 'Mod-[': prosemirror_schema_list_1.liftListItem(pms.nodes.list_item) } : {}, pms.nodes.ordered_list || pms.nodes.bullet_list ? { 'Mod-)': prosemirror_schema_list_1.sinkListItem(pms.nodes.list_item) } : {}, pms.nodes.ordered_list || pms.nodes.bullet_list ? { 'Mod-]': prosemirror_schema_list_1.sinkListItem(pms.nodes.list_item) } : {})),
1002
+ pms.nodes.heading ? headingsKeymap : null,
999
1003
  mask_plugin_1.maskPlugin(),
1000
1004
  regexp_plugin_1.regexpPlugin(),
1001
- has_content_class_plugin_1.hasContentClassPlugin(this.shadowRoot),
1002
- prosemirror_keymap_1.keymap(prosemirror_commands_1.baseKeymap)
1003
- ].filter(x => !!x).map(x => x)
1005
+ has_content_class_plugin_1.hasContentClassPlugin(this.shadowRoot || undefined),
1006
+ prosemirror_keymap_1.keymap(prosemirror_commands_1.baseKeymap),
1007
+ ]
1008
+ .filter((x) => !!x)
1009
+ .map((x) => x),
1004
1010
  }),
1005
1011
  dispatchTransaction: (tr) => {
1012
+ var _a;
1006
1013
  this.view && this.view.updateState(this.view.state.apply(tr));
1007
1014
  //current state as json in text area
1008
1015
  //this.view && console.log(JSON.stringify(this.view.state.doc.toJSON(), null, 2));
1009
- }
1016
+ this.view && this.handleValueChanged && this.handleValueChanged((_a = this.view.state.doc.text) !== null && _a !== void 0 ? _a : '');
1017
+ },
1010
1018
  });
1011
1019
  }
1012
1020
  }
1021
+ makeParser(pms) {
1022
+ const tokenizer = markdown_it_1.default('commonmark', { html: false });
1023
+ return this.schema === 'date'
1024
+ ? {
1025
+ parse: (value) => pms.node('paragraph', {}, [pms.node('date', {}, value ? [pms.text(value)] : [])]),
1026
+ }
1027
+ : this.schema === 'time'
1028
+ ? {
1029
+ parse: (value) => pms.node('paragraph', {}, [pms.node('time', {}, value ? [pms.text(value)] : [])]),
1030
+ }
1031
+ : this.schema === 'measure'
1032
+ ? {
1033
+ parse: (value) => {
1034
+ const decimal = value ? value.split(' ')[0] : '';
1035
+ const unit = value ? value.split(' ')[1] : '';
1036
+ return pms.node('paragraph', {}, [
1037
+ pms.node('decimal', {}, decimal && decimal.length ? [pms.text(decimal)] : [pms.text(' ')]),
1038
+ pms.node('unit', {}, unit && unit.length ? [pms.text(unit)] : [pms.text(' ')]),
1039
+ ]);
1040
+ },
1041
+ }
1042
+ : this.schema === 'date-time'
1043
+ ? {
1044
+ parse: (value) => {
1045
+ const date = value ? value.split(' ')[0] : '';
1046
+ const time = value ? value.split(' ')[1] : '';
1047
+ return pms.node('paragraph', {}, [
1048
+ pms.node('date', {}, date && date.length ? [pms.text(date)] : [pms.text(' ')]),
1049
+ pms.node('time', {}, time && time.length ? [pms.text(time)] : [pms.text(' ')]),
1050
+ ]);
1051
+ },
1052
+ }
1053
+ : this.schema === 'text-document'
1054
+ ? new prosemirror_markdown_1.MarkdownParser(pms, markdown_it_1.default('commonmark', { html: false }), {
1055
+ blockquote: { block: 'blockquote' },
1056
+ paragraph: { block: 'paragraph' },
1057
+ list_item: { block: 'list_item' },
1058
+ bullet_list: { block: 'bullet_list' },
1059
+ ordered_list: { block: 'ordered_list', getAttrs: (tok) => ({ order: +(tok.attrGet('start') || 1) }) },
1060
+ heading: { block: 'heading', getAttrs: (tok) => ({ level: +tok.tag.slice(1) }) },
1061
+ hr: { node: 'horizontal_rule' },
1062
+ image: {
1063
+ node: 'image',
1064
+ getAttrs: (tok) => {
1065
+ var _a;
1066
+ return ({
1067
+ src: tok.attrGet('src'),
1068
+ title: tok.attrGet('title') || null,
1069
+ alt: ((_a = (tok.children || [])[0]) === null || _a === void 0 ? void 0 : _a.content) || null,
1070
+ });
1071
+ },
1072
+ },
1073
+ hardBreak: { node: 'hard_break' },
1074
+ em: prosemirror_utils_1.hasMark(pms.spec.marks, 'em') ? { mark: 'em' } : { ignore: true },
1075
+ strong: prosemirror_utils_1.hasMark(pms.spec.marks, 'strong') ? { mark: 'strong' } : { ignore: true },
1076
+ link: prosemirror_utils_1.hasMark(pms.spec.marks, 'link')
1077
+ ? {
1078
+ mark: 'link',
1079
+ getAttrs: (tok) => ({
1080
+ href: tok.attrGet('href'),
1081
+ title: tok.attrGet('title') || null,
1082
+ }),
1083
+ }
1084
+ : { ignore: true },
1085
+ })
1086
+ : new prosemirror_markdown_1.MarkdownParser(pms, {
1087
+ parse: (src, env) => {
1088
+ return tokenizer.parse(src, env).filter((t) => !t.type.startsWith('paragraph_'));
1089
+ },
1090
+ }, {
1091
+ em: prosemirror_utils_1.hasMark(pms.spec.marks, 'em') ? { mark: 'em' } : { ignore: true },
1092
+ strong: prosemirror_utils_1.hasMark(pms.spec.marks, 'strong') ? { mark: 'strong' } : { ignore: true },
1093
+ link: prosemirror_utils_1.hasMark(pms.spec.marks, 'link')
1094
+ ? {
1095
+ mark: 'link',
1096
+ getAttrs: (tok) => ({
1097
+ href: tok.attrGet('href'),
1098
+ title: tok.attrGet('title') || null,
1099
+ }),
1100
+ }
1101
+ : { ignore: true },
1102
+ });
1103
+ }
1104
+ getMeta() {
1105
+ var _a, _b;
1106
+ return (this.metaProvider && ((_b = (_a = this.metaProvider()) === null || _a === void 0 ? void 0 : _a.metas) === null || _b === void 0 ? void 0 : _b.find((vm) => vm.revision === this.displayedVersion))) || undefined;
1107
+ }
1013
1108
  }
1014
1109
  __decorate([
1015
- lit_element_1.property(),
1110
+ decorators_1.property(),
1016
1111
  __metadata("design:type", Set)
1017
1112
  ], IqrTextField.prototype, "suggestionStopWords", void 0);
1018
1113
  __decorate([
1019
- lit_element_1.property(),
1114
+ decorators_1.property({ type: Boolean }),
1115
+ __metadata("design:type", Object)
1116
+ ], IqrTextField.prototype, "displayOwnerMenu", void 0);
1117
+ __decorate([
1118
+ decorators_1.property({ type: Boolean }),
1119
+ __metadata("design:type", Object)
1120
+ ], IqrTextField.prototype, "suggestions", void 0);
1121
+ __decorate([
1122
+ decorators_1.property({ type: Boolean }),
1123
+ __metadata("design:type", Object)
1124
+ ], IqrTextField.prototype, "links", void 0);
1125
+ __decorate([
1126
+ decorators_1.property(),
1020
1127
  __metadata("design:type", Function)
1021
1128
  ], IqrTextField.prototype, "linksProvider", void 0);
1022
1129
  __decorate([
1023
- lit_element_1.property(),
1130
+ decorators_1.property(),
1024
1131
  __metadata("design:type", Function)
1025
1132
  ], IqrTextField.prototype, "suggestionProvider", void 0);
1026
1133
  __decorate([
1027
- lit_element_1.property(),
1134
+ decorators_1.property(),
1135
+ __metadata("design:type", Function)
1136
+ ], IqrTextField.prototype, "ownersProvider", void 0);
1137
+ __decorate([
1138
+ decorators_1.property(),
1028
1139
  __metadata("design:type", Function)
1029
1140
  ], IqrTextField.prototype, "codeColorProvider", void 0);
1030
1141
  __decorate([
1031
- lit_element_1.property(),
1142
+ decorators_1.property(),
1032
1143
  __metadata("design:type", Function)
1033
1144
  ], IqrTextField.prototype, "linkColorProvider", void 0);
1034
1145
  __decorate([
1035
- lit_element_1.property(),
1146
+ decorators_1.property(),
1036
1147
  __metadata("design:type", Function)
1037
1148
  ], IqrTextField.prototype, "codeContentProvider", void 0);
1038
1149
  __decorate([
1039
- lit_element_1.property(),
1150
+ decorators_1.property(),
1040
1151
  __metadata("design:type", String)
1041
1152
  ], IqrTextField.prototype, "schema", void 0);
1042
1153
  __decorate([
1043
- lit_element_1.property(),
1044
- __metadata("design:type", String)
1154
+ decorators_1.property(),
1155
+ __metadata("design:type", Object)
1045
1156
  ], IqrTextField.prototype, "label", void 0);
1046
1157
  __decorate([
1047
- lit_element_1.property(),
1158
+ decorators_1.property(),
1048
1159
  __metadata("design:type", String)
1049
1160
  ], IqrTextField.prototype, "labelPosition", void 0);
1050
1161
  __decorate([
1051
- lit_element_1.property(),
1052
- __metadata("design:type", String)
1162
+ decorators_1.property(),
1163
+ __metadata("design:type", Object)
1053
1164
  ], IqrTextField.prototype, "placeholder", void 0);
1054
1165
  __decorate([
1055
- lit_element_1.property(),
1056
- __metadata("design:type", String)
1166
+ decorators_1.property(),
1167
+ __metadata("design:type", Object)
1168
+ ], IqrTextField.prototype, "textRegex", void 0);
1169
+ __decorate([
1170
+ decorators_1.property(),
1171
+ __metadata("design:type", Object)
1057
1172
  ], IqrTextField.prototype, "value", void 0);
1058
1173
  __decorate([
1059
- lit_element_1.property(),
1174
+ decorators_1.property(),
1175
+ __metadata("design:type", Object)
1176
+ ], IqrTextField.prototype, "defaultLanguage", void 0);
1177
+ __decorate([
1178
+ decorators_1.property(),
1060
1179
  __metadata("design:type", String)
1061
1180
  ], IqrTextField.prototype, "owner", void 0);
1062
1181
  __decorate([
1063
- lit_element_1.property({ type: Boolean }),
1064
- __metadata("design:type", Boolean)
1065
- ], IqrTextField.prototype, "displayOwnerMenu", void 0);
1182
+ decorators_1.property(),
1183
+ __metadata("design:type", Function)
1184
+ ], IqrTextField.prototype, "valueProvider", void 0);
1066
1185
  __decorate([
1067
- lit_element_1.property({ type: Boolean }),
1068
- __metadata("design:type", Boolean)
1069
- ], IqrTextField.prototype, "suggestions", void 0);
1186
+ decorators_1.property(),
1187
+ __metadata("design:type", Function)
1188
+ ], IqrTextField.prototype, "metaProvider", void 0);
1070
1189
  __decorate([
1071
- lit_element_1.property({ type: Boolean }),
1072
- __metadata("design:type", Boolean)
1073
- ], IqrTextField.prototype, "links", void 0);
1190
+ decorators_1.property(),
1191
+ __metadata("design:type", Function)
1192
+ ], IqrTextField.prototype, "handleValueChanged", void 0);
1074
1193
  __decorate([
1075
- lit_element_1.property(),
1076
- __metadata("design:type", String)
1077
- ], IqrTextField.prototype, "textRegex", void 0);
1194
+ decorators_1.property(),
1195
+ __metadata("design:type", Function)
1196
+ ], IqrTextField.prototype, "handleMetaChanged", void 0);
1197
+ __decorate([
1198
+ decorators_1.state(),
1199
+ __metadata("design:type", Object)
1200
+ ], IqrTextField.prototype, "displayOwnersMenu", void 0);
1201
+ __decorate([
1202
+ decorators_1.state(),
1203
+ __metadata("design:type", Object)
1204
+ ], IqrTextField.prototype, "ownerInputValue", void 0);
1205
+ __decorate([
1206
+ decorators_1.state(),
1207
+ __metadata("design:type", Array)
1208
+ ], IqrTextField.prototype, "availableOwners", void 0);
1209
+ __decorate([
1210
+ decorators_1.state(),
1211
+ __metadata("design:type", Object)
1212
+ ], IqrTextField.prototype, "displayLanguagesMenu", void 0);
1213
+ __decorate([
1214
+ decorators_1.state(),
1215
+ __metadata("design:type", Object)
1216
+ ], IqrTextField.prototype, "languageInputValue", void 0);
1217
+ __decorate([
1218
+ decorators_1.state(),
1219
+ __metadata("design:type", Object)
1220
+ ], IqrTextField.prototype, "displayVersionsMenu", void 0);
1221
+ __decorate([
1222
+ decorators_1.state(),
1223
+ __metadata("design:type", Object)
1224
+ ], IqrTextField.prototype, "displayedLanguage", void 0);
1225
+ __decorate([
1226
+ decorators_1.state(),
1227
+ __metadata("design:type", Object)
1228
+ ], IqrTextField.prototype, "displayedVersion", void 0);
1229
+ __decorate([
1230
+ decorators_1.state(),
1231
+ __metadata("design:type", Object)
1232
+ ], IqrTextField.prototype, "availableLanguages", void 0);
1233
+ __decorate([
1234
+ decorators_1.query('#ownerSearch'),
1235
+ __metadata("design:type", HTMLInputElement)
1236
+ ], IqrTextField.prototype, "_ownerSearch", void 0);
1078
1237
  // Register the new element with the browser.
1079
1238
  customElements.define('iqr-text-field', IqrTextField);
1239
+ //# sourceMappingURL=index.js.map