@bryntum/scheduler-react 7.1.1

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 (296) hide show
  1. package/README.md +52 -0
  2. package/lib/BryntumAIFilterField.d.ts +231 -0
  3. package/lib/BryntumAIFilterField.js +168 -0
  4. package/lib/BryntumAIFilterField.js.map +1 -0
  5. package/lib/BryntumButton.d.ts +206 -0
  6. package/lib/BryntumButton.js +148 -0
  7. package/lib/BryntumButton.js.map +1 -0
  8. package/lib/BryntumButtonGroup.d.ts +201 -0
  9. package/lib/BryntumButtonGroup.js +154 -0
  10. package/lib/BryntumButtonGroup.js.map +1 -0
  11. package/lib/BryntumChatPanel.d.ts +246 -0
  12. package/lib/BryntumChatPanel.js +178 -0
  13. package/lib/BryntumChatPanel.js.map +1 -0
  14. package/lib/BryntumCheckbox.d.ts +239 -0
  15. package/lib/BryntumCheckbox.js +168 -0
  16. package/lib/BryntumCheckbox.js.map +1 -0
  17. package/lib/BryntumCheckboxGroup.d.ts +249 -0
  18. package/lib/BryntumCheckboxGroup.js +182 -0
  19. package/lib/BryntumCheckboxGroup.js.map +1 -0
  20. package/lib/BryntumChecklistFilterCombo.d.ts +268 -0
  21. package/lib/BryntumChecklistFilterCombo.js +205 -0
  22. package/lib/BryntumChecklistFilterCombo.js.map +1 -0
  23. package/lib/BryntumChipView.d.ts +208 -0
  24. package/lib/BryntumChipView.js +152 -0
  25. package/lib/BryntumChipView.js.map +1 -0
  26. package/lib/BryntumCodeEditor.d.ts +237 -0
  27. package/lib/BryntumCodeEditor.js +176 -0
  28. package/lib/BryntumCodeEditor.js.map +1 -0
  29. package/lib/BryntumColorField.d.ts +231 -0
  30. package/lib/BryntumColorField.js +169 -0
  31. package/lib/BryntumColorField.js.map +1 -0
  32. package/lib/BryntumCombo.d.ts +266 -0
  33. package/lib/BryntumCombo.js +202 -0
  34. package/lib/BryntumCombo.js.map +1 -0
  35. package/lib/BryntumContainer.d.ts +185 -0
  36. package/lib/BryntumContainer.js +148 -0
  37. package/lib/BryntumContainer.js.map +1 -0
  38. package/lib/BryntumDateField.d.ts +241 -0
  39. package/lib/BryntumDateField.js +178 -0
  40. package/lib/BryntumDateField.js.map +1 -0
  41. package/lib/BryntumDatePicker.d.ts +310 -0
  42. package/lib/BryntumDatePicker.js +213 -0
  43. package/lib/BryntumDatePicker.js.map +1 -0
  44. package/lib/BryntumDateRangeField.d.ts +242 -0
  45. package/lib/BryntumDateRangeField.js +179 -0
  46. package/lib/BryntumDateRangeField.js.map +1 -0
  47. package/lib/BryntumDateTimeField.d.ts +222 -0
  48. package/lib/BryntumDateTimeField.js +158 -0
  49. package/lib/BryntumDateTimeField.js.map +1 -0
  50. package/lib/BryntumDemoCodeEditor.d.ts +240 -0
  51. package/lib/BryntumDemoCodeEditor.js +179 -0
  52. package/lib/BryntumDemoCodeEditor.js.map +1 -0
  53. package/lib/BryntumDemoHeader.d.ts +30 -0
  54. package/lib/BryntumDemoHeader.js +84 -0
  55. package/lib/BryntumDemoHeader.js.map +1 -0
  56. package/lib/BryntumDisplayField.d.ts +227 -0
  57. package/lib/BryntumDisplayField.js +163 -0
  58. package/lib/BryntumDisplayField.js.map +1 -0
  59. package/lib/BryntumDurationField.d.ts +234 -0
  60. package/lib/BryntumDurationField.js +175 -0
  61. package/lib/BryntumDurationField.js.map +1 -0
  62. package/lib/BryntumEditor.d.ts +249 -0
  63. package/lib/BryntumEditor.js +167 -0
  64. package/lib/BryntumEditor.js.map +1 -0
  65. package/lib/BryntumEventColorField.d.ts +231 -0
  66. package/lib/BryntumEventColorField.js +169 -0
  67. package/lib/BryntumEventColorField.js.map +1 -0
  68. package/lib/BryntumFieldFilterPicker.d.ts +202 -0
  69. package/lib/BryntumFieldFilterPicker.js +161 -0
  70. package/lib/BryntumFieldFilterPicker.js.map +1 -0
  71. package/lib/BryntumFieldFilterPickerGroup.d.ts +207 -0
  72. package/lib/BryntumFieldFilterPickerGroup.js +164 -0
  73. package/lib/BryntumFieldFilterPickerGroup.js.map +1 -0
  74. package/lib/BryntumFieldSet.d.ts +235 -0
  75. package/lib/BryntumFieldSet.js +174 -0
  76. package/lib/BryntumFieldSet.js.map +1 -0
  77. package/lib/BryntumFileField.d.ts +228 -0
  78. package/lib/BryntumFileField.js +164 -0
  79. package/lib/BryntumFileField.js.map +1 -0
  80. package/lib/BryntumFilePicker.d.ts +192 -0
  81. package/lib/BryntumFilePicker.js +153 -0
  82. package/lib/BryntumFilePicker.js.map +1 -0
  83. package/lib/BryntumFilterField.d.ts +234 -0
  84. package/lib/BryntumFilterField.js +171 -0
  85. package/lib/BryntumFilterField.js.map +1 -0
  86. package/lib/BryntumFullscreenButton.d.ts +8 -0
  87. package/lib/BryntumFullscreenButton.js +37 -0
  88. package/lib/BryntumFullscreenButton.js.map +1 -0
  89. package/lib/BryntumGrid.d.ts +844 -0
  90. package/lib/BryntumGrid.js +335 -0
  91. package/lib/BryntumGrid.js.map +1 -0
  92. package/lib/BryntumGridBase.d.ts +842 -0
  93. package/lib/BryntumGridBase.js +333 -0
  94. package/lib/BryntumGridBase.js.map +1 -0
  95. package/lib/BryntumGridChartDesigner.d.ts +162 -0
  96. package/lib/BryntumGridChartDesigner.js +127 -0
  97. package/lib/BryntumGridChartDesigner.js.map +1 -0
  98. package/lib/BryntumGridFieldFilterPicker.d.ts +203 -0
  99. package/lib/BryntumGridFieldFilterPicker.js +162 -0
  100. package/lib/BryntumGridFieldFilterPicker.js.map +1 -0
  101. package/lib/BryntumGridFieldFilterPickerGroup.d.ts +206 -0
  102. package/lib/BryntumGridFieldFilterPickerGroup.js +163 -0
  103. package/lib/BryntumGridFieldFilterPickerGroup.js.map +1 -0
  104. package/lib/BryntumGroupBar.d.ts +208 -0
  105. package/lib/BryntumGroupBar.js +152 -0
  106. package/lib/BryntumGroupBar.js.map +1 -0
  107. package/lib/BryntumHint.d.ts +260 -0
  108. package/lib/BryntumHint.js +184 -0
  109. package/lib/BryntumHint.js.map +1 -0
  110. package/lib/BryntumLabel.d.ts +161 -0
  111. package/lib/BryntumLabel.js +126 -0
  112. package/lib/BryntumLabel.js.map +1 -0
  113. package/lib/BryntumList.d.ts +205 -0
  114. package/lib/BryntumList.js +149 -0
  115. package/lib/BryntumList.js.map +1 -0
  116. package/lib/BryntumMenu.d.ts +264 -0
  117. package/lib/BryntumMenu.js +187 -0
  118. package/lib/BryntumMenu.js.map +1 -0
  119. package/lib/BryntumMonthPicker.d.ts +240 -0
  120. package/lib/BryntumMonthPicker.js +173 -0
  121. package/lib/BryntumMonthPicker.js.map +1 -0
  122. package/lib/BryntumNumberField.d.ts +234 -0
  123. package/lib/BryntumNumberField.js +170 -0
  124. package/lib/BryntumNumberField.js.map +1 -0
  125. package/lib/BryntumPagingToolbar.d.ts +210 -0
  126. package/lib/BryntumPagingToolbar.js +156 -0
  127. package/lib/BryntumPagingToolbar.js.map +1 -0
  128. package/lib/BryntumPanel.d.ts +231 -0
  129. package/lib/BryntumPanel.js +170 -0
  130. package/lib/BryntumPanel.js.map +1 -0
  131. package/lib/BryntumPasswordField.d.ts +226 -0
  132. package/lib/BryntumPasswordField.js +162 -0
  133. package/lib/BryntumPasswordField.js.map +1 -0
  134. package/lib/BryntumProjectCombo.d.ts +267 -0
  135. package/lib/BryntumProjectCombo.js +203 -0
  136. package/lib/BryntumProjectCombo.js.map +1 -0
  137. package/lib/BryntumRadio.d.ts +239 -0
  138. package/lib/BryntumRadio.js +168 -0
  139. package/lib/BryntumRadio.js.map +1 -0
  140. package/lib/BryntumRadioGroup.d.ts +239 -0
  141. package/lib/BryntumRadioGroup.js +178 -0
  142. package/lib/BryntumRadioGroup.js.map +1 -0
  143. package/lib/BryntumResourceCombo.d.ts +267 -0
  144. package/lib/BryntumResourceCombo.js +203 -0
  145. package/lib/BryntumResourceCombo.js.map +1 -0
  146. package/lib/BryntumResourceFilter.d.ts +214 -0
  147. package/lib/BryntumResourceFilter.js +154 -0
  148. package/lib/BryntumResourceFilter.js.map +1 -0
  149. package/lib/BryntumScheduler.d.ts +2037 -0
  150. package/lib/BryntumScheduler.js +642 -0
  151. package/lib/BryntumScheduler.js.map +1 -0
  152. package/lib/BryntumSchedulerBase.d.ts +2036 -0
  153. package/lib/BryntumSchedulerBase.js +641 -0
  154. package/lib/BryntumSchedulerBase.js.map +1 -0
  155. package/lib/BryntumSchedulerDatePicker.d.ts +313 -0
  156. package/lib/BryntumSchedulerDatePicker.js +216 -0
  157. package/lib/BryntumSchedulerDatePicker.js.map +1 -0
  158. package/lib/BryntumSchedulerProjectModel.d.ts +90 -0
  159. package/lib/BryntumSchedulerProjectModel.js +98 -0
  160. package/lib/BryntumSchedulerProjectModel.js.map +1 -0
  161. package/lib/BryntumSlideToggle.d.ts +239 -0
  162. package/lib/BryntumSlideToggle.js +168 -0
  163. package/lib/BryntumSlideToggle.js.map +1 -0
  164. package/lib/BryntumSlider.d.ts +184 -0
  165. package/lib/BryntumSlider.js +142 -0
  166. package/lib/BryntumSlider.js.map +1 -0
  167. package/lib/BryntumSplitter.d.ts +174 -0
  168. package/lib/BryntumSplitter.js +130 -0
  169. package/lib/BryntumSplitter.js.map +1 -0
  170. package/lib/BryntumTabPanel.d.ts +249 -0
  171. package/lib/BryntumTabPanel.js +178 -0
  172. package/lib/BryntumTabPanel.js.map +1 -0
  173. package/lib/BryntumTextAreaField.d.ts +228 -0
  174. package/lib/BryntumTextAreaField.js +164 -0
  175. package/lib/BryntumTextAreaField.js.map +1 -0
  176. package/lib/BryntumTextAreaPickerField.d.ts +232 -0
  177. package/lib/BryntumTextAreaPickerField.js +170 -0
  178. package/lib/BryntumTextAreaPickerField.js.map +1 -0
  179. package/lib/BryntumTextField.d.ts +229 -0
  180. package/lib/BryntumTextField.js +166 -0
  181. package/lib/BryntumTextField.js.map +1 -0
  182. package/lib/BryntumThemeCombo.d.ts +17 -0
  183. package/lib/BryntumThemeCombo.js +75 -0
  184. package/lib/BryntumThemeCombo.js.map +1 -0
  185. package/lib/BryntumTimeField.d.ts +238 -0
  186. package/lib/BryntumTimeField.js +175 -0
  187. package/lib/BryntumTimeField.js.map +1 -0
  188. package/lib/BryntumTimePicker.d.ts +192 -0
  189. package/lib/BryntumTimePicker.js +154 -0
  190. package/lib/BryntumTimePicker.js.map +1 -0
  191. package/lib/BryntumTimelineHistogram.d.ts +1183 -0
  192. package/lib/BryntumTimelineHistogram.js +448 -0
  193. package/lib/BryntumTimelineHistogram.js.map +1 -0
  194. package/lib/BryntumToolbar.d.ts +209 -0
  195. package/lib/BryntumToolbar.js +155 -0
  196. package/lib/BryntumToolbar.js.map +1 -0
  197. package/lib/BryntumTreeCombo.d.ts +266 -0
  198. package/lib/BryntumTreeCombo.js +202 -0
  199. package/lib/BryntumTreeCombo.js.map +1 -0
  200. package/lib/BryntumTreeGrid.d.ts +843 -0
  201. package/lib/BryntumTreeGrid.js +334 -0
  202. package/lib/BryntumTreeGrid.js.map +1 -0
  203. package/lib/BryntumUndoRedo.d.ts +189 -0
  204. package/lib/BryntumUndoRedo.js +152 -0
  205. package/lib/BryntumUndoRedo.js.map +1 -0
  206. package/lib/BryntumViewPresetCombo.d.ts +215 -0
  207. package/lib/BryntumViewPresetCombo.js +158 -0
  208. package/lib/BryntumViewPresetCombo.js.map +1 -0
  209. package/lib/BryntumWidget.d.ts +160 -0
  210. package/lib/BryntumWidget.js +125 -0
  211. package/lib/BryntumWidget.js.map +1 -0
  212. package/lib/BryntumYearPicker.d.ts +240 -0
  213. package/lib/BryntumYearPicker.js +177 -0
  214. package/lib/BryntumYearPicker.js.map +1 -0
  215. package/lib/WrapperHelper.d.ts +26 -0
  216. package/lib/WrapperHelper.js +569 -0
  217. package/lib/WrapperHelper.js.map +1 -0
  218. package/lib/index.d.ts +71 -0
  219. package/lib/index.js +72 -0
  220. package/lib/index.js.map +1 -0
  221. package/license.pdf +0 -0
  222. package/licenses.md +310 -0
  223. package/package.json +25 -0
  224. package/src/BryntumAIFilterField.tsx +998 -0
  225. package/src/BryntumButton.tsx +887 -0
  226. package/src/BryntumButtonGroup.tsx +902 -0
  227. package/src/BryntumChatPanel.tsx +1082 -0
  228. package/src/BryntumCheckbox.tsx +1000 -0
  229. package/src/BryntumCheckboxGroup.tsx +1116 -0
  230. package/src/BryntumChecklistFilterCombo.tsx +1241 -0
  231. package/src/BryntumChipView.tsx +914 -0
  232. package/src/BryntumCodeEditor.tsx +1065 -0
  233. package/src/BryntumColorField.tsx +995 -0
  234. package/src/BryntumCombo.tsx +1230 -0
  235. package/src/BryntumContainer.tsx +861 -0
  236. package/src/BryntumDateField.tsx +1055 -0
  237. package/src/BryntumDatePicker.tsx +1340 -0
  238. package/src/BryntumDateRangeField.tsx +1057 -0
  239. package/src/BryntumDateTimeField.tsx +942 -0
  240. package/src/BryntumDemoCodeEditor.tsx +1081 -0
  241. package/src/BryntumDemoHeader.tsx +160 -0
  242. package/src/BryntumDisplayField.tsx +979 -0
  243. package/src/BryntumDurationField.tsx +1038 -0
  244. package/src/BryntumEditor.tsx +1013 -0
  245. package/src/BryntumEventColorField.tsx +995 -0
  246. package/src/BryntumFieldFilterPicker.tsx +943 -0
  247. package/src/BryntumFieldFilterPickerGroup.tsx +976 -0
  248. package/src/BryntumFieldSet.tsx +1058 -0
  249. package/src/BryntumFileField.tsx +982 -0
  250. package/src/BryntumFilePicker.tsx +888 -0
  251. package/src/BryntumFilterField.tsx +1023 -0
  252. package/src/BryntumFullscreenButton.tsx +45 -0
  253. package/src/BryntumGrid.tsx +2402 -0
  254. package/src/BryntumGridBase.tsx +2399 -0
  255. package/src/BryntumGridChartDesigner.tsx +728 -0
  256. package/src/BryntumGridFieldFilterPicker.tsx +956 -0
  257. package/src/BryntumGridFieldFilterPickerGroup.tsx +970 -0
  258. package/src/BryntumGroupBar.tsx +914 -0
  259. package/src/BryntumHint.tsx +1125 -0
  260. package/src/BryntumLabel.tsx +720 -0
  261. package/src/BryntumList.tsx +891 -0
  262. package/src/BryntumMenu.tsx +1143 -0
  263. package/src/BryntumMonthPicker.tsx +1056 -0
  264. package/src/BryntumNumberField.tsx +1025 -0
  265. package/src/BryntumPagingToolbar.tsx +924 -0
  266. package/src/BryntumPanel.tsx +1035 -0
  267. package/src/BryntumPasswordField.tsx +969 -0
  268. package/src/BryntumProjectCombo.tsx +1232 -0
  269. package/src/BryntumRadio.tsx +1000 -0
  270. package/src/BryntumRadioGroup.tsx +1088 -0
  271. package/src/BryntumResourceCombo.tsx +1235 -0
  272. package/src/BryntumResourceFilter.tsx +930 -0
  273. package/src/BryntumScheduler.tsx +5182 -0
  274. package/src/BryntumSchedulerBase.tsx +5180 -0
  275. package/src/BryntumSchedulerDatePicker.tsx +1364 -0
  276. package/src/BryntumSchedulerProjectModel.tsx +423 -0
  277. package/src/BryntumSlideToggle.tsx +1000 -0
  278. package/src/BryntumSlider.tsx +815 -0
  279. package/src/BryntumSplitter.tsx +754 -0
  280. package/src/BryntumTabPanel.tsx +1087 -0
  281. package/src/BryntumTextAreaField.tsx +981 -0
  282. package/src/BryntumTextAreaPickerField.tsx +1002 -0
  283. package/src/BryntumTextField.tsx +987 -0
  284. package/src/BryntumThemeCombo.tsx +101 -0
  285. package/src/BryntumTimeField.tsx +1036 -0
  286. package/src/BryntumTimePicker.tsx +893 -0
  287. package/src/BryntumTimelineHistogram.tsx +3425 -0
  288. package/src/BryntumToolbar.tsx +917 -0
  289. package/src/BryntumTreeCombo.tsx +1230 -0
  290. package/src/BryntumTreeGrid.tsx +2401 -0
  291. package/src/BryntumUndoRedo.tsx +885 -0
  292. package/src/BryntumViewPresetCombo.tsx +914 -0
  293. package/src/BryntumWidget.tsx +715 -0
  294. package/src/BryntumYearPicker.tsx +1070 -0
  295. package/src/WrapperHelper.tsx +1125 -0
  296. package/src/index.ts +76 -0
