@globalpayments/vega 2.37.0 → 2.37.2

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 (222) hide show
  1. package/dist/cjs/{app-globals-7980768c.js → app-globals-7087f121.js} +4 -4
  2. package/dist/cjs/{content-state-9a9a4bd8.js → content-state-f97d3278.js} +2 -2
  3. package/dist/cjs/{form-field-controller-slimmer-0303f4a7.js → form-field-controller-slimmer-48c0ad0b.js} +1 -1
  4. package/dist/cjs/{image-annotation-action-8e622f61.js → image-annotation-action-7d82f7e1.js} +2 -2
  5. package/dist/cjs/{index-7c81de06.js → index-0546e2ea.js} +1 -1
  6. package/dist/cjs/index.cjs.js +5 -5
  7. package/dist/cjs/loader.cjs.js +6 -6
  8. package/dist/cjs/{node-annotation.abstract-2c8373c1.js → node-annotation.abstract-4f6df9cf.js} +1 -1
  9. package/dist/cjs/{string-input-formatter-slimmer-396b1cee.js → string-input-formatter-slimmer-f45931fd.js} +113 -34
  10. package/dist/cjs/{sub-state-notify-slimmer-ae490543.js → sub-state-notify-slimmer-b1f1e61a.js} +1 -1
  11. package/dist/cjs/{sub-state-observer-slimmer-080731bc.js → sub-state-observer-slimmer-02634647.js} +1 -1
  12. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -0
  13. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  14. package/dist/cjs/vega-button-link.cjs.entry.js +1 -0
  15. package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
  16. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -4
  17. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  18. package/dist/cjs/vega-combo-box.cjs.entry.js +2 -2
  19. package/dist/cjs/vega-date-picker_2.cjs.entry.js +6 -6
  20. package/dist/cjs/vega-dropdown_5.cjs.entry.js +3 -3
  21. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  22. package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
  23. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  24. package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -2
  25. package/dist/cjs/vega-input-credit-card.cjs.entry.js +2 -2
  26. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -2
  28. package/dist/cjs/vega-input-range.cjs.entry.js +2 -2
  29. package/dist/cjs/vega-input-select.cjs.entry.js +2 -2
  30. package/dist/cjs/vega-input.cjs.entry.js +10 -8
  31. package/dist/cjs/{vega-internal-event-id-b12071ea.js → vega-internal-event-id-bda63e14.js} +2 -0
  32. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -0
  33. package/dist/cjs/vega-left-nav_5.cjs.entry.js +6 -4
  34. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +54 -1
  35. package/dist/cjs/vega-popover_2.cjs.entry.js +1 -1
  36. package/dist/cjs/vega-radio_2.cjs.entry.js +2 -2
  37. package/dist/cjs/vega-rich-text-content.cjs.entry.js +6 -6
  38. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +681 -413
  39. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
  40. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -2
  43. package/dist/cjs/{vega-skeleton-loader-controller-ef43cfc1.js → vega-skeleton-loader-controller-00dbdf29.js} +11 -3
  44. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  45. package/dist/cjs/vega-table_8.cjs.entry.js +10 -7
  46. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  47. package/dist/cjs/vega-time-picker_2.cjs.entry.js +2 -2
  48. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  49. package/dist/cjs/vega.cjs.js +6 -6
  50. package/dist/collection/components/vega-app-footer/vega-app-footer.js +12 -0
  51. package/dist/collection/components/vega-button-link/vega-button-link.js +4 -0
  52. package/dist/collection/components/vega-checkbox/vega-checkbox.js +9 -1
  53. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +4 -0
  54. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +12 -0
  55. package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
  56. package/dist/collection/components/vega-item-toggle/vega-item-toggle.js +8 -0
  57. package/dist/collection/components/vega-loader-wrapper/slimmers/controllers/manage-vega-loader-wrapper-z-index-controller.js +49 -0
  58. package/dist/collection/components/vega-loader-wrapper/vega-loader-wrapper.js +5 -0
  59. package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +7 -2
  60. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +190 -0
  61. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +18 -123
  62. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +9 -11
  63. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +8 -18
  64. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +2 -2
  65. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +5 -4
  66. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +244 -0
  67. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +13 -5
  68. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +16 -70
  69. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +22 -14
  70. package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +4 -0
  71. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-editable-controller.js +2 -3
  72. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-renderer.js +5 -1
  73. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  74. package/dist/collection/helpers/formatter/string-formatter/custom-formatter-strategy.js +3 -1
  75. package/dist/collection/helpers/formatter/string-formatter/number-mask-strategy.js +3 -1
  76. package/dist/collection/helpers/formatter/string-formatter/string-format-strategy.abstract.js +52 -0
  77. package/dist/collection/helpers/formatter/string-formatter/string-mask-strategy.js +6 -7
  78. package/dist/collection/helpers/formatter/string-formatter/thousand-comma-strategy.js +2 -1
  79. package/dist/collection/helpers/formatter/test/string-formatter/custom-formatter-strategy.test.js +2 -1
  80. package/dist/collection/helpers/formatter/test/string-formatter/number-mask-strategy.test.js +9 -0
  81. package/dist/collection/helpers/formatter/test/string-formatter/string-mask-strategy.test.js +62 -4
  82. package/dist/collection/helpers/loading-indicator/tests/vega-loader-controller.test.js +29 -2
  83. package/dist/collection/helpers/loading-indicator/vega-loader-controller.js +11 -3
  84. package/dist/collection/helpers/slimmers/string-input-formatter-slimmer.js +53 -25
  85. package/dist/collection/helpers/slimmers/test/string-input-formatter-slimmer.test.js +2 -1
  86. package/dist/esm/{app-globals-6912a75d.js → app-globals-4cca4a96.js} +4 -4
  87. package/dist/esm/{content-state-c2d29b35.js → content-state-ccf5f960.js} +3 -3
  88. package/dist/esm/{form-field-controller-slimmer-7136b7fa.js → form-field-controller-slimmer-3535e76a.js} +1 -1
  89. package/dist/esm/{image-annotation-action-84422458.js → image-annotation-action-3da42221.js} +2 -2
  90. package/dist/esm/{index-b2045ad0.js → index-6e05b241.js} +1 -1
  91. package/dist/esm/index.js +5 -5
  92. package/dist/esm/loader.js +6 -6
  93. package/dist/esm/{node-annotation.abstract-a58b5a49.js → node-annotation.abstract-b2e36bc4.js} +1 -1
  94. package/dist/esm/{string-input-formatter-slimmer-0ecbf367.js → string-input-formatter-slimmer-d4132497.js} +113 -35
  95. package/dist/esm/{sub-state-notify-slimmer-4a201088.js → sub-state-notify-slimmer-51151fc3.js} +1 -1
  96. package/dist/esm/{sub-state-observer-slimmer-0d6da563.js → sub-state-observer-slimmer-d77a1c46.js} +1 -1
  97. package/dist/esm/vega-app-footer.entry.js +3 -0
  98. package/dist/esm/vega-button-group_2.entry.js +3 -3
  99. package/dist/esm/vega-button-link.entry.js +1 -0
  100. package/dist/esm/vega-calendar_3.entry.js +3 -3
  101. package/dist/esm/vega-checkbox_2.entry.js +11 -4
  102. package/dist/esm/vega-color-picker.entry.js +2 -2
  103. package/dist/esm/vega-combo-box.entry.js +2 -2
  104. package/dist/esm/vega-date-picker_2.entry.js +6 -6
  105. package/dist/esm/vega-dropdown_5.entry.js +3 -3
  106. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  107. package/dist/esm/vega-file-uploader.entry.js +2 -2
  108. package/dist/esm/vega-form.entry.js +2 -2
  109. package/dist/esm/vega-image-uploader.entry.js +3 -2
  110. package/dist/esm/vega-input-credit-card.entry.js +2 -2
  111. package/dist/esm/vega-input-numeric.entry.js +3 -3
  112. package/dist/esm/vega-input-phone-number.entry.js +5 -2
  113. package/dist/esm/vega-input-range.entry.js +2 -2
  114. package/dist/esm/vega-input-select.entry.js +2 -2
  115. package/dist/esm/vega-input.entry.js +10 -8
  116. package/dist/esm/{vega-internal-event-id-458939b6.js → vega-internal-event-id-d0690d0d.js} +2 -1
  117. package/dist/esm/vega-item-toggle.entry.js +2 -0
  118. package/dist/esm/vega-left-nav_5.entry.js +6 -4
  119. package/dist/esm/vega-loader-wrapper_2.entry.js +55 -2
  120. package/dist/esm/vega-popover_2.entry.js +1 -1
  121. package/dist/esm/vega-radio_2.entry.js +2 -2
  122. package/dist/esm/vega-rich-text-content.entry.js +6 -6
  123. package/dist/esm/vega-rich-text-editor_4.entry.js +681 -413
  124. package/dist/esm/vega-selection-chip_2.entry.js +4 -4
  125. package/dist/esm/vega-selection-tile_2.entry.js +4 -4
  126. package/dist/esm/vega-sidenav_3.entry.js +3 -3
  127. package/dist/esm/vega-signature-capture.entry.js +3 -2
  128. package/dist/esm/{vega-skeleton-loader-controller-0044d77f.js → vega-skeleton-loader-controller-5aea7aeb.js} +11 -3
  129. package/dist/esm/vega-stepper.entry.js +2 -2
  130. package/dist/esm/vega-table_8.entry.js +10 -7
  131. package/dist/esm/vega-textarea.entry.js +2 -2
  132. package/dist/esm/vega-time-picker_2.entry.js +2 -2
  133. package/dist/esm/vega-toggle-switch.entry.js +2 -2
  134. package/dist/esm/vega.js +6 -6
  135. package/dist/types/components/vega-app-footer/vega-app-footer.d.ts +3 -0
  136. package/dist/types/components/vega-button-link/vega-button-link.d.ts +1 -0
  137. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +2 -0
  138. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-format-controller.d.ts +1 -1
  139. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +1 -0
  140. package/dist/types/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.d.ts +1 -1
  141. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +3 -0
  142. package/dist/types/components/vega-input-select/types.d.ts +1 -0
  143. package/dist/types/components/vega-item-toggle/vega-item-toggle.d.ts +2 -0
  144. package/dist/types/components/vega-loader-wrapper/slimmers/controllers/manage-vega-loader-wrapper-z-index-controller.d.ts +21 -0
  145. package/dist/types/components/vega-loader-wrapper/vega-loader-wrapper.d.ts +2 -0
  146. package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +3 -1
  147. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.d.ts +57 -0
  148. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.d.ts +11 -28
  149. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +4 -4
  150. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.d.ts +1 -8
  151. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.d.ts +99 -0
  152. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +1 -0
  153. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +2 -21
  154. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +7 -2
  155. package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +1 -0
  156. package/dist/types/components/vega-table/slimmers/renderers/vega-table-renderer.d.ts +1 -0
  157. package/dist/types/components.d.ts +31 -5
  158. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  159. package/dist/types/helpers/formatter/string-formatter/custom-formatter-strategy.d.ts +3 -3
  160. package/dist/types/helpers/formatter/string-formatter/number-mask-strategy.d.ts +2 -2
  161. package/dist/types/helpers/formatter/string-formatter/string-format-strategy.abstract.d.ts +48 -0
  162. package/dist/types/helpers/formatter/string-formatter/string-mask-strategy.d.ts +6 -10
  163. package/dist/types/helpers/formatter/string-formatter/thousand-comma-strategy.d.ts +2 -2
  164. package/dist/types/helpers/loading-indicator/vega-loader-controller.d.ts +1 -0
  165. package/dist/types/helpers/slimmers/string-input-formatter-slimmer.d.ts +20 -4
  166. package/dist/types/types/components.type.d.ts +1 -5
  167. package/dist/types/types/public-api.d.ts +2 -0
  168. package/dist/vega/index.esm.js +1 -1
  169. package/dist/vega/{p-2d36dbfe.js → p-0461e318.js} +1 -1
  170. package/dist/vega/{p-1f67c930.entry.js → p-12fe63c1.entry.js} +1 -1
  171. package/dist/vega/{p-29dd376c.entry.js → p-1b67c443.entry.js} +1 -1
  172. package/dist/vega/{p-5f82eb88.js → p-1d93b3a9.js} +1 -1
  173. package/dist/vega/p-20326c64.js +1 -0
  174. package/dist/vega/{p-fbb91e25.entry.js → p-23fd9401.entry.js} +1 -1
  175. package/dist/vega/{p-5d7d0085.entry.js → p-267cde46.entry.js} +1 -1
  176. package/dist/vega/{p-ca239f51.js → p-29d6ec6c.js} +1 -1
  177. package/dist/vega/{p-d57920df.entry.js → p-2fecbcf9.entry.js} +1 -1
  178. package/dist/vega/{p-fe9644a0.js → p-348e95ba.js} +1 -1
  179. package/dist/vega/{p-00de36e4.js → p-34bd9204.js} +1 -1
  180. package/dist/vega/{p-3aec260c.entry.js → p-3cb90bdf.entry.js} +1 -1
  181. package/dist/vega/{p-fcab2244.entry.js → p-3e8f9fcf.entry.js} +1 -1
  182. package/dist/vega/{p-233e6715.entry.js → p-497f2f86.entry.js} +1 -1
  183. package/dist/vega/p-50eabdca.entry.js +1 -0
  184. package/dist/vega/{p-503ff1ef.js → p-52a8a4f8.js} +1 -1
  185. package/dist/vega/p-5f377954.js +1 -1
  186. package/dist/vega/{p-766a0cdd.entry.js → p-6419e13e.entry.js} +1 -1
  187. package/dist/vega/{p-b2b41aa4.entry.js → p-7198d675.entry.js} +1 -1
  188. package/dist/vega/p-76a8ccbb.js +1 -0
  189. package/dist/vega/{p-00f4cf6a.entry.js → p-7baa4fae.entry.js} +1 -1
  190. package/dist/vega/p-7edcb8d0.entry.js +1 -0
  191. package/dist/vega/{p-bbea0599.entry.js → p-904b489a.entry.js} +1 -1
  192. package/dist/vega/{p-fea15767.entry.js → p-9689ad99.entry.js} +1 -1
  193. package/dist/vega/p-9728d571.entry.js +1 -0
  194. package/dist/vega/{p-95e50f3a.entry.js → p-a2a34239.entry.js} +1 -1
  195. package/dist/vega/{p-b1096431.entry.js → p-a7e078ac.entry.js} +1 -1
  196. package/dist/vega/{p-eb798062.entry.js → p-a7f40a65.entry.js} +1 -1
  197. package/dist/vega/{p-7fedfba5.js → p-a8b16ff2.js} +1 -1
  198. package/dist/vega/{p-9625162b.entry.js → p-aed80794.entry.js} +1 -1
  199. package/dist/vega/{p-7da8b05f.js → p-b517ed15.js} +1 -1
  200. package/dist/vega/{p-b6b4e40f.entry.js → p-b809f3d7.entry.js} +1 -1
  201. package/dist/vega/{p-0b9480a9.entry.js → p-b9a0f136.entry.js} +1 -1
  202. package/dist/vega/{p-5a19bcb5.entry.js → p-ba077ca8.entry.js} +1 -1
  203. package/dist/vega/{p-53360bc2.entry.js → p-ba2833c0.entry.js} +1 -1
  204. package/dist/vega/{p-13c22d72.entry.js → p-bf4996d5.entry.js} +1 -1
  205. package/dist/vega/{p-570bdeb5.entry.js → p-cb4fd6e1.entry.js} +1 -1
  206. package/dist/vega/p-e4ce559d.entry.js +1 -0
  207. package/dist/vega/{p-cfd486ab.entry.js → p-e9785742.entry.js} +1 -1
  208. package/dist/vega/p-e9a5bd12.entry.js +1 -0
  209. package/dist/vega/p-ecaf4cfa.entry.js +1 -0
  210. package/dist/vega/{p-fb5c2cc6.entry.js → p-ee2e4bff.entry.js} +1 -1
  211. package/dist/vega/{p-8f8ab0d3.js → p-f86ec91b.js} +1 -1
  212. package/dist/vega/vega.esm.js +1 -1
  213. package/package.json +1 -1
  214. package/dist/types/helpers/formatter/string-formatter/string-format-strategy.d.ts +0 -12
  215. package/dist/vega/p-34caa637.entry.js +0 -1
  216. package/dist/vega/p-497db801.entry.js +0 -1
  217. package/dist/vega/p-4c18ff36.js +0 -1
  218. package/dist/vega/p-6705ce8f.entry.js +0 -1
  219. package/dist/vega/p-775fa5dd.entry.js +0 -1
  220. package/dist/vega/p-98043367.entry.js +0 -1
  221. package/dist/vega/p-a98475a2.entry.js +0 -1
  222. package/dist/vega/p-c2ded423.js +0 -1
