@webiny/lexical-editor 6.0.0-beta.0 → 6.0.0-rc.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 (264) hide show
  1. package/README.md +6 -12
  2. package/commands/image.d.ts +2 -2
  3. package/commands/image.js +2 -8
  4. package/commands/image.js.map +1 -1
  5. package/commands/index.d.ts +5 -3
  6. package/commands/index.js +5 -38
  7. package/commands/index.js.map +1 -1
  8. package/commands/list.d.ts +2 -2
  9. package/commands/list.js +4 -10
  10. package/commands/list.js.map +1 -1
  11. package/commands/quote.d.ts +2 -2
  12. package/commands/quote.js +2 -8
  13. package/commands/quote.js.map +1 -1
  14. package/commands/toolbar.d.ts +1 -0
  15. package/commands/toolbar.js +4 -0
  16. package/commands/toolbar.js.map +1 -0
  17. package/commands/typography.d.ts +8 -0
  18. package/commands/typography.js +4 -0
  19. package/commands/typography.js.map +1 -0
  20. package/components/Editor/EnsureHeadingTagPlugin.d.ts +6 -0
  21. package/components/Editor/EnsureHeadingTagPlugin.js +20 -0
  22. package/components/Editor/EnsureHeadingTagPlugin.js.map +1 -0
  23. package/components/Editor/RichTextEditor.d.ts +29 -12
  24. package/components/Editor/RichTextEditor.js +89 -110
  25. package/components/Editor/RichTextEditor.js.map +1 -1
  26. package/components/Editor/normalizeInputValue.d.ts +6 -0
  27. package/components/Editor/normalizeInputValue.js +16 -0
  28. package/components/Editor/normalizeInputValue.js.map +1 -0
  29. package/components/LexicalEditorConfig/LexicalEditorConfig.d.ts +14 -16
  30. package/components/LexicalEditorConfig/LexicalEditorConfig.js +21 -69
  31. package/components/LexicalEditorConfig/LexicalEditorConfig.js.map +1 -1
  32. package/components/LexicalEditorConfig/components/Node.d.ts +1 -1
  33. package/components/LexicalEditorConfig/components/Node.js +17 -26
  34. package/components/LexicalEditorConfig/components/Node.js.map +1 -1
  35. package/components/LexicalEditorConfig/components/Plugin.js +17 -26
  36. package/components/LexicalEditorConfig/components/Plugin.js.map +1 -1
  37. package/components/LexicalEditorConfig/components/ToolbarElement.js +17 -26
  38. package/components/LexicalEditorConfig/components/ToolbarElement.js.map +1 -1
  39. package/components/LexicalHtmlRenderer.d.ts +5 -8
  40. package/components/LexicalHtmlRenderer.js +35 -50
  41. package/components/LexicalHtmlRenderer.js.map +1 -1
  42. package/components/Toolbar/StaticToolbar.css +416 -0
  43. package/components/Toolbar/StaticToolbar.d.ts +3 -1
  44. package/components/Toolbar/StaticToolbar.js +19 -23
  45. package/components/Toolbar/StaticToolbar.js.map +1 -1
  46. package/components/ToolbarActions/BoldAction.js +16 -21
  47. package/components/ToolbarActions/BoldAction.js.map +1 -1
  48. package/components/ToolbarActions/BulletListAction.js +25 -31
  49. package/components/ToolbarActions/BulletListAction.js.map +1 -1
  50. package/components/ToolbarActions/CodeHighlightAction.js +16 -21
  51. package/components/ToolbarActions/CodeHighlightAction.js.map +1 -1
  52. package/components/ToolbarActions/FontColorAction.d.ts +16 -4
  53. package/components/ToolbarActions/FontColorAction.js +32 -43
  54. package/components/ToolbarActions/FontColorAction.js.map +1 -1
  55. package/components/ToolbarActions/ImageAction.js +19 -34
  56. package/components/ToolbarActions/ImageAction.js.map +1 -1
  57. package/components/ToolbarActions/ItalicAction.js +16 -21
  58. package/components/ToolbarActions/ItalicAction.js.map +1 -1
  59. package/components/ToolbarActions/LinkAction.js +19 -24
  60. package/components/ToolbarActions/LinkAction.js.map +1 -1
  61. package/components/ToolbarActions/NumberedListAction.js +25 -36
  62. package/components/ToolbarActions/NumberedListAction.js.map +1 -1
  63. package/components/ToolbarActions/QuoteAction.js +20 -25
  64. package/components/ToolbarActions/QuoteAction.js.map +1 -1
  65. package/components/ToolbarActions/TextAlignmentAction.d.ts +16 -4
  66. package/components/ToolbarActions/TextAlignmentAction.js +36 -45
  67. package/components/ToolbarActions/TextAlignmentAction.js.map +1 -1
  68. package/components/ToolbarActions/TypographyAction.d.ts +16 -4
  69. package/components/ToolbarActions/TypographyAction.js +57 -79
  70. package/components/ToolbarActions/TypographyAction.js.map +1 -1
  71. package/components/ToolbarActions/UnderlineAction.js +16 -21
  72. package/components/ToolbarActions/UnderlineAction.js.map +1 -1
  73. package/context/FontColorActionContext.js +2 -9
  74. package/context/FontColorActionContext.js.map +1 -1
  75. package/context/RichTextEditorContext.d.ts +7 -8
  76. package/context/RichTextEditorContext.js +28 -26
  77. package/context/RichTextEditorContext.js.map +1 -1
  78. package/context/SharedHistoryContext.d.ts +3 -3
  79. package/context/SharedHistoryContext.js +12 -20
  80. package/context/SharedHistoryContext.js.map +1 -1
  81. package/context/TextAlignmentActionContextProps.d.ts +1 -1
  82. package/context/TextAlignmentActionContextProps.js +2 -9
  83. package/context/TextAlignmentActionContextProps.js.map +1 -1
  84. package/context/TypographyActionContext.d.ts +3 -2
  85. package/context/TypographyActionContext.js +2 -9
  86. package/context/TypographyActionContext.js.map +1 -1
  87. package/exports/admin/lexical.d.ts +15 -0
  88. package/exports/admin/lexical.js +23 -0
  89. package/exports/admin/lexical.js.map +1 -0
  90. package/hooks/index.d.ts +7 -8
  91. package/hooks/index.js +7 -93
  92. package/hooks/index.js.map +1 -1
  93. package/hooks/useCurrentElement.d.ts +3 -3
  94. package/hooks/useCurrentElement.js +11 -18
  95. package/hooks/useCurrentElement.js.map +1 -1
  96. package/hooks/useCurrentSelection.d.ts +2 -1
  97. package/hooks/useCurrentSelection.js +27 -40
  98. package/hooks/useCurrentSelection.js.map +1 -1
  99. package/hooks/useFontColorPicker.d.ts +1 -1
  100. package/hooks/useFontColorPicker.js +5 -11
  101. package/hooks/useFontColorPicker.js.map +1 -1
  102. package/hooks/useIsMounted.js +6 -14
  103. package/hooks/useIsMounted.js.map +1 -1
  104. package/hooks/useRichTextEditor.d.ts +1 -1
  105. package/hooks/useRichTextEditor.js +5 -11
  106. package/hooks/useRichTextEditor.js.map +1 -1
  107. package/hooks/useTextAlignmentAction.d.ts +1 -1
  108. package/hooks/useTextAlignmentAction.js +5 -11
  109. package/hooks/useTextAlignmentAction.js.map +1 -1
  110. package/hooks/useTypographyAction.d.ts +1 -1
  111. package/hooks/useTypographyAction.js +5 -11
  112. package/hooks/useTypographyAction.js.map +1 -1
  113. package/index.d.ts +33 -38
  114. package/index.js +44 -322
  115. package/index.js.map +1 -1
  116. package/package.json +18 -22
  117. package/plugins/BlurEventPlugin/BlurEventPlugin.d.ts +2 -2
  118. package/plugins/BlurEventPlugin/BlurEventPlugin.js +16 -22
  119. package/plugins/BlurEventPlugin/BlurEventPlugin.js.map +1 -1
  120. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js +9 -14
  121. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js.map +1 -1
  122. package/plugins/CodeHighlightPlugin/index.d.ts +1 -1
  123. package/plugins/CodeHighlightPlugin/index.js +1 -16
  124. package/plugins/CodeHighlightPlugin/index.js.map +1 -1
  125. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.d.ts +10 -0
  126. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +28 -0
  127. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js.map +1 -0
  128. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorController.d.ts +7 -0
  129. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorController.js +61 -0
  130. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorController.js.map +1 -0
  131. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.css +2 -136
  132. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.d.ts +4 -16
  133. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js +7 -180
  134. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js.map +1 -1
  135. package/plugins/FloatingLinkEditorPlugin/index.d.ts +1 -1
  136. package/plugins/FloatingLinkEditorPlugin/index.js +1 -16
  137. package/plugins/FloatingLinkEditorPlugin/index.js.map +1 -1
  138. package/plugins/FloatingLinkEditorPlugin/isChildOfLinkEditor.js +2 -8
  139. package/plugins/FloatingLinkEditorPlugin/isChildOfLinkEditor.js.map +1 -1
  140. package/plugins/FloatingLinkEditorPlugin/types.d.ts +10 -0
  141. package/plugins/FloatingLinkEditorPlugin/types.js +3 -0
  142. package/plugins/FloatingLinkEditorPlugin/types.js.map +1 -0
  143. package/plugins/FloatingLinkEditorPlugin/useFloatingLinkEditor.d.ts +8 -2
  144. package/plugins/FloatingLinkEditorPlugin/useFloatingLinkEditor.js +119 -63
  145. package/plugins/FloatingLinkEditorPlugin/useFloatingLinkEditor.js.map +1 -1
  146. package/plugins/FontColorPlugin/FontColorPlugin.js +19 -28
  147. package/plugins/FontColorPlugin/FontColorPlugin.js.map +1 -1
  148. package/plugins/FontColorPlugin/applyColorToNode.d.ts +3 -0
  149. package/plugins/FontColorPlugin/applyColorToNode.js +8 -0
  150. package/plugins/FontColorPlugin/applyColorToNode.js.map +1 -0
  151. package/plugins/FontColorPlugin/applyColorToSelection.d.ts +3 -0
  152. package/plugins/FontColorPlugin/applyColorToSelection.js +66 -0
  153. package/plugins/FontColorPlugin/applyColorToSelection.js.map +1 -0
  154. package/plugins/ImagesPlugin/ImagesPlugin.d.ts +2 -3
  155. package/plugins/ImagesPlugin/ImagesPlugin.js +58 -60
  156. package/plugins/ImagesPlugin/ImagesPlugin.js.map +1 -1
  157. package/plugins/LinkPlugin/LinkPlugin.d.ts +1 -1
  158. package/plugins/LinkPlugin/LinkPlugin.js +29 -37
  159. package/plugins/LinkPlugin/LinkPlugin.js.map +1 -1
  160. package/plugins/ListPLugin/ListPlugin.js +52 -15
  161. package/plugins/ListPLugin/ListPlugin.js.map +1 -1
  162. package/plugins/QuoteNodePlugin/QuoteNodePlugin.js +19 -16
  163. package/plugins/QuoteNodePlugin/QuoteNodePlugin.js.map +1 -1
  164. package/plugins/StateHandlingPlugin.d.ts +8 -0
  165. package/plugins/StateHandlingPlugin.js +75 -0
  166. package/plugins/StateHandlingPlugin.js.map +1 -0
  167. package/plugins/TypographyPlugin/TypographyPlugin.js +17 -21
  168. package/plugins/TypographyPlugin/TypographyPlugin.js.map +1 -1
  169. package/types.d.ts +8 -8
  170. package/types.js +6 -38
  171. package/types.js.map +1 -1
  172. package/ui/ContentEditable.d.ts +0 -1
  173. package/ui/ContentEditable.js +7 -14
  174. package/ui/ContentEditable.js.map +1 -1
  175. package/ui/Divider.d.ts +0 -1
  176. package/ui/Divider.js +3 -10
  177. package/ui/Divider.js.map +1 -1
  178. package/ui/DropDown.d.ts +1 -1
  179. package/ui/DropDown.js +64 -90
  180. package/ui/DropDown.js.map +1 -1
  181. package/ui/ImageResizer.d.ts +0 -1
  182. package/ui/ImageResizer.js +84 -89
  183. package/ui/ImageResizer.js.map +1 -1
  184. package/ui/LinkPreview.d.ts +0 -1
  185. package/ui/LinkPreview.js +22 -29
  186. package/ui/LinkPreview.js.map +1 -1
  187. package/ui/Placeholder.d.ts +1 -1
  188. package/ui/Placeholder.js +10 -16
  189. package/ui/Placeholder.js.map +1 -1
  190. package/ui/TextInput.d.ts +1 -2
  191. package/ui/TextInput.js +11 -18
  192. package/ui/TextInput.js.map +1 -1
  193. package/ui/ToolbarActionDialog.js +30 -42
  194. package/ui/ToolbarActionDialog.js.map +1 -1
  195. package/utils/canUseDOM.js +1 -7
  196. package/utils/canUseDOM.js.map +1 -1
  197. package/utils/files.d.ts +6 -7
  198. package/utils/files.js +5 -56
  199. package/utils/files.js.map +1 -1
  200. package/utils/getDOMRangeRect.js +4 -10
  201. package/utils/getDOMRangeRect.js.map +1 -1
  202. package/utils/getSelectedNode.d.ts +1 -1
  203. package/utils/getSelectedNode.js +9 -16
  204. package/utils/getSelectedNode.js.map +1 -1
  205. package/utils/getTransparentImage.js +1 -7
  206. package/utils/getTransparentImage.js.map +1 -1
  207. package/utils/insertImage.d.ts +1 -1
  208. package/utils/insertImage.js +8 -14
  209. package/utils/insertImage.js.map +1 -1
  210. package/utils/isAnchorLink.js +1 -7
  211. package/utils/isAnchorLink.js.map +1 -1
  212. package/utils/isChildOfFloatingToolbar.js +2 -8
  213. package/utils/isChildOfFloatingToolbar.js.map +1 -1
  214. package/utils/isHTMLElement.js +1 -7
  215. package/utils/isHTMLElement.js.map +1 -1
  216. package/utils/isValidJSON.js +3 -9
  217. package/utils/isValidJSON.js.map +1 -1
  218. package/utils/isValidLexicalData.d.ts +3 -3
  219. package/utils/isValidLexicalData.js +6 -12
  220. package/utils/isValidLexicalData.js.map +1 -1
  221. package/utils/point.js +35 -60
  222. package/utils/point.js.map +1 -1
  223. package/utils/rect.d.ts +2 -2
  224. package/utils/rect.js +115 -149
  225. package/utils/rect.js.map +1 -1
  226. package/utils/sanitizeUrl.js +6 -13
  227. package/utils/sanitizeUrl.js.map +1 -1
  228. package/utils/setFloatingElemPosition.d.ts +1 -1
  229. package/utils/setFloatingElemPosition.js +29 -39
  230. package/utils/setFloatingElemPosition.js.map +1 -1
  231. package/components/Editor/HeadingEditor.d.ts +0 -7
  232. package/components/Editor/HeadingEditor.js +0 -29
  233. package/components/Editor/HeadingEditor.js.map +0 -1
  234. package/components/Editor/ParagraphEditor.d.ts +0 -7
  235. package/components/Editor/ParagraphEditor.js +0 -29
  236. package/components/Editor/ParagraphEditor.js.map +0 -1
  237. package/components/Toolbar/Toolbar.css +0 -647
  238. package/components/Toolbar/Toolbar.d.ts +0 -6
  239. package/components/Toolbar/Toolbar.js +0 -162
  240. package/components/Toolbar/Toolbar.js.map +0 -1
  241. package/components/ToolbarActions/FontSizeAction.d.ts +0 -2
  242. package/components/ToolbarActions/FontSizeAction.js +0 -88
  243. package/components/ToolbarActions/FontSizeAction.js.map +0 -1
  244. package/hooks/useList.d.ts +0 -2
  245. package/hooks/useList.js +0 -54
  246. package/hooks/useList.js.map +0 -1
  247. package/hooks/useQuote.d.ts +0 -2
  248. package/hooks/useQuote.js +0 -22
  249. package/hooks/useQuote.js.map +0 -1
  250. package/plugins/FloatingLinkEditorPlugin/LinkEditForm.d.ts +0 -9
  251. package/plugins/FloatingLinkEditorPlugin/LinkEditForm.js +0 -118
  252. package/plugins/FloatingLinkEditorPlugin/LinkEditForm.js.map +0 -1
  253. package/plugins/FloatingLinkEditorPlugin/LinkPreviewForm.d.ts +0 -9
  254. package/plugins/FloatingLinkEditorPlugin/LinkPreviewForm.js +0 -44
  255. package/plugins/FloatingLinkEditorPlugin/LinkPreviewForm.js.map +0 -1
  256. package/plugins/LexicalUpdateStatePlugin/UpdateStatePlugin.d.ts +0 -9
  257. package/plugins/LexicalUpdateStatePlugin/UpdateStatePlugin.js +0 -45
  258. package/plugins/LexicalUpdateStatePlugin/UpdateStatePlugin.js.map +0 -1
  259. package/plugins/LexicalUpdateStatePlugin/index.d.ts +0 -1
  260. package/plugins/LexicalUpdateStatePlugin/index.js +0 -18
  261. package/plugins/LexicalUpdateStatePlugin/index.js.map +0 -1
  262. package/utils/generateInitialLexicalValue.d.ts +0 -5
  263. package/utils/generateInitialLexicalValue.js +0 -33
  264. package/utils/generateInitialLexicalValue.js.map +0 -1
