allaw-ui 0.1.42 → 0.1.43

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.
@@ -4,7 +4,8 @@ export type CaseLinkCardProps = {
4
4
  proName: string;
5
5
  caseName: string;
6
6
  createdDate: Date;
7
+ isLoading?: boolean;
7
8
  onCaseCardClick?: () => any;
8
9
  };
9
- declare function CaseLinkCard({ proName, caseName, createdDate, onCaseCardClick }: CaseLinkCardProps): React.JSX.Element;
10
+ declare function CaseLinkCard({ proName, caseName, createdDate, onCaseCardClick, isLoading }: CaseLinkCardProps): React.JSX.Element;
10
11
  export default CaseLinkCard;
@@ -1,8 +1,9 @@
1
1
  import React from "react";
2
2
  import "./CaseLinkCard.css";
3
3
  import { Paragraph, SmallTitle } from "../../atoms/typography";
4
+ import LoadingBox from "../loadingBox/LoadingBox";
4
5
  function CaseLinkCard(_a) {
5
- var proName = _a.proName, caseName = _a.caseName, createdDate = _a.createdDate, onCaseCardClick = _a.onCaseCardClick;
6
+ var proName = _a.proName, caseName = _a.caseName, createdDate = _a.createdDate, onCaseCardClick = _a.onCaseCardClick, _b = _a.isLoading, isLoading = _b === void 0 ? false : _b;
6
7
  var formatDate = function (date) {
7
8
  return date.toLocaleDateString("fr-FR", {
8
9
  day: "2-digit",
@@ -13,7 +14,7 @@ function CaseLinkCard(_a) {
13
14
  var formatProName = function (name) {
14
15
  return "Ma\u00EEtre ".concat(name).toUpperCase();
15
16
  };
16
- return React.createElement("div", { className: "case-card-link", onClick: function () { return onCaseCardClick && onCaseCardClick(); }, style: { cursor: onCaseCardClick ? "pointer" : "default" } },
17
+ return !isLoading ? React.createElement("div", { className: "case-card-link", onClick: function () { return onCaseCardClick && onCaseCardClick(); }, style: { cursor: onCaseCardClick ? "pointer" : "default" } },
17
18
  React.createElement("div", { className: "case-card-link-folder-icon" },
18
19
  React.createElement("i", { className: "allaw-icon-folder", style: { fontSize: "20px" } })),
19
20
  React.createElement("div", { className: "case-card-link-right" },
@@ -24,6 +25,6 @@ function CaseLinkCard(_a) {
24
25
  React.createElement("div", { className: "case-card-link-info-col" },
25
26
  React.createElement(Paragraph, { variant: "bold", size: "default", text: caseName, maxLines: 1 }),
26
27
  React.createElement(SmallTitle, { variant: "medium12", color: "mid-grey", text: formatProName(proName) })),
27
- React.createElement("i", { className: "allaw-icon-arrow-right" }))));
28
+ React.createElement("i", { className: "allaw-icon-arrow-right" })))) : React.createElement(LoadingBox, { boxHeigth: "100px", boxRadius: "8px", boxWidth: "100%" });
28
29
  }
29
30
  export default CaseLinkCard;
@@ -5,8 +5,9 @@ export type ClientLinkCardProps = {
5
5
  clientFirstName: string;
6
6
  clientName: string;
7
7
  clientMail: string;
8
+ isLoading?: boolean;
8
9
  company?: string;
9
10
  onClientCardClick?: () => any;
10
11
  };
11
- declare function ClientLinkCard({ clientFirstName, clientName, clientMail, company, onClientCardClick }: ClientLinkCardProps): React.JSX.Element;
12
+ declare function ClientLinkCard({ clientFirstName, isLoading, clientName, clientMail, company, onClientCardClick }: ClientLinkCardProps): React.JSX.Element;
12
13
  export default ClientLinkCard;
@@ -2,14 +2,15 @@ import React from "react";
2
2
  import { Paragraph, SmallTitle } from "../../atoms/typography";
3
3
  import "./ClientLinkCard.css";
4
4
  import "../../../styles/icons.css";
5
+ import LoadingBox from "../loadingBox/LoadingBox";
5
6
  function ClientLinkCard(_a) {
6
- var clientFirstName = _a.clientFirstName, clientName = _a.clientName, clientMail = _a.clientMail, company = _a.company, onClientCardClick = _a.onClientCardClick;
7
- return React.createElement("div", { className: "client-link-card", style: { cursor: onClientCardClick ? "pointer" : "default" }, onClick: function () { return onClientCardClick && onClientCardClick(); } },
7
+ var clientFirstName = _a.clientFirstName, isLoading = _a.isLoading, clientName = _a.clientName, clientMail = _a.clientMail, company = _a.company, onClientCardClick = _a.onClientCardClick;
8
+ return !isLoading ? React.createElement("div", { className: "client-link-card", style: { cursor: onClientCardClick ? "pointer" : "default" }, onClick: function () { return onClientCardClick && onClientCardClick(); } },
8
9
  React.createElement("div", { className: "client-link-card-left" },
9
10
  React.createElement(Paragraph, { variant: "semiBold", text: "".concat(clientFirstName, " ").concat(clientName === null || clientName === void 0 ? void 0 : clientName.toUpperCase()), size: "default", maxLines: 1, color: "noir" }),
10
11
  React.createElement(SmallTitle, { variant: "medium12", color: "mid-grey", text: clientMail === null || clientMail === void 0 ? void 0 : clientMail.toLowerCase() })),
11
12
  React.createElement("div", { className: "client-link-card-right" },
12
13
  company && React.createElement("span", { className: "client-link-card-office-tag" }, company),
13
- React.createElement("i", { className: "allaw-icon-arrow-right" })));
14
+ React.createElement("i", { className: "allaw-icon-arrow-right" }))) : React.createElement(LoadingBox, { boxHeigth: "91px", boxRadius: "16px", boxWidth: "100%" });
14
15
  }
15
16
  export default ClientLinkCard;
@@ -0,0 +1,13 @@
1
+ .loading-box {
2
+ animation: skeleton-loading 1s linear infinite alternate;
3
+ }
4
+
5
+ @keyframes skeleton-loading {
6
+ 0% {
7
+ background-color: hsl(200, 20%, 80%);
8
+ }
9
+ 100% {
10
+ background-color: hsl(200, 20%, 95%);
11
+ }
12
+ }
13
+
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import "./LoadingBox.css";
3
+ type Props = {
4
+ boxHeigth: string;
5
+ boxWidth: string;
6
+ boxRadius: string;
7
+ };
8
+ declare function LoadingBox({ boxHeigth, boxWidth, boxRadius }: Props): React.JSX.Element;
9
+ export default LoadingBox;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import "./LoadingBox.css";
3
+ function LoadingBox(_a) {
4
+ var boxHeigth = _a.boxHeigth, boxWidth = _a.boxWidth, boxRadius = _a.boxRadius;
5
+ return React.createElement("div", { className: "loading-box", style: { minHeight: boxHeigth, minWidth: boxWidth, borderRadius: boxRadius } });
6
+ }
7
+ export default LoadingBox;
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allaw-ui",
3
- "version": "0.1.42",
3
+ "version": "0.1.43",
4
4
  "description": "Composants UI pour l'application Allaw",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",