allaw-ui 0.0.19 → 0.0.34

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 (202) hide show
  1. package/README.md +30 -10
  2. package/dist/app/globals.css +5 -0
  3. package/dist/app/layout.d.ts +0 -0
  4. package/dist/app/layout.js +0 -0
  5. package/dist/assets/NoPhoto.png +0 -0
  6. package/dist/assets/NoPhoto.svg +22 -0
  7. package/dist/assets/allaw-font.eot +0 -0
  8. package/dist/assets/allaw-font.svg +8 -2
  9. package/dist/assets/allaw-font.ttf +0 -0
  10. package/dist/assets/allaw-font.woff +0 -0
  11. package/dist/components/atoms/buttons/ActionCircleButton.css +143 -0
  12. package/dist/components/atoms/buttons/ActionCircleButton.d.ts +9 -0
  13. package/dist/components/atoms/buttons/ActionCircleButton.js +23 -0
  14. package/dist/components/atoms/buttons/AgendaSlot.css +116 -0
  15. package/dist/components/atoms/buttons/AgendaSlot.d.ts +10 -0
  16. package/dist/components/atoms/buttons/AgendaSlot.js +7 -0
  17. package/dist/components/atoms/buttons/FavoriteToggle.css +35 -0
  18. package/dist/components/atoms/buttons/FavoriteToggle.d.ts +8 -0
  19. package/dist/components/atoms/buttons/FavoriteToggle.js +11 -0
  20. package/dist/components/atoms/buttons/FilterButton.css +55 -0
  21. package/dist/components/atoms/buttons/FilterButton.d.ts +9 -0
  22. package/dist/components/atoms/buttons/FilterButton.js +9 -0
  23. package/dist/components/atoms/buttons/FilterButtonPrimary.d.ts +9 -0
  24. package/dist/components/atoms/buttons/FilterButtonPrimary.js +46 -0
  25. package/dist/components/atoms/buttons/GhostButton.css +63 -0
  26. package/dist/components/atoms/buttons/GhostButton.d.ts +14 -0
  27. package/dist/components/atoms/buttons/GhostButton.js +11 -0
  28. package/dist/components/atoms/buttons/IconButton.css +111 -0
  29. package/dist/components/atoms/buttons/IconButton.d.ts +10 -0
  30. package/dist/components/atoms/buttons/IconButton.js +14 -0
  31. package/dist/components/atoms/buttons/OAuthProviderButton.css +117 -0
  32. package/dist/components/atoms/buttons/OAuthProviderButton.d.ts +12 -0
  33. package/dist/components/atoms/buttons/OAuthProviderButton.js +143 -0
  34. package/dist/components/atoms/buttons/PendingDocuments.css +53 -0
  35. package/dist/components/atoms/buttons/PendingDocuments.d.ts +10 -0
  36. package/dist/components/atoms/buttons/PendingDocuments.js +13 -0
  37. package/dist/components/{buttons/ButtonPrimary.css → atoms/buttons/PrimaryButton.css} +12 -7
  38. package/dist/components/atoms/buttons/PrimaryButton.d.ts +16 -0
  39. package/dist/components/atoms/buttons/PrimaryButton.js +11 -0
  40. package/dist/components/atoms/buttons/SecondaryButton.css +124 -0
  41. package/dist/components/atoms/buttons/SecondaryButton.d.ts +14 -0
  42. package/dist/components/atoms/buttons/SecondaryButton.js +11 -0
  43. package/dist/components/atoms/buttons/TabNavigation.css +43 -0
  44. package/dist/components/atoms/buttons/TabNavigation.d.ts +13 -0
  45. package/dist/components/atoms/buttons/TabNavigation.js +10 -0
  46. package/dist/components/atoms/buttons/TertiaryButton.css +63 -0
  47. package/dist/components/atoms/buttons/TertiaryButton.d.ts +10 -0
  48. package/dist/components/atoms/buttons/TertiaryButton.js +10 -0
  49. package/dist/components/atoms/buttons/index.d.ts +22 -0
  50. package/dist/components/atoms/buttons/index.js +11 -0
  51. package/dist/components/atoms/checkboxes/Checkbox.css +50 -0
  52. package/dist/components/atoms/checkboxes/Checkbox.d.ts +11 -0
  53. package/dist/components/atoms/checkboxes/Checkbox.js +15 -0
  54. package/dist/components/atoms/checkboxes/index.d.ts +2 -0
  55. package/dist/components/atoms/checkboxes/index.js +1 -0
  56. package/dist/components/atoms/filter/Basefiler.css +80 -0
  57. package/dist/components/atoms/filter/Filter.d.ts +23 -0
  58. package/dist/components/atoms/filter/Filter.js +87 -0
  59. package/dist/components/atoms/filter/index.d.ts +2 -0
  60. package/dist/components/atoms/filter/index.js +1 -0
  61. package/dist/components/atoms/inputs/Input.css +184 -0
  62. package/dist/components/atoms/inputs/Input.d.ts +22 -0
  63. package/dist/components/atoms/inputs/Input.js +86 -0
  64. package/dist/components/atoms/inputs/SearchBar.css +54 -0
  65. package/dist/components/atoms/inputs/SearchBar.d.ts +12 -0
  66. package/dist/components/atoms/inputs/SearchBar.js +20 -0
  67. package/dist/components/atoms/inputs/index.d.ts +4 -0
  68. package/dist/components/atoms/inputs/index.js +2 -0
  69. package/dist/components/atoms/progressBars/ProgressBar.css +109 -0
  70. package/dist/components/atoms/progressBars/ProgressBar.d.ts +15 -0
  71. package/dist/components/atoms/progressBars/ProgressBar.js +17 -0
  72. package/dist/components/atoms/progressBars/index.d.ts +2 -0
  73. package/dist/components/atoms/progressBars/index.js +1 -0
  74. package/dist/components/atoms/radios/RadioButton.css +98 -0
  75. package/dist/components/atoms/radios/RadioButton.d.ts +11 -0
  76. package/dist/components/atoms/radios/RadioButton.js +10 -0
  77. package/dist/components/atoms/radios/index.d.ts +2 -0
  78. package/dist/components/atoms/radios/index.js +1 -0
  79. package/dist/components/atoms/selects/Select.css +103 -0
  80. package/dist/components/atoms/selects/Select.d.ts +24 -0
  81. package/dist/components/atoms/selects/Select.js +84 -0
  82. package/dist/components/atoms/selects/index.d.ts +2 -0
  83. package/dist/components/atoms/selects/index.js +1 -0
  84. package/dist/components/atoms/tags/AppointementStatusTag.css +113 -13
  85. package/dist/components/atoms/tags/AppointementStatusTag.d.ts +1 -1
  86. package/dist/components/atoms/tags/FolderStatusTag.css +26 -0
  87. package/dist/components/atoms/tags/FolderStatusTag.d.ts +7 -0
  88. package/dist/components/atoms/tags/FolderStatusTag.js +8 -0
  89. package/dist/components/atoms/tags/OtherStatusTag.css +72 -0
  90. package/dist/components/atoms/tags/OtherStatusTag.d.ts +10 -0
  91. package/dist/components/atoms/tags/OtherStatusTag.js +10 -0
  92. package/dist/components/atoms/tags/index.d.ts +6 -0
  93. package/dist/components/atoms/tags/index.js +3 -0
  94. package/dist/components/atoms/typography/Heading.css +77 -0
  95. package/dist/components/atoms/typography/Heading.d.ts +10 -0
  96. package/dist/components/atoms/typography/Heading.js +7 -0
  97. package/dist/components/atoms/typography/Paragraph.css +43 -0
  98. package/dist/components/atoms/typography/Paragraph.d.ts +11 -0
  99. package/dist/components/atoms/typography/Paragraph.js +24 -0
  100. package/dist/components/atoms/typography/SmallTitle.css +53 -0
  101. package/dist/components/atoms/typography/SmallTitle.d.ts +9 -0
  102. package/dist/components/atoms/typography/SmallTitle.js +7 -0
  103. package/dist/components/atoms/typography/Subtitle.css +40 -0
  104. package/dist/components/atoms/typography/Subtitle.d.ts +9 -0
  105. package/dist/components/atoms/typography/Subtitle.js +7 -0
  106. package/dist/components/atoms/typography/TinyInfo.css +56 -0
  107. package/dist/components/atoms/typography/TinyInfo.d.ts +12 -0
  108. package/dist/components/atoms/typography/TinyInfo.js +15 -0
  109. package/dist/components/atoms/typography/index.d.ts +10 -0
  110. package/dist/components/atoms/typography/index.js +5 -0
  111. package/dist/components/atoms/uiVariables/BorderRadius.d.ts +6 -0
  112. package/dist/components/atoms/uiVariables/BorderRadius.js +12 -0
  113. package/dist/components/atoms/uiVariables/BorderRadiusExample.css +31 -0
  114. package/dist/components/atoms/uiVariables/Shadows.d.ts +6 -0
  115. package/dist/components/atoms/uiVariables/Shadows.js +11 -0
  116. package/dist/components/atoms/uiVariables/ShadowsExample.css +27 -0
  117. package/dist/components/atoms/uiVariables/Strokes.d.ts +6 -0
  118. package/dist/components/atoms/uiVariables/Strokes.js +10 -0
  119. package/dist/components/atoms/uiVariables/StrokesExample.css +22 -0
  120. package/dist/components/atoms/uiVariables/index.d.ts +3 -0
  121. package/dist/components/atoms/uiVariables/index.js +3 -0
  122. package/dist/components/molecules/appointmentSlot/AppointmentSlot.css +366 -0
  123. package/dist/components/molecules/appointmentSlot/AppointmentSlot.d.ts +25 -0
  124. package/dist/components/molecules/appointmentSlot/AppointmentSlot.js +109 -0
  125. package/dist/components/molecules/appointmentSlot/index.d.ts +2 -0
  126. package/dist/components/molecules/appointmentSlot/index.js +1 -0
  127. package/dist/components/molecules/breadcrumb/Breadcrumb.css +32 -0
  128. package/dist/components/molecules/breadcrumb/Breadcrumb.d.ts +12 -0
  129. package/dist/components/molecules/breadcrumb/Breadcrumb.js +12 -0
  130. package/dist/components/molecules/breadcrumb/index.d.ts +2 -0
  131. package/dist/components/molecules/breadcrumb/index.js +1 -0
  132. package/dist/components/molecules/caseCard/CaseCard.css +119 -0
  133. package/dist/components/molecules/caseCard/CaseCard.d.ts +14 -0
  134. package/dist/components/molecules/caseCard/CaseCard.js +20 -0
  135. package/dist/components/molecules/caseCard/index.d.ts +2 -0
  136. package/dist/components/molecules/caseCard/index.js +1 -0
  137. package/dist/components/molecules/checkboxForm/CheckboxForm.css +60 -0
  138. package/dist/components/molecules/checkboxForm/CheckboxForm.d.ts +15 -0
  139. package/dist/components/molecules/checkboxForm/CheckboxForm.js +28 -0
  140. package/dist/components/molecules/checkboxForm/index.d.ts +2 -0
  141. package/dist/components/molecules/checkboxForm/index.js +1 -0
  142. package/dist/components/molecules/contactCard/ContactCard.css +386 -0
  143. package/dist/components/molecules/contactCard/ContactCard.d.ts +17 -0
  144. package/dist/components/molecules/contactCard/ContactCard.js +80 -0
  145. package/dist/components/molecules/contactCard/index.d.ts +2 -0
  146. package/dist/components/molecules/contactCard/index.js +1 -0
  147. package/dist/components/molecules/documentCard/DocumentCard.css +130 -0
  148. package/dist/components/molecules/documentCard/DocumentCard.d.ts +14 -0
  149. package/dist/components/molecules/documentCard/DocumentCard.js +59 -0
  150. package/dist/components/molecules/documentCard/index.d.ts +2 -0
  151. package/dist/components/molecules/documentCard/index.js +1 -0
  152. package/dist/components/molecules/employeeCard/EmployeeCard.css +187 -0
  153. package/dist/components/molecules/employeeCard/EmployeeCard.d.ts +15 -0
  154. package/dist/components/molecules/employeeCard/EmployeeCard.js +34 -0
  155. package/dist/components/molecules/employeeCard/index.d.ts +2 -0
  156. package/dist/components/molecules/employeeCard/index.js +1 -0
  157. package/dist/components/molecules/proCard/ProCard.css +117 -0
  158. package/dist/components/molecules/proCard/ProCard.d.ts +13 -0
  159. package/dist/components/molecules/proCard/ProCard.js +25 -0
  160. package/dist/components/molecules/proCard/index.d.ts +2 -0
  161. package/dist/components/molecules/proCard/index.js +1 -0
  162. package/dist/components/molecules/stepper/Stepper.css +80 -0
  163. package/dist/components/molecules/stepper/Stepper.d.ts +27 -0
  164. package/dist/components/molecules/stepper/Stepper.js +68 -0
  165. package/dist/components/molecules/stepper/index.d.ts +2 -0
  166. package/dist/components/molecules/stepper/index.js +1 -0
  167. package/dist/index.d.ts +40 -2
  168. package/dist/index.js +59 -2
  169. package/dist/stories/assets/accessibility.png +0 -0
  170. package/dist/stories/assets/addon-library.png +0 -0
  171. package/dist/stories/assets/assets.png +0 -0
  172. package/dist/stories/assets/context.png +0 -0
  173. package/dist/stories/assets/docs.png +0 -0
  174. package/dist/stories/assets/figma-plugin.png +0 -0
  175. package/dist/stories/assets/share.png +0 -0
  176. package/dist/stories/assets/styling.png +0 -0
  177. package/dist/stories/assets/testing.png +0 -0
  178. package/dist/stories/assets/theming.png +0 -0
  179. package/dist/styles/colors.css +2 -0
  180. package/dist/styles/global.css +25 -0
  181. package/dist/styles/icons.css +32 -0
  182. package/dist/styles/ui-variables/border-radius.css +6 -0
  183. package/dist/styles/ui-variables/shadows.css +5 -0
  184. package/dist/styles/ui-variables/stroke.css +4 -0
  185. package/dist/utils/regex.d.ts +5 -0
  186. package/dist/utils/regex.js +7 -0
  187. package/package.json +37 -16
  188. package/dist/buttons/ButtonPrimary.d.ts +0 -10
  189. package/dist/buttons/ButtonPrimary.js +0 -10
  190. package/dist/components/atoms/buttons/ButtonPrimary.css +0 -52
  191. package/dist/components/atoms/buttons/ButtonPrimary.d.ts +0 -11
  192. package/dist/components/atoms/buttons/ButtonPrimary.js +0 -11
  193. package/dist/components/buttons/ButtonPrimary.d.ts +0 -11
  194. package/dist/components/buttons/ButtonPrimary.js +0 -11
  195. package/dist/components/tags/AppointementStatusTag.css +0 -58
  196. package/dist/components/tags/AppointementStatusTag.d.ts +0 -8
  197. package/dist/components/tags/AppointementStatusTag.js +0 -41
  198. package/dist/stories/button.css +0 -30
  199. package/dist/stories/header.css +0 -32
  200. package/dist/stories/page.css +0 -69
  201. package/dist/tags/AppointementStatusTag.d.ts +0 -8
  202. package/dist/tags/AppointementStatusTag.js +0 -41
