d2coreui 21.0.33 → 23.0.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 (295) hide show
  1. package/components/clipboard/clipboardUtils.d.ts +4 -3
  2. package/components/clipboard/clipboardUtils.js +47 -22
  3. package/components/clipboard/clipboardUtils.js.map +1 -1
  4. package/components/codemirror/SyntaxHighlighter.d.ts +21 -21
  5. package/components/codemirror/SyntaxHighlighter.js +45 -44
  6. package/components/codemirror/SyntaxHighlighter.js.map +1 -1
  7. package/components/collapse/expandable.d.ts +13 -12
  8. package/components/collapse/expandable.js +20 -20
  9. package/components/collapse/expandable.js.map +1 -1
  10. package/components/color/colorPicker.d.ts +20 -20
  11. package/components/color/colorPicker.js +53 -53
  12. package/components/color/colorPicker.js.map +1 -1
  13. package/components/color/colorSwatch.d.ts +13 -12
  14. package/components/color/colorSwatch.js +62 -62
  15. package/components/color/colorSwatch.js.map +1 -1
  16. package/components/color/colorUtils.d.ts +7 -7
  17. package/components/color/colorUtils.js +43 -43
  18. package/components/color/colorUtils.js.map +1 -1
  19. package/components/date/dateRangeInput.d.ts +66 -64
  20. package/components/date/dateRangeInput.js +292 -297
  21. package/components/date/dateRangeInput.js.map +1 -1
  22. package/components/date/dateRangeInputAdvancedPanel.d.ts +27 -26
  23. package/components/date/dateRangeInputAdvancedPanel.js +130 -115
  24. package/components/date/dateRangeInputAdvancedPanel.js.map +1 -1
  25. package/components/date/dateRangeInputConfirm.d.ts +31 -29
  26. package/components/date/dateRangeInputConfirm.js +132 -121
  27. package/components/date/dateRangeInputConfirm.js.map +1 -1
  28. package/components/date/dateTimeInput.d.ts +72 -69
  29. package/components/date/dateTimeInput.js +440 -412
  30. package/components/date/dateTimeInput.js.map +1 -1
  31. package/components/date/durationInput.d.ts +59 -56
  32. package/components/date/durationInput.js +269 -280
  33. package/components/date/durationInput.js.map +1 -1
  34. package/components/form/NiceFormItem.d.ts +14 -14
  35. package/components/form/NiceFormItem.js +28 -31
  36. package/components/form/NiceFormItem.js.map +1 -1
  37. package/components/grid/cell/beanAccessor.d.ts +9 -0
  38. package/components/grid/cell/beanAccessor.js +13 -0
  39. package/components/grid/cell/beanAccessor.js.map +1 -0
  40. package/components/grid/cell/cellEditorUtils.d.ts +4 -4
  41. package/components/grid/cell/cellEditorUtils.js +8 -8
  42. package/components/grid/cell/customEnumCellEditor.d.ts +4 -26
  43. package/components/grid/cell/customEnumCellEditor.js +82 -91
  44. package/components/grid/cell/customEnumCellEditor.js.map +1 -1
  45. package/components/grid/cell/dataGridCellEditorComponent.d.ts +14 -0
  46. package/components/grid/cell/dataGridCellEditorComponent.js +49 -0
  47. package/components/grid/cell/dataGridCellEditorComponent.js.map +1 -0
  48. package/components/grid/cell/dateCellEditor.d.ts +4 -25
  49. package/components/grid/cell/dateCellEditor.js +53 -72
  50. package/components/grid/cell/dateCellEditor.js.map +1 -1
  51. package/components/grid/cell/durationCellEditor.d.ts +4 -24
  52. package/components/grid/cell/durationCellEditor.js +74 -97
  53. package/components/grid/cell/durationCellEditor.js.map +1 -1
  54. package/components/grid/cell/hexaOctetStringCellEditor.d.ts +4 -24
  55. package/components/grid/cell/hexaOctetStringCellEditor.js +70 -94
  56. package/components/grid/cell/hexaOctetStringCellEditor.js.map +1 -1
  57. package/components/grid/cell/hexaValueCellEditor.d.ts +4 -24
  58. package/components/grid/cell/hexaValueCellEditor.js +65 -89
  59. package/components/grid/cell/hexaValueCellEditor.js.map +1 -1
  60. package/components/grid/cell/numberCellEditor.d.ts +4 -27
  61. package/components/grid/cell/numberCellEditor.js +73 -95
  62. package/components/grid/cell/numberCellEditor.js.map +1 -1
  63. package/components/grid/cell/rangeSelector.d.ts +78 -78
  64. package/components/grid/cell/rangeSelector.js +526 -518
  65. package/components/grid/cell/rangeSelector.js.map +1 -1
  66. package/components/grid/cell/simpleStatusTextCellEditor.d.ts +4 -32
  67. package/components/grid/cell/simpleStatusTextCellEditor.js +106 -116
  68. package/components/grid/cell/simpleStatusTextCellEditor.js.map +1 -1
  69. package/components/grid/cell/statusTextCellEditor.d.ts +4 -32
  70. package/components/grid/cell/statusTextCellEditor.js +136 -159
  71. package/components/grid/cell/statusTextCellEditor.js.map +1 -1
  72. package/components/grid/cell/tableDefaultRowStyleRules.d.ts +20 -20
  73. package/components/grid/cell/tableDefaultRowStyleRules.js +29 -18
  74. package/components/grid/cell/tableDefaultRowStyleRules.js.map +1 -1
  75. package/components/grid/cell/textCellEditor.d.ts +4 -21
  76. package/components/grid/cell/textCellEditor.js +63 -85
  77. package/components/grid/cell/textCellEditor.js.map +1 -1
  78. package/components/grid/cell/withAgGridHooks.d.ts +3 -0
  79. package/components/grid/cell/withAgGridHooks.js +15 -0
  80. package/components/grid/cell/withAgGridHooks.js.map +1 -0
  81. package/components/grid/columnUtils.d.ts +5 -5
  82. package/components/grid/columnUtils.js +26 -26
  83. package/components/grid/columnUtils.js.map +1 -1
  84. package/components/grid/config/columnTransfer.d.ts +21 -22
  85. package/components/grid/config/columnTransfer.js +205 -201
  86. package/components/grid/config/columnTransfer.js.map +1 -1
  87. package/components/grid/config/dataGridEditor.d.ts +41 -41
  88. package/components/grid/config/dataGridEditor.js +181 -160
  89. package/components/grid/config/dataGridEditor.js.map +1 -1
  90. package/components/grid/config/rowHeightCalculator.d.ts +8 -0
  91. package/components/grid/config/rowHeightCalculator.js +20 -0
  92. package/components/grid/config/rowHeightCalculator.js.map +1 -0
  93. package/components/grid/config/rowStylePicker.d.ts +27 -25
  94. package/components/grid/config/rowStylePicker.js +127 -109
  95. package/components/grid/config/rowStylePicker.js.map +1 -1
  96. package/components/grid/dataGrid.d.ts +218 -206
  97. package/components/grid/dataGrid.js +1629 -1538
  98. package/components/grid/dataGrid.js.map +1 -1
  99. package/components/grid/detail/detailHeaderPanel.d.ts +13 -13
  100. package/components/grid/detail/detailHeaderPanel.js +25 -25
  101. package/components/grid/detail/detailHeaderPanel.js.map +1 -1
  102. package/components/grid/export/contextMenu.d.ts +18 -24
  103. package/components/grid/export/contextMenu.js +116 -113
  104. package/components/grid/export/contextMenu.js.map +1 -1
  105. package/components/grid/export/progressPopup.d.ts +29 -29
  106. package/components/grid/export/progressPopup.js +93 -93
  107. package/components/grid/export/progressPopup.js.map +1 -1
  108. package/components/grid/export/worker/clipboardExport.d.ts +1 -1
  109. package/components/grid/export/worker/clipboardExport.js +8 -8
  110. package/components/grid/export/worker/csvExport.d.ts +1 -1
  111. package/components/grid/export/worker/csvExport.js +8 -8
  112. package/components/grid/export/worker/pdfExport.d.ts +1 -1
  113. package/components/grid/export/worker/pdfExport.js +81 -81
  114. package/components/grid/export/worker/pdfExport.js.map +1 -1
  115. package/components/grid/export/worker/txtExport.d.ts +1 -1
  116. package/components/grid/export/worker/txtExport.js +19 -19
  117. package/components/grid/extendedDataGrid.d.ts +140 -140
  118. package/components/grid/extendedDataGrid.js +704 -695
  119. package/components/grid/extendedDataGrid.js.map +1 -1
  120. package/components/grid/filter/customColumnFilter.d.ts +5 -21
  121. package/components/grid/filter/customColumnFilter.js +11 -82
  122. package/components/grid/filter/customColumnFilter.js.map +1 -1
  123. package/components/grid/filter/dataGridColumnFilter.d.ts +17 -0
  124. package/components/grid/filter/dataGridColumnFilter.js +49 -0
  125. package/components/grid/filter/dataGridColumnFilter.js.map +1 -0
  126. package/components/grid/filter/dateColumnFilter.d.ts +7 -11
  127. package/components/grid/filter/dateColumnFilter.js +22 -56
  128. package/components/grid/filter/dateColumnFilter.js.map +1 -1
  129. package/components/grid/filter/textColumnFilter.d.ts +8 -20
  130. package/components/grid/filter/textColumnFilter.js +24 -76
  131. package/components/grid/filter/textColumnFilter.js.map +1 -1
  132. package/components/grid/filter/wildcardQuickFilterEngine.d.ts +7 -0
  133. package/components/grid/filter/wildcardQuickFilterEngine.js +48 -0
  134. package/components/grid/filter/wildcardQuickFilterEngine.js.map +1 -0
  135. package/components/grid/header/simpleHeader.d.ts +17 -16
  136. package/components/grid/header/simpleHeader.js +230 -186
  137. package/components/grid/header/simpleHeader.js.map +1 -1
  138. package/components/grid/panel/dataGridPagination.d.ts +16 -16
  139. package/components/grid/panel/dataGridPagination.js +58 -58
  140. package/components/grid/panel/dataGridPagination.js.map +1 -1
  141. package/components/grid/panel/loadingOverlay.d.ts +6 -6
  142. package/components/grid/panel/loadingOverlay.js +10 -10
  143. package/components/grid/panel/loadingOverlay.js.map +1 -1
  144. package/components/grid/panel/noRecordsOverlay.d.ts +6 -6
  145. package/components/grid/panel/noRecordsOverlay.js +10 -10
  146. package/components/grid/panel/noRecordsOverlay.js.map +1 -1
  147. package/components/grid/panel/tablePagination.d.ts +10 -10
  148. package/components/grid/panel/tablePagination.js +45 -45
  149. package/components/grid/panel/tablePagination.js.map +1 -1
  150. package/components/icons/dropdownArrow.d.ts +8 -0
  151. package/components/icons/dropdownArrow.js +59 -0
  152. package/components/icons/dropdownArrow.js.map +1 -0
  153. package/components/icons/undoIcon.d.ts +8 -8
  154. package/components/icons/undoIcon.js +6 -6
  155. package/components/input/autoCompleteInput.d.ts +35 -35
  156. package/components/input/autoCompleteInput.js +122 -121
  157. package/components/input/autoCompleteInput.js.map +1 -1
  158. package/components/input/draftUtils.d.ts +4 -4
  159. package/components/input/draftUtils.js +48 -48
  160. package/components/input/draftUtils.js.map +1 -1
  161. package/components/input/draftail.d.ts +1 -1
  162. package/components/input/draftail.js +1 -1
  163. package/components/input/hexaFormattedInput.d.ts +16 -16
  164. package/components/input/hexaFormattedInput.js +54 -54
  165. package/components/input/hexaFormattedInput.js.map +1 -1
  166. package/components/input/mask/helpers.d.ts +28 -28
  167. package/components/input/mask/helpers.js +112 -112
  168. package/components/input/mask/helpers.js.map +1 -1
  169. package/components/input/mask/inputMaskCore.d.ts +46 -46
  170. package/components/input/mask/inputMaskCore.js +278 -278
  171. package/components/input/mask/inputMaskCore.js.map +1 -1
  172. package/components/input/mask/pattern.d.ts +20 -20
  173. package/components/input/mask/pattern.js +78 -78
  174. package/components/input/mask/pattern.js.map +1 -1
  175. package/components/input/maskedInput.d.ts +373 -351
  176. package/components/input/maskedInput.js +224 -224
  177. package/components/input/maskedInput.js.map +1 -1
  178. package/components/input/passwordInput.d.ts +9 -9
  179. package/components/input/passwordInput.js +55 -55
  180. package/components/input/passwordInput.js.map +1 -1
  181. package/components/input/simpleAutoComplete.d.ts +12 -12
  182. package/components/input/simpleAutoComplete.js +41 -43
  183. package/components/input/simpleAutoComplete.js.map +1 -1
  184. package/components/input/textarea/extractSpansOfClasses.d.ts +15 -15
  185. package/components/input/textarea/extractSpansOfClasses.js +96 -96
  186. package/components/input/textarea/extractSpansOfClasses.js.map +1 -1
  187. package/components/input/textarea/getRanges.d.ts +1 -1
  188. package/components/input/textarea/getRanges.js +73 -73
  189. package/components/input/textarea/getRanges.js.map +1 -1
  190. package/components/input/textarea/getType.d.ts +1 -1
  191. package/components/input/textarea/getType.js +26 -26
  192. package/components/input/textarea/getType.js.map +1 -1
  193. package/components/input/textarea/highlighedContents.d.ts +6 -6
  194. package/components/input/textarea/highlighedContents.js +10 -10
  195. package/components/input/textarea/mentionsWithHighlighting.d.ts +27 -27
  196. package/components/input/textarea/mentionsWithHighlighting.js +60 -60
  197. package/components/input/textarea/mentionsWithHighlighting.js.map +1 -1
  198. package/components/keyboard/keyboardUtils.d.ts +5 -5
  199. package/components/keyboard/keyboardUtils.js +32 -32
  200. package/components/modal/draggableModalProvider.d.ts +4 -4
  201. package/components/modal/draggableModalProvider.js +21 -21
  202. package/components/modal/draggableModalProvider.js.map +1 -1
  203. package/components/modal/impl/clamp.d.ts +1 -1
  204. package/components/modal/impl/clamp.js +1 -1
  205. package/components/modal/impl/clamp.js.map +1 -1
  206. package/components/modal/impl/draggableModal.d.ts +12 -12
  207. package/components/modal/impl/draggableModal.js +17 -17
  208. package/components/modal/impl/draggableModal.js.map +1 -1
  209. package/components/modal/impl/draggableModalContext.d.ts +9 -9
  210. package/components/modal/impl/draggableModalContext.js +2 -2
  211. package/components/modal/impl/draggableModalContext.js.map +1 -1
  212. package/components/modal/impl/draggableModalInner.d.ts +15 -13
  213. package/components/modal/impl/draggableModalInner.js +57 -55
  214. package/components/modal/impl/draggableModalInner.js.map +1 -1
  215. package/components/modal/impl/draggableModalReducer.d.ts +66 -62
  216. package/components/modal/impl/draggableModalReducer.js +77 -78
  217. package/components/modal/impl/draggableModalReducer.js.map +1 -1
  218. package/components/modal/impl/getWindowSize.d.ts +4 -4
  219. package/components/modal/impl/getWindowSize.js +4 -4
  220. package/components/modal/impl/getWindowSize.js.map +1 -1
  221. package/components/modal/impl/index.d.ts +3 -3
  222. package/components/modal/impl/index.js +3 -3
  223. package/components/modal/impl/index.js.map +1 -1
  224. package/components/modal/impl/resizeHandle.d.ts +3 -3
  225. package/components/modal/impl/resizeHandle.js +4 -4
  226. package/components/modal/impl/resizeHandle.js.map +1 -1
  227. package/components/modal/impl/useDrag.d.ts +5 -5
  228. package/components/modal/impl/useDrag.js +42 -42
  229. package/components/modal/impl/useDrag.js.map +1 -1
  230. package/components/modal/impl/usePrevious.d.ts +1 -1
  231. package/components/modal/impl/usePrevious.js +8 -8
  232. package/components/modal/impl/usePrevious.js.map +1 -1
  233. package/components/modal/impl/useResize.d.ts +7 -7
  234. package/components/modal/impl/useResize.js +46 -46
  235. package/components/modal/impl/useResize.js.map +1 -1
  236. package/components/modal/modalDialog.d.ts +49 -49
  237. package/components/modal/modalDialog.js +152 -152
  238. package/components/modal/modalDialog.js.map +1 -1
  239. package/components/picker/enumValuePicker.d.ts +16 -16
  240. package/components/picker/enumValuePicker.js +34 -34
  241. package/components/picker/enumValuePicker.js.map +1 -1
  242. package/components/platformSpecific.d.ts +10 -10
  243. package/components/platformSpecific.js +27 -27
  244. package/components/scrollTo/onlyText.d.ts +4 -4
  245. package/components/scrollTo/onlyText.js +30 -30
  246. package/components/scrollTo/onlyText.js.map +1 -1
  247. package/components/scrollTo/scrollTo.d.ts +41 -39
  248. package/components/scrollTo/scrollTo.js +264 -264
  249. package/components/scrollTo/scrollTo.js.map +1 -1
  250. package/components/style/withCss.d.ts +9 -0
  251. package/components/style/withCss.js +6 -0
  252. package/components/style/withCss.js.map +1 -0
  253. package/components/style/withInputNumberCss.d.ts +6 -0
  254. package/components/style/withInputNumberCss.js +13 -0
  255. package/components/style/withInputNumberCss.js.map +1 -0
  256. package/components/table/dragSortingTable.d.ts +13 -14
  257. package/components/table/dragSortingTable.js +96 -82
  258. package/components/table/dragSortingTable.js.map +1 -1
  259. package/components/text/impl/innerSize.d.ts +2 -2
  260. package/components/text/impl/innerSize.js +12 -12
  261. package/components/text/impl/series.d.ts +1 -1
  262. package/components/text/impl/series.js +28 -28
  263. package/components/text/impl/shallowEqual.d.ts +1 -1
  264. package/components/text/impl/shallowEqual.js +18 -18
  265. package/components/text/impl/shallowEqual.js.map +1 -1
  266. package/components/text/impl/uniqueId.d.ts +1 -1
  267. package/components/text/impl/uniqueId.js +4 -4
  268. package/components/text/impl/whilst.d.ts +1 -1
  269. package/components/text/impl/whilst.js +19 -19
  270. package/components/text/impl/whilst.js.map +1 -1
  271. package/components/text/textFit.d.ts +38 -38
  272. package/components/text/textFit.js +165 -168
  273. package/components/text/textFit.js.map +1 -1
  274. package/i18n/components.cs.json +101 -100
  275. package/i18n/components.sk.json +101 -100
  276. package/i18n/components.uk.json +101 -100
  277. package/i18n/componentsLocaleHolder.d.ts +3 -3
  278. package/i18n/componentsLocaleHolder.js +28 -28
  279. package/i18n/componentsLocaleHolder.js.map +1 -1
  280. package/package.json +71 -70
  281. package/style/index.less +274 -298
  282. package/style/modal/DraggableModal.css +43 -40
  283. package/style/modal/ResizeHandle.css +27 -19
  284. package/tsconfig.build.json +24 -24
  285. package/tsconfig.json +11 -11
  286. package/components/grid/cell/wildcardQuickFilter.d.ts +0 -11
  287. package/components/grid/cell/wildcardQuickFilter.js +0 -61
  288. package/components/grid/cell/wildcardQuickFilter.js.map +0 -1
  289. package/components/table/dataTable.d.ts +0 -17
  290. package/components/table/dataTable.js +0 -79
  291. package/components/table/dataTable.js.map +0 -1
  292. package/style/antd/antd-tree-showline.css +0 -25
  293. package/style/antd/full-height-tabs.scss +0 -63
  294. package/style/draftail/draftail-editor.css +0 -179
  295. package/style/table/dragSortingTable.css +0 -7
