diginet-core-ui 1.3.43 → 1.3.45

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 (30) hide show
  1. package/assets/images/menu/dhr/MHRM00N0005.svg +11 -0
  2. package/assets/images/menu/dhr/MHRM09N1010.svg +12 -0
  3. package/assets/images/menu/dhr/MHRM09N1015.svg +18 -0
  4. package/assets/images/menu/dhr/MHRM09N1020.svg +13 -0
  5. package/assets/images/menu/dhr/MHRM09N1400.svg +11 -0
  6. package/assets/images/menu/dhr/MHRP25L0101.svg +15 -0
  7. package/assets/images/menu/dhr/MHRP25L0501.svg +14 -0
  8. package/components/button/icon.js +211 -216
  9. package/components/chart/line/Axis.js +11 -10
  10. package/components/chart/line/Grid.js +4 -3
  11. package/components/chart/line/Path.js +11 -10
  12. package/components/chart/line/Point.js +107 -80
  13. package/components/chart/line/index.js +36 -17
  14. package/components/form-control/checkbox/index.js +5 -5
  15. package/components/form-control/date-picker/index.js +131 -119
  16. package/components/form-control/dropdown/index.js +3 -4
  17. package/components/form-control/dropdown-box/index.js +1 -1
  18. package/components/form-control/helper-text/index.js +35 -33
  19. package/components/form-control/input-base/index.js +318 -317
  20. package/components/form-control/text-input/index.js +4 -4
  21. package/components/form-control/time-picker/index.js +10 -19
  22. package/components/modal/modal.js +10 -4
  23. package/components/paging/page-info.js +78 -41
  24. package/components/slider/slider-container.js +150 -126
  25. package/components/slider/slider-item.js +84 -89
  26. package/components/tree-view/css.js +17 -16
  27. package/components/tree-view/index.js +41 -23
  28. package/package.json +1 -1
  29. package/readme.md +20 -0
  30. package/theme/settings.js +3 -1
@@ -5,7 +5,7 @@ import { memo, useMemo, useState, useEffect, useRef, forwardRef, Fragment, useIm
5
5
  import { render } from 'react-dom';
6
6
  import PropTypes from 'prop-types';
7
7
  import { jsx } from '@emotion/core';
8
- import { TreeViewRoot } from './css';
8
+ import { TreeViewRootCSS } from './css';
9
9
  import { Accordion, AccordionSummary, AccordionDetails, Typography, Checkbox, Divider, InputBase, ButtonIcon } from '..';
10
10
  import { mapParent, randomString, removeUnicode } from '../../utils';
11
11
  import { getGlobal } from '../../global';
@@ -63,7 +63,8 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
63
63
  input.nextElementSibling.classList[determinate ? 'add' : 'remove']('determinate');
64
64
  input.nextElementSibling.classList[determinate ? 'remove' : 'add']('indeterminate');
65
65
  }
66
- };
66
+ }; // eslint-disable-next-line no-unused-vars
67
+
67
68
 
