primereact 10.0.2 → 10.0.3
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/README.md +1 -4
- package/autocomplete/autocomplete.cjs.js +4 -2
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +4 -2
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +4 -2
- package/autocomplete/autocomplete.min.js +1 -1
- package/blockui/blockui.cjs.js +3 -6
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +3 -6
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +3 -6
- package/blockui/blockui.min.js +1 -1
- package/calendar/calendar.cjs.js +3 -5
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +3 -5
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +3 -5
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +3 -1
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +3 -1
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +3 -1
- package/carousel/carousel.min.js +1 -1
- package/checkbox/checkbox.d.ts +5 -5
- package/componentbase/componentbase.d.ts +8 -0
- package/contextmenu/contextmenu.cjs.js +4 -1
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +4 -1
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +4 -1
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +64 -27
- package/core/core.min.js +6 -6
- package/datatable/datatable.cjs.js +92 -41
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +27 -0
- package/datatable/datatable.esm.js +92 -41
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +92 -41
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.cjs.js +24 -22
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.esm.js +24 -22
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +24 -22
- package/dataview/dataview.min.js +1 -1
- package/dialog/dialog.cjs.js +2 -4
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +2 -4
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +2 -4
- package/dialog/dialog.min.js +1 -1
- package/dropdown/dropdown.cjs.js +29 -17
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +29 -17
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +29 -17
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +1 -1
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +1 -1
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +1 -1
- package/editor/editor.min.js +1 -1
- package/galleria/galleria.cjs.js +3 -5
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +3 -5
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +3 -5
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.cjs.js +2 -1
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.d.ts +1 -1
- package/hooks/hooks.esm.js +2 -1
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +2 -1
- package/hooks/hooks.min.js +1 -1
- package/image/image.cjs.js +104 -106
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +104 -106
- package/image/image.esm.min.js +1 -1
- package/image/image.js +105 -107
- package/image/image.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +7 -4
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +7 -4
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +7 -4
- package/inputnumber/inputnumber.min.js +1 -1
- package/menu/menu.cjs.js +105 -1
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.d.ts +5 -0
- package/menu/menu.esm.js +108 -4
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +105 -1
- package/menu/menu.min.js +1 -1
- package/multiselect/multiselect.cjs.js +26 -12
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +4 -0
- package/multiselect/multiselect.esm.js +26 -12
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +26 -12
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/orderlist.cjs.js +32 -34
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +32 -34
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +32 -34
- package/orderlist/orderlist.min.js +1 -1
- package/package.json +1 -1
- package/primereact.all.cjs.js +275 -171
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +275 -171
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +275 -171
- package/primereact.all.min.js +1 -1
- package/progressbar/progressbar.cjs.js +1 -1
- package/progressbar/progressbar.cjs.min.js +1 -1
- package/progressbar/progressbar.esm.js +1 -1
- package/progressbar/progressbar.esm.min.js +1 -1
- package/progressbar/progressbar.js +1 -1
- package/progressbar/progressbar.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +3 -3
- package/resources/themes/arya-blue/theme.css +390 -518
- package/resources/themes/arya-green/theme.css +390 -518
- package/resources/themes/arya-orange/theme.css +390 -518
- package/resources/themes/arya-purple/theme.css +390 -518
- package/resources/themes/bootstrap4-dark-blue/theme.css +391 -518
- package/resources/themes/bootstrap4-dark-purple/theme.css +391 -518
- package/resources/themes/bootstrap4-light-blue/theme.css +391 -518
- package/resources/themes/bootstrap4-light-purple/theme.css +391 -518
- package/resources/themes/fluent-light/theme.css +417 -529
- package/resources/themes/lara-dark-blue/theme.css +395 -518
- package/resources/themes/lara-dark-indigo/theme.css +395 -518
- package/resources/themes/lara-dark-purple/theme.css +395 -518
- package/resources/themes/lara-dark-teal/theme.css +395 -518
- package/resources/themes/lara-light-blue/theme.css +564 -687
- package/resources/themes/lara-light-indigo/theme.css +402 -525
- package/resources/themes/lara-light-purple/theme.css +402 -525
- package/resources/themes/lara-light-teal/theme.css +402 -525
- package/resources/themes/luna-amber/theme.css +404 -531
- package/resources/themes/luna-blue/theme.css +404 -531
- package/resources/themes/luna-green/theme.css +404 -531
- package/resources/themes/luna-pink/theme.css +404 -531
- package/resources/themes/md-dark-deeppurple/theme.css +662 -739
- package/resources/themes/md-dark-indigo/theme.css +662 -739
- package/resources/themes/md-light-deeppurple/theme.css +567 -644
- package/resources/themes/md-light-indigo/theme.css +567 -644
- package/resources/themes/mdc-dark-deeppurple/theme.css +662 -739
- package/resources/themes/mdc-dark-indigo/theme.css +662 -739
- package/resources/themes/mdc-light-deeppurple/theme.css +567 -644
- package/resources/themes/mdc-light-indigo/theme.css +567 -644
- package/resources/themes/mira/theme.css +428 -525
- package/resources/themes/nano/theme.css +388 -518
- package/resources/themes/nova/theme.css +392 -518
- package/resources/themes/nova-accent/theme.css +389 -518
- package/resources/themes/nova-alt/theme.css +392 -518
- package/resources/themes/rhea/theme.css +389 -518
- package/resources/themes/saga-blue/theme.css +390 -518
- package/resources/themes/saga-green/theme.css +390 -518
- package/resources/themes/saga-orange/theme.css +390 -518
- package/resources/themes/saga-purple/theme.css +390 -518
- package/resources/themes/soho-dark/theme.css +421 -546
- package/resources/themes/soho-light/theme.css +400 -523
- package/resources/themes/tailwind-light/theme.css +432 -547
- package/resources/themes/vela-blue/theme.css +390 -518
- package/resources/themes/vela-green/theme.css +390 -518
- package/resources/themes/vela-orange/theme.css +390 -518
- package/resources/themes/vela-purple/theme.css +390 -518
- package/resources/themes/viva-dark/theme.css +414 -523
- package/resources/themes/viva-light/theme.css +414 -523
- package/scrollpanel/scrollpanel.cjs.js +33 -17
- package/scrollpanel/scrollpanel.cjs.min.js +1 -1
- package/scrollpanel/scrollpanel.esm.js +19 -3
- package/scrollpanel/scrollpanel.esm.min.js +1 -1
- package/scrollpanel/scrollpanel.js +226 -210
- package/scrollpanel/scrollpanel.min.js +1 -1
- package/selectbutton/selectbutton.cjs.js +3 -2
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.d.ts +6 -0
- package/selectbutton/selectbutton.esm.js +3 -2
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +4 -3
- package/selectbutton/selectbutton.min.js +1 -1
- package/sidebar/sidebar.cjs.js +87 -89
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +87 -89
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +88 -90
- package/sidebar/sidebar.min.js +1 -1
- package/utils/utils.cjs.js +23 -0
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +3 -0
- package/utils/utils.esm.js +23 -0
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +23 -0
- package/utils/utils.min.js +1 -1
- package/web-types.json +28 -1
|
@@ -1,232 +1,248 @@
|
|
|
1
1
|
this.primereact = this.primereact || {};
|
|
2
2
|
this.primereact.scrollpanel = (function (exports, React, api, hooks, utils, componentbase) {
|
|
3
|
-
|
|
3
|
+
'use strict';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
});
|
|
5
|
+
function _interopNamespace(e) {
|
|
6
|
+
if (e && e.__esModule) return e;
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
18
16
|
}
|
|
19
|
-
|
|
20
|
-
return Object.freeze(n);
|
|
17
|
+
});
|
|
21
18
|
}
|
|
19
|
+
n["default"] = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var ScrollPanelBase = componentbase.ComponentBase.extend({
|
|
26
|
-
defaultProps: {
|
|
27
|
-
__TYPE: 'ScrollPanel',
|
|
28
|
-
id: null,
|
|
29
|
-
style: null,
|
|
30
|
-
className: null,
|
|
31
|
-
children: undefined
|
|
32
|
-
},
|
|
33
|
-
css: {
|
|
34
|
-
classes: {
|
|
35
|
-
root: function root(_ref) {
|
|
36
|
-
var props = _ref.props;
|
|
37
|
-
return utils.classNames('p-scrollpanel p-component', props.className);
|
|
38
|
-
},
|
|
39
|
-
wrapper: 'p-scrollpanel-wrapper',
|
|
40
|
-
content: 'p-scrollpanel-content',
|
|
41
|
-
barx: 'p-scrollpanel-bar p-scrollpanel-bar-x',
|
|
42
|
-
bary: 'p-scrollpanel-bar p-scrollpanel-bar-y'
|
|
43
|
-
},
|
|
44
|
-
styles: "\n @layer primereact {\n .p-scrollpanel-wrapper {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n }\n \n .p-scrollpanel-content {\n height: calc(100% + 18px);\n width: calc(100% + 18px);\n padding: 0 18px 18px 0;\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n }\n \n .p-scrollpanel-bar {\n position: relative;\n background: #c1c1c1;\n border-radius: 3px;\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.25s linear;\n }\n \n .p-scrollpanel-bar-y {\n width: 9px;\n top: 0;\n }\n \n .p-scrollpanel-bar-x {\n height: 9px;\n bottom: 0;\n }\n \n .p-scrollpanel-hidden {\n visibility: hidden;\n }\n \n .p-scrollpanel:hover .p-scrollpanel-bar,\n .p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n }\n \n .p-scrollpanel-grabbed {\n user-select: none;\n }\n }\n "
|
|
45
|
-
}
|
|
46
|
-
});
|
|
23
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
47
24
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
cx = _ScrollPanelBase$setM.cx,
|
|
56
|
-
isUnstyled = _ScrollPanelBase$setM.isUnstyled;
|
|
57
|
-
componentbase.useHandleStyle(ScrollPanelBase.css.styles, isUnstyled, {
|
|
58
|
-
name: 'scrollpanel'
|
|
59
|
-
});
|
|
60
|
-
var containerRef = React__namespace.useRef(null);
|
|
61
|
-
var contentRef = React__namespace.useRef(null);
|
|
62
|
-
var xBarRef = React__namespace.useRef(null);
|
|
63
|
-
var yBarRef = React__namespace.useRef(null);
|
|
64
|
-
var isXBarClicked = React__namespace.useRef(false);
|
|
65
|
-
var isYBarClicked = React__namespace.useRef(false);
|
|
66
|
-
var lastPageX = React__namespace.useRef(null);
|
|
67
|
-
var lastPageY = React__namespace.useRef(null);
|
|
68
|
-
var scrollXRatio = React__namespace.useRef(null);
|
|
69
|
-
var scrollYRatio = React__namespace.useRef(null);
|
|
70
|
-
var frame = React__namespace.useRef(null);
|
|
71
|
-
var initialized = React__namespace.useRef(false);
|
|
72
|
-
var calculateContainerHeight = function calculateContainerHeight() {
|
|
73
|
-
var containerStyles = getComputedStyle(containerRef.current);
|
|
74
|
-
var xBarStyles = getComputedStyle(xBarRef.current);
|
|
75
|
-
var pureContainerHeight = utils.DomHandler.getHeight(containerRef.current) - parseInt(xBarStyles['height'], 10);
|
|
76
|
-
if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {
|
|
77
|
-
if (contentRef.current.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {
|
|
78
|
-
containerRef.current.style.height = containerStyles['max-height'];
|
|
79
|
-
} else {
|
|
80
|
-
containerRef.current.style.height = contentRef.current.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';
|
|
25
|
+
function _extends() {
|
|
26
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
27
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
28
|
+
var source = arguments[i];
|
|
29
|
+
for (var key in source) {
|
|
30
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
31
|
+
target[key] = source[key];
|
|
81
32
|
}
|
|
82
33
|
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var bottom = (containerRef.current.clientHeight - xBarRef.current.clientHeight) * -1;
|
|
89
|
-
scrollXRatio.current = ownWidth / totalWidth;
|
|
34
|
+
}
|
|
35
|
+
return target;
|
|
36
|
+
};
|
|
37
|
+
return _extends.apply(this, arguments);
|
|
38
|
+
}
|
|
90
39
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
40
|
+
var ScrollPanelBase = componentbase.ComponentBase.extend({
|
|
41
|
+
defaultProps: {
|
|
42
|
+
__TYPE: 'ScrollPanel',
|
|
43
|
+
id: null,
|
|
44
|
+
style: null,
|
|
45
|
+
className: null,
|
|
46
|
+
children: undefined
|
|
47
|
+
},
|
|
48
|
+
css: {
|
|
49
|
+
classes: {
|
|
50
|
+
root: function root(_ref) {
|
|
51
|
+
var props = _ref.props;
|
|
52
|
+
return utils.classNames('p-scrollpanel p-component', props.className);
|
|
53
|
+
},
|
|
54
|
+
wrapper: 'p-scrollpanel-wrapper',
|
|
55
|
+
content: 'p-scrollpanel-content',
|
|
56
|
+
barx: 'p-scrollpanel-bar p-scrollpanel-bar-x',
|
|
57
|
+
bary: 'p-scrollpanel-bar p-scrollpanel-bar-y'
|
|
58
|
+
},
|
|
59
|
+
styles: "\n @layer primereact {\n .p-scrollpanel-wrapper {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n }\n \n .p-scrollpanel-content {\n height: calc(100% + 18px);\n width: calc(100% + 18px);\n padding: 0 18px 18px 0;\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n }\n \n .p-scrollpanel-bar {\n position: relative;\n background: #c1c1c1;\n border-radius: 3px;\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.25s linear;\n }\n \n .p-scrollpanel-bar-y {\n width: 9px;\n top: 0;\n }\n \n .p-scrollpanel-bar-x {\n height: 9px;\n bottom: 0;\n }\n \n .p-scrollpanel-hidden {\n visibility: hidden;\n }\n \n .p-scrollpanel:hover .p-scrollpanel-bar,\n .p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n }\n \n .p-scrollpanel-grabbed {\n user-select: none;\n }\n }\n "
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
var ScrollPanel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
|
|
64
|
+
var context = React__namespace.useContext(api.PrimeReactContext);
|
|
65
|
+
var props = ScrollPanelBase.getProps(inProps, context);
|
|
66
|
+
var _ScrollPanelBase$setM = ScrollPanelBase.setMetaData({
|
|
67
|
+
props: props
|
|
68
|
+
}),
|
|
69
|
+
ptm = _ScrollPanelBase$setM.ptm,
|
|
70
|
+
cx = _ScrollPanelBase$setM.cx,
|
|
71
|
+
isUnstyled = _ScrollPanelBase$setM.isUnstyled;
|
|
72
|
+
componentbase.useHandleStyle(ScrollPanelBase.css.styles, isUnstyled, {
|
|
73
|
+
name: 'scrollpanel'
|
|
74
|
+
});
|
|
75
|
+
var containerRef = React__namespace.useRef(null);
|
|
76
|
+
var contentRef = React__namespace.useRef(null);
|
|
77
|
+
var xBarRef = React__namespace.useRef(null);
|
|
78
|
+
var yBarRef = React__namespace.useRef(null);
|
|
79
|
+
var isXBarClicked = React__namespace.useRef(false);
|
|
80
|
+
var isYBarClicked = React__namespace.useRef(false);
|
|
81
|
+
var lastPageX = React__namespace.useRef(null);
|
|
82
|
+
var lastPageY = React__namespace.useRef(null);
|
|
83
|
+
var scrollXRatio = React__namespace.useRef(null);
|
|
84
|
+
var scrollYRatio = React__namespace.useRef(null);
|
|
85
|
+
var frame = React__namespace.useRef(null);
|
|
86
|
+
var initialized = React__namespace.useRef(false);
|
|
87
|
+
var calculateContainerHeight = function calculateContainerHeight() {
|
|
88
|
+
var containerStyles = getComputedStyle(containerRef.current);
|
|
89
|
+
var xBarStyles = getComputedStyle(xBarRef.current);
|
|
90
|
+
var pureContainerHeight = utils.DomHandler.getHeight(containerRef.current) - parseInt(xBarStyles['height'], 10);
|
|
91
|
+
if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {
|
|
92
|
+
if (contentRef.current.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {
|
|
93
|
+
containerRef.current.style.height = containerStyles['max-height'];
|
|
134
94
|
} else {
|
|
135
|
-
|
|
136
|
-
onMouseMoveForYBar(event);
|
|
95
|
+
containerRef.current.style.height = contentRef.current.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';
|
|
137
96
|
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
document.removeEventListener('mouseup', onDocumentMouseUp);
|
|
159
|
-
isXBarClicked.current = false;
|
|
160
|
-
isYBarClicked.current = false;
|
|
161
|
-
};
|
|
162
|
-
var refresh = function refresh() {
|
|
163
|
-
moveBar();
|
|
164
|
-
};
|
|
165
|
-
hooks.useMountEffect(function () {
|
|
166
|
-
moveBar();
|
|
167
|
-
window.addEventListener('resize', moveBar);
|
|
168
|
-
calculateContainerHeight();
|
|
169
|
-
initialized.current = true;
|
|
170
|
-
});
|
|
171
|
-
hooks.useUnmountEffect(function () {
|
|
172
|
-
if (initialized.current) {
|
|
173
|
-
window.removeEventListener('resize', moveBar);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var moveBar = function moveBar() {
|
|
100
|
+
// horizontal scroll
|
|
101
|
+
var totalWidth = contentRef.current.scrollWidth;
|
|
102
|
+
var ownWidth = contentRef.current.clientWidth;
|
|
103
|
+
var bottom = (containerRef.current.clientHeight - xBarRef.current.clientHeight) * -1;
|
|
104
|
+
scrollXRatio.current = ownWidth / totalWidth;
|
|
105
|
+
|
|
106
|
+
// vertical scroll
|
|
107
|
+
var totalHeight = contentRef.current.scrollHeight;
|
|
108
|
+
var ownHeight = contentRef.current.clientHeight;
|
|
109
|
+
var right = (containerRef.current.clientWidth - yBarRef.current.clientWidth) * -1;
|
|
110
|
+
scrollYRatio.current = ownHeight / totalHeight;
|
|
111
|
+
frame.current = window.requestAnimationFrame(function () {
|
|
112
|
+
if (scrollXRatio.current >= 1) {
|
|
113
|
+
utils.DomHandler.addClass(xBarRef.current, 'p-scrollpanel-hidden');
|
|
114
|
+
} else {
|
|
115
|
+
utils.DomHandler.removeClass(xBarRef.current, 'p-scrollpanel-hidden');
|
|
116
|
+
xBarRef.current.style.cssText = 'width:' + Math.max(scrollXRatio.current * 100, 10) + '%; left:' + contentRef.current.scrollLeft / totalWidth * 100 + '%;bottom:' + bottom + 'px;';
|
|
174
117
|
}
|
|
175
|
-
if (
|
|
176
|
-
|
|
118
|
+
if (scrollYRatio.current >= 1) {
|
|
119
|
+
utils.DomHandler.addClass(yBarRef.current, 'p-scrollpanel-hidden');
|
|
120
|
+
} else {
|
|
121
|
+
utils.DomHandler.removeClass(yBarRef.current, 'p-scrollpanel-hidden');
|
|
122
|
+
yBarRef.current.style.cssText = 'height:' + Math.max(scrollYRatio.current * 100, 10) + '%; top: calc(' + contentRef.current.scrollTop / totalHeight * 100 + '% - ' + xBarRef.current.clientHeight + 'px);right:' + right + 'px;';
|
|
177
123
|
}
|
|
178
124
|
});
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
125
|
+
};
|
|
126
|
+
var onYBarMouseDown = function onYBarMouseDown(event) {
|
|
127
|
+
isYBarClicked.current = true;
|
|
128
|
+
lastPageY.current = event.pageY;
|
|
129
|
+
utils.DomHandler.addClass(yBarRef.current, 'p-scrollpanel-grabbed');
|
|
130
|
+
utils.DomHandler.addClass(document.body, 'p-scrollpanel-grabbed');
|
|
131
|
+
document.addEventListener('mousemove', onDocumentMouseMove);
|
|
132
|
+
document.addEventListener('mouseup', onDocumentMouseUp);
|
|
133
|
+
event.preventDefault();
|
|
134
|
+
};
|
|
135
|
+
var onXBarMouseDown = function onXBarMouseDown(event) {
|
|
136
|
+
isXBarClicked.current = true;
|
|
137
|
+
lastPageX.current = event.pageX;
|
|
138
|
+
utils.DomHandler.addClass(xBarRef.current, 'p-scrollpanel-grabbed');
|
|
139
|
+
utils.DomHandler.addClass(document.body, 'p-scrollpanel-grabbed');
|
|
140
|
+
document.addEventListener('mousemove', onDocumentMouseMove);
|
|
141
|
+
document.addEventListener('mouseup', onDocumentMouseUp);
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
};
|
|
144
|
+
var onDocumentMouseMove = function onDocumentMouseMove(event) {
|
|
145
|
+
if (isXBarClicked.current) {
|
|
146
|
+
onMouseMoveForXBar(event);
|
|
147
|
+
} else if (isYBarClicked.current) {
|
|
148
|
+
onMouseMoveForYBar(event);
|
|
149
|
+
} else {
|
|
150
|
+
onMouseMoveForXBar(event);
|
|
151
|
+
onMouseMoveForYBar(event);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
var onMouseMoveForXBar = function onMouseMoveForXBar(event) {
|
|
155
|
+
var deltaX = event.pageX - lastPageX.current;
|
|
156
|
+
lastPageX.current = event.pageX;
|
|
157
|
+
frame.current = window.requestAnimationFrame(function () {
|
|
158
|
+
contentRef.current.scrollLeft += deltaX / scrollXRatio.current;
|
|
196
159
|
});
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
160
|
+
};
|
|
161
|
+
var onMouseMoveForYBar = function onMouseMoveForYBar(event) {
|
|
162
|
+
var deltaY = event.pageY - lastPageY.current;
|
|
163
|
+
lastPageY.current = event.pageY;
|
|
164
|
+
frame.current = window.requestAnimationFrame(function () {
|
|
165
|
+
contentRef.current.scrollTop += deltaY / scrollYRatio.current;
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
var onDocumentMouseUp = function onDocumentMouseUp(event) {
|
|
169
|
+
utils.DomHandler.removeClass(yBarRef.current, 'p-scrollpanel-grabbed');
|
|
170
|
+
utils.DomHandler.removeClass(xBarRef.current, 'p-scrollpanel-grabbed');
|
|
171
|
+
utils.DomHandler.removeClass(document.body, 'p-scrollpanel-grabbed');
|
|
172
|
+
document.removeEventListener('mousemove', onDocumentMouseMove);
|
|
173
|
+
document.removeEventListener('mouseup', onDocumentMouseUp);
|
|
174
|
+
isXBarClicked.current = false;
|
|
175
|
+
isYBarClicked.current = false;
|
|
176
|
+
};
|
|
177
|
+
var refresh = function refresh() {
|
|
178
|
+
moveBar();
|
|
179
|
+
};
|
|
180
|
+
hooks.useMountEffect(function () {
|
|
181
|
+
moveBar();
|
|
182
|
+
window.addEventListener('resize', moveBar);
|
|
183
|
+
calculateContainerHeight();
|
|
184
|
+
initialized.current = true;
|
|
185
|
+
});
|
|
186
|
+
hooks.useUnmountEffect(function () {
|
|
187
|
+
if (initialized.current) {
|
|
188
|
+
window.removeEventListener('resize', moveBar);
|
|
189
|
+
}
|
|
190
|
+
if (frame.current) {
|
|
191
|
+
window.cancelAnimationFrame(frame.current);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
React__namespace.useImperativeHandle(ref, function () {
|
|
195
|
+
return {
|
|
196
|
+
props: props,
|
|
197
|
+
refresh: refresh,
|
|
198
|
+
getElement: function getElement() {
|
|
199
|
+
return containerRef.current;
|
|
200
|
+
},
|
|
201
|
+
getContent: function getContent() {
|
|
202
|
+
return contentRef.current;
|
|
203
|
+
},
|
|
204
|
+
getXBar: function getXBar() {
|
|
205
|
+
return xBarRef.current;
|
|
206
|
+
},
|
|
207
|
+
getYBar: function getYBar() {
|
|
208
|
+
return yBarRef.current;
|
|
209
|
+
}
|
|
210
|
+
};
|
|
223
211
|
});
|
|
224
|
-
|
|
212
|
+
var rootProps = utils.mergeProps({
|
|
213
|
+
id: props.id,
|
|
214
|
+
ref: containerRef,
|
|
215
|
+
style: props.style,
|
|
216
|
+
className: cx('root')
|
|
217
|
+
}, ScrollPanelBase.getOtherProps(props), ptm('root'));
|
|
218
|
+
var wrapperProps = utils.mergeProps({
|
|
219
|
+
className: cx('wrapper')
|
|
220
|
+
}, ptm('wrapper'));
|
|
221
|
+
var contentProps = utils.mergeProps({
|
|
222
|
+
className: cx('content'),
|
|
223
|
+
onScroll: moveBar,
|
|
224
|
+
onMouseEnter: moveBar
|
|
225
|
+
}, ptm('content'));
|
|
226
|
+
var barXProps = utils.mergeProps({
|
|
227
|
+
ref: xBarRef,
|
|
228
|
+
className: cx('barx'),
|
|
229
|
+
onMouseDown: onXBarMouseDown
|
|
230
|
+
}, ptm('barx'));
|
|
231
|
+
var barYProps = utils.mergeProps({
|
|
232
|
+
ref: yBarRef,
|
|
233
|
+
className: cx('bary'),
|
|
234
|
+
onMouseDown: onYBarMouseDown
|
|
235
|
+
}, ptm('bary'));
|
|
236
|
+
return /*#__PURE__*/React__namespace.createElement("div", rootProps, /*#__PURE__*/React__namespace.createElement("div", wrapperProps, /*#__PURE__*/React__namespace.createElement("div", _extends({
|
|
237
|
+
ref: contentRef
|
|
238
|
+
}, contentProps), props.children)), /*#__PURE__*/React__namespace.createElement("div", barXProps), /*#__PURE__*/React__namespace.createElement("div", barYProps));
|
|
239
|
+
});
|
|
240
|
+
ScrollPanel.displayName = 'ScrollPanel';
|
|
225
241
|
|
|
226
|
-
|
|
242
|
+
exports.ScrollPanel = ScrollPanel;
|
|
227
243
|
|
|
228
|
-
|
|
244
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
229
245
|
|
|
230
|
-
|
|
246
|
+
return exports;
|
|
231
247
|
|
|
232
248
|
})({}, React, primereact.api, primereact.hooks, primereact.utils, primereact.componentbase);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primereact=this.primereact||{},this.primereact.scrollpanel=function(e,r,n,t,l,o){"use strict";function a(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var c=a(r),s=o.ComponentBase.extend({defaultProps:{__TYPE:"ScrollPanel",id:null,style:null,className:null,children:void 0},css:{classes:{root:function(e){return l.classNames("p-scrollpanel p-component",e.props.className)},wrapper:"p-scrollpanel-wrapper",content:"p-scrollpanel-content",barx:"p-scrollpanel-bar p-scrollpanel-bar-x",bary:"p-scrollpanel-bar p-scrollpanel-bar-y"},styles:"\n @layer primereact {\n .p-scrollpanel-wrapper {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n }\n \n .p-scrollpanel-content {\n height: calc(100% + 18px);\n width: calc(100% + 18px);\n padding: 0 18px 18px 0;\n position: relative;\n overflow:
|
|
1
|
+
this.primereact=this.primereact||{},this.primereact.scrollpanel=function(e,r,n,t,l,o){"use strict";function a(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var c=a(r);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},s.apply(this,arguments)}var u=o.ComponentBase.extend({defaultProps:{__TYPE:"ScrollPanel",id:null,style:null,className:null,children:void 0},css:{classes:{root:function(e){return l.classNames("p-scrollpanel p-component",e.props.className)},wrapper:"p-scrollpanel-wrapper",content:"p-scrollpanel-content",barx:"p-scrollpanel-bar p-scrollpanel-bar-x",bary:"p-scrollpanel-bar p-scrollpanel-bar-y"},styles:"\n @layer primereact {\n .p-scrollpanel-wrapper {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n }\n \n .p-scrollpanel-content {\n height: calc(100% + 18px);\n width: calc(100% + 18px);\n padding: 0 18px 18px 0;\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n }\n \n .p-scrollpanel-bar {\n position: relative;\n background: #c1c1c1;\n border-radius: 3px;\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.25s linear;\n }\n \n .p-scrollpanel-bar-y {\n width: 9px;\n top: 0;\n }\n \n .p-scrollpanel-bar-x {\n height: 9px;\n bottom: 0;\n }\n \n .p-scrollpanel-hidden {\n visibility: hidden;\n }\n \n .p-scrollpanel:hover .p-scrollpanel-bar,\n .p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n }\n \n .p-scrollpanel-grabbed {\n user-select: none;\n }\n }\n "}}),i=c.forwardRef((function(e,r){var a=c.useContext(n.PrimeReactContext),i=u.getProps(e,a),p=u.setMetaData({props:i}),d=p.ptm,m=p.cx;o.useHandleStyle(u.css.styles,p.isUnstyled,{name:"scrollpanel"});var f=c.useRef(null),h=c.useRef(null),g=c.useRef(null),b=c.useRef(null),v=c.useRef(!1),y=c.useRef(!1),x=c.useRef(null),w=c.useRef(null),H=c.useRef(null),E=c.useRef(null),D=c.useRef(null),C=c.useRef(!1),P=function(){var e=h.current.scrollWidth,r=-1*(f.current.clientHeight-g.current.clientHeight);H.current=h.current.clientWidth/e;var n=h.current.scrollHeight,t=-1*(f.current.clientWidth-b.current.clientWidth);E.current=h.current.clientHeight/n,D.current=window.requestAnimationFrame((function(){H.current>=1?l.DomHandler.addClass(g.current,"p-scrollpanel-hidden"):(l.DomHandler.removeClass(g.current,"p-scrollpanel-hidden"),g.current.style.cssText="width:"+Math.max(100*H.current,10)+"%; left:"+h.current.scrollLeft/e*100+"%;bottom:"+r+"px;"),E.current>=1?l.DomHandler.addClass(b.current,"p-scrollpanel-hidden"):(l.DomHandler.removeClass(b.current,"p-scrollpanel-hidden"),b.current.style.cssText="height:"+Math.max(100*E.current,10)+"%; top: calc("+h.current.scrollTop/n*100+"% - "+g.current.clientHeight+"px);right:"+t+"px;")}))},R=function(e){v.current?O(e):(y.current||O(e),L(e))},O=function(e){var r=e.pageX-x.current;x.current=e.pageX,D.current=window.requestAnimationFrame((function(){h.current.scrollLeft+=r/H.current}))},L=function(e){var r=e.pageY-w.current;w.current=e.pageY,D.current=window.requestAnimationFrame((function(){h.current.scrollTop+=r/E.current}))},j=function e(r){l.DomHandler.removeClass(b.current,"p-scrollpanel-grabbed"),l.DomHandler.removeClass(g.current,"p-scrollpanel-grabbed"),l.DomHandler.removeClass(document.body,"p-scrollpanel-grabbed"),document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",e),v.current=!1,y.current=!1},M=function(){P()};t.useMountEffect((function(){var e,r,n;P(),window.addEventListener("resize",P),e=getComputedStyle(f.current),r=getComputedStyle(g.current),n=l.DomHandler.getHeight(f.current)-parseInt(r.height,10),"none"!==e["max-height"]&&0===n&&(f.current.style.height=h.current.offsetHeight+parseInt(r.height,10)>parseInt(e["max-height"],10)?e["max-height"]:h.current.offsetHeight+parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)+parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth)+"px"),C.current=!0})),t.useUnmountEffect((function(){C.current&&window.removeEventListener("resize",P),D.current&&window.cancelAnimationFrame(D.current)})),c.useImperativeHandle(r,(function(){return{props:i,refresh:M,getElement:function(){return f.current},getContent:function(){return h.current},getXBar:function(){return g.current},getYBar:function(){return b.current}}}));var N=l.mergeProps({id:i.id,ref:f,style:i.style,className:m("root")},u.getOtherProps(i),d("root")),F=l.mergeProps({className:m("wrapper")},d("wrapper")),S=l.mergeProps({className:m("content"),onScroll:P,onMouseEnter:P},d("content")),T=l.mergeProps({ref:g,className:m("barx"),onMouseDown:function(e){v.current=!0,x.current=e.pageX,l.DomHandler.addClass(g.current,"p-scrollpanel-grabbed"),l.DomHandler.addClass(document.body,"p-scrollpanel-grabbed"),document.addEventListener("mousemove",R),document.addEventListener("mouseup",j),e.preventDefault()}},d("barx")),z=l.mergeProps({ref:b,className:m("bary"),onMouseDown:function(e){y.current=!0,w.current=e.pageY,l.DomHandler.addClass(b.current,"p-scrollpanel-grabbed"),l.DomHandler.addClass(document.body,"p-scrollpanel-grabbed"),document.addEventListener("mousemove",R),document.addEventListener("mouseup",j),e.preventDefault()}},d("bary"));return c.createElement("div",N,c.createElement("div",F,c.createElement("div",s({ref:h},S),i.children)),c.createElement("div",T),c.createElement("div",z))}));return i.displayName="ScrollPanel",e.ScrollPanel=i,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.hooks,primereact.utils,primereact.componentbase);
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var api = require('primereact/api');
|
|
7
8
|
var tooltip = require('primereact/tooltip');
|
|
8
9
|
var utils = require('primereact/utils');
|
|
9
10
|
var componentbase = require('primereact/componentbase');
|
|
10
11
|
var ripple = require('primereact/ripple');
|
|
11
|
-
var api = require('primereact/api');
|
|
12
12
|
|
|
13
13
|
function _interopNamespace(e) {
|
|
14
14
|
if (e && e.__esModule) return e;
|
|
@@ -104,6 +104,7 @@ var SelectButtonBase = componentbase.ComponentBase.extend({
|
|
|
104
104
|
tabIndex: null,
|
|
105
105
|
multiple: false,
|
|
106
106
|
unselectable: true,
|
|
107
|
+
allowEmpty: true,
|
|
107
108
|
disabled: false,
|
|
108
109
|
style: null,
|
|
109
110
|
className: null,
|
|
@@ -236,7 +237,7 @@ var SelectButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
|
|
|
236
237
|
return;
|
|
237
238
|
}
|
|
238
239
|
var selected = isSelected(event.option);
|
|
239
|
-
if (selected && !props.unselectable) {
|
|
240
|
+
if (selected && !(props.unselectable || props.allowEmpty)) {
|
|
240
241
|
return;
|
|
241
242
|
}
|
|
242
243
|
var optionValue = getOptionValue(event.option);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/tooltip"),l=require("primereact/utils"),r=require("primereact/componentbase"),o=require("primereact/ripple");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=a(e);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},u.apply(this,arguments)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function c(e){if(Array.isArray(e))return s(e)}function p(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function m(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e){return c(e)||p(e)||d(e)||m()}var b=r.ComponentBase.extend({defaultProps:{__TYPE:"SelectButton",id:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,tabIndex:null,multiple:!1,unselectable:!0,allowEmpty:!0,disabled:!1,style:null,className:null,dataKey:null,tooltip:null,tooltipOptions:null,itemTemplate:null,onChange:null,children:void 0},css:{classes:{root:function(e){return l.classNames("p-selectbutton p-buttonset p-component",e.props.className)},button:function(e){var t=e.itemProps;return l.classNames("p-button p-component",{"p-highlight":t.selected,"p-disabled":t.disabled,"p-focus":e.focusedState})},label:"p-button-label p-c"}}});function v(e){if(Array.isArray(e))return e}function y(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,r,o,a,i=[],u=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(l=o.call(n)).done)&&(i.push(l.value),i.length!==t);u=!0);}catch(e){s=!0,r=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw r}}return i}}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=i.memo((function(e){var t,n,r,a=i.useState(!1),u=(n=2,v(t=a)||y(t,n)||d(t,n)||g()),s=u[0],c=u[1],p=e.ptm,m=e.cx,f=function(t){return p(t,{hostName:e.hostName,context:{selected:e.selected,disabled:e.disabled,option:e.option}})},b=function(t){e.onClick&&e.onClick({originalEvent:t,option:e.option})},h=(r=l.mergeProps({className:m("label")},f("label")),e.template?l.ObjectUtils.getJSXElement(e.template,e.option):i.createElement("span",r,e.label)),O=l.mergeProps({className:l.classNames(e.className,m("button",{itemProps:e,focusedState:s})),role:"button","aria-label":e.label,"aria-pressed":e.selected,onClick:b,onKeyDown:function(e){32===e.which&&(b(e),e.preventDefault())},tabIndex:e.tabIndex,onFocus:function(){c(!0)},onBlur:function(){c(!1)}},f("button"));return i.createElement("div",O,h,!e.disabled&&i.createElement(o.Ripple,null))}));h.displayName="SelectButtonItem";var O=i.memo(i.forwardRef((function(e,r){var o=i.useContext(t.PrimeReactContext),a=b.getProps(e,o),s=i.useRef(null),c=b.setMetaData({props:a}),p=c.ptm,d=c.cx,m=function(e){if(!a.disabled&&!g(e.option)){var t=O(e.option);if(!t||a.unselectable||a.allowEmpty){var n,r=y(e.option);if(a.multiple){var o=a.value?f(a.value):[];n=t?o.filter((function(e){return!l.ObjectUtils.equals(e,r,a.dataKey)})):[].concat(f(o),[r])}else n=t?null:r;a.onChange&&a.onChange({originalEvent:e.originalEvent,value:n,stopPropagation:function(){e.originalEvent.stopPropagation()},preventDefault:function(){e.originalEvent.preventDefault()},target:{name:a.name,id:a.id,value:n}})}}},v=function(e){return a.optionLabel?l.ObjectUtils.resolveFieldData(e,a.optionLabel):e&&void 0!==e.label?e.label:e},y=function(e){return a.optionValue?l.ObjectUtils.resolveFieldData(e,a.optionValue):e&&void 0!==e.value?e.value:e},g=function(e){return a.optionDisabled?l.ObjectUtils.isFunction(a.optionDisabled)?a.optionDisabled(e):l.ObjectUtils.resolveFieldData(e,a.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},O=function(e){var t=y(e);return a.multiple?!(!a.value||!a.value.length)&&a.value.some((function(e){return l.ObjectUtils.equals(e,t,a.dataKey)})):l.ObjectUtils.equals(a.value,t,a.dataKey)};i.useImperativeHandle(r,(function(){return{props:a,focus:function(){return l.DomHandler.focusFirstElement(s.current)},getElement:function(){return s.current}}}));var j=l.ObjectUtils.isNotEmpty(a.tooltip),E=a.options&&a.options.length?a.options.map((function(e,t){var n=a.disabled||g(e),l=v(e),r=n?null:0,o=O(e);return i.createElement(h,{hostName:"SelectButton",key:l+"_"+t,label:l,className:e.className,option:e,onClick:m,template:a.itemTemplate,selected:o,tabIndex:r,disabled:n,ptm:p,cx:d})})):null,N=l.mergeProps({ref:s,id:a.id,className:d("root"),style:a.style,role:"group"},b.getOtherProps(a),p("root"));return i.createElement(i.Fragment,null,i.createElement("div",N,E),j&&i.createElement(n.Tooltip,u({target:s,content:a.tooltip},a.tooltipOptions,{pt:p("tooltip")})))})));O.displayName="SelectButton",exports.SelectButton=O;
|
|
@@ -119,9 +119,15 @@ export interface SelectButtonProps extends Omit<React.DetailedHTMLProps<React.In
|
|
|
119
119
|
multiple?: boolean | undefined;
|
|
120
120
|
/**
|
|
121
121
|
* Whether selection can be cleared.
|
|
122
|
+
* @deprecated Use 'allowEmpty' property instead.
|
|
122
123
|
* @defaultValue true
|
|
123
124
|
*/
|
|
124
125
|
unselectable?: boolean | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Whether selection can not be cleared.
|
|
128
|
+
* @defaultValue true
|
|
129
|
+
*/
|
|
130
|
+
allowEmpty?: boolean | undefined;
|
|
125
131
|
/**
|
|
126
132
|
* When present, it specifies that the element should be disabled.
|
|
127
133
|
* @defaultValue false
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { PrimeReactContext } from 'primereact/api';
|
|
3
4
|
import { Tooltip } from 'primereact/tooltip';
|
|
4
5
|
import { classNames, mergeProps, ObjectUtils, DomHandler } from 'primereact/utils';
|
|
5
6
|
import { ComponentBase } from 'primereact/componentbase';
|
|
6
7
|
import { Ripple } from 'primereact/ripple';
|
|
7
|
-
import { PrimeReactContext } from 'primereact/api';
|
|
8
8
|
|
|
9
9
|
function _extends() {
|
|
10
10
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -80,6 +80,7 @@ var SelectButtonBase = ComponentBase.extend({
|
|
|
80
80
|
tabIndex: null,
|
|
81
81
|
multiple: false,
|
|
82
82
|
unselectable: true,
|
|
83
|
+
allowEmpty: true,
|
|
83
84
|
disabled: false,
|
|
84
85
|
style: null,
|
|
85
86
|
className: null,
|
|
@@ -212,7 +213,7 @@ var SelectButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
|
|
|
212
213
|
return;
|
|
213
214
|
}
|
|
214
215
|
var selected = isSelected(event.option);
|
|
215
|
-
if (selected && !props.unselectable) {
|
|
216
|
+
if (selected && !(props.unselectable || props.allowEmpty)) {
|
|
216
217
|
return;
|
|
217
218
|
}
|
|
218
219
|
var optionValue = getOptionValue(event.option);
|