@licklist/design 0.78.5-dev.54 → 0.78.5-dev.56
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.
- package/dist/index.js +2 -7
- package/dist/v2/components/ActionMenu/ActionMenu.d.ts +1 -0
- package/dist/v2/components/ActionMenu/ActionMenu.d.ts.map +1 -1
- package/dist/v2/components/ActionMenu/ActionMenu.js +10 -3
- package/dist/v2/components/ActionMenu/ActionMenu.scss.js +1 -1
- package/dist/v2/components/Button/Button.d.ts +3 -2
- package/dist/v2/components/Button/Button.d.ts.map +1 -1
- package/dist/v2/components/Button/Button.js +12 -6
- package/dist/v2/components/Button/Button.scss.js +1 -1
- package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +2 -1
- package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -1
- package/dist/v2/components/NewPageHeader/NewPageHeader.js +2 -2
- package/dist/v2/components/NewTable/NewTable.d.ts +1 -0
- package/dist/v2/components/NewTable/NewTable.d.ts.map +1 -1
- package/dist/v2/components/NewTable/NewTable.js +5 -0
- package/dist/v2/components/Pagination/Pagination.scss.js +1 -1
- package/dist/v2/components/index.d.ts +3 -10
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/icons/index.d.ts +18 -3
- package/dist/v2/icons/index.d.ts.map +1 -1
- package/dist/v2/icons/index.js +150 -7
- package/dist/v2/pages/Settings/components/SidebarCustomisation.js +7 -11
- package/dist/v2/pages/Settings/components/SidebarNavItem.js +6 -11
- package/dist/v2/styles/components/Button.scss +34 -2
- package/package.json +1 -1
- package/src/v2/components/ActionMenu/ActionMenu.scss +16 -5
- package/src/v2/components/ActionMenu/ActionMenu.tsx +6 -3
- package/src/v2/components/Button/Button.tsx +6 -3
- package/src/v2/components/Customer/{CustomerDetail/CustomerDetail.scss → CustomerDetail.scss} +7 -3
- package/src/v2/components/Customer/CustomersList.scss +308 -36
- package/src/v2/components/NewPageHeader/NewPageHeader.tsx +6 -4
- package/src/v2/components/NewTable/NewTable.tsx +6 -0
- package/src/v2/components/Pagination/Pagination.scss +24 -24
- package/src/v2/components/index.ts +19 -13
- package/src/v2/icons/index.tsx +35 -6
- package/src/v2/styles/components/Button.scss +34 -2
- package/dist/v2/components/Customer/CustomerCreate/CustomerCreate.d.ts +0 -11
- package/dist/v2/components/Customer/CustomerCreate/CustomerCreate.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerCreate/CustomerCreate.js +0 -32
- package/dist/v2/components/Customer/CustomerCreate/index.d.ts +0 -2
- package/dist/v2/components/Customer/CustomerCreate/index.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.d.ts +0 -35
- package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.js +0 -235
- package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.scss.js +0 -6
- package/dist/v2/components/Customer/CustomerDetail/index.d.ts +0 -2
- package/dist/v2/components/Customer/CustomerDetail/index.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerEdit/CustomerEdit.d.ts +0 -11
- package/dist/v2/components/Customer/CustomerEdit/CustomerEdit.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerEdit/CustomerEdit.js +0 -32
- package/dist/v2/components/Customer/CustomerEdit/index.d.ts +0 -2
- package/dist/v2/components/Customer/CustomerEdit/index.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerForm/CustomerForm.d.ts +0 -22
- package/dist/v2/components/Customer/CustomerForm/CustomerForm.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomerForm/CustomerForm.js +0 -535
- package/dist/v2/components/Customer/CustomerForm/index.d.ts +0 -2
- package/dist/v2/components/Customer/CustomerForm/index.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomersList.d.ts +0 -37
- package/dist/v2/components/Customer/CustomersList.d.ts.map +0 -1
- package/dist/v2/components/Customer/CustomersList.js +0 -204
- package/dist/v2/components/Customer/CustomersList.scss.js +0 -6
- package/dist/v2/components/Customer/index.d.ts +0 -6
- package/dist/v2/components/Customer/index.d.ts.map +0 -1
- package/src/v2/components/Customer/CustomerCreate/CustomerCreate.tsx +0 -36
- package/src/v2/components/Customer/CustomerCreate/index.ts +0 -1
- package/src/v2/components/Customer/CustomerDetail/CustomerDetail.tsx +0 -161
- package/src/v2/components/Customer/CustomerDetail/index.ts +0 -1
- package/src/v2/components/Customer/CustomerEdit/CustomerEdit.tsx +0 -37
- package/src/v2/components/Customer/CustomerEdit/index.ts +0 -1
- package/src/v2/components/Customer/CustomerForm/CustomerForm.tsx +0 -434
- package/src/v2/components/Customer/CustomerForm/index.ts +0 -1
- package/src/v2/components/Customer/CustomersList.tsx +0 -193
- package/src/v2/components/Customer/index.ts +0 -5
package/dist/v2/icons/index.js
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
+
function _define_property(obj, key, value) {
|
|
4
|
+
if (key in obj) {
|
|
5
|
+
Object.defineProperty(obj, key, {
|
|
6
|
+
value: value,
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true
|
|
10
|
+
});
|
|
11
|
+
} else {
|
|
12
|
+
obj[key] = value;
|
|
13
|
+
}
|
|
14
|
+
return obj;
|
|
15
|
+
}
|
|
16
|
+
function _object_spread(target) {
|
|
17
|
+
for(var i = 1; i < arguments.length; i++){
|
|
18
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
19
|
+
var ownKeys = Object.keys(source);
|
|
20
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
21
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
22
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
ownKeys.forEach(function(key) {
|
|
26
|
+
_define_property(target, key, source[key]);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return target;
|
|
30
|
+
}
|
|
31
|
+
function ownKeys(object, enumerableOnly) {
|
|
32
|
+
var keys = Object.keys(object);
|
|
33
|
+
if (Object.getOwnPropertySymbols) {
|
|
34
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
35
|
+
if (enumerableOnly) {
|
|
36
|
+
symbols = symbols.filter(function(sym) {
|
|
37
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
keys.push.apply(keys, symbols);
|
|
41
|
+
}
|
|
42
|
+
return keys;
|
|
43
|
+
}
|
|
44
|
+
function _object_spread_props(target, source) {
|
|
45
|
+
source = source != null ? source : {};
|
|
46
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
47
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
48
|
+
} else {
|
|
49
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
50
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return target;
|
|
54
|
+
}
|
|
55
|
+
function _object_without_properties(source, excluded) {
|
|
56
|
+
if (source == null) return {};
|
|
57
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
58
|
+
var key, i;
|
|
59
|
+
if (Object.getOwnPropertySymbols) {
|
|
60
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
61
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
62
|
+
key = sourceSymbolKeys[i];
|
|
63
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
64
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
65
|
+
target[key] = source[key];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return target;
|
|
69
|
+
}
|
|
70
|
+
function _object_without_properties_loose(source, excluded) {
|
|
71
|
+
if (source == null) return {};
|
|
72
|
+
var target = {};
|
|
73
|
+
var sourceKeys = Object.keys(source);
|
|
74
|
+
var key, i;
|
|
75
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
76
|
+
key = sourceKeys[i];
|
|
77
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
78
|
+
target[key] = source[key];
|
|
79
|
+
}
|
|
80
|
+
return target;
|
|
81
|
+
}
|
|
3
82
|
var MarketingIcon = function() {
|
|
4
83
|
return /*#__PURE__*/ jsx("svg", {
|
|
5
84
|
width: "24",
|
|
@@ -139,10 +218,11 @@ var SearchIcon = function() {
|
|
|
139
218
|
});
|
|
140
219
|
};
|
|
141
220
|
var RefreshIcon = function() {
|
|
221
|
+
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_width = _ref.width, width = _ref_width === void 0 ? 24 : _ref_width, _ref_height = _ref.height, height = _ref_height === void 0 ? 24 : _ref_height;
|
|
142
222
|
return /*#__PURE__*/ jsx("svg", {
|
|
143
223
|
xmlns: "http://www.w3.org/2000/svg",
|
|
144
|
-
width:
|
|
145
|
-
height:
|
|
224
|
+
width: width,
|
|
225
|
+
height: height,
|
|
146
226
|
viewBox: "0 0 24 24",
|
|
147
227
|
fill: "none",
|
|
148
228
|
children: /*#__PURE__*/ jsx("path", {
|
|
@@ -152,10 +232,11 @@ var RefreshIcon = function() {
|
|
|
152
232
|
});
|
|
153
233
|
};
|
|
154
234
|
var SendIcon = function() {
|
|
235
|
+
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_width = _ref.width, width = _ref_width === void 0 ? 24 : _ref_width, _ref_height = _ref.height, height = _ref_height === void 0 ? 24 : _ref_height;
|
|
155
236
|
return /*#__PURE__*/ jsx("svg", {
|
|
156
237
|
xmlns: "http://www.w3.org/2000/svg",
|
|
157
|
-
width:
|
|
158
|
-
height:
|
|
238
|
+
width: width,
|
|
239
|
+
height: height,
|
|
159
240
|
viewBox: "0 0 24 24",
|
|
160
241
|
fill: "none",
|
|
161
242
|
children: /*#__PURE__*/ jsx("path", {
|
|
@@ -178,9 +259,10 @@ var ExternalLinkIcon = function() {
|
|
|
178
259
|
});
|
|
179
260
|
};
|
|
180
261
|
var ExportIcon = function() {
|
|
262
|
+
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_width = _ref.width, width = _ref_width === void 0 ? 24 : _ref_width, _ref_height = _ref.height, height = _ref_height === void 0 ? 24 : _ref_height;
|
|
181
263
|
return /*#__PURE__*/ jsx("svg", {
|
|
182
|
-
width:
|
|
183
|
-
height:
|
|
264
|
+
width: width,
|
|
265
|
+
height: height,
|
|
184
266
|
viewBox: "0 0 32 32",
|
|
185
267
|
fill: "none",
|
|
186
268
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -260,5 +342,66 @@ var InfoIcon = function() {
|
|
|
260
342
|
})
|
|
261
343
|
});
|
|
262
344
|
};
|
|
345
|
+
var ArrowUpIcon = function() {
|
|
346
|
+
return /*#__PURE__*/ jsx("svg", {
|
|
347
|
+
width: "11",
|
|
348
|
+
height: "6",
|
|
349
|
+
viewBox: "0 0 11 6",
|
|
350
|
+
fill: "none",
|
|
351
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
352
|
+
children: /*#__PURE__*/ jsx("path", {
|
|
353
|
+
d: "M10 5L5.5 1L1 5",
|
|
354
|
+
stroke: "currentColor",
|
|
355
|
+
strokeWidth: "2",
|
|
356
|
+
strokeLinecap: "round",
|
|
357
|
+
strokeLinejoin: "round"
|
|
358
|
+
})
|
|
359
|
+
});
|
|
360
|
+
};
|
|
361
|
+
var ArrowDownIcon = function() {
|
|
362
|
+
return /*#__PURE__*/ jsx("svg", {
|
|
363
|
+
width: "11",
|
|
364
|
+
height: "6",
|
|
365
|
+
viewBox: "0 0 11 6",
|
|
366
|
+
fill: "none",
|
|
367
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
368
|
+
children: /*#__PURE__*/ jsx("path", {
|
|
369
|
+
d: "M1 1L5.5 5L10 1",
|
|
370
|
+
stroke: "currentColor",
|
|
371
|
+
strokeWidth: "2",
|
|
372
|
+
strokeLinecap: "round",
|
|
373
|
+
strokeLinejoin: "round"
|
|
374
|
+
})
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
var CloseIcon = function(_param) {
|
|
378
|
+
var _param_width = _param.width, width = _param_width === void 0 ? 24 : _param_width, _param_height = _param.height, height = _param_height === void 0 ? 24 : _param_height, props = _object_without_properties(_param, [
|
|
379
|
+
"width",
|
|
380
|
+
"height"
|
|
381
|
+
]);
|
|
382
|
+
return /*#__PURE__*/ jsxs("svg", _object_spread_props(_object_spread({
|
|
383
|
+
width: width,
|
|
384
|
+
height: height,
|
|
385
|
+
viewBox: "0 0 24 24",
|
|
386
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
387
|
+
}, props), {
|
|
388
|
+
children: [
|
|
389
|
+
/*#__PURE__*/ jsx("path", {
|
|
390
|
+
d: "M18 6L6 18",
|
|
391
|
+
stroke: "currentColor",
|
|
392
|
+
strokeWidth: "2",
|
|
393
|
+
strokeLinecap: "round",
|
|
394
|
+
strokeLinejoin: "round"
|
|
395
|
+
}),
|
|
396
|
+
/*#__PURE__*/ jsx("path", {
|
|
397
|
+
d: "M6 6L18 18",
|
|
398
|
+
stroke: "currentColor",
|
|
399
|
+
strokeWidth: "2",
|
|
400
|
+
strokeLinecap: "round",
|
|
401
|
+
strokeLinejoin: "round"
|
|
402
|
+
})
|
|
403
|
+
]
|
|
404
|
+
}));
|
|
405
|
+
};
|
|
263
406
|
|
|
264
|
-
export { ArrowLeftIcon, ArrowRightIcon, BookingTypesIcon, BookingsIcon, CalendarIcon, ClearIcon, CustomersIcon, EditIcon, ExportIcon, ExternalLinkIcon, InfoIcon, LoyaltyIcon, MarketingIcon, RefreshIcon, SearchIcon, SendIcon, SettingsIcon, WaiversIcon };
|
|
407
|
+
export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookingTypesIcon, BookingsIcon, CalendarIcon, ClearIcon, CloseIcon, CustomersIcon, EditIcon, ExportIcon, ExternalLinkIcon, InfoIcon, LoyaltyIcon, MarketingIcon, RefreshIcon, SearchIcon, SendIcon, SettingsIcon, WaiversIcon };
|
|
@@ -6,29 +6,25 @@ import { CalendarIcon, BookingsIcon, BookingTypesIcon, LoyaltyIcon, CustomersIco
|
|
|
6
6
|
import '../../../components/Badge/Badge.scss.js';
|
|
7
7
|
import '../../../components/QuickFilter/QuickFilter.scss.js';
|
|
8
8
|
import '../../../components/NewTable/NewTable.scss.js';
|
|
9
|
-
import '../../../components/NewInput/NewInput.js';
|
|
10
|
-
import '../../../components/Pagination/Pagination.scss.js';
|
|
11
|
-
import '../../../components/Customer/CustomersList.scss.js';
|
|
12
|
-
import { Button } from '../../../components/Button/Button.js';
|
|
13
|
-
import '../../../components/NewPageHeader/NewPageHeader.scss.js';
|
|
14
|
-
import '@licklist/plugins/dist/context/app/AlertContext';
|
|
15
|
-
import '../../../components/Select/Select.scss.js';
|
|
16
|
-
import '../../../components/Checkbox/Checkbox.js';
|
|
17
|
-
import 'react-i18next';
|
|
18
|
-
import '../../../components/Customer/CustomerDetail/CustomerDetail.scss.js';
|
|
19
9
|
import 'react-icons/fa';
|
|
20
10
|
import '../../../components/ActionMenu/ActionMenu.scss.js';
|
|
21
11
|
import '../../../components/Modal/DeleteModal.scss.js';
|
|
12
|
+
import '../../../components/NewInput/NewInput.js';
|
|
22
13
|
import '../../../components/FormField/FormField.js';
|
|
14
|
+
import '../../../components/Checkbox/Checkbox.js';
|
|
23
15
|
import '../../../components/WYSIWYGEditor/WYSIWYGEditor.scss.js';
|
|
16
|
+
import { Button } from '../../../components/Button/Button.js';
|
|
17
|
+
import '../../../components/NewPageHeader/NewPageHeader.scss.js';
|
|
24
18
|
import '../../../components/SectionHeader/SectionHeader.scss.js';
|
|
25
|
-
import
|
|
19
|
+
import '../../../components/Select/Select.scss.js';
|
|
26
20
|
import '../../../components/Tooltip/Tooltip.js';
|
|
27
21
|
import '../../../components/UserAvatar/UserAvatar.scss.js';
|
|
28
22
|
import '../../../components/UserPanel/UserPanel.scss.js';
|
|
29
23
|
import '../../../components/EntityHeader/EntityHeader.scss.js';
|
|
30
24
|
import '../../../components/Alert/Alert.scss.js';
|
|
31
25
|
import '../../../components/NPSScore/NPSScore.scss.js';
|
|
26
|
+
import '../../../components/Pagination/Pagination.scss.js';
|
|
27
|
+
import { GhostButton } from '../../../components/Button/GhostButton.js';
|
|
32
28
|
|
|
33
29
|
function _array_like_to_array(arr, len) {
|
|
34
30
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -3,29 +3,24 @@ import 'react';
|
|
|
3
3
|
import '../../../components/Badge/Badge.scss.js';
|
|
4
4
|
import '../../../components/QuickFilter/QuickFilter.scss.js';
|
|
5
5
|
import '../../../components/NewTable/NewTable.scss.js';
|
|
6
|
-
import '../../../components/NewInput/NewInput.js';
|
|
7
|
-
import '../../../components/Pagination/Pagination.scss.js';
|
|
8
|
-
import '../../../components/Customer/CustomersList.scss.js';
|
|
9
|
-
import '../../../components/Button/Button.scss.js';
|
|
10
|
-
import '../../../components/NewPageHeader/NewPageHeader.scss.js';
|
|
11
|
-
import '@licklist/plugins/dist/context/app/AlertContext';
|
|
12
|
-
import '../../../components/Select/Select.scss.js';
|
|
13
|
-
import '../../../components/Checkbox/Checkbox.js';
|
|
14
|
-
import 'react-i18next';
|
|
15
|
-
import '../../../components/Customer/CustomerDetail/CustomerDetail.scss.js';
|
|
16
6
|
import 'react-icons/fa';
|
|
17
7
|
import '../../../components/ActionMenu/ActionMenu.scss.js';
|
|
18
8
|
import '../../../components/Modal/DeleteModal.scss.js';
|
|
9
|
+
import '../../../components/NewInput/NewInput.js';
|
|
19
10
|
import { FormField } from '../../../components/FormField/FormField.js';
|
|
11
|
+
import '../../../components/Checkbox/Checkbox.js';
|
|
20
12
|
import '../../../components/WYSIWYGEditor/WYSIWYGEditor.scss.js';
|
|
13
|
+
import '../../../components/Button/Button.scss.js';
|
|
14
|
+
import '../../../components/NewPageHeader/NewPageHeader.scss.js';
|
|
21
15
|
import '../../../components/SectionHeader/SectionHeader.scss.js';
|
|
22
|
-
import '../../../components/
|
|
16
|
+
import '../../../components/Select/Select.scss.js';
|
|
23
17
|
import '../../../components/Tooltip/Tooltip.js';
|
|
24
18
|
import '../../../components/UserAvatar/UserAvatar.scss.js';
|
|
25
19
|
import '../../../components/UserPanel/UserPanel.scss.js';
|
|
26
20
|
import '../../../components/EntityHeader/EntityHeader.scss.js';
|
|
27
21
|
import '../../../components/Alert/Alert.scss.js';
|
|
28
22
|
import '../../../components/NPSScore/NPSScore.scss.js';
|
|
23
|
+
import '../../../components/Pagination/Pagination.scss.js';
|
|
29
24
|
import './SidebarNavItem.scss.js';
|
|
30
25
|
|
|
31
26
|
var SidebarNavItem = function(param) {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
align-self: flex-start;
|
|
9
9
|
text-align: center;
|
|
10
10
|
align-items: center;
|
|
11
|
-
font-family: var(--font-family-sans, 'Geist', sans-serif)
|
|
11
|
+
font-family: var(--font-family-sans, 'Geist', sans-serif);
|
|
12
12
|
font-weight: 600;
|
|
13
13
|
line-height: 20px;
|
|
14
14
|
min-height: 44px;
|
|
@@ -79,6 +79,28 @@
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
// Secondary - Soft
|
|
83
|
+
&--secondary-soft {
|
|
84
|
+
background: var(--surface-action-soft, #EFE6FD);
|
|
85
|
+
color: var(--label-action, #6200EE);
|
|
86
|
+
|
|
87
|
+
&:hover {
|
|
88
|
+
background: var(--surface-tertiary, #F0F0F5);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
// Tertiary - Soft
|
|
94
|
+
&--tertiary-soft {
|
|
95
|
+
background: #FFFFFF;
|
|
96
|
+
color: var(--label-primary, #121E52);
|
|
97
|
+
border: 1px solid var(--border-primary, #E8E9EF);
|
|
98
|
+
|
|
99
|
+
&:hover {
|
|
100
|
+
background: var(--surface-tertiary, #F0F0F5);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
82
104
|
// Destructive - Soft
|
|
83
105
|
&--destructive-soft {
|
|
84
106
|
border-radius: var(--radius-reg, 8px);
|
|
@@ -138,8 +160,18 @@
|
|
|
138
160
|
}
|
|
139
161
|
|
|
140
162
|
/* Button text styling */
|
|
163
|
+
&__spinner {
|
|
164
|
+
width: 16px;
|
|
165
|
+
height: 16px;
|
|
166
|
+
border: 2px solid rgba(0, 0, 0, 0.1);
|
|
167
|
+
border-top: 2px solid currentColor;
|
|
168
|
+
border-radius: 50%;
|
|
169
|
+
animation: spin 1s linear infinite;
|
|
170
|
+
flex-shrink: 0;
|
|
171
|
+
}
|
|
172
|
+
|
|
141
173
|
&__text {
|
|
142
|
-
font-family: 'Geist', sans-serif;
|
|
174
|
+
font-family: var(--font-family-sans, 'Geist', sans-serif);
|
|
143
175
|
font-size: 15px;
|
|
144
176
|
font-style: normal;
|
|
145
177
|
font-weight: 600;
|
package/package.json
CHANGED
|
@@ -12,15 +12,25 @@
|
|
|
12
12
|
padding: 8px;
|
|
13
13
|
justify-content: center;
|
|
14
14
|
align-items: center;
|
|
15
|
-
border-radius:
|
|
15
|
+
border-radius: 50%;
|
|
16
16
|
border: 1px solid var(--border-primary, #E8E9EF);
|
|
17
|
-
background: var(--surface-
|
|
17
|
+
background: var(--surface-action-soft);
|
|
18
18
|
color: var(--actions-regular, #5D5BF4);
|
|
19
19
|
cursor: pointer;
|
|
20
20
|
transition: all 0.2s ease;
|
|
21
21
|
|
|
22
22
|
&:hover {
|
|
23
|
-
background: var(--surface-
|
|
23
|
+
background: var(--surface-action-soft);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&--close {
|
|
27
|
+
border-radius: 50%;
|
|
28
|
+
background: #F4F4FE;
|
|
29
|
+
border: 1px solid #F4F4FE;
|
|
30
|
+
|
|
31
|
+
&:hover {
|
|
32
|
+
background: #E8E8FD;
|
|
33
|
+
}
|
|
24
34
|
}
|
|
25
35
|
|
|
26
36
|
svg {
|
|
@@ -31,7 +41,7 @@
|
|
|
31
41
|
|
|
32
42
|
&__dropdown {
|
|
33
43
|
position: absolute;
|
|
34
|
-
|
|
44
|
+
bottom: calc(100% + 4px);
|
|
35
45
|
right: 0;
|
|
36
46
|
z-index: 1000;
|
|
37
47
|
display: flex;
|
|
@@ -40,11 +50,12 @@
|
|
|
40
50
|
align-items: flex-start;
|
|
41
51
|
border-radius: 12px;
|
|
42
52
|
background: var(--surface-primary, #FFF);
|
|
43
|
-
box-shadow:
|
|
53
|
+
box-shadow: 0 4px 20px 0 rgba(18, 30, 82, 0.15);
|
|
44
54
|
overflow: hidden;
|
|
45
55
|
border: 1px solid var(--border-primary, #E8E9EF);
|
|
46
56
|
}
|
|
47
57
|
|
|
58
|
+
|
|
48
59
|
&__item {
|
|
49
60
|
display: flex;
|
|
50
61
|
padding: 12px 16px;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from 'react'
|
|
2
2
|
import { FaEllipsisH } from 'react-icons/fa'
|
|
3
|
+
import { CloseIcon } from '../../icons'
|
|
3
4
|
import './ActionMenu.scss'
|
|
4
5
|
|
|
5
6
|
export interface ActionMenuItem {
|
|
@@ -11,9 +12,10 @@ export interface ActionMenuItem {
|
|
|
11
12
|
export interface ActionMenuProps {
|
|
12
13
|
items: ActionMenuItem[]
|
|
13
14
|
className?: string
|
|
15
|
+
iconColour?: string
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
export const ActionMenu: React.FC<ActionMenuProps> = ({ items, className = '' }) => {
|
|
18
|
+
export const ActionMenu: React.FC<ActionMenuProps> = ({ items, className = '', iconColour = '' }) => {
|
|
17
19
|
const [isOpen, setIsOpen] = useState(false)
|
|
18
20
|
const menuRef = useRef<HTMLDivElement>(null)
|
|
19
21
|
|
|
@@ -36,11 +38,12 @@ export const ActionMenu: React.FC<ActionMenuProps> = ({ items, className = '' })
|
|
|
36
38
|
return (
|
|
37
39
|
<div className={`action-menu ${className}`} ref={menuRef}>
|
|
38
40
|
<button
|
|
39
|
-
className=
|
|
41
|
+
className={`action-menu__trigger ${isOpen ? 'action-menu__trigger--close' : ''}`}
|
|
40
42
|
onClick={() => setIsOpen(!isOpen)}
|
|
41
43
|
aria-expanded={isOpen}
|
|
44
|
+
style={{ color: iconColour }}
|
|
42
45
|
>
|
|
43
|
-
<FaEllipsisH />
|
|
46
|
+
{isOpen ? <CloseIcon width={16} height={16} /> : <FaEllipsisH />}
|
|
44
47
|
</button>
|
|
45
48
|
|
|
46
49
|
{isOpen && (
|
|
@@ -2,14 +2,16 @@ import { ButtonHTMLAttributes } from 'react'
|
|
|
2
2
|
import './Button.scss'
|
|
3
3
|
|
|
4
4
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
-
variant?: 'primary' | 'primary-soft' | 'primary-outline' | 'secondary' | 'destructive-soft' | 'destructive-strong' | 'info' | 'disabled'
|
|
5
|
+
variant?: 'primary' | 'primary-soft' | 'secondary-soft' | 'tertiary-soft' | 'primary-outline' | 'secondary' | 'destructive-soft' | 'destructive-strong' | 'info' | 'disabled'
|
|
6
6
|
size?: 'sm' | 'md' | 'lg'
|
|
7
|
+
isLoading?: boolean
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export function Button({
|
|
10
11
|
variant = 'primary',
|
|
11
12
|
size = 'md',
|
|
12
13
|
disabled = false,
|
|
14
|
+
isLoading = false,
|
|
13
15
|
className = '',
|
|
14
16
|
children,
|
|
15
17
|
...props
|
|
@@ -17,7 +19,7 @@ export function Button({
|
|
|
17
19
|
const classes = [
|
|
18
20
|
'new-button',
|
|
19
21
|
`new-button--${variant}`,
|
|
20
|
-
disabled ? 'new-button--disabled' : '',
|
|
22
|
+
disabled || isLoading ? 'new-button--disabled' : '',
|
|
21
23
|
className
|
|
22
24
|
].filter(Boolean).join(' ')
|
|
23
25
|
|
|
@@ -28,9 +30,10 @@ export function Button({
|
|
|
28
30
|
return (
|
|
29
31
|
<button
|
|
30
32
|
className={classes}
|
|
31
|
-
disabled={disabled}
|
|
33
|
+
disabled={disabled || isLoading}
|
|
32
34
|
{...props}
|
|
33
35
|
>
|
|
36
|
+
{isLoading && <div className="new-button__spinner" />}
|
|
34
37
|
{content}
|
|
35
38
|
</button>
|
|
36
39
|
)
|
package/src/v2/components/Customer/{CustomerDetail/CustomerDetail.scss → CustomerDetail.scss}
RENAMED
|
@@ -199,13 +199,16 @@
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
&__badges-row {
|
|
202
|
-
flex-direction:
|
|
203
|
-
|
|
202
|
+
flex-direction: row;
|
|
203
|
+
justify-content: space-between;
|
|
204
|
+
align-items: center;
|
|
204
205
|
gap: 12px;
|
|
206
|
+
width: 100%;
|
|
205
207
|
}
|
|
206
208
|
|
|
207
209
|
&__badges {
|
|
208
210
|
flex-wrap: wrap;
|
|
211
|
+
flex: 1;
|
|
209
212
|
}
|
|
210
213
|
|
|
211
214
|
&__id-badge {
|
|
@@ -216,7 +219,8 @@
|
|
|
216
219
|
&__edit {
|
|
217
220
|
font-size: 13px;
|
|
218
221
|
padding: 6px 12px;
|
|
219
|
-
align-self:
|
|
222
|
+
align-self: center;
|
|
223
|
+
margin-left: auto;
|
|
220
224
|
}
|
|
221
225
|
|
|
222
226
|
&__grid {
|