@onereach/ui-components 4.5.0 → 4.6.0-beta.2747.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 (418) hide show
  1. package/dist/bundled/v2/components/OrCode/OrCode.js +6 -3792
  2. package/dist/bundled/v2/components/OrCode/index.js +6 -2
  3. package/dist/bundled/v2/components/OrCode/lang.js +3941 -3
  4. package/dist/bundled/v2/components/OrCode/theme.js +2 -1
  5. package/dist/bundled/v2/components/OrConfirm/OrConfirm.js +2 -1
  6. package/dist/bundled/v2/components/OrConfirm/index.js +2 -1
  7. package/dist/bundled/v2/components/OrConfirmV3/OrConfirm.js +1 -1
  8. package/dist/bundled/v2/components/OrConfirmV3/index.js +1 -1
  9. package/dist/bundled/v2/components/OrModal/OrModal.js +3 -1346
  10. package/dist/bundled/v2/components/OrModal/index.js +1 -0
  11. package/dist/bundled/v2/components/OrRichTextEditorV3/OrRichTextEditor.js +2200 -0
  12. package/dist/bundled/v2/components/OrRichTextEditorV3/OrRichTextEditor.vue.d.ts +220 -0
  13. package/dist/bundled/v2/components/OrRichTextEditorV3/index.d.ts +2 -0
  14. package/dist/bundled/v2/components/OrRichTextEditorV3/index.js +70 -0
  15. package/dist/bundled/v2/components/OrRichTextEditorV3/props.d.ts +4 -0
  16. package/dist/bundled/v2/components/OrRichTextEditorV3/props.js +7 -0
  17. package/dist/bundled/v2/components/OrRichTextEditorV3/styles.d.ts +6 -0
  18. package/dist/bundled/v2/components/OrRichTextEditorV3/styles.js +38 -0
  19. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/codemirrorNode.d.ts +3 -0
  20. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/codemirrorNode.js +46 -0
  21. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/codemirrorView.d.ts +27 -0
  22. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/codemirrorView.js +184 -0
  23. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/index.d.ts +1 -0
  24. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/index.js +5 -0
  25. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/theme.d.ts +24 -0
  26. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/theme.js +190 -0
  27. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/types.d.ts +19 -0
  28. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/codemirror/types.js +1 -0
  29. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/markdown.d.ts +3 -0
  30. package/dist/bundled/v2/components/OrRichTextEditorV3/utils/markdown.js +5 -0
  31. package/dist/bundled/v2/components/OrTextV3/OrText.vue.d.ts +2 -2
  32. package/dist/bundled/v2/components/OrTextarea/OrTextarea.vue.d.ts +2 -2
  33. package/dist/bundled/v2/components/OrTextareaV3/OrTextarea.vue.d.ts +2 -2
  34. package/dist/bundled/v2/components/OrTextbox/OrTextbox.vue.d.ts +2 -2
  35. package/dist/bundled/v2/components/OrTimePickerV3/OrTimePicker.vue.d.ts +2 -2
  36. package/dist/bundled/v2/components/OrToast/OrToast.vue.d.ts +2 -2
  37. package/dist/bundled/v2/components/OrToastV3/OrToast.vue.d.ts +2 -2
  38. package/dist/bundled/v2/components/OrTooltip/OrTooltip.vue.d.ts +2 -2
  39. package/dist/bundled/v2/components/OrTooltipV3/OrTooltip.vue.d.ts +2 -2
  40. package/dist/bundled/v2/components/index.d.ts +1 -0
  41. package/dist/bundled/v2/components/index.js +17 -3
  42. package/dist/bundled/{v3/index-cf2c3c27.js → v2/index-0d224ae5.js} +3 -115
  43. package/dist/bundled/v2/index-418d5c0d.js +9633 -0
  44. package/dist/bundled/v2/index-85c2efe8.js +7122 -0
  45. package/dist/bundled/{v3/OrCode.vue_vue_type_script_lang-74060519.js → v2/index-d92d0b48.js} +14 -235
  46. package/dist/bundled/{v3/lang-0fb8f78b.js → v2/index-e9f6b2d8.js} +73 -4009
  47. package/dist/bundled/v2/index.es-3f39f316.js +115 -0
  48. package/dist/bundled/v2/index.js +20 -6
  49. package/dist/bundled/v2/markdown-7c7c4ca6.js +17980 -0
  50. package/dist/bundled/{v3/OrModal.vue_vue_type_script_lang-ae842e5b.js → v2/useFocusTrap-48767a70.js} +3 -106
  51. package/dist/bundled/v3/OrCode.vue_vue_type_script_lang-7e29b3d0.js +237 -0
  52. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-e1390930.js → OrConfirm.vue_vue_type_script_lang-13397889.js} +1 -1
  53. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-e5a8f92a.js → OrConfirm.vue_vue_type_script_lang-4eaa8470.js} +2 -2
  54. package/dist/bundled/v3/OrModal.vue_vue_type_script_lang-2c009ee0.js +108 -0
  55. package/dist/bundled/v3/OrRichTextEditor.vue_vue_type_script_lang-fd3f9c45.js +1890 -0
  56. package/dist/bundled/v3/components/OrAvatar/OrAvatar.vue.d.ts +26 -11
  57. package/dist/bundled/v3/components/OrAvatarV3/OrAvatar.vue.d.ts +24 -8
  58. package/dist/bundled/v3/components/OrBottomSheetV3/OrBottomSheet.vue.d.ts +33 -20
  59. package/dist/bundled/v3/components/OrButton/OrButton.vue.d.ts +51 -16
  60. package/dist/bundled/v3/components/OrButtonV2/OrButton.vue.d.ts +57 -20
  61. package/dist/bundled/v3/components/OrButtonV3/OrButton.vue.d.ts +35 -15
  62. package/dist/bundled/v3/components/OrCard/OrCard.vue.d.ts +15 -7
  63. package/dist/bundled/v3/components/OrCardCollection/OrCardCollection.vue.d.ts +47 -21
  64. package/dist/bundled/v3/components/OrCardCollectionV3/OrCardCollection.vue.d.ts +70 -22
  65. package/dist/bundled/v3/components/OrCardV3/OrCard.vue.d.ts +7 -4
  66. package/dist/bundled/v3/components/OrCarousel/OrCarousel.vue.d.ts +676 -126
  67. package/dist/bundled/v3/components/OrCarouselItem/OrCarouselItem.vue.d.ts +1 -1
  68. package/dist/bundled/v3/components/OrCheckbox/OrCheckbox.vue.d.ts +35 -15
  69. package/dist/bundled/v3/components/OrCheckboxGroupV3/OrCheckboxGroup.vue.d.ts +24 -6
  70. package/dist/bundled/v3/components/OrCheckboxTreeV3/OrCheckboxTree.vue.d.ts +43 -17
  71. package/dist/bundled/v3/components/OrCheckboxV3/OrCheckbox.vue.d.ts +53 -23
  72. package/dist/bundled/v3/components/OrChip/OrChip.vue.d.ts +25 -9
  73. package/dist/bundled/v3/components/OrChips/OrChips.vue.d.ts +51 -24
  74. package/dist/bundled/v3/components/OrCode/OrCode.js +10 -6
  75. package/dist/bundled/v3/components/OrCode/OrCode.vue.d.ts +69 -24
  76. package/dist/bundled/v3/components/OrCode/index.js +8 -4
  77. package/dist/bundled/v3/components/OrCode/lang.js +3941 -3
  78. package/dist/bundled/v3/components/OrCode/theme.js +2 -1
  79. package/dist/bundled/v3/components/OrCollapse/OrCollapse.vue.d.ts +39 -17
  80. package/dist/bundled/v3/components/OrColorPicker/OrColorPicker.vue.d.ts +31 -13
  81. package/dist/bundled/v3/components/OrCombinedInputV3/OrCombinedInput.vue.d.ts +30 -8
  82. package/dist/bundled/v3/components/OrConfirm/OrConfirm.js +5 -4
  83. package/dist/bundled/v3/components/OrConfirm/OrConfirm.vue.d.ts +84 -23
  84. package/dist/bundled/v3/components/OrConfirm/index.js +4 -3
  85. package/dist/bundled/v3/components/OrConfirmV3/OrConfirm.js +3 -3
  86. package/dist/bundled/v3/components/OrConfirmV3/OrConfirm.vue.d.ts +91 -29
  87. package/dist/bundled/v3/components/OrConfirmV3/index.js +2 -2
  88. package/dist/bundled/v3/components/OrDatePickerV3/OrDatePicker.vue.d.ts +81 -25
  89. package/dist/bundled/v3/components/OrDateTimePicker/OrDateTimePicker.vue.d.ts +177 -68
  90. package/dist/bundled/v3/components/OrDateTimePickerV3/OrDateTimePicker.vue.d.ts +105 -31
  91. package/dist/bundled/v3/components/OrEmptyStateV3/OrEmptyState.vue.d.ts +28 -11
  92. package/dist/bundled/v3/components/OrError/OrError.vue.d.ts +8 -4
  93. package/dist/bundled/v3/components/OrErrorTagV3/OrErrorTag.vue.d.ts +7 -4
  94. package/dist/bundled/v3/components/OrErrorV3/OrError.vue.d.ts +18 -9
  95. package/dist/bundled/v3/components/OrExpansionPanelV3/OrExpansionPanel.vue.d.ts +35 -14
  96. package/dist/bundled/v3/components/OrFabV3/OrFab.vue.d.ts +20 -8
  97. package/dist/bundled/v3/components/OrFloating/OrFloating.vue.d.ts +46 -15
  98. package/dist/bundled/v3/components/OrFormGroupV3/OrFormGroup.vue.d.ts +30 -10
  99. package/dist/bundled/v3/components/OrHint/OrHint.vue.d.ts +8 -4
  100. package/dist/bundled/v3/components/OrHintV3/OrHint.vue.d.ts +18 -9
  101. package/dist/bundled/v3/components/OrIcon/OrIcon.vue.d.ts +44 -16
  102. package/dist/bundled/v3/components/OrIconButtonV2/OrIconButton.vue.d.ts +43 -13
  103. package/dist/bundled/v3/components/OrIconButtonV3/OrIconButton.vue.d.ts +52 -16
  104. package/dist/bundled/v3/components/OrIconV3/OrIcon.vue.d.ts +18 -7
  105. package/dist/bundled/v3/components/OrInlineInputBoxV3/OrInlineInputBox.vue.d.ts +16 -7
  106. package/dist/bundled/v3/components/OrInlineInputV3/OrInlineInput.vue.d.ts +83 -39
  107. package/dist/bundled/v3/components/OrInlineTextEdit/OrInlineTextEdit.vue.d.ts +95 -43
  108. package/dist/bundled/v3/components/OrInlineTextareaV3/OrInlineTextarea.vue.d.ts +79 -39
  109. package/dist/bundled/v3/components/OrInput/OrInput.vue.d.ts +87 -36
  110. package/dist/bundled/v3/components/OrInputBoxV3/OrInputBox.vue.d.ts +22 -7
  111. package/dist/bundled/v3/components/OrInputV3/OrInput.vue.d.ts +85 -34
  112. package/dist/bundled/v3/components/OrLabel/OrLabel.vue.d.ts +20 -9
  113. package/dist/bundled/v3/components/OrLabelV3/OrLabel.vue.d.ts +24 -9
  114. package/dist/bundled/v3/components/OrLinkV3/OrLink.vue.d.ts +24 -7
  115. package/dist/bundled/v3/components/OrList/OrList.vue.d.ts +47 -21
  116. package/dist/bundled/v3/components/OrListOfInputs/OrListOfInputs.vue.d.ts +27 -11
  117. package/dist/bundled/v3/components/OrLoader/OrLoader.vue.d.ts +26 -10
  118. package/dist/bundled/v3/components/OrLoaderV3/OrLoader.vue.d.ts +34 -13
  119. package/dist/bundled/v3/components/OrMenuItemV3/OrMenuItem.vue.d.ts +34 -13
  120. package/dist/bundled/v3/components/OrMenuV3/OrMenu.vue.d.ts +43 -16
  121. package/dist/bundled/v3/components/OrModal/OrModal.js +3 -2
  122. package/dist/bundled/v3/components/OrModal/OrModal.vue.d.ts +38 -14
  123. package/dist/bundled/v3/components/OrModal/index.js +2 -1
  124. package/dist/bundled/v3/components/OrModalV3/OrModal.vue.d.ts +31 -15
  125. package/dist/bundled/v3/components/OrNotification/OrNotification.vue.d.ts +27 -9
  126. package/dist/bundled/v3/components/OrNotificationV3/OrNotification.vue.d.ts +20 -9
  127. package/dist/bundled/v3/components/OrNumberInput/OrNumberInput.vue.d.ts +70 -24
  128. package/dist/bundled/v3/components/OrOverflowMenu/OrOverflowMenu.vue.d.ts +31 -13
  129. package/dist/bundled/v3/components/OrOverlay/OrOverlay.vue.d.ts +16 -6
  130. package/dist/bundled/v3/components/OrOverlayV3/OrOverlay.vue.d.ts +14 -7
  131. package/dist/bundled/v3/components/OrPaginationV3/OrPagination.vue.d.ts +75 -27
  132. package/dist/bundled/v3/components/OrPassword/OrPassword.vue.d.ts +63 -22
  133. package/dist/bundled/v3/components/OrPopoverV3/OrPopover.vue.d.ts +76 -28
  134. package/dist/bundled/v3/components/OrProgress/OrProgress.vue.d.ts +56 -20
  135. package/dist/bundled/v3/components/OrProgressV3/OrProgress.vue.d.ts +62 -25
  136. package/dist/bundled/v3/components/OrRadio/OrRadio.vue.d.ts +35 -13
  137. package/dist/bundled/v3/components/OrRadioGroup/OrRadioGroup.vue.d.ts +26 -9
  138. package/dist/bundled/v3/components/OrRadioGroupV3/OrRadioGroup.vue.d.ts +32 -6
  139. package/dist/bundled/v3/components/OrRadioV3/OrRadio.vue.d.ts +49 -21
  140. package/dist/bundled/v3/components/OrRichTextEditorV3/OrRichTextEditor.js +284 -0
  141. package/dist/bundled/v3/components/OrRichTextEditorV3/OrRichTextEditor.vue.d.ts +220 -0
  142. package/dist/bundled/v3/components/OrRichTextEditorV3/index.d.ts +2 -0
  143. package/dist/bundled/v3/components/OrRichTextEditorV3/index.js +86 -0
  144. package/dist/bundled/v3/components/OrRichTextEditorV3/props.d.ts +4 -0
  145. package/dist/bundled/v3/components/OrRichTextEditorV3/props.js +7 -0
  146. package/dist/bundled/v3/components/OrRichTextEditorV3/styles.d.ts +6 -0
  147. package/dist/bundled/v3/components/OrRichTextEditorV3/styles.js +38 -0
  148. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/codemirrorNode.d.ts +3 -0
  149. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/codemirrorNode.js +46 -0
  150. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/codemirrorView.d.ts +27 -0
  151. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/codemirrorView.js +184 -0
  152. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/index.d.ts +1 -0
  153. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/index.js +5 -0
  154. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/theme.d.ts +24 -0
  155. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/theme.js +190 -0
  156. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/types.d.ts +19 -0
  157. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/codemirror/types.js +1 -0
  158. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/markdown.d.ts +3 -0
  159. package/dist/bundled/v3/components/OrRichTextEditorV3/utils/markdown.js +5 -0
  160. package/dist/bundled/v3/components/OrSearch/OrSearch.vue.d.ts +65 -23
  161. package/dist/bundled/v3/components/OrSearchV3/OrSearch.vue.d.ts +41 -17
  162. package/dist/bundled/v3/components/OrSegmentedControlV3/OrSegmentedControl.vue.d.ts +25 -9
  163. package/dist/bundled/v3/components/OrSelect/OrSelect.vue.d.ts +77 -28
  164. package/dist/bundled/v3/components/OrSelectV3/OrSelect.vue.d.ts +115 -37
  165. package/dist/bundled/v3/components/OrSidebar/OrSidebar.vue.d.ts +33 -14
  166. package/dist/bundled/v3/components/OrSidebarV3/OrSidebar.vue.d.ts +63 -28
  167. package/dist/bundled/v3/components/OrSkeletonCircle/OrSkeletonCircle.vue.d.ts +20 -9
  168. package/dist/bundled/v3/components/OrSkeletonCircleV3/OrSkeletonCircle.vue.d.ts +28 -13
  169. package/dist/bundled/v3/components/OrSkeletonRect/OrSkeletonRect.vue.d.ts +22 -9
  170. package/dist/bundled/v3/components/OrSkeletonRectV3/OrSkeletonRect.vue.d.ts +26 -11
  171. package/dist/bundled/v3/components/OrSkeletonText/OrSkeletonText.vue.d.ts +26 -10
  172. package/dist/bundled/v3/components/OrSkeletonTextV3/OrSkeletonText.vue.d.ts +40 -16
  173. package/dist/bundled/v3/components/OrSlider/OrSlider.vue.d.ts +91 -35
  174. package/dist/bundled/v3/components/OrSortHeaderV3/OrSortHeader.vue.d.ts +25 -13
  175. package/dist/bundled/v3/components/OrStepper/OrStepper.vue.d.ts +43 -16
  176. package/dist/bundled/v3/components/OrSwitch/OrSwitch.vue.d.ts +33 -12
  177. package/dist/bundled/v3/components/OrSwitchV3/OrSwitch.vue.d.ts +53 -22
  178. package/dist/bundled/v3/components/OrTab/OrTab.vue.d.ts +22 -9
  179. package/dist/bundled/v3/components/OrTabHeaderItem/OrTabHeaderItem.vue.d.ts +29 -13
  180. package/dist/bundled/v3/components/OrTabV3/OrTab.vue.d.ts +17 -10
  181. package/dist/bundled/v3/components/OrTabs/OrTabs.vue.d.ts +17 -4
  182. package/dist/bundled/v3/components/OrTabsV3/OrTabs.vue.d.ts +71 -25
  183. package/dist/bundled/v3/components/OrTag/OrTag.vue.d.ts +27 -10
  184. package/dist/bundled/v3/components/OrTagV3/OrTag.vue.d.ts +23 -12
  185. package/dist/bundled/v3/components/OrTagsV3/OrTags.vue.d.ts +63 -19
  186. package/dist/bundled/v3/components/OrTeleport/OrTeleport.vue3.vue.d.ts +10 -4
  187. package/dist/bundled/v3/components/OrTeleportV3/OrTeleport.vue3.vue.d.ts +10 -4
  188. package/dist/bundled/v3/components/OrTextV3/OrText.vue.d.ts +24 -11
  189. package/dist/bundled/v3/components/OrTextarea/OrTextarea.vue.d.ts +85 -37
  190. package/dist/bundled/v3/components/OrTextareaV3/OrTextarea.vue.d.ts +73 -32
  191. package/dist/bundled/v3/components/OrTextbox/OrTextbox.vue.d.ts +137 -55
  192. package/dist/bundled/v3/components/OrTimePickerV3/OrTimePicker.vue.d.ts +79 -25
  193. package/dist/bundled/v3/components/OrToast/OrToast.vue.d.ts +31 -11
  194. package/dist/bundled/v3/components/OrToastContainer/OrToastContainer.vue.d.ts +55 -25
  195. package/dist/bundled/v3/components/OrToastContainerV3/OrToastContainer.vue.d.ts +54 -24
  196. package/dist/bundled/v3/components/OrToastV3/OrToast.vue.d.ts +38 -16
  197. package/dist/bundled/v3/components/OrTooltip/OrTooltip.vue.d.ts +33 -14
  198. package/dist/bundled/v3/components/OrTooltipContent/OrTooltipContent.vue.d.ts +10 -4
  199. package/dist/bundled/v3/components/OrTooltipV3/OrTooltip.vue.d.ts +37 -13
  200. package/dist/bundled/v3/components/index.d.ts +1 -0
  201. package/dist/bundled/v3/components/index.js +22 -7
  202. package/dist/bundled/v3/directives/dropdown-close.d.ts +1 -3
  203. package/dist/bundled/v3/directives/dropdown-open.d.ts +1 -3
  204. package/dist/bundled/v3/hooks/useResponsive/useResponsive.d.ts +2 -2
  205. package/dist/bundled/{v2/index-cf2c3c27.js → v3/index-0d224ae5.js} +3 -115
  206. package/dist/bundled/v3/index-418d5c0d.js +9633 -0
  207. package/dist/bundled/v3/index-85c2efe8.js +7122 -0
  208. package/dist/bundled/v3/index-d92d0b48.js +3805 -0
  209. package/dist/bundled/{v2/lang-0fb8f78b.js → v3/index-e9f6b2d8.js} +73 -4009
  210. package/dist/bundled/v3/index.es-3f39f316.js +115 -0
  211. package/dist/bundled/v3/index.js +26 -11
  212. package/dist/bundled/v3/markdown-7c7c4ca6.js +17980 -0
  213. package/dist/bundled/v3/useFocusTrap-48767a70.js +1348 -0
  214. package/dist/esm/v2/OrRichTextEditor-e31b0fb4.js +923 -0
  215. package/dist/esm/v2/codemirrorView-be2c7423.js +353 -0
  216. package/dist/esm/v2/components/index.d.ts +1 -0
  217. package/dist/esm/v2/components/index.js +24 -0
  218. package/dist/esm/v2/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +220 -0
  219. package/dist/esm/v2/components/or-rich-text-editor-v3/index.d.ts +2 -0
  220. package/dist/esm/v2/components/or-rich-text-editor-v3/index.js +59 -0
  221. package/dist/esm/v2/components/or-rich-text-editor-v3/props.d.ts +4 -0
  222. package/dist/esm/v2/components/or-rich-text-editor-v3/styles.d.ts +6 -0
  223. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/codemirror/codemirrorNode.d.ts +3 -0
  224. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/codemirror/codemirrorView.d.ts +27 -0
  225. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/codemirror/index.d.ts +1 -0
  226. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/codemirror/index.js +7 -0
  227. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/codemirror/theme.d.ts +24 -0
  228. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/codemirror/types.d.ts +19 -0
  229. package/dist/esm/v2/components/or-rich-text-editor-v3/utils/markdown.d.ts +3 -0
  230. package/dist/esm/v2/components/or-text-v3/OrText.vue.d.ts +2 -2
  231. package/dist/esm/v2/components/or-textarea/OrTextarea.vue.d.ts +2 -2
  232. package/dist/esm/v2/components/or-textarea-v3/OrTextarea.vue.d.ts +2 -2
  233. package/dist/esm/v2/components/or-textbox/OrTextbox.vue.d.ts +2 -2
  234. package/dist/esm/v2/components/or-time-picker-v3/OrTimePicker.vue.d.ts +2 -2
  235. package/dist/esm/v2/components/or-toast/OrToast.vue.d.ts +2 -2
  236. package/dist/esm/v2/components/or-toast/or-toast-container/OrToastContainer.vue.d.ts +2 -2
  237. package/dist/esm/v2/components/or-toast-v3/OrToast.vue.d.ts +2 -2
  238. package/dist/esm/v2/components/or-toast-v3/or-toast-container-v3/OrToastContainer.vue.d.ts +2 -2
  239. package/dist/esm/v2/components/or-tooltip/OrTooltip.vue.d.ts +2 -2
  240. package/dist/esm/v2/components/or-tooltip/or-tooltip-content/OrTooltipContent.vue.d.ts +2 -2
  241. package/dist/esm/v2/components/or-tooltip-v3/OrTooltip.vue.d.ts +2 -2
  242. package/dist/esm/v2/index.js +24 -0
  243. package/dist/esm/v3/OrRichTextEditor-bdb2040e.js +856 -0
  244. package/dist/esm/v3/codemirrorView-be2c7423.js +353 -0
  245. package/dist/esm/v3/components/index.d.ts +1 -0
  246. package/dist/esm/v3/components/index.js +24 -0
  247. package/dist/esm/v3/components/or-avatar/OrAvatar.vue.d.ts +26 -11
  248. package/dist/esm/v3/components/or-avatar-v3/OrAvatar.vue.d.ts +24 -8
  249. package/dist/esm/v3/components/or-bottom-sheet-v3/OrBottomSheet.vue.d.ts +33 -20
  250. package/dist/esm/v3/components/or-button/OrButton.vue.d.ts +51 -16
  251. package/dist/esm/v3/components/or-button-v2/OrButton.vue.d.ts +57 -20
  252. package/dist/esm/v3/components/or-button-v3/OrButton.vue.d.ts +35 -15
  253. package/dist/esm/v3/components/or-card/OrCard.vue.d.ts +15 -7
  254. package/dist/esm/v3/components/or-card-collection/OrCardCollection.vue.d.ts +47 -21
  255. package/dist/esm/v3/components/or-card-collection-v3/OrCardCollection.vue.d.ts +70 -22
  256. package/dist/esm/v3/components/or-card-collection-v3/partials/OrCardCollectionView.vue3.vue.d.ts +14 -6
  257. package/dist/esm/v3/components/or-card-v3/OrCard.vue.d.ts +7 -4
  258. package/dist/esm/v3/components/or-carousel/OrCarousel.vue.d.ts +676 -126
  259. package/dist/esm/v3/components/or-carousel/or-carousel-item/OrCarouselItem.vue.d.ts +1 -1
  260. package/dist/esm/v3/components/or-checkbox/OrCheckbox.vue.d.ts +35 -15
  261. package/dist/esm/v3/components/or-checkbox-group-v3/OrCheckboxGroup.vue.d.ts +24 -6
  262. package/dist/esm/v3/components/or-checkbox-tree-v3/OrCheckboxTree.vue.d.ts +43 -17
  263. package/dist/esm/v3/components/or-checkbox-v3/OrCheckbox.vue.d.ts +53 -23
  264. package/dist/esm/v3/components/or-chips/OrChips.vue.d.ts +51 -24
  265. package/dist/esm/v3/components/or-chips/or-chip/OrChip.vue.d.ts +25 -9
  266. package/dist/esm/v3/components/or-chips/partials/OrChipsInput.vue.d.ts +37 -17
  267. package/dist/esm/v3/components/or-code/OrCode.vue.d.ts +69 -24
  268. package/dist/esm/v3/components/or-collapse/OrCollapse.vue.d.ts +39 -17
  269. package/dist/esm/v3/components/or-color-picker/OrColorPicker.vue.d.ts +31 -13
  270. package/dist/esm/v3/components/or-combined-input-v3/OrCombinedInput.vue.d.ts +30 -8
  271. package/dist/esm/v3/components/or-confirm/OrConfirm.vue.d.ts +84 -23
  272. package/dist/esm/v3/components/or-confirm-v3/OrConfirm.vue.d.ts +91 -29
  273. package/dist/esm/v3/components/or-date-picker-v3/OrDatePicker.vue.d.ts +81 -25
  274. package/dist/esm/v3/components/or-date-time-picker/OrDateTimePicker.vue.d.ts +177 -68
  275. package/dist/esm/v3/components/or-date-time-picker/partials/OrDateTimePickerCalendarItem.vue.d.ts +33 -12
  276. package/dist/esm/v3/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +105 -31
  277. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue.d.ts +28 -11
  278. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +39 -17
  279. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue.d.ts +15 -7
  280. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +85 -23
  281. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue.d.ts +11 -7
  282. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue.d.ts +7 -4
  283. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue.d.ts +28 -11
  284. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +37 -15
  285. package/dist/esm/v3/components/or-empty-state-v3/OrEmptyState.vue.d.ts +28 -11
  286. package/dist/esm/v3/components/or-error/OrError.vue.d.ts +8 -4
  287. package/dist/esm/v3/components/or-error-tag-v3/OrErrorTag.vue.d.ts +7 -4
  288. package/dist/esm/v3/components/or-error-v3/OrError.vue.d.ts +18 -9
  289. package/dist/esm/v3/components/or-expansion-panel-v3/OrExpansionPanel.vue.d.ts +35 -14
  290. package/dist/esm/v3/components/or-fab-v3/OrFab.vue.d.ts +20 -8
  291. package/dist/esm/v3/components/or-floating/OrFloating.vue.d.ts +46 -15
  292. package/dist/esm/v3/components/or-form-group-v3/OrFormGroup.vue.d.ts +30 -10
  293. package/dist/esm/v3/components/or-hint/OrHint.vue.d.ts +8 -4
  294. package/dist/esm/v3/components/or-hint-v3/OrHint.vue.d.ts +18 -9
  295. package/dist/esm/v3/components/or-icon/OrIcon.vue.d.ts +44 -16
  296. package/dist/esm/v3/components/or-icon-button-v2/OrIconButton.vue.d.ts +43 -13
  297. package/dist/esm/v3/components/or-icon-button-v2/partials/OrTooltipWrapper.vue.d.ts +10 -8
  298. package/dist/esm/v3/components/or-icon-button-v3/OrIconButton.vue.d.ts +52 -16
  299. package/dist/esm/v3/components/or-icon-v3/OrIcon.vue.d.ts +18 -7
  300. package/dist/esm/v3/components/or-inline-input-box-v3/OrInlineInputBox.vue.d.ts +16 -7
  301. package/dist/esm/v3/components/or-inline-input-v3/OrInlineInput.vue.d.ts +83 -39
  302. package/dist/esm/v3/components/or-inline-text-edit/OrInlineTextEdit.vue.d.ts +95 -43
  303. package/dist/esm/v3/components/or-inline-textarea-v3/OrInlineTextarea.vue.d.ts +79 -39
  304. package/dist/esm/v3/components/or-input/OrInput.vue.d.ts +87 -36
  305. package/dist/esm/v3/components/or-input-box-v3/OrInputBox.vue.d.ts +22 -7
  306. package/dist/esm/v3/components/or-input-v3/OrInput.vue.d.ts +85 -34
  307. package/dist/esm/v3/components/or-label/OrLabel.vue.d.ts +20 -9
  308. package/dist/esm/v3/components/or-label-v3/OrLabel.vue.d.ts +24 -9
  309. package/dist/esm/v3/components/or-link-v3/OrLink.vue.d.ts +24 -7
  310. package/dist/esm/v3/components/or-list/OrList.vue.d.ts +47 -21
  311. package/dist/esm/v3/components/or-list-of-inputs/OrListOfInputs.vue.d.ts +27 -11
  312. package/dist/esm/v3/components/or-loader/OrLoader.vue.d.ts +26 -10
  313. package/dist/esm/v3/components/or-loader-v3/OrLoader.vue.d.ts +34 -13
  314. package/dist/esm/v3/components/or-menu-item-v3/OrMenuItem.vue.d.ts +34 -13
  315. package/dist/esm/v3/components/or-menu-v3/OrMenu.vue.d.ts +43 -16
  316. package/dist/esm/v3/components/or-modal/OrModal.vue.d.ts +38 -14
  317. package/dist/esm/v3/components/or-modal-v3/OrModal.vue.d.ts +31 -15
  318. package/dist/esm/v3/components/or-notification/OrNotification.vue.d.ts +27 -9
  319. package/dist/esm/v3/components/or-notification-v3/OrNotification.vue.d.ts +20 -9
  320. package/dist/esm/v3/components/or-number-input/OrNumberInput.vue.d.ts +70 -24
  321. package/dist/esm/v3/components/or-overflow-menu/OrOverflowMenu.vue.d.ts +31 -13
  322. package/dist/esm/v3/components/or-overflow-menu/partials/OrOverflowMenuItem.vue.d.ts +23 -7
  323. package/dist/esm/v3/components/or-overlay/OrOverlay.vue.d.ts +16 -6
  324. package/dist/esm/v3/components/or-overlay-v3/OrOverlay.vue.d.ts +14 -7
  325. package/dist/esm/v3/components/or-pagination-v3/OrPagination.vue.d.ts +75 -27
  326. package/dist/esm/v3/components/or-password/OrPassword.vue.d.ts +63 -22
  327. package/dist/esm/v3/components/or-popover-v3/OrPopover.vue.d.ts +76 -28
  328. package/dist/esm/v3/components/or-progress/OrProgress.vue.d.ts +56 -20
  329. package/dist/esm/v3/components/or-progress-v3/OrProgress.vue.d.ts +62 -25
  330. package/dist/esm/v3/components/or-radio/OrRadio.vue.d.ts +35 -13
  331. package/dist/esm/v3/components/or-radio-group/OrRadioGroup.vue.d.ts +26 -9
  332. package/dist/esm/v3/components/or-radio-group-v3/OrRadioGroup.vue.d.ts +32 -6
  333. package/dist/esm/v3/components/or-radio-v3/OrRadio.vue.d.ts +49 -21
  334. package/dist/esm/v3/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +220 -0
  335. package/dist/esm/v3/components/or-rich-text-editor-v3/index.d.ts +2 -0
  336. package/dist/esm/v3/components/or-rich-text-editor-v3/index.js +57 -0
  337. package/dist/esm/v3/components/or-rich-text-editor-v3/props.d.ts +4 -0
  338. package/dist/esm/v3/components/or-rich-text-editor-v3/styles.d.ts +6 -0
  339. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/codemirror/codemirrorNode.d.ts +3 -0
  340. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/codemirror/codemirrorView.d.ts +27 -0
  341. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/codemirror/index.d.ts +1 -0
  342. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/codemirror/index.js +7 -0
  343. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/codemirror/theme.d.ts +24 -0
  344. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/codemirror/types.d.ts +19 -0
  345. package/dist/esm/v3/components/or-rich-text-editor-v3/utils/markdown.d.ts +3 -0
  346. package/dist/esm/v3/components/or-search/OrSearch.vue.d.ts +65 -23
  347. package/dist/esm/v3/components/or-search-v3/OrSearch.vue.d.ts +41 -17
  348. package/dist/esm/v3/components/or-segmented-control-v3/OrSegmentedControl.vue.d.ts +25 -9
  349. package/dist/esm/v3/components/or-segmented-control-v3/partials/or-segmented-control-item/OrSegmentedControlItem.vue.d.ts +20 -8
  350. package/dist/esm/v3/components/or-select/OrSelect.vue.d.ts +77 -28
  351. package/dist/esm/v3/components/or-select/partials/OrSelectContent.vue.d.ts +49 -18
  352. package/dist/esm/v3/components/or-select/partials/OrSelectContentEmpty.vue.d.ts +16 -4
  353. package/dist/esm/v3/components/or-select/partials/OrSelectContentOptions.vue.d.ts +67 -13
  354. package/dist/esm/v3/components/or-select/partials/OrSelectInput.vue.d.ts +41 -16
  355. package/dist/esm/v3/components/or-select/partials/OrSelectInputValue.vue.d.ts +35 -16
  356. package/dist/esm/v3/components/or-select/partials/OrSelectMain.vue.d.ts +71 -24
  357. package/dist/esm/v3/components/or-select/partials/OrSelectOption.vue.d.ts +19 -7
  358. package/dist/esm/v3/components/or-select/partials/OrSelectSearchOptions.vue.d.ts +24 -11
  359. package/dist/esm/v3/components/or-select-v3/OrSelect.vue.d.ts +115 -37
  360. package/dist/esm/v3/components/or-sidebar/OrSidebar.vue.d.ts +33 -14
  361. package/dist/esm/v3/components/or-sidebar-v3/OrSidebar.vue.d.ts +63 -28
  362. package/dist/esm/v3/components/or-sidebar-v3/partials/or-sidebar-collapse-button/OrSidebarCollapseButton.vue.d.ts +23 -10
  363. package/dist/esm/v3/components/or-skeleton/or-skeleton-circle/OrSkeletonCircle.vue.d.ts +20 -9
  364. package/dist/esm/v3/components/or-skeleton/or-skeleton-rect/OrSkeletonRect.vue.d.ts +22 -9
  365. package/dist/esm/v3/components/or-skeleton/or-skeleton-text/OrSkeletonText.vue.d.ts +26 -10
  366. package/dist/esm/v3/components/or-skeleton-v3/or-skeleton-circle-v3/OrSkeletonCircle.vue.d.ts +28 -13
  367. package/dist/esm/v3/components/or-skeleton-v3/or-skeleton-rect-v3/OrSkeletonRect.vue.d.ts +26 -11
  368. package/dist/esm/v3/components/or-skeleton-v3/or-skeleton-text-v3/OrSkeletonText.vue.d.ts +40 -16
  369. package/dist/esm/v3/components/or-slider/OrSlider.vue.d.ts +91 -35
  370. package/dist/esm/v3/components/or-sort-header-v3/OrSortHeader.vue.d.ts +25 -13
  371. package/dist/esm/v3/components/or-stepper/OrStepper.vue.d.ts +43 -16
  372. package/dist/esm/v3/components/or-stepper/partials/OrStepperButtonOptions.vue.d.ts +20 -4
  373. package/dist/esm/v3/components/or-stepper/partials/OrStepperOptionHorizontal.vue.d.ts +26 -4
  374. package/dist/esm/v3/components/or-stepper/partials/OrStepperOptionVertical.vue.d.ts +26 -4
  375. package/dist/esm/v3/components/or-stepper/partials/OrStepperTitle.vue.d.ts +22 -6
  376. package/dist/esm/v3/components/or-stepper/partials/StatusIcon.vue.d.ts +12 -6
  377. package/dist/esm/v3/components/or-switch/OrSwitch.vue.d.ts +33 -12
  378. package/dist/esm/v3/components/or-switch-v3/OrSwitch.vue.d.ts +53 -22
  379. package/dist/esm/v3/components/or-tab/OrTab.vue.d.ts +22 -9
  380. package/dist/esm/v3/components/or-tab-header-item/OrTabHeaderItem.vue.d.ts +29 -13
  381. package/dist/esm/v3/components/or-tab-v3/OrTab.vue.d.ts +17 -10
  382. package/dist/esm/v3/components/or-tabs/OrTabs.vue.d.ts +17 -4
  383. package/dist/esm/v3/components/or-tabs-v3/OrTabs.vue.d.ts +71 -25
  384. package/dist/esm/v3/components/or-tag/OrTag.vue.d.ts +27 -10
  385. package/dist/esm/v3/components/or-tag-v3/OrTag.vue.d.ts +23 -12
  386. package/dist/esm/v3/components/or-tags-v3/OrTags.vue.d.ts +63 -19
  387. package/dist/esm/v3/components/or-teleport/OrTeleport.vue3.vue.d.ts +10 -4
  388. package/dist/esm/v3/components/or-teleport-v3/OrTeleport.vue3.vue.d.ts +10 -4
  389. package/dist/esm/v3/components/or-text-v3/OrText.vue.d.ts +24 -11
  390. package/dist/esm/v3/components/or-textarea/OrTextarea.vue.d.ts +85 -37
  391. package/dist/esm/v3/components/or-textarea-v3/OrTextarea.vue.d.ts +73 -32
  392. package/dist/esm/v3/components/or-textbox/OrTextbox.vue.d.ts +137 -55
  393. package/dist/esm/v3/components/or-time-picker-v3/OrTimePicker.vue.d.ts +79 -25
  394. package/dist/esm/v3/components/or-toast/OrToast.vue.d.ts +31 -11
  395. package/dist/esm/v3/components/or-toast/or-toast-container/OrToastContainer.vue.d.ts +55 -25
  396. package/dist/esm/v3/components/or-toast-v3/OrToast.vue.d.ts +38 -16
  397. package/dist/esm/v3/components/or-toast-v3/or-toast-container-v3/OrToastContainer.vue.d.ts +54 -24
  398. package/dist/esm/v3/components/or-tooltip/OrTooltip.vue.d.ts +33 -14
  399. package/dist/esm/v3/components/or-tooltip/or-tooltip-content/OrTooltipContent.vue.d.ts +10 -4
  400. package/dist/esm/v3/components/or-tooltip-v3/OrTooltip.vue.d.ts +37 -13
  401. package/dist/esm/v3/directives/dropdown-close.d.ts +1 -3
  402. package/dist/esm/v3/directives/dropdown-open.d.ts +1 -3
  403. package/dist/esm/v3/hooks/useResponsive/useResponsive.d.ts +2 -2
  404. package/dist/esm/v3/index.js +24 -0
  405. package/package.json +24 -4
  406. package/src/components/index.ts +1 -0
  407. package/src/components/or-rich-text-editor-v3/OrRichTextEditor.vue +766 -0
  408. package/src/components/or-rich-text-editor-v3/index.ts +2 -0
  409. package/src/components/or-rich-text-editor-v3/props.ts +4 -0
  410. package/src/components/or-rich-text-editor-v3/styles.ts +54 -0
  411. package/src/components/or-rich-text-editor-v3/utils/codemirror/codemirrorNode.ts +40 -0
  412. package/src/components/or-rich-text-editor-v3/utils/codemirror/codemirrorView.ts +254 -0
  413. package/src/components/or-rich-text-editor-v3/utils/codemirror/index.ts +1 -0
  414. package/src/components/or-rich-text-editor-v3/utils/codemirror/theme.ts +213 -0
  415. package/src/components/or-rich-text-editor-v3/utils/codemirror/types.ts +22 -0
  416. package/src/components/or-rich-text-editor-v3/utils/markdown.ts +120 -0
  417. /package/dist/bundled/v2/{index-968c331a.js → index-f6664cb1.js} +0 -0
  418. /package/dist/bundled/v3/{index-968c331a.js → index-f6664cb1.js} +0 -0