@@ -1,79 +1,78 @@
1
- import { getWindowSize } from './getWindowSize';
2
- import { clamp } from './clamp';
3
- const mapObject = (o, f) => Object.assign({}, ...Object.keys(o).map(k => ({ [k]: f(o[k]) })));
4
- export const initialModalsState = {
5
- maxZIndex: 0,
6
- windowSize: getWindowSize(),
7
- modals: {},
8
- };
9
- export const initialModalState = {
10
- x: 0,
11
- y: 0,
12
- width: 400,
13
- height: 400,
14
- zIndex: 0,
15
- visible: false,
16
- };
17
- export const getOrCreateModalState = (state, id, initialWidth, initialHeight) => state.modals[id] || Object.assign({}, initialModalState, {
18
- width: initialWidth ? initialWidth : 400,
19
- height: initialHeight ? initialHeight : 400
20
- });
21
- export const getModalState = (state, id) => state.modals[id] || initialModalState;
22
- const getNextZIndex = (state, id) => getModalState(state, id).zIndex === state.maxZIndex ? state.maxZIndex : state.maxZIndex + 1;
23
- const clampDrag = (windowWidth, windowHeight, x, y, width, height) => {
24
- const maxX = windowWidth - width;
25
- const maxY = windowHeight - height;
26
- const clampedX = clamp(0, maxX, x);
27
- const clampedY = clamp(0, maxY, y);
28
- return { x: clampedX, y: clampedY };
29
- };
30
- const clampResize = (windowWidth, windowHeight, x, y, width, height) => {
31
- const maxWidth = windowWidth - x;
32
- const maxHeight = windowHeight - y;
33
- const clampedWidth = clamp(200, maxWidth, width);
34
- const clampedHeight = clamp(200, maxHeight, height);
35
- return { width: clampedWidth, height: clampedHeight };
36
- };
37
- export const draggableModalReducer = (state, action) => {
38
- switch (action.type) {
39
- case 'resize':
40
- const size = clampResize(state.windowSize.width, state.windowSize.height, action.x, action.y, action.width, action.height);
41
- return Object.assign(Object.assign({}, state), { maxZIndex: getNextZIndex(state, action.id), modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign(Object.assign({}, state.modals[action.id]), size), { zIndex: getNextZIndex(state, action.id) }) }) });
42
- case 'drag':
43
- return Object.assign(Object.assign({}, state), { maxZIndex: getNextZIndex(state, action.id), modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign(Object.assign({}, state.modals[action.id]), clampDrag(state.windowSize.width, state.windowSize.height, action.x, action.y, state.modals[action.id].width, state.modals[action.id].height)), { zIndex: getNextZIndex(state, action.id) }) }) });
44
- case 'show': {
45
- const modalState = state.modals[action.id];
46
- const centerX = state.windowSize.width / 2 - modalState.width / 2;
47
- const centerY = state.windowSize.height / 2 - modalState.height / 2;
48
- const position = clampDrag(state.windowSize.width, state.windowSize.height, centerX, centerY, modalState.width, modalState.height);
49
- const size = clampResize(state.windowSize.width, state.windowSize.height, position.x, position.y, modalState.width, modalState.height);
50
- return Object.assign(Object.assign({}, state), { maxZIndex: state.maxZIndex + 1, modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign(Object.assign(Object.assign({}, modalState), position), size), { zIndex: state.maxZIndex + 1, visible: true }) }) });
51
- }
52
- case 'focus':
53
- const modalState = state.modals[action.id];
54
- return Object.assign(Object.assign({}, state), { maxZIndex: state.maxZIndex + 1, modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign({}, modalState), { zIndex: state.maxZIndex + 1 }) }) });
55
- case 'hide': {
56
- const modalState = state.modals[action.id];
57
- return Object.assign(Object.assign({}, state), { modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign({}, modalState), { visible: false }) }) });
58
- }
59
- case 'mount':
60
- const initialState = Object.assign({}, initialModalState, action.size);
61
- return Object.assign(Object.assign({}, state), { maxZIndex: state.maxZIndex + 1, modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign({}, initialState), { x: state.windowSize.width / 2 - initialState.width / 2, y: state.windowSize.height / 2 - initialState.height / 2, zIndex: state.maxZIndex + 1 }) }) });
62
- case 'unmount':
63
- const modalsClone = Object.assign({}, state.modals);
64
- delete modalsClone[action.id];
65
- return Object.assign(Object.assign({}, state), { modals: modalsClone });
66
- case 'windowResize':
67
- return Object.assign(Object.assign({}, state), { windowSize: action.size, modals: mapObject(state.modals, (modalState) => {
68
- if (!modalState.visible) {
69
- return modalState;
70
- }
71
- const position = clampDrag(state.windowSize.width, state.windowSize.height, modalState.x, modalState.y, modalState.width, modalState.height);
72
- const size = clampResize(state.windowSize.width, state.windowSize.height, position.x, position.y, modalState.width, modalState.height);
73
- return Object.assign(Object.assign(Object.assign({}, modalState), position), size);
74
- }) });
75
- default:
76
- throw new Error();
77
- }
78
- };
1
+ import { getWindowSize } from './getWindowSize';
2
+ import { clamp } from './clamp';
3
+ const mapObject = (o, f) => Object.assign({}, ...Object.keys(o).map(k => ({ [k]: f(o[k]) })));
4
+ export const initialModalsState = {
5
+ maxZIndex: 0,
6
+ windowSize: getWindowSize(),
7
+ modals: {},
8
+ };
9
+ export const initialModalState = {
10
+ x: 0,
11
+ y: 0,
12
+ width: 400,
13
+ height: 400,
14
+ zIndex: 0,
15
+ visible: false,
16
+ };
17
+ const getInitialModalState = ({ initialWidth = initialModalState.width, initialHeight = initialModalState.height, }) => {
18
+ return Object.assign(Object.assign({}, initialModalState), { width: initialWidth, height: initialHeight });
19
+ };
20
+ export const getModalState = ({ state, id, initialWidth, initialHeight, }) => state.modals[id] || getInitialModalState({ initialWidth, initialHeight });
21
+ const getNextZIndex = (state, id) => getModalState({ state, id }).zIndex === state.maxZIndex ? state.maxZIndex : state.maxZIndex + 1;
22
+ const clampDrag = (windowWidth, windowHeight, x, y, width, height) => {
23
+ const maxX = windowWidth - width;
24
+ const maxY = windowHeight - height;
25
+ const clampedX = clamp(0, maxX, x);
26
+ const clampedY = clamp(0, maxY, y);
27
+ return { x: clampedX, y: clampedY };
28
+ };
29
+ const clampResize = (windowWidth, windowHeight, x, y, width, height) => {
30
+ const maxWidth = windowWidth - x;
31
+ const maxHeight = windowHeight - y;
32
+ const clampedWidth = clamp(200, maxWidth, width);
33
+ const clampedHeight = clamp(200, maxHeight, height);
34
+ return { width: clampedWidth, height: clampedHeight };
35
+ };
36
+ export const draggableModalReducer = (state, action) => {
37
+ switch (action.type) {
38
+ case 'resize':
39
+ const size = clampResize(state.windowSize.width, state.windowSize.height, action.x, action.y, action.width, action.height);
40
+ return Object.assign(Object.assign({}, state), { maxZIndex: getNextZIndex(state, action.id), modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign(Object.assign({}, state.modals[action.id]), size), { zIndex: getNextZIndex(state, action.id) }) }) });
41
+ case 'drag':
42
+ return Object.assign(Object.assign({}, state), { maxZIndex: getNextZIndex(state, action.id), modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign(Object.assign({}, state.modals[action.id]), clampDrag(state.windowSize.width, state.windowSize.height, action.x, action.y, state.modals[action.id].width, state.modals[action.id].height)), { zIndex: getNextZIndex(state, action.id) }) }) });
43
+ case 'show': {
44
+ const modalState = state.modals[action.id];
45
+ const centerX = state.windowSize.width / 2 - modalState.width / 2;
46
+ const centerY = state.windowSize.height / 2 - modalState.height / 2;
47
+ const position = clampDrag(state.windowSize.width, state.windowSize.height, centerX, centerY, modalState.width, modalState.height);
48
+ const size = clampResize(state.windowSize.width, state.windowSize.height, position.x, position.y, modalState.width, modalState.height);
49
+ return Object.assign(Object.assign({}, state), { maxZIndex: state.maxZIndex + 1, modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign(Object.assign(Object.assign({}, modalState), position), size), { zIndex: state.maxZIndex + 1, visible: true }) }) });
50
+ }
51
+ case 'focus':
52
+ const modalState = state.modals[action.id];
53
+ return Object.assign(Object.assign({}, state), { maxZIndex: state.maxZIndex + 1, modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign({}, modalState), { zIndex: state.maxZIndex + 1 }) }) });
54
+ case 'hide': {
55
+ const modalState = state.modals[action.id];
56
+ return Object.assign(Object.assign({}, state), { modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign({}, modalState), { visible: false }) }) });
57
+ }
58
+ case 'mount':
59
+ const initialState = getInitialModalState(action.intialState);
60
+ return Object.assign(Object.assign({}, state), { maxZIndex: state.maxZIndex + 1, modals: Object.assign(Object.assign({}, state.modals), { [action.id]: Object.assign(Object.assign({}, initialState), { x: state.windowSize.width / 2 - initialState.width / 2, y: state.windowSize.height / 2 - initialState.height / 2, zIndex: state.maxZIndex + 1 }) }) });
61
+ case 'unmount':
62
+ const modalsClone = Object.assign({}, state.modals);
63
+ delete modalsClone[action.id];
64
+ return Object.assign(Object.assign({}, state), { modals: modalsClone });
65
+ case 'windowResize':
66
+ return Object.assign(Object.assign({}, state), { windowSize: action.size, modals: mapObject(state.modals, (modalState) => {
67
+ if (!modalState.visible) {
68
+ return modalState;
69
+ }
70
+ const position = clampDrag(state.windowSize.width, state.windowSize.height, modalState.x, modalState.y, modalState.width, modalState.height);
71
+ const size = clampResize(state.windowSize.width, state.windowSize.height, position.x, position.y, modalState.width, modalState.height);
72
+ return Object.assign(Object.assign(Object.assign({}, modalState), position), size);
73
+ }) });
74
+ default:
75
+ throw new Error();
76
+ }
77
+ };
79
78
  //# sourceMappingURL=draggableModalReducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"draggableModalReducer.js","sourceRoot":"","sources":["../../../../../components/modal/impl/draggableModalReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAE7B,MAAM,SAAS,GAAG,CAAI,CAAuB,EAAE,CAAkB,EAAwB,EAAE,CACvF,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;AA2BnE,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC3C,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,aAAa,EAAE;IAC3B,MAAM,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAe;IACzC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,KAAK;CACjB,CAAC;AAmBF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAkB,EAAE,EAAW,EAAE,YAAgC,EAAE,aAAiC,EAAc,EAAE,CACtJ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE;IACrD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG;IACxC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG;CAC9C,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAkB,EAAE,EAAW,EAAc,EAAE,CACzE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC;AAE1C,MAAM,aAAa,GAAG,CAAC,KAAkB,EAAE,EAAU,EAAU,EAAE,CAC7D,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;AAEhG,MAAM,SAAS,GAAG,CACd,WAAmB,EACnB,YAAoB,EACpB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACU,EAAE;IAC1B,MAAM,IAAI,GAAG,WAAW,GAAG,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAChB,WAAmB,EACnB,YAAoB,EACpB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACmB,EAAE;IACnC,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,EAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAC,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAkB,EAAE,MAAc,EAAe,EAAE;IACrF,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,QAAQ;YACT,MAAM,IAAI,GAAG,WAAW,CACpB,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CAChB,CAAA;YACD,uCACO,KAAK,KACR,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAC1C,MAAM,kCACC,KAAK,CAAC,MAAM,KACf,CAAC,MAAM,CAAC,EAAE,CAAC,gDACJ,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GACvB,IAAI,KACP,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,UAGlD;QACL,KAAK,MAAM;YACP,uCACO,KAAK,KACR,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAC1C,MAAM,kCACC,KAAK,CAAC,MAAM,KACf,CAAC,MAAM,CAAC,EAAE,CAAC,gDACJ,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GACvB,SAAS,CACR,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CACjC,KACD,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,UAGlD;QACL,KAAK,MAAM,CAAC,CAAC;YACT,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAA;YACjE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;YACnE,MAAM,QAAQ,GAAG,SAAS,CACtB,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,OAAO,EACP,OAAO,EACP,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,MAAM,CACpB,CAAA;YACD,MAAM,IAAI,GAAG,WAAW,CACpB,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,EACV,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,MAAM,CACpB,CAAA;YACD,uCACO,KAAK,KACR,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,EAC9B,MAAM,kCACC,KAAK,CAAC,MAAM,KACf,CAAC,MAAM,CAAC,EAAE,CAAC,8DACJ,UAAU,GACV,QAAQ,GACR,IAAI,KACP,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,EAC3B,OAAO,EAAE,IAAI,UAGxB;SACJ;QACD,KAAK,OAAO;YACR,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,uCACO,KAAK,KACR,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,EAC9B,MAAM,kCACC,KAAK,CAAC,MAAM,KACf,CAAC,MAAM,CAAC,EAAE,CAAC,kCACJ,UAAU,KACb,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,UAGtC;QACL,KAAK,MAAM,CAAC,CAAC;YACT,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,uCACO,KAAK,KACR,MAAM,kCACC,KAAK,CAAC,MAAM,KACf,CAAC,MAAM,CAAC,EAAE,CAAC,kCACJ,UAAU,KACb,OAAO,EAAE,KAAK,UAGzB;SACJ;QACD,KAAK,OAAO;YACR,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvE,uCACO,KAAK,KACR,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,EAC9B,MAAM,kCACC,KAAK,CAAC,MAAM,KACf,CAAC,MAAM,CAAC,EAAE,CAAC,kCACJ,YAAY,KACf,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,EACtD,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EACxD,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,UAGrC;QACN,KAAK,SAAS;YACV,MAAM,WAAW,qBAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,uCACO,KAAK,KACR,MAAM,EAAE,WAAW,IACrB;QACN,KAAK,cAAc;YACf,uCACO,KAAK,KACR,UAAU,EAAE,MAAM,CAAC,IAAI,EACvB,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,UAAsB,EAAE,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;wBACrB,OAAO,UAAU,CAAA;qBACpB;oBACD,MAAM,QAAQ,GAAG,SAAS,CACtB,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,UAAU,CAAC,CAAC,EACZ,UAAU,CAAC,CAAC,EACZ,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,MAAM,CACpB,CAAA;oBACD,MAAM,IAAI,GAAG,WAAW,CACpB,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,EACV,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,MAAM,CACpB,CAAA;oBACD,qDACO,UAAU,GACV,QAAQ,GACR,IAAI,EACV;gBACL,CAAC,CAAC,IACL;QACL;YACI,MAAM,IAAI,KAAK,EAAE,CAAA;KACxB;AACL,CAAC,CAAA","sourcesContent":["import {getWindowSize} from './getWindowSize'\nimport {clamp} from './clamp'\n\nconst mapObject = <T>(o: { [key: string]: T }, f: (value: T) => T): { [key: string]: T } =>\n Object.assign({}, ...Object.keys(o).map(k => ({[k]: f(o[k])})))\n\n// ID for a specific modal.\nexport type ModalID = string\n\n// State for a specific modal.\nexport interface ModalState {\n x: number\n y: number\n width: number\n height: number\n zIndex: number\n visible: boolean\n}\n\n// State of all modals.\nexport interface ModalsState {\n maxZIndex: number\n windowSize: {\n width: number\n height: number\n }\n modals: {\n [key: string]: ModalState\n }\n}\n\nexport const initialModalsState: ModalsState = {\n maxZIndex: 0,\n windowSize: getWindowSize(),\n modals: {},\n};\n\nexport const initialModalState: ModalState = {\n x: 0,\n y: 0,\n width: 400,\n height: 400,\n zIndex: 0,\n visible: false,\n};\n\nexport type Action =\n | { type: 'show'; id: ModalID }\n | { type: 'hide'; id: ModalID }\n | { type: 'focus'; id: ModalID }\n | { type: 'unmount'; id: ModalID }\n | { type: 'mount'; id: ModalID, size: { width?: number; height?: number } }\n | { type: 'windowResize'; size: { width: number; height: number } }\n | { type: 'drag'; id: ModalID; x: number; y: number }\n | {\n type: 'resize'\n id: ModalID\n x: number\n y: number\n width: number\n height: number\n}\n\nexport const getOrCreateModalState = (state: ModalsState, id: ModalID, initialWidth: number | undefined, initialHeight: number | undefined): ModalState =>\n state.modals[id] || Object.assign({}, initialModalState, {\n width: initialWidth ? initialWidth : 400,\n height: initialHeight ? initialHeight : 400\n });\n\nexport const getModalState = (state: ModalsState, id: ModalID): ModalState =>\n state.modals[id] || initialModalState;\n\nconst getNextZIndex = (state: ModalsState, id: string): number =>\n getModalState(state, id).zIndex === state.maxZIndex ? state.maxZIndex : state.maxZIndex + 1;\n\nconst clampDrag = (\n windowWidth: number,\n windowHeight: number,\n x: number,\n y: number,\n width: number,\n height: number,\n): { x: number; y: number } => {\n const maxX = windowWidth - width;\n const maxY = windowHeight - height;\n const clampedX = clamp(0, maxX, x);\n const clampedY = clamp(0, maxY, y);\n return {x: clampedX, y: clampedY}\n}\n\nconst clampResize = (\n windowWidth: number,\n windowHeight: number,\n x: number,\n y: number,\n width: number,\n height: number,\n): { width: number; height: number } => {\n const maxWidth = windowWidth - x;\n const maxHeight = windowHeight - y;\n const clampedWidth = clamp(200, maxWidth, width);\n const clampedHeight = clamp(200, maxHeight, height);\n return {width: clampedWidth, height: clampedHeight}\n}\n\nexport const draggableModalReducer = (state: ModalsState, action: Action): ModalsState => {\n switch (action.type) {\n case 'resize':\n const size = clampResize(\n state.windowSize.width,\n state.windowSize.height,\n action.x,\n action.y,\n action.width,\n action.height,\n )\n return {\n ...state,\n maxZIndex: getNextZIndex(state, action.id),\n modals: {\n ...state.modals,\n [action.id]: {\n ...state.modals[action.id],\n ...size,\n zIndex: getNextZIndex(state, action.id),\n },\n },\n }\n case 'drag':\n return {\n ...state,\n maxZIndex: getNextZIndex(state, action.id),\n modals: {\n ...state.modals,\n [action.id]: {\n ...state.modals[action.id],\n ...clampDrag(\n state.windowSize.width,\n state.windowSize.height,\n action.x,\n action.y,\n state.modals[action.id].width,\n state.modals[action.id].height,\n ),\n zIndex: getNextZIndex(state, action.id),\n },\n },\n }\n case 'show': {\n const modalState = state.modals[action.id]\n const centerX = state.windowSize.width / 2 - modalState.width / 2\n const centerY = state.windowSize.height / 2 - modalState.height / 2\n const position = clampDrag(\n state.windowSize.width,\n state.windowSize.height,\n centerX,\n centerY,\n modalState.width,\n modalState.height,\n )\n const size = clampResize(\n state.windowSize.width,\n state.windowSize.height,\n position.x,\n position.y,\n modalState.width,\n modalState.height,\n )\n return {\n ...state,\n maxZIndex: state.maxZIndex + 1,\n modals: {\n ...state.modals,\n [action.id]: {\n ...modalState,\n ...position,\n ...size,\n zIndex: state.maxZIndex + 1,\n visible: true,\n },\n },\n }\n }\n case 'focus':\n const modalState = state.modals[action.id]\n return {\n ...state,\n maxZIndex: state.maxZIndex + 1,\n modals: {\n ...state.modals,\n [action.id]: {\n ...modalState,\n zIndex: state.maxZIndex + 1,\n },\n },\n }\n case 'hide': {\n const modalState = state.modals[action.id]\n return {\n ...state,\n modals: {\n ...state.modals,\n [action.id]: {\n ...modalState,\n visible: false,\n },\n },\n }\n }\n case 'mount':\n const initialState = Object.assign({}, initialModalState, action.size);\n return {\n ...state,\n maxZIndex: state.maxZIndex + 1,\n modals: {\n ...state.modals,\n [action.id]: {\n ...initialState,\n x: state.windowSize.width / 2 - initialState.width / 2,\n y: state.windowSize.height / 2 - initialState.height / 2,\n zIndex: state.maxZIndex + 1,\n },\n },\n };\n case 'unmount':\n const modalsClone = {...state.modals};\n delete modalsClone[action.id];\n return {\n ...state,\n modals: modalsClone,\n };\n case 'windowResize':\n return {\n ...state,\n windowSize: action.size,\n modals: mapObject(state.modals, (modalState: ModalState) => {\n if (!modalState.visible) {\n return modalState\n }\n const position = clampDrag(\n state.windowSize.width,\n state.windowSize.height,\n modalState.x,\n modalState.y,\n modalState.width,\n modalState.height,\n )\n const size = clampResize(\n state.windowSize.width,\n state.windowSize.height,\n position.x,\n position.y,\n modalState.width,\n modalState.height,\n )\n return {\n ...modalState,\n ...position,\n ...size,\n }\n }),\n }\n default:\n throw new Error()\n }\n}\n"]}
