@cashub/ui 0.49.0-beta.1 → 0.49.0-beta.11

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 (49) hide show
  1. package/Tab/TabList.js +12 -5
  2. package/Tab/TabTab.js +21 -7
  3. package/assets/images/bg-main-dark.png +0 -0
  4. package/assets/images/bg-main-light.png +0 -0
  5. package/assets/images/bg-main-midnight.png +0 -0
  6. package/assets/images/bg-main-vivid.png +0 -0
  7. package/assets/images/bg-main-white.png +0 -0
  8. package/assets/images/bg-main.png +0 -0
  9. package/assets/images/bg-marker-circle-dark.png +0 -0
  10. package/assets/images/bg-marker-circle-ember.png +0 -0
  11. package/assets/images/bg-marker-circle-white.png +0 -0
  12. package/assets/images/bg-marker-triangle-dark.png +0 -0
  13. package/assets/images/bg-marker-triangle-ember.png +0 -0
  14. package/assets/images/bg-marker-triangle-white.png +0 -0
  15. package/icon/Icon.js +39 -0
  16. package/icon/assets/announcement.jsx +8 -0
  17. package/icon/assets/certificate.jsx +6 -0
  18. package/icon/assets/info.jsx +17 -0
  19. package/icon/assets/key.jsx +7 -0
  20. package/icon/assets/master-data.jsx +6 -0
  21. package/icon/assets/price-change.jsx +7 -0
  22. package/icon/assets/product-management.jsx +8 -0
  23. package/icon/assets/redirect-portal.jsx +17 -0
  24. package/icon/assets/system-setting.jsx +7 -0
  25. package/icon/assets/task.jsx +7 -0
  26. package/icon/index.js +13 -0
  27. package/icon/registry.js +21 -1
  28. package/iconbox/IconBox.js +134 -7
  29. package/iconbox/assets/bg-app-management.png +0 -0
  30. package/iconbox/bgImageRegistry.js +3 -1
  31. package/iconbox/subComponent/IconBoxImage.js +1 -1
  32. package/index.js +12 -0
  33. package/layout/Aside.js +24 -5
  34. package/layout/AsideHeader.jsx +3 -7
  35. package/layout/Footer.js +1 -1
  36. package/layout/Layout.jsx +5 -1
  37. package/layout/Sidebar.jsx +10 -1
  38. package/layout/bgMainRegistry.js +9 -1
  39. package/layout/bgMarkerRegistry.jsx +23 -0
  40. package/package.json +2 -2
  41. package/section/Section.js +44 -43
  42. package/select/Select.js +1 -1
  43. package/styles/theme/dark.theme.js +5 -1
  44. package/styles/theme/ember.theme.js +4 -1
  45. package/styles/theme/light.theme.js +3 -1
  46. package/styles/theme/midnight.theme.js +2 -0
  47. package/styles/theme/white.theme.js +4 -2
  48. package/table/Table.js +18 -17
  49. package/tooltip/Tooltip.js +3 -3