@@ -0,0 +1,766 @@
1
+ <template>
2
+ <div
3
+ ref="root"
4
+ :class="rootStyles"
5
+ >
6
+ <or-label>
7
+ {{ description }}
8
+ </or-label>
9
+ <div
10
+ ref="containerRef"
11
+ :class="containerStyles"
12
+ @click="handleEditorClick()"
13
+ >
14
+ <div
15
+ ref="toolbarRef"
16
+ :class="toolbarContainerStyles"
17
+ >
18
+ <div
19
+ v-for="(tools, index) in toolbar"
20
+ :key="index"
21
+ :class="[...toolbarStyles, { 'hidden': isVisible(tools)}]"
22
+ >
23
+ <div
24
+ v-for="item in tools"
25
+ :key="item"
26
+ :class="['flex gap-md', { 'hidden': !isVisible(item)}]"
27
+ >
28
+ <or-icon-button
29
+ v-if="item==='heading'"
30
+ ref="toolbarButtonRef"
31
+ :selected="isActive[item]"
32
+ :disabled="!isFocused"
33
+ :tooltip="{text: item, placement: 'top'}"
34
+ :icon="{icon: headingIcon, variant: 'inherit', size: 'm'}"
35
+ @click="menuRef.open()"
36
+ />
37
+ <or-icon-button
38
+ v-else-if="isVisible(item)"
39
+ :tooltip="{text: iconTooltipsEnum[item], placement: 'top'}"
40
+ :selected="isActive[item]"
41
+ :disabled="!isFocused"
42
+ :icon="{icon: iconsEnum[item], variant: 'inherit', size: 'm'}"
43
+ @click="handleToolbarClick(item)"
44
+ />
45
+ </div>
46
+ </div>
47
+ <or-icon-button
48
+ v-if="countOfNotVisibleTools > 0"
49
+ ref="moreButtonRef"
50
+ :disabled="!isFocused"
51
+ :icon="{icon: 'more_horiz', variant: 'inherit', size: 'm'}"
52
+ class="px-sm"
53
+ @click="moreRef.open()"
54
+ />
55
+ </div>
56
+ <div :class="['p-sm', { 'h-[calc(100%-32px)] md:h-[calc(100%-36px)]': fullHeight }]">
57
+ <textarea
58
+ v-show="disableMarkdown"
59
+ ref="textareaRef"
60
+ v-model="sourceValue"
61
+ auto-focus
62
+ :activated="disableMarkdown"
63
+ class="w-full h-full resize-none border-none outline-none bg-transparent typography-body-2-regular"
64
+ @input="handleInput"
65
+ />
66
+ <div
67
+ v-show="!disableMarkdown"
68
+ ref="editorRef"
69
+ :class="editorInputStyles"
70
+ />
71
+ <slot name="files" />
72
+ </div>
73
+ </div>
74
+ <or-menu
75
+ v-if="moreButtonRef"
76
+ ref="moreRef"
77
+ :trigger="moreButtonRef.root"
78
+ >
79
+ <or-menu-item
80
+ v-for="item in notVisibleTools"
81
+ :key="item"
82
+ @click="handleToolbarClick(item)"
83
+ >
84
+ <or-icon-button
85
+ :tooltip="{text: iconTooltipsEnum[item], placement: 'top'}"
86
+ :selected="isActive[item]"
87
+ :disabled="!isFocused"
88
+ :icon="{icon: iconsEnum[item], variant: 'inherit', size: 'm'}"
89
+ />
90
+ </or-menu-item>
91
+ </or-menu>
92
+ <or-menu
93
+ v-if="toolbarButtonRef"
94
+ ref="menuRef"
95
+ :trigger="toolbarButtonRef[getIndexOfHeading].root"
96
+ placement="bottom-start"
97
+ >
98
+ <or-menu-item
99
+ v-for="heading in headingLevels"
100
+ :key="heading"
101
+ @click="handleToolbarClick('heading', heading)"
102
+ >
103
+ Heading {{ heading }}
104
+ </or-menu-item>
105
+ <or-menu-item
106
+ @click="handleToolbarClick('heading')"
107
+ >
108
+ None
109
+ </or-menu-item>
110
+ </or-menu>
111
+ <or-modal
112
+ :is-open="isOpenLinkModal"
113
+ size="s"
114
+ >
115
+ <template v-slot:header>
116
+ <p class="text-headline-2">
117
+ Add Link
118
+ </p>
119
+ </template>
120
+ <div>
121
+ <or-label>
122
+ Text
123
+ </or-label>
124
+ <or-input
125
+ v-model="text"
126
+ placeholder="Placeholder"
127
+ class="pb-md"
128
+ />
129
+ <or-label>
130
+ Link
131
+ </or-label>
132
+ <or-input
133
+ v-model="link"
134
+ placeholder="Placeholder"
135
+ />
136
+ </div>
137
+ <template v-slot:footer>
138
+ <div class="flex ml-auto gap-md">
139
+ <or-button
140
+ variant="outlined"
141
+ @click="discardLink"
142
+ >
143
+ <p>Cancel</p>
144
+ </or-button>
145
+ <or-button
146
+ @click="attachLink"
147
+ >
148
+ <p>Save</p>
149
+ </or-button>
150
+ </div>
151
+ </template>
152
+ </or-modal>
153
+ </div>
154
+ </template>
155
+
156
+ <script lang="ts">
157
+ import { defineComponent, ref, computed, onBeforeUnmount, onMounted, watch, ComponentPublicInstance, PropType, nextTick } from 'vue-demi';
158
+ import { useFocusTrap, UseFocusTrapReturn } from '@vueuse/integrations/useFocusTrap';
159
+ import { onClickOutside, useResizeObserver } from '@vueuse/core';
160
+ import { serialize, deserialize } from './utils/markdown';
161
+
162
+ import { OrIconButtonV3 as OrIconButton } from '../or-icon-button-v3';
163
+ import { OrLabelV3 as OrLabel } from '../or-label-v3';
164
+ import { OrMenuV3 as OrMenu } from '../or-menu-v3';
165
+ import { OrMenuItemV3 as OrMenuItem } from '../or-menu-item-v3';
166
+ import { OrModalV3 as OrModal } from '../or-modal-v3';
167
+ import { OrInputV3 as OrInput } from '../or-input-v3';
168
+ import { OrButtonV3 as OrButton } from '../or-button-v3';
169
+
170
+ import {
171
+ EditorContainer,
172
+ ToolbarContainer,
173
+ Toolbar,
174
+ ToolbarButtonFocused,
175
+ ToolbarButton,
176
+ EditorInput,
177
+ } from './styles';
178
+
179
+ import { Formats } from './props';
180
+
181
+ import { Editor, mergeAttributes } from '@tiptap/core';
182
+ import StarterKit from '@tiptap/starter-kit';
183
+ import Underline from '@tiptap/extension-underline';
184
+ import Link from '@tiptap/extension-link';
185
+ import Highlight from '@tiptap/extension-highlight';
186
+ import Heading, { Level } from '@tiptap/extension-heading';
187
+ import Placeholder from '@tiptap/extension-placeholder';
188
+
189
+ import codemirrorNode from './utils/codemirror/codemirrorNode';
190
+
191
+ export default defineComponent({
192
+ name: 'OrRichTextEditor',
193
+
194
+ components: {
195
+ OrIconButton,
196
+ OrLabel,
197
+ OrMenuItem,
198
+ OrMenu,
199
+ OrModal,
200
+ OrInput,
201
+ OrButton,
202
+ },
203
+
204
+ inheritAttrs: false,
205
+
206
+ model: {
207
+ prop: 'modelValue',
208
+ event: 'update:modelValue',
209
+ },
210
+
211
+ props: {
212
+ modelValue: {
213
+ type: String,
214
+ default: undefined,
215
+ },
216
+ toolbar: {
217
+ type: Array <string[]>,
218
+ default: () => [],
219
+ },
220
+ description: {
221
+ type: String,
222
+ default: '',
223
+ },
224
+ placeholder: {
225
+ type: String,
226
+ default: '',
227
+ },
228
+ autofocus: {
229
+ type: Boolean,
230
+ default: false,
231
+ },
232
+ format: {
233
+ type: String as PropType<Formats>,
234
+ default: Formats.Markup,
235
+ },
236
+ fullHeight: {
237
+ type: Boolean,
238
+ default: false,
239
+ },
240
+ },
241
+
242
+ emits: [
243
+ 'update:modelValue',
244
+
245
+ 'input',
246
+ 'file-upload',
247
+ ],
248
+
249
+ expose: [
250
+ 'root',
251
+ ],
252
+
253
+ setup(props, context) {
254
+ // Refs
255
+ const root = ref<HTMLElement>();
256
+ let editor = null as Editor | null;
257
+ const editorRef = ref<HTMLDivElement>();
258
+ const textareaRef = ref<HTMLTextAreaElement>();
259
+ const containerRef = ref<ComponentPublicInstance<HTMLInputElement>>();
260
+ const toolbarRef = ref<ComponentPublicInstance<HTMLInputElement>>();
261
+ const moreButtonRef = ref<HTMLDivElement>();
262
+ const moreRef = ref<HTMLDivElement>();
263
+ const toolbarButtonRef = ref<InstanceType<typeof OrIconButton>>();
264
+ const menuRef = ref<InstanceType<typeof OrMenu>>();
265
+ // isActive should be set with default values for all toolbar buttons, otherwise it will not work in vue2
266
+ const isActive = ref<{[key: string]: boolean;}>({
267
+ bold: false,
268
+ italic: false,
269
+ underline: false,
270
+ strike: false,
271
+ bulletList: false,
272
+ orderedList: false,
273
+ link: false,
274
+ highlight: false,
275
+ redo: false,
276
+ undo: false,
277
+ codeBlock: false,
278
+ blockquote: false,
279
+ file: false,
280
+ source: false,
281
+ });
282
+ const isFocused = ref<boolean>(props.autofocus);
283
+ const headingLevels = [1, 2, 3, 4] as Level[];
284
+ const activeHeadingLevel = ref<number>(0);
285
+ const markdownOutput = ref<string>('');
286
+ const isOpenLinkModal = ref<boolean>(false);
287
+ const disableMarkdown = ref<boolean>(false);
288
+ const text = ref<string>('');
289
+ const link = ref<string>('');
290
+ const countOfNotVisibleTools = ref<number>(0);
291
+ const sourceValue = ref<string>('');
292
+
293
+ let trap: UseFocusTrapReturn = useFocusTrap(editorRef, {
294
+ immediate: true,
295
+ fallbackFocus: '.container',
296
+ allowOutsideClick: true,
297
+ });
298
+
299
+ const iconsEnum = ref<{[key: string]: string;}>({
300
+ bold: 'format_bold',
301
+ italic: 'format_italic',
302
+ underline: 'format_underlined',
303
+ strike: 'format_strikethrough',
304
+ bulletList: 'format_list_bulleted',
305
+ orderedList: 'format_list_numbered',
306
+ link: 'link',
307
+ highlight: 'highlight',
308
+ redo: 'redo',
309
+ undo: 'undo',
310
+ codeBlock: 'code_blocks',
311
+ blockquote: 'format_quote',
312
+ file: 'attach_file',
313
+ source: 'source_notes',
314
+ });
315
+ const iconTooltipsEnum = ref<{[key: string]: string;}>({
316
+ bold: 'Bold',
317
+ italic: 'Italic',
318
+ underline: 'Underline',
319
+ strike: 'Strike',
320
+ bulletList: 'Bulleted List',
321
+ orderedList: 'Numbered List',
322
+ link: 'Link',
323
+ highlight: 'Highlight',
324
+ redo: 'Redo',
325
+ undo: 'Undo',
326
+ codeBlock: 'Code Block',
327
+ blockquote: 'Quote',
328
+ file: 'File',
329
+ source: 'Source',
330
+ });
331
+
332
+ useResizeObserver(root, (entries) => {
333
+ const entry = entries[0];
334
+ const { width } = entry.contentRect;
335
+ if (containerRef.value && toolbarRef.value && toolbarLength.value) {
336
+ let lengthOfItem = 0;
337
+ lengthOfItem = (toolbarRef.value.firstElementChild?.firstElementChild as HTMLDivElement)?.offsetWidth + 16;
338
+
339
+ const lengthOfToolbar = lengthOfItem * toolbarLength.value;
340
+
341
+ if (lengthOfToolbar >= width) {
342
+ const count = (width / lengthOfItem) - 2;
343
+ countOfNotVisibleTools.value = Math.round(toolbarLength.value - count);
344
+ }
345
+ }
346
+ });
347
+
348
+ onMounted(() => {
349
+ editor = new Editor({
350
+ onUpdate: ({ editor }) => {
351
+ isFocused.value = true;
352
+ setActiveFormats();
353
+ const html = editor.getHTML();
354
+ const text = editor.getText();
355
+ if (props.format === 'markdown') {
356
+ markdownOutput.value = serialize(editor.schema, editor.getJSON());
357
+ proxyModelValue.value = markdownOutput.value;
358
+ } else {
359
+ proxyModelValue.value = text === '' ? text : html;
360
+ }
361
+ },
362
+ onCreate: ({ editor }) => {
363
+ if (props.format === 'markdown') {
364
+ const deserialized = deserialize(editor.schema, proxyModelValue.value);
365
+ editor.commands.setContent(deserialized);
366
+ } else {
367
+ editor.commands.setContent(proxyModelValue.value as string);
368
+ }
369
+ },
370
+ element: editorRef.value,
371
+ autofocus: props.autofocus,
372
+ enableInputRules: true,
373
+ enablePasteRules: true,
374
+ extensions: [
375
+ codemirrorNode,
376
+ StarterKit.configure({
377
+ heading: false,
378
+ codeBlock: false,
379
+ }),
380
+ Heading.configure({ levels: headingLevels }).extend({
381
+ levels: headingLevels,
382
+ renderHTML({ node, HTMLAttributes }) {
383
+ return [
384
+ 'h' + node.attrs.level,
385
+ mergeAttributes(HTMLAttributes, {
386
+ class: `typography-headline-${node.attrs.level}`,
387
+ }),
388
+ 0,
389
+ ];
390
+ },
391
+ }),
392
+ Underline,
393
+ Link.configure({
394
+ openOnClick: true,
395
+ linkOnPaste: true,
396
+ autolink: false,
397
+ protocols: ['ftp', 'mailto', 'http', 'https'],
398
+ validate: href => /^https?:\/\//.test(href),
399
+ HTMLAttributes: {
400
+ class: 'text-primary cursor-pointer',
401
+ },
402
+ }),
403
+ Highlight,
404
+ Placeholder
405
+ .configure({
406
+ placeholder: props.placeholder,
407
+ emptyEditorClass: 'is-editor-empty text-outline',
408
+ }),
409
+ ],
410
+ editorProps: {
411
+ attributes: {
412
+ class: 'flex flex-col focus:outline-none gap-xs',
413
+ },
414
+ },
415
+ parseOptions: {
416
+ preserveWhitespace: true,
417
+ },
418
+ });
419
+ setActiveFormats();
420
+ trap.activate();
421
+ });
422
+
423
+ onBeforeUnmount(() => {
424
+ editor?.destroy();
425
+ });
426
+
427
+ onClickOutside(root, () => {
428
+ isFocused.value = false;
429
+ trap.deactivate();
430
+ });
431
+
432
+ // Computed
433
+ const proxyModelValue = computed({
434
+ get: () => {
435
+ return props.modelValue;
436
+ },
437
+
438
+ set: (value) => {
439
+ context.emit('input', value);
440
+ context.emit('update:modelValue', value);
441
+ },
442
+ });
443
+
444
+ const getIndexOfHeading = computed(() => {
445
+ return props.toolbar.flat().indexOf('heading');
446
+ });
447
+
448
+ const headingIcon = computed(() => {
449
+ if (activeHeadingLevel.value && isActive.value.heading) {
450
+ return `format_h${activeHeadingLevel.value}`;
451
+ }
452
+ return 'format_paragraph';
453
+ });
454
+
455
+ const toolbarLength = computed(() => {
456
+ return props.toolbar.flat().length;
457
+ });
458
+
459
+ const notVisibleTools = computed(() => {
460
+ const count = countOfNotVisibleTools.value;
461
+ const toolbar = props.toolbar.flat();
462
+ let notVisible = toolbar.slice(toolbar.length - count, toolbar.length);
463
+ props.toolbar.forEach(tools => {
464
+ if (tools.some(item => notVisible.includes(item))) {
465
+ notVisible = [...notVisible, ...tools];
466
+ }
467
+ });
468
+ return notVisible;
469
+ });
470
+
471
+ //Methods
472
+ const handleEditorClick = () => {
473
+ setActiveFormats();
474
+ isFocused.value = true;
475
+ editor?.commands.focus();
476
+ activeHeadingLevel.value = editor?.getAttributes('heading')?.level || 0;
477
+ };
478
+
479
+ const isVisible = (value: string | Array<string>) => {
480
+ if (Array.isArray(value)) {
481
+ const isHaveNotVisibleTools = value.some(item => notVisibleTools.value.includes(item));
482
+ return isHaveNotVisibleTools;
483
+ }
484
+ return !notVisibleTools.value.includes(value);
485
+ };
486
+
487
+ const handleInput = (event: InputEvent) => {
488
+ const target = event.target as HTMLTextAreaElement;
489
+ const value = target.value;
490
+ editor?.commands.setContent(deserialize(editor?.schema, value));
491
+ markdownOutput.value = serialize(editor?.schema, editor?.getJSON());
492
+ proxyModelValue.value = markdownOutput.value;
493
+ };
494
+
495
+ const handleToolbarClick = (item: string, level?: number) => {
496
+ switch (item) {
497
+ case 'source':
498
+ disableMarkdown.value = !disableMarkdown.value;
499
+ sourceValue.value = serialize(editor?.schema, editor?.getJSON());
500
+
501
+ nextTick(() => textareaRef.value?.focus());
502
+ break;
503
+ case 'bulletList':
504
+ case 'orderedList':
505
+ item === 'bulletList' ? editor?.commands.toggleBulletList() : editor?.commands.toggleOrderedList();
506
+ break;
507
+ case 'link':
508
+ if (editor) {
509
+ const cursorPosition = editor?.state.selection.$anchor.pos || 0;
510
+ const { from, to, empty } = editor.state.selection;
511
+ const isLink = editor.view.state.doc.nodeAt(cursorPosition)?.marks.filter((mark) => mark.type.name === 'link');
512
+ const existedText = isLink?.length ? editor.view.state.doc.nodeAt(cursorPosition)?.text || '' : '';
513
+
514
+ text.value = empty ? existedText : editor.state.doc.textBetween(from, to, ' ');
515
+ link.value = editor.getAttributes('link').href || '';
516
+ }
517
+ isOpenLinkModal.value = !isOpenLinkModal.value;
518
+ break;
519
+ case 'blockquote':
520
+ editor?.chain().focus().toggleBlockquote().run();
521
+ break;
522
+ case 'codeBlock':
523
+ if (!isActive.value['codeBlock']) {
524
+ editor?.commands.setNode(item, { language: 'javascript' });
525
+ } else {
526
+ editor?.commands.setNode('paragraph');
527
+ }
528
+ break;
529
+ case 'heading':
530
+ if (!level) {
531
+ editor?.commands.toggleHeading({ level: 0 as Level });
532
+ activeHeadingLevel.value = 0;
533
+ } else {
534
+ activeHeadingLevel.value = level;
535
+ editor?.commands.toggleHeading({ level: level as Level });
536
+ }
537
+ editor?.commands.focus();
538
+ break;
539
+ case 'undo':
540
+ case 'redo':
541
+ item === 'undo' ? editor?.commands.undo() : editor?.commands.redo();
542
+ break;
543
+ case 'file':
544
+ context.emit('file-upload');
545
+ break;
546
+ default:
547
+ editor?.chain().focus().toggleMark(item).run();
548
+ break;
549
+ }
550
+ };
551
+
552
+ const attachLink = async () => {
553
+ // empty
554
+ if (link.value === '') {
555
+ editor?.chain().focus().extendMarkRange('link').unsetLink().run();
556
+ }
557
+
558
+ const isEmptySelection = editor?.state.selection.empty;
559
+ const cursorPosition = editor?.state.selection.$anchor.pos || 0;
560
+ const isLink = editor?.view.state.doc.nodeAt(cursorPosition)?.marks.filter((mark) => mark.type.name === 'link');
561
+ const existedText = isLink?.length ? editor?.view.state.doc.nodeAt(cursorPosition)?.text : '';
562
+
563
+ if (link.value && isEmptySelection && !existedText) {
564
+ editor?.chain()
565
+ .focus()
566
+ .setMark('link', {
567
+ href: link.value,
568
+ target: '__blank',
569
+ })
570
+ .command(({ tr }) => {
571
+ const preparedValue = text.value[text.value.length - 1] === ' ' ? text.value : `${text.value} `;
572
+ tr.insertText(preparedValue);
573
+ return true;
574
+ })
575
+ .run();
576
+ }
577
+
578
+ if (link.value && existedText === text.value && isEmptySelection) {
579
+ editor?.chain()
580
+ .extendMarkRange('link')
581
+ .updateAttributes('link', {
582
+ href: link.value,
583
+ })
584
+ .run();
585
+ }
586
+
587
+ if (link.value && !isEmptySelection) {
588
+ editor?.chain()
589
+ .focus()
590
+ .setMark('link', {
591
+ href: link.value,
592
+ target: '__blank',
593
+ })
594
+ .run();
595
+ }
596
+
597
+ text.value = '';
598
+ link.value = '';
599
+
600
+ isOpenLinkModal.value = false;
601
+ };
602
+
603
+ const discardLink = () => {
604
+ isOpenLinkModal.value = false;
605
+ };
606
+
607
+ const setActiveFormats = () => {
608
+ const toolbarList = props.toolbar.flat() as string[];
609
+ toolbarList.forEach((item) => {
610
+ if (item === 'source') {
611
+ isActive.value[item] = disableMarkdown.value;
612
+ } else {
613
+ isActive.value[item] = editor?.isActive(item) || false;
614
+ }
615
+ });
616
+ };
617
+
618
+ // Styles
619
+ const rootStyles = computed(() => {
620
+ return [
621
+ 'or-rich-text-editor',
622
+ ...props.fullHeight ? ['h-full'] : [],
623
+ ];
624
+ });
625
+
626
+ const containerStyles = computed(() => {
627
+ return [
628
+ ...EditorContainer,
629
+ ...props.fullHeight ? ['h-full'] : [],
630
+ ];
631
+ });
632
+
633
+ const toolbarContainerStyles = computed(() => {
634
+ return [
635
+ ...ToolbarContainer,
636
+ ];
637
+ });
638
+
639
+ const toolbarStyles = computed(() => {
640
+ return [
641
+ ...Toolbar,
642
+ // 'overflow-x-hidden',
643
+ ...isFocused.value ? ToolbarButtonFocused : ToolbarButton,
644
+ ];
645
+ });
646
+
647
+ const editorInputStyles = computed(() => {
648
+ return [
649
+ 'tiptap-editor-v3',
650
+ ...props.fullHeight ? ['h-full overflow-y-auto'] : [],
651
+ ...EditorInput,
652
+ ];
653
+ });
654
+
655
+ //Effects
656
+ watch(proxyModelValue, (value) => {
657
+ if (value !== editor?.getHTML() && props.format !== 'markdown') {
658
+ editor?.commands.setContent(value as string);
659
+ }
660
+ if (props.format === 'markdown' && value !== markdownOutput.value) {
661
+ // const deserialized = deserialize(editor?.schema, value);
662
+ editor?.commands.setContent(value as string);
663
+ }
664
+ });
665
+
666
+ return {
667
+ editor,
668
+ editorRef,
669
+ toolbarRef,
670
+ containerRef,
671
+ toolbarButtonRef,
672
+ moreButtonRef,
673
+ textareaRef,
674
+ moreRef,
675
+ menuRef,
676
+ iconsEnum,
677
+ handleToolbarClick,
678
+ handleEditorClick,
679
+ isActive,
680
+ iconTooltipsEnum,
681
+ containerStyles,
682
+ toolbarContainerStyles,
683
+ toolbarStyles,
684
+ rootStyles,
685
+ root,
686
+ editorInputStyles,
687
+ getIndexOfHeading,
688
+ headingLevels,
689
+ headingIcon,
690
+ attachLink,
691
+ discardLink,
692
+ isOpenLinkModal,
693
+ text,
694
+ link,
695
+ isFocused,
696
+ isVisible,
697
+ countOfNotVisibleTools,
698
+ notVisibleTools,
699
+ handleInput,
700
+ proxyModelValue,
701
+ disableMarkdown,
702
+ sourceValue,
703
+ };
704
+ },
705
+ });
706
+ </script>
707
+
708
+ <style lang="scss">
709
+ .tiptap-editor-v3 {
710
+ ol { //see if editor can not inherit it
711
+ @apply mx-lg;
712
+ list-style: decimal;
713
+ }
714
+
715
+ .ProseMirror {
716
+ h1, h2, h3, h4, h5, h6, p {
717
+ @apply m-xs;
718
+ }
719
+ }
720
+
721
+ ul {
722
+ @apply mx-lg;
723
+ list-style: initial;
724
+ }
725
+
726
+ blockquote {
727
+ @apply mx-lg;
728
+ @apply my-sm;
729
+ @apply px-lg;
730
+ border-left: 4px solid theme('borderColor.primary-opacity-0-16');
731
+ }
732
+
733
+ .is-editor-empty::before {
734
+ content: attr(data-placeholder);
735
+ height: 0;
736
+ pointer-events: none;
737
+ float: left;
738
+ }
739
+
740
+ .cm-editor {
741
+ border: none;
742
+ @apply rounded-md;
743
+
744
+ .cm-scroller {
745
+ @apply rounded-md;
746
+ }
747
+
748
+ &.cm-focused {
749
+ outline: none;
750
+ }
751
+
752
+ .cm-gutters {
753
+ background-color: theme('backgroundColor.primary-opacity-0-12');
754
+ border: none;
755
+
756
+ .cm-gutterElement {
757
+ @apply px-sm+*;
758
+
759
+ &.cm-activeLineGutter {
760
+ background-color: theme('backgroundColor.primary-opacity-0-16');
761
+ }
762
+ }
763
+ }
764
+ }
765
+ }
766
+ </style>