@procore/core-react 12.25.2 → 12.26.1

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 (483) hide show
  1. package/.jest/ckeditorMock.js +67 -0
  2. package/.jest/esToolkitMock.js +23 -0
  3. package/.jest/example.test.js +5 -0
  4. package/.jest/fileMock.js +1 -0
  5. package/.jest/public/avatar.png +0 -0
  6. package/.jest/setupTests.js +31 -0
  7. package/.jest/snapshotResolver.js +47 -0
  8. package/.jest/styleMock.js +1 -0
  9. package/.jest/styledV6PropsMock.js +23 -0
  10. package/.jest/svgTransform.js +10 -0
  11. package/.jest/testShims.js +22 -0
  12. package/.jest/translationMock.js +3 -0
  13. package/.jest/videoMock.js +1 -0
  14. package/CHANGELOG.md +17 -0
  15. package/README.md +49 -3
  16. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  17. package/dist/Avatar/Avatar.styles.js +5 -5
  18. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  19. package/dist/AvatarStack/mocks/getAvatarMocks.d.ts +25 -0
  20. package/dist/AvatarStack/mocks/getAvatarMocks.js +305 -0
  21. package/dist/AvatarStack/mocks/getAvatarMocks.js.map +1 -0
  22. package/dist/AvatarStack/mocks/images.d.ts +2 -0
  23. package/dist/AvatarStack/mocks/images.js +13 -0
  24. package/dist/AvatarStack/mocks/images.js.map +1 -0
  25. package/dist/AvatarStack/mocks/img/1.png +0 -0
  26. package/dist/AvatarStack/mocks/img/2.png +0 -0
  27. package/dist/AvatarStack/mocks/img/3.png +0 -0
  28. package/dist/AvatarStack/mocks/img/4.png +0 -0
  29. package/dist/AvatarStack/mocks/img/5.png +0 -0
  30. package/dist/AvatarStack/mocks/logo/1.png +0 -0
  31. package/dist/AvatarStack/mocks/logo/2.png +0 -0
  32. package/dist/AvatarStack/mocks/logo/3.png +0 -0
  33. package/dist/AvatarStack/mocks/logo/4.png +0 -0
  34. package/dist/AvatarStack/mocks/logo/5.png +0 -0
  35. package/dist/Badge/Badge.styles.js +2 -2
  36. package/dist/BadgePill/BadgePill.styles.js +4 -4
  37. package/dist/Banner/Banner.styles.js +10 -10
  38. package/dist/Box/Box.styles.js +1 -1
  39. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  40. package/dist/Button/Button.styles.js +5 -5
  41. package/dist/Calendar/Calendar.styles.js +8 -8
  42. package/dist/Card/Card.styles.js +1 -1
  43. package/dist/Checkbox/Checkbox.styles.js +6 -6
  44. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  45. package/dist/ContactItem/ContactItem.styles.js +5 -5
  46. package/dist/Content/Content.styles.js +2 -2
  47. package/dist/DateInput/DateInput.styles.js +6 -6
  48. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.d.ts +19 -0
  49. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.js +159 -0
  50. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.js.map +1 -0
  51. package/dist/{TextEditor/TextEditor.styles.js → DeprecatedTextEditor/DeprecatedTextEditor.styles.js} +1 -1
  52. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.styles.js.map +1 -0
  53. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.types.d.ts +72 -0
  54. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.types.js +2 -0
  55. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.types.js.map +1 -0
  56. package/dist/DeprecatedTextEditor/index.d.ts +2 -0
  57. package/dist/DeprecatedTextEditor/index.js +3 -0
  58. package/dist/DeprecatedTextEditor/index.js.map +1 -0
  59. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.d.ts +12 -0
  60. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.js +45 -0
  61. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.js.map +1 -0
  62. package/dist/{TextEditorOutput/TextEditorOutput.styles.js → DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.styles.js} +2 -2
  63. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.styles.js.map +1 -0
  64. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.types.d.ts +16 -0
  65. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.types.js +2 -0
  66. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.types.js.map +1 -0
  67. package/dist/DeprecatedTextEditorOutput/index.d.ts +2 -0
  68. package/dist/DeprecatedTextEditorOutput/index.js +2 -0
  69. package/dist/DeprecatedTextEditorOutput/index.js.map +1 -0
  70. package/dist/DetailPage/DetailPage.styles.js +7 -7
  71. package/dist/Dropdown/Dropdown.styles.js +3 -3
  72. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  73. package/dist/Dropzone/Dropzone.js +1 -1
  74. package/dist/Dropzone/Dropzone.styles.js +9 -9
  75. package/dist/EmptyState/EmptyState.styles.js +6 -6
  76. package/dist/EmptyState/assets/default.stories.png +0 -0
  77. package/dist/Field/Field.styles.js +3 -3
  78. package/dist/FileList/FileList.styles.js +4 -4
  79. package/dist/FileList/storybook/fileListMockData.d.ts +5 -0
  80. package/dist/FileList/storybook/fileListMockData.js +34 -0
  81. package/dist/FileList/storybook/fileListMockData.js.map +1 -0
  82. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  83. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  84. package/dist/FileSelect/FileSelect.styles.js +2 -2
  85. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  86. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  87. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  88. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  89. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  90. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  91. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  92. package/dist/FileToken/FileToken.styles.js +4 -4
  93. package/dist/FilterToken/FilterToken.styles.js +5 -5
  94. package/dist/FlexList/FlexList.styles.js +1 -1
  95. package/dist/Form/Form.js +1 -30
  96. package/dist/Form/Form.js.map +1 -1
  97. package/dist/Form/Form.styles.js +14 -14
  98. package/dist/Form/StyledFormikForm.styles.js +2 -2
  99. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  100. package/dist/Grid/Grid.styles.js +2 -2
  101. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  102. package/dist/GroupSelect/mocks/groupSelectMockData.d.ts +18 -0
  103. package/dist/GroupSelect/mocks/groupSelectMockData.js +122 -0
  104. package/dist/GroupSelect/mocks/groupSelectMockData.js.map +1 -0
  105. package/dist/Input/Input.styles.js +1 -1
  106. package/dist/Link/Link.styles.js +1 -1
  107. package/dist/ListPage/ListPage.styles.js +8 -8
  108. package/dist/Loader/Loader.styles.js +2 -2
  109. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  110. package/dist/Modal/Modal.styles.js +15 -15
  111. package/dist/Modal/Modal.styles.js.map +1 -1
  112. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  113. package/dist/NextMenu/NextMenu.styles.js +3 -3
  114. package/dist/NextTextEditor/EditorError.d.ts +2 -0
  115. package/dist/NextTextEditor/EditorError.js +9 -0
  116. package/dist/NextTextEditor/EditorError.js.map +1 -0
  117. package/dist/NextTextEditor/NextTextEditor.d.ts +3 -0
  118. package/dist/NextTextEditor/NextTextEditor.js +156 -0
  119. package/dist/NextTextEditor/NextTextEditor.js.map +1 -0
  120. package/dist/NextTextEditor/NextTextEditor.styles.d.ts +5 -0
  121. package/dist/NextTextEditor/NextTextEditor.styles.js +22 -0
  122. package/dist/NextTextEditor/NextTextEditor.styles.js.map +1 -0
  123. package/dist/NextTextEditor/NextTextEditor.types.d.ts +111 -0
  124. package/dist/NextTextEditor/NextTextEditor.types.js +2 -0
  125. package/dist/NextTextEditor/NextTextEditor.types.js.map +1 -0
  126. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.types.d.ts +5 -0
  127. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.types.js +2 -0
  128. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.types.js.map +1 -0
  129. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.utils.d.ts +3 -0
  130. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.utils.js +153 -0
  131. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.utils.js.map +1 -0
  132. package/dist/NextTextEditor/StickyToolbar/index.d.ts +4 -0
  133. package/dist/NextTextEditor/StickyToolbar/index.js +3 -0
  134. package/dist/NextTextEditor/StickyToolbar/index.js.map +1 -0
  135. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.d.ts +2 -0
  136. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.js +49 -0
  137. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.js.map +1 -0
  138. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.types.d.ts +12 -0
  139. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.types.js +2 -0
  140. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.types.js.map +1 -0
  141. package/dist/NextTextEditor/index.d.ts +2 -0
  142. package/dist/NextTextEditor/index.js +3 -0
  143. package/dist/NextTextEditor/index.js.map +1 -0
  144. package/dist/NextTextEditor/license_key.d.ts +2 -0
  145. package/dist/NextTextEditor/license_key.js +3 -0
  146. package/dist/NextTextEditor/license_key.js.map +1 -0
  147. package/dist/NextTextEditor/plugins/CutPlugin/CutCommand.d.ts +5 -0
  148. package/dist/NextTextEditor/plugins/CutPlugin/CutCommand.js +99 -0
  149. package/dist/NextTextEditor/plugins/CutPlugin/CutCommand.js.map +1 -0
  150. package/dist/NextTextEditor/plugins/CutPlugin/CutPlugin.d.ts +5 -0
  151. package/dist/NextTextEditor/plugins/CutPlugin/CutPlugin.js +56 -0
  152. package/dist/NextTextEditor/plugins/CutPlugin/CutPlugin.js.map +1 -0
  153. package/dist/NextTextEditor/plugins/CutPlugin/index.d.ts +1 -0
  154. package/dist/NextTextEditor/plugins/CutPlugin/index.js +2 -0
  155. package/dist/NextTextEditor/plugins/CutPlugin/index.js.map +1 -0
  156. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/IndentPaddingToMarginPlugin.d.ts +5 -0
  157. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/IndentPaddingToMarginPlugin.js +40 -0
  158. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/IndentPaddingToMarginPlugin.js.map +1 -0
  159. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/index.d.ts +1 -0
  160. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/index.js +2 -0
  161. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/index.js.map +1 -0
  162. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/index.d.ts +15 -0
  163. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/index.js +65 -0
  164. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/index.js.map +1 -0
  165. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/legacyTinyMceAdapter.d.ts +13 -0
  166. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/legacyTinyMceAdapter.js +80 -0
  167. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/legacyTinyMceAdapter.js.map +1 -0
  168. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextCommand.d.ts +5 -0
  169. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextCommand.js +86 -0
  170. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextCommand.js.map +1 -0
  171. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextPlugin.d.ts +5 -0
  172. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextPlugin.js +56 -0
  173. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextPlugin.js.map +1 -0
  174. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/index.d.ts +1 -0
  175. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/index.js +2 -0
  176. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/index.js.map +1 -0
  177. package/dist/NextTextEditor/plugins/PastePlugin/PasteCommand.d.ts +5 -0
  178. package/dist/NextTextEditor/plugins/PastePlugin/PasteCommand.js +149 -0
  179. package/dist/NextTextEditor/plugins/PastePlugin/PasteCommand.js.map +1 -0
  180. package/dist/NextTextEditor/plugins/PastePlugin/PastePlugin.d.ts +5 -0
  181. package/dist/NextTextEditor/plugins/PastePlugin/PastePlugin.js +56 -0
  182. package/dist/NextTextEditor/plugins/PastePlugin/PastePlugin.js.map +1 -0
  183. package/dist/NextTextEditor/plugins/PastePlugin/index.d.ts +1 -0
  184. package/dist/NextTextEditor/plugins/PastePlugin/index.js +2 -0
  185. package/dist/NextTextEditor/plugins/PastePlugin/index.js.map +1 -0
  186. package/dist/NextTextEditor/plugins/TabSpacesPlugin/TabSpacesPlugin.d.ts +6 -0
  187. package/dist/NextTextEditor/plugins/TabSpacesPlugin/TabSpacesPlugin.js +87 -0
  188. package/dist/NextTextEditor/plugins/TabSpacesPlugin/TabSpacesPlugin.js.map +1 -0
  189. package/dist/NextTextEditor/plugins/TabSpacesPlugin/index.d.ts +1 -0
  190. package/dist/NextTextEditor/plugins/TabSpacesPlugin/index.js +2 -0
  191. package/dist/NextTextEditor/plugins/TabSpacesPlugin/index.js.map +1 -0
  192. package/dist/NextTextEditor/textEditorTheming/icons.d.ts +23 -0
  193. package/dist/NextTextEditor/textEditorTheming/icons.js +24 -0
  194. package/dist/NextTextEditor/textEditorTheming/icons.js.map +1 -0
  195. package/dist/NextTextEditor/textEditorTheming/index.d.ts +1 -0
  196. package/dist/NextTextEditor/textEditorTheming/index.js +2 -0
  197. package/dist/NextTextEditor/textEditorTheming/index.js.map +1 -0
  198. package/dist/NextTextEditor/textEditorTheming/textEditorTheming.styles.d.ts +2 -0
  199. package/dist/NextTextEditor/textEditorTheming/textEditorTheming.styles.js +10 -0
  200. package/dist/NextTextEditor/textEditorTheming/textEditorTheming.styles.js.map +1 -0
  201. package/dist/NextTextEditor/useCKEditorCss.d.ts +3 -0
  202. package/dist/NextTextEditor/useCKEditorCss.js +36 -0
  203. package/dist/NextTextEditor/useCKEditorCss.js.map +1 -0
  204. package/dist/NextTextEditor/useTabAsNavigation.d.ts +11 -0
  205. package/dist/NextTextEditor/useTabAsNavigation.js +29 -0
  206. package/dist/NextTextEditor/useTabAsNavigation.js.map +1 -0
  207. package/dist/NextTextEditor/utils/config.d.ts +3 -0
  208. package/dist/NextTextEditor/utils/config.js +179 -0
  209. package/dist/NextTextEditor/utils/config.js.map +1 -0
  210. package/dist/NextTextEditor/utils/index.d.ts +2 -0
  211. package/dist/NextTextEditor/utils/index.js +3 -0
  212. package/dist/NextTextEditor/utils/index.js.map +1 -0
  213. package/dist/NextTextEditor/utils/locale.d.ts +3 -0
  214. package/dist/NextTextEditor/utils/locale.js +102 -0
  215. package/dist/NextTextEditor/utils/locale.js.map +1 -0
  216. package/dist/NextTextEditor/utils/plugins.d.ts +7 -0
  217. package/dist/NextTextEditor/utils/plugins.js +184 -0
  218. package/dist/NextTextEditor/utils/plugins.js.map +1 -0
  219. package/dist/NextTextEditorOutput/NextTextEditorOutput.d.ts +9 -0
  220. package/dist/NextTextEditorOutput/NextTextEditorOutput.js +29 -0
  221. package/dist/NextTextEditorOutput/NextTextEditorOutput.js.map +1 -0
  222. package/dist/NextTextEditorOutput/NextTextEditorOutput.styles.d.ts +2 -0
  223. package/dist/NextTextEditorOutput/NextTextEditorOutput.styles.js +6 -0
  224. package/dist/NextTextEditorOutput/NextTextEditorOutput.styles.js.map +1 -0
  225. package/dist/NextTextEditorOutput/NextTextEditorOutput.types.d.ts +9 -0
  226. package/dist/NextTextEditorOutput/NextTextEditorOutput.types.js +2 -0
  227. package/dist/NextTextEditorOutput/NextTextEditorOutput.types.js.map +1 -0
  228. package/dist/NextTextEditorOutput/NextTextEditorOutput.utils.d.ts +2 -0
  229. package/dist/NextTextEditorOutput/NextTextEditorOutput.utils.js +59 -0
  230. package/dist/NextTextEditorOutput/NextTextEditorOutput.utils.js.map +1 -0
  231. package/dist/NextTextEditorOutput/index.d.ts +2 -0
  232. package/dist/NextTextEditorOutput/index.js +2 -0
  233. package/dist/NextTextEditorOutput/index.js.map +1 -0
  234. package/dist/Notation/Notation.js +1 -1
  235. package/dist/NumberInput/NumberInput.styles.js +7 -7
  236. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  237. package/dist/PageLayout/PageLayout.styles.js +16 -16
  238. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  239. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  240. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  241. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  242. package/dist/Pagination/Pagination.styles.js +5 -5
  243. package/dist/Panel/Panel.styles.js +13 -13
  244. package/dist/Panel/Panel.styles.js.map +1 -1
  245. package/dist/Pill/Pill.styles.js +3 -3
  246. package/dist/PillSelect/PillSelect.styles.js +4 -4
  247. package/dist/Popover/Popover.styles.js +2 -2
  248. package/dist/Portal/Portal.styles.js +1 -1
  249. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  250. package/dist/RadioButton/RadioButton.styles.js +3 -3
  251. package/dist/Required/Required.styles.js +3 -3
  252. package/dist/Search/Search.styles.js +5 -5
  253. package/dist/Section/Section.styles.js +7 -7
  254. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  255. package/dist/Select/Select.styles.js +7 -7
  256. package/dist/Semantic/Semantic.styles.js +9 -9
  257. package/dist/Slider/Slider.styles.js +5 -5
  258. package/dist/Spinner/Spinner.js +5 -7
  259. package/dist/Spinner/Spinner.js.map +1 -1
  260. package/dist/Spinner/Spinner.styles.js +7 -7
  261. package/dist/SplitViewCard/SplitViewCard.styles.js +10 -10
  262. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  263. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  264. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  265. package/dist/Switch/Switch.styles.js +4 -4
  266. package/dist/Table/Table.styles.js +28 -28
  267. package/dist/TableShelf/TableShelf.styles.js +5 -5
  268. package/dist/Tabs/Tabs.styles.js +15 -15
  269. package/dist/Tearsheet/Tearsheet.styles.js +7 -7
  270. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  271. package/dist/Tearsheet/storybook/PageLayoutDemo.d.ts +4 -0
  272. package/dist/Tearsheet/storybook/PageLayoutDemo.js +164 -0
  273. package/dist/Tearsheet/storybook/PageLayoutDemo.js.map +1 -0
  274. package/dist/TextArea/TextArea.styles.js +1 -1
  275. package/dist/TextEditor/TextEditor.d.ts +2 -19
  276. package/dist/TextEditor/TextEditor.js +11 -169
  277. package/dist/TextEditor/TextEditor.js.map +1 -1
  278. package/dist/TextEditor/TextEditor.types.d.ts +19 -86
  279. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  280. package/dist/TextEditor/TextEditorDocs.types.d.ts +65 -0
  281. package/dist/TextEditor/TextEditorDocs.types.js +2 -0
  282. package/dist/TextEditor/TextEditorDocs.types.js.map +1 -0
  283. package/dist/TextEditor/TextEditorProvider.d.ts +4 -0
  284. package/dist/TextEditor/TextEditorProvider.js +17 -0
  285. package/dist/TextEditor/TextEditorProvider.js.map +1 -0
  286. package/dist/TextEditor/TextEditorProvider.types.d.ts +14 -0
  287. package/dist/TextEditor/TextEditorProvider.types.js +2 -0
  288. package/dist/TextEditor/TextEditorProvider.types.js.map +1 -0
  289. package/dist/TextEditor/index.d.ts +4 -2
  290. package/dist/TextEditor/index.js +2 -1
  291. package/dist/TextEditor/index.js.map +1 -1
  292. package/dist/TextEditorOutput/TextEditorOutput.d.ts +6 -8
  293. package/dist/TextEditorOutput/TextEditorOutput.js +17 -34
  294. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  295. package/dist/TextEditorOutput/TextEditorOutput.types.d.ts +16 -13
  296. package/dist/TextEditorOutput/TextEditorOutput.types.js.map +1 -1
  297. package/dist/TextEditorOutput/TextEditorOutputDocs.types.d.ts +21 -0
  298. package/dist/TextEditorOutput/TextEditorOutputDocs.types.js +2 -0
  299. package/dist/TextEditorOutput/TextEditorOutputDocs.types.js.map +1 -0
  300. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  301. package/dist/Thumbnail/mocks/images/thumb_104x104_1.png +0 -0
  302. package/dist/Thumbnail/mocks/images/thumb_104x104_2.png +0 -0
  303. package/dist/Thumbnail/mocks/images/thumb_104x104_3.png +0 -0
  304. package/dist/Thumbnail/mocks/images/thumb_104x104_4.png +0 -0
  305. package/dist/Thumbnail/mocks/images/thumb_40x40_1.png +0 -0
  306. package/dist/Thumbnail/mocks/images/thumb_40x40_2.png +0 -0
  307. package/dist/Thumbnail/mocks/images/thumb_40x40_3.png +0 -0
  308. package/dist/Thumbnail/mocks/images/thumb_40x40_4.png +0 -0
  309. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  310. package/dist/TieredSelect/TierSelectionTieredSelect.js +3 -1
  311. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  312. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  313. package/dist/TieredSelect/TieredSelect.types.d.ts +4 -0
  314. package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
  315. package/dist/Tile/Tile.styles.js +8 -8
  316. package/dist/Tile/mocks/dog.jpeg +0 -0
  317. package/dist/Tile/mocks/iframe.d.ts +5 -0
  318. package/dist/Tile/mocks/iframe.js +15 -0
  319. package/dist/Tile/mocks/iframe.js.map +1 -0
  320. package/dist/Tile/mocks/svg.d.ts +3 -0
  321. package/dist/Tile/mocks/svg.js +830 -0
  322. package/dist/Tile/mocks/svg.js.map +1 -0
  323. package/dist/Tile/mocks/video.mp4 +0 -0
  324. package/dist/Title/Title.styles.js +7 -7
  325. package/dist/Title/mocks/thumb_40x40_1.png +0 -0
  326. package/dist/Title/mocks/visual_placeholder_40x40.svg +9 -0
  327. package/dist/Toast/Toast.styles.js +3 -3
  328. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  329. package/dist/Token/Token.styles.js +3 -3
  330. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  331. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  332. package/dist/Tooltip/Tooltip.styles.js +2 -2
  333. package/dist/Tree/Tree.styles.js +9 -9
  334. package/dist/Tree/mocks/treeMockData.d.ts +8 -0
  335. package/dist/Tree/mocks/treeMockData.js +44 -0
  336. package/dist/Tree/mocks/treeMockData.js.map +1 -0
  337. package/dist/Typeahead/Typeahead.styles.js +3 -3
  338. package/dist/Typography/Typography.styles.js +1 -1
  339. package/dist/Typography/Typography.table.story.js +2 -2
  340. package/dist/_storyHelpers_/components/Deprecation.d.ts +3 -0
  341. package/dist/_storyHelpers_/components/Deprecation.js +10 -0
  342. package/dist/_storyHelpers_/components/Deprecation.js.map +1 -0
  343. package/dist/_storyHelpers_/components/Deprecation.styles.d.ts +4 -0
  344. package/dist/_storyHelpers_/components/Deprecation.styles.js +7 -0
  345. package/dist/_storyHelpers_/components/Deprecation.styles.js.map +1 -0
  346. package/dist/_storyHelpers_/components/Deprecation.types.d.ts +9 -0
  347. package/dist/_storyHelpers_/components/Deprecation.types.js +2 -0
  348. package/dist/_storyHelpers_/components/Deprecation.types.js.map +1 -0
  349. package/dist/_storyHelpers_/components/FullLayout.d.ts +6 -0
  350. package/dist/_storyHelpers_/components/FullLayout.js +15 -0
  351. package/dist/_storyHelpers_/components/FullLayout.js.map +1 -0
  352. package/dist/_storyHelpers_/components/StoryGrid.d.ts +7 -0
  353. package/dist/_storyHelpers_/components/StoryGrid.js +40 -0
  354. package/dist/_storyHelpers_/components/StoryGrid.js.map +1 -0
  355. package/dist/_storyHelpers_/components/WithNavigationLayout.d.ts +2 -0
  356. package/dist/_storyHelpers_/components/WithNavigationLayout.js +47 -0
  357. package/dist/_storyHelpers_/components/WithNavigationLayout.js.map +1 -0
  358. package/dist/_storyHelpers_/constants.d.ts +35 -0
  359. package/dist/_storyHelpers_/constants.js +168 -0
  360. package/dist/_storyHelpers_/constants.js.map +1 -0
  361. package/dist/_storyHelpers_/decorators/fullLayoutDecorator.d.ts +3 -0
  362. package/dist/_storyHelpers_/decorators/fullLayoutDecorator.js +8 -0
  363. package/dist/_storyHelpers_/decorators/fullLayoutDecorator.js.map +1 -0
  364. package/dist/_storyHelpers_/effects/useWaitForElement.d.ts +1 -0
  365. package/dist/_storyHelpers_/effects/useWaitForElement.js +24 -0
  366. package/dist/_storyHelpers_/effects/useWaitForElement.js.map +1 -0
  367. package/dist/_storyHelpers_/mocks/dropzoneMockData.d.ts +13 -0
  368. package/dist/_storyHelpers_/mocks/dropzoneMockData.js +39 -0
  369. package/dist/_storyHelpers_/mocks/dropzoneMockData.js.map +1 -0
  370. package/dist/_storyHelpers_/mocks/pillSelectMockData.d.ts +6 -0
  371. package/dist/_storyHelpers_/mocks/pillSelectMockData.js +22 -0
  372. package/dist/_storyHelpers_/mocks/pillSelectMockData.js.map +1 -0
  373. package/dist/_storyHelpers_/mocks/selectMockData.d.ts +11 -0
  374. package/dist/_storyHelpers_/mocks/selectMockData.js +36 -0
  375. package/dist/_storyHelpers_/mocks/selectMockData.js.map +1 -0
  376. package/dist/_storyHelpers_/mocks/tableMockData.d.ts +4 -0
  377. package/dist/_storyHelpers_/mocks/tableMockData.js +38 -0
  378. package/dist/_storyHelpers_/mocks/tableMockData.js.map +1 -0
  379. package/dist/_storyHelpers_/mocks/tieredSelect.d.ts +77 -0
  380. package/dist/_storyHelpers_/mocks/tieredSelect.js +277 -0
  381. package/dist/_storyHelpers_/mocks/tieredSelect.js.map +1 -0
  382. package/dist/_styles/mixins.d.ts +4 -0
  383. package/dist/_styles/mixins.js +7 -0
  384. package/dist/_styles/mixins.js.map +1 -1
  385. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  386. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  387. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  388. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  389. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  390. package/dist/_typedoc/Box/Box.types.json +68 -68
  391. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  392. package/dist/_typedoc/Button/Button.types.json +13 -13
  393. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  394. package/dist/_typedoc/Card/Card.types.json +6 -6
  395. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  396. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  397. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  398. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  399. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  400. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  401. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  402. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  403. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  404. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  405. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  406. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  407. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  408. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  409. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  410. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  411. package/dist/_typedoc/Form/Form.types.json +929 -773
  412. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  413. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  414. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  415. package/dist/_typedoc/Input/Input.types.json +2 -2
  416. package/dist/_typedoc/Link/Link.types.json +1 -1
  417. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  418. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  419. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  420. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  421. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  422. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  423. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  424. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  425. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  426. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  427. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  428. package/dist/_typedoc/Panel/Panel.types.json +30 -30
  429. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  430. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  431. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  432. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  433. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  434. package/dist/_typedoc/Required/Required.types.json +5 -5
  435. package/dist/_typedoc/Search/Search.types.json +18 -18
  436. package/dist/_typedoc/Section/Section.types.json +15 -15
  437. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  438. package/dist/_typedoc/Select/Select.types.json +60 -60
  439. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  440. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  441. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  442. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  443. package/dist/_typedoc/Table/Table.types.json +101 -101
  444. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  445. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  446. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  447. package/dist/_typedoc/TextEditor/TextEditor.types.json +1 -100
  448. package/dist/_typedoc/TextEditor/TextEditorDocs.types.json +98 -0
  449. package/dist/_typedoc/TextEditor/TextEditorProvider.types.json +28 -0
  450. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +6 -42
  451. package/dist/_typedoc/TextEditorOutput/TextEditorOutputDocs.types.json +38 -0
  452. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  453. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  454. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  455. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  456. package/dist/_typedoc/Title/Title.types.json +1 -1
  457. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  458. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  459. package/dist/_typedoc/Token/Token.types.json +6 -6
  460. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  461. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  462. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  463. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  464. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  465. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  466. package/dist/_typedoc/_utils/types.json +3 -3
  467. package/dist/_typedoc/deprecations.json +1 -1
  468. package/dist/_utils/propsTypedoc.d.ts +3 -0
  469. package/dist/_utils/propsTypedoc.js +3 -0
  470. package/dist/_utils/propsTypedoc.js.map +1 -1
  471. package/jestConfig.js +52 -0
  472. package/package.json +26 -11
  473. package/.eslintignore +0 -4
  474. package/.eslintrc.cjs +0 -54
  475. package/__mocks__/@react-aria/utils.js +0 -10
  476. package/babel.config.js +0 -40
  477. package/dist/TextEditor/TextEditor.styles.js.map +0 -1
  478. package/dist/TextEditorOutput/TextEditorOutput.styles.js.map +0 -1
  479. package/tsconfig.json +0 -24
  480. package/tsconfig.prod.json +0 -11
  481. package/tsconfig.test.json +0 -4
  482. /package/dist/{TextEditor/TextEditor.styles.d.ts → DeprecatedTextEditor/DeprecatedTextEditor.styles.d.ts} +0 -0
  483. /package/dist/{TextEditorOutput/TextEditorOutput.styles.d.ts → DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.styles.d.ts} +0 -0
