@capillarytech/blaze-ui 0.1.6-alpha.6 → 0.1.6-alpha.60

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 (101) hide show
  1. package/CapIcon/CapIcon.js +183 -0
  2. package/CapIcon/index.js +3 -0
  3. package/CapIcon/styles.js +76 -0
  4. package/CapInput/CapInput.js +2 -2
  5. package/CapInput/Number.js +1 -1
  6. package/CapInput/Search.js +1 -1
  7. package/CapInput/TextArea.js +1 -1
  8. package/CapLabel/CapLabel.js +101 -81
  9. package/CapLabel/index.js +3 -1
  10. package/CapLabel/styles.js +250 -212
  11. package/CapRow/CapRow.js +111 -10
  12. package/CapRow/index.js +3 -1
  13. package/CapRow/styles.js +47 -6
  14. package/CapSkeleton/CapSkeleton.js +17 -0
  15. package/CapSkeleton/index.js +1 -0
  16. package/CapSpin/CapSpin.js +23 -0
  17. package/CapSpin/index.js +1 -0
  18. package/CapTable/loadable.js +4 -4
  19. package/CapTable/styles.js +1 -1
  20. package/CapTestSelect/CapTestSelect.js +47 -0
  21. package/CapTestSelect/index.js +1 -0
  22. package/CapTooltip/CapTooltip.js +87 -25
  23. package/CapTooltip/index.js +3 -1
  24. package/CapTooltip/styles.js +19 -27
  25. package/CapTooltipWithInfo/CapTooltipWithInfo.js +82 -0
  26. package/CapTooltipWithInfo/index.js +3 -0
  27. package/CapTooltipWithInfo/styles.js +22 -0
  28. package/CapUnifiedSelect/CapUnifiedSelect.js +547 -67
  29. package/CapUnifiedSelect/index.js +1 -4
  30. package/CapUnifiedSelect/styles.js +300 -168
  31. package/assets/upload.svg +3 -0
  32. package/index.js +12 -1
  33. package/package.json +6 -12
  34. package/utils/index.js +1 -0
  35. package/utils/withMemo.js +33 -0
  36. package/utils/withStyles.js +24 -0
  37. package/CapHeading/CapHeading.js +0 -71
  38. package/CapHeading/index.js +0 -1
  39. package/CapHeading/styles.js +0 -125
  40. package/CapInfoNote/CapInfoNote.js +0 -54
  41. package/CapInfoNote/index.js +0 -1
  42. package/CapInfoNote/styles.js +0 -63
  43. package/CapInput/loadable.js +0 -9
  44. package/CapUnifiedSelect/loadable.js +0 -3
  45. package/dist/235.index.js +0 -2
  46. package/dist/235.index.js.LICENSE.txt +0 -29
  47. package/dist/603.index.js +0 -1
  48. package/dist/CapInput/CapInput.js +0 -66
  49. package/dist/CapInput/Number.js +0 -42
  50. package/dist/CapInput/Search.js +0 -35
  51. package/dist/CapInput/TextArea.js +0 -42
  52. package/dist/CapInput/index.js +0 -15
  53. package/dist/CapInput/messages.js +0 -32
  54. package/dist/CapInput/styles.js +0 -11
  55. package/dist/CapTable/CapTable.js +0 -148
  56. package/dist/CapTable/index.js +0 -9
  57. package/dist/CapTable/loadable.js +0 -23
  58. package/dist/CapTable/styles.js +0 -26
  59. package/dist/LocaleHoc/index.js +0 -40
  60. package/dist/esm/CapHeading/CapHeading.js +0 -41
  61. package/dist/esm/CapHeading/index.js +0 -1
  62. package/dist/esm/CapHeading/styles.js +0 -123
  63. package/dist/esm/CapInfoNote/CapInfoNote.js +0 -62
  64. package/dist/esm/CapInfoNote/index.js +0 -1
  65. package/dist/esm/CapInfoNote/styles.js +0 -6
  66. package/dist/esm/CapInput/CapInput.js +0 -57
  67. package/dist/esm/CapInput/Number.js +0 -35
  68. package/dist/esm/CapInput/Search.js +0 -28
  69. package/dist/esm/CapInput/TextArea.js +0 -35
  70. package/dist/esm/CapInput/index.js +0 -8
  71. package/dist/esm/CapInput/loadable.js +0 -9
  72. package/dist/esm/CapInput/messages.js +0 -25
  73. package/dist/esm/CapInput/styles.js +0 -3
  74. package/dist/esm/CapLabel/CapLabel.js +0 -50
  75. package/dist/esm/CapLabel/index.js +0 -1
  76. package/dist/esm/CapLabel/styles.js +0 -219
  77. package/dist/esm/CapRow/CapRow.js +0 -22
  78. package/dist/esm/CapRow/index.js +0 -1
  79. package/dist/esm/CapRow/styles.js +0 -5
  80. package/dist/esm/CapTable/CapTable.js +0 -140
  81. package/dist/esm/CapTable/index.js +0 -2
  82. package/dist/esm/CapTable/loadable.js +0 -12
  83. package/dist/esm/CapTable/styles.js +0 -17
  84. package/dist/esm/CapTooltip/CapTooltip.js +0 -34
  85. package/dist/esm/CapTooltip/index.js +0 -1
  86. package/dist/esm/CapTooltip/styles.js +0 -6
  87. package/dist/esm/CapUnifiedSelect/CapUnifiedSelect.js +0 -101
  88. package/dist/esm/CapUnifiedSelect/index.js +0 -3
  89. package/dist/esm/CapUnifiedSelect/loadable.js +0 -4
  90. package/dist/esm/CapUnifiedSelect/messages.js +0 -23
  91. package/dist/esm/CapUnifiedSelect/styles.js +0 -15
  92. package/dist/esm/LocaleHoc/index.js +0 -31
  93. package/dist/esm/index.js +0 -11
  94. package/dist/esm/styled/index.js +0 -5
  95. package/dist/esm/styled/variables.js +0 -88
  96. package/dist/esm/translations/en.js +0 -329
  97. package/dist/index.js +0 -39
  98. package/dist/index.js.LICENSE.txt +0 -7
  99. package/dist/styled/index.js +0 -22
  100. package/dist/styled/variables.js +0 -94
  101. package/dist/translations/en.js +0 -335
