allaw-ui 0.1.19 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,6 @@
4
4
 
5
5
  .select {
6
6
  display: flex;
7
- width: 100%;
8
7
  padding: 8px 16px;
9
8
  justify-content: space-between;
10
9
  align-items: center;
@@ -37,9 +36,8 @@
37
36
  }
38
37
 
39
38
  .select-list {
40
- display: none; /* Masquer par défaut */
39
+ display: none;
41
40
  flex-direction: column;
42
- width: 480px;
43
41
  background: var(--secondary-light-grey, #f4f7fb);
44
42
  border-radius: 8px;
45
43
  margin-top: 8px;
@@ -12,6 +12,7 @@ export interface SelectProps<T extends string | string[]> {
12
12
  multiple?: boolean;
13
13
  isRequired?: boolean;
14
14
  showError?: boolean;
15
+ width?: number;
15
16
  onChange?: (selected: T) => void;
16
17
  onError?: (error: string) => void;
17
18
  }
@@ -13,10 +13,10 @@ import "../../../styles/global.css";
13
13
  import TinyInfo from "../typography/TinyInfo";
14
14
  function Select(_a, ref) {
15
15
  var _b;
16
- var items = _a.items, selectedItem = _a.selectedItem, _c = _a.placeholder, placeholder = _c === void 0 ? "Select..." : _c, _d = _a.multiple, multiple = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, _f = _a.showError, showError = _f === void 0 ? false : _f, onChange = _a.onChange, onError = _a.onError;
17
- var _g = useState(false), isOpen = _g[0], setIsOpen = _g[1];
18
- var _h = useState((multiple ? selectedItem || [] : selectedItem || "")), selected = _h[0], setSelected = _h[1];
19
- var _j = useState(""), error = _j[0], setError = _j[1];
16
+ var items = _a.items, selectedItem = _a.selectedItem, _c = _a.placeholder, placeholder = _c === void 0 ? "Select..." : _c, _d = _a.multiple, multiple = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, _f = _a.showError, showError = _f === void 0 ? false : _f, _g = _a.width, width = _g === void 0 ? 100 : _g, onChange = _a.onChange, onError = _a.onError;
17
+ var _h = useState(false), isOpen = _h[0], setIsOpen = _h[1];
18
+ var _j = useState((multiple ? selectedItem || [] : selectedItem || "")), selected = _j[0], setSelected = _j[1];
19
+ var _k = useState(""), error = _k[0], setError = _k[1];
20
20
  var selectRef = useRef(null);
21
21
  useEffect(function () {
22
22
  setSelected((multiple ? selectedItem || [] : selectedItem || ""));
@@ -63,8 +63,8 @@ function Select(_a, ref) {
63
63
  useImperativeHandle(ref, function () { return ({
64
64
  validate: function () { return validateSelect(selected); },
65
65
  }); });
66
- return (React.createElement("div", { ref: selectRef, className: "select-container ".concat(isOpen ? "select-pressed" : "") },
67
- React.createElement("button", { className: "select ".concat(isOpen ? "select-pressed" : "select-default"), onClick: toggleOpen },
66
+ return (React.createElement("div", { ref: selectRef, className: "select-container ".concat(isOpen ? "select-pressed" : ""), style: { width: "".concat(width, "%") } },
67
+ React.createElement("button", { className: "select ".concat(isOpen ? "select-pressed" : "select-default"), onClick: toggleOpen, style: { width: "100%" } },
68
68
  React.createElement("span", { className: "select-text" }, Array.isArray(selected) && selected.length > 0
69
69
  ? selected
70
70
  .map(function (val) { var _a; return (_a = items.find(function (item) { return item.value === val; })) === null || _a === void 0 ? void 0 : _a.label; })
@@ -73,7 +73,7 @@ function Select(_a, ref) {
73
73
  ? (_b = items.find(function (item) { return item.value === selected; })) === null || _b === void 0 ? void 0 : _b.label
74
74
  : placeholder),
75
75
  React.createElement("span", { className: "select-icon ".concat(isOpen ? "allaw-icon-chevron-up" : "allaw-icon-chevron-down") })),
76
- isOpen && (React.createElement("div", { className: "select-list" }, items.map(function (item) { return (React.createElement("div", { key: item.value, className: "select-item ".concat(Array.isArray(selected) && selected.includes(item.value)
76
+ isOpen && (React.createElement("div", { className: "select-list", style: { width: "100%" } }, items.map(function (item) { return (React.createElement("div", { key: item.value, className: "select-item ".concat(Array.isArray(selected) && selected.includes(item.value)
77
77
  ? "selected"
78
78
  : "", " ").concat(!multiple ? "single-select" : ""), onClick: function () { return handleSelect(item); } },
79
79
  multiple && (React.createElement("span", { className: "select-item-icon allaw-icon-check" })),
@@ -0,0 +1,14 @@
1
+ .radio-form {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 16px;
5
+ }
6
+
7
+ .radio-form-required {
8
+ color: #e15151;
9
+ }
10
+
11
+ .radio-form-options {
12
+ display: flex;
13
+ gap: 32px;
14
+ }
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import "./RadioForm.css";
3
+ import "../../../styles/global.css";
4
+ export interface RadioFormProps {
5
+ label: string;
6
+ isRequired: boolean;
7
+ options: string[];
8
+ defaultSelected?: string;
9
+ onChange?: (selectedOption: string | null) => void;
10
+ }
11
+ declare const RadioForm: React.FC<RadioFormProps>;
12
+ export default RadioForm;
@@ -0,0 +1,27 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import "./RadioForm.css";
3
+ import "../../../styles/global.css";
4
+ import Paragraph from "../../atoms/typography/Paragraph";
5
+ import RadioButton from "../../atoms/radios/RadioButton";
6
+ var RadioForm = function (_a) {
7
+ var label = _a.label, isRequired = _a.isRequired, options = _a.options, defaultSelected = _a.defaultSelected, onChange = _a.onChange;
8
+ var _b = useState(defaultSelected || null), selectedOption = _b[0], setSelectedOption = _b[1];
9
+ useEffect(function () {
10
+ if (defaultSelected) {
11
+ setSelectedOption(defaultSelected);
12
+ }
13
+ }, [defaultSelected]);
14
+ var handleOptionChange = function (option) {
15
+ setSelectedOption(option);
16
+ if (onChange) {
17
+ onChange(option);
18
+ }
19
+ };
20
+ return (React.createElement("div", { className: "radio-form" },
21
+ React.createElement(Paragraph, { variant: "medium", color: "noir", text: React.createElement(React.Fragment, null,
22
+ label,
23
+ " ",
24
+ isRequired && React.createElement("span", { className: "radio-form-required" }, "*")), size: "default" }),
25
+ React.createElement("div", { className: "radio-form-options" }, options.map(function (option, index) { return (React.createElement(RadioButton, { key: index, label: option, style: "hybride", isActive: selectedOption === option, onClick: function () { return handleOptionChange(option); } })); }))));
26
+ };
27
+ export default RadioForm;
@@ -0,0 +1,2 @@
1
+ export { default as RadioForm } from "./RadioForm";
2
+ export type { RadioFormProps } from "./RadioForm";
@@ -0,0 +1 @@
1
+ export { default as RadioForm } from "./RadioForm";
@@ -0,0 +1,9 @@
1
+ .select-form {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 8px;
5
+ }
6
+
7
+ .select-form-required {
8
+ color: #e15151;
9
+ }
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import "./SelectForm.css";
3
+ import "../../../styles/global.css";
4
+ import { SelectItem } from "../../atoms/selects/Select";
5
+ export interface SelectFormProps {
6
+ label: string;
7
+ isRequired: boolean;
8
+ options: SelectItem[];
9
+ isMultiple: boolean;
10
+ width?: number;
11
+ selectedItem?: string | string[];
12
+ onChange?: (selected: string | string[]) => void;
13
+ }
14
+ declare const SelectForm: React.FC<SelectFormProps>;
15
+ export default SelectForm;
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import "./SelectForm.css";
3
+ import "../../../styles/global.css";
4
+ import Paragraph from "../../atoms/typography/Paragraph";
5
+ import Select from "../../atoms/selects/Select";
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;
8
+ return (React.createElement("div", { className: "select-form" },
9
+ React.createElement(Paragraph, { variant: "medium", color: "noir", text: React.createElement(React.Fragment, null,
10
+ label,
11
+ " ",
12
+ isRequired && React.createElement("span", { className: "select-form-required" }, "*")), size: "default" }),
13
+ React.createElement(Select, { items: options, multiple: isMultiple, isRequired: isRequired, width: width, selectedItem: selectedItem, onChange: onChange })));
14
+ };
15
+ export default SelectForm;
@@ -0,0 +1,2 @@
1
+ export { default as SelectForm } from "./SelectForm";
2
+ export type { SelectFormProps } from "./SelectForm";
@@ -0,0 +1 @@
1
+ export { default as SelectForm } from "./SelectForm";
package/dist/index.d.ts CHANGED
@@ -38,5 +38,7 @@ export { default as EmployeeCard } from "./components/molecules/employeeCard/Emp
38
38
  export { default as Stepper } from "./components/molecules/stepper/Stepper";
39
39
  export type { StepperProps } from "./components/molecules/stepper/Stepper";
40
40
  export { default as CheckboxForm } from "./components/molecules/checkboxForm/CheckboxForm";
41
+ export { default as RadioForm } from "./components/molecules/radioForm/RadioForm";
42
+ export { default as SelectForm } from "./components/molecules/selectForm/SelectForm";
41
43
  export { default as Breadcrumb } from "./components/molecules/breadcrumb/Breadcrumb";
42
44
  export { default as ProCard } from "./components/molecules/proCard/ProCard";
package/dist/index.js CHANGED
@@ -54,6 +54,10 @@ export { default as EmployeeCard } from "./components/molecules/employeeCard/Emp
54
54
  export { default as Stepper } from "./components/molecules/stepper/Stepper";
55
55
  // CheckboxForm
56
56
  export { default as CheckboxForm } from "./components/molecules/checkboxForm/CheckboxForm";
57
+ // RadioForm
58
+ export { default as RadioForm } from "./components/molecules/radioForm/RadioForm";
59
+ // SelectForm
60
+ export { default as SelectForm } from "./components/molecules/selectForm/SelectForm";
57
61
  // Breadcrumb
58
62
  export { default as Breadcrumb } from "./components/molecules/breadcrumb/Breadcrumb";
59
63
  // ProCard
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allaw-ui",
3
- "version": "0.1.19",
3
+ "version": "0.1.22",
4
4
  "description": "Composants UI pour l'application Allaw",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",