@@ -0,0 +1,124 @@
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
+ width: auto;
9
+ height: 42px;
10
+ padding: 1rem 1.3rem;
11
+ border-radius: 24px;
12
+ border: 2px solid var(--noir);
13
+ cursor: pointer;
14
+ transition:
15
+ background-color 0.2s,
16
+ opacity 0.2s,
17
+ color 0.2s;
18
+ }
19
+
20
+ .secondary-button-enabled {
21
+ background-color: transparent;
22
+ transition: color 0.2s;
23
+ }
24
+
25
+ .secondary-button-enabled:hover {
26
+ color: #25beeb;
27
+ }
28
+
29
+ .secondary-button-enabled:active {
30
+ color: var(--dark-grey);
31
+ opacity: 1;
32
+ }
33
+
34
+ .secondary-button-enabled:active .secondary-button-icon {
35
+ color: var(--dark-grey);
36
+ }
37
+
38
+ .secondary-button-disabled {
39
+ background-color: #b9b9b9;
40
+ opacity: 0.5;
41
+ color: #9b9b9b;
42
+ cursor: not-allowed;
43
+ }
44
+
45
+ .secondary-button-icon {
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ width: 20px;
50
+ height: 20px;
51
+ color: var(--noir);
52
+ transition: color 0.2s;
53
+ }
54
+
55
+ .secondary-button-enabled:hover .secondary-button-icon {
56
+ color: var(--bleu-allaw);
57
+ }
58
+
59
+ .secondary-button-label {
60
+ font-family: "Open Sans", sans-serif;
61
+ font-weight: 500;
62
+ font-size: 14px;
63
+ line-height: 22px;
64
+ letter-spacing: 0em;
65
+ }
66
+
67
+ /* Styles pour le mode dark */
68
+ .secondary-button-dark {
69
+ color: var(--noir);
70
+ }
71
+
72
+ .secondary-button-dark:hover {
73
+ background-color: var(--noir);
74
+ color: var(--bleu-allaw);
75
+ }
76
+
77
+ .secondary-button-dark:active {
78
+ color: var(--dark-grey);
79
+ }
80
+
81
+ .secondary-button-dark .secondary-button-icon {
82
+ color: var(--noir);
83
+ }
84
+
85
+ .secondary-button-dark:hover .secondary-button-icon {
86
+ color: var(--bleu-allaw);
87
+ }
88
+
89
+ .secondary-button-dark:active .secondary-button-icon {
90
+ color: var(--dark-grey);
91
+ }
92
+
93
+ /* Styles pour le mode light */
94
+ .secondary-button-light {
95
+ background-color: transparent;
96
+ border: 2px solid var(--pure-white);
97
+ color: var(--pure-white);
98
+ }
99
+
100
+ .secondary-button-light:hover {
101
+ background-color: var(--grey-light);
102
+ color: var(--noir);
103
+ }
104
+
105
+ .secondary-button-light:active {
106
+ background-color: var(--grey-light);
107
+ color: var(--bleu-allaw);
108
+ }
109
+
110
+ .secondary-button-light .secondary-button-icon {
111
+ color: var(--pure-white);
112
+ }
113
+
114
+ .secondary-button-light:hover .secondary-button-icon {
115
+ color: var(--noir);
116
+ }
117
+
118
+ .secondary-button-light:active .secondary-button-icon {
119
+ color: var(--bleu-allaw);
120
+ }
121
+
122
+ .secondary-button-full-width {
123
+ width: 100%;
124
+ }
@@ -0,0 +1,14 @@
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
+ }
13
+ declare const SecondaryButton: React.FC<SecondaryButtonProps>;
14
+ 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;
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" : ""), 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,22 @@
1
+ export { default as FavoriteToggle } from "./FavoriteToggle";
2
+ export { default as FilterButtonPrimary } from "./FilterButtonPrimary";
3
+ export { default as FilterButton } from "./FilterButton";
4
+ export { default as GhostButton } from "./GhostButton";
5
+ export { default as IconButton } from "./IconButton";
6
+ export { default as PendingDocuments } from "./PendingDocuments";
7
+ export { default as PrimaryButton } from "./PrimaryButton";
8
+ export { default as SecondaryButton } from "./SecondaryButton";
9
+ export { default as TabNavigation } from "./TabNavigation";
10
+ export { default as TertiaryButton } from "./TertiaryButton";
11
+ export { default as OAuthProviderButton } from "./OAuthProviderButton";
12
+ export type { FavoriteToggleProps } from "./FavoriteToggle";
13
+ export type { FilterButtonProps } from "./FilterButton";
14
+ export type { GhostButtonProps } from "./GhostButton";
15
+ export type { IconButtonProps } from "./IconButton";
16
+ export type { PendingDocumentsProps } from "./PendingDocuments";
17
+ export type { PrimaryButtonProps } from "./PrimaryButton";
18
+ export type { SecondaryButtonProps } from "./SecondaryButton";
19
+ export type { TabNavigationProps } from "./TabNavigation";
20
+ export type { TertiaryButtonProps } from "./TertiaryButton";
21
+ export type { OAuthProviderButtonProps } from "./OAuthProviderButton";
22
+ export type { FilterButtonPrimaryProps } from "./FilterButtonPrimary";
@@ -0,0 +1,11 @@
1
+ export { default as FavoriteToggle } from "./FavoriteToggle";
2
+ export { default as FilterButtonPrimary } from "./FilterButtonPrimary";
3
+ export { default as FilterButton } from "./FilterButton";
4
+ export { default as GhostButton } from "./GhostButton";
5
+ export { default as IconButton } from "./IconButton";
6
+ export { default as PendingDocuments } from "./PendingDocuments";
7
+ export { default as PrimaryButton } from "./PrimaryButton";
8
+ export { default as SecondaryButton } from "./SecondaryButton";
9
+ export { default as TabNavigation } from "./TabNavigation";
10
+ export { default as TertiaryButton } from "./TertiaryButton";
11
+ export { default as OAuthProviderButton } from "./OAuthProviderButton";
@@ -0,0 +1,50 @@
1
+ .checkbox {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ width: 24px;
6
+ height: 24px;
7
+ flex-shrink: 0;
8
+ background: none;
9
+ border: none;
10
+ cursor: pointer;
11
+ }
12
+
13
+ .checkbox-default {
14
+ border: 2px solid var(--noir);
15
+ border-radius: 1.92px;
16
+ }
17
+
18
+ .checkbox-pressed {
19
+ border: 2px solid var(--noir);
20
+ border-radius: 1.92px;
21
+ }
22
+
23
+ .checkbox-pressed .checkbox-icon {
24
+ display: flex;
25
+ justify-content: center;
26
+ align-items: center;
27
+ width: 24px;
28
+ height: 24px;
29
+ font-size: 15px;
30
+ padding-left: 1px;
31
+ padding-bottom: 2px;
32
+ }
33
+
34
+ .checkbox-black {
35
+ border-color: var(--noir);
36
+ color: var(--noir);
37
+ }
38
+
39
+ .checkbox-white {
40
+ border-color: var(--pure-white);
41
+ color: var(--pure-white);
42
+ }
43
+
44
+ .checkbox-icon-black {
45
+ color: var(--noir);
46
+ }
47
+
48
+ .checkbox-icon-white {
49
+ color: var(--pure-white);
50
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import "./Checkbox.css";
3
+ import "../../../styles/global.css";
4
+ export interface CheckboxProps {
5
+ id?: string;
6
+ checked?: boolean;
7
+ onChange?: (checked: boolean) => void;
8
+ isWhite?: boolean;
9
+ }
10
+ declare const Checkbox: React.FC<CheckboxProps>;
11
+ export default Checkbox;
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import "./Checkbox.css";
3
+ import "../../../styles/global.css";
4
+ var Checkbox = function (_a) {
5
+ var id = _a.id, _b = _a.checked, checked = _b === void 0 ? false : _b, onChange = _a.onChange, _c = _a.isWhite, isWhite = _c === void 0 ? false : _c;
6
+ var handleClick = function (e) {
7
+ e.preventDefault();
8
+ e.stopPropagation();
9
+ if (onChange) {
10
+ onChange(!checked);
11
+ }
12
+ };
13
+ return (React.createElement("button", { id: id, className: "checkbox ".concat(checked ? "checkbox-pressed" : "checkbox-default", " ").concat(isWhite ? "checkbox-white" : "checkbox-black"), onClick: handleClick }, checked && (React.createElement("span", { className: "checkbox-icon allaw-icon-close ".concat(isWhite ? "checkbox-icon-white" : "checkbox-icon-black") }))));
14
+ };
15
+ export default Checkbox;
@@ -0,0 +1,2 @@
1
+ export { default as Checkbox } from "./Checkbox";
2
+ export type { CheckboxProps } from "./Checkbox";
@@ -0,0 +1 @@
1
+ export { default as Checkbox } from "./Checkbox";
@@ -0,0 +1,80 @@
1
+ .backdrop {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ height: 100vh;
6
+ width: 100vw;
7
+ background: linear-gradient(180deg, rgba(26, 50, 56, 0.00) 0%, rgba(2, 9, 11, 0.45) 100%);
8
+ z-index: 1000;
9
+ }
10
+
11
+ .baseFilter {
12
+ position: relative;
13
+ width: fit-content;
14
+ }
15
+
16
+ .options {
17
+ position: absolute;
18
+ top: 120%;
19
+ left: 0;
20
+ width: fit-content;
21
+ border: 0.5px solid #ddd;
22
+ border-radius: 4px;
23
+ background-color: #ffffff;
24
+ box-shadow: rgba(9, 30, 66, 0.15) 0px 8px 12px 0px;
25
+ z-index: 2000;
26
+ padding: 0.4rem 0rem;
27
+ }
28
+
29
+ .item {
30
+ background: none;
31
+ border: none;
32
+ display: flex;
33
+ flex-direction: row;
34
+ align-items: center;
35
+ gap: 0.75rem;
36
+ padding: 0.5rem 1rem;
37
+ cursor: pointer;
38
+ border-left: 2px solid #FFF;
39
+ width: 100%;
40
+ color: #0000
41
+ }
42
+
43
+ .round {
44
+
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ border: 1px solid #D1DCE7;
49
+ border-radius: 3rem;
50
+ padding: 2px;
51
+ }
52
+
53
+ .selected {
54
+ background-color: #25BEEB;
55
+ min-width: 0.6rem;
56
+ min-height: 0.6rem;
57
+ border-radius: 1rem;
58
+ display: block;
59
+ }
60
+
61
+ .notSelected {
62
+ background-color: #FFF;
63
+ min-width: 0.6rem;
64
+ min-height: 0.6rem;
65
+ border-radius: 1rem;
66
+ display: block;
67
+ }
68
+
69
+ .item > span {
70
+ text-wrap: nowrap;
71
+ font-family: var(--font-open-sans);
72
+ font-size: 14px;
73
+ font-weight: 500;
74
+ color: #000;
75
+ }
76
+
77
+ .item:hover {
78
+ background-color: #EFF2F5;
79
+ border-left: 2px solid #25BEEB;
80
+ }
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import "./Basefiler.css";
3
+ export type FilterProps = {
4
+ tooltipContent: string;
5
+ tooltipId: string;
6
+ showIcon: boolean;
7
+ defaultSelectedValues?: string[];
8
+ filterData: {
9
+ value: string;
10
+ name: string;
11
+ }[];
12
+ setFilters: any;
13
+ multiselect?: boolean;
14
+ iconName?: string;
15
+ children?: any;
16
+ props?: any;
17
+ required?: boolean;
18
+ showNumIndic?: boolean;
19
+ showBackdrop?: boolean;
20
+ isStatusTag?: boolean;
21
+ };
22
+ declare function BaseFilter({ tooltipContent, tooltipId, showNumIndic, required, isStatusTag, defaultSelectedValues, filterData, multiselect, setFilters, showIcon, iconName, showBackdrop, children, ...props }: FilterProps): React.JSX.Element;
23
+ export default BaseFilter;
@@ -0,0 +1,87 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
+ if (ar || !(i in from)) {
26
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
+ ar[i] = from[i];
28
+ }
29
+ }
30
+ return to.concat(ar || Array.prototype.slice.call(from));
31
+ };
32
+ import React, { useState } from "react";
33
+ import "./Basefiler.css";
34
+ import { AppointementStatusTag } from "../tags";
35
+ import { FilterButtonPrimary } from "../buttons";
36
+ function BaseFilter(_a) {
37
+ var tooltipContent = _a.tooltipContent, tooltipId = _a.tooltipId, _b = _a.showNumIndic, showNumIndic = _b === void 0 ? true : _b, _c = _a.required, required = _c === void 0 ? true : _c, isStatusTag = _a.isStatusTag, defaultSelectedValues = _a.defaultSelectedValues, filterData = _a.filterData, _d = _a.multiselect, multiselect = _d === void 0 ? false : _d, setFilters = _a.setFilters, showIcon = _a.showIcon, iconName = _a.iconName, _e = _a.showBackdrop, showBackdrop = _e === void 0 ? false : _e, children = _a.children, props = __rest(_a, ["tooltipContent", "tooltipId", "showNumIndic", "required", "isStatusTag", "defaultSelectedValues", "filterData", "multiselect", "setFilters", "showIcon", "iconName", "showBackdrop", "children"]);
38
+ var _f = useState(false), isOpen = _f[0], setIsOpen = _f[1];
39
+ var _g = useState(defaultSelectedValues ? defaultSelectedValues : []), selectedValues = _g[0], setSelectedValues = _g[1];
40
+ var handleButtonTap = function () {
41
+ isOpen ? handleClose() : setIsOpen(true);
42
+ };
43
+ var selectItem = function (value) {
44
+ if (multiselect) {
45
+ if (selectedValues &&
46
+ selectedValues.length > 0 &&
47
+ selectedValues.includes(value)) {
48
+ if (required && selectedValues.length == 1) {
49
+ return;
50
+ }
51
+ setSelectedValues(function (prevItems) {
52
+ return prevItems.filter(function (item) { return item !== value; });
53
+ });
54
+ }
55
+ else {
56
+ setSelectedValues(function (prevItems) { return __spreadArray(__spreadArray([], prevItems, true), [value], false); });
57
+ }
58
+ }
59
+ else {
60
+ setSelectedValues(value);
61
+ handleClose([value]);
62
+ }
63
+ };
64
+ var handleClose = function (values) {
65
+ setFilters(values ? values : selectedValues);
66
+ setIsOpen(false);
67
+ };
68
+ var Item = function (_a) {
69
+ var name = _a.name, value = _a.value;
70
+ return (React.createElement("button", { className: "item", onClick: function () { return selectItem(value); } },
71
+ React.createElement("div", { className: "round" },
72
+ React.createElement("div", { className: (selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(value))
73
+ ? "selected"
74
+ : "notSelected" })),
75
+ isStatusTag ? (React.createElement(AppointementStatusTag, { status: value })) : (React.createElement("span", null, name))));
76
+ };
77
+ return (React.createElement(React.Fragment, null,
78
+ React.createElement("div", __assign({ className: "baseFilter" }, props),
79
+ React.createElement(FilterButtonPrimary, { onClick: function () { return handleButtonTap(); }, zIndex: isOpen ? "2000" : "+1" },
80
+ children,
81
+ React.createElement("p", { style: { color: "#25BEEB", fontWeight: "600" } }, showNumIndic && "(".concat(selectedValues.length, ")"))),
82
+ isOpen && (React.createElement("div", { className: "options" }, filterData &&
83
+ (filterData === null || filterData === void 0 ? void 0 : filterData.length) > 0 &&
84
+ filterData.map(function (item, idx) { return (React.createElement(Item, { name: item === null || item === void 0 ? void 0 : item.name, value: item === null || item === void 0 ? void 0 : item.value, key: idx })); })))),
85
+ isOpen && showBackdrop && (React.createElement("div", { className: "backdrop", onClick: function () { return handleClose(); } }))));
86
+ }
87
+ export default BaseFilter;
@@ -0,0 +1,2 @@
1
+ export { default } from "./Filter";
2
+ export type { FilterProps } from "./Filter";
@@ -0,0 +1 @@
1
+ export { default } from "./Filter";