@@ -1,12 +1,12 @@
1
- import CapSpin from '@capillarytech/cap-ui-library/CapSpin';
1
+ import CapSkeleton from '../CapSkeleton';
2
2
  import { loadable } from '@capillarytech/cap-ui-utils';
3
3
  import React, { Suspense } from 'react';
4
4
 
5
5
  const LoadableComponent = loadable(() => import('./CapTable'));
6
6
 
7
- const CapTableLoadable = () => (
8
- <Suspense fallback={<CapSpin />}>
9
- <LoadableComponent />
7
+ const CapTableLoadable = (props) => (
8
+ <Suspense fallback={<CapSkeleton />}>
9
+ <LoadableComponent {...props} />
10
10
  </Suspense>
11
11
  );
12
12
 
@@ -1,4 +1,4 @@
1
- import { Table } from 'antd';
1
+ import { Table } from 'antd-v5';
2
2
  import styled from 'styled-components';
3
3
  import * as styledVars from '../styled/variables';
4
4
 
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Select } from 'antd-v5';
4
+
5
+ /**
6
+ * Test component to verify Ant Design v5 Select integration
7
+ * This is a simple wrapper for testing purposes only
8
+ */
9
+ const CapTestSelect = (props) => {
10
+ return <Select {...props} />;
11
+ };
12
+
13
+ CapTestSelect.propTypes = {
14
+ // Common Select props from antd
15
+ allowClear: PropTypes.bool,
16
+ defaultValue: PropTypes.oneOfType([
17
+ PropTypes.string,
18
+ PropTypes.number,
19
+ PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))
20
+ ]),
21
+ disabled: PropTypes.bool,
22
+ loading: PropTypes.bool,
23
+ mode: PropTypes.oneOf(['multiple', 'tags']),
24
+ placeholder: PropTypes.string,
25
+ showSearch: PropTypes.bool,
26
+ value: PropTypes.oneOfType([
27
+ PropTypes.string,
28
+ PropTypes.number,
29
+ PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))
30
+ ]),
31
+ options: PropTypes.arrayOf(
32
+ PropTypes.shape({
33
+ label: PropTypes.node,
34
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
35
+ disabled: PropTypes.bool
36
+ })
37
+ )
38
+ };
39
+
40
+ CapTestSelect.defaultProps = {
41
+ allowClear: false,
42
+ disabled: false,
43
+ loading: false,
44
+ showSearch: false
45
+ };
46
+
47
+ export default CapTestSelect;
@@ -0,0 +1 @@
1
+ export { default } from './CapTestSelect';
@@ -1,36 +1,98 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { Tooltip } from 'antd';
4
- import classNames from 'classnames';
5
- import { TooltipWrapper } from './styles';
3
+ import { Tooltip } from 'antd-v5';
4
+ import classnames from 'classnames';
5
+ import styled from 'styled-components';
6
+ import { tooltipStyles } from './styles';
7
+ import withStyles from '../utils/withStyles';
6
8
 
