@bryntum/core-react-thin 7.3.2 → 7.3.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.
Files changed (200) hide show
  1. package/lib/BryntumBooleanCombo.d.ts +1 -1
  2. package/lib/BryntumBooleanCombo.js +1 -1
  3. package/lib/BryntumBooleanCombo.js.map +1 -1
  4. package/lib/BryntumButton.d.ts +1 -1
  5. package/lib/BryntumButton.js +1 -1
  6. package/lib/BryntumButton.js.map +1 -1
  7. package/lib/BryntumButtonGroup.d.ts +1 -1
  8. package/lib/BryntumButtonGroup.js +1 -1
  9. package/lib/BryntumButtonGroup.js.map +1 -1
  10. package/lib/BryntumChatPanel.d.ts +1 -1
  11. package/lib/BryntumChatPanel.js +1 -1
  12. package/lib/BryntumChatPanel.js.map +1 -1
  13. package/lib/BryntumCheckbox.d.ts +1 -1
  14. package/lib/BryntumCheckbox.js +1 -1
  15. package/lib/BryntumCheckbox.js.map +1 -1
  16. package/lib/BryntumCheckboxGroup.d.ts +1 -1
  17. package/lib/BryntumCheckboxGroup.js +1 -1
  18. package/lib/BryntumCheckboxGroup.js.map +1 -1
  19. package/lib/BryntumChipView.d.ts +1 -1
  20. package/lib/BryntumChipView.js +1 -1
  21. package/lib/BryntumChipView.js.map +1 -1
  22. package/lib/BryntumCodeEditor.d.ts +1 -1
  23. package/lib/BryntumCodeEditor.js +1 -1
  24. package/lib/BryntumCodeEditor.js.map +1 -1
  25. package/lib/BryntumColorField.d.ts +1 -1
  26. package/lib/BryntumColorField.js +1 -1
  27. package/lib/BryntumColorField.js.map +1 -1
  28. package/lib/BryntumCombo.d.ts +1 -1
  29. package/lib/BryntumCombo.js +1 -1
  30. package/lib/BryntumCombo.js.map +1 -1
  31. package/lib/BryntumContainer.d.ts +1 -1
  32. package/lib/BryntumContainer.js +1 -1
  33. package/lib/BryntumContainer.js.map +1 -1
  34. package/lib/BryntumDateField.d.ts +1 -1
  35. package/lib/BryntumDateField.js +1 -1
  36. package/lib/BryntumDateField.js.map +1 -1
  37. package/lib/BryntumDatePicker.d.ts +1 -1
  38. package/lib/BryntumDatePicker.js +1 -1
  39. package/lib/BryntumDatePicker.js.map +1 -1
  40. package/lib/BryntumDateRangeField.d.ts +1 -1
  41. package/lib/BryntumDateRangeField.js +1 -1
  42. package/lib/BryntumDateRangeField.js.map +1 -1
  43. package/lib/BryntumDateTimeField.d.ts +1 -1
  44. package/lib/BryntumDateTimeField.js +1 -1
  45. package/lib/BryntumDateTimeField.js.map +1 -1
  46. package/lib/BryntumDemoCodeEditor.d.ts +1 -1
  47. package/lib/BryntumDemoCodeEditor.js +1 -1
  48. package/lib/BryntumDemoCodeEditor.js.map +1 -1
  49. package/lib/BryntumDisplayField.d.ts +1 -1
  50. package/lib/BryntumDisplayField.js +1 -1
  51. package/lib/BryntumDisplayField.js.map +1 -1
  52. package/lib/BryntumDurationField.d.ts +1 -1
  53. package/lib/BryntumDurationField.js +1 -1
  54. package/lib/BryntumDurationField.js.map +1 -1
  55. package/lib/BryntumEditor.d.ts +1 -1
  56. package/lib/BryntumEditor.js +1 -1
  57. package/lib/BryntumEditor.js.map +1 -1
  58. package/lib/BryntumFieldFilterPicker.d.ts +1 -1
  59. package/lib/BryntumFieldFilterPicker.js +1 -1
  60. package/lib/BryntumFieldFilterPicker.js.map +1 -1
  61. package/lib/BryntumFieldFilterPickerGroup.d.ts +1 -1
  62. package/lib/BryntumFieldFilterPickerGroup.js +1 -1
  63. package/lib/BryntumFieldFilterPickerGroup.js.map +1 -1
  64. package/lib/BryntumFieldSet.d.ts +1 -1
  65. package/lib/BryntumFieldSet.js +1 -1
  66. package/lib/BryntumFieldSet.js.map +1 -1
  67. package/lib/BryntumFileField.d.ts +1 -1
  68. package/lib/BryntumFileField.js +1 -1
  69. package/lib/BryntumFileField.js.map +1 -1
  70. package/lib/BryntumFilePicker.d.ts +1 -1
  71. package/lib/BryntumFilePicker.js +1 -1
  72. package/lib/BryntumFilePicker.js.map +1 -1
  73. package/lib/BryntumFilterField.d.ts +1 -1
  74. package/lib/BryntumFilterField.js +1 -1
  75. package/lib/BryntumFilterField.js.map +1 -1
  76. package/lib/BryntumHint.js +1 -0
  77. package/lib/BryntumHint.js.map +1 -1
  78. package/lib/BryntumLabel.d.ts +1 -1
  79. package/lib/BryntumLabel.js +1 -1
  80. package/lib/BryntumLabel.js.map +1 -1
  81. package/lib/BryntumList.d.ts +1 -1
  82. package/lib/BryntumList.js +1 -1
  83. package/lib/BryntumList.js.map +1 -1
  84. package/lib/BryntumMenu.d.ts +1 -1
  85. package/lib/BryntumMenu.js +1 -1
  86. package/lib/BryntumMenu.js.map +1 -1
  87. package/lib/BryntumMonthPicker.d.ts +1 -1
  88. package/lib/BryntumMonthPicker.js +1 -1
  89. package/lib/BryntumMonthPicker.js.map +1 -1
  90. package/lib/BryntumNumberField.d.ts +1 -1
  91. package/lib/BryntumNumberField.js +1 -1
  92. package/lib/BryntumNumberField.js.map +1 -1
  93. package/lib/BryntumPagingToolbar.d.ts +1 -1
  94. package/lib/BryntumPagingToolbar.js +1 -1
  95. package/lib/BryntumPagingToolbar.js.map +1 -1
  96. package/lib/BryntumPanel.d.ts +1 -1
  97. package/lib/BryntumPanel.js +1 -1
  98. package/lib/BryntumPanel.js.map +1 -1
  99. package/lib/BryntumPasswordField.d.ts +1 -1
  100. package/lib/BryntumPasswordField.js +1 -1
  101. package/lib/BryntumPasswordField.js.map +1 -1
  102. package/lib/BryntumProgressBar.d.ts +1 -1
  103. package/lib/BryntumProgressBar.js +1 -1
  104. package/lib/BryntumProgressBar.js.map +1 -1
  105. package/lib/BryntumRadio.d.ts +1 -1
  106. package/lib/BryntumRadio.js +1 -1
  107. package/lib/BryntumRadio.js.map +1 -1
  108. package/lib/BryntumRadioGroup.d.ts +1 -1
  109. package/lib/BryntumRadioGroup.js +1 -1
  110. package/lib/BryntumRadioGroup.js.map +1 -1
  111. package/lib/BryntumSlideToggle.d.ts +1 -1
  112. package/lib/BryntumSlideToggle.js +1 -1
  113. package/lib/BryntumSlideToggle.js.map +1 -1
  114. package/lib/BryntumSlider.d.ts +1 -1
  115. package/lib/BryntumSlider.js +1 -1
  116. package/lib/BryntumSlider.js.map +1 -1
  117. package/lib/BryntumSplitter.d.ts +1 -1
  118. package/lib/BryntumSplitter.js +1 -1
  119. package/lib/BryntumSplitter.js.map +1 -1
  120. package/lib/BryntumTabPanel.d.ts +1 -1
  121. package/lib/BryntumTabPanel.js +1 -1
  122. package/lib/BryntumTabPanel.js.map +1 -1
  123. package/lib/BryntumTextAreaField.d.ts +1 -1
  124. package/lib/BryntumTextAreaField.js +1 -1
  125. package/lib/BryntumTextAreaField.js.map +1 -1
  126. package/lib/BryntumTextAreaPickerField.d.ts +1 -1
  127. package/lib/BryntumTextAreaPickerField.js +1 -1
  128. package/lib/BryntumTextAreaPickerField.js.map +1 -1
  129. package/lib/BryntumTextField.d.ts +1 -1
  130. package/lib/BryntumTextField.js +1 -1
  131. package/lib/BryntumTextField.js.map +1 -1
  132. package/lib/BryntumTimeField.d.ts +1 -1
  133. package/lib/BryntumTimeField.js +1 -1
  134. package/lib/BryntumTimeField.js.map +1 -1
  135. package/lib/BryntumTimePicker.d.ts +1 -1
  136. package/lib/BryntumTimePicker.js +1 -1
  137. package/lib/BryntumTimePicker.js.map +1 -1
  138. package/lib/BryntumToolbar.d.ts +1 -1
  139. package/lib/BryntumToolbar.js +1 -1
  140. package/lib/BryntumToolbar.js.map +1 -1
  141. package/lib/BryntumWidget.d.ts +1 -1
  142. package/lib/BryntumWidget.js +1 -1
  143. package/lib/BryntumWidget.js.map +1 -1
  144. package/lib/BryntumYearPicker.d.ts +1 -1
  145. package/lib/BryntumYearPicker.js +1 -1
  146. package/lib/BryntumYearPicker.js.map +1 -1
  147. package/lib/WrapperHelper.js +27 -8
  148. package/lib/WrapperHelper.js.map +1 -1
  149. package/license.pdf +0 -0
  150. package/package.json +1 -1
  151. package/src/BryntumBooleanCombo.tsx +6 -5
  152. package/src/BryntumButton.tsx +6 -5
  153. package/src/BryntumButtonGroup.tsx +7 -6
  154. package/src/BryntumChatPanel.tsx +7 -6
  155. package/src/BryntumCheckbox.tsx +6 -5
  156. package/src/BryntumCheckboxGroup.tsx +7 -6
  157. package/src/BryntumChipView.tsx +6 -5
  158. package/src/BryntumCodeEditor.tsx +7 -6
  159. package/src/BryntumColorField.tsx +6 -5
  160. package/src/BryntumCombo.tsx +6 -5
  161. package/src/BryntumContainer.tsx +7 -6
  162. package/src/BryntumDateField.tsx +6 -5
  163. package/src/BryntumDatePicker.tsx +7 -6
  164. package/src/BryntumDateRangeField.tsx +6 -5
  165. package/src/BryntumDateTimeField.tsx +6 -5
  166. package/src/BryntumDemoCodeEditor.tsx +7 -6
  167. package/src/BryntumDisplayField.tsx +6 -5
  168. package/src/BryntumDurationField.tsx +6 -5
  169. package/src/BryntumEditor.tsx +7 -6
  170. package/src/BryntumFieldFilterPicker.tsx +7 -6
  171. package/src/BryntumFieldFilterPickerGroup.tsx +7 -6
  172. package/src/BryntumFieldSet.tsx +7 -6
  173. package/src/BryntumFileField.tsx +6 -5
  174. package/src/BryntumFilePicker.tsx +7 -6
  175. package/src/BryntumFilterField.tsx +6 -5
  176. package/src/BryntumHint.tsx +3 -2
  177. package/src/BryntumLabel.tsx +6 -5
  178. package/src/BryntumList.tsx +6 -5
  179. package/src/BryntumMenu.tsx +6 -5
  180. package/src/BryntumMonthPicker.tsx +7 -6
  181. package/src/BryntumNumberField.tsx +6 -5
  182. package/src/BryntumPagingToolbar.tsx +7 -6
  183. package/src/BryntumPanel.tsx +7 -6
  184. package/src/BryntumPasswordField.tsx +6 -5
  185. package/src/BryntumProgressBar.tsx +6 -5
  186. package/src/BryntumRadio.tsx +6 -5
  187. package/src/BryntumRadioGroup.tsx +7 -6
  188. package/src/BryntumSlideToggle.tsx +6 -5
  189. package/src/BryntumSlider.tsx +6 -5
  190. package/src/BryntumSplitter.tsx +6 -5
  191. package/src/BryntumTabPanel.tsx +7 -6
  192. package/src/BryntumTextAreaField.tsx +6 -5
  193. package/src/BryntumTextAreaPickerField.tsx +6 -5
  194. package/src/BryntumTextField.tsx +6 -5
  195. package/src/BryntumTimeField.tsx +6 -5
  196. package/src/BryntumTimePicker.tsx +7 -6
  197. package/src/BryntumToolbar.tsx +7 -6
  198. package/src/BryntumWidget.tsx +6 -5
  199. package/src/BryntumYearPicker.tsx +7 -6
  200. package/src/WrapperHelper.tsx +55 -17
