allaw-ui 0.0.335 → 0.0.337
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.
- package/dist/components/atoms/buttons/FilterButtonPrimary.d.ts +9 -0
- package/dist/components/atoms/buttons/FilterButtonPrimary.js +46 -0
- package/dist/components/atoms/buttons/index.d.ts +2 -0
- package/dist/components/atoms/buttons/index.js +1 -0
- package/dist/components/atoms/filter/Basefiler.css +80 -0
- package/dist/components/atoms/filter/Filter.d.ts +22 -0
- package/dist/components/atoms/filter/Filter.js +87 -0
- package/dist/components/atoms/filter/index.d.ts +2 -0
- package/dist/components/atoms/filter/index.js +1 -0
- package/dist/components/atoms/typography/Paragraph.d.ts +1 -1
- package/dist/components/atoms/typography/Paragraph.js +4 -2
- package/dist/components/molecules/checkboxForm/CheckboxForm.css +7 -1
- package/dist/components/molecules/checkboxForm/CheckboxForm.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type FilterButtonPrimaryProps = {
|
|
3
|
+
onClick: any;
|
|
4
|
+
zIndex?: string;
|
|
5
|
+
children: any;
|
|
6
|
+
props?: any;
|
|
7
|
+
};
|
|
8
|
+
declare function FilterButtonPrimary({ onClick, zIndex, children, ...props }: FilterButtonPrimaryProps | any): React.JSX.Element;
|
|
9
|
+
export default FilterButtonPrimary;
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
import React from "react";
|
|
24
|
+
function FilterButtonPrimary(_a) {
|
|
25
|
+
var onClick = _a.onClick, _b = _a.zIndex, zIndex = _b === void 0 ? "100" : _b, children = _a.children, props = __rest(_a, ["onClick", "zIndex", "children"]);
|
|
26
|
+
return (React.createElement("button", __assign({ style: {
|
|
27
|
+
fontWeight: "600",
|
|
28
|
+
backgroundColor: "var(--primary-light-grey, #F4F7FB)",
|
|
29
|
+
padding: "10px",
|
|
30
|
+
borderRadius: "5px",
|
|
31
|
+
fontSize: "14px",
|
|
32
|
+
textWrap: "nowrap",
|
|
33
|
+
border: "1px solid var(--primary-venom-grey, #E6EDF5)",
|
|
34
|
+
position: "sticky",
|
|
35
|
+
color: "#000",
|
|
36
|
+
display: "flex",
|
|
37
|
+
cursor: "pointer",
|
|
38
|
+
flexDirection: "row",
|
|
39
|
+
gap: "0.5rem",
|
|
40
|
+
alignItems: "center",
|
|
41
|
+
zIndex: zIndex,
|
|
42
|
+
}, onClick: function () { return onClick && onClick(); } }, props),
|
|
43
|
+
React.createElement("i", { className: "allaw-icon-filter", style: { fontSize: "14px", color: "#25BEEB" } }),
|
|
44
|
+
children));
|
|
45
|
+
}
|
|
46
|
+
export default FilterButtonPrimary;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as FavoriteToggle } from "./FavoriteToggle";
|
|
2
|
+
export { default as FilterButtonPrimary } from "./FilterButtonPrimary";
|
|
2
3
|
export { default as FilterButton } from "./FilterButton";
|
|
3
4
|
export { default as GhostButton } from "./GhostButton";
|
|
4
5
|
export { default as IconButton } from "./IconButton";
|
|
@@ -18,3 +19,4 @@ export type { SecondaryButtonProps } from "./SecondaryButton";
|
|
|
18
19
|
export type { TabNavigationProps } from "./TabNavigation";
|
|
19
20
|
export type { TertiaryButtonProps } from "./TertiaryButton";
|
|
20
21
|
export type { OAuthProviderButtonProps } from "./OAuthProviderButton";
|
|
22
|
+
export type { FilterButtonPrimaryProps } from "./FilterButtonPrimary";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as FavoriteToggle } from "./FavoriteToggle";
|
|
2
|
+
export { default as FilterButtonPrimary } from "./FilterButtonPrimary";
|
|
2
3
|
export { default as FilterButton } from "./FilterButton";
|
|
3
4
|
export { default as GhostButton } from "./GhostButton";
|
|
4
5
|
export { default as IconButton } from "./IconButton";
|
|
@@ -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,22 @@
|
|
|
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
|
+
isStatusTag?: boolean;
|
|
20
|
+
};
|
|
21
|
+
declare function BaseFilter({ tooltipContent, tooltipId, showNumIndic, required, isStatusTag, defaultSelectedValues, filterData, multiselect, setFilters, showIcon, iconName, children, ...props }: FilterProps): React.JSX.Element;
|
|
22
|
+
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, children = _a.children, props = __rest(_a, ["tooltipContent", "tooltipId", "showNumIndic", "required", "isStatusTag", "defaultSelectedValues", "filterData", "multiselect", "setFilters", "showIcon", "iconName", "children"]);
|
|
38
|
+
var _e = useState(false), isOpen = _e[0], setIsOpen = _e[1];
|
|
39
|
+
var _f = useState(defaultSelectedValues ? defaultSelectedValues : []), selectedValues = _f[0], setSelectedValues = _f[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 && (React.createElement("div", { className: "backdrop", onClick: function () { return handleClose(); } }))));
|
|
86
|
+
}
|
|
87
|
+
export default BaseFilter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Filter";
|
|
@@ -9,7 +9,9 @@ var Paragraph = function (_a) {
|
|
|
9
9
|
return text.slice(0, maxChars) + "...";
|
|
10
10
|
};
|
|
11
11
|
// Tronquer le texte si maxChars est défini
|
|
12
|
-
var truncatedText = maxChars
|
|
12
|
+
var truncatedText = maxChars
|
|
13
|
+
? truncateText(text, maxChars)
|
|
14
|
+
: text;
|
|
13
15
|
return (React.createElement("p", { className: "paragraph ".concat(variant, " ").concat(color ? "color-".concat(color) : ""), style: maxLines
|
|
14
16
|
? {
|
|
15
17
|
WebkitLineClamp: maxLines,
|
|
@@ -17,6 +19,6 @@ var Paragraph = function (_a) {
|
|
|
17
19
|
WebkitBoxOrient: "vertical",
|
|
18
20
|
overflow: "hidden",
|
|
19
21
|
}
|
|
20
|
-
: {},
|
|
22
|
+
: {} }, truncatedText));
|
|
21
23
|
};
|
|
22
24
|
export default Paragraph;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.checkbox-form {
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
|
-
gap:
|
|
4
|
+
gap: 0.75rem;
|
|
5
5
|
cursor: pointer;
|
|
6
6
|
}
|
|
7
7
|
|
|
@@ -22,3 +22,9 @@
|
|
|
22
22
|
.checkbox-form-required {
|
|
23
23
|
color: var(--dark-grey, #456073);
|
|
24
24
|
}
|
|
25
|
+
|
|
26
|
+
.checkbox-form-link {
|
|
27
|
+
color: var(--allaw-blue, #25beeb);
|
|
28
|
+
text-decoration: underline;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
}
|