7
- const CapTooltip = ({ overlayClassName, children, ...rest }) => {
9
+ const StyledTooltip = styled(Tooltip)`
10
+ ${tooltipStyles}
11
+ `;
12
+
13
+ const CapTooltip = ({
14
+ title,
15
+ children,
16
+ placement = 'top',
17
+ visible,
18
+ defaultVisible = false,
19
+ trigger = 'hover',
20
+ destroyTooltipOnHide = false,
21
+ mouseEnterDelay = 0.1,
22
+ mouseLeaveDelay = 0.1,
23
+ overlayClassName = '',
24
+ overlayStyle,
25
+ onVisibleChange,
26
+ align,
27
+ arrowPointAtCenter = false,
28
+ autoAdjustOverflow = true,
29
+ getPopupContainer,
30
+ className = '',
31
+ ...rest
32
+ }) => {
8
33
  return (
9
- <TooltipWrapper>
10
- <Tooltip
11
- overlayClassName={classNames('cap-tooltip', overlayClassName)}
12
- {...rest}
13
- >
14
- {children}
15
- </Tooltip>
16
- </TooltipWrapper>
34
+ <StyledTooltip
35
+ title={title}
36
+ placement={placement}
37
+ open={visible}
38
+ defaultOpen={defaultVisible}
39
+ trigger={trigger}
40
+ destroyTooltipOnHide={destroyTooltipOnHide}
41
+ mouseEnterDelay={mouseEnterDelay}
42
+ mouseLeaveDelay={mouseLeaveDelay}
43
+ overlayClassName={classnames('cap-tooltip-overlay-v2', overlayClassName)}
44
+ overlayStyle={overlayStyle}
45
+ onOpenChange={onVisibleChange}
46
+ align={align}
47
+ arrow={{ pointAtCenter: arrowPointAtCenter }}
48
+ autoAdjustOverflow={autoAdjustOverflow}
49
+ getPopupContainer={getPopupContainer}
50
+ className={classnames('cap-tooltip-v2', className)}
51
+ {...rest}
52
+ >
53
+ {children}
54
+ </StyledTooltip>
17
55
  );
18
56
  };
19
57
 
20
- /*
21
- NOTE:
22
- While using a disabled button with tooltip, wrap the button with an element with className "button-disabled-tooltip-wrapper".
23
-
24
- <CapTooltip title="disabled button with tooltip">
25
- <span className="button-disabled-tooltip-wrapper">
26
- <CapButton disabled>Button</CapButton>
27
- </span>
28
- </CapTooltip>
29
- */
30
-
31
58
  CapTooltip.propTypes = {
32
- overlayClassName: PropTypes.string,
59
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
33
60
  children: PropTypes.node,
61
+ placement: PropTypes.oneOf([
62
+ 'top', 'left', 'right', 'bottom',
63
+ 'topLeft', 'topRight', 'bottomLeft', 'bottomRight',
64
+ 'leftTop', 'leftBottom', 'rightTop', 'rightBottom',
65
+ ]),
66
+ visible: PropTypes.bool,
67
+ defaultVisible: PropTypes.bool,
68
+ trigger: PropTypes.oneOfType([
69
+ PropTypes.string,
70
+ PropTypes.arrayOf(PropTypes.string),
71
+ ]),
72
+ destroyTooltipOnHide: PropTypes.bool,
73
+ mouseEnterDelay: PropTypes.number,
74
+ mouseLeaveDelay: PropTypes.number,
75
+ overlayClassName: PropTypes.string,
76
+ overlayStyle: PropTypes.object,
77
+ onVisibleChange: PropTypes.func,
78
+ align: PropTypes.object,
79
+ arrowPointAtCenter: PropTypes.bool,
80
+ autoAdjustOverflow: PropTypes.bool,
81
+ getPopupContainer: PropTypes.func,
82
+ className: PropTypes.string,
83
+ };
84
+
85
+ CapTooltip.defaultProps = {
86
+ placement: 'top',
87
+ defaultVisible: false,
88
+ trigger: 'hover',
89
+ destroyTooltipOnHide: false,
90
+ mouseEnterDelay: 0.1,
91
+ mouseLeaveDelay: 0.1,
92
+ overlayClassName: '',
93
+ arrowPointAtCenter: false,
94
+ autoAdjustOverflow: true,
95
+ className: '',
34
96
  };
35
97
 
36
- export default CapTooltip;
98
+ export default withStyles(CapTooltip, tooltipStyles);
@@ -1 +1,3 @@
1
- export { default } from './CapTooltip';
1
+ import CapTooltip from './CapTooltip';
2
+
3
+ export default CapTooltip;
@@ -1,42 +1,34 @@
1
- import styled from 'styled-components';
1
+ import styled, { css } from 'styled-components';
2
2
  import * as styledVars from '../styled/variables';
3
3
 
4
- export const TooltipWrapper = styled.span`
5
- .cap-tooltip {
6
- max-width: 324px;
7
-
4
+ export const tooltipStyles = css`
5
+ &.cap-tooltip-overlay-v2 {
8
6
  .ant-tooltip-inner {
9
- background-color: ${styledVars.FONT_COLOR_01};
10
- font-size: ${styledVars.FONT_SIZE_M};
11
- font-weight: ${styledVars.FONT_WEIGHT_MEDIUM};
12
- padding: 6px 8px;
13
- min-height: 32px;
7
+ background-color: ${styledVars.CAP_G01};
8
+ color: ${styledVars.CAP_WHITE};
9
+ padding: 8px 12px;
10
+ font-size: 14px;
11
+ line-height: 20px;
14
12
  border-radius: ${styledVars.RADIUS_04};
13
+ max-width: 300px;
14
+ word-wrap: break-word;
15
15
  }
16
16
 
17
- &.cap-bgcolor-tooltip {
18
- .ant-tooltip-inner {
19
- background-color: ${styledVars.FONT_COLOR_05};
20
- }
21
- }
22
-
23
- &.hide-tooltip-pointer {
24
- .ant-tooltip-arrow {
25
- display: none;
26
- }
17
+ .ant-tooltip-arrow::before {
18
+ background-color: ${styledVars.CAP_G01};
27
19
  }
28
20
  }
29
21
 
30
22
  .button-disabled-tooltip-wrapper {
31
- display: inline-flex;
23
+ display: inline-block;
32
24
  cursor: not-allowed;
33
25
 
34
- .cap-button.ant-btn[disabled] {
26
+ .ant-btn[disabled] {
35
27
  pointer-events: none;
36
- & > * {
37
- pointer-events: auto;
38
- cursor: not-allowed;
39
- }
40
28
  }
41
29
  }
42
- `;
30
+ `;
31
+
32
+ export const StyledTooltipWrapper = styled.div`
33
+ display: inline-block;
34
+ `;
@@ -0,0 +1,82 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classnames from 'classnames';
4
+ import { CapTooltip, CapIcon } from '../';
5
+ import withStyles from '../utils/withStyles';
6
+ import { tooltipWithInfoStyles } from './styles';
7
+
8
+ /**
9
+ * CapTooltipWithInfo - A component that combines an info icon with a tooltip
10
+ * for displaying additional information on hover or other trigger events.
11
+ */
12
+ const CapTooltipWithInfo = ({
13
+ title,
14
+ iconSize = 's',
15
+ iconType = 'info-circle',
16
+ placement = 'top',
17
+ trigger = 'hover',
18
+ className = '',
19
+ tooltipProps = {},
20
+ iconProps = {},
21
+ ...rest
22
+ }) => {
23
+ return (
24
+ <span
25
+ className={classnames('cap-tooltip-with-info', className)}
26
+ {...rest}
27
+ >
28
+ <CapTooltip
29
+ title={title}
30
+ placement={placement}
31
+ trigger={trigger}
32
+ {...tooltipProps}
33
+ >
34
+ <span className="cap-tooltip-with-info-icon">
35
+ <CapIcon
36
+ type={iconType}
37
+ size={iconSize}
38
+ {...iconProps}
39
+ />
40
+ </span>
41
+ </CapTooltip>
42
+ </span>
43
+ );
44
+ };
45
+
46
+ CapTooltipWithInfo.propTypes = {
47
+ /** Content to display in the tooltip */
48
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,
49
+ /** Size of the info icon */
50
+ iconSize: PropTypes.oneOf(['xs', 's', 'm', 'l']),
51
+ /** Type of icon to display */
52
+ iconType: PropTypes.string,
53
+ /** Placement of the tooltip relative to the icon */
54
+ placement: PropTypes.oneOf([
55
+ 'top', 'left', 'right', 'bottom',
56
+ 'topLeft', 'topRight', 'bottomLeft', 'bottomRight',
57
+ 'leftTop', 'leftBottom', 'rightTop', 'rightBottom',
58
+ ]),
59
+ /** How the tooltip is triggered */
60
+ trigger: PropTypes.oneOfType([
61
+ PropTypes.string,
62
+ PropTypes.arrayOf(PropTypes.string),
63
+ ]),
64
+ /** Additional class name */
65
+ className: PropTypes.string,
66
+ /** Additional props passed to the CapTooltip component */
67
+ tooltipProps: PropTypes.object,
68
+ /** Additional props passed to the CapIcon component */
69
+ iconProps: PropTypes.object,
70
+ };
71
+
72
+ CapTooltipWithInfo.defaultProps = {
73
+ iconSize: 's',
74
+ iconType: 'info-circle',
75
+ placement: 'top',
76
+ trigger: 'hover',
77
+ className: '',
78
+ tooltipProps: {},
79
+ iconProps: {},
80
+ };
81
+
82
+ export default withStyles(CapTooltipWithInfo, tooltipWithInfoStyles);
@@ -0,0 +1,3 @@
1
+ import CapTooltipWithInfo from './CapTooltipWithInfo';
2
+
3
+ export default CapTooltipWithInfo;
@@ -0,0 +1,22 @@
1
+ import { css } from 'styled-components';
2
+ import * as styledVars from '../styled/variables';
3
+
4
+ export const tooltipWithInfoStyles = css`
5
+ &.cap-tooltip-with-info {
6
+ display: inline-flex;
7
+ align-items: center;
8
+ cursor: default;
9
+
10
+ .cap-tooltip-with-info-icon {
11
+ color: ${styledVars.CAP_G06};
12
+ margin-left: 4px;
13
+ cursor: help;
14
+
15
+ &:hover {
16
+ color: ${styledVars.CAP_G07};
17
+ }
18
+ }
19
+ }
20
+ `;
21
+
22
+ export default tooltipWithInfoStyles;