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,122 @@
1
+ import {DEFAULT_FORMAT_CHARACTERS, DEFAULT_PLACEHOLDER_CHAR, ESCAPE_CHAR, FormatCharacters,} from './helpers';
2
+
3
+ export class Pattern {
4
+ placeholderChar: string;
5
+ formatCharacters: FormatCharacters;
6
+ source: string;
7
+
8
+ /** Pattern characters after escape characters have been processed. */
9
+ pattern = [];
10
+
11
+ /** Length of the pattern after escape characters have been processed. */
12
+ length = 0;
13
+
14
+ /** Index of the first editable character. */
15
+ firstEditableIndex: null | number = null;
16
+
17
+ /** Index of the last editable character. */
18
+ lastEditableIndex: null | number = null;
19
+
20
+ /** Lookup for indices of editable characters in the pattern. */
21
+ _editableIndices: { [key: number]: boolean } = {};
22
+
23
+ /** If true, only the pattern before the last valid value character shows. */
24
+ isRevealingMask: boolean;
25
+
26
+ constructor(
27
+ source: string,
28
+ formatCharacters: FormatCharacters,
29
+ placeholderChar: string,
30
+ isRevealingMask = false,
31
+ ) {
32
+ /** Placeholder character */
33
+ this.placeholderChar = placeholderChar || DEFAULT_PLACEHOLDER_CHAR;
34
+ /** Format character definitions. */
35
+ this.formatCharacters = formatCharacters || DEFAULT_FORMAT_CHARACTERS;
36
+ /** Pattern definition string with escape characters. */
37
+ this.source = source;
38
+
39
+ this.isRevealingMask = isRevealingMask;
40
+
41
+ this._parse();
42
+ }
43
+
44
+ _parse() {
45
+ var sourceChars = this.source.split('');
46
+ var patternIndex = 0;
47
+ var pattern: string[] = [];
48
+
49
+ for (var i = 0, l = sourceChars.length; i < l; i++) {
50
+ var char = sourceChars[i];
51
+ if (char === ESCAPE_CHAR) {
52
+ if (i === l - 1) {
53
+ throw new Error('InputMask: pattern ends with a raw ' + ESCAPE_CHAR);
54
+ }
55
+ char = sourceChars[++i];
56
+ } else if (char in this.formatCharacters) {
57
+ if (this.firstEditableIndex === null) {
58
+ this.firstEditableIndex = patternIndex;
59
+ }
60
+ this.lastEditableIndex = patternIndex;
61
+ this._editableIndices[patternIndex] = true;
62
+ }
63
+
64
+ pattern.push(char);
65
+ patternIndex++;
66
+ }
67
+
68
+ if (this.firstEditableIndex === null) {
69
+ throw new Error(
70
+ 'InputMask: pattern "' + this.source + '" does not contain any editable characters.',
71
+ );
72
+ }
73
+
74
+ // @ts-ignore
75
+ this.pattern = pattern;
76
+ this.length = pattern.length;
77
+ }
78
+
79
+ formatValue(value: string[]): string[] {
80
+ var valueBuffer = new Array(this.length);
81
+ var valueIndex = 0;
82
+
83
+ for (var i = 0, l = this.length; i < l; i++) {
84
+ if (this.isEditableIndex(i)) {
85
+ if (
86
+ this.isRevealingMask &&
87
+ value.length <= valueIndex &&
88
+ !this.isValidAtIndex(value[valueIndex], i)
89
+ ) {
90
+ break;
91
+ }
92
+ valueBuffer[i] =
93
+ value.length > valueIndex && this.isValidAtIndex(value[valueIndex], i)
94
+ ? this.transform(value[valueIndex], i)
95
+ : this.placeholderChar;
96
+ valueIndex++;
97
+ } else {
98
+ valueBuffer[i] = this.pattern[i];
99
+ // Also allow the value to contain static values from the pattern by
100
+ // advancing its index.
101
+ if (value.length > valueIndex && value[valueIndex] === this.pattern[i]) {
102
+ valueIndex++;
103
+ }
104
+ }
105
+ }
106
+
107
+ return valueBuffer;
108
+ }
109
+
110
+ isEditableIndex(index: number) {
111
+ return !!this._editableIndices[index];
112
+ }
113
+
114
+ isValidAtIndex(char: string, index: number) {
115
+ return this.formatCharacters[this.pattern[index]].validate(char);
116
+ }
117
+
118
+ transform(char: string, index: number) {
119
+ var format = this.formatCharacters[this.pattern[index]];
120
+ return typeof format.transform == 'function' ? format.transform(char) : char;
121
+ }
122
+ }
@@ -0,0 +1,275 @@
1
+ import React, {ChangeEvent, ClipboardEvent, Component, KeyboardEvent} from 'react';
2
+ import {Input, InputRef} from 'antd';
3
+ import InputMask from 'd2coreui/components/input/mask/inputMaskCore';
4
+ import {getSelection, isRedo, isUndo, setSelection} from 'd2coreui/components/input/mask/helpers';
5
+ import {InputProps} from 'antd/lib/input';
6
+
7
+ export type MaskedInputProps = InputProps & {
8
+ mask: string;
9
+ formatCharacters?: object;
10
+ placeholderChar?: string;
11
+ value?: string;
12
+ };
13
+
14
+ type TChangeEvent = ChangeEvent<HTMLInputElement>;
15
+ type TKeyboardEvent = KeyboardEvent<HTMLInputElement>;
16
+ type TClipboardEvent = ClipboardEvent<any>;
17
+
18
+ export default class MaskedInput extends Component<MaskedInputProps, {value?: string}> {
19
+ mask: InputMask;
20
+ input!: HTMLInputElement;
21
+
22
+ constructor(props: MaskedInputProps) {
23
+ super(props);
24
+
25
+ this.state = {
26
+ value: this.props.value,
27
+ }
28
+
29
+ let options: any = {
30
+ pattern: this.props.mask,
31
+ value: this.props.value,
32
+ formatCharacters: this.props.formatCharacters
33
+ };
34
+
35
+ if (this.props.placeholderChar) {
36
+ options.placeholderChar = this.props.placeholderChar;
37
+ }
38
+
39
+ this.mask = new InputMask(options);
40
+ }
41
+
42
+ componentDidMount() {
43
+ this.setInputValue(this._getDisplayValue());
44
+ }
45
+
46
+ UNSAFE_componentWillReceiveProps(nextProps: MaskedInputProps) {
47
+ if (
48
+ this.props.mask !== nextProps.mask &&
49
+ this.props.value !== nextProps.mask
50
+ ) {
51
+ // if we get a new value and a new mask at the same time
52
+ // check if the mask.value is still the initial value
53
+ // - if so use the nextProps value
54
+ // - otherwise the `this.mask` has a value for us (most likely from paste action)
55
+ if (this.mask.getValue() === this.mask.emptyValue) {
56
+ this.mask.setPattern(nextProps.mask, {value: nextProps.value});
57
+ } else {
58
+ this.mask.setPattern(nextProps.mask, {
59
+ value: this.mask.getRawValue()
60
+ });
61
+ }
62
+ } else if (this.props.mask !== nextProps.mask) {
63
+ this.mask.setPattern(nextProps.mask, {value: this.mask.getRawValue()});
64
+ }
65
+
66
+ if (this.props.value !== nextProps.value) {
67
+ this.mask.setValue(nextProps.value);
68
+ this.setInputValue(this._getDisplayValue());
69
+ }
70
+ }
71
+
72
+ UNSAFE_componentWillUpdate(nextProps: MaskedInputProps) {
73
+ if (!this.props.mask) return null;
74
+ if (nextProps.mask !== this.props.mask) {
75
+ this._updatePattern(nextProps);
76
+ }
77
+ return;
78
+ }
79
+
80
+ componentDidUpdate(prevProps: MaskedInputProps) {
81
+ if (!this.props.mask) return null;
82
+ if (prevProps.mask !== this.props.mask && this.mask.selection.start) {
83
+ this._updateInputSelection();
84
+ }
85
+ return;
86
+ }
87
+
88
+ _updatePattern(props: MaskedInputProps) {
89
+ this.mask.setPattern(props.mask, {
90
+ value: this.mask.getRawValue(),
91
+ selection: getSelection(this.input)
92
+ });
93
+ }
94
+
95
+ _updateMaskSelection() {
96
+ this.mask.selection = getSelection(this.input);
97
+ }
98
+
99
+ _updateInputSelection() {
100
+ setSelection(this.input, this.mask.selection);
101
+ }
102
+
103
+ _onChange = (e: TChangeEvent) => {
104
+ let maskValue = this.mask.getValue();
105
+ let incomingValue = e.target.value;
106
+ if (incomingValue !== maskValue) {
107
+ // only modify mask if form contents actually changed
108
+ this._updateMaskSelection();
109
+ this.mask.setValue(incomingValue); // write the whole updated value into the mask
110
+ this.setInputValue(this._getDisplayValue()); // update the form with pattern applied to the value
111
+ this._updateInputSelection();
112
+ }
113
+
114
+ if (this.props.onChange) {
115
+ this.props.onChange(e);
116
+ }
117
+ };
118
+
119
+ _onKeyDown = (e: TKeyboardEvent) => {
120
+ setTimeout(() => {
121
+ this.input.classList[this.input.value ? 'add' : 'remove']('has-value');
122
+ }, 100);
123
+
124
+ if (isUndo(e)) {
125
+ e.preventDefault();
126
+ if (this.mask.undo()) {
127
+ this.setInputValue(this._getDisplayValue());
128
+ this._updateInputSelection();
129
+ if (this.props.onChange) {
130
+ this.props.onChange(e as unknown as TChangeEvent);
131
+ }
132
+ }
133
+ return;
134
+ } else if (isRedo(e)) {
135
+ e.preventDefault();
136
+ if (this.mask.redo()) {
137
+ this.setInputValue(this._getDisplayValue());
138
+ this._updateInputSelection();
139
+ if (this.props.onChange) {
140
+ this.props.onChange(e as unknown as TChangeEvent);
141
+ }
142
+ }
143
+ return;
144
+ }
145
+
146
+ if (e.key === 'Backspace') {
147
+ e.preventDefault();
148
+ this._updateMaskSelection();
149
+ if (this.mask.backspace()) {
150
+ let value = this._getDisplayValue();
151
+ this.setInputValue(value);
152
+ if (value) {
153
+ this._updateInputSelection();
154
+ }
155
+ if (this.props.onChange) {
156
+ this.props.onChange(e as unknown as TChangeEvent);
157
+ }
158
+ }
159
+ }
160
+ };
161
+
162
+ _onKeyPress = (e: TKeyboardEvent) => {
163
+ // Ignore modified key presses
164
+ // Ignore enter key to allow form submission
165
+ if (e.metaKey || e.altKey || e.ctrlKey || e.key === 'Enter') {
166
+ return;
167
+ }
168
+
169
+ e.preventDefault();
170
+ this._updateMaskSelection();
171
+ if (this.mask.input(e.key /*|| e.data*/)) {
172
+ this.setInputValue(this.mask.getValue());
173
+ this._updateInputSelection();
174
+ if (this.props.onChange) {
175
+ this.props.onChange(e as unknown as TChangeEvent);
176
+ }
177
+ }
178
+ };
179
+
180
+ _onPaste = (e: TClipboardEvent) => {
181
+ e.preventDefault();
182
+ this._updateMaskSelection();
183
+ // getData value needed for IE also works in FF & Chrome
184
+ if (this.mask.paste(e.clipboardData.getData('Text'))) {
185
+ // @ts-ignore
186
+ this.setInputValue(this.mask.getValue());
187
+ // Timeout needed for IE
188
+ setTimeout(() => this._updateInputSelection(), 0);
189
+ if (this.props.onChange) {
190
+ // @ts-ignore
191
+ this.props.onChange(e);
192
+ }
193
+ }
194
+ };
195
+
196
+ _getDisplayValue() {
197
+ let value = this.mask.getValue();
198
+ return value === this.mask.emptyValue ? '' : value;
199
+ }
200
+
201
+ _keyPressPropName() {
202
+ if (typeof navigator !== 'undefined') {
203
+ return navigator.userAgent.match(/Android/i)
204
+ ? 'onBeforeInput'
205
+ : 'onKeyPress';
206
+ }
207
+ return 'onKeyPress';
208
+ }
209
+
210
+ _getEventHandlers(): {
211
+ onChange: (e: TChangeEvent) => void;
212
+ onKeyDown: (e: TKeyboardEvent) => void;
213
+ onPaste: (e: TClipboardEvent) => void;
214
+ onBeforeInput?: (e: TChangeEvent) => void;
215
+ onKeyPress?: (e: TKeyboardEvent) => void;
216
+ } {
217
+ return {
218
+ onChange: this._onChange,
219
+ onKeyDown: this._onKeyDown,
220
+ onPaste: this._onPaste,
221
+ [this._keyPressPropName()]: this._onKeyPress
222
+ };
223
+ }
224
+
225
+ focus() {
226
+ this.input.focus();
227
+ }
228
+
229
+ blur() {
230
+ this.input.blur();
231
+ }
232
+
233
+ getInputProps = () => {
234
+ let maxLength = this.mask.pattern.length;
235
+ let eventHandlers = this._getEventHandlers();
236
+ let {placeholder = this.mask.emptyValue} = this.props;
237
+
238
+ let {placeholderChar, formatCharacters, ...cleanedProps} = this.props;
239
+ const props = {...cleanedProps, ...eventHandlers, maxLength, placeholder};
240
+ delete props.value;
241
+ return props;
242
+ };
243
+
244
+ _lastValue = null as any;
245
+ setInputValue = (value: string) => {
246
+ if (!this._Input) return;
247
+ if (value === this._lastValue) return;
248
+
249
+ this.setState({value: value});
250
+
251
+ this._lastValue = value;
252
+ if (this._Input.input) {
253
+ this._Input.input.value = value;
254
+ }
255
+ };
256
+
257
+ _Input: InputRef | null = null;
258
+ handleInputRef = (ref: InputRef) => {
259
+ if (!ref || !ref.input) return;
260
+ this._Input = ref;
261
+ this.input = ref.input;
262
+
263
+ if (
264
+ this._lastValue === null &&
265
+ typeof this.props.defaultValue === 'string'
266
+ ) {
267
+ this.mask.setValue(this.props.defaultValue); // write the whole updated value into the mask
268
+ this.setInputValue(this._getDisplayValue()); // update the form with pattern applied to the value
269
+ }
270
+ };
271
+
272
+ render() {
273
+ return <Input value={this.state.value} {...this.getInputProps()} ref={this.handleInputRef}/>;
274
+ }
275
+ }
@@ -0,0 +1,62 @@
1
+ import React from "react"
2
+ import {PasswordProps} from "antd/lib/input/Password";
3
+ import {EyeInvisibleOutlined, EyeOutlined} from "@ant-design/icons";
4
+ import {Input} from "antd";
5
+
6
+ export default class PasswordInput extends React.Component<PasswordProps, unknown> {
7
+ private component: any | null = null;
8
+
9
+ constructor(props: Readonly<PasswordProps>) {
10
+ super(props);
11
+ }
12
+
13
+ focus() {
14
+ this.component?.focus?.();
15
+ }
16
+
17
+ getIcon = (visible: boolean) => {
18
+ const IconRenderer = class IconRend extends React.Component<any, any> {
19
+ render() {
20
+ const IconClass = visible ? EyeOutlined : EyeInvisibleOutlined;
21
+ return (<IconClass
22
+ key="password-icon"
23
+ className="ant-input-password-icon"
24
+ onTouchStart={(e) => {
25
+ e.preventDefault();
26
+ if (!visible) {
27
+ this.props.onClick?.();
28
+ }
29
+ }}
30
+ onTouchEnd={() => {
31
+ if (visible) {
32
+ this.props.onClick?.();
33
+ }
34
+ }}
35
+ onMouseDown={(e) => {
36
+ e.preventDefault();
37
+ if (!visible) {
38
+ this.props.onClick?.();
39
+ }
40
+ }}
41
+ onMouseUp={() => {
42
+ if (visible) {
43
+ this.props.onClick?.();
44
+ }
45
+ }}
46
+ onMouseLeave={() => {
47
+ if (visible) {
48
+ this.props.onClick?.();
49
+ }
50
+ }}
51
+ />);
52
+ };
53
+ };
54
+ return <IconRenderer/>;
55
+ }
56
+
57
+ render() {
58
+ return <Input.Password {...this.props} iconRender={this.getIcon} visibilityToggle={true} ref={(component) => {
59
+ this.component = component;
60
+ }}/>
61
+ }
62
+ }
@@ -0,0 +1,60 @@
1
+ import {AutoCompleteProps} from "antd/es/auto-complete";
2
+ import React from "react";
3
+ import {AutoComplete, Input} from "antd";
4
+ import {RefSelectProps} from "antd/es/select";
5
+ import DropdownArrow from "../icons/dropdownArrow";
6
+
7
+ interface SimpleAutoCompleteState {
8
+ opened: boolean
9
+ }
10
+
11
+ export default class SimpleAutoComplete extends React.Component<AutoCompleteProps, SimpleAutoCompleteState> {
12
+
13
+ private autocomplete: React.RefObject<RefSelectProps>;
14
+
15
+ constructor(props: Readonly<AutoCompleteProps>) {
16
+ super(props);
17
+ this.state = {
18
+ opened: false,
19
+ };
20
+
21
+ this.autocomplete = React.createRef();
22
+ this.focus = this.focus.bind(this);
23
+ }
24
+
25
+ focus() {
26
+ this.autocomplete.current?.focus();
27
+ }
28
+
29
+ render() {
30
+ let {disabled, options, size, ...rest} = this.props;
31
+ const searchHistoryPresent = this.props.options && this.props.options.length > 0;
32
+ return (
33
+ <AutoComplete
34
+ options={this.state.opened ? options : []}
35
+ style={{width: 200}}
36
+ defaultOpen={false}
37
+ defaultActiveFirstOption={false}
38
+ disabled={disabled}
39
+ onSelect={() => {
40
+ this.setState({opened: false});
41
+ }}
42
+ {...rest}
43
+ >
44
+ <Input
45
+ size={size}
46
+ allowClear={!disabled}
47
+ suffix={
48
+ searchHistoryPresent &&
49
+ <DropdownArrow opened={this.state.opened}
50
+ onClick={() => {
51
+ if (!this.props.disabled) {
52
+ this.setState({opened: !this.state.opened});
53
+ }
54
+ }}/>
55
+ }
56
+ disabled={disabled} />
57
+ </AutoComplete>
58
+ );
59
+ }
60
+ }
@@ -0,0 +1,125 @@
1
+ import React from 'react';
2
+
3
+ class Span {
4
+ beginIndex: number
5
+ endIndex: number
6
+ text: string
7
+ isMark: boolean
8
+ markClasses: Set<string>
9
+
10
+ constructor(text:string, beginIndex:number) {
11
+ this.beginIndex = beginIndex;
12
+ this.endIndex = beginIndex + text.length; // Like String.slice, it is inclusive.
13
+ this.text = text;
14
+ this.isMark = false;
15
+ this.markClasses = new Set();
16
+ }
17
+
18
+ setMark(className: string) {
19
+ this.isMark = true;
20
+ if (className) {
21
+ for (let c of className.split(' ')) {
22
+ this.markClasses.add(c);
23
+ }
24
+ }
25
+ }
26
+
27
+ carve(beginIndex2: number) {
28
+ // Carves self to take a bit off the right and returns that carving.
29
+ let rightText = this.text.slice(beginIndex2 - this.beginIndex);
30
+ this.text = this.text.slice(0, beginIndex2 - this.beginIndex);
31
+ this.endIndex = beginIndex2;
32
+
33
+ let right = new Span(rightText, beginIndex2);
34
+ right.isMark = this.isMark;
35
+ right.markClasses = new Set([...this.markClasses]);
36
+
37
+ return right;
38
+ }
39
+
40
+ get className() {
41
+ if (this.markClasses && this.markClasses.size > 0) {
42
+ return [...this.markClasses].sort().join(" ");
43
+ } else {
44
+ return "";
45
+ }
46
+ }
47
+
48
+ render() {
49
+ if (this.isMark) {
50
+ let className = this.className;
51
+ if (className) {
52
+ return(
53
+ <mark key={this.beginIndex} className={className} title={this.text}>
54
+ {this.text}
55
+ </mark>
56
+ );
57
+ } else {
58
+ return(<mark key={this.beginIndex} title={this.text}>{this.text}</mark>);
59
+ }
60
+ } else {
61
+ return(<span key={this.beginIndex} title={this.text}>{this.text}</span>);
62
+ }
63
+ }
64
+ }
65
+
66
+ export default function extractSpansOfClasses(value:string, ranges:number[][]) {
67
+ /* Returns value broken into a series of Span classes. These
68
+ * can be converted to JSX via the render command.
69
+ */
70
+
71
+ let spans = [new Span(value, 0)];
72
+
73
+ for (let range of ranges) {
74
+ let beginIndex = range[0];
75
+ let endIndex = range[1];
76
+ let className = (range as any).className as string;
77
+
78
+ for (let i = 0; i < spans.length; i++) {
79
+ let span = spans[i];
80
+
81
+ // since spans are sorted, So this is always true: beginIndex >= span.beginIndex.
82
+ if (beginIndex < span.endIndex) {
83
+ if (beginIndex == span.beginIndex) {
84
+ if (endIndex < span.endIndex) {
85
+ // [range]
86
+ // [s p a n]
87
+ let span2 = span.carve(endIndex);
88
+ span.setMark(className);
89
+ spans.splice(i + 1, 0, span2);
90
+ beginIndex = endIndex;
91
+ i += 1;
92
+ } else {
93
+ // [range] or [r a n g e]
94
+ // [span-] [span]
95
+ span.setMark(className);
96
+ beginIndex = span.endIndex;
97
+ }
98
+ } else {
99
+ if (endIndex < span.endIndex) {
100
+ // [range]
101
+ // [s p a n]
102
+ let span2 = span.carve(beginIndex);
103
+ let span3 = span2.carve(endIndex);
104
+ span2.setMark(className);
105
+ spans.splice(i + 1, 0, span2, span3);
106
+ beginIndex = endIndex;
107
+ i += 2;
108
+ } else {
109
+ // [range] or [range]
110
+ // [s p a n] [span]
111
+ let span2 = span.carve(beginIndex);
112
+ span2.setMark(className);
113
+ spans.splice(i + 1, 0, span2);
114
+ beginIndex = span2.endIndex;
115
+ i += 1;
116
+ }
117
+ }
118
+ }
119
+ if (beginIndex == endIndex) {
120
+ break;
121
+ }
122
+ }
123
+ }
124
+ return spans;
125
+ }