@@ -88,9 +88,10 @@ export type BryntumTextAreaFieldProps = {
88
88
  catchEventHandlerExceptions? : boolean
89
89
  /**
90
90
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
91
- * Set to `true` to centre the Widget in browser viewport space.
91
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaField#config-centered)
92
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
92
93
  */
93
- centered? : boolean
94
+ centered? : boolean|object
94
95
  /**
95
96
  * A function (or the name of a function in the ownership hierarchy) called during field validation
96
97
  * to perform custom validity checks. The function is called as part of the [isValid](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-isValid)
@@ -187,7 +188,7 @@ export type BryntumTextAreaFieldProps = {
187
188
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
188
189
  /**
189
190
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
190
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
191
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
191
192
  * property which controls when a drag should start.
192
193
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaField#config-draggable)
193
194
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -504,7 +505,7 @@ export type BryntumTextAreaFieldProps = {
504
505
  rtl? : boolean
505
506
  /**
506
507
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
507
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
508
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
508
509
  */
509
510
  scrollAction? : 'hide'|'realign'|null
510
511
  /**
@@ -782,7 +783,6 @@ export class BryntumTextAreaField extends React.Component<BryntumTextAreaFieldPr
782
783
  'autoHeight',
783
784
  'autoSelect',
784
785
  'bubbleEvents',
785
- 'centered',
786
786
  'checkValidity',
787
787
  'clearable',
788
788
  'color',
@@ -851,6 +851,7 @@ export class BryntumTextAreaField extends React.Component<BryntumTextAreaFieldPr
851
851
  'badge',
852
852
  'callOnFunctions',
853
853
  'catchEventHandlerExceptions',
854
+ 'centered',
854
855
  'cls',
855
856
  'column',
856
857
  'dataset',
@@ -86,9 +86,10 @@ export type BryntumTextAreaPickerFieldProps = {
86
86
  catchEventHandlerExceptions? : boolean
87
87
  /**
88
88
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
89
- * Set to `true` to centre the Widget in browser viewport space.
89
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaPickerField#config-centered)
90
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
90
91
  */
91
- centered? : boolean
92
+ centered? : boolean|object
92
93
  /**
93
94
  * A function (or the name of a function in the ownership hierarchy) called during field validation
94
95
  * to perform custom validity checks. The function is called as part of the [isValid](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-isValid)
@@ -185,7 +186,7 @@ export type BryntumTextAreaPickerFieldProps = {
185
186
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
186
187
  /**
187
188
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
188
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
189
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
189
190
  * property which controls when a drag should start.
190
191
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaPickerField#config-draggable)
191
192
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -513,7 +514,7 @@ export type BryntumTextAreaPickerFieldProps = {
513
514
  rtl? : boolean
514
515
  /**
515
516
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
516
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
517
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
517
518
  */
518
519
  scrollAction? : 'hide'|'realign'|null
519
520
  /**
@@ -791,7 +792,6 @@ export class BryntumTextAreaPickerField extends React.Component<BryntumTextAreaP
791
792
  'autoExpand',
792
793
  'autoSelect',
793
794
  'bubbleEvents',
794
- 'centered',
795
795
  'checkValidity',
796
796
  'clearable',
797
797
  'color',
@@ -864,6 +864,7 @@ export class BryntumTextAreaPickerField extends React.Component<BryntumTextAreaP
864
864
  'badge',
865
865
  'callOnFunctions',
866
866
  'catchEventHandlerExceptions',
867
+ 'centered',
867
868
  'cls',
868
869
  'column',
869
870
  'dataset',
@@ -82,9 +82,10 @@ export type BryntumTextFieldProps = {
82
82
  catchEventHandlerExceptions? : boolean
83
83
  /**
84
84
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
85
- * Set to `true` to centre the Widget in browser viewport space.
85
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextField#config-centered)
86
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
86
87
  */
87
- centered? : boolean
88
+ centered? : boolean|object
88
89
  /**
89
90
  * A function (or the name of a function in the ownership hierarchy) called during field validation
90
91
  * to perform custom validity checks. The function is called as part of the [isValid](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-isValid)
@@ -181,7 +182,7 @@ export type BryntumTextFieldProps = {
181
182
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
182
183
  /**
183
184
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
184
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
185
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
185
186
  * property which controls when a drag should start.
186
187
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextField#config-draggable)
187
188
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -502,7 +503,7 @@ export type BryntumTextFieldProps = {
502
503
  rtl? : boolean
503
504
  /**
504
505
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
505
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
506
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
506
507
  */
507
508
  scrollAction? : 'hide'|'realign'|null
508
509
  /**
@@ -779,7 +780,6 @@ export class BryntumTextField extends React.Component<BryntumTextFieldProps> {
779
780
  'autoComplete',
780
781
  'autoSelect',
781
782
  'bubbleEvents',
782
- 'centered',
783
783
  'checkValidity',
784
784
  'clearable',
785
785
  'color',
@@ -849,6 +849,7 @@ export class BryntumTextField extends React.Component<BryntumTextFieldProps> {
849
849
  'badge',
850
850
  'callOnFunctions',
851
851
  'catchEventHandlerExceptions',
852
+ 'centered',
852
853
  'cls',
853
854
  'column',
854
855
  'dataset',
@@ -86,9 +86,10 @@ export type BryntumTimeFieldProps = {
86
86
  catchEventHandlerExceptions? : boolean
87
87
  /**
88
88
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
89
- * Set to `true` to centre the Widget in browser viewport space.
89
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimeField#config-centered)
90
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
90
91
  */
91
- centered? : boolean
92
+ centered? : boolean|object
92
93
  /**
93
94
  * A function (or the name of a function in the ownership hierarchy) called during field validation
94
95
  * to perform custom validity checks. The function is called as part of the [isValid](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-isValid)
@@ -185,7 +186,7 @@ export type BryntumTimeFieldProps = {
185
186
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
186
187
  /**
187
188
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
188
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
189
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
189
190
  * property which controls when a drag should start.
190
191
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimeField#config-draggable)
191
192
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -538,7 +539,7 @@ export type BryntumTimeFieldProps = {
538
539
  rtl? : boolean
539
540
  /**
540
541
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
541
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
542
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
542
543
  */
543
544
  scrollAction? : 'hide'|'realign'|null
544
545
  /**
@@ -832,7 +833,6 @@ export class BryntumTimeField extends React.Component<BryntumTimeFieldProps> {
832
833
  'autoExpand',
833
834
  'autoSelect',
834
835
  'bubbleEvents',
835
- 'centered',
836
836
  'checkValidity',
837
837
  'clearable',
838
838
  'color',
@@ -905,6 +905,7 @@ export class BryntumTimeField extends React.Component<BryntumTimeFieldProps> {
905
905
  'badge',
906
906
  'callOnFunctions',
907
907
  'catchEventHandlerExceptions',
908
+ 'centered',
908
909
  'cls',
909
910
  'column',
910
911
  'dataset',
@@ -77,9 +77,10 @@ export type BryntumTimePickerProps = {
77
77
  catchEventHandlerExceptions? : boolean
78
78
  /**
79
79
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
80
- * Set to `true` to centre the Widget in browser viewport space.
80
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimePicker#config-centered)
81
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
81
82
  */
82
- centered? : boolean
83
+ centered? : boolean|object
83
84
  /**
84
85
  * Custom CSS classes to add to element.
85
86
  * May be specified as a space separated string, or as an object in which property names
@@ -165,7 +166,7 @@ export type BryntumTimePickerProps = {
165
166
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
166
167
  /**
167
168
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
168
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
169
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
169
170
  * property which controls when a drag should start.
170
171
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimePicker#config-draggable)
171
172
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -278,7 +279,7 @@ export type BryntumTimePickerProps = {
278
279
  */
279
280
  labelPosition? : 'before'|'above'|'align-before'|'auto'|null
280
281
  /**
281
- * Sets `labelWidth´ for all children of this Container, that does not define their own `labelWidth`.
282
+ * Sets `labelWidth` for all children of this Container, that do not define their own `labelWidth`.
282
283
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimePicker#config-labelWidth)
283
284
  */
284
285
  labelWidth? : number|null
@@ -454,7 +455,7 @@ export type BryntumTimePickerProps = {
454
455
  scrollable? : boolean|ScrollerConfig|Scroller
455
456
  /**
456
457
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
457
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
458
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
458
459
  */
459
460
  scrollAction? : 'hide'|'realign'|null
460
461
  /**
@@ -693,7 +694,6 @@ export class BryntumTimePicker extends React.Component<BryntumTimePickerProps> {
693
694
  'autoUpdateRecord',
694
695
  'border',
695
696
  'bubbleEvents',
696
- 'centered',
697
697
  'color',
698
698
  'config',
699
699
  'constrainTo',
@@ -746,6 +746,7 @@ export class BryntumTimePicker extends React.Component<BryntumTimePickerProps> {
746
746
  'appendTo',
747
747
  'callOnFunctions',
748
748
  'catchEventHandlerExceptions',
749
+ 'centered',
749
750
  'cls',
750
751
  'column',
751
752
  'content',
@@ -77,9 +77,10 @@ export type BryntumToolbarProps = {
77
77
  catchEventHandlerExceptions? : boolean
78
78
  /**
79
79
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
80
- * Set to `true` to centre the Widget in browser viewport space.
80
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar#config-centered)
81
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
81
82
  */
82
- centered? : boolean
83
+ centered? : boolean|object
83
84
  /**
84
85
  * Custom CSS classes to add to element.
85
86
  * May be specified as a space separated string, or as an object in which property names
@@ -165,7 +166,7 @@ export type BryntumToolbarProps = {
165
166
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
166
167
  /**
167
168
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
168
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
169
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
169
170
  * property which controls when a drag should start.
170
171
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar#config-draggable)
171
172
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -277,7 +278,7 @@ export type BryntumToolbarProps = {
277
278
  */
278
279
  labelPosition? : 'before'|'above'|'align-before'|'auto'|null
279
280
  /**
280
- * Sets `labelWidth´ for all children of this Container, that does not define their own `labelWidth`.
281
+ * Sets `labelWidth` for all children of this Container, that do not define their own `labelWidth`.
281
282
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar#config-labelWidth)
282
283
  */
283
284
  labelWidth? : number|null
@@ -451,7 +452,7 @@ export type BryntumToolbarProps = {
451
452
  scrollable? : boolean|ScrollerConfig|Scroller
452
453
  /**
453
454
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
454
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
455
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
455
456
  */
456
457
  scrollAction? : 'hide'|'realign'|null
457
458
  /**
@@ -715,7 +716,6 @@ export class BryntumToolbar extends React.Component<BryntumToolbarProps> {
715
716
  'autoUpdateRecord',
716
717
  'border',
717
718
  'bubbleEvents',
718
- 'centered',
719
719
  'color',
720
720
  'config',
721
721
  'constrainTo',
@@ -770,6 +770,7 @@ export class BryntumToolbar extends React.Component<BryntumToolbarProps> {
770
770
  'appendTo',
771
771
  'callOnFunctions',
772
772
  'catchEventHandlerExceptions',
773
+ 'centered',
773
774
  'cls',
774
775
  'column',
775
776
  'content',
@@ -69,9 +69,10 @@ export type BryntumWidgetProps = {
69
69
  catchEventHandlerExceptions? : boolean
70
70
  /**
71
71
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
72
- * Set to `true` to centre the Widget in browser viewport space.
72
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-centered)
73
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
73
74
  */
74
- centered? : boolean
75
+ centered? : boolean|object
75
76
  /**
76
77
  * Custom CSS classes to add to element.
77
78
  * May be specified as a space separated string, or as an object in which property names
@@ -145,7 +146,7 @@ export type BryntumWidgetProps = {
145
146
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
146
147
  /**
147
148
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
148
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
149
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
149
150
  * property which controls when a drag should start.
150
151
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-draggable)
151
152
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -352,7 +353,7 @@ export type BryntumWidgetProps = {
352
353
  scrollable? : boolean|ScrollerConfig|Scroller
353
354
  /**
354
355
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
355
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
356
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
356
357
  */
357
358
  scrollAction? : 'hide'|'realign'|null
358
359
  /**
@@ -546,7 +547,6 @@ export class BryntumWidget extends React.Component<BryntumWidgetProps> {
546
547
  'ariaDescription',
547
548
  'ariaLabel',
548
549
  'bubbleEvents',
549
- 'centered',
550
550
  'color',
551
551
  'config',
552
552
  'constrainTo',
@@ -591,6 +591,7 @@ export class BryntumWidget extends React.Component<BryntumWidgetProps> {
591
591
  'appendTo',
592
592
  'callOnFunctions',
593
593
  'catchEventHandlerExceptions',
594
+ 'centered',
594
595
  'cls',
595
596
  'column',
596
597
  'content',
@@ -88,9 +88,10 @@ export type BryntumYearPickerProps = {
88
88
  catchEventHandlerExceptions? : boolean
89
89
  /**
90
90
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
91
- * Set to `true` to centre the Widget in browser viewport space.
91
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/YearPicker#config-centered)
92
+ * @property {boolean} [once] If `true`, the Widget will be centred on its first show, but if it is moved at runtime, it will opt out of centering for future shows.
92
93
  */
93
- centered? : boolean
94
+ centered? : boolean|object
94
95
  /**
95
96
  * Custom CSS classes to add to element.
96
97
  * May be specified as a space separated string, or as an object in which property names
@@ -186,7 +187,7 @@ export type BryntumYearPickerProps = {
186
187
  dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
187
188
  /**
188
189
  * *Only valid if this Widget is [floating](https://bryntum.com/products/core/docs/api/Core/widget/Widget#config-floating).*
189
- * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
190
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a `handleSelector`
190
191
  * property which controls when a drag should start.
191
192
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/YearPicker#config-draggable)
192
193
  * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
@@ -326,7 +327,7 @@ export type BryntumYearPickerProps = {
326
327
  */
327
328
  labelPosition? : 'before'|'above'|'align-before'|'auto'|null
328
329
  /**
329
- * Sets `labelWidth´ for all children of this Container, that does not define their own `labelWidth`.
330
+ * Sets `labelWidth` for all children of this Container, that do not define their own `labelWidth`.
330
331
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/YearPicker#config-labelWidth)
331
332
  */
332
333
  labelWidth? : number|null
@@ -500,7 +501,7 @@ export type BryntumYearPickerProps = {
500
501
  scrollable? : boolean|ScrollerConfig|Scroller
501
502
  /**
502
503
  * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
503
- * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
504
+ * Valid values: `null`: do nothing, `hide`: hide the widget or `realign`: realign to the target if possible.
504
505
  */
505
506
  scrollAction? : 'hide'|'realign'|null
506
507
  /**
@@ -833,7 +834,6 @@ export class BryntumYearPicker extends React.Component<BryntumYearPickerProps> {
833
834
  'bodyCls',
834
835
  'border',
835
836
  'bubbleEvents',
836
- 'centered',
837
837
  'collapsible',
838
838
  'color',
839
839
  'config',
@@ -900,6 +900,7 @@ export class BryntumYearPicker extends React.Component<BryntumYearPickerProps> {
900
900
  'appendTo',
901
901
  'callOnFunctions',
902
902
  'catchEventHandlerExceptions',
903
+ 'centered',
903
904
  'cls',
904
905
  'collapsed',
905
906
  'column',
@@ -50,6 +50,7 @@ type ReactComponentState = {
50
50
  type HTMLElementWithData = HTMLElement & {
51
51
  elementData?: any
52
52
  lastPortalId?: string | null
53
+ jsxContainer?: HTMLElement | null
53
54
  didSetTextContent?: boolean
54
55
  };
55
56
 
@@ -515,9 +516,11 @@ function processCellContent(this: { reactComponent: any; isExporting: boolean; $
515
516
  else {
516
517
  // Create new portal container
517
518
  const portalContainer = DomHelper.append(renderElement, {
518
- tag : 'div',
519
- className : portalContainerClass,
520
- dataset : { portalId } // for reference in tests
519
+ tag : 'div',
520
+ className : portalContainerClass,
521
+ dataset : { portalId }, // for reference in tests
522
+ // We don't want portal container to be reused in the DomConfig flip for this cell
523
+ retainElement : true
521
524
  });
522
525
  renderElement.portalContainer = portalContainer;
523
526
 
@@ -542,9 +545,27 @@ function processCellContent(this: { reactComponent: any; isExporting: boolean; $
542
545
  cellElementData.hasPortal = true;
543
546
  portal.generation = record.generation;
544
547
  }
545
- else if (!rendererHtml && cellElementData.hasPortal) {
546
- cellElement.portalContainer.remove();
547
- cellElementData.hasPortal = false;
548
+ else if (cellElementData.hasPortal) {
549
+ // The previous JSX cell content can be replaced by DomConfig object so in that case,
550
+ // we want to delete the previously created portal for JSX. See:
551
+ // https://github.com/bryntum/support/issues/7862
552
+ const
553
+ container = renderElement.portalContainer || renderElement.querySelector(`.${portalContainerClass}`),
554
+ ownedPortalId = container?.dataset.portalId,
555
+ portal = ownedPortalId && state.portals.get(ownedPortalId);
556
+
557
+ if (portal && portal.containerInfo === container) {
558
+ deletePortal(component, ownedPortalId);
559
+ flushSync(() => updateGeneration(component, true));
560
+ }
561
+ else {
562
+ // No live portal owns this container. Since retainElement is true,
563
+ // we have to remove it manually
564
+ container?.remove();
565
+ }
566
+
567
+ renderElement.portalContainer = null;
568
+ cellElementData.hasPortal = false;
548
569
  }
549
570
  }
550
571
 
@@ -1173,7 +1194,7 @@ function processEventContent(this: any, {
1173
1194
  */
1174
1195
  function processResourceHeader(
1175
1196
  { jsx, targetElement }:
1176
- { jsx: ReactElement; targetElement: HTMLElement }): void {
1197
+ { jsx: ReactElement; targetElement: HTMLElementWithData }): void {
1177
1198
 
1178
1199
  if (!jsx) {
1179
1200
  return;
@@ -1186,19 +1207,36 @@ function processResourceHeader(
1186
1207
  { portals } = state,
1187
1208
  portalId = `resource-header-${targetElement.dataset.resourceId}`;
1188
1209
 
1189
- // Delete portal if we already have one
1190
- if (portals.has(portalId)) {
1191
- portals.delete(portalId);
1192
-
1193
- // Update the generation (force React re-rendering) in this tick
1194
- updateGeneration(reactComponent, true);
1210
+ // Render the JSX into a retained container instead of straight into the header cell. DomSync owns the
1211
+ // header cell and, on every re-sync (e.g. when resizing the resource columns), it releases any DOM children
1212
+ // it did not create itself - adding the `b-released` class which hides the React-rendered content. A
1213
+ // `b-jsx-container` flagged with `retainElement` is left untouched by DomSync. The container is given
1214
+ // `display: contents` so it stays transparent to the header cell's flex layout.
1215
+ // The container is cached on the cell rather than queried from the DOM each pass.
1216
+ let jsxContainer = targetElement.jsxContainer;
1217
+
1218
+ if (!jsxContainer) {
1219
+ // Clear any plain content DomSync may have placed in the cell before hosting the portal
1220
+ targetElement.textContent = '';
1221
+ targetElement.jsxContainer = jsxContainer = DomHelper.createElement({
1222
+ className : 'b-jsx-container',
1223
+ parent : targetElement,
1224
+ retainElement : true,
1225
+ style : { display : 'contents' }
1226
+ }) as HTMLElement;
1227
+ }
1228
+ // When a header cell is reused for a different resource, drop the now stale portal
1229
+ else if (targetElement.lastPortalId && targetElement.lastPortalId !== portalId) {
1230
+ portals.delete(targetElement.lastPortalId);
1195
1231
  }
1196
1232
 
1197
- portals.set(portalId, ReactDOM.createPortal(jsx, targetElement));
1198
-
1199
- // Trigger the React portals re-rendering in the next animation frame
1200
- updateGeneration(reactComponent);
1233
+ // (Re)create the portal so resource record changes are reflected. Setting the same
1234
+ // id replaces any existing portal, so no explicit delete is needed beforehand.
1235
+ portals.set(portalId, ReactDOM.createPortal(jsx, jsxContainer));
1236
+ targetElement.lastPortalId = portalId;
1201
1237
 
1238
+ // Force React to re-render the portals in this tick
1239
+ updateGeneration(reactComponent, true);
1202
1240
  }
1203
1241
 
1204
1242
  /**