package/Tab/TabList.js CHANGED
@@ -15,6 +15,7 @@ const TabList = _ref => {
15
15
  let {
16
16
  children,
17
17
  wrap = true,
18
+ noBorder,
18
19
  ...props
19
20
  } = _ref;
20
21
  const wrapperRef = (0, _react.useRef)(null);
@@ -104,6 +105,7 @@ const TabList = _ref => {
104
105
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
105
106
  role: "tablist",
106
107
  $wrap: wrap,
108
+ $noBorder: noBorder,
107
109
  ...props,
108
110
  children: wrap ? children : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
109
111
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TabWrapper, {
@@ -131,20 +133,25 @@ const TabList = _ref => {
131
133
  };
132
134
  const Container = _styledComponents.default.div`
133
135
  position: relative;
134
- border-bottom: var(--border-width) solid var(--border-color);
136
+ ${_ref2 => {
137
+ let {
138
+ $noBorder
139
+ } = _ref2;
140
+ return !$noBorder && 'border-bottom: var(--border-width) solid var(--border-color);';
141
+ }}
135
142
  margin-bottom: var(--spacing);
136
143
 
137
- ${_ref2 => {
144
+ ${_ref3 => {
138
145
  let {
139
146
  $wrap
140
- } = _ref2;
147
+ } = _ref3;
141
148
  return !$wrap && 'white-space: nowrap;';
142
149
  }}
143
150
 
144
- ${_ref3 => {
151
+ ${_ref4 => {
145
152
  let {
146
153
  noMargin
147
- } = _ref3;
154
+ } = _ref4;
148
155
  return noMargin && 'margin-bottom: 0;';
149
156
  }}
150
157
  `;
package/Tab/TabTab.js CHANGED
@@ -26,6 +26,7 @@ const TabTab = _ref => {
26
26
  } = (0, _react.useContext)(_TabContext.default);
27
27
  const [isModify, setIsModify] = (0, _react.useState)(false);
28
28
  const [currentTitle, setCurrentTitle] = (0, _react.useState)(title);
29
+ const active = selected === name;
29
30
  const handleClick = (0, _react.useCallback)(() => {
30
31
  if (selected !== name) {
31
32
  onChange(name);
@@ -63,35 +64,47 @@ const TabTab = _ref => {
63
64
  role: "tab",
64
65
  onClick: handleClick,
65
66
  onDoubleClick: handleDoubleClick,
66
- active: selected === name,
67
+ active: active,
67
68
  ...props,
68
- children: children
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TabLabel, {
70
+ active: active,
71
+ children: children
72
+ })
69
73
  });
70
74
  };
71
75
  const Tab = _styledComponents.default.div`
72
76
  background: transparent;
73
77
  padding: 10px var(--spacing-s);
74
78
  border: none;
75
- border-bottom: 4px solid transparent;
76
79
  `;
77
80
  const ButtonTab = (0, _styledComponents.default)(Tab).attrs({
78
81
  as: 'button'
79
82
  })`
80
83
  color: var(--font-on-mute);
81
- transition: color 0.3s, border 0.3s;
84
+ transition: color 0.3s;
82
85
  cursor: pointer;
83
-
84
86
  &:hover {
85
87
  color: var(--font-on-background);
86
88
  }
87
-
88
89
  ${_ref2 => {
89
90
  let {
90
91
  active
91
92
  } = _ref2;
93
+ return active && `
94
+ color: var(--color-primary);
95
+ `;
96
+ }}
97
+ `;
98
+ const TabLabel = _styledComponents.default.span`
99
+ display: inline-block;
100
+ padding-bottom: 10px;
101
+ border-bottom: 4px solid transparent;
102
+ ${_ref3 => {
103
+ let {
104
+ active
105
+ } = _ref3;
92
106
  return active && `
93
107
  border-color: var(--color-primary);
94
- color: var(--font-on-background);
95
108
  `;
96
109
  }}
97
110
  `;
@@ -101,5 +114,6 @@ const InputTab = (0, _styledComponents.default)(Tab).attrs({
101
114
  color: var(--font-on-background);
102
115
  border-color: var(--color-primary);
103
116
  outline: none;
117
+ border-bottom: 4px solid var(--color-primary);
104
118
  `;
105
119
  var _default = exports.default = TabTab;
Binary file
Binary file
Binary file
Binary file
Binary file
package/icon/Icon.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _styledComponents = require("styled-components");
9
+ var _image = require("../image");
10
+ var _registry = _interopRequireDefault(require("./registry"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const Icon = _ref => {
14
+ let {
15
+ src,
16
+ iconKey,
17
+ color,
18
+ size,
19
+ ...rest
20
+ } = _ref;
21
+ const theme = (0, _react.useContext)(_styledComponents.ThemeContext);
22
+ const override = theme?.useModernIcons && iconKey && _registry.default[iconKey];
23
+ const IconComponent = override || src;
24
+ const isComponent = typeof IconComponent === 'function';
25
+ return isComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
26
+ style: {
27
+ display: 'inline-flex',
28
+ width: size || '48px',
29
+ height: size || '48px',
30
+ color: color || 'var(--color-primary)'
31
+ },
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {})
33
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_image.ImageFluid, {
34
+ crossOrigin: "anonymous",
35
+ src: IconComponent,
36
+ ...rest
37
+ });
38
+ };
39
+ var _default = exports.default = Icon;
@@ -0,0 +1,8 @@
1
+ const AnnouncementIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M689.749333 653.952H334.208a35.541333 35.541333 0 0 0 0 71.082667h355.541333a35.541333 35.541333 0 1 0 0-71.082667z" />
4
+ <path d="M796.416 262.869333h-56.874667L586.666667 115.328A108.458667 108.458667 0 0 0 511.786667 85.333333h-0.298667c-27.904 0-54.698667 10.752-74.88 29.994667L284.416 262.869333H227.541333A142.208 142.208 0 0 0 85.333333 405.077333v391.125334a142.208 142.208 0 0 0 142.208 142.208h568.874667A142.250667 142.250667 0 0 0 938.666667 796.16V405.034667a142.208 142.208 0 0 0-142.250667-142.165334z m-310.058667-96.341333l0.042667 0.042667a35.541333 35.541333 0 0 1 51.2-0.042667l99.925333 96.341333H386.474667l99.882666-96.341333z m381.184 629.632v0.085333a71.082667 71.082667 0 0 1-71.125333 71.04H227.541333a71.125333 71.125333 0 0 1-71.125333-71.125333V405.077333a71.168 71.168 0 0 1 71.125333-71.082666h568.917334c39.253333 0 71.082667 31.829333 71.082666 71.082666v391.082667z" />
5
+ <path d="M689.749333 476.16H334.165333a35.584 35.584 0 0 0-35.498666 35.584v0.042667c0 19.626667 15.914667 35.541333 35.541333 35.541333h355.584c19.626667 0 35.541333-15.957333 35.541333-35.584v-0.085333a35.498667 35.498667 0 0 0-35.584-35.498667z" />
6
+ </svg>
7
+ );
8
+ export default AnnouncementIcon;
@@ -0,0 +1,6 @@
1
+ const CertificateIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M234.723556 68.266667A166.456889 166.456889 0 0 0 68.266667 234.723556v466.062222a166.456889 166.456889 0 0 0 166.456889 166.456889h66.56v66.56a33.28 33.28 0 0 0 45.653333 30.890666l154.112-61.582222 154.083555 61.610667a33.28 33.28 0 0 0 45.653334-30.919111v-66.56h66.56a166.456889 166.456889 0 0 0 166.456889-166.456889V234.723556A166.456889 166.456889 0 0 0 767.345778 68.266667H234.723556z m66.56 619.463111v112.924444h-66.56a99.84 99.84 0 0 1-99.84-99.84V234.695111a99.868444 99.868444 0 0 1 99.84-99.84h532.622222a99.868444 99.868444 0 0 1 99.868444 99.84v466.062222a99.868444 99.868444 0 0 1-99.84 99.84h-66.56v-112.896a233.073778 233.073778 0 1 0-399.502222 0z m66.588444-20.252445a166.456889 166.456889 0 1 1 264.704-201.898666 166.456889 166.456889 0 0 1-264.704 201.898666z m0 91.392a231.992889 231.992889 0 0 0 133.176889 41.813334 231.992889 231.992889 0 0 0 133.148444-41.813334v125.781334l-114.631111-45.852445a49.92 49.92 0 0 0-37.063111 0l-114.631111 45.852445V758.897778z m-66.56-557.425777a33.28 33.28 0 1 0 0 66.56h399.473778a33.28 33.28 0 1 0 0-66.56H301.312z" />
4
+ </svg>
5
+ );
6
+ export default CertificateIcon;
@@ -0,0 +1,17 @@
1
+ const InfoIcon = (props) => (
2
+ <svg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg' {...props}>
3
+ <g clipPath='url(#clip0_249_12353)'>
4
+ <path
5
+ d='M9 18C4.02975 18 0 13.9703 0 9C0 4.02975 4.02975 0 9 0C13.9703 0 18 4.02975 18 9C18 13.9703 13.9703 18 9 18ZM9 16.5C13.1422 16.5 16.5 13.1422 16.5 9C16.5 4.85775 13.1422 1.5 9 1.5C4.85775 1.5 1.5 4.85775 1.5 9C1.5 13.1422 4.85775 16.5 9 16.5ZM8.25 8.25C8.25 8.05109 8.32902 7.86032 8.46967 7.71967C8.61032 7.57902 8.80109 7.5 9 7.5C9.19891 7.5 9.38968 7.57902 9.53033 7.71967C9.67098 7.86032 9.75 8.05109 9.75 8.25V13.5C9.75 13.6989 9.67098 13.8897 9.53033 14.0303C9.38968 14.171 9.19891 14.25 9 14.25C8.80109 14.25 8.61032 14.171 8.46967 14.0303C8.32902 13.8897 8.25 13.6989 8.25 13.5V8.25ZM8.925 5.85C8.64652 5.85 8.37945 5.73938 8.18254 5.54246C7.98562 5.34555 7.875 5.07848 7.875 4.8C7.875 4.52152 7.98562 4.25445 8.18254 4.05754C8.37945 3.86062 8.64652 3.75 8.925 3.75C9.20348 3.75 9.47055 3.86062 9.66746 4.05754C9.86438 4.25445 9.975 4.52152 9.975 4.8C9.975 5.07848 9.86438 5.34555 9.66746 5.54246C9.47055 5.73938 9.20348 5.85 8.925 5.85Z'
6
+ fill='currentColor'
7
+ />
8
+ </g>
9
+ <defs>
10
+ <clipPath id='clip0_249_12353'>
11
+ <rect width='18' height='18' fill='currentColor' />
12
+ </clipPath>
13
+ </defs>
14
+ </svg>
15
+ );
16
+
17
+ export default InfoIcon;
@@ -0,0 +1,7 @@
1
+ const KeyIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M633.912889 109.710222c154.851556 0 280.376889 125.553778 280.376889 280.405334 0 154.823111-125.525333 280.376889-280.376889 280.376888-38.172444 0-75.377778-7.68-109.795556-22.328888a36.608 36.608 0 0 1 28.643556-67.299556A207.246222 207.246222 0 1 0 426.666667 390.115556c0 29.098667 6.001778 57.344 17.436444 83.370666a36.579556 36.579556 0 0 1-5.12 37.802667l-2.474667 2.759111-268.999111 268.970667v82.488889h99.498667v-54.954667a36.579556 36.579556 0 0 1 33.052444-36.408889l3.498667-0.170667H361.244444v-54.727111a36.579556 36.579556 0 0 1 33.052445-36.408889l3.527111-0.170666h69.063111a36.551111 36.551111 0 0 1 3.527111 72.988444l-3.498666 0.170667H434.346667v54.727111a36.579556 36.579556 0 0 1-33.024 36.408889l-3.527111 0.170666-57.685334-0.028444v55.011556a36.579556 36.579556 0 0 1-33.024 36.408888l-3.555555 0.142223H130.958222a36.579556 36.579556 0 0 1-36.408889-33.052445l-0.199111-3.498666v-134.229334c0-8.448 2.929778-16.64 8.305778-23.182222l2.446222-2.673778 262.855111-262.940444-1.052444-3.157334a279.722667 279.722667 0 0 1-13.226667-76.032l-0.142222-9.784888c0-154.851556 125.525333-280.405333 280.376889-280.405334z" />
4
+ <path d="M658.289778 316.956444a48.725333 48.725333 0 1 0 97.450666 0 48.725333 48.725333 0 0 0-97.450666 0z" />
5
+ </svg>
6
+ );
7
+ export default KeyIcon;
@@ -0,0 +1,6 @@
1
+ const MasterDataIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M446.336 216.618667a32.853333 32.853333 0 0 1 32.853333 32.853333v295.338667h295.381334a32.853333 32.853333 0 0 1 32.554666 28.714666l0.256 4.138667a361.045333 361.045333 0 1 1-361.002666-361.045333z m-32.810667 67.456l-3.541333 0.426666a295.424 295.424 0 0 0 36.352 588.544 295.381333 295.381333 0 0 0 293.205333-258.986666l0.341334-3.584h-293.546667a32.810667 32.810667 0 0 1-32.554667-28.714667l-0.256-4.096v-293.546667zM610.474667 85.333333A328.192 328.192 0 0 1 938.666667 413.525333a32.810667 32.810667 0 0 1-32.853334 32.853334h-295.338666a32.810667 32.810667 0 0 1-32.853334-32.853334V118.186667a32.853333 32.853333 0 0 1 32.853334-32.810667z m32.810666 67.669334v227.712h227.669334l-0.341334-2.816a262.741333 262.741333 0 0 0-224.512-224.512l-2.816-0.426667z" />
4
+ </svg>
5
+ );
6
+ export default MasterDataIcon;
@@ -0,0 +1,7 @@
1
+ const PriceChangeIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M512.142222 764.700444a32.199111 32.199111 0 0 1-32.170666-32.170666V651.377778h-113.664a32.142222 32.142222 0 0 1 0-64.256h113.635555v-71.68h-113.635555a32.085333 32.085333 0 0 1-29.696-44.430222 32.142222 32.142222 0 0 1 29.696-19.854223h108.970666l-109.909333-109.767111a32.142222 32.142222 0 0 1 45.511111-45.397333l101.205333 101.12 101.205334-101.148445a31.971556 31.971556 0 0 1 40.561777-3.982222 32.142222 32.142222 0 0 1 4.835556 49.436445l-109.681778 109.767111h108.942222a32.142222 32.142222 0 1 1 0 64.284444h-113.635555v71.68h113.664a32.142222 32.142222 0 1 1 0 64.284445h-113.664v81.123555a32.170667 32.170667 0 0 1-32.170667 32.142222z" />
4
+ <path d="M512 938.666667A427.434667 427.434667 0 0 1 85.333333 506.737778 422.371556 422.371556 0 0 1 121.059556 341.333333a423.765333 423.765333 0 0 1 235.292444-226.360889 424.192 424.192 0 0 1 326.542222 6.257778 32.142222 32.142222 0 1 1-25.713778 58.88 362.524444 362.524444 0 0 0-477.184 186.965334 359.338667 359.338667 0 0 0-5.12 277.048888 359.964444 359.964444 0 0 0 192.227556 199.765334 362.496 362.496 0 0 0 477.184-186.965334A363.235556 363.235556 0 0 0 783.075556 271.36a32.113778 32.113778 0 0 1 25.969777-53.418667c8.533333 0.483556 16.497778 4.352 22.158223 10.695111 110.08 123.960889 138.353778 302.165333 71.964444 453.973334a423.68 423.68 0 0 1-235.264 226.389333A425.642667 425.642667 0 0 1 512 938.666667z" />
5
+ </svg>
6
+ );
7
+ export default PriceChangeIcon;
@@ -0,0 +1,8 @@
1
+ const ProductManagementIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M486.883556 601.571556a38.257778 38.257778 0 0 0 48.924444 0l346.538667-219.932445a43.605333 43.605333 0 0 0 19.114666-38.229333 42.808889 42.808889 0 0 0-18.744889-38.257778l-348.046222-215.324444c-15.36-5.973333-32.426667-5.973333-47.786666 0L140.373333 304.384a38.229333 38.229333 0 0 0-19.143111 38.257778 54.698667 54.698667 0 0 0 18.773334 42.439111l346.88 216.462222zM201.927111 344.547556L512.113778 153.315556l310.186666 191.232-310.186666 191.232-310.186667-191.232z" />
4
+ <path d="M906.069333 506.737778a34.019556 34.019556 0 0 0-45.141333-12.231111l-326.627556 204.231111a44.003556 44.003556 0 0 1-45.880888 0l-321.649778-204.231111a38.257778 38.257778 0 0 0-44.373334 12.600889 23.722667 23.722667 0 0 0-6.883555 21.048888 27.562667 27.562667 0 0 0 13.368889 18.716445l354.56 221.070222a52.792889 52.792889 0 0 0 55.466666 0l354.901334-216.092444a33.649778 33.649778 0 0 0 12.231111-45.112889z" />
5
+ <path d="M855.580444 665.031111l-326.627555 203.861333a44.003556 44.003556 0 0 1-46.279111 0l-321.28-204.231111a38.229333 38.229333 0 0 0-27.136 0 29.838222 29.838222 0 0 0-17.976889 13.767111 38.229333 38.229333 0 0 0 0 27.164445c2.161778 7.196444 6.741333 13.397333 12.999111 17.578667l354.133333 220.302222a53.134222 53.134222 0 0 0 56.234667 0l348.814222-220.672a33.28 33.28 0 0 0 12.231111-45.141334 33.649778 33.649778 0 0 0-45.112889-12.600888z" />
6
+ </svg>
7
+ );
8
+ export default ProductManagementIcon;
@@ -0,0 +1,17 @@
1
+ const RedirectPortalIcon = () => (
2
+ <svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'>
3
+ <g clipPath='url(#clip0_249_12351)'>
4
+ <path
5
+ d='M7.85672 2.14244V7.85672H2.14244V2.14244H7.85672ZM7.85672 0.713867H2.14244C1.35672 0.713867 0.713867 1.35672 0.713867 2.14244V7.85672C0.713867 8.64244 1.35672 9.2853 2.14244 9.2853H7.85672C8.64244 9.2853 9.2853 8.64244 9.2853 7.85672V2.14244C9.2853 1.35672 8.64244 0.713867 7.85672 0.713867ZM7.85672 12.1424V17.8567H2.14244V12.1424H7.85672ZM7.85672 10.7139H2.14244C1.35672 10.7139 0.713867 11.3567 0.713867 12.1424V17.8567C0.713867 18.6424 1.35672 19.2853 2.14244 19.2853H7.85672C8.64244 19.2853 9.2853 18.6424 9.2853 17.8567V12.1424C9.2853 11.3567 8.64244 10.7139 7.85672 10.7139ZM17.8567 2.14244V7.85672H12.1424V2.14244H17.8567ZM17.8567 0.713867H12.1424C11.3567 0.713867 10.7139 1.35672 10.7139 2.14244V7.85672C10.7139 8.64244 11.3567 9.2853 12.1424 9.2853H17.8567C18.6424 9.2853 19.2853 8.64244 19.2853 7.85672V2.14244C19.2853 1.35672 18.6424 0.713867 17.8567 0.713867ZM17.8567 12.1424V17.8567H12.1424V12.1424H17.8567ZM17.8567 10.7139H12.1424C11.3567 10.7139 10.7139 11.3567 10.7139 12.1424V17.8567C10.7139 18.6424 11.3567 19.2853 12.1424 19.2853H17.8567C18.6424 19.2853 19.2853 18.6424 19.2853 17.8567V12.1424C19.2853 11.3567 18.6424 10.7139 17.8567 10.7139Z'
6
+ fill='currentColor'
7
+ />
8
+ </g>
9
+ <defs>
10
+ <clipPath id='clip0_249_12351'>
11
+ <rect width='20' height='20' fill='currentColor' />
12
+ </clipPath>
13
+ </defs>
14
+ </svg>
15
+ );
16
+
17
+ export default RedirectPortalIcon;
@@ -0,0 +1,7 @@
1
+ const SystemSettingIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M933.76 465.066667a53.802667 53.802667 0 0 0-31.658667-41.130667l-75.52-33.28a62.848 62.848 0 0 1-37.248-64.426667l8.917334-82.048a53.76 53.76 0 0 0-19.882667-48.085333 426.624 426.624 0 0 0-110.72-64.085333 53.802667 53.802667 0 0 0-51.498667 6.784L549.290667 187.306667a62.933333 62.933333 0 0 1-74.581334 0l-66.56-48.853334a53.802667 53.802667 0 0 0-51.541333-6.826666A426.581333 426.581333 0 0 0 245.888 195.84a53.845333 53.845333 0 0 0-19.882667 48.085333l8.96 82.048a62.848 62.848 0 0 1-37.290666 64.426667l-75.776 33.578667a53.802667 53.802667 0 0 0-31.658667 41.258666 420.949333 420.949333 0 0 0 0 128 53.802667 53.802667 0 0 0 31.658667 41.002667l75.52 33.322667a62.805333 62.805333 0 0 1 37.248 64.384l-8.917334 82.56a53.845333 53.845333 0 0 0 19.925334 48.085333 425.728 425.728 0 0 0 110.677333 64.128 53.674667 53.674667 0 0 0 51.498667-6.826667l66.730666-48.853333a62.933333 62.933333 0 0 1 74.581334 0l66.730666 48.853333a53.76 53.76 0 0 0 51.498667 6.826667 425.728 425.728 0 0 0 110.677333-64.128 53.76 53.76 0 0 0 20.181334-48.085333l-8.96-82.048a62.848 62.848 0 0 1 37.290666-64.384l75.52-33.834667a53.717333 53.717333 0 0 0 31.658667-41.258667 420.864 420.864 0 0 0 0-128v0.128z m-74.666667 103.850666l-63.701333 28.032a139.904 139.904 0 0 0-82.901333 143.616l7.552 69.205334c-21.333333 15.872-44.458667 29.269333-68.864 39.893333l-56.32-41.216a139.818667 139.818667 0 0 0-165.76 0l-56.277334 41.216a347.178667 347.178667 0 0 1-68.864-39.893333l7.552-69.205334a139.946667 139.946667 0 0 0-82.901333-143.616l-63.701333-28.032a343.338667 343.338667 0 0 1 0-79.658666l63.701333-28.074667A139.946667 139.946667 0 0 0 311.466667 317.568l-7.552-69.162667a347.221333 347.221333 0 0 1 68.864-39.936l56.32 41.216a139.776 139.776 0 0 0 165.76 0l56.277333-41.216c24.405333 10.666667 47.488 24.021333 68.864 39.936l-7.552 69.162667a139.946667 139.946667 0 0 0 82.901333 143.616l63.701334 28.074667a343.466667 343.466667 0 0 1 0 79.658666z" />
4
+ <path d="M512.042667 386.048a143.061333 143.061333 0 1 0 0 286.122667 143.061333 143.061333 0 0 0 0-286.122667z m0 208.853333a65.792 65.792 0 1 1 0-131.626666 65.792 65.792 0 0 1 0 131.626666z" />
5
+ </svg>
6
+ );
7
+ export default SystemSettingIcon;
@@ -0,0 +1,7 @@
1
+ const TaskIcon = () => (
2
+ <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
3
+ <path d="M816.753778 85.333333H207.246222A121.912889 121.912889 0 0 0 85.333333 207.246222v609.507556A121.912889 121.912889 0 0 0 207.246222 938.666667h609.507556A121.912889 121.912889 0 0 0 938.666667 816.753778V207.246222A121.912889 121.912889 0 0 0 816.753778 85.333333z m61.013333 731.591111a60.842667 60.842667 0 0 1-60.928 60.842667H207.36c-16.298667 0-31.687111-6.257778-43.235556-17.806222a60.501333 60.501333 0 0 1-17.92-43.036445V207.303111a61.184 61.184 0 0 1 61.155556-61.070222h609.450667a60.984889 60.984889 0 0 1 60.928 61.070222V816.924444z" />
4
+ <path d="M778.808889 359.537778h-243.854222a30.435556 30.435556 0 0 0 0 60.928h243.854222a30.435556 30.435556 0 0 0 0-60.899556z m0 243.968h-243.854222a30.435556 30.435556 0 0 0 0 60.928h243.854222a30.435556 30.435556 0 0 0 0-60.928zM352.085333 527.36a106.666667 106.666667 0 1 0 0 213.333333 106.666667 106.666667 0 0 0 0-213.333333z m32.369778 139.064889a45.767111 45.767111 0 1 1-64.682667-64.739556 45.767111 45.767111 0 0 1 64.682667 64.739556z m37.546667-358.684445l-100.408889 100.352L282.168889 368.64a30.435556 30.435556 0 0 0-43.064889 43.064889l60.956444 60.956444a30.435556 30.435556 0 0 0 43.064889 0l121.941334-121.912889a30.435556 30.435556 0 0 0-43.064889-43.064888z" />
5
+ </svg>
6
+ );
7
+ export default TaskIcon;
package/icon/index.js ADDED
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Icon", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Icon.default;
10
+ }
11
+ });
12
+ var _Icon = _interopRequireDefault(require("./Icon"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
package/icon/registry.js CHANGED
@@ -34,6 +34,16 @@ var _shieldNoSignal = _interopRequireDefault(require("./assets/shield-no-signal"
34
34
  var _battery = _interopRequireDefault(require("./assets/battery"));
35
35
  var _folder = _interopRequireDefault(require("./assets/folder"));
36
36
  var _heartbeats = _interopRequireDefault(require("./assets/heartbeats"));
37
+ var _announcement = _interopRequireDefault(require("./assets/announcement"));
38
+ var _masterData = _interopRequireDefault(require("./assets/master-data"));
39
+ var _systemSetting = _interopRequireDefault(require("./assets/system-setting"));
40
+ var _certificate = _interopRequireDefault(require("./assets/certificate"));
41
+ var _key = _interopRequireDefault(require("./assets/key"));
42
+ var _task = _interopRequireDefault(require("./assets/task"));
43
+ var _priceChange = _interopRequireDefault(require("./assets/price-change"));
44
+ var _productManagement = _interopRequireDefault(require("./assets/product-management"));
45
+ var _redirectPortal = _interopRequireDefault(require("./assets/redirect-portal"));
46
+ var _info = _interopRequireDefault(require("./assets/info"));
37
47
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
38
48
  const iconOverrides = {
39
49
  merchant: _merchant.default,
@@ -65,6 +75,16 @@ const iconOverrides = {
65
75
  'shield-no-signal': _shieldNoSignal.default,
66
76
  battery: _battery.default,
67
77
  folder: _folder.default,
68
- heartbeats: _heartbeats.default
78
+ heartbeats: _heartbeats.default,
79
+ announcement: _announcement.default,
80
+ 'master-data': _masterData.default,
81
+ 'system-setting': _systemSetting.default,
82
+ certificate: _certificate.default,
83
+ key: _key.default,
84
+ task: _task.default,
85
+ 'price-change': _priceChange.default,
86
+ 'product-management': _productManagement.default,
87
+ 'redirect-portal': _redirectPortal.default,
88
+ info: _info.default
69
89
  };
70
90
  var _default = exports.default = iconOverrides;
@@ -4,13 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _styledComponents = _interopRequireDefault(require("styled-components"));
7
+ var _react = require("react");
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
9
  var _IconBoxFigure = _interopRequireDefault(require("./subComponent/IconBoxFigure"));
9
10
  var _IconBoxImage = _interopRequireDefault(require("./subComponent/IconBoxImage"));
10
- var _bgChartTriangle = _interopRequireDefault(require("../assets/images/bg-chart-triangle.png"));
11
+ var _bgMarkerRegistry = _interopRequireDefault(require("../layout/bgMarkerRegistry"));
11
12
  var _bgImageRegistry = _interopRequireDefault(require("./bgImageRegistry"));
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ const withAlpha = (hex, alphaHex) => hex ? `${hex}${alphaHex}` : undefined;
14
18
  const IconBox = _ref => {
15
19
  let {
16
20
  icon,
@@ -21,10 +25,47 @@ const IconBox = _ref => {
21
25
  sizeXS = true,
22
26
  sizeS = false,
23
27
  size,
28
+ iconSize,
24
29
  bgImageKey,
25
30
  gradientFrom,
26
- gradientTo
31
+ gradientTo,
32
+ colors
27
33
  } = _ref;
34
+ const theme = (0, _react.useContext)(_styledComponents.ThemeContext);
35
+ const mode = colors ? theme?.cardMode || 'accent' : 'image';
36
+ if (mode === 'accent' || mode === 'gradient') {
37
+ const accent = colors.accent;
38
+ const gradientEnd = colors.gradient || accent;
39
+ const borderColor = colors.border || accent;
40
+ const circleSize = size || 60;
41
+ const innerIconSize = iconSize || Math.round(circleSize * 0.5);
42
+ const iconColorFinal = mode === 'gradient' ? '#FFFFFF' : accent;
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(AccentWrapper, {
44
+ mode: mode,
45
+ accent: accent,
46
+ gradientEnd: gradientEnd,
47
+ borderColor: borderColor,
48
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconCircle, {
49
+ mode: mode,
50
+ accent: accent,
51
+ circleSize: circleSize,
52
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconBoxImage.default, {
53
+ size: innerIconSize,
54
+ iconKey: iconKey,
55
+ iconColor: iconColorFinal,
56
+ src: icon,
57
+ alt: `${title}'s icon`
58
+ })
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(TextColumn, {
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconBoxTitle, {
61
+ children: title
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconBoxBody, {
63
+ accentColor: accent,
64
+ children: children
65
+ })]
66
+ })]
67
+ });
68
+ }
28
69
  const bgImage = bgImageKey && _bgImageRegistry.default[bgImageKey];