@@ -0,0 +1,891 @@
1
+ /**
2
+ * React wrapper for Bryntum List
3
+ */
4
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
+ import React, { RefObject } from 'react';
6
+ import { AlignSpec, Base, Collection, CollectionConfig, DomConfig, KeyMapConfig, List, ListListeners, MaskConfig, Model, ModelConfig, Rectangle, Scroller, ScrollerConfig, Store, StoreConfig, TabConfig, TooltipConfig, VueConfig, Widget } from '@bryntum/scheduler';
7
+
8
+ import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
9
+
10
+ export type BryntumListProps = {
11
+ // Configs
12
+ /**
13
+ * Configure as `true` to activate items on mouseover. This is used by the Combo
14
+ * field when using a List as its dropdown.
15
+ */
16
+ activateOnMouseover? : boolean
17
+ /**
18
+ * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
19
+ * content will be placed inside this element.
20
+ * ...
21
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-adopt)
22
+ */
23
+ adopt? : HTMLElement|string
24
+ /**
25
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating).*
26
+ * ...
27
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-align)
28
+ */
29
+ align? : AlignSpec|string
30
+ /**
31
+ * When this widget is a child of a [Container](https://bryntum.com/products/scheduler/docs/api/Core/widget/Container), it will by default be participating in a
32
+ * flexbox layout. This config allows you to set this widget's
33
+ * [align-self](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self) style.
34
+ */
35
+ alignSelf? : string
36
+ /**
37
+ * Configure as `true` to allow selecting groups (all the group child records will be toggled). Only
38
+ * applicable when the store is grouped.
39
+ */
40
+ allowGroupSelect? : boolean
41
+ /**
42
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating) and being shown through [showBy](#Core/widget/Widget#function-showBy).*
43
+ * `true` to show a connector arrow pointing to the align target.
44
+ */
45
+ anchor? : boolean
46
+ /**
47
+ * Element (or the id of an element) to append this widget's element to. Can be configured, or set once at
48
+ * runtime. To access the element of a rendered widget, see [element](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-element).
49
+ */
50
+ appendTo? : HTMLElement|string
51
+ /**
52
+ * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject
53
+ * into an element which will be linked using the `aria-describedby` attribute.
54
+ * ...
55
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-ariaDescription)
56
+ */
57
+ ariaDescription? : string
58
+ /**
59
+ * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject as
60
+ * the `aria-label` attribute.
61
+ * ...
62
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-ariaLabel)
63
+ */
64
+ ariaLabel? : string
65
+ /**
66
+ * An object where property names with a truthy value indicate which events should bubble up the ownership
67
+ * hierarchy when triggered.
68
+ * ...
69
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-bubbleEvents)
70
+ */
71
+ bubbleEvents? : object
72
+ /**
73
+ * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
74
+ * ...
75
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-callOnFunctions)
76
+ */
77
+ callOnFunctions? : boolean
78
+ /**
79
+ * By default, if an event handler throws an exception, the error propagates up the stack and the
80
+ * application state is undefined. Code which follows the event handler will *not* be executed.
81
+ * ...
82
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-catchEventHandlerExceptions)
83
+ */
84
+ catchEventHandlerExceptions? : boolean
85
+ /**
86
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating).*
87
+ * Set to `true` to centre the Widget in browser viewport space.
88
+ */
89
+ centered? : boolean
90
+ /**
91
+ * Configure as `true` to clear selection when clicking on empty space inside the List´s element.
92
+ */
93
+ clearSelectionOnEmptySpaceClick? : boolean
94
+ /**
95
+ * Custom CSS classes to add to element.
96
+ * May be specified as a space separated string, or as an object in which property names
97
+ * with truthy values are used as the class names:
98
+ * ...
99
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-cls)
100
+ */
101
+ cls? : string|object
102
+ /**
103
+ * True to add a collapse icon to toggle groups being collapsed or expanded
104
+ */
105
+ collapsibleGroups? : boolean
106
+ /**
107
+ * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
108
+ * `style` block.
109
+ * ...
110
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-color)
111
+ */
112
+ color? : string
113
+ /**
114
+ * Programmatic control over which column to start in when used in a grid layout.
115
+ */
116
+ column? : number
117
+ config? : object
118
+ /**
119
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating) or [positioned](#Core/widget/Widget#config-positioned).*
120
+ * Element, Widget or Rectangle to which this Widget is constrained.
121
+ */
122
+ constrainTo? : HTMLElement|Widget|Rectangle
123
+ /**
124
+ * The HTML content that coexists with sibling elements which may have been added to the
125
+ * [contentElement](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-contentElement) by plugins and features.
126
+ * When specifying html, this widget's element will also have the [htmlCls](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-htmlCls)
127
+ * class added to its classList, to allow targeted styling.
128
+ */
129
+ content? : string
130
+ /**
131
+ * Custom CSS classes to add to the [contentElement](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-contentElement).
132
+ * May be specified as a space separated string, or as an object in which property names
133
+ * with truthy values are used as the class names:
134
+ * ...
135
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-contentElementCls)
136
+ */
137
+ contentElementCls? : string|object
138
+ /**
139
+ * When this Widget configuration is used in the Grid's RowExpander feature's `widget` config, provide the
140
+ * field on the expanded record to use for populating this widget's store (if applicable)
141
+ */
142
+ dataField? : string
143
+ /**
144
+ * Object to apply to elements dataset (each key will be used as a data-attribute on the element)
145
+ */
146
+ dataset? : Record<string, string>
147
+ /**
148
+ * The name of the property to set when a single value is to be applied to this Widget. Such as when used
149
+ * in a grid WidgetColumn, this is the property to which the column's `field` is applied.
150
+ */
151
+ defaultBindProperty? : string
152
+ /**
153
+ * Check for CSS compatibility issues when upgrading to v7. Performs the following checks:
154
+ * ...
155
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-detectCSSCompatibilityIssues)
156
+ */
157
+ detectCSSCompatibilityIssues? : boolean
158
+ /**
159
+ * Disable or enable the widget. It is similar to [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-readOnly) except a disabled widget
160
+ * cannot be focused, uses a different rendition (usually greyish) and does not allow selecting its value.
161
+ * ...
162
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-disabled)
163
+ */
164
+ disabled? : boolean|'inert'
165
+ /**
166
+ * The model field to render into each list item
167
+ */
168
+ displayField? : string
169
+ /**
170
+ * Controls the placement of this widget when it is added to a [panel's ](https://bryntum.com/products/scheduler/docs/api/Core/widget/Panel)
171
+ * [strips collection](https://bryntum.com/products/scheduler/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
172
+ * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
173
+ * body. Such widgets are called "edge strips".
174
+ * ...
175
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-dock)
176
+ */
177
+ dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
178
+ /**
179
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating).*
180
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
181
+ * property which controls when a drag should start.
182
+ * ...
183
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-draggable)
184
+ */
185
+ draggable? : boolean|{
186
+ handleSelector?: string
187
+ }
188
+ /**
189
+ * An object specifying attributes to assign to the root element of this widget.
190
+ * Set `null` value to attribute to remove it.
191
+ * ...
192
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-elementAttributes)
193
+ */
194
+ elementAttributes? : Record<string, string|null>
195
+ /**
196
+ * The text to show when the list is empty. If not set, the list will be empty.
197
+ */
198
+ emptyText? : string
199
+ extraData? : any
200
+ /**
201
+ * When this widget is a child of a [Container](https://bryntum.com/products/scheduler/docs/api/Core/widget/Container), it will by default be participating in a
202
+ * flexbox layout. This config allows you to set this widget's
203
+ * [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/flex) style.
204
+ * This may be configured as a single number or a `&lt;flex-grow&gt; &lt;flex-shrink&gt; &lt;flex-basis&gt;` format string.
205
+ * numeric-only values are interpreted as the `flex-grow` value.
206
+ */
207
+ flex? : number|string
208
+ /**
209
+ * Set to `true` to move the widget out of the document flow and position it
210
+ * absolutely in browser viewport space.
211
+ */
212
+ floating? : boolean
213
+ /**
214
+ * Configure this as a function or the name of a function, which when passed a record in the
215
+ * list, returns a CSS class name string to apply to its list item.
216
+ * @param {Core.data.Model} record The record
217
+ * @returns {string}
218
+ */
219
+ getItemCls? : ((record: Model) => string)|string
220
+ /**
221
+ * Configure this as a function or the name of a function, which when passed a record in the
222
+ * list, returns a style string to apply to its list item.
223
+ * @param {Core.data.Model} record The record
224
+ * @returns {string}
225
+ */
226
+ getItemStyle? : ((record: Model) => string)|string
227
+ /**
228
+ * Template function which is passed a group record and the uppercased group field name. The text returned
229
+ * will be rendered as the group header.
230
+ * @param {Core.data.Model} record The record
231
+ * @param {string} groupName The current group name
232
+ * @returns {string}
233
+ */
234
+ groupHeaderTpl? : (record: Model, groupName: string) => string
235
+ /**
236
+ * Widget's height, used to set element `style.height`. Either specify a valid height string or a number,
237
+ * which will get 'px' appended. We recommend using CSS as the primary way to control height, but in some
238
+ * cases this config is convenient.
239
+ */
240
+ height? : string|number
241
+ /**
242
+ * Configure with true to make widget initially hidden.
243
+ */
244
+ hidden? : boolean
245
+ /**
246
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating).*
247
+ * ...
248
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-hideAnimation)
249
+ */
250
+ hideAnimation? : boolean|object
251
+ /**
252
+ * The HTML to display initially or a function returning the markup (called at widget construction time).
253
+ * ...
254
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-html)
255
+ * @param {Core.widget.Widget} widget The calling Widget
256
+ * @returns {string}
257
+ */
258
+ html? : string|((widget: Widget) => string)|DomConfig|DomConfig[]|VueConfig
259
+ /**
260
+ * The CSS class(es) to add when HTML content is being applied to this widget.
261
+ */
262
+ htmlCls? : string|object
263
+ /**
264
+ * Widget id, if not specified one will be generated. Also used for lookups through Widget.getById
265
+ */
266
+ id? : string
267
+ /**
268
+ * Determines if the widgets read-only state should be controlled by its parent.
269
+ * ...
270
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-ignoreParentReadOnly)
271
+ */
272
+ ignoreParentReadOnly? : boolean
273
+ /**
274
+ * Element (or element id) to insert this widget before. If provided, [appendTo](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
275
+ */
276
+ insertBefore? : HTMLElement|string
277
+ /**
278
+ * Element (or element id) to append this widget element to, as a first child. If provided, [appendTo](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
279
+ */
280
+ insertFirst? : HTMLElement|string
281
+ /**
282
+ * A function, or the name of a function in the ownership hierarchy which is used to determine
283
+ * whether a record is selectable. By default, all records are selectable except group header
284
+ * records in a grouped store.
285
+ * @returns {boolean} `true` if the record is selectable
286
+ */
287
+ isSelectable? : (() => boolean)|string
288
+ /**
289
+ * An array of Objects which are converted into records and used to create this
290
+ * List's [store](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-store)
291
+ */
292
+ items? : object[]
293
+ /**
294
+ * Template function (or name of a template function), which, when passed a record, returns the textual HTML for
295
+ * that item. Defaults to a function returning the value of the record´s [displayField](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-displayField)
296
+ * @param {Core.data.Model} record The record
297
+ * @returns {string}
298
+ */
299
+ itemTpl? : ((record: Model) => string)|string
300
+ /**
301
+ * An object whose keys are the [key](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) name
302
+ * and optional modifier prefixes: `'Ctrl+'`, `'Alt+'`, `'Meta+'`, and `'Shift+'` (case-insensitive). The values
303
+ * are the name of the instance method to call when the keystroke is received.
304
+ * ...
305
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-keyMap)
306
+ */
307
+ keyMap? : Record<string, KeyMapConfig>
308
+ /**
309
+ * The listener set for this object.
310
+ * ...
311
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-listeners)
312
+ */
313
+ listeners? : ListListeners
314
+ /**
315
+ * A class translations of which are used for translating this entity.
316
+ * This is often used when translations of an item are defined on its container class.
317
+ * For example:
318
+ * ...
319
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-localeClass)
320
+ */
321
+ localeClass? : typeof Base
322
+ /**
323
+ * Set to `false` to disable localization of this object.
324
+ */
325
+ localizable? : boolean
326
+ /**
327
+ * List of properties which values should be translated automatically upon a locale applying.
328
+ * In case there is a need to localize not typical value (not a String value or a field with re-defined setter/getter),
329
+ * you could use 'localeKey' meta configuration.
330
+ * Example:
331
+ * ...
332
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-localizableProperties)
333
+ */
334
+ localizableProperties? : string[]
335
+ /**
336
+ * Widget's margin. This may be configured as a single number or a `TRBL` format string.
337
+ * numeric-only values are interpreted as pixels.
338
+ */
339
+ margin? : number|string
340
+ /**
341
+ * This config object contains the defaults for the [Mask](https://bryntum.com/products/scheduler/docs/api/Core/widget/Mask) created for the
342
+ * [masked](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-masked) config. Any properties specified in the `masked` config will override these
343
+ * values.
344
+ */
345
+ maskDefaults? : MaskConfig
346
+ /**
347
+ * Set to `true` to apply the default mask to the widget. Alternatively, this can be the mask message or a
348
+ * [Mask](https://bryntum.com/products/scheduler/docs/api/Core/widget/Mask) config object.
349
+ */
350
+ masked? : boolean|string|MaskConfig
351
+ /**
352
+ * The element's maxHeight. Can be either a String or a Number (which will have 'px' appended). Note that
353
+ * like [height](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
354
+ */
355
+ maxHeight? : string|number
356
+ /**
357
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating).*
358
+ * ...
359
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-maximizeOnMobile)
360
+ */
361
+ maximizeOnMobile? : number|string
362
+ /**
363
+ * The elements maxWidth. Can be either a String or a Number (which will have 'px' appended). Note that
364
+ * like [width](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
365
+ */
366
+ maxWidth? : string|number
367
+ /**
368
+ * The element's minHeight. Can be either a String or a Number (which will have 'px' appended). Note that
369
+ * like [height](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
370
+ */
371
+ minHeight? : string|number
372
+ /**
373
+ * The elements minWidth. Can be either a String or a Number (which will have 'px' appended). Note that
374
+ * like [width](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
375
+ */
376
+ minWidth? : string|number
377
+ /**
378
+ * When this is configured as `true` a [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
379
+ * is used to monitor this element for size changes caused by either style manipulation, or by CSS
380
+ * layout.
381
+ * ...
382
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-monitorResize)
383
+ */
384
+ monitorResize? : boolean|{
385
+ immediate?: boolean
386
+ }
387
+ /**
388
+ * Configure as `true` to allow multi select and add checkboxes to the items
389
+ */
390
+ multiSelect? : boolean
391
+ /**
392
+ * The owning Widget of this Widget. If this Widget is directly contained (that is, it is one of the
393
+ * [items](https://bryntum.com/products/scheduler/docs/api/Core/widget/Container#property-items) of a Container), this config will be ignored. In this case
394
+ * the owner is <strong>always</strong> the encapsulating Container.
395
+ * ...
396
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-owner)
397
+ */
398
+ owner? : Widget|any
399
+ /**
400
+ * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-contentElement), but must
401
+ * not participate in the standard layout of that widget, and must be positioned relatively to that
402
+ * widget's [contentElement](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-contentElement).
403
+ * ...
404
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-positioned)
405
+ */
406
+ positioned? : boolean
407
+ /**
408
+ * Prevent tooltip from being displayed on touch devices. Useful for example for buttons that display a
409
+ * menu on click etc, since the tooltip would be displayed at the same time.
410
+ */
411
+ preventTooltipOnTouch? : boolean
412
+ /**
413
+ * Whether this widget is read-only. This is only valid if the widget is an input
414
+ * field, <strong>or contains input fields at any depth</strong>.
415
+ * ...
416
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-readOnly)
417
+ */
418
+ readOnly? : boolean
419
+ relayStoreEvents? : boolean
420
+ /**
421
+ * Configure as `true` to have the component display a translucent ripple when its
422
+ * [focusElement](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-focusElement), or [element](#Core/widget/Widget#property-element) is tapped <em>if the
423
+ * current theme supports ripples</em>. Out of the box, only the Material theme supports ripples.
424
+ * ...
425
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-ripple)
426
+ */
427
+ ripple? : boolean|{
428
+ delegate?: string
429
+ color?: string
430
+ radius?: number
431
+ clip?: string
432
+ }
433
+ /**
434
+ * If you are rendering this widget to a shadow root inside a web component, set this config to the shadowRoot. If not inside a web component, set it to `document.body`
435
+ */
436
+ rootElement? : ShadowRoot|HTMLElement
437
+ /**
438
+ * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
439
+ * ...
440
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-rtl)
441
+ */
442
+ rtl? : boolean
443
+ /**
444
+ * Specifies whether (and optionally in which axes) a Widget may scroll. `true` means this widget may scroll
445
+ * in both axes. May be an object containing boolean `overflowX` and `overflowY` properties which are
446
+ * applied to CSS style properties `overflowX` and `overflowY`. If they are boolean, they are translated to
447
+ * CSS overflow properties thus:
448
+ * ...
449
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-scrollable)
450
+ */
451
+ scrollable? : boolean|ScrollerConfig|Scroller
452
+ /**
453
+ * 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
+ */
456
+ scrollAction? : 'hide'|'realign'|null
457
+ /**
458
+ * Set to `true` to add a "Select all" item to the list to select/unselect all items at once.
459
+ * Only applies when [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-multiSelect) mode is enabled.
460
+ */
461
+ selectAllItem? : boolean|string
462
+ /**
463
+ * A [Collection](https://bryntum.com/products/scheduler/docs/api/Core/util/Collection), or Collection config object to use to contain this List's selected
464
+ * records.
465
+ * ...
466
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-selected)
467
+ */
468
+ selected? : object[]|number[]|string[]|Collection|CollectionConfig|CollectionConfig[]
469
+ /**
470
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-floating).*
471
+ * ...
472
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-showAnimation)
473
+ */
474
+ showAnimation? : boolean|object
475
+ /**
476
+ * Set to `false` to not show the tooltip when this widget is [disabled](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-disabled)
477
+ */
478
+ showTooltipWhenDisabled? : boolean
479
+ /**
480
+ * Programmatic control over how many columns to span when used in a grid layout.
481
+ */
482
+ span? : number
483
+ /**
484
+ * A [Store](https://bryntum.com/products/scheduler/docs/api/Core/data/Store) which provides the records which map to List items. Each record is passed through the
485
+ * [itemTpl](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-itemTpl) to produce the DOM structure of the List. May be generated from an array of [items](#Core/widget/List#config-items).
486
+ * ...
487
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-store)
488
+ */
489
+ store? : object|object[]|StoreConfig|Store|StoreConfig[]
490
+ /**
491
+ * A configuration for the [tab](https://bryntum.com/products/scheduler/docs/api/Core/widget/Tab) created for this widget when it is placed in a
492
+ * [TabPanel](https://bryntum.com/products/scheduler/docs/api/Core/widget/TabPanel). For example, this config can be used to control the icon of the `tab` for
493
+ * this widget:
494
+ * ...
495
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-tab)
496
+ */
497
+ tab? : boolean|TabConfig
498
+ /**
499
+ * The tag name of this Widget's root element
500
+ */
501
+ tag? : string
502
+ /**
503
+ * Text alignment: 'left', 'center' or 'right'. Also accepts direction neutral 'start' and 'end'.
504
+ * ...
505
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-textAlign)
506
+ */
507
+ textAlign? : 'left'|'center'|'right'|'start'|'end'
508
+ /**
509
+ * The title to show at the top of the list.
510
+ */
511
+ title? : string
512
+ /**
513
+ * Select/deselect all if `CMD`/`CTRL` is pressed when clicking
514
+ */
515
+ toggleAllIfCtrlPressed? : boolean
516
+ /**
517
+ * Tooltip for the widget, either as a string or as a Tooltip config object.
518
+ * ...
519
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-tooltip)
520
+ */
521
+ tooltip? : string|TooltipConfig|null
522
+ /**
523
+ * Template function to provide a tooltip (textual, will be automatically HTML-encoded) shown when hovering an item.
524
+ * @param {Core.data.Model} record The record representing the item
525
+ * @returns {string}
526
+ */
527
+ tooltipTemplate? : (record: Model) => string
528
+ type? : 'list'
529
+ /**
530
+ * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
531
+ * as a space separated string, an array of strings, or as an object in which property names with truthy
532
+ * values are used as the class names.
533
+ * ...
534
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-ui)
535
+ */
536
+ ui? : string|object
537
+ /**
538
+ * Controls virtualization of list items using the `IntersectionObserver` API to render items only when
539
+ * scrolled into view. This is only useful for lists with complex markup, for simple lists it likely adds
540
+ * overhead.
541
+ * ...
542
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-virtualize)
543
+ */
544
+ virtualize? : boolean|number
545
+ /**
546
+ * A widgets weight determines its position among siblings when added to a [Container](https://bryntum.com/products/scheduler/docs/api/Core/widget/Container).
547
+ * Higher weights go further down.
548
+ */
549
+ weight? : number
550
+ /**
551
+ * Widget's width, used to set element `style.width`. Either specify a valid width string or a number, which
552
+ * will get 'px' appended. We recommend using CSS as the primary way to control width, but in some cases
553
+ * this config is convenient.
554
+ */
555
+ width? : string|number
556
+ /**
557
+ * The x position for the widget.
558
+ * ...
559
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-x)
560
+ */
561
+ x? : number
562
+ /**
563
+ * The y position for the widget.
564
+ * ...
565
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#config-y)
566
+ */
567
+ y? : number
568
+
569
+ // Events
570
+ /**
571
+ * Fires before an object is destroyed.
572
+ * @param {object} event Event object
573
+ * @param {Core.Base} event.source The Object that is being destroyed.
574
+ */
575
+ onBeforeDestroy? : ((event: { source: Base }) => void)|string
576
+ /**
577
+ * Triggered before a widget is hidden. Return `false` to prevent the action.
578
+ * @param {object} event Event object
579
+ * @param {Core.widget.Widget} event.source The widget being hidden.
580
+ */
581
+ onBeforeHide? : ((event: { source: Widget }) => Promise<boolean>|boolean|void)|string
582
+ /**
583
+ * User going to activate an item in the list either by pointer or keyboard.
584
+ * The active record, list item index, and the triggering event are passed.
585
+ * It is preventable by returning `false`
586
+ * @param {object} event Event object
587
+ * @param {Core.widget.List} event.source The List instance
588
+ * @param {HTMLElement} event.item The clicked list element
589
+ * @param {Core.data.Model} event.record Activated record
590
+ * @param {number} event.index List item index
591
+ * @param {Event} event.event Triggering event
592
+ */
593
+ onBeforeItem? : ((event: { source: List, item: HTMLElement, record: Model, index: number, event: Event }) => Promise<boolean>|boolean|void)|string
594
+ /**
595
+ * Triggered before a widget is shown. Return `false` to prevent the action.
596
+ * @param {object} event Event object
597
+ * @param {Core.widget.Widget,any} event.source The widget being shown
598
+ */
599
+ onBeforeShow? : ((event: { source: Widget|any }) => Promise<boolean>|boolean|void)|string
600
+ /**
601
+ * Fires when any other event is fired from the object.
602
+ * ...
603
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#event-catchAll)
604
+ * @param {object} event Event object
605
+ * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
606
+ * @param {string} event.event.type The type of the event which is caught by the listener
607
+ */
608
+ onCatchAll? : ((event: {[key: string]: any, type: string}) => void)|string
609
+ /**
610
+ * Fires when an object is destroyed.
611
+ * @param {object} event Event object
612
+ * @param {Core.Base} event.source The Object that is being destroyed.
613
+ */
614
+ onDestroy? : ((event: { source: Base }) => void)|string
615
+ /**
616
+ * Triggered when a widget's [element](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-element) is available.
617
+ * @param {object} event Event object
618
+ * @param {HTMLElement} event.element The Widget's element.
619
+ */
620
+ onElementCreated? : ((event: { element: HTMLElement }) => void)|string
621
+ /**
622
+ * Fired when focus enters this Widget.
623
+ * @param {object} event Event object
624
+ * @param {Core.widget.Widget} event.source This Widget
625
+ * @param {HTMLElement} event.fromElement The element which lost focus.
626
+ * @param {HTMLElement} event.toElement The element which gained focus.
627
+ * @param {Core.widget.Widget} event.fromWidget The widget which lost focus.
628
+ * @param {Core.widget.Widget} event.toWidget The widget which gained focus.
629
+ * @param {boolean} event.backwards `true` if the `toElement` is before the `fromElement` in document order.
630
+ */
631
+ onFocusIn? : ((event: { source: Widget, fromElement: HTMLElement, toElement: HTMLElement, fromWidget: Widget, toWidget: Widget, backwards: boolean }) => void)|string
632
+ /**
633
+ * Fired when focus exits this Widget's ownership tree. This is different from a `blur` event.
634
+ * focus moving from within this Widget's ownership tree, even if there are floating widgets
635
+ * will not trigger this event. This is when focus exits this widget completely.
636
+ * @param {object} event Event object
637
+ * @param {Core.widget.Widget} event.source This Widget
638
+ * @param {HTMLElement} event.fromElement The element which lost focus.
639
+ * @param {HTMLElement} event.toElement The element which gained focus.
640
+ * @param {Core.widget.Widget} event.fromWidget The widget which lost focus.
641
+ * @param {Core.widget.Widget} event.toWidget The widget which gained focus.
642
+ * @param {boolean} event.backwards `true` if the `toElement` is before the `fromElement` in document order.
643
+ */
644
+ onFocusOut? : ((event: { source: Widget, fromElement: HTMLElement, toElement: HTMLElement, fromWidget: Widget, toWidget: Widget, backwards: boolean }) => void)|string
645
+ /**
646
+ * Triggered after a widget was hidden
647
+ * @param {object} event Event object
648
+ * @param {Core.widget.Widget} event.source The widget
649
+ */
650
+ onHide? : ((event: { source: Widget }) => void)|string
651
+ /**
652
+ * User activated an item in the list either by pointer or keyboard.
653
+ * The active record, list item index, and the triggering event are passed.
654
+ * @param {object} event Event object
655
+ * @param {Core.widget.List} event.source The List instance
656
+ * @param {HTMLElement} event.item The clicked list element
657
+ * @param {Core.data.Model} event.record Activated record
658
+ * @param {number} event.index List item index
659
+ * @param {Event} event.event Triggering event
660
+ */
661
+ onItem? : ((event: { source: List, item: HTMLElement, record: Model, index: number, event: Event }) => void)|string
662
+ /**
663
+ * Triggered when a widget which had been in a non-visible state for any reason
664
+ * achieves visibility.
665
+ * ...
666
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Core/widget/List#event-paint)
667
+ * @param {object} event Event object
668
+ * @param {Core.widget.Widget} event.source The widget being painted.
669
+ * @param {boolean} event.firstPaint `true` if this is the first paint.
670
+ */
671
+ onPaint? : ((event: { source: Widget, firstPaint: boolean }) => void)|string
672
+ /**
673
+ * Fired when a Widget's read only state is toggled
674
+ * @param {object} event Event object
675
+ * @param {boolean} event.readOnly Read only or not
676
+ */
677
+ onReadOnly? : ((event: { readOnly: boolean }) => void)|string
678
+ /**
679
+ * This event is fired after a widget's elements have been synchronized due to a direct or indirect call
680
+ * to [recompose](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#function-recompose), if this results in some change to the widget's rendered DOM elements.
681
+ */
682
+ onRecompose? : (() => void)|string
683
+ /**
684
+ * Fired when the encapsulating element of a Widget resizes *only when [monitorResize](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-monitorResize) is `true`*.
685
+ * @param {object} event Event object
686
+ * @param {Core.widget.Widget} event.source This Widget
687
+ * @param {number} event.width The new width
688
+ * @param {number} event.height The new height
689
+ * @param {number} event.oldWidth The old width
690
+ * @param {number} event.oldHeight The old height
691
+ */
692
+ onResize? : ((event: { source: Widget, width: number, height: number, oldWidth: number, oldHeight: number }) => void)|string
693
+ /**
694
+ * Fired when selection changes
695
+ * @param {object} event Event object
696
+ * @param {Core.widget.List} event.source The List instance
697
+ * @param {Core.data.Model[]} event.selected An array of the currently selected records
698
+ */
699
+ onSelectionChange? : ((event: { source: List, selected: Model[] }) => void)|string
700
+ /**
701
+ * Triggered after a widget is shown.
702
+ * @param {object} event Event object
703
+ * @param {Core.widget.Widget} event.source The widget
704
+ */
705
+ onShow? : ((event: { source: Widget }) => void)|string
706
+ /**
707
+ * Group item expanded or collapsed
708
+ * @param {object} event Event object
709
+ * @param {Core.data.Model} event.groupRecord Group record
710
+ * @param {boolean} event.collapse Collapsed (true) or expanded (false)
711
+ */
712
+ onToggleGroup? : ((event: { groupRecord: Model, collapse: boolean }) => void)|string
713
+ /**
714
+ * Tree parent node expanded or collapsed
715
+ * @param {object} event Event object
716
+ * @param {Core.data.Model} event.record The parent record which has been toggled
717
+ * @param {boolean} event.collapse Collapsed (true) or expanded (false)
718
+ */
719
+ onToggleNode? : ((event: { record: Model, collapse: boolean }) => void)|string
720
+
721
+ }
722
+
723
+ export class BryntumList extends React.Component<BryntumListProps> {
724
+
725
+ static instanceClass = List;
726
+
727
+ static instanceName = 'List';
728
+
729
+ processWidgetContent = processWidgetContent;
730
+
731
+ static configNames = [
732
+ 'activateOnMouseover',
733
+ 'adopt',
734
+ 'align',
735
+ 'allowGroupSelect',
736
+ 'anchor',
737
+ 'ariaDescription',
738
+ 'ariaLabel',
739
+ 'bubbleEvents',
740
+ 'centered',
741
+ 'clearSelectionOnEmptySpaceClick',
742
+ 'color',
743
+ 'config',
744
+ 'constrainTo',
745
+ 'contentElementCls',
746
+ 'dataField',
747
+ 'defaultBindProperty',
748
+ 'detectCSSCompatibilityIssues',
749
+ 'displayField',
750
+ 'dock',
751
+ 'draggable',
752
+ 'elementAttributes',
753
+ 'floating',
754
+ 'getItemCls',
755
+ 'getItemStyle',
756
+ 'groupHeaderTpl',
757
+ 'hideAnimation',
758
+ 'htmlCls',
759
+ 'ignoreParentReadOnly',
760
+ 'isSelectable',
761
+ 'itemTpl',
762
+ 'listeners',
763
+ 'localeClass',
764
+ 'localizable',
765
+ 'localizableProperties',
766
+ 'maskDefaults',
767
+ 'masked',
768
+ 'monitorResize',
769
+ 'owner',
770
+ 'positioned',
771
+ 'preventTooltipOnTouch',
772
+ 'relayStoreEvents',
773
+ 'ripple',
774
+ 'rootElement',
775
+ 'scrollAction',
776
+ 'selectAllItem',
777
+ 'showAnimation',
778
+ 'showTooltipWhenDisabled',
779
+ 'tab',
780
+ 'tag',
781
+ 'textAlign',
782
+ 'tooltipTemplate',
783
+ 'type',
784
+ 'ui',
785
+ 'virtualize',
786
+ 'weight'
787
+ ];
788
+
789
+ static propertyConfigNames = [
790
+ 'alignSelf',
791
+ 'appendTo',
792
+ 'callOnFunctions',
793
+ 'catchEventHandlerExceptions',
794
+ 'cls',
795
+ 'collapsibleGroups',
796
+ 'column',
797
+ 'content',
798
+ 'dataset',
799
+ 'disabled',
800
+ 'emptyText',
801
+ 'extraData',
802
+ 'flex',
803
+ 'height',
804
+ 'hidden',
805
+ 'html',
806
+ 'id',
807
+ 'insertBefore',
808
+ 'insertFirst',
809
+ 'items',
810
+ 'keyMap',
811
+ 'margin',
812
+ 'maxHeight',
813
+ 'maximizeOnMobile',
814
+ 'maxWidth',
815
+ 'minHeight',
816
+ 'minWidth',
817
+ 'multiSelect',
818
+ 'onBeforeDestroy',
819
+ 'onBeforeHide',
820
+ 'onBeforeItem',
821
+ 'onBeforeShow',
822
+ 'onCatchAll',
823
+ 'onDestroy',
824
+ 'onElementCreated',
825
+ 'onFocusIn',
826
+ 'onFocusOut',
827
+ 'onHide',
828
+ 'onItem',
829
+ 'onPaint',
830
+ 'onReadOnly',
831
+ 'onRecompose',
832
+ 'onResize',
833
+ 'onSelectionChange',
834
+ 'onShow',
835
+ 'onToggleGroup',
836
+ 'onToggleNode',
837
+ 'readOnly',
838
+ 'rtl',
839
+ 'scrollable',
840
+ 'selected',
841
+ 'span',
842
+ 'store',
843
+ 'title',
844
+ 'toggleAllIfCtrlPressed',
845
+ 'tooltip',
846
+ 'width',
847
+ 'x',
848
+ 'y'
849
+ ];
850
+
851
+ static propertyNames = [
852
+ 'anchorSize',
853
+ 'focusVisible',
854
+ 'parent'
855
+ ];
856
+
857
+ // Component instance
858
+ instance!: List;
859
+
860
+ // Component element
861
+ element! : HTMLElement;
862
+
863
+ componentDidMount(): void {
864
+ this.instance = createWidget(this);
865
+ }
866
+
867
+ componentWillUnmount(): void {
868
+ // @ts-ignore
869
+ this.instance?.destroy?.();
870
+ }
871
+
872
+ /**
873
+ * Component about to be updated, from changing a prop using state.
874
+ * React to it depending on what changed and prevent react from re-rendering our component.
875
+ * @param nextProps
876
+ * @param nextState
877
+ * @returns {boolean}
878
+ */
879
+ shouldComponentUpdate(nextProps: Readonly<BryntumListProps>, nextState: Readonly<{}>): boolean {
880
+ return shouldComponentUpdate(this, nextProps, nextState);
881
+ }
882
+
883
+ render(): React.ReactNode {
884
+
885
+ const className = `b-react-list-container`;
886
+ return (
887
+ <div className={className} ref={(element) => (this.element = element!)}></div>
888
+ );
889
+
890
+ }
891
+ }