1
+ {"version":3,"file":"draggableModalReducer.js","sourceRoot":"","sources":["../../../../../components/modal/impl/draggableModalReducer.ts"],"names":[],"mappings":"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","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nimport {getWindowSize} from './getWindowSize'\r\nimport {clamp} from './clamp'\r\n\r\nconst mapObject = <T>(o: { [key: string]: T }, f: (value: T) => T): { [key: string]: T } =>\r\n Object.assign({}, ...Object.keys(o).map(k => ({[k]: f(o[k])})))\r\n\r\n// ID for a specific modal.\r\nexport type ModalID = string\r\n\r\n// State for a specific modal.\r\nexport interface ModalState {\r\n x: number\r\n y: number\r\n width: number\r\n height: number\r\n zIndex: number\r\n visible: boolean\r\n}\r\n\r\n// State of all modals.\r\nexport interface ModalsState {\r\n maxZIndex: number\r\n windowSize: {\r\n width: number\r\n height: number\r\n }\r\n modals: {\r\n [key: string]: ModalState\r\n }\r\n}\r\n\r\nexport const initialModalsState: ModalsState = {\r\n maxZIndex: 0,\r\n windowSize: getWindowSize(),\r\n modals: {},\r\n};\r\n\r\nexport const initialModalState: ModalState = {\r\n x: 0,\r\n y: 0,\r\n width: 400,\r\n height: 400,\r\n zIndex: 0,\r\n visible: false,\r\n};\r\n\r\nconst getInitialModalState = ({\r\n initialWidth = initialModalState.width,\r\n initialHeight = initialModalState.height,\r\n }: {\r\n initialWidth?: number\r\n initialHeight?: number\r\n}) => {\r\n return {\r\n ...initialModalState,\r\n width: initialWidth,\r\n height: initialHeight,\r\n }\r\n}\r\n\r\nexport type Action =\r\n | { type: 'show'; id: ModalID }\r\n | { type: 'hide'; id: ModalID }\r\n | { type: 'focus'; id: ModalID }\r\n | { type: 'unmount'; id: ModalID }\r\n | { type: 'mount'; id: ModalID, intialState: { initialWidth?: number; initialHeight?: number } }\r\n | { type: 'windowResize'; size: { width: number; height: number } }\r\n | { type: 'drag'; id: ModalID; x: number; y: number }\r\n | {\r\n type: 'resize'\r\n id: ModalID\r\n x: number\r\n y: number\r\n width: number\r\n height: number\r\n}\r\n\r\nexport const getModalState = ({\r\n state,\r\n id,\r\n initialWidth,\r\n initialHeight,\r\n }: {\r\n state: ModalsState\r\n id: ModalID\r\n initialWidth?: number\r\n initialHeight?: number\r\n}): ModalState => state.modals[id] || getInitialModalState({ initialWidth, initialHeight })\r\n\r\nconst getNextZIndex = (state: ModalsState, id: string): number =>\r\n getModalState({state, id}).zIndex === state.maxZIndex ? state.maxZIndex : state.maxZIndex + 1;\r\n\r\nconst clampDrag = (\r\n windowWidth: number,\r\n windowHeight: number,\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n): { x: number; y: number } => {\r\n const maxX = windowWidth - width;\r\n const maxY = windowHeight - height;\r\n const clampedX = clamp(0, maxX, x);\r\n const clampedY = clamp(0, maxY, y);\r\n return {x: clampedX, y: clampedY}\r\n}\r\n\r\nconst clampResize = (\r\n windowWidth: number,\r\n windowHeight: number,\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n): { width: number; height: number } => {\r\n const maxWidth = windowWidth - x;\r\n const maxHeight = windowHeight - y;\r\n const clampedWidth = clamp(200, maxWidth, width);\r\n const clampedHeight = clamp(200, maxHeight, height);\r\n return {width: clampedWidth, height: clampedHeight}\r\n}\r\n\r\nexport const draggableModalReducer = (state: ModalsState, action: Action): ModalsState => {\r\n switch (action.type) {\r\n case 'resize':\r\n const size = clampResize(\r\n state.windowSize.width,\r\n state.windowSize.height,\r\n action.x,\r\n action.y,\r\n action.width,\r\n action.height,\r\n )\r\n return {\r\n ...state,\r\n maxZIndex: getNextZIndex(state, action.id),\r\n modals: {\r\n ...state.modals,\r\n [action.id]: {\r\n ...state.modals[action.id],\r\n ...size,\r\n zIndex: getNextZIndex(state, action.id),\r\n },\r\n },\r\n }\r\n case 'drag':\r\n return {\r\n ...state,\r\n maxZIndex: getNextZIndex(state, action.id),\r\n modals: {\r\n ...state.modals,\r\n [action.id]: {\r\n ...state.modals[action.id],\r\n ...clampDrag(\r\n state.windowSize.width,\r\n state.windowSize.height,\r\n action.x,\r\n action.y,\r\n state.modals[action.id].width,\r\n state.modals[action.id].height,\r\n ),\r\n zIndex: getNextZIndex(state, action.id),\r\n },\r\n },\r\n }\r\n case 'show': {\r\n const modalState = state.modals[action.id]\r\n const centerX = state.windowSize.width / 2 - modalState.width / 2\r\n const centerY = state.windowSize.height / 2 - modalState.height / 2\r\n const position = clampDrag(\r\n state.windowSize.width,\r\n state.windowSize.height,\r\n centerX,\r\n centerY,\r\n modalState.width,\r\n modalState.height,\r\n )\r\n const size = clampResize(\r\n state.windowSize.width,\r\n state.windowSize.height,\r\n position.x,\r\n position.y,\r\n modalState.width,\r\n modalState.height,\r\n )\r\n return {\r\n ...state,\r\n maxZIndex: state.maxZIndex + 1,\r\n modals: {\r\n ...state.modals,\r\n [action.id]: {\r\n ...modalState,\r\n ...position,\r\n ...size,\r\n zIndex: state.maxZIndex + 1,\r\n visible: true,\r\n },\r\n },\r\n }\r\n }\r\n case 'focus':\r\n const modalState = state.modals[action.id]\r\n return {\r\n ...state,\r\n maxZIndex: state.maxZIndex + 1,\r\n modals: {\r\n ...state.modals,\r\n [action.id]: {\r\n ...modalState,\r\n zIndex: state.maxZIndex + 1,\r\n },\r\n },\r\n }\r\n case 'hide': {\r\n const modalState = state.modals[action.id]\r\n return {\r\n ...state,\r\n modals: {\r\n ...state.modals,\r\n [action.id]: {\r\n ...modalState,\r\n visible: false,\r\n },\r\n },\r\n }\r\n }\r\n case 'mount':\r\n const initialState = getInitialModalState(action.intialState);\r\n return {\r\n ...state,\r\n maxZIndex: state.maxZIndex + 1,\r\n modals: {\r\n ...state.modals,\r\n [action.id]: {\r\n ...initialState,\r\n x: state.windowSize.width / 2 - initialState.width / 2,\r\n y: state.windowSize.height / 2 - initialState.height / 2,\r\n zIndex: state.maxZIndex + 1,\r\n },\r\n },\r\n };\r\n case 'unmount':\r\n const modalsClone = {...state.modals};\r\n delete modalsClone[action.id];\r\n return {\r\n ...state,\r\n modals: modalsClone,\r\n };\r\n case 'windowResize':\r\n return {\r\n ...state,\r\n windowSize: action.size,\r\n modals: mapObject(state.modals, (modalState: ModalState) => {\r\n if (!modalState.visible) {\r\n return modalState\r\n }\r\n const position = clampDrag(\r\n state.windowSize.width,\r\n state.windowSize.height,\r\n modalState.x,\r\n modalState.y,\r\n modalState.width,\r\n modalState.height,\r\n )\r\n const size = clampResize(\r\n state.windowSize.width,\r\n state.windowSize.height,\r\n position.x,\r\n position.y,\r\n modalState.width,\r\n modalState.height,\r\n )\r\n return {\r\n ...modalState,\r\n ...position,\r\n ...size,\r\n }\r\n }),\r\n }\r\n default:\r\n throw new Error()\r\n }\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- export declare const getWindowSize: () => {
2
- width: number;
3
- height: number;
4
- };
1
+ export declare const getWindowSize: () => {
2
+ width: number;
3
+ height: number;
4
+ };
@@ -1,5 +1,5 @@
1
- export const getWindowSize = () => ({
2
- width: window.innerWidth || 0,
3
- height: window.innerHeight || 0,
4
- });
1
+ export const getWindowSize = () => ({
2
+ width: window.innerWidth || 0,
3
+ height: window.innerHeight || 0,
4
+ });
5
5
  //# sourceMappingURL=getWindowSize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWindowSize.js","sourceRoot":"","sources":["../../../../../components/modal/impl/getWindowSize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,GAAsC,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;CAClC,CAAC,CAAA","sourcesContent":["export const getWindowSize = (): { width: number; height: number } => ({\n width: window.innerWidth || 0,\n height: window.innerHeight || 0,\n})\n"]}