29
70
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
30
71
  bgImage: bgImage,
@@ -53,6 +94,9 @@ const IconBox = _ref => {
53
94
  })]
54
95
  });
55
96
  };
97
+
98
+ /* ---------- image 模式(原始版式) ---------- */
99
+
56
100
  const Wrapper = _styledComponents.default.div`
57
101
  display: flex;
58
102
  flex-direction: column;
@@ -64,7 +108,8 @@ const Wrapper = _styledComponents.default.div`
64
108
  let {
65
109
  bgImage,
66
110
  gradientFrom,
67
- gradientTo
111
+ gradientTo,
112
+ theme
68
113
  } = _ref2;
69
114
  if (bgImage || gradientFrom && gradientTo) {
70
115
  const gradient = gradientFrom && gradientTo ? `linear-gradient(135deg, ${gradientFrom}, ${gradientTo})` : 'var(--color-background2)';
@@ -76,9 +121,14 @@ const Wrapper = _styledComponents.default.div`
76
121
  background-size: cover;
77
122
  `;
78
123
  }
124
+ const markerKey = theme?.bgMarkerKey || 'ember';
125
+ const marker = _bgMarkerRegistry.default[markerKey] || _bgMarkerRegistry.default.ember;
79
126
  return `
80
- background: var(--color-background2);
81
- background-image: url(${_bgChartTriangle.default});
127
+ background-color: rgba(255, 255, 255, 0.06);
128
+ backdrop-filter: blur(20px);
129
+ -webkit-backdrop-filter: blur(20px);
130
+ border: 1px solid rgba(255, 255, 255, 0.15);
131
+ background-image: url(${marker.triangle});
82
132
  background-repeat: no-repeat;
83
133
  background-position: right bottom;
84
134
  background-size: 30% 70%;
@@ -90,14 +140,91 @@ const IconBoxHead = _styledComponents.default.div`
90
140
  align-items: center;