@@ -6,26 +6,26 @@ import { getFocus } from '../_styles/mixins';
6
6
  import { spacing } from '../_styles/spacing';
7
7
  export var StyledMultiSelectValues = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "StyledMultiSelectValues",
9
- componentId: "core-12_25_2__sc-s9ym9q-0"
9
+ componentId: "core-12_26_1__sc-s9ym9q-0"
10
10
  })(["display:flex;flex-wrap:wrap;margin-bottom:2px;margin-left:", "px;margin-right:", "px;margin-top:2px;min-width:0;width:100%;"], spacing.md, spacing.xs);
11
11
  export var StyledMultiSelectToken = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "StyledMultiSelectToken",
13
- componentId: "core-12_25_2__sc-s9ym9q-1"
13
+ componentId: "core-12_26_1__sc-s9ym9q-1"
14
14
  })(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:0 1 auto;> div{max-width:178px;width:100%;}"], spacing.xs);
15
15
  export var StyledMultiSelectSearchInput = /*#__PURE__*/styled.input.withConfig({
16
16
  displayName: "StyledMultiSelectSearchInput",
17
- componentId: "core-12_25_2__sc-s9ym9q-2"
17
+ componentId: "core-12_26_1__sc-s9ym9q-2"
18
18
  })(["background-color:transparent;border-width:0;font-family:inherit;padding:0;height:24px;width:100%;", " ", " &::-ms-clear{display:none;}&:focus{box-shadow:none;outline:none;}&::placeholder{color:", ";}"], getTypographyIntent('body'), function (_ref) {
19
19
  var $isNavigatingTokens = _ref.$isNavigatingTokens;
20
20
  return $isNavigatingTokens && css(["color:transparent;"]);
21
21
  }, colors.gray45);
22
22
  export var StyledMultiSelectSearch = /*#__PURE__*/styled.div.withConfig({
23
23
  displayName: "StyledMultiSelectSearch",
24
- componentId: "core-12_25_2__sc-s9ym9q-3"
24
+ componentId: "core-12_26_1__sc-s9ym9q-3"
25
25
  })(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:1;max-width:100%;min-width:24px;"], spacing.xs);
26
26
  export var StyledMultiSelectSearchIcon = /*#__PURE__*/styled.div.withConfig({
27
27
  displayName: "StyledMultiSelectSearchIcon",
28
- componentId: "core-12_25_2__sc-s9ym9q-4"
28
+ componentId: "core-12_26_1__sc-s9ym9q-4"
29
29
  })(["align-items:center;align-self:flex-start;display:flex;height:34px;justify-content:flex-end;margin-left:", "px;margin-right:", "px;min-width:40px;width:40px;"], spacing.xs, spacing.md);
30
30
  export var StyledMultiSelectClearIcon = StyledSelectClearIcon;
31
31
  export var StyledMultiSelectArrowContainer = StyledSelectArrowContainer;
@@ -33,7 +33,7 @@ export var StyledMultiSelectArrow = StyledSelectArrow;
33
33
  export var StyledMultiSelectMenu = StyledSelectMenu;
34
34
  export var StyledMultiSelectButton = /*#__PURE__*/styled(StyledSelectButton).withConfig({
35
35
  displayName: "StyledMultiSelectButton",
36
- componentId: "core-12_25_2__sc-s9ym9q-5"
36
+ componentId: "core-12_26_1__sc-s9ym9q-5"
37
37
  })(["height:auto;padding:0;white-space:normal;&:focus-within{", "}", ""], getFocus(), function (_ref2) {
38
38
  var $emptyValue = _ref2.$emptyValue;
39
39
  return $emptyValue && css(["", "{cursor:pointer;}"], StyledMultiSelectSearchInput);
@@ -6,14 +6,14 @@ export var optionMinHeight = 32;
6
6
  export var defaultMenuHeight = 64;
7
7
  export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "StyledOptions",
9
- componentId: "core-12_25_2__sc-3o6zya-0"
9
+ componentId: "core-12_26_1__sc-3o6zya-0"
10
10
  })([""]);
11
11
  export var StyledItem = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "StyledItem",
13
- componentId: "core-12_25_2__sc-3o6zya-1"
13
+ componentId: "core-12_26_1__sc-3o6zya-1"
14
14
  })(["", ";padding:", "px ", "px;cursor:pointer;list-style-type:none;"], getTypographyIntent('body'), spacing.xs, spacing.md);
