@icure/form 3.0.2 → 3.0.4

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 (188) hide show
  1. package/.yarn/cache/@icure-cardinal-sdk-npm-1.3.0-ts-2-d77151b3e6-86e1497829.zip +0 -0
  2. package/.yarn/cache/{@icure-motss-app-datepicker-npm-6.0.0-rc.36-66219db2d1-5f34375d97.zip → @icure-motss-app-datepicker-npm-6.0.0-rc.39-d00d21c35a-eefaed31a8.zip} +0 -0
  3. package/.yarn/cache/@js-joda-core-npm-3.2.0-d2526290e9-64625c2f22.zip +0 -0
  4. package/.yarn/cache/@types-linkify-it-npm-5.0.0-576a16b976-ec98e03aa8.zip +0 -0
  5. package/.yarn/cache/@types-markdown-it-npm-14.1.2-d0c4e12c49-ad66e0b377.zip +0 -0
  6. package/.yarn/cache/@types-mdurl-npm-2.0.0-2f4116c0b0-78746e96c6.zip +0 -0
  7. package/.yarn/cache/format-util-npm-1.0.5-a524ca953a-0c8622e54a.zip +0 -0
  8. package/.yarn/cache/prosemirror-commands-npm-1.7.0-212f35173c-a39225d534.zip +0 -0
  9. package/.yarn/cache/prosemirror-history-npm-1.4.1-ad68c86bb7-90f9bf59bc.zip +0 -0
  10. package/.yarn/cache/prosemirror-markdown-npm-1.13.1-4de28fccea-fb5487760e.zip +0 -0
  11. package/.yarn/cache/prosemirror-schema-basic-npm-1.2.3-a144a1b06d-49711ec1ee.zip +0 -0
  12. package/.yarn/cache/prosemirror-schema-list-npm-1.5.1-7b138c5fed-6c7041e5b8.zip +0 -0
  13. package/.yarn/cache/prosemirror-transform-npm-1.10.3-fb23bef7a8-8cbe29501e.zip +0 -0
  14. package/.yarn/cache/prosemirror-view-npm-1.38.1-8cfb4ec84f-12f7f4d27f.zip +0 -0
  15. package/.yarn/cache/ws-npm-8.18.0-56f68bc4d6-91d4d35bc9.zip +0 -0
  16. package/.yarn/install-state.gz +0 -0
  17. package/components/common/field-with-options.js +4 -9
  18. package/components/common/field-with-options.js.map +1 -1
  19. package/components/common/field.js +21 -25
  20. package/components/common/field.js.map +1 -1
  21. package/components/common/index.js +1 -17
  22. package/components/common/index.js.map +1 -1
  23. package/components/common/metadata-buttons-bar.js +58 -62
  24. package/components/common/metadata-buttons-bar.js.map +1 -1
  25. package/components/common/styles/paths.js +10 -13
  26. package/components/common/styles/paths.js.map +1 -1
  27. package/components/common/utils.js +10 -20
  28. package/components/common/utils.js.map +1 -1
  29. package/components/icure-button/index.js +20 -24
  30. package/components/icure-button/index.js.map +1 -1
  31. package/components/icure-button-group/index.js +27 -31
  32. package/components/icure-button-group/index.js.map +1 -1
  33. package/components/icure-date-picker/index.js +32 -36
  34. package/components/icure-date-picker/index.js.map +1 -1
  35. package/components/icure-dropdown-field/index.js +26 -30
  36. package/components/icure-dropdown-field/index.js.map +1 -1
  37. package/components/icure-form/fields/button/button.js +13 -17
  38. package/components/icure-form/fields/button/button.js.map +1 -1
  39. package/components/icure-form/fields/button/index.js +1 -17
  40. package/components/icure-form/fields/button/index.js.map +1 -1
  41. package/components/icure-form/fields/button-group/checkbox.js +10 -14
  42. package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
  43. package/components/icure-form/fields/button-group/index.js +2 -18
  44. package/components/icure-form/fields/button-group/index.js.map +1 -1
  45. package/components/icure-form/fields/button-group/radio-button.js +10 -14
  46. package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
  47. package/components/icure-form/fields/date-picker/date-picker.js +8 -12
  48. package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
  49. package/components/icure-form/fields/date-picker/date-time-picker.js +8 -12
  50. package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
  51. package/components/icure-form/fields/date-picker/index.js +3 -19
  52. package/components/icure-form/fields/date-picker/index.js.map +1 -1
  53. package/components/icure-form/fields/date-picker/time-picker.js +8 -12
  54. package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
  55. package/components/icure-form/fields/dropdown/dropdown-field.js +10 -14
  56. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  57. package/components/icure-form/fields/dropdown/index.js +1 -17
  58. package/components/icure-form/fields/dropdown/index.js.map +1 -1
  59. package/components/icure-form/fields/index.js +10 -26
  60. package/components/icure-form/fields/index.js.map +1 -1
  61. package/components/icure-form/fields/items-list-field/index.js +1 -17
  62. package/components/icure-form/fields/items-list-field/index.js.map +1 -1
  63. package/components/icure-form/fields/items-list-field/items-list-field.js +7 -11
  64. package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
  65. package/components/icure-form/fields/label/index.js +1 -17
  66. package/components/icure-form/fields/label/index.js.map +1 -1
  67. package/components/icure-form/fields/label/label.js +11 -15
  68. package/components/icure-form/fields/label/label.js.map +1 -1
  69. package/components/icure-form/fields/measure-field/index.js +1 -17
  70. package/components/icure-form/fields/measure-field/index.js.map +1 -1
  71. package/components/icure-form/fields/measure-field/measure-field.js +8 -12
  72. package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
  73. package/components/icure-form/fields/number-field/index.js +1 -17
  74. package/components/icure-form/fields/number-field/index.js.map +1 -1
  75. package/components/icure-form/fields/number-field/number-field.js +8 -12
  76. package/components/icure-form/fields/number-field/number-field.js.map +1 -1
  77. package/components/icure-form/fields/text-field/index.js +1 -17
  78. package/components/icure-form/fields/text-field/index.js.map +1 -1
  79. package/components/icure-form/fields/text-field/text-field.js +20 -24
  80. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  81. package/components/icure-form/fields/token-field/index.js +1 -17
  82. package/components/icure-form/fields/token-field/index.js.map +1 -1
  83. package/components/icure-form/fields/token-field/token-field.js +8 -12
  84. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  85. package/components/icure-form/fields/utils/index.js +5 -13
  86. package/components/icure-form/fields/utils/index.js.map +1 -1
  87. package/components/icure-form/index.js +33 -37
  88. package/components/icure-form/index.js.map +1 -1
  89. package/components/icure-form/renderer/form/form-selection-button.js +20 -24
  90. package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
  91. package/components/icure-form/renderer/form/form.js +123 -127
  92. package/components/icure-form/renderer/form/form.js.map +1 -1
  93. package/components/icure-form/renderer/index.js +1 -2
  94. package/components/icure-label/index.js +18 -22
  95. package/components/icure-label/index.js.map +1 -1
  96. package/components/icure-text-field/index.js +103 -111
  97. package/components/icure-text-field/index.js.map +1 -1
  98. package/components/icure-text-field/plugin/caret-fix-plugin.js +3 -7
  99. package/components/icure-text-field/plugin/caret-fix-plugin.js.map +1 -1
  100. package/components/icure-text-field/plugin/has-content-class-plugin.js +3 -7
  101. package/components/icure-text-field/plugin/has-content-class-plugin.js.map +1 -1
  102. package/components/icure-text-field/plugin/mask-plugin.js +7 -11
  103. package/components/icure-text-field/plugin/mask-plugin.js.map +1 -1
  104. package/components/icure-text-field/plugin/regexp-plugin.js +5 -9
  105. package/components/icure-text-field/plugin/regexp-plugin.js.map +1 -1
  106. package/components/icure-text-field/prosemirror-commands.js +10 -15
  107. package/components/icure-text-field/prosemirror-commands.js.map +1 -1
  108. package/components/icure-text-field/prosemirror-utils.js +1 -5
  109. package/components/icure-text-field/prosemirror-utils.js.map +1 -1
  110. package/components/icure-text-field/schema/common-marks.js +3 -7
  111. package/components/icure-text-field/schema/common-marks.js.map +1 -1
  112. package/components/icure-text-field/schema/date-time-schema.js +3 -9
  113. package/components/icure-text-field/schema/date-time-schema.js.map +1 -1
  114. package/components/icure-text-field/schema/decimal-schema.js +1 -5
  115. package/components/icure-text-field/schema/decimal-schema.js.map +1 -1
  116. package/components/icure-text-field/schema/index.js +17 -21
  117. package/components/icure-text-field/schema/index.js.map +1 -1
  118. package/components/icure-text-field/schema/items-list-schema.js +3 -7
  119. package/components/icure-text-field/schema/items-list-schema.js.map +1 -1
  120. package/components/icure-text-field/schema/markdown-schema.js +5 -9
  121. package/components/icure-text-field/schema/markdown-schema.js.map +1 -1
  122. package/components/icure-text-field/schema/measure-schema.js +6 -12
  123. package/components/icure-text-field/schema/measure-schema.js.map +1 -1
  124. package/components/icure-text-field/schema/token-schema.js +5 -9
  125. package/components/icure-text-field/schema/token-schema.js.map +1 -1
  126. package/components/icure-text-field/schema/utils.js +2 -7
  127. package/components/icure-text-field/schema/utils.js.map +1 -1
  128. package/components/icure-text-field/selection-companion.js +1 -5
  129. package/components/icure-text-field/selection-companion.js.map +1 -1
  130. package/components/icure-text-field/suggestion-palette.js +3 -10
  131. package/components/icure-text-field/suggestion-palette.js.map +1 -1
  132. package/components/index.js +5 -21
  133. package/components/index.js.map +1 -1
  134. package/components/model/index.js +22 -46
  135. package/components/model/index.js.map +1 -1
  136. package/components/themes/default/index.js +30 -32
  137. package/components/themes/default/index.js.map +1 -1
  138. package/components/themes/icure-blue/index.js +47 -49
  139. package/components/themes/icure-blue/index.js.map +1 -1
  140. package/components/themes/kendo/index.js +49 -51
  141. package/components/themes/kendo/index.js.map +1 -1
  142. package/conversion/ckmeans-grouping.js +3 -10
  143. package/conversion/ckmeans-grouping.js.map +1 -1
  144. package/conversion/ckmeans.js +1 -3
  145. package/conversion/ckmeans.js.map +1 -1
  146. package/generic/index.js +1 -17
  147. package/generic/index.js.map +1 -1
  148. package/generic/model.js +1 -2
  149. package/icure/form-values-container.d.ts +1 -2
  150. package/icure/form-values-container.js +33 -38
  151. package/icure/form-values-container.js.map +1 -1
  152. package/icure/icure-utils.js +14 -25
  153. package/icure/icure-utils.js.map +1 -1
  154. package/icure/index.js +2 -18
  155. package/icure/index.js.map +1 -1
  156. package/icure/model.js +1 -2
  157. package/index.js +1 -17
  158. package/index.js.map +1 -1
  159. package/package.json +14 -13
  160. package/utils/code-utils.js +13 -22
  161. package/utils/code-utils.js.map +1 -1
  162. package/utils/dates.js +9 -21
  163. package/utils/dates.js.map +1 -1
  164. package/utils/fields-values-provider.js +8 -17
  165. package/utils/fields-values-provider.js.map +1 -1
  166. package/utils/form-value-container.js +3 -7
  167. package/utils/form-value-container.js.map +1 -1
  168. package/utils/interpreter.d.ts +1 -2
  169. package/utils/interpreter.js +1 -5
  170. package/utils/interpreter.js.map +1 -1
  171. package/utils/languages.js +3 -8
  172. package/utils/languages.js.map +1 -1
  173. package/utils/markdown.js +6 -11
  174. package/utils/markdown.js.map +1 -1
  175. package/utils/no-lodash.js +3 -9
  176. package/utils/no-lodash.js.map +1 -1
  177. package/utils/primitive.js +7 -12
  178. package/utils/primitive.js.map +1 -1
  179. package/.yarn/cache/prosemirror-commands-npm-1.5.2-27f8f3fee9-ff65063a8c.zip +0 -0
  180. package/.yarn/cache/prosemirror-history-npm-1.3.2-cc128c8ee6-b85fe6378a.zip +0 -0
  181. package/.yarn/cache/prosemirror-markdown-npm-1.12.0-28e990f443-d7607ee1a6.zip +0 -0
  182. package/.yarn/cache/prosemirror-model-npm-1.19.4-4fd32211c8-12c277ed30.zip +0 -0
  183. package/.yarn/cache/prosemirror-schema-basic-npm-1.2.2-def7bf2ec7-1f93f8678c.zip +0 -0
  184. package/.yarn/cache/prosemirror-schema-list-npm-1.3.0-23c1830a7e-03654e37c8.zip +0 -0
  185. package/.yarn/cache/prosemirror-transform-npm-1.10.2-1c2da9123e-93b0c03aff.zip +0 -0
  186. package/.yarn/cache/prosemirror-transform-npm-1.8.0-ea3ca0411f-6d16ca4f95.zip +0 -0
  187. package/.yarn/cache/prosemirror-view-npm-1.32.7-63c3e4b182-40c9038a52.zip +0 -0
  188. package/.yarn/cache/prosemirror-view-npm-1.38.0-9061dc9cf4-0d0f17c1b2.zip +0 -0
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.measureOnFocusHandler = exports.measureTransactionMapper = exports.getMeasureSpec = void 0;
4
- const prosemirror_state_1 = require("prosemirror-state");
5
- function getMeasureSpec() {
1
+ import { TextSelection } from 'prosemirror-state';
2
+ export function getMeasureSpec() {
6
3
  return {
7
4
  topNode: 'paragraph',
8
5
  nodes: {
@@ -34,8 +31,7 @@ function getMeasureSpec() {
34
31
  marks: {},
35
32
  };
36
33
  }
37
- exports.getMeasureSpec = getMeasureSpec;
38
- const measureTransactionMapper = (tr) => {
34
+ export const measureTransactionMapper = (tr) => {
39
35
  var _a, _b, _c, _d, _e, _f, _g;
40
36
  const decimal = tr.doc.childCount && tr.doc.child(0).type.name === 'decimal' ? tr.doc.child(0) : null;
41
37
  const decimalText = (_a = decimal === null || decimal === void 0 ? void 0 : decimal.textContent) !== null && _a !== void 0 ? _a : '';
@@ -62,10 +58,9 @@ const measureTransactionMapper = (tr) => {
62
58
  const newFrom = patchedTr.steps.slice(tr.steps.length).reduce((acc, step) => step.getMap().map(acc), from) +
63
59
  ((newUnitText === null || newUnitText === void 0 ? void 0 : newUnitText.charAt(0)) !== (unitText === null || unitText === void 0 ? void 0 : unitText.charAt(0)) && ((_b = newUnitText === null || newUnitText === void 0 ? void 0 : newUnitText.length) !== null && _b !== void 0 ? _b : 0) > ((_c = unitText === null || unitText === void 0 ? void 0 : unitText.length) !== null && _c !== void 0 ? _c : 0) ? 2 : 0) +
64
60
  (((_d = newDecimalText === null || newDecimalText === void 0 ? void 0 : newDecimalText.length) !== null && _d !== void 0 ? _d : 0) > ((_e = decimalText === null || decimalText === void 0 ? void 0 : decimalText.length) !== null && _e !== void 0 ? _e : 0) && ((_f = newUnitText === null || newUnitText === void 0 ? void 0 : newUnitText.length) !== null && _f !== void 0 ? _f : 0) < ((_g = unitText === null || unitText === void 0 ? void 0 : unitText.length) !== null && _g !== void 0 ? _g : 0) ? -2 : 0);
65
- return patchedTr.setSelection(prosemirror_state_1.TextSelection.create(patchedTr.doc, Math.min(newFrom, tr.doc.content.size - 1)));
61
+ return patchedTr.setSelection(TextSelection.create(patchedTr.doc, Math.min(newFrom, tr.doc.content.size - 1)));
66
62
  };
67
- exports.measureTransactionMapper = measureTransactionMapper;
68
- const measureOnFocusHandler = (view) => {
63
+ export const measureOnFocusHandler = (view) => {
69
64
  var _a;
70
65
  const doc = view.state.tr.doc;
71
66
  const decimal = doc.childCount && doc.child(0).type.name === 'decimal' ? doc.child(0) : null;
@@ -74,8 +69,7 @@ const measureOnFocusHandler = (view) => {
74
69
  const unitText = unit === null || unit === void 0 ? void 0 : unit.textContent;
75
70
  if ((unitText === null || unitText === void 0 ? void 0 : unitText.length) && !(decimalText === null || decimalText === void 0 ? void 0 : decimalText.length)) {
76
71
  console.log('Setting selection to 1');
77
- view.dispatch(view.state.tr.setSelection(prosemirror_state_1.TextSelection.create(view.state.tr.doc, 1)));
72
+ view.dispatch(view.state.tr.setSelection(TextSelection.create(view.state.tr.doc, 1)));
78
73
  }
79
74
  };
80
- exports.measureOnFocusHandler = measureOnFocusHandler;
81
75
  //# sourceMappingURL=measure-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure-schema.js","sourceRoot":"","sources":["../../../../tmp/components/icure-text-field/schema/measure-schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { Node, SchemaSpec } from 'prosemirror-model'\nimport { TextSelection, Transaction } from 'prosemirror-state'\nimport { EditorView } from 'prosemirror-view'\n\nexport type MeasureSchema = 'measure'\n\nexport function getMeasureSpec(): SchemaSpec {\n\treturn {\n\t\ttopNode: 'paragraph',\n\t\tnodes: {\n\t\t\tparagraph: {\n\t\t\t\tcontent: 'decimal unit?',\n\t\t\t\tparseDOM: [{ tag: 'p' }],\n\t\t\t},\n\n\t\t\tdecimal: {\n\t\t\t\tcontent: 'inline*',\n\t\t\t\tgroup: 'block',\n\t\t\t\tparseDOM: [{ tag: 'span' }],\n\t\t\t\ttoDOM() {\n\t\t\t\t\treturn ['span', { class: 'measure' }, 0]\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tunit: {\n\t\t\t\tcontent: 'inline*',\n\t\t\t\tgroup: 'block',\n\t\t\t\tparseDOM: [{ tag: 'span.unit' }],\n\t\t\t\ttoDOM() {\n\t\t\t\t\treturn ['span', { class: 'unit' }, 0]\n\t\t\t\t},\n\t\t\t\teditable: false,\n\t\t\t},\n\n\t\t\ttext: {\n\t\t\t\tgroup: 'inline',\n\t\t\t},\n\t\t},\n\t\tmarks: {},\n\t}\n}\n\nexport const measureTransactionMapper = (tr: Transaction) => {\n\tconst decimal = tr.doc.childCount && tr.doc.child(0).type.name === 'decimal' ? tr.doc.child(0) : null\n\tconst decimalText = decimal?.textContent ?? ''\n\tconst unit = tr.doc.childCount > 1 && tr.doc.child(1).type.name === 'unit' ? tr.doc.child(1) : null\n\tconst unitText = unit?.textContent\n\tconst schema = tr.doc.type.schema\n\n\tconst from = tr.selection.from\n\n\tconsole.log(`[${decimalText}] <${unitText}> : ${from} - ${tr.selection.to}`)\n\n\tif (decimalText?.match(/^[0-9.,-]+$/)) {\n\t\treturn tr\n\t}\n\n\tconst combinedText = (decimalText ?? '') + (unitText ?? '')\n\n\tconst newUnitText = combinedText.replace(/^[0-9.,-]*/, '').trimStart()\n\tconst newDecimalText = combinedText.replace(/^([0-9.,-]*) *.*$/, '$1').trim()\n\n\tif (newDecimalText === decimalText && newUnitText === unitText) {\n\t\treturn tr\n\t}\n\n\tconst patchedTr = tr.replaceWith(0, tr.doc.content.size, [\n\t\tschema.nodes['paragraph'].create(\n\t\t\t{},\n\t\t\t[\n\t\t\t\tschema.nodes['decimal'].create({}, newDecimalText.length ? [schema.text(newDecimalText)] : []),\n\t\t\t\tnewUnitText?.length ? schema.nodes['unit'].create({}, schema.text(newUnitText)) : undefined,\n\t\t\t].filter((x) => !!x) as Node[],\n\t\t),\n\t])\n\n\tconst newFrom =\n\t\tpatchedTr.steps.slice(tr.steps.length).reduce((acc, step) => step.getMap().map(acc), from) +\n\t\t(newUnitText?.charAt(0) !== unitText?.charAt(0) && (newUnitText?.length ?? 0) > (unitText?.length ?? 0) ? 2 : 0) +\n\t\t((newDecimalText?.length ?? 0) > (decimalText?.length ?? 0) && (newUnitText?.length ?? 0) < (unitText?.length ?? 0) ? -2 : 0)\n\n\treturn patchedTr.setSelection(TextSelection.create(patchedTr.doc, Math.min(newFrom, tr.doc.content.size - 1)))\n}\n\nexport const measureOnFocusHandler = (view: EditorView) => {\n\tconst doc = view.state.tr.doc\n\tconst decimal = doc.childCount && doc.child(0).type.name === 'decimal' ? doc.child(0) : null\n\tconst decimalText = decimal?.textContent ?? ''\n\tconst unit = doc.childCount > 1 && doc.child(1).type.name === 'unit' ? doc.child(1) : null\n\tconst unitText = unit?.textContent\n\n\tif (unitText?.length && !decimalText?.length) {\n\t\tconsole.log('Setting selection to 1')\n\t\tview.dispatch(view.state.tr.setSelection(TextSelection.create(view.state.tr.doc, 1)))\n\t}\n}\n"]}
1
+ {"version":3,"file":"measure-schema.js","sourceRoot":"","sources":["../../../../tmp/components/icure-text-field/schema/measure-schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { Node, SchemaSpec } from 'prosemirror-model'\nimport { TextSelection, Transaction } from 'prosemirror-state'\nimport { EditorView } from 'prosemirror-view'\n\nexport type MeasureSchema = 'measure'\n\nexport function getMeasureSpec(): SchemaSpec {\n\treturn {\n\t\ttopNode: 'paragraph',\n\t\tnodes: {\n\t\t\tparagraph: {\n\t\t\t\tcontent: 'decimal unit?',\n\t\t\t\tparseDOM: [{ tag: 'p' }],\n\t\t\t},\n\n\t\t\tdecimal: {\n\t\t\t\tcontent: 'inline*',\n\t\t\t\tgroup: 'block',\n\t\t\t\tparseDOM: [{ tag: 'span' }],\n\t\t\t\ttoDOM() {\n\t\t\t\t\treturn ['span', { class: 'measure' }, 0]\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tunit: {\n\t\t\t\tcontent: 'inline*',\n\t\t\t\tgroup: 'block',\n\t\t\t\tparseDOM: [{ tag: 'span.unit' }],\n\t\t\t\ttoDOM() {\n\t\t\t\t\treturn ['span', { class: 'unit' }, 0]\n\t\t\t\t},\n\t\t\t\teditable: false,\n\t\t\t},\n\n\t\t\ttext: {\n\t\t\t\tgroup: 'inline',\n\t\t\t},\n\t\t},\n\t\tmarks: {},\n\t}\n}\n\nexport const measureTransactionMapper = (tr: Transaction) => {\n\tconst decimal = tr.doc.childCount && tr.doc.child(0).type.name === 'decimal' ? tr.doc.child(0) : null\n\tconst decimalText = decimal?.textContent ?? ''\n\tconst unit = tr.doc.childCount > 1 && tr.doc.child(1).type.name === 'unit' ? tr.doc.child(1) : null\n\tconst unitText = unit?.textContent\n\tconst schema = tr.doc.type.schema\n\n\tconst from = tr.selection.from\n\n\tconsole.log(`[${decimalText}] <${unitText}> : ${from} - ${tr.selection.to}`)\n\n\tif (decimalText?.match(/^[0-9.,-]+$/)) {\n\t\treturn tr\n\t}\n\n\tconst combinedText = (decimalText ?? '') + (unitText ?? '')\n\n\tconst newUnitText = combinedText.replace(/^[0-9.,-]*/, '').trimStart()\n\tconst newDecimalText = combinedText.replace(/^([0-9.,-]*) *.*$/, '$1').trim()\n\n\tif (newDecimalText === decimalText && newUnitText === unitText) {\n\t\treturn tr\n\t}\n\n\tconst patchedTr = tr.replaceWith(0, tr.doc.content.size, [\n\t\tschema.nodes['paragraph'].create(\n\t\t\t{},\n\t\t\t[\n\t\t\t\tschema.nodes['decimal'].create({}, newDecimalText.length ? [schema.text(newDecimalText)] : []),\n\t\t\t\tnewUnitText?.length ? schema.nodes['unit'].create({}, schema.text(newUnitText)) : undefined,\n\t\t\t].filter((x) => !!x) as Node[],\n\t\t),\n\t])\n\n\tconst newFrom =\n\t\tpatchedTr.steps.slice(tr.steps.length).reduce((acc, step) => step.getMap().map(acc), from) +\n\t\t(newUnitText?.charAt(0) !== unitText?.charAt(0) && (newUnitText?.length ?? 0) > (unitText?.length ?? 0) ? 2 : 0) +\n\t\t((newDecimalText?.length ?? 0) > (decimalText?.length ?? 0) && (newUnitText?.length ?? 0) < (unitText?.length ?? 0) ? -2 : 0)\n\n\treturn patchedTr.setSelection(TextSelection.create(patchedTr.doc, Math.min(newFrom, tr.doc.content.size - 1)))\n}\n\nexport const measureOnFocusHandler = (view: EditorView) => {\n\tconst doc = view.state.tr.doc\n\tconst decimal = doc.childCount && doc.child(0).type.name === 'decimal' ? doc.child(0) : null\n\tconst decimalText = decimal?.textContent ?? ''\n\tconst unit = doc.childCount > 1 && doc.child(1).type.name === 'unit' ? doc.child(1) : null\n\tconst unitText = unit?.textContent\n\n\tif (unitText?.length && !decimalText?.length) {\n\t\tconsole.log('Setting selection to 1')\n\t\tview.dispatch(view.state.tr.setSelection(TextSelection.create(view.state.tr.doc, 1)))\n\t}\n}\n"]}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTokensSpec = void 0;
4
- const utils_1 = require("./utils");
5
- const common_marks_1 = require("./common-marks");
6
- function getTokensSpec(type, contentProvider, colorProvider) {
1
+ import { reduceMarks, reduceNodes } from './utils';
2
+ import { getMarks } from './common-marks';
3
+ export function getTokensSpec(type, contentProvider, colorProvider) {
7
4
  const marksSelector = (key) => {
8
5
  // noinspection RedundantConditionalExpressionJS
9
6
  return key !== 'link' && ['styled-tokens-list', 'styled-tokens-list-with-codes'].includes(type)
@@ -13,7 +10,7 @@ function getTokensSpec(type, contentProvider, colorProvider) {
13
10
  : false;
14
11
  };
15
12
  return {
16
- nodes: (0, utils_1.reduceNodes)({
13
+ nodes: reduceNodes({
17
14
  doc: {
18
15
  content: 'token*',
19
16
  },
@@ -30,8 +27,7 @@ function getTokensSpec(type, contentProvider, colorProvider) {
30
27
  group: 'inline',
31
28
  },
32
29
  }),
33
- marks: (0, utils_1.reduceMarks)((0, common_marks_1.getMarks)(contentProvider, colorProvider), marksSelector),
30
+ marks: reduceMarks(getMarks(contentProvider, colorProvider), marksSelector),
34
31
  };
35
32
  }
36
- exports.getTokensSpec = getTokensSpec;
37
33
  //# sourceMappingURL=token-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-schema.js","sourceRoot":"","sources":["../../../../tmp/components/icure-text-field/schema/token-schema.ts"],"names":[],"mappings":";;;AACA,mCAAkD;AAClD,iDAAyC;AAIzC,SAAgB,aAAa,CAC5B,IAAkB,EAClB,eAAoE,EACpE,aAAsE;IAEtE,MAAM,aAAa,GAA6C,CAAC,GAAW,EAAE,EAAE;QAC/E,gDAAgD;QAChD,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9F,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;gBACxE,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAA;IACT,CAAC,CAAA;IACD,OAAO;QACN,KAAK,EAAE,IAAA,mBAAW,EAAC;YAClB,GAAG,EAAE;gBACJ,OAAO,EAAE,QAAQ;aACjB;YAED,KAAK,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;gBACrC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI;oBACT,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,oCAAoC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBAClH,CAAC;aACD;YAED,IAAI,EAAE;gBACL,KAAK,EAAE,QAAQ;aACf;SACD,CAAC;QACF,KAAK,EAAE,IAAA,mBAAW,EAAC,IAAA,uBAAQ,EAAC,eAAe,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC;KAC3E,CAAA;AACF,CAAC;AAnCD,sCAmCC","sourcesContent":["import { MarkSpec, SchemaSpec } from 'prosemirror-model'\nimport { reduceMarks, reduceNodes } from './utils'\nimport { getMarks } from './common-marks'\n\nexport type TokensSchema = 'tokens-list' | 'styled-tokens-list' | 'tokens-list-with-codes' | 'styled-tokens-list-with-codes'\n\nexport function getTokensSpec(\n\ttype: TokensSchema,\n\tcontentProvider: (codes: { type: string; code: string }[]) => string,\n\tcolorProvider: (type: string, code: string, isCode: boolean) => string,\n): SchemaSpec {\n\tconst marksSelector: (key: string, spec: MarkSpec) => boolean = (key: string) => {\n\t\t// noinspection RedundantConditionalExpressionJS\n\t\treturn key !== 'link' && ['styled-tokens-list', 'styled-tokens-list-with-codes'].includes(type)\n\t\t\t? true\n\t\t\t: key === 'link' && ['tokens-list-with-codes', 'styled-text-with-codes']\n\t\t\t? true\n\t\t\t: false\n\t}\n\treturn {\n\t\tnodes: reduceNodes({\n\t\t\tdoc: {\n\t\t\t\tcontent: 'token*',\n\t\t\t},\n\n\t\t\ttoken: {\n\t\t\t\tcontent: 'inline*',\n\t\t\t\tgroup: 'block',\n\t\t\t\tattrs: { id: { default: undefined } },\n\t\t\t\tparseDOM: [{ tag: 'li' }],\n\t\t\t\ttoDOM(node) {\n\t\t\t\t\treturn ['li', {}, ['span', { class: 'token' }, 0], ['icure-metadata-buttons-bar-wrapper', { id: node.attrs.id }]]\n\t\t\t\t},\n\t\t\t},\n\n\t\t\ttext: {\n\t\t\t\tgroup: 'inline',\n\t\t\t},\n\t\t}),\n\t\tmarks: reduceMarks(getMarks(contentProvider, colorProvider), marksSelector),\n\t}\n}\n"]}
1
+ {"version":3,"file":"token-schema.js","sourceRoot":"","sources":["../../../../tmp/components/icure-text-field/schema/token-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,MAAM,UAAU,aAAa,CAC5B,IAAkB,EAClB,eAAoE,EACpE,aAAsE;IAEtE,MAAM,aAAa,GAA6C,CAAC,GAAW,EAAE,EAAE;QAC/E,gDAAgD;QAChD,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9F,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;gBACxE,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAA;IACT,CAAC,CAAA;IACD,OAAO;QACN,KAAK,EAAE,WAAW,CAAC;YAClB,GAAG,EAAE;gBACJ,OAAO,EAAE,QAAQ;aACjB;YAED,KAAK,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;gBACrC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI;oBACT,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,oCAAoC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBAClH,CAAC;aACD;YAED,IAAI,EAAE;gBACL,KAAK,EAAE,QAAQ;aACf;SACD,CAAC;QACF,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC;KAC3E,CAAA;AACF,CAAC","sourcesContent":["import { MarkSpec, SchemaSpec } from 'prosemirror-model'\nimport { reduceMarks, reduceNodes } from './utils'\nimport { getMarks } from './common-marks'\n\nexport type TokensSchema = 'tokens-list' | 'styled-tokens-list' | 'tokens-list-with-codes' | 'styled-tokens-list-with-codes'\n\nexport function getTokensSpec(\n\ttype: TokensSchema,\n\tcontentProvider: (codes: { type: string; code: string }[]) => string,\n\tcolorProvider: (type: string, code: string, isCode: boolean) => string,\n): SchemaSpec {\n\tconst marksSelector: (key: string, spec: MarkSpec) => boolean = (key: string) => {\n\t\t// noinspection RedundantConditionalExpressionJS\n\t\treturn key !== 'link' && ['styled-tokens-list', 'styled-tokens-list-with-codes'].includes(type)\n\t\t\t? true\n\t\t\t: key === 'link' && ['tokens-list-with-codes', 'styled-text-with-codes']\n\t\t\t? true\n\t\t\t: false\n\t}\n\treturn {\n\t\tnodes: reduceNodes({\n\t\t\tdoc: {\n\t\t\t\tcontent: 'token*',\n\t\t\t},\n\n\t\t\ttoken: {\n\t\t\t\tcontent: 'inline*',\n\t\t\t\tgroup: 'block',\n\t\t\t\tattrs: { id: { default: undefined } },\n\t\t\t\tparseDOM: [{ tag: 'li' }],\n\t\t\t\ttoDOM(node) {\n\t\t\t\t\treturn ['li', {}, ['span', { class: 'token' }, 0], ['icure-metadata-buttons-bar-wrapper', { id: node.attrs.id }]]\n\t\t\t\t},\n\t\t\t},\n\n\t\t\ttext: {\n\t\t\t\tgroup: 'inline',\n\t\t\t},\n\t\t}),\n\t\tmarks: reduceMarks(getMarks(contentProvider, colorProvider), marksSelector),\n\t}\n}\n"]}
@@ -1,12 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reduceMarks = exports.reduceNodes = void 0;
4
- function reduceNodes(nodes, selector = () => true) {
1
+ export function reduceNodes(nodes, selector = () => true) {
5
2
  return Object.keys(nodes).reduce((r, k) => (selector(k, nodes[k]) ? Object.assign(r, { [k]: nodes[k] }) : r), {});
6
3
  }
7
- exports.reduceNodes = reduceNodes;
8
- function reduceMarks(marks, selector = () => true) {
4
+ export function reduceMarks(marks, selector = () => true) {
9
5
  return Object.keys(marks).reduce((r, k) => (selector(k, marks[k]) ? Object.assign(r, { [k]: marks[k] }) : r), {});
10
6
  }
11
- exports.reduceMarks = reduceMarks;
12
7
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../tmp/components/icure-text-field/schema/utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,KAAkC,EAAE,WAAqD,GAAG,EAAE,CAAC,IAAI;IAC9H,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAiC,CAAC,CAAA;AACjJ,CAAC;AAFD,kCAEC;AAED,SAAgB,WAAW,CAAC,KAAkC,EAAE,WAAqD,GAAG,EAAE,CAAC,IAAI;IAC9H,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAiC,CAAC,CAAA;AACjJ,CAAC;AAFD,kCAEC","sourcesContent":["import { MarkSpec, NodeSpec } from 'prosemirror-model'\n\nexport function reduceNodes(nodes: { [key: string]: NodeSpec }, selector: (key: string, spec: NodeSpec) => boolean = () => true): { [key: string]: NodeSpec } {\n\treturn Object.keys(nodes).reduce((r, k) => (selector(k, nodes[k]) ? Object.assign(r, { [k]: nodes[k] }) : r), {} as { [key: string]: NodeSpec })\n}\n\nexport function reduceMarks(marks: { [key: string]: MarkSpec }, selector: (key: string, spec: MarkSpec) => boolean = () => true): { [key: string]: MarkSpec } {\n\treturn Object.keys(marks).reduce((r, k) => (selector(k, marks[k]) ? Object.assign(r, { [k]: marks[k] }) : r), {} as { [key: string]: MarkSpec })\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../tmp/components/icure-text-field/schema/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAkC,EAAE,WAAqD,GAAG,EAAE,CAAC,IAAI;IAC9H,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAiC,CAAC,CAAA;AACjJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkC,EAAE,WAAqD,GAAG,EAAE,CAAC,IAAI;IAC9H,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAiC,CAAC,CAAA;AACjJ,CAAC","sourcesContent":["import { MarkSpec, NodeSpec } from 'prosemirror-model'\n\nexport function reduceNodes(nodes: { [key: string]: NodeSpec }, selector: (key: string, spec: NodeSpec) => boolean = () => true): { [key: string]: NodeSpec } {\n\treturn Object.keys(nodes).reduce((r, k) => (selector(k, nodes[k]) ? Object.assign(r, { [k]: nodes[k] }) : r), {} as { [key: string]: NodeSpec })\n}\n\nexport function reduceMarks(marks: { [key: string]: MarkSpec }, selector: (key: string, spec: MarkSpec) => boolean = () => true): { [key: string]: MarkSpec } {\n\treturn Object.keys(marks).reduce((r, k) => (selector(k, marks[k]) ? Object.assign(r, { [k]: marks[k] }) : r), {} as { [key: string]: MarkSpec })\n}\n"]}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SelectionCompanion = void 0;
4
- class SelectionCompanion {
1
+ export class SelectionCompanion {
5
2
  constructor(view, delay) {
6
3
  var _a, _b;
7
4
  this.delay = () => false;
@@ -50,5 +47,4 @@ class SelectionCompanion {
50
47
  this.companion.remove();
51
48
  }
52
49
  }
53
- exports.SelectionCompanion = SelectionCompanion;
54
50
  //# sourceMappingURL=selection-companion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection-companion.js","sourceRoot":"","sources":["../../../tmp/components/icure-text-field/selection-companion.ts"],"names":[],"mappings":";;;AAGA,MAAa,kBAAkB;IAK9B,YAAY,IAAgB,EAAE,KAAoB;;QAH1C,UAAK,GAAkB,GAAG,EAAE,CAAC,KAAK,CAAA;QAClC,aAAQ,GAAG,CAAC,CAAA;QAGnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,WAAW,CAAA;QAEtC,MAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,IAAgB,EAAE,SAAuB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,4DAA4D;QAC5D,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACzF,OAAM;QACP,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;YACrC,OAAM;QACP,CAAC;QAED,kDAAkD;QAClD,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QAC9B,kCAAkC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;IAEO,OAAO,CAAC,GAAiE,EAAE,IAAY;;QAC9F,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAM;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YAC9C,OAAM;QACP,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;QACjC,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,YAAY,0CAAE,qBAAqB,EAAE,CAAA;QAChE,IAAI,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;YACvD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;YACvD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;YAC7D,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,GAAG,CAAA;QACjC,CAAC;IACF,CAAC;IAED,OAAO;QACN,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC;CACD;AAvDD,gDAuDC","sourcesContent":["import { EditorView } from 'prosemirror-view'\nimport { EditorState } from 'prosemirror-state'\n\nexport class SelectionCompanion {\n\tprivate readonly companion: HTMLDivElement\n\tprivate delay: () => boolean = () => false\n\tprivate lastTime = 0\n\n\tconstructor(view: EditorView, delay: () => boolean) {\n\t\tthis.companion = document.createElement('div')\n\t\tthis.companion.className = 'companion'\n\n\t\tview.dom?.parentNode?.appendChild(this.companion)\n\n\t\tthis.delay = delay\n\n\t\tthis.update(view, undefined)\n\t}\n\n\tupdate(view: EditorView, lastState?: EditorState): void {\n\t\tconst state = view.state\n\t\t// Don't do anything if the document/selection didn't change\n\t\tif (lastState && lastState.doc.eq(state.doc) && lastState.selection.eq(state.selection)) {\n\t\t\treturn\n\t\t}\n\n\t\t// Hide the companion if the selection is empty\n\t\tif (state.selection.empty) {\n\t\t\tthis.companion.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\t// Otherwise, reposition it and update its content\n\t\tconst { to } = state.selection\n\t\t// These are in screen coordinates\n\t\tconst end = view.coordsAtPos(to)\n\t\tthis.display(end, (this.lastTime = +new Date()))\n\t}\n\n\tprivate display(pos: { left: number; right: number; top: number; bottom: number }, time: number) {\n\t\tif (time !== this.lastTime) return\n\t\tif (this.delay()) {\n\t\t\tsetTimeout(() => this.display(pos, time), 100)\n\t\t\treturn\n\t\t}\n\t\tthis.companion.style.display = ''\n\t\tconst box = this.companion.offsetParent?.getBoundingClientRect()\n\t\tif (box) {\n\t\t\tthis.companion.style.left = pos.right - box.left + 'px'\n\t\t\tthis.companion.style.top = pos.top - box.top - 2 + 'px'\n\t\t\tthis.companion.style.height = pos.bottom - pos.top + 2 + 'px'\n\t\t\tthis.companion.textContent = '+'\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.companion.remove()\n\t}\n}\n"]}
1
+ {"version":3,"file":"selection-companion.js","sourceRoot":"","sources":["../../../tmp/components/icure-text-field/selection-companion.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IAK9B,YAAY,IAAgB,EAAE,KAAoB;;QAH1C,UAAK,GAAkB,GAAG,EAAE,CAAC,KAAK,CAAA;QAClC,aAAQ,GAAG,CAAC,CAAA;QAGnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,WAAW,CAAA;QAEtC,MAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,IAAgB,EAAE,SAAuB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,4DAA4D;QAC5D,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACzF,OAAM;QACP,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;YACrC,OAAM;QACP,CAAC;QAED,kDAAkD;QAClD,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QAC9B,kCAAkC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;IAEO,OAAO,CAAC,GAAiE,EAAE,IAAY;;QAC9F,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAM;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YAC9C,OAAM;QACP,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;QACjC,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,YAAY,0CAAE,qBAAqB,EAAE,CAAA;QAChE,IAAI,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;YACvD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;YACvD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;YAC7D,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,GAAG,CAAA;QACjC,CAAC;IACF,CAAC;IAED,OAAO;QACN,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC;CACD","sourcesContent":["import { EditorView } from 'prosemirror-view'\nimport { EditorState } from 'prosemirror-state'\n\nexport class SelectionCompanion {\n\tprivate readonly companion: HTMLDivElement\n\tprivate delay: () => boolean = () => false\n\tprivate lastTime = 0\n\n\tconstructor(view: EditorView, delay: () => boolean) {\n\t\tthis.companion = document.createElement('div')\n\t\tthis.companion.className = 'companion'\n\n\t\tview.dom?.parentNode?.appendChild(this.companion)\n\n\t\tthis.delay = delay\n\n\t\tthis.update(view, undefined)\n\t}\n\n\tupdate(view: EditorView, lastState?: EditorState): void {\n\t\tconst state = view.state\n\t\t// Don't do anything if the document/selection didn't change\n\t\tif (lastState && lastState.doc.eq(state.doc) && lastState.selection.eq(state.selection)) {\n\t\t\treturn\n\t\t}\n\n\t\t// Hide the companion if the selection is empty\n\t\tif (state.selection.empty) {\n\t\t\tthis.companion.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\t// Otherwise, reposition it and update its content\n\t\tconst { to } = state.selection\n\t\t// These are in screen coordinates\n\t\tconst end = view.coordsAtPos(to)\n\t\tthis.display(end, (this.lastTime = +new Date()))\n\t}\n\n\tprivate display(pos: { left: number; right: number; top: number; bottom: number }, time: number) {\n\t\tif (time !== this.lastTime) return\n\t\tif (this.delay()) {\n\t\t\tsetTimeout(() => this.display(pos, time), 100)\n\t\t\treturn\n\t\t}\n\t\tthis.companion.style.display = ''\n\t\tconst box = this.companion.offsetParent?.getBoundingClientRect()\n\t\tif (box) {\n\t\t\tthis.companion.style.left = pos.right - box.left + 'px'\n\t\t\tthis.companion.style.top = pos.top - box.top - 2 + 'px'\n\t\t\tthis.companion.style.height = pos.bottom - pos.top + 2 + 'px'\n\t\t\tthis.companion.textContent = '+'\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.companion.remove()\n\t}\n}\n"]}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,13 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.SuggestionPalette = void 0;
16
- const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
17
- class SuggestionPalette {
10
+ import equal from 'fast-deep-equal';
11
+ export class SuggestionPalette {
18
12
  constructor(schema, view, suggestionProvider, suggestionStopWordsProvider, delay) {
19
13
  var _a, _b;
20
14
  this.delay = () => false;
@@ -61,7 +55,7 @@ class SuggestionPalette {
61
55
  const stopWords = this.suggestionStopWordsProvider();
62
56
  let length = sug.terms.join(' ').length - 1;
63
57
  while (sel.to - length >= 0 &&
64
- !(0, fast_deep_equal_1.default)(view.state.doc
58
+ !equal(view.state.doc
65
59
  .textBetween(sel.to - length, sel.to)
66
60
  .split(/\s+/)
67
61
  .filter((x) => !stopWords.has(x)), sug.terms)) {
@@ -165,5 +159,4 @@ class SuggestionPalette {
165
159
  this.palette.remove();
166
160
  }
167
161
  }
168
- exports.SuggestionPalette = SuggestionPalette;
169
162
  //# sourceMappingURL=suggestion-palette.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion-palette.js","sourceRoot":"","sources":["../../../tmp/components/icure-text-field/suggestion-palette.ts"],"names":[],"mappings":"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","sourcesContent":["import equal from 'fast-deep-equal'\n\nimport { EditorView } from 'prosemirror-view'\nimport { EditorState, Transaction } from 'prosemirror-state'\nimport { Schema } from 'prosemirror-model'\nimport { Suggestion } from '../../generic'\n\nexport class SuggestionPalette {\n\tprivate readonly palette: HTMLDivElement\n\tprivate delay: () => boolean = () => false\n\tprivate lastTime = 0\n\tprivate suggestionProvider: (terms: string[]) => Promise<Suggestion[]>\n\tprivate previousFingerprint?: string\n\n\tprivate suggestionStopWordsProvider: () => Set<string>\n\tprivate currentFocus?: number\n\tprivate hasFocus = false\n\tprivate suggestions: Suggestion[] = []\n\tprivate schema: Schema\n\n\tconstructor(\n\t\tschema: Schema,\n\t\tview: EditorView,\n\t\tsuggestionProvider: (terms: string[]) => Promise<Suggestion[]>,\n\t\tsuggestionStopWordsProvider: () => Set<string>,\n\t\tdelay?: () => boolean,\n\t) {\n\t\tthis.schema = schema\n\t\tthis.suggestionStopWordsProvider = suggestionStopWordsProvider\n\t\tthis.suggestionProvider = suggestionProvider\n\t\tthis.palette = document.createElement('div')\n\t\tthis.palette.className = 'suggestion-palette'\n\n\t\tview.dom?.parentNode?.appendChild(this.palette)\n\n\t\tdelay && (this.delay = delay)\n\n\t\tthis.update(view, undefined)\n\t}\n\n\tfocusItem(idx?: number): void {\n\t\tconst ul = this.palette.getElementsByTagName('ul')[0]\n\t\tif (ul) {\n\t\t\tul.classList.add('focused')\n\t\t\tconst lis = ul.getElementsByTagName('li')\n\t\t\tthis.currentFocus !== undefined && (lis[this.currentFocus] as HTMLElement).classList.remove('focused')\n\t\t\tidx !== undefined && (lis[idx] as HTMLElement).classList.add('focused')\n\n\t\t\tthis.currentFocus = idx\n\t\t}\n\t}\n\n\tfocus(): boolean {\n\t\tif (this.palette.style.display === 'none') return false\n\t\tthis.hasFocus = true\n\t\tthis.focusItem(0)\n\t\treturn true\n\t}\n\n\tfocusOrInsert(view: EditorView, transactionProvider: (from: number, to: number, sug: Suggestion) => Promise<Transaction | undefined>): boolean {\n\t\tif (this.palette.style.display === 'none') return false\n\t\treturn this.hasFocus ? this.insert(view, transactionProvider) : this.focus()\n\t}\n\n\tinsert(view: EditorView, transactionProvider: (from: number, to: number, sug: Suggestion) => Promise<Transaction | undefined>): boolean {\n\t\tif (this.palette.style.display === 'none' || !this.hasFocus || this.currentFocus === undefined) return false\n\t\tconst sug = this.suggestions[this.currentFocus]\n\t\tif (sug) {\n\t\t\tconst sel = view.state.selection\n\t\t\tconst stopWords = this.suggestionStopWordsProvider()\n\n\t\t\tlet length = sug.terms.join(' ').length - 1\n\t\t\twhile (\n\t\t\t\tsel.to - length >= 0 &&\n\t\t\t\t!equal(\n\t\t\t\t\tview.state.doc\n\t\t\t\t\t\t.textBetween(sel.to - length, sel.to)\n\t\t\t\t\t\t.split(/\\s+/)\n\t\t\t\t\t\t.filter((x) => !stopWords.has(x)),\n\t\t\t\t\tsug.terms,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlength++\n\t\t\t}\n\t\t\tif (length > sel.to) {\n\t\t\t\tlength = sug.terms.join(' ').length\n\t\t\t\twhile (sel.to - length >= 0 && !view.state.doc.textBetween(sel.to - length, sel.to).startsWith(sug.terms[0])) {\n\t\t\t\t\tlength++\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (length <= sel.to) {\n\t\t\t\ttransactionProvider(sel.to - length, sel.to, sug).then((tr) => tr && view.dispatch(tr.scrollIntoView()))\n\t\t\t}\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n\n\tarrowUp(): boolean {\n\t\tif (!this.hasFocus) return false\n\t\tthis.currentFocus && this.focusItem(this.currentFocus - 1)\n\t\treturn true\n\t}\n\n\tarrowDown(): boolean {\n\t\tif (!this.hasFocus) return false\n\t\tthis.currentFocus !== undefined && this.currentFocus < this.palette.getElementsByTagName('ul')[0].childElementCount - 1 && this.focusItem(this.currentFocus + 1)\n\t\treturn true\n\t}\n\n\tupdate(view: EditorView, lastState?: EditorState): void {\n\t\tconst state = view.state\n\n\t\t// Hide the palette if the selection is not empty\n\t\tthis.focusItem(undefined)\n\t\tthis.hasFocus = false\n\n\t\tif (!state.selection.empty) {\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\tconst $pos = state.selection.$head\n\t\tif (lastState?.doc.textContent === state.doc.textContent) {\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\tconst text = state.doc.textBetween($pos.pos && $pos.depth ? $pos.before() + 1 : 0, $pos.pos)\n\n\t\tconst words = text.split(/\\s+/)\n\t\tconst lastWordDelta = Math.min(\n\t\t\twords\n\t\t\t\t.concat()\n\t\t\t\t.reverse()\n\t\t\t\t.reduce((d, w) => (d < 0 ? d : w.length ? -d - w.length : d + 1), 0),\n\t\t\t-1,\n\t\t)\n\t\tconsole.log('lwd', lastWordDelta)\n\t\tif ($pos.pos > 1 && state.doc.rangeHasMark($pos.pos + lastWordDelta, $pos.pos, this.schema.marks['link'])) {\n\t\t\tconsole.log('Skip suggestion')\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\tconst terms = words.filter((x) => x.length > 2 && !this.suggestionStopWordsProvider().has(x))\n\t\tconst lastTerms = terms.length > 3 ? terms.slice(length - 3) : terms\n\t\tconst fingerprint = lastTerms.join(' ')\n\n\t\tconst { to } = state.selection\n\n\t\tif (this.previousFingerprint !== fingerprint) {\n\t\t\tthis.previousFingerprint = fingerprint\n\t\t\tsetTimeout(async () => {\n\t\t\t\tif (this.previousFingerprint !== fingerprint) return\n\t\t\t\tconst res = await this.suggestionProvider(lastTerms)\n\t\t\t\tthis.suggestions = res\n\t\t\t\tif (res.length) {\n\t\t\t\t\tthis.palette.innerHTML = `<ul>${res\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t`<li id=\"${x.id}\" data-code=\"${x.code}\">${x.text}<div class=\"icn-container\"><svg class=\"tab-icn\" viewBox=\"0 0 24 24\"><path d=\"M12.29 8.12L15.17 11H2c-.55 0-1 .45-1 1s.45 1 1 1h13.17l-2.88 2.88c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L13.7 6.7c-.39-.39-1.02-.39-1.41 0-.38.39-.39 1.03 0 1.42zM20 7v10c0 .55.45 1 1 1s1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1z\"/></svg><svg class=\"return-icn\" viewBox=\"0 0 24 24\"><path d=\"M19 8v3H5.83l2.88-2.88c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0L2.71 11.3c-.39.39-.39 1.02 0 1.41L7.3 17.3c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L5.83 13H20c.55 0 1-.45 1-1V8c0-.55-.45-1-1-1s-1 .45-1 1z\"/></svg></div></li>`,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.join('\\n')}</ul>`\n\t\t\t\t\t// These are in screen coordinates\n\t\t\t\t\tconst end = view.coordsAtPos(to)\n\t\t\t\t\tconst start = view.coordsAtPos(Math.max(0, to - terms[terms.length - 1].length))\n\n\t\t\t\t\tthis.display(start.left > end.left ? end : start, (this.lastTime = +new Date()))\n\t\t\t\t} else {\n\t\t\t\t\tthis.palette.style.display = 'none'\n\t\t\t\t}\n\t\t\t}, 30)\n\t\t}\n\t}\n\n\tprivate display(pos: { left: number; right: number; top: number; bottom: number }, time: number): void {\n\t\tif (time !== this.lastTime) return\n\t\tif (this.delay()) {\n\t\t\tsetTimeout(() => this.display(pos, time), 100)\n\t\t\treturn\n\t\t}\n\t\tthis.palette.style.display = ''\n\t\tconst box = this.palette.offsetParent?.getBoundingClientRect()\n\t\tconst palBox = this.palette.getBoundingClientRect()\n\t\tif (box) {\n\t\t\tthis.palette.style.left = Math.max(0, Math.min(pos.left - box.left - 12, box.width - palBox.width)) + 'px'\n\t\t\tthis.palette.style.top = pos.bottom - box.top + 4 + 'px'\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.palette.remove()\n\t}\n}\n"]}
1
+ {"version":3,"file":"suggestion-palette.js","sourceRoot":"","sources":["../../../tmp/components/icure-text-field/suggestion-palette.ts"],"names":[],"mappings":"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","sourcesContent":["import equal from 'fast-deep-equal'\n\nimport { EditorView } from 'prosemirror-view'\nimport { EditorState, Transaction } from 'prosemirror-state'\nimport { Schema } from 'prosemirror-model'\nimport { Suggestion } from '../../generic'\n\nexport class SuggestionPalette {\n\tprivate readonly palette: HTMLDivElement\n\tprivate delay: () => boolean = () => false\n\tprivate lastTime = 0\n\tprivate suggestionProvider: (terms: string[]) => Promise<Suggestion[]>\n\tprivate previousFingerprint?: string\n\n\tprivate suggestionStopWordsProvider: () => Set<string>\n\tprivate currentFocus?: number\n\tprivate hasFocus = false\n\tprivate suggestions: Suggestion[] = []\n\tprivate schema: Schema\n\n\tconstructor(\n\t\tschema: Schema,\n\t\tview: EditorView,\n\t\tsuggestionProvider: (terms: string[]) => Promise<Suggestion[]>,\n\t\tsuggestionStopWordsProvider: () => Set<string>,\n\t\tdelay?: () => boolean,\n\t) {\n\t\tthis.schema = schema\n\t\tthis.suggestionStopWordsProvider = suggestionStopWordsProvider\n\t\tthis.suggestionProvider = suggestionProvider\n\t\tthis.palette = document.createElement('div')\n\t\tthis.palette.className = 'suggestion-palette'\n\n\t\tview.dom?.parentNode?.appendChild(this.palette)\n\n\t\tdelay && (this.delay = delay)\n\n\t\tthis.update(view, undefined)\n\t}\n\n\tfocusItem(idx?: number): void {\n\t\tconst ul = this.palette.getElementsByTagName('ul')[0]\n\t\tif (ul) {\n\t\t\tul.classList.add('focused')\n\t\t\tconst lis = ul.getElementsByTagName('li')\n\t\t\tthis.currentFocus !== undefined && (lis[this.currentFocus] as HTMLElement).classList.remove('focused')\n\t\t\tidx !== undefined && (lis[idx] as HTMLElement).classList.add('focused')\n\n\t\t\tthis.currentFocus = idx\n\t\t}\n\t}\n\n\tfocus(): boolean {\n\t\tif (this.palette.style.display === 'none') return false\n\t\tthis.hasFocus = true\n\t\tthis.focusItem(0)\n\t\treturn true\n\t}\n\n\tfocusOrInsert(view: EditorView, transactionProvider: (from: number, to: number, sug: Suggestion) => Promise<Transaction | undefined>): boolean {\n\t\tif (this.palette.style.display === 'none') return false\n\t\treturn this.hasFocus ? this.insert(view, transactionProvider) : this.focus()\n\t}\n\n\tinsert(view: EditorView, transactionProvider: (from: number, to: number, sug: Suggestion) => Promise<Transaction | undefined>): boolean {\n\t\tif (this.palette.style.display === 'none' || !this.hasFocus || this.currentFocus === undefined) return false\n\t\tconst sug = this.suggestions[this.currentFocus]\n\t\tif (sug) {\n\t\t\tconst sel = view.state.selection\n\t\t\tconst stopWords = this.suggestionStopWordsProvider()\n\n\t\t\tlet length = sug.terms.join(' ').length - 1\n\t\t\twhile (\n\t\t\t\tsel.to - length >= 0 &&\n\t\t\t\t!equal(\n\t\t\t\t\tview.state.doc\n\t\t\t\t\t\t.textBetween(sel.to - length, sel.to)\n\t\t\t\t\t\t.split(/\\s+/)\n\t\t\t\t\t\t.filter((x) => !stopWords.has(x)),\n\t\t\t\t\tsug.terms,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlength++\n\t\t\t}\n\t\t\tif (length > sel.to) {\n\t\t\t\tlength = sug.terms.join(' ').length\n\t\t\t\twhile (sel.to - length >= 0 && !view.state.doc.textBetween(sel.to - length, sel.to).startsWith(sug.terms[0])) {\n\t\t\t\t\tlength++\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (length <= sel.to) {\n\t\t\t\ttransactionProvider(sel.to - length, sel.to, sug).then((tr) => tr && view.dispatch(tr.scrollIntoView()))\n\t\t\t}\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n\n\tarrowUp(): boolean {\n\t\tif (!this.hasFocus) return false\n\t\tthis.currentFocus && this.focusItem(this.currentFocus - 1)\n\t\treturn true\n\t}\n\n\tarrowDown(): boolean {\n\t\tif (!this.hasFocus) return false\n\t\tthis.currentFocus !== undefined && this.currentFocus < this.palette.getElementsByTagName('ul')[0].childElementCount - 1 && this.focusItem(this.currentFocus + 1)\n\t\treturn true\n\t}\n\n\tupdate(view: EditorView, lastState?: EditorState): void {\n\t\tconst state = view.state\n\n\t\t// Hide the palette if the selection is not empty\n\t\tthis.focusItem(undefined)\n\t\tthis.hasFocus = false\n\n\t\tif (!state.selection.empty) {\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\tconst $pos = state.selection.$head\n\t\tif (lastState?.doc.textContent === state.doc.textContent) {\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\tconst text = state.doc.textBetween($pos.pos && $pos.depth ? $pos.before() + 1 : 0, $pos.pos)\n\n\t\tconst words = text.split(/\\s+/)\n\t\tconst lastWordDelta = Math.min(\n\t\t\twords\n\t\t\t\t.concat()\n\t\t\t\t.reverse()\n\t\t\t\t.reduce((d, w) => (d < 0 ? d : w.length ? -d - w.length : d + 1), 0),\n\t\t\t-1,\n\t\t)\n\t\tconsole.log('lwd', lastWordDelta)\n\t\tif ($pos.pos > 1 && state.doc.rangeHasMark($pos.pos + lastWordDelta, $pos.pos, this.schema.marks['link'])) {\n\t\t\tconsole.log('Skip suggestion')\n\t\t\tthis.palette.style.display = 'none'\n\t\t\treturn\n\t\t}\n\n\t\tconst terms = words.filter((x) => x.length > 2 && !this.suggestionStopWordsProvider().has(x))\n\t\tconst lastTerms = terms.length > 3 ? terms.slice(length - 3) : terms\n\t\tconst fingerprint = lastTerms.join(' ')\n\n\t\tconst { to } = state.selection\n\n\t\tif (this.previousFingerprint !== fingerprint) {\n\t\t\tthis.previousFingerprint = fingerprint\n\t\t\tsetTimeout(async () => {\n\t\t\t\tif (this.previousFingerprint !== fingerprint) return\n\t\t\t\tconst res = await this.suggestionProvider(lastTerms)\n\t\t\t\tthis.suggestions = res\n\t\t\t\tif (res.length) {\n\t\t\t\t\tthis.palette.innerHTML = `<ul>${res\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\t\t`<li id=\"${x.id}\" data-code=\"${x.code}\">${x.text}<div class=\"icn-container\"><svg class=\"tab-icn\" viewBox=\"0 0 24 24\"><path d=\"M12.29 8.12L15.17 11H2c-.55 0-1 .45-1 1s.45 1 1 1h13.17l-2.88 2.88c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L13.7 6.7c-.39-.39-1.02-.39-1.41 0-.38.39-.39 1.03 0 1.42zM20 7v10c0 .55.45 1 1 1s1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1z\"/></svg><svg class=\"return-icn\" viewBox=\"0 0 24 24\"><path d=\"M19 8v3H5.83l2.88-2.88c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0L2.71 11.3c-.39.39-.39 1.02 0 1.41L7.3 17.3c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L5.83 13H20c.55 0 1-.45 1-1V8c0-.55-.45-1-1-1s-1 .45-1 1z\"/></svg></div></li>`,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.join('\\n')}</ul>`\n\t\t\t\t\t// These are in screen coordinates\n\t\t\t\t\tconst end = view.coordsAtPos(to)\n\t\t\t\t\tconst start = view.coordsAtPos(Math.max(0, to - terms[terms.length - 1].length))\n\n\t\t\t\t\tthis.display(start.left > end.left ? end : start, (this.lastTime = +new Date()))\n\t\t\t\t} else {\n\t\t\t\t\tthis.palette.style.display = 'none'\n\t\t\t\t}\n\t\t\t}, 30)\n\t\t}\n\t}\n\n\tprivate display(pos: { left: number; right: number; top: number; bottom: number }, time: number): void {\n\t\tif (time !== this.lastTime) return\n\t\tif (this.delay()) {\n\t\t\tsetTimeout(() => this.display(pos, time), 100)\n\t\t\treturn\n\t\t}\n\t\tthis.palette.style.display = ''\n\t\tconst box = this.palette.offsetParent?.getBoundingClientRect()\n\t\tconst palBox = this.palette.getBoundingClientRect()\n\t\tif (box) {\n\t\t\tthis.palette.style.left = Math.max(0, Math.min(pos.left - box.left - 12, box.width - palBox.width)) + 'px'\n\t\t\tthis.palette.style.top = pos.bottom - box.top + 4 + 'px'\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.palette.remove()\n\t}\n}\n"]}
@@ -1,22 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./common"), exports);
18
- __exportStar(require("./icure-form"), exports);
19
- __exportStar(require("./icure-date-picker"), exports);
20
- __exportStar(require("./icure-button-group"), exports);
21
- __exportStar(require("./icure-label"), exports);
1
+ export * from './common';
2
+ export * from './icure-form';
3
+ export * from './icure-date-picker';
4
+ export * from './icure-button-group';
5
+ export * from './icure-label';
22
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tmp/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,+CAA4B;AAC5B,sDAAmC;AACnC,uDAAoC;AACpC,gDAA6B","sourcesContent":["export * from './common'\nexport * from './icure-form'\nexport * from './icure-date-picker'\nexport * from './icure-button-group'\nexport * from './icure-label'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tmp/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA","sourcesContent":["export * from './common'\nexport * from './icure-form'\nexport * from './icure-date-picker'\nexport * from './icure-button-group'\nexport * from './icure-label'\n"]}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Form = exports.TranslationTable = exports.Codification = exports.Section = exports.Subform = exports.Group = exports.Button = exports.Label = exports.CheckBox = exports.RadioButton = exports.DropdownField = exports.DateTimePicker = exports.TimePicker = exports.DatePicker = exports.ItemsListField = exports.TokenField = exports.NumberField = exports.MeasureField = exports.TextField = exports.Field = exports.pteq = void 0;
4
- const pteq = (a, b) => {
1
+ export const pteq = (a, b) => {
5
2
  if (a === b) {
6
3
  return true;
7
4
  }
@@ -15,12 +12,11 @@ const pteq = (a, b) => {
15
12
  return true;
16
13
  }
17
14
  if (a.type === 'compound' && b.type === 'compound') {
18
- return Object.keys(a.value).every((k) => (0, exports.pteq)(a.value[k], b.value[k]));
15
+ return Object.keys(a.value).every((k) => pteq(a.value[k], b.value[k]));
19
16
  }
20
17
  return false;
21
18
  };
22
- exports.pteq = pteq;
23
- class Field {
19
+ export class Field {
24
20
  label() {
25
21
  return this.field;
26
22
  }
@@ -95,8 +91,7 @@ class Field {
95
91
  };
96
92
  }
97
93
  }
98
- exports.Field = Field;
99
- class TextField extends Field {
94
+ export class TextField extends Field {
100
95
  constructor(label, { shortLabel, grows, span, rowSpan, schema, tags, codifications, readonly, options, labels, value, unit, multiline, computedProperties, validators, translate, width, styleOptions, }) {
101
96
  super('text-field', label, {
102
97
  shortLabel,
@@ -123,8 +118,7 @@ class TextField extends Field {
123
118
  return new TextField(this.field, Object.assign(Object.assign({}, this), properties));
124
119
  }
125
120
  }
126
- exports.TextField = TextField;
127
- class MeasureField extends Field {
121
+ export class MeasureField extends Field {
128
122
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, translate, width, styleOptions, }) {
129
123
  super('measure-field', label, {
130
124
  shortLabel,
@@ -149,8 +143,7 @@ class MeasureField extends Field {
149
143
  return new MeasureField(this.field, Object.assign(Object.assign({}, this), properties));
150
144
  }
151
145
  }
152
- exports.MeasureField = MeasureField;
153
- class NumberField extends Field {
146
+ export class NumberField extends Field {
154
147
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, translate, width, styleOptions, }) {
155
148
  super('number-field', label, {
156
149
  shortLabel,
@@ -175,8 +168,7 @@ class NumberField extends Field {
175
168
  return new NumberField(this.field, Object.assign(Object.assign({}, this), properties));
176
169
  }
177
170
  }
178
- exports.NumberField = NumberField;
179
- class TokenField extends Field {
171
+ export class TokenField extends Field {
180
172
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, translate, width, styleOptions, }) {
181
173
  super('token-field', label, {
182
174
  shortLabel,
@@ -201,8 +193,7 @@ class TokenField extends Field {
201
193
  return new TokenField(this.field, Object.assign(Object.assign({}, this), properties));
202
194
  }
203
195
  }
204
- exports.TokenField = TokenField;
205
- class ItemsListField extends Field {
196
+ export class ItemsListField extends Field {
206
197
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, translate, width, styleOptions, }) {
207
198
  super('items-list-field', label, {
208
199
  shortLabel,
@@ -227,8 +218,7 @@ class ItemsListField extends Field {
227
218
  return new ItemsListField(this.field, Object.assign(Object.assign({}, this), properties));
228
219
  }
229
220
  }
230
- exports.ItemsListField = ItemsListField;
231
- class DatePicker extends Field {
221
+ export class DatePicker extends Field {
232
222
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, now, translate, width, styleOptions, }) {
233
223
  super('date-picker', label, {
234
224
  shortLabel,
@@ -254,8 +244,7 @@ class DatePicker extends Field {
254
244
  return new DatePicker(this.field, Object.assign(Object.assign({}, this), properties));
255
245
  }
256
246
  }
257
- exports.DatePicker = DatePicker;
258
- class TimePicker extends Field {
247
+ export class TimePicker extends Field {
259
248
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, now, translate, width, styleOptions, }) {
260
249
  super('time-picker', label, {
261
250
  shortLabel,
@@ -281,8 +270,7 @@ class TimePicker extends Field {
281
270
  return new TimePicker(this.field, Object.assign(Object.assign({}, this), properties));
282
271
  }
283
272
  }
284
- exports.TimePicker = TimePicker;
285
- class DateTimePicker extends Field {
273
+ export class DateTimePicker extends Field {
286
274
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, labels, value, unit, computedProperties, validators, now, translate, width, styleOptions, }) {
287
275
  super('date-time-picker', label, {
288
276
  shortLabel,
@@ -308,8 +296,7 @@ class DateTimePicker extends Field {
308
296
  return new DateTimePicker(this.field, Object.assign(Object.assign({}, this), properties));
309
297
  }
310
298
  }
311
- exports.DateTimePicker = DateTimePicker;
312
- class DropdownField extends Field {
299
+ export class DropdownField extends Field {
313
300
  constructor(label, options) {
314
301
  var _a;
315
302
  super('dropdown-field', label, {
@@ -333,8 +320,7 @@ class DropdownField extends Field {
333
320
  return new DropdownField(this.field, Object.assign(Object.assign({}, this), properties));
334
321
  }
335
322
  }
336
- exports.DropdownField = DropdownField;
337
- class RadioButton extends Field {
323
+ export class RadioButton extends Field {
338
324
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, value, computedProperties, validators, translate, sortOptions, width, styleOptions, hasOther, }) {
339
325
  super('radio-button', label, {
340
326
  shortLabel,
@@ -359,8 +345,7 @@ class RadioButton extends Field {
359
345
  return new RadioButton(this.field, Object.assign(Object.assign({}, this), properties));
360
346
  }
361
347
  }
362
- exports.RadioButton = RadioButton;
363
- class CheckBox extends Field {
348
+ export class CheckBox extends Field {
364
349
  constructor(label, { shortLabel, grows, span, rowSpan, tags, codifications, readonly, options, value, computedProperties, validators, translate, sortOptions, width, styleOptions, }) {
365
350
  super('checkbox', label, {
366
351
  shortLabel,
@@ -384,8 +369,7 @@ class CheckBox extends Field {
384
369
  return new CheckBox(this.field, Object.assign(Object.assign({}, this), properties));
385
370
  }
386
371
  }
387
- exports.CheckBox = CheckBox;
388
- class Label extends Field {
372
+ export class Label extends Field {
389
373
  constructor(label, { shortLabel, grows, span }) {
390
374
  super('label', label, { shortLabel, grows, span });
391
375
  }
@@ -393,8 +377,7 @@ class Label extends Field {
393
377
  return new Label(this.field, Object.assign(Object.assign({}, this), properties));
394
378
  }
395
379
  }
396
- exports.Label = Label;
397
- class Button extends Field {
380
+ export class Button extends Field {
398
381
  constructor(label, { shortLabel, grows, span, event, payload }) {
399
382
  super('action', label, { shortLabel, grows, span, event, payload });
400
383
  }
@@ -402,8 +385,7 @@ class Button extends Field {
402
385
  return new Button(this.field, Object.assign(Object.assign({}, this), properties));
403
386
  }
404
387
  }
405
- exports.Button = Button;
406
- class Group {
388
+ export class Group {
407
389
  constructor(title, fields, { span, rowSpan, borderless, translate, computedProperties, width, styleOptions, }) {
408
390
  this.clazz = 'group';
409
391
  this.group = title;
@@ -447,8 +429,7 @@ class Group {
447
429
  };
448
430
  }
449
431
  }
450
- exports.Group = Group;
451
- class Subform {
432
+ export class Subform {
452
433
  constructor(title, forms, { id, shortLabel, span, rowSpan, computedProperties, width, styleOptions, refs, labels, }) {
453
434
  this.clazz = 'subform';
454
435
  this.id = id || title;
@@ -490,8 +471,7 @@ class Subform {
490
471
  };
491
472
  }
492
473
  }
493
- exports.Subform = Subform;
494
- class Section {
474
+ export class Section {
495
475
  constructor(title, fields, description, keywords) {
496
476
  this.section = title;
497
477
  this.fields = fields;
@@ -515,8 +495,7 @@ class Section {
515
495
  };
516
496
  }
517
497
  }
518
- exports.Section = Section;
519
- class Codification {
498
+ export class Codification {
520
499
  constructor(type, codes) {
521
500
  this.type = type;
522
501
  this.codes = codes;
@@ -543,8 +522,7 @@ class Codification {
543
522
  };
544
523
  }
545
524
  }
546
- exports.Codification = Codification;
547
- class TranslationTable {
525
+ export class TranslationTable {
548
526
  constructor(language, translations) {
549
527
  this.language = language;
550
528
  this.translations = translations;
@@ -560,8 +538,7 @@ class TranslationTable {
560
538
  };
561
539
  }
562
540
  }
563
- exports.TranslationTable = TranslationTable;
564
- class Form {
541
+ export class Form {
565
542
  constructor(title, sections, id, description, keywords, codifications, translations) {
566
543
  this.form = title;
567
544
  this.description = description;
@@ -631,5 +608,4 @@ class Form {
631
608
  };
632
609
  }
633
610
  }
634
- exports.Form = Form;
635
611
  //# sourceMappingURL=index.js.map