@@ -9,10 +9,6 @@ export declare class DeleteContentHandler extends BaseHandler {
9
9
  * Handles the deletion of content within a single block in an RTE editor.
10
10
  */
11
11
  private deleteContentWithSingleBlock;
12
- /**
13
- * Creates a new paragraph element with a text node and appends it to the current state.
14
- */
15
- private insertDefaultParagraph;
16
12
  /**
17
13
  * Deletes the content within multiple nodes selected by the user.
18
14
  */
@@ -23,6 +19,10 @@ export declare class DeleteContentHandler extends BaseHandler {
23
19
  * @param {RTEBlock} block - The first block instance
24
20
  */
25
21
  private convertFirstBlockToParagraph;
22
+ /**
23
+ * Creates a new paragraph element with a text node and appends it to the current state.
24
+ */
25
+ private insertDefaultParagraph;
26
26
  /**
27
27
  * Returns the end offset of a given node in a Rich Text Editor based on its type and text content.
28
28
  *
@@ -33,7 +33,7 @@ export declare class InsertLineBreakHandler extends BaseHandler {
33
33
  /**
34
34
  * Moves the caret to the next node element in a rich text editor.
35
35
  *
36
- * @param {RTETextNode} lineBreakNode - Represents a node element in a rich text editor.
36
+ * @param {RTENode} lineBreakNode - Represents a node element in a rich text editor.
37
37
  */
38
38
  private switchCaretPositionToSpecifiedNode;
39
39
  /**
@@ -43,11 +43,4 @@ export declare class InsertLineBreakHandler extends BaseHandler {
43
43
  * @returns {RTENode} The next sibling node of the current line break element, or the current node if next node is not exists.
44
44
  */
45
45
  private getNextRTENode;
46
- /**
47
- * Create a null text that will render a br element in a rich text editor.
48
- *
49
- * @param {RTEBlock} block - Represents a block element in a rich text editor.
50
- * @returns {RTETextNode} the new line break node.
51
- */
52
- private createLineBreakNode;
53
46
  }
@@ -0,0 +1,99 @@
1
+ import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
2
+ import { VegaRichTextEditor } from '../../vega-rich-text-editor';
3
+ /** Handles inserting composition text into a VegaRTEContent based on the current selection and input event. User input character will trigger this callback */
4
+ export declare class InsertCompositionTextController extends VegaSlimmer {
5
+ protected selectionController: VegaRichTextEditor['selectionController'];
6
+ protected host: VegaRichTextEditor['host'];
7
+ protected value: VegaRichTextEditor['value'];
8
+ protected valueController: VegaRichTextEditor['valueController'];
9
+ protected userInputController: VegaRichTextEditor['userInputController'];
10
+ protected vegaRichTextEditorRenderer: VegaRichTextEditor['vegaRichTextEditorRenderer'];
11
+ private editableElementRef;
12
+ private insertCompositionTextEndFlag;
13
+ private mutationObserver;
14
+ private observerOptions;
15
+ /**
16
+ * The function `initMutationObserver` initializes a MutationObserver on an editable HTML element if it exists.
17
+ */
18
+ initMutationObserver(): void;
19
+ /**
20
+ * Disconnects the mutation observer if it exists.
21
+ */
22
+ removeObserver(): void;
23
+ /**
24
+ * The method is to get the composition text insert end or not.
25
+ *
26
+ * @returns {boolean} The false is main that insert composition text process is end.
27
+ */
28
+ isComposing(): boolean;
29
+ /**
30
+ * The current method is called when the insert text is update by the Pinyin input or the word correction plugin.
31
+ *
32
+ * @param {MutationRecord[]} records - The mutation record object array.
33
+ */
34
+ updateTextFromDom: (records: MutationRecord[]) => void;
35
+ /**
36
+ * Adds event listener to an editable HTML element to handle composition text insert actions.
37
+ */
38
+ protected addCompositionTextEventListener(): void;
39
+ /**
40
+ * Removes event listener to an editable HTML element to handle composition text insert actions.
41
+ */
42
+ protected removeCompositionTextEventListener(): void;
43
+ /**
44
+ * re-connect the observer after the props change and component did render
45
+ */
46
+ protected reConnectObserver(): void;
47
+ /**
48
+ * Processes mutation records related to character data and updates the text content of a rich text node accordingly.
49
+ *
50
+ * @param {MutationRecord[]} records - Each `MutationRecord` object represents a single mutation that occurred in the DOM.
51
+ */
52
+ private handleObserver;
53
+ /**
54
+ * Insert text to a line break node need a special logic if the line break has a next text node.
55
+ *
56
+ * @param {RTETextNode} currentNode The current line break node, the text value is \n
57
+ */
58
+ private appendLineBreakNode;
59
+ /**
60
+ * Updates the text content of a rich text node and handles line breaks.
61
+ *
62
+ * @param {RTETextNode} richTextNode - The current rich text node.
63
+ * @param {string} newValue - The target element textContent
64
+ * @param {Nullable<string>} oldValue - The target element old textContent
65
+ * @returns {Nullable<boolean>} The node text is updated or not
66
+ */
67
+ private updateCurrentNodeText;
68
+ /**
69
+ * An event handler function that is triggered when the composition of text input starts. In this case,
70
+ * it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `false`.
71
+ */
72
+ private handleCompositionStart;
73
+ /**
74
+ * An event handler function that is triggered when the composition of text input ends. In this case,
75
+ * it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `true`.
76
+ *
77
+ * @param {CompositionEvent} event The composition event instance
78
+ */
79
+ private handleCompositionEnd;
80
+ /**
81
+ * The function `getEditableElementRef` returns a reference to the editable HTMLDivElement within a rich text editor.
82
+ *
83
+ * @returns {HTMLDivElement|null} A reference to an HTMLDivElement element that is editable.
84
+ */
85
+ private getEditableElementRef;
86
+ /**
87
+ * Remove the ZERO_WIDTH_SPACE from the text.
88
+ *
89
+ * @param {string} text The input text that could include ZERO_WIDTH_SPACE.
90
+ * @returns {string} The result text.
91
+ */
92
+ private removeZeroWidthSpace;
93
+ /**
94
+ * Dispatch a insert text event to handle the composition text insert logic.
95
+ *
96
+ * @param {string} text - The text need to insert.
97
+ */
98
+ private dispatchInsertTextEvent;
99
+ }
@@ -19,6 +19,7 @@ export declare class SelectionController extends VegaSlimmer {
19
19
  host: VegaRichTextEditor['host'];
20
20
  protected readonly value: VegaRichTextEditor['value'];
21
21
  protected readonly valueController: VegaRichTextEditor['valueController'];
22
+ protected insertCompositionTextController: VegaRichTextEditor['insertCompositionTextController'];
22
23
  private currentRange;
23
24
  private updateCaretPositionTaskQueue;
24
25
  private handleSelectionWithDebounce;
@@ -1,28 +1,19 @@
1
1
  import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
2
2
  import { VegaRichTextEditor } from '../../vega-rich-text-editor';
3
- /** Used to monitoring the user input actions by event listener and mutationObserver */
3
+ /** Used to monitoring the user input actions by event listener */
4
4
  export declare class UserInputController extends VegaSlimmer {
5
5
  protected host: VegaRichTextEditor['host'];
6
6
  protected value: VegaRichTextEditor['value'];
7
7
  protected valueController: VegaRichTextEditor['valueController'];
8
8
  protected vegaRichTextEditorRenderer: VegaRichTextEditor['vegaRichTextEditorRenderer'];
9
9
  protected selectionController: VegaRichTextEditor['selectionController'];
10
+ protected insertCompositionTextController: VegaRichTextEditor['insertCompositionTextController'];
10
11
  private editableElementRef;
11
12
  private insertTextHandler;
12
13
  private insertParagraphHandler;
13
14
  private insertLineBreakHandler;
14
15
  private deleteContentHandler;
15
16
  private insertPasteHandler;
16
- private mutationObserver;
17
- private observerOptions;
18
- /**
19
- * The function `initMutationObserver` initializes a MutationObserver on an editable HTML element if it exists.
20
- */
21
- initMutationObserver(): void;
22
- /**
23
- * Disconnects the mutation observer if it exists.
24
- */
25
- removeObserver(): void;
26
17
  /**
27
18
  * Adds event listener to an editable HTML element to handle user input actions.
28
19
  */
@@ -31,10 +22,6 @@ export declare class UserInputController extends VegaSlimmer {
31
22
  * Removes event listener for user input actions from an editable HTML div element.
32
23
  */
33
24
  protected removeActionListener(): void;
34
- /**
35
- * re-connect the observer after the props change and component did render
36
- */
37
- protected reConnectObserver(): void;
38
25
  /**
39
26
  * When a user performs an input action within the editable element, this function is triggered.
40
27
  *
@@ -51,12 +38,6 @@ export declare class UserInputController extends VegaSlimmer {
51
38
  * Notifies a change manager with the host and value details and logs the current value.
52
39
  */
53
40
  private notifyComponentFlushValue;
54
- /**
55
- * Processes mutation records related to character data and updates the text content of a rich text node accordingly.
56
- *
57
- * @param {MutationRecord[]} records - Each `MutationRecord` object represents a single mutation that occurred in the DOM.
58
- */
59
- private handleObserver;
60
41
  /**
61
42
  * Prevents the default behavior of a drag event.
62
43
  *
@@ -35,6 +35,8 @@ import { InsertImageController } from './slimmers/controllers/insert-image-contr
35
35
  import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
36
36
  import { FocusController } from './slimmers/controllers/focus-controller';
37
37
  import { TextNodeColorController } from './slimmers/controllers/text-node-color-controller';
38
+ import { InsertCompositionTextController } from './slimmers/controllers/insert-composition-text-controller';
39
+ import { DeleteSelectedNodesController } from './slimmers/controllers/delete-selected-nodes-controller';
38
40
  /**
39
41
  * @vegaVersion 2.34.0
40
42
  */
@@ -68,9 +70,11 @@ export declare class VegaRichTextEditor {
68
70
  protected readonly richTextContentController: RichTextContentController;
69
71
  protected readonly userInputController: UserInputController;
70
72
  protected readonly insertImageController: InsertImageController;
73
+ protected readonly insertCompositionTextController: InsertCompositionTextController;
71
74
  protected imageInsertedEventEmitter: EventEmitSlimmerBase;
72
75
  protected changeEventPreventSlimmer: ChildNodesEventPreventSlimmer;
73
76
  protected readonly textNodeColorController: TextNodeColorController;
77
+ protected readonly deleteSelectedNodesController: DeleteSelectedNodesController;
74
78
  host: HTMLVegaRichTextEditorElement;
75
79
  richTextContentEditable: boolean;
76
80
  watchRichTextContentEditable(): void;
@@ -128,6 +132,7 @@ export declare class VegaRichTextEditor {
128
132
  * Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
129
133
  *
130
134
  * @vegaVersion 2.34.0
135
+ * @defaultValue [{id:'UUID', type:'paragraph', nodes:[{id: 'UUID',type: 'text',text:''}]}]
131
136
  */
132
137
  value: VegaRTEContent;
133
138
  watchValueUpdate(): void;
@@ -162,14 +167,14 @@ export declare class VegaRichTextEditor {
162
167
  *
163
168
  * @vegaVersion 2.34.0
164
169
  */
165
- vegaChange: EventEmitter<Array<VegaRTEContentBlock>>;
170
+ vegaChange: EventEmitter<VegaRTEContent>;
166
171
  /**
167
172
  * An event emitter notifying a value change.
168
173
  *
169
174
  * @eventSemantics namespace:native
170
175
  * @vegaVersion 2.34.0
171
176
  */
172
- change: EventEmitter<Array<VegaRTEContentBlock>>;
177
+ change: EventEmitter<VegaRTEContent>;
173
178
  /**
174
179
  * An event emitter notifying an image insertion event.
175
180
  *
@@ -73,6 +73,7 @@ export declare class VegaSignatureCapture {
73
73
  * of the signature capture.
74
74
  *
75
75
  * @vegaVersion 2.19.0
76
+ * @defaultValue v-internal-icon signature
76
77
  */
77
78
  placeholderIcon: string;
78
79
  /**
@@ -18,6 +18,7 @@ export declare class VegaTableRenderer extends VegaSlimmer {
18
18
  translationSlimmer: VegaTable['translationSlimmer'];
19
19
  vegaTableChildrenController: VegaTable['vegaTableChildrenController'];
20
20
  isTemplateRenderMode: VegaTable['isTemplateRenderMode'];
21
+ editingRows: VegaTable['editingRows'];
21
22
  render(): VegaTable;
22
23
  private renderInternalTable;
23
24
  private renderEmpty;
@@ -48,7 +48,7 @@ import { VegaPageNotificationActionButtonConfig, VegaPageNotificationTypes } fro
48
48
  import { DropdownPropsForPagination, VegaPaginationItemType } from "./components/vega-pagination/types";
49
49
  import { PieChartOptions } from "./helpers/chart/pie-chart";
50
50
  import { VegaRTEContent } from "./components/vega-rich-text-editor/dto/content-state";
51
- import { VegaRichTextEditorImage, VegaRTEContentBlock, VegaRTEToolbarItem } from "./components/vega-rich-text-editor/interface";
51
+ import { VegaRichTextEditorImage, VegaRTEToolbarItem } from "./components/vega-rich-text-editor/interface";
52
52
  import { VegaRichTextImageEditorChangeDetail, VegaRichTextImageEditorSizeType } from "./components/vega-rich-text-editor/vega-rich-text-image-editor/types";
53
53
  import { VegaRichTextLinkEditorChangeDetail, VegaRichTextLinkEditorStatus, VegaRTELinkEditorRecord } from "./components/vega-rich-text-editor/vega-rich-text-link-editor/types";
54
54
  import { VegaSegmentControlVariant, VegaSegmentProps } from "./components/vega-segment-control/types";
@@ -114,6 +114,7 @@ export namespace Components {
114
114
  /**
115
115
  * Specifies the content to be displayed in the app footer. By default, it includes Heartland's official copyright message with a reference to the current year.
116
116
  * @vegaVersion 1.15.0
117
+ * @defaultValue © {{currentYear}} Heartland Payment Systems, LLC – a Global Payments company. All rights reserved.
117
118
  */
118
119
  "content": string;
119
120
  /**
@@ -134,6 +135,7 @@ export namespace Components {
134
135
  /**
135
136
  * Specifies the URL or web address that the Privacy Policy link in the app footer should navigate to when clicked.
136
137
  * @vegaVersion 1.15.0
138
+ * @defaultValue https://www.heartland.us/privacy-policy
137
139
  */
138
140
  "privacyPolicyUrl": string;
139
141
  /**
@@ -154,6 +156,7 @@ export namespace Components {
154
156
  /**
155
157
  * Specifies the URL or web address that the Terms of Use link in the app footer should navigate to when clicked.
156
158
  * @vegaVersion 1.15.0
159
+ * @defaultValue https://www.heartland.us/terms
157
160
  */
158
161
  "termOfUseUrl": string;
159
162
  /**
@@ -607,6 +610,7 @@ export namespace Components {
607
610
  /**
608
611
  * Specifies the URL associated with the button link.
609
612
  * @vegaVersion 1.0.4
613
+ * @defaultValue javascript:void(0);
610
614
  */
611
615
  "link": string;
612
616
  /**
@@ -1678,6 +1682,7 @@ export namespace Components {
1678
1682
  /**
1679
1683
  * Specifies the allowed file types for upload.
1680
1684
  * @vegaVersion 1.14.0
1685
+ * @defaultValue .jpg,.png,.jpeg
1681
1686
  */
1682
1687
  "accept": string;
1683
1688
  /**
@@ -2047,6 +2052,7 @@ export namespace Components {
2047
2052
  /**
2048
2053
  * Specifies the countries available for selection. Note: By default, 245 codes are provided, but loading all of them may take time. To improve performance, it is recommended to include only the necessary codes.
2049
2054
  * @vegaVersion 2.18.0
2055
+ * @defaultValue ['US', 'CN', ...]{@link VegaCountryCode }
2050
2056
  */
2051
2057
  "allowedCountryCodes": VegaCountryCode[];
2052
2058
  /**
@@ -2057,6 +2063,7 @@ export namespace Components {
2057
2063
  /**
2058
2064
  * Specifies the default country calling code using the two-letter uppercase country code.
2059
2065
  * @vegaVersion 2.18.0
2066
+ * @defaultValue US
2060
2067
  */
2061
2068
  "countryCode": VegaCountryCode;
2062
2069
  /**
@@ -2108,6 +2115,7 @@ export namespace Components {
2108
2115
  * Specifies the value of the phone number input in [E.164]{@link https ://en.wikipedia.org/wiki/E.164} format.
2109
2116
  * @VegaWarning Note: The input phone number field will always have a value. If no phone number is entered, the default format is `+{default_country_code}`. For example, if the default country code is US, the default value will be `+1`.
2110
2117
  * @vegaVersion 2.18.0
2118
+ * @defaultValue +1
2111
2119
  */
2112
2120
  "value": string;
2113
2121
  }
@@ -2295,11 +2303,13 @@ export namespace Components {
2295
2303
  * Defines the labels and icons associated with the toggle states.
2296
2304
  * @deprecated This property will be removed soon and replaced by prop statusMap
2297
2305
  * @vegaVersion 1.3.0
2306
+ * @defaultValue {unToggledIcon: 'plus-sign', toggledIcon: 'delete-bin', unToggledLabel: 'Add', togglingLabel: 'Added', toggledLabel: 'Remove', unTogglingLabel: 'Removed'}
2298
2307
  */
2299
2308
  "itemToggleStatusMap": ItemToggleStatusMap;
2300
2309
  /**
2301
2310
  * Defines the labels and icons associated with the toggle states.
2302
2311
  * @vegaVersion 2.2.0
2312
+ * @defaultValue {unToggledIcon: 'plus-sign', toggledIcon: 'delete-bin', unToggledLabel: 'Add', togglingLabel: 'Added', toggledLabel: 'Remove', unTogglingLabel: 'Removed'}
2303
2313
  */
2304
2314
  "statusMap": ItemToggleStatusMap;
2305
2315
  }
@@ -2375,7 +2385,8 @@ export namespace Components {
2375
2385
  */
2376
2386
  "icon": string;
2377
2387
  /**
2378
- * boolean indicating if current link item is selected **
2388
+ * A boolean that indicates whether the current link item is selected.
2389
+ * @VegaWarning Note: Ensure that the `custom-selection-enabled` property is set to `true` before modifying this value, as modifying it without this setting may lead to unexpected behavior.
2379
2390
  * @vegaVersion 1.31.0
2380
2391
  */
2381
2392
  "selected": boolean;
@@ -2853,6 +2864,7 @@ export namespace Components {
2853
2864
  /**
2854
2865
  * Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock. It is recommended to use the VegaRTEContent type. Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
2855
2866
  * @vegaVersion 2.34.0
2867
+ * @defaultValue [{id:'UUID', type:'paragraph', nodes:[{id: 'UUID',type: 'text',text:''}]}]
2856
2868
  */
2857
2869
  "value": VegaRTEContent;
2858
2870
  }
@@ -3249,6 +3261,7 @@ export namespace Components {
3249
3261
  /**
3250
3262
  * Specifies an icon or symbol that appears before the placeholder, providing visual context or enhancing the aesthetic appearance of the signature capture.
3251
3263
  * @vegaVersion 2.19.0
3264
+ * @defaultValue v-internal-icon signature
3252
3265
  */
3253
3266
  "placeholderIcon": string;
3254
3267
  /**
@@ -4984,6 +4997,7 @@ declare namespace LocalJSX {
4984
4997
  /**
4985
4998
  * Specifies the content to be displayed in the app footer. By default, it includes Heartland's official copyright message with a reference to the current year.
4986
4999
  * @vegaVersion 1.15.0
5000
+ * @defaultValue © {{currentYear}} Heartland Payment Systems, LLC – a Global Payments company. All rights reserved.
4987
5001
  */
4988
5002
  "content"?: string;
4989
5003
  /**
@@ -5004,6 +5018,7 @@ declare namespace LocalJSX {
5004
5018
  /**
5005
5019
  * Specifies the URL or web address that the Privacy Policy link in the app footer should navigate to when clicked.
5006
5020
  * @vegaVersion 1.15.0
5021
+ * @defaultValue https://www.heartland.us/privacy-policy
5007
5022
  */
5008
5023
  "privacyPolicyUrl"?: string;
5009
5024
  /**
@@ -5024,6 +5039,7 @@ declare namespace LocalJSX {
5024
5039
  /**
5025
5040
  * Specifies the URL or web address that the Terms of Use link in the app footer should navigate to when clicked.
5026
5041
  * @vegaVersion 1.15.0
5042
+ * @defaultValue https://www.heartland.us/terms
5027
5043
  */
5028
5044
  "termOfUseUrl"?: string;
5029
5045
  /**
@@ -5565,6 +5581,7 @@ declare namespace LocalJSX {
5565
5581
  /**
5566
5582
  * Specifies the URL associated with the button link.
5567
5583
  * @vegaVersion 1.0.4
5584
+ * @defaultValue javascript:void(0);
5568
5585
  */
5569
5586
  "link"?: string;
5570
5587
  /**
@@ -6879,6 +6896,7 @@ declare namespace LocalJSX {
6879
6896
  /**
6880
6897
  * Specifies the allowed file types for upload.
6881
6898
  * @vegaVersion 1.14.0
6899
+ * @defaultValue .jpg,.png,.jpeg
6882
6900
  */
6883
6901
  "accept"?: string;
6884
6902
  /**
@@ -7354,6 +7372,7 @@ declare namespace LocalJSX {
7354
7372
  /**
7355
7373
  * Specifies the countries available for selection. Note: By default, 245 codes are provided, but loading all of them may take time. To improve performance, it is recommended to include only the necessary codes.
7356
7374
  * @vegaVersion 2.18.0
7375
+ * @defaultValue ['US', 'CN', ...]{@link VegaCountryCode }
7357
7376
  */
7358
7377
  "allowedCountryCodes"?: VegaCountryCode[];
7359
7378
  /**
@@ -7364,6 +7383,7 @@ declare namespace LocalJSX {
7364
7383
  /**
7365
7384
  * Specifies the default country calling code using the two-letter uppercase country code.
7366
7385
  * @vegaVersion 2.18.0
7386
+ * @defaultValue US
7367
7387
  */
7368
7388
  "countryCode"?: VegaCountryCode;
7369
7389
  /**
@@ -7437,6 +7457,7 @@ declare namespace LocalJSX {
7437
7457
  * Specifies the value of the phone number input in [E.164]{@link https ://en.wikipedia.org/wiki/E.164} format.
7438
7458
  * @VegaWarning Note: The input phone number field will always have a value. If no phone number is entered, the default format is `+{default_country_code}`. For example, if the default country code is US, the default value will be `+1`.
7439
7459
  * @vegaVersion 2.18.0
7460
+ * @defaultValue +1
7440
7461
  */
7441
7462
  "value"?: string;
7442
7463
  }
@@ -7663,6 +7684,7 @@ declare namespace LocalJSX {
7663
7684
  * Defines the labels and icons associated with the toggle states.
7664
7685
  * @deprecated This property will be removed soon and replaced by prop statusMap
7665
7686
  * @vegaVersion 1.3.0
7687
+ * @defaultValue {unToggledIcon: 'plus-sign', toggledIcon: 'delete-bin', unToggledLabel: 'Add', togglingLabel: 'Added', toggledLabel: 'Remove', unTogglingLabel: 'Removed'}
7666
7688
  */
7667
7689
  "itemToggleStatusMap"?: ItemToggleStatusMap;
7668
7690
  /**
@@ -7679,6 +7701,7 @@ declare namespace LocalJSX {
7679
7701
  /**
7680
7702
  * Defines the labels and icons associated with the toggle states.
7681
7703
  * @vegaVersion 2.2.0
7704
+ * @defaultValue {unToggledIcon: 'plus-sign', toggledIcon: 'delete-bin', unToggledLabel: 'Add', togglingLabel: 'Added', toggledLabel: 'Remove', unTogglingLabel: 'Removed'}
7682
7705
  */
7683
7706
  "statusMap"?: ItemToggleStatusMap;
7684
7707
  }
@@ -7782,7 +7805,8 @@ declare namespace LocalJSX {
7782
7805
  */
7783
7806
  "onVegaMenuClick"?: (event: VegaLeftNavLinkCustomEvent<any>) => void;
7784
7807
  /**
7785
- * boolean indicating if current link item is selected **
7808
+ * A boolean that indicates whether the current link item is selected.
7809
+ * @VegaWarning Note: Ensure that the `custom-selection-enabled` property is set to `true` before modifying this value, as modifying it without this setting may lead to unexpected behavior.
7786
7810
  * @vegaVersion 1.31.0
7787
7811
  */
7788
7812
  "selected"?: boolean;
@@ -8314,7 +8338,7 @@ declare namespace LocalJSX {
8314
8338
  * @eventSemantics namespace:native
8315
8339
  * @vegaVersion 2.34.0
8316
8340
  */
8317
- "onChange"?: (event: VegaRichTextEditorCustomEvent<Array<VegaRTEContentBlock>>) => void;
8341
+ "onChange"?: (event: VegaRichTextEditorCustomEvent<VegaRTEContent>) => void;
8318
8342
  /**
8319
8343
  * An event emitter notifying an image insertion event.
8320
8344
  * @eventSemantics namespace:native
@@ -8325,7 +8349,7 @@ declare namespace LocalJSX {
8325
8349
  * An event emitter notifying a value change.
8326
8350
  * @vegaVersion 2.34.0
8327
8351
  */
8328
- "onVegaChange"?: (event: VegaRichTextEditorCustomEvent<Array<VegaRTEContentBlock>>) => void;
8352
+ "onVegaChange"?: (event: VegaRichTextEditorCustomEvent<VegaRTEContent>) => void;
8329
8353
  /**
8330
8354
  * An event emitter notifying an image insertion event.
8331
8355
  * @vegaVersion 2.34.0
@@ -8359,6 +8383,7 @@ declare namespace LocalJSX {
8359
8383
  /**
8360
8384
  * Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock. It is recommended to use the VegaRTEContent type. Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
8361
8385
  * @vegaVersion 2.34.0
8386
+ * @defaultValue [{id:'UUID', type:'paragraph', nodes:[{id: 'UUID',type: 'text',text:''}]}]
8362
8387
  */
8363
8388
  "value"?: VegaRTEContent;
8364
8389
  }
@@ -8859,6 +8884,7 @@ declare namespace LocalJSX {
8859
8884
  /**
8860
8885
  * Specifies an icon or symbol that appears before the placeholder, providing visual context or enhancing the aesthetic appearance of the signature capture.
8861
8886
  * @vegaVersion 2.19.0
8887
+ * @defaultValue v-internal-icon signature
8862
8888
  */
8863
8889
  "placeholderIcon"?: string;
8864
8890
  /**
@@ -38,3 +38,4 @@ export declare const VegaInternalRichTextImageClick: VegaInternalEventID;
38
38
  export declare const VegaInternalRichTextImageDeleteButtonClicked: VegaInternalEventID;
39
39
  export declare const VegaInternalComponentDidRender: VegaInternalEventID;
40
40
  export declare const VegaInternalPopoverUpdateTarget: VegaInternalEventID;
41
+ export declare const VegaInternalRichTextEditDeleteSelectedNodes: VegaInternalEventID;
@@ -1,10 +1,10 @@
1
- import { StringFormatStrategy } from './string-format-strategy';
1
+ import { StringFormatStrategy } from './string-format-strategy.abstract';
2
2
  import { Nullable } from '../../../types/general';
3
3
  export declare type CustomStringFormatter = (rawValue: string) => string;
4
4
  /**
5
5
  * Used to format a string using a custom formatter.
6
6
  */
7
- export declare class CustomFormatterStrategy implements StringFormatStrategy {
7
+ export declare class CustomFormatterStrategy extends StringFormatStrategy {
8
8
  private readonly formatter;
9
9
  private resetCaretPositionFlag;
10
10
  /**
@@ -43,5 +43,5 @@ export declare class CustomFormatterStrategy implements StringFormatStrategy {
43
43
  *
44
44
  * @returns {boolean} true or false
45
45
  */
46
- shouldTriggerAtInit(): boolean;
46
+ protected shouldTriggerAtInit(): boolean;
47
47
  }
@@ -1,5 +1,5 @@
1
1
  import { Nullable } from '../../../types/general';
2
- import { StringFormatStrategy } from './string-format-strategy';
2
+ import { StringFormatStrategy } from './string-format-strategy.abstract';
3
3
  export declare type NumberMaskConfig = {
4
4
  /**
5
5
  * 0 - will only allow integer
@@ -17,7 +17,7 @@ export declare type NumberMaskConfig = {
17
17
  /**
18
18
  * A class for formatting number with the given mask format
19
19
  */
20
- export declare class NumberMaskStrategy implements StringFormatStrategy {
20
+ export declare class NumberMaskStrategy extends StringFormatStrategy {
21
21
  protected readonly maskConfig: NumberMaskConfig;
22
22
  protected mask: RegExp;
23
23
  /**
@@ -0,0 +1,48 @@
1
+ import { Nullable } from '../../../types/general';
2
+ export declare type FormatTrigger = 'blur' | 'input' | 'init';
3
+ export declare type FormatTarget = 'component' | 'native-input';
4
+ export declare type InputStatus = {
5
+ isBlurred?: boolean;
6
+ caretPosition?: Nullable<number>;
7
+ };
8
+ /**
9
+ * String format strategy abstract class
10
+ */
11
+ export declare abstract class StringFormatStrategy {
12
+ /**
13
+ * Check if the {@link format} should be applied
14
+ *
15
+ * @param {FormatTrigger} triggeredBy - The trigger of the format
16
+ * @param {FormatTarget} target - The target of the format
17
+ * @param {InputStatus} inputStatus - The status of the input
18
+ * @returns {boolean} - Whether the format should be applied
19
+ */
20
+ canFormat(triggeredBy: FormatTrigger, target: FormatTarget, inputStatus?: InputStatus): boolean;
21
+ /**
22
+ * Calculates the new caret position in a formatted input string if needed.
23
+ *
24
+ * @param {string} input - The input string
25
+ * @param {number} caretPosition - The current position of caret
26
+ * @returns {number} The new position of caret
27
+ */
28
+ calculateCaretPosition?(input: string, caretPosition: Nullable<number>): Nullable<number>;
29
+ /**
30
+ * Determines whether a component value should be overridden based on the mask configuration.
31
+ *
32
+ * @returns {boolean} - Whether the component value should be overridden.
33
+ */
34
+ protected shouldOverrideComponentValueAfterBlur(): boolean;
35
+ /**
36
+ * Determines whether the format should be triggered at init.
37
+ *
38
+ * @returns {boolean} - Whether the format should be triggered at init.
39
+ */
40
+ protected shouldTriggerAtInit(): boolean;
41
+ /**
42
+ * Format the input string
43
+ *
44
+ * @param {string} input - The input string
45
+ * @param {InputStatus} inputStatus - The timing status of the format
46
+ */
47
+ abstract format(input: string, inputStatus?: InputStatus): string;
48
+ }
@@ -1,5 +1,5 @@
1
1
  import { Nullable } from '../../../types/general';
2
- import { StringFormatStrategy } from './string-format-strategy';
2
+ import { InputStatus, StringFormatStrategy } from './string-format-strategy.abstract';
3
3
  export declare type MaskConfig = {
4
4
  mask: string;
5
5
  slot: string | RegExp;
@@ -13,7 +13,7 @@ export declare type MaskConfig = {
13
13
  *
14
14
  * @augments StringFormatStrategy
15
15
  */
16
- export declare class StringMaskStrategy implements StringFormatStrategy {
16
+ export declare class StringMaskStrategy extends StringFormatStrategy {
17
17
  static PHONE_MASK: StringMaskStrategy;
18
18
  static ZIPCODE_MASK: StringMaskStrategy;
19
19
  static TAX_ID_MASK: StringMaskStrategy;
@@ -39,13 +39,9 @@ export declare class StringMaskStrategy implements StringFormatStrategy {
39
39
  */
40
40
  constructor(maskConfig: MaskConfig);
41
41
  /**
42
- * Given a string, it replaces the mask with the matched input slot value
43
- *
44
- * @param {string} input - The input string that needs to be formatted.
45
- * @param {number} caretPosition - The current position of caret
46
- * @returns {string} The formatted string.
42
+ * @inheritDoc
47
43
  */
48
- format(input: string, caretPosition?: Nullable<number>): string;
44
+ format(input: string, inputStatus?: InputStatus): string;
49
45
  /**
50
46
  * Get the position of
51
47
  *
@@ -60,7 +56,7 @@ export declare class StringMaskStrategy implements StringFormatStrategy {
60
56
  * @returns {boolean} The result overrideValue controls whether the component value same as the internal input value after the input blur
61
57
  * return false if property overrideValue is not exist or set to true, return false if maskConfig is not exist
62
58
  */
63
- shouldOverrideComponentValueAfterBlur(): boolean;
59
+ protected shouldOverrideComponentValueAfterBlur(): boolean;
64
60
  /**
65
61
  * The function shouldTriggerAtInit returns true if the maskConfig is defined and its triggerAtInit
66
62
  * property is set to true, otherwise it returns false.
@@ -69,7 +65,7 @@ export declare class StringMaskStrategy implements StringFormatStrategy {
69
65
  * (this.maskConfig is truthy and this.maskConfig.triggerAtInit is true), it returns true. Otherwise,
70
66
  * it returns false.
71
67
  */
72
- shouldTriggerAtInit(): boolean;
68
+ protected shouldTriggerAtInit(): boolean;
73
69
  /**
74
70
  * Get the length limit by mask
75
71
  *
@@ -1,10 +1,10 @@
1
- import { StringFormatStrategy } from './string-format-strategy';
1
+ import { StringFormatStrategy } from './string-format-strategy.abstract';
2
2
  /**
3
3
  * A class for formatting string with the "," as the thousand separator
4
4
  *
5
5
  * @augments StringFormatStrategy
6
6
  */
7
- export declare class ThousandCommaStrategy implements StringFormatStrategy {
7
+ export declare class ThousandCommaStrategy extends StringFormatStrategy {
8
8
  /**
9
9
  * If the input is a number, format it as a string
10
10
  *