primereact 8.6.1 → 8.7.0

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.
Files changed (214) hide show
  1. package/accordion/accordion.cjs.js +8 -7
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.d.ts +8 -7
  4. package/accordion/accordion.esm.js +8 -7
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +8 -7
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.cjs.js +19 -10
  9. package/api/api.cjs.min.js +1 -1
  10. package/api/api.esm.js +19 -10
  11. package/api/api.esm.min.js +1 -1
  12. package/api/api.js +19 -10
  13. package/api/api.min.js +1 -1
  14. package/autocomplete/autocomplete.cjs.js +6 -3
  15. package/autocomplete/autocomplete.cjs.min.js +1 -1
  16. package/autocomplete/autocomplete.d.ts +6 -3
  17. package/autocomplete/autocomplete.esm.js +6 -3
  18. package/autocomplete/autocomplete.esm.min.js +1 -1
  19. package/autocomplete/autocomplete.js +6 -3
  20. package/autocomplete/autocomplete.min.js +1 -1
  21. package/button/button.cjs.js +1 -1
  22. package/button/button.cjs.min.js +1 -1
  23. package/button/button.d.ts +8 -10
  24. package/button/button.esm.js +1 -1
  25. package/button/button.esm.min.js +1 -1
  26. package/button/button.js +1 -1
  27. package/button/button.min.js +1 -1
  28. package/calendar/calendar.cjs.js +11 -2
  29. package/calendar/calendar.cjs.min.js +1 -1
  30. package/calendar/calendar.d.ts +5 -3
  31. package/calendar/calendar.esm.js +11 -2
  32. package/calendar/calendar.esm.min.js +1 -1
  33. package/calendar/calendar.js +11 -2
  34. package/calendar/calendar.min.js +1 -1
  35. package/cascadeselect/cascadeselect.d.ts +1 -1
  36. package/chart/chart.d.ts +1 -1
  37. package/checkbox/checkbox.cjs.js +1 -2
  38. package/checkbox/checkbox.cjs.min.js +1 -1
  39. package/checkbox/checkbox.d.ts +1 -1
  40. package/checkbox/checkbox.esm.js +1 -2
  41. package/checkbox/checkbox.esm.min.js +1 -1
  42. package/checkbox/checkbox.js +1 -2
  43. package/checkbox/checkbox.min.js +1 -1
  44. package/column/column.cjs.js +60 -58
  45. package/column/column.cjs.min.js +1 -1
  46. package/column/column.d.ts +76 -61
  47. package/column/column.esm.js +60 -58
  48. package/column/column.esm.min.js +1 -1
  49. package/column/column.js +60 -58
  50. package/column/column.min.js +1 -1
  51. package/confirmpopup/confirmpopup.d.ts +1 -1
  52. package/core/core.js +88 -63
  53. package/core/core.min.js +10 -10
  54. package/datascroller/datascroller.cjs.js +5 -1
  55. package/datascroller/datascroller.cjs.min.js +1 -1
  56. package/datascroller/datascroller.d.ts +9 -9
  57. package/datascroller/datascroller.esm.js +5 -1
  58. package/datascroller/datascroller.esm.min.js +1 -1
  59. package/datascroller/datascroller.js +5 -1
  60. package/datascroller/datascroller.min.js +1 -1
  61. package/datatable/datatable.cjs.js +146 -130
  62. package/datatable/datatable.cjs.min.js +1 -1
  63. package/datatable/datatable.d.ts +11 -7
  64. package/datatable/datatable.esm.js +146 -130
  65. package/datatable/datatable.esm.min.js +1 -1
  66. package/datatable/datatable.js +147 -132
  67. package/datatable/datatable.min.js +1 -1
  68. package/dataview/dataview.d.ts +1 -1
  69. package/dialog/dialog.cjs.js +38 -37
  70. package/dialog/dialog.cjs.min.js +1 -1
  71. package/dialog/dialog.d.ts +34 -34
  72. package/dialog/dialog.esm.js +38 -37
  73. package/dialog/dialog.esm.min.js +1 -1
  74. package/dialog/dialog.js +38 -37
  75. package/dialog/dialog.min.js +1 -1
  76. package/dropdown/dropdown.cjs.js +2 -3
  77. package/dropdown/dropdown.cjs.min.js +1 -1
  78. package/dropdown/dropdown.d.ts +2 -2
  79. package/dropdown/dropdown.esm.js +2 -3
  80. package/dropdown/dropdown.esm.min.js +1 -1
  81. package/dropdown/dropdown.js +2 -3
  82. package/dropdown/dropdown.min.js +1 -1
  83. package/editor/editor.cjs.js +10 -1
  84. package/editor/editor.cjs.min.js +1 -1
  85. package/editor/editor.d.ts +0 -3
  86. package/editor/editor.esm.js +10 -1
  87. package/editor/editor.esm.min.js +1 -1
  88. package/editor/editor.js +10 -1
  89. package/editor/editor.min.js +1 -1
  90. package/fileupload/fileupload.d.ts +4 -4
  91. package/galleria/galleria.cjs.js +1 -1
  92. package/galleria/galleria.cjs.min.js +1 -1
  93. package/galleria/galleria.esm.js +1 -1
  94. package/galleria/galleria.esm.min.js +1 -1
  95. package/galleria/galleria.js +1 -1
  96. package/galleria/galleria.min.js +1 -1
  97. package/image/image.cjs.js +20 -17
  98. package/image/image.cjs.min.js +1 -1
  99. package/image/image.d.ts +9 -6
  100. package/image/image.esm.js +20 -17
  101. package/image/image.esm.min.js +1 -1
  102. package/image/image.js +20 -17
  103. package/image/image.min.js +1 -1
  104. package/inputnumber/inputnumber.cjs.js +11 -3
  105. package/inputnumber/inputnumber.cjs.min.js +1 -1
  106. package/inputnumber/inputnumber.d.ts +1 -1
  107. package/inputnumber/inputnumber.esm.js +11 -3
  108. package/inputnumber/inputnumber.esm.min.js +1 -1
  109. package/inputnumber/inputnumber.js +11 -3
  110. package/inputnumber/inputnumber.min.js +1 -1
  111. package/inputswitch/inputswitch.cjs.js +1 -2
  112. package/inputswitch/inputswitch.cjs.min.js +1 -1
  113. package/inputswitch/inputswitch.d.ts +1 -1
  114. package/inputswitch/inputswitch.esm.js +1 -2
  115. package/inputswitch/inputswitch.esm.min.js +1 -1
  116. package/inputswitch/inputswitch.js +1 -2
  117. package/inputswitch/inputswitch.min.js +1 -1
  118. package/knob/knob.d.ts +1 -1
  119. package/listbox/listbox.d.ts +37 -24
  120. package/mention/mention.d.ts +17 -16
  121. package/menuitem/menuitem.d.ts +1 -1
  122. package/multiselect/multiselect.cjs.js +2 -4
  123. package/multiselect/multiselect.cjs.min.js +1 -1
  124. package/multiselect/multiselect.d.ts +2 -2
  125. package/multiselect/multiselect.esm.js +2 -4
  126. package/multiselect/multiselect.esm.min.js +1 -1
  127. package/multiselect/multiselect.js +2 -4
  128. package/multiselect/multiselect.min.js +1 -1
  129. package/multistatecheckbox/multistatecheckbox.d.ts +1 -1
  130. package/orderlist/orderlist.d.ts +1 -1
  131. package/package.json +1 -1
  132. package/paginator/paginator.cjs.js +2 -2
  133. package/paginator/paginator.cjs.min.js +1 -1
  134. package/paginator/paginator.d.ts +9 -9
  135. package/paginator/paginator.esm.js +2 -2
  136. package/paginator/paginator.esm.min.js +1 -1
  137. package/paginator/paginator.js +2 -2
  138. package/paginator/paginator.min.js +1 -1
  139. package/password/password.d.ts +2 -2
  140. package/picklist/picklist.d.ts +3 -3
  141. package/primereact.all.cjs.js +709 -616
  142. package/primereact.all.cjs.min.js +1 -1
  143. package/primereact.all.esm.js +709 -616
  144. package/primereact.all.esm.min.js +1 -1
  145. package/primereact.all.js +709 -616
  146. package/primereact.all.min.js +1 -1
  147. package/progressbar/progressbar.cjs.js +5 -5
  148. package/progressbar/progressbar.cjs.min.js +1 -1
  149. package/progressbar/progressbar.esm.js +5 -5
  150. package/progressbar/progressbar.esm.min.js +1 -1
  151. package/progressbar/progressbar.js +5 -5
  152. package/progressbar/progressbar.min.css +1 -1
  153. package/progressbar/progressbar.min.js +1 -1
  154. package/radiobutton/radiobutton.cjs.js +1 -2
  155. package/radiobutton/radiobutton.cjs.min.js +1 -1
  156. package/radiobutton/radiobutton.esm.js +1 -2
  157. package/radiobutton/radiobutton.esm.min.js +1 -1
  158. package/radiobutton/radiobutton.js +1 -2
  159. package/radiobutton/radiobutton.min.js +1 -1
  160. package/resources/primereact.css +524 -524
  161. package/resources/primereact.min.css +1 -1
  162. package/ripple/ripple.cjs.js +7 -0
  163. package/ripple/ripple.cjs.min.js +1 -1
  164. package/ripple/ripple.esm.js +7 -0
  165. package/ripple/ripple.esm.min.js +1 -1
  166. package/ripple/ripple.js +7 -0
  167. package/ripple/ripple.min.js +1 -1
  168. package/row/row.d.ts +1 -1
  169. package/scrolltop/scrolltop.d.ts +1 -1
  170. package/sidebar/sidebar.d.ts +1 -1
  171. package/slidemenu/slidemenu.cjs.js +20 -11
  172. package/slidemenu/slidemenu.cjs.min.js +1 -1
  173. package/slidemenu/slidemenu.d.ts +17 -9
  174. package/slidemenu/slidemenu.esm.js +20 -11
  175. package/slidemenu/slidemenu.esm.min.js +1 -1
  176. package/slidemenu/slidemenu.js +20 -11
  177. package/slidemenu/slidemenu.min.js +1 -1
  178. package/speeddial/speeddial.d.ts +2 -2
  179. package/splitbutton/splitbutton.d.ts +1 -1
  180. package/splitter/splitter.cjs.js +86 -69
  181. package/splitter/splitter.cjs.min.js +1 -1
  182. package/splitter/splitter.d.ts +1 -1
  183. package/splitter/splitter.esm.js +86 -69
  184. package/splitter/splitter.esm.min.js +1 -1
  185. package/splitter/splitter.js +87 -70
  186. package/splitter/splitter.min.js +1 -1
  187. package/tabview/tabview.d.ts +5 -4
  188. package/toast/toast.cjs.js +17 -12
  189. package/toast/toast.cjs.min.js +1 -1
  190. package/toast/toast.d.ts +3 -2
  191. package/toast/toast.esm.js +17 -12
  192. package/toast/toast.esm.min.js +1 -1
  193. package/toast/toast.js +17 -12
  194. package/toast/toast.min.js +1 -1
  195. package/tooltip/tooltip.cjs.js +2 -0
  196. package/tooltip/tooltip.cjs.min.js +1 -1
  197. package/tooltip/tooltip.d.ts +3 -1
  198. package/tooltip/tooltip.esm.js +2 -0
  199. package/tooltip/tooltip.esm.min.js +1 -1
  200. package/tooltip/tooltip.js +2 -0
  201. package/tooltip/tooltip.min.js +1 -1
  202. package/tooltip/tooltipoptions.d.ts +1 -1
  203. package/tree/tree.d.ts +2 -2
  204. package/treenode/treenode.d.ts +1 -1
  205. package/treeselect/treeselect.d.ts +1 -1
  206. package/treetable/treetable.cjs.js +81 -67
  207. package/treetable/treetable.cjs.min.js +1 -1
  208. package/treetable/treetable.d.ts +62 -61
  209. package/treetable/treetable.esm.js +83 -69
  210. package/treetable/treetable.esm.min.js +1 -1
  211. package/treetable/treetable.js +82 -69
  212. package/treetable/treetable.min.js +1 -1
  213. package/virtualscroller/virtualscroller.d.ts +1 -1
  214. package/web-types.json +73 -2
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var utils = require('primereact/utils');
7
6
  var hooks = require('primereact/hooks');