91
141
  margin-bottom: var(--spacing);
92
142
  `;
143
+
144
+ /* ---------- accent / gradient 模式 ---------- */
145
+
146
+ const AccentWrapper = _styledComponents.default.div`
147
+ display: flex;
148
+ align-items: center;
149
+ padding: var(--spacing);
150
+ border-radius: var(--border-radius);
151
+ color: var(--font-on-background);
152
+ backdrop-filter: blur(20px);
153
+ -webkit-backdrop-filter: blur(20px);
154
+ ${_ref3 => {
155
+ let {
156
+ mode,
157
+ accent,
158
+ gradientEnd,
159
+ borderColor
160
+ } = _ref3;
161
+ if (mode === 'gradient') {
162
+ return `
163
+ background: linear-gradient(22deg, var(--color-background2) 0%, var(--color-background2) 40%, ${gradientEnd} 100%);
164
+ border: 2px solid ${borderColor};
165
+ `;
166
+ }
167
+ return `
168
+ background: ${withAlpha(accent, '0D')};
169
+ border: 2px solid ${withAlpha(accent, '1A')};
170
+ `;
171
+ }}
172
+ `;
173
+ const IconCircle = _styledComponents.default.span`
174
+ display: inline-flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+ border-radius: 50%;
178
+ width: ${_ref4 => {
179
+ let {
180
+ circleSize
181
+ } = _ref4;
182
+ return `${circleSize}px`;
183
+ }};
184
+ height: ${_ref5 => {
185
+ let {
186
+ circleSize
187
+ } = _ref5;
188
+ return `${circleSize}px`;
189
+ }};
190
+ flex-shrink: 0;
191
+ margin-right: var(--spacing-s);
192
+ background: ${_ref6 => {
193
+ let {
194
+ mode,
195
+ accent
196
+ } = _ref6;
197
+ return mode === 'gradient' ? 'rgba(255, 255, 255, 0.2)' : withAlpha(accent, '14');
198
+ }};
199
+ `;
200
+ const TextColumn = _styledComponents.default.div`
201
+ display: flex;
202
+ flex-direction: column;
203
+ `;
204
+
205
+ /* ---------- 共用 ---------- */
206
+
93
207
  const IconBoxTitle = _styledComponents.default.div`
