allaw-ui 1.0.21 → 1.0.23

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.
@@ -11,7 +11,8 @@
11
11
  font-size: 18px;
12
12
  }
13
13
 
14
- .tab-item {
14
+ /* Style normal (par défaut) */
15
+ .tab-navigation.normal .tab-item {
15
16
  display: flex;
16
17
  padding: 0px 16px 10px 16px;
17
18
  justify-content: center;
@@ -21,21 +22,67 @@
21
22
  position: relative;
22
23
  }
23
24
 
24
- .tab-item.active {
25
+ .tab-navigation.normal .tab-item.active {
25
26
  border-bottom: 3px solid #000;
26
27
  padding-bottom: 10px;
27
28
  color: var(--Primary-Mid-black, var(--primary-black, #171e25));
28
29
  }
29
30
 
30
- .tab-item.inactive {
31
+ .tab-navigation.normal .tab-item.inactive {
31
32
  border-bottom: 3px solid var(--grey-venom, #e6edf5);
32
33
  color: var(--Tags-Mid-grey, var(--light-grey, #728ea7));
33
34
  }
34
35
 
36
+ /* Style round */
37
+ .tab-navigation.round {
38
+ padding: 4px;
39
+ border-radius: 8px;
40
+ gap: 8px;
41
+ }
42
+
43
+ .tab-navigation.round .tab-item {
44
+ display: flex;
45
+ padding: 8px 16px;
46
+ justify-content: center;
47
+ align-items: center;
48
+ gap: 8px;
49
+ cursor: pointer;
50
+ position: relative;
51
+ border-radius: 6px;
52
+ }
53
+
54
+ .tab-navigation.round .tab-item.active {
55
+ background: var(--dark-grey, #456073);
56
+ color: var(--pure-white, #fff);
57
+ height: 35px;
58
+ padding: 12px 24px;
59
+ border-radius: 18px;
60
+ border: 0px;
61
+ }
62
+
63
+ .tab-navigation.round .tab-item.active:hover {
64
+ background: #3c5364;
65
+ color: var(--pure-white, #fff);
66
+ }
67
+
68
+ .tab-navigation.round .tab-item.inactive {
69
+ background: var(--grey-light, #f6fcfe);
70
+ color: var(--noir, #171e25);
71
+ height: 35px;
72
+ padding: 12px 24px;
73
+ border-radius: 18px;
74
+ border: 1px solid var(--grey-venom, #e6edf5);
75
+ }
76
+
77
+ .tab-navigation.round .tab-item.inactive:hover {
78
+ background: var(--grey-venom, #e6edf5);
79
+ }
80
+
35
81
  .tab-label {
36
- font-family: "Poppins", sans-serif;
82
+ font-family: "Open Sans", sans-serif;
83
+ font-size: 14px;
37
84
  font-style: normal;
38
- font-weight: 600;
85
+ font-weight: 500;
39
86
  line-height: 1;
40
87
  text-align: center;
41
88
  }
@@ -46,6 +93,13 @@
46
93
  background-color: #ef1a1a;
47
94
  border-radius: 50%;
48
95
  position: absolute;
49
- top: 6px;
50
- right: 6px;
96
+ right: 10px;
97
+ }
98
+
99
+ .tab-navigation.normal .tab-notification-dot {
100
+ top: 7px;
101
+ }
102
+
103
+ .tab-navigation.round .tab-notification-dot {
104
+ top: 15px;
51
105
  }
@@ -9,6 +9,7 @@ export interface TabNavigationProps {
9
9
  }[];
10
10
  onTabClick: (index: number) => void;
11
11
  size?: "small" | "normal";
12
+ variant?: "normal" | "round";
12
13
  }
13
14
  declare const TabNavigation: React.FC<TabNavigationProps>;
14
15
  export default TabNavigation;
@@ -2,8 +2,8 @@ import React from "react";
2
2
  import "./TabNavigation.css";
3
3
  import "../../../styles/global.css";
4
4
  var TabNavigation = function (_a) {
5
- var tabs = _a.tabs, onTabClick = _a.onTabClick, _b = _a.size, size = _b === void 0 ? "normal" : _b;
6
- return (React.createElement("div", { className: "tab-navigation ".concat(size) }, tabs.map(function (tab, index) { return (React.createElement("div", { key: index, className: "tab-item ".concat(tab.isActive ? "active" : "inactive"), onClick: function () { return onTabClick(index); } },
5
+ var tabs = _a.tabs, onTabClick = _a.onTabClick, _b = _a.size, size = _b === void 0 ? "normal" : _b, _c = _a.variant, variant = _c === void 0 ? "normal" : _c;
6
+ return (React.createElement("div", { className: "tab-navigation ".concat(size, " ").concat(variant) }, 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
7
  React.createElement("span", { className: "tab-label" }, tab.label),
8
8
  tab.hasNotification && React.createElement("span", { className: "tab-notification-dot" }))); })));
9
9
  };
@@ -1,6 +1,6 @@
1
1
  .datepicker-container {
2
2
  position: relative;
3
- width: fit-content;
3
+ width: 100%;
4
4
  }
5
5
 
6
6
  .datepicker {
@@ -16,6 +16,7 @@
16
16
  border: none;
17
17
  cursor: pointer;
18
18
  min-width: 200px;
19
+ width: 100%;
19
20
  }
20
21
 
21
22
  .datepicker:hover {
@@ -15,6 +15,7 @@ export interface InputProps {
15
15
  value?: string;
16
16
  error?: string;
17
17
  color?: "bleu-allaw" | "mid-grey" | "dark-grey" | "noir" | "pure-white" | "grey-venom" | "venom-grey-dark";
18
+ variant?: "bold" | "semiBold" | "medium";
18
19
  }
19
20
  export interface InputRef {
20
21
  validate: () => boolean;
@@ -6,11 +6,11 @@ import { commonRegex } from "../../../utils/regex";
6
6
  import TinyInfo from "../typography/TinyInfo";
7
7
  import Paragraph from "../typography/Paragraph";
8
8
  var Input = forwardRef(function (_a, ref) {
9
- var title = _a.title, _b = _a.style, style = _b === void 0 ? "default" : _b, placeholder = _a.placeholder, endIcon = _a.endIcon, _c = _a.isRequired, isRequired = _c === void 0 ? false : _c, validate = _a.validate, onError = _a.onError, onChange = _a.onChange, propValue = _a.value, propError = _a.error, _d = _a.color, color = _d === void 0 ? "noir" : _d;
10
- var _e = useState(false), isPasswordVisible = _e[0], setIsPasswordVisible = _e[1];
11
- var _f = useState(propValue || ""), value = _f[0], setValue = _f[1];
12
- var _g = useState(propError || ""), error = _g[0], setError = _g[1];
13
- var _h = useState(false), isTouched = _h[0], setIsTouched = _h[1];
9
+ var title = _a.title, _b = _a.style, style = _b === void 0 ? "default" : _b, placeholder = _a.placeholder, endIcon = _a.endIcon, _c = _a.isRequired, isRequired = _c === void 0 ? false : _c, validate = _a.validate, onError = _a.onError, onChange = _a.onChange, propValue = _a.value, propError = _a.error, _d = _a.color, color = _d === void 0 ? "noir" : _d, _e = _a.variant, variant = _e === void 0 ? "medium" : _e;
10
+ var _f = useState(false), isPasswordVisible = _f[0], setIsPasswordVisible = _f[1];
11
+ var _g = useState(propValue || ""), value = _g[0], setValue = _g[1];
12
+ var _h = useState(propError || ""), error = _h[0], setError = _h[1];
13
+ var _j = useState(false), isTouched = _j[0], setIsTouched = _j[1];
14
14
  var inputRef = useRef(null);
15
15
  useEffect(function () {
16
16
  setValue(propValue || "");
@@ -71,7 +71,7 @@ var Input = forwardRef(function (_a, ref) {
71
71
  };
72
72
  return (React.createElement("div", { className: "Input Input-".concat(style) },
73
73
  React.createElement("div", { className: "Input-title-container" },
74
- React.createElement(Paragraph, { variant: "semiBold", color: color, text: title }),
74
+ React.createElement(Paragraph, { variant: variant, color: color, text: title }),
75
75
  isRequired && title && (React.createElement("span", { className: "Input-required" },
76
76
  "\u00A0",
77
77
  "*"))),
@@ -4,7 +4,7 @@
4
4
  .text-area {
5
5
  display: flex;
6
6
  flex-direction: column;
7
- gap: 8px;
7
+ gap: 11px;
8
8
  /* field-sizing: content; */
9
9
  }
10
10
 
@@ -13,6 +13,8 @@ export interface TextAreaProps {
13
13
  value?: string;
14
14
  error?: string;
15
15
  maxHeight?: number;
16
+ variant?: "bold" | "semiBold" | "medium";
17
+ color?: "bleu-allaw" | "mid-grey" | "dark-grey" | "noir" | "pure-white" | "grey-venom" | "venom-grey-dark";
16
18
  }
17
19
  export interface TextAreaRef {
18
20
  validate: () => boolean;
@@ -6,10 +6,10 @@ import { commonRegex } from "../../../utils/regex";
6
6
  import TinyInfo from "../typography/TinyInfo";
7
7
  import Paragraph from "../typography/Paragraph";
8
8
  var TextArea = forwardRef(function (_a, ref) {
9
- var title = _a.title, _b = _a.style, style = _b === void 0 ? "default" : _b, placeholder = _a.placeholder, _c = _a.isRequired, isRequired = _c === void 0 ? false : _c, validate = _a.validate, onError = _a.onError, onChange = _a.onChange, propValue = _a.value, propError = _a.error, _d = _a.maxHeight, maxHeight = _d === void 0 ? 400 : _d;
10
- var _e = useState(propValue || ""), value = _e[0], setValue = _e[1];
11
- var _f = useState(propError || ""), error = _f[0], setError = _f[1];
12
- var _g = useState(false), isTouched = _g[0], setIsTouched = _g[1];
9
+ var title = _a.title, _b = _a.style, style = _b === void 0 ? "default" : _b, placeholder = _a.placeholder, _c = _a.isRequired, isRequired = _c === void 0 ? false : _c, validate = _a.validate, onError = _a.onError, onChange = _a.onChange, propValue = _a.value, propError = _a.error, _d = _a.maxHeight, maxHeight = _d === void 0 ? 400 : _d, _e = _a.variant, variant = _e === void 0 ? "medium" : _e, _f = _a.color, color = _f === void 0 ? "noir" : _f;
10
+ var _g = useState(propValue || ""), value = _g[0], setValue = _g[1];
11
+ var _h = useState(propError || ""), error = _h[0], setError = _h[1];
12
+ var _j = useState(false), isTouched = _j[0], setIsTouched = _j[1];
13
13
  var textareaRef = useRef(null);
14
14
  useEffect(function () {
15
15
  setValue(propValue || "");
@@ -52,7 +52,7 @@ var TextArea = forwardRef(function (_a, ref) {
52
52
  };
53
53
  return (React.createElement("div", { className: "TextArea text-area-".concat(style) },
54
54
  React.createElement("div", { className: "text-area-title-container" },
55
- React.createElement(Paragraph, { variant: "semiBold", color: "noir", text: title }),
55
+ React.createElement(Paragraph, { variant: variant, color: color, text: title }),
56
56
  isRequired && title && (React.createElement("span", { className: "text-area-required" },
57
57
  "\u00A0",
58
58
  "*"))),
@@ -7,7 +7,7 @@
7
7
  padding: 8px 16px;
8
8
  justify-content: space-between;
9
9
  align-items: center;
10
- gap: 8px;
10
+ gap: 11px;
11
11
  border-radius: 8px;
12
12
  background: var(--secondary-light-grey, #f4f7fb);
13
13
  cursor: pointer;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import "react-datepicker/dist/react-datepicker.css";
3
+ import "./datepickerForm.css";
4
+ import "../../../styles/global.css";
5
+ export interface DatepickerFormProps {
6
+ value?: Date;
7
+ onChange?: (date: Date) => void;
8
+ placeholder?: string;
9
+ text?: string;
10
+ variant?: "bold" | "semiBold" | "medium";
11
+ color?: "bleu-allaw" | "mid-grey" | "dark-grey" | "noir" | "pure-white" | "grey-venom" | "venom-grey-dark";
12
+ }
13
+ declare const DatepickerForm: React.FC<DatepickerFormProps>;
14
+ export default DatepickerForm;
@@ -0,0 +1,84 @@
1
+ import React, { forwardRef, useState, useRef, useEffect } from "react";
2
+ import ReactDatePicker from "react-datepicker";
3
+ import ReactDOM from "react-dom";
4
+ import "react-datepicker/dist/react-datepicker.css";
5
+ import "./datepickerForm.css";
6
+ import "../../../styles/global.css";
7
+ import { fr } from "date-fns/locale";
8
+ import { format } from "date-fns";
9
+ import Paragraph from "../../atoms/typography/Paragraph";
10
+ var CustomInput = forwardRef(function (_a, ref) {
11
+ var value = _a.value, onClick = _a.onClick, placeholder = _a.placeholder;
12
+ return (React.createElement("button", { type: "button", className: "datepicker-form", onClick: onClick, ref: ref },
13
+ React.createElement("span", { className: "datepicker-form-text" }, value || placeholder),
14
+ React.createElement("i", { className: "datepicker-form-icon allaw-icon-calendar" })));
15
+ });
16
+ CustomInput.displayName = "CustomInput";
17
+ var DatepickerForm = function (_a) {
18
+ var value = _a.value, onChange = _a.onChange, _b = _a.placeholder, placeholder = _b === void 0 ? "Sélectionner une date" : _b, text = _a.text, _c = _a.variant, variant = _c === void 0 ? "medium" : _c, _d = _a.color, color = _d === void 0 ? "noir" : _d;
19
+ var _e = useState(value), selectedDate = _e[0], setSelectedDate = _e[1];
20
+ var _f = useState(false), isOpen = _f[0], setIsOpen = _f[1];
21
+ var _g = useState({ top: 0, left: 0 }), position = _g[0], setPosition = _g[1];
22
+ var buttonRef = useRef(null);
23
+ var calendarRef = useRef(null);
24
+ var updatePosition = function () {
25
+ if (buttonRef.current) {
26
+ var rect = buttonRef.current.getBoundingClientRect();
27
+ setPosition({
28
+ top: rect.bottom + window.scrollY,
29
+ left: rect.left + window.scrollX,
30
+ });
31
+ }
32
+ };
33
+ useEffect(function () {
34
+ if (isOpen) {
35
+ updatePosition();
36
+ window.addEventListener("scroll", updatePosition);
37
+ window.addEventListener("resize", updatePosition);
38
+ }
39
+ return function () {
40
+ window.removeEventListener("scroll", updatePosition);
41
+ window.removeEventListener("resize", updatePosition);
42
+ };
43
+ }, [isOpen]);
44
+ var handleDateChange = function (date) {
45
+ if (date) {
46
+ setSelectedDate(date);
47
+ onChange === null || onChange === void 0 ? void 0 : onChange(date);
48
+ setIsOpen(false);
49
+ }
50
+ };
51
+ var handleClickOutside = function (event) {
52
+ if (buttonRef.current &&
53
+ !buttonRef.current.contains(event.target) &&
54
+ calendarRef.current &&
55
+ !calendarRef.current.contains(event.target)) {
56
+ setIsOpen(false);
57
+ }
58
+ };
59
+ useEffect(function () {
60
+ if (isOpen) {
61
+ document.addEventListener("mousedown", handleClickOutside);
62
+ }
63
+ else {
64
+ document.removeEventListener("mousedown", handleClickOutside);
65
+ }
66
+ return function () {
67
+ document.removeEventListener("mousedown", handleClickOutside);
68
+ };
69
+ }, [isOpen]);
70
+ var renderCalendar = function () { return (React.createElement("div", { ref: calendarRef, className: "datepicker-form-portal", style: {
71
+ position: "absolute",
72
+ top: "".concat(position.top, "px"),
73
+ left: "".concat(position.left, "px"),
74
+ } },
75
+ React.createElement(ReactDatePicker, { selected: selectedDate, onChange: handleDateChange, locale: fr, inline: true, dateFormat: "dd MMMM yyyy", calendarClassName: "custom-calendar", showMonthDropdown: true, showYearDropdown: true, dropdownMode: "select", yearItemNumber: 15, maxDate: new Date() }))); };
76
+ return (React.createElement("div", { className: "datepicker-form-wrapper" },
77
+ text && React.createElement(Paragraph, { text: text, variant: variant, color: color }),
78
+ React.createElement("div", { className: "datepicker-form-container", ref: buttonRef },
79
+ React.createElement(CustomInput, { value: selectedDate
80
+ ? format(selectedDate, "dd MMMM yyyy", { locale: fr })
81
+ : "", onClick: function () { return setIsOpen(!isOpen); }, placeholder: placeholder }),
82
+ isOpen && ReactDOM.createPortal(renderCalendar(), document.body))));
83
+ };
84
+ export default DatepickerForm;
@@ -0,0 +1,217 @@
1
+ .datepicker-form-container {
2
+ position: relative;
3
+ width: 100%;
4
+ }
5
+
6
+ .datepicker-form {
7
+ display: flex;
8
+ height: 40px;
9
+ padding: 8px 16px;
10
+ justify-content: center;
11
+ align-items: center;
12
+ gap: 8px;
13
+ align-self: stretch;
14
+ border-radius: 8px;
15
+ background: var(--Primary-Light-grey, #f4f7fb);
16
+ border: none;
17
+ cursor: pointer;
18
+ min-width: 200px;
19
+ width: 100%;
20
+ }
21
+
22
+ .datepicker-form:hover {
23
+ background: var(--grey-venom, #e6edf5);
24
+ }
25
+
26
+ .datepicker-form-text {
27
+ color: var(--Primary-Mid-black, #171e25);
28
+ font-family: "Open Sans";
29
+ font-size: 16px;
30
+ font-style: normal;
31
+ font-weight: 700;
32
+ line-height: normal;
33
+ white-space: nowrap;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ }
37
+
38
+ .datepicker-form-icon {
39
+ color: var(--Primary-Dark-grey, #456073);
40
+ font-size: 16px;
41
+ padding-left: 6px;
42
+ }
43
+
44
+ /* Customisation du calendrier */
45
+ .custom-calendar {
46
+ border: none !important;
47
+ font-family: "Open Sans";
48
+ font-size: 16px;
49
+ width: 300px !important;
50
+ padding: 16px;
51
+ }
52
+
53
+ .react-datepicker-form__month-container {
54
+ width: 100%;
55
+ }
56
+
57
+ .react-datepicker-form__header {
58
+ background: white;
59
+ border: none;
60
+ padding: 0;
61
+ }
62
+
63
+ .react-datepicker-form__day-names {
64
+ display: flex;
65
+ justify-content: space-between;
66
+ padding: 16px 8px;
67
+ }
68
+
69
+ .react-datepicker-form__day-name {
70
+ color: var(--Primary-Dark-grey, #456073);
71
+ font-weight: 600;
72
+ width: 36px;
73
+ margin: 0;
74
+ }
75
+
76
+ .react-datepicker-form__month {
77
+ margin: 0;
78
+ padding: 8px;
79
+ }
80
+
81
+ .react-datepicker-form__day {
82
+ width: 36px;
83
+ height: 36px;
84
+ line-height: 36px;
85
+ margin: 0;
86
+ border-radius: 18px;
87
+ color: var(--Primary-Dark-grey, #456073);
88
+ font-family: "Open Sans";
89
+ }
90
+
91
+ .react-datepicker-form__day:hover {
92
+ background: var(--grey-venom, #e6edf5);
93
+ border-radius: 18px;
94
+ }
95
+
96
+ .react-datepicker-form__day--selected {
97
+ background: var(--bleu-allaw, #1985e8) !important;
98
+ border-radius: 18px !important;
99
+ color: white !important;
100
+ }
101
+
102
+ .react-datepicker-form__day--keyboard-selected {
103
+ background: var(--grey-venom, #e6edf5);
104
+ border-radius: 18px;
105
+ color: var(--Primary-Mid-black, #171e25);
106
+ }
107
+
108
+ .react-datepicker-form__day--keyboard-selected:not(
109
+ [aria-disabled="true"]
110
+ ):hover,
111
+ .react-datepicker-form__month-text--keyboard-selected:not(
112
+ [aria-disabled="true"]
113
+ ):hover,
114
+ .react-datepicker-form__quarter-text--keyboard-selected:not(
115
+ [aria-disabled="true"]
116
+ ):hover,
117
+ .react-datepicker-form__year-text--keyboard-selected:not(
118
+ [aria-disabled="true"]
119
+ ):hover {
120
+ background-color: var(--bleu-allaw, #25beeb);
121
+ color: white;
122
+ border-radius: 18px;
123
+ }
124
+
125
+ .custom-header {
126
+ margin-bottom: 16px;
127
+ }
128
+
129
+ .year-dropdown,
130
+ .month-dropdown {
131
+ padding: 8px;
132
+ min-width: 100px;
133
+ }
134
+
135
+ /* Style pour mobile */
136
+ @media (max-width: 768px) {
137
+ .datepicker-form {
138
+ width: 100%;
139
+ min-width: unset;
140
+ }
141
+ }
142
+
143
+ .datepicker-form-portal {
144
+ position: absolute;
145
+ z-index: 9999;
146
+ background: white;
147
+ border: 1px solid var(--grey-venom, #e6edf5);
148
+ border-radius: 8px;
149
+ box-shadow: 0px 4px 8px 0px rgba(9, 30, 66, 0.15);
150
+ }
151
+
152
+ /* Customisation des flèches de navigation */
153
+ .react-datepicker-form__navigation {
154
+ padding: 8px;
155
+ border-radius: 18px;
156
+ margin: 8px;
157
+ }
158
+
159
+ .react-datepicker-form__navigation--previous {
160
+ left: 1px;
161
+ }
162
+
163
+ .react-datepicker-form__navigation--next {
164
+ right: 1px;
165
+ }
166
+
167
+ .react-datepicker-form__navigation:hover {
168
+ background: var(--grey-venom, #e6edf5);
169
+ border-radius: 18px;
170
+ }
171
+
172
+ /* Padding pour le mois en cours */
173
+ .react-datepicker-form__current-month {
174
+ padding-bottom: 18px;
175
+ }
176
+
177
+ .react-datepicker-form__current-month.react-datepicker-form__current-month--hasYearDropdown.react-datepicker-form__current-month--hasMonthDropdown {
178
+ padding-bottom: 16px;
179
+ }
180
+
181
+ .react-datepicker-form__month-select,
182
+ .react-datepicker-form__year-select {
183
+ font-size: 16px;
184
+ font-family: "Open Sans";
185
+ padding: 6px 10px;
186
+ border-radius: 8px;
187
+ border: 1px solid var(--grey-venom, #e6edf5);
188
+ background-color: white;
189
+ cursor: pointer;
190
+ }
191
+
192
+ .react-datepicker-form__month-select:hover,
193
+ .react-datepicker-form__year-select:hover {
194
+ background: var(--grey-venom, #e6edf5);
195
+ }
196
+
197
+ .react-datepicker-form__navigation-icon.react-datepicker-form__navigation-icon--previous {
198
+ left: 1px;
199
+ }
200
+
201
+ .react-datepicker-form__navigation-icon.react-datepicker-form__navigation-icon--next {
202
+ right: 1px;
203
+ }
204
+
205
+ .react-datepicker-form__day:not([aria-disabled="true"]):hover,
206
+ .react-datepicker-form__month-text:not([aria-disabled="true"]):hover,
207
+ .react-datepicker-form__quarter-text:not([aria-disabled="true"]):hover,
208
+ .react-datepicker-form__year-text:not([aria-disabled="true"]):hover {
209
+ border-radius: 18px;
210
+ }
211
+
212
+ .datepicker-form-wrapper {
213
+ display: flex;
214
+ flex-direction: column;
215
+ gap: 11px;
216
+ width: 100%;
217
+ }
@@ -0,0 +1,2 @@
1
+ export { default as DatepickerForm } from "./DatepickerForm";
2
+ export type { DatepickerFormProps } from "./DatepickerForm";
@@ -0,0 +1 @@
1
+ export { default as DatepickerForm } from "./DatepickerForm";
@@ -1,7 +1,7 @@
1
1
  .select-form {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- gap: 8px;
4
+ gap: 11px;
5
5
  }
6
6
 
7
7
  .select-form-required {
@@ -10,6 +10,8 @@ export interface SelectFormProps {
10
10
  width?: number;
11
11
  selectedItem?: string | string[];
12
12
  onChange?: (selected: string | string[]) => void;
13
+ variant?: "bold" | "semiBold" | "medium";
14
+ color?: "bleu-allaw" | "mid-grey" | "dark-grey" | "noir" | "pure-white" | "grey-venom" | "venom-grey-dark";
13
15
  }
14
16
  declare const SelectForm: React.FC<SelectFormProps>;
15
17
  export default SelectForm;
@@ -4,9 +4,9 @@ import "../../../styles/global.css";
4
4
  import Paragraph from "../../atoms/typography/Paragraph";
5
5
  import Select from "../../atoms/selects/Select";
6
6
  var SelectForm = function (_a) {
7
- var label = _a.label, isRequired = _a.isRequired, options = _a.options, isMultiple = _a.isMultiple, _b = _a.width, width = _b === void 0 ? 100 : _b, selectedItem = _a.selectedItem, onChange = _a.onChange;
7
+ var label = _a.label, isRequired = _a.isRequired, options = _a.options, isMultiple = _a.isMultiple, _b = _a.width, width = _b === void 0 ? 100 : _b, selectedItem = _a.selectedItem, onChange = _a.onChange, _c = _a.variant, variant = _c === void 0 ? "medium" : _c, _d = _a.color, color = _d === void 0 ? "noir" : _d;
8
8
  return (React.createElement("div", { className: "select-form" },
9
- React.createElement(Paragraph, { variant: "medium", color: "noir", text: React.createElement(React.Fragment, null,
9
+ React.createElement(Paragraph, { variant: variant, color: color, text: React.createElement(React.Fragment, null,
10
10
  label,
11
11
  " ",
12
12
  isRequired && React.createElement("span", { className: "select-form-required" }, "*")), size: "default" }),
package/dist/index.d.ts CHANGED
@@ -25,6 +25,8 @@ export { default as ComboBox } from "./components/atoms/selects/ComboBox";
25
25
  export type { ComboBoxProps, ComboBoxRef, } from "./components/atoms/selects/ComboBox";
26
26
  export { default as Datepicker } from "./components/atoms/datepickers/Datepicker";
27
27
  export type { DatepickerProps } from "./components/atoms/datepickers/Datepicker";
28
+ export { default as DatepickerForm } from "./components/molecules/datepickerForm/DatepickerForm";
29
+ export type { DatepickerFormProps } from "./components/molecules/datepickerForm/DatepickerForm";
28
30
  export { default as AppointementStatusTag } from "./components/atoms/tags/AppointementStatusTag";
29
31
  export { default as FolderStatusTag } from "./components/atoms/tags/FolderStatusTag";
30
32
  export { default as OtherStatusTag } from "./components/atoms/tags/OtherStatusTag";
package/dist/index.js CHANGED
@@ -29,6 +29,8 @@ export { default as Select } from "./components/atoms/selects/Select";
29
29
  export { default as ComboBox } from "./components/atoms/selects/ComboBox";
30
30
  // Datepickers
31
31
  export { default as Datepicker } from "./components/atoms/datepickers/Datepicker";
32
+ // DatepickerForm
33
+ export { default as DatepickerForm } from "./components/molecules/datepickerForm/DatepickerForm";
32
34
  // Tags
33
35
  export { default as AppointementStatusTag } from "./components/atoms/tags/AppointementStatusTag";
34
36
  export { default as FolderStatusTag } from "./components/atoms/tags/FolderStatusTag";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allaw-ui",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
4
4
  "description": "Composants UI pour l'application Allaw",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",