@coorpacademy/components 11.40.0 → 11.40.1-alpha.5
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/es/atom/button-link/index.d.ts.map +1 -1
- package/es/atom/button-link/index.js +7 -5
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link/style.css +1 -1
- package/es/atom/button-link/types.d.ts +3 -0
- package/es/atom/button-link/types.d.ts.map +1 -1
- package/es/atom/button-link/types.js.map +1 -1
- package/es/molecule/icon-picker-modal/index.d.ts.map +1 -1
- package/es/molecule/icon-picker-modal/index.js +9 -7
- package/es/molecule/icon-picker-modal/index.js.map +1 -1
- package/es/molecule/quick-filters/index.d.ts +68 -0
- package/es/molecule/quick-filters/index.d.ts.map +1 -0
- package/es/molecule/quick-filters/index.js +179 -0
- package/es/molecule/quick-filters/index.js.map +1 -0
- package/es/molecule/quick-filters/style.css +119 -0
- package/es/molecule/quick-filters/types.d.ts +91 -0
- package/es/molecule/quick-filters/types.d.ts.map +1 -0
- package/es/molecule/quick-filters/types.js +25 -0
- package/es/molecule/quick-filters/types.js.map +1 -0
- package/lib/atom/button-link/index.d.ts.map +1 -1
- package/lib/atom/button-link/index.js +7 -5
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link/style.css +1 -1
- package/lib/atom/button-link/types.d.ts +3 -0
- package/lib/atom/button-link/types.d.ts.map +1 -1
- package/lib/atom/button-link/types.js.map +1 -1
- package/lib/molecule/icon-picker-modal/index.d.ts.map +1 -1
- package/lib/molecule/icon-picker-modal/index.js +9 -7
- package/lib/molecule/icon-picker-modal/index.js.map +1 -1
- package/lib/molecule/quick-filters/index.d.ts +68 -0
- package/lib/molecule/quick-filters/index.d.ts.map +1 -0
- package/lib/molecule/quick-filters/index.js +187 -0
- package/lib/molecule/quick-filters/index.js.map +1 -0
- package/lib/molecule/quick-filters/style.css +119 -0
- package/lib/molecule/quick-filters/types.d.ts +91 -0
- package/lib/molecule/quick-filters/types.d.ts.map +1 -0
- package/lib/molecule/quick-filters/types.js +30 -0
- package/lib/molecule/quick-filters/types.js.map +1 -0
- package/locales/lt/global.json +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@value colors: "../../variables/colors.css";
|
|
2
|
+
@value breakpoints: "../../variables/breakpoints.css";
|
|
3
|
+
@value mobile from breakpoints;
|
|
4
|
+
@value cm_grey_100 from colors;
|
|
5
|
+
@value cm_grey_500 from colors;
|
|
6
|
+
@value cm_grey_700 from colors;
|
|
7
|
+
@value cm_primary_blue from colors;
|
|
8
|
+
|
|
9
|
+
.textBase {
|
|
10
|
+
font-family: "Gilroy";
|
|
11
|
+
font-style: normal;
|
|
12
|
+
font-size: 14px;
|
|
13
|
+
line-height: 20px;
|
|
14
|
+
font-weight: 600;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.filtersMainContainer {
|
|
18
|
+
composes: textBase;
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.filtersContainer {
|
|
24
|
+
display: flex;
|
|
25
|
+
gap: 16px;
|
|
26
|
+
align-items: center;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.filtersList {
|
|
30
|
+
overflow-x: auto;
|
|
31
|
+
scrollbar-width: none;
|
|
32
|
+
align-items: center;
|
|
33
|
+
display: flex;
|
|
34
|
+
flex: 1;
|
|
35
|
+
position: relative;
|
|
36
|
+
margin-right: 40px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.filterOption, .defaultOption {
|
|
40
|
+
display: flex;
|
|
41
|
+
color: cm_grey_500;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
gap: 8px;
|
|
44
|
+
padding: 12px;
|
|
45
|
+
flex-shrink: 0;
|
|
46
|
+
height: 72px;
|
|
47
|
+
cursor: pointer;
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.filterSelected {
|
|
52
|
+
color: cm_grey_700;
|
|
53
|
+
border-bottom: 2px solid cm_primary_blue;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.filterLabel {
|
|
57
|
+
min-width: 70px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.filterSeparator {
|
|
61
|
+
padding: 24px;
|
|
62
|
+
align-items: center;
|
|
63
|
+
display: flex;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
flex-shrink: 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.filterSeparator::before {
|
|
69
|
+
content: '';
|
|
70
|
+
width: 1px;
|
|
71
|
+
height: 24px;
|
|
72
|
+
background-color: cm_grey_100;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.filterButton {
|
|
76
|
+
margin-left: auto;
|
|
77
|
+
box-sizing: border-box;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.leftArrowButton, .rightArrowButton {
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
justify-content: center;
|
|
84
|
+
width: 36px;
|
|
85
|
+
height: 36px;
|
|
86
|
+
cursor: pointer;
|
|
87
|
+
background-color: cm_grey_100;
|
|
88
|
+
border-radius: 50%;
|
|
89
|
+
position: sticky;
|
|
90
|
+
z-index: 1;
|
|
91
|
+
transform: translateY(-10%);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.rightArrowButton {
|
|
95
|
+
right: 0;
|
|
96
|
+
box-shadow: -20px 0 40px 40px white, 30px 0 40px 40px white;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.leftArrowButton {
|
|
100
|
+
left: 0;
|
|
101
|
+
box-shadow: 20px 0 40px 40px white;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.filterButtonWrapper {
|
|
105
|
+
padding: 2px;
|
|
106
|
+
border-radius: 16px;
|
|
107
|
+
border: 2px solid cm_primary_blue;
|
|
108
|
+
box-sizing: border-box;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@media mobile {
|
|
112
|
+
.leftArrowButton, .rightArrowButton, .filterButton, .filterButtonWrapper {
|
|
113
|
+
display: none!important;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.filtersList{
|
|
117
|
+
margin-right: 0;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import { ButtonLinkProps } from '../../atom/button-link/types';
|
|
3
|
+
export declare type QuickFiltersProps = {
|
|
4
|
+
primaryOption: {
|
|
5
|
+
defaultLabel: string;
|
|
6
|
+
defaultValue: string;
|
|
7
|
+
defaultIconName: string;
|
|
8
|
+
defaultSelected: boolean;
|
|
9
|
+
onDefaultClick: () => void;
|
|
10
|
+
defaultAriaLabel: string;
|
|
11
|
+
};
|
|
12
|
+
nextFilterAriaLabel: string;
|
|
13
|
+
previousFilterAriaLabel: string;
|
|
14
|
+
filterOptionsAriaLabel: string;
|
|
15
|
+
filterOptions: FilterOption[];
|
|
16
|
+
filterButton?: ButtonLinkProps;
|
|
17
|
+
};
|
|
18
|
+
export declare type ScrollByOptions = {
|
|
19
|
+
left: number;
|
|
20
|
+
behavior: string;
|
|
21
|
+
};
|
|
22
|
+
declare type FilterOption = {
|
|
23
|
+
iconName: string;
|
|
24
|
+
label: string;
|
|
25
|
+
value: string;
|
|
26
|
+
onClick: () => void;
|
|
27
|
+
selected: boolean;
|
|
28
|
+
ariaLabel: string;
|
|
29
|
+
};
|
|
30
|
+
export declare const propTypes: {
|
|
31
|
+
primaryOption: PropTypes.Requireable<PropTypes.InferProps<{
|
|
32
|
+
defaultLabel: PropTypes.Requireable<string>;
|
|
33
|
+
defaultValue: PropTypes.Requireable<string>;
|
|
34
|
+
defaultIconName: PropTypes.Requireable<string>;
|
|
35
|
+
defaultSelected: PropTypes.Requireable<boolean>;
|
|
36
|
+
defaultAriaLabel: PropTypes.Requireable<string>;
|
|
37
|
+
onDefaultClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
38
|
+
}>>;
|
|
39
|
+
nextFilterAriaLabel: PropTypes.Requireable<string>;
|
|
40
|
+
previousFilterAriaLabel: PropTypes.Requireable<string>;
|
|
41
|
+
filterOptionsAriaLabel: PropTypes.Requireable<string>;
|
|
42
|
+
filterOptions: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
43
|
+
iconName: PropTypes.Requireable<string>;
|
|
44
|
+
label: PropTypes.Requireable<string>;
|
|
45
|
+
value: PropTypes.Requireable<string>;
|
|
46
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
47
|
+
selected: PropTypes.Requireable<boolean>;
|
|
48
|
+
ariaLabel: PropTypes.Requireable<string>;
|
|
49
|
+
}> | null | undefined)[]>;
|
|
50
|
+
filterButton: PropTypes.Requireable<PropTypes.InferProps<{
|
|
51
|
+
type: PropTypes.Requireable<string>;
|
|
52
|
+
usage: PropTypes.Requireable<string>;
|
|
53
|
+
label: PropTypes.Requireable<string>;
|
|
54
|
+
content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
55
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
56
|
+
tooltipText: PropTypes.Requireable<string>;
|
|
57
|
+
tooltipPlacement: PropTypes.Requireable<string>;
|
|
58
|
+
'data-name': PropTypes.Requireable<string>;
|
|
59
|
+
'data-testid': PropTypes.Requireable<string>;
|
|
60
|
+
icon: PropTypes.Requireable<PropTypes.InferProps<{
|
|
61
|
+
position: PropTypes.Requireable<string>;
|
|
62
|
+
type: PropTypes.Requireable<string>;
|
|
63
|
+
faIcon: PropTypes.Requireable<PropTypes.InferProps<{
|
|
64
|
+
name: PropTypes.Validator<string>;
|
|
65
|
+
color: PropTypes.Requireable<string>;
|
|
66
|
+
backgroundColor: PropTypes.Requireable<string>;
|
|
67
|
+
size: PropTypes.Requireable<number>;
|
|
68
|
+
customStyle: PropTypes.Requireable<{
|
|
69
|
+
[x: string]: NonNullable<string | number | null | undefined> | null | undefined;
|
|
70
|
+
}>;
|
|
71
|
+
}>>;
|
|
72
|
+
}>>;
|
|
73
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
74
|
+
link: PropTypes.Requireable<PropTypes.InferProps<{
|
|
75
|
+
href: PropTypes.Requireable<string>;
|
|
76
|
+
download: PropTypes.Requireable<boolean>;
|
|
77
|
+
target: PropTypes.Requireable<string>;
|
|
78
|
+
}>>;
|
|
79
|
+
hoverBackgroundColor: PropTypes.Requireable<string>;
|
|
80
|
+
hoverColor: PropTypes.Requireable<string>;
|
|
81
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
82
|
+
className: PropTypes.Requireable<string>;
|
|
83
|
+
customStyle: PropTypes.Requireable<{
|
|
84
|
+
[x: string]: NonNullable<string | number | null | undefined> | null | undefined;
|
|
85
|
+
}>;
|
|
86
|
+
useTitle: PropTypes.Requireable<boolean>;
|
|
87
|
+
customLabelClassName: PropTypes.Requireable<string>;
|
|
88
|
+
}>>;
|
|
89
|
+
};
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-filters/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAG7D,oBAAY,iBAAiB,GAAG;IAC9B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBrB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import ButtonLink from '../../atom/button-link';
|
|
3
|
+
export const propTypes = {
|
|
4
|
+
primaryOption: PropTypes.shape({
|
|
5
|
+
defaultLabel: PropTypes.string,
|
|
6
|
+
defaultValue: PropTypes.string,
|
|
7
|
+
defaultIconName: PropTypes.string,
|
|
8
|
+
defaultSelected: PropTypes.bool,
|
|
9
|
+
defaultAriaLabel: PropTypes.string,
|
|
10
|
+
onDefaultClick: PropTypes.func
|
|
11
|
+
}),
|
|
12
|
+
nextFilterAriaLabel: PropTypes.string,
|
|
13
|
+
previousFilterAriaLabel: PropTypes.string,
|
|
14
|
+
filterOptionsAriaLabel: PropTypes.string,
|
|
15
|
+
filterOptions: PropTypes.arrayOf(PropTypes.shape({
|
|
16
|
+
iconName: PropTypes.string,
|
|
17
|
+
label: PropTypes.string,
|
|
18
|
+
value: PropTypes.string,
|
|
19
|
+
onClick: PropTypes.func,
|
|
20
|
+
selected: PropTypes.bool,
|
|
21
|
+
ariaLabel: PropTypes.string
|
|
22
|
+
})),
|
|
23
|
+
filterButton: PropTypes.shape(ButtonLink.propTypes)
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":["PropTypes","ButtonLink","propTypes","primaryOption","shape","defaultLabel","string","defaultValue","defaultIconName","defaultSelected","bool","defaultAriaLabel","onDefaultClick","func","nextFilterAriaLabel","previousFilterAriaLabel","filterOptionsAriaLabel","filterOptions","arrayOf","iconName","label","value","onClick","selected","ariaLabel","filterButton"],"sources":["../../../src/molecule/quick-filters/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport ButtonLink from '../../atom/button-link';\n\nexport type QuickFiltersProps = {\n primaryOption: {\n defaultLabel: string;\n defaultValue: string;\n defaultIconName: string;\n defaultSelected: boolean;\n onDefaultClick: () => void;\n defaultAriaLabel: string;\n };\n nextFilterAriaLabel: string;\n previousFilterAriaLabel: string;\n filterOptionsAriaLabel: string;\n filterOptions: FilterOption[];\n filterButton?: ButtonLinkProps;\n};\n\nexport type ScrollByOptions = {\n left: number;\n behavior: string;\n};\n\ntype FilterOption = {\n iconName: string;\n label: string;\n value: string;\n onClick: () => void;\n selected: boolean;\n ariaLabel: string;\n};\n\nexport const propTypes = {\n primaryOption: PropTypes.shape({\n defaultLabel: PropTypes.string,\n defaultValue: PropTypes.string,\n defaultIconName: PropTypes.string,\n defaultSelected: PropTypes.bool,\n defaultAriaLabel: PropTypes.string,\n onDefaultClick: PropTypes.func\n }),\n nextFilterAriaLabel: PropTypes.string,\n previousFilterAriaLabel: PropTypes.string,\n filterOptionsAriaLabel: PropTypes.string,\n filterOptions: PropTypes.arrayOf(\n PropTypes.shape({\n iconName: PropTypes.string,\n label: PropTypes.string,\n value: PropTypes.string,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n ariaLabel: PropTypes.string\n })\n ),\n filterButton: PropTypes.shape(ButtonLink.propTypes)\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAElC,OAAOC,UAAU,MAAM,wBAAwB;AAgC/C,OAAO,MAAMC,SAAS,GAAG;EACvBC,aAAa,EAAEH,SAAS,CAACI,KAAK,CAAC;IAC7BC,YAAY,EAAEL,SAAS,CAACM,MAAM;IAC9BC,YAAY,EAAEP,SAAS,CAACM,MAAM;IAC9BE,eAAe,EAAER,SAAS,CAACM,MAAM;IACjCG,eAAe,EAAET,SAAS,CAACU,IAAI;IAC/BC,gBAAgB,EAAEX,SAAS,CAACM,MAAM;IAClCM,cAAc,EAAEZ,SAAS,CAACa;EAC5B,CAAC,CAAC;EACFC,mBAAmB,EAAEd,SAAS,CAACM,MAAM;EACrCS,uBAAuB,EAAEf,SAAS,CAACM,MAAM;EACzCU,sBAAsB,EAAEhB,SAAS,CAACM,MAAM;EACxCW,aAAa,EAAEjB,SAAS,CAACkB,OAAO,CAC9BlB,SAAS,CAACI,KAAK,CAAC;IACde,QAAQ,EAAEnB,SAAS,CAACM,MAAM;IAC1Bc,KAAK,EAAEpB,SAAS,CAACM,MAAM;IACvBe,KAAK,EAAErB,SAAS,CAACM,MAAM;IACvBgB,OAAO,EAAEtB,SAAS,CAACa,IAAI;IACvBU,QAAQ,EAAEvB,SAAS,CAACU,IAAI;IACxBc,SAAS,EAAExB,SAAS,CAACM;EACvB,CAAC,CACH,CAAC;EACDmB,YAAY,EAAEzB,SAAS,CAACI,KAAK,CAACH,UAAU,CAACC,SAAS;AACpD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.tsx"],"names":[],"mappings":";AAQA,OAAkB,EAAC,eAAe,EAAW,MAAM,SAAS,CAAC;AA8D7D,QAAA,MAAM,UAAU;YAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJzC,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
|
@@ -9,13 +9,14 @@ var _link = _interopRequireDefault(require("../link"));
|
|
|
9
9
|
var _icon = _interopRequireWildcard(require("../icon"));
|
|
10
10
|
var _buttonIcons = require("../../util/button-icons");
|
|
11
11
|
var _tooltip = _interopRequireDefault(require("../tooltip"));
|
|
12
|
+
var _tag = _interopRequireDefault(require("../tag"));
|
|
12
13
|
var _types = _interopRequireDefault(require("./types"));
|
|
13
14
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
14
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
18
|
-
const getButtonContent = (icon, content, hovered, hoverBackgroundColor, hoverColor, customLabelClassName) => {
|
|
19
|
+
const getButtonContent = (icon, content, hovered, hoverBackgroundColor, hoverColor, customLabelClassName, tag) => {
|
|
19
20
|
const {
|
|
20
21
|
type,
|
|
21
22
|
faIcon,
|
|
@@ -57,7 +58,7 @@ const getButtonContent = (icon, content, hovered, hoverBackgroundColor, hoverCol
|
|
|
57
58
|
className: _style.default.buttonContent
|
|
58
59
|
}, position === 'left' ? iconComponent : null, content ? /*#__PURE__*/_react.default.createElement("span", {
|
|
59
60
|
className: _style.default.label
|
|
60
|
-
}, content) : null, position === 'right' ? iconComponent : null);
|
|
61
|
+
}, content) : null, tag ? /*#__PURE__*/_react.default.createElement(_tag.default, tag) : null, position === 'right' ? iconComponent : null);
|
|
61
62
|
};
|
|
62
63
|
const ButtonLink = props => {
|
|
63
64
|
const {
|
|
@@ -80,7 +81,8 @@ const ButtonLink = props => {
|
|
|
80
81
|
className,
|
|
81
82
|
customStyle,
|
|
82
83
|
useTitle = true,
|
|
83
|
-
customLabelClassName
|
|
84
|
+
customLabelClassName,
|
|
85
|
+
tag
|
|
84
86
|
} = props;
|
|
85
87
|
const styleButton = (0, _classnames.default)(link && _style.default.link, className, _style.default.button, !label && _style.default.iconButton, type === 'primary' && _style.default.primary, type === 'secondary' && _style.default.secondary, type === 'tertiary' && _style.default.tertiary, type === 'text' && _style.default.text, type === 'dangerous' && _style.default.dangerous, disabled && _style.default.disabled);
|
|
86
88
|
const [hovered, setHovered] = (0, _react.useState)(false);
|
|
@@ -128,7 +130,7 @@ const ButtonLink = props => {
|
|
|
128
130
|
hoverBackgroundColor: hoverBackgroundColor,
|
|
129
131
|
onMouseEnter: handleMouseOver,
|
|
130
132
|
onMouseLeave: handleMouseLeave
|
|
131
|
-
}), getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor, customLabelClassName), renderToolTip());
|
|
133
|
+
}), getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor, customLabelClassName, tag), renderToolTip());
|
|
132
134
|
}
|
|
133
135
|
return /*#__PURE__*/_react.default.createElement("button", _extends({}, useTitle && {
|
|
134
136
|
title: ariaLabel || label
|
|
@@ -149,7 +151,7 @@ const ButtonLink = props => {
|
|
|
149
151
|
onMouseLeave: handleMouseLeave,
|
|
150
152
|
tabIndex: 0,
|
|
151
153
|
disabled: disabled
|
|
152
|
-
}), getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor), renderToolTip());
|
|
154
|
+
}), getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor, customLabelClassName, tag), renderToolTip());
|
|
153
155
|
};
|
|
154
156
|
ButtonLink.propTypes = process.env.NODE_ENV !== "production" ? _types.default : {};
|
|
155
157
|
var _default = exports.default = ButtonLink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_link","_icon","_buttonIcons","_tooltip","_types","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","getButtonContent","icon","content","hovered","hoverBackgroundColor","hoverColor","customLabelClassName","type","faIcon","position","Icon","ICONS","createElement","className","style","buttonContent","label","dangerouslySetInnerHTML","__html","iconComponent","iconName","name","iconColor","color","DEFAULT_ICON_COLOR","backgroundColor","size","faSize","wrapperSize","customStyle","theme","ButtonLink","props","usage","disabled","dataName","dataTestId","ariaLabel","tooltipText","tooltipPlacement","link","onClick","_noop2","onKeyDown","useTitle","styleButton","classnames","button","iconButton","primary","secondary","tertiary","text","dangerous","setHovered","useState","handleOnClick","useCallback","event","handleOnKeyDown","handleMouseOver","handleMouseLeave","TooltipContent","tooltipContentWrapper","renderToolTip","closeToolTipInformationTextAriaLabel","fontSize","anchorId","toolTipIsVisible","placement","_customStyle","useMemo","title","onMouseEnter","onMouseLeave","onMouseOver","tabIndex","propTypes","process","env","NODE_ENV","_default","exports"],"sources":["../../../src/atom/button-link/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport FaIcon, {DEFAULT_ICON_COLOR, IconProps} from '../icon';\nimport {ICONS} from '../../util/button-icons';\nimport ToolTip from '../tooltip';\nimport propTypes, {ButtonLinkProps, IconType} from './types';\nimport style from './style.css';\n\nconst getButtonContent = (\n icon?: IconType,\n content?: string | React.ReactNode,\n hovered?: boolean,\n hoverBackgroundColor?: string,\n hoverColor?: string,\n customLabelClassName?: string\n) => {\n const {type, faIcon, position} = icon || {type: '', position: ''};\n const Icon = type && ICONS[type];\n\n if (!Icon && !faIcon) {\n return (\n <div className={(style.buttonContent, customLabelClassName)}>\n {typeof content === 'string' ? (\n <span\n className={(style.label, customLabelClassName)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : (\n <span className={(style.label, customLabelClassName)}>{content}</span>\n )}\n </div>\n );\n }\n\n const iconComponent = faIcon ? (\n <FaIcon\n {...({\n iconName: faIcon.name,\n iconColor: hovered && hoverColor ? hoverColor : faIcon.color ?? DEFAULT_ICON_COLOR,\n // eslint-disable-next-line no-nested-ternary\n backgroundColor: !faIcon?.backgroundColor\n ? null\n : hovered && hoverBackgroundColor\n ? hoverBackgroundColor\n : faIcon.backgroundColor,\n size: {\n faSize: faIcon.size,\n wrapperSize: faIcon.size\n },\n customStyle: faIcon.customStyle\n } as IconProps)}\n />\n ) : (\n <Icon className={style.icon} theme=\"coorpmanager\" />\n );\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? iconComponent : null}\n {content ? <span className={style.label}>{content}</span> : null}\n {position === 'right' ? iconComponent : null}\n </div>\n );\n};\n\nconst ButtonLink = (props: ButtonLinkProps) => {\n const {\n type,\n usage = 'button',\n label,\n content,\n hoverBackgroundColor,\n hoverColor,\n disabled = false,\n icon,\n 'data-name': dataName,\n 'data-testid': dataTestId = 'button-link',\n 'aria-label': ariaLabel,\n tooltipText,\n tooltipPlacement = 'left',\n link,\n onClick = noop,\n onKeyDown = noop,\n className,\n customStyle,\n useTitle = true,\n customLabelClassName\n } = props;\n const styleButton = classnames(\n link && style.link,\n className,\n style.button,\n !label && style.iconButton,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const [hovered, setHovered] = useState(false);\n\n const handleOnClick = useCallback(event => onClick(event), [onClick]);\n\n const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);\n\n const handleMouseOver = useCallback(() => {\n setHovered(true);\n }, [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const TooltipContent = useCallback(\n () => <span className={style.tooltipContentWrapper}>{tooltipText || ariaLabel}</span>,\n [tooltipText, ariaLabel]\n );\n\n const renderToolTip = () => {\n const closeToolTipInformationTextAriaLabel = tooltipText || ariaLabel;\n if (!closeToolTipInformationTextAriaLabel) return null;\n return (\n <ToolTip\n fontSize={12}\n anchorId=\"button-icon\"\n toolTipIsVisible={hovered}\n placement={tooltipPlacement}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n />\n );\n };\n\n const _customStyle = useMemo(() => {\n return {\n ...customStyle,\n ...((hoverBackgroundColor || hoverColor) && hovered\n ? {\n backgroundColor: hoverBackgroundColor,\n color: hoverColor\n }\n : null)\n };\n }, [hoverBackgroundColor, hoverColor, hovered, customStyle]);\n\n if (link) {\n return (\n <Link\n {...link}\n {...(useTitle && {\n title: ariaLabel || label\n })}\n className={styleButton}\n style={customStyle}\n data-name={dataName}\n data-testid={dataTestId}\n onClick={handleOnClick}\n aria-label={ariaLabel || label}\n hoverColor={hoverColor}\n hoverBackgroundColor={hoverBackgroundColor}\n onMouseEnter={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n {getButtonContent(\n icon,\n content ?? label,\n hovered,\n hoverBackgroundColor,\n hoverColor,\n customLabelClassName\n )}\n {renderToolTip()}\n </Link>\n );\n }\n\n return (\n <button\n {...(useTitle && {\n title: ariaLabel || label\n })}\n {...(ariaLabel && !label\n ? {\n 'data-for': 'button-icon',\n 'data-tip': hovered\n }\n : {})}\n // eslint-disable-next-line react/button-has-type\n type={usage}\n aria-label={ariaLabel || label}\n data-name={dataName}\n data-testid={dataTestId}\n style={_customStyle}\n className={styleButton}\n onClick={handleOnClick}\n onKeyDown={handleOnKeyDown}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n tabIndex={0}\n disabled={disabled}\n >\n {getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor)}\n {renderToolTip()}\n </button>\n );\n};\n\nButtonLink.propTypes = propTypes;\n\nexport default ButtonLink;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_link","_icon","_buttonIcons","_tooltip","_tag","_types","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","getButtonContent","icon","content","hovered","hoverBackgroundColor","hoverColor","customLabelClassName","tag","type","faIcon","position","Icon","ICONS","createElement","className","style","buttonContent","label","dangerouslySetInnerHTML","__html","iconComponent","iconName","name","iconColor","color","DEFAULT_ICON_COLOR","backgroundColor","size","faSize","wrapperSize","customStyle","theme","ButtonLink","props","usage","disabled","dataName","dataTestId","ariaLabel","tooltipText","tooltipPlacement","link","onClick","_noop2","onKeyDown","useTitle","styleButton","classnames","button","iconButton","primary","secondary","tertiary","text","dangerous","setHovered","useState","handleOnClick","useCallback","event","handleOnKeyDown","handleMouseOver","handleMouseLeave","TooltipContent","tooltipContentWrapper","renderToolTip","closeToolTipInformationTextAriaLabel","fontSize","anchorId","toolTipIsVisible","placement","_customStyle","useMemo","title","onMouseEnter","onMouseLeave","onMouseOver","tabIndex","propTypes","process","env","NODE_ENV","_default","exports"],"sources":["../../../src/atom/button-link/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport FaIcon, {DEFAULT_ICON_COLOR, IconProps} from '../icon';\nimport {ICONS} from '../../util/button-icons';\nimport ToolTip from '../tooltip';\nimport Tag from '../tag';\nimport propTypes, {ButtonLinkProps, IconType} from './types';\nimport style from './style.css';\n\nconst getButtonContent = (\n icon?: IconType,\n content?: string | React.ReactNode,\n hovered?: boolean,\n hoverBackgroundColor?: string,\n hoverColor?: string,\n customLabelClassName?: string,\n tag?: React.ComponentProps<typeof Tag>\n) => {\n const {type, faIcon, position} = icon || {type: '', position: ''};\n const Icon = type && ICONS[type];\n\n if (!Icon && !faIcon) {\n return (\n <div className={(style.buttonContent, customLabelClassName)}>\n {typeof content === 'string' ? (\n <span\n className={(style.label, customLabelClassName)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : (\n <span className={(style.label, customLabelClassName)}>{content}</span>\n )}\n </div>\n );\n }\n\n const iconComponent = faIcon ? (\n <FaIcon\n {...({\n iconName: faIcon.name,\n iconColor: hovered && hoverColor ? hoverColor : faIcon.color ?? DEFAULT_ICON_COLOR,\n // eslint-disable-next-line no-nested-ternary\n backgroundColor: !faIcon?.backgroundColor\n ? null\n : hovered && hoverBackgroundColor\n ? hoverBackgroundColor\n : faIcon.backgroundColor,\n size: {\n faSize: faIcon.size,\n wrapperSize: faIcon.size\n },\n customStyle: faIcon.customStyle\n } as IconProps)}\n />\n ) : (\n <Icon className={style.icon} theme=\"coorpmanager\" />\n );\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? iconComponent : null}\n {content ? <span className={style.label}>{content}</span> : null}\n {tag ? <Tag {...tag} /> : null}\n {position === 'right' ? iconComponent : null}\n </div>\n );\n};\n\nconst ButtonLink = (props: ButtonLinkProps) => {\n const {\n type,\n usage = 'button',\n label,\n content,\n hoverBackgroundColor,\n hoverColor,\n disabled = false,\n icon,\n 'data-name': dataName,\n 'data-testid': dataTestId = 'button-link',\n 'aria-label': ariaLabel,\n tooltipText,\n tooltipPlacement = 'left',\n link,\n onClick = noop,\n onKeyDown = noop,\n className,\n customStyle,\n useTitle = true,\n customLabelClassName,\n tag\n } = props;\n const styleButton = classnames(\n link && style.link,\n className,\n style.button,\n !label && style.iconButton,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const [hovered, setHovered] = useState(false);\n\n const handleOnClick = useCallback(event => onClick(event), [onClick]);\n\n const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);\n\n const handleMouseOver = useCallback(() => {\n setHovered(true);\n }, [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const TooltipContent = useCallback(\n () => <span className={style.tooltipContentWrapper}>{tooltipText || ariaLabel}</span>,\n [tooltipText, ariaLabel]\n );\n\n const renderToolTip = () => {\n const closeToolTipInformationTextAriaLabel = tooltipText || ariaLabel;\n if (!closeToolTipInformationTextAriaLabel) return null;\n return (\n <ToolTip\n fontSize={12}\n anchorId=\"button-icon\"\n toolTipIsVisible={hovered}\n placement={tooltipPlacement}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n />\n );\n };\n const _customStyle = useMemo(() => {\n return {\n ...customStyle,\n ...((hoverBackgroundColor || hoverColor) && hovered\n ? {\n backgroundColor: hoverBackgroundColor,\n color: hoverColor\n }\n : null)\n };\n }, [hoverBackgroundColor, hoverColor, hovered, customStyle]);\n\n if (link) {\n return (\n <Link\n {...link}\n {...(useTitle && {\n title: ariaLabel || label\n })}\n className={styleButton}\n style={customStyle}\n data-name={dataName}\n data-testid={dataTestId}\n onClick={handleOnClick}\n aria-label={ariaLabel || label}\n hoverColor={hoverColor}\n hoverBackgroundColor={hoverBackgroundColor}\n onMouseEnter={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n {getButtonContent(\n icon,\n content ?? label,\n hovered,\n hoverBackgroundColor,\n hoverColor,\n customLabelClassName,\n tag\n )}\n {renderToolTip()}\n </Link>\n );\n }\n\n return (\n <button\n {...(useTitle && {\n title: ariaLabel || label\n })}\n {...(ariaLabel && !label\n ? {\n 'data-for': 'button-icon',\n 'data-tip': hovered\n }\n : {})}\n // eslint-disable-next-line react/button-has-type\n type={usage}\n aria-label={ariaLabel || label}\n data-name={dataName}\n data-testid={dataTestId}\n style={_customStyle}\n className={styleButton}\n onClick={handleOnClick}\n onKeyDown={handleOnKeyDown}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n tabIndex={0}\n disabled={disabled}\n >\n {getButtonContent(\n icon,\n content ?? label,\n hovered,\n hoverBackgroundColor,\n hoverColor,\n customLabelClassName,\n tag\n )}\n {renderToolTip()}\n </button>\n );\n};\n\nButtonLink.propTypes = propTypes;\n\nexport default ButtonLink;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import PropTypes from 'prop-types';
|
|
2
3
|
import { ICONS } from '../../util/button-icons';
|
|
4
|
+
import Tag from '../tag';
|
|
3
5
|
export declare const iconPropTypes: {
|
|
4
6
|
position: PropTypes.Requireable<string>;
|
|
5
7
|
type: PropTypes.Requireable<string>;
|
|
@@ -89,6 +91,7 @@ export declare type ButtonLinkProps = {
|
|
|
89
91
|
customStyle?: Record<string, string | number>;
|
|
90
92
|
useTitle?: boolean;
|
|
91
93
|
customLabelClassName?: string;
|
|
94
|
+
tag?: React.ComponentProps<typeof Tag>;
|
|
92
95
|
};
|
|
93
96
|
export declare type Fixture = {
|
|
94
97
|
props: ButtonLinkProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/types.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAC9C,OAAO,GAAG,MAAM,QAAQ,CAAC;AAUzB,eAAO,MAAM,aAAa;;;;;;;;;;;;CAIzB,CAAC;AAEF,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBd,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC/C,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IACnE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;KAClD,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;CACxC,CAAC;AAEF,oBAAY,OAAO,GAAG;IAAC,KAAK,EAAE,eAAe,CAAA;CAAC,CAAC;AAE/C,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["_propTypes","_interopRequireDefault","require","_buttonIcons","e","__esModule","default","faIconPropTypes","name","PropTypes","string","isRequired","color","backgroundColor","size","number","customStyle","objectOf","oneOfType","iconPropTypes","exports","position","oneOf","type","_keys2","ICONS","faIcon","shape","propTypes","usage","label","content","node","tooltipText","tooltipPlacement","icon","onClick","func","link","href","download","bool","target","hoverBackgroundColor","hoverColor","disabled","className","useTitle","customLabelClassName","_default"],"sources":["../../../src/atom/button-link/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {keys} from 'lodash/fp';\nimport {ICONS} from '../../util/button-icons';\n\nconst faIconPropTypes = {\n name: PropTypes.string.isRequired,\n color: PropTypes.string,\n backgroundColor: PropTypes.string,\n size: PropTypes.number,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport const iconPropTypes = {\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS)),\n faIcon: PropTypes.shape(faIconPropTypes)\n};\n\nconst propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n usage: PropTypes.oneOf(['button', 'submit', 'reset']),\n label: PropTypes.string,\n content: PropTypes.node,\n 'aria-label': PropTypes.string,\n tooltipText: PropTypes.string,\n tooltipPlacement: PropTypes.oneOf(['left', 'right', 'top', 'bottom']),\n 'data-name': PropTypes.string,\n 'data-testid': PropTypes.string,\n icon: PropTypes.shape(iconPropTypes),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n hoverBackgroundColor: PropTypes.string,\n hoverColor: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n useTitle: PropTypes.bool,\n customLabelClassName: PropTypes.string\n};\n\nexport type FaIconType = {\n name: string;\n color?: string;\n backgroundColor?: string;\n size?: number;\n customStyle?: Record<string, number | string>;\n};\n\nexport type IconType = {\n position: 'right' | 'left';\n type?: keyof typeof ICONS;\n faIcon?: FaIconType;\n};\n\nexport type ButtonLinkProps = {\n type?: 'primary' | 'secondary' | 'tertiary' | 'text' | 'dangerous';\n usage?: 'button' | 'submit' | 'reset';\n label?: string;\n content?: PropTypes.ReactNodeLike;\n 'aria-label'?: string;\n tooltipText?: string;\n tooltipPlacement?: 'left' | 'right' | 'top' | 'bottom';\n 'data-name'?: string;\n 'data-testid'?: string;\n icon?: IconType;\n onClick?: () => void;\n onKeyDown?: () => void;\n link?: {\n href?: string;\n download?: boolean;\n target?: '_self' | '_blank' | '_parent' | '_top';\n };\n hoverBackgroundColor?: string;\n hoverColor?: string;\n disabled?: boolean;\n className?: string;\n customStyle?: Record<string, string | number>;\n useTitle?: boolean;\n customLabelClassName?: string;\n};\n\nexport type Fixture = {props: ButtonLinkProps};\n\nexport default propTypes;\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA8C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","names":["_propTypes","_interopRequireDefault","require","_buttonIcons","e","__esModule","default","faIconPropTypes","name","PropTypes","string","isRequired","color","backgroundColor","size","number","customStyle","objectOf","oneOfType","iconPropTypes","exports","position","oneOf","type","_keys2","ICONS","faIcon","shape","propTypes","usage","label","content","node","tooltipText","tooltipPlacement","icon","onClick","func","link","href","download","bool","target","hoverBackgroundColor","hoverColor","disabled","className","useTitle","customLabelClassName","_default"],"sources":["../../../src/atom/button-link/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {keys} from 'lodash/fp';\nimport {ICONS} from '../../util/button-icons';\nimport Tag from '../tag';\n\nconst faIconPropTypes = {\n name: PropTypes.string.isRequired,\n color: PropTypes.string,\n backgroundColor: PropTypes.string,\n size: PropTypes.number,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport const iconPropTypes = {\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS)),\n faIcon: PropTypes.shape(faIconPropTypes)\n};\n\nconst propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n usage: PropTypes.oneOf(['button', 'submit', 'reset']),\n label: PropTypes.string,\n content: PropTypes.node,\n 'aria-label': PropTypes.string,\n tooltipText: PropTypes.string,\n tooltipPlacement: PropTypes.oneOf(['left', 'right', 'top', 'bottom']),\n 'data-name': PropTypes.string,\n 'data-testid': PropTypes.string,\n icon: PropTypes.shape(iconPropTypes),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n hoverBackgroundColor: PropTypes.string,\n hoverColor: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n useTitle: PropTypes.bool,\n customLabelClassName: PropTypes.string\n};\n\nexport type FaIconType = {\n name: string;\n color?: string;\n backgroundColor?: string;\n size?: number;\n customStyle?: Record<string, number | string>;\n};\n\nexport type IconType = {\n position: 'right' | 'left';\n type?: keyof typeof ICONS;\n faIcon?: FaIconType;\n};\n\nexport type ButtonLinkProps = {\n type?: 'primary' | 'secondary' | 'tertiary' | 'text' | 'dangerous';\n usage?: 'button' | 'submit' | 'reset';\n label?: string;\n content?: PropTypes.ReactNodeLike;\n 'aria-label'?: string;\n tooltipText?: string;\n tooltipPlacement?: 'left' | 'right' | 'top' | 'bottom';\n 'data-name'?: string;\n 'data-testid'?: string;\n icon?: IconType;\n onClick?: () => void;\n onKeyDown?: () => void;\n link?: {\n href?: string;\n download?: boolean;\n target?: '_self' | '_blank' | '_parent' | '_top';\n };\n hoverBackgroundColor?: string;\n hoverColor?: string;\n disabled?: boolean;\n className?: string;\n customStyle?: Record<string, string | number>;\n useTitle?: boolean;\n customLabelClassName?: string;\n tag?: React.ComponentProps<typeof Tag>;\n};\n\nexport type Fixture = {props: ButtonLinkProps};\n\nexport default propTypes;\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA8C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG9C,MAAMG,eAAe,GAAG;EACtBC,IAAI,EAAEC,kBAAS,CAACC,MAAM,CAACC,UAAU;EACjCC,KAAK,EAAEH,kBAAS,CAACC,MAAM;EACvBG,eAAe,EAAEJ,kBAAS,CAACC,MAAM;EACjCI,IAAI,EAAEL,kBAAS,CAACM,MAAM;EACtBC,WAAW,EAAEP,kBAAS,CAACQ,QAAQ,CAACR,kBAAS,CAACS,SAAS,CAAC,CAACT,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,MAAM,CAAC,CAAC;AAC3F,CAAC;AAEM,MAAMI,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,QAAQ,EAAEZ,kBAAS,CAACa,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EAC5CC,IAAI,EAAEd,kBAAS,CAACa,KAAK,CAAC,IAAAE,MAAA,CAAAlB,OAAA,EAAKmB,kBAAK,CAAC,CAAC;EAClCC,MAAM,EAAEjB,kBAAS,CAACkB,KAAK,CAACpB,eAAe;AACzC,CAAC;AAED,MAAMqB,SAAS,GAAG;EAChBL,IAAI,EAAEd,kBAAS,CAACa,KAAK,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;EAChFO,KAAK,EAAEpB,kBAAS,CAACa,KAAK,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EACrDQ,KAAK,EAAErB,kBAAS,CAACC,MAAM;EACvBqB,OAAO,EAAEtB,kBAAS,CAACuB,IAAI;EACvB,YAAY,EAAEvB,kBAAS,CAACC,MAAM;EAC9BuB,WAAW,EAAExB,kBAAS,CAACC,MAAM;EAC7BwB,gBAAgB,EAAEzB,kBAAS,CAACa,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EACrE,WAAW,EAAEb,kBAAS,CAACC,MAAM;EAC7B,aAAa,EAAED,kBAAS,CAACC,MAAM;EAC/ByB,IAAI,EAAE1B,kBAAS,CAACkB,KAAK,CAACR,aAAa,CAAC;EACpCiB,OAAO,EAAE3B,kBAAS,CAAC4B,IAAI;EACvBC,IAAI,EAAE7B,kBAAS,CAACkB,KAAK,CAAC;IACpBY,IAAI,EAAE9B,kBAAS,CAACC,MAAM;IACtB8B,QAAQ,EAAE/B,kBAAS,CAACgC,IAAI;IACxBC,MAAM,EAAEjC,kBAAS,CAACa,KAAK,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;EAChE,CAAC,CAAC;EACFqB,oBAAoB,EAAElC,kBAAS,CAACC,MAAM;EACtCkC,UAAU,EAAEnC,kBAAS,CAACC,MAAM;EAC5BmC,QAAQ,EAAEpC,kBAAS,CAACgC,IAAI;EACxBK,SAAS,EAAErC,kBAAS,CAACC,MAAM;EAC3BM,WAAW,EAAEP,kBAAS,CAACQ,QAAQ,CAACR,kBAAS,CAACS,SAAS,CAAC,CAACT,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,MAAM,CAAC,CAAC,CAAC;EAC1FgC,QAAQ,EAAEtC,kBAAS,CAACgC,IAAI;EACxBO,oBAAoB,EAAEvC,kBAAS,CAACC;AAClC,CAAC;AAAC,IAAAuC,QAAA,GAAA7B,OAAA,CAAAd,OAAA,GA8CasB,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/icon-picker-modal/index.js"],"names":[],"mappings":";AAcA,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/icon-picker-modal/index.js"],"names":[],"mappings":";AAcA,+EAuIC"}
|
|
@@ -34,10 +34,10 @@ const IconPickerModal = (props, context) => {
|
|
|
34
34
|
const {
|
|
35
35
|
translate
|
|
36
36
|
} = context;
|
|
37
|
-
const [selectedIcon, setSelectedIcon] = (0, _react.useState)(null);
|
|
38
|
-
const [displayedIcons, setDisplayedIcons] = (0, _react.useState)([]);
|
|
39
|
-
const [currentIndex, setCurrentIndex] = (0, _react.useState)(0);
|
|
40
37
|
const allIcons = (0, _react.useMemo)(() => (0, _pipe2.default)(_values2.default, (0, _map2.default)((0, _get2.default)('iconName')), _uniq2.default)(_proSolidSvgIcons.fas), []);
|
|
38
|
+
const [selectedIcon, setSelectedIcon] = (0, _react.useState)(null);
|
|
39
|
+
const [displayedIcons, setDisplayedIcons] = (0, _react.useState)((0, _slice2.default)(0, ICONS_PER_LOAD, allIcons));
|
|
40
|
+
const [currentIndex, setCurrentIndex] = (0, _react.useState)(ICONS_PER_LOAD);
|
|
41
41
|
const {
|
|
42
42
|
searchValue,
|
|
43
43
|
searchResults,
|
|
@@ -51,6 +51,7 @@ const IconPickerModal = (props, context) => {
|
|
|
51
51
|
onClose();
|
|
52
52
|
}, [onClose]);
|
|
53
53
|
const handleIconClick = (0, _react.useCallback)(iconName => () => {
|
|
54
|
+
console.log('in handleIconClick');
|
|
54
55
|
setSelectedIcon(prevSelectedIcon => prevSelectedIcon === iconName ? null : iconName);
|
|
55
56
|
}, []);
|
|
56
57
|
const loadMoreIcons = (0, _react.useCallback)(() => {
|
|
@@ -64,6 +65,7 @@ const IconPickerModal = (props, context) => {
|
|
|
64
65
|
setCurrentIndex(ICONS_PER_LOAD);
|
|
65
66
|
}, [searchResults]);
|
|
66
67
|
const handleScroll = (0, _react.useCallback)(event => {
|
|
68
|
+
console.log('in handleScroll --->');
|
|
67
69
|
const {
|
|
68
70
|
scrollTop,
|
|
69
71
|
clientHeight,
|
|
@@ -74,9 +76,9 @@ const IconPickerModal = (props, context) => {
|
|
|
74
76
|
}
|
|
75
77
|
}, [loadMoreIcons]);
|
|
76
78
|
const icons = (0, _react.useMemo)(() => (0, _pipe2.default)(_entries2.default, (0, _map2.default)(([index, iconName]) => /*#__PURE__*/_react.default.createElement(_selectIcon.default, {
|
|
77
|
-
key:
|
|
79
|
+
key: iconName,
|
|
78
80
|
size: "responsive",
|
|
79
|
-
"data-name":
|
|
81
|
+
"data-name": iconName,
|
|
80
82
|
"aria-label": iconName,
|
|
81
83
|
faIcon: iconName,
|
|
82
84
|
onClick: handleIconClick(iconName),
|
|
@@ -117,7 +119,7 @@ const IconPickerModal = (props, context) => {
|
|
|
117
119
|
}
|
|
118
120
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
119
121
|
className: _style.default.iconPicker
|
|
120
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
122
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
121
123
|
className: _style.default.searchWrapper
|
|
122
124
|
}, /*#__PURE__*/_react.default.createElement(_searchForm.default, {
|
|
123
125
|
search: {
|
|
@@ -140,7 +142,7 @@ const IconPickerModal = (props, context) => {
|
|
|
140
142
|
onClick: handleReset
|
|
141
143
|
}, translate('empty_search_result_clear_search'))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
142
144
|
className: _style.default.iconsListWrapper
|
|
143
|
-
}, icons)))
|
|
145
|
+
}, icons)));
|
|
144
146
|
};
|
|
145
147
|
IconPickerModal.contextTypes = {
|
|
146
148
|
translate: _provider.default.childContextTypes.translate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_proSolidSvgIcons","_baseModal","_selectIcon","_provider","_searchForm","_colors","_style","_useIconSearch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ICONS_PER_LOAD","IconPickerModal","props","context","isOpen","onCancel","onConfirm","onClose","translate","selectedIcon","setSelectedIcon","useState","displayedIcons","setDisplayedIcons","currentIndex","setCurrentIndex","allIcons","useMemo","_pipe2","_values2","_map2","_get2","_uniq2","fas","searchValue","searchResults","handleSearch","handleReset","useIconSearch","handleCancel","useCallback","handleClose","handleIconClick","iconName","prevSelectedIcon","loadMoreIcons","nextIndex","newIcons","_slice2","prevIcons","useEffect","handleScroll","event","scrollTop","clientHeight","scrollHeight","currentTarget","icons","_entries2","index","createElement","key","size","faIcon","onClick","options","isSelected","footer","cancelButton","label","confirmButton","disabled","color","COLORS","cm_primary_blue","title","description","onScroll","headerIcon","name","backgroundColor","className","style","iconPicker","Fragment","searchWrapper","search","placeholder","value","onChange","onReset","dataTestId","_size2","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","iconsListWrapper","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","bool","func","_default","exports"],"sources":["../../../src/molecule/icon-picker-modal/index.js"],"sourcesContent":["import React, {useMemo, useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {fas} from '@fortawesome/pro-solid-svg-icons';\nimport {entries, map, pipe, get, values, slice, size, uniq} from 'lodash/fp';\nimport BaseModal from '../base-modal';\nimport SelectIcon from '../../atom/select-icon';\nimport Provider from '../../atom/provider';\nimport SearchForm from '../search-form';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\nimport useIconSearch from './use-icon-search';\n\nconst ICONS_PER_LOAD = 48;\n\nconst IconPickerModal = (props, context) => {\n const {isOpen, onCancel, onConfirm, onClose} = props;\n const {translate} = context;\n\n const [selectedIcon, setSelectedIcon] = useState(null);\n const [displayedIcons, setDisplayedIcons] = useState([]);\n const [currentIndex, setCurrentIndex] = useState(0);\n\n const allIcons = useMemo(() => pipe(values, map(get('iconName')), uniq)(fas), []);\n const {searchValue, searchResults, handleSearch, handleReset} = useIconSearch(allIcons);\n\n const handleCancel = useCallback(() => {\n onCancel();\n }, [onCancel]);\n\n const handleClose = useCallback(() => {\n onClose();\n }, [onClose]);\n\n const handleIconClick = useCallback(\n iconName => () => {\n setSelectedIcon(prevSelectedIcon => (prevSelectedIcon === iconName ? null : iconName));\n },\n []\n );\n\n const loadMoreIcons = useCallback(() => {\n const nextIndex = currentIndex + ICONS_PER_LOAD;\n const newIcons = slice(currentIndex, nextIndex, searchResults);\n setDisplayedIcons(prevIcons => [...prevIcons, ...newIcons]);\n setCurrentIndex(nextIndex);\n }, [currentIndex, searchResults]);\n\n useEffect(() => {\n setDisplayedIcons(() => slice(0, ICONS_PER_LOAD, searchResults));\n setCurrentIndex(ICONS_PER_LOAD);\n }, [searchResults]);\n\n const handleScroll = useCallback(\n event => {\n const {scrollTop, clientHeight, scrollHeight} = event.currentTarget;\n if (scrollHeight - scrollTop <= clientHeight + 1) {\n loadMoreIcons();\n }\n },\n [loadMoreIcons]\n );\n\n const icons = useMemo(\n () =>\n pipe(\n entries,\n map(([index, iconName]) => (\n <SelectIcon\n key={`icon-${index}`}\n size=\"responsive\"\n data-name={`icon-${index}`}\n aria-label={iconName}\n faIcon={iconName}\n onClick={handleIconClick(iconName)}\n options={{isSelected: selectedIcon === iconName}}\n />\n ))\n )(displayedIcons),\n [displayedIcons, selectedIcon, handleIconClick]\n );\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onConfirm(selectedIcon);\n setSelectedIcon(null);\n onClose();\n },\n label: translate('confirm'),\n iconName: 'plus',\n disabled: selectedIcon === null,\n color: COLORS.cm_primary_blue\n }\n };\n }, [handleCancel, onConfirm, onClose, translate, selectedIcon]);\n\n if (!isOpen) return null;\n\n return (\n <BaseModal\n title={translate('icon_picker_title')}\n description={translate('icon_picker_description')}\n isOpen={isOpen}\n onClose={handleClose}\n onScroll={handleScroll}\n footer={footer}\n headerIcon={{\n name: 'arrows-rotate',\n backgroundColor: '#D6E6FF'\n }}\n >\n <div className={style.iconPicker}>\n {\n <>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleReset}\n dataTestId=\"search-input\"\n />\n </div>\n {searchValue && size(searchResults) === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.iconsListWrapper}>{icons}</div>\n )}\n </>\n }\n </div>\n </BaseModal>\n );\n};\n\nIconPickerModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nIconPickerModal.propTypes = {\n isOpen: PropTypes.bool,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default IconPickerModal;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_proSolidSvgIcons","_baseModal","_selectIcon","_provider","_searchForm","_colors","_style","_useIconSearch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ICONS_PER_LOAD","IconPickerModal","props","context","isOpen","onCancel","onConfirm","onClose","translate","allIcons","useMemo","_pipe2","_values2","_map2","_get2","_uniq2","fas","selectedIcon","setSelectedIcon","useState","displayedIcons","setDisplayedIcons","_slice2","currentIndex","setCurrentIndex","searchValue","searchResults","handleSearch","handleReset","useIconSearch","handleCancel","useCallback","handleClose","handleIconClick","iconName","console","log","prevSelectedIcon","loadMoreIcons","nextIndex","newIcons","prevIcons","useEffect","handleScroll","event","scrollTop","clientHeight","scrollHeight","currentTarget","icons","_entries2","index","createElement","key","size","faIcon","onClick","options","isSelected","footer","cancelButton","label","confirmButton","disabled","color","COLORS","cm_primary_blue","title","description","onScroll","headerIcon","name","backgroundColor","className","style","iconPicker","searchWrapper","search","placeholder","value","onChange","onReset","dataTestId","_size2","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","iconsListWrapper","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","bool","func","_default","exports"],"sources":["../../../src/molecule/icon-picker-modal/index.js"],"sourcesContent":["import React, {useMemo, useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {fas} from '@fortawesome/pro-solid-svg-icons';\nimport {entries, map, pipe, get, values, slice, size, uniq} from 'lodash/fp';\nimport BaseModal from '../base-modal';\nimport SelectIcon from '../../atom/select-icon';\nimport Provider from '../../atom/provider';\nimport SearchForm from '../search-form';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\nimport useIconSearch from './use-icon-search';\n\nconst ICONS_PER_LOAD = 48;\n\nconst IconPickerModal = (props, context) => {\n const {isOpen, onCancel, onConfirm, onClose} = props;\n const {translate} = context;\n\n const allIcons = useMemo(() => pipe(values, map(get('iconName')), uniq)(fas), []);\n\n const [selectedIcon, setSelectedIcon] = useState(null);\n const [displayedIcons, setDisplayedIcons] = useState(slice(0, ICONS_PER_LOAD, allIcons));\n const [currentIndex, setCurrentIndex] = useState(ICONS_PER_LOAD);\n\n const {searchValue, searchResults, handleSearch, handleReset} = useIconSearch(allIcons);\n\n const handleCancel = useCallback(() => {\n onCancel();\n }, [onCancel]);\n\n const handleClose = useCallback(() => {\n onClose();\n }, [onClose]);\n\n const handleIconClick = useCallback(\n iconName => () => {\n console.log('in handleIconClick');\n setSelectedIcon(prevSelectedIcon => (prevSelectedIcon === iconName ? null : iconName));\n },\n []\n );\n\n const loadMoreIcons = useCallback(() => {\n const nextIndex = currentIndex + ICONS_PER_LOAD;\n const newIcons = slice(currentIndex, nextIndex, searchResults);\n setDisplayedIcons(prevIcons => [...prevIcons, ...newIcons]);\n setCurrentIndex(nextIndex);\n }, [currentIndex, searchResults]);\n\n useEffect(() => {\n setDisplayedIcons(() => slice(0, ICONS_PER_LOAD, searchResults));\n setCurrentIndex(ICONS_PER_LOAD);\n }, [searchResults]);\n\n const handleScroll = useCallback(\n event => {\n console.log('in handleScroll --->');\n const {scrollTop, clientHeight, scrollHeight} = event.currentTarget;\n if (scrollHeight - scrollTop <= clientHeight + 1) {\n loadMoreIcons();\n }\n },\n [loadMoreIcons]\n );\n\n const icons = useMemo(\n () =>\n pipe(\n entries,\n map(([index, iconName]) => (\n <SelectIcon\n key={iconName}\n size=\"responsive\"\n data-name={iconName}\n aria-label={iconName}\n faIcon={iconName}\n onClick={handleIconClick(iconName)}\n options={{isSelected: selectedIcon === iconName}}\n />\n ))\n )(displayedIcons),\n [displayedIcons, selectedIcon, handleIconClick]\n );\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onConfirm(selectedIcon);\n setSelectedIcon(null);\n onClose();\n },\n label: translate('confirm'),\n iconName: 'plus',\n disabled: selectedIcon === null,\n color: COLORS.cm_primary_blue\n }\n };\n }, [handleCancel, onConfirm, onClose, translate, selectedIcon]);\n\n if (!isOpen) return null;\n\n return (\n <BaseModal\n title={translate('icon_picker_title')}\n description={translate('icon_picker_description')}\n isOpen={isOpen}\n onClose={handleClose}\n onScroll={handleScroll}\n footer={footer}\n headerIcon={{\n name: 'arrows-rotate',\n backgroundColor: '#D6E6FF'\n }}\n >\n <div className={style.iconPicker}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleReset}\n dataTestId=\"search-input\"\n />\n </div>\n {searchValue && size(searchResults) === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.iconsListWrapper}>{icons}</div>\n )}\n </div>\n </BaseModal>\n );\n};\n\nIconPickerModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nIconPickerModal.propTypes = {\n isOpen: PropTypes.bool,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default IconPickerModal;\n"],"mappings":"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","ignoreList":[]}
|