@@ -1,13 +1,3 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.LexicalContentEditable = LexicalContentEditable;
8
- require("./ContentEditable.css");
9
- var _LexicalContentEditable = require("@lexical/react/LexicalContentEditable");
10
- var React = _interopRequireWildcard(require("react"));
11
1
  /**
12
2
  * Copyright (c) Meta Platforms, Inc. and affiliates.
13
3
  *
@@ -15,10 +5,13 @@ var React = _interopRequireWildcard(require("react"));
15
5
  * LICENSE file in the root directory of this source tree.
16
6
  *
17
7
  */
18
-
19
- function LexicalContentEditable(_ref) {
20
- var className = _ref.className;
21
- return /*#__PURE__*/React.createElement(_LexicalContentEditable.ContentEditable, {
8
+ import "./ContentEditable.css";
9
+ import { ContentEditable } from "@lexical/react/LexicalContentEditable";
10
+ import * as React from "react";
11
+ export function LexicalContentEditable({
12
+ className
13
+ }) {
14
+ return /*#__PURE__*/React.createElement(ContentEditable, {
22
15
  className: className || "ContentEditable__root"
23
16
  });
24
17
  }
@@ -1 +1 @@
1
- {"version":3,"names":["require","_LexicalContentEditable","React","_interopRequireWildcard","LexicalContentEditable","_ref","className","createElement","ContentEditable"],"sources":["ContentEditable.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nimport \"./ContentEditable.css\";\n\nimport { ContentEditable } from \"@lexical/react/LexicalContentEditable\";\nimport * as React from \"react\";\n\nexport function LexicalContentEditable({ className }: { className?: string }): JSX.Element {\n return <ContentEditable className={className || \"ContentEditable__root\"} />;\n}\n"],"mappings":";;;;;;;AAOAA,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,uBAAA,CAAAH,OAAA;AAVA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,SAASI,sBAAsBA,CAAAC,IAAA,EAAqD;EAAA,IAAlDC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAC9C,oBAAOJ,KAAA,CAAAK,aAAA,CAACN,uBAAA,CAAAO,eAAe;IAACF,SAAS,EAAEA,SAAS,IAAI;EAAwB,CAAE,CAAC;AAC/E","ignoreList":[]}
1
+ {"version":3,"names":["ContentEditable","React","LexicalContentEditable","className","createElement"],"sources":["ContentEditable.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nimport \"./ContentEditable.css\";\n\nimport { ContentEditable } from \"@lexical/react/LexicalContentEditable\";\nimport * as React from \"react\";\n\nexport function LexicalContentEditable({ className }: { className?: string }): JSX.Element {\n return <ContentEditable className={className || \"ContentEditable__root\"} />;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,eAAe,QAAQ,uCAAuC;AACvE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,sBAAsBA,CAAC;EAAEC;AAAkC,CAAC,EAAe;EACvF,oBAAOF,KAAA,CAAAG,aAAA,CAACJ,eAAe;IAACG,SAAS,EAAEA,SAAS,IAAI;EAAwB,CAAE,CAAC;AAC/E","ignoreList":[]}
package/ui/Divider.d.ts CHANGED
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function Divider(): JSX.Element;
package/ui/Divider.js CHANGED
@@ -1,13 +1,6 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Divider = Divider;
8
- var _react = _interopRequireDefault(require("react"));
9
- function Divider() {
10
- return /*#__PURE__*/_react.default.createElement("div", {
1
+ import React from "react";
2
+ export function Divider() {
3
+ return /*#__PURE__*/React.createElement("div", {
11
4
  className: "divider"
12
5
  });
13
6
  }
package/ui/Divider.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","Divider","default","createElement","className"],"sources":["Divider.tsx"],"sourcesContent":["import React from \"react\";\n\nexport function Divider(): JSX.Element {\n return <div className=\"divider\"></div>;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,SAASC,OAAOA,CAAA,EAAgB;EACnC,oBAAOH,MAAA,CAAAI,OAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAS,CAAM,CAAC;AAC1C","ignoreList":[]}
1
+ {"version":3,"names":["React","Divider","createElement","className"],"sources":["Divider.tsx"],"sourcesContent":["import React from \"react\";\n\nexport function Divider(): JSX.Element {\n return <div className=\"divider\"></div>;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAO,SAASC,OAAOA,CAAA,EAAgB;EACnC,oBAAOD,KAAA,CAAAE,aAAA;IAAKC,SAAS,EAAC;EAAS,CAAM,CAAC;AAC1C","ignoreList":[]}
package/ui/DropDown.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import { ReactNode } from "react";
8
+ import type { ReactNode } from "react";
9
9
  import * as React from "react";
10
10
  export declare function DropDownItem({ children, className, onClick, title }: {
11
11
  children: React.ReactNode;
package/ui/DropDown.js CHANGED
@@ -1,16 +1,3 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.DropDown = DropDown;
9
- exports.DropDownItem = DropDownItem;
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var React = _react;
14
1
  /**
15
2
  * Copyright (c) Meta Platforms, Inc. and affiliates.
16
3
  *
@@ -19,22 +6,28 @@ var React = _react;
19
6
  *
20
7
  */
21
8
 
22
- var DropDownContext = /*#__PURE__*/React.createContext(null);
23
- function DropDownItem(_ref) {
24
- var children = _ref.children,
25
- className = _ref.className,
26
- onClick = _ref.onClick,
27
- title = _ref.title;
28
- var ref = (0, _react.useRef)(null);
29
- var dropDownContext = React.useContext(DropDownContext);
9
+ import * as React from "react";
10
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
11
+ const DropDownContext = /*#__PURE__*/React.createContext(null);
12
+ export function DropDownItem({
13
+ children,
14
+ className,
15
+ onClick,
16
+ title
17
+ }) {
18
+ const ref = useRef(null);
19
+ const dropDownContext = React.useContext(DropDownContext);
30
20
  if (dropDownContext === null) {
31
21
  throw new Error("DropDownItem must be used within a DropDown");
32
22
  }
33
- var registerItem = dropDownContext.registerItem;
34
- (0, _react.useEffect)(function () {
35
- if (ref && ref.current) {
36
- registerItem(ref);
23
+ const {
24
+ registerItem
25
+ } = dropDownContext;
26
+ useEffect(() => {
27
+ if (!ref.current) {
28
+ return;
37
29
  }
30
+ registerItem(ref);
38
31
  }, [ref, registerItem]);
39
32
  return /*#__PURE__*/React.createElement("button", {
40
33
  className: className,
@@ -44,45 +37,37 @@ function DropDownItem(_ref) {
44
37
  type: "button"
45
38
  }, children);
46
39
  }
47
- function DropDownItems(_ref2) {
48
- var children = _ref2.children,
49
- dropDownRef = _ref2.dropDownRef,
50
- _ref2$showScroll = _ref2.showScroll,
51
- showScroll = _ref2$showScroll === void 0 ? true : _ref2$showScroll,
52
- onClose = _ref2.onClose;
53
- var _useState = (0, _react.useState)(),
54
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
- items = _useState2[0],
56
- setItems = _useState2[1];
57
- var _useState3 = (0, _react.useState)(),
58
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
59
- highlightedItem = _useState4[0],
60
- setHighlightedItem = _useState4[1];
61
- var registerItem = (0, _react.useCallback)(function (itemRef) {
62
- setItems(function (prev) {
63
- return prev ? [].concat((0, _toConsumableArray2.default)(prev), [itemRef]) : [itemRef];
64
- });
40
+ function DropDownItems({
41
+ children,
42
+ dropDownRef,
43
+ showScroll = true,
44
+ onClose
45
+ }) {
46
+ const [items, setItems] = useState();
47
+ const [highlightedItem, setHighlightedItem] = useState();
48
+ const registerItem = useCallback(itemRef => {
49
+ setItems(prev => prev ? [...prev, itemRef] : [itemRef]);
65
50
  }, [setItems]);
66
- var handleKeyDown = function handleKeyDown(event) {
51
+ const handleKeyDown = event => {
67
52
  if (!items) {
68
53
  return;
69
54
  }
70
- var key = event.key;
55
+ const key = event.key;
71
56
  if (["Escape", "ArrowUp", "ArrowDown", "Tab"].includes(key)) {
72
57
  event.preventDefault();
73
58
  }
74
59
  if (key === "Escape" || key === "Tab") {
75
60
  onClose();
76
61
  } else if (key === "ArrowUp") {
77
- setHighlightedItem(function (prev) {
62
+ setHighlightedItem(prev => {
78
63
  if (!prev) {
79
64
  return items[0];
80
65
  }
81
- var index = items.indexOf(prev) - 1;
66
+ const index = items.indexOf(prev) - 1;
82
67
  return items[index === -1 ? items.length - 1 : index];
83
68
  });
84
69
  } else if (key === "ArrowDown") {
85
- setHighlightedItem(function (prev) {
70
+ setHighlightedItem(prev => {
86
71
  if (!prev) {
87
72
  return items[0];
88
73
  }
@@ -90,12 +75,10 @@ function DropDownItems(_ref2) {
90
75
  });
91
76
  }
92
77
  };
93
- var contextValue = (0, _react.useMemo)(function () {
94
- return {
95
- registerItem: registerItem
96
- };
97
- }, [registerItem]);
98
- (0, _react.useEffect)(function () {
78
+ const contextValue = useMemo(() => ({
79
+ registerItem
80
+ }), [registerItem]);
81
+ useEffect(() => {
99
82
  if (items && !highlightedItem) {
100
83
  setHighlightedItem(items[0]);
101
84
  }
@@ -106,54 +89,47 @@ function DropDownItems(_ref2) {
106
89
  return /*#__PURE__*/React.createElement(DropDownContext.Provider, {
107
90
  value: contextValue
108
91
  }, /*#__PURE__*/React.createElement("div", {
109
- className: "lexical-dropdown ".concat(showScroll ? "" : "no-scroll"),
92
+ className: `lexical-dropdown ${showScroll ? "" : "no-scroll"}`,
110
93
  ref: dropDownRef,
111
94
  onKeyDown: handleKeyDown
112
95
  }, children));
113
96
  }
114
- function DropDown(_ref3) {
115
- var _ref3$disabled = _ref3.disabled,
116
- disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
117
- buttonLabel = _ref3.buttonLabel,
118
- buttonAriaLabel = _ref3.buttonAriaLabel,
119
- buttonClassName = _ref3.buttonClassName,
120
- buttonIconClassName = _ref3.buttonIconClassName,
121
- children = _ref3.children,
122
- stopCloseOnClickSelf = _ref3.stopCloseOnClickSelf,
123
- _ref3$showScroll = _ref3.showScroll,
124
- showScroll = _ref3$showScroll === void 0 ? true : _ref3$showScroll;
125
- var dropDownRef = (0, _react.useRef)(null);
126
- var buttonRef = (0, _react.useRef)(null);
97
+ export function DropDown({
98
+ disabled = false,
99
+ buttonLabel,
100
+ buttonAriaLabel,
101
+ buttonClassName,
102
+ buttonIconClassName,
103
+ children,
104
+ stopCloseOnClickSelf,
105
+ showScroll = true
106
+ }) {
107
+ const dropDownRef = useRef(null);
108
+ const buttonRef = useRef(null);
127
109
  // Used to prevent flickering of the dropdown while calculating the dropdown position.
128
- var _useState5 = (0, _react.useState)(false),
129
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
130
- positionIsCalculated = _useState6[0],
131
- setPositionIsCalculated = _useState6[1];
132
- var _useState7 = (0, _react.useState)(false),
133
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
134
- showDropDown = _useState8[0],
135
- setShowDropDown = _useState8[1];
136
- var handleClose = function handleClose() {
110
+ const [positionIsCalculated, setPositionIsCalculated] = useState(false);
111
+ const [showDropDown, setShowDropDown] = useState(false);
112
+ const handleClose = () => {
137
113
  setPositionIsCalculated(false);
138
114
  setShowDropDown(false);
139
115
  if (buttonRef && buttonRef.current) {
140
116
  buttonRef.current.focus();
141
117
  }
142
118
  };
143
- (0, _react.useEffect)(function () {
144
- var button = buttonRef.current;
145
- var dropDown = dropDownRef.current;
119
+ useEffect(() => {
120
+ const button = buttonRef.current;
121
+ const dropDown = dropDownRef.current;
146
122
  if (showDropDown && button && dropDown) {
147
123
  dropDown.style.top = "44px";
148
- dropDown.style.left = "".concat(button.offsetLeft, "px");
124
+ dropDown.style.left = `${button.offsetLeft}px`;
149
125
  setPositionIsCalculated(true);
150
126
  }
151
127
  }, [dropDownRef, buttonRef, showDropDown]);
152
- (0, _react.useEffect)(function () {
153
- var button = buttonRef.current;
128
+ useEffect(() => {
129
+ const button = buttonRef.current;
154
130
  if (button && showDropDown) {
155
- var handle = function handle(event) {
156
- var target = event.target;
131
+ const handle = event => {
132
+ const target = event.target;
157
133
  if (stopCloseOnClickSelf) {
158
134
  if (dropDownRef.current && dropDownRef.current.contains(target)) {
159
135
  return;
@@ -164,13 +140,13 @@ function DropDown(_ref3) {
164
140
  }
165
141
  };
166
142
  document.addEventListener("click", handle);
167
- return function () {
143
+ return () => {
168
144
  document.removeEventListener("click", handle);
169
145
  };
170
146
  }
171
147
  return;
172
148
  }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf]);
173
- var displayContainer = (0, _react.useMemo)(function () {
149
+ const displayContainer = useMemo(() => {
174
150
  // To prevent blinking, we show the container only when the dropdown position is calculated.
175
151
  // Without this, window would be visible first on left (0px), and after a millisecond on the right side.
176
152
  return positionIsCalculated ? {
@@ -186,9 +162,7 @@ function DropDown(_ref3) {
186
162
  disabled: disabled,
187
163
  "aria-label": buttonAriaLabel || buttonLabel,
188
164
  className: buttonClassName,
189
- onClick: function onClick() {
190
- return setShowDropDown(!showDropDown);
191
- },
165
+ onClick: () => setShowDropDown(!showDropDown),
192
166
  ref: buttonRef
193
167
  }, buttonIconClassName && /*#__PURE__*/React.createElement("span", {
194
168
  className: buttonIconClassName
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","React","DropDownContext","createContext","DropDownItem","_ref","children","className","onClick","title","ref","useRef","dropDownContext","useContext","Error","registerItem","useEffect","current","createElement","type","DropDownItems","_ref2","dropDownRef","_ref2$showScroll","showScroll","onClose","_useState","useState","_useState2","_slicedToArray2","default","items","setItems","_useState3","_useState4","highlightedItem","setHighlightedItem","useCallback","itemRef","prev","concat","_toConsumableArray2","handleKeyDown","event","key","includes","preventDefault","index","indexOf","length","contextValue","useMemo","focus","Provider","value","onKeyDown","DropDown","_ref3","_ref3$disabled","disabled","buttonLabel","buttonAriaLabel","buttonClassName","buttonIconClassName","stopCloseOnClickSelf","_ref3$showScroll","buttonRef","_useState5","_useState6","positionIsCalculated","setPositionIsCalculated","_useState7","_useState8","showDropDown","setShowDropDown","handleClose","button","dropDown","style","top","left","offsetLeft","handle","target","contains","document","addEventListener","removeEventListener","displayContainer","display","Fragment","position"],"sources":["DropDown.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { ReactNode, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport * as React from \"react\";\n\ntype DropDownContextType = {\n registerItem: (ref: React.RefObject<HTMLButtonElement>) => void;\n};\n\nconst DropDownContext = React.createContext<DropDownContextType | null>(null);\n\nexport function DropDownItem({\n children,\n className,\n onClick,\n title\n}: {\n children: React.ReactNode;\n className: string;\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n title?: string;\n}) {\n const ref = useRef<HTMLButtonElement>(null);\n\n const dropDownContext = React.useContext(DropDownContext);\n\n if (dropDownContext === null) {\n throw new Error(\"DropDownItem must be used within a DropDown\");\n }\n\n const { registerItem } = dropDownContext;\n\n useEffect(() => {\n if (ref && ref.current) {\n registerItem(ref);\n }\n }, [ref, registerItem]);\n\n return (\n <button className={className} onClick={onClick} ref={ref} title={title} type=\"button\">\n {children}\n </button>\n );\n}\n\nfunction DropDownItems({\n children,\n dropDownRef,\n showScroll = true,\n onClose\n}: {\n children: React.ReactNode;\n dropDownRef?: React.Ref<HTMLDivElement>;\n showScroll?: boolean;\n onClose: () => void;\n}) {\n const [items, setItems] = useState<React.RefObject<HTMLButtonElement>[]>();\n const [highlightedItem, setHighlightedItem] = useState<React.RefObject<HTMLButtonElement>>();\n\n const registerItem = useCallback(\n (itemRef: React.RefObject<HTMLButtonElement>) => {\n setItems(prev => (prev ? [...prev, itemRef] : [itemRef]));\n },\n [setItems]\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!items) {\n return;\n }\n\n const key = event.key;\n\n if ([\"Escape\", \"ArrowUp\", \"ArrowDown\", \"Tab\"].includes(key)) {\n event.preventDefault();\n }\n\n if (key === \"Escape\" || key === \"Tab\") {\n onClose();\n } else if (key === \"ArrowUp\") {\n setHighlightedItem(prev => {\n if (!prev) {\n return items[0];\n }\n const index = items.indexOf(prev) - 1;\n return items[index === -1 ? items.length - 1 : index];\n });\n } else if (key === \"ArrowDown\") {\n setHighlightedItem(prev => {\n if (!prev) {\n return items[0];\n }\n return items[items.indexOf(prev) + 1];\n });\n }\n };\n\n const contextValue = useMemo(\n () => ({\n registerItem\n }),\n [registerItem]\n );\n\n useEffect(() => {\n if (items && !highlightedItem) {\n setHighlightedItem(items[0]);\n }\n\n if (highlightedItem && highlightedItem.current) {\n highlightedItem.current.focus();\n }\n }, [items, highlightedItem]);\n\n return (\n <DropDownContext.Provider value={contextValue}>\n <div\n className={`lexical-dropdown ${showScroll ? \"\" : \"no-scroll\"}`}\n ref={dropDownRef}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </DropDownContext.Provider>\n );\n}\n\nexport function DropDown({\n disabled = false,\n buttonLabel,\n buttonAriaLabel,\n buttonClassName,\n buttonIconClassName,\n children,\n stopCloseOnClickSelf,\n showScroll = true\n}: {\n disabled?: boolean;\n buttonAriaLabel?: string;\n buttonClassName: string;\n buttonIconClassName?: string;\n buttonLabel?: string;\n children: ReactNode;\n stopCloseOnClickSelf?: boolean;\n showScroll?: boolean;\n}): JSX.Element {\n const dropDownRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n // Used to prevent flickering of the dropdown while calculating the dropdown position.\n const [positionIsCalculated, setPositionIsCalculated] = useState(false);\n const [showDropDown, setShowDropDown] = useState(false);\n\n const handleClose = () => {\n setPositionIsCalculated(false);\n setShowDropDown(false);\n if (buttonRef && buttonRef.current) {\n buttonRef.current.focus();\n }\n };\n\n useEffect(() => {\n const button = buttonRef.current;\n const dropDown = dropDownRef.current;\n\n if (showDropDown && button && dropDown) {\n dropDown.style.top = \"44px\";\n dropDown.style.left = `${button.offsetLeft}px`;\n setPositionIsCalculated(true);\n }\n }, [dropDownRef, buttonRef, showDropDown]);\n\n useEffect(() => {\n const button = buttonRef.current;\n if (button && showDropDown) {\n const handle = (event: MouseEvent) => {\n const target = event.target;\n if (stopCloseOnClickSelf) {\n if (dropDownRef.current && dropDownRef.current.contains(target as Node)) {\n return;\n }\n }\n\n if (!button.contains(target as Node)) {\n setShowDropDown(false);\n }\n };\n document.addEventListener(\"click\", handle);\n return () => {\n document.removeEventListener(\"click\", handle);\n };\n }\n return;\n }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf]);\n\n const displayContainer = useMemo(() => {\n // To prevent blinking, we show the container only when the dropdown position is calculated.\n // Without this, window would be visible first on left (0px), and after a millisecond on the right side.\n return positionIsCalculated ? { display: \"block\" } : { display: \"none\" };\n }, [positionIsCalculated]);\n\n return (\n <>\n <button\n style={{ position: \"relative\" }}\n disabled={disabled}\n aria-label={buttonAriaLabel || buttonLabel}\n className={buttonClassName}\n onClick={() => setShowDropDown(!showDropDown)}\n ref={buttonRef}\n >\n {buttonIconClassName && <span className={buttonIconClassName} />}\n {buttonLabel && <span className=\"text dropdown-button-text\">{buttonLabel}</span>}\n <i className=\"chevron-down\" />\n </button>\n {showDropDown && (\n <div className={\"lexical-dropdown-container\"} style={displayContainer}>\n <DropDownItems\n showScroll={showScroll}\n dropDownRef={dropDownRef}\n onClose={handleClose}\n >\n {children}\n </DropDownItems>\n </div>\n )}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","DropDownContext","createContext","DropDownItem","children","className","onClick","title","ref","dropDownContext","useContext","Error","registerItem","current","createElement","type","DropDownItems","dropDownRef","showScroll","onClose","items","setItems","highlightedItem","setHighlightedItem","itemRef","prev","handleKeyDown","event","key","includes","preventDefault","index","indexOf","length","contextValue","focus","Provider","value","onKeyDown","DropDown","disabled","buttonLabel","buttonAriaLabel","buttonClassName","buttonIconClassName","stopCloseOnClickSelf","buttonRef","positionIsCalculated","setPositionIsCalculated","showDropDown","setShowDropDown","handleClose","button","dropDown","style","top","left","offsetLeft","handle","target","contains","document","addEventListener","removeEventListener","displayContainer","display","Fragment","position"],"sources":["DropDown.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport type { ReactNode, RefObject } from \"react\";\nimport * as React from \"react\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\ntype DropDownContextType = {\n registerItem: (ref: React.RefObject<HTMLButtonElement>) => void;\n};\n\nconst DropDownContext = React.createContext<DropDownContextType | null>(null);\n\nexport function DropDownItem({\n children,\n className,\n onClick,\n title\n}: {\n children: React.ReactNode;\n className: string;\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n title?: string;\n}) {\n const ref = useRef<HTMLButtonElement>(null);\n\n const dropDownContext = React.useContext(DropDownContext);\n\n if (dropDownContext === null) {\n throw new Error(\"DropDownItem must be used within a DropDown\");\n }\n\n const { registerItem } = dropDownContext;\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n registerItem(ref as RefObject<HTMLButtonElement>);\n }, [ref, registerItem]);\n\n return (\n <button className={className} onClick={onClick} ref={ref} title={title} type=\"button\">\n {children}\n </button>\n );\n}\n\nfunction DropDownItems({\n children,\n dropDownRef,\n showScroll = true,\n onClose\n}: {\n children: React.ReactNode;\n dropDownRef?: React.Ref<HTMLDivElement>;\n showScroll?: boolean;\n onClose: () => void;\n}) {\n const [items, setItems] = useState<React.RefObject<HTMLButtonElement>[]>();\n const [highlightedItem, setHighlightedItem] = useState<React.RefObject<HTMLButtonElement>>();\n\n const registerItem = useCallback(\n (itemRef: React.RefObject<HTMLButtonElement>) => {\n setItems(prev => (prev ? [...prev, itemRef] : [itemRef]));\n },\n [setItems]\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!items) {\n return;\n }\n\n const key = event.key;\n\n if ([\"Escape\", \"ArrowUp\", \"ArrowDown\", \"Tab\"].includes(key)) {\n event.preventDefault();\n }\n\n if (key === \"Escape\" || key === \"Tab\") {\n onClose();\n } else if (key === \"ArrowUp\") {\n setHighlightedItem(prev => {\n if (!prev) {\n return items[0];\n }\n const index = items.indexOf(prev) - 1;\n return items[index === -1 ? items.length - 1 : index];\n });\n } else if (key === \"ArrowDown\") {\n setHighlightedItem(prev => {\n if (!prev) {\n return items[0];\n }\n return items[items.indexOf(prev) + 1];\n });\n }\n };\n\n const contextValue = useMemo(\n () => ({\n registerItem\n }),\n [registerItem]\n );\n\n useEffect(() => {\n if (items && !highlightedItem) {\n setHighlightedItem(items[0]);\n }\n\n if (highlightedItem && highlightedItem.current) {\n highlightedItem.current.focus();\n }\n }, [items, highlightedItem]);\n\n return (\n <DropDownContext.Provider value={contextValue}>\n <div\n className={`lexical-dropdown ${showScroll ? \"\" : \"no-scroll\"}`}\n ref={dropDownRef}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </DropDownContext.Provider>\n );\n}\n\nexport function DropDown({\n disabled = false,\n buttonLabel,\n buttonAriaLabel,\n buttonClassName,\n buttonIconClassName,\n children,\n stopCloseOnClickSelf,\n showScroll = true\n}: {\n disabled?: boolean;\n buttonAriaLabel?: string;\n buttonClassName: string;\n buttonIconClassName?: string;\n buttonLabel?: string;\n children: ReactNode;\n stopCloseOnClickSelf?: boolean;\n showScroll?: boolean;\n}): JSX.Element {\n const dropDownRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n // Used to prevent flickering of the dropdown while calculating the dropdown position.\n const [positionIsCalculated, setPositionIsCalculated] = useState(false);\n const [showDropDown, setShowDropDown] = useState(false);\n\n const handleClose = () => {\n setPositionIsCalculated(false);\n setShowDropDown(false);\n if (buttonRef && buttonRef.current) {\n buttonRef.current.focus();\n }\n };\n\n useEffect(() => {\n const button = buttonRef.current;\n const dropDown = dropDownRef.current;\n\n if (showDropDown && button && dropDown) {\n dropDown.style.top = \"44px\";\n dropDown.style.left = `${button.offsetLeft}px`;\n setPositionIsCalculated(true);\n }\n }, [dropDownRef, buttonRef, showDropDown]);\n\n useEffect(() => {\n const button = buttonRef.current;\n if (button && showDropDown) {\n const handle = (event: MouseEvent) => {\n const target = event.target;\n if (stopCloseOnClickSelf) {\n if (dropDownRef.current && dropDownRef.current.contains(target as Node)) {\n return;\n }\n }\n\n if (!button.contains(target as Node)) {\n setShowDropDown(false);\n }\n };\n document.addEventListener(\"click\", handle);\n return () => {\n document.removeEventListener(\"click\", handle);\n };\n }\n return;\n }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf]);\n\n const displayContainer = useMemo(() => {\n // To prevent blinking, we show the container only when the dropdown position is calculated.\n // Without this, window would be visible first on left (0px), and after a millisecond on the right side.\n return positionIsCalculated ? { display: \"block\" } : { display: \"none\" };\n }, [positionIsCalculated]);\n\n return (\n <>\n <button\n style={{ position: \"relative\" }}\n disabled={disabled}\n aria-label={buttonAriaLabel || buttonLabel}\n className={buttonClassName}\n onClick={() => setShowDropDown(!showDropDown)}\n ref={buttonRef}\n >\n {buttonIconClassName && <span className={buttonIconClassName} />}\n {buttonLabel && <span className=\"text dropdown-button-text\">{buttonLabel}</span>}\n <i className=\"chevron-down\" />\n </button>\n {showDropDown && (\n <div className={\"lexical-dropdown-container\"} style={displayContainer}>\n <DropDownItems\n showScroll={showScroll}\n dropDownRef={dropDownRef}\n onClose={handleClose}\n >\n {children}\n </DropDownItems>\n </div>\n )}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- /// <reference types="react" />
9
8
  import type { LexicalEditor } from "lexical";
10
9
  export declare function ImageResizer({ onResizeStart, onResizeEnd, buttonRef, imageRef, maxWidth, editor, showCaption, setShowCaption, captionsEnabled }: {
11
10
  editor: LexicalEditor;