allaw-ui 2.0.3 → 2.0.5
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/assets/allaw-font.eot +0 -0
- package/dist/assets/allaw-font.svg +10 -10
- package/dist/assets/allaw-font.ttf +0 -0
- package/dist/assets/allaw-font.woff +0 -0
- package/dist/components/atoms/buttons/PrimaryButton.css +18 -10
- package/dist/components/atoms/buttons/PrimaryButton.d.ts +1 -0
- package/dist/components/atoms/buttons/PrimaryButton.js +2 -2
- package/dist/components/atoms/buttons/PrimaryButton.stories.d.ts +18 -8
- package/dist/components/atoms/buttons/PrimaryButton.stories.js +17 -9
- package/dist/components/molecules/billingCount/BillingCount.css +52 -18
- package/dist/components/molecules/billingCount/BillingCount.d.ts +3 -1
- package/dist/components/molecules/billingCount/BillingCount.js +126 -54
- package/dist/components/molecules/stepper/ConfirmationModal.d.ts +14 -0
- package/dist/components/molecules/stepper/ConfirmationModal.js +21 -0
- package/dist/components/molecules/stepper/Stepper.css +72 -0
- package/dist/components/molecules/stepper/Stepper.d.ts +10 -0
- package/dist/components/molecules/stepper/Stepper.js +10 -6
- package/dist/stories/Header.stories.d.ts +3 -3
- package/dist/styles/icons.css +29 -27
- package/package.json +1 -1
|
Binary file
|
|
@@ -104,18 +104,18 @@
|
|
|
104
104
|
<glyph unicode="" glyph-name="apple" data-tags="apple" d="M798.293 128c-35.413-52.907-72.96-104.533-130.133-105.387-57.173-1.28-75.52 33.707-140.373 33.707-65.28 0-85.333-32.853-139.521-34.987-55.893-2.133-98.133 56.32-133.973 107.947-72.96 105.387-128.853 299.52-53.76 430.080 37.12 64.853 103.68 105.813 175.787 107.093 54.615 0.853 106.668-37.12 140.375-37.12 33.28 0 96.427 45.653 162.56 38.827 27.733-1.28 105.387-11.093 155.307-84.48-3.84-2.56-92.587-54.613-91.733-162.56 1.28-128.853 113.067-171.947 114.347-172.373-1.28-2.987-17.92-61.44-58.88-120.747zM554.667 810.667c31.147 35.413 82.773 62.293 125.44 64 5.547-49.92-14.507-100.267-44.373-136.107-29.44-36.267-78.080-64.427-125.867-60.587-6.4 49.067 17.493 100.267 44.8 132.693z" />
|
|
105
105
|
<glyph unicode="" glyph-name="linkedin" data-tags="linkedin" d="M1024-64h-204.8v358.349c0 98.304-43.366 153.139-121.139 153.139-84.634 0-134.861-57.139-134.861-153.139v-358.349h-204.8v665.6h204.8v-74.854c0 0 64.256 112.742 209.050 112.742 144.845 0 251.75-88.371 251.75-271.258v-432.23zM125.030 708.045c-69.069 0-125.030 56.422-125.030 126.003 0 69.53 55.962 125.952 125.030 125.952 69.018 0 124.979-56.422 124.979-125.952 0.051-69.581-55.962-126.003-124.979-126.003v0zM0-64h256v665.6h-256v-665.6z" />
|
|
106
106
|
<glyph unicode="" glyph-name="microsoft-outlook" data-tags="microsoft-outlook" d="M1024 644.821v-447.061c0-9.813-3.413-18.091-10.155-24.576-6.741-6.571-15.019-9.813-24.747-9.813h-364.672v296.917l68.267-52.437c4.352-3.627 9.771-5.376 16.171-5.376 6.315 0 11.819 1.749 16.597 5.419zM624.427 731.051h364.672c9.003 0 16.768-2.688 23.168-8.192 6.4-5.461 9.984-12.8 10.581-21.76l-314.411-250.709-84.011 66.091zM571.904 923.136v-950.229l-571.904 98.816v749.867l571.989 101.547zM399.147 446.123c-0.853 48.341-13.355 88.405-37.504 120.064-23.68 31.573-54.4 48.256-90.923 49.664-35.157-1.408-65.237-18.048-89.6-49.664-24.32-31.659-36.48-71.765-37.12-120.064 0.64-47.659 13.44-87.339 37.76-119.083 24.363-31.573 54.357-48.341 89.643-50.176 36.48 1.493 67.157 18.091 91.52 49.92 24.32 31.915 37.12 71.68 37.76 119.339zM266.027 552.021c18.389-0.853 33.877-10.923 46.208-30.592 12.16-19.669 18.56-44.587 18.56-74.752 0-30.763-6.357-55.765-18.56-75.563-12.843-19.797-28.16-30.037-46.763-30.037s-33.92 9.643-46.72 29.44-18.56 44.8-18.56 74.837c0 30.080 5.76 55.083 18.56 74.24 12.117 19.2 27.563 29.44 46.123 30.763z" />
|
|
107
|
-
<glyph unicode="" d="
|
|
108
|
-
<glyph unicode="" d="
|
|
109
|
-
<glyph unicode="" glyph-name="
|
|
110
|
-
<glyph unicode="" d="
|
|
111
|
-
<glyph unicode="" d="
|
|
112
|
-
<glyph unicode="" d="
|
|
113
|
-
<glyph unicode="" d="
|
|
114
|
-
<glyph unicode="" d="
|
|
115
|
-
<glyph unicode="" d="
|
|
107
|
+
<glyph unicode="" d="M781.474 717.474h-538.947v-538.947h538.947z" />
|
|
108
|
+
<glyph unicode="" d="M781.474-64l242.526 242.526-121.263 20.69-121.263-20.69-22.133-110.918z" />
|
|
109
|
+
<glyph unicode="" glyph-name="play" data-tags="play" horiz-adv-x="877" d="M94.48-63.141c-32.274 5.287-63.377 26.516-79.643 54.361-6.986 11.959-12.17 28.677-13.919 44.888-1.224 11.345-1.224 812.334 0 823.68 3.044 28.221 13.476 49.939 32.911 68.519 34.712 33.184 82.082 40.948 123.653 20.265 10.169-5.059 666.111-405.913 674.048-411.918 26.288-19.891 41.424-46.683 45.222-80.048 2.187-19.213-3.817-46.177-14.211-63.816-7.59-12.88-18.692-25.036-30.619-33.527-9.888-7.039-665.618-407.55-674.44-411.939-8.208-4.084-18.146-7.57-27.483-9.641-8.259-1.832-26.744-2.261-35.519-0.823z" />
|
|
110
|
+
<glyph unicode="" d="M0 178.526v-161.684c0-44.665 36.177-80.842 80.842-80.842h161.684l24.901 121.263-24.901 121.263-132.13 20.69-110.397-20.69z" />
|
|
111
|
+
<glyph unicode="" d="M1024 717.474v161.684c0 44.665-36.177 80.842-80.842 80.842h-161.684c-14.755-60.143-22.133-104.404-22.133-132.783s7.378-64.96 22.133-109.743c53.638-15.36 94.059-23.039 121.263-23.039s67.625 7.68 121.263 23.039z" />
|
|
112
|
+
<glyph unicode="" d="M1024 717.474h-242.526v-538.947h242.526z" />
|
|
113
|
+
<glyph unicode="" d="M781.474 178.526h-538.947v-242.526h538.947z" />
|
|
114
|
+
<glyph unicode="" d="M781.474 960h-700.632c-44.665 0-80.842-36.177-80.842-80.842v-700.632h242.526v538.947h538.947v242.526z" />
|
|
115
|
+
<glyph unicode="" d="M353.078 299.385c-20.143 13.608-34.088 33.482-41.701 59.756l46.754 19.267c4.244-16.168 11.655-28.699 22.232-37.592 10.509-8.893 23.309-13.272 38.265-13.272 15.293 0 28.429 4.648 39.411 13.945s16.505 21.154 16.505 35.503c0 14.686-5.794 26.678-17.381 35.975s-26.139 13.945-43.52 13.945h-27.015v46.282h24.253c14.956 0 27.554 4.042 37.794 12.126s15.36 19.133 15.36 33.213c0 12.531-4.581 22.501-13.743 29.979s-20.749 11.251-34.829 11.251c-13.743 0-24.657-3.638-32.741-10.981-8.079-7.363-14.153-16.659-17.651-27.015l-46.282 19.267c6.131 17.381 17.381 32.741 33.886 46.013s37.592 19.941 63.192 19.941c18.931 0 35.975-3.638 51.065-10.981s26.947-17.516 35.503-30.451c8.556-13.002 12.8-27.554 12.8-43.722 0-16.505-3.975-30.451-11.924-41.903s-17.718-20.211-29.305-26.341v-2.762c14.962-6.169 27.959-16.3 37.592-29.305 9.768-13.137 14.686-28.834 14.686-47.158s-4.648-34.695-13.945-49.044c-9.297-14.349-22.164-25.667-38.467-33.886-16.371-8.219-34.762-12.396-55.175-12.396-23.646-0.067-45.474 6.737-65.617 20.346v0zM640.269 531.402l-51.335-37.12-25.667 38.939 92.093 66.425h35.301v-313.331h-50.392v245.086z" />
|
|
116
116
|
<glyph unicode="" d="M48.762 911.238h438.857v-438.857h-438.857v438.857z" />
|
|
117
117
|
<glyph unicode="" d="M48.762 423.619h438.857v-438.857h-438.857v438.857z" />
|
|
118
118
|
<glyph unicode="" d="M536.381 911.238h438.857v-438.857h-438.857v438.857z" />
|
|
119
119
|
<glyph unicode="" d="M536.381 423.619h438.857v-438.857h-438.857v438.857z" />
|
|
120
|
-
<glyph unicode="" d="
|
|
120
|
+
<glyph unicode="" glyph-name="pause" data-tags="pause" horiz-adv-x="852" d="M120.549-63.781c-30.987 2.728-62.772 16.694-83.089 36.51-7.98 7.784-19.121 23.746-24.747 35.459-3.943 8.209-8.485 22.227-10.946 33.781-1.689 7.93-1.767 25.902-1.767 406.061v397.764l2.163 9.978c4.328 19.965 9.62 32.571 20.789 49.516 18.252 27.694 46.525 45.229 85.396 52.962 7.789 1.55 14.76 1.748 61.495 1.748 57.274 0 58.175-0.068 78.959-5.953 18.476-5.232 40.961-18.214 53.822-31.074 7.785-7.785 19.009-23.971 24.34-35.099 4.383-9.149 7.906-19.859 10.559-32.1l2.163-9.978v-397.764c0-380.159-0.078-398.132-1.767-406.061-2.461-11.554-7.003-25.572-10.946-33.781-5.626-11.713-16.767-27.675-24.747-35.459-12.784-12.468-34.44-25.149-51.73-30.29-20.106-5.978-21.889-6.128-75.772-6.377-27.38-0.127-51.758-0.056-54.174 0.156zM633.006-63.781c-30.987 2.728-62.772 16.694-83.089 36.51-7.98 7.784-19.121 23.746-24.747 35.459-3.943 8.209-8.485 22.227-10.946 33.781-1.689 7.93-1.767 25.902-1.767 406.061v397.764l2.163 9.978c4.328 19.965 9.621 32.571 20.789 49.516 18.252 27.694 46.525 45.229 85.396 52.962 7.789 1.55 14.76 1.748 61.495 1.748 57.274 0 58.175-0.068 78.959-5.953 18.476-5.232 40.961-18.214 53.822-31.074 7.785-7.785 19.009-23.971 24.34-35.099 4.383-9.149 7.906-19.859 10.559-32.1l2.163-9.978v-397.764c0-380.159-0.078-398.132-1.767-406.061-2.461-11.554-7.003-25.572-10.946-33.781-5.626-11.713-16.767-27.675-24.747-35.459-12.784-12.468-34.441-25.149-51.73-30.29-20.106-5.978-21.889-6.128-75.772-6.377-27.38-0.127-51.758-0.056-54.174 0.156z" />
|
|
121
121
|
</font></defs></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -7,9 +7,7 @@
|
|
|
7
7
|
height: 42px;
|
|
8
8
|
padding: 1rem 1.3rem;
|
|
9
9
|
border-radius: 24px;
|
|
10
|
-
transition:
|
|
11
|
-
background-color 0.2s,
|
|
12
|
-
opacity 0.2s;
|
|
10
|
+
transition: background-color 0.2s, opacity 0.2s;
|
|
13
11
|
border: 0px;
|
|
14
12
|
cursor: pointer;
|
|
15
13
|
text-wrap: nowrap;
|
|
@@ -62,6 +60,23 @@
|
|
|
62
60
|
pointer-events: none;
|
|
63
61
|
}
|
|
64
62
|
|
|
63
|
+
.primary-button-loading-dots {
|
|
64
|
+
width: 1.25rem;
|
|
65
|
+
display: inline-block;
|
|
66
|
+
text-align: left;
|
|
67
|
+
font-size: 0.9rem;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.primary-button-warning {
|
|
71
|
+
background: var(--red-tag-dark, #e15151);
|
|
72
|
+
color: var(--pure-white, #fff);
|
|
73
|
+
border: none;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.primary-button-warning:hover {
|
|
77
|
+
background: #c14040;
|
|
78
|
+
}
|
|
79
|
+
|
|
65
80
|
@keyframes pulse-background {
|
|
66
81
|
0% {
|
|
67
82
|
background-color: #171e25;
|
|
@@ -73,10 +88,3 @@
|
|
|
73
88
|
background-color: #1985e8;
|
|
74
89
|
}
|
|
75
90
|
}
|
|
76
|
-
|
|
77
|
-
.primary-button-loading-dots {
|
|
78
|
-
width: 1.25rem;
|
|
79
|
-
display: inline-block;
|
|
80
|
-
text-align: left;
|
|
81
|
-
font-size: 0.9rem;
|
|
82
|
-
}
|
|
@@ -12,6 +12,7 @@ export interface PrimaryButtonProps extends ButtonHTMLAttributes<HTMLButtonEleme
|
|
|
12
12
|
fullWidth?: boolean;
|
|
13
13
|
type?: "button" | "submit" | "reset";
|
|
14
14
|
isLoading?: boolean;
|
|
15
|
+
variant?: "default" | "warning";
|
|
15
16
|
}
|
|
16
17
|
declare const PrimaryButton: React.ForwardRefExoticComponent<PrimaryButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
17
18
|
export default PrimaryButton;
|
|
@@ -61,7 +61,7 @@ import React, { forwardRef, useImperativeHandle, useState, useEffect, } from "re
|
|
|
61
61
|
import "./PrimaryButton.css";
|
|
62
62
|
import "../../../styles/global.css";
|
|
63
63
|
var PrimaryButton = forwardRef(function (_a, ref) {
|
|
64
|
-
var startIcon = _a.startIcon, endIcon = _a.endIcon, startIconName = _a.startIconName, endIconName = _a.endIconName, label = _a.label, _b = _a.disabled, disabled = _b === void 0 ? false : _b, onClick = _a.onClick, _c = _a.fullWidth, fullWidth = _c === void 0 ? false : _c, _d = _a.type, type = _d === void 0 ? "button" : _d, _e = _a.isLoading, isLoading = _e === void 0 ? false : _e, props = __rest(_a, ["startIcon", "endIcon", "startIconName", "endIconName", "label", "disabled", "onClick", "fullWidth", "type", "isLoading"]);
|
|
64
|
+
var startIcon = _a.startIcon, endIcon = _a.endIcon, startIconName = _a.startIconName, endIconName = _a.endIconName, label = _a.label, _b = _a.disabled, disabled = _b === void 0 ? false : _b, onClick = _a.onClick, _c = _a.fullWidth, fullWidth = _c === void 0 ? false : _c, _d = _a.type, type = _d === void 0 ? "button" : _d, _e = _a.isLoading, isLoading = _e === void 0 ? false : _e, variant = _a.variant, props = __rest(_a, ["startIcon", "endIcon", "startIconName", "endIconName", "label", "disabled", "onClick", "fullWidth", "type", "isLoading", "variant"]);
|
|
65
65
|
var buttonRef = React.useRef(null);
|
|
66
66
|
var _f = useState(false), internalIsLoading = _f[0], setInternalIsLoading = _f[1];
|
|
67
67
|
var _g = useState(""), loadingDots = _g[0], setLoadingDots = _g[1];
|
|
@@ -108,7 +108,7 @@ var PrimaryButton = forwardRef(function (_a, ref) {
|
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
}); };
|
|
111
|
-
return (React.createElement("button", __assign({ ref: buttonRef, className: "primary-button ".concat(disabled ? "primary-button-disabled" : "primary-button-enabled", " ").concat(fullWidth ? "primary-button-full-width" : "", " ").concat(isButtonLoading ? "primary-button-loading" : ""), disabled: disabled, onClick: handleClick, type: type }, props),
|
|
111
|
+
return (React.createElement("button", __assign({ ref: buttonRef, className: "primary-button ".concat(disabled ? "primary-button-disabled" : "primary-button-enabled", " ").concat(fullWidth ? "primary-button-full-width" : "", " ").concat(isButtonLoading ? "primary-button-loading" : "").concat(variant === "warning" ? "primary-button-warning" : ""), disabled: disabled, onClick: handleClick, type: type }, props),
|
|
112
112
|
startIcon && (React.createElement("span", { className: "primary-button-icon ".concat(startIconName) })),
|
|
113
113
|
React.createElement("span", { className: "primary-button-label" }, label),
|
|
114
114
|
isButtonLoading ? (React.createElement("span", { className: "primary-button-loading-dots" }, loadingDots)) : (endIcon && React.createElement("span", { className: "primary-button-icon ".concat(endIconName) }))));
|
|
@@ -61,15 +61,24 @@ declare namespace _default {
|
|
|
61
61
|
}
|
|
62
62
|
export { control_5 as control };
|
|
63
63
|
}
|
|
64
|
-
export namespace
|
|
65
|
-
namespace
|
|
66
|
-
let
|
|
67
|
-
export {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
value: string;
|
|
71
|
-
}[];
|
|
64
|
+
export namespace variant {
|
|
65
|
+
export namespace control_6 {
|
|
66
|
+
let type_7: string;
|
|
67
|
+
export { type_7 as type };
|
|
68
|
+
let options_1: string[];
|
|
69
|
+
export { options_1 as options };
|
|
72
70
|
}
|
|
71
|
+
export { control_6 as control };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export namespace parameters {
|
|
75
|
+
namespace backgrounds {
|
|
76
|
+
let _default: string;
|
|
77
|
+
export { _default as default };
|
|
78
|
+
export let values: {
|
|
79
|
+
name: string;
|
|
80
|
+
value: string;
|
|
81
|
+
}[];
|
|
73
82
|
}
|
|
74
83
|
}
|
|
75
84
|
}
|
|
@@ -83,4 +92,5 @@ export const Loading: any;
|
|
|
83
92
|
export const SubmitButton: any;
|
|
84
93
|
export const ResetButton: any;
|
|
85
94
|
export const AsyncButton: any;
|
|
95
|
+
export const WarningButton: any;
|
|
86
96
|
import PrimaryButton from "./PrimaryButton";
|
|
@@ -95,18 +95,24 @@ export default {
|
|
|
95
95
|
type: "boolean",
|
|
96
96
|
},
|
|
97
97
|
},
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
{ name: "light", value: "#ffffff" },
|
|
103
|
-
{ name: "grey", value: "#728ea7" },
|
|
104
|
-
{ name: "figma", value: "#404040" },
|
|
105
|
-
{ name: "dark", value: "#171e25" },
|
|
106
|
-
],
|
|
98
|
+
variant: {
|
|
99
|
+
control: {
|
|
100
|
+
type: "select",
|
|
101
|
+
options: ["default", "warning"],
|
|
107
102
|
},
|
|
108
103
|
},
|
|
109
104
|
},
|
|
105
|
+
parameters: {
|
|
106
|
+
backgrounds: {
|
|
107
|
+
default: "light",
|
|
108
|
+
values: [
|
|
109
|
+
{ name: "light", value: "#ffffff" },
|
|
110
|
+
{ name: "grey", value: "#728ea7" },
|
|
111
|
+
{ name: "figma", value: "#404040" },
|
|
112
|
+
{ name: "dark", value: "#171e25" },
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
110
116
|
};
|
|
111
117
|
var Template = function (args) { return React.createElement(PrimaryButton, __assign({}, args)); };
|
|
112
118
|
export var Default = Template.bind({});
|
|
@@ -145,3 +151,5 @@ AsyncButton.args = __assign(__assign({}, Default.args), { label: "Async Action",
|
|
|
145
151
|
}
|
|
146
152
|
});
|
|
147
153
|
}); } });
|
|
154
|
+
export var WarningButton = Template.bind({});
|
|
155
|
+
WarningButton.args = __assign(__assign({}, Default.args), { label: "Warning", variant: "warning" });
|
|
@@ -1,28 +1,62 @@
|
|
|
1
1
|
.billing-button-wrapper {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
padding: 0.5rem 1rem;
|
|
3
|
+
background-color: #f4f7fb;
|
|
4
|
+
border: 1px solid var(--primary-venom-grey, #e6edf5);
|
|
5
|
+
border-radius: 5px;
|
|
6
|
+
font-family: Inter;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: row;
|
|
9
|
+
gap: 0.5rem;
|
|
10
|
+
font-weight: 600;
|
|
11
|
+
color: black;
|
|
12
|
+
align-items: center;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
max-height: 38px;
|
|
15
|
+
transition: transform 0.2s ease-in-out;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
.billing-button-wrapper > i {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
color: #25beeb;
|
|
20
|
+
font-weight: 500;
|
|
21
|
+
font-size: 16px;
|
|
22
|
+
min-width: 16px;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
.billing-button-wrapper:active {
|
|
23
|
-
|
|
26
|
+
outline: 1px solid #25beeb;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.billing-time {
|
|
30
|
+
min-width: 70px;
|
|
31
|
+
text-align: center;
|
|
32
|
+
font-weight: 500;
|
|
33
|
+
font-variant-numeric: tabular-nums;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.icon-wrapper i {
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
align-items: center;
|
|
40
|
+
width: 100%;
|
|
41
|
+
height: 100%;
|
|
42
|
+
font-size: 14px;
|
|
43
|
+
color: #25beeb;
|
|
44
|
+
font-weight: 800;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@keyframes borderOpacity {
|
|
48
|
+
0% {
|
|
49
|
+
border-color: rgba(37, 190, 235, 0.16);
|
|
50
|
+
}
|
|
51
|
+
50% {
|
|
52
|
+
border-color: rgba(37, 190, 235, 1);
|
|
53
|
+
}
|
|
54
|
+
100% {
|
|
55
|
+
border-color: rgba(37, 190, 235, 0.16);
|
|
56
|
+
}
|
|
24
57
|
}
|
|
25
58
|
|
|
26
59
|
.isRunning {
|
|
27
|
-
|
|
28
|
-
|
|
60
|
+
border: 1px solid rgba(37, 190, 235, 0.2);
|
|
61
|
+
animation: borderOpacity 3s infinite ease-in-out;
|
|
62
|
+
}
|
|
@@ -3,6 +3,8 @@ import "./BillingCount.css";
|
|
|
3
3
|
export type BillingCountProps = {
|
|
4
4
|
onEnd: (time: number) => void;
|
|
5
5
|
setIsStarted?: (value: boolean) => void;
|
|
6
|
+
resetTimer?: boolean;
|
|
7
|
+
pauseTimer?: boolean;
|
|
6
8
|
};
|
|
7
|
-
declare
|
|
9
|
+
declare const BillingCount: ({ onEnd, setIsStarted, pauseTimer, resetTimer, }: BillingCountProps) => React.JSX.Element;
|
|
8
10
|
export default BillingCount;
|
|
@@ -1,75 +1,147 @@
|
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
|
1
|
+
import React, { useEffect, useState, useRef } from "react";
|
|
2
2
|
import { differenceInSeconds } from "date-fns";
|
|
3
3
|
import "./BillingCount.css";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
var LOCAL_STORAGE_KEYS = {
|
|
5
|
+
START_TIME: "startTimeBilling",
|
|
6
|
+
ELAPSED_TIME: "elapsedTime",
|
|
7
|
+
};
|
|
8
|
+
var BillingCount = function (_a) {
|
|
9
|
+
var onEnd = _a.onEnd, setIsStarted = _a.setIsStarted, pauseTimer = _a.pauseTimer, resetTimer = _a.resetTimer;
|
|
10
|
+
var _b = useState(0), time = _b[0], setTime = _b[1];
|
|
11
|
+
var _c = useState(false), isPaused = _c[0], setIsPaused = _c[1];
|
|
12
|
+
var _d = useState(false), isRunning = _d[0], setIsRunning = _d[1];
|
|
13
|
+
var intervalRef = useRef(null);
|
|
14
|
+
var startTimeRef = useRef(null);
|
|
15
|
+
var _e = useState(false), isInitialized = _e[0], setIsInitialized = _e[1];
|
|
9
16
|
useEffect(function () {
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
setIsInitialized(true);
|
|
18
|
+
}, []);
|
|
19
|
+
var updateElapsedTime = function (elapsedTime) {
|
|
20
|
+
localStorage.setItem(LOCAL_STORAGE_KEYS.ELAPSED_TIME, elapsedTime.toString());
|
|
21
|
+
};
|
|
22
|
+
var clearTimerData = function () {
|
|
23
|
+
localStorage.removeItem(LOCAL_STORAGE_KEYS.START_TIME);
|
|
24
|
+
localStorage.removeItem(LOCAL_STORAGE_KEYS.ELAPSED_TIME);
|
|
25
|
+
};
|
|
26
|
+
var getSavedElapsedTime = function () {
|
|
27
|
+
return parseInt(localStorage.getItem(LOCAL_STORAGE_KEYS.ELAPSED_TIME) || "0", 10);
|
|
28
|
+
};
|
|
29
|
+
var getCurrentElapsedTime = function () {
|
|
30
|
+
var savedStartTime = localStorage.getItem(LOCAL_STORAGE_KEYS.START_TIME);
|
|
12
31
|
if (savedStartTime) {
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
setTime(savedElapsedTime);
|
|
32
|
+
var startTime = new Date(savedStartTime);
|
|
33
|
+
var elapsedSinceStart = differenceInSeconds(new Date(), startTime);
|
|
34
|
+
return elapsedSinceStart + getSavedElapsedTime();
|
|
19
35
|
}
|
|
36
|
+
return getSavedElapsedTime();
|
|
37
|
+
};
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
setTime(getSavedElapsedTime());
|
|
20
40
|
}, []);
|
|
21
|
-
// Update the timer every second if started
|
|
22
41
|
useEffect(function () {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
42
|
+
if (!isInitialized)
|
|
43
|
+
return;
|
|
44
|
+
if (resetTimer) {
|
|
45
|
+
setTime(0);
|
|
46
|
+
setIsPaused(false);
|
|
47
|
+
setIsRunning(false);
|
|
48
|
+
clearTimerData();
|
|
49
|
+
if (intervalRef.current) {
|
|
50
|
+
clearInterval(intervalRef.current);
|
|
51
|
+
}
|
|
32
52
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
else if (pauseTimer) {
|
|
54
|
+
pauseTimerHandler();
|
|
55
|
+
}
|
|
56
|
+
else if (!pauseTimer && !isRunning && isPaused) {
|
|
57
|
+
startTimerHandler();
|
|
58
|
+
}
|
|
59
|
+
}, [resetTimer]);
|
|
60
|
+
useEffect(function () {
|
|
61
|
+
if (isRunning && !isPaused) {
|
|
62
|
+
startTimeRef.current = new Date();
|
|
63
|
+
intervalRef.current = setInterval(function () {
|
|
64
|
+
setTime(getCurrentElapsedTime());
|
|
65
|
+
}, 1000);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
if (intervalRef.current) {
|
|
69
|
+
clearInterval(intervalRef.current);
|
|
43
70
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
71
|
+
}
|
|
72
|
+
return function () {
|
|
73
|
+
if (intervalRef.current)
|
|
74
|
+
clearInterval(intervalRef.current);
|
|
75
|
+
};
|
|
76
|
+
}, [isRunning, isPaused]);
|
|
77
|
+
useEffect(function () {
|
|
78
|
+
if (!isInitialized)
|
|
79
|
+
return;
|
|
80
|
+
if (resetTimer) {
|
|
81
|
+
pauseTimerHandler();
|
|
82
|
+
}
|
|
83
|
+
else if (!pauseTimer && !resetTimer) {
|
|
84
|
+
startTimerHandler();
|
|
85
|
+
}
|
|
86
|
+
else if (pauseTimer) {
|
|
87
|
+
pauseTimerHandler();
|
|
88
|
+
}
|
|
89
|
+
}, [pauseTimer, resetTimer]);
|
|
90
|
+
useEffect(function () {
|
|
91
|
+
if (isRunning && !isPaused) {
|
|
92
|
+
intervalRef.current = setInterval(function () {
|
|
93
|
+
var elapsed = getCurrentElapsedTime();
|
|
94
|
+
setTime(elapsed);
|
|
95
|
+
updateElapsedTime(elapsed); // Mise à jour régulière du localStorage
|
|
96
|
+
}, 1000);
|
|
48
97
|
}
|
|
49
98
|
else {
|
|
50
|
-
|
|
99
|
+
if (intervalRef.current) {
|
|
100
|
+
clearInterval(intervalRef.current);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return function () {
|
|
104
|
+
if (intervalRef.current)
|
|
105
|
+
clearInterval(intervalRef.current);
|
|
106
|
+
};
|
|
107
|
+
}, [isRunning, isPaused]);
|
|
108
|
+
var startTimerHandler = function () {
|
|
109
|
+
if (!isRunning) {
|
|
110
|
+
localStorage.setItem(LOCAL_STORAGE_KEYS.START_TIME, new Date().toISOString());
|
|
111
|
+
setTime(getSavedElapsedTime());
|
|
112
|
+
setIsRunning(true);
|
|
51
113
|
setIsStarted && setIsStarted(true);
|
|
52
|
-
localStorage.setItem("startTimeBilling", new Date().toISOString());
|
|
53
|
-
setStarted(true);
|
|
54
114
|
}
|
|
55
115
|
};
|
|
56
|
-
|
|
116
|
+
var pauseTimerHandler = function () {
|
|
117
|
+
if (isRunning) {
|
|
118
|
+
var elapsed = getCurrentElapsedTime();
|
|
119
|
+
updateElapsedTime(elapsed);
|
|
120
|
+
setTime(elapsed);
|
|
121
|
+
setIsRunning(false);
|
|
122
|
+
setIsStarted && setIsStarted(false);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var handleButtonClick = function () {
|
|
126
|
+
if (!isRunning) {
|
|
127
|
+
startTimerHandler();
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
pauseTimerHandler();
|
|
131
|
+
onEnd(getCurrentElapsedTime());
|
|
132
|
+
}
|
|
133
|
+
};
|
|
57
134
|
var formatTime = function (seconds) {
|
|
58
135
|
var hrs = Math.floor(seconds / 3600);
|
|
59
136
|
var mins = Math.floor((seconds % 3600) / 60);
|
|
60
137
|
var secs = seconds % 60;
|
|
61
|
-
return "".concat(hrs.toString().padStart(2, "0"), ":").concat(mins
|
|
138
|
+
return "".concat(hrs.toString().padStart(2, "0"), ":").concat(mins
|
|
139
|
+
.toString()
|
|
140
|
+
.padStart(2, "0"), ":").concat(secs.toString().padStart(2, "0"));
|
|
62
141
|
};
|
|
63
|
-
return React.createElement("button", { onClick: handleButtonClick, className: "billing-button-wrapper ".concat(
|
|
142
|
+
return (React.createElement("button", { onClick: handleButtonClick, className: "billing-button-wrapper ".concat(isRunning ? "isRunning" : "") },
|
|
64
143
|
React.createElement("i", { className: "allaw-icon-clock" }),
|
|
65
|
-
formatTime(time),
|
|
66
|
-
React.createElement("
|
|
67
|
-
|
|
68
|
-
React.createElement("g", { id: "Dribbble-Light-Preview", transform: "translate(-347.000000, -3766.000000)", fill: "#25BEEB" },
|
|
69
|
-
React.createElement("g", { id: "icons", transform: "translate(56.000000, 160.000000)" },
|
|
70
|
-
React.createElement("path", { d: "M296.494737,3608.57322 L292.500752,3606.14219 C291.83208,3605.73542 291,3606.25002 291,3607.06891 L291,3611.93095 C291,3612.7509 291.83208,3613.26444 292.500752,3612.85767 L296.494737,3610.42771 C297.168421,3610.01774 297.168421,3608.98319 296.494737,3608.57322", id: "play-[#1003]" }))))));
|
|
71
|
-
}
|
|
144
|
+
React.createElement("span", { className: "billing-time" }, formatTime(time)),
|
|
145
|
+
React.createElement("i", { className: isRunning ? "allaw-icon-pause" : "allaw-icon-play", style: { fontSize: "12px", color: "#25BEEB", fontWeight: 800 } })));
|
|
146
|
+
};
|
|
72
147
|
export default BillingCount;
|
|
73
|
-
/*
|
|
74
|
-
|
|
75
|
-
*/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./Stepper.css";
|
|
3
|
+
interface ConfirmationModalProps {
|
|
4
|
+
show: boolean;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
confirmLabel: string;
|
|
8
|
+
cancelLabel: string;
|
|
9
|
+
onConfirm: () => void;
|
|
10
|
+
onCancel: () => void;
|
|
11
|
+
isDanger?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare const ConfirmationModal: React.FC<ConfirmationModalProps>;
|
|
14
|
+
export default ConfirmationModal;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./Stepper.css";
|
|
3
|
+
import PrimaryButton from "../../atoms/buttons/PrimaryButton";
|
|
4
|
+
import SecondaryButton from "../../atoms/buttons/SecondaryButton";
|
|
5
|
+
import Heading from "../../atoms/typography/Heading";
|
|
6
|
+
import Paragraph from "../../atoms/typography/Paragraph";
|
|
7
|
+
var ConfirmationModal = function (_a) {
|
|
8
|
+
var show = _a.show, title = _a.title, description = _a.description, confirmLabel = _a.confirmLabel, cancelLabel = _a.cancelLabel, onConfirm = _a.onConfirm, onCancel = _a.onCancel, _b = _a.isDanger, isDanger = _b === void 0 ? false : _b;
|
|
9
|
+
if (!show)
|
|
10
|
+
return null;
|
|
11
|
+
return (React.createElement("div", { className: "confirmation-modal" },
|
|
12
|
+
React.createElement("div", { className: "confirmation-modal-content" },
|
|
13
|
+
React.createElement("div", { className: "confirmation-modal-heading-wrapper" },
|
|
14
|
+
React.createElement(Heading, { text: title, variant: "h4", color: "noir", align: "left" })),
|
|
15
|
+
React.createElement("div", { className: "confirmation-modal-paragraph-wrapper" },
|
|
16
|
+
React.createElement(Paragraph, { text: description, variant: "medium", size: "default", className: "confirmation-modal-paragraph" })),
|
|
17
|
+
React.createElement("div", { className: "confirmation-modal-buttons" },
|
|
18
|
+
React.createElement(SecondaryButton, { label: cancelLabel, onClick: onCancel, startIconName: "allaw-icon-close", startIcon: true }),
|
|
19
|
+
React.createElement(PrimaryButton, { label: confirmLabel, variant: isDanger ? "warning" : "default", onClick: onConfirm, endIconName: "allaw-icon-check", endIcon: true })))));
|
|
20
|
+
};
|
|
21
|
+
export default ConfirmationModal;
|
|
@@ -103,3 +103,75 @@
|
|
|
103
103
|
border-bottom-right-radius: 0;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
+
|
|
107
|
+
.stepper-container.modal-active {
|
|
108
|
+
position: relative;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.stepper-container.modal-active::before {
|
|
112
|
+
content: "";
|
|
113
|
+
position: absolute;
|
|
114
|
+
top: 0;
|
|
115
|
+
left: 0;
|
|
116
|
+
width: 100%;
|
|
117
|
+
height: 100%;
|
|
118
|
+
background: rgba(0, 0, 0, 0.3);
|
|
119
|
+
filter: brightness(50%);
|
|
120
|
+
z-index: 1000;
|
|
121
|
+
pointer-events: none;
|
|
122
|
+
border-radius: 16px;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.confirmation-modal {
|
|
126
|
+
position: absolute;
|
|
127
|
+
inset: 0;
|
|
128
|
+
display: flex;
|
|
129
|
+
justify-content: center;
|
|
130
|
+
align-items: center;
|
|
131
|
+
z-index: 1100;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.confirmation-modal-content {
|
|
135
|
+
background: #fff;
|
|
136
|
+
border-radius: 16px;
|
|
137
|
+
padding: 2rem;
|
|
138
|
+
max-width: 400px;
|
|
139
|
+
width: 90%;
|
|
140
|
+
text-align: center;
|
|
141
|
+
animation: fadeIn 0.2s ease-out;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.confirmation-modal-heading-wrapper {
|
|
145
|
+
margin-bottom: 1.5rem;
|
|
146
|
+
display: flex;
|
|
147
|
+
justify-content: start;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.confirmation-modal-paragraph-wrapper {
|
|
151
|
+
margin-bottom: 2.5rem;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.confirmation-modal-paragraph {
|
|
155
|
+
text-align: left;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.confirmation-modal-buttons {
|
|
159
|
+
display: flex;
|
|
160
|
+
justify-content: space-between;
|
|
161
|
+
gap: 16px;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.confirmation-modal-buttons button {
|
|
165
|
+
flex: 1;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@keyframes fadeIn {
|
|
169
|
+
from {
|
|
170
|
+
opacity: 0;
|
|
171
|
+
transform: scale(0.9);
|
|
172
|
+
}
|
|
173
|
+
to {
|
|
174
|
+
opacity: 1;
|
|
175
|
+
transform: scale(1);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -30,6 +30,16 @@ export interface StepperProps {
|
|
|
30
30
|
showProgressBar?: boolean[];
|
|
31
31
|
onClose?: () => void;
|
|
32
32
|
validateStep?: (step: number) => boolean | Promise<boolean>;
|
|
33
|
+
confirmationModal?: {
|
|
34
|
+
show: boolean;
|
|
35
|
+
title: string;
|
|
36
|
+
description: string;
|
|
37
|
+
confirmLabel: string;
|
|
38
|
+
cancelLabel: string;
|
|
39
|
+
isDanger: boolean;
|
|
40
|
+
};
|
|
41
|
+
onModalConfirm?: () => void;
|
|
42
|
+
onModalCancel?: () => void;
|
|
33
43
|
}
|
|
34
44
|
declare const Stepper: React.FC<StepperProps>;
|
|
35
45
|
export default Stepper;
|
|
@@ -43,9 +43,11 @@ import "../../../styles/icons.css";
|
|
|
43
43
|
import ProgressBar from "../../atoms/progressBars/ProgressBar";
|
|
44
44
|
import PrimaryButton from "../../atoms/buttons/PrimaryButton";
|
|
45
45
|
import SecondaryButton from "../../atoms/buttons/SecondaryButton";
|
|
46
|
+
import ConfirmationModal from "./ConfirmationModal";
|
|
46
47
|
var Stepper = function (_a) {
|
|
47
|
-
var
|
|
48
|
-
var _g =
|
|
48
|
+
var _b, _c, _d, _e, _f;
|
|
49
|
+
var steps = _a.steps, currentStep = _a.currentStep, _g = _a.startIcon, startIcon = _g === void 0 ? [] : _g, _h = _a.endIcon, endIcon = _h === void 0 ? true : _h, children = _a.children, _j = _a.secondaryButton, secondaryButton = _j === void 0 ? [] : _j, _k = _a.primaryButton, primaryButton = _k === void 0 ? [] : _k, _l = _a.showProgressBar, showProgressBar = _l === void 0 ? [] : _l, onClose = _a.onClose, validateStep = _a.validateStep, confirmationModal = _a.confirmationModal, onModalCancel = _a.onModalCancel, onModalConfirm = _a.onModalConfirm;
|
|
50
|
+
var _m = useState(false), isVisible = _m[0], setIsVisible = _m[1];
|
|
49
51
|
var portalContainerRef = useRef(null);
|
|
50
52
|
var stepperContainerRef = useRef(null);
|
|
51
53
|
useEffect(function () {
|
|
@@ -93,19 +95,20 @@ var Stepper = function (_a) {
|
|
|
93
95
|
var currentShowProgressBar = showProgressBar[currentStep - 1] !== false;
|
|
94
96
|
var currentShowStartIcon = startIcon[currentStep - 1];
|
|
95
97
|
var handleClose = useCallback(function () {
|
|
96
|
-
setIsVisible(false);
|
|
97
98
|
if (onClose) {
|
|
98
99
|
onClose();
|
|
99
100
|
}
|
|
100
101
|
}, [onClose]);
|
|
101
102
|
var handleMouseDown = useCallback(function (e) {
|
|
103
|
+
var selectList = document.querySelector('[class*="selectList"]');
|
|
102
104
|
if (stepperContainerRef.current &&
|
|
103
|
-
!stepperContainerRef.current.contains(e.target)
|
|
105
|
+
!stepperContainerRef.current.contains(e.target) &&
|
|
106
|
+
!(selectList === null || selectList === void 0 ? void 0 : selectList.contains(e.target))) {
|
|
104
107
|
handleClose();
|
|
105
108
|
}
|
|
106
109
|
}, [handleClose]);
|
|
107
110
|
var stepperContent = (React.createElement("div", { className: "stepper-overlay ".concat(isVisible ? "visible" : ""), onMouseDown: handleMouseDown },
|
|
108
|
-
React.createElement("div", { className: "stepper-container", onClick: function (e) { return e.stopPropagation(); }, ref: stepperContainerRef },
|
|
111
|
+
React.createElement("div", { className: "stepper-container ".concat((confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.show) ? "modal-active" : ""), onClick: function (e) { return e.stopPropagation(); }, ref: stepperContainerRef },
|
|
109
112
|
React.createElement(ProgressBar, { steps: steps, currentStep: currentStep, startIcon: currentShowStartIcon, endIcon: endIcon, onStartIconClick: handlePrevious, onEndIconClick: handleClose, showProgressBar: currentShowProgressBar }),
|
|
110
113
|
React.createElement("div", { className: "stepper-content" }, children[currentStep - 1]),
|
|
111
114
|
React.createElement("div", { className: "stepper-buttons ".concat(!(currentSecondaryButton === null || currentSecondaryButton === void 0 ? void 0 : currentSecondaryButton.show) && !(currentPrimaryButton === null || currentPrimaryButton === void 0 ? void 0 : currentPrimaryButton.show)
|
|
@@ -114,7 +117,8 @@ var Stepper = function (_a) {
|
|
|
114
117
|
(currentSecondaryButton === null || currentSecondaryButton === void 0 ? void 0 : currentSecondaryButton.show) && (React.createElement("div", { className: "stepper-button-container secondary-button-container" },
|
|
115
118
|
React.createElement(SecondaryButton, { fullWidth: true, label: currentSecondaryButton.label, startIcon: currentSecondaryButton.startIconName ? true : undefined, endIcon: currentSecondaryButton.endIconName ? true : undefined, startIconName: currentSecondaryButton.startIconName, endIconName: currentSecondaryButton.endIconName, onClick: function () { var _a; return (_a = currentSecondaryButton.onSecondaryButtonClick) === null || _a === void 0 ? void 0 : _a.call(currentSecondaryButton, currentStep); } }))),
|
|
116
119
|
(currentPrimaryButton === null || currentPrimaryButton === void 0 ? void 0 : currentPrimaryButton.show) && (React.createElement("div", { className: "stepper-button-container primary-button-container" },
|
|
117
|
-
React.createElement(PrimaryButton, { fullWidth: true, label: currentPrimaryButton.label, startIcon: currentPrimaryButton.startIconName ? true : undefined, endIcon: currentPrimaryButton.endIconName ? true : undefined, startIconName: currentPrimaryButton.startIconName, endIconName: currentPrimaryButton.endIconName, disabled: currentPrimaryButton.disabled, onClick: handleNext }))))
|
|
120
|
+
React.createElement(PrimaryButton, { fullWidth: true, label: currentPrimaryButton.label, startIcon: currentPrimaryButton.startIconName ? true : undefined, endIcon: currentPrimaryButton.endIconName ? true : undefined, startIconName: currentPrimaryButton.startIconName, endIconName: currentPrimaryButton.endIconName, disabled: currentPrimaryButton.disabled, onClick: handleNext })))),
|
|
121
|
+
React.createElement(ConfirmationModal, { show: (_b = confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.show) !== null && _b !== void 0 ? _b : false, title: (_c = confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.title) !== null && _c !== void 0 ? _c : "Confirmation", description: (_d = confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.description) !== null && _d !== void 0 ? _d : "Voulez-vous continuer ?", confirmLabel: (_e = confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.confirmLabel) !== null && _e !== void 0 ? _e : "Confirmer", cancelLabel: (_f = confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.cancelLabel) !== null && _f !== void 0 ? _f : "Annuler", onConfirm: onModalConfirm !== null && onModalConfirm !== void 0 ? onModalConfirm : (function () { }), onCancel: onModalCancel !== null && onModalCancel !== void 0 ? onModalCancel : (function () { }), isDanger: confirmationModal === null || confirmationModal === void 0 ? void 0 : confirmationModal.isDanger }))));
|
|
118
122
|
return portalContainerRef.current && isVisible
|
|
119
123
|
? ReactDOM.createPortal(stepperContent, portalContainerRef.current)
|
|
120
124
|
: null;
|
|
@@ -7,9 +7,9 @@ declare const meta: {
|
|
|
7
7
|
layout: string;
|
|
8
8
|
};
|
|
9
9
|
args: {
|
|
10
|
-
onLogin: import("@vitest/spy").Mock<
|
|
11
|
-
onLogout: import("@vitest/spy").Mock<
|
|
12
|
-
onCreateAccount: import("@vitest/spy").Mock<
|
|
10
|
+
onLogin: import("@vitest/spy").Mock<[], void>;
|
|
11
|
+
onLogout: import("@vitest/spy").Mock<[], void>;
|
|
12
|
+
onCreateAccount: import("@vitest/spy").Mock<[], void>;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
export default meta;
|
package/dist/styles/icons.css
CHANGED
|
@@ -293,6 +293,25 @@ li {
|
|
|
293
293
|
content: "\e950";
|
|
294
294
|
color: #0072c6;
|
|
295
295
|
}
|
|
296
|
+
.allaw-icon-microsoft .path1:before {
|
|
297
|
+
content: "\e95a";
|
|
298
|
+
color: rgb(242, 80, 34);
|
|
299
|
+
}
|
|
300
|
+
.allaw-icon-microsoft .path2:before {
|
|
301
|
+
content: "\e95b";
|
|
302
|
+
margin-left: -1em;
|
|
303
|
+
color: rgb(0, 164, 239);
|
|
304
|
+
}
|
|
305
|
+
.allaw-icon-microsoft .path3:before {
|
|
306
|
+
content: "\e95c";
|
|
307
|
+
margin-left: -1em;
|
|
308
|
+
color: rgb(127, 186, 0);
|
|
309
|
+
}
|
|
310
|
+
.allaw-icon-microsoft .path4:before {
|
|
311
|
+
content: "\e95d";
|
|
312
|
+
margin-left: -1em;
|
|
313
|
+
color: rgb(255, 185, 0);
|
|
314
|
+
}
|
|
296
315
|
.allaw-icon-google-calendar .path1:before {
|
|
297
316
|
content: "\e951";
|
|
298
317
|
color: rgb(255, 255, 255);
|
|
@@ -300,22 +319,22 @@ li {
|
|
|
300
319
|
.allaw-icon-google-calendar .path2:before {
|
|
301
320
|
content: "\e952";
|
|
302
321
|
margin-left: -1em;
|
|
303
|
-
color: rgb(
|
|
322
|
+
color: rgb(234, 67, 53);
|
|
304
323
|
}
|
|
305
324
|
.allaw-icon-google-calendar .path3:before {
|
|
306
325
|
content: "\e954";
|
|
307
326
|
margin-left: -1em;
|
|
308
|
-
color: rgb(
|
|
327
|
+
color: rgb(24, 128, 56);
|
|
309
328
|
}
|
|
310
329
|
.allaw-icon-google-calendar .path4:before {
|
|
311
330
|
content: "\e955";
|
|
312
331
|
margin-left: -1em;
|
|
313
|
-
color: rgb(
|
|
332
|
+
color: rgb(25, 103, 210);
|
|
314
333
|
}
|
|
315
334
|
.allaw-icon-google-calendar .path5:before {
|
|
316
335
|
content: "\e956";
|
|
317
336
|
margin-left: -1em;
|
|
318
|
-
color: rgb(
|
|
337
|
+
color: rgb(251, 188, 4);
|
|
319
338
|
}
|
|
320
339
|
.allaw-icon-google-calendar .path6:before {
|
|
321
340
|
content: "\e957";
|
|
@@ -325,33 +344,16 @@ li {
|
|
|
325
344
|
.allaw-icon-google-calendar .path7:before {
|
|
326
345
|
content: "\e958";
|
|
327
346
|
margin-left: -1em;
|
|
328
|
-
color: rgb(
|
|
347
|
+
color: rgb(66, 133, 244);
|
|
329
348
|
}
|
|
330
349
|
.allaw-icon-google-calendar .path8:before {
|
|
331
350
|
content: "\e959";
|
|
332
351
|
margin-left: -1em;
|
|
333
|
-
color:
|
|
334
|
-
}
|
|
335
|
-
.allaw-icon-microsoft .path1:before {
|
|
336
|
-
content: "\e95a";
|
|
337
|
-
color: rgb(242, 80, 34);
|
|
338
|
-
}
|
|
339
|
-
.allaw-icon-microsoft .path2:before {
|
|
340
|
-
content: "\e95b";
|
|
341
|
-
margin-left: -1em;
|
|
342
|
-
color: rgb(0, 164, 239);
|
|
343
|
-
}
|
|
344
|
-
.allaw-icon-microsoft .path3:before {
|
|
345
|
-
content: "\e95c";
|
|
346
|
-
margin-left: -1em;
|
|
347
|
-
color: rgb(127, 186, 0);
|
|
348
|
-
}
|
|
349
|
-
.allaw-icon-microsoft .path4:before {
|
|
350
|
-
content: "\e95d";
|
|
351
|
-
margin-left: -1em;
|
|
352
|
-
color: rgb(255, 185, 0);
|
|
352
|
+
color: rgb(66, 133, 244);
|
|
353
353
|
}
|
|
354
|
-
.allaw-icon-
|
|
354
|
+
.allaw-icon-play:before {
|
|
355
355
|
content: "\e953";
|
|
356
|
-
|
|
356
|
+
}
|
|
357
|
+
.allaw-icon-pause:before {
|
|
358
|
+
content: "\e95e";
|
|
357
359
|
}
|