allaw-ui 0.0.19 → 0.0.294

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 (166) hide show
  1. package/README.md +30 -10
  2. package/dist/app/globals.css +5 -0
  3. package/dist/components/atoms/buttons/ActionCircleButton.css +143 -0
  4. package/dist/components/atoms/buttons/ActionCircleButton.d.ts +9 -0
  5. package/dist/components/atoms/buttons/ActionCircleButton.js +23 -0
  6. package/dist/components/atoms/buttons/AgendaSlot.css +116 -0
  7. package/dist/components/atoms/buttons/AgendaSlot.d.ts +10 -0
  8. package/dist/components/atoms/buttons/AgendaSlot.js +7 -0
  9. package/dist/components/atoms/buttons/FavoriteToggle.css +35 -0
  10. package/dist/components/atoms/buttons/FavoriteToggle.d.ts +8 -0
  11. package/dist/components/atoms/buttons/FavoriteToggle.js +11 -0
  12. package/dist/components/atoms/buttons/FilterButton.css +55 -0
  13. package/dist/components/atoms/buttons/FilterButton.d.ts +9 -0
  14. package/dist/components/atoms/buttons/FilterButton.js +9 -0
  15. package/dist/components/atoms/buttons/GhostButton.css +63 -0
  16. package/dist/components/atoms/buttons/GhostButton.d.ts +14 -0
  17. package/dist/components/atoms/buttons/GhostButton.js +11 -0
  18. package/dist/components/atoms/buttons/IconButton.css +111 -0
  19. package/dist/components/atoms/buttons/IconButton.d.ts +10 -0
  20. package/dist/components/atoms/buttons/IconButton.js +14 -0
  21. package/dist/components/atoms/buttons/PendingDocuments.css +53 -0
  22. package/dist/components/atoms/buttons/PendingDocuments.d.ts +10 -0
  23. package/dist/components/atoms/buttons/PendingDocuments.js +13 -0
  24. package/dist/components/{buttons/ButtonPrimary.css → atoms/buttons/PrimaryButton.css} +14 -10
  25. package/dist/components/atoms/buttons/PrimaryButton.d.ts +16 -0
  26. package/dist/components/atoms/buttons/PrimaryButton.js +11 -0
  27. package/dist/components/atoms/buttons/SecondaryButton.css +123 -0
  28. package/dist/components/atoms/buttons/SecondaryButton.d.ts +15 -0
  29. package/dist/components/atoms/buttons/SecondaryButton.js +11 -0
  30. package/dist/components/atoms/buttons/TabNavigation.css +43 -0
  31. package/dist/components/atoms/buttons/TabNavigation.d.ts +13 -0
  32. package/dist/components/atoms/buttons/TabNavigation.js +10 -0
  33. package/dist/components/atoms/buttons/TertiaryButton.css +63 -0
  34. package/dist/components/atoms/buttons/TertiaryButton.d.ts +10 -0
  35. package/dist/components/atoms/buttons/TertiaryButton.js +10 -0
  36. package/dist/components/atoms/buttons/index.d.ts +18 -0
  37. package/dist/components/atoms/buttons/index.js +9 -0
  38. package/dist/components/atoms/checkboxes/Checkbox.css +50 -0
  39. package/dist/components/atoms/checkboxes/Checkbox.d.ts +10 -0
  40. package/dist/components/atoms/checkboxes/Checkbox.js +19 -0
  41. package/dist/components/atoms/checkboxes/index.d.ts +2 -0
  42. package/dist/components/atoms/checkboxes/index.js +1 -0
  43. package/dist/components/atoms/inputs/Input.css +185 -0
  44. package/dist/components/atoms/inputs/Input.d.ts +22 -0
  45. package/dist/components/atoms/inputs/Input.js +86 -0
  46. package/dist/components/atoms/inputs/SearchBar.css +54 -0
  47. package/dist/components/atoms/inputs/SearchBar.d.ts +12 -0
  48. package/dist/components/atoms/inputs/SearchBar.js +20 -0
  49. package/dist/components/atoms/inputs/index.d.ts +4 -0
  50. package/dist/components/atoms/inputs/index.js +2 -0
  51. package/dist/components/atoms/progressBars/ProgressBar.css +109 -0
  52. package/dist/components/atoms/progressBars/ProgressBar.d.ts +15 -0
  53. package/dist/components/atoms/progressBars/ProgressBar.js +17 -0
  54. package/dist/components/atoms/progressBars/index.d.ts +2 -0
  55. package/dist/components/atoms/progressBars/index.js +1 -0
  56. package/dist/components/atoms/radios/RadioButton.css +98 -0
  57. package/dist/components/atoms/radios/RadioButton.d.ts +11 -0
  58. package/dist/components/atoms/radios/RadioButton.js +10 -0
  59. package/dist/components/atoms/radios/index.d.ts +2 -0
  60. package/dist/components/atoms/radios/index.js +1 -0
  61. package/dist/components/atoms/selects/Select.css +103 -0
  62. package/dist/components/atoms/selects/Select.d.ts +22 -0
  63. package/dist/components/atoms/selects/Select.js +86 -0
  64. package/dist/components/atoms/selects/index.d.ts +2 -0
  65. package/dist/components/atoms/selects/index.js +1 -0
  66. package/dist/components/atoms/tags/AppointementStatusTag.css +113 -13
  67. package/dist/components/atoms/tags/AppointementStatusTag.d.ts +1 -1
  68. package/dist/components/atoms/tags/FolderStatusTag.css +26 -0
  69. package/dist/components/atoms/tags/FolderStatusTag.d.ts +7 -0
  70. package/dist/components/atoms/tags/FolderStatusTag.js +8 -0
  71. package/dist/components/atoms/tags/OtherStatusTag.css +72 -0
  72. package/dist/components/atoms/tags/OtherStatusTag.d.ts +10 -0
  73. package/dist/components/atoms/tags/OtherStatusTag.js +10 -0
  74. package/dist/components/atoms/tags/index.d.ts +6 -0
  75. package/dist/components/atoms/tags/index.js +3 -0
  76. package/dist/components/atoms/typography/Heading.css +68 -0
  77. package/dist/components/atoms/typography/Heading.d.ts +9 -0
  78. package/dist/components/atoms/typography/Heading.js +7 -0
  79. package/dist/components/atoms/typography/Paragraph.css +43 -0
  80. package/dist/components/atoms/typography/Paragraph.d.ts +9 -0
  81. package/dist/components/atoms/typography/Paragraph.js +7 -0
  82. package/dist/components/atoms/typography/SmallTitle.css +53 -0
  83. package/dist/components/atoms/typography/SmallTitle.d.ts +9 -0
  84. package/dist/components/atoms/typography/SmallTitle.js +7 -0
  85. package/dist/components/atoms/typography/Subtitle.css +40 -0
  86. package/dist/components/atoms/typography/Subtitle.d.ts +9 -0
  87. package/dist/components/atoms/typography/Subtitle.js +7 -0
  88. package/dist/components/atoms/typography/TinyInfo.css +56 -0
  89. package/dist/components/atoms/typography/TinyInfo.d.ts +9 -0
  90. package/dist/components/atoms/typography/TinyInfo.js +8 -0
  91. package/dist/components/atoms/typography/index.d.ts +10 -0
  92. package/dist/components/atoms/typography/index.js +5 -0
  93. package/dist/components/atoms/uiVariables/BorderRadius.d.ts +6 -0
  94. package/dist/components/atoms/uiVariables/BorderRadius.js +12 -0
  95. package/dist/components/atoms/uiVariables/BorderRadiusExample.css +31 -0
  96. package/dist/components/atoms/uiVariables/Shadows.d.ts +6 -0
  97. package/dist/components/atoms/uiVariables/Shadows.js +11 -0
  98. package/dist/components/atoms/uiVariables/ShadowsExample.css +27 -0
  99. package/dist/components/atoms/uiVariables/Strokes.d.ts +6 -0
  100. package/dist/components/atoms/uiVariables/Strokes.js +10 -0
  101. package/dist/components/atoms/uiVariables/StrokesExample.css +22 -0
  102. package/dist/components/atoms/uiVariables/index.d.ts +3 -0
  103. package/dist/components/atoms/uiVariables/index.js +3 -0
  104. package/dist/components/molecules/appointmentSlot/AppointmentSlot.css +366 -0
  105. package/dist/components/molecules/appointmentSlot/AppointmentSlot.d.ts +25 -0
  106. package/dist/components/molecules/appointmentSlot/AppointmentSlot.js +109 -0
  107. package/dist/components/molecules/appointmentSlot/TestClic.css +19 -0
  108. package/dist/components/molecules/appointmentSlot/TestClic.d.ts +4 -0
  109. package/dist/components/molecules/appointmentSlot/TestClic.js +28 -0
  110. package/dist/components/molecules/appointmentSlot/index.d.ts +2 -0
  111. package/dist/components/molecules/appointmentSlot/index.js +1 -0
  112. package/dist/components/molecules/caseCard/CaseCard.css +119 -0
  113. package/dist/components/molecules/caseCard/CaseCard.d.ts +14 -0
  114. package/dist/components/molecules/caseCard/CaseCard.js +20 -0
  115. package/dist/components/molecules/caseCard/index.d.ts +2 -0
  116. package/dist/components/molecules/caseCard/index.js +1 -0
  117. package/dist/components/molecules/checkboxForm/CheckboxForm.css +22 -0
  118. package/dist/components/molecules/checkboxForm/CheckboxForm.d.ts +11 -0
  119. package/dist/components/molecules/checkboxForm/CheckboxForm.js +15 -0
  120. package/dist/components/molecules/checkboxForm/index.d.ts +2 -0
  121. package/dist/components/molecules/checkboxForm/index.js +1 -0
  122. package/dist/components/molecules/contactCard/ContactCard.css +386 -0
  123. package/dist/components/molecules/contactCard/ContactCard.d.ts +17 -0
  124. package/dist/components/molecules/contactCard/ContactCard.js +80 -0
  125. package/dist/components/molecules/contactCard/index.d.ts +2 -0
  126. package/dist/components/molecules/contactCard/index.js +1 -0
  127. package/dist/components/molecules/documentCard/DocumentCard.css +130 -0
  128. package/dist/components/molecules/documentCard/DocumentCard.d.ts +14 -0
  129. package/dist/components/molecules/documentCard/DocumentCard.js +59 -0
  130. package/dist/components/molecules/documentCard/index.d.ts +2 -0
  131. package/dist/components/molecules/documentCard/index.js +1 -0
  132. package/dist/components/molecules/employeeCard/EmployeeCard.css +187 -0
  133. package/dist/components/molecules/employeeCard/EmployeeCard.d.ts +15 -0
  134. package/dist/components/molecules/employeeCard/EmployeeCard.js +34 -0
  135. package/dist/components/molecules/employeeCard/index.d.ts +2 -0
  136. package/dist/components/molecules/employeeCard/index.js +1 -0
  137. package/dist/components/molecules/stepper/Stepper.css +88 -0
  138. package/dist/components/molecules/stepper/Stepper.d.ts +27 -0
  139. package/dist/components/molecules/stepper/Stepper.js +68 -0
  140. package/dist/components/molecules/stepper/index.d.ts +2 -0
  141. package/dist/components/molecules/stepper/index.js +1 -0
  142. package/dist/index.d.ts +36 -2
  143. package/dist/index.js +52 -2
  144. package/dist/styles/colors.css +2 -0
  145. package/dist/styles/global.css +9 -0
  146. package/dist/styles/ui-variables/border-radius.css +6 -0
  147. package/dist/styles/ui-variables/shadows.css +5 -0
  148. package/dist/styles/ui-variables/stroke.css +4 -0
  149. package/dist/utils/regex.d.ts +5 -0
  150. package/dist/utils/regex.js +7 -0
  151. package/package.json +36 -16
  152. package/dist/buttons/ButtonPrimary.d.ts +0 -10
  153. package/dist/buttons/ButtonPrimary.js +0 -10
  154. package/dist/components/atoms/buttons/ButtonPrimary.css +0 -52
  155. package/dist/components/atoms/buttons/ButtonPrimary.d.ts +0 -11
  156. package/dist/components/atoms/buttons/ButtonPrimary.js +0 -11
  157. package/dist/components/buttons/ButtonPrimary.d.ts +0 -11
  158. package/dist/components/buttons/ButtonPrimary.js +0 -11
  159. package/dist/components/tags/AppointementStatusTag.css +0 -58
  160. package/dist/components/tags/AppointementStatusTag.d.ts +0 -8
  161. package/dist/components/tags/AppointementStatusTag.js +0 -41
  162. package/dist/stories/button.css +0 -30
  163. package/dist/stories/header.css +0 -32
  164. package/dist/stories/page.css +0 -69
  165. package/dist/tags/AppointementStatusTag.d.ts +0 -8
  166. package/dist/tags/AppointementStatusTag.js +0 -41