68
69
  const triggerCheckboxRecursion = (nodes, isChecked) => {
69
70
  nodes.forEach(el => {
@@ -77,7 +78,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
77
78
  };
78
79
 
79
80
  const checkedParentFollowValue = nodes => {
80
- if (nodes && nodes.length) {
81
+ if (nodes && nodes !== null && nodes !== void 0 && nodes.length) {
81
82
  nodes.forEach(node => {
82
83
  if (!node.classList.contains('non-child')) {
83
84
  const input = node.firstChild.querySelector('input');
@@ -147,7 +148,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
147
148
  } else {
148
149
  input.checked = true;
149
150
 
150
- if (checkedQuantity === childNodes.length && checkedQuantity === determinateQuantity) {
151
+ if (checkedQuantity === (childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) && checkedQuantity === determinateQuantity) {
151
152
  if (!input.classList.contains('determinate')) {
152
153
  determinateCheckbox(input, true);
153
154
  }
@@ -238,10 +239,12 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
238
239
  node = node.parentNode;
239
240
 
240
241
  if (node.classList.contains('DGN-UI-Accordion') && node.firstChild.classList.contains('DGN-UI-Accordion-Summary')) {
242
+ var _node$querySelectorAl;
243
+
241
244
  const checkbox = node.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild; // Trường hợp phải set về false để xét các input đã check không bao gồm node này
242
245
 
243
246
  checkbox.firstChild.checked = isChecked;
244
- const mustDisabled = !!node.querySelectorAll('input:checked').length; // Nếu có ít nhất một input con được check thì phải checked cho input này
247
+ const mustDisabled = !!((_node$querySelectorAl = node.querySelectorAll('input:checked')) !== null && _node$querySelectorAl !== void 0 && _node$querySelectorAl.length); // Nếu có ít nhất một input con được check thì phải checked cho input này
245
248
 
246
249
  checkbox.firstChild.checked = mustDisabled;
247
250
  determinateCheckbox(checkbox.firstChild, !mustDisabled);
@@ -261,9 +264,11 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
261
264
 
262
265
  const setValue = (data, isChecked) => {
263
266
  if (multiple && multipleValueMode !== 'single') {
267
+ var _data$childItems;
268
+
264
269
  currentValue[unique][typeof data === 'object' ? data[valueExpr] : data] = isChecked;
265
270
 
266
- if (data.childItems && data.childItems.length) {
271
+ if (data.childItems && (_data$childItems = data.childItems) !== null && _data$childItems !== void 0 && _data$childItems.length) {
267
272
  data.childItems.forEach(d => {
268
273
  setValue(d, isChecked);
269
274
  });
@@ -287,7 +292,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
287
292
  };
288
293
 
289
294
  const setValueIntoInput = data => {
290
- if (!data || !data.length) {
295
+ if (!data || !(data !== null && data !== void 0 && data.length)) {
291
296
  inputValueRef.current.value = '';
292
297
  clearIconRef.current.style.opacity = 0;
293
298
  return;
@@ -334,6 +339,8 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
334
339
  const checkBoxEl = currentTarget.querySelector('.TreeView-Item-Checkbox');
335
340
 
336
341
  if (multiple) {
342
+ var _value;
343
+
337
344
  let checked = false;
338
345
  let inputEl = null; // Click on text (not checkbox)
339
346
 
@@ -378,7 +385,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
378
385
  result.push(...Object.keys(currentValue[unique]).filter(v => currentValue[unique][v]));
379
386
  value = result;
380
387
 
381
- if (value.length) {
388
+ if ((_value = value) !== null && _value !== void 0 && _value.length) {
382
389
  data = dataSource.filter(obj => value.includes(typeof obj === 'object' ? obj[valueExpr] : obj));
383
390
  } else {
384
391
  data = [];
@@ -529,7 +536,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
529
536
  if (entry.classList.contains('TreeView-Item-contain-children-active')) {
530
537
  const hiddenEls = entry.querySelectorAll('.DGN-Hidden, .DGN-Invisible');
531
538
 
532
- if (hiddenEls && hiddenEls.length) {
539
+ if (hiddenEls && hiddenEls !== null && hiddenEls !== void 0 && hiddenEls.length) {
533
540
  hiddenEls.forEach(hiddenEl => hiddenEl.classList.remove('DGN-Hidden', 'DGN-Invisible'));
534
541
  }
535
542
  }
@@ -545,7 +552,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
545
552
  });
546
553
  const activeEls = ref.current.querySelectorAll('.TreeView-Item-active');
547
554
 
548
- if (!disabledBoldResult && activeEls && activeEls.length) {
555
+ if (!disabledBoldResult && activeEls && activeEls !== null && activeEls !== void 0 && activeEls.length) {
549
556
  activeEls.forEach(activeEl => {
550
557
  activeEl.classList.remove('TreeView-Item-active', 'TreeView-Item-contain-children-active');
551
558
  });
@@ -580,12 +587,12 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
580
587
  };
581
588
 
582
589
  const renderData = (data, keyArr) => {
583
- const pattern = keyArr.join('|').replace(/([\{\}])/g, '\\$1');
590
+ const pattern = keyArr.join('|').replace(/([{}])/g, '\\$1');
584
591
  const separatorArr = displayExpr.split(new RegExp(pattern));
585
592
  let str = '';
586
593
  let i = 0;
587
594
 
588
- for (i; i < keyArr.length; i++) {
595
+ for (i; i < (keyArr === null || keyArr === void 0 ? void 0 : keyArr.length); i++) {
589
596
  str += separatorArr[i] + (data[keyArr[i].replace(/\W/g, '')] !== undefined ? data[keyArr[i].replace(/\W/g, '')] : keyArr[i]);
590
597
  }
591
598
 
@@ -630,7 +637,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
630
637
  const focusClass = isTrue && !selectBox && !multiple ? 'focus' : '';
631
638
  const childItems = data.childItems; // is Summary
632
639
 
633
- if (childItems && childItems.length) {
640
+ if (childItems && childItems !== null && childItems !== void 0 && childItems.length) {
634
641
  const id = randomString(6, {
635
642
  allowSymbol: false,
636
643
  allowNumber: false
@@ -647,7 +654,10 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
647
654
  className: 'TreeView'
648
655
  },
649
656
  className: focusClass,
650
- onClick: multiple || selectBox || onChange ? e => onClickHandler(e, data) : undefined
657
+ onClick: multiple || selectBox || onChange ? e => onClickHandler(e, data) : undefined,
658
+ style: {
659
+ paddingLeft: 16 * level
660
+ }
651
661
  }, jsx("div", {
652
662
  className: 'TreeView-Item'
653
663
  }, (selectBox || multiple) && jsx("span", {
@@ -665,6 +675,9 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
665
675
 
666
676
  return jsx("div", {
667
677
  className: 'TreeView-Item non-child ' + focusClass,
678
+ style: {
679
+ paddingLeft: 34 + 16 * level
680
+ },
668
681
  onClick: multiple || selectBox || onChange ? e => onClickHandler(e, data) : undefined,
669
682
  key: index,
670
683
  tabIndex: "-1"
@@ -701,11 +714,13 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
701
714
  }
702
715
  }, [searchDelayTime]);
703
716
  useEffect(() => {
717
+ var _value2;
718
+
704
719
  dataSource.forEach(data => {
705
720
  currentValue[unique][typeof data === 'object' ? data[valueExpr] : data] = false;
706
721
  });
707
722
 
708
- if (value && value.length) {
723
+ if (value && (_value2 = value) !== null && _value2 !== void 0 && _value2.length) {
709
724
  value.forEach(v => {
710
725
  currentValue[unique][v] = true;
711
726
  });
@@ -720,7 +735,7 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
720
735
  if (multipleValueMode !== 'single') {
721
736
  const childNodes = Array.from(ref.current.childNodes);
722
737
 
723
- if (childNodes && childNodes.length) {
738
+ if (childNodes && childNodes !== null && childNodes !== void 0 && childNodes.length) {
724
739
  checkedParentFollowValue(childNodes);
725
740
  }
726
741
 
@@ -780,7 +795,9 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
780
795
  }
781
796
  }, [disabled]);
782
797
  useEffect(() => {
783
- if (Object.keys(itemsRenderAsync[unique]).length) {
798
+ var _Object$keys;
799
+
800
+ if ((_Object$keys = Object.keys(itemsRenderAsync[unique])) !== null && _Object$keys !== void 0 && _Object$keys.length) {
784
801
  Object.keys(itemsRenderAsync[unique]).forEach(async key => {
785
802
  await renderDataAsync(key, itemsRenderAsync[unique][key]);
786
803
  });
@@ -798,19 +815,21 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
798
815
  handleCheckbox,
799
816
  get: () => ref.current
800
817
  }));
801
- const TreeViewComp = useMemo(() => {
818
+ return useMemo(() => {
819
+ var _value3;
820
+
802
821
  if (typeof value === 'string') {
803
822
  value = [value];
804
823
  }
805
824
 
806
- if (!multiple && value.length > 1) {
825
+ if (!multiple && ((_value3 = value) === null || _value3 === void 0 ? void 0 : _value3.length) > 1) {
807
826
  value.length = 1;
808
827
  }
809
828
 
810
829
  itemsRenderAsync[unique] = {};
811
- const sync = dataSource.length > renderAsyncWithLength;
830
+ const sync = (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > renderAsyncWithLength;
812
831
  return jsx("div", {
813
- css: TreeViewRoot,
832
+ css: TreeViewRootCSS,
814
833
  className: 'DGN-UI-TreeView' + (disabled ? ' disabled' : '')
815
834
  }, showSelectedItems && jsx(InputBase, {
816
835
  inputRef: inputValueRef,
@@ -845,10 +864,9 @@ const TreeView = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
845
864
  })), jsx(Divider, null)), jsx("div", {
846
865
  ref: ref,
847
866
  ...props,
848
- className: ['TreeView-Content', disabled ? 'disabled' : '', className].join(' ').trim()
867
+ className: ['TreeView-Content', disabled ? 'disabled' : '', className].join(' ').trim().replace(/\s+/g, ' ')
849
868
  }, disabledMap ? dataSource : mapParent(dataSource, id, parentID, true).map((data, index) => renderTreeView(data, index.toString(), 0, sync))));
850
869
  }, [dataSource, value, multiple, selectBox, disabledBoldResult, autoExpandToResult, showChildrenOfResult, searchMode, onChange, searchProps]);
851
- return TreeViewComp;
852
870
  }));
853
871
  TreeView.defaultProps = {
854
872
  expand: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "diginet-core-ui",
3
- "version": "1.3.43",
3
+ "version": "1.3.45",
4
4
  "description": "The DigiNet core ui",
5
5
  "homepage": "https://diginet.com.vn",
6
6
  "main": "index.js",
package/readme.md CHANGED
@@ -38,6 +38,26 @@ npm test
38
38
  ```
39
39
 
40
40
  ## Changelog
41
+ ## 1.3.45
42
+ - \[Added\]: MenuIcon – MHRM00N0005, MHRM09N1015, MHRM09N1400, MHRP25L0101, MHRP25L0501, MHRM09N1020
43
+ - \[Changed\]: LineChart – Allow pointsColor, pathColor use CORE colors; Add prop className, style, pointHoverAlignment
44
+ - \[Changed\]: HelperText – Add truncates text 1 line
45
+ - \[Fixed\]: TreeView – Fix css
46
+ - \[Fixed\]: Dropdown – Fix bug when multiple or selectBox value not array
47
+ - \[Fixed\]: Dropdown – Fix bug closeAfterSelect when multiple is true
48
+
49
+ ## 1.3.44
50
+ - \[Added\]: MenuIcon – MHRP09N0033
51
+ - \[Changed\]: Modal – Add prop className
52
+ - \[Changed\]: Slider – Update design button next, previous
53
+ - \[Changed\]: Settings – Return CORE typography in setting
54
+ - \[Changed\]: PagingInfo – Update design typeShort (Design update)
55
+ - \[Fixed\]: DatePicker – Fix bug clearable when readOnly, picker out of screen
56
+ - \[Fixed\]: DropdownBox – Fix bug press Tab close DropdownBox
57
+ - \[Fixed\]: ButtonIcon – Change element tag from button to div; Fix ripple effect circular
58
+ - \[Fixed\]: DatePicker – Fix bug warning proptype, keydown Tab not close DatePicker
59
+ - \[Fixed\]: InputBase – Fix css disabled
60
+
41
61
  ## 1.3.43
42
62
  - \[Added\]: MenuIcon – MHRM00N0002, MHRM39N0018, MHRM39N0019, MHRM00N0003, MHRM00N0004 , MHRM13N0002, MHRM13N0003, MHRM29N0004
43
63
  - \[Changed\]: Checkbox - Add labelProps
package/theme/settings.js CHANGED
@@ -8,6 +8,7 @@ const {
8
8
  fontFamilyBold,
9
9
  fontFamilyMedium
10
10
  } = font;
11
+ import { typography as typographies } from '../styles/typography';
11
12
  const settings = {
12
13
  border: {
13
14
  radius: '4px',
@@ -51,7 +52,8 @@ const settings = {
51
52
  fontFamily,
52
53
  fontWeight: 'normal',
53
54
  lineHeight: '16px'
54
- }
55
+ },
56
+ ...typographies
55
57
  },
56
58
  breakpoints: {
57
59
  values: {