@bryntum/core-react-thin 7.3.3 → 7.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/lib/BryntumBooleanCombo.d.ts +2 -1
  2. package/lib/BryntumBooleanCombo.js +1 -0
  3. package/lib/BryntumBooleanCombo.js.map +1 -1
  4. package/lib/BryntumButton.d.ts +3 -1
  5. package/lib/BryntumButton.js +2 -0
  6. package/lib/BryntumButton.js.map +1 -1
  7. package/lib/BryntumButtonGroup.d.ts +4 -1
  8. package/lib/BryntumButtonGroup.js +3 -0
  9. package/lib/BryntumButtonGroup.js.map +1 -1
  10. package/lib/BryntumChatPanel.d.ts +3 -2
  11. package/lib/BryntumChatPanel.js +2 -1
  12. package/lib/BryntumChatPanel.js.map +1 -1
  13. package/lib/BryntumCheckbox.d.ts +2 -1
  14. package/lib/BryntumCheckbox.js +1 -0
  15. package/lib/BryntumCheckbox.js.map +1 -1
  16. package/lib/BryntumCheckboxGroup.d.ts +3 -2
  17. package/lib/BryntumCheckboxGroup.js +2 -1
  18. package/lib/BryntumCheckboxGroup.js.map +1 -1
  19. package/lib/BryntumChipView.d.ts +2 -1
  20. package/lib/BryntumChipView.js +1 -0
  21. package/lib/BryntumChipView.js.map +1 -1
  22. package/lib/BryntumCodeEditor.d.ts +3 -2
  23. package/lib/BryntumCodeEditor.js +2 -1
  24. package/lib/BryntumCodeEditor.js.map +1 -1
  25. package/lib/BryntumColorField.d.ts +2 -1
  26. package/lib/BryntumColorField.js +1 -0
  27. package/lib/BryntumColorField.js.map +1 -1
  28. package/lib/BryntumCombo.d.ts +2 -1
  29. package/lib/BryntumCombo.js +1 -0
  30. package/lib/BryntumCombo.js.map +1 -1
  31. package/lib/BryntumContainer.d.ts +2 -1
  32. package/lib/BryntumContainer.js +1 -0
  33. package/lib/BryntumContainer.js.map +1 -1
  34. package/lib/BryntumDateField.d.ts +2 -1
  35. package/lib/BryntumDateField.js +1 -0
  36. package/lib/BryntumDateField.js.map +1 -1
  37. package/lib/BryntumDatePicker.d.ts +3 -2
  38. package/lib/BryntumDatePicker.js +2 -1
  39. package/lib/BryntumDatePicker.js.map +1 -1
  40. package/lib/BryntumDateRangeField.d.ts +2 -1
  41. package/lib/BryntumDateRangeField.js +1 -0
  42. package/lib/BryntumDateRangeField.js.map +1 -1
  43. package/lib/BryntumDateTimeField.d.ts +2 -1
  44. package/lib/BryntumDateTimeField.js +1 -0
  45. package/lib/BryntumDateTimeField.js.map +1 -1
  46. package/lib/BryntumDemoCodeEditor.d.ts +3 -2
  47. package/lib/BryntumDemoCodeEditor.js +2 -1
  48. package/lib/BryntumDemoCodeEditor.js.map +1 -1
  49. package/lib/BryntumDisplayField.d.ts +2 -1
  50. package/lib/BryntumDisplayField.js +1 -0
  51. package/lib/BryntumDisplayField.js.map +1 -1
  52. package/lib/BryntumDurationField.d.ts +2 -1
  53. package/lib/BryntumDurationField.js +1 -0
  54. package/lib/BryntumDurationField.js.map +1 -1
  55. package/lib/BryntumEditor.d.ts +2 -1
  56. package/lib/BryntumEditor.js +1 -0
  57. package/lib/BryntumEditor.js.map +1 -1
  58. package/lib/BryntumFieldFilterPicker.d.ts +2 -1
  59. package/lib/BryntumFieldFilterPicker.js +1 -0
  60. package/lib/BryntumFieldFilterPicker.js.map +1 -1
  61. package/lib/BryntumFieldFilterPickerGroup.d.ts +2 -1
  62. package/lib/BryntumFieldFilterPickerGroup.js +1 -0
  63. package/lib/BryntumFieldFilterPickerGroup.js.map +1 -1
  64. package/lib/BryntumFieldSet.d.ts +3 -2
  65. package/lib/BryntumFieldSet.js +2 -1
  66. package/lib/BryntumFieldSet.js.map +1 -1
  67. package/lib/BryntumFileField.d.ts +2 -1
  68. package/lib/BryntumFileField.js +1 -0
  69. package/lib/BryntumFileField.js.map +1 -1
  70. package/lib/BryntumFilePicker.d.ts +2 -1
  71. package/lib/BryntumFilePicker.js +1 -0
  72. package/lib/BryntumFilePicker.js.map +1 -1
  73. package/lib/BryntumFilterField.d.ts +2 -1
  74. package/lib/BryntumFilterField.js +1 -0
  75. package/lib/BryntumFilterField.js.map +1 -1
  76. package/lib/BryntumHint.d.ts +3 -2
  77. package/lib/BryntumHint.js +2 -1
  78. package/lib/BryntumHint.js.map +1 -1
  79. package/lib/BryntumLabel.d.ts +2 -1
  80. package/lib/BryntumLabel.js +1 -0
  81. package/lib/BryntumLabel.js.map +1 -1
  82. package/lib/BryntumList.d.ts +2 -1
  83. package/lib/BryntumList.js +1 -0
  84. package/lib/BryntumList.js.map +1 -1
  85. package/lib/BryntumMenu.d.ts +3 -2
  86. package/lib/BryntumMenu.js +2 -1
  87. package/lib/BryntumMenu.js.map +1 -1
  88. package/lib/BryntumMonthPicker.d.ts +3 -2
  89. package/lib/BryntumMonthPicker.js +2 -1
  90. package/lib/BryntumMonthPicker.js.map +1 -1
  91. package/lib/BryntumNumberField.d.ts +2 -1
  92. package/lib/BryntumNumberField.js +1 -0
  93. package/lib/BryntumNumberField.js.map +1 -1
  94. package/lib/BryntumPagingToolbar.d.ts +2 -1
  95. package/lib/BryntumPagingToolbar.js +1 -0
  96. package/lib/BryntumPagingToolbar.js.map +1 -1
  97. package/lib/BryntumPanel.d.ts +3 -2
  98. package/lib/BryntumPanel.js +2 -1
  99. package/lib/BryntumPanel.js.map +1 -1
  100. package/lib/BryntumPasswordField.d.ts +2 -1
  101. package/lib/BryntumPasswordField.js +1 -0
  102. package/lib/BryntumPasswordField.js.map +1 -1
  103. package/lib/BryntumProgressBar.d.ts +2 -1
  104. package/lib/BryntumProgressBar.js +1 -0
  105. package/lib/BryntumProgressBar.js.map +1 -1
  106. package/lib/BryntumRadio.d.ts +2 -1
  107. package/lib/BryntumRadio.js +1 -0
  108. package/lib/BryntumRadio.js.map +1 -1
  109. package/lib/BryntumRadioGroup.d.ts +3 -2
  110. package/lib/BryntumRadioGroup.js +2 -1
  111. package/lib/BryntumRadioGroup.js.map +1 -1
  112. package/lib/BryntumSlideToggle.d.ts +2 -1
  113. package/lib/BryntumSlideToggle.js +1 -0
  114. package/lib/BryntumSlideToggle.js.map +1 -1
  115. package/lib/BryntumSlider.d.ts +2 -1
  116. package/lib/BryntumSlider.js +1 -0
  117. package/lib/BryntumSlider.js.map +1 -1
  118. package/lib/BryntumSplitter.d.ts +2 -1
  119. package/lib/BryntumSplitter.js +1 -0
  120. package/lib/BryntumSplitter.js.map +1 -1
  121. package/lib/BryntumTabPanel.d.ts +3 -2
  122. package/lib/BryntumTabPanel.js +2 -1
  123. package/lib/BryntumTabPanel.js.map +1 -1
  124. package/lib/BryntumTextAreaField.d.ts +2 -1
  125. package/lib/BryntumTextAreaField.js +1 -0
  126. package/lib/BryntumTextAreaField.js.map +1 -1
  127. package/lib/BryntumTextAreaPickerField.d.ts +2 -1
  128. package/lib/BryntumTextAreaPickerField.js +1 -0
  129. package/lib/BryntumTextAreaPickerField.js.map +1 -1
  130. package/lib/BryntumTextField.d.ts +2 -1
  131. package/lib/BryntumTextField.js +1 -0
  132. package/lib/BryntumTextField.js.map +1 -1
  133. package/lib/BryntumTimeField.d.ts +2 -1
  134. package/lib/BryntumTimeField.js +1 -0
  135. package/lib/BryntumTimeField.js.map +1 -1
  136. package/lib/BryntumTimePicker.d.ts +2 -1
  137. package/lib/BryntumTimePicker.js +1 -0
  138. package/lib/BryntumTimePicker.js.map +1 -1
  139. package/lib/BryntumToolbar.d.ts +2 -1
  140. package/lib/BryntumToolbar.js +1 -0
  141. package/lib/BryntumToolbar.js.map +1 -1
  142. package/lib/BryntumWidget.d.ts +2 -1
  143. package/lib/BryntumWidget.js +1 -0
  144. package/lib/BryntumWidget.js.map +1 -1
  145. package/lib/BryntumYearPicker.d.ts +3 -2
  146. package/lib/BryntumYearPicker.js +2 -1
  147. package/lib/BryntumYearPicker.js.map +1 -1
  148. package/lib/WrapperHelper.js +5 -4
  149. package/lib/WrapperHelper.js.map +1 -1
  150. package/package.json +1 -1
  151. package/src/BryntumBooleanCombo.tsx +9 -1
  152. package/src/BryntumButton.tsx +17 -2
  153. package/src/BryntumButtonGroup.tsx +21 -1
  154. package/src/BryntumChatPanel.tsx +10 -3
  155. package/src/BryntumCheckbox.tsx +8 -1
  156. package/src/BryntumCheckboxGroup.tsx +10 -3
  157. package/src/BryntumChipView.tsx +8 -1
  158. package/src/BryntumCodeEditor.tsx +10 -3
  159. package/src/BryntumColorField.tsx +9 -1
  160. package/src/BryntumCombo.tsx +9 -1
  161. package/src/BryntumContainer.tsx +8 -1
  162. package/src/BryntumDateField.tsx +9 -1
  163. package/src/BryntumDatePicker.tsx +10 -3
  164. package/src/BryntumDateRangeField.tsx +9 -1
  165. package/src/BryntumDateTimeField.tsx +9 -1
  166. package/src/BryntumDemoCodeEditor.tsx +10 -3
  167. package/src/BryntumDisplayField.tsx +9 -1
  168. package/src/BryntumDurationField.tsx +9 -1
  169. package/src/BryntumEditor.tsx +8 -1
  170. package/src/BryntumFieldFilterPicker.tsx +8 -1
  171. package/src/BryntumFieldFilterPickerGroup.tsx +8 -1
  172. package/src/BryntumFieldSet.tsx +10 -3
  173. package/src/BryntumFileField.tsx +9 -1
  174. package/src/BryntumFilePicker.tsx +8 -1
  175. package/src/BryntumFilterField.tsx +9 -1
  176. package/src/BryntumHint.tsx +10 -3
  177. package/src/BryntumLabel.tsx +8 -1
  178. package/src/BryntumList.tsx +8 -1
  179. package/src/BryntumMenu.tsx +10 -3
  180. package/src/BryntumMonthPicker.tsx +10 -3
  181. package/src/BryntumNumberField.tsx +9 -1
  182. package/src/BryntumPagingToolbar.tsx +8 -1
  183. package/src/BryntumPanel.tsx +10 -3
  184. package/src/BryntumPasswordField.tsx +9 -1
  185. package/src/BryntumProgressBar.tsx +8 -1
  186. package/src/BryntumRadio.tsx +8 -1
  187. package/src/BryntumRadioGroup.tsx +10 -3
  188. package/src/BryntumSlideToggle.tsx +8 -1
  189. package/src/BryntumSlider.tsx +8 -1
  190. package/src/BryntumSplitter.tsx +8 -1
  191. package/src/BryntumTabPanel.tsx +10 -3
  192. package/src/BryntumTextAreaField.tsx +9 -1
  193. package/src/BryntumTextAreaPickerField.tsx +9 -1
  194. package/src/BryntumTextField.tsx +9 -1
  195. package/src/BryntumTimeField.tsx +9 -1
  196. package/src/BryntumTimePicker.tsx +8 -1
  197. package/src/BryntumToolbar.tsx +8 -1
  198. package/src/BryntumWidget.tsx +8 -1
  199. package/src/BryntumYearPicker.tsx +10 -3
  200. package/src/WrapperHelper.tsx +18 -5
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ReactJSX, Rectangle, Scroller, ScrollerConfig, StateProvider, TabBarConfig, TabConfig, TabPanel, TabPanelListeners, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, OverflowTwinConfig, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ReactJSX, Rectangle, Scroller, ScrollerConfig, StateProvider, TabBarConfig, TabConfig, TabPanel, TabPanelListeners, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -439,6 +439,12 @@ export type BryntumTabPanelProps = {
439
439
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TabPanel#config-namedItems)
440
440
  */
441
441
  namedItems? : Record<string, CoreContainerItemConfig>
442
+ /**
443
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
444
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
445
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TabPanel#config-overflowTwinConfig)
446
+ */
447
+ overflowTwinConfig? : OverflowTwinConfig|null
442
448
  /**
443
449
  * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/core/docs/api/Core/widget/Widget#property-contentElement), but must
444
450
  * not participate in the standard layout of that widget, and must be positioned relatively to that
@@ -538,7 +544,7 @@ export type BryntumTabPanelProps = {
538
544
  * (if explicitly specified) will be used as the `stateId`.
539
545
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TabPanel#config-stateId)
540
546
  */
541
- stateId? : string
547
+ stateId? : string|null
542
548
  /**
543
549
  * The `StateProvider` to use to save and restore this object's [state](https://bryntum.com/products/core/docs/api/Core/mixin/State#property-state). By default, `state`
544
550
  * will be saved using the [default state provider](https://bryntum.com/products/core/docs/api/Core/state/StateProvider#property-instance-static).
@@ -884,6 +890,7 @@ export class BryntumTabPanel extends React.Component<BryntumTabPanelProps> {
884
890
  'masked',
885
891
  'monitorResize',
886
892
  'namedItems',
893
+ 'overflowTwinConfig',
887
894
  'positioned',
888
895
  'preventTooltipOnTouch',
889
896
  'relayStoreEvents',
@@ -895,7 +902,6 @@ export class BryntumTabPanel extends React.Component<BryntumTabPanelProps> {
895
902
  'showTooltipWhenDisabled',
896
903
  'stateful',
897
904
  'statefulEvents',
898
- 'stateId',
899
905
  'stateProvider',
900
906
  'strips',
901
907
  'tab',
@@ -976,6 +982,7 @@ export class BryntumTabPanel extends React.Component<BryntumTabPanelProps> {
976
982
  'rtl',
977
983
  'scrollable',
978
984
  'span',
985
+ 'stateId',
979
986
  'strictRecordMapping',
980
987
  'title',
981
988
  'tools',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, CoreContainerItemConfig, DomConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, ReactJSX, Rectangle, Scroller, TabConfig, TextAreaField, TextAreaFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, CoreContainerItemConfig, DomConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, TabConfig, TextAreaField, TextAreaFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -105,6 +105,7 @@ export type BryntumTextAreaFieldProps = {
105
105
  * Show a trigger to clear field, if this field is not [readOnly](https://bryntum.com/products/core/docs/api/Core/widget/Field#config-readOnly). The trigger is available
106
106
  * in the [triggers](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers) object under the name `clear`. May also be an object which
107
107
  * configures the `clear` [trigger](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers).
108
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaField#config-clearable)
108
109
  */
109
110
  clearable? : boolean|FieldTriggerConfig
110
111
  /**
@@ -433,6 +434,12 @@ export type BryntumTextAreaFieldProps = {
433
434
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaField#config-name)
434
435
  */
435
436
  name? : string
437
+ /**
438
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
439
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
440
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaField#config-overflowTwinConfig)
441
+ */
442
+ overflowTwinConfig? : OverflowTwinConfig|null
436
443
  /**
437
444
  * Text to display in empty field.
438
445
  */
@@ -822,6 +829,7 @@ export class BryntumTextAreaField extends React.Component<BryntumTextAreaFieldPr
822
829
  'masked',
823
830
  'monitorResize',
824
831
  'name',
832
+ 'overflowTwinConfig',
825
833
  'positioned',
826
834
  'preventTooltipOnTouch',
827
835
  'relayStoreEvents',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, CoreContainerItemConfig, DomConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, ReactJSX, Rectangle, Scroller, TabConfig, TextAreaPickerField, TextAreaPickerFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, CoreContainerItemConfig, DomConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, TabConfig, TextAreaPickerField, TextAreaPickerFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -103,6 +103,7 @@ export type BryntumTextAreaPickerFieldProps = {
103
103
  * Show a trigger to clear field, if this field is not [readOnly](https://bryntum.com/products/core/docs/api/Core/widget/Field#config-readOnly). The trigger is available
104
104
  * in the [triggers](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers) object under the name `clear`. May also be an object which
105
105
  * configures the `clear` [trigger](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers).
106
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaPickerField#config-clearable)
106
107
  */
107
108
  clearable? : boolean|FieldTriggerConfig
108
109
  /**
@@ -432,6 +433,12 @@ export type BryntumTextAreaPickerFieldProps = {
432
433
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaPickerField#config-name)
433
434
  */
434
435
  name? : string
436
+ /**
437
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
438
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
439
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextAreaPickerField#config-overflowTwinConfig)
440
+ */
441
+ overflowTwinConfig? : OverflowTwinConfig|null
435
442
  /**
436
443
  * Configuration object for the [picker](https://bryntum.com/products/core/docs/api/Core/widget/List) on initialization. Returns the
437
444
  * [picker](https://bryntum.com/products/core/docs/api/Core/widget/List) instance at runtime.
@@ -833,6 +840,7 @@ export class BryntumTextAreaPickerField extends React.Component<BryntumTextAreaP
833
840
  'minLength',
834
841
  'monitorResize',
835
842
  'name',
843
+ 'overflowTwinConfig',
836
844
  'picker',
837
845
  'pickerAlignElement',
838
846
  'positioned',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, CoreContainerItemConfig, DomConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, ReactJSX, Rectangle, Scroller, TabConfig, TextField, TextFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, CoreContainerItemConfig, DomConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, TabConfig, TextField, TextFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -99,6 +99,7 @@ export type BryntumTextFieldProps = {
99
99
  * Show a trigger to clear field, if this field is not [readOnly](https://bryntum.com/products/core/docs/api/Core/widget/Field#config-readOnly). The trigger is available
100
100
  * in the [triggers](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers) object under the name `clear`. May also be an object which
101
101
  * configures the `clear` [trigger](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers).
102
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextField#config-clearable)
102
103
  */
103
104
  clearable? : boolean|FieldTriggerConfig
104
105
  /**
@@ -435,6 +436,12 @@ export type BryntumTextFieldProps = {
435
436
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextField#config-name)
436
437
  */
437
438
  name? : string
439
+ /**
440
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
441
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
442
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TextField#config-overflowTwinConfig)
443
+ */
444
+ overflowTwinConfig? : OverflowTwinConfig|null
438
445
  /**
439
446
  * Text to display in empty field.
440
447
  */
@@ -821,6 +828,7 @@ export class BryntumTextField extends React.Component<BryntumTextFieldProps> {
821
828
  'minLength',
822
829
  'monitorResize',
823
830
  'name',
831
+ 'overflowTwinConfig',
824
832
  'positioned',
825
833
  'preventTooltipOnTouch',
826
834
  'relayStoreEvents',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, CoreContainerItemConfig, DateField, DomConfig, DurationConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, ReactJSX, Rectangle, Scroller, TabConfig, TimeField, TimeFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, CoreContainerItemConfig, DateField, DomConfig, DurationConfig, Field, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, TabConfig, TimeField, TimeFieldListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -103,6 +103,7 @@ export type BryntumTimeFieldProps = {
103
103
  * Show a trigger to clear field, if this field is not [readOnly](https://bryntum.com/products/core/docs/api/Core/widget/Field#config-readOnly). The trigger is available
104
104
  * in the [triggers](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers) object under the name `clear`. May also be an object which
105
105
  * configures the `clear` [trigger](https://bryntum.com/products/core/docs/api/Core/widget/Field#property-triggers).
106
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimeField#config-clearable)
106
107
  */
107
108
  clearable? : boolean|FieldTriggerConfig
108
109
  /**
@@ -454,6 +455,12 @@ export type BryntumTimeFieldProps = {
454
455
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimeField#config-name)
455
456
  */
456
457
  name? : string
458
+ /**
459
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
460
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
461
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimeField#config-overflowTwinConfig)
462
+ */
463
+ overflowTwinConfig? : OverflowTwinConfig|null
457
464
  /**
458
465
  * A reference to a partner DateField which this TimeField should sync its value with.
459
466
  * When the DateField's value is changed, this TimeField's value is updated to match.
@@ -874,6 +881,7 @@ export class BryntumTimeField extends React.Component<BryntumTimeFieldProps> {
874
881
  'minLength',
875
882
  'monitorResize',
876
883
  'name',
884
+ 'overflowTwinConfig',
877
885
  'picker',
878
886
  'pickerAlignElement',
879
887
  'positioned',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, TimePicker, TimePickerListeners, ToolbarItems, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, TimePicker, TimePickerListeners, ToolbarItems, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -389,6 +389,12 @@ export type BryntumTimePickerProps = {
389
389
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimePicker#config-namedItems)
390
390
  */
391
391
  namedItems? : Record<string, CoreContainerItemConfig>
392
+ /**
393
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
394
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
395
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/TimePicker#config-overflowTwinConfig)
396
+ */
397
+ overflowTwinConfig? : OverflowTwinConfig|null
392
398
  /**
393
399
  * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/core/docs/api/Core/widget/Widget#property-contentElement), but must
394
400
  * not participate in the standard layout of that widget, and must be positioned relatively to that
@@ -721,6 +727,7 @@ export class BryntumTimePicker extends React.Component<BryntumTimePickerProps> {
721
727
  'masked',
722
728
  'monitorResize',
723
729
  'namedItems',
730
+ 'overflowTwinConfig',
724
731
  'positioned',
725
732
  'preventTooltipOnTouch',
726
733
  'relayStoreEvents',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, ClickRepeaterConfig, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, Model, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, Tool, ToolConfig, Toolbar, ToolbarItems, ToolbarListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, ClickRepeaterConfig, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, Model, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, Tool, ToolConfig, Toolbar, ToolbarItems, ToolbarListeners, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -386,6 +386,12 @@ export type BryntumToolbarProps = {
386
386
  * @property {Function} overflow.filter A filter function which may return a falsy value to prevent toolbar items from being cloned into the overflow menu.
387
387
  */
388
388
  overflow? : string|{ type: 'scroll'|'menu', repeat: ClickRepeaterConfig, filter: () => void }|null
389
+ /**
390
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
391
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
392
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar#config-overflowTwinConfig)
393
+ */
394
+ overflowTwinConfig? : OverflowTwinConfig|null
389
395
  /**
390
396
  * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/core/docs/api/Core/widget/Widget#property-contentElement), but must
391
397
  * not participate in the standard layout of that widget, and must be positioned relatively to that
@@ -744,6 +750,7 @@ export class BryntumToolbar extends React.Component<BryntumToolbarProps> {
744
750
  'monitorResize',
745
751
  'namedItems',
746
752
  'overflow',
753
+ 'overflowTwinConfig',
747
754
  'positioned',
748
755
  'preventTooltipOnTouch',
749
756
  'relayStoreEvents',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, DomConfig, KeyMapConfig, MaskConfig, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, TooltipConfig, VueConfig, Widget, WidgetListeners } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, DomConfig, KeyMapConfig, MaskConfig, OverflowTwinConfig, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, TooltipConfig, VueConfig, Widget, WidgetListeners } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -298,6 +298,12 @@ export type BryntumWidgetProps = {
298
298
  * @property {boolean} immediate Set to `true` to receive resize notifications immediately.
299
299
  */
300
300
  monitorResize? : boolean|object
301
+ /**
302
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
303
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
304
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-overflowTwinConfig)
305
+ */
306
+ overflowTwinConfig? : OverflowTwinConfig|null
301
307
  /**
302
308
  * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/core/docs/api/Core/widget/Widget#property-contentElement), but must
303
309
  * not participate in the standard layout of that widget, and must be positioned relatively to that
@@ -568,6 +574,7 @@ export class BryntumWidget extends React.Component<BryntumWidgetProps> {
568
574
  'maskDefaults',
569
575
  'masked',
570
576
  'monitorResize',
577
+ 'overflowTwinConfig',
571
578
  'positioned',
572
579
  'preventTooltipOnTouch',
573
580
  'relayStoreEvents',
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  import React, { RefObject } from 'react';
6
- import { AlignSpec, Base, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ReactJSX, Rectangle, Scroller, ScrollerConfig, StateProvider, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, VueConfig, Widget, YearPicker, YearPickerListeners } from '@bryntum/core-thin';
6
+ import { AlignSpec, Base, Color, Container, CoreContainerItemConfig, CoreContainerLayoutConfig, DomConfig, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, OverflowTwinConfig, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ReactJSX, Rectangle, Scroller, ScrollerConfig, StateProvider, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, VueConfig, Widget, YearPicker, YearPickerListeners } from '@bryntum/core-thin';
7
7
 
8
8
  import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
9
 
@@ -435,6 +435,12 @@ export type BryntumYearPickerProps = {
435
435
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/YearPicker#config-namedItems)
436
436
  */
437
437
  namedItems? : Record<string, CoreContainerItemConfig>
438
+ /**
439
+ * Customizes the config object used to create this widget's clone in a [Toolbar](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar)'s
440
+ * overflow menu (see [overflow](https://bryntum.com/products/core/docs/api/Core/widget/Toolbar#config-overflow)).
441
+ * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/YearPicker#config-overflowTwinConfig)
442
+ */
443
+ overflowTwinConfig? : OverflowTwinConfig|null
438
444
  /**
439
445
  * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/core/docs/api/Core/widget/Widget#property-contentElement), but must
440
446
  * not participate in the standard layout of that widget, and must be positioned relatively to that
@@ -538,7 +544,7 @@ export type BryntumYearPickerProps = {
538
544
  * (if explicitly specified) will be used as the `stateId`.
539
545
  * [More...](https://bryntum.com/products/grid/docs/api/Core/widget/YearPicker#config-stateId)
540
546
  */
541
- stateId? : string
547
+ stateId? : string|null
542
548
  /**
543
549
  * The `StateProvider` to use to save and restore this object's [state](https://bryntum.com/products/core/docs/api/Core/mixin/State#property-state). By default, `state`
544
550
  * will be saved using the [default state provider](https://bryntum.com/products/core/docs/api/Core/state/StateProvider#property-instance-static).
@@ -868,6 +874,7 @@ export class BryntumYearPicker extends React.Component<BryntumYearPickerProps> {
868
874
  'minYear',
869
875
  'monitorResize',
870
876
  'namedItems',
877
+ 'overflowTwinConfig',
871
878
  'positioned',
872
879
  'preventTooltipOnTouch',
873
880
  'relayStoreEvents',
@@ -879,7 +886,6 @@ export class BryntumYearPicker extends React.Component<BryntumYearPickerProps> {
879
886
  'showTooltipWhenDisabled',
880
887
  'stateful',
881
888
  'statefulEvents',
882
- 'stateId',
883
889
  'stateProvider',
884
890
  'strips',
885
891
  'tab',
@@ -957,6 +963,7 @@ export class BryntumYearPicker extends React.Component<BryntumYearPickerProps> {
957
963
  'scrollable',
958
964
  'span',
959
965
  'startYear',
966
+ 'stateId',
960
967
  'strictRecordMapping',
961
968
  'title',
962
969
  'tools',
@@ -803,7 +803,7 @@ function processCalendarEventContent(this: any, {
803
803
  refHolder = targetElement.closest('[data-ref]') as HTMLElement,
804
804
  mode = typeof this.mode === 'string' ? this.mode : this.mode?.type?.slice(0, 4),
805
805
  lastPortalId = wrap?.dataset.lastPortalId,
806
- portalKey = domConfig.dataset?.date || (dataHolder)?.dataset.date,
806
+ portalKey = domConfig?.dataset?.date || dataHolder?.dataset.date,
807
807
  containerRef = refHolder?.dataset?.ref;
808
808
 
809
809
  reactComponent.syncContent = reactComponent.syncContent || function(fn: () => unknown) {
@@ -1142,9 +1142,16 @@ function processEventContent(this: any, {
1142
1142
  }) as Element,
1143
1143
  portal = ReactDOM.createPortal(jsx, jsxContainer);
1144
1144
 
1145
- // Store eventGeneration on the portal to easily determine later if it needs to be updated
1145
+ // currentData resolves renderData in vertical mode, where eventGeneration lives one level
1146
+ // deeper than elementData; reading elementData directly would always yield undefined.
1146
1147
  // @ts-expect-error
1147
- portal.eventGeneration = wrap.elementData.eventGeneration;
1148
+ portal.eventGeneration = currentData.eventGeneration;
1149
+
1150
+ // Track the container so we can detect below when the event element is replaced while its
1151
+ // generation is unchanged (orientation switch, constrainDragToTimeline: false drag proxy), leaving
1152
+ // the portal in a detached container. https://github.com/bryntum/support/issues/13266
1153
+ // @ts-expect-error
1154
+ portal.jsxContainer = jsxContainer;
1148
1155
 
1149
1156
  // Store the React element so that we can reuse it when reusing wrap element
1150
1157
  wrap.lastJSX = jsx;
@@ -1171,8 +1178,14 @@ function processEventContent(this: any, {
1171
1178
 
1172
1179
  // Recurring events need re-creating always:
1173
1180
  // - https://github.com/bryntum/support/issues/10595
1174
- // Re-create portal only if the underlying eventRecord changed its generation or if exporting
1175
- if (!portal || isRecurring || isExporting || portal.eventGeneration !== wrap.elementData.eventGeneration || this.$isExpanding) {
1181
+ // Re-create portal only if the underlying eventRecord changed its generation or if exporting.
1182
+ // Use currentData.eventGeneration (not wrap.elementData.eventGeneration): in vertical mode
1183
+ // eventGeneration lives in elementData.renderData, so wrap.elementData.eventGeneration is always
1184
+ // undefined and stale portals would never be detected.
1185
+ // Also re-create when the container is detached: generation can be unchanged while the event element
1186
+ // is replaced (orientation switch, constrainDragToTimeline: false drag proxy).
1187
+ // https://github.com/bryntum/support/issues/13266
1188
+ if (!portal || isRecurring || isExporting || portal.eventGeneration !== currentData.eventGeneration || this.$isExpanding || !parent?.contains(portal.jsxContainer)) {
1176
1189
  if ((scrolling || !isDragging) && !isEditing) {
1177
1190
  updateContent();
1178
1191
  }