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,468 @@
1
+ import React, {HTMLAttributes} from "react";
2
+ import dayjs, { Dayjs } from "dayjs";
3
+ import {CalendarOutlined} from "@ant-design/icons";
4
+ import {Divider, Switch, Tag, Tooltip} from "antd";
5
+ import DateTimeInput from "./dateTimeInput";
6
+ import memoizeOne from "memoize-one";
7
+ import {TooltipPlacement} from "antd/es/tooltip";
8
+ import KeyboardUtils from "../keyboard/keyboardUtils";
9
+ import i18n from "d2core/i18n/i18n";
10
+ import DateRangeInputAdvancedPanel, {TimeShiftDirection} from "./dateRangeInputAdvancedPanel";
11
+ import {SizeType} from "antd/lib/config-provider/SizeContext";
12
+
13
+ export enum DateRangeInputMode {
14
+ SIMPLE,
15
+ ADVANCED,
16
+ }
17
+
18
+ export interface DateRangeInputProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
19
+ mask: string
20
+ fromValue: Dayjs | null
21
+ toValue: Dayjs | null
22
+ onChange?: (fromValue: Dayjs | null, toValue: Dayjs | null) => void
23
+ onInvalidValue?: (input: string) => void
24
+ disabled?: boolean
25
+ minDateTime?: Dayjs
26
+ maxDateTime?: Dayjs
27
+ // allows to set no (null) date by datepicker
28
+ allowClear?: boolean
29
+ ranges?: { [rangeName: string]: () => [Dayjs, Dayjs] }
30
+ size?: SizeType;
31
+
32
+ hidePopup?: boolean
33
+ renderAsCalendar?: boolean
34
+ placement?: TooltipPlacement
35
+ align?: {
36
+ points?: [string, string];
37
+ offset?: [number, number];
38
+ targetOffset?: [number, number];
39
+ overflow?: {
40
+ adjustX?: boolean;
41
+ adjustY?: boolean;
42
+ };
43
+ useCssRight?: boolean;
44
+ useCssBottom?: boolean;
45
+ useCssTransform?: boolean;
46
+ }
47
+
48
+ defaultMode?: DateRangeInputMode
49
+
50
+ onModeChange?(mode: DateRangeInputMode): void
51
+
52
+ onFocus?(): void
53
+
54
+ onBlur?(): void
55
+
56
+ confirmButtonsRenderer?(): React.ReactNode
57
+
58
+ onPopupVisibleChange?(visible: boolean): void
59
+ }
60
+
61
+ interface DateRangeInputState {
62
+ valid: boolean
63
+ selectionStartDate: Dayjs | null
64
+ popupKeyIndex: number
65
+ popupVisible: boolean
66
+
67
+ mode: DateRangeInputMode
68
+ }
69
+
70
+ export default class DateRangeInput extends React.Component<DateRangeInputProps, DateRangeInputState> {
71
+ constructor(props: Readonly<DateRangeInputProps>) {
72
+ super(props);
73
+ this.state = {
74
+ valid: !!props.fromValue && props.fromValue.isValid() && !!props.toValue && props.toValue.isValid(),
75
+ selectionStartDate: null,
76
+ popupKeyIndex: 0,
77
+ popupVisible: false,
78
+
79
+ mode: props.defaultMode ?? DateRangeInputMode.SIMPLE,
80
+ };
81
+ this.getDefaultSelectedDateForFromPanel = memoizeOne(this.getDefaultSelectedDateForFromPanel.bind(this));
82
+ }
83
+
84
+ componentDidUpdate(_prevProps: Readonly<DateRangeInputProps>, prevState: Readonly<DateRangeInputState>) {
85
+ if (prevState.popupVisible !== this.state.popupVisible && this.props.onPopupVisibleChange) {
86
+ this.props.onPopupVisibleChange(this.state.popupVisible);
87
+ }
88
+ }
89
+
90
+ getDefaultSelectedDateForFromPanel(fromDate: Dayjs | null, toDate: Dayjs | null): Dayjs {
91
+ if (!!fromDate && !!toDate && fromDate.isSame(toDate, "date")) {
92
+ return fromDate.clone().subtract(1, "month");
93
+ } else {
94
+ return fromDate ?? dayjs().startOf("day").subtract(1, "month");
95
+ }
96
+ }
97
+
98
+ private getFromValue(date: Dayjs) {
99
+ return (this.props.fromValue?.clone() ?? dayjs().startOf("day")).year(date.year()).month(date.month()).date(date.date());
100
+ }
101
+
102
+ private getToValue(date: Dayjs) {
103
+ return (this.props.toValue?.clone() ?? dayjs().endOf("day")).year(date.year()).month(date.month()).date(date.date());
104
+ }
105
+
106
+ closePopup() {
107
+ // close tooltip
108
+ this.setState({popupKeyIndex: this.state.popupKeyIndex + 1, popupVisible: false});
109
+ this.props.onPopupVisibleChange?.(false);
110
+ }
111
+
112
+ private onChange(fromValue: Dayjs | null, toValue: Dayjs | null) {
113
+ if (this.props.minDateTime && fromValue?.isBefore(this.props.minDateTime)) {
114
+ fromValue = this.props.minDateTime;
115
+ }
116
+ if (this.props.maxDateTime && toValue?.isAfter(this.props.maxDateTime)) {
117
+ toValue = this.props.maxDateTime;
118
+ }
119
+ this.props.onChange?.(fromValue, toValue);
120
+ }
121
+
122
+ private renderSimplePart() {
123
+ const {
124
+ fromValue,
125
+ toValue,
126
+ onChange,
127
+ style,
128
+ allowClear,
129
+ renderAsCalendar,
130
+ hidePopup,
131
+ align,
132
+ defaultMode,
133
+ onModeChange,
134
+ confirmButtonsRenderer,
135
+ onPopupVisibleChange,
136
+ ...props
137
+ } = this.props;
138
+ const markedDateInterval: [Dayjs, Dayjs] | undefined = this.props.fromValue && this.props.toValue ? [this.props.fromValue, this.props.toValue] : undefined;
139
+
140
+ return (
141
+ <div>
142
+ <div style={{display: "flex"}}>
143
+ <DateTimeInput value={fromValue} {...props}
144
+ allowClear={allowClear}
145
+ renderAsCalendar
146
+ style={{width: "100%"}}
147
+ onChange={(date) => {
148
+ if (date) {
149
+ const fromValue = this.getFromValue(date);
150
+ const toValue = this.getToValue(date);
151
+ this.props.onChange?.(fromValue, toValue);
152
+ }
153
+ }}
154
+ defaultSelectedDate={this.getDefaultSelectedDateForFromPanel(fromValue, toValue)}
155
+ markedDateInterval={markedDateInterval}
156
+ onDateItemMouseDown={(date) => {
157
+ this.setState({selectionStartDate: date});
158
+ const dateFrom = this.getFromValue(date);
159
+ const dateTo = this.getToValue(date);
160
+ this.props.onChange?.(dateFrom, dateTo);
161
+ }}
162
+ onDateItemMouseOver={(date) => {
163
+ if (KeyboardUtils.isMouseDown() && !!this.state.selectionStartDate) {
164
+ let dateFrom: Dayjs;
165
+ let dateTo: Dayjs;
166
+ if (this.state.selectionStartDate.isBefore(date)) {
167
+ dateFrom = this.state.selectionStartDate;
168
+ dateTo = date;
169
+ } else {
170
+ dateFrom = date;
171
+ dateTo = this.state.selectionStartDate;
172
+ }
173
+ dateFrom = this.getFromValue(dateFrom);
174
+ dateTo = this.getToValue(dateTo);
175
+ this.props.onChange?.(dateFrom, dateTo);
176
+ }
177
+ }}
178
+ onDateItemMouseUp={(_date) => {
179
+ this.setState({selectionStartDate: null});
180
+ }}
181
+ ignoreKeyStrokes
182
+ />
183
+ <Divider type="vertical" style={{height: "auto"}}/>
184
+ <DateTimeInput value={toValue} {...props}
185
+ renderAsCalendar
186
+ allowClear={allowClear}
187
+ style={{width: "100%"}}
188
+ onChange={(date) => {
189
+ if (date) {
190
+ const fromValue = this.getFromValue(date);
191
+ const toValue = this.getToValue(date);
192
+ this.props.onChange?.(fromValue, toValue);
193
+ }
194
+ }}
195
+ markedDateInterval={markedDateInterval}
196
+ onDateItemMouseDown={(date) => {
197
+ this.setState({selectionStartDate: date});
198
+ const dateFrom = this.getFromValue(date);
199
+ const dateTo = this.getToValue(date);
200
+ this.props.onChange?.(dateFrom, dateTo);
201
+ }}
202
+ onDateItemMouseOver={(date) => {
203
+ if (KeyboardUtils.isMouseDown() && !!this.state.selectionStartDate) {
204
+ let dateFrom: Dayjs;
205
+ let dateTo: Dayjs;
206
+ if (this.state.selectionStartDate.isBefore(date)) {
207
+ dateFrom = this.state.selectionStartDate;
208
+ dateTo = date;
209
+ } else {
210
+ dateFrom = date;
211
+ dateTo = this.state.selectionStartDate;
212
+ }
213
+ dateFrom = this.getFromValue(dateFrom);
214
+ dateTo = this.getToValue(dateTo);
215
+ this.props.onChange?.(dateFrom, dateTo);
216
+ }
217
+ }}
218
+ onDateItemMouseUp={(_date) => {
219
+ this.setState({selectionStartDate: null});
220
+ }}
221
+ ignoreKeyStrokes
222
+ />
223
+ </div>
224
+ <div style={{borderTop: "1px solid #ddd", paddingTop: 6}}>
225
+ {
226
+ this.props.ranges && Object.keys(this.props.ranges).map((rangeName, index) => {
227
+ return (<Tag style={{userSelect: "none", cursor: "pointer"}} color="blue"
228
+ key={`range-${index}`}
229
+ onClick={() => {
230
+ const rangeFunction = this.props.ranges?.[rangeName];
231
+ if (rangeFunction) {
232
+ const range = rangeFunction();
233
+ this.props.onChange?.(range[0], range[1]);
234
+ }
235
+ }}>
236
+ {rangeName}</Tag>);
237
+ })
238
+ }
239
+ </div>
240
+ </div>
241
+ )
242
+ }
243
+
244
+ private renderAdvancedPart() {
245
+ const {
246
+ fromValue,
247
+ toValue,
248
+ onChange,
249
+ style,
250
+ allowClear,
251
+ renderAsCalendar,
252
+ hidePopup,
253
+ align,
254
+ defaultMode,
255
+ onModeChange,
256
+ confirmButtonsRenderer,
257
+ onPopupVisibleChange,
258
+ ...props
259
+ } = this.props;
260
+ return (
261
+ <div>
262
+ <div style={{display: "flex"}}>
263
+ <DateTimeInput
264
+ {...props}
265
+ style={{width: "47%"}}
266
+ value={fromValue}
267
+ onChange={(value) => {
268
+ this.props.onChange?.(value, this.props.toValue);
269
+ }}
270
+ />
271
+ <span style={{width: "6%", paddingTop: 4, color: "rgba(0, 0, 0, 0.65)", textAlign: "center"}}>
272
+ {"\u27F7"}
273
+ </span>
274
+ <DateTimeInput
275
+ {...props}
276
+ style={{width: "47%"}}
277
+ value={toValue}
278
+ onChange={(value) => {
279
+ this.props.onChange?.(this.props.fromValue, value);
280
+ }}
281
+ />
282
+ </div>
283
+ <DateRangeInputAdvancedPanel
284
+ onBeginIntervalChange={unit => {
285
+ let from: Dayjs;
286
+ if (unit === "15minutes") {
287
+ const roundedMinutes = Math.floor(dayjs().minute() / 15) * 15;
288
+ from = dayjs().startOf("hour").minute(roundedMinutes);
289
+ } else {
290
+ from = dayjs().startOf(unit);
291
+ }
292
+ this.onChange(from, this.props.toValue);
293
+ }}
294
+ onIntervalDurationChange={unitOfTime => {
295
+ if (this.props.fromValue) {
296
+ let to: Dayjs;
297
+ if (unitOfTime === "4years") {
298
+ to = this.props.fromValue.clone().add(4, "year").subtract(1, "millisecond");
299
+ } else {
300
+ to = this.props.fromValue.clone().add(1, unitOfTime).subtract(1, "millisecond")
301
+ }
302
+ this.onChange(this.props.fromValue, to);
303
+ }
304
+ }}
305
+ onTimeShift={(shiftBegin, shiftEnd, unitOfTime, type) => {
306
+ let fromValue = this.props.fromValue ?? null;
307
+ let toValue = this.props.toValue ?? null;
308
+
309
+ if (shiftBegin && fromValue) {
310
+ if (type === TimeShiftDirection.INCREMENT) {
311
+ fromValue = fromValue.add(1, unitOfTime);
312
+ } else if (type === TimeShiftDirection.DECREMENT) {
313
+ fromValue = fromValue.subtract(1, unitOfTime);
314
+ }
315
+ }
316
+
317
+ if (shiftEnd && toValue) {
318
+ if (type === TimeShiftDirection.INCREMENT) {
319
+ toValue = toValue.add(1, unitOfTime);
320
+ } else if (type === TimeShiftDirection.DECREMENT) {
321
+ toValue = toValue.subtract(1, unitOfTime);
322
+ }
323
+ }
324
+
325
+ this.onChange(fromValue, toValue);
326
+ }}
327
+ onEndIntervalChange={unit => {
328
+ let to: Dayjs;
329
+ if (unit === "15minutes") {
330
+ const roundedMinutes = Math.floor(dayjs().minute() / 15) * 15;
331
+ to = dayjs().startOf("hour").minute(roundedMinutes).subtract(1, "millisecond");
332
+ } else {
333
+ to = dayjs().startOf(unit).subtract(1, "millisecond");
334
+ }
335
+ this.onChange(this.props.fromValue, to);
336
+ }}
337
+ />
338
+ </div>
339
+ )
340
+ }
341
+
342
+ renderPopup(): React.ReactElement {
343
+ return (
344
+ <div onFocus={this.props.onFocus} onBlur={this.props.onBlur}>
345
+ {this.state.mode === DateRangeInputMode.SIMPLE && this.renderSimplePart()}
346
+ {this.state.mode === DateRangeInputMode.ADVANCED && this.renderAdvancedPart()}
347
+ <div style={{display: "flex", justifyContent: "space-between", alignItems: "flex-end"}}>
348
+ <Switch
349
+ style={{float: "right", marginTop: 8}}
350
+ checked={this.state.mode === DateRangeInputMode.ADVANCED}
351
+ onChange={checked => {
352
+ const mode = checked ? DateRangeInputMode.ADVANCED : DateRangeInputMode.SIMPLE;
353
+ this.setState({mode: mode});
354
+ this.props.onModeChange?.(mode);
355
+ }}
356
+ checkedChildren={i18n("Advanced Mode")}
357
+ unCheckedChildren={i18n("Simple Mode")}
358
+ />
359
+ {this.props.confirmButtonsRenderer?.()}
360
+ </div>
361
+ </div>
362
+ );
363
+ }
364
+
365
+ renderInput() {
366
+ const {
367
+ className,
368
+ fromValue,
369
+ toValue,
370
+ onChange,
371
+ style,
372
+ allowClear,
373
+ renderAsCalendar,
374
+ hidePopup,
375
+ align,
376
+ disabled,
377
+ defaultMode,
378
+ onModeChange,
379
+ confirmButtonsRenderer,
380
+ onPopupVisibleChange,
381
+ ...props
382
+ } = this.props;
383
+
384
+ let customClassName = `ant-input ant-input-outlined ${className ?? ""}`;
385
+ if (disabled || this.state.popupVisible) {
386
+ customClassName += " ant-input-disabled";
387
+ }
388
+
389
+ return (
390
+ <div style={{...style, padding: 0, position: "relative"}} className={customClassName} onFocus={this.props.onFocus}
391
+ onBlur={this.props.onBlur}>
392
+ <div style={{display: "flex", paddingRight: 8}}>
393
+ <DateTimeInput value={fromValue} {...props}
394
+ disabled={disabled}
395
+ inputDisabled={this.state.popupVisible}
396
+ allowClear={allowClear}
397
+ bordered={false}
398
+ hidePopup={true}
399
+ style={{width: "auto"}}
400
+ inputStyle={{paddingRight: 2}}
401
+ onChange={(value) => {
402
+ this.props.onChange?.(value, this.props.toValue);
403
+ }}
404
+ />
405
+ <span style={{alignSelf: "center"}}>{"\u27F7"}</span>
406
+ <DateTimeInput value={toValue} {...props}
407
+ disabled={disabled}
408
+ inputDisabled={this.state.popupVisible}
409
+ allowClear={allowClear}
410
+ bordered={false}
411
+ hidePopup={true}
412
+ style={{width: "auto"}}
413
+ inputStyle={{paddingLeft: 2}}
414
+ onChange={(value) => {
415
+ this.props.onChange?.(this.props.fromValue, value);
416
+ }}
417
+ />
418
+ {!hidePopup && !renderAsCalendar &&
419
+ <CalendarOutlined
420
+ style={{cursor: (disabled || this.state.popupVisible) ? "not-allowed" : "pointer"}}
421
+ onClick={(event) => {
422
+ if (!disabled && document.createEvent) {
423
+ if (this.state.popupVisible) {
424
+ this.closePopup();
425
+ } else {
426
+ var ev = document.createEvent('HTMLEvents');
427
+ ev.initEvent('contextmenu', true, false);
428
+ event.target.dispatchEvent(ev);
429
+ this.props.onFocus?.();
430
+ }
431
+ }
432
+ }}
433
+ />
434
+ }
435
+ </div>
436
+ </div>
437
+ );
438
+ }
439
+
440
+ render(): any {
441
+ if (this.props.renderAsCalendar) {
442
+ return this.renderPopup();
443
+ } else if (this.props.hidePopup) {
444
+ return this.renderInput();
445
+ } else {
446
+ return (
447
+ <Tooltip color={"white"}
448
+ key={"date-range-popup-" + this.state.popupKeyIndex}
449
+ trigger={this.props.disabled ? [] : ["contextMenu"]}
450
+ align={this.props.align}
451
+ placement={this.props.placement}
452
+ overlayInnerStyle={{maxHeight: "100vh", overflowY: "auto", overflowX: "hidden"}}
453
+ onOpenChange={(visible) => {
454
+ if (visible) {
455
+ this.props.onFocus?.();
456
+ } else {
457
+ this.props.onBlur?.();
458
+ }
459
+ this.setState({popupVisible: visible});
460
+ }}
461
+ overlayClassName={"date-range-picker-popup"}
462
+ title={this.renderPopup()}>
463
+ {this.renderInput()}
464
+ </Tooltip>
465
+ );
466
+ }
467
+ }
468
+ }