94
208
  font-size: var(--font-h2);
95
209
  font-weight: bold;
210
+ line-height: 1.4;
96
211
  word-break: break-all;
97
212
  `;
98
213
  const IconBoxBody = _styledComponents.default.div`
99
214
  font-size: var(--font-h1);
100
215
  font-weight: bold;
101
- text-align: center;
216
+ line-height: 1.3;
217
+ text-align: ${_ref7 => {
218
+ let {
219
+ accentColor
220
+ } = _ref7;
221
+ return accentColor ? 'left' : 'center';
222
+ }};
223
+ color: ${_ref8 => {
224
+ let {
225
+ accentColor
226
+ } = _ref8;
227
+ return accentColor || 'inherit';
228
+ }};
102
229
  `;
103
230
  var _default = exports.default = IconBox;
@@ -8,11 +8,13 @@ var _bgEnterprise = _interopRequireDefault(require("./assets/bg-enterprise.png")
8
8
  var _bgMerchant = _interopRequireDefault(require("./assets/bg-merchant.png"));
9
9
  var _bgTerminal = _interopRequireDefault(require("./assets/bg-terminal.png"));
10
10
  var _bgUser = _interopRequireDefault(require("./assets/bg-user.png"));
11
+ var _bgAppManagement = _interopRequireDefault(require("./assets/bg-app-management.png"));
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
13
  const bgImageRegistry = {
13
14
  enterprise: _bgEnterprise.default,
14
15
  merchant: _bgMerchant.default,
15
16
  terminal: _bgTerminal.default,
16
- user: _bgUser.default
17
+ user: _bgUser.default,
18
+ 'app-management': _bgAppManagement.default
17
19
  };
18
20
  var _default = exports.default = bgImageRegistry;
@@ -69,7 +69,7 @@ const IconBoxImage = _ref6 => {
69
69
  ...rest
70
70
  } = _ref6;
71
71
  const theme = (0, _react.useContext)(_styledComponents.ThemeContext);
72
- const override = theme?.useModernIcons && iconKey && _registry.default[iconKey];
72
+ const override = theme?.useModernCardIcons && iconKey && _registry.default[iconKey];
73
73
  const IconComponent = override || icon;
74
74
  const isComponent = typeof IconComponent === 'function';
75
75
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
package/index.js CHANGED
@@ -285,6 +285,18 @@ Object.keys(_heading).forEach(function (key) {
285
285
  }
286
286
  });
287
287
  });
288
+ var _icon = require("./icon");
289
+ Object.keys(_icon).forEach(function (key) {
290
+ if (key === "default" || key === "__esModule") return;
291
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
292
+ if (key in exports && exports[key] === _icon[key]) return;
293
+ Object.defineProperty(exports, key, {
294
+ enumerable: true,
295
+ get: function () {
296
+ return _icon[key];
297
+ }
298
+ });
299
+ });
288
300
  var _iconbox = require("./iconbox");
289
301
  Object.keys(_iconbox).forEach(function (key) {
290
302
  if (key === "default" || key === "__esModule") return;
package/layout/Aside.js CHANGED
@@ -8,7 +8,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
8
  var _header = _interopRequireDefault(require("../styles/config/header.style"));
9
9
  var _sidebar = _interopRequireDefault(require("../styles/config/sidebar.style"));
10
10
  var _media = _interopRequireDefault(require("../styles/mixin/media"));
11
- var _bgAside = _interopRequireDefault(require("../assets/images/bg-aside.png"));
11
+ var _bgMainRegistry = _interopRequireDefault(require("./bgMainRegistry"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -28,11 +28,30 @@ const Aside = _styledComponents.default.aside`
28
28
  if (theme?.hideAsideDecoration) {
29
29
  return `background: var(--color-background4);`;
30
30
  }