7
+ var utils = require('primereact/utils');
8
8
 
9
9
  function _interopNamespace(e) {
10
10
  if (e && e.__esModule) return e;
@@ -43,6 +43,21 @@ function _extends() {
43
43
  return _extends.apply(this, arguments);
44
44
  }
45
45
 
46
+ function _defineProperty(obj, key, value) {
47
+ if (key in obj) {
48
+ Object.defineProperty(obj, key, {
49
+ value: value,
50
+ enumerable: true,
51
+ configurable: true,
52
+ writable: true
53
+ });
54
+ } else {
55
+ obj[key] = value;
56
+ }
57
+
58
+ return obj;
59
+ }
60
+
46
61
  function _arrayLikeToArray(arr, len) {
47
62
  if (len == null || len > arr.length) len = arr.length;
48
63
 
@@ -78,6 +93,10 @@ function _toConsumableArray(arr) {
78
93
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
79
94
  }
80
95
 
96
+ function _readOnlyError(name) {
97
+ throw new TypeError("\"" + name + "\" is read-only");
98
+ }
99
+
81
100
  function _arrayWithHoles(arr) {
82
101
  if (Array.isArray(arr)) return arr;
83
102
  }
@@ -120,6 +139,9 @@ function _slicedToArray(arr, i) {
120
139
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
121
140
  }
122
141
 
142
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
143
+
144
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
123
145
  var SplitterPanel = function SplitterPanel() {};
124
146
  var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
125
147
  var elementRef = React__namespace.useRef(null);
@@ -131,11 +153,22 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
131
153
  var prevPanelElement = React__namespace.useRef(null);
132
154
  var nextPanelElement = React__namespace.useRef(null);
133
155
  var prevPanelSize = React__namespace.useRef(null);
156
+ var prevPanelSizeNew = React__namespace.useRef(null);
134
157
  var nextPanelSize = React__namespace.useRef(null);
158
+ var nextPanelSizeNew = React__namespace.useRef(null);
135
159
  var prevPanelIndex = React__namespace.useRef(null);
136
- var panelSizes = React__namespace.useRef(null);
137
- var mounted = React__namespace.useRef(false);
160
+
161
+ var _React$useState = React__namespace.useState([]),
162
+ _React$useState2 = _slicedToArray(_React$useState, 2),
163
+ panelSizes = _React$useState2[0],
164
+ setPanelSizes = _React$useState2[1];
165
+
138
166
  var isStateful = props.stateKey != null;
167
+ var childrenLength = props.children && props.children.length;
168
+
169
+ var panelSize = function panelSize(sizes, index) {
170
+ return index in sizes ? sizes[index] : (props.children[index].props.size || 100) / childrenLength;
171
+ };
139
172
 
140
173
  var _useEventListener = hooks.useEventListener({
141
174
  type: 'mousemove',
@@ -169,6 +202,9 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
169
202
  };
170
203
 
171
204
  var validateResize = function validateResize(newPrevPanelSize, newNextPanelSize) {
205
+ if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;
206
+ if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;
207
+
172
208
  if (props.children[prevPanelIndex.current].props && props.children[prevPanelIndex.current].props.minSize && props.children[prevPanelIndex.current].props.minSize > newPrevPanelSize) {
173
209
  return false;
174
210
  }
@@ -187,11 +223,13 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
187
223
  prevPanelElement.current = null;
188
224
  nextPanelElement.current = null;
189
225
  prevPanelSize.current = null;
226
+ prevPanelSizeNew.current = null;
190
227
  nextPanelSize.current = null;
228
+ nextPanelSizeNew.current = null;
191
229
  prevPanelIndex.current = null;
192
230
  };
193
231
 
194
- var getStorage = function getStorage() {
232
+ var getStorage = React__namespace.useCallback(function () {
195
233
  switch (props.stateStorage) {
196
234
  case 'local':
197
235
  return window.localStorage;
@@ -202,31 +240,16 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
202
240
  default:
203
241
  throw new Error(props.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".');
204
242
  }
205
- };
243
+ }, [props.stateStorage]);
206
244
 
207
- var saveState = function saveState() {
208
- getStorage().setItem(props.stateKey, JSON.stringify(panelSizes.current));
245
+ var saveState = function saveState(sizes) {
246
+ getStorage().setItem(props.stateKey, JSON.stringify(sizes));
209
247
  };
210
248
 
211
- var restoreState = function restoreState() {
212
- var storage = getStorage();
213
- var stateString = storage.getItem(props.stateKey);
214
-
215
- if (stateString) {
216
- panelSizes.current = JSON.parse(stateString);
217
-
218
- var children = _toConsumableArray(elementRef.current.children).filter(function (child) {
219
- return utils.DomHandler.hasClass(child, 'p-splitter-panel');
220
- });
221
-
222
- children.forEach(function (child, i) {
223
- child.style.flexBasis = 'calc(' + panelSizes.current[i] + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
224
- });
225
- return true;
226
- }
227
-
228
- return false;
229
- };
249
+ var restoreState = React__namespace.useCallback(function () {
250
+ var stateString = getStorage().getItem(props.stateKey);
251
+ if (stateString) setPanelSizes(JSON.parse(stateString));
252
+ }, [getStorage, props.stateKey]);
230
253
 
231
254
  var onResizeStart = function onResizeStart(event, index) {
232
255
  gutterRef.current = gutterRefs.current[index];
@@ -238,7 +261,9 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
238
261
  prevPanelElement.current = gutterRef.current.previousElementSibling;
239
262
  nextPanelElement.current = gutterRef.current.nextElementSibling;
240
263
  prevPanelSize.current = 100 * (props.layout === 'horizontal' ? utils.DomHandler.getOuterWidth(prevPanelElement.current, true) : utils.DomHandler.getOuterHeight(prevPanelElement.current, true)) / size.current;
264
+ prevPanelSizeNew.current = prevPanelSize.current;
241
265
  nextPanelSize.current = 100 * (props.layout === 'horizontal' ? utils.DomHandler.getOuterWidth(nextPanelElement.current, true) : utils.DomHandler.getOuterHeight(nextPanelElement.current, true)) / size.current;
266
+ nextPanelSizeNew.current = nextPanelSize.current;
242
267
  prevPanelIndex.current = index;
243
268
  utils.DomHandler.addClass(gutterRef.current, 'p-splitter-gutter-resizing');
244
269
  utils.DomHandler.addClass(elementRef.current, 'p-splitter-resizing');
@@ -253,25 +278,34 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
253
278
  var newNextPanelSize = nextPanelSize.current - newPos;
254
279
 
255
280
  if (validateResize(newPrevPanelSize, newNextPanelSize)) {
281
+ prevPanelSizeNew.current = newPrevPanelSize;
282
+ nextPanelSizeNew.current = newNextPanelSize;
256
283
  prevPanelElement.current.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
257
284
  nextPanelElement.current.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
258
- panelSizes.current[prevPanelIndex.current] = newPrevPanelSize;
259
- panelSizes.current[prevPanelIndex.current + 1] = newNextPanelSize;
260
285
  }
261
286
  };
262
287
 
263
288
  var onResizeEnd = function onResizeEnd(event) {
264
- if (isStateful) {
265
- saveState();
266
- }
289
+ setPanelSizes(function (prev) {
290
+ var sizes = [];
267
291
 
268
- if (props.onResizeEnd) {
269
- props.onResizeEnd({
270
- originalEvent: event,
271
- sizes: panelSizes.current
272
- });
273
- }
292
+ for (var index = 0; index < props.children.length; _readOnlyError("index")) {
293
+ sizes[index] = panelSize(prev, index);
294
+ }
295
+
296
+ sizes[prevPanelIndex.current] = prevPanelSizeNew.current;
297
+ sizes[prevPanelIndex.current + 1] = nextPanelSizeNew.current;
298
+
299
+ if (props.onResizeEnd) {
300
+ props.onResizeEnd({
301
+ originalEvent: event,
302
+ sizes: sizes
303
+ });
304
+ }
274
305
 
306
+ if (isStateful) saveState(sizes);
307
+ return sizes;
308
+ });
275
309
  utils.DomHandler.removeClass(gutterRef.current, 'p-splitter-gutter-resizing');
276
310
  utils.DomHandler.removeClass(elementRef.current, 'p-splitter-resizing');
277
311
  clear();
@@ -319,30 +353,10 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
319
353
  utils.DomHandler.addClass(panelElement, 'p-splitter-panel-nested');
320
354
  }
321
355
  });
322
-
323
- if (props.children && props.children.length) {
324
- var initialized = false;
325
-
326
- if (isStateful && !mounted.current) {
327
- initialized = restoreState();
328
- }
329
-
330
- if (!initialized) {
331
- var _panelSizes = [];
332
- props.children.map(function (panel, i) {
333
- var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;
334
- var panelSize = panelInitialSize || 100 / props.children.length;
335
- _panelSizes[i] = panelSize;
336
- panelElements[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
337
- return _panelSizes;
338
- });
339
- panelSizes.current = _panelSizes;
340
- mounted.current && saveState();
341
- }
342
- }
343
-
344
- mounted.current = true;
345
- });
356
+ }, []);
357
+ React__namespace.useEffect(function () {
358
+ if (isStateful) restoreState();
359
+ }, [restoreState, isStateful]);
346
360
 