@@ -0,0 +1,111 @@
1
+ @import "../../../styles/colors.css";
2
+
3
+ /* Small, square, with background and icon */
4
+ .icon-button.smallFilled {
5
+ display: flex;
6
+ flex-direction: row;
7
+ width: 24px;
8
+ height: 24px;
9
+ padding: 6px 6px 6px 6px;
10
+ justify-content: center;
11
+ align-items: center;
12
+ flex-shrink: 0;
13
+ border-radius: 3px;
14
+ background: var(--secondary-light-grey, #f4f7fb);
15
+ cursor: pointer;
16
+ }
17
+
18
+ .icon-button.smallFilled:hover {
19
+ background: var(--grey-venom, #e6edf5);
20
+ }
21
+
22
+ .icon-button.smallFilled:active {
23
+ background: #d8e1eb;
24
+ }
25
+
26
+ .icon-button.smallFilled .icon {
27
+ width: 12px;
28
+ height: 12px;
29
+ flex-shrink: 0;
30
+ color: #456073;
31
+ font-size: 11px;
32
+ display: flex;
33
+ flex-direction: row;
34
+ justify-content: center;
35
+ align-items: center;
36
+ }
37
+
38
+ /* Large, square, with background and icon */
39
+ .icon-button.largeFilled {
40
+ display: flex;
41
+ flex-direction: row;
42
+ width: 40px;
43
+ height: 40px;
44
+ padding: 0;
45
+ justify-content: center;
46
+ align-items: center;
47
+ flex-shrink: 0;
48
+ border-radius: 4px;
49
+ background: var(--secondary-light-grey, #f4f7fb);
50
+ cursor: pointer;
51
+ }
52
+
53
+ .icon-button.largeFilled:hover {
54
+ background: var(--grey-venom, #e6edf5);
55
+ }
56
+
57
+ .icon-button.largeFilled:active {
58
+ background: #d8e1eb;
59
+ }
60
+
61
+ .icon-button.largeFilled .icon {
62
+ width: 19px;
63
+ height: 19px;
64
+ flex-shrink: 0;
65
+ color: #456073;
66
+ font-size: 18px;
67
+ display: flex;
68
+ flex-direction: row;
69
+ justify-content: center;
70
+ align-items: center;
71
+ }
72
+
73
+ /* Medium, square, transparent background with outline */
74
+ .icon-button.mediumOutline {
75
+ display: flex;
76
+ width: 35px;
77
+ height: 35px;
78
+ padding: 8px;
79
+ justify-content: center;
80
+ align-items: center;
81
+ gap: 8px;
82
+ flex-shrink: 0;
83
+ border-radius: 4px;
84
+ border: 1px solid var(--primary-blue, #25beeb);
85
+ background: transparent;
86
+ }
87
+
88
+ .icon-button.mediumOutline .icon {
89
+ width: 24px;
90
+ height: 24px;
91
+ flex-shrink: 0;
92
+ color: var(--bleu-allaw, #25beeb);
93
+ display: flex;
94
+ flex-direction: row;
95
+ justify-content: center;
96
+ align-items: center;
97
+ font-size: 18px;
98
+ }
99
+
100
+ /* Just the outline icons */
101
+ .icon-button.iconOnly {
102
+ width: 32px;
103
+ height: 32px;
104
+ flex-shrink: 0;
105
+ color: #25beeb;
106
+ flex-direction: row;
107
+ justify-content: center;
108
+ align-items: center;
109
+ font-size: 18px;
110
+ background: transparent;
111
+ }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./IconButton.css";
3
+ import "../../../styles/global.css";
4
+ export interface IconButtonProps {
5
+ style: "smallFilled" | "largeFilled" | "mediumOutline" | "iconOnly";
6
+ iconName: string;
7
+ onClick?: () => void;
8
+ }
9
+ declare const IconButton: React.FC<IconButtonProps>;
10
+ export default IconButton;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import "./IconButton.css";
3
+ import "../../../styles/global.css";
4
+ var IconButton = function (_a) {
5
+ var style = _a.style, iconName = _a.iconName, onClick = _a.onClick;
6
+ return (React.createElement("button", { className: "icon-button ".concat(style), onClick: onClick },
7
+ React.createElement("i", { className: "icon ".concat(iconName) })));
8
+ };
9
+ IconButton.defaultProps = {
10
+ style: "smallFilled",
11
+ iconName: "allaw-icon-calendar",
12
+ onClick: function () { },
13
+ };
14
+ export default IconButton;
@@ -0,0 +1,53 @@
1
+ .pending-documents {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: 8px;
5
+ padding: 8px;
6
+ border-radius: 8px;
7
+ justify-content: center;
8
+ color: inherit;
9
+ transition: transform 0.03s;
10
+ }
11
+
12
+ .pending-documents-pending {
13
+ background: var(--tag-red-light, #fdf2f2);
14
+ color: var(--Tags-Rouge, #e15151);
15
+ cursor: pointer;
16
+ }
17
+
18
+ .pending-documents-pending:active {
19
+ transform: scale(0.98);
20
+ }
21
+
22
+ .pending-documents-none {
23
+ background: var(--tag-blue-light, #daebfb);
24
+ color: var(--Tags-Bleu-fonc, var(--tag-blue, #1985e8));
25
+ }
26
+
27
+ .pending-documents-icon {
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ width: 24px;
32
+ height: 24px;
33
+ color: inherit;
34
+ font-size: 24px;
35
+ }
36
+
37
+ .pending-documents-label {
38
+ font-family: "Open Sans", sans-serif;
39
+ font-size: 16px;
40
+ font-style: normal;
41
+ font-weight: 600;
42
+ line-height: normal;
43
+ letter-spacing: 0em;
44
+ color: inherit;
45
+ }
46
+
47
+ .pending-documents-pending .pending-documents-label {
48
+ color: var(--Tags-Rouge, #e15151);
49
+ }
50
+
51
+ .pending-documents-none .pending-documents-label {
52
+ color: var(--Tags-Bleu-fonc, var(--tag-blue, #1985e8));
53
+ }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./PendingDocuments.css";
3
+ import "../../../styles/global.css";
4
+ export interface PendingDocumentsProps {
5
+ icon?: React.ReactNode;
6
+ pendingCount: number;
7
+ onClick?: () => void;
8
+ }
9
+ declare const PendingDocuments: React.FC<PendingDocumentsProps>;
10
+ export default PendingDocuments;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import "./PendingDocuments.css";
3
+ import "../../../styles/global.css";
4
+ var PendingDocuments = function (_a) {
5
+ var icon = _a.icon, pendingCount = _a.pendingCount, onClick = _a.onClick;
6
+ var isPending = pendingCount > 0;
7
+ return (React.createElement("div", { className: "pending-documents ".concat(isPending ? "pending-documents-pending" : "pending-documents-none"), onClick: isPending ? onClick : undefined },
8
+ icon && React.createElement("span", { className: "pending-documents-icon" }, icon),
9
+ React.createElement("span", { className: "pending-documents-label" }, isPending
10
+ ? "".concat(pendingCount, " demandes en attente")
11
+ : "Aucune demande en attente")));
12
+ };
13
+ export default PendingDocuments;
@@ -1,40 +1,40 @@
1
- .button-primary {
1
+ .primary-button {
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
  gap: 0.5rem;
6
- width: auto;
7
6
  height: 42px;
8
7
  padding: 1rem 1.3rem;
9
8
  border-radius: 24px;
10
9
  transition:
11
- background-color 0.2s,
12
- opacity 0.2s;
10
+ background-color 0.2s,
11
+ opacity 0.2s;
13
12
  border: 0px;
13
+ cursor: pointer;
14
14
  }
15
15
 
16
- .button-primary-enabled {
16
+ .primary-button-enabled {
17
17
  background-color: #171e25;
18
18
  color: white;
19
19
  }
20
20
 
21
- .button-primary-enabled:hover {
21
+ .primary-button-enabled:hover {
22
22
  background-color: #1985e8;
23
23
  }
24
24
 
25
- .button-primary-enabled:active {
25
+ .primary-button-enabled:active {
26
26
  background-color: #1985e8;
27
27
  opacity: 0.7;
28
28
  }
29
29
 
30
- .button-primary-disabled {
30
+ .primary-button-disabled {
31
31
  background-color: #b9b9b9;
32
32
  opacity: 0.5;
33
33
  color: #9b9b9b;
34
34
  cursor: not-allowed;
35
35
  }
36
36
 
37
- .button-primary-icon {
37
+ .primary-button-icon {
38
38
  display: flex;
39
39
  align-items: center;
40
40
  justify-content: center;
@@ -43,10 +43,14 @@
43
43
  color: white;
44
44
  }
45
45
 
46
- .button-primary-label {
46
+ .primary-button-label {
47
47
  font-family: "Open Sans", sans-serif;
48
48
  font-weight: 500;
49
49
  font-size: 14px;
50
50
  line-height: 22px;
51
51
  letter-spacing: 0em;
52
52
  }
53
+
54
+ .primary-button-full-width {
55
+ width: 100%;
56
+ }
@@ -0,0 +1,16 @@
1
+ import React, { ButtonHTMLAttributes } from "react";
2
+ import "./PrimaryButton.css";
3
+ import "../../../styles/global.css";
4
+ export interface PrimaryButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
+ startIcon?: React.ReactNode;
6
+ endIcon?: React.ReactNode;
7
+ startIconName?: string;
8
+ endIconName?: string;
9
+ label: string;
10
+ disabled?: boolean;
11
+ onClick?: () => void;
12
+ fullWidth?: boolean;
13
+ className?: string;
14
+ }
15
+ declare const PrimaryButton: React.FC<PrimaryButtonProps>;
16
+ export default PrimaryButton;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import "./PrimaryButton.css";
3
+ import "../../../styles/global.css";
4
+ var PrimaryButton = function (_a) {
5
+ 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, className = _a.className;
6
+ return (React.createElement("button", { className: "primary-button ".concat(disabled ? "primary-button-disabled" : "primary-button-enabled", " ").concat(fullWidth ? "primary-button-full-width" : "", " ").concat(className ? className : ""), disabled: disabled, onClick: onClick },
7
+ startIcon && React.createElement("span", { className: "primary-button-icon ".concat(startIconName) }),
8
+ React.createElement("span", { className: "primary-button-label" }, label),
9
+ endIcon && React.createElement("span", { className: "primary-button-icon ".concat(endIconName) })));
10
+ };
11
+ export default PrimaryButton;
@@ -0,0 +1,123 @@
1
+ @import "../../../styles/colors.css";
2
+
3
+ .secondary-button {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ gap: 0.5rem;
8
+ height: 42px;
9
+ padding: 1rem 1.3rem;
10
+ border-radius: 24px;
11
+ border: 2px solid var(--noir);
12
+ transition:
13
+ background-color 0.2s,
14
+ opacity 0.2s,
15
+ color 0.2s;
16
+ cursor: pointer;
17
+ }
18
+
19
+ .secondary-button-enabled {
20
+ background-color: transparent;
21
+ transition: color 0.2s;
22
+ }
23
+
24
+ .secondary-button-enabled:hover {
25
+ color: #25beeb;
26
+ }
27
+
28
+ .secondary-button-enabled:active {
29
+ color: var(--dark-grey);
30
+ opacity: 1;
31
+ }
32
+
33
+ .secondary-button-enabled:active .secondary-button-icon {
34
+ color: var(--dark-grey);
35
+ }
36
+
37
+ .secondary-button-disabled {
38
+ background-color: #b9b9b9;
39
+ opacity: 0.5;
40
+ color: #9b9b9b;
41
+ cursor: not-allowed;
42
+ }
43
+
44
+ .secondary-button-icon {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ width: 20px;
49
+ height: 20px;
50
+ color: var(--noir);
51
+ transition: color 0.2s;
52
+ }
53
+
54
+ .secondary-button-enabled:hover .secondary-button-icon {
55
+ color: var(--bleu-allaw);
56
+ }
57
+
58
+ .secondary-button-label {
59
+ font-family: "Open Sans", sans-serif;
60
+ font-weight: 500;
61
+ font-size: 14px;
62
+ line-height: 22px;
63
+ letter-spacing: 0em;
64
+ }
65
+
66
+ /* Styles pour le mode dark */
67
+ .secondary-button-dark {
68
+ color: var(--noir);
69
+ }
70
+
71
+ .secondary-button-dark:hover {
72
+ background-color: var(--noir);
73
+ color: var(--bleu-allaw);
74
+ }
75
+
76
+ .secondary-button-dark:active {
77
+ color: var(--dark-grey);
78
+ }
79
+
80
+ .secondary-button-dark .secondary-button-icon {
81
+ color: var(--noir);
82
+ }
83
+
84
+ .secondary-button-dark:hover .secondary-button-icon {
85
+ color: var(--bleu-allaw);
86
+ }
87
+
88
+ .secondary-button-dark:active .secondary-button-icon {
89
+ color: var(--dark-grey);
90
+ }
91
+
92
+ /* Styles pour le mode light */
93
+ .secondary-button-light {
94
+ background-color: transparent;
95
+ border: 2px solid var(--pure-white);
96
+ color: var(--pure-white);
97
+ }
98
+
99
+ .secondary-button-light:hover {
100
+ background-color: var(--grey-light);
101
+ color: var(--noir);
102
+ }
103
+
104
+ .secondary-button-light:active {
105
+ background-color: var(--grey-light);
106
+ color: var(--bleu-allaw);
107
+ }
108
+
109
+ .secondary-button-light .secondary-button-icon {
110
+ color: var(--pure-white);
111
+ }
112
+
113
+ .secondary-button-light:hover .secondary-button-icon {
114
+ color: var(--noir);
115
+ }
116
+
117
+ .secondary-button-light:active .secondary-button-icon {
118
+ color: var(--bleu-allaw);
119
+ }
120
+
121
+ .secondary-button-full-width {
122
+ width: 100%;
123
+ }
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import "./SecondaryButton.css";
3
+ import "../../../styles/global.css";
4
+ export interface SecondaryButtonProps {
5
+ startIcon?: React.ReactNode;
6
+ endIcon?: React.ReactNode;
7
+ label: string;
8
+ disabled?: boolean;
9
+ mode?: "dark" | "light";
10
+ onClick?: () => void;
11
+ fullWidth?: boolean;
12
+ className?: string;
13
+ }
14
+ declare const SecondaryButton: React.FC<SecondaryButtonProps>;
15
+ export default SecondaryButton;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import "./SecondaryButton.css";
3
+ import "../../../styles/global.css";
4
+ var SecondaryButton = function (_a) {
5
+ var startIcon = _a.startIcon, endIcon = _a.endIcon, label = _a.label, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.mode, mode = _c === void 0 ? "dark" : _c, onClick = _a.onClick, _d = _a.fullWidth, fullWidth = _d === void 0 ? false : _d, className = _a.className;
6
+ return (React.createElement("button", { className: "secondary-button ".concat(disabled ? "secondary-button-disabled" : "secondary-button-enabled", " secondary-button-").concat(mode, " ").concat(fullWidth ? "secondary-button-full-width" : "", " ").concat(className ? className : ""), disabled: disabled, onClick: onClick },
7
+ startIcon && React.createElement("span", { className: "secondary-button-icon ".concat(startIcon) }),
8
+ React.createElement("span", { className: "secondary-button-label" }, label),
9
+ endIcon && React.createElement("span", { className: "secondary-button-icon ".concat(endIcon) })));
10
+ };
11
+ export default SecondaryButton;
@@ -0,0 +1,43 @@
1
+ .tab-navigation {
2
+ display: inline-flex;
3
+ align-items: flex-start;
4
+ }
5
+
6
+ .tab-item {
7
+ display: flex;
8
+ padding: 0px 16px 10px 16px;
9
+ justify-content: center;
10
+ align-items: center;
11
+ gap: 8px;
12
+ cursor: pointer;
13
+ position: relative;
14
+ }
15
+
16
+ .tab-item.active {
17
+ border-bottom: 2px solid #000;
18
+ color: var(--Primary-Mid-black, var(--primary-black, #171e25));
19
+ }
20
+
21
+ .tab-item.inactive {
22
+ border-bottom: 1px solid var(--light-grey, #728ea7);
23
+ color: var(--Tags-Mid-grey, var(--light-grey, #728ea7));
24
+ }
25
+
26
+ .tab-label {
27
+ font-family: "Poppins", sans-serif;
28
+ font-size: 14px;
29
+ font-style: normal;
30
+ font-weight: 600;
31
+ line-height: 1;
32
+ text-align: center;
33
+ }
34
+
35
+ .tab-notification-dot {
36
+ width: 5px;
37
+ height: 5px;
38
+ background-color: #ef1a1a;
39
+ border-radius: 50%;
40
+ position: absolute;
41
+ top: 3px;
42
+ right: 6px;
43
+ }
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import "./TabNavigation.css";
3
+ import "../../../styles/global.css";
4
+ export interface TabNavigationProps {
5
+ tabs: {
6
+ label: string;
7
+ isActive: boolean;
8
+ hasNotification: boolean;
9
+ }[];
10
+ onTabClick: (index: number) => void;
11
+ }
12
+ declare const TabNavigation: React.FC<TabNavigationProps>;
13
+ export default TabNavigation;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./TabNavigation.css";
3
+ import "../../../styles/global.css";
4
+ var TabNavigation = function (_a) {
5
+ var tabs = _a.tabs, onTabClick = _a.onTabClick;
6
+ return (React.createElement("div", { className: "tab-navigation" }, tabs.map(function (tab, index) { return (React.createElement("div", { key: index, className: "tab-item ".concat(tab.isActive ? "active" : "inactive"), onClick: function () { return onTabClick(index); } },
7
+ React.createElement("span", { className: "tab-label" }, tab.label),
8
+ tab.hasNotification && React.createElement("span", { className: "tab-notification-dot" }))); })));
9
+ };
10
+ export default TabNavigation;
@@ -0,0 +1,63 @@
1
+ @import "../../../styles/colors.css";
2
+
3
+ .tertiary-button {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: 8px;
7
+ padding: 4px 0px;
8
+ border: none;
9
+ background: none;
10
+ cursor: pointer;
11
+ transition:
12
+ color 0.15s,
13
+ border-bottom 0.15s; /* Ajout de la transition de 0.15s */
14
+ }
15
+
16
+ .tertiary-button-default {
17
+ border-bottom: 1px solid var(--primary-black, #171e25);
18
+ color: var(--primary-black, #171e25);
19
+ }
20
+
21
+ .tertiary-button-default:hover {
22
+ color: var(--primary-black, #171e25);
23
+ border-bottom: none; /* Suppression de la border-bottom au hover */
24
+ }
25
+
26
+ .tertiary-button-variant {
27
+ display: flex;
28
+ justify-content: center;
29
+ color: var(--Primary-Dark-grey, var(--dark-grey, #456073));
30
+ }
31
+
32
+ .tertiary-button-variant:hover {
33
+ color: var(--Primary-Dark-grey, var(--dark-grey, #456073));
34
+ }
35
+
36
+ .tertiary-button-icon {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ width: 16px;
41
+ height: 16px;
42
+ padding: 3.333px;
43
+ }
44
+
45
+ .tertiary-button-label {
46
+ font-family: "Open Sans", sans-serif;
47
+ font-size: 14px;
48
+ font-style: normal;
49
+ line-height: normal;
50
+ letter-spacing: 0em;
51
+ }
52
+
53
+ /* Styles spécifiques pour variant=false */
54
+ .tertiary-button-default .tertiary-button-label {
55
+ font-weight: 700; /* Bold */
56
+ color: var(--Primary-Mid-black, var(--primary-black, #171e25));
57
+ }
58
+
59
+ /* Styles spécifiques pour variant=true */
60
+ .tertiary-button-variant .tertiary-button-label {
61
+ font-weight: 400; /* Normal */
62
+ color: var(--Primary-Dark-grey, var(--dark-grey, #456073));
63
+ }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./TertiaryButton.css";
3
+ import "../../../styles/global.css";
4
+ export interface TertiaryButtonProps {
5
+ startIcon?: React.ReactNode;
6
+ label: string;
7
+ variant?: boolean;
8
+ }
9
+ declare const TertiaryButton: React.FC<TertiaryButtonProps>;
10
+ export default TertiaryButton;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./TertiaryButton.css";
3
+ import "../../../styles/global.css";
4
+ var TertiaryButton = function (_a) {
5
+ var startIcon = _a.startIcon, label = _a.label, _b = _a.variant, variant = _b === void 0 ? false : _b;
6
+ return (React.createElement("button", { className: "tertiary-button ".concat(variant ? "tertiary-button-variant" : "tertiary-button-default") },
7
+ startIcon && React.createElement("span", { className: "tertiary-button-icon ".concat(startIcon) }),
8
+ React.createElement("span", { className: "tertiary-button-label" }, label)));
9
+ };
10
+ export default TertiaryButton;
@@ -0,0 +1,18 @@
1
+ export { default as FavoriteToggle } from "./FavoriteToggle";
2
+ export { default as FilterButton } from "./FilterButton";
3
+ export { default as GhostButton } from "./GhostButton";
4
+ export { default as IconButton } from "./IconButton";
5
+ export { default as PendingDocuments } from "./PendingDocuments";
6
+ export { default as PrimaryButton } from "./PrimaryButton";
7
+ export { default as SecondaryButton } from "./SecondaryButton";
8
+ export { default as TabNavigation } from "./TabNavigation";
9
+ export { default as TertiaryButton } from "./TertiaryButton";
10
+ export type { FavoriteToggleProps } from "./FavoriteToggle";
11
+ export type { FilterButtonProps } from "./FilterButton";
12
+ export type { GhostButtonProps } from "./GhostButton";
13
+ export type { IconButtonProps } from "./IconButton";
14
+ export type { PendingDocumentsProps } from "./PendingDocuments";
15
+ export type { PrimaryButtonProps } from "./PrimaryButton";
16
+ export type { SecondaryButtonProps } from "./SecondaryButton";
17
+ export type { TabNavigationProps } from "./TabNavigation";
18
+ export type { TertiaryButtonProps } from "./TertiaryButton";
@@ -0,0 +1,9 @@
1
+ export { default as FavoriteToggle } from "./FavoriteToggle";
2
+ export { default as FilterButton } from "./FilterButton";
3
+ export { default as GhostButton } from "./GhostButton";
4
+ export { default as IconButton } from "./IconButton";
5
+ export { default as PendingDocuments } from "./PendingDocuments";
6
+ export { default as PrimaryButton } from "./PrimaryButton";
7
+ export { default as SecondaryButton } from "./SecondaryButton";
8
+ export { default as TabNavigation } from "./TabNavigation";
9
+ export { default as TertiaryButton } from "./TertiaryButton";