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,53 @@
1
+ import {ModalDialog, ModalDialogMode} from "../modal/modalDialog";
2
+ import i18n from "d2core/i18n/i18n";
3
+
4
+ export class ClipboardUtils {
5
+ // Copies a string to the clipboard. Must be called from within an
6
+ // event handler such as click. May return false if it failed, but
7
+ // this is not always possible. Browser support for Chrome 43+,
8
+ // Firefox 42+, Safari 10+, Edge and IE 10+.
9
+ // IE: The clipboard feature may be disabled by an administrator. By
10
+ // default a prompt is shown the first time the clipboard is
11
+ // used (per session).
12
+ static copyToClipboard(text: string): boolean {
13
+ if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
14
+ var textarea = document.createElement("textarea");
15
+ textarea.textContent = text;
16
+ textarea.style.position = "fixed"; // Prevent scrolling to bottom of page in MS Edge.
17
+ document.body.appendChild(textarea);
18
+ textarea.select();
19
+ try {
20
+ return document.execCommand("copy"); // Security exception may be thrown by some browsers.
21
+ } catch (ex) {
22
+ console.warn("Copy to clipboard failed.", ex);
23
+ return false;
24
+ } finally {
25
+ document.body.removeChild(textarea);
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+
31
+ static async readFromClipboard(): Promise<string | undefined> {
32
+ if (navigator.clipboard && window.isSecureContext) {
33
+ // @ts-ignore
34
+ const permission = await navigator.permissions.query({ name: "clipboard-read" });
35
+ if (permission.state === "granted" || permission.state === "prompt") {
36
+ return await navigator.clipboard.readText();
37
+ } else {
38
+ ModalDialog.error({
39
+ mode: ModalDialogMode.OK,
40
+ title: i18n("Error reading data from clipboard"),
41
+ content: i18n("Clipboard not permitted")
42
+ })
43
+ }
44
+ } else {
45
+ ModalDialog.error({
46
+ mode: ModalDialogMode.OK,
47
+ title: i18n("Error reading data from clipboard"),
48
+ content: i18n("Secure context not available")
49
+ })
50
+ }
51
+ return undefined;
52
+ }
53
+ }
@@ -0,0 +1,58 @@
1
+ import React from 'react'
2
+ import CodeMirror from 'codemirror';
3
+ import 'codemirror/addon/runmode/runmode'
4
+ import 'codemirror/mode/meta'
5
+
6
+ interface SyntaxHighlighterProps {
7
+ // codeMirror: typeof CodeMirror
8
+ className?: string
9
+ theme?: string
10
+ inline?: boolean
11
+ mode: string
12
+ prefix?: string
13
+ value: string
14
+ tooltip?:boolean
15
+ }
16
+
17
+ export default class SyntaxHighlighter extends React.Component<SyntaxHighlighterProps> {
18
+ static defaultProps = {
19
+ className: '',
20
+ prefix: 'cm-'
21
+ }
22
+
23
+ constructor(props: Readonly<SyntaxHighlighterProps>) {
24
+ super(props);
25
+ }
26
+
27
+ render() {
28
+ const {inline, value, mode, className, prefix, theme, tooltip} = this.props
29
+ const elements: React.ReactNode[] = []
30
+ let index = 0
31
+ let lastStyle: string | null | undefined = null
32
+ let tokenBuf = ''
33
+ let trimmedValue = value;
34
+ if( tooltip && value.length > 100) {
35
+ trimmedValue = value.substring(0, 100) + " ...";
36
+ }
37
+ CodeMirror.runMode(trimmedValue, mode, (token, style) => {
38
+ if (lastStyle === style) {
39
+ tokenBuf += token
40
+ lastStyle = style
41
+ } else {
42
+ if (tokenBuf) {
43
+ elements.push(<span className={lastStyle ? prefix + lastStyle : ''} key={++index}>{tokenBuf}</span>);
44
+ }
45
+ tokenBuf = token
46
+ lastStyle = style
47
+ }
48
+ })
49
+ elements.push(<span className={lastStyle ? prefix + lastStyle : ''} key={++index}>{tokenBuf}</span>);
50
+
51
+ let tooltipText: undefined | string = undefined;
52
+ if(tooltip && trimmedValue !== value) {
53
+ tooltipText = value;//.replace("\t","&#009;").replace("\n","&#013;&#010;");
54
+ }
55
+ const code = (<code title={tooltipText} className={inline ? `inline ${prefix}s-${theme}` : ''}>{elements}</code>);
56
+ return inline ? (code) : (<pre className={`${className} ${prefix}s-${theme}`}>{code}</pre>);
57
+ }
58
+ }
@@ -0,0 +1,48 @@
1
+ import React from "react";
2
+ import {Divider} from "antd";
3
+ import {DoubleRightOutlined} from "@ant-design/icons";
4
+ import {Collapse} from 'react-collapse';
5
+
6
+ interface ExpandableProps {
7
+ extraContent?: React.ReactNode
8
+ expanded?: boolean
9
+ compact?: boolean
10
+ children?: React.ReactNode;
11
+
12
+ onExpand?(expanded: boolean): void
13
+ }
14
+
15
+ export default class Expandable extends React.Component<ExpandableProps> {
16
+ constructor(props: Readonly<ExpandableProps>) {
17
+ super(props);
18
+ }
19
+
20
+ render(): React.ReactNode {
21
+ return (
22
+ <div style={{transition: "height .5s"}}>
23
+ <header>
24
+ {this.props.children}
25
+ </header>
26
+ <Collapse isOpened={!!this.props.expanded}>
27
+ <section style={{marginTop: 5}}>
28
+ {this.props.extraContent}
29
+ </section>
30
+ </Collapse>
31
+ <Divider
32
+ style={{margin: this.props.compact ? "8px 0px" : "20px 0px"}}
33
+ className={this.props.extraContent ? "stronger-divider-with-text" : "stronger-divider"}
34
+ plain
35
+ >
36
+ {this.props.extraContent && <DoubleRightOutlined
37
+ rotate={this.props.expanded ? -90 : 90}
38
+ onClick={() => {
39
+ const expanded = !this.props.expanded;
40
+ this.props.onExpand?.(expanded);
41
+ }}
42
+ />}
43
+ </Divider>
44
+ </div>
45
+ )
46
+ }
47
+
48
+ }
@@ -0,0 +1,121 @@
1
+ import React from "react";
2
+ import i18n from "d2core/i18n/i18n";
3
+ import {Badge, Button, Popover} from "antd";
4
+ import {CloseOutlined, StopOutlined} from "@ant-design/icons";
5
+ import {RGBColor, SketchPicker} from "react-color";
6
+ import {SketchPickerProps} from "react-color/lib/components/sketch/Sketch";
7
+ import {TooltipPlacement} from "antd/lib/tooltip";
8
+
9
+ const transparentBackgroundStyle = "url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==\") left center"
10
+ const presetColors = [
11
+ "#fff1f0", "#ffccc7", "#ffa39e", "#ff7875", "#ff4d4f", "#f5222d", "#cf1322", "#a8071a", "#820014", "#5c0011",
12
+ "#fff2e8", "#ffd8bf", "#ffbb96", "#ff9c6e", "#ff7a45", "#fa541c", "#d4380d", "#ad2102", "#871400", "#610b00",
13
+ "#fff7e6", "#ffe7ba", "#ffd591", "#ffc069", "#ffa940", "#fa8c16", "#d46b08", "#ad4e00", "#873800", "#612500",
14
+ "#feffe6", "#ffffb8", "#fffb8f", "#fff566", "#ffec3d", "#fadb14", "#d4b106", "#ad8b00", "#876800", "#614700",
15
+ "#f6ffed", "#d9f7be", "#b7eb8f", "#95de64", "#73d13d", "#52c41a", "#389e0d", "#237804", "#135200", "#092b00",
16
+ "#e6fffb", "#b5f5ec", "#87e8de", "#5cdbd3", "#36cfc9", "#13c2c2", "#08979c", "#006d75", "#00474f", "#002329",
17
+ "#e6f7ff", "#bae7ff", "#91d5ff", "#69c0ff", "#40a9ff", "#1890ff", "#096dd9", "#0050b3", "#003a8c", "#002766",
18
+ "#ffffff", "#fafafa", "#f5f5f5", "#e8e8e8", "#d9d9d9", "#bfbfbf", "#8c8c8c", "#595959", "#262626", "#000000",
19
+ ];
20
+
21
+ interface ColorPickerProps extends SketchPickerProps {
22
+ badgeIcon?: React.ReactNode
23
+ title: string
24
+ placement?: TooltipPlacement
25
+ disabled?: boolean
26
+ transparentColorAllowed?: boolean
27
+
28
+ onResetColor(): void
29
+ }
30
+
31
+ interface ColorPickerState {
32
+ popupVisible: boolean
33
+ }
34
+
35
+ export default class ColorPicker extends React.Component<ColorPickerProps, ColorPickerState> {
36
+ constructor(props: Readonly<ColorPickerProps>) {
37
+ super(props);
38
+
39
+ this.state = {
40
+ popupVisible: false,
41
+ }
42
+ }
43
+
44
+ private getColorString(color: RGBColor | string | undefined): string | undefined {
45
+ if (typeof color === "object") {
46
+ return `rgba(${color.r},${color.g},${color.b},${color.a})`;
47
+ } else {
48
+ return color;
49
+ }
50
+ }
51
+
52
+ render() {
53
+ return (
54
+ <Popover
55
+ placement={this.props.placement}
56
+ trigger={this.props.disabled ? [] : "click"}
57
+ open={this.state.popupVisible}
58
+ onOpenChange={(visible) => {
59
+ this.setState({popupVisible: visible});
60
+ }}
61
+ title={
62
+ <div>
63
+ {this.props.title}
64
+ <Button
65
+ style={{float: "right", paddingLeft: 8, border: "none"}}
66
+ size="small"
67
+ title={i18n("Close")}
68
+ onClick={() => {
69
+ this.setState({popupVisible: false});
70
+ }}
71
+ >
72
+ <CloseOutlined/>
73
+ </Button>
74
+ <Button
75
+ style={{background: transparentBackgroundStyle, float: "right"}}
76
+ size="small"
77
+ title={i18n("Set No Color")}
78
+ onClick={() => {
79
+ this.props.onResetColor();
80
+ this.setState({popupVisible: false});
81
+ }}
82
+ >
83
+ <StopOutlined style={{color: "rgba(0,0,0,0.85)"}}/>
84
+ </Button>
85
+ </div>
86
+ }
87
+ content={
88
+ <SketchPicker
89
+ color={this.props.color}
90
+ width={"250px"}
91
+ presetColors={this.props.transparentColorAllowed ? [...presetColors, "transparent"] : presetColors}
92
+ onChange={this.props.onChange}
93
+ onChangeComplete={this.props.onChangeComplete}
94
+ />
95
+ }
96
+ >
97
+ <Badge
98
+ className={this.props.className}
99
+ count={this.props.badgeIcon ?
100
+ <span
101
+ className="ant-badge-count"
102
+ style={{color: "#1890ff", background: "#e6f7ff", borderColor: "#91d5ff"}}
103
+ >
104
+ {this.props.badgeIcon}
105
+ </span>
106
+ : undefined
107
+ }
108
+ >
109
+ <Button
110
+ style={{background: this.getColorString(this.props.color as RGBColor | string | undefined) ?? transparentBackgroundStyle}}
111
+ disabled={this.props.disabled}
112
+ title={this.props.title}
113
+ >
114
+ <span role="img" className="anticon"/>
115
+ </Button>
116
+ </Badge>
117
+ </Popover>
118
+ );
119
+ }
120
+
121
+ }
@@ -1,13 +1,18 @@
1
- export function ColorSwatch({ hover, color, onClick, onSwatchHover, style, title, active, small }: {
2
- hover: any;
3
- color: any;
4
- onClick: any;
5
- onSwatchHover: any;
6
- style: any;
7
- title: any;
8
- active: any;
9
- small: any;
10
- }): React.JSX.Element;
11
- declare const _default: any;
12
- export default _default;
13
- import React from 'react';
1
+ import {ClassAttributes, Component} from "react";
2
+ import {Color, ColorResult} from "react-color";
3
+
4
+ export interface ColorSwatchProps extends ClassAttributes<ColorSwatch> {
5
+ color?: Color;
6
+ active?: boolean
7
+ small?: boolean
8
+
9
+ onClick?(color: ColorResult, event: MouseEvent): void;
10
+
11
+ onSwatchHover?(color: ColorResult, event: MouseEvent): void;
12
+
13
+ title?: string,
14
+ style?: React.CSSProperties
15
+ }
16
+
17
+ export default class ColorSwatch extends Component<ColorSwatchProps> {
18
+ }
@@ -0,0 +1,87 @@
1
+ import React from 'react'
2
+ import reactCSS, {handleHover} from 'reactcss'
3
+ import {Swatch} from 'react-color/lib/components/common/Swatch'
4
+
5
+ function invertColor(hex, bw) {
6
+ if (hex.indexOf('#') === 0) {
7
+ hex = hex.slice(1);
8
+ }
9
+ // convert 3-digit hex to 6-digits.
10
+ if (hex.length === 3) {
11
+ hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
12
+ }
13
+ if (hex.length !== 6) {
14
+ throw new Error('Invalid HEX color.');
15
+ }
16
+ var r = parseInt(hex.slice(0, 2), 16),
17
+ g = parseInt(hex.slice(2, 4), 16),
18
+ b = parseInt(hex.slice(4, 6), 16);
19
+ if (bw) {
20
+ // http://stackoverflow.com/a/3943023/112731
21
+ return (r * 0.299 + g * 0.587 + b * 0.114) > 186
22
+ ? '#000000'
23
+ : '#FFFFFF';
24
+ }
25
+ // invert color components
26
+ r = (255 - r).toString(16);
27
+ g = (255 - g).toString(16);
28
+ b = (255 - b).toString(16);
29
+ // pad each with zeros and return
30
+ return "#" + padZero(r) + padZero(g) + padZero(b);
31
+ }
32
+
33
+ export const ColorSwatch = ({hover, color, onClick, onSwatchHover, style, title, active, small}) => {
34
+ const hoverSwatch = {
35
+ transform: "scale(1.5)",
36
+ position: 'relative',
37
+ zIndex: '3',
38
+ }
39
+ const focusSwatch = {
40
+ position: 'relative',
41
+ zIndex: '2',
42
+ transform: "scale(1.2)",
43
+ boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)',
44
+ cursor:"pointer"
45
+ }
46
+
47
+ const styles = reactCSS({
48
+ 'default': {
49
+ swatch: {
50
+ display: "inline-block",
51
+ transform: "scale(1)",
52
+ width: !!small ? '15px' : '22px',
53
+ height: !!small ? '15px' : '22px',
54
+ margin: '2px',
55
+ marginTop: 0,
56
+ marginBottom: 0,
57
+ fontSize: '0',
58
+ },
59
+ },
60
+ 'hover': {
61
+ swatch: small ? {} : hoverSwatch,
62
+ },
63
+ }, {hover})
64
+
65
+
66
+ return (
67
+ <div style={styles.swatch}>
68
+ {active &&
69
+ <div style={{fill: invertColor(color, true), position: "absolute", left: 1, top: 1, zIndex: 10,}}>
70
+ <svg viewBox="0 0 24 24" style={{width: 20, height: 20}}>
71
+ <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/>
72
+ </svg>
73
+ </div>}
74
+ <Swatch
75
+ color={color}
76
+ onClick={onClick}
77
+ onHover={onSwatchHover}
78
+ focus={active}
79
+ focusStyle={focusSwatch}
80
+ style={style}
81
+ title={title}
82
+ />
83
+ </div>
84
+ )
85
+ }
86
+
87
+ export default handleHover(ColorSwatch)
@@ -0,0 +1,60 @@
1
+ export default class ColorUtils {
2
+ static d2IntToRGB(num: number): string {
3
+ // d2000 posiela farbu vo formate bgr
4
+ const b = (num & 0xFF0000) >>> 16,
5
+ g = (num & 0xFF00) >>> 8,
6
+ r = num & 0xFF;
7
+ return "rgb(" + [r, g, b].join(",") + ")";
8
+ }
9
+
10
+ static d2IntToHex(num: number): string {
11
+ // d2000 posiela farbu vo formate bgr
12
+ const b = (num & 0xFF0000) >>> 16,
13
+ g = (num & 0xFF00) >>> 8,
14
+ r = num & 0xFF;
15
+ return "#" + r.toString(16).padStart(2, '0') + g.toString(16).padStart(2, '0') + b.toString(16).padStart(2, '0');
16
+ }
17
+
18
+ static hexToD2Int(hex: string): number {
19
+ const r = parseInt(hex.slice(1, 1 + 2), 16),
20
+ g = (parseInt(hex.slice(3, 3 + 2), 16) << 8),
21
+ b = (parseInt(hex.slice(5, 5 + 2), 16) << 16);
22
+
23
+ return r + g + b;
24
+ }
25
+
26
+ private static padZero(s: string, length: number = 2) {
27
+ while (s.length < length) {
28
+ s = '0' + s;
29
+ }
30
+ return s;
31
+ }
32
+
33
+ static invertColor(hex: string, bw: boolean) {
34
+ if (hex.indexOf('#') === 0) {
35
+ hex = hex.slice(1);
36
+ }
37
+ // convert 3-digit hex to 6-digits.
38
+ if (hex.length === 3) {
39
+ hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
40
+ }
41
+ if (hex.length !== 6) {
42
+ throw new Error('Invalid HEX color.');
43
+ }
44
+ const r = parseInt(hex.slice(0, 2), 16);
45
+ const g = parseInt(hex.slice(2, 4), 16);
46
+ const b = parseInt(hex.slice(4, 6), 16);
47
+ if (bw) {
48
+ // http://stackoverflow.com/a/3943023/112731
49
+ return (r * 0.299 + g * 0.587 + b * 0.114) > 186
50
+ ? '#000000'
51
+ : '#FFFFFF';
52
+ }
53
+ // invert color components
54
+ const rString = (255 - r).toString(16);
55
+ const gString = (255 - g).toString(16);
56
+ const bString = (255 - b).toString(16);
57
+ // pad each with zeros and return
58
+ return "#" + this.padZero(rString) + this.padZero(gString) + this.padZero(bString);
59
+ }
60
+ }