31
+ const bgKey = theme?.bgMainKey || 'default';
32
+ const bgImage = _bgMainRegistry.default[bgKey];
31
33
  return `
32
- background: url(${_bgAside.default}), var(--color-background4);
33
- background-size: 356px 436px, auto;
34
- background-repeat: no-repeat, no-repeat;
35
- background-position: bottom, center;
34
+ background: url(${bgImage});
35
+ background-size: cover;
36
+ background-repeat: no-repeat;
37
+ background-position: center;
38
+ background-attachment: fixed;
39
+ overflow: hidden;
40
+ position: relative;
41
+ z-index: 1;
42
+
43
+ &::before {
44
+ content: "";
45
+ position: absolute;
46
+ inset: 0;
47
+ z-index: -1;
48
+
49
+ background: var(--color-background4);
50
+ opacity: 0.9;
51
+
52
+ backdrop-filter: blur(20px);
53
+ -webkit-backdrop-filter: blur(20px);
54
+ }
36
55
  `;
37
56
  }}
38
57
  --font-on-background: var(--color-text-sidebar);
@@ -3,25 +3,21 @@ import headerStyle from '../styles/config/header.style';
3
3
  import media from '../styles/mixin/media';
4
4
  import Logo from './Logo';
5
5
  import MenuIcon from './MenuIcon';
6
-
7
- const AsideHeader = ({ theme, logo, hasSidebar, toggleSidebar }) => {
6
+ const AsideHeader = ({ logo, hasSidebar, toggleSidebar }) => {
8
7
  return (
9
8
  <Brand>
10
- {hasSidebar && <MenuIcon theme={theme} toggleSidebar={toggleSidebar} />}
11
- {logo && <Logo src={logo} />}
9
+ {hasSidebar && <MenuIcon toggleSidebar={toggleSidebar} />}
10
+ {logo && <Logo srcColor={logo.color} srcWhite={logo.white} />}
12
11
  </Brand>
13
12
  );
14
13
  };
15
-
16
14
  const Brand = styled.div`
17
15
  display: none;
18
16
  height: ${headerStyle.height};
19
-
20
17
  ${media.tablet`
21
18
  padding: 0 var(--spacing-xs);
22
19
  align-items: center;
23
20
  display: flex
24
21
  `};
25
22
  `;
26
-
27
23
  export default AsideHeader;
package/layout/Footer.js CHANGED
@@ -12,7 +12,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  const Footer = _styledComponents.default.footer`
14
14
  transition: 0.3s;
15
- border-top: var(--border-width) solid var(--border-color);
15
+ border-top: none;
16
16
  color: var(--font-on-mute);
17
17
  height: 64px;
18
18
  line-height: 64px;
package/layout/Layout.jsx CHANGED
@@ -6,6 +6,7 @@ import Container from './Container';
6
6
  import Footer from './Footer';
7
7
  import Sidebar from './Sidebar';
8
8
  import Backdrop from './Backdrop';
9
+
9
10
  const Layout = ({
10
11
  mode,
11
12
  logo,
@@ -18,12 +19,12 @@ const Layout = ({
18
19
  const toggleSidebar = () => {
19
20
  setDisplay(!display);
20
21
  };
21
- // hide sidebar
22
22
  useEffect(() => {
23
23
  if (mode === 'tablet') {
24
24
  setDisplay(false);
25
25
  }
26
26
  }, [mode, setDisplay]);
27
+
27
28
  return (
28
29
  <Wrapper>
29
30
  <Header
@@ -56,14 +57,17 @@ const Layout = ({
56
57
  </Wrapper>
57
58
  );
58
59
  };
60
+
59
61
  const Wrapper = styled.div`
60
62
  display: flex;
61
63
  flex-direction: column;
62
64
  min-height: 100vh;
63
65
  `;
66
+
64
67
  const Main = styled.div`
65
68
  display: flex;
66
69
  flex: 1;
67
70
  position: relative;
68
71
  `;
72
+
69
73
  export default Layout;
@@ -203,6 +203,8 @@ const MenuItem = styled.li`
203
203
  props.active === true &&
204
204
  css`
205
205
  background: var(--color-active-sidebar);
206
+ border-top-right-radius: 10px;
207
+ border-bottom-right-radius: 10px;
206
208
  `};
