allaw-ui 0.0.305 → 0.0.307

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,6 +4,8 @@ export interface ParagraphProps {
4
4
  variant: "bold" | "semiBold" | "medium";
5
5
  color?: "bleu-allaw" | "mid-grey" | "dark-grey" | "noir" | "pure-white";
6
6
  text: string;
7
+ maxLines?: number;
8
+ maxChars?: number;
7
9
  }
8
10
  declare const Paragraph: React.FC<ParagraphProps>;
9
11
  export default Paragraph;
@@ -1,7 +1,22 @@
1
1
  import React from "react";
2
2
  import "./Paragraph.css";
3
3
  var Paragraph = function (_a) {
4
- var variant = _a.variant, color = _a.color, text = _a.text;
5
- return (React.createElement("p", { className: "paragraph ".concat(variant, " ").concat(color ? "color-".concat(color) : ""), dangerouslySetInnerHTML: { __html: text } }));
4
+ var variant = _a.variant, color = _a.color, text = _a.text, maxLines = _a.maxLines, maxChars = _a.maxChars;
5
+ // Fonction pour tronquer le texte en fonction du nombre maximum de caractères
6
+ var truncateText = function (text, maxChars) {
7
+ if (text.length <= maxChars)
8
+ return text;
9
+ return text.slice(0, maxChars) + "...";
10
+ };
11
+ // Tronquer le texte si maxChars est défini
12
+ var truncatedText = maxChars ? truncateText(text, maxChars) : text;
13
+ return (React.createElement("p", { className: "paragraph ".concat(variant, " ").concat(color ? "color-".concat(color) : ""), style: maxLines
14
+ ? {
15
+ WebkitLineClamp: maxLines,
16
+ display: "-webkit-box",
17
+ WebkitBoxOrient: "vertical",
18
+ overflow: "hidden",
19
+ }
20
+ : {}, dangerouslySetInnerHTML: { __html: truncatedText } }));
6
21
  };
7
22
  export default Paragraph;
@@ -0,0 +1,32 @@
1
+ .breadcrumb {
2
+ font-family: "Open Sans", sans-serif;
3
+ line-height: 1;
4
+ }
5
+
6
+ .breadcrumb-link {
7
+ text-decoration: none;
8
+ vertical-align: middle;
9
+ display: inline-block;
10
+ }
11
+
12
+ .breadcrumb-separator {
13
+ color: var(--mid-grey);
14
+ font-size: 12px;
15
+ margin: 0 0.625rem;
16
+ vertical-align: middle;
17
+ display: inline-block;
18
+ }
19
+
20
+ .breadcrumb-separator i {
21
+ vertical-align: middle;
22
+ line-height: 1;
23
+ }
24
+
25
+ .breadcrumb-link:last-child {
26
+ pointer-events: none;
27
+ }
28
+
29
+ .breadcrumb-link .tiny-info {
30
+ vertical-align: middle;
31
+ display: inline-block;
32
+ }
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import "./Breadcrumb.css";
3
+ export interface BreadcrumbItem {
4
+ key: number;
5
+ label: string;
6
+ link: string;
7
+ }
8
+ export interface BreadcrumbProps {
9
+ items: BreadcrumbItem[];
10
+ }
11
+ declare const Breadcrumb: React.FC<BreadcrumbProps>;
12
+ export default Breadcrumb;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import "./Breadcrumb.css";
3
+ import TinyInfo from "../../atoms/typography/TinyInfo";
4
+ var Breadcrumb = function (_a) {
5
+ var items = _a.items;
6
+ return (React.createElement("nav", { className: "breadcrumb" }, items.map(function (item, index) { return (React.createElement(React.Fragment, { key: item.key },
7
+ index > 0 && (React.createElement("span", { className: "breadcrumb-separator" },
8
+ React.createElement("i", { className: "allaw-icon-chevron-right" }))),
9
+ React.createElement("a", { href: item.link, className: "breadcrumb-link" },
10
+ React.createElement(TinyInfo, { variant: "medium14", color: index === items.length - 1 ? "dark-grey" : "mid-grey", text: item.label })))); })));
11
+ };
12
+ export default Breadcrumb;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allaw-ui",
3
- "version": "0.0.305",
3
+ "version": "0.0.307",
4
4
  "description": "Composants UI pour l'application Allaw",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",