@doist/reactist 11.5.0 → 12.0.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 (284) hide show
  1. package/dist/reactist.cjs.development.js +1344 -1499
  2. package/dist/reactist.cjs.development.js.map +1 -1
  3. package/dist/reactist.cjs.production.min.js +1 -1
  4. package/dist/reactist.cjs.production.min.js.map +1 -1
  5. package/es/_virtual/_rollupPluginBabelHelpers.js +18 -21
  6. package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  7. package/es/components/checkbox/checkbox.js +7 -9
  8. package/es/components/checkbox/checkbox.js.map +1 -1
  9. package/es/components/color-picker/color-picker.js +24 -28
  10. package/es/components/color-picker/color-picker.js.map +1 -1
  11. package/es/components/deprecated-button/deprecated-button.js +16 -18
  12. package/es/components/deprecated-button/deprecated-button.js.map +1 -1
  13. package/es/components/deprecated-loading/deprecated-loading.js +7 -10
  14. package/es/components/deprecated-loading/deprecated-loading.js.map +1 -1
  15. package/es/components/deprecated-modal/deprecated-modal.js +69 -101
  16. package/es/components/deprecated-modal/deprecated-modal.js.map +1 -1
  17. package/es/components/deprecated-modal/index.js +4 -4
  18. package/es/components/deprecated-modal/index.js.map +1 -1
  19. package/es/components/dropdown/dropdown.js +86 -85
  20. package/es/components/dropdown/dropdown.js.map +1 -1
  21. package/es/components/icons/CloseIcon.svg.js +9 -11
  22. package/es/components/icons/CloseIcon.svg.js.map +1 -1
  23. package/es/components/input/input.js +4 -3
  24. package/es/components/input/input.js.map +1 -1
  25. package/es/components/key-capturer/key-capturer.js +22 -19
  26. package/es/components/key-capturer/key-capturer.js.map +1 -1
  27. package/es/components/keyboard-shortcut/keyboard-shortcut.js +20 -26
  28. package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  29. package/es/components/menu/menu.js +112 -142
  30. package/es/components/menu/menu.js.map +1 -1
  31. package/es/components/notification/notification.js +32 -32
  32. package/es/components/notification/notification.js.map +1 -1
  33. package/es/components/popover/popover.js +85 -91
  34. package/es/components/popover/popover.js.map +1 -1
  35. package/es/components/popover/positioning-utils.js +49 -65
  36. package/es/components/popover/positioning-utils.js.map +1 -1
  37. package/es/components/progress-bar/progress-bar.js +8 -8
  38. package/es/components/progress-bar/progress-bar.js.map +1 -1
  39. package/es/components/select/select.js +20 -25
  40. package/es/components/select/select.js.map +1 -1
  41. package/es/components/time/time-utils.js +30 -47
  42. package/es/components/time/time-utils.js.map +1 -1
  43. package/es/components/time/time.js +43 -56
  44. package/es/components/time/time.js.map +1 -1
  45. package/es/components/tooltip/tooltip.js +43 -46
  46. package/es/components/tooltip/tooltip.js.map +1 -1
  47. package/es/hooks/use-previous/use-previous.js +2 -2
  48. package/es/hooks/use-previous/use-previous.js.map +1 -1
  49. package/es/new-components/alert/alert.js +7 -6
  50. package/es/new-components/alert/alert.js.map +1 -1
  51. package/es/new-components/avatar/avatar.js +19 -18
  52. package/es/new-components/avatar/avatar.js.map +1 -1
  53. package/es/new-components/avatar/utils.js +12 -9
  54. package/es/new-components/avatar/utils.js.map +1 -1
  55. package/es/new-components/base-button/base-button.js +25 -29
  56. package/es/new-components/base-button/base-button.js.map +1 -1
  57. package/es/new-components/base-field/base-field.js +20 -18
  58. package/es/new-components/base-field/base-field.js.map +1 -1
  59. package/es/new-components/box/box.js +51 -52
  60. package/es/new-components/box/box.js.map +1 -1
  61. package/es/new-components/button/button.js +13 -15
  62. package/es/new-components/button/button.js.map +1 -1
  63. package/es/new-components/button-link/button-link.js +13 -15
  64. package/es/new-components/button-link/button-link.js.map +1 -1
  65. package/es/new-components/checkbox-field/checkbox-field.js +25 -33
  66. package/es/new-components/checkbox-field/checkbox-field.js.map +1 -1
  67. package/es/new-components/checkbox-field/checkbox-icon.js +21 -19
  68. package/es/new-components/checkbox-field/checkbox-icon.js.map +1 -1
  69. package/es/new-components/columns/columns.js +24 -27
  70. package/es/new-components/columns/columns.js.map +1 -1
  71. package/es/new-components/common-helpers.js +3 -3
  72. package/es/new-components/common-helpers.js.map +1 -1
  73. package/es/new-components/divider/divider.js +7 -6
  74. package/es/new-components/divider/divider.js.map +1 -1
  75. package/es/new-components/heading/heading.js +17 -17
  76. package/es/new-components/heading/heading.js.map +1 -1
  77. package/es/new-components/hidden/hidden.js +14 -13
  78. package/es/new-components/hidden/hidden.js.map +1 -1
  79. package/es/new-components/hidden-visually/hidden-visually.js +3 -2
  80. package/es/new-components/hidden-visually/hidden-visually.js.map +1 -1
  81. package/es/new-components/icons/alert-icon.js +13 -11
  82. package/es/new-components/icons/alert-icon.js.map +1 -1
  83. package/es/new-components/icons/close-icon.js +2 -1
  84. package/es/new-components/icons/close-icon.js.map +1 -1
  85. package/es/new-components/icons/password-hidden-icon.js +2 -1
  86. package/es/new-components/icons/password-hidden-icon.js.map +1 -1
  87. package/es/new-components/icons/password-visible-icon.js +2 -1
  88. package/es/new-components/icons/password-visible-icon.js.map +1 -1
  89. package/es/new-components/inline/inline.js +15 -19
  90. package/es/new-components/inline/inline.js.map +1 -1
  91. package/es/new-components/loading/loading.js +12 -10
  92. package/es/new-components/loading/loading.js.map +1 -1
  93. package/es/new-components/modal/modal.js +64 -66
  94. package/es/new-components/modal/modal.js.map +1 -1
  95. package/es/new-components/modal/modal.module.css.js +1 -1
  96. package/es/new-components/notice/notice.js +5 -4
  97. package/es/new-components/notice/notice.js.map +1 -1
  98. package/es/new-components/password-field/password-field.js +40 -46
  99. package/es/new-components/password-field/password-field.js.map +1 -1
  100. package/es/new-components/responsive-props.js +5 -5
  101. package/es/new-components/responsive-props.js.map +1 -1
  102. package/es/new-components/select-field/select-field.js +23 -23
  103. package/es/new-components/select-field/select-field.js.map +1 -1
  104. package/es/new-components/spinner/spinner.js +3 -3
  105. package/es/new-components/spinner/spinner.js.map +1 -1
  106. package/es/new-components/stack/stack.js +18 -22
  107. package/es/new-components/stack/stack.js.map +1 -1
  108. package/es/new-components/switch-field/switch-field.js +31 -41
  109. package/es/new-components/switch-field/switch-field.js.map +1 -1
  110. package/es/new-components/tabs/tabs.js +92 -78
  111. package/es/new-components/tabs/tabs.js.map +1 -1
  112. package/es/new-components/tabs/tabs.module.css.js +1 -1
  113. package/es/new-components/text/text.js +16 -17
  114. package/es/new-components/text/text.js.map +1 -1
  115. package/es/new-components/text/text.module.css.js +1 -1
  116. package/es/new-components/text-area/text-area.js +14 -14
  117. package/es/new-components/text-area/text-area.js.map +1 -1
  118. package/es/new-components/text-field/text-field.js +21 -22
  119. package/es/new-components/text-field/text-field.js.map +1 -1
  120. package/es/new-components/text-link/text-link.js +10 -10
  121. package/es/new-components/text-link/text-link.js.map +1 -1
  122. package/es/new-components/text-link/text-link.module.css.js +1 -1
  123. package/es/utils/polymorphism.js.map +1 -1
  124. package/lib/_virtual/_rollupPluginBabelHelpers.js +1 -1
  125. package/lib/components/checkbox/checkbox.js +1 -1
  126. package/lib/components/checkbox/checkbox.js.map +1 -1
  127. package/lib/components/color-picker/color-picker.js +1 -1
  128. package/lib/components/color-picker/color-picker.js.map +1 -1
  129. package/lib/components/deprecated-button/deprecated-button.d.ts +3 -3
  130. package/lib/components/deprecated-button/deprecated-button.js +1 -1
  131. package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
  132. package/lib/components/deprecated-loading/deprecated-loading.js +1 -1
  133. package/lib/components/deprecated-loading/deprecated-loading.js.map +1 -1
  134. package/lib/components/deprecated-modal/deprecated-modal.d.ts +2 -2
  135. package/lib/components/deprecated-modal/deprecated-modal.js +1 -1
  136. package/lib/components/deprecated-modal/deprecated-modal.js.map +1 -1
  137. package/lib/components/deprecated-modal/index.js.map +1 -1
  138. package/lib/components/dropdown/dropdown.d.ts +5 -2
  139. package/lib/components/dropdown/dropdown.js +1 -1
  140. package/lib/components/dropdown/dropdown.js.map +1 -1
  141. package/lib/components/icons/CloseIcon.svg.js +1 -1
  142. package/lib/components/icons/CloseIcon.svg.js.map +1 -1
  143. package/lib/components/input/input.js +1 -1
  144. package/lib/components/input/input.js.map +1 -1
  145. package/lib/components/key-capturer/key-capturer.d.ts +1 -1
  146. package/lib/components/key-capturer/key-capturer.js +1 -1
  147. package/lib/components/key-capturer/key-capturer.js.map +1 -1
  148. package/lib/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
  149. package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  150. package/lib/components/menu/menu.d.ts +7 -7
  151. package/lib/components/menu/menu.js +1 -1
  152. package/lib/components/menu/menu.js.map +1 -1
  153. package/lib/components/notification/notification.js +1 -1
  154. package/lib/components/notification/notification.js.map +1 -1
  155. package/lib/components/popover/popover.d.ts +1 -1
  156. package/lib/components/popover/popover.js +1 -1
  157. package/lib/components/popover/popover.js.map +1 -1
  158. package/lib/components/popover/positioning-utils.js +1 -1
  159. package/lib/components/popover/positioning-utils.js.map +1 -1
  160. package/lib/components/progress-bar/progress-bar.js +1 -1
  161. package/lib/components/progress-bar/progress-bar.js.map +1 -1
  162. package/lib/components/select/select.js +1 -1
  163. package/lib/components/select/select.js.map +1 -1
  164. package/lib/components/time/time-utils.js +1 -1
  165. package/lib/components/time/time-utils.js.map +1 -1
  166. package/lib/components/time/time.js +1 -1
  167. package/lib/components/time/time.js.map +1 -1
  168. package/lib/components/tooltip/index.d.ts +1 -2
  169. package/lib/components/tooltip/tooltip.d.ts +3 -3
  170. package/lib/components/tooltip/tooltip.js +1 -1
  171. package/lib/components/tooltip/tooltip.js.map +1 -1
  172. package/lib/hooks/use-previous/use-previous.js +1 -1
  173. package/lib/hooks/use-previous/use-previous.js.map +1 -1
  174. package/lib/index.d.ts +2 -1
  175. package/lib/new-components/alert/alert.d.ts +1 -1
  176. package/lib/new-components/alert/alert.js +1 -1
  177. package/lib/new-components/alert/alert.js.map +1 -1
  178. package/lib/new-components/avatar/avatar.js +1 -1
  179. package/lib/new-components/avatar/avatar.js.map +1 -1
  180. package/lib/new-components/avatar/utils.d.ts +1 -1
  181. package/lib/new-components/avatar/utils.js +1 -1
  182. package/lib/new-components/avatar/utils.js.map +1 -1
  183. package/lib/new-components/base-button/base-button.js +1 -1
  184. package/lib/new-components/base-button/base-button.js.map +1 -1
  185. package/lib/new-components/base-field/base-field.d.ts +1 -1
  186. package/lib/new-components/base-field/base-field.js +1 -1
  187. package/lib/new-components/base-field/base-field.js.map +1 -1
  188. package/lib/new-components/box/box.js +1 -1
  189. package/lib/new-components/box/box.js.map +1 -1
  190. package/lib/new-components/button/button.d.ts +1 -58
  191. package/lib/new-components/button/button.js +1 -1
  192. package/lib/new-components/button/button.js.map +1 -1
  193. package/lib/new-components/button-link/button-link.js +1 -1
  194. package/lib/new-components/button-link/button-link.js.map +1 -1
  195. package/lib/new-components/checkbox-field/checkbox-field.d.ts +1 -1
  196. package/lib/new-components/checkbox-field/checkbox-field.js +1 -1
  197. package/lib/new-components/checkbox-field/checkbox-field.js.map +1 -1
  198. package/lib/new-components/checkbox-field/checkbox-icon.js +1 -1
  199. package/lib/new-components/checkbox-field/checkbox-icon.js.map +1 -1
  200. package/lib/new-components/columns/columns.js +1 -1
  201. package/lib/new-components/columns/columns.js.map +1 -1
  202. package/lib/new-components/common-helpers.js +1 -1
  203. package/lib/new-components/common-helpers.js.map +1 -1
  204. package/lib/new-components/common-types.d.ts +2 -2
  205. package/lib/new-components/divider/divider.js +1 -1
  206. package/lib/new-components/divider/divider.js.map +1 -1
  207. package/lib/new-components/heading/heading.d.ts +2 -2
  208. package/lib/new-components/heading/heading.js +1 -1
  209. package/lib/new-components/heading/heading.js.map +1 -1
  210. package/lib/new-components/hidden/hidden.js +1 -1
  211. package/lib/new-components/hidden/hidden.js.map +1 -1
  212. package/lib/new-components/hidden-visually/hidden-visually.js +1 -1
  213. package/lib/new-components/hidden-visually/hidden-visually.js.map +1 -1
  214. package/lib/new-components/icons/alert-icon.d.ts +1 -1
  215. package/lib/new-components/icons/alert-icon.js +1 -1
  216. package/lib/new-components/icons/alert-icon.js.map +1 -1
  217. package/lib/new-components/icons/close-icon.js +1 -1
  218. package/lib/new-components/icons/close-icon.js.map +1 -1
  219. package/lib/new-components/icons/password-hidden-icon.js +1 -1
  220. package/lib/new-components/icons/password-hidden-icon.js.map +1 -1
  221. package/lib/new-components/icons/password-visible-icon.js +1 -1
  222. package/lib/new-components/icons/password-visible-icon.js.map +1 -1
  223. package/lib/new-components/inline/inline.js +1 -1
  224. package/lib/new-components/inline/inline.js.map +1 -1
  225. package/lib/new-components/loading/loading.d.ts +1 -1
  226. package/lib/new-components/loading/loading.js +1 -1
  227. package/lib/new-components/loading/loading.js.map +1 -1
  228. package/lib/new-components/modal/modal.js +1 -1
  229. package/lib/new-components/modal/modal.js.map +1 -1
  230. package/lib/new-components/modal/modal.module.css.js +1 -1
  231. package/lib/new-components/notice/notice.d.ts +1 -1
  232. package/lib/new-components/notice/notice.js +1 -1
  233. package/lib/new-components/notice/notice.js.map +1 -1
  234. package/lib/new-components/password-field/password-field.d.ts +1 -1
  235. package/lib/new-components/password-field/password-field.js +1 -1
  236. package/lib/new-components/password-field/password-field.js.map +1 -1
  237. package/lib/new-components/responsive-props.d.ts +1 -1
  238. package/lib/new-components/responsive-props.js +1 -1
  239. package/lib/new-components/responsive-props.js.map +1 -1
  240. package/lib/new-components/select-field/select-field.d.ts +1 -1
  241. package/lib/new-components/select-field/select-field.js +1 -1
  242. package/lib/new-components/select-field/select-field.js.map +1 -1
  243. package/lib/new-components/spinner/spinner.js +1 -1
  244. package/lib/new-components/spinner/spinner.js.map +1 -1
  245. package/lib/new-components/stack/stack.js +1 -1
  246. package/lib/new-components/stack/stack.js.map +1 -1
  247. package/lib/new-components/switch-field/switch-field.d.ts +1 -1
  248. package/lib/new-components/switch-field/switch-field.js +1 -1
  249. package/lib/new-components/switch-field/switch-field.js.map +1 -1
  250. package/lib/new-components/tabs/tabs.d.ts +13 -3
  251. package/lib/new-components/tabs/tabs.js +1 -1
  252. package/lib/new-components/tabs/tabs.js.map +1 -1
  253. package/lib/new-components/tabs/tabs.module.css.js +1 -1
  254. package/lib/new-components/test-helpers.d.ts +4 -3
  255. package/lib/new-components/text/text.js +1 -1
  256. package/lib/new-components/text/text.js.map +1 -1
  257. package/lib/new-components/text/text.module.css.js +1 -1
  258. package/lib/new-components/text-area/text-area.js +1 -1
  259. package/lib/new-components/text-area/text-area.js.map +1 -1
  260. package/lib/new-components/text-field/text-field.d.ts +1 -1
  261. package/lib/new-components/text-field/text-field.js +1 -1
  262. package/lib/new-components/text-field/text-field.js.map +1 -1
  263. package/lib/new-components/text-link/text-link.js +1 -1
  264. package/lib/new-components/text-link/text-link.js.map +1 -1
  265. package/lib/new-components/text-link/text-link.module.css.js +1 -1
  266. package/lib/utils/polymorphism.js.map +1 -1
  267. package/package.json +45 -38
  268. package/styles/base-field.css +1 -1
  269. package/styles/checkbox-field.css +1 -1
  270. package/styles/menu.css +1 -1
  271. package/styles/modal.css +1 -1
  272. package/styles/modal.module.css.css +1 -1
  273. package/styles/password-field.css +1 -1
  274. package/styles/reactist.css +6 -6
  275. package/styles/select-field.css +1 -1
  276. package/styles/switch-field.css +1 -1
  277. package/styles/tabs.css +1 -1
  278. package/styles/tabs.module.css.css +1 -1
  279. package/styles/text-area.css +1 -1
  280. package/styles/text-field.css +1 -1
  281. package/styles/text-link.css +1 -1
  282. package/styles/text-link.module.css.css +1 -1
  283. package/styles/text.css +1 -1
  284. package/styles/text.module.css.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deprecated-modal.js","sources":["../../../src/components/deprecated-modal/deprecated-modal.tsx"],"sourcesContent":["import React from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\n\nimport CloseIcon from '../icons/CloseIcon.svg'\n\nimport './deprecated-modal.less'\n\ntype Props = {\n /** Additional css class applied to the Modal.Box. */\n className?: string\n /** Sometimes a class name is not enough so you can use this to set the style directly. */\n style?: React.CSSProperties\n /** Large style. */\n large: boolean\n /** Medium size syle. */\n medium?: boolean\n /** Close the Modal when clicking on the overlay. */\n closeOnOverlayClick: boolean\n}\n\n/** @deprecated */\nclass Box extends React.Component<React.PropsWithChildren<Props>> {\n public static displayName: string\n public static defaultProps: Props\n\n componentDidMount() {\n window.addEventListener('keydown', this._handleKeyDown)\n }\n\n componentWillUnmount() {\n window.removeEventListener('keydown', this._handleKeyDown)\n }\n\n _closeModal = () => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n _handleKeyDown = (event: Partial<KeyboardEvent>) => {\n if (event.keyCode === 27) {\n // ESC\n this._closeModal()\n if (event.preventDefault) event.preventDefault()\n }\n }\n\n _handleOverlayClick = (event: React.MouseEvent<Element>) => {\n if (\n event.target instanceof Element &&\n (event.target.id === 'reactist-overlay' || event.target.id === 'reactist-overlay-inner')\n ) {\n this._closeModal()\n }\n }\n\n render() {\n const { large, medium, style, children, closeOnOverlayClick } = this.props\n\n const className = classnames('reactist_modal_box', { large, medium }, this.props.className)\n\n return (\n <div\n className=\"reactist_overlay\"\n id=\"reactist-overlay\"\n onClick={closeOnOverlayClick ? this._handleOverlayClick : undefined}\n >\n <div className=\"reactist_overlay_inner\" id=\"reactist-overlay-inner\">\n <div style={style} className={className}>\n {children}\n </div>\n </div>\n </div>\n )\n }\n}\nBox.displayName = 'Modal.Box'\nBox.defaultProps = {\n large: false,\n closeOnOverlayClick: false,\n}\n\ntype HeaderProps = {\n /** Title of the Modal.Header. */\n title?: string | React.ReactNode\n /** Subtitle of the Modal.Header. */\n subtitle?: string | React.ReactNode\n /** Function that is called right before the Modal unmounts itself. */\n beforeClose?: () => void\n}\n\n/** @deprecated */\nclass Header extends React.Component<HeaderProps> {\n public static displayName: string\n public static defaultProps: HeaderProps\n\n _closeModal(event: React.MouseEvent) {\n event.preventDefault()\n if (typeof this.props.beforeClose === 'function') {\n this.props.beforeClose()\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n render() {\n return (\n /* eslint-disable jsx-a11y/anchor-is-valid */\n <div className=\"reactist_modal_box__header\">\n <p>\n {this.props.title && <span className=\"title\">{this.props.title}</span>}\n {this.props.subtitle && <span className=\"subtitle\">{this.props.subtitle}</span>}\n {this.props.children}\n </p>\n <a className=\"close\" onClick={this._closeModal.bind(this)} href=\"#\">\n <CloseIcon />\n </a>\n </div>\n /* eslint-enable jsx-a11y/anchor-is-valid */\n )\n }\n}\nHeader.displayName = 'Modal.Header'\n\ntype BodyProps = {\n /** Display an icon (or basically any component) on the right hand side of the Modal.Body. */\n icon?: React.ReactNode\n /** Applies less styles on the body (e.g. no padding) */\n plain?: boolean\n /** Sometimes a class name is not enough so you can use this to set the style directly. */\n style?: React.CSSProperties\n /** Additionall css class applied to the Modal.Body. */\n className?: string\n /**\n * Render a close icon in the top right corner of the Modal.Body.\n * Recommended to use when no Modal.Header is used.\n */\n showCloseIcon?: boolean\n}\n\n/** @deprecated */\nclass Body extends React.Component<BodyProps> {\n public static displayName: string\n public static defaultProps: BodyProps\n\n _closeModal(event: React.MouseEvent) {\n event.preventDefault()\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n render() {\n const { icon, plain, children, style, showCloseIcon } = this.props\n const className = classnames('reactist_modal_box__body', { plain }, this.props.className)\n\n return (\n /* eslint-disable jsx-a11y/anchor-is-valid */\n <div className={className} style={style}>\n {showCloseIcon && (\n <a className=\"close\" onClick={this._closeModal.bind(this)} href=\"#\">\n <CloseIcon />\n </a>\n )}\n {icon ? (\n <div className=\"dialog\">\n <div className=\"reactist_icon\">{icon}</div>\n <div className=\"content\">{children}</div>\n </div>\n ) : (\n children\n )}\n </div>\n /* eslint-enable jsx-a11y/anchor-is-valid */\n )\n }\n}\nBody.displayName = 'Modal.Body'\nBody.defaultProps = {\n showCloseIcon: false,\n}\n\ntype ActionProps = {\n /**\n * Children to render inside the Modal.Actions. They can have an optional `close` property (boolean).\n * When that is supplied and set to true it will close the modal after the onClick function\n */\n children?: React.ReactNode\n}\n\ntype ActionChildrenProps = {\n close?: boolean\n onClick?: () => void\n}\n\n/** @deprecated */\nclass Actions extends React.Component<ActionProps> {\n public static displayName: string\n\n _onClick(onClick: ActionChildrenProps['onClick']) {\n if (onClick) {\n onClick()\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n render() {\n const children = React.Children.map(\n // see: https://github.com/microsoft/TypeScript/issues/21699\n // @ts-expect-error Children cannot be typed properly yet in React\n this.props.children,\n (child: React.ReactElement<ActionChildrenProps>) => {\n if (child?.props?.close) {\n return React.cloneElement(child, {\n onClick: () => this._onClick(child.props.onClick),\n })\n } else {\n return child ? React.cloneElement(child) : <></>\n }\n },\n )\n\n return <div className=\"reactist_modal_box__actions\">{children}</div>\n }\n}\n\nActions.displayName = 'Modal.Actions'\n\n/** @deprecated */\ntype Modal = {\n Box: Box\n Header: Header\n Body: Body\n Actions: Actions\n}\n\nexport type { Modal }\n\nexport { Box, Header, Body, Actions }\n"],"names":["Box","modalElement","document","getElementById","ReactDOM","unmountComponentAtNode","event","keyCode","_closeModal","preventDefault","target","Element","id","componentDidMount","window","addEventListener","_handleKeyDown","componentWillUnmount","removeEventListener","render","props","large","medium","style","children","closeOnOverlayClick","className","classnames","React","onClick","_handleOverlayClick","undefined","Component","displayName","defaultProps","Header","beforeClose","title","subtitle","bind","href","CloseIcon","Body","icon","plain","showCloseIcon","Actions","_onClick","Children","map","child","close","cloneElement"],"mappings":"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"}
1
+ {"version":3,"file":"deprecated-modal.js","sources":["../../../src/components/deprecated-modal/deprecated-modal.tsx"],"sourcesContent":["import React from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\n\nimport CloseIcon from '../icons/CloseIcon.svg'\n\nimport './deprecated-modal.less'\n\ntype Props = {\n /** Additional css class applied to the Modal.Box. */\n className?: string\n /** Sometimes a class name is not enough so you can use this to set the style directly. */\n style?: React.CSSProperties\n /** Large style. */\n large: boolean\n /** Medium size syle. */\n medium?: boolean\n /** Close the Modal when clicking on the overlay. */\n closeOnOverlayClick: boolean\n}\n\n/** @deprecated */\nclass Box extends React.Component<React.PropsWithChildren<Props>> {\n public static displayName: string\n public static defaultProps: Props\n\n componentDidMount() {\n window.addEventListener('keydown', this._handleKeyDown)\n }\n\n componentWillUnmount() {\n window.removeEventListener('keydown', this._handleKeyDown)\n }\n\n _closeModal = () => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n _handleKeyDown = (event: Partial<KeyboardEvent>) => {\n if (event.keyCode === 27) {\n // ESC\n this._closeModal()\n if (event.preventDefault) event.preventDefault()\n }\n }\n\n _handleOverlayClick = (event: React.MouseEvent<Element>) => {\n if (\n event.target instanceof Element &&\n (event.target.id === 'reactist-overlay' || event.target.id === 'reactist-overlay-inner')\n ) {\n this._closeModal()\n }\n }\n\n render() {\n const { large, medium, style, children, closeOnOverlayClick } = this.props\n\n const className = classnames('reactist_modal_box', { large, medium }, this.props.className)\n\n return (\n <div\n className=\"reactist_overlay\"\n id=\"reactist-overlay\"\n onClick={closeOnOverlayClick ? this._handleOverlayClick : undefined}\n >\n <div className=\"reactist_overlay_inner\" id=\"reactist-overlay-inner\">\n <div style={style} className={className}>\n {children}\n </div>\n </div>\n </div>\n )\n }\n}\nBox.displayName = 'Modal.Box'\nBox.defaultProps = {\n large: false,\n closeOnOverlayClick: false,\n}\n\ntype HeaderProps = {\n /** Title of the Modal.Header. */\n title?: string | React.ReactNode\n /** Subtitle of the Modal.Header. */\n subtitle?: string | React.ReactNode\n /** Function that is called right before the Modal unmounts itself. */\n beforeClose?: () => void\n}\n\n/** @deprecated */\nclass Header extends React.Component<React.PropsWithChildren<HeaderProps>> {\n public static displayName: string\n public static defaultProps: HeaderProps\n\n _closeModal(event: React.MouseEvent) {\n event.preventDefault()\n if (typeof this.props.beforeClose === 'function') {\n this.props.beforeClose()\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n render() {\n return (\n /* eslint-disable jsx-a11y/anchor-is-valid */\n <div className=\"reactist_modal_box__header\">\n <p>\n {this.props.title && <span className=\"title\">{this.props.title}</span>}\n {this.props.subtitle && <span className=\"subtitle\">{this.props.subtitle}</span>}\n {this.props.children}\n </p>\n <a className=\"close\" onClick={this._closeModal.bind(this)} href=\"#\">\n <CloseIcon />\n </a>\n </div>\n /* eslint-enable jsx-a11y/anchor-is-valid */\n )\n }\n}\nHeader.displayName = 'Modal.Header'\n\ntype BodyProps = {\n /** Display an icon (or basically any component) on the right hand side of the Modal.Body. */\n icon?: React.ReactNode\n /** Applies less styles on the body (e.g. no padding) */\n plain?: boolean\n /** Sometimes a class name is not enough so you can use this to set the style directly. */\n style?: React.CSSProperties\n /** Additionall css class applied to the Modal.Body. */\n className?: string\n /**\n * Render a close icon in the top right corner of the Modal.Body.\n * Recommended to use when no Modal.Header is used.\n */\n showCloseIcon?: boolean\n}\n\n/** @deprecated */\nclass Body extends React.Component<React.PropsWithChildren<BodyProps>> {\n public static displayName: string\n public static defaultProps: BodyProps\n\n _closeModal(event: React.MouseEvent) {\n event.preventDefault()\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n render() {\n const { icon, plain, children, style, showCloseIcon } = this.props\n const className = classnames('reactist_modal_box__body', { plain }, this.props.className)\n\n return (\n /* eslint-disable jsx-a11y/anchor-is-valid */\n <div className={className} style={style}>\n {showCloseIcon && (\n <a className=\"close\" onClick={this._closeModal.bind(this)} href=\"#\">\n <CloseIcon />\n </a>\n )}\n {icon ? (\n <div className=\"dialog\">\n <div className=\"reactist_icon\">{icon}</div>\n <div className=\"content\">{children}</div>\n </div>\n ) : (\n children\n )}\n </div>\n /* eslint-enable jsx-a11y/anchor-is-valid */\n )\n }\n}\nBody.displayName = 'Modal.Body'\nBody.defaultProps = {\n showCloseIcon: false,\n}\n\ntype ActionProps = {\n /**\n * Children to render inside the Modal.Actions. They can have an optional `close` property (boolean).\n * When that is supplied and set to true it will close the modal after the onClick function\n */\n children?: React.ReactNode\n}\n\ntype ActionChildrenProps = {\n close?: boolean\n onClick?: () => void\n}\n\n/** @deprecated */\nclass Actions extends React.Component<ActionProps> {\n public static displayName: string\n\n _onClick(onClick: ActionChildrenProps['onClick']) {\n if (onClick) {\n onClick()\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const modalElement = document.getElementById('modal_box')!\n ReactDOM.unmountComponentAtNode(modalElement)\n }\n\n render() {\n const children = React.Children.map(\n // see: https://github.com/microsoft/TypeScript/issues/21699\n // @ts-expect-error Children cannot be typed properly yet in React\n this.props.children,\n (child: React.ReactElement<ActionChildrenProps>) => {\n if (child?.props?.close) {\n return React.cloneElement(child, {\n onClick: () => this._onClick(child.props.onClick),\n })\n } else {\n return child ? React.cloneElement(child) : <></>\n }\n },\n )\n\n return <div className=\"reactist_modal_box__actions\">{children}</div>\n }\n}\n\nActions.displayName = 'Modal.Actions'\n\n/** @deprecated */\ntype Modal = {\n Box: Box\n Header: Header\n Body: Body\n Actions: Actions\n}\n\nexport type { Modal }\n\nexport { Box, Header, Body, Actions }\n"],"names":["Box","React","Component","_closeModal","modalElement","document","getElementById","ReactDOM","unmountComponentAtNode","_handleKeyDown","event","keyCode","preventDefault","_handleOverlayClick","target","Element","id","componentDidMount","window","addEventListener","componentWillUnmount","removeEventListener","render","large","medium","style","children","closeOnOverlayClick","props","className","classnames","onClick","undefined","displayName","defaultProps","Header","beforeClose","title","subtitle","bind","href","CloseIcon","Body","icon","plain","showCloseIcon","Actions","_onClick","Children","map","child","close","cloneElement"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Box, Header, Body, Actions } from './deprecated-modal.js';
2
2
 
3
3
  var index = {
4
- Box: Box,
5
- Header: Header,
6
- Body: Body,
7
- Actions: Actions
4
+ Box,
5
+ Header,
6
+ Body,
7
+ Actions
8
8
  };
9
9
 
10
10
  export default index;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/deprecated-modal/index.ts"],"sourcesContent":["import { Box, Header, Body, Actions } from './deprecated-modal'\nimport type { Modal } from './deprecated-modal'\n\nexport default { Box, Header, Body, Actions }\nexport type { Modal }\n"],"names":["Box","Header","Body","Actions"],"mappings":";;AAGA,YAAe;AAAEA,EAAAA,GAAG,EAAHA,GAAF;AAAOC,EAAAA,MAAM,EAANA,MAAP;AAAeC,EAAAA,IAAI,EAAJA,IAAf;AAAqBC,EAAAA,OAAO,EAAPA;AAArB,CAAf;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/deprecated-modal/index.ts"],"sourcesContent":["import { Box, Header, Body, Actions } from './deprecated-modal'\nimport type { Modal } from './deprecated-modal'\n\nexport default { Box, Header, Body, Actions }\nexport type { Modal }\n"],"names":["Box","Header","Body","Actions"],"mappings":";;AAGA,YAAe;EAAEA,GAAF;EAAOC,MAAP;EAAeC,IAAf;EAAqBC;AAArB,CAAf;;;;"}
@@ -1,162 +1,162 @@
1
- import { inheritsLoose as _inheritsLoose, assertThisInitialized as _assertThisInitialized, objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React__default from 'react';
3
3
  import classNames from 'classnames';
4
4
  import ReactDOM from 'react-dom';
5
5
  import Button from '../deprecated-button/index.js';
6
6
 
7
- var _excluded = ["children", "onClick", "tooltip", "className"];
7
+ const _excluded = ["children", "onClick", "tooltip", "className"];
8
8
 
9
- var Box = /*#__PURE__*/function (_React$Component) {
10
- _inheritsLoose(Box, _React$Component);
9
+ class Box extends React__default.Component {
10
+ constructor(props, context) {
11
+ super(props, context);
12
+ this._timeout = void 0;
11
13
 
12
- function Box(props, context) {
13
- var _this;
14
-
15
- _this = _React$Component.call(this, props, context) || this;
16
-
17
- _this._handleClickOutside = function (event) {
18
- var dropdownDOMNode = ReactDOM.findDOMNode(_assertThisInitialized(_this));
19
- if (dropdownDOMNode && !dropdownDOMNode.contains(event.target)) _this._toggleShowBody();else if (!_this.props.allowBodyInteractions) {
14
+ this._handleClickOutside = event => {
15
+ const dropdownDOMNode = ReactDOM.findDOMNode(this);
16
+ if (dropdownDOMNode && !dropdownDOMNode.contains(event.target)) this._toggleShowBody();else if (!this.props.allowBodyInteractions) {
20
17
  // won't close when body interactions are allowed
21
- _this._timeout = setTimeout(function () {
22
- if (_this.state.showBody) {
23
- _this._toggleShowBody();
18
+ this._timeout = setTimeout(() => {
19
+ if (this.state.showBody) {
20
+ this._toggleShowBody();
24
21
  }
25
22
  }, 100);
26
23
  }
27
24
  };
28
25
 
29
- _this._toggleShowBody = function () {
30
- if (!_this.state.showBody) {
26
+ this._toggleShowBody = () => {
27
+ if (!this.state.showBody) {
31
28
  // will show
32
- if (_this.props.onShowBody) _this.props.onShowBody();
33
- document.addEventListener('click', _this._handleClickOutside, true);
29
+ if (this.props.onShowBody) this.props.onShowBody();
30
+ document.addEventListener('click', this._handleClickOutside, true);
34
31
  } else {
35
32
  // will hide
36
- if (_this.props.onHideBody) _this.props.onHideBody();
37
- document.removeEventListener('click', _this._handleClickOutside, true);
33
+ if (this.props.onHideBody) this.props.onHideBody();
34
+ document.removeEventListener('click', this._handleClickOutside, true);
38
35
  }
39
36
 
40
- _this.setState({
41
- showBody: !_this.state.showBody
37
+ this.setState({
38
+ showBody: !this.state.showBody
42
39
  });
43
- }; // https://facebook.github.io/react/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components
44
-
40
+ };
45
41
 
46
- _this._setPosition = function (body) {
42
+ this._setPosition = body => {
47
43
  if (body) {
48
- var scrollingParent = document.getElementById(_this.props.scrolling_parent ? _this.props.scrolling_parent : '');
44
+ const scrollingParent = document.getElementById(this.props.scrolling_parent ? this.props.scrolling_parent : '');
49
45
 
50
46
  if (scrollingParent) {
51
- var dropdown = ReactDOM.findDOMNode(_assertThisInitialized(_this));
47
+ const dropdown = ReactDOM.findDOMNode(this);
52
48
 
53
49
  if (!dropdown) {
54
50
  return;
55
51
  }
56
52
 
57
- var dropdownVerticalPosition = ReactDOM.findDOMNode(_assertThisInitialized(_this)).offsetTop;
58
- var dropdownTrigger = dropdown.querySelector('.trigger');
53
+ const dropdownVerticalPosition = ReactDOM.findDOMNode(this).offsetTop;
54
+ const dropdownTrigger = dropdown.querySelector('.trigger');
59
55
 
60
56
  if (!dropdownTrigger) {
61
57
  return;
62
58
  }
63
59
 
64
- var dropdownTriggerHeight = dropdownTrigger.clientHeight;
65
- var dropdownBodyHeight = body.clientHeight;
66
- var scrollingParentHeight = scrollingParent.clientHeight;
67
- var scrollingParentOffset = scrollingParent.scrollTop;
68
- var bottomOffset = scrollingParentHeight + scrollingParentOffset - dropdownVerticalPosition - dropdownTriggerHeight;
69
- var top = bottomOffset < dropdownBodyHeight;
60
+ const dropdownTriggerHeight = dropdownTrigger.clientHeight;
61
+ const dropdownBodyHeight = body.clientHeight;
62
+ const scrollingParentHeight = scrollingParent.clientHeight;
63
+ const scrollingParentOffset = scrollingParent.scrollTop;
64
+ const bottomOffset = scrollingParentHeight + scrollingParentOffset - dropdownVerticalPosition - dropdownTriggerHeight;
65
+ const top = bottomOffset < dropdownBodyHeight;
70
66
 
71
- if (top !== _this.state.top) {
72
- _this.setState({
73
- top: top
67
+ if (top !== this.state.top) {
68
+ this.setState({
69
+ top
74
70
  });
75
71
  }
76
72
  }
77
73
  }
78
74
  };
79
75
 
80
- _this.state = {
76
+ this.state = {
81
77
  showBody: false,
82
78
  top: props.top || false
83
79
  };
84
- _this._timeout = undefined;
85
- return _this;
80
+ this._timeout = undefined;
86
81
  }
87
82
 
88
- var _proto = Box.prototype;
89
-
90
- _proto.componentWillUnmount = function componentWillUnmount() {
83
+ componentWillUnmount() {
91
84
  document.removeEventListener('click', this._handleClickOutside, true);
92
85
 
93
86
  if (this._timeout) {
94
87
  clearTimeout(this._timeout);
95
88
  }
96
- };
89
+ }
97
90
 
98
- _proto._getTriggerComponent = function _getTriggerComponent() {
91
+ _getTriggerComponent() {
99
92
  var _this$props$children;
100
93
 
101
- var _trigger = (_this$props$children = this.props.children) === null || _this$props$children === void 0 ? void 0 : _this$props$children[0];
94
+ const _trigger = (_this$props$children = this.props.children) == null ? void 0 : _this$props$children[0];
102
95
 
103
96
  return _trigger ? /*#__PURE__*/React__default.cloneElement(_trigger, {
104
97
  onClick: this._toggleShowBody
105
98
  }) : undefined;
106
- };
99
+ } // https://facebook.github.io/react/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components
107
100
 
108
- _proto._getBodyComponent = function _getBodyComponent() {
101
+
102
+ _getBodyComponent() {
109
103
  if (!this.state.showBody) {
110
104
  return null;
111
105
  }
112
106
 
113
- var top = this.state.top;
114
- var _this$props = this.props,
115
- _this$props$right = _this$props.right,
116
- right = _this$props$right === void 0 ? false : _this$props$right,
117
- children = _this$props.children;
118
- var props = {
119
- top: top,
120
- right: right,
107
+ const {
108
+ top
109
+ } = this.state;
110
+ const {
111
+ right = false,
112
+ children
113
+ } = this.props;
114
+ const props = {
115
+ top,
116
+ right,
121
117
  setPosition: this._setPosition
122
118
  };
123
- var className = classNames({
119
+ const className = classNames({
124
120
  body_wrapper: true,
125
121
  with_arrow: true,
126
122
  top: top,
127
123
  bottom: !top
128
124
  });
129
- var body = children === null || children === void 0 ? void 0 : children[1];
130
- var contentMarkup = typeof body === 'function' ? body(props) : body ? /*#__PURE__*/React__default.cloneElement(body, props) : undefined;
125
+ const body = children == null ? void 0 : children[1];
126
+ const contentMarkup = typeof body === 'function' ? body(props) : body ? /*#__PURE__*/React__default.cloneElement(body, props) : undefined;
131
127
  return /*#__PURE__*/React__default.createElement("div", {
132
128
  className: className,
133
129
  style: {
134
130
  position: 'relative'
135
131
  }
136
132
  }, contentMarkup);
137
- };
133
+ }
138
134
 
139
- _proto.render = function render() {
140
- var className = classNames('reactist_dropdown', this.props.className);
141
- var top = this.state.top;
135
+ render() {
136
+ const className = classNames('reactist_dropdown', this.props.className);
137
+ const {
138
+ top
139
+ } = this.state;
142
140
  return /*#__PURE__*/React__default.createElement("div", {
143
141
  style: {
144
142
  display: 'inline-block'
145
143
  },
146
144
  className: className
147
145
  }, top && this._getBodyComponent(), this._getTriggerComponent(), !top && this._getBodyComponent());
148
- };
146
+ }
149
147
 
150
- return Box;
151
- }(React__default.Component);
148
+ }
152
149
 
150
+ Box.displayName = void 0;
153
151
  Box.displayName = 'Dropdown.Box';
154
- var Trigger = /*#__PURE__*/React__default.forwardRef(function Trigger(_ref, ref) {
155
- var children = _ref.children,
156
- onClick = _ref.onClick,
157
- tooltip = _ref.tooltip,
158
- className = _ref.className,
159
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
152
+ const Trigger = /*#__PURE__*/React__default.forwardRef(function Trigger(_ref, ref) {
153
+ let {
154
+ children,
155
+ onClick,
156
+ tooltip,
157
+ className
158
+ } = _ref,
159
+ props = _objectWithoutProperties(_ref, _excluded);
160
160
 
161
161
  function handleClick(event) {
162
162
  event.preventDefault();
@@ -164,7 +164,7 @@ var Trigger = /*#__PURE__*/React__default.forwardRef(function Trigger(_ref, ref)
164
164
  if (onClick) onClick(event);
165
165
  }
166
166
 
167
- return /*#__PURE__*/React__default.createElement(Button, Object.assign({}, props, {
167
+ return /*#__PURE__*/React__default.createElement(Button, _objectSpread2(_objectSpread2({}, props), {}, {
168
168
  className: classNames('trigger', className),
169
169
  onClick: handleClick,
170
170
  tooltip: tooltip,
@@ -173,12 +173,13 @@ var Trigger = /*#__PURE__*/React__default.forwardRef(function Trigger(_ref, ref)
173
173
  });
174
174
  Trigger.displayName = 'Dropdown.Trigger';
175
175
 
176
- function Body(_ref2) {
177
- var top = _ref2.top,
178
- right = _ref2.right,
179
- children = _ref2.children,
180
- setPosition = _ref2.setPosition;
181
- var style = {
176
+ function Body({
177
+ top,
178
+ right,
179
+ children,
180
+ setPosition
181
+ }) {
182
+ const style = {
182
183
  position: 'absolute',
183
184
  right: 0,
184
185
  top: 0
@@ -203,10 +204,10 @@ function Body(_ref2) {
203
204
  }
204
205
 
205
206
  Body.displayName = 'Dropdown.Body';
206
- var Dropdown = {
207
- Box: Box,
208
- Trigger: Trigger,
209
- Body: Body
207
+ const Dropdown = {
208
+ Box,
209
+ Trigger,
210
+ Body
210
211
  };
211
212
 
212
213
  export { Dropdown };
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../../../src/components/dropdown/dropdown.tsx"],"sourcesContent":["import React from 'react'\nimport ReactDOM from 'react-dom'\nimport classNames from 'classnames'\n\nimport Button from '../deprecated-button'\n\nimport './dropdown.less'\n\ntype BoxProps = {\n onShowBody?: () => void\n onHideBody?: () => void\n allowBodyInteractions?: boolean\n top?: boolean\n right?: boolean\n scrolling_parent?: string\n children?: [\n React.ReactElement<TriggerProps>,\n React.ReactElement<BodyProps> | ((props: BodyProps) => JSX.Element),\n ]\n className?: string\n}\n\ntype BoxState = {\n top: boolean\n showBody: boolean\n}\n\nclass Box extends React.Component<React.PropsWithChildren<BoxProps>, BoxState> {\n public static displayName: string\n\n constructor(props: BoxProps, context: React.Context<unknown>) {\n super(props, context)\n this.state = {\n showBody: false,\n top: props.top || false,\n }\n\n this._timeout = undefined\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this._handleClickOutside, true)\n if (this._timeout) {\n clearTimeout(this._timeout)\n }\n }\n _timeout?: ReturnType<typeof setTimeout>\n\n _handleClickOutside = (event: MouseEvent) => {\n const dropdownDOMNode = ReactDOM.findDOMNode(this)\n\n if (dropdownDOMNode && !dropdownDOMNode.contains(event.target as Node))\n this._toggleShowBody()\n else if (!this.props.allowBodyInteractions) {\n // won't close when body interactions are allowed\n this._timeout = setTimeout(() => {\n if (this.state.showBody) {\n this._toggleShowBody()\n }\n }, 100)\n }\n }\n\n _toggleShowBody = () => {\n if (!this.state.showBody) {\n // will show\n if (this.props.onShowBody) this.props.onShowBody()\n document.addEventListener('click', this._handleClickOutside, true)\n } else {\n // will hide\n if (this.props.onHideBody) this.props.onHideBody()\n document.removeEventListener('click', this._handleClickOutside, true)\n }\n\n this.setState({\n showBody: !this.state.showBody,\n })\n }\n\n _getTriggerComponent() {\n const _trigger = this.props.children?.[0]\n return _trigger\n ? React.cloneElement(_trigger, { onClick: this._toggleShowBody })\n : undefined\n }\n\n // https://facebook.github.io/react/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components\n _setPosition = (body: HTMLElement | null) => {\n if (body) {\n const scrollingParent = document.getElementById(\n this.props.scrolling_parent ? this.props.scrolling_parent : '',\n )\n\n if (scrollingParent) {\n const dropdown = ReactDOM.findDOMNode(this)\n if (!dropdown) {\n return\n }\n const dropdownVerticalPosition = (ReactDOM.findDOMNode(this) as HTMLElement)\n .offsetTop\n const dropdownTrigger = (dropdown as Element).querySelector('.trigger')\n if (!dropdownTrigger) {\n return\n }\n const dropdownTriggerHeight = dropdownTrigger.clientHeight\n const dropdownBodyHeight = body.clientHeight\n\n const scrollingParentHeight = scrollingParent.clientHeight\n const scrollingParentOffset = scrollingParent.scrollTop\n\n const bottomOffset =\n scrollingParentHeight +\n scrollingParentOffset -\n dropdownVerticalPosition -\n dropdownTriggerHeight\n\n const top = bottomOffset < dropdownBodyHeight\n\n if (top !== this.state.top) {\n this.setState({ top })\n }\n }\n }\n }\n\n _getBodyComponent() {\n if (!this.state.showBody) {\n return null\n }\n const { top } = this.state\n const { right = false, children } = this.props\n const props = { top, right, setPosition: this._setPosition }\n\n const className = classNames({\n body_wrapper: true,\n with_arrow: true,\n top: top,\n bottom: !top,\n })\n\n const body = children?.[1]\n\n const contentMarkup =\n typeof body === 'function'\n ? body(props)\n : body\n ? React.cloneElement(body, props)\n : undefined\n return (\n <div className={className} style={{ position: 'relative' }}>\n {contentMarkup}\n </div>\n )\n }\n\n render() {\n const className = classNames('reactist_dropdown', this.props.className)\n const { top } = this.state\n\n return (\n <div style={{ display: 'inline-block' }} className={className}>\n {top && this._getBodyComponent()}\n {this._getTriggerComponent()}\n {!top && this._getBodyComponent()}\n </div>\n )\n }\n}\n\nBox.displayName = 'Dropdown.Box'\n\ntype NativeButtonProps = React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>\n\ntype TriggerProps = Omit<NativeButtonProps, 'title'> & {\n tooltip?: React.ReactNode\n}\n\nconst Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(function Trigger(\n { children, onClick, tooltip, className, ...props },\n ref,\n) {\n function handleClick(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n event.preventDefault()\n event.stopPropagation()\n if (onClick) onClick(event)\n }\n\n return (\n <Button\n {...props}\n className={classNames('trigger', className)}\n onClick={handleClick}\n tooltip={tooltip}\n ref={ref}\n >\n {children}\n </Button>\n )\n})\n\nTrigger.displayName = 'Dropdown.Trigger'\n\ntype BodyProps = {\n setPosition?: React.Ref<HTMLDivElement>\n children?: React.ReactNode\n top?: boolean\n right?: boolean\n}\n\nfunction Body({ top, right, children, setPosition }: BodyProps) {\n const style: React.CSSProperties = { position: 'absolute', right: 0, top: 0 }\n\n if (top) {\n style.top = 'auto'\n style.bottom = 0\n }\n\n if (right) {\n style.right = 'auto'\n style.left = 0\n }\n\n return (\n <div ref={setPosition} style={style} className=\"body\" id=\"reactist-dropdown-body\">\n {children}\n </div>\n )\n}\n\nBody.displayName = 'Dropdown.Body'\n\nconst Dropdown = {\n Box,\n Trigger,\n Body,\n}\n\nexport { Dropdown }\n"],"names":["Box","props","context","event","dropdownDOMNode","ReactDOM","findDOMNode","contains","target","_toggleShowBody","allowBodyInteractions","_timeout","setTimeout","state","showBody","onShowBody","document","addEventListener","_handleClickOutside","onHideBody","removeEventListener","setState","body","scrollingParent","getElementById","scrolling_parent","dropdown","dropdownVerticalPosition","offsetTop","dropdownTrigger","querySelector","dropdownTriggerHeight","clientHeight","dropdownBodyHeight","scrollingParentHeight","scrollingParentOffset","scrollTop","bottomOffset","top","undefined","componentWillUnmount","clearTimeout","_getTriggerComponent","_trigger","children","React","cloneElement","onClick","_getBodyComponent","right","setPosition","_setPosition","className","classNames","body_wrapper","with_arrow","bottom","contentMarkup","style","position","render","display","Component","displayName","Trigger","forwardRef","ref","tooltip","handleClick","preventDefault","stopPropagation","Button","Body","left","id","Dropdown"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.js","sources":["../../../src/components/dropdown/dropdown.tsx"],"sourcesContent":["import React from 'react'\nimport ReactDOM from 'react-dom'\nimport classNames from 'classnames'\n\nimport Button from '../deprecated-button'\n\nimport './dropdown.less'\n\ntype BoxProps = {\n onShowBody?: () => void\n onHideBody?: () => void\n allowBodyInteractions?: boolean\n top?: boolean\n right?: boolean\n scrolling_parent?: string\n children?: [\n React.ReactElement<TriggerProps>,\n React.ReactElement<BodyProps> | ((props: BodyProps) => JSX.Element),\n ]\n className?: string\n}\n\ntype BoxState = {\n top: boolean\n showBody: boolean\n}\n\nclass Box extends React.Component<React.PropsWithChildren<BoxProps>, BoxState> {\n public static displayName: string\n\n constructor(props: BoxProps, context: React.Context<unknown>) {\n super(props, context)\n this.state = {\n showBody: false,\n top: props.top || false,\n }\n\n this._timeout = undefined\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this._handleClickOutside, true)\n if (this._timeout) {\n clearTimeout(this._timeout)\n }\n }\n _timeout?: ReturnType<typeof setTimeout>\n\n _handleClickOutside = (event: MouseEvent) => {\n const dropdownDOMNode = ReactDOM.findDOMNode(this)\n\n if (dropdownDOMNode && !dropdownDOMNode.contains(event.target as Node))\n this._toggleShowBody()\n else if (!this.props.allowBodyInteractions) {\n // won't close when body interactions are allowed\n this._timeout = setTimeout(() => {\n if (this.state.showBody) {\n this._toggleShowBody()\n }\n }, 100)\n }\n }\n\n _toggleShowBody = () => {\n if (!this.state.showBody) {\n // will show\n if (this.props.onShowBody) this.props.onShowBody()\n document.addEventListener('click', this._handleClickOutside, true)\n } else {\n // will hide\n if (this.props.onHideBody) this.props.onHideBody()\n document.removeEventListener('click', this._handleClickOutside, true)\n }\n\n this.setState({\n showBody: !this.state.showBody,\n })\n }\n\n _getTriggerComponent() {\n const _trigger = this.props.children?.[0]\n return _trigger\n ? React.cloneElement(_trigger, { onClick: this._toggleShowBody })\n : undefined\n }\n\n // https://facebook.github.io/react/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components\n _setPosition = (body: HTMLElement | null) => {\n if (body) {\n const scrollingParent = document.getElementById(\n this.props.scrolling_parent ? this.props.scrolling_parent : '',\n )\n\n if (scrollingParent) {\n const dropdown = ReactDOM.findDOMNode(this)\n if (!dropdown) {\n return\n }\n const dropdownVerticalPosition = (ReactDOM.findDOMNode(this) as HTMLElement)\n .offsetTop\n const dropdownTrigger = (dropdown as Element).querySelector('.trigger')\n if (!dropdownTrigger) {\n return\n }\n const dropdownTriggerHeight = dropdownTrigger.clientHeight\n const dropdownBodyHeight = body.clientHeight\n\n const scrollingParentHeight = scrollingParent.clientHeight\n const scrollingParentOffset = scrollingParent.scrollTop\n\n const bottomOffset =\n scrollingParentHeight +\n scrollingParentOffset -\n dropdownVerticalPosition -\n dropdownTriggerHeight\n\n const top = bottomOffset < dropdownBodyHeight\n\n if (top !== this.state.top) {\n this.setState({ top })\n }\n }\n }\n }\n\n _getBodyComponent() {\n if (!this.state.showBody) {\n return null\n }\n const { top } = this.state\n const { right = false, children } = this.props\n const props = { top, right, setPosition: this._setPosition }\n\n const className = classNames({\n body_wrapper: true,\n with_arrow: true,\n top: top,\n bottom: !top,\n })\n\n const body = children?.[1]\n\n const contentMarkup =\n typeof body === 'function'\n ? body(props)\n : body\n ? React.cloneElement(body, props)\n : undefined\n return (\n <div className={className} style={{ position: 'relative' }}>\n {contentMarkup}\n </div>\n )\n }\n\n render() {\n const className = classNames('reactist_dropdown', this.props.className)\n const { top } = this.state\n\n return (\n <div style={{ display: 'inline-block' }} className={className}>\n {top && this._getBodyComponent()}\n {this._getTriggerComponent()}\n {!top && this._getBodyComponent()}\n </div>\n )\n }\n}\n\nBox.displayName = 'Dropdown.Box'\n\ntype NativeButtonProps = React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>\n\ntype TriggerProps = Omit<NativeButtonProps, 'title'> & {\n tooltip?: React.ReactNode\n}\n\nconst Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(function Trigger(\n { children, onClick, tooltip, className, ...props },\n ref,\n) {\n function handleClick(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n event.preventDefault()\n event.stopPropagation()\n if (onClick) onClick(event)\n }\n\n return (\n <Button\n {...props}\n className={classNames('trigger', className)}\n onClick={handleClick}\n tooltip={tooltip}\n ref={ref}\n >\n {children}\n </Button>\n )\n})\n\nTrigger.displayName = 'Dropdown.Trigger'\n\ntype BodyProps = {\n setPosition?: React.Ref<HTMLDivElement>\n children?: React.ReactNode\n top?: boolean\n right?: boolean\n}\n\nfunction Body({ top, right, children, setPosition }: BodyProps) {\n const style: React.CSSProperties = { position: 'absolute', right: 0, top: 0 }\n\n if (top) {\n style.top = 'auto'\n style.bottom = 0\n }\n\n if (right) {\n style.right = 'auto'\n style.left = 0\n }\n\n return (\n <div ref={setPosition} style={style} className=\"body\" id=\"reactist-dropdown-body\">\n {children}\n </div>\n )\n}\n\nBody.displayName = 'Dropdown.Body'\n\nconst Dropdown = {\n Box,\n Trigger,\n Body,\n}\n\nexport { Dropdown }\n"],"names":["Box","React","Component","constructor","props","context","_timeout","_handleClickOutside","event","dropdownDOMNode","ReactDOM","findDOMNode","contains","target","_toggleShowBody","allowBodyInteractions","setTimeout","state","showBody","onShowBody","document","addEventListener","onHideBody","removeEventListener","setState","_setPosition","body","scrollingParent","getElementById","scrolling_parent","dropdown","dropdownVerticalPosition","offsetTop","dropdownTrigger","querySelector","dropdownTriggerHeight","clientHeight","dropdownBodyHeight","scrollingParentHeight","scrollingParentOffset","scrollTop","bottomOffset","top","undefined","componentWillUnmount","clearTimeout","_getTriggerComponent","_trigger","children","cloneElement","onClick","_getBodyComponent","right","setPosition","className","classNames","body_wrapper","with_arrow","bottom","contentMarkup","style","position","render","display","displayName","Trigger","forwardRef","ref","tooltip","handleClick","preventDefault","stopPropagation","Button","Body","left","id","Dropdown"],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  import React__default from 'react';
2
2
 
3
- var CloseIcon = function CloseIcon() {
4
- return /*#__PURE__*/React__default.createElement("svg", {
5
- width: "24",
6
- height: "24",
7
- viewBox: "0 0 24 24"
8
- }, /*#__PURE__*/React__default.createElement("path", {
9
- fill: "gray",
10
- fillRule: "evenodd",
11
- d: "M11.293 12L5.146 5.854a.5.5 0 1 1 .708-.708L12 11.293l6.146-6.147a.5.5 0 0 1 .708.708L12.707 12l6.147 6.146a.5.5 0 0 1-.708.708L12 12.707l-6.146 6.147a.5.5 0 0 1-.708-.708L11.293 12z"
12
- }));
13
- };
3
+ const CloseIcon = () => /*#__PURE__*/React__default.createElement("svg", {
4
+ width: "24",
5
+ height: "24",
6
+ viewBox: "0 0 24 24"
7
+ }, /*#__PURE__*/React__default.createElement("path", {
8
+ fill: "gray",
9
+ fillRule: "evenodd",
10
+ d: "M11.293 12L5.146 5.854a.5.5 0 1 1 .708-.708L12 11.293l6.146-6.147a.5.5 0 0 1 .708.708L12.707 12l6.147 6.146a.5.5 0 0 1-.708.708L12 12.707l-6.146 6.147a.5.5 0 0 1-.708-.708L11.293 12z"
11
+ }));
14
12
 
15
13
  export default CloseIcon;
16
14
  //# sourceMappingURL=CloseIcon.svg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CloseIcon.svg.js","sources":["../../../src/components/icons/CloseIcon.svg.tsx"],"sourcesContent":["import React from 'react'\n\nconst CloseIcon = () => (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path\n fill=\"gray\"\n fillRule=\"evenodd\"\n d=\"M11.293 12L5.146 5.854a.5.5 0 1 1 .708-.708L12 11.293l6.146-6.147a.5.5 0 0 1 .708.708L12.707 12l6.147 6.146a.5.5 0 0 1-.708.708L12 12.707l-6.146 6.147a.5.5 0 0 1-.708-.708L11.293 12z\"\n />\n </svg>\n)\n\nexport default CloseIcon\n"],"names":["CloseIcon","React","width","height","viewBox","fill","fillRule","d"],"mappings":";;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,sBACdC,4BAAA,MAAA;AAAKC,IAAAA,KAAK,EAAC;AAAKC,IAAAA,MAAM,EAAC;AAAKC,IAAAA,OAAO,EAAC;GAApC,eACIH,4BAAA,OAAA;AACII,IAAAA,IAAI,EAAC;AACLC,IAAAA,QAAQ,EAAC;AACTC,IAAAA,CAAC,EAAC;GAHN,CADJ,CADc;AAAA,CAAlB;;;;"}
1
+ {"version":3,"file":"CloseIcon.svg.js","sources":["../../../src/components/icons/CloseIcon.svg.tsx"],"sourcesContent":["import React from 'react'\n\nconst CloseIcon = () => (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path\n fill=\"gray\"\n fillRule=\"evenodd\"\n d=\"M11.293 12L5.146 5.854a.5.5 0 1 1 .708-.708L12 11.293l6.146-6.147a.5.5 0 0 1 .708.708L12.707 12l6.147 6.146a.5.5 0 0 1-.708.708L12 12.707l-6.146 6.147a.5.5 0 0 1-.708-.708L11.293 12z\"\n />\n </svg>\n)\n\nexport default CloseIcon\n"],"names":["CloseIcon","React","width","height","viewBox","fill","fillRule","d"],"mappings":";;AAEA,MAAMA,SAAS,GAAG,mBACdC,4BAAA,MAAA;EAAKC,KAAK,EAAC;EAAKC,MAAM,EAAC;EAAKC,OAAO,EAAC;CAApC,eACIH,4BAAA,OAAA;EACII,IAAI,EAAC;EACLC,QAAQ,EAAC;EACTC,CAAC,EAAC;CAHN,CADJ,CADJ;;;;"}
@@ -1,9 +1,10 @@
1
+ import { objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React__default from 'react';
2
3
  import classNames from 'classnames';
3
4
 
4
- var Input = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
5
- var className = classNames('reactist_input', props.className);
6
- return /*#__PURE__*/React__default.createElement("input", Object.assign({}, props, {
5
+ const Input = /*#__PURE__*/React__default.forwardRef((props, ref) => {
6
+ const className = classNames('reactist_input', props.className);
7
+ return /*#__PURE__*/React__default.createElement("input", _objectSpread2(_objectSpread2({}, props), {}, {
7
8
  className: className,
8
9
  ref: ref
9
10
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../src/components/input/input.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport './input.less'\n\ntype InputProps = {\n /** Additional css class applied to the input. */\n className?: string\n ref?: React.Ref<HTMLInputElement>\n}\n\ntype Props = InputProps & React.InputHTMLAttributes<HTMLInputElement>\n\nconst Input: React.FC<React.PropsWithRef<Props>> = React.forwardRef(\n (props: Props, ref: React.Ref<HTMLInputElement>) => {\n const className = classNames('reactist_input', props.className)\n return <input {...props} className={className} ref={ref} />\n },\n)\nInput.displayName = 'Input'\n\nexport { Input }\n"],"names":["Input","React","forwardRef","props","ref","className","classNames","displayName"],"mappings":";;;IAaMA,KAAK,gBAAwCC,cAAK,CAACC,UAAN,CAC/C,UAACC,KAAD,EAAeC,GAAf;AACI,MAAMC,SAAS,GAAGC,UAAU,CAAC,gBAAD,EAAmBH,KAAK,CAACE,SAAzB,CAA5B;AACA,sBAAOJ,4BAAA,QAAA,oBAAWE;AAAOE,IAAAA,SAAS,EAAEA;AAAWD,IAAAA,GAAG,EAAEA;IAA7C,CAAP;AACH,CAJ8C;AAMnDJ,KAAK,CAACO,WAAN,GAAoB,OAApB;;;;"}
1
+ {"version":3,"file":"input.js","sources":["../../../src/components/input/input.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport './input.less'\n\ntype InputProps = {\n /** Additional css class applied to the input. */\n className?: string\n ref?: React.Ref<HTMLInputElement>\n}\n\ntype Props = InputProps & React.InputHTMLAttributes<HTMLInputElement>\n\nconst Input: React.FC<React.PropsWithRef<Props>> = React.forwardRef(\n (props: Props, ref: React.Ref<HTMLInputElement>) => {\n const className = classNames('reactist_input', props.className)\n return <input {...props} className={className} ref={ref} />\n },\n)\nInput.displayName = 'Input'\n\nexport { Input }\n"],"names":["Input","React","forwardRef","props","ref","className","classNames","displayName"],"mappings":";;;;MAaMA,KAAK,gBAAwCC,cAAK,CAACC,UAAN,CAC/C,CAACC,KAAD,EAAeC,GAAf;EACI,MAAMC,SAAS,GAAGC,UAAU,CAAC,gBAAD,EAAmBH,KAAK,CAACE,SAAzB,CAA5B;EACA,oBAAOJ,4BAAA,QAAA,oCAAWE,KAAX;IAAkBE,SAAS,EAAEA,SAA7B;IAAwCD,GAAG,EAAEA;KAApD;AACH,CAJ8C;AAMnDJ,KAAK,CAACO,WAAN,GAAoB,OAApB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React__default, { useRef } from 'react';
3
3
 
4
- var SUPPORTED_KEYS = {
4
+ const SUPPORTED_KEYS = {
5
5
  ARROW_UP: 'ArrowUp',
6
6
  ARROW_RIGHT: 'ArrowRight',
7
7
  ARROW_DOWN: 'ArrowDown',
@@ -10,8 +10,8 @@ var SUPPORTED_KEYS = {
10
10
  BACKSPACE: 'Backspace',
11
11
  ESCAPE: 'Escape'
12
12
  };
13
- var KeyCapturerResolver = {
14
- resolveByKey: function resolveByKey(eventKey) {
13
+ const KeyCapturerResolver = {
14
+ resolveByKey(eventKey) {
15
15
  switch (eventKey) {
16
16
  case 'Left': // IE specific
17
17
 
@@ -64,7 +64,8 @@ var KeyCapturerResolver = {
64
64
  }
65
65
  }
66
66
  },
67
- resolveByKeyCode: function resolveByKeyCode(keyCode) {
67
+
68
+ resolveByKeyCode(keyCode) {
68
69
  switch (keyCode) {
69
70
  case 37:
70
71
  {
@@ -107,8 +108,9 @@ var KeyCapturerResolver = {
107
108
  }
108
109
  }
109
110
  }
111
+
110
112
  };
111
- var keyEventHandlerMapping = {
113
+ const keyEventHandlerMapping = {
112
114
  ArrowUp: 'onArrowUp',
113
115
  ArrowDown: 'onArrowDown',
114
116
  ArrowLeft: 'onArrowLeft',
@@ -117,7 +119,7 @@ var keyEventHandlerMapping = {
117
119
  Backspace: 'onBackspace',
118
120
  Escape: 'onEscape'
119
121
  };
120
- var keyPropagatePropMapping = {
122
+ const keyPropagatePropMapping = {
121
123
  ArrowUp: 'propagateArrowUp',
122
124
  ArrowDown: 'propagateArrowDown',
123
125
  ArrowLeft: 'propagateArrowLeft',
@@ -136,27 +138,26 @@ var keyPropagatePropMapping = {
136
138
  */
137
139
 
138
140
  function KeyCapturer(props) {
139
- var _objectSpread2$1;
140
-
141
- var children = props.children,
142
- _props$eventName = props.eventName,
143
- eventName = _props$eventName === void 0 ? 'onKeyDown' : _props$eventName;
144
- var composingRef = useRef(false);
145
- var composingEventHandlers = props.onEnter ? {
146
- onCompositionStart: function onCompositionStart() {
141
+ const {
142
+ children,
143
+ eventName = 'onKeyDown'
144
+ } = props;
145
+ const composingRef = useRef(false);
146
+ const composingEventHandlers = props.onEnter ? {
147
+ onCompositionStart: () => {
147
148
  composingRef.current = true;
148
149
  },
149
- onCompositionEnd: function onCompositionEnd() {
150
+ onCompositionEnd: () => {
150
151
  composingRef.current = false;
151
152
  }
152
153
  } : undefined;
153
154
 
154
155
  function handleKeyEvent(event) {
155
156
  // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
156
- var key = event.key !== undefined ? KeyCapturerResolver.resolveByKey(event.key) : KeyCapturerResolver.resolveByKeyCode(event.keyCode);
157
+ const key = event.key !== undefined ? KeyCapturerResolver.resolveByKey(event.key) : KeyCapturerResolver.resolveByKeyCode(event.keyCode);
157
158
  if (!key) return;
158
- var propagateEvent = props[keyPropagatePropMapping[key]] || false;
159
- var eventHandler = props[keyEventHandlerMapping[key]];
159
+ const propagateEvent = props[keyPropagatePropMapping[key]] || false;
160
+ const eventHandler = props[keyEventHandlerMapping[key]];
160
161
 
161
162
  if (key === 'Enter' && eventHandler) {
162
163
  if (composingRef.current || // Safari fires the onCompositionEnd event before the keydown event, so we
@@ -177,7 +178,9 @@ function KeyCapturer(props) {
177
178
  }
178
179
  }
179
180
 
180
- return /*#__PURE__*/React__default.cloneElement(children, _objectSpread2((_objectSpread2$1 = {}, _objectSpread2$1[eventName] = handleKeyEvent, _objectSpread2$1), composingEventHandlers));
181
+ return /*#__PURE__*/React__default.cloneElement(children, _objectSpread2({
182
+ [eventName]: handleKeyEvent
183
+ }, composingEventHandlers));
181
184
  }
182
185
 
183
186
  export { KeyCapturer, KeyCapturerResolver, SUPPORTED_KEYS };