207
209
  `;
208
210
  const MenuItemLink = styled(Link)`
@@ -244,12 +246,19 @@ const SubMenuItem = styled.li`
244
246
  padding: 0 calc(var(--spacing) * 2 + 1.5rem);
245
247
  padding-left: ${({ $level }) =>
246
248
  `calc(var(--spacing) * 2 + 1.5rem + ${$level} * var(--spacing))`};
247
- height: 48px;
249
+ min-height: 48px;
250
+ padding-top: 0.5rem;
251
+ padding-bottom: 0.5rem;
248
252
  ${({ active }) =>
249
253
  active === true &&
250
254
  css`
251
255
  background: var(--color-active-sidebar);
256
+ border-top-right-radius: 10px;
257
+ border-bottom-right-radius: 10px;
252
258
  `};
259
+ span {
260
+ line-height: 1.4;
261
+ }
253
262
  }
254
263
  `;
255
264
  const EmptyIcon = styled.span`
@@ -6,9 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _bgMain = _interopRequireDefault(require("../assets/images/bg-main.png"));
8
8
  var _bgMainVivid = _interopRequireDefault(require("../assets/images/bg-main-vivid.png"));
9
+ var _bgMainDark = _interopRequireDefault(require("../assets/images/bg-main-dark.png"));
10
+ var _bgMainLight = _interopRequireDefault(require("../assets/images/bg-main-light.png"));
11
+ var _bgMainWhite = _interopRequireDefault(require("../assets/images/bg-main-white.png"));
12
+ var _bgMainMidnight = _interopRequireDefault(require("../assets/images/bg-main-midnight.png"));
9
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
14
  const bgMainRegistry = {
11
15
  default: _bgMain.default,
12
- vivid: _bgMainVivid.default
16
+ vivid: _bgMainVivid.default,
17
+ dark: _bgMainDark.default,
18
+ light: _bgMainLight.default,
19
+ white: _bgMainWhite.default,
20
+ midnight: _bgMainMidnight.default
13
21
  };
14
22
  var _default = exports.default = bgMainRegistry;
@@ -0,0 +1,23 @@
1
+ import bgMarkerCircleEmber from '../assets/images/bg-marker-circle-ember.png';
2
+ import bgMarkerTriangleEmber from '../assets/images/bg-marker-triangle-ember.png';
3
+ import bgMarkerCircleWhite from '../assets/images/bg-marker-circle-white.png';
4
+ import bgMarkerTriangleWhite from '../assets/images/bg-marker-triangle-white.png';
5
+ import bgMarkerCircleDark from '../assets/images/bg-marker-circle-dark.png';
6
+ import bgMarkerTriangleDark from '../assets/images/bg-marker-triangle-dark.png';
7
+
8
+ const bgMarkerRegistry = {
9
+ ember: {
10
+ circle: bgMarkerCircleEmber,
11
+ triangle: bgMarkerTriangleEmber,
12
+ },
13
+ white: {
14
+ circle: bgMarkerCircleWhite,
15
+ triangle: bgMarkerTriangleWhite,
16
+ },
17
+ dark: {
18
+ circle: bgMarkerCircleDark,
19
+ triangle: bgMarkerTriangleDark,
20
+ },
21
+ };
22
+
23
+ export default bgMarkerRegistry;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashub/ui",
3
- "version": "0.49.0-beta.1",
3
+ "version": "0.49.0-beta.11",
4
4
  "private": false,
5
5
  "author": "CasHUB Team",
6
6
  "description": "CasHUB UI components library",
@@ -52,4 +52,4 @@
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  }
55
- }
55
+ }
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
8
- var _bgChartTriangle = _interopRequireDefault(require("../assets/images/bg-chart-triangle.png"));
9
- var _bgChartCircle = _interopRequireDefault(require("../assets/images/bg-chart-circle.png"));
10
- var _map = _interopRequireDefault(require("../assets/images/map.png"));
8
+ var _bgMarkerRegistry = _interopRequireDefault(require("../layout/bgMarkerRegistry"));
11
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
10
  const Section = _styledComponents.default.div`
13
11
  background: var(--color-background1);
@@ -15,109 +13,112 @@ const Section = _styledComponents.default.div`
15
13
  color: var(--font-on-background);
16
14
  padding: var(--spacing);
17
15
  margin-bottom: var(--spacing);
18
-
19
16
  ${_ref => {
20
17
  let {
21
18
  backgroundReverse
22
19
  } = _ref;
23
- return backgroundReverse && 'background: var(--color-background2);';
24
- }}
20
+ return backgroundReverse && `
21
+ position: relative;
22
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
25
23
 
24
+ &::before {
25
+ content: '';
26
+ position: absolute;
27
+ inset: 0;
28
+ background-color: rgba(255, 255, 255, 0.06);
29
+ backdrop-filter: blur(20px);
30
+ -webkit-backdrop-filter: blur(20px);
31
+ border-radius: inherit;
32
+ z-index: -1;
33
+ pointer-events: none;
34
+ }
35
+ `;
36
+ }}
26
37
  ${_ref2 => {
27
38
  let {
28
39
  paddingS
29
40
  } = _ref2;
30
41
  return paddingS && 'padding: var(--spacing-s);';
31
42
  }}
32
-
33
43
  ${_ref3 => {
34
44
  let {
35
45
  paddingXS
36
46
  } = _ref3;
37
47
  return paddingXS && 'padding: var(--spacing-xs);';
38
48
  }}
39
-
40
49
  ${_ref4 => {
41
50
  let {
42
51
  noPadding
43
52
  } = _ref4;
44
53
  return noPadding && 'padding: 0;';
45
54
  }}
46
-
47
55
  ${_ref5 => {
48
56
  let {
49
- noPaddingX
57
+ noPadding,
58
+ backgroundReverse,
59
+ backgroundMarker,
60
+ backgroundMap
50
61
  } = _ref5;
51
- return noPaddingX && 'padding-left: 0; padding-right: 0;';
62
+ return noPadding && !backgroundReverse && !backgroundMarker && !backgroundMap && 'background: transparent;';
52
63
  }}
53
-
54
64
  ${_ref6 => {
55
65
  let {
56
- noPaddingTop
66
+ noPaddingX
57
67
  } = _ref6;
58
- return noPaddingTop && 'padding-top: 0;';
68
+ return noPaddingX && 'padding-left: 0; padding-right: 0;';
59
69
  }}
60
-
61
70
  ${_ref7 => {
62
71
  let {
63
- noPaddingBottom
72
+ noPaddingTop
64
73
  } = _ref7;
65
- return noPaddingBottom && 'padding-bottom: 0;';
74
+ return noPaddingTop && 'padding-top: 0;';
66
75
  }}
67
-
68
76
  ${_ref8 => {
69
77
  let {
70
- marginBottomS
78
+ noPaddingBottom
71
79
  } = _ref8;
72
- return marginBottomS && 'margin-bottom: var(--spacing-s);';
80
+ return noPaddingBottom && 'padding-bottom: 0;';
73
81
  }}
74
-
75
82
  ${_ref9 => {
76
83
  let {
77
- noMarginBottom
84
+ marginBottomS
78
85
  } = _ref9;
79
- return noMarginBottom && 'margin-bottom: 0;';
86
+ return marginBottomS && 'margin-bottom: var(--spacing-s);';
80
87
  }}
81
-
82
88
  ${_ref10 => {
83
89
  let {
84
- fullHeight
90
+ noMarginBottom
85
91
  } = _ref10;
86
- return fullHeight && 'height: calc(100% - var(--spacing));';
92
+ return noMarginBottom && 'margin-bottom: 0;';
87
93
  }}
88
-
89
94
  ${_ref11 => {
90
95
  let {
91
- backgroundMarker
96
+ fullHeight
92
97
  } = _ref11;
93
- return backgroundMarker && `
94
- background: var(--color-background2);
95
- background-image: url(${_bgChartCircle.default}), url(${_bgChartTriangle.default});
96
- background-repeat: no-repeat;
97
- background-position: left top, right bottom;
98
- background-size: 337px 312px, 166px 225px;
99
- `;
98
+ return fullHeight && 'height: calc(100% - var(--spacing));';
100
99
  }}
101
-
102
100
  ${_ref12 => {
103
101
  let {
104
- backgroundMap
102
+ backgroundMarker,
103
+ backgroundMap,
104
+ theme
105
105
  } = _ref12;
106
- return backgroundMap && `
107
- background: var(--color-background2);
108
- background-image: url(${_map.default});
106
+ if (!backgroundMarker && !backgroundMap) return '';
107
+ const markerKey = theme?.bgMarkerKey || 'ember';
108
+ const marker = _bgMarkerRegistry.default[markerKey] || _bgMarkerRegistry.default.ember;
109
+ return `
110
+ background-image: url(${marker.circle}), url(${marker.triangle});
109
111
  background-repeat: no-repeat;
110
- background-size: cover;
112
+ background-position: left top, right bottom;
113
+ background-size: 337px 312px, 166px 225px;
111
114
  `;