15
15
  export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
16
16
  displayName: "StyledGroup",
17
- componentId: "core-12_25_2__sc-3o6zya-2"
17
+ componentId: "core-12_26_1__sc-3o6zya-2"
18
18
  })(["", ";padding:", "px ", "px ", "px;font-weight:", ";background:white;list-style-type:none;"], getTypographyIntent('body'), spacing.md, spacing.md, spacing.xs, typographyWeights.semibold);
19
19
  //# sourceMappingURL=NextMenu.styles.js.map
@@ -0,0 +1,2 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ export declare const EditorError: ({ children }: PropsWithChildren<{}>) => React.JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { Banner } from '../Banner';
3
+ export var EditorError = function EditorError(_ref) {
4
+ var children = _ref.children;
5
+ return /*#__PURE__*/React.createElement(Banner, {
6
+ variant: "error"
7
+ }, /*#__PURE__*/React.createElement(Banner.Content, null, /*#__PURE__*/React.createElement(Banner.Body, null, children)));
8
+ };
9
+ //# sourceMappingURL=EditorError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorError.js","names":["React","Banner","EditorError","_ref","children","createElement","variant","Content","Body"],"sources":["../../src/NextTextEditor/EditorError.tsx"],"sourcesContent":["import React, { type PropsWithChildren } from 'react'\nimport { Banner } from '../Banner'\n\nexport const EditorError = ({ children }: PropsWithChildren<{}>) => {\n return (\n <Banner variant=\"error\">\n <Banner.Content>\n <Banner.Body>{children}</Banner.Body>\n </Banner.Content>\n </Banner>\n )\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkC,OAAO;AACrD,SAASC,MAAM,QAAQ,WAAW;AAElC,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAA4C;EAAA,IAAtCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACpC,oBACEJ,KAAA,CAAAK,aAAA,CAACJ,MAAM;IAACK,OAAO,EAAC;EAAO,gBACrBN,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACM,OAAO,qBACbP,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACO,IAAI,QAAEJ,QAAsB,CACtB,CACV,CAAC;AAEb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { NextTextEditorProps } from './NextTextEditor.types';
3
+ export declare function NextTextEditor({ disabled, error, value, initialValue, onChange, onEditorChange, onDirty, onInit, onKeyDown, onFocusOut, onBlur, init, config: externalConfig, plugins: stringPlugins, locale: propLocale, ...restProps }: NextTextEditorProps): React.JSX.Element | null;
@@ -0,0 +1,156 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["disabled", "error", "value", "initialValue", "onChange", "onEditorChange", "onDirty", "onInit", "onKeyDown", "onFocusOut", "onBlur", "init", "config", "plugins", "locale"];
3
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
14
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
15
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
16
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
17
+ import { CKEditor } from '@ckeditor/ckeditor5-react';
18
+ import { ClassicEditor } from 'ckeditor5';
19
+ import React from 'react';
20
+ import { TextEditorContext } from '../TextEditor/TextEditorProvider';
21
+ import { useOverridableFocusScope } from '../_hooks/FocusScopeOverride';
22
+ import { useI18nContext } from '../_hooks/I18n';
23
+ import { useZIndexContext } from '../_hooks/ZIndex';
24
+ import { EditorStyles } from './NextTextEditor.styles';
25
+ import { useStickyToolbar } from './StickyToolbar';
26
+ import { TextEditorTheme } from './textEditorTheming';
27
+ import { useCKEditorCss } from './useCKEditorCss';
28
+ import { useTabAsNavigation } from './useTabAsNavigation';
29
+ import { addButtonDataAttributes, addPluginsFromStringArray, getDefaultConfig } from './utils';
30
+ import { applyLegacyTinyMceCompatibility, isLegacyTinyMceConfig } from './plugins/LegacyPasteAdapter/legacyTinyMceAdapter';
31
+ export function NextTextEditor(_ref) {
32
+ var disabled = _ref.disabled,
33
+ error = _ref.error,
34
+ value = _ref.value,
35
+ initialValue = _ref.initialValue,
36
+ onChange = _ref.onChange,
37
+ onEditorChange = _ref.onEditorChange,
38
+ onDirty = _ref.onDirty,
39
+ onInit = _ref.onInit,
40
+ onKeyDown = _ref.onKeyDown,
41
+ onFocusOut = _ref.onFocusOut,
42
+ onBlur = _ref.onBlur,
43
+ init = _ref.init,
44
+ externalConfig = _ref.config,
45
+ stringPlugins = _ref.plugins,
46
+ propLocale = _ref.locale,
47
+ restProps = _objectWithoutProperties(_ref, _excluded);
48
+ var _useCKEditorCss = useCKEditorCss(),
49
+ cssLoading = _useCKEditorCss.isLoading;
50
+ var editorRef = React.useRef(null);
51
+ var editorInstanceRef = React.useRef(null);
52
+ var initialValueRef = React.useRef(value || initialValue || '');
53
+ var _React$useState = React.useState(false),
54
+ _React$useState2 = _slicedToArray(_React$useState, 2),
55
+ isDirtyState = _React$useState2[0],
56
+ setIsDirtyState = _React$useState2[1];
57
+ var _useI18nContext = useI18nContext(),
58
+ contextLocale = _useI18nContext.locale;
59
+ var locale = propLocale || contextLocale;
60
+ React.useEffect(function () {
61
+ if (value !== undefined) {
62
+ initialValueRef.current = value;
63
+ }
64
+ }, [value]);
65
+ var _useZIndexContext = useZIndexContext(),
66
+ zIndex = _useZIndexContext.value;
67
+ var _React$useContext = React.useContext(TextEditorContext),
68
+ features = _React$useContext.features;
69
+ var enableStickyToolbar = !!(features !== null && features !== void 0 && features.stickyToolbar);
70
+ var enableTabAsNavigation = !!(features !== null && features !== void 0 && features.tabAsNavigation);
71
+ var mergedConfig = React.useMemo(function () {
72
+ var defaultConfig = getDefaultConfig(locale);
73
+
74
+ // Handle string plugins for backward compatibility
75
+ var configWithPlugins = stringPlugins !== null && stringPlugins !== void 0 && stringPlugins.length ? addPluginsFromStringArray(defaultConfig, stringPlugins) : defaultConfig;
76
+
77
+ // Apply any external CKEditor config overrides provided by the consumer
78
+ var externalResult = typeof externalConfig === 'function' ? externalConfig(configWithPlugins) : undefined;
79
+ // Merge default config (with plugins) and consumer overrides
80
+ var finalConfig = _objectSpread(_objectSpread({}, configWithPlugins), externalResult !== null && externalResult !== void 0 ? externalResult : {});
81
+ // Apply TinyMCE legacy compatibility only if `init` contains a legacy config
82
+ if (init && isLegacyTinyMceConfig(init)) {
83
+ finalConfig = applyLegacyTinyMceCompatibility(finalConfig, init);
84
+ }
85
+ return finalConfig;
86
+ }, [externalConfig, init, locale, stringPlugins]);
87
+ var focusScope = useOverridableFocusScope();
88
+ React.useEffect(function () {
89
+ focusScope.setProps({
90
+ contain: false
91
+ });
92
+ }, [focusScope]);
93
+ var handleChange = function handleChange(_event, editor) {
94
+ var data = editor.getData();
95
+ var isDirty = data !== initialValueRef.current;
96
+
97
+ // Call onDirty only on first content modification
98
+ if (isDirty && !isDirtyState) {
99
+ setIsDirtyState(true);
100
+ onDirty === null || onDirty === void 0 ? void 0 : onDirty();
101
+ }
102
+ onChange === null || onChange === void 0 ? void 0 : onChange(data, isDirty);
103
+ onEditorChange === null || onEditorChange === void 0 ? void 0 : onEditorChange(data);
104
+ };
105
+ var handleReady = function handleReady(editor) {
106
+ addButtonDataAttributes(editor);
107
+ editorInstanceRef.current = editor;
108
+ if (initialValue) {
109
+ editor.setData(initialValue);
110
+ }
111
+ if (onKeyDown) {
112
+ editor.editing.view.document.on('keydown', function (_event, data) {
113
+ onKeyDown(data.domEvent);
114
+ });
115
+ }
116
+ onInit === null || onInit === void 0 ? void 0 : onInit();
117
+ };
118
+ var handleBlur = function handleBlur(event, editor) {
119
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(event, editor);
120
+ onFocusOut === null || onFocusOut === void 0 ? void 0 : onFocusOut();
121
+ };
122
+ var _useStickyToolbar = useStickyToolbar({
123
+ config: mergedConfig,
124
+ enabled: enableStickyToolbar,
125
+ editor: editorInstanceRef.current,
126
+ editorRef: editorRef,
127
+ cssLoading: cssLoading
128
+ }),
129
+ stickyConfig = _useStickyToolbar.config;
130
+ var _useTabAsNavigation = useTabAsNavigation({
131
+ config: stickyConfig,
132
+ enabled: enableTabAsNavigation,
133
+ editor: editorInstanceRef.current
134
+ }),
135
+ config = _useTabAsNavigation.config;
136
+ var editorKey = "".concat(locale, "-").concat(enableTabAsNavigation);
137
+ if (cssLoading) {
138
+ return null;
139
+ }
140
+ return /*#__PURE__*/React.createElement("div", {
141
+ ref: editorRef,
142
+ key: editorKey
143
+ }, /*#__PURE__*/React.createElement(EditorStyles, {
144
+ error: error,
145
+ zIndex: zIndex + 1
146
+ }), /*#__PURE__*/React.createElement(TextEditorTheme, null), /*#__PURE__*/React.createElement(CKEditor, _extends({}, restProps, {
147
+ editor: ClassicEditor,
148
+ config: config,
149
+ disabled: disabled,
150
+ data: value,
151
+ onChange: handleChange,
152
+ onReady: handleReady,
153
+ onBlur: handleBlur
154
+ })));
155
+ }
156
+ //# sourceMappingURL=NextTextEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NextTextEditor.js","names":["CKEditor","ClassicEditor","React","TextEditorContext","useOverridableFocusScope","useI18nContext","useZIndexContext","EditorStyles","useStickyToolbar","TextEditorTheme","useCKEditorCss","useTabAsNavigation","addButtonDataAttributes","addPluginsFromStringArray","getDefaultConfig","applyLegacyTinyMceCompatibility","isLegacyTinyMceConfig","NextTextEditor","_ref","disabled","error","value","initialValue","onChange","onEditorChange","onDirty","onInit","onKeyDown","onFocusOut","onBlur","init","externalConfig","config","stringPlugins","plugins","propLocale","locale","restProps","_objectWithoutProperties","_excluded","_useCKEditorCss","cssLoading","isLoading","editorRef","useRef","editorInstanceRef","initialValueRef","_React$useState","useState","_React$useState2","_slicedToArray","isDirtyState","setIsDirtyState","_useI18nContext","contextLocale","useEffect","undefined","current","_useZIndexContext","zIndex","_React$useContext","useContext","features","enableStickyToolbar","stickyToolbar","enableTabAsNavigation","tabAsNavigation","mergedConfig","useMemo","defaultConfig","configWithPlugins","length","externalResult","finalConfig","_objectSpread","focusScope","setProps","contain","handleChange","_event","editor","data","getData","isDirty","handleReady","setData","editing","view","document","on","domEvent","handleBlur","event","_useStickyToolbar","enabled","stickyConfig","_useTabAsNavigation","editorKey","concat","createElement","ref","key","_extends","onReady"],"sources":["../../src/NextTextEditor/NextTextEditor.tsx"],"sourcesContent":["import { CKEditor } from '@ckeditor/ckeditor5-react'\nimport type { EditorConfig } from 'ckeditor5'\nimport { ClassicEditor, type EventInfo } from 'ckeditor5'\nimport React from 'react'\n\nimport { TextEditorContext } from '../TextEditor/TextEditorProvider'\nimport { useOverridableFocusScope } from '../_hooks/FocusScopeOverride'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { EditorStyles } from './NextTextEditor.styles'\nimport type { NextTextEditorProps } from './NextTextEditor.types'\nimport { useStickyToolbar } from './StickyToolbar'\nimport { TextEditorTheme } from './textEditorTheming'\nimport { useCKEditorCss } from './useCKEditorCss'\nimport { useTabAsNavigation } from './useTabAsNavigation'\nimport {\n addButtonDataAttributes,\n addPluginsFromStringArray,\n getDefaultConfig,\n} from './utils'\n\nimport {\n applyLegacyTinyMceCompatibility,\n isLegacyTinyMceConfig,\n} from './plugins/LegacyPasteAdapter/legacyTinyMceAdapter'\n\nexport function NextTextEditor({\n disabled,\n error,\n value,\n initialValue,\n onChange,\n onEditorChange,\n onDirty,\n onInit,\n onKeyDown,\n onFocusOut,\n onBlur,\n init,\n config: externalConfig,\n plugins: stringPlugins,\n locale: propLocale,\n ...restProps\n}: NextTextEditorProps) {\n const { isLoading: cssLoading } = useCKEditorCss()\n\n const editorRef = React.useRef<HTMLDivElement>(null)\n const editorInstanceRef = React.useRef<ClassicEditor | null>(null)\n const initialValueRef = React.useRef<string>(value || initialValue || '')\n const [isDirtyState, setIsDirtyState] = React.useState(false)\n const { locale: contextLocale } = useI18nContext()\n const locale = propLocale || contextLocale\n\n React.useEffect(() => {\n if (value !== undefined) {\n initialValueRef.current = value\n }\n }, [value])\n\n const { value: zIndex } = useZIndexContext()\n\n const { features } = React.useContext(TextEditorContext)\n const enableStickyToolbar = !!features?.stickyToolbar\n const enableTabAsNavigation = !!features?.tabAsNavigation\n\n const mergedConfig = React.useMemo(() => {\n const defaultConfig = getDefaultConfig(locale)\n\n // Handle string plugins for backward compatibility\n const configWithPlugins = stringPlugins?.length\n ? addPluginsFromStringArray(defaultConfig, stringPlugins)\n : defaultConfig\n\n // Apply any external CKEditor config overrides provided by the consumer\n const externalResult =\n typeof externalConfig === 'function'\n ? externalConfig(configWithPlugins)\n : undefined\n // Merge default config (with plugins) and consumer overrides\n let finalConfig: EditorConfig = {\n ...configWithPlugins,\n ...(externalResult ?? {}),\n }\n // Apply TinyMCE legacy compatibility only if `init` contains a legacy config\n if (init && isLegacyTinyMceConfig(init)) {\n finalConfig = applyLegacyTinyMceCompatibility(finalConfig, init)\n }\n\n return finalConfig\n }, [externalConfig, init, locale, stringPlugins])\n\n const focusScope = useOverridableFocusScope()\n React.useEffect(() => {\n focusScope.setProps({ contain: false })\n }, [focusScope])\n\n const handleChange = (\n _event: EventInfo<string, unknown>,\n editor: ClassicEditor\n ) => {\n const data = editor.getData()\n const isDirty = data !== initialValueRef.current\n\n // Call onDirty only on first content modification\n if (isDirty && !isDirtyState) {\n setIsDirtyState(true)\n onDirty?.()\n }\n\n onChange?.(data, isDirty)\n onEditorChange?.(data)\n }\n\n const handleReady = (editor: ClassicEditor) => {\n addButtonDataAttributes(editor)\n editorInstanceRef.current = editor\n\n if (initialValue) {\n editor.setData(initialValue)\n }\n\n if (onKeyDown) {\n editor.editing.view.document.on('keydown', (_event, data) => {\n onKeyDown(data.domEvent as KeyboardEvent)\n })\n }\n\n onInit?.()\n }\n\n const handleBlur = (\n event: EventInfo<string, unknown>,\n editor: ClassicEditor\n ) => {\n onBlur?.(event, editor)\n onFocusOut?.()\n }\n\n const { config: stickyConfig } = useStickyToolbar({\n config: mergedConfig,\n enabled: enableStickyToolbar,\n editor: editorInstanceRef.current,\n editorRef,\n cssLoading,\n })\n\n const { config } = useTabAsNavigation({\n config: stickyConfig,\n enabled: enableTabAsNavigation,\n editor: editorInstanceRef.current,\n })\n\n const editorKey = `${locale}-${enableTabAsNavigation}`\n\n if (cssLoading) {\n return null\n }\n\n return (\n <div ref={editorRef} key={editorKey}>\n <EditorStyles error={error} zIndex={zIndex + 1} />\n <TextEditorTheme />\n <CKEditor\n {...restProps}\n editor={ClassicEditor}\n config={config}\n disabled={disabled}\n data={value}\n onChange={handleChange}\n onReady={handleReady}\n onBlur={handleBlur}\n />\n </div>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const EditorStyles: import("react").NamedExoticComponent<import("styled-components").ExecutionProps & {
3
+ error?: boolean | undefined;
4
+ zIndex: number;
5
+ }>;
@@ -0,0 +1,22 @@
1
+ import { createGlobalStyle } from 'styled-components';
2
+ import { colors } from '../_styles/colors';
3
+ export var EditorStyles = /*#__PURE__*/createGlobalStyle([":root{--ck-z-default:", ";--ck-z-modal:", ";}.ck-body-wrapper{--ck-z-default:", ";--ck-z-modal:", ";}.ck-balloon-panel{z-index:", " !important;}.ck-content{padding:16px 28px !important;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen,Ubuntu,Cantarell,\"Open Sans\",\"Helvetica Neue\",sans-serif;line-height:1.4;p{margin-top:0 !important;margin-bottom:0 !important;}ul,ol{li .ck-list-bogus-paragraph > br{display:none;}}ol,ol ol,ol ol ol{list-style-type:revert-layer;}}", ""], function (_ref) {
4
+ var zIndex = _ref.zIndex;
5
+ return zIndex;
6
+ }, function (_ref2) {
7
+ var zIndex = _ref2.zIndex;
8
+ return zIndex + 999;
9
+ }, function (_ref3) {
10
+ var zIndex = _ref3.zIndex;
11
+ return zIndex;
12
+ }, function (_ref4) {
13
+ var zIndex = _ref4.zIndex;
14
+ return zIndex + 999;
15
+ }, function (_ref5) {
16
+ var zIndex = _ref5.zIndex;
17
+ return zIndex + 1000;
18
+ }, function (_ref6) {
19
+ var error = _ref6.error;
20
+ return error && "\n .ck-sticky-panel__content {\n border-top-color: ".concat(colors.red50, " !important;\n border-left-color: ").concat(colors.red50, " !important;\n border-right-color: ").concat(colors.red50, " !important;\n }\n\n .ck-editor__editable {\n border-left-color: ").concat(colors.red50, " !important;\n border-right-color: ").concat(colors.red50, " !important;\n border-bottom-color: ").concat(colors.red50, " !important;\n }\n ");
21
+ });
22
+ //# sourceMappingURL=NextTextEditor.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NextTextEditor.styles.js","names":["createGlobalStyle","colors","EditorStyles","_ref","zIndex","_ref2","_ref3","_ref4","_ref5","_ref6","error","concat","red50"],"sources":["../../src/NextTextEditor/NextTextEditor.styles.ts"],"sourcesContent":["import { createGlobalStyle } from 'styled-components'\nimport { colors } from '../_styles/colors'\n\nexport const EditorStyles = createGlobalStyle<{\n error?: boolean\n zIndex: number\n}>`\n :root {\n --ck-z-default: ${({ zIndex }) => zIndex};\n --ck-z-modal: ${({ zIndex }) => zIndex + 999};\n }\n \n .ck-body-wrapper {\n --ck-z-default: ${({ zIndex }) => zIndex};\n --ck-z-modal: ${({ zIndex }) => zIndex + 999};\n }\n \n .ck-balloon-panel {\n z-index: ${({ zIndex }) => zIndex + 1000} !important;\n }\n\n .ck-content {\n padding: 16px 28px !important;\n font-family:\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n \"Open Sans\",\n \"Helvetica Neue\",\n sans-serif;\n line-height: 1.4;\n\n p {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n ul, ol {\n li .ck-list-bogus-paragraph > br {\n display: none;\n }\n }\n\n ol,\n ol ol,\n ol ol ol {\n list-style-type: revert-layer;\n }\n }\n\n ${({ error }) =>\n error &&\n `\n .ck-sticky-panel__content {\n border-top-color: ${colors.red50} !important;\n border-left-color: ${colors.red50} !important;\n border-right-color: ${colors.red50} !important;\n }\n\n .ck-editor__editable {\n border-left-color: ${colors.red50} !important;\n border-right-color: ${colors.red50} !important;\n border-bottom-color: ${colors.red50} !important;\n }\n `}\n`\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,IAAMC,YAAY,gBAAGF,iBAAiB,sfAKvB,UAAAG,IAAA;EAAA,IAAGC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAAA,OAAOA,MAAM;AAAA,GACxB,UAAAC,KAAA;EAAA,IAAGD,MAAM,GAAAC,KAAA,CAAND,MAAM;EAAA,OAAOA,MAAM,GAAG,GAAG;AAAA,GAI1B,UAAAE,KAAA;EAAA,IAAGF,MAAM,GAAAE,KAAA,CAANF,MAAM;EAAA,OAAOA,MAAM;AAAA,GACxB,UAAAG,KAAA;EAAA,IAAGH,MAAM,GAAAG,KAAA,CAANH,MAAM;EAAA,OAAOA,MAAM,GAAG,GAAG;AAAA,GAIjC,UAAAI,KAAA;EAAA,IAAGJ,MAAM,GAAAI,KAAA,CAANJ,MAAM;EAAA,OAAOA,MAAM,GAAG,IAAI;AAAA,GAoCxC,UAAAK,KAAA;EAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;EAAA,OACRA,KAAK,sEAAAC,MAAA,CAGmBV,MAAM,CAACW,KAAK,+CAAAD,MAAA,CACXV,MAAM,CAACW,KAAK,gDAAAD,MAAA,CACXV,MAAM,CAACW,KAAK,wFAAAD,MAAA,CAIbV,MAAM,CAACW,KAAK,gDAAAD,MAAA,CACXV,MAAM,CAACW,KAAK,iDAAAD,MAAA,CACXV,MAAM,CAACW,KAAK,8BAExC;AAAA,EACF"}
@@ -0,0 +1,111 @@
1
+ import type { CKEditor } from '@ckeditor/ckeditor5-react';
2
+ import type { ClassicEditor, EditorConfig } from 'ckeditor5';
3
+ import type React from 'react';
4
+ import type { Locale } from '../_hooks/I18n';
5
+ import type { LegacyTinyMceLike } from './plugins/LegacyPasteAdapter/legacyTinyMceAdapter';
6
+ export declare type NextTextEditorProps = Pick<React.ComponentProps<typeof CKEditor<ClassicEditor>>, 'onFocus' | 'onBlur' | 'onError' | 'onAfterDestroy' | 'disabled' | 'id'> & {
7
+ /**
8
+ * Indicates if the editor is in an error state
9
+ *
10
+ * @since 10.19.0
11
+ */
12
+ error?: boolean;
13
+ /**
14
+ * @deprecated
15
+ * `initialValue` has been deprecated and will be removed in a future version.
16
+ * Please use the `value` prop instead
17
+ *
18
+ * @deprecatedSince 10.20.0
19
+ * @since 10.19.0
20
+ */
21
+ initialValue?: string;
22
+ /**
23
+ * The current value of the editor
24
+ *
25
+ * @since 10.19.0
26
+ */
27
+ value?: string;
28
+ /**
29
+ * Callback fired when the editor is ready
30
+ *
31
+ * @since 10.19.0
32
+ */
33
+ onInit?: () => void;
34
+ /**
35
+ * Callback fired when the editor content changes
36
+ *
37
+ * @param value - The current content of the editor
38
+ * @param isDirty - Whether the content differs from the initial value
39
+ * @since 10.19.0
40
+ */
41
+ onChange?: (value: string, isDirty?: boolean) => void;
42
+ /**
43
+ * Callback fired when the editor content changes
44
+ *
45
+ * @param value - The current content of the editor
46
+ * @since 12.26.0
47
+ * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.
48
+ */
49
+ onEditorChange?: (value: string) => void;
50
+ /**
51
+ * Callback fired when the editor becomes dirty (content differs from initial value)
52
+ *
53
+ * @since 12.26.0
54
+ * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.
55
+ */
56
+ onDirty?: () => void;
57
+ /**
58
+ * Callback fired when a key is pressed in the editor
59
+ *
60
+ * @param event - The keyboard event
61
+ * @since 12.26.0
62
+ * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.
63
+ */
64
+ onKeyDown?: (event: KeyboardEvent) => void;
65
+ /**
66
+ * Callback fired when the editor loses focus
67
+ *
68
+ * @since 12.26.0
69
+ * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.
70
+ */
71
+ onFocusOut?: () => void;
72
+ /**
73
+ * Locale which will be used for localization. Can be passed directly or
74
+ * set by wrapping components in I18n provider.
75
+ * @since 10.19.0
76
+ */
77
+ locale?: Locale;
78
+ /**
79
+ * Configuration function for customizing the editor
80
+ *
81
+ * @param defaultConfig - The default CKEditor configuration
82
+ * @returns Customized configuration object
83
+ * @since 12.26.0
84
+ */
85
+ config?: (defaultConfig: EditorConfig) => EditorConfig;
86
+ /**
87
+ * Legacy TinyMCE-style config object (e.g., NO_IMAGE_PASTE_TINY_MCE_CONFIG()).
88
+ * If provided, we auto-adapt it to CKEditor (paste_preprocess / paste_data_images).
89
+ *
90
+ * * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.
91
+ *
92
+ * TODO Remove after adapter decommission.
93
+ * Decommission plan:
94
+ * 1) Release CKEditor
95
+ * 2) Remove TinyMCE
96
+ * 3) Announce adapter decommission deadline
97
+ * 4) Teams migrate to CKEditor standard API
98
+ * 5) Delete this TinyMCE→CKEditor adapter API
99
+ *
100
+ * @since 12.26.0
101
+ */
102
+ init?: LegacyTinyMceLike | undefined;
103
+ /**
104
+ * Array of plugin names to add to the editor in addition to the defaults.
105
+ * This provides backward compatibility with the deprecated TinyMCE version of the editor.
106
+ * Supports plugin names like 'link', 'image', 'table', etc.
107
+ *
108
+ * @since 12.26.0
109
+ */
110
+ plugins?: string[];
111
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NextTextEditor.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NextTextEditor.types.js","names":[],"sources":["../../src/NextTextEditor/NextTextEditor.types.ts"],"sourcesContent":["import type { CKEditor } from '@ckeditor/ckeditor5-react'\nimport type { ClassicEditor, EditorConfig } from 'ckeditor5'\nimport type React from 'react'\nimport type { Locale } from '../_hooks/I18n'\nimport type { LegacyTinyMceLike } from './plugins/LegacyPasteAdapter/legacyTinyMceAdapter'\n\nexport type NextTextEditorProps = Pick<\n React.ComponentProps<typeof CKEditor<ClassicEditor>>,\n 'onFocus' | 'onBlur' | 'onError' | 'onAfterDestroy' | 'disabled' | 'id'\n> & {\n /**\n * Indicates if the editor is in an error state\n *\n * @since 10.19.0\n */\n error?: boolean\n\n /**\n * @deprecated\n * `initialValue` has been deprecated and will be removed in a future version.\n * Please use the `value` prop instead\n *\n * @deprecatedSince 10.20.0\n * @since 10.19.0\n */\n initialValue?: string\n\n /**\n * The current value of the editor\n *\n * @since 10.19.0\n */\n value?: string\n\n /**\n * Callback fired when the editor is ready\n *\n * @since 10.19.0\n */\n onInit?: () => void\n\n /**\n * Callback fired when the editor content changes\n *\n * @param value - The current content of the editor\n * @param isDirty - Whether the content differs from the initial value\n * @since 10.19.0\n */\n onChange?: (value: string, isDirty?: boolean) => void\n\n /**\n * Callback fired when the editor content changes\n *\n * @param value - The current content of the editor\n * @since 12.26.0\n * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.\n */\n onEditorChange?: (value: string) => void\n\n /**\n * Callback fired when the editor becomes dirty (content differs from initial value)\n *\n * @since 12.26.0\n * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.\n */\n onDirty?: () => void\n\n /**\n * Callback fired when a key is pressed in the editor\n *\n * @param event - The keyboard event\n * @since 12.26.0\n * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.\n */\n onKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Callback fired when the editor loses focus\n *\n * @since 12.26.0\n * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.\n */\n onFocusOut?: () => void\n\n /**\n * Locale which will be used for localization. Can be passed directly or\n * set by wrapping components in I18n provider.\n * @since 10.19.0\n */\n locale?: Locale\n\n /**\n * Configuration function for customizing the editor\n *\n * @param defaultConfig - The default CKEditor configuration\n * @returns Customized configuration object\n * @since 12.26.0\n */\n config?: (defaultConfig: EditorConfig) => EditorConfig\n\n /**\n * Legacy TinyMCE-style config object (e.g., NO_IMAGE_PASTE_TINY_MCE_CONFIG()).\n * If provided, we auto-adapt it to CKEditor (paste_preprocess / paste_data_images).\n *\n * * @deprecated TinyMCE-specific. Will be removed after teams migrate to CKEditor standard API.\n *\n * TODO Remove after adapter decommission.\n * Decommission plan:\n * 1) Release CKEditor\n * 2) Remove TinyMCE\n * 3) Announce adapter decommission deadline\n * 4) Teams migrate to CKEditor standard API\n * 5) Delete this TinyMCE→CKEditor adapter API\n *\n * @since 12.26.0\n */\n init?: LegacyTinyMceLike | undefined\n\n /**\n * Array of plugin names to add to the editor in addition to the defaults.\n * This provides backward compatibility with the deprecated TinyMCE version of the editor.\n * Supports plugin names like 'link', 'image', 'table', etc.\n *\n * @since 12.26.0\n */\n plugins?: string[]\n}\n"],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface StickyToolbarState {
2
+ toolbar: HTMLElement | null;
3
+ placeholder: HTMLElement | null;
4
+ isSticky: boolean;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StickyToolbar.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyToolbar.types.js","names":[],"sources":["../../../src/NextTextEditor/StickyToolbar/StickyToolbar.types.ts"],"sourcesContent":["export interface StickyToolbarState {\n toolbar: HTMLElement | null\n placeholder: HTMLElement | null\n isSticky: boolean\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare function createStickyToolbar(editorContainer: HTMLElement): {
2
+ destroy: () => void;
3
+ };
@@ -0,0 +1,153 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
3
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
4
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ var StickyToolbarManager = /*#__PURE__*/function () {
9
+ function StickyToolbarManager() {
10
+ var _this = this;
11
+ _classCallCheck(this, StickyToolbarManager);
12
+ _defineProperty(this, "state", {
13
+ toolbar: null,
14
+ placeholder: null,
15
+ isSticky: false
16
+ });
17
+ _defineProperty(this, "handleScroll", function () {
18
+ var _this$state = _this.state,
19
+ toolbar = _this$state.toolbar,
20
+ placeholder = _this$state.placeholder;
21
+ if (!toolbar || !placeholder) {
22
+ return;
23
+ }
24
+ var editorContainer = toolbar.closest('.ck-editor');
25
+ if (!editorContainer) {
26
+ return;
27
+ }
28
+ var editorRect = editorContainer.getBoundingClientRect();
29
+ var toolbarHeight = toolbar.offsetHeight;
30
+ var shouldBeSticky = editorRect.top <= 0 && editorRect.bottom > toolbarHeight;
31
+ if (shouldBeSticky !== _this.state.isSticky) {
32
+ _this.toggleSticky(shouldBeSticky, editorRect);
33
+ } else if (shouldBeSticky) {
34
+ _this.updatePosition(editorRect);
35
+ }
36
+ });
37
+ }
38
+ return _createClass(StickyToolbarManager, [{
39
+ key: "toggleSticky",
40
+ value: function toggleSticky(sticky, editorRect) {
41
+ var _this$state2 = this.state,
42
+ toolbar = _this$state2.toolbar,
43
+ placeholder = _this$state2.placeholder;
44
+ if (!toolbar || !placeholder) {
45
+ return;
46
+ }
47
+ this.state.isSticky = sticky;
48
+ if (sticky) {
49
+ placeholder.style.height = "".concat(toolbar.offsetHeight, "px");
50
+ Object.assign(toolbar.style, {
51
+ position: 'fixed',
52
+ top: '0px',
53
+ left: "".concat(editorRect.left, "px"),
54
+ width: "".concat(editorRect.width, "px"),
55
+ zIndex: '1000',
56
+ background: 'var(--ck-color-toolbar-background, #fff)',
57
+ borderBottom: '1px solid var(--ck-color-toolbar-border, #ccc)'
58
+ });
59
+ } else {
60
+ placeholder.style.height = '0px';
61
+ this.resetToolbarStyles(toolbar);
62
+ }
63
+ }
64
+ }, {
65
+ key: "updatePosition",
66
+ value: function updatePosition(editorRect) {
67
+ var toolbar = this.state.toolbar;
68
+ if (!toolbar) {
69
+ return;
70
+ }
71
+ toolbar.style.left = "".concat(editorRect.left, "px");
72
+ toolbar.style.width = "".concat(editorRect.width, "px");
73
+ }
74
+ }, {
75
+ key: "resetToolbarStyles",
76
+ value: function resetToolbarStyles(toolbar) {
77
+ Object.assign(toolbar.style, {
78
+ position: '',
79
+ top: '',
80
+ left: '',
81
+ width: '',
82
+ zIndex: '',
83
+ background: '',
84
+ borderBottom: ''
85
+ });
86
+ }
87
+ }, {
88
+ key: "init",
89
+ value: function init(editorContainer) {
90
+ var _toolbar$parentNode;
91
+ var toolbar = editorContainer.querySelector('.ck-toolbar');
92
+ if (!toolbar) {
93
+ return false;
94
+ }
95
+ this.resetToolbarStyles(toolbar);
96
+ var placeholder = document.createElement('div');
97
+ placeholder.style.height = '0px';
98
+ placeholder.style.visibility = 'hidden';
99
+ (_toolbar$parentNode = toolbar.parentNode) === null || _toolbar$parentNode === void 0 ? void 0 : _toolbar$parentNode.insertBefore(placeholder, toolbar);
100
+ this.state = {
101
+ toolbar: toolbar,
102
+ placeholder: placeholder,
103
+ isSticky: false
104
+ };
105
+ window.addEventListener('scroll', this.handleScroll);
106
+ window.addEventListener('resize', this.handleScroll);
107
+ this.handleScroll();
108
+ return true;
109
+ }
110
+ }, {
111
+ key: "destroy",
112
+ value: function destroy() {
113
+ window.removeEventListener('scroll', this.handleScroll);
114
+ window.removeEventListener('resize', this.handleScroll);
115
+ if (this.state.isSticky && this.state.toolbar) {
116
+ this.toggleSticky(false, new DOMRect());
117
+ }
118
+ if (this.state.placeholder) {
119
+ this.state.placeholder.remove();
120
+ }
121
+ this.state = {
122
+ toolbar: null,
123
+ placeholder: null,
124
+ isSticky: false
125
+ };
126
+ }
127
+ }]);
128
+ }();
129
+ export function createStickyToolbar(editorContainer) {
130
+ var manager = new StickyToolbarManager();
131
+ var retryTimeout = null;
132
+ var retryCount = 0;
133
+ var maxRetries = 50;
134
+ var _init = function init() {
135
+ if (!manager.init(editorContainer)) {
136
+ if (retryCount < maxRetries) {
137
+ retryCount++;
138
+ retryTimeout = setTimeout(_init, 100);
139
+ }
140
+ }
141
+ };
142
+ _init();
143
+ return {
144
+ destroy: function destroy() {
145
+ if (retryTimeout) {
146
+ clearTimeout(retryTimeout);
147
+ retryTimeout = null;
148
+ }
149
+ manager.destroy();
150
+ }
151
+ };
152
+ }
153
+ //# sourceMappingURL=StickyToolbar.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyToolbar.utils.js","names":["StickyToolbarManager","_this","_classCallCheck","_defineProperty","toolbar","placeholder","isSticky","_this$state","state","editorContainer","closest","editorRect","getBoundingClientRect","toolbarHeight","offsetHeight","shouldBeSticky","top","bottom","toggleSticky","updatePosition","_createClass","key","value","sticky","_this$state2","style","height","concat","Object","assign","position","left","width","zIndex","background","borderBottom","resetToolbarStyles","init","_toolbar$parentNode","querySelector","document","createElement","visibility","parentNode","insertBefore","window","addEventListener","handleScroll","destroy","removeEventListener","DOMRect","remove","createStickyToolbar","manager","retryTimeout","retryCount","maxRetries","setTimeout","clearTimeout"],"sources":["../../../src/NextTextEditor/StickyToolbar/StickyToolbar.utils.ts"],"sourcesContent":["import type { StickyToolbarState } from './StickyToolbar.types'\n\nclass StickyToolbarManager {\n private state: StickyToolbarState = {\n toolbar: null,\n placeholder: null,\n isSticky: false,\n }\n\n private handleScroll = () => {\n const { toolbar, placeholder } = this.state\n if (!toolbar || !placeholder) {\n return\n }\n\n const editorContainer = toolbar.closest('.ck-editor')\n if (!editorContainer) {\n return\n }\n\n const editorRect = editorContainer.getBoundingClientRect()\n const toolbarHeight = toolbar.offsetHeight\n const shouldBeSticky =\n editorRect.top <= 0 && editorRect.bottom > toolbarHeight\n\n if (shouldBeSticky !== this.state.isSticky) {\n this.toggleSticky(shouldBeSticky, editorRect)\n } else if (shouldBeSticky) {\n this.updatePosition(editorRect)\n }\n }\n\n private toggleSticky(sticky: boolean, editorRect: DOMRect) {\n const { toolbar, placeholder } = this.state\n if (!toolbar || !placeholder) {\n return\n }\n\n this.state.isSticky = sticky\n\n if (sticky) {\n placeholder.style.height = `${toolbar.offsetHeight}px`\n Object.assign(toolbar.style, {\n position: 'fixed',\n top: '0px',\n left: `${editorRect.left}px`,\n width: `${editorRect.width}px`,\n zIndex: '1000',\n background: 'var(--ck-color-toolbar-background, #fff)',\n borderBottom: '1px solid var(--ck-color-toolbar-border, #ccc)',\n })\n } else {\n placeholder.style.height = '0px'\n this.resetToolbarStyles(toolbar)\n }\n }\n\n private updatePosition(editorRect: DOMRect) {\n const { toolbar } = this.state\n if (!toolbar) {\n return\n }\n\n toolbar.style.left = `${editorRect.left}px`\n toolbar.style.width = `${editorRect.width}px`\n }\n\n private resetToolbarStyles(toolbar: HTMLElement) {\n Object.assign(toolbar.style, {\n position: '',\n top: '',\n left: '',\n width: '',\n zIndex: '',\n background: '',\n borderBottom: '',\n })\n }\n\n init(editorContainer: HTMLElement): boolean {\n const toolbar = editorContainer.querySelector('.ck-toolbar') as HTMLElement\n if (!toolbar) {\n return false\n }\n\n this.resetToolbarStyles(toolbar)\n\n const placeholder = document.createElement('div')\n placeholder.style.height = '0px'\n placeholder.style.visibility = 'hidden'\n toolbar.parentNode?.insertBefore(placeholder, toolbar)\n\n this.state = { toolbar, placeholder, isSticky: false }\n\n window.addEventListener('scroll', this.handleScroll)\n window.addEventListener('resize', this.handleScroll)\n\n this.handleScroll()\n\n return true\n }\n\n destroy(): void {\n window.removeEventListener('scroll', this.handleScroll)\n window.removeEventListener('resize', this.handleScroll)\n\n if (this.state.isSticky && this.state.toolbar) {\n this.toggleSticky(false, new DOMRect())\n }\n\n if (this.state.placeholder) {\n this.state.placeholder.remove()\n }\n\n this.state = { toolbar: null, placeholder: null, isSticky: false }\n }\n}\n\nexport function createStickyToolbar(editorContainer: HTMLElement) {\n const manager = new StickyToolbarManager()\n let retryTimeout: ReturnType<typeof setTimeout> | null = null\n let retryCount = 0\n const maxRetries = 50\n\n const init = () => {\n if (!manager.init(editorContainer)) {\n if (retryCount < maxRetries) {\n retryCount++\n retryTimeout = setTimeout(init, 100)\n }\n }\n }\n\n init()\n\n return {\n destroy: () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout)\n retryTimeout = null\n }\n manager.destroy()\n },\n }\n}\n"],"mappings":"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"}