1
+ {"version":3,"file":"getWindowSize.js","sourceRoot":"","sources":["../../../../../components/modal/impl/getWindowSize.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,GAAsC,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;CAClC,CAAC,CAAA","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nexport const getWindowSize = (): { width: number; height: number } => ({\r\n width: window.innerWidth || 0,\r\n height: window.innerHeight || 0,\r\n})\r\n"]}
@@ -1,3 +1,3 @@
1
- export * from './draggableModal';
2
- export * from './draggableModalContext';
3
- export * from '../draggableModalProvider';
1
+ export * from './draggableModal';
2
+ export * from './draggableModalContext';
3
+ export * from '../draggableModalProvider';
@@ -1,4 +1,4 @@
1
- export * from './draggableModal';
2
- export * from './draggableModalContext';
3
- export * from '../draggableModalProvider';
1
+ export * from './draggableModal';
2
+ export * from './draggableModalContext';
3
+ export * from '../draggableModalProvider';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../components/modal/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA","sourcesContent":["export * from './draggableModal'\nexport * from './draggableModalContext'\nexport * from '../draggableModalProvider'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../components/modal/impl/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nexport * from './draggableModal'\r\nexport * from './draggableModalContext'\r\nexport * from '../draggableModalProvider'\r\n"]}
@@ -1,3 +1,3 @@
1
- import * as React from 'react';
2
- import '../../../style/modal/ResizeHandle.css';
3
- export declare const ResizeHandle: (props: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>) => React.ReactElement;
1
+ import * as React from 'react';
2
+ import '../../../style/modal/ResizeHandle.css';
3
+ export declare const ResizeHandle: (props: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>) => React.ReactElement;
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import '../../../style/modal/ResizeHandle.css';
3
- export const ResizeHandle = (props) => (React.createElement("div", Object.assign({ className: "ant-design-draggable-modal-resize-handle" }, props),
4
- React.createElement("div", { className: "ant-design-draggable-modal-resize-handle-inner" })));
1
+ import * as React from 'react';
2
+ import '../../../style/modal/ResizeHandle.css';
3
+ export const ResizeHandle = (props) => (React.createElement("div", Object.assign({ className: "ant-design-draggable-modal-resize-handle" }, props),
4
+ React.createElement("div", { className: "ant-design-draggable-modal-resize-handle-inner" })));
5
5
  //# sourceMappingURL=resizeHandle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizeHandle.js","sourceRoot":"","sources":["../../../../../components/modal/impl/resizeHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,uCAAuC,CAAA;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,KAAoF,EAClE,EAAE,CAAC,CACrB,2CAAK,SAAS,EAAC,0CAA0C,IAAK,KAAK;IAC/D,6BAAK,SAAS,EAAC,gDAAgD,GAAG,CAChE,CACT,CAAA","sourcesContent":["import * as React from 'react'\nimport '../../../style/modal/ResizeHandle.css'\n\nexport const ResizeHandle = (\n props: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n): React.ReactElement => (\n <div className=\"ant-design-draggable-modal-resize-handle\" {...props}>\n <div className=\"ant-design-draggable-modal-resize-handle-inner\" />\n </div>\n)\n"]}
1
+ {"version":3,"file":"resizeHandle.js","sourceRoot":"","sources":["../../../../../components/modal/impl/resizeHandle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,uCAAuC,CAAA;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,KAAoF,EAClE,EAAE,CAAC,CACrB,2CAAK,SAAS,EAAC,0CAA0C,IAAK,KAAK;IAC/D,6BAAK,SAAS,EAAC,gDAAgD,GAAG,CAChE,CACT,CAAA","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nimport * as React from 'react'\r\nimport '../../../style/modal/ResizeHandle.css'\r\n\r\nexport const ResizeHandle = (\r\n props: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\r\n): React.ReactElement => (\r\n <div className=\"ant-design-draggable-modal-resize-handle\" {...props}>\r\n <div className=\"ant-design-draggable-modal-resize-handle-inner\" />\r\n </div>\r\n)\r\n"]}
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- export declare const useDrag: (x: number, y: number, onDrag: (args: {
3
- x: number;
4
- y: number;
5
- }) => void) => (e: React.MouseEvent) => void;
1
+ import * as React from 'react';
2
+ export declare const useDrag: (x: number, y: number, onDrag: (args: {
3
+ x: number;
4
+ y: number;
5
+ }) => void) => ((e: React.MouseEvent) => void);
@@ -1,43 +1,43 @@
1
- import { useCallback, useEffect, useState } from 'react';
2
- export const useDrag = (x, y, onDrag) => {
3
- const [dragging, setDragging] = useState(false);
4
- const [initialDragState, setInitialDragState] = useState({
5
- initX: 0,
6
- initY: 0,
7
- mouseDownX: 0,
8
- mouseDownY: 0,
9
- });
10
- const onMouseDown = useCallback((e) => {
11
- e.preventDefault();
12
- setInitialDragState({
13
- initX: x,
14
- initY: y,
15
- mouseDownX: e.clientX,
16
- mouseDownY: e.clientY,
17
- });
18
- setDragging(true);
19
- }, [x, y, setDragging, setInitialDragState]);
20
- useEffect(() => {
21
- const onMouseMove = (e) => {
22
- if (dragging) {
23
- const { initX, mouseDownX, initY, mouseDownY } = initialDragState;
24
- let dx = e.clientX - mouseDownX;
25
- let dy = e.clientY - mouseDownY;
26
- const x = initX + dx;
27
- const y = initY + dy;
28
- onDrag({ x, y });
29
- }
30
- };
31
- window.addEventListener('mousemove', onMouseMove, { passive: true });
32
- return () => window.removeEventListener('mousemove', onMouseMove);
33
- }, [initialDragState, dragging, onDrag]);
34
- useEffect(() => {
35
- const onMouseUp = () => {
36
- setDragging(false);
37
- };
38
- window.addEventListener('mouseup', onMouseUp);
39
- return () => window.removeEventListener('mouseup', onMouseUp);
40
- }, [setDragging]);
41
- return onMouseDown;
42
- };
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ export const useDrag = (x, y, onDrag) => {
3
+ const [dragging, setDragging] = useState(false);
4
+ const [initialDragState, setInitialDragState] = useState({
5
+ initX: 0,
6
+ initY: 0,
7
+ mouseDownX: 0,
8
+ mouseDownY: 0,
9
+ });
10
+ const onMouseDown = useCallback((e) => {
11
+ e.preventDefault();
12
+ setInitialDragState({
13
+ initX: x,
14
+ initY: y,
15
+ mouseDownX: e.clientX,
16
+ mouseDownY: e.clientY,
17
+ });
18
+ setDragging(true);
19
+ }, [x, y, setDragging, setInitialDragState]);
20
+ useEffect(() => {
21
+ const onMouseMove = (e) => {
22
+ if (dragging) {
23
+ const { initX, mouseDownX, initY, mouseDownY } = initialDragState;
24
+ let dx = e.clientX - mouseDownX;
25
+ let dy = e.clientY - mouseDownY;
26
+ const x = initX + dx;
27
+ const y = initY + dy;
28
+ onDrag({ x, y });
29
+ }
30
+ };
31
+ window.addEventListener('mousemove', onMouseMove, { passive: true });
32
+ return () => window.removeEventListener('mousemove', onMouseMove);
33
+ }, [initialDragState, dragging, onDrag]);
34
+ useEffect(() => {
35
+ const onMouseUp = () => {
36
+ setDragging(false);
37
+ };
38
+ window.addEventListener('mouseup', onMouseUp);
39
+ return () => window.removeEventListener('mouseup', onMouseUp);
40
+ }, [setDragging]);
41
+ return onMouseDown;
42
+ };
43
43
  //# sourceMappingURL=useDrag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDrag.js","sourceRoot":"","sources":["../../../../../components/modal/impl/useDrag.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAEtD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,CAAS,EACT,CAAS,EACT,MAAgD,EACjB,EAAE;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC;QACrD,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,mBAAmB,CAAC;YAChB,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,CAAC,OAAO;SACxB,CAAC,CAAA;QACF,WAAW,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAC3C,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,WAAW,GAAG,CAAC,CAAa,EAAQ,EAAE;YACxC,IAAI,QAAQ,EAAE;gBACV,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAA;gBACjE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAA;gBACpB,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAA;gBACpB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;aACnB;QACL,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAExC,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,GAAS,EAAE;YACzB,WAAW,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC7C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,WAAW,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport {useCallback, useEffect, useState} from 'react'\n\nexport const useDrag = (\n x: number,\n y: number,\n onDrag: (args: { x: number; y: number }) => void,\n): ((e: React.MouseEvent) => void) => {\n const [dragging, setDragging] = useState(false)\n const [initialDragState, setInitialDragState] = useState({\n initX: 0,\n initY: 0,\n mouseDownX: 0,\n mouseDownY: 0,\n })\n\n const onMouseDown = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n setInitialDragState({\n initX: x,\n initY: y,\n mouseDownX: e.clientX,\n mouseDownY: e.clientY,\n })\n setDragging(true)\n },\n [x, y, setDragging, setInitialDragState],\n )\n\n useEffect(() => {\n const onMouseMove = (e: MouseEvent): void => {\n if (dragging) {\n const { initX, mouseDownX, initY, mouseDownY } = initialDragState\n let dx = e.clientX - mouseDownX\n let dy = e.clientY - mouseDownY\n const x = initX + dx\n const y = initY + dy\n onDrag({ x, y })\n }\n }\n window.addEventListener('mousemove', onMouseMove, { passive: true })\n return () => window.removeEventListener('mousemove', onMouseMove)\n }, [initialDragState, dragging, onDrag])\n\n useEffect(() => {\n const onMouseUp = (): void => {\n setDragging(false)\n }\n window.addEventListener('mouseup', onMouseUp)\n return () => window.removeEventListener('mouseup', onMouseUp)\n }, [setDragging])\n\n return onMouseDown\n}\n"]}
1
+ {"version":3,"file":"useDrag.js","sourceRoot":"","sources":["../../../../../components/modal/impl/useDrag.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAEtD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,CAAS,EACT,CAAS,EACT,MAAgD,EACjB,EAAE;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC;QACrD,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,mBAAmB,CAAC;YAChB,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,CAAC,OAAO;SACxB,CAAC,CAAA;QACF,WAAW,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAC3C,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,WAAW,GAAG,CAAC,CAAa,EAAQ,EAAE;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAA;gBACjE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAA;gBACpB,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAA;gBACpB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACpB,CAAC;QACL,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAExC,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,GAAS,EAAE;YACzB,WAAW,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC7C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,WAAW,CAAA;AACtB,CAAC,CAAA","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nimport * as React from 'react'\r\nimport {useCallback, useEffect, useState} from 'react'\r\n\r\nexport const useDrag = (\r\n x: number,\r\n y: number,\r\n onDrag: (args: { x: number; y: number }) => void,\r\n): ((e: React.MouseEvent) => void) => {\r\n const [dragging, setDragging] = useState(false)\r\n const [initialDragState, setInitialDragState] = useState({\r\n initX: 0,\r\n initY: 0,\r\n mouseDownX: 0,\r\n mouseDownY: 0,\r\n })\r\n\r\n const onMouseDown = useCallback(\r\n (e: React.MouseEvent) => {\r\n e.preventDefault()\r\n setInitialDragState({\r\n initX: x,\r\n initY: y,\r\n mouseDownX: e.clientX,\r\n mouseDownY: e.clientY,\r\n })\r\n setDragging(true)\r\n },\r\n [x, y, setDragging, setInitialDragState],\r\n )\r\n\r\n useEffect(() => {\r\n const onMouseMove = (e: MouseEvent): void => {\r\n if (dragging) {\r\n const { initX, mouseDownX, initY, mouseDownY } = initialDragState\r\n let dx = e.clientX - mouseDownX\r\n let dy = e.clientY - mouseDownY\r\n const x = initX + dx\r\n const y = initY + dy\r\n onDrag({ x, y })\r\n }\r\n }\r\n window.addEventListener('mousemove', onMouseMove, { passive: true })\r\n return () => window.removeEventListener('mousemove', onMouseMove)\r\n }, [initialDragState, dragging, onDrag])\r\n\r\n useEffect(() => {\r\n const onMouseUp = (): void => {\r\n setDragging(false)\r\n }\r\n window.addEventListener('mouseup', onMouseUp)\r\n return () => window.removeEventListener('mouseup', onMouseUp)\r\n }, [setDragging])\r\n\r\n return onMouseDown\r\n}\r\n"]}
@@ -1 +1 @@
1
- export declare const usePrevious: <T>(value: T) => T | null;
1
+ export declare const usePrevious: <T>(value: T) => T;
@@ -1,9 +1,9 @@
1
- import { useEffect, useRef } from 'react';
2
- export const usePrevious = (value) => {
3
- const ref = useRef(null);
4
- useEffect(() => {
5
- ref.current = value;
6
- });
7
- return ref.current;
8
- };
1
+ import { useEffect, useRef } from 'react';
2
+ export const usePrevious = (value) => {
3
+ const ref = useRef(value);
4
+ useEffect(() => {
5
+ ref.current = value;
6
+ }, [value]);
7
+ return ref.current;
8
+ };
9
9
  //# sourceMappingURL=usePrevious.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePrevious.js","sourceRoot":"","sources":["../../../../../components/modal/impl/usePrevious.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAA;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAY,EAAE;IACjD,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAA;IAC3B,SAAS,CAAC,GAAG,EAAE;QAEX,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;IACvB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAC,OAAO,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import {useEffect, useRef} from 'react'\n\nexport const usePrevious = <T>(value: T): T | null => {\n const ref = useRef<T>(null)\n useEffect(() => {\n // @ts-ignore\n ref.current = value\n })\n return ref.current\n}\n"]}
1
+ {"version":3,"file":"usePrevious.js","sourceRoot":"","sources":["../../../../../components/modal/impl/usePrevious.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAA;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAK,EAAE;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAI,KAAK,CAAC,CAAA;IAC5B,SAAS,CAAC,GAAG,EAAE;QACX,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACX,OAAO,GAAG,CAAC,OAAO,CAAA;AACtB,CAAC,CAAA","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nimport {useEffect, useRef} from 'react'\r\n\r\nexport const usePrevious = <T>(value: T): T => {\r\n const ref = useRef<T>(value)\r\n useEffect(() => {\r\n ref.current = value\r\n }, [value])\r\n return ref.current\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
2
- export declare const useResize: (x: number, y: number, width: number, height: number, onResize: (args: {
3
- x: number;
4
- y: number;
5
- width: number;
6
- height: number;
7
- }) => void) => (e: React.MouseEvent) => void;
1
+ import * as React from 'react';
2
+ export declare const useResize: (x: number, y: number, width: number, height: number, onResize: (args: {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }) => void) => ((e: React.MouseEvent) => void);
@@ -1,47 +1,47 @@
1
- import { useCallback, useEffect, useState } from 'react';
2
- export const useResize = (x, y, width, height, onResize) => {
3
- const [dragging, setDragging] = useState(false);
4
- const [initialDragState, setInitialDragState] = useState({
5
- initX: 0,
6
- initY: 0,
7
- initWidth: 0,
8
- initHeight: 0,
9
- mouseDownX: 0,
10
- mouseDownY: 0,
11
- });
12
- const onMouseDown = useCallback((e) => {
13
- e.preventDefault();
14
- setInitialDragState({
15
- initX: x,
16
- initY: y,
17
- initWidth: width,
18
- initHeight: height,
19
- mouseDownX: e.clientX,
20
- mouseDownY: e.clientY,
21
- });
22
- setDragging(true);
23
- }, [width, height, setDragging, setInitialDragState, x, y]);
24
- useEffect(() => {
25
- const onMouseMove = (e) => {
26
- if (dragging) {
27
- const { initX, initY, initWidth, mouseDownX, initHeight, mouseDownY, } = initialDragState;
28
- let dx = e.clientX - mouseDownX;
29
- let dy = e.clientY - mouseDownY;
30
- const width = initWidth + dx;
31
- const height = initHeight + dy;
32
- return onResize({ x: initX, y: initY, width, height });
33
- }
34
- };
35
- window.addEventListener('mousemove', onMouseMove, { passive: true });
36
- return () => window.removeEventListener('mousemove', onMouseMove);
37
- }, [initialDragState, dragging, onResize]);
38
- useEffect(() => {
39
- const onMouseUp = () => {
40
- setDragging(false);
41
- };
42
- window.addEventListener('mouseup', onMouseUp);
43
- return () => window.removeEventListener('mouseup', onMouseUp);
44
- }, [setDragging]);
45
- return onMouseDown;
46
- };
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ export const useResize = (x, y, width, height, onResize) => {
3
+ const [dragging, setDragging] = useState(false);
4
+ const [initialDragState, setInitialDragState] = useState({
5
+ initX: 0,
6
+ initY: 0,
7
+ initWidth: 0,
8
+ initHeight: 0,
9
+ mouseDownX: 0,
10
+ mouseDownY: 0,
11
+ });
12
+ const onMouseDown = useCallback((e) => {
13
+ e.preventDefault();
14
+ setInitialDragState({
15
+ initX: x,
16
+ initY: y,
17
+ initWidth: width,
18
+ initHeight: height,
19
+ mouseDownX: e.clientX,
20
+ mouseDownY: e.clientY,
21
+ });
22
+ setDragging(true);
23
+ }, [width, height, setDragging, setInitialDragState, x, y]);
24
+ useEffect(() => {
25
+ const onMouseMove = (e) => {
26
+ if (dragging) {
27
+ const { initX, initY, initWidth, mouseDownX, initHeight, mouseDownY, } = initialDragState;
28
+ let dx = e.clientX - mouseDownX;
29
+ let dy = e.clientY - mouseDownY;
30
+ const width = initWidth + dx;
31
+ const height = initHeight + dy;
32
+ return onResize({ x: initX, y: initY, width, height });
33
+ }
34
+ };
35
+ window.addEventListener('mousemove', onMouseMove, { passive: true });
36
+ return () => window.removeEventListener('mousemove', onMouseMove);
37
+ }, [initialDragState, dragging, onResize]);
38
+ useEffect(() => {
39
+ const onMouseUp = () => {
40
+ setDragging(false);
41
+ };
42
+ window.addEventListener('mouseup', onMouseUp);
43
+ return () => window.removeEventListener('mouseup', onMouseUp);
44
+ }, [setDragging]);
45
+ return onMouseDown;
46
+ };
47
47
  //# sourceMappingURL=useResize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResize.js","sourceRoot":"","sources":["../../../../../components/modal/impl/useResize.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAWtD,MAAM,CAAC,MAAM,SAAS,GAAG,CACrB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,QAAiF,EAClD,EAAE;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAe;QACnE,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,mBAAmB,CAAC;YAChB,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,CAAC,OAAO;SACxB,CAAC,CAAA;QACF,WAAW,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,WAAW,GAAG,CAAC,CAAa,EAAQ,EAAE;YACxC,IAAI,QAAQ,EAAE;gBACV,MAAM,EACF,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,GACb,GAAG,gBAAgB,CAAA;gBACpB,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,MAAM,KAAK,GAAG,SAAS,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;aACzD;QACL,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1C,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,GAAS,EAAE;YACzB,WAAW,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,WAAW,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport {useCallback, useEffect, useState} from 'react'\n\ninterface InitialState {\n initX: number\n initY: number\n initWidth: number\n initHeight: number\n mouseDownX: number\n mouseDownY: number\n}\n\nexport const useResize = (\n x: number,\n y: number,\n width: number,\n height: number,\n onResize: (args: { x: number; y: number; width: number; height: number }) => void,\n): ((e: React.MouseEvent) => void) => {\n const [dragging, setDragging] = useState(false);\n const [initialDragState, setInitialDragState] = useState<InitialState>({\n initX: 0,\n initY: 0,\n initWidth: 0,\n initHeight: 0,\n mouseDownX: 0,\n mouseDownY: 0,\n })\n\n const onMouseDown = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n setInitialDragState({\n initX: x,\n initY: y,\n initWidth: width,\n initHeight: height,\n mouseDownX: e.clientX,\n mouseDownY: e.clientY,\n })\n setDragging(true)\n },\n [width, height, setDragging, setInitialDragState, x, y],\n )\n\n useEffect(() => {\n const onMouseMove = (e: MouseEvent): void => {\n if (dragging) {\n const {\n initX,\n initY,\n initWidth,\n mouseDownX,\n initHeight,\n mouseDownY,\n } = initialDragState\n let dx = e.clientX - mouseDownX\n let dy = e.clientY - mouseDownY\n const width = initWidth + dx;\n const height = initHeight + dy;\n return onResize({ x: initX, y: initY, width, height })\n }\n }\n window.addEventListener('mousemove', onMouseMove, { passive: true })\n return () => window.removeEventListener('mousemove', onMouseMove)\n }, [initialDragState, dragging, onResize])\n\n useEffect(() => {\n const onMouseUp = (): void => {\n setDragging(false)\n }\n window.addEventListener('mouseup', onMouseUp);\n return () => window.removeEventListener('mouseup', onMouseUp)\n }, [setDragging])\n\n return onMouseDown\n}\n"]}
1
+ {"version":3,"file":"useResize.js","sourceRoot":"","sources":["../../../../../components/modal/impl/useResize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAWtD,MAAM,CAAC,MAAM,SAAS,GAAG,CACrB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,QAAiF,EAClD,EAAE;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAe;QACnE,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,mBAAmB,CAAC;YAChB,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,CAAC,OAAO;SACxB,CAAC,CAAA;QACF,WAAW,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,WAAW,GAAG,CAAC,CAAa,EAAQ,EAAE;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,EACF,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,GACb,GAAG,gBAAgB,CAAA;gBACpB,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;gBAC/B,MAAM,KAAK,GAAG,SAAS,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAC1D,CAAC;QACL,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1C,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,GAAS,EAAE;YACzB,WAAW,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,WAAW,CAAA;AACtB,CAAC,CAAA","sourcesContent":["// https://github.com/CUBETIQ/antd-modal/\r\n\r\nimport * as React from 'react'\r\nimport {useCallback, useEffect, useState} from 'react'\r\n\r\ninterface InitialState {\r\n initX: number\r\n initY: number\r\n initWidth: number\r\n initHeight: number\r\n mouseDownX: number\r\n mouseDownY: number\r\n}\r\n\r\nexport const useResize = (\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n onResize: (args: { x: number; y: number; width: number; height: number }) => void,\r\n): ((e: React.MouseEvent) => void) => {\r\n const [dragging, setDragging] = useState(false);\r\n const [initialDragState, setInitialDragState] = useState<InitialState>({\r\n initX: 0,\r\n initY: 0,\r\n initWidth: 0,\r\n initHeight: 0,\r\n mouseDownX: 0,\r\n mouseDownY: 0,\r\n })\r\n\r\n const onMouseDown = useCallback(\r\n (e: React.MouseEvent) => {\r\n e.preventDefault()\r\n setInitialDragState({\r\n initX: x,\r\n initY: y,\r\n initWidth: width,\r\n initHeight: height,\r\n mouseDownX: e.clientX,\r\n mouseDownY: e.clientY,\r\n })\r\n setDragging(true)\r\n },\r\n [width, height, setDragging, setInitialDragState, x, y],\r\n )\r\n\r\n useEffect(() => {\r\n const onMouseMove = (e: MouseEvent): void => {\r\n if (dragging) {\r\n const {\r\n initX,\r\n initY,\r\n initWidth,\r\n mouseDownX,\r\n initHeight,\r\n mouseDownY,\r\n } = initialDragState\r\n let dx = e.clientX - mouseDownX\r\n let dy = e.clientY - mouseDownY\r\n const width = initWidth + dx;\r\n const height = initHeight + dy;\r\n return onResize({ x: initX, y: initY, width, height })\r\n }\r\n }\r\n window.addEventListener('mousemove', onMouseMove, { passive: true })\r\n return () => window.removeEventListener('mousemove', onMouseMove)\r\n }, [initialDragState, dragging, onResize])\r\n\r\n useEffect(() => {\r\n const onMouseUp = (): void => {\r\n setDragging(false)\r\n }\r\n window.addEventListener('mouseup', onMouseUp);\r\n return () => window.removeEventListener('mouseup', onMouseUp)\r\n }, [setDragging])\r\n\r\n return onMouseDown\r\n}\r\n"]}