112
115
  }}
113
-
114
116
  ${_ref13 => {
115
117
  let {
116
118
  border
117
119
  } = _ref13;
118
120
  return border && 'border: var(--border-width) solid var(--border-color);';
119
121
  }}
120
-
121
122
  ${_ref14 => {
122
123
  let {
123
124
  checkboxGroup
package/select/Select.js CHANGED
@@ -386,7 +386,7 @@ const Select = _ref => {
386
386
  setFocusedOption(null);
387
387
  }
388
388
  setDisplay(tmpDisplay);
389
- update();
389
+ if (update) update();
390
390
  };
391
391
 
392
392
  // handle keyboard interaction
@@ -22,8 +22,12 @@ const colorStyle = {
22
22
  bgColor3: '#2d2a5d',
23
23
  bgColor4: '#222143',
24
24
  backdropBg: 'rgba(0, 0, 0, 0.75)',
25
+ cardMode: 'gradient',
26
+ bgMainKey: 'dark',
27
+ bgMarkerKey: 'dark',
28
+ useModernCardIcons: true,
25
29
  useLightBrand: true,
26
- hideMainDecoration: true
30
+ hideMainDecoration: false
27
31
  };
28
32
 
29
33
  // Common font style
@@ -21,8 +21,11 @@ const colorStyle = {
21
21
  bgColor4: 'linear-gradient(90deg, #E62B27 0%, #D9211E 45%, #C60E27 100%)',
22
22
  backdropBg: 'rgba(0, 0, 0, 0.75)',
23
23
  useModernIcons: true,
24
+ useModernCardIcons: true,
24
25
  useLightBrand: true,
25
- bgMainKey: 'vivid',
26
+ cardMode: 'accent',
27
+ bgMainKey: 'default',
28
+ bgMarkerKey: 'ember',
26
29
  colorHoverSidebar: 'rgba(255, 255, 255, 0.15)',
27
30
  colorActiveSidebar: 'rgba(255, 255, 255, 0.22)',
28
31
  colorTextSidebar: '#FFFFFF',
@@ -21,7 +21,9 @@ const colorStyle = {
21
21
  bgColor2: '#F8F4FF',
22
22
  bgColor3: '#E6E1FF',
23
23
  bgColor4: '#F8F4FF',
24
- backdropBg: 'rgba(0, 0, 0, 0.75)'
24
+ backdropBg: 'rgba(0, 0, 0, 0.75)',
25
+ cardMode: 'accent',
26
+ bgMainKey: 'light'
25
27
  };
26
28
 
27
29
  // Common font style
@@ -20,6 +20,8 @@ const colorStyle = {
20
20
  bgColor3: '#EDEFF3',
21
21
  bgColor4: '#00255B',
22
22
  backdropBg: 'rgba(0, 0, 0, 0.75)',
23
+ cardMode: 'accent',
24
+ bgMainKey: 'midnight',
23
25
  useModernIcons: false,
24
26
  useLightBrand: true,
25
27
  colorHoverSidebar: 'rgba(255, 255, 255, 0.12)',
@@ -22,10 +22,12 @@ const colorStyle = {
22
22
  bgColor3: '#FFFFFF',
23
23
  bgColor4: '#F7F7F7',
24
24
  backdropBg: 'rgba(0, 0, 0, 0.75)',
25
+ cardMode: 'accent',
26
+ bgMainKey: 'white',
27
+ bgMarkerKey: 'white',
25
28
  useModernIcons: false,
26
29
  useLightBrand: false,
27
- hideMainDecoration: false,
28
- bgMainKey: 'default'
30
+ hideMainDecoration: false
29
31
  };
30
32
 
31
33
  // Common font style
package/table/Table.js CHANGED
@@ -44,7 +44,23 @@ const Table = _ref => {
44
44
  beforeCreateRow,
45
45
  popoverContainer,
46
46
  centerFooter = false,
47
- showPager = true
47
+ showPager = true,
48
+ limitOptions = [{
49
+ id: 10,
50
+ text: '10'
51
+ }, {
52
+ id: 20,
53
+ text: '20'
54
+ }, {
55
+ id: 30,
56
+ text: '30'
57
+ }, {
58
+ id: 40,
59
+ text: '40'
60
+ }, {
61
+ id: 50,
62
+ text: '50'
63
+ }]
48
64
  } = _ref;
49
65
  const tableRef = (0, _react.useRef)(null);
50
66
  const {
@@ -304,22 +320,7 @@ const Table = _ref => {
304
320
  fill: true,
305
321
  fillReverse: backgroundReverse,
306
322
  allowSearch: false,
307
- options: [{
308
- id: 10,
309
- text: '10'
310
- }, {
311
- id: 20,
312
- text: '20'
313
- }, {
314
- id: 30,
315
- text: '30'
316
- }, {
317
- id: 40,
318
- text: '40'
319
- }, {
320
- id: 50,
321
- text: '50'
322
- }],
323
+ options: limitOptions,
323
324
  selected: limit,
324
325
  onSelect: onLimitChange
325
326
  })]
@@ -40,15 +40,15 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
40
40
  });
41
41
  const handleOpen = (0, _react.useCallback)(() => {
42
42
  setDisplay(true);
43
- update();
43
+ if (update) update();
44
44
  }, [update]);
45
45
  const handleClose = (0, _react.useCallback)(() => {
46
46
  setDisplay(false);
47
- update();
47
+ if (update) update();
48
48
  }, [update]);
49
49
  const toggle = (0, _react.useCallback)(() => {
50
50
  setDisplay(display => !display);
51
- update();
51
+ if (update) update();
52
52
  }, [update]);
53
53
  const wraperProps = (0, _react.useMemo)(() => {
54
54
  if (disabled) return;