d2coreui 23.0.14 → 23.0.15

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 (403) hide show
  1. package/components/clipboard/clipboardUtils.ts +53 -0
  2. package/components/codemirror/SyntaxHighlighter.tsx +58 -0
  3. package/components/collapse/expandable.tsx +48 -0
  4. package/components/color/colorPicker.tsx +121 -0
  5. package/components/color/colorSwatch.d.ts +18 -13
  6. package/components/color/colorSwatch.jsx +87 -0
  7. package/components/color/colorUtils.ts +60 -0
  8. package/components/date/dateRangeInput.tsx +468 -0
  9. package/components/date/dateRangeInputAdvancedPanel.tsx +238 -0
  10. package/components/date/dateRangeInputConfirm.tsx +200 -0
  11. package/components/date/dateTimeInput.tsx +633 -0
  12. package/components/date/durationInput.tsx +375 -0
  13. package/components/form/NiceFormItem.tsx +32 -0
  14. package/components/grid/cell/beanAccessor.ts +17 -0
  15. package/components/grid/cell/cellEditorUtils.ts +12 -0
  16. package/components/grid/cell/customEnumCellEditor.tsx +130 -0
  17. package/components/grid/cell/dataGridCellEditorComponent.tsx +61 -0
  18. package/components/grid/cell/dateCellEditor.tsx +83 -0
  19. package/components/grid/cell/durationCellEditor.tsx +105 -0
  20. package/components/grid/cell/hexaOctetStringCellEditor.tsx +101 -0
  21. package/components/grid/cell/hexaValueCellEditor.tsx +92 -0
  22. package/components/grid/cell/numberCellEditor.tsx +115 -0
  23. package/components/grid/cell/rangeSelector.d.ts +9 -78
  24. package/components/grid/cell/rangeSelector.js +674 -527
  25. package/components/grid/cell/simpleStatusTextCellEditor.tsx +168 -0
  26. package/components/grid/cell/statusTextCellEditor.tsx +198 -0
  27. package/components/grid/cell/tableDefaultRowStyleRules.ts +51 -0
  28. package/components/grid/cell/textCellEditor.tsx +94 -0
  29. package/components/grid/cell/withAgGridHooks.tsx +15 -0
  30. package/components/grid/columnUtils.ts +29 -0
  31. package/components/grid/config/columnTransfer.tsx +258 -0
  32. package/components/grid/config/dataGridEditor.tsx +328 -0
  33. package/components/grid/config/rowHeightCalculator.tsx +29 -0
  34. package/components/grid/config/rowStylePicker.tsx +196 -0
  35. package/components/grid/dataGrid.tsx +2183 -0
  36. package/components/grid/detail/detailHeaderPanel.tsx +59 -0
  37. package/components/grid/export/contextMenu.tsx +154 -0
  38. package/components/grid/export/progressPopup.tsx +106 -0
  39. package/components/grid/export/worker/clipboardExport.ts +10 -0
  40. package/components/grid/export/worker/csvExport.ts +10 -0
  41. package/components/grid/export/worker/pdfExport.ts +98 -0
  42. package/components/grid/export/worker/txtExport.ts +21 -0
  43. package/components/grid/extendedDataGrid.tsx +974 -0
  44. package/components/grid/filter/customColumnFilter.tsx +14 -0
  45. package/components/grid/filter/dataGridColumnFilter.tsx +70 -0
  46. package/components/grid/filter/dateColumnFilter.tsx +34 -0
  47. package/components/grid/filter/textColumnFilter.tsx +37 -0
  48. package/components/grid/filter/wildcardQuickFilterEngine.ts +50 -0
  49. package/components/grid/header/simpleHeader.tsx +270 -0
  50. package/components/grid/panel/dataGridPagination.tsx +123 -0
  51. package/components/grid/panel/loadingOverlay.tsx +14 -0
  52. package/components/grid/panel/noRecordsOverlay.tsx +16 -0
  53. package/components/grid/panel/tablePagination.tsx +77 -0
  54. package/components/icons/dropdownArrow.tsx +67 -0
  55. package/components/icons/undoIcon.tsx +16 -0
  56. package/components/input/autoCompleteInput.tsx +174 -0
  57. package/components/input/draftUtils.tsx +62 -0
  58. package/components/input/draftail.d.ts +186 -1
  59. package/components/input/draftail.js +1 -2
  60. package/components/input/hexaFormattedInput.tsx +64 -0
  61. package/components/input/mask/helpers.ts +154 -0
  62. package/components/input/mask/inputMaskCore.ts +452 -0
  63. package/components/input/mask/pattern.ts +122 -0
  64. package/components/input/maskedInput.tsx +275 -0
  65. package/components/input/passwordInput.tsx +62 -0
  66. package/components/input/simpleAutoComplete.tsx +60 -0
  67. package/components/input/textarea/extractSpansOfClasses.tsx +125 -0
  68. package/components/input/textarea/getRanges.ts +82 -0
  69. package/components/input/textarea/getType.ts +23 -0
  70. package/components/input/textarea/highlighedContents.tsx +20 -0
  71. package/components/input/textarea/highlightedTextarea.css +61 -0
  72. package/components/input/textarea/mentionsWithHighlighting.tsx +95 -0
  73. package/components/keyboard/keyboardUtils.ts +42 -0
  74. package/components/modal/draggableModalProvider.tsx +37 -0
  75. package/components/modal/impl/clamp.ts +4 -0
  76. package/components/modal/impl/draggableModal.tsx +36 -0
  77. package/components/modal/impl/draggableModalContext.ts +14 -0
  78. package/components/modal/impl/draggableModalInner.tsx +114 -0
  79. package/components/modal/impl/draggableModalReducer.ts +285 -0
  80. package/components/modal/impl/getWindowSize.ts +6 -0
  81. package/components/modal/impl/index.ts +5 -0
  82. package/components/modal/impl/resizeHandle.tsx +12 -0
  83. package/components/modal/impl/useDrag.ts +57 -0
  84. package/components/modal/impl/usePrevious.ts +11 -0
  85. package/components/modal/impl/useResize.ts +79 -0
  86. package/components/modal/modalDialog.tsx +172 -0
  87. package/components/picker/enumValuePicker.tsx +48 -0
  88. package/components/platformSpecific.ts +39 -0
  89. package/components/scrollTo/dom-scroll-into-view.d.ts +1 -0
  90. package/components/scrollTo/onlyText.ts +36 -0
  91. package/components/scrollTo/scrollTo.tsx +324 -0
  92. package/components/style/withCss.tsx +14 -0
  93. package/components/style/withInputNumberCss.tsx +18 -0
  94. package/components/svg.d.ts +1 -0
  95. package/components/table/dragSortingTable.tsx +123 -0
  96. package/components/text/impl/innerSize.ts +15 -0
  97. package/components/text/impl/series.ts +37 -0
  98. package/components/text/impl/shallowEqual.ts +19 -0
  99. package/components/text/impl/uniqueId.ts +5 -0
  100. package/components/text/impl/whilst.ts +25 -0
  101. package/components/text/textFit.tsx +229 -0
  102. package/i18n/components.cs.json +101 -101
  103. package/i18n/components.sk.json +101 -101
  104. package/i18n/components.uk.json +101 -101
  105. package/i18n/componentsLocaleHolder.js +24 -29
  106. package/i18n/componentsLocaleLoader.d.ts +9 -0
  107. package/lib/esm/components/color/colorSwatch.d.ts +13 -0
  108. package/lib/esm/components/grid/cell/rangeSelector.d.ts +78 -0
  109. package/lib/esm/components/grid/cell/rangeSelector.js +527 -0
  110. package/{components → lib/esm/components}/grid/export/contextMenu.js +4 -4
  111. package/lib/esm/components/input/draftail.d.ts +1 -0
  112. package/lib/esm/components/input/draftail.js +2 -0
  113. package/lib/esm/i18n/components.cs.json +101 -0
  114. package/lib/esm/i18n/components.sk.json +101 -0
  115. package/lib/esm/i18n/components.uk.json +101 -0
  116. package/lib/esm/i18n/componentsLocaleHolder.js +29 -0
  117. package/lib/esm/package.json +70 -0
  118. package/lib/esm/tsconfig.build.json +24 -0
  119. package/lib/esm/tsconfig.json +11 -0
  120. package/package.json +3 -3
  121. package/tsconfig.build.json +24 -24
  122. package/tsconfig.json +11 -11
  123. /package/{components → lib/esm/components}/clipboard/clipboardUtils.d.ts +0 -0
  124. /package/{components → lib/esm/components}/clipboard/clipboardUtils.js +0 -0
  125. /package/{components → lib/esm/components}/clipboard/clipboardUtils.js.map +0 -0
  126. /package/{components → lib/esm/components}/codemirror/SyntaxHighlighter.d.ts +0 -0
  127. /package/{components → lib/esm/components}/codemirror/SyntaxHighlighter.js +0 -0
  128. /package/{components → lib/esm/components}/codemirror/SyntaxHighlighter.js.map +0 -0
  129. /package/{components → lib/esm/components}/collapse/expandable.d.ts +0 -0
  130. /package/{components → lib/esm/components}/collapse/expandable.js +0 -0
  131. /package/{components → lib/esm/components}/collapse/expandable.js.map +0 -0
  132. /package/{components → lib/esm/components}/color/colorPicker.d.ts +0 -0
  133. /package/{components → lib/esm/components}/color/colorPicker.js +0 -0
  134. /package/{components → lib/esm/components}/color/colorPicker.js.map +0 -0
  135. /package/{components → lib/esm/components}/color/colorSwatch.js +0 -0
  136. /package/{components → lib/esm/components}/color/colorSwatch.js.map +0 -0
  137. /package/{components → lib/esm/components}/color/colorUtils.d.ts +0 -0
  138. /package/{components → lib/esm/components}/color/colorUtils.js +0 -0
  139. /package/{components → lib/esm/components}/color/colorUtils.js.map +0 -0
  140. /package/{components → lib/esm/components}/date/dateRangeInput.d.ts +0 -0
  141. /package/{components → lib/esm/components}/date/dateRangeInput.js +0 -0
  142. /package/{components → lib/esm/components}/date/dateRangeInput.js.map +0 -0
  143. /package/{components → lib/esm/components}/date/dateRangeInputAdvancedPanel.d.ts +0 -0
  144. /package/{components → lib/esm/components}/date/dateRangeInputAdvancedPanel.js +0 -0
  145. /package/{components → lib/esm/components}/date/dateRangeInputAdvancedPanel.js.map +0 -0
  146. /package/{components → lib/esm/components}/date/dateRangeInputConfirm.d.ts +0 -0
  147. /package/{components → lib/esm/components}/date/dateRangeInputConfirm.js +0 -0
  148. /package/{components → lib/esm/components}/date/dateRangeInputConfirm.js.map +0 -0
  149. /package/{components → lib/esm/components}/date/dateTimeInput.d.ts +0 -0
  150. /package/{components → lib/esm/components}/date/dateTimeInput.js +0 -0
  151. /package/{components → lib/esm/components}/date/dateTimeInput.js.map +0 -0
  152. /package/{components → lib/esm/components}/date/durationInput.d.ts +0 -0
  153. /package/{components → lib/esm/components}/date/durationInput.js +0 -0
  154. /package/{components → lib/esm/components}/date/durationInput.js.map +0 -0
  155. /package/{components → lib/esm/components}/form/NiceFormItem.d.ts +0 -0
  156. /package/{components → lib/esm/components}/form/NiceFormItem.js +0 -0
  157. /package/{components → lib/esm/components}/form/NiceFormItem.js.map +0 -0
  158. /package/{components → lib/esm/components}/grid/cell/beanAccessor.d.ts +0 -0
  159. /package/{components → lib/esm/components}/grid/cell/beanAccessor.js +0 -0
  160. /package/{components → lib/esm/components}/grid/cell/beanAccessor.js.map +0 -0
  161. /package/{components → lib/esm/components}/grid/cell/cellEditorUtils.d.ts +0 -0
  162. /package/{components → lib/esm/components}/grid/cell/cellEditorUtils.js +0 -0
  163. /package/{components → lib/esm/components}/grid/cell/cellEditorUtils.js.map +0 -0
  164. /package/{components → lib/esm/components}/grid/cell/customEnumCellEditor.d.ts +0 -0
  165. /package/{components → lib/esm/components}/grid/cell/customEnumCellEditor.js +0 -0
  166. /package/{components → lib/esm/components}/grid/cell/customEnumCellEditor.js.map +0 -0
  167. /package/{components → lib/esm/components}/grid/cell/dataGridCellEditorComponent.d.ts +0 -0
  168. /package/{components → lib/esm/components}/grid/cell/dataGridCellEditorComponent.js +0 -0
  169. /package/{components → lib/esm/components}/grid/cell/dataGridCellEditorComponent.js.map +0 -0
  170. /package/{components → lib/esm/components}/grid/cell/dateCellEditor.d.ts +0 -0
  171. /package/{components → lib/esm/components}/grid/cell/dateCellEditor.js +0 -0
  172. /package/{components → lib/esm/components}/grid/cell/dateCellEditor.js.map +0 -0
  173. /package/{components → lib/esm/components}/grid/cell/durationCellEditor.d.ts +0 -0
  174. /package/{components → lib/esm/components}/grid/cell/durationCellEditor.js +0 -0
  175. /package/{components → lib/esm/components}/grid/cell/durationCellEditor.js.map +0 -0
  176. /package/{components → lib/esm/components}/grid/cell/hexaOctetStringCellEditor.d.ts +0 -0
  177. /package/{components → lib/esm/components}/grid/cell/hexaOctetStringCellEditor.js +0 -0
  178. /package/{components → lib/esm/components}/grid/cell/hexaOctetStringCellEditor.js.map +0 -0
  179. /package/{components → lib/esm/components}/grid/cell/hexaValueCellEditor.d.ts +0 -0
  180. /package/{components → lib/esm/components}/grid/cell/hexaValueCellEditor.js +0 -0
  181. /package/{components → lib/esm/components}/grid/cell/hexaValueCellEditor.js.map +0 -0
  182. /package/{components → lib/esm/components}/grid/cell/numberCellEditor.d.ts +0 -0
  183. /package/{components → lib/esm/components}/grid/cell/numberCellEditor.js +0 -0
  184. /package/{components → lib/esm/components}/grid/cell/numberCellEditor.js.map +0 -0
  185. /package/{components → lib/esm/components}/grid/cell/rangeSelector.js.map +0 -0
  186. /package/{components → lib/esm/components}/grid/cell/simpleStatusTextCellEditor.d.ts +0 -0
  187. /package/{components → lib/esm/components}/grid/cell/simpleStatusTextCellEditor.js +0 -0
  188. /package/{components → lib/esm/components}/grid/cell/simpleStatusTextCellEditor.js.map +0 -0
  189. /package/{components → lib/esm/components}/grid/cell/statusTextCellEditor.d.ts +0 -0
  190. /package/{components → lib/esm/components}/grid/cell/statusTextCellEditor.js +0 -0
  191. /package/{components → lib/esm/components}/grid/cell/statusTextCellEditor.js.map +0 -0
  192. /package/{components → lib/esm/components}/grid/cell/tableDefaultRowStyleRules.d.ts +0 -0
  193. /package/{components → lib/esm/components}/grid/cell/tableDefaultRowStyleRules.js +0 -0
  194. /package/{components → lib/esm/components}/grid/cell/tableDefaultRowStyleRules.js.map +0 -0
  195. /package/{components → lib/esm/components}/grid/cell/textCellEditor.d.ts +0 -0
  196. /package/{components → lib/esm/components}/grid/cell/textCellEditor.js +0 -0
  197. /package/{components → lib/esm/components}/grid/cell/textCellEditor.js.map +0 -0
  198. /package/{components → lib/esm/components}/grid/cell/withAgGridHooks.d.ts +0 -0
  199. /package/{components → lib/esm/components}/grid/cell/withAgGridHooks.js +0 -0
  200. /package/{components → lib/esm/components}/grid/cell/withAgGridHooks.js.map +0 -0
  201. /package/{components → lib/esm/components}/grid/columnUtils.d.ts +0 -0
  202. /package/{components → lib/esm/components}/grid/columnUtils.js +0 -0
  203. /package/{components → lib/esm/components}/grid/columnUtils.js.map +0 -0
  204. /package/{components → lib/esm/components}/grid/config/columnTransfer.d.ts +0 -0
  205. /package/{components → lib/esm/components}/grid/config/columnTransfer.js +0 -0
  206. /package/{components → lib/esm/components}/grid/config/columnTransfer.js.map +0 -0
  207. /package/{components → lib/esm/components}/grid/config/dataGridEditor.d.ts +0 -0
  208. /package/{components → lib/esm/components}/grid/config/dataGridEditor.js +0 -0
  209. /package/{components → lib/esm/components}/grid/config/dataGridEditor.js.map +0 -0
  210. /package/{components → lib/esm/components}/grid/config/rowHeightCalculator.d.ts +0 -0
  211. /package/{components → lib/esm/components}/grid/config/rowHeightCalculator.js +0 -0
  212. /package/{components → lib/esm/components}/grid/config/rowHeightCalculator.js.map +0 -0
  213. /package/{components → lib/esm/components}/grid/config/rowStylePicker.d.ts +0 -0
  214. /package/{components → lib/esm/components}/grid/config/rowStylePicker.js +0 -0
  215. /package/{components → lib/esm/components}/grid/config/rowStylePicker.js.map +0 -0
  216. /package/{components → lib/esm/components}/grid/dataGrid.d.ts +0 -0
  217. /package/{components → lib/esm/components}/grid/dataGrid.js +0 -0
  218. /package/{components → lib/esm/components}/grid/dataGrid.js.map +0 -0
  219. /package/{components → lib/esm/components}/grid/detail/detailHeaderPanel.d.ts +0 -0
  220. /package/{components → lib/esm/components}/grid/detail/detailHeaderPanel.js +0 -0
  221. /package/{components → lib/esm/components}/grid/detail/detailHeaderPanel.js.map +0 -0
  222. /package/{components → lib/esm/components}/grid/export/contextMenu.d.ts +0 -0
  223. /package/{components → lib/esm/components}/grid/export/contextMenu.js.map +0 -0
  224. /package/{components → lib/esm/components}/grid/export/progressPopup.d.ts +0 -0
  225. /package/{components → lib/esm/components}/grid/export/progressPopup.js +0 -0
  226. /package/{components → lib/esm/components}/grid/export/progressPopup.js.map +0 -0
  227. /package/{components → lib/esm/components}/grid/export/worker/clipboardExport.d.ts +0 -0
  228. /package/{components → lib/esm/components}/grid/export/worker/clipboardExport.js +0 -0
  229. /package/{components → lib/esm/components}/grid/export/worker/clipboardExport.js.map +0 -0
  230. /package/{components → lib/esm/components}/grid/export/worker/csvExport.d.ts +0 -0
  231. /package/{components → lib/esm/components}/grid/export/worker/csvExport.js +0 -0
  232. /package/{components → lib/esm/components}/grid/export/worker/csvExport.js.map +0 -0
  233. /package/{components → lib/esm/components}/grid/export/worker/pdfExport.d.ts +0 -0
  234. /package/{components → lib/esm/components}/grid/export/worker/pdfExport.js +0 -0
  235. /package/{components → lib/esm/components}/grid/export/worker/pdfExport.js.map +0 -0
  236. /package/{components → lib/esm/components}/grid/export/worker/txtExport.d.ts +0 -0
  237. /package/{components → lib/esm/components}/grid/export/worker/txtExport.js +0 -0
  238. /package/{components → lib/esm/components}/grid/export/worker/txtExport.js.map +0 -0
  239. /package/{components → lib/esm/components}/grid/extendedDataGrid.d.ts +0 -0
  240. /package/{components → lib/esm/components}/grid/extendedDataGrid.js +0 -0
  241. /package/{components → lib/esm/components}/grid/extendedDataGrid.js.map +0 -0
  242. /package/{components → lib/esm/components}/grid/filter/customColumnFilter.d.ts +0 -0
  243. /package/{components → lib/esm/components}/grid/filter/customColumnFilter.js +0 -0
  244. /package/{components → lib/esm/components}/grid/filter/customColumnFilter.js.map +0 -0
  245. /package/{components → lib/esm/components}/grid/filter/dataGridColumnFilter.d.ts +0 -0
  246. /package/{components → lib/esm/components}/grid/filter/dataGridColumnFilter.js +0 -0
  247. /package/{components → lib/esm/components}/grid/filter/dataGridColumnFilter.js.map +0 -0
  248. /package/{components → lib/esm/components}/grid/filter/dateColumnFilter.d.ts +0 -0
  249. /package/{components → lib/esm/components}/grid/filter/dateColumnFilter.js +0 -0
  250. /package/{components → lib/esm/components}/grid/filter/dateColumnFilter.js.map +0 -0
  251. /package/{components → lib/esm/components}/grid/filter/textColumnFilter.d.ts +0 -0
  252. /package/{components → lib/esm/components}/grid/filter/textColumnFilter.js +0 -0
  253. /package/{components → lib/esm/components}/grid/filter/textColumnFilter.js.map +0 -0
  254. /package/{components → lib/esm/components}/grid/filter/wildcardQuickFilterEngine.d.ts +0 -0
  255. /package/{components → lib/esm/components}/grid/filter/wildcardQuickFilterEngine.js +0 -0
  256. /package/{components → lib/esm/components}/grid/filter/wildcardQuickFilterEngine.js.map +0 -0
  257. /package/{components → lib/esm/components}/grid/header/simpleHeader.d.ts +0 -0
  258. /package/{components → lib/esm/components}/grid/header/simpleHeader.js +0 -0
  259. /package/{components → lib/esm/components}/grid/header/simpleHeader.js.map +0 -0
  260. /package/{components → lib/esm/components}/grid/panel/dataGridPagination.d.ts +0 -0
  261. /package/{components → lib/esm/components}/grid/panel/dataGridPagination.js +0 -0
  262. /package/{components → lib/esm/components}/grid/panel/dataGridPagination.js.map +0 -0
  263. /package/{components → lib/esm/components}/grid/panel/loadingOverlay.d.ts +0 -0
  264. /package/{components → lib/esm/components}/grid/panel/loadingOverlay.js +0 -0
  265. /package/{components → lib/esm/components}/grid/panel/loadingOverlay.js.map +0 -0
  266. /package/{components → lib/esm/components}/grid/panel/noRecordsOverlay.d.ts +0 -0
  267. /package/{components → lib/esm/components}/grid/panel/noRecordsOverlay.js +0 -0
  268. /package/{components → lib/esm/components}/grid/panel/noRecordsOverlay.js.map +0 -0
  269. /package/{components → lib/esm/components}/grid/panel/tablePagination.d.ts +0 -0
  270. /package/{components → lib/esm/components}/grid/panel/tablePagination.js +0 -0
  271. /package/{components → lib/esm/components}/grid/panel/tablePagination.js.map +0 -0
  272. /package/{components → lib/esm/components}/icons/dropdownArrow.d.ts +0 -0
  273. /package/{components → lib/esm/components}/icons/dropdownArrow.js +0 -0
  274. /package/{components → lib/esm/components}/icons/dropdownArrow.js.map +0 -0
  275. /package/{components → lib/esm/components}/icons/undoIcon.d.ts +0 -0
  276. /package/{components → lib/esm/components}/icons/undoIcon.js +0 -0
  277. /package/{components → lib/esm/components}/icons/undoIcon.js.map +0 -0
  278. /package/{components → lib/esm/components}/input/autoCompleteInput.d.ts +0 -0
  279. /package/{components → lib/esm/components}/input/autoCompleteInput.js +0 -0
  280. /package/{components → lib/esm/components}/input/autoCompleteInput.js.map +0 -0
  281. /package/{components → lib/esm/components}/input/draftUtils.d.ts +0 -0
  282. /package/{components → lib/esm/components}/input/draftUtils.js +0 -0
  283. /package/{components → lib/esm/components}/input/draftUtils.js.map +0 -0
  284. /package/{components → lib/esm/components}/input/draftail.js.map +0 -0
  285. /package/{components → lib/esm/components}/input/hexaFormattedInput.d.ts +0 -0
  286. /package/{components → lib/esm/components}/input/hexaFormattedInput.js +0 -0
  287. /package/{components → lib/esm/components}/input/hexaFormattedInput.js.map +0 -0
  288. /package/{components → lib/esm/components}/input/mask/helpers.d.ts +0 -0
  289. /package/{components → lib/esm/components}/input/mask/helpers.js +0 -0
  290. /package/{components → lib/esm/components}/input/mask/helpers.js.map +0 -0
  291. /package/{components → lib/esm/components}/input/mask/inputMaskCore.d.ts +0 -0
  292. /package/{components → lib/esm/components}/input/mask/inputMaskCore.js +0 -0
  293. /package/{components → lib/esm/components}/input/mask/inputMaskCore.js.map +0 -0
  294. /package/{components → lib/esm/components}/input/mask/pattern.d.ts +0 -0
  295. /package/{components → lib/esm/components}/input/mask/pattern.js +0 -0
  296. /package/{components → lib/esm/components}/input/mask/pattern.js.map +0 -0
  297. /package/{components → lib/esm/components}/input/maskedInput.d.ts +0 -0
  298. /package/{components → lib/esm/components}/input/maskedInput.js +0 -0
  299. /package/{components → lib/esm/components}/input/maskedInput.js.map +0 -0
  300. /package/{components → lib/esm/components}/input/passwordInput.d.ts +0 -0
  301. /package/{components → lib/esm/components}/input/passwordInput.js +0 -0
  302. /package/{components → lib/esm/components}/input/passwordInput.js.map +0 -0
  303. /package/{components → lib/esm/components}/input/simpleAutoComplete.d.ts +0 -0
  304. /package/{components → lib/esm/components}/input/simpleAutoComplete.js +0 -0
  305. /package/{components → lib/esm/components}/input/simpleAutoComplete.js.map +0 -0
  306. /package/{components → lib/esm/components}/input/textarea/extractSpansOfClasses.d.ts +0 -0
  307. /package/{components → lib/esm/components}/input/textarea/extractSpansOfClasses.js +0 -0
  308. /package/{components → lib/esm/components}/input/textarea/extractSpansOfClasses.js.map +0 -0
  309. /package/{components → lib/esm/components}/input/textarea/getRanges.d.ts +0 -0
  310. /package/{components → lib/esm/components}/input/textarea/getRanges.js +0 -0
  311. /package/{components → lib/esm/components}/input/textarea/getRanges.js.map +0 -0
  312. /package/{components → lib/esm/components}/input/textarea/getType.d.ts +0 -0
  313. /package/{components → lib/esm/components}/input/textarea/getType.js +0 -0
  314. /package/{components → lib/esm/components}/input/textarea/getType.js.map +0 -0
  315. /package/{components → lib/esm/components}/input/textarea/highlighedContents.d.ts +0 -0
  316. /package/{components → lib/esm/components}/input/textarea/highlighedContents.js +0 -0
  317. /package/{components → lib/esm/components}/input/textarea/highlighedContents.js.map +0 -0
  318. /package/{components → lib/esm/components}/input/textarea/mentionsWithHighlighting.d.ts +0 -0
  319. /package/{components → lib/esm/components}/input/textarea/mentionsWithHighlighting.js +0 -0
  320. /package/{components → lib/esm/components}/input/textarea/mentionsWithHighlighting.js.map +0 -0
  321. /package/{components → lib/esm/components}/keyboard/keyboardUtils.d.ts +0 -0
  322. /package/{components → lib/esm/components}/keyboard/keyboardUtils.js +0 -0
  323. /package/{components → lib/esm/components}/keyboard/keyboardUtils.js.map +0 -0
  324. /package/{components → lib/esm/components}/modal/draggableModalProvider.d.ts +0 -0
  325. /package/{components → lib/esm/components}/modal/draggableModalProvider.js +0 -0
  326. /package/{components → lib/esm/components}/modal/draggableModalProvider.js.map +0 -0
  327. /package/{components → lib/esm/components}/modal/impl/clamp.d.ts +0 -0
  328. /package/{components → lib/esm/components}/modal/impl/clamp.js +0 -0
  329. /package/{components → lib/esm/components}/modal/impl/clamp.js.map +0 -0
  330. /package/{components → lib/esm/components}/modal/impl/draggableModal.d.ts +0 -0
  331. /package/{components → lib/esm/components}/modal/impl/draggableModal.js +0 -0
  332. /package/{components → lib/esm/components}/modal/impl/draggableModal.js.map +0 -0
  333. /package/{components → lib/esm/components}/modal/impl/draggableModalContext.d.ts +0 -0
  334. /package/{components → lib/esm/components}/modal/impl/draggableModalContext.js +0 -0
  335. /package/{components → lib/esm/components}/modal/impl/draggableModalContext.js.map +0 -0
  336. /package/{components → lib/esm/components}/modal/impl/draggableModalInner.d.ts +0 -0
  337. /package/{components → lib/esm/components}/modal/impl/draggableModalInner.js +0 -0
  338. /package/{components → lib/esm/components}/modal/impl/draggableModalInner.js.map +0 -0
  339. /package/{components → lib/esm/components}/modal/impl/draggableModalReducer.d.ts +0 -0
  340. /package/{components → lib/esm/components}/modal/impl/draggableModalReducer.js +0 -0
  341. /package/{components → lib/esm/components}/modal/impl/draggableModalReducer.js.map +0 -0
  342. /package/{components → lib/esm/components}/modal/impl/getWindowSize.d.ts +0 -0
  343. /package/{components → lib/esm/components}/modal/impl/getWindowSize.js +0 -0
  344. /package/{components → lib/esm/components}/modal/impl/getWindowSize.js.map +0 -0
  345. /package/{components → lib/esm/components}/modal/impl/index.d.ts +0 -0
  346. /package/{components → lib/esm/components}/modal/impl/index.js +0 -0
  347. /package/{components → lib/esm/components}/modal/impl/index.js.map +0 -0
  348. /package/{components → lib/esm/components}/modal/impl/resizeHandle.d.ts +0 -0
  349. /package/{components → lib/esm/components}/modal/impl/resizeHandle.js +0 -0
  350. /package/{components → lib/esm/components}/modal/impl/resizeHandle.js.map +0 -0
  351. /package/{components → lib/esm/components}/modal/impl/useDrag.d.ts +0 -0
  352. /package/{components → lib/esm/components}/modal/impl/useDrag.js +0 -0
  353. /package/{components → lib/esm/components}/modal/impl/useDrag.js.map +0 -0
  354. /package/{components → lib/esm/components}/modal/impl/usePrevious.d.ts +0 -0
  355. /package/{components → lib/esm/components}/modal/impl/usePrevious.js +0 -0
  356. /package/{components → lib/esm/components}/modal/impl/usePrevious.js.map +0 -0
  357. /package/{components → lib/esm/components}/modal/impl/useResize.d.ts +0 -0
  358. /package/{components → lib/esm/components}/modal/impl/useResize.js +0 -0
  359. /package/{components → lib/esm/components}/modal/impl/useResize.js.map +0 -0
  360. /package/{components → lib/esm/components}/modal/modalDialog.d.ts +0 -0
  361. /package/{components → lib/esm/components}/modal/modalDialog.js +0 -0
  362. /package/{components → lib/esm/components}/modal/modalDialog.js.map +0 -0
  363. /package/{components → lib/esm/components}/picker/enumValuePicker.d.ts +0 -0
  364. /package/{components → lib/esm/components}/picker/enumValuePicker.js +0 -0
  365. /package/{components → lib/esm/components}/picker/enumValuePicker.js.map +0 -0
  366. /package/{components → lib/esm/components}/platformSpecific.d.ts +0 -0
  367. /package/{components → lib/esm/components}/platformSpecific.js +0 -0
  368. /package/{components → lib/esm/components}/platformSpecific.js.map +0 -0
  369. /package/{components → lib/esm/components}/scrollTo/onlyText.d.ts +0 -0
  370. /package/{components → lib/esm/components}/scrollTo/onlyText.js +0 -0
  371. /package/{components → lib/esm/components}/scrollTo/onlyText.js.map +0 -0
  372. /package/{components → lib/esm/components}/scrollTo/scrollTo.d.ts +0 -0
  373. /package/{components → lib/esm/components}/scrollTo/scrollTo.js +0 -0
  374. /package/{components → lib/esm/components}/scrollTo/scrollTo.js.map +0 -0
  375. /package/{components → lib/esm/components}/style/withCss.d.ts +0 -0
  376. /package/{components → lib/esm/components}/style/withCss.js +0 -0
  377. /package/{components → lib/esm/components}/style/withCss.js.map +0 -0
  378. /package/{components → lib/esm/components}/style/withInputNumberCss.d.ts +0 -0
  379. /package/{components → lib/esm/components}/style/withInputNumberCss.js +0 -0
  380. /package/{components → lib/esm/components}/style/withInputNumberCss.js.map +0 -0
  381. /package/{components → lib/esm/components}/table/dragSortingTable.d.ts +0 -0
  382. /package/{components → lib/esm/components}/table/dragSortingTable.js +0 -0
  383. /package/{components → lib/esm/components}/table/dragSortingTable.js.map +0 -0
  384. /package/{components → lib/esm/components}/text/impl/innerSize.d.ts +0 -0
  385. /package/{components → lib/esm/components}/text/impl/innerSize.js +0 -0
  386. /package/{components → lib/esm/components}/text/impl/innerSize.js.map +0 -0
  387. /package/{components → lib/esm/components}/text/impl/series.d.ts +0 -0
  388. /package/{components → lib/esm/components}/text/impl/series.js +0 -0
  389. /package/{components → lib/esm/components}/text/impl/series.js.map +0 -0
  390. /package/{components → lib/esm/components}/text/impl/shallowEqual.d.ts +0 -0
  391. /package/{components → lib/esm/components}/text/impl/shallowEqual.js +0 -0
  392. /package/{components → lib/esm/components}/text/impl/shallowEqual.js.map +0 -0
  393. /package/{components → lib/esm/components}/text/impl/uniqueId.d.ts +0 -0
  394. /package/{components → lib/esm/components}/text/impl/uniqueId.js +0 -0
  395. /package/{components → lib/esm/components}/text/impl/uniqueId.js.map +0 -0
  396. /package/{components → lib/esm/components}/text/impl/whilst.d.ts +0 -0
  397. /package/{components → lib/esm/components}/text/impl/whilst.js +0 -0
  398. /package/{components → lib/esm/components}/text/impl/whilst.js.map +0 -0
  399. /package/{components → lib/esm/components}/text/textFit.d.ts +0 -0
  400. /package/{components → lib/esm/components}/text/textFit.js +0 -0
  401. /package/{components → lib/esm/components}/text/textFit.js.map +0 -0
  402. /package/{i18n → lib/esm/i18n}/componentsLocaleHolder.d.ts +0 -0
  403. /package/{i18n → lib/esm/i18n}/componentsLocaleHolder.js.map +0 -0
@@ -0,0 +1,285 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ import {getWindowSize} from './getWindowSize'
4
+ import {clamp} from './clamp'
5
+
6
+ const mapObject = <T>(o: { [key: string]: T }, f: (value: T) => T): { [key: string]: T } =>
7
+ Object.assign({}, ...Object.keys(o).map(k => ({[k]: f(o[k])})))
8
+
9
+ // ID for a specific modal.
10
+ export type ModalID = string
11
+
12
+ // State for a specific modal.
13
+ export interface ModalState {
14
+ x: number
15
+ y: number
16
+ width: number
17
+ height: number
18
+ zIndex: number
19
+ visible: boolean
20
+ }
21
+
22
+ // State of all modals.
23
+ export interface ModalsState {
24
+ maxZIndex: number
25
+ windowSize: {
26
+ width: number
27
+ height: number
28
+ }
29
+ modals: {
30
+ [key: string]: ModalState
31
+ }
32
+ }
33
+
34
+ export const initialModalsState: ModalsState = {
35
+ maxZIndex: 0,
36
+ windowSize: getWindowSize(),
37
+ modals: {},
38
+ };
39
+
40
+ export const initialModalState: ModalState = {
41
+ x: 0,
42
+ y: 0,
43
+ width: 400,
44
+ height: 400,
45
+ zIndex: 0,
46
+ visible: false,
47
+ };
48
+
49
+ const getInitialModalState = ({
50
+ initialWidth = initialModalState.width,
51
+ initialHeight = initialModalState.height,
52
+ }: {
53
+ initialWidth?: number
54
+ initialHeight?: number
55
+ }) => {
56
+ return {
57
+ ...initialModalState,
58
+ width: initialWidth,
59
+ height: initialHeight,
60
+ }
61
+ }
62
+
63
+ export type Action =
64
+ | { type: 'show'; id: ModalID }
65
+ | { type: 'hide'; id: ModalID }
66
+ | { type: 'focus'; id: ModalID }
67
+ | { type: 'unmount'; id: ModalID }
68
+ | { type: 'mount'; id: ModalID, intialState: { initialWidth?: number; initialHeight?: number } }
69
+ | { type: 'windowResize'; size: { width: number; height: number } }
70
+ | { type: 'drag'; id: ModalID; x: number; y: number }
71
+ | {
72
+ type: 'resize'
73
+ id: ModalID
74
+ x: number
75
+ y: number
76
+ width: number
77
+ height: number
78
+ }
79
+
80
+ export const getModalState = ({
81
+ state,
82
+ id,
83
+ initialWidth,
84
+ initialHeight,
85
+ }: {
86
+ state: ModalsState
87
+ id: ModalID
88
+ initialWidth?: number
89
+ initialHeight?: number
90
+ }): ModalState => state.modals[id] || getInitialModalState({ initialWidth, initialHeight })
91
+
92
+ const getNextZIndex = (state: ModalsState, id: string): number =>
93
+ getModalState({state, id}).zIndex === state.maxZIndex ? state.maxZIndex : state.maxZIndex + 1;
94
+
95
+ const clampDrag = (
96
+ windowWidth: number,
97
+ windowHeight: number,
98
+ x: number,
99
+ y: number,
100
+ width: number,
101
+ height: number,
102
+ ): { x: number; y: number } => {
103
+ const maxX = windowWidth - width;
104
+ const maxY = windowHeight - height;
105
+ const clampedX = clamp(0, maxX, x);
106
+ const clampedY = clamp(0, maxY, y);
107
+ return {x: clampedX, y: clampedY}
108
+ }
109
+
110
+ const clampResize = (
111
+ windowWidth: number,
112
+ windowHeight: number,
113
+ x: number,
114
+ y: number,
115
+ width: number,
116
+ height: number,
117
+ ): { width: number; height: number } => {
118
+ const maxWidth = windowWidth - x;
119
+ const maxHeight = windowHeight - y;
120
+ const clampedWidth = clamp(200, maxWidth, width);
121
+ const clampedHeight = clamp(200, maxHeight, height);
122
+ return {width: clampedWidth, height: clampedHeight}
123
+ }
124
+
125
+ export const draggableModalReducer = (state: ModalsState, action: Action): ModalsState => {
126
+ switch (action.type) {
127
+ case 'resize':
128
+ const size = clampResize(
129
+ state.windowSize.width,
130
+ state.windowSize.height,
131
+ action.x,
132
+ action.y,
133
+ action.width,
134
+ action.height,
135
+ )
136
+ return {
137
+ ...state,
138
+ maxZIndex: getNextZIndex(state, action.id),
139
+ modals: {
140
+ ...state.modals,
141
+ [action.id]: {
142
+ ...state.modals[action.id],
143
+ ...size,
144
+ zIndex: getNextZIndex(state, action.id),
145
+ },
146
+ },
147
+ }
148
+ case 'drag':
149
+ return {
150
+ ...state,
151
+ maxZIndex: getNextZIndex(state, action.id),
152
+ modals: {
153
+ ...state.modals,
154
+ [action.id]: {
155
+ ...state.modals[action.id],
156
+ ...clampDrag(
157
+ state.windowSize.width,
158
+ state.windowSize.height,
159
+ action.x,
160
+ action.y,
161
+ state.modals[action.id].width,
162
+ state.modals[action.id].height,
163
+ ),
164
+ zIndex: getNextZIndex(state, action.id),
165
+ },
166
+ },
167
+ }
168
+ case 'show': {
169
+ const modalState = state.modals[action.id]
170
+ const centerX = state.windowSize.width / 2 - modalState.width / 2
171
+ const centerY = state.windowSize.height / 2 - modalState.height / 2
172
+ const position = clampDrag(
173
+ state.windowSize.width,
174
+ state.windowSize.height,
175
+ centerX,
176
+ centerY,
177
+ modalState.width,
178
+ modalState.height,
179
+ )
180
+ const size = clampResize(
181
+ state.windowSize.width,
182
+ state.windowSize.height,
183
+ position.x,
184
+ position.y,
185
+ modalState.width,
186
+ modalState.height,
187
+ )
188
+ return {
189
+ ...state,
190
+ maxZIndex: state.maxZIndex + 1,
191
+ modals: {
192
+ ...state.modals,
193
+ [action.id]: {
194
+ ...modalState,
195
+ ...position,
196
+ ...size,
197
+ zIndex: state.maxZIndex + 1,
198
+ visible: true,
199
+ },
200
+ },
201
+ }
202
+ }
203
+ case 'focus':
204
+ const modalState = state.modals[action.id]
205
+ return {
206
+ ...state,
207
+ maxZIndex: state.maxZIndex + 1,
208
+ modals: {
209
+ ...state.modals,
210
+ [action.id]: {
211
+ ...modalState,
212
+ zIndex: state.maxZIndex + 1,
213
+ },
214
+ },
215
+ }
216
+ case 'hide': {
217
+ const modalState = state.modals[action.id]
218
+ return {
219
+ ...state,
220
+ modals: {
221
+ ...state.modals,
222
+ [action.id]: {
223
+ ...modalState,
224
+ visible: false,
225
+ },
226
+ },
227
+ }
228
+ }
229
+ case 'mount':
230
+ const initialState = getInitialModalState(action.intialState);
231
+ return {
232
+ ...state,
233
+ maxZIndex: state.maxZIndex + 1,
234
+ modals: {
235
+ ...state.modals,
236
+ [action.id]: {
237
+ ...initialState,
238
+ x: state.windowSize.width / 2 - initialState.width / 2,
239
+ y: state.windowSize.height / 2 - initialState.height / 2,
240
+ zIndex: state.maxZIndex + 1,
241
+ },
242
+ },
243
+ };
244
+ case 'unmount':
245
+ const modalsClone = {...state.modals};
246
+ delete modalsClone[action.id];
247
+ return {
248
+ ...state,
249
+ modals: modalsClone,
250
+ };
251
+ case 'windowResize':
252
+ return {
253
+ ...state,
254
+ windowSize: action.size,
255
+ modals: mapObject(state.modals, (modalState: ModalState) => {
256
+ if (!modalState.visible) {
257
+ return modalState
258
+ }
259
+ const position = clampDrag(
260
+ state.windowSize.width,
261
+ state.windowSize.height,
262
+ modalState.x,
263
+ modalState.y,
264
+ modalState.width,
265
+ modalState.height,
266
+ )
267
+ const size = clampResize(
268
+ state.windowSize.width,
269
+ state.windowSize.height,
270
+ position.x,
271
+ position.y,
272
+ modalState.width,
273
+ modalState.height,
274
+ )
275
+ return {
276
+ ...modalState,
277
+ ...position,
278
+ ...size,
279
+ }
280
+ }),
281
+ }
282
+ default:
283
+ throw new Error()
284
+ }
285
+ }
@@ -0,0 +1,6 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ export const getWindowSize = (): { width: number; height: number } => ({
4
+ width: window.innerWidth || 0,
5
+ height: window.innerHeight || 0,
6
+ })
@@ -0,0 +1,5 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ export * from './draggableModal'
4
+ export * from './draggableModalContext'
5
+ export * from '../draggableModalProvider'
@@ -0,0 +1,12 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ import * as React from 'react'
4
+ import '../../../style/modal/ResizeHandle.css'
5
+
6
+ export const ResizeHandle = (
7
+ props: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
8
+ ): React.ReactElement => (
9
+ <div className="ant-design-draggable-modal-resize-handle" {...props}>
10
+ <div className="ant-design-draggable-modal-resize-handle-inner" />
11
+ </div>
12
+ )
@@ -0,0 +1,57 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ import * as React from 'react'
4
+ import {useCallback, useEffect, useState} from 'react'
5
+
6
+ export const useDrag = (
7
+ x: number,
8
+ y: number,
9
+ onDrag: (args: { x: number; y: number }) => void,
10
+ ): ((e: React.MouseEvent) => void) => {
11
+ const [dragging, setDragging] = useState(false)
12
+ const [initialDragState, setInitialDragState] = useState({
13
+ initX: 0,
14
+ initY: 0,
15
+ mouseDownX: 0,
16
+ mouseDownY: 0,
17
+ })
18
+
19
+ const onMouseDown = useCallback(
20
+ (e: React.MouseEvent) => {
21
+ e.preventDefault()
22
+ setInitialDragState({
23
+ initX: x,
24
+ initY: y,
25
+ mouseDownX: e.clientX,
26
+ mouseDownY: e.clientY,
27
+ })
28
+ setDragging(true)
29
+ },
30
+ [x, y, setDragging, setInitialDragState],
31
+ )
32
+
33
+ useEffect(() => {
34
+ const onMouseMove = (e: MouseEvent): void => {
35
+ if (dragging) {
36
+ const { initX, mouseDownX, initY, mouseDownY } = initialDragState
37
+ let dx = e.clientX - mouseDownX
38
+ let dy = e.clientY - mouseDownY
39
+ const x = initX + dx
40
+ const y = initY + dy
41
+ onDrag({ x, y })
42
+ }
43
+ }
44
+ window.addEventListener('mousemove', onMouseMove, { passive: true })
45
+ return () => window.removeEventListener('mousemove', onMouseMove)
46
+ }, [initialDragState, dragging, onDrag])
47
+
48
+ useEffect(() => {
49
+ const onMouseUp = (): void => {
50
+ setDragging(false)
51
+ }
52
+ window.addEventListener('mouseup', onMouseUp)
53
+ return () => window.removeEventListener('mouseup', onMouseUp)
54
+ }, [setDragging])
55
+
56
+ return onMouseDown
57
+ }
@@ -0,0 +1,11 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ import {useEffect, useRef} from 'react'
4
+
5
+ export const usePrevious = <T>(value: T): T => {
6
+ const ref = useRef<T>(value)
7
+ useEffect(() => {
8
+ ref.current = value
9
+ }, [value])
10
+ return ref.current
11
+ }
@@ -0,0 +1,79 @@
1
+ // https://github.com/CUBETIQ/antd-modal/
2
+
3
+ import * as React from 'react'
4
+ import {useCallback, useEffect, useState} from 'react'
5
+
6
+ interface InitialState {
7
+ initX: number
8
+ initY: number
9
+ initWidth: number
10
+ initHeight: number
11
+ mouseDownX: number
12
+ mouseDownY: number
13
+ }
14
+
15
+ export const useResize = (
16
+ x: number,
17
+ y: number,
18
+ width: number,
19
+ height: number,
20
+ onResize: (args: { x: number; y: number; width: number; height: number }) => void,
21
+ ): ((e: React.MouseEvent) => void) => {
22
+ const [dragging, setDragging] = useState(false);
23
+ const [initialDragState, setInitialDragState] = useState<InitialState>({
24
+ initX: 0,
25
+ initY: 0,
26
+ initWidth: 0,
27
+ initHeight: 0,
28
+ mouseDownX: 0,
29
+ mouseDownY: 0,
30
+ })
31
+
32
+ const onMouseDown = useCallback(
33
+ (e: React.MouseEvent) => {
34
+ e.preventDefault()
35
+ setInitialDragState({
36
+ initX: x,
37
+ initY: y,
38
+ initWidth: width,
39
+ initHeight: height,
40
+ mouseDownX: e.clientX,
41
+ mouseDownY: e.clientY,
42
+ })
43
+ setDragging(true)
44
+ },
45
+ [width, height, setDragging, setInitialDragState, x, y],
46
+ )
47
+
48
+ useEffect(() => {
49
+ const onMouseMove = (e: MouseEvent): void => {
50
+ if (dragging) {
51
+ const {
52
+ initX,
53
+ initY,
54
+ initWidth,
55
+ mouseDownX,
56
+ initHeight,
57
+ mouseDownY,
58
+ } = initialDragState
59
+ let dx = e.clientX - mouseDownX
60
+ let dy = e.clientY - mouseDownY
61
+ const width = initWidth + dx;
62
+ const height = initHeight + dy;
63
+ return onResize({ x: initX, y: initY, width, height })
64
+ }
65
+ }
66
+ window.addEventListener('mousemove', onMouseMove, { passive: true })
67
+ return () => window.removeEventListener('mousemove', onMouseMove)
68
+ }, [initialDragState, dragging, onResize])
69
+
70
+ useEffect(() => {
71
+ const onMouseUp = (): void => {
72
+ setDragging(false)
73
+ }
74
+ window.addEventListener('mouseup', onMouseUp);
75
+ return () => window.removeEventListener('mouseup', onMouseUp)
76
+ }, [setDragging])
77
+
78
+ return onMouseDown
79
+ }
@@ -0,0 +1,172 @@
1
+ import React from "react";
2
+ import {Button, Modal} from "antd";
3
+ import {ModalFuncProps, ModalProps} from "antd/es/modal";
4
+ import i18n from "d2core/i18n/i18n";
5
+ import {DraggableModal} from "d2coreui/components/modal/impl";
6
+
7
+ export const enum ModalDialogMode {
8
+ NO_BUTTONS = "NO_BUTTONS",
9
+ OK_CANCEL = "OK_CANCEL",
10
+ YES_NO = "YES_NO",
11
+ YES_NO_CANCEL = "YES_NO_CANCEL",
12
+ OK = "OK",
13
+ }
14
+
15
+ export interface ModalDialogFuncProps extends ModalFuncProps {
16
+ mode: ModalDialogMode
17
+ denyText?: string
18
+ onDeny?: (...args: any[]) => any;
19
+ }
20
+
21
+ export interface ModalDialogProps extends Omit<ModalProps, "width"> {
22
+ mode: ModalDialogMode
23
+ initialWidth?: number,
24
+ initialHeight?: number
25
+
26
+ // resize dialog handler
27
+ onResize?(size: { width: number, height: number }): void
28
+ }
29
+
30
+ export class ModalDialog extends React.Component<ModalDialogProps, {}> {
31
+ constructor(props: Readonly<ModalDialogProps>) {
32
+ super(props);
33
+ }
34
+
35
+ public static confirm(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {
36
+ let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };
37
+ const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
38
+ dialogHandler?.destroy();
39
+ });
40
+ dialogHandler = Modal.confirm(modalDialogProperties);
41
+ return dialogHandler;
42
+ }
43
+
44
+ public static error(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {
45
+ let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };
46
+ const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
47
+ dialogHandler?.destroy();
48
+ });
49
+ dialogHandler = Modal.error(modalDialogProperties);
50
+ return dialogHandler;
51
+ }
52
+
53
+ public static delete(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {
54
+ let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };
55
+ const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
56
+ dialogHandler?.destroy();
57
+ });
58
+ if (props.okButtonProps) {
59
+ props.okButtonProps.danger = true;
60
+ }
61
+ dialogHandler = Modal.confirm(modalDialogProperties);
62
+ return dialogHandler;
63
+ }
64
+
65
+ public static success(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {
66
+ let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };
67
+ const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
68
+ dialogHandler?.destroy();
69
+ });
70
+ dialogHandler = Modal.success(modalDialogProperties);
71
+ return dialogHandler;
72
+ }
73
+
74
+ public static info(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {
75
+ let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };
76
+ const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
77
+ dialogHandler?.destroy();
78
+ });
79
+ dialogHandler = Modal.info(modalDialogProperties);
80
+ return dialogHandler;
81
+ }
82
+
83
+ render() {
84
+ const modalDialogProperties = ModalDialog.getModalProperties(this.props);
85
+ return (
86
+ <DraggableModal {...modalDialogProperties}>
87
+ {this.props.children}
88
+ </DraggableModal>);
89
+ }
90
+
91
+ private static getModalProperties(props: ModalDialogProps) {
92
+ const {mode, ...rest} = props;
93
+ if (mode === ModalDialogMode.NO_BUTTONS) {
94
+ if (rest.footer === undefined) {
95
+ rest.footer = null;
96
+ }
97
+ } else {
98
+ switch (mode) {
99
+ case ModalDialogMode.OK_CANCEL:
100
+ rest.okText = props.okText ?? i18n("OK");
101
+ rest.cancelText = props.cancelText ?? i18n("Cancel");
102
+ break;
103
+ case ModalDialogMode.YES_NO:
104
+ rest.okText = props.okText ?? i18n("Yes");
105
+ rest.cancelText = props.cancelText ?? i18n("No");
106
+ break;
107
+ case ModalDialogMode.OK:
108
+ rest.okText = props.okText ?? i18n("OK");
109
+ rest.cancelButtonProps = undefined;
110
+ break;
111
+ }
112
+
113
+ rest.okButtonProps = Object.assign(rest.okButtonProps !== undefined ? rest.okButtonProps : {}, {style: {marginRight: 8}});
114
+ rest.cancelButtonProps = Object.assign(rest.cancelButtonProps !== undefined ? rest.cancelButtonProps : {}, {style: {float: "right"}});
115
+ }
116
+ return rest;
117
+ }
118
+
119
+ private static getModalFuncProperties(props: ModalDialogFuncProps, performClose: () => void) {
120
+ const {mode, denyText, onDeny, ...rest} = props;
121
+ switch (mode) {
122
+ case ModalDialogMode.OK_CANCEL:
123
+ rest.okText = rest.okText ?? i18n("OK");
124
+ rest.cancelText = rest.cancelText ?? i18n("Cancel");
125
+ break;
126
+ case ModalDialogMode.YES_NO:
127
+ rest.okText = rest.okText ?? i18n("Yes");
128
+ rest.cancelText = rest.cancelText ?? i18n("No");
129
+ break;
130
+ case ModalDialogMode.YES_NO_CANCEL:
131
+ rest.okText = rest.okText ?? i18n("Yes");
132
+ rest.cancelText = (<React.Fragment>
133
+ <Button onClick={(e) => {
134
+ e.preventDefault();
135
+ e.stopPropagation();
136
+ e.nativeEvent.stopImmediatePropagation();
137
+ onDeny?.(e);
138
+ performClose();
139
+ }}>{denyText ?? i18n("No")}</Button>
140
+ <Button>{rest.cancelText ?? i18n("Cancel")}</Button>
141
+ </React.Fragment>
142
+ );
143
+ if (!rest.cancelButtonProps) {
144
+ rest.cancelButtonProps = {};
145
+ }
146
+ rest.cancelButtonProps.type = "text";
147
+ break;
148
+ case ModalDialogMode.OK:
149
+ rest.okText = props.okText ?? i18n("OK");
150
+ rest.cancelButtonProps = {style: {display: "none"}};
151
+ }
152
+ if (rest.autoFocusButton === undefined) {
153
+ rest.autoFocusButton = "ok";
154
+ }
155
+
156
+ rest.okButtonProps = Object.assign(rest.okButtonProps !== undefined ? rest.okButtonProps : {}, {style: {marginRight: 8}});
157
+
158
+ if (mode !== ModalDialogMode.OK) {
159
+ rest.cancelButtonProps = Object.assign(rest.cancelButtonProps !== undefined ? rest.cancelButtonProps : {}, {style: {float: "right"}});
160
+ }
161
+
162
+ if (mode === ModalDialogMode.YES_NO_CANCEL) {
163
+ if (rest.cancelButtonProps && rest.cancelButtonProps.style) {
164
+ rest.cancelButtonProps.style.padding = 0;
165
+ rest.cancelButtonProps.style.marginTop = -1;
166
+ rest.cancelButtonProps.style.cursor = "default";
167
+ rest.cancelButtonProps.style.background = "transparent";
168
+ }
169
+ }
170
+ return rest;
171
+ }
172
+ }
@@ -0,0 +1,48 @@
1
+ import React from "react";
2
+ import {Select, SelectProps} from "antd";
3
+ import i18n from "d2core/i18n/i18n";
4
+
5
+ type EnumRepresentation<T extends string> = {[key in string]: T};
6
+
7
+ export interface EnumValuePickerProps<T extends string> extends Omit<SelectProps<T>, "onChange"> {
8
+ allowedValueTypes?: T[]
9
+ values: EnumRepresentation<T>
10
+ translateValue?: boolean
11
+ translationPrefix?: string
12
+
13
+ onChange(value?: T): void
14
+ }
15
+
16
+ export default class EnumValuePicker<T extends string> extends React.Component<EnumValuePickerProps<T>, any> {
17
+ render() {
18
+ const {value, allowedValueTypes, onChange, translationPrefix, values, translateValue, ...others} = this.props;
19
+ let selectValue: T | null | undefined = value;
20
+
21
+ if (selectValue !== undefined && selectValue !== null && allowedValueTypes) {
22
+ if (!allowedValueTypes.includes(selectValue)) {
23
+ selectValue = undefined;
24
+ }
25
+ }
26
+
27
+ return (
28
+ <Select<T> value={selectValue}
29
+ onChange={(value) => {
30
+ onChange(value !== "" ? value : undefined);
31
+ }}
32
+ {...others}>
33
+ {(allowedValueTypes ?? Object.values(values) as T[]).map((val) => {
34
+ let text: string = val;
35
+ if (translateValue) {
36
+ text = i18n(translationPrefix ? translationPrefix + text : text);
37
+ }
38
+
39
+ return (
40
+ <Select.Option value={val} key={val}>
41
+ {text}
42
+ </Select.Option>
43
+ );
44
+ })}
45
+ </Select>
46
+ );
47
+ }
48
+ }