347
361
  var createPanel = function createPanel(panel, index) {
348
362
  var otherProps = utils.ObjectUtils.findDiffKeys(panel.props, SplitterPanel.defaultProps);
@@ -373,10 +387,13 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
373
387
  }, /*#__PURE__*/React__namespace.createElement("div", {
374
388
  className: "p-splitter-gutter-handle"
375
389
  }));
390
+ var flexBasis = 'calc(' + panelSize(panelSizes, index) + '% - ' + (childrenLength - 1) * props.gutterSize + 'px)';
376
391
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", _extends({
377
392
  key: index,
378
393
  className: panelClassName,
379
- style: panel.props.style
394
+ style: _objectSpread(_objectSpread({}, panel.props.style), {}, {
395
+ flexBasis: flexBasis
396
+ })
380
397
  }, otherProps), panel.props.children), gutter);
381
398
  };
382
399
 
@@ -397,22 +414,22 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
397
414
  SplitterPanel.displayName = 'SplitterPanel';
398
415
  SplitterPanel.defaultProps = {
399
416
  __TYPE: 'SplitterPanel',
400
- size: null,
417
+ className: null,
401
418
  minSize: null,
402
- style: null,
403
- className: null
419
+ size: null,
420
+ style: null
404
421
  };
405
422
  Splitter.displayName = 'Splitter';
406
423
  Splitter.defaultProps = {
407
424
  __TYPE: 'Splitter',
408
- id: null,
409
425
  className: null,
410
- style: null,
411
- layout: 'horizontal',
412
426
  gutterSize: 4,
427
+ id: null,
428
+ layout: 'horizontal',
429
+ onResizeEnd: null,
413
430
  stateKey: null,
414
431
  stateStorage: 'session',
415
- onResizeEnd: null
432
+ style: null
416
433
  };
417
434
 
418
435
  exports.Splitter = Splitter;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/utils"),r=require("primereact/hooks");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=n(e);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},u.apply(this,arguments)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function o(e){if(Array.isArray(e))return i(e)}function a(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function c(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}function s(){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 p(e){return o(e)||a(e)||c(e)||s()}function f(e){if(Array.isArray(e))return e}function d(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,u=[],i=!0,o=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(u.push(n.value),!t||u.length!==t);i=!0);}catch(e){o=!0,l=e}finally{try{i||null==r.return||r.return()}finally{if(o)throw l}}return u}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){return f(e)||d(e,t)||c(e,t)||h()}var y=function(){},g=l.memo(l.forwardRef((function(e,n){var i=l.useRef(null),o=l.useRef(),a=l.useRef({}),c=l.useRef(null),s=l.useRef(null),f=l.useRef(null),d=l.useRef(null),h=l.useRef(null),v=l.useRef(null),S=l.useRef(null),b=l.useRef(null),z=l.useRef(null),E=l.useRef(!1),w=null!=e.stateKey,O=m(r.useEventListener({type:"mousemove",listener:function(e){return _(e)}}),2),D=O[0],H=O[1],R=m(r.useEventListener({type:"mouseup",listener:function(e){T(e),x()}}),2),j=R[0],N=R[1],x=function(){H(),N()},P=function(t,r){return!(e.children[b.current].props&&e.children[b.current].props.minSize&&e.children[b.current].props.minSize>t)&&!(e.children[b.current+1].props&&e.children[b.current+1].props.minSize&&e.children[b.current+1].props.minSize>r)},A=function(){switch(e.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(e.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},C=function(){A().setItem(e.stateKey,JSON.stringify(z.current))},I=function(r,n){o.current=a.current[n];var l="touchstart"===r.type?r.touches[0].pageX:r.pageX,u="touchstart"===r.type?r.touches[0].pageY:r.pageY;c.current="horizontal"===e.layout?t.DomHandler.getWidth(i.current):t.DomHandler.getHeight(i.current),s.current=!0,f.current="horizontal"===e.layout?l:u,d.current=o.current.previousElementSibling,h.current=o.current.nextElementSibling,v.current=100*("horizontal"===e.layout?t.DomHandler.getOuterWidth(d.current,!0):t.DomHandler.getOuterHeight(d.current,!0))/c.current,S.current=100*("horizontal"===e.layout?t.DomHandler.getOuterWidth(h.current,!0):t.DomHandler.getOuterHeight(h.current,!0))/c.current,b.current=n,t.DomHandler.addClass(o.current,"p-splitter-gutter-resizing"),t.DomHandler.addClass(i.current,"p-splitter-resizing")},_=function(t){var r,n=v.current+(r="horizontal"===e.layout?100*("touchmove"===t.type?t.touches[0].pageX:t.pageX)/c.current-100*f.current/c.current:100*("touchmove"===t.type?t.touches[0].pageY:t.pageY)/c.current-100*f.current/c.current),l=S.current-r;P(n,l)&&(d.current.style.flexBasis="calc("+n+"% - "+(e.children.length-1)*e.gutterSize+"px)",h.current.style.flexBasis="calc("+l+"% - "+(e.children.length-1)*e.gutterSize+"px)",z.current[b.current]=n,z.current[b.current+1]=l)},T=function(r){w&&C(),e.onResizeEnd&&e.onResizeEnd({originalEvent:r,sizes:z.current}),t.DomHandler.removeClass(o.current,"p-splitter-gutter-resizing"),t.DomHandler.removeClass(i.current,"p-splitter-resizing"),s.current=!1,c.current=null,f.current=null,d.current=null,h.current=null,v.current=null,S.current=null,b.current=null},K=function(e,t){I(e,t),D(),j()},L=function(e,t){I(e,t),window.addEventListener("touchmove",Y,{passive:!1,cancelable:!1}),window.addEventListener("touchend",M)},Y=function(e){_(e)},M=function e(t){T(t),window.removeEventListener("touchmove",Y),window.removeEventListener("touchend",e)};l.useImperativeHandle(n,(function(){return{props:e,getElement:function(){return i.current}}})),l.useEffect((function(){var r,n=p(i.current.children).filter((function(e){return t.DomHandler.hasClass(e,"p-splitter-panel")}));if(n.map((function(e){e.childNodes&&t.ObjectUtils.isNotEmpty(t.DomHandler.find(e,".p-splitter"))&&t.DomHandler.addClass(e,"p-splitter-panel-nested")})),e.children&&e.children.length){var l=!1;if(w&&!E.current&&(l=!!(r=A().getItem(e.stateKey))&&(z.current=JSON.parse(r),p(i.current.children).filter((function(e){return t.DomHandler.hasClass(e,"p-splitter-panel")})).forEach((function(t,r){t.style.flexBasis="calc("+z.current[r]+"% - "+(e.children.length-1)*e.gutterSize+"px)"})),!0)),!l){var u=[];e.children.map((function(t,r){var l=(t.props&&t.props.size?t.props.size:null)||100/e.children.length;return u[r]=l,n[r].style.flexBasis="calc("+l+"% - "+(e.children.length-1)*e.gutterSize+"px)",u})),z.current=u,E.current&&C()}}E.current=!0}));var B=function(r,n){var i=t.ObjectUtils.findDiffKeys(r.props,y.defaultProps),o=t.classNames("p-splitter-panel",r.props.className),c=n!==e.children.length-1&&l.createElement("div",{ref:function(e){return a.current[n]=e},className:"p-splitter-gutter",style:"horizontal"===e.layout?{width:e.gutterSize+"px"}:{height:e.gutterSize+"px"},onMouseDown:function(e){return K(e,n)},onTouchStart:function(e){return L(e,n)},onTouchMove:function(e){return Y(e)},onTouchEnd:function(e){return M(e)}},l.createElement("div",{className:"p-splitter-gutter-handle"}));return l.createElement(l.Fragment,null,l.createElement("div",u({key:n,className:o,style:r.props.style},i),r.props.children),c)},U=t.ObjectUtils.findDiffKeys(e,g.defaultProps),X=t.classNames("p-splitter p-component p-splitter-".concat(e.layout),e.className),k=l.Children.map(e.children,B);return l.createElement("div",u({ref:i,id:e.id,className:X,style:e.style},U),k)})));y.displayName="SplitterPanel",y.defaultProps={__TYPE:"SplitterPanel",size:null,minSize:null,style:null,className:null},g.displayName="Splitter",g.defaultProps={__TYPE:"Splitter",id:null,className:null,style:null,layout:"horizontal",gutterSize:4,stateKey:null,stateStorage:"session",onResizeEnd:null},exports.Splitter=g,exports.SplitterPanel=y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),r=require("primereact/utils");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=n(e);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e){if(Array.isArray(e))return i(e)}function a(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function s(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}function p(){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){throw new TypeError('"'+e+'" is read-only')}function d(e){if(Array.isArray(e))return e}function m(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,u,l=[],o=!0,i=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,u=e}finally{try{o||null==r.return||r.return()}finally{if(i)throw u}}return l}}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(e,t){return d(e)||m(e,t)||s(e,t)||y()}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=function(){},O=u.memo(u.forwardRef((function(e,n){var o=u.useRef(null),i=u.useRef(),d=u.useRef({}),m=u.useRef(null),y=u.useRef(null),g=u.useRef(null),S=u.useRef(null),w=u.useRef(null),E=u.useRef(null),z=u.useRef(null),j=u.useRef(null),P=u.useRef(null),D=u.useRef(null),H=h(u.useState([]),2),R=H[0],N=H[1],x=null!=e.stateKey,C=e.children&&e.children.length,A=function(t,r){return r in t?t[r]:(e.children[r].props.size||100)/C},I=h(t.useEventListener({type:"mousemove",listener:function(e){return W(e)}}),2),T=I[0],_=I[1],K=h(t.useEventListener({type:"mouseup",listener:function(e){J(e),Y()}}),2),k=K[0],L=K[1],Y=function(){_(),L()},M=function(t,r){return!(t>100||t<0)&&(!(r>100||r<0)&&(!(e.children[D.current].props&&e.children[D.current].props.minSize&&e.children[D.current].props.minSize>t)&&!(e.children[D.current+1].props&&e.children[D.current+1].props.minSize&&e.children[D.current+1].props.minSize>r)))},U=u.useCallback((function(){switch(e.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(e.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}}),[e.stateStorage]),X=function(t){U().setItem(e.stateKey,JSON.stringify(t))},q=u.useCallback((function(){var t=U().getItem(e.stateKey);t&&N(JSON.parse(t))}),[U,e.stateKey]),B=function(t,n){i.current=d.current[n];var u="touchstart"===t.type?t.touches[0].pageX:t.pageX,l="touchstart"===t.type?t.touches[0].pageY:t.pageY;m.current="horizontal"===e.layout?r.DomHandler.getWidth(o.current):r.DomHandler.getHeight(o.current),y.current=!0,g.current="horizontal"===e.layout?u:l,S.current=i.current.previousElementSibling,w.current=i.current.nextElementSibling,E.current=100*("horizontal"===e.layout?r.DomHandler.getOuterWidth(S.current,!0):r.DomHandler.getOuterHeight(S.current,!0))/m.current,z.current=E.current,j.current=100*("horizontal"===e.layout?r.DomHandler.getOuterWidth(w.current,!0):r.DomHandler.getOuterHeight(w.current,!0))/m.current,P.current=j.current,D.current=n,r.DomHandler.addClass(i.current,"p-splitter-gutter-resizing"),r.DomHandler.addClass(o.current,"p-splitter-resizing")},W=function(t){var r,n=E.current+(r="horizontal"===e.layout?100*("touchmove"===t.type?t.touches[0].pageX:t.pageX)/m.current-100*g.current/m.current:100*("touchmove"===t.type?t.touches[0].pageY:t.pageY)/m.current-100*g.current/m.current),u=j.current-r;M(n,u)&&(z.current=n,P.current=u,S.current.style.flexBasis="calc("+n+"% - "+(e.children.length-1)*e.gutterSize+"px)",w.current.style.flexBasis="calc("+u+"% - "+(e.children.length-1)*e.gutterSize+"px)")},J=function(t){N((function(r){for(var n=[];0<e.children.length;f("index"))n[0]=A(r,0);return n[D.current]=z.current,n[D.current+1]=P.current,e.onResizeEnd&&e.onResizeEnd({originalEvent:t,sizes:n}),x&&X(n),n})),r.DomHandler.removeClass(i.current,"p-splitter-gutter-resizing"),r.DomHandler.removeClass(o.current,"p-splitter-resizing"),y.current=!1,m.current=null,g.current=null,S.current=null,w.current=null,E.current=null,z.current=null,j.current=null,P.current=null,D.current=null},F=function(e,t){B(e,t),T(),k()},$=function(e,t){B(e,t),window.addEventListener("touchmove",G,{passive:!1,cancelable:!1}),window.addEventListener("touchend",Q)},G=function(e){W(e)},Q=function e(t){J(t),window.removeEventListener("touchmove",G),window.removeEventListener("touchend",e)};u.useImperativeHandle(n,(function(){return{props:e,getElement:function(){return o.current}}})),u.useEffect((function(){var e;(e=o.current.children,c(e)||a(e)||s(e)||p()).filter((function(e){return r.DomHandler.hasClass(e,"p-splitter-panel")})).map((function(e){e.childNodes&&r.ObjectUtils.isNotEmpty(r.DomHandler.find(e,".p-splitter"))&&r.DomHandler.addClass(e,"p-splitter-panel-nested")}))}),[]),u.useEffect((function(){x&&q()}),[q,x]);var V=function(t,n){var o=r.ObjectUtils.findDiffKeys(t.props,b.defaultProps),i=r.classNames("p-splitter-panel",t.props.className),c=n!==e.children.length-1&&u.createElement("div",{ref:function(e){return d.current[n]=e},className:"p-splitter-gutter",style:"horizontal"===e.layout?{width:e.gutterSize+"px"}:{height:e.gutterSize+"px"},onMouseDown:function(e){return F(e,n)},onTouchStart:function(e){return $(e,n)},onTouchMove:function(e){return G(e)},onTouchEnd:function(e){return Q(e)}},u.createElement("div",{className:"p-splitter-gutter-handle"})),a="calc("+A(R,n)+"% - "+(C-1)*e.gutterSize+"px)";return u.createElement(u.Fragment,null,u.createElement("div",l({key:n,className:i,style:v(v({},t.props.style),{},{flexBasis:a})},o),t.props.children),c)},Z=r.ObjectUtils.findDiffKeys(e,O.defaultProps),ee=r.classNames("p-splitter p-component p-splitter-".concat(e.layout),e.className),te=u.Children.map(e.children,V);return u.createElement("div",l({ref:o,id:e.id,className:ee,style:e.style},Z),te)})));b.displayName="SplitterPanel",b.defaultProps={__TYPE:"SplitterPanel",className:null,minSize:null,size:null,style:null},O.displayName="Splitter",O.defaultProps={__TYPE:"Splitter",className:null,gutterSize:4,id:null,layout:"horizontal",onResizeEnd:null,stateKey:null,stateStorage:"session",style:null},exports.Splitter=O,exports.SplitterPanel=b;
@@ -12,7 +12,7 @@ interface SplitterResizeEndParams {
12
12
  interface SplitterPanelProps {
13
13
  size?: number;
14
14
  minSize?: number;
15
- style?: object;
15
+ style?: React.CSSProperties;
16
16
  className?: string;
17
17
  children?: React.ReactNode;
18
18
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { DomHandler, ObjectUtils, classNames } from 'primereact/utils';
3
2
  import { useEventListener } from 'primereact/hooks';
3
+ import { DomHandler, ObjectUtils, classNames } from 'primereact/utils';
4
4
 
5
5
  function _extends() {
6
6
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -19,6 +19,21 @@ function _extends() {
19
19
  return _extends.apply(this, arguments);
20
20
  }
21
21
 
22
+ function _defineProperty(obj, key, value) {
23
+ if (key in obj) {
24
+ Object.defineProperty(obj, key, {
25
+ value: value,
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true
29
+ });
30
+ } else {
31
+ obj[key] = value;
32
+ }
33
+
34
+ return obj;
35
+ }
36
+
22
37
  function _arrayLikeToArray(arr, len) {
23
38
  if (len == null || len > arr.length) len = arr.length;
24
39
 
@@ -54,6 +69,10 @@ function _toConsumableArray(arr) {
54
69
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
55
70
  }
56
71
 
72
+ function _readOnlyError(name) {
73
+ throw new TypeError("\"" + name + "\" is read-only");
74
+ }
75
+
57
76
  function _arrayWithHoles(arr) {
58
77
  if (Array.isArray(arr)) return arr;
59
78
  }
@@ -96,6 +115,9 @@ function _slicedToArray(arr, i) {
96
115
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
97
116
  }
98
117
 
118
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
119
+
120
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
99
121
  var SplitterPanel = function SplitterPanel() {};
100
122
  var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
101
123
  var elementRef = React.useRef(null);
@@ -107,11 +129,22 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
107
129
  var prevPanelElement = React.useRef(null);
108
130
  var nextPanelElement = React.useRef(null);
109
131
  var prevPanelSize = React.useRef(null);
132
+ var prevPanelSizeNew = React.useRef(null);
110
133
  var nextPanelSize = React.useRef(null);
134
+ var nextPanelSizeNew = React.useRef(null);
111
135
  var prevPanelIndex = React.useRef(null);
112
- var panelSizes = React.useRef(null);
113
- var mounted = React.useRef(false);
136
+
137
+ var _React$useState = React.useState([]),
138
+ _React$useState2 = _slicedToArray(_React$useState, 2),
139
+ panelSizes = _React$useState2[0],
140
+ setPanelSizes = _React$useState2[1];
141
+
114
142
  var isStateful = props.stateKey != null;
143
+ var childrenLength = props.children && props.children.length;
144
+
145
+ var panelSize = function panelSize(sizes, index) {
146
+ return index in sizes ? sizes[index] : (props.children[index].props.size || 100) / childrenLength;
147
+ };
115
148
 
116
149
  var _useEventListener = useEventListener({
117
150
  type: 'mousemove',
@@ -145,6 +178,9 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
145
178
  };
146
179
 
147
180
  var validateResize = function validateResize(newPrevPanelSize, newNextPanelSize) {
181
+ if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;
182
+ if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;
183
+
148
184
  if (props.children[prevPanelIndex.current].props && props.children[prevPanelIndex.current].props.minSize && props.children[prevPanelIndex.current].props.minSize > newPrevPanelSize) {
149
185
  return false;
150
186
  }
@@ -163,11 +199,13 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
163
199
  prevPanelElement.current = null;
164
200
  nextPanelElement.current = null;
165
201
  prevPanelSize.current = null;
202
+ prevPanelSizeNew.current = null;
166
203
  nextPanelSize.current = null;
204
+ nextPanelSizeNew.current = null;
167
205
  prevPanelIndex.current = null;
168
206
  };
169
207
 
170
- var getStorage = function getStorage() {
208
+ var getStorage = React.useCallback(function () {
171
209
  switch (props.stateStorage) {
172
210
  case 'local':
173
211
  return window.localStorage;
@@ -178,31 +216,16 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
178
216
  default:
179
217
  throw new Error(props.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".');
180
218
  }
181
- };
219
+ }, [props.stateStorage]);
182
220
 
183
- var saveState = function saveState() {
184
- getStorage().setItem(props.stateKey, JSON.stringify(panelSizes.current));
221
+ var saveState = function saveState(sizes) {
222
+ getStorage().setItem(props.stateKey, JSON.stringify(sizes));
185
223
  };
186
224
 
187
- var restoreState = function restoreState() {
188
- var storage = getStorage();
189
- var stateString = storage.getItem(props.stateKey);
190
-
191
- if (stateString) {
192
- panelSizes.current = JSON.parse(stateString);
193
-
194
- var children = _toConsumableArray(elementRef.current.children).filter(function (child) {
195
- return DomHandler.hasClass(child, 'p-splitter-panel');
196
- });
197
-
198
- children.forEach(function (child, i) {
199
- child.style.flexBasis = 'calc(' + panelSizes.current[i] + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
200
- });
201
- return true;
202
- }
203
-
204
- return false;
205
- };
225
+ var restoreState = React.useCallback(function () {
226
+ var stateString = getStorage().getItem(props.stateKey);
227
+ if (stateString) setPanelSizes(JSON.parse(stateString));
228
+ }, [getStorage, props.stateKey]);
206
229
 
207
230
  var onResizeStart = function onResizeStart(event, index) {
208
231
  gutterRef.current = gutterRefs.current[index];
@@ -214,7 +237,9 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
214
237
  prevPanelElement.current = gutterRef.current.previousElementSibling;
215
238
  nextPanelElement.current = gutterRef.current.nextElementSibling;
216
239
  prevPanelSize.current = 100 * (props.layout === 'horizontal' ? DomHandler.getOuterWidth(prevPanelElement.current, true) : DomHandler.getOuterHeight(prevPanelElement.current, true)) / size.current;
240
+ prevPanelSizeNew.current = prevPanelSize.current;
217
241
  nextPanelSize.current = 100 * (props.layout === 'horizontal' ? DomHandler.getOuterWidth(nextPanelElement.current, true) : DomHandler.getOuterHeight(nextPanelElement.current, true)) / size.current;
242
+ nextPanelSizeNew.current = nextPanelSize.current;
218
243
  prevPanelIndex.current = index;
219
244
  DomHandler.addClass(gutterRef.current, 'p-splitter-gutter-resizing');
220
245
  DomHandler.addClass(elementRef.current, 'p-splitter-resizing');
@@ -229,25 +254,34 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
229
254
  var newNextPanelSize = nextPanelSize.current - newPos;
230
255
 
231
256
  if (validateResize(newPrevPanelSize, newNextPanelSize)) {
257
+ prevPanelSizeNew.current = newPrevPanelSize;
258
+ nextPanelSizeNew.current = newNextPanelSize;
232
259
  prevPanelElement.current.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
233
260
  nextPanelElement.current.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
234
- panelSizes.current[prevPanelIndex.current] = newPrevPanelSize;
235
- panelSizes.current[prevPanelIndex.current + 1] = newNextPanelSize;
236
261
  }
237
262
  };
238
263
 
239
264
  var onResizeEnd = function onResizeEnd(event) {
240
- if (isStateful) {
241
- saveState();
242
- }
265
+ setPanelSizes(function (prev) {
266
+ var sizes = [];
243
267
 
244
- if (props.onResizeEnd) {
245
- props.onResizeEnd({
246
- originalEvent: event,
247
- sizes: panelSizes.current
248
- });
249
- }
268
+ for (var index = 0; index < props.children.length; _readOnlyError("index")) {
269
+ sizes[index] = panelSize(prev, index);
270
+ }
271
+
272
+ sizes[prevPanelIndex.current] = prevPanelSizeNew.current;
273
+ sizes[prevPanelIndex.current + 1] = nextPanelSizeNew.current;
274
+
275
+ if (props.onResizeEnd) {
276
+ props.onResizeEnd({
277
+ originalEvent: event,
278
+ sizes: sizes
279
+ });
280
+ }
250
281
 
282
+ if (isStateful) saveState(sizes);
283
+ return sizes;
284
+ });
251
285
  DomHandler.removeClass(gutterRef.current, 'p-splitter-gutter-resizing');
252
286
  DomHandler.removeClass(elementRef.current, 'p-splitter-resizing');
253
287
  clear();
@@ -295,30 +329,10 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
295
329
  DomHandler.addClass(panelElement, 'p-splitter-panel-nested');
296
330
  }
297
331
  });
298
-
299
- if (props.children && props.children.length) {
300
- var initialized = false;
301
-
302
- if (isStateful && !mounted.current) {
303
- initialized = restoreState();
304
- }
305
-
306
- if (!initialized) {
307
- var _panelSizes = [];
308
- props.children.map(function (panel, i) {
309
- var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;
310
- var panelSize = panelInitialSize || 100 / props.children.length;
311
- _panelSizes[i] = panelSize;
312
- panelElements[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (props.children.length - 1) * props.gutterSize + 'px)';
313
- return _panelSizes;
314
- });
315
- panelSizes.current = _panelSizes;
316
- mounted.current && saveState();
317
- }
318
- }
319
-
320
- mounted.current = true;
321
- });
332
+ }, []);
333
+ React.useEffect(function () {
334
+ if (isStateful) restoreState();
335
+ }, [restoreState, isStateful]);
322
336
 
323
337
  var createPanel = function createPanel(panel, index) {
324
338
  var otherProps = ObjectUtils.findDiffKeys(panel.props, SplitterPanel.defaultProps);
@@ -349,10 +363,13 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
349
363
  }, /*#__PURE__*/React.createElement("div", {
350
364
  className: "p-splitter-gutter-handle"
351
365
  }));
366
+ var flexBasis = 'calc(' + panelSize(panelSizes, index) + '% - ' + (childrenLength - 1) * props.gutterSize + 'px)';
352
367
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
353
368
  key: index,
354
369
  className: panelClassName,
355
- style: panel.props.style
370
+ style: _objectSpread(_objectSpread({}, panel.props.style), {}, {
371
+ flexBasis: flexBasis
372
+ })
356
373
  }, otherProps), panel.props.children), gutter);
357
374
  };
358
375
 
@@ -373,22 +390,22 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
373
390
  SplitterPanel.displayName = 'SplitterPanel';
374
391
  SplitterPanel.defaultProps = {
375
392
  __TYPE: 'SplitterPanel',
376
- size: null,
393
+ className: null,
377
394
  minSize: null,
378
- style: null,
379
- className: null
395
+ size: null,
396
+ style: null
380
397
  };
381
398
  Splitter.displayName = 'Splitter';
382
399
  Splitter.defaultProps = {
383
400
  __TYPE: 'Splitter',
384
- id: null,
385
401
  className: null,
386
- style: null,
387
- layout: 'horizontal',
388
402
  gutterSize: 4,
403
+ id: null,
404
+ layout: 'horizontal',
405
+ onResizeEnd: null,
389
406
  stateKey: null,
390
407
  stateStorage: 'session',
391
- onResizeEnd: null
408
+ style: null
392
409
  };
393
410
 
394
411
  export { Splitter, SplitterPanel };
@@ -1 +1 @@
1
- import*as e from"react";import{DomHandler as t,ObjectUtils as r,classNames as n}from"primereact/utils";import{useEventListener as u}from"primereact/hooks";function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function o(e){if(Array.isArray(e))return i(e)}function c(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function a(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}function s(){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 p(e){return o(e)||c(e)||a(e)||s()}function f(e){if(Array.isArray(e))return e}function d(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,u,l=[],i=!0,o=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);i=!0);}catch(e){o=!0,u=e}finally{try{i||null==r.return||r.return()}finally{if(o)throw u}}return l}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){return f(e)||d(e,t)||a(e,t)||h()}var y=function(){},g=e.memo(e.forwardRef((function(i,o){var c=e.useRef(null),a=e.useRef(),s=e.useRef({}),f=e.useRef(null),d=e.useRef(null),h=e.useRef(null),v=e.useRef(null),S=e.useRef(null),z=e.useRef(null),w=e.useRef(null),E=e.useRef(null),b=e.useRef(null),R=e.useRef(!1),N=null!=i.stateKey,x=m(u({type:"mousemove",listener:function(e){return H(e)}}),2),O=x[0],A=x[1],C=m(u({type:"mouseup",listener:function(e){L(e),j()}}),2),P=C[0],I=C[1],j=function(){A(),I()},T=function(e,t){return!(i.children[E.current].props&&i.children[E.current].props.minSize&&i.children[E.current].props.minSize>e)&&!(i.children[E.current+1].props&&i.children[E.current+1].props.minSize&&i.children[E.current+1].props.minSize>t)},K=function(){switch(i.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(i.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},Y=function(){K().setItem(i.stateKey,JSON.stringify(b.current))},B=function(e,r){a.current=s.current[r];var n="touchstart"===e.type?e.touches[0].pageX:e.pageX,u="touchstart"===e.type?e.touches[0].pageY:e.pageY;f.current="horizontal"===i.layout?t.getWidth(c.current):t.getHeight(c.current),d.current=!0,h.current="horizontal"===i.layout?n:u,v.current=a.current.previousElementSibling,S.current=a.current.nextElementSibling,z.current=100*("horizontal"===i.layout?t.getOuterWidth(v.current,!0):t.getOuterHeight(v.current,!0))/f.current,w.current=100*("horizontal"===i.layout?t.getOuterWidth(S.current,!0):t.getOuterHeight(S.current,!0))/f.current,E.current=r,t.addClass(a.current,"p-splitter-gutter-resizing"),t.addClass(c.current,"p-splitter-resizing")},H=function(e){var t,r=z.current+(t="horizontal"===i.layout?100*("touchmove"===e.type?e.touches[0].pageX:e.pageX)/f.current-100*h.current/f.current:100*("touchmove"===e.type?e.touches[0].pageY:e.pageY)/f.current-100*h.current/f.current),n=w.current-t;T(r,n)&&(v.current.style.flexBasis="calc("+r+"% - "+(i.children.length-1)*i.gutterSize+"px)",S.current.style.flexBasis="calc("+n+"% - "+(i.children.length-1)*i.gutterSize+"px)",b.current[E.current]=r,b.current[E.current+1]=n)},L=function(e){N&&Y(),i.onResizeEnd&&i.onResizeEnd({originalEvent:e,sizes:b.current}),t.removeClass(a.current,"p-splitter-gutter-resizing"),t.removeClass(c.current,"p-splitter-resizing"),d.current=!1,f.current=null,h.current=null,v.current=null,S.current=null,z.current=null,w.current=null,E.current=null},X=function(e,t){B(e,t),O(),P()},_=function(e,t){B(e,t),window.addEventListener("touchmove",D,{passive:!1,cancelable:!1}),window.addEventListener("touchend",M)},D=function(e){H(e)},M=function e(t){L(t),window.removeEventListener("touchmove",D),window.removeEventListener("touchend",e)};e.useImperativeHandle(o,(function(){return{props:i,getElement:function(){return c.current}}})),e.useEffect((function(){var e,n=p(c.current.children).filter((function(e){return t.hasClass(e,"p-splitter-panel")}));if(n.map((function(e){e.childNodes&&r.isNotEmpty(t.find(e,".p-splitter"))&&t.addClass(e,"p-splitter-panel-nested")})),i.children&&i.children.length){var u=!1;if(N&&!R.current&&(u=!!(e=K().getItem(i.stateKey))&&(b.current=JSON.parse(e),p(c.current.children).filter((function(e){return t.hasClass(e,"p-splitter-panel")})).forEach((function(e,t){e.style.flexBasis="calc("+b.current[t]+"% - "+(i.children.length-1)*i.gutterSize+"px)"})),!0)),!u){var l=[];i.children.map((function(e,t){var r=(e.props&&e.props.size?e.props.size:null)||100/i.children.length;return l[t]=r,n[t].style.flexBasis="calc("+r+"% - "+(i.children.length-1)*i.gutterSize+"px)",l})),b.current=l,R.current&&Y()}}R.current=!0}));var W=function(t,u){var o=r.findDiffKeys(t.props,y.defaultProps),c=n("p-splitter-panel",t.props.className),a=u!==i.children.length-1&&e.createElement("div",{ref:function(e){return s.current[u]=e},className:"p-splitter-gutter",style:"horizontal"===i.layout?{width:i.gutterSize+"px"}:{height:i.gutterSize+"px"},onMouseDown:function(e){return X(e,u)},onTouchStart:function(e){return _(e,u)},onTouchMove:function(e){return D(e)},onTouchEnd:function(e){return M(e)}},e.createElement("div",{className:"p-splitter-gutter-handle"}));return e.createElement(e.Fragment,null,e.createElement("div",l({key:u,className:c,style:t.props.style},o),t.props.children),a)},k=r.findDiffKeys(i,g.defaultProps),J=n("p-splitter p-component p-splitter-".concat(i.layout),i.className),F=e.Children.map(i.children,W);return e.createElement("div",l({ref:c,id:i.id,className:J,style:i.style},k),F)})));y.displayName="SplitterPanel",y.defaultProps={__TYPE:"SplitterPanel",size:null,minSize:null,style:null,className:null},g.displayName="Splitter",g.defaultProps={__TYPE:"Splitter",id:null,className:null,style:null,layout:"horizontal",gutterSize:4,stateKey:null,stateStorage:"session",onResizeEnd:null};export{g as Splitter,y as SplitterPanel};
1
+ import*as e from"react";import{useEventListener as t}from"primereact/hooks";import{DomHandler as r,ObjectUtils as n,classNames as u}from"primereact/utils";function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e){if(Array.isArray(e))return i(e)}function a(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function s(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}function p(){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){throw new TypeError('"'+e+'" is read-only')}function d(e){if(Array.isArray(e))return e}function h(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,u,l=[],o=!0,i=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,u=e}finally{try{o||null==r.return||r.return()}finally{if(i)throw u}}return l}}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){return d(e)||h(e,t)||s(e,t)||y()}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=function(){},S=e.memo(e.forwardRef((function(o,i){var d=e.useRef(null),h=e.useRef(),y=e.useRef({}),g=e.useRef(null),w=e.useRef(null),O=e.useRef(null),z=e.useRef(null),E=e.useRef(null),j=e.useRef(null),P=e.useRef(null),R=e.useRef(null),N=e.useRef(null),x=e.useRef(null),C=m(e.useState([]),2),A=C[0],I=C[1],T=null!=o.stateKey,D=o.children&&o.children.length,K=function(e,t){return t in e?e[t]:(o.children[t].props.size||100)/D},Y=m(t({type:"mousemove",listener:function(e){return $(e)}}),2),k=Y[0],H=Y[1],L=m(t({type:"mouseup",listener:function(e){q(e),B()}}),2),X=L[0],_=L[1],B=function(){H(),_()},M=function(e,t){return!(e>100||e<0)&&(!(t>100||t<0)&&(!(o.children[x.current].props&&o.children[x.current].props.minSize&&o.children[x.current].props.minSize>e)&&!(o.children[x.current+1].props&&o.children[x.current+1].props.minSize&&o.children[x.current+1].props.minSize>t)))},W=e.useCallback((function(){switch(o.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(o.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}}),[o.stateStorage]),J=function(e){W().setItem(o.stateKey,JSON.stringify(e))},F=e.useCallback((function(){var e=W().getItem(o.stateKey);e&&I(JSON.parse(e))}),[W,o.stateKey]),U=function(e,t){h.current=y.current[t];var n="touchstart"===e.type?e.touches[0].pageX:e.pageX,u="touchstart"===e.type?e.touches[0].pageY:e.pageY;g.current="horizontal"===o.layout?r.getWidth(d.current):r.getHeight(d.current),w.current=!0,O.current="horizontal"===o.layout?n:u,z.current=h.current.previousElementSibling,E.current=h.current.nextElementSibling,j.current=100*("horizontal"===o.layout?r.getOuterWidth(z.current,!0):r.getOuterHeight(z.current,!0))/g.current,P.current=j.current,R.current=100*("horizontal"===o.layout?r.getOuterWidth(E.current,!0):r.getOuterHeight(E.current,!0))/g.current,N.current=R.current,x.current=t,r.addClass(h.current,"p-splitter-gutter-resizing"),r.addClass(d.current,"p-splitter-resizing")},$=function(e){var t,r=j.current+(t="horizontal"===o.layout?100*("touchmove"===e.type?e.touches[0].pageX:e.pageX)/g.current-100*O.current/g.current:100*("touchmove"===e.type?e.touches[0].pageY:e.pageY)/g.current-100*O.current/g.current),n=R.current-t;M(r,n)&&(P.current=r,N.current=n,z.current.style.flexBasis="calc("+r+"% - "+(o.children.length-1)*o.gutterSize+"px)",E.current.style.flexBasis="calc("+n+"% - "+(o.children.length-1)*o.gutterSize+"px)")},q=function(e){I((function(t){for(var r=[];0<o.children.length;f("index"))r[0]=K(t,0);return r[x.current]=P.current,r[x.current+1]=N.current,o.onResizeEnd&&o.onResizeEnd({originalEvent:e,sizes:r}),T&&J(r),r})),r.removeClass(h.current,"p-splitter-gutter-resizing"),r.removeClass(d.current,"p-splitter-resizing"),w.current=!1,g.current=null,O.current=null,z.current=null,E.current=null,j.current=null,P.current=null,R.current=null,N.current=null,x.current=null},G=function(e,t){U(e,t),k(),X()},Q=function(e,t){U(e,t),window.addEventListener("touchmove",V,{passive:!1,cancelable:!1}),window.addEventListener("touchend",Z)},V=function(e){$(e)},Z=function e(t){q(t),window.removeEventListener("touchmove",V),window.removeEventListener("touchend",e)};e.useImperativeHandle(i,(function(){return{props:o,getElement:function(){return d.current}}})),e.useEffect((function(){var e;(e=d.current.children,c(e)||a(e)||s(e)||p()).filter((function(e){return r.hasClass(e,"p-splitter-panel")})).map((function(e){e.childNodes&&n.isNotEmpty(r.find(e,".p-splitter"))&&r.addClass(e,"p-splitter-panel-nested")}))}),[]),e.useEffect((function(){T&&F()}),[F,T]);var ee=function(t,r){var i=n.findDiffKeys(t.props,b.defaultProps),c=u("p-splitter-panel",t.props.className),a=r!==o.children.length-1&&e.createElement("div",{ref:function(e){return y.current[r]=e},className:"p-splitter-gutter",style:"horizontal"===o.layout?{width:o.gutterSize+"px"}:{height:o.gutterSize+"px"},onMouseDown:function(e){return G(e,r)},onTouchStart:function(e){return Q(e,r)},onTouchMove:function(e){return V(e)},onTouchEnd:function(e){return Z(e)}},e.createElement("div",{className:"p-splitter-gutter-handle"})),s="calc("+K(A,r)+"% - "+(D-1)*o.gutterSize+"px)";return e.createElement(e.Fragment,null,e.createElement("div",l({key:r,className:c,style:v(v({},t.props.style),{},{flexBasis:s})},i),t.props.children),a)},te=n.findDiffKeys(o,S.defaultProps),re=u("p-splitter p-component p-splitter-".concat(o.layout),o.className),ne=e.Children.map(o.children,ee);return e.createElement("div",l({ref:d,id:o.id,className:re,style:o.style},te),ne)})));b.displayName="SplitterPanel",b.defaultProps={__TYPE:"SplitterPanel",className:null,minSize:null,size:null,style:null},S.displayName="Splitter",S.defaultProps={__TYPE:"Splitter",className:null,gutterSize:4,id:null,layout:"horizontal",onResizeEnd:null,stateKey:null,stateStorage:"session",style:null};export{S as Splitter,b as SplitterPanel};