@kaizen/components 1.33.0 → 1.34.0

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 (302) hide show
  1. package/dist/cjs/Input/Input/types.cjs +7 -0
  2. package/dist/cjs/Input/Input/types.cjs.map +1 -0
  3. package/dist/cjs/RichTextEditor/EditableRichTextContent/EditableRichTextContent.cjs +47 -0
  4. package/dist/cjs/RichTextEditor/EditableRichTextContent/EditableRichTextContent.cjs.map +1 -0
  5. package/dist/cjs/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss.cjs +8 -0
  6. package/dist/cjs/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss.cjs.map +1 -0
  7. package/dist/cjs/RichTextEditor/RichTextContent/RichTextContent.cjs +61 -0
  8. package/dist/cjs/RichTextEditor/RichTextContent/RichTextContent.cjs.map +1 -0
  9. package/dist/cjs/RichTextEditor/RichTextContent/RichTextContent.module.scss.cjs +7 -0
  10. package/dist/cjs/RichTextEditor/RichTextContent/RichTextContent.module.scss.cjs.map +1 -0
  11. package/dist/cjs/RichTextEditor/RichTextEditor/RichTextEditor.cjs +177 -0
  12. package/dist/cjs/RichTextEditor/RichTextEditor/RichTextEditor.cjs.map +1 -0
  13. package/dist/cjs/RichTextEditor/RichTextEditor/RichTextEditor.module.scss.cjs +32 -0
  14. package/dist/cjs/RichTextEditor/RichTextEditor/RichTextEditor.module.scss.cjs.map +1 -0
  15. package/dist/cjs/RichTextEditor/RichTextEditor/schema.cjs +88 -0
  16. package/dist/cjs/RichTextEditor/RichTextEditor/schema.cjs.map +1 -0
  17. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.cjs +43 -0
  18. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.cjs.map +1 -0
  19. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss.cjs +14 -0
  20. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss.cjs.map +1 -0
  21. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.cjs +71 -0
  22. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.cjs.map +1 -0
  23. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss.cjs +7 -0
  24. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss.cjs.map +1 -0
  25. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.cjs +16 -0
  26. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.cjs.map +1 -0
  27. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss.cjs +7 -0
  28. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss.cjs.map +1 -0
  29. package/dist/cjs/RichTextEditor/RichTextEditor/utils/controlmap.cjs +274 -0
  30. package/dist/cjs/RichTextEditor/RichTextEditor/utils/controlmap.cjs.map +1 -0
  31. package/dist/cjs/RichTextEditor/RichTextEditor/utils/inputrules.cjs +50 -0
  32. package/dist/cjs/RichTextEditor/RichTextEditor/utils/inputrules.cjs.map +1 -0
  33. package/dist/cjs/RichTextEditor/RichTextEditor/utils/keymap.cjs +108 -0
  34. package/dist/cjs/RichTextEditor/RichTextEditor/utils/keymap.cjs.map +1 -0
  35. package/dist/cjs/RichTextEditor/constants.cjs +5 -0
  36. package/dist/cjs/RichTextEditor/constants.cjs.map +1 -0
  37. package/dist/cjs/RichTextEditor/utils/commands/addMark.cjs +21 -0
  38. package/dist/cjs/RichTextEditor/utils/commands/addMark.cjs.map +1 -0
  39. package/dist/cjs/RichTextEditor/utils/commands/getMarkAttrs.cjs +26 -0
  40. package/dist/cjs/RichTextEditor/utils/commands/getMarkAttrs.cjs.map +1 -0
  41. package/dist/cjs/RichTextEditor/utils/commands/getMarkRange.cjs +44 -0
  42. package/dist/cjs/RichTextEditor/utils/commands/getMarkRange.cjs.map +1 -0
  43. package/dist/cjs/RichTextEditor/utils/commands/listIsActive.cjs +9 -0
  44. package/dist/cjs/RichTextEditor/utils/commands/listIsActive.cjs.map +1 -0
  45. package/dist/cjs/RichTextEditor/utils/commands/markContainsSelection.cjs +17 -0
  46. package/dist/cjs/RichTextEditor/utils/commands/markContainsSelection.cjs.map +1 -0
  47. package/dist/cjs/RichTextEditor/utils/commands/markIsActive.cjs +15 -0
  48. package/dist/cjs/RichTextEditor/utils/commands/markIsActive.cjs.map +1 -0
  49. package/dist/cjs/RichTextEditor/utils/commands/removeMark.cjs +40 -0
  50. package/dist/cjs/RichTextEditor/utils/commands/removeMark.cjs.map +1 -0
  51. package/dist/cjs/RichTextEditor/utils/commands/updateMark.cjs +38 -0
  52. package/dist/cjs/RichTextEditor/utils/commands/updateMark.cjs.map +1 -0
  53. package/dist/cjs/RichTextEditor/utils/commands/validateAndRemoveMarks.cjs +36 -0
  54. package/dist/cjs/RichTextEditor/utils/commands/validateAndRemoveMarks.cjs.map +1 -0
  55. package/dist/cjs/RichTextEditor/utils/core/createRichTextEditor.cjs +53 -0
  56. package/dist/cjs/RichTextEditor/utils/core/createRichTextEditor.cjs.map +1 -0
  57. package/dist/cjs/RichTextEditor/utils/core/hooks/useRichTextEditor.cjs +76 -0
  58. package/dist/cjs/RichTextEditor/utils/core/hooks/useRichTextEditor.cjs.map +1 -0
  59. package/dist/cjs/RichTextEditor/utils/core/inputrules.cjs +26 -0
  60. package/dist/cjs/RichTextEditor/utils/core/inputrules.cjs.map +1 -0
  61. package/dist/cjs/RichTextEditor/utils/core/state.cjs +41 -0
  62. package/dist/cjs/RichTextEditor/utils/core/state.cjs.map +1 -0
  63. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/LinkManager.cjs +136 -0
  64. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/LinkManager.cjs.map +1 -0
  65. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.cjs +62 -0
  66. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.cjs.map +1 -0
  67. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.cjs +68 -0
  68. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.cjs.map +1 -0
  69. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.cjs +58 -0
  70. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.cjs.map +1 -0
  71. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss.cjs +11 -0
  72. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss.cjs.map +1 -0
  73. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.cjs +43 -0
  74. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.cjs.map +1 -0
  75. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.cjs +52 -0
  76. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.cjs.map +1 -0
  77. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/validation.cjs +16 -0
  78. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/validation.cjs.map +1 -0
  79. package/dist/cjs/RichTextEditor/utils/schema/marks.cjs +73 -0
  80. package/dist/cjs/RichTextEditor/utils/schema/marks.cjs.map +1 -0
  81. package/dist/cjs/RichTextEditor/utils/schema/nodes.cjs +35 -0
  82. package/dist/cjs/RichTextEditor/utils/schema/nodes.cjs.map +1 -0
  83. package/dist/cjs/TextField/TextField.cjs +3 -1
  84. package/dist/cjs/TextField/TextField.cjs.map +1 -1
  85. package/dist/cjs/dts/Input/Input/index.d.ts +1 -0
  86. package/dist/cjs/dts/RichTextEditor/EditableRichTextContent/EditableRichTextContent.d.ts +15 -0
  87. package/dist/cjs/dts/RichTextEditor/EditableRichTextContent/index.d.ts +1 -0
  88. package/dist/cjs/dts/RichTextEditor/RichTextContent/RichTextContent.d.ts +10 -0
  89. package/dist/cjs/dts/RichTextEditor/RichTextContent/index.d.ts +1 -0
  90. package/dist/cjs/dts/RichTextEditor/RichTextEditor/RichTextEditor.d.ts +43 -0
  91. package/dist/cjs/dts/RichTextEditor/RichTextEditor/index.d.ts +4 -0
  92. package/dist/cjs/dts/RichTextEditor/RichTextEditor/schema.d.ts +4 -0
  93. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.d.ts +17 -0
  94. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/index.d.ts +1 -0
  95. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/types.d.ts +2 -0
  96. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.d.ts +11 -0
  97. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/Toolbar/index.d.ts +1 -0
  98. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.d.ts +8 -0
  99. package/dist/cjs/dts/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/index.d.ts +1 -0
  100. package/dist/cjs/dts/RichTextEditor/RichTextEditor/utils/controlmap.d.ts +14 -0
  101. package/dist/cjs/dts/RichTextEditor/RichTextEditor/utils/inputrules.d.ts +2 -0
  102. package/dist/cjs/dts/RichTextEditor/RichTextEditor/utils/keymap.d.ts +6 -0
  103. package/dist/cjs/dts/RichTextEditor/constants.d.ts +2 -0
  104. package/dist/cjs/dts/RichTextEditor/index.d.ts +9 -0
  105. package/dist/cjs/dts/RichTextEditor/types.d.ts +12 -0
  106. package/dist/cjs/dts/RichTextEditor/utils/commands/addMark.d.ts +3 -0
  107. package/dist/cjs/dts/RichTextEditor/utils/commands/fixtures/helpers.d.ts +8 -0
  108. package/dist/cjs/dts/RichTextEditor/utils/commands/fixtures/test-state.d.ts +17 -0
  109. package/dist/cjs/dts/RichTextEditor/utils/commands/getMarkAttrs.d.ts +3 -0
  110. package/dist/cjs/dts/RichTextEditor/utils/commands/getMarkRange.d.ts +3 -0
  111. package/dist/cjs/dts/RichTextEditor/utils/commands/index.d.ts +9 -0
  112. package/dist/cjs/dts/RichTextEditor/utils/commands/listIsActive.d.ts +3 -0
  113. package/dist/cjs/dts/RichTextEditor/utils/commands/markContainsSelection.d.ts +4 -0
  114. package/dist/cjs/dts/RichTextEditor/utils/commands/markIsActive.d.ts +3 -0
  115. package/dist/cjs/dts/RichTextEditor/utils/commands/removeMark.d.ts +3 -0
  116. package/dist/cjs/dts/RichTextEditor/utils/commands/updateMark.d.ts +3 -0
  117. package/dist/cjs/dts/RichTextEditor/utils/commands/validateAndRemoveMarks.d.ts +12 -0
  118. package/dist/cjs/dts/RichTextEditor/utils/core/createRichTextEditor.d.ts +21 -0
  119. package/dist/cjs/dts/RichTextEditor/utils/core/fixtures/testState.d.ts +21 -0
  120. package/dist/cjs/dts/RichTextEditor/utils/core/hooks/useRichTextEditor.d.ts +23 -0
  121. package/dist/cjs/dts/RichTextEditor/utils/core/index.d.ts +5 -0
  122. package/dist/cjs/dts/RichTextEditor/utils/core/inputrules.d.ts +4 -0
  123. package/dist/cjs/dts/RichTextEditor/utils/core/state.d.ts +19 -0
  124. package/dist/cjs/dts/RichTextEditor/utils/core/types.d.ts +28 -0
  125. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/LinkManager.d.ts +12 -0
  126. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.d.ts +19 -0
  127. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/index.d.ts +1 -0
  128. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.d.ts +13 -0
  129. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/index.d.ts +1 -0
  130. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.d.ts +12 -0
  131. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.d.ts +3 -0
  132. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/index.d.ts +1 -0
  133. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/components/index.d.ts +3 -0
  134. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.d.ts +10 -0
  135. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/index.d.ts +2 -0
  136. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/types.d.ts +13 -0
  137. package/dist/cjs/dts/RichTextEditor/utils/plugins/LinkManager/validation.d.ts +6 -0
  138. package/dist/cjs/dts/RichTextEditor/utils/plugins/index.d.ts +1 -0
  139. package/dist/cjs/dts/RichTextEditor/utils/prosemirror/index.d.ts +7 -0
  140. package/dist/cjs/dts/RichTextEditor/utils/schema/index.d.ts +2 -0
  141. package/dist/cjs/dts/RichTextEditor/utils/schema/marks.d.ts +2 -0
  142. package/dist/cjs/dts/RichTextEditor/utils/schema/nodes.d.ts +2 -0
  143. package/dist/cjs/dts/TextField/TextField.d.ts +2 -2
  144. package/dist/cjs/dts/index.d.ts +1 -0
  145. package/dist/cjs/index.cjs +95 -0
  146. package/dist/cjs/index.cjs.map +1 -1
  147. package/dist/cjs/index.css +14 -7
  148. package/dist/esm/Input/Input/types.mjs +4 -0
  149. package/dist/esm/Input/Input/types.mjs.map +1 -0
  150. package/dist/esm/RichTextEditor/EditableRichTextContent/EditableRichTextContent.mjs +45 -0
  151. package/dist/esm/RichTextEditor/EditableRichTextContent/EditableRichTextContent.mjs.map +1 -0
  152. package/dist/esm/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss.mjs +6 -0
  153. package/dist/esm/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss.mjs.map +1 -0
  154. package/dist/esm/RichTextEditor/RichTextContent/RichTextContent.mjs +39 -0
  155. package/dist/esm/RichTextEditor/RichTextContent/RichTextContent.mjs.map +1 -0
  156. package/dist/esm/RichTextEditor/RichTextContent/RichTextContent.module.scss.mjs +5 -0
  157. package/dist/esm/RichTextEditor/RichTextContent/RichTextContent.module.scss.mjs.map +1 -0
  158. package/dist/esm/RichTextEditor/RichTextEditor/RichTextEditor.mjs +152 -0
  159. package/dist/esm/RichTextEditor/RichTextEditor/RichTextEditor.mjs.map +1 -0
  160. package/dist/esm/RichTextEditor/RichTextEditor/RichTextEditor.module.scss.mjs +30 -0
  161. package/dist/esm/RichTextEditor/RichTextEditor/RichTextEditor.module.scss.mjs.map +1 -0
  162. package/dist/esm/RichTextEditor/RichTextEditor/schema.mjs +66 -0
  163. package/dist/esm/RichTextEditor/RichTextEditor/schema.mjs.map +1 -0
  164. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.mjs +41 -0
  165. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.mjs.map +1 -0
  166. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss.mjs +12 -0
  167. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss.mjs.map +1 -0
  168. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.mjs +69 -0
  169. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.mjs.map +1 -0
  170. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss.mjs +5 -0
  171. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss.mjs.map +1 -0
  172. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.mjs +14 -0
  173. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.mjs.map +1 -0
  174. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss.mjs +5 -0
  175. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss.mjs.map +1 -0
  176. package/dist/esm/RichTextEditor/RichTextEditor/utils/controlmap.mjs +252 -0
  177. package/dist/esm/RichTextEditor/RichTextEditor/utils/controlmap.mjs.map +1 -0
  178. package/dist/esm/RichTextEditor/RichTextEditor/utils/inputrules.mjs +29 -0
  179. package/dist/esm/RichTextEditor/RichTextEditor/utils/inputrules.mjs.map +1 -0
  180. package/dist/esm/RichTextEditor/RichTextEditor/utils/keymap.mjs +84 -0
  181. package/dist/esm/RichTextEditor/RichTextEditor/utils/keymap.mjs.map +1 -0
  182. package/dist/esm/RichTextEditor/constants.mjs +3 -0
  183. package/dist/esm/RichTextEditor/constants.mjs.map +1 -0
  184. package/dist/esm/RichTextEditor/utils/commands/addMark.mjs +19 -0
  185. package/dist/esm/RichTextEditor/utils/commands/addMark.mjs.map +1 -0
  186. package/dist/esm/RichTextEditor/utils/commands/getMarkAttrs.mjs +24 -0
  187. package/dist/esm/RichTextEditor/utils/commands/getMarkAttrs.mjs.map +1 -0
  188. package/dist/esm/RichTextEditor/utils/commands/getMarkRange.mjs +42 -0
  189. package/dist/esm/RichTextEditor/utils/commands/getMarkRange.mjs.map +1 -0
  190. package/dist/esm/RichTextEditor/utils/commands/listIsActive.mjs +7 -0
  191. package/dist/esm/RichTextEditor/utils/commands/listIsActive.mjs.map +1 -0
  192. package/dist/esm/RichTextEditor/utils/commands/markContainsSelection.mjs +15 -0
  193. package/dist/esm/RichTextEditor/utils/commands/markContainsSelection.mjs.map +1 -0
  194. package/dist/esm/RichTextEditor/utils/commands/markIsActive.mjs +13 -0
  195. package/dist/esm/RichTextEditor/utils/commands/markIsActive.mjs.map +1 -0
  196. package/dist/esm/RichTextEditor/utils/commands/removeMark.mjs +38 -0
  197. package/dist/esm/RichTextEditor/utils/commands/removeMark.mjs.map +1 -0
  198. package/dist/esm/RichTextEditor/utils/commands/updateMark.mjs +36 -0
  199. package/dist/esm/RichTextEditor/utils/commands/updateMark.mjs.map +1 -0
  200. package/dist/esm/RichTextEditor/utils/commands/validateAndRemoveMarks.mjs +34 -0
  201. package/dist/esm/RichTextEditor/utils/commands/validateAndRemoveMarks.mjs.map +1 -0
  202. package/dist/esm/RichTextEditor/utils/core/createRichTextEditor.mjs +51 -0
  203. package/dist/esm/RichTextEditor/utils/core/createRichTextEditor.mjs.map +1 -0
  204. package/dist/esm/RichTextEditor/utils/core/hooks/useRichTextEditor.mjs +74 -0
  205. package/dist/esm/RichTextEditor/utils/core/hooks/useRichTextEditor.mjs.map +1 -0
  206. package/dist/esm/RichTextEditor/utils/core/inputrules.mjs +23 -0
  207. package/dist/esm/RichTextEditor/utils/core/inputrules.mjs.map +1 -0
  208. package/dist/esm/RichTextEditor/utils/core/state.mjs +37 -0
  209. package/dist/esm/RichTextEditor/utils/core/state.mjs.map +1 -0
  210. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/LinkManager.mjs +134 -0
  211. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/LinkManager.mjs.map +1 -0
  212. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.mjs +60 -0
  213. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.mjs.map +1 -0
  214. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.mjs +66 -0
  215. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.mjs.map +1 -0
  216. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.mjs +56 -0
  217. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.mjs.map +1 -0
  218. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss.mjs +9 -0
  219. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss.mjs.map +1 -0
  220. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.mjs +41 -0
  221. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.mjs.map +1 -0
  222. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.mjs +50 -0
  223. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.mjs.map +1 -0
  224. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/validation.mjs +14 -0
  225. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/validation.mjs.map +1 -0
  226. package/dist/esm/RichTextEditor/utils/schema/marks.mjs +71 -0
  227. package/dist/esm/RichTextEditor/utils/schema/marks.mjs.map +1 -0
  228. package/dist/esm/RichTextEditor/utils/schema/nodes.mjs +33 -0
  229. package/dist/esm/RichTextEditor/utils/schema/nodes.mjs.map +1 -0
  230. package/dist/esm/TextField/TextField.mjs +3 -1
  231. package/dist/esm/TextField/TextField.mjs.map +1 -1
  232. package/dist/esm/dts/Input/Input/index.d.ts +1 -0
  233. package/dist/esm/dts/RichTextEditor/EditableRichTextContent/EditableRichTextContent.d.ts +15 -0
  234. package/dist/esm/dts/RichTextEditor/EditableRichTextContent/index.d.ts +1 -0
  235. package/dist/esm/dts/RichTextEditor/RichTextContent/RichTextContent.d.ts +10 -0
  236. package/dist/esm/dts/RichTextEditor/RichTextContent/index.d.ts +1 -0
  237. package/dist/esm/dts/RichTextEditor/RichTextEditor/RichTextEditor.d.ts +43 -0
  238. package/dist/esm/dts/RichTextEditor/RichTextEditor/index.d.ts +4 -0
  239. package/dist/esm/dts/RichTextEditor/RichTextEditor/schema.d.ts +4 -0
  240. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.d.ts +17 -0
  241. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/index.d.ts +1 -0
  242. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/types.d.ts +2 -0
  243. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.d.ts +11 -0
  244. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/Toolbar/index.d.ts +1 -0
  245. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.d.ts +8 -0
  246. package/dist/esm/dts/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/index.d.ts +1 -0
  247. package/dist/esm/dts/RichTextEditor/RichTextEditor/utils/controlmap.d.ts +14 -0
  248. package/dist/esm/dts/RichTextEditor/RichTextEditor/utils/inputrules.d.ts +2 -0
  249. package/dist/esm/dts/RichTextEditor/RichTextEditor/utils/keymap.d.ts +6 -0
  250. package/dist/esm/dts/RichTextEditor/constants.d.ts +2 -0
  251. package/dist/esm/dts/RichTextEditor/index.d.ts +9 -0
  252. package/dist/esm/dts/RichTextEditor/types.d.ts +12 -0
  253. package/dist/esm/dts/RichTextEditor/utils/commands/addMark.d.ts +3 -0
  254. package/dist/esm/dts/RichTextEditor/utils/commands/fixtures/helpers.d.ts +8 -0
  255. package/dist/esm/dts/RichTextEditor/utils/commands/fixtures/test-state.d.ts +17 -0
  256. package/dist/esm/dts/RichTextEditor/utils/commands/getMarkAttrs.d.ts +3 -0
  257. package/dist/esm/dts/RichTextEditor/utils/commands/getMarkRange.d.ts +3 -0
  258. package/dist/esm/dts/RichTextEditor/utils/commands/index.d.ts +9 -0
  259. package/dist/esm/dts/RichTextEditor/utils/commands/listIsActive.d.ts +3 -0
  260. package/dist/esm/dts/RichTextEditor/utils/commands/markContainsSelection.d.ts +4 -0
  261. package/dist/esm/dts/RichTextEditor/utils/commands/markIsActive.d.ts +3 -0
  262. package/dist/esm/dts/RichTextEditor/utils/commands/removeMark.d.ts +3 -0
  263. package/dist/esm/dts/RichTextEditor/utils/commands/updateMark.d.ts +3 -0
  264. package/dist/esm/dts/RichTextEditor/utils/commands/validateAndRemoveMarks.d.ts +12 -0
  265. package/dist/esm/dts/RichTextEditor/utils/core/createRichTextEditor.d.ts +21 -0
  266. package/dist/esm/dts/RichTextEditor/utils/core/fixtures/testState.d.ts +21 -0
  267. package/dist/esm/dts/RichTextEditor/utils/core/hooks/useRichTextEditor.d.ts +23 -0
  268. package/dist/esm/dts/RichTextEditor/utils/core/index.d.ts +5 -0
  269. package/dist/esm/dts/RichTextEditor/utils/core/inputrules.d.ts +4 -0
  270. package/dist/esm/dts/RichTextEditor/utils/core/state.d.ts +19 -0
  271. package/dist/esm/dts/RichTextEditor/utils/core/types.d.ts +28 -0
  272. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/LinkManager.d.ts +12 -0
  273. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.d.ts +19 -0
  274. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/index.d.ts +1 -0
  275. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.d.ts +13 -0
  276. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/index.d.ts +1 -0
  277. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.d.ts +12 -0
  278. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.d.ts +3 -0
  279. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/index.d.ts +1 -0
  280. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/components/index.d.ts +3 -0
  281. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.d.ts +10 -0
  282. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/index.d.ts +2 -0
  283. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/types.d.ts +13 -0
  284. package/dist/esm/dts/RichTextEditor/utils/plugins/LinkManager/validation.d.ts +6 -0
  285. package/dist/esm/dts/RichTextEditor/utils/plugins/index.d.ts +1 -0
  286. package/dist/esm/dts/RichTextEditor/utils/prosemirror/index.d.ts +7 -0
  287. package/dist/esm/dts/RichTextEditor/utils/schema/index.d.ts +2 -0
  288. package/dist/esm/dts/RichTextEditor/utils/schema/marks.d.ts +2 -0
  289. package/dist/esm/dts/RichTextEditor/utils/schema/nodes.d.ts +2 -0
  290. package/dist/esm/dts/TextField/TextField.d.ts +2 -2
  291. package/dist/esm/dts/index.d.ts +1 -0
  292. package/dist/esm/index.css +11 -4
  293. package/dist/esm/index.mjs +40 -0
  294. package/dist/esm/index.mjs.map +1 -1
  295. package/dist/index.d.ts +304 -3
  296. package/dist/styles.css +1 -1
  297. package/locales/cy.json +1 -1
  298. package/locales/ht.json +1 -1
  299. package/locales/km-KH.json +1 -1
  300. package/locales/si-LK.json +1 -1
  301. package/locales/sk.json +1 -1
  302. package/package.json +15 -1
@@ -0,0 +1,252 @@
1
+ import { __assign } from 'tslib';
2
+ import React from 'react';
3
+ import 'uuid';
4
+ import '../../../Icon/subcomponents/SVG/SVG.mjs';
5
+ import { AddLinkIcon } from '../../../Icon/AddLinkIcon.mjs';
6
+ import { BoldIcon } from '../../../Icon/BoldIcon.mjs';
7
+ import { BullettedListIcon } from '../../../Icon/BullettedListIcon.mjs';
8
+ import { DecreaseIndentIcon } from '../../../Icon/DecreaseIndentIcon.mjs';
9
+ import { IncreaseIndentIcon } from '../../../Icon/IncreaseIndentIcon.mjs';
10
+ import { ItalicsIcon } from '../../../Icon/ItalicsIcon.mjs';
11
+ import { NumberedListIcon } from '../../../Icon/NumberedListIcon.mjs';
12
+ import { UnderlineIcon } from '../../../Icon/UnderlineIcon.mjs';
13
+ import { listIsActive } from '../../utils/commands/listIsActive.mjs';
14
+ import { markIsActive } from '../../utils/commands/markIsActive.mjs';
15
+ import 'prosemirror-transform';
16
+ import * as ProseMirrorCommands from 'prosemirror-commands';
17
+ import 'prosemirror-keymap';
18
+ import 'prosemirror-history';
19
+ import 'prosemirror-state';
20
+ import 'prosemirror-model';
21
+ import 'prosemirror-inputrules';
22
+ import * as ProseMirrorSchemaList from 'prosemirror-schema-list';
23
+
24
+ /** Chains multiple commands to dispatch each transitions in sequential order */
25
+ var chainTransactions = function () {
26
+ var commands = [];
27
+ for (var _i = 0; _i < arguments.length; _i++) {
28
+ commands[_i] = arguments[_i];
29
+ }
30
+ return function (state, dispatch) {
31
+ var updateStateAndDispatch = function (tr) {
32
+ state = state.apply(tr);
33
+ dispatch && dispatch(tr);
34
+ };
35
+ var lastCommand = commands.pop();
36
+ for (var _i = 0, commands_1 = commands; _i < commands_1.length; _i++) {
37
+ var command = commands_1[_i];
38
+ command(state, updateStateAndDispatch);
39
+ }
40
+ return lastCommand !== undefined && lastCommand(state, dispatch);
41
+ };
42
+ };
43
+ /** Dispatches a transaction to create initial p tag required for pm commands */
44
+ var createInitialParagraph = function (state, dispatch) {
45
+ if (dispatch) {
46
+ var tr = state.tr,
47
+ schema = state.schema;
48
+ dispatch(tr.replaceSelectionWith(schema.nodes.paragraph.create()));
49
+ return true;
50
+ }
51
+ return false;
52
+ };
53
+ /** Create command for toggling Marks */
54
+ var createToggleMarkCommand = function (mark) {
55
+ return function (state, dispatch) {
56
+ var docIsEmpty = state.doc.content.size === 0;
57
+ if (docIsEmpty) {
58
+ return chainTransactions(createInitialParagraph, ProseMirrorCommands.toggleMark(mark))(state, dispatch);
59
+ }
60
+ return ProseMirrorCommands.toggleMark(mark)(state, dispatch);
61
+ };
62
+ };
63
+ /** Create command for toggling Lists */
64
+ var createToggleListCommand = function (node) {
65
+ return function (state, dispatch) {
66
+ var docIsEmpty = state.doc.content.size === 0;
67
+ if (docIsEmpty) {
68
+ return chainTransactions(createInitialParagraph, ProseMirrorSchemaList.wrapInList(node))(state, dispatch);
69
+ }
70
+ return ProseMirrorSchemaList.wrapInList(node)(state, dispatch);
71
+ };
72
+ };
73
+ /** Create command for reducing indents in a List */
74
+ var createLiftListCommand = function () {
75
+ return function (state, dispatch) {
76
+ var _a;
77
+ var $from = state.selection.$from;
78
+ // calculate the parent node from the current tag selected
79
+ var listItemNode = (_a = $from.node($from.depth - 1)) === null || _a === void 0 ? void 0 : _a.type;
80
+ return ProseMirrorSchemaList.liftListItem(listItemNode)(state, dispatch);
81
+ };
82
+ };
83
+ /** Create command for indenting in a List */
84
+ var createIndentListCommand = function () {
85
+ return function (state, dispatch) {
86
+ var _a;
87
+ var $from = state.selection.$from;
88
+ var listItemNode = (_a = $from.node($from.depth - 1)) === null || _a === void 0 ? void 0 : _a.type;
89
+ return ProseMirrorSchemaList.sinkListItem(listItemNode)(state, dispatch);
90
+ };
91
+ };
92
+ /** handler lift list disabled state */
93
+ var liftListIsDisabled = function (state) {
94
+ var _a;
95
+ var $from = state.selection.$from;
96
+ var listItemNode = (_a = $from.node($from.depth - 1)) === null || _a === void 0 ? void 0 : _a.type;
97
+ var isValidListItem = (listItemNode === null || listItemNode === void 0 ? void 0 : listItemNode.name) === "listItem" || false;
98
+ return !isValidListItem;
99
+ };
100
+ /** handler indent list disabled state */
101
+ var indentListIsDisabled = function (state) {
102
+ var _a;
103
+ var _b = state.selection,
104
+ $from = _b.$from,
105
+ $to = _b.$to;
106
+ var listItemNode = (_a = $from.node($from.depth - 1)) === null || _a === void 0 ? void 0 : _a.type;
107
+ var isValidListItem = (listItemNode === null || listItemNode === void 0 ? void 0 : listItemNode.name) === "listItem" || false;
108
+ if (!isValidListItem) {
109
+ return true;
110
+ }
111
+ var range = $from.blockRange($to, function (node) {
112
+ return node.childCount > 0 && node.firstChild.type === listItemNode;
113
+ });
114
+ return !range || range.startIndex === 0 ? true : false;
115
+ };
116
+ /** Creates an object used as an index to map the controls to respective groups */
117
+ var createControlGroupIndex = function (controls) {
118
+ return controls.reduce(function (groups, currentControl) {
119
+ var _a;
120
+ if (!(currentControl === null || currentControl === void 0 ? void 0 : currentControl.name)) return groups;
121
+ return __assign(__assign({}, groups), (_a = {}, _a[currentControl.name] = currentControl.group || "ungrouped", _a));
122
+ }, {});
123
+ };
124
+ /** Creates an initial object used to map button configuration into its respective groups */
125
+ var createInitialControls = function (controlGroupIndex) {
126
+ var uniqueGroups = Array.from(new Set(Object.values(controlGroupIndex)));
127
+ var initialControlObject = uniqueGroups.reduce(function (controlObject, controlKey) {
128
+ var _a;
129
+ if (controlKey === "ungrouped") return controlObject;
130
+ return __assign(__assign({}, controlObject), (_a = {}, _a[controlKey] = [], _a));
131
+ }, {});
132
+ // This ensure that ungrouped controls are always last
133
+ initialControlObject["ungrouped"] = [];
134
+ return initialControlObject;
135
+ };
136
+ /** Retrieves the name of the group a control belongs to */
137
+ var getGroupIndex = function (controlGroupIndex, controlType) {
138
+ var _a;
139
+ if (controlType) {
140
+ return (_a = controlGroupIndex[controlType]) !== null && _a !== void 0 ? _a : "ungrouped";
141
+ }
142
+ return "ungrouped";
143
+ };
144
+ /** Filters out empty control groups and returns a multi dimensional array */
145
+ var filterToolbarControls = function (groupedControls) {
146
+ return Object.values(groupedControls).filter(function (controls) {
147
+ return controls.length > 0;
148
+ });
149
+ };
150
+ /** Builds an array of object used to map control configuration to rte toolbar buttons */
151
+ var buildControlMap = function (schema, editorState, controls) {
152
+ if (!controls) return [];
153
+ var controlGroupIndex = createControlGroupIndex(controls);
154
+ var toolbarControls = createInitialControls(controlGroupIndex);
155
+ var listNodes = [schema.nodes.bulletList, schema.nodes.orderedList];
156
+ if (schema.marks.strong) {
157
+ var type = schema.marks.strong;
158
+ var groupIndex = getGroupIndex(controlGroupIndex, "bold");
159
+ toolbarControls[groupIndex].push({
160
+ isActive: markIsActive(editorState, type),
161
+ action: createToggleMarkCommand(type),
162
+ label: "Bold",
163
+ icon: /*#__PURE__*/React.createElement(BoldIcon, {
164
+ role: "presentation"
165
+ })
166
+ });
167
+ }
168
+ if (schema.marks.em) {
169
+ var type = schema.marks.em;
170
+ var groupIndex = getGroupIndex(controlGroupIndex, "italic");
171
+ toolbarControls[groupIndex].push({
172
+ isActive: markIsActive(editorState, type),
173
+ action: createToggleMarkCommand(type),
174
+ label: "Italic",
175
+ icon: /*#__PURE__*/React.createElement(ItalicsIcon, {
176
+ role: "presentation"
177
+ })
178
+ });
179
+ }
180
+ if (schema.marks.underline) {
181
+ var type = schema.marks.underline;
182
+ var groupIndex = getGroupIndex(controlGroupIndex, "underline");
183
+ toolbarControls[groupIndex].push({
184
+ isActive: markIsActive(editorState, type),
185
+ action: createToggleMarkCommand(type),
186
+ label: "Underline",
187
+ icon: /*#__PURE__*/React.createElement(UnderlineIcon, {
188
+ role: "presentation"
189
+ })
190
+ });
191
+ }
192
+ if (schema.nodes.bulletList) {
193
+ var type = schema.nodes.bulletList;
194
+ var groupIndex = getGroupIndex(controlGroupIndex, "bulletList");
195
+ toolbarControls[groupIndex].push({
196
+ action: createToggleListCommand(type),
197
+ isActive: listIsActive(editorState, type, listNodes),
198
+ label: "Bullet List",
199
+ icon: /*#__PURE__*/React.createElement(BullettedListIcon, {
200
+ role: "presentation"
201
+ })
202
+ });
203
+ }
204
+ if (schema.nodes.orderedList) {
205
+ var type = schema.nodes.orderedList;
206
+ var groupIndex = getGroupIndex(controlGroupIndex, "orderedList");
207
+ toolbarControls[groupIndex].push({
208
+ action: createToggleListCommand(type),
209
+ isActive: listIsActive(editorState, type, listNodes),
210
+ label: "Numbered List",
211
+ icon: /*#__PURE__*/React.createElement(NumberedListIcon, {
212
+ role: "presentation"
213
+ })
214
+ });
215
+ }
216
+ if (schema.nodes.orderedList || schema.nodes.bulletList) {
217
+ var groupIndex = controlGroupIndex["orderedList"] || controlGroupIndex["bulletList"] || "ungrouped";
218
+ toolbarControls[groupIndex].push({
219
+ action: createLiftListCommand(),
220
+ disabled: liftListIsDisabled(editorState),
221
+ isActive: false,
222
+ label: "Decrease indent",
223
+ icon: /*#__PURE__*/React.createElement(DecreaseIndentIcon, {
224
+ role: "presentation"
225
+ })
226
+ }, {
227
+ action: createIndentListCommand(),
228
+ disabled: indentListIsDisabled(editorState),
229
+ isActive: false,
230
+ label: "Increase indent",
231
+ icon: /*#__PURE__*/React.createElement(IncreaseIndentIcon, {
232
+ role: "presentation"
233
+ })
234
+ });
235
+ }
236
+ if (schema.marks.link) {
237
+ var type = schema.marks.link;
238
+ var groupIndex = getGroupIndex(controlGroupIndex, "link");
239
+ toolbarControls[groupIndex].push({
240
+ action: createToggleMarkCommand(type),
241
+ disabled: editorState.selection.empty,
242
+ isActive: false,
243
+ label: "Link",
244
+ icon: /*#__PURE__*/React.createElement(AddLinkIcon, {
245
+ role: "presentation"
246
+ })
247
+ });
248
+ }
249
+ return filterToolbarControls(toolbarControls);
250
+ };
251
+ export { buildControlMap };
252
+ //# sourceMappingURL=controlmap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controlmap.mjs","sources":["../../../../../src/RichTextEditor/RichTextEditor/utils/controlmap.tsx"],"sourcesContent":["import React from \"react\"\nimport {\n AddLinkIcon,\n BoldIcon,\n BullettedListIcon,\n DecreaseIndentIcon,\n IncreaseIndentIcon,\n ItalicsIcon,\n NumberedListIcon,\n UnderlineIcon,\n} from \"~components/Icon\"\nimport { ToolbarItems, ToolbarControlTypes } from \"../../types\"\nimport { listIsActive, markIsActive } from \"../../utils/commands\"\nimport {\n ProseMirrorCommands,\n ProseMirrorModel,\n ProseMirrorSchemaList,\n ProseMirrorState,\n} from \"../../utils/prosemirror\"\n\n/** Configuration for individual controls */\ntype ToolbarControl = {\n icon: JSX.Element\n label: string\n isActive: boolean\n disabled?: boolean\n action: ProseMirrorState.Command\n}\n\n/** Toolbar controls mapped to a group */\ntype GroupedToolbarControls = {\n [group: string]: ToolbarControl[]\n}\n\n/** An index for each control's group */\ntype ControlGroupTypes = {\n [key in ToolbarControlTypes]?: string\n}\n\n/** Chains multiple commands to dispatch each transitions in sequential order */\nconst chainTransactions =\n (...commands: ProseMirrorState.Command[]): ProseMirrorState.Command =>\n (state, dispatch): boolean => {\n const updateStateAndDispatch = (tr: ProseMirrorState.Transaction): void => {\n state = state.apply(tr)\n dispatch && dispatch(tr)\n }\n const lastCommand = commands.pop()\n\n for (const command of commands) {\n command(state, updateStateAndDispatch)\n }\n\n return lastCommand !== undefined && lastCommand(state, dispatch)\n }\n\n/** Dispatches a transaction to create initial p tag required for pm commands */\nconst createInitialParagraph = (\n state: ProseMirrorState.EditorState,\n dispatch?: (tr: ProseMirrorState.Transaction) => void\n): boolean => {\n if (dispatch) {\n const { tr, schema } = state\n\n dispatch(tr.replaceSelectionWith(schema.nodes.paragraph.create()))\n return true\n }\n return false\n}\n\n/** Create command for toggling Marks */\nconst createToggleMarkCommand =\n (mark: ProseMirrorModel.MarkType): ProseMirrorState.Command =>\n (state, dispatch) => {\n const docIsEmpty = state.doc.content.size === 0\n\n if (docIsEmpty) {\n return chainTransactions(\n createInitialParagraph,\n ProseMirrorCommands.toggleMark(mark)\n )(state, dispatch)\n }\n return ProseMirrorCommands.toggleMark(mark)(state, dispatch)\n }\n\n/** Create command for toggling Lists */\nconst createToggleListCommand =\n (node: ProseMirrorModel.NodeType): ProseMirrorState.Command =>\n (state, dispatch) => {\n const docIsEmpty = state.doc.content.size === 0\n\n if (docIsEmpty) {\n return chainTransactions(\n createInitialParagraph,\n ProseMirrorSchemaList.wrapInList(node)\n )(state, dispatch)\n }\n return ProseMirrorSchemaList.wrapInList(node)(state, dispatch)\n }\n\n/** Create command for reducing indents in a List */\nconst createLiftListCommand =\n (): ProseMirrorState.Command => (state, dispatch) => {\n const { $from } = state.selection\n // calculate the parent node from the current tag selected\n const listItemNode = $from.node($from.depth - 1)?.type\n return ProseMirrorSchemaList.liftListItem(listItemNode)(state, dispatch)\n }\n\n/** Create command for indenting in a List */\nconst createIndentListCommand =\n (): ProseMirrorState.Command => (state, dispatch) => {\n const { $from } = state.selection\n const listItemNode = $from.node($from.depth - 1)?.type\n\n return ProseMirrorSchemaList.sinkListItem(listItemNode)(state, dispatch)\n }\n\n/** handler lift list disabled state */\nconst liftListIsDisabled = (state: ProseMirrorState.EditorState): boolean => {\n const { $from } = state.selection\n const listItemNode = $from.node($from.depth - 1)?.type\n const isValidListItem = listItemNode?.name === \"listItem\" || false\n\n return !isValidListItem\n}\n\n/** handler indent list disabled state */\nconst indentListIsDisabled = (state: ProseMirrorState.EditorState): boolean => {\n const { $from, $to } = state.selection\n const listItemNode = $from.node($from.depth - 1)?.type\n const isValidListItem = listItemNode?.name === \"listItem\" || false\n\n if (!isValidListItem) {\n return true\n }\n\n const range = $from.blockRange(\n $to,\n node => node.childCount > 0 && node.firstChild!.type === listItemNode\n )\n\n return !range || range.startIndex === 0 ? true : false\n}\n\n/** Creates an object used as an index to map the controls to respective groups */\nconst createControlGroupIndex = (controls: ToolbarItems[]): ControlGroupTypes =>\n controls.reduce((groups, currentControl) => {\n if (!currentControl?.name) return groups\n return {\n ...groups,\n [currentControl.name]: currentControl.group || \"ungrouped\",\n }\n }, {})\n\n/** Creates an initial object used to map button configuration into its respective groups */\nconst createInitialControls = (\n controlGroupIndex: ControlGroupTypes\n): GroupedToolbarControls => {\n const uniqueGroups: string[] = Array.from(\n new Set(Object.values(controlGroupIndex))\n )\n\n const initialControlObject: Record<string, ToolbarControl[]> =\n uniqueGroups.reduce((controlObject, controlKey) => {\n if (controlKey === \"ungrouped\") return controlObject\n return {\n ...controlObject,\n [controlKey]: [],\n }\n }, {})\n // This ensure that ungrouped controls are always last\n initialControlObject[\"ungrouped\"] = []\n return initialControlObject\n}\n\n/** Retrieves the name of the group a control belongs to */\nconst getGroupIndex = (\n controlGroupIndex: ControlGroupTypes,\n controlType?: ToolbarControlTypes\n): string => {\n if (controlType) {\n return controlGroupIndex[controlType] ?? \"ungrouped\"\n }\n return \"ungrouped\"\n}\n\n/** Filters out empty control groups and returns a multi dimensional array */\nconst filterToolbarControls = (\n groupedControls: GroupedToolbarControls\n): ToolbarControl[][] =>\n Object.values(groupedControls).filter(controls => controls.length > 0)\n\n/** Builds an array of object used to map control configuration to rte toolbar buttons */\nexport const buildControlMap = (\n schema: ProseMirrorModel.Schema,\n editorState: ProseMirrorState.EditorState,\n controls?: ToolbarItems[]\n): ToolbarControl[][] => {\n if (!controls) return []\n const controlGroupIndex: ControlGroupTypes = createControlGroupIndex(controls)\n const toolbarControls: GroupedToolbarControls =\n createInitialControls(controlGroupIndex)\n const listNodes = [schema.nodes.bulletList, schema.nodes.orderedList]\n\n if (schema.marks.strong) {\n const type = schema.marks.strong\n const groupIndex = getGroupIndex(controlGroupIndex, \"bold\")\n toolbarControls[groupIndex].push({\n isActive: markIsActive(editorState, type),\n action: createToggleMarkCommand(type),\n label: \"Bold\",\n icon: <BoldIcon role=\"presentation\" />,\n })\n }\n\n if (schema.marks.em) {\n const type = schema.marks.em\n const groupIndex = getGroupIndex(controlGroupIndex, \"italic\")\n toolbarControls[groupIndex].push({\n isActive: markIsActive(editorState, type),\n action: createToggleMarkCommand(type),\n label: \"Italic\",\n icon: <ItalicsIcon role=\"presentation\" />,\n })\n }\n\n if (schema.marks.underline) {\n const type = schema.marks.underline\n const groupIndex = getGroupIndex(controlGroupIndex, \"underline\")\n toolbarControls[groupIndex].push({\n isActive: markIsActive(editorState, type),\n action: createToggleMarkCommand(type),\n label: \"Underline\",\n icon: <UnderlineIcon role=\"presentation\" />,\n })\n }\n\n if (schema.nodes.bulletList) {\n const type = schema.nodes.bulletList\n const groupIndex = getGroupIndex(controlGroupIndex, \"bulletList\")\n toolbarControls[groupIndex].push({\n action: createToggleListCommand(type),\n isActive: listIsActive(editorState, type, listNodes),\n label: \"Bullet List\",\n icon: <BullettedListIcon role=\"presentation\" />,\n })\n }\n\n if (schema.nodes.orderedList) {\n const type = schema.nodes.orderedList\n const groupIndex = getGroupIndex(controlGroupIndex, \"orderedList\")\n toolbarControls[groupIndex].push({\n action: createToggleListCommand(type),\n isActive: listIsActive(editorState, type, listNodes),\n label: \"Numbered List\",\n icon: <NumberedListIcon role=\"presentation\" />,\n })\n }\n\n if (schema.nodes.orderedList || schema.nodes.bulletList) {\n const groupIndex =\n controlGroupIndex[\"orderedList\"] ||\n controlGroupIndex[\"bulletList\"] ||\n \"ungrouped\"\n\n toolbarControls[groupIndex].push(\n {\n action: createLiftListCommand(),\n disabled: liftListIsDisabled(editorState),\n isActive: false,\n label: \"Decrease indent\",\n icon: <DecreaseIndentIcon role=\"presentation\" />,\n },\n {\n action: createIndentListCommand(),\n disabled: indentListIsDisabled(editorState),\n isActive: false,\n label: \"Increase indent\",\n icon: <IncreaseIndentIcon role=\"presentation\" />,\n }\n )\n }\n\n if (schema.marks.link) {\n const type = schema.marks.link\n const groupIndex = getGroupIndex(controlGroupIndex, \"link\")\n toolbarControls[groupIndex].push({\n action: createToggleMarkCommand(type),\n disabled: editorState.selection.empty,\n isActive: false,\n label: \"Link\",\n icon: <AddLinkIcon role=\"presentation\" />,\n })\n }\n\n return filterToolbarControls(toolbarControls)\n}\n"],"names":["chainTransactions","commands","_i","arguments","length","state","dispatch","updateStateAndDispatch","tr","apply","lastCommand","pop","commands_1","command","undefined","createInitialParagraph","schema","replaceSelectionWith","nodes","paragraph","create","createToggleMarkCommand","mark","docIsEmpty","doc","content","size","ProseMirrorCommands","toggleMark","createToggleListCommand","node","ProseMirrorSchemaList","wrapInList","createLiftListCommand","$from","selection","listItemNode","_a","depth","type","liftListItem","createIndentListCommand","sinkListItem","liftListIsDisabled","isValidListItem","name","indentListIsDisabled","_b","$to","range","blockRange","childCount","firstChild","startIndex","createControlGroupIndex","controls","reduce","groups","currentControl","__assign","group","createInitialControls","controlGroupIndex","uniqueGroups","Array","from","Set","Object","values","initialControlObject","controlObject","controlKey","getGroupIndex","controlType","filterToolbarControls","groupedControls","filter","buildControlMap","editorState","toolbarControls","listNodes","bulletList","orderedList","marks","strong","groupIndex","push","isActive","markIsActive","action","label","icon","React","createElement","BoldIcon","role","em","ItalicsIcon","underline","UnderlineIcon","listIsActive","BullettedListIcon","NumberedListIcon","disabled","DecreaseIndentIcon","IncreaseIndentIcon","link","empty","AddLinkIcon"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import 'prosemirror-state';
2
+ import 'prosemirror-view';
3
+ import 'tslib';
4
+ import 'react';
5
+ import 'prosemirror-model';
6
+ import { orderedListRule, bulletListRule } from '../../utils/core/inputrules.mjs';
7
+ import 'prosemirror-commands';
8
+ import 'prosemirror-keymap';
9
+ import 'prosemirror-history';
10
+ import * as ProseMirrorInputrules from 'prosemirror-inputrules';
11
+ import 'prosemirror-schema-list';
12
+ var buildInputRules = function (schema) {
13
+ var smartQuotes = ProseMirrorInputrules.smartQuotes,
14
+ ellipsis = ProseMirrorInputrules.ellipsis,
15
+ emDash = ProseMirrorInputrules.emDash,
16
+ inputRules = ProseMirrorInputrules.inputRules;
17
+ var rules = smartQuotes.concat(ellipsis, emDash);
18
+ if (schema.nodes.orderedList) {
19
+ rules.push(orderedListRule(schema.nodes.orderedList));
20
+ }
21
+ if (schema.nodes.bulletList) {
22
+ rules.push(bulletListRule(schema.nodes.bulletList));
23
+ }
24
+ return inputRules({
25
+ rules: rules
26
+ });
27
+ };
28
+ export { buildInputRules };
29
+ //# sourceMappingURL=inputrules.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputrules.mjs","sources":["../../../../../src/RichTextEditor/RichTextEditor/utils/inputrules.ts"],"sourcesContent":["import { bulletListRule, orderedListRule } from \"../../utils/core\"\nimport {\n ProseMirrorInputrules,\n ProseMirrorModel,\n} from \"../../utils/prosemirror\"\n\nexport const buildInputRules = (\n schema: ProseMirrorModel.Schema\n): ReturnType<(typeof ProseMirrorInputrules)[\"inputRules\"]> => {\n const { smartQuotes, ellipsis, emDash, inputRules } = ProseMirrorInputrules\n const rules = smartQuotes.concat(ellipsis, emDash)\n\n if (schema.nodes.orderedList) {\n rules.push(orderedListRule(schema.nodes.orderedList))\n }\n\n if (schema.nodes.bulletList) {\n rules.push(bulletListRule(schema.nodes.bulletList))\n }\n\n return inputRules({ rules })\n}\n"],"names":["buildInputRules","schema","smartQuotes","ProseMirrorInputrules","ellipsis","emDash","inputRules","rules","concat","nodes","orderedList","push","orderedListRule","bulletList","bulletListRule"],"mappings":";;;;;;;;;;;AAMO,IAAMA,eAAe,GAAG,SAAAA,CAC7BC,MAA+B,EAAA;EAEvB,IAAAC,WAAW,GAAmCC,qBAAqB,YAAxD;IAAEC,QAAQ,GAAyBD,qBAAqB,CAAAC,QAA9C;IAAEC,MAAM,GAAiBF,qBAAqB,CAAtCE,MAAA;IAAEC,UAAU,GAAKH,qBAAqB,WAA1B;EACjD,IAAMI,KAAK,GAAGL,WAAW,CAACM,MAAM,CAACJ,QAAQ,EAAEC,MAAM,CAAC;EAElD,IAAIJ,MAAM,CAACQ,KAAK,CAACC,WAAW,EAAE;IAC5BH,KAAK,CAACI,IAAI,CAACC,eAAe,CAACX,MAAM,CAACQ,KAAK,CAACC,WAAW,CAAC,CAAC;EACtD;EAED,IAAIT,MAAM,CAACQ,KAAK,CAACI,UAAU,EAAE;IAC3BN,KAAK,CAACI,IAAI,CAACG,cAAc,CAACb,MAAM,CAACQ,KAAK,CAACI,UAAU,CAAC,CAAC;EACpD;EAED,OAAOP,UAAU,CAAC;IAAEC,KAAK,EAAAA;EAAE,CAAA,CAAC;AAC9B,CAAA;"}
@@ -0,0 +1,84 @@
1
+ import * as ProseMirrorCommands from 'prosemirror-commands';
2
+ import 'prosemirror-keymap';
3
+ import * as ProseMirrorHistory from 'prosemirror-history';
4
+ import 'prosemirror-state';
5
+ import 'prosemirror-model';
6
+ import * as ProseMirrorInputrules from 'prosemirror-inputrules';
7
+ import * as ProseMirrorSchemaList from 'prosemirror-schema-list';
8
+ var buildKeymap = function (schema) {
9
+ var redo = ProseMirrorHistory.redo,
10
+ undo = ProseMirrorHistory.undo;
11
+ var undoInputRule = ProseMirrorInputrules.undoInputRule;
12
+ var wrapInList = ProseMirrorSchemaList.wrapInList,
13
+ splitListItem = ProseMirrorSchemaList.splitListItem,
14
+ liftListItem = ProseMirrorSchemaList.liftListItem,
15
+ sinkListItem = ProseMirrorSchemaList.sinkListItem;
16
+ var mac =
17
+ // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
18
+ typeof navigator != "undefined" ? /Mac/.test(navigator.platform) : false;
19
+ var chainCommands = ProseMirrorCommands.chainCommands,
20
+ exitCode = ProseMirrorCommands.exitCode,
21
+ joinDown = ProseMirrorCommands.joinDown,
22
+ joinUp = ProseMirrorCommands.joinUp,
23
+ lift = ProseMirrorCommands.lift,
24
+ selectParentNode = ProseMirrorCommands.selectParentNode,
25
+ setBlockType = ProseMirrorCommands.setBlockType,
26
+ toggleMark = ProseMirrorCommands.toggleMark;
27
+ var keys = {
28
+ "Mod-z": undo,
29
+ "Shift-Mod-z": redo,
30
+ Backspace: undoInputRule,
31
+ "Alt-ArrowUp": joinUp,
32
+ "Alt-ArrowDown": joinDown,
33
+ "Mod-BracketLeft": lift,
34
+ Escape: selectParentNode
35
+ };
36
+ if (!mac) {
37
+ keys["Mod-y"] = redo;
38
+ }
39
+ if (schema.marks.strong) {
40
+ var type = schema.marks.strong;
41
+ keys["Mod-b"] = toggleMark(type);
42
+ keys["Mod-B"] = toggleMark(type);
43
+ }
44
+ if (schema.marks.em) {
45
+ var type = schema.marks.em;
46
+ keys["Mod-i"] = toggleMark(type);
47
+ keys["Mod-I"] = toggleMark(type);
48
+ }
49
+ if (schema.marks.underline) {
50
+ var type = schema.marks.underline;
51
+ keys["Mod-u"] = toggleMark(type);
52
+ keys["Mod-U"] = toggleMark(type);
53
+ }
54
+ if (schema.nodes.hardBreak) {
55
+ var br_1 = schema.nodes.hardBreak;
56
+ var cmd = chainCommands(exitCode, function (state, dispatch) {
57
+ dispatch && dispatch(state.tr.replaceSelectionWith(br_1.create()).scrollIntoView());
58
+ return true;
59
+ });
60
+ keys["Mod-Enter"] = cmd;
61
+ keys["Shift-Enter"] = cmd;
62
+ if (mac) {
63
+ keys["Ctrl-Enter"] = cmd;
64
+ }
65
+ }
66
+ if (schema.nodes.paragraph) {
67
+ keys["Shift-Ctrl-0"] = setBlockType(schema.nodes.paragraph);
68
+ }
69
+ if (schema.nodes.bulletList) {
70
+ keys["Shift-Ctrl-8"] = wrapInList(schema.nodes.bulletList);
71
+ }
72
+ if (schema.nodes.orderedList) {
73
+ keys["Shift-Ctrl-9"] = wrapInList(schema.nodes.orderedList);
74
+ }
75
+ if (schema.nodes.listItem) {
76
+ var type = schema.nodes.listItem;
77
+ keys["Enter"] = splitListItem(type);
78
+ keys["Mod-["] = liftListItem(type);
79
+ keys["Mod-]"] = sinkListItem(type);
80
+ }
81
+ return keys;
82
+ };
83
+ export { buildKeymap };
84
+ //# sourceMappingURL=keymap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keymap.mjs","sources":["../../../../../src/RichTextEditor/RichTextEditor/utils/keymap.ts"],"sourcesContent":["import {\n ProseMirrorCommands,\n ProseMirrorHistory,\n ProseMirrorInputrules,\n ProseMirrorModel,\n ProseMirrorSchemaList,\n ProseMirrorState,\n} from \"../../utils/prosemirror\"\n\ntype KeyBinding = {\n [key: string]: ProseMirrorState.Command\n}\n\nexport const buildKeymap = (schema: ProseMirrorModel.Schema): KeyBinding => {\n const { redo, undo } = ProseMirrorHistory\n const { undoInputRule } = ProseMirrorInputrules\n const { wrapInList, splitListItem, liftListItem, sinkListItem } =\n ProseMirrorSchemaList\n\n const mac =\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n typeof navigator != \"undefined\" ? /Mac/.test(navigator.platform) : false\n\n const {\n chainCommands,\n exitCode,\n joinDown,\n joinUp,\n lift,\n selectParentNode,\n setBlockType,\n toggleMark,\n } = ProseMirrorCommands\n\n const keys: KeyBinding = {\n \"Mod-z\": undo,\n \"Shift-Mod-z\": redo,\n Backspace: undoInputRule,\n \"Alt-ArrowUp\": joinUp,\n \"Alt-ArrowDown\": joinDown,\n \"Mod-BracketLeft\": lift,\n Escape: selectParentNode,\n }\n\n if (!mac) {\n keys[\"Mod-y\"] = redo\n }\n\n if (schema.marks.strong) {\n const type = schema.marks.strong\n keys[\"Mod-b\"] = toggleMark(type)\n keys[\"Mod-B\"] = toggleMark(type)\n }\n\n if (schema.marks.em) {\n const type = schema.marks.em\n keys[\"Mod-i\"] = toggleMark(type)\n keys[\"Mod-I\"] = toggleMark(type)\n }\n\n if (schema.marks.underline) {\n const type = schema.marks.underline\n keys[\"Mod-u\"] = toggleMark(type)\n keys[\"Mod-U\"] = toggleMark(type)\n }\n\n if (schema.nodes.hardBreak) {\n const br = schema.nodes.hardBreak\n const cmd = chainCommands(exitCode, (state, dispatch) => {\n dispatch &&\n dispatch(state.tr.replaceSelectionWith(br.create()).scrollIntoView())\n return true\n })\n keys[\"Mod-Enter\"] = cmd\n keys[\"Shift-Enter\"] = cmd\n if (mac) {\n keys[\"Ctrl-Enter\"] = cmd\n }\n }\n\n if (schema.nodes.paragraph) {\n keys[\"Shift-Ctrl-0\"] = setBlockType(schema.nodes.paragraph)\n }\n\n if (schema.nodes.bulletList) {\n keys[\"Shift-Ctrl-8\"] = wrapInList(schema.nodes.bulletList)\n }\n\n if (schema.nodes.orderedList) {\n keys[\"Shift-Ctrl-9\"] = wrapInList(schema.nodes.orderedList)\n }\n\n if (schema.nodes.listItem) {\n const type = schema.nodes.listItem\n keys[\"Enter\"] = splitListItem(type)\n keys[\"Mod-[\"] = liftListItem(type)\n keys[\"Mod-]\"] = sinkListItem(type)\n }\n\n return keys\n}\n"],"names":["buildKeymap","schema","redo","ProseMirrorHistory","undo","undoInputRule","ProseMirrorInputrules","wrapInList","ProseMirrorSchemaList","splitListItem","liftListItem","sinkListItem","mac","navigator","test","platform","chainCommands","ProseMirrorCommands","exitCode","joinDown","joinUp","lift","selectParentNode","setBlockType","toggleMark","keys","Backspace","Escape","marks","strong","type","em","underline","nodes","hardBreak","br_1","cmd","state","dispatch","tr","replaceSelectionWith","create","scrollIntoView","paragraph","bulletList","orderedList","listItem"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ var TOOLBAR_CONTROLS = ["bold", "italic", "underline", "orderedList", "bulletList", "link"];
2
+ export { TOOLBAR_CONTROLS };
3
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../src/RichTextEditor/constants.ts"],"sourcesContent":["import { ToolbarControlTypes } from \"./types\"\n\nexport const TOOLBAR_CONTROLS: ToolbarControlTypes[] = [\n \"bold\",\n \"italic\",\n \"underline\",\n \"orderedList\",\n \"bulletList\",\n \"link\",\n]\n"],"names":["TOOLBAR_CONTROLS"],"mappings":"AAEa,IAAAA,gBAAgB,GAA0B,CACrD,MAAM,EACN,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM;"}
@@ -0,0 +1,19 @@
1
+ /** Wrap the users current selection in the given Mark type */
2
+ var addMark = function (type, attrs) {
3
+ return function (state, dispatch) {
4
+ var tr = state.tr,
5
+ selection = state.selection;
6
+ var $from = selection.$from,
7
+ $to = selection.$to;
8
+ if (!dispatch) return false;
9
+ if (selection.empty) {
10
+ dispatch(tr.addStoredMark(type.create(attrs)));
11
+ } else {
12
+ tr.addMark($from.pos, $to.pos, type.create(attrs));
13
+ dispatch(tr.scrollIntoView());
14
+ }
15
+ return true;
16
+ };
17
+ };
18
+ export { addMark };
19
+ //# sourceMappingURL=addMark.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addMark.mjs","sources":["../../../../../src/RichTextEditor/utils/commands/addMark.ts"],"sourcesContent":["import { EditorState, Transaction } from \"prosemirror-state\"\nimport { CommandFactory } from \"../core/types\"\n\n/** Wrap the users current selection in the given Mark type */\nexport const addMark: CommandFactory =\n (type, attrs) =>\n (state: EditorState, dispatch?: (tx: Transaction) => void) => {\n const { tr, selection } = state\n const { $from, $to } = selection\n if (!dispatch) return false\n if (selection.empty) {\n dispatch(tr.addStoredMark(type.create(attrs)))\n } else {\n tr.addMark($from.pos, $to.pos, type.create(attrs))\n\n dispatch(tr.scrollIntoView())\n }\n return true\n }\n"],"names":["addMark","type","attrs","state","dispatch","tr","selection","$from","$to","empty","addStoredMark","create","pos","scrollIntoView"],"mappings":"AAGA;AACa,IAAAA,OAAO,GAClB,SAAAA,CAACC,IAAI,EAAEC,KAAK,EAAA;EACZ,OAAA,UAACC,KAAkB,EAAEC,QAAoC,EAAA;IAC/C,IAAAC,EAAE,GAAgBF,KAAK,CAAAE,EAArB;MAAEC,SAAS,GAAKH,KAAK,CAAAG,SAAV;IACb,IAAAC,KAAK,GAAUD,SAAS,CAAAC,KAAnB;MAAEC,GAAG,GAAKF,SAAS,CAAAE,GAAd;IAClB,IAAI,CAACJ,QAAQ,EAAE,OAAO,KAAK;IAC3B,IAAIE,SAAS,CAACG,KAAK,EAAE;MACnBL,QAAQ,CAACC,EAAE,CAACK,aAAa,CAACT,IAAI,CAACU,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAA,MAAM;MACLG,EAAE,CAACL,OAAO,CAACO,KAAK,CAACK,GAAG,EAAEJ,GAAG,CAACI,GAAG,EAAEX,IAAI,CAACU,MAAM,CAACT,KAAK,CAAC,CAAC;MAElDE,QAAQ,CAACC,EAAE,CAACQ,cAAc,CAAA,CAAE,CAAC;IAC9B;IACD,OAAO,IAAI;GACZ;AAZD,CAAA;"}
@@ -0,0 +1,24 @@
1
+ import { __spreadArray } from 'tslib';
2
+
3
+ /*
4
+ ** Filters through the states Marks and returns the attributes
5
+ ** of the Mark found, else returns and empty object
6
+ */
7
+ var getMarkAttrs = function (state, type) {
8
+ var _a = state.selection,
9
+ from = _a.from,
10
+ to = _a.to;
11
+ var marks = [];
12
+ state.doc.nodesBetween(from, to, function (node) {
13
+ marks = __spreadArray(__spreadArray([], marks, true), node.marks, true);
14
+ });
15
+ var mark = marks.find(function (markItem) {
16
+ return markItem.type.name === type.name;
17
+ });
18
+ if (mark) {
19
+ return mark.attrs;
20
+ }
21
+ return {};
22
+ };
23
+ export { getMarkAttrs };
24
+ //# sourceMappingURL=getMarkAttrs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMarkAttrs.mjs","sources":["../../../../../src/RichTextEditor/utils/commands/getMarkAttrs.ts"],"sourcesContent":["import { Attrs, Mark, MarkType } from \"prosemirror-model\"\nimport { EditorState } from \"prosemirror-state\"\n\n/*\n ** Filters through the states Marks and returns the attributes\n ** of the Mark found, else returns and empty object\n */\nexport const getMarkAttrs = (state: EditorState, type: MarkType): Attrs => {\n const { from, to } = state.selection\n let marks: Mark[] = []\n\n state.doc.nodesBetween(from, to, node => {\n marks = [...marks, ...node.marks]\n })\n\n const mark = marks.find(markItem => markItem.type.name === type.name)\n\n if (mark) {\n return mark.attrs\n }\n\n return {}\n}\n"],"names":["getMarkAttrs","state","type","_a","selection","from","to","marks","doc","nodesBetween","node","mark","find","markItem","name","attrs"],"mappings":";;AAGA;;;AAGG;AACU,IAAAA,YAAY,GAAG,SAAAA,CAACC,KAAkB,EAAEC,IAAc,EAAA;EACvD,IAAAC,EAAA,GAAeF,KAAK,CAACG,SAAS;IAA5BC,IAAI,GAAAF,EAAA,CAAAE,IAAA;IAAEC,EAAE,GAAAH,EAAA,CAAAG,EAAoB;EACpC,IAAIC,KAAK,GAAW,EAAE;EAEtBN,KAAK,CAACO,GAAG,CAACC,YAAY,CAACJ,IAAI,EAAEC,EAAE,EAAE,UAAAI,IAAI,EAAA;IACnCH,KAAK,mCAAOA,KAAK,EAAA,IAAA,CAAA,EAAKG,IAAI,CAACH,KAAK,OAAC;EACnC,CAAC,CAAC;EAEF,IAAMI,IAAI,GAAGJ,KAAK,CAACK,IAAI,CAAC,UAAAC,QAAQ,EAAA;IAAI,OAAAA,QAAQ,CAACX,IAAI,CAACY,IAAI,KAAKZ,IAAI,CAACY,IAAI;EAAA,CAAA,CAAC;EAErE,IAAIH,IAAI,EAAE;IACR,OAAOA,IAAI,CAACI,KAAK;EAClB;EAED,OAAO,EAAE;AACX,CAAA;"}
@@ -0,0 +1,42 @@
1
+ // Note: this doesn't handle selections _across_ nodes.
2
+ // At the time of writing the implication of this is on links: they cannot span across multiple nodes.
3
+ // There's no impact on the other marks like bold, italics and underline.
4
+ var getMarkRange = function ($pos, type) {
5
+ if ($pos === void 0) {
6
+ $pos = null;
7
+ }
8
+ if (type === void 0) {
9
+ type = null;
10
+ }
11
+ if (!$pos || !type) {
12
+ return null;
13
+ }
14
+ var start = $pos.parent.childAfter($pos.parentOffset);
15
+ if (!start.node) {
16
+ return null;
17
+ }
18
+ var mark = start.node.marks.find(function (m) {
19
+ return m.type === type;
20
+ });
21
+ if (!mark) {
22
+ return null;
23
+ }
24
+ var startIndex = $pos.index();
25
+ var startPos = $pos.start() + start.offset;
26
+ var endIndex = startIndex + 1;
27
+ var endPos = startPos + start.node.nodeSize;
28
+ while (startIndex > 0 && mark.isInSet($pos.parent.child(startIndex - 1).marks)) {
29
+ startIndex -= 1;
30
+ startPos -= $pos.parent.child(startIndex).nodeSize;
31
+ }
32
+ while (endIndex < $pos.parent.childCount && mark.isInSet($pos.parent.child(endIndex).marks)) {
33
+ endPos += $pos.parent.child(endIndex).nodeSize;
34
+ endIndex += 1;
35
+ }
36
+ return {
37
+ from: startPos,
38
+ to: endPos
39
+ };
40
+ };
41
+ export { getMarkRange };
42
+ //# sourceMappingURL=getMarkRange.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMarkRange.mjs","sources":["../../../../../src/RichTextEditor/utils/commands/getMarkRange.ts"],"sourcesContent":["import { MarkType, ResolvedPos } from \"prosemirror-model\"\nimport { MarkRange } from \"../core/types\"\n\n// Note: this doesn't handle selections _across_ nodes.\n// At the time of writing the implication of this is on links: they cannot span across multiple nodes.\n// There's no impact on the other marks like bold, italics and underline.\nexport const getMarkRange = (\n $pos: ResolvedPos | null = null,\n type: MarkType | null = null\n): MarkRange | null => {\n if (!$pos || !type) {\n return null\n }\n\n const start = $pos.parent.childAfter($pos.parentOffset)\n\n if (!start.node) {\n return null\n }\n\n const mark = start.node.marks.find(m => m.type === type)\n if (!mark) {\n return null\n }\n\n let startIndex = $pos.index()\n let startPos = $pos.start() + start.offset\n let endIndex = startIndex + 1\n let endPos = startPos + start.node.nodeSize\n\n while (\n startIndex > 0 &&\n mark.isInSet($pos.parent.child(startIndex - 1).marks)\n ) {\n startIndex -= 1\n startPos -= $pos.parent.child(startIndex).nodeSize\n }\n\n while (\n endIndex < $pos.parent.childCount &&\n mark.isInSet($pos.parent.child(endIndex).marks)\n ) {\n endPos += $pos.parent.child(endIndex).nodeSize\n endIndex += 1\n }\n\n return { from: startPos, to: endPos }\n}\n"],"names":["getMarkRange","$pos","type","start","parent","childAfter","parentOffset","node","mark","marks","find","m","startIndex","index","startPos","offset","endIndex","endPos","nodeSize","isInSet","child","childCount","from","to"],"mappings":"AAGA;AACA;AACA;AACa,IAAAA,YAAY,GAAG,SAAAA,CAC1BC,IAA+B,EAC/BC,IAA4B,EAAA;EAD5B,IAAAD,IAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,IAA+B,GAAA,IAAA;EAAA;EAC/B,IAAAC,IAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,IAA4B,GAAA,IAAA;EAAA;EAE5B,IAAI,CAACD,IAAI,IAAI,CAACC,IAAI,EAAE;IAClB,OAAO,IAAI;EACZ;EAED,IAAMC,KAAK,GAAGF,IAAI,CAACG,MAAM,CAACC,UAAU,CAACJ,IAAI,CAACK,YAAY,CAAC;EAEvD,IAAI,CAACH,KAAK,CAACI,IAAI,EAAE;IACf,OAAO,IAAI;EACZ;EAED,IAAMC,IAAI,GAAGL,KAAK,CAACI,IAAI,CAACE,KAAK,CAACC,IAAI,CAAC,UAAAC,CAAC,EAAI;IAAA,OAAAA,CAAC,CAACT,IAAI,KAAKA,IAAI;EAAA,CAAA,CAAC;EACxD,IAAI,CAACM,IAAI,EAAE;IACT,OAAO,IAAI;EACZ;EAED,IAAII,UAAU,GAAGX,IAAI,CAACY,KAAK,EAAE;EAC7B,IAAIC,QAAQ,GAAGb,IAAI,CAACE,KAAK,CAAA,CAAE,GAAGA,KAAK,CAACY,MAAM;EAC1C,IAAIC,QAAQ,GAAGJ,UAAU,GAAG,CAAC;EAC7B,IAAIK,MAAM,GAAGH,QAAQ,GAAGX,KAAK,CAACI,IAAI,CAACW,QAAQ;EAE3C,OACEN,UAAU,GAAG,CAAC,IACdJ,IAAI,CAACW,OAAO,CAAClB,IAAI,CAACG,MAAM,CAACgB,KAAK,CAACR,UAAU,GAAG,CAAC,CAAC,CAACH,KAAK,CAAC,EACrD;IACAG,UAAU,IAAI,CAAC;IACfE,QAAQ,IAAIb,IAAI,CAACG,MAAM,CAACgB,KAAK,CAACR,UAAU,CAAC,CAACM,QAAQ;EACnD;EAED,OACEF,QAAQ,GAAGf,IAAI,CAACG,MAAM,CAACiB,UAAU,IACjCb,IAAI,CAACW,OAAO,CAAClB,IAAI,CAACG,MAAM,CAACgB,KAAK,CAACJ,QAAQ,CAAC,CAACP,KAAK,CAAC,EAC/C;IACAQ,MAAM,IAAIhB,IAAI,CAACG,MAAM,CAACgB,KAAK,CAACJ,QAAQ,CAAC,CAACE,QAAQ;IAC9CF,QAAQ,IAAI,CAAC;EACd;EAED,OAAO;IAAEM,IAAI,EAAER,QAAQ;IAAES,EAAE,EAAEN;EAAM,CAAE;AACvC,CAAA;"}
@@ -0,0 +1,7 @@
1
+ import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
2
+ var listIsActive = function (state, type, listNodes) {
3
+ var listNode = findParentNodeOfTypeClosestToPos(state.selection.$from, listNodes);
4
+ return (listNode === null || listNode === void 0 ? void 0 : listNode.node.type) === type;
5
+ };
6
+ export { listIsActive };
7
+ //# sourceMappingURL=listIsActive.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listIsActive.mjs","sources":["../../../../../src/RichTextEditor/utils/commands/listIsActive.ts"],"sourcesContent":["import { NodeType } from \"prosemirror-model\"\nimport { EditorState } from \"prosemirror-state\"\nimport { findParentNodeOfTypeClosestToPos } from \"prosemirror-utils\"\n\nexport const listIsActive = (\n state: EditorState,\n type: NodeType,\n listNodes: Array<typeof type>\n): boolean => {\n const listNode = findParentNodeOfTypeClosestToPos(\n state.selection.$from,\n listNodes\n )\n\n return listNode?.node.type === type\n}\n"],"names":["listIsActive","state","type","listNodes","listNode","findParentNodeOfTypeClosestToPos","selection","$from","node"],"mappings":";IAIaA,YAAY,GAAG,SAAAA,CAC1BC,KAAkB,EAClBC,IAAc,EACdC,SAA6B,EAAA;EAE7B,IAAMC,QAAQ,GAAGC,gCAAgC,CAC/CJ,KAAK,CAACK,SAAS,CAACC,KAAK,EACrBJ,SAAS,CACV;EAED,OAAO,CAAAC,QAAQ,KAAR,IAAA,IAAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAQ,CAAEI,IAAI,CAACN,IAAI,MAAKA,IAAI;AACrC,CAAA;"}
@@ -0,0 +1,15 @@
1
+ import { getMarkRange } from './getMarkRange.mjs';
2
+ import { markIsActive } from './markIsActive.mjs';
3
+
4
+ /** Check the current PM Selection against the Mark Type provided */
5
+ var markContainsSelection = function (state, markType) {
6
+ if (!markIsActive(state, markType)) {
7
+ return false;
8
+ }
9
+ var selection = state.selection;
10
+ var $from = selection.$from;
11
+ var markRange = getMarkRange($from, markType);
12
+ return !!markRange && markRange.from <= selection.from && markRange.to >= selection.to;
13
+ };
14
+ export { markContainsSelection };
15
+ //# sourceMappingURL=markContainsSelection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markContainsSelection.mjs","sources":["../../../../../src/RichTextEditor/utils/commands/markContainsSelection.ts"],"sourcesContent":["import { MarkType } from \"prosemirror-model\"\nimport { EditorState } from \"prosemirror-state\"\nimport { getMarkRange } from \"./getMarkRange\"\nimport { markIsActive } from \"./markIsActive\"\n\n/** Check the current PM Selection against the Mark Type provided */\nexport const markContainsSelection = (\n state: EditorState,\n markType: MarkType\n): boolean => {\n if (!markIsActive(state, markType)) {\n return false\n }\n const { selection } = state\n const { $from } = selection\n const markRange = getMarkRange($from, markType)\n return (\n !!markRange &&\n markRange.from <= selection.from &&\n markRange.to >= selection.to\n )\n}\n"],"names":["markContainsSelection","state","markType","markIsActive","selection","$from","markRange","getMarkRange","from","to"],"mappings":";;;AAKA;AACa,IAAAA,qBAAqB,GAAG,SAAAA,CACnCC,KAAkB,EAClBC,QAAkB,EAAA;EAElB,IAAI,CAACC,YAAY,CAACF,KAAK,EAAEC,QAAQ,CAAC,EAAE;IAClC,OAAO,KAAK;EACb;EACO,IAAAE,SAAS,GAAKH,KAAK,CAAAG,SAAV;EACT,IAAAC,KAAK,GAAKD,SAAS,CAAAC,KAAd;EACb,IAAMC,SAAS,GAAGC,YAAY,CAACF,KAAK,EAAEH,QAAQ,CAAC;EAC/C,OACE,CAAC,CAACI,SAAS,IACXA,SAAS,CAACE,IAAI,IAAIJ,SAAS,CAACI,IAAI,IAChCF,SAAS,CAACG,EAAE,IAAIL,SAAS,CAACK,EAAE;AAEhC,CAAA;"}
@@ -0,0 +1,13 @@
1
+ var markIsActive = function (state, type) {
2
+ var _a = state.selection,
3
+ from = _a.from,
4
+ $from = _a.$from,
5
+ to = _a.to,
6
+ empty = _a.empty;
7
+ if (empty) {
8
+ return !!type.isInSet(state.storedMarks || $from.marks());
9
+ }
10
+ return !!state.doc.rangeHasMark(from, to, type);
11
+ };
12
+ export { markIsActive };
13
+ //# sourceMappingURL=markIsActive.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markIsActive.mjs","sources":["../../../../../src/RichTextEditor/utils/commands/markIsActive.ts"],"sourcesContent":["import { MarkType } from \"prosemirror-model\"\nimport { EditorState } from \"prosemirror-state\"\n\nexport const markIsActive = (state: EditorState, type: MarkType): boolean => {\n const { from, $from, to, empty } = state.selection\n\n if (empty) {\n return !!type.isInSet(state.storedMarks || $from.marks())\n }\n\n return !!state.doc.rangeHasMark(from, to, type)\n}\n"],"names":["markIsActive","state","type","_a","selection","from","$from","to","empty","isInSet","storedMarks","marks","doc","rangeHasMark"],"mappings":"AAGa,IAAAA,YAAY,GAAG,SAAAA,CAACC,KAAkB,EAAEC,IAAc,EAAA;EACvD,IAAAC,KAA6BF,KAAK,CAACG,SAAS;IAA1CC,IAAI,GAAAF,EAAA,CAAAE,IAAA;IAAEC,KAAK,GAAAH,EAAA,CAAAG,KAAA;IAAEC,EAAE,GAAAJ,EAAA,CAAAI,EAAA;IAAEC,KAAK,WAAoB;EAElD,IAAIA,KAAK,EAAE;IACT,OAAO,CAAC,CAACN,IAAI,CAACO,OAAO,CAACR,KAAK,CAACS,WAAW,IAAIJ,KAAK,CAACK,KAAK,CAAA,CAAE,CAAC;EAC1D;EAED,OAAO,CAAC,CAACV,KAAK,CAACW,GAAG,CAACC,YAAY,CAACR,IAAI,EAAEE,EAAE,EAAEL,IAAI,CAAC;AACjD,CAAA;"}