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,39 @@
1
+ export default class PlatformSpecific {
2
+ static INSTANCE: PlatformSpecific;
3
+
4
+ getCurrentWindowName(): string {
5
+ return "";
6
+ }
7
+
8
+ configurationChangesDisabled(): boolean {
9
+ return false;
10
+ }
11
+
12
+ reloadPageInPredefinedState(): void {
13
+ }
14
+
15
+ reloadPageInFactoryState(): void {
16
+
17
+ }
18
+
19
+ saveWindowConfiguration(): void {
20
+
21
+ }
22
+
23
+ exportWindowConfiguration(): void {
24
+
25
+ }
26
+
27
+ saveContent(fileName: string, content: string, encodeContent?: boolean) {
28
+ var element = document.createElement('a');
29
+ const encodedContent = encodeContent ? encodeURIComponent(content) : content;
30
+ element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodedContent);
31
+ element.setAttribute('download', fileName);
32
+ element.style.display = 'none';
33
+ document.body.appendChild(element);
34
+ element.click();
35
+ document.body.removeChild(element);
36
+ }
37
+ }
38
+
39
+ PlatformSpecific.INSTANCE = new PlatformSpecific();
@@ -0,0 +1 @@
1
+ declare module "dom-scroll-into-view"
@@ -0,0 +1,36 @@
1
+ import type {ReactElement, ReactNode} from 'react';
2
+ import {Children, isValidElement} from 'react';
3
+
4
+ const hasChildren = (element: ReactNode): element is ReactElement<{ children: ReactNode[] }> =>
5
+ isValidElement<{ children?: ReactNode[] }>(element) && Boolean(element.props.children);
6
+
7
+ export const childToString = (child?: React.Key | boolean | {} | null): string => {
8
+ if (typeof child === 'undefined' || child === null || typeof child === 'boolean') {
9
+ return '';
10
+ }
11
+
12
+ if (JSON.stringify(child) === '{}') {
13
+ return '';
14
+ }
15
+
16
+ return (child as number | string).toString();
17
+ };
18
+
19
+ const onlyText = (children: ReactNode): string => {
20
+ if (!(children instanceof Array) && !isValidElement(children)) {
21
+ return childToString(children);
22
+ }
23
+ return Children.toArray(children).reduce((text: string, child: ReactNode): string => {
24
+ let newText = '';
25
+ if (isValidElement(child) && hasChildren(child)) {
26
+ newText = onlyText(child.props.children);
27
+ } else if (isValidElement(child) && !hasChildren(child)) {
28
+ newText = '';
29
+ } else {
30
+ newText = childToString(child);
31
+ }
32
+ return text.concat(newText);
33
+ }, '') as string;
34
+ };
35
+
36
+ export default onlyText;
@@ -0,0 +1,324 @@
1
+ import * as React from 'react'
2
+ import {Component, ReactElement} from 'react'
3
+ import scrollIntoView from "dom-scroll-into-view";
4
+ import debounce from "lodash/debounce"
5
+ import {Tooltip} from "antd";
6
+ import onlyText from './onlyText';
7
+ import memoizeOne from "memoize-one";
8
+ import ReactDOMServer from "react-dom/server";
9
+ import {Key} from "ts-key-enum";
10
+ import KeyboardUtils from "../keyboard/keyboardUtils";
11
+
12
+ const MarkTextContext = React.createContext("");
13
+
14
+ interface ScrollToItemProps {
15
+ /* flag to notify currently selected item*/
16
+ selected?: boolean
17
+
18
+ selectionKey?: string
19
+
20
+ markedTextClassName?: string
21
+
22
+ dangerouslySetInnerHTML?: string
23
+
24
+ children?: React.ReactNode;
25
+ }
26
+
27
+ /*
28
+ * Item component where user can be scrolled in
29
+ */
30
+ export class ScrollToItem extends Component<ScrollToItemProps> {
31
+ static contextType = MarkTextContext;
32
+
33
+ constructor(props: Readonly<ScrollToItemProps>) {
34
+ super(props);
35
+ this.getChildrenTextContent = memoizeOne(this.getChildrenTextContent.bind(this));
36
+ this.getChildrenHtmlContent = memoizeOne(this.getChildrenHtmlContent.bind(this));
37
+ }
38
+
39
+ getChildrenTextContent(children: React.ReactNode | undefined) {
40
+ if (!!this.props.dangerouslySetInnerHTML) {
41
+ return this.props.dangerouslySetInnerHTML.replace(/(<([^>]+)>)/ig, '').toLowerCase();
42
+ } else if (children === undefined) {
43
+ return "";
44
+ } else {
45
+ return onlyText(children).toLowerCase();
46
+ }
47
+ }
48
+
49
+ getChildrenHtmlContent(children: React.ReactNode | undefined, markedString: string) {
50
+ let htmlCode: string;
51
+ if (!!this.props.dangerouslySetInnerHTML) {
52
+ htmlCode = this.props.dangerouslySetInnerHTML;
53
+ } else {
54
+ switch (typeof children) {
55
+ case "string":
56
+ htmlCode = children;
57
+ break;
58
+ case "undefined":
59
+ htmlCode = "";
60
+ break;
61
+ default:
62
+ htmlCode = ReactDOMServer.renderToString(children as ReactElement);
63
+ }
64
+ }
65
+
66
+ const markedStringIndex = htmlCode.toLowerCase().indexOf(markedString);
67
+ if (markedStringIndex >= 0) {
68
+ const markedTextClassName = this.props.markedTextClassName ? this.props.markedTextClassName : "marked-text";
69
+ return htmlCode.substring(0, markedStringIndex) + "<span class=\"" + markedTextClassName + "\">" + htmlCode.substring(markedStringIndex, markedStringIndex + markedString.length) + "</span>" + htmlCode.substring(markedStringIndex + markedString.length);
70
+ } else {
71
+ return htmlCode;
72
+ }
73
+ }
74
+
75
+ renderChildren() {
76
+ if (this.context) {
77
+ const childrenHtmlContent = this.getChildrenHtmlContent(this.props.children, this.context as string);
78
+ return <span dangerouslySetInnerHTML={{__html: childrenHtmlContent}}/>
79
+ } else if (!!this.props.dangerouslySetInnerHTML) {
80
+ return <span dangerouslySetInnerHTML={{__html: this.props.dangerouslySetInnerHTML}}/>
81
+ } else {
82
+ return this.props.children;
83
+ }
84
+ }
85
+
86
+ render() {
87
+ const textContent = this.getChildrenTextContent(this.props.children);
88
+ return (
89
+ <span tabIndex={0}
90
+ className={`selectable ${this.props.selected ? "selected" : ""}`}
91
+ data-content={textContent}
92
+ data-key={this.props.selectionKey}
93
+ >
94
+ {this.renderChildren()}
95
+ </span>
96
+ );
97
+ }
98
+ }
99
+
100
+ interface ScrollToProps {
101
+ /* scroll to position of first selected ScrollToItem element after initialization*/
102
+ scrollOnMount?: boolean
103
+
104
+ supressKeyboardEvent?(selectionKey: string | undefined, event: React.KeyboardEvent): boolean
105
+
106
+ children?: React.ReactNode;
107
+ }
108
+
109
+ interface ScrollToState {
110
+ /* current search string entered by user*/
111
+ searchString: string
112
+ /* checks if search string is found in at least one item */
113
+ searchStringFound: boolean
114
+ }
115
+
116
+ /**
117
+ * Wrapper component for area with items where user can be scrolled in
118
+ */
119
+ export default class ScrollTo extends Component<ScrollToProps, ScrollToState> {
120
+ /* internal reference to wrapping element of container with items*/
121
+ scrollWrapper: HTMLElement | null = null;
122
+ /* internal reference to parent element with enabled scrolling */
123
+ scrollParent: HTMLElement | null = null;
124
+
125
+ constructor(props: Readonly<ScrollToProps>) {
126
+ super(props);
127
+ this.state = {
128
+ searchString: "",
129
+ searchStringFound: false,
130
+ };
131
+ this.scrollToElement = debounce(this.scrollToElement, 400, {maxWait: 400});
132
+ }
133
+
134
+ componentDidMount(): void {
135
+ // initial scrolling to position of selected node
136
+ if (this.props.scrollOnMount && this.scrollWrapper) {
137
+ const scrollToElement = this.scrollWrapper.querySelector(".selected");
138
+ if (scrollToElement) {
139
+ this.scrollToElement(scrollToElement as HTMLElement);
140
+ }
141
+ }
142
+ }
143
+
144
+ scrollToElement(scrollToElem: HTMLElement, scrollingUp = false): void {
145
+ scrollIntoView(scrollToElem, this.scrollParent, {
146
+ onlyScrollIfNeeded: true,
147
+ allowHorizontalScroll: false,
148
+ alignWithTop: scrollingUp,
149
+ offsetTop: 50,
150
+ offsetBottom: 50,
151
+ });
152
+ }
153
+
154
+ getScrollParent(element: HTMLElement, includeHidden = false): HTMLElement {
155
+ var style = getComputedStyle(element);
156
+ var excludeStaticParent = style.position === "absolute";
157
+ var overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;
158
+ if (style.position === "fixed") return document.body;
159
+ let parent: HTMLElement | null;
160
+ for (parent = element; (parent = parent.parentElement);) {
161
+ style = getComputedStyle(parent);
162
+ if (excludeStaticParent && style.position === "static") {
163
+ continue;
164
+ }
165
+ if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;
166
+ }
167
+ return document.body;
168
+ }
169
+
170
+ focusNext(currentElement: HTMLElement, selectables: HTMLElement[]): void {
171
+ if (currentElement) {
172
+ const currentElementIndex = selectables.indexOf(currentElement);
173
+ if (currentElementIndex >= 0 && currentElementIndex < selectables.length - 1) {
174
+ const scrollToElem = selectables[currentElementIndex + 1];
175
+ scrollToElem.focus();
176
+ this.scrollToElement(scrollToElem);
177
+ return;
178
+ } else if (currentElementIndex === selectables.length - 1) {
179
+ return;
180
+ }
181
+ }
182
+ if (selectables.length > 0) {
183
+ selectables[0].focus();
184
+ this.scrollToElement(selectables[0])
185
+ }
186
+ }
187
+
188
+ scrollToLast(): void {
189
+ if (!!this.scrollWrapper) {
190
+ let selectables: HTMLElement[] = Array.from(this.scrollWrapper.getElementsByClassName("selectable")) as HTMLElement[]; //get all selectable elements
191
+ if (selectables.length > 0) {
192
+ const focusedElement = selectables[selectables.length - 1];
193
+ this.scrollToElement(focusedElement, false);
194
+ }
195
+ }
196
+ }
197
+
198
+ focusToLast(): void {
199
+ if (!!this.scrollWrapper) {
200
+ let selectables: HTMLElement[] = Array.from(this.scrollWrapper.getElementsByClassName("selectable")) as HTMLElement[]; //get all selectable elements
201
+ if (selectables.length > 0) {
202
+ const focusedElement = selectables[selectables.length - 1];
203
+ focusedElement.focus();
204
+ this.scrollToElement(focusedElement, false);
205
+ }
206
+ }
207
+ }
208
+
209
+ focusPrev(currentElement: HTMLElement, selectables: HTMLElement[]): void {
210
+ if (currentElement) {
211
+ const currentElementIndex = selectables.indexOf(currentElement);
212
+ if (currentElementIndex > 0) {
213
+ const scrollToElem = selectables[currentElementIndex - 1];
214
+ scrollToElem.focus();
215
+ this.scrollToElement(scrollToElem);
216
+ return;
217
+ } else if (currentElementIndex === 0) {
218
+ return;
219
+ }
220
+ }
221
+ if (selectables.length > 0) {
222
+ const scrollToElem = selectables[selectables.length - 1];
223
+ scrollToElem.focus();
224
+ this.scrollToElement(scrollToElem);
225
+ }
226
+ }
227
+
228
+ focusBySearchString(searchString: string): HTMLElement {
229
+ const elementToFocus = this.scrollWrapper?.querySelector(`.selectable[data-content*="${searchString.toLowerCase()}"]`) as any;
230
+ if (elementToFocus) {
231
+ elementToFocus.focus();
232
+ this.scrollToElement(elementToFocus as HTMLElement);
233
+ }
234
+ return elementToFocus;
235
+ }
236
+
237
+ render() {
238
+ return (
239
+ <div ref={(scrollWrapper) => {
240
+ this.scrollWrapper = scrollWrapper;
241
+ if (this.scrollWrapper) {
242
+ this.scrollParent = this.getScrollParent(this.scrollWrapper);
243
+ } else {
244
+ this.scrollParent = null;
245
+ }
246
+ }}
247
+ tabIndex={-1}
248
+ onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {
249
+ if (e.target instanceof HTMLInputElement) {
250
+ return;
251
+ }
252
+ if (!this.scrollWrapper) {
253
+ return;
254
+ }
255
+ if (KeyboardUtils.isKeyPressed(Key.Control) || KeyboardUtils.isKeyPressed(Key.Alt)) {
256
+ return;
257
+ }
258
+ const supressKeyboardEvent = this.props.supressKeyboardEvent?.((document.activeElement as any)?.dataset?.key, e);
259
+ if (supressKeyboardEvent) {
260
+ e.preventDefault();
261
+ return;
262
+ }
263
+ let focusedElement: HTMLElement | null = document.activeElement as HTMLElement;
264
+ let selectables: HTMLElement[];
265
+ if (this.state.searchString && this.state.searchStringFound) {
266
+ selectables = Array.from(this.scrollWrapper.querySelectorAll(`.selectable[data-content*="${this.state.searchString.toLowerCase()}"]`));
267
+ } else {
268
+ selectables = Array.from(this.scrollWrapper.getElementsByClassName("selectable")) as HTMLElement[]; //get all selectable elements
269
+ }
270
+ const focusedElementIndex = selectables.indexOf(focusedElement);
271
+ if (e.key === Key.ArrowDown || e.key === Key.ArrowUp) {
272
+ e.preventDefault();
273
+ if (!focusedElement || focusedElementIndex < 0) {
274
+ const selectedElements = Array.from(this.scrollWrapper.getElementsByClassName("selected"));
275
+ focusedElement = selectedElements.length > 0 ? selectedElements[0] as HTMLElement : null;
276
+ }
277
+ if (e.key === Key.ArrowDown && focusedElement) {
278
+ this.focusNext(focusedElement, selectables);
279
+ } else if (e.key === Key.ArrowUp && focusedElement) {
280
+ this.focusPrev(focusedElement, selectables);
281
+ }
282
+ } else if (e.key === Key.Enter && focusedElementIndex >= 0) {
283
+ if (typeof focusedElement.click == "function") {
284
+ focusedElement.click.apply(focusedElement);
285
+ }
286
+ this.setState({searchString: "", searchStringFound: false});
287
+ } else if (e.key.length === 1) {
288
+ const searchString = this.state.searchString + e.key;
289
+ const focusedElement = this.focusBySearchString(searchString);
290
+ this.setState({searchString: searchString, searchStringFound: !!focusedElement},);
291
+ } else if (e.key === Key.Backspace) {
292
+ const searchString = this.state.searchString.slice(0, -1);
293
+ const focusedElement = this.focusBySearchString(searchString);
294
+ this.setState({searchString: searchString, searchStringFound: !!focusedElement})
295
+ } else if (e.key === Key.Escape) {
296
+ this.setState({searchString: "", searchStringFound: false});
297
+ }
298
+ }}
299
+ onClick={() => {
300
+ this.setState({searchString: "", searchStringFound: false});
301
+ }}
302
+ onBlur={(_: React.FocusEvent<HTMLDivElement>) => {
303
+ setTimeout(() => {
304
+ if (!document.activeElement?.className?.includes("selectable") && (this.state.searchString !== "" || this.state.searchStringFound)) {
305
+ this.setState({searchString: "", searchStringFound: false});
306
+ }
307
+ }, 0);
308
+
309
+ }}
310
+ >
311
+ <div style={{position: "fixed", top: 16, left: 16}}>
312
+ <Tooltip
313
+ overlayClassName={!this.state.searchStringFound ? "search-string-not-found" : undefined}
314
+ align={{points: ["tl", "tl"], overflow: {adjustX: true, adjustY: true}}}
315
+ open={!!this.state.searchString} title={this.state.searchString}>
316
+ <span/>
317
+ </Tooltip>
318
+ </div>
319
+ <MarkTextContext.Provider value={this.state.searchString}>
320
+ {this.props.children}
321
+ </MarkTextContext.Provider>
322
+ </div>);
323
+ }
324
+ }
@@ -0,0 +1,14 @@
1
+ import {BaseReturnType} from 'antd-style';
2
+ import {ReturnStyles} from "antd-style/lib/factories/createStyles/types";
3
+
4
+ type WithCssChildren<T extends BaseReturnType> = (css: ReturnStyles<T>) => any;
5
+
6
+ interface WithCssProperties<T extends BaseReturnType> {
7
+ children: WithCssChildren<T>;
8
+ useStyles: (props?:any) => ReturnStyles<T>
9
+ }
10
+
11
+ export default function WithCss<T extends BaseReturnType> ({useStyles, children}:WithCssProperties<T>) {
12
+ const css = useStyles();
13
+ return children(css);
14
+ };
@@ -0,0 +1,18 @@
1
+ import {ConfigContext} from "antd/es/config-provider";
2
+ import React from "react";
3
+ import useCSSVarCls from "antd/es/config-provider/hooks/useCSSVarCls";
4
+ import useStyle from "antd/es/input-number/style/index";
5
+
6
+
7
+ interface WithInputNumberCssProperties {
8
+ children: any;
9
+ }
10
+
11
+ export default function WithInputNumberCss({children}: WithInputNumberCssProperties) {
12
+ const {getPrefixCls} = React.useContext(ConfigContext);
13
+ const prefixCls = getPrefixCls('input-number');
14
+ const rootCls = useCSSVarCls(prefixCls);
15
+ // @ts-ignore
16
+ const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);
17
+ return wrapCSSVar(children);
18
+ };
@@ -0,0 +1 @@
1
+ declare module "*.svg"
@@ -0,0 +1,123 @@
1
+ import React from 'react';
2
+ import {Table} from 'antd';
3
+ import {DndProvider, DragSource, DropTarget} from 'react-dnd';
4
+ import HTML5Backend from 'react-dnd-html5-backend';
5
+ import {TableProps} from "antd/es/table";
6
+ import {createStyles} from "antd-style";
7
+ import WithCss from "d2coreui/components/style/withCss";
8
+
9
+ const useStyles = createStyles(({css}) => {
10
+ return {
11
+ dragSortingTable: css`
12
+ tr.drop-over-downward td {
13
+ border-bottom: 2px dashed #1890ff !important;
14
+ }
15
+
16
+ tr.drop-over-upward td {
17
+ border-top: 2px dashed #1890ff !important;
18
+ }
19
+ `,
20
+ }
21
+ });
22
+
23
+ let dragingIndex = -1;
24
+
25
+ class BodyRow extends React.Component<any> {
26
+ render() {
27
+ const {isOver, connectDragSource, connectDropTarget, moveRow, ...restProps} = this.props;
28
+ const style = {...restProps.style, cursor: 'move'};
29
+ let {className} = restProps;
30
+ if (isOver) {
31
+ if (restProps.index > dragingIndex) {
32
+ className += ' drop-over-downward';
33
+ }
34
+ if (restProps.index < dragingIndex) {
35
+ className += ' drop-over-upward';
36
+ }
37
+ }
38
+ return connectDragSource(
39
+ connectDropTarget(<tr {...restProps} className={className} style={style}/>),
40
+ );
41
+ }
42
+ }
43
+
44
+ const rowSource = {
45
+ beginDrag(props: any) {
46
+ dragingIndex = props.index;
47
+ return {
48
+ index: props.index,
49
+ };
50
+ },
51
+ };
52
+
53
+ const rowTarget = {
54
+ drop(props: any, monitor: any) {
55
+ const dragIndex = monitor.getItem().index;
56
+ const hoverIndex = props.index;
57
+ // Don't replace items with themselves
58
+ if (dragIndex === hoverIndex) {
59
+ return;
60
+ }
61
+ // Time to actually perform the action
62
+ props.moveRow(dragIndex, hoverIndex);
63
+ // Note: we're mutating the monitor item here!
64
+ // Generally it's better to avoid mutations,
65
+ // but it's good here for the sake of performance
66
+ // to avoid expensive index searches.
67
+ monitor.getItem().index = hoverIndex;
68
+ },
69
+ };
70
+
71
+ const DragableBodyRow = DropTarget('row', rowTarget, (connect, monitor) => ({
72
+ connectDropTarget: connect.dropTarget(),
73
+ isOver: monitor.isOver(),
74
+ }))(
75
+ DragSource('row', rowSource, connect => ({
76
+ connectDragSource: connect.dragSource(),
77
+ }))(BodyRow),
78
+ );
79
+
80
+ interface DragSortingTableProps<T> extends TableProps<T> {
81
+ dataSource: T[]
82
+ onMoveRow: (dragRow: T, dragIndex: number, hoverIndex: number) => void
83
+ }
84
+
85
+ export default class DragSortingTable<T extends object> extends React.Component<DragSortingTableProps<T>> {
86
+ components: any;
87
+
88
+ constructor(props: Readonly<DragSortingTableProps<T>>) {
89
+ super(props);
90
+ this.components = {
91
+ body: {
92
+ row: DragableBodyRow,
93
+ },
94
+ };
95
+ this.moveRow = this.moveRow.bind(this);
96
+ }
97
+
98
+ moveRow(dragIndex: number, hoverIndex: number) {
99
+ const dragRow = this.props.dataSource[dragIndex];
100
+ this.props.onMoveRow(dragRow, dragIndex, hoverIndex);
101
+ };
102
+
103
+ render() {
104
+ const {onMoveRow, components, ...restProps} = this.props;
105
+ //@ts-ignore
106
+ return (<DndProvider backend={HTML5Backend}>
107
+ <WithCss useStyles={useStyles}>{
108
+ (css)=>(<Table<T>
109
+ className={css.styles.dragSortingTable}
110
+ {...restProps}
111
+ components={components ? Object.assign({}, this.components, components) : this.components}
112
+ onRow={(_, index) => {
113
+ return {
114
+ index,
115
+ moveRow: this.moveRow,
116
+ } as React.HTMLAttributes<HTMLElement>
117
+ }}
118
+ />)}
119
+ </WithCss>
120
+ </DndProvider>
121
+ );
122
+ }
123
+ }
@@ -0,0 +1,15 @@
1
+ // Calculate height without padding.
2
+ export function innerHeight(el:HTMLElement) {
3
+ const style = window.getComputedStyle(el, null);
4
+ return el.clientHeight -
5
+ parseInt(style.getPropertyValue('padding-top'), 10) -
6
+ parseInt(style.getPropertyValue('padding-bottom'), 10);
7
+ }
8
+
9
+ // Calculate width without padding.
10
+ export function innerWidth(el:HTMLElement) {
11
+ const style = window.getComputedStyle(el, null);
12
+ return el.clientWidth -
13
+ parseInt(style.getPropertyValue('padding-left'), 10) -
14
+ parseInt(style.getPropertyValue('padding-right'), 10);
15
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Run the functions in the tasks array in series, each one running once the previous function has completed.
3
+ * If any functions in the series pass an error to its callback, no more functions are run,
4
+ * and callback is immediately called with the value of the error. Otherwise, callback receives an array of results
5
+ * when tasks have completed.
6
+ * Taken from https://github.com/feross/run-series
7
+ *
8
+ * @params {Array} tasks An array containing functions to run, each function is passed a callback(err, result) which it must call on completion with an error err (which can be null) and an optional result value.
9
+ * @params {Function} callback(err, results) - An optional callback to run once all the functions have completed. This function gets a results array containing all the result arguments passed to the task callbacks.
10
+ */
11
+
12
+ import process from 'process';
13
+
14
+ export default function series(tasks: Function[], cb:Function) {
15
+ const results:any[] = [];
16
+ let current = 0;
17
+ let isSync = true;
18
+
19
+ function done(err:any) {
20
+ function end() {
21
+ if (cb) cb(err, results);
22
+ }
23
+ if (isSync) process.nextTick(end);
24
+ else end();
25
+ }
26
+
27
+ function each(err:any, result:any) {
28
+ results.push(result);
29
+ if (++current >= tasks.length || err) done(err);
30
+ else tasks[current](each);
31
+ }
32
+
33
+ if (tasks.length > 0) tasks[0](each);
34
+ else done(null);
35
+
36
+ isSync = false;
37
+ }
@@ -0,0 +1,19 @@
1
+ export default function shallowEqual(objA:any, objB:any) {
2
+ if (objA === objB) {
3
+ return true;
4
+ }
5
+ const keysA = Object.keys(objA);
6
+ const keysB = Object.keys(objB);
7
+ if (keysA.length !== keysB.length) {
8
+ return false;
9
+ }
10
+ // Test for A's keys different from B.
11
+ const hasOwn = Object.prototype.hasOwnProperty;
12
+ for (let i = 0; i < keysA.length; i++) {
13
+ if (!hasOwn.call(objB, keysA[i]) ||
14
+ objA[keysA[i]] !== objB[keysA[i]]) {
15
+ return false;
16
+ }
17
+ }
18
+ return true;
19
+ }
@@ -0,0 +1,5 @@
1
+ let uid = 0;
2
+
3
+ export default function uniqueId() {
4
+ return uid++;
5
+ }
@@ -0,0 +1,25 @@
1
+ const noop = () => {};
2
+
3
+ /**
4
+ * Repeatedly call fn, while test returns true. Calls callback when stopped, or an error occurs.
5
+ *
6
+ * @param {Function} test Synchronous truth test to perform before each execution of fn.
7
+ * @param {Function} fn A function which is called each time test passes. The function is passed a callback(err), which must be called once it has completed with an optional err argument.
8
+ * @param {Function} callback A callback which is called after the test fails and repeated execution of fn has stopped.
9
+ */
10
+
11
+ export default function whilst(test: ()=>boolean, iterator:Function, callback:Function= noop) {
12
+ if (test()) {
13
+ iterator(function next(this: any, err:string, ...args:any) {
14
+ if (err) {
15
+ callback(err);
16
+ } else if (test.apply(this, args)) {
17
+ iterator(next);
18
+ } else {
19
+ callback(null);
20
+ }
21
+ });
22
+ } else {
23
+ callback(null);
24
+ }
25
+ }