@sap-ux/ui-components 1.13.5 → 1.14.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 (263) hide show
  1. package/dist/components/Icons.d.ts +150 -150
  2. package/dist/components/Icons.js +628 -628
  3. package/dist/components/UIActionCallout/UIActionCallout.d.ts +64 -64
  4. package/dist/components/UIActionCallout/UIActionCallout.js +67 -67
  5. package/dist/components/UIActionCallout/index.d.ts +1 -1
  6. package/dist/components/UIActionCallout/index.js +17 -17
  7. package/dist/components/UIBreadcrumb/UIBreadcrumb.d.ts +23 -23
  8. package/dist/components/UIBreadcrumb/UIBreadcrumb.js +38 -38
  9. package/dist/components/UIBreadcrumb/index.d.ts +1 -1
  10. package/dist/components/UIBreadcrumb/index.js +17 -17
  11. package/dist/components/UIButton/UIActionButton.d.ts +23 -23
  12. package/dist/components/UIButton/UIActionButton.js +89 -89
  13. package/dist/components/UIButton/UIDefaultButton.d.ts +41 -23
  14. package/dist/components/UIButton/UIDefaultButton.d.ts.map +1 -1
  15. package/dist/components/UIButton/UIDefaultButton.js +255 -237
  16. package/dist/components/UIButton/UIDefaultButton.js.map +1 -1
  17. package/dist/components/UIButton/UIIconButton.d.ts +37 -37
  18. package/dist/components/UIButton/UIIconButton.js +106 -106
  19. package/dist/components/UIButton/UISmallButton.d.ts +34 -34
  20. package/dist/components/UIButton/UISmallButton.js +115 -115
  21. package/dist/components/UIButton/UISplitButton.d.ts +44 -44
  22. package/dist/components/UIButton/UISplitButton.js +86 -86
  23. package/dist/components/UIButton/index.d.ts +7 -7
  24. package/dist/components/UIButton/index.js +21 -21
  25. package/dist/components/UICallout/CalloutCollisionTransform.d.ts +54 -54
  26. package/dist/components/UICallout/CalloutCollisionTransform.js +160 -160
  27. package/dist/components/UICallout/UICallout.d.ts +48 -48
  28. package/dist/components/UICallout/UICallout.js +122 -122
  29. package/dist/components/UICallout/index.d.ts +2 -2
  30. package/dist/components/UICallout/index.js +18 -18
  31. package/dist/components/UICheckbox/UICheckbox.d.ts +34 -34
  32. package/dist/components/UICheckbox/UICheckbox.js +135 -135
  33. package/dist/components/UICheckbox/index.d.ts +1 -1
  34. package/dist/components/UICheckbox/index.js +17 -17
  35. package/dist/components/UIChoiceGroup/UIChoiceGroup.d.ts +28 -28
  36. package/dist/components/UIChoiceGroup/UIChoiceGroup.js +182 -182
  37. package/dist/components/UIChoiceGroup/index.d.ts +1 -1
  38. package/dist/components/UIChoiceGroup/index.js +17 -17
  39. package/dist/components/UIComboBox/UIComboBox.d.ts +208 -200
  40. package/dist/components/UIComboBox/UIComboBox.d.ts.map +1 -1
  41. package/dist/components/UIComboBox/UIComboBox.js +563 -541
  42. package/dist/components/UIComboBox/UIComboBox.js.map +1 -1
  43. package/dist/components/UIComboBox/index.d.ts +1 -1
  44. package/dist/components/UIComboBox/index.js +17 -17
  45. package/dist/components/UIContextualMenu/UIContextualMenu.d.ts +31 -31
  46. package/dist/components/UIContextualMenu/UIContextualMenu.js +126 -126
  47. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts +19 -19
  48. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js +50 -50
  49. package/dist/components/UIContextualMenu/index.d.ts +2 -2
  50. package/dist/components/UIContextualMenu/index.js +18 -18
  51. package/dist/components/UICreateSelect/UICreateSelect.d.ts +36 -36
  52. package/dist/components/UICreateSelect/UICreateSelect.js +172 -172
  53. package/dist/components/UICreateSelect/index.d.ts +1 -1
  54. package/dist/components/UICreateSelect/index.js +17 -17
  55. package/dist/components/UIDatePicker/UIDatePicker.d.ts +49 -49
  56. package/dist/components/UIDatePicker/UIDatePicker.js +72 -72
  57. package/dist/components/UIDatePicker/index.d.ts +1 -1
  58. package/dist/components/UIDatePicker/index.js +17 -17
  59. package/dist/components/UIDialog/UIDialog.d.ts +118 -118
  60. package/dist/components/UIDialog/UIDialog.js +281 -281
  61. package/dist/components/UIDialog/index.d.ts +1 -1
  62. package/dist/components/UIDialog/index.js +17 -17
  63. package/dist/components/UIDropdown/UIDropdown.d.ts +94 -94
  64. package/dist/components/UIDropdown/UIDropdown.js +224 -224
  65. package/dist/components/UIDropdown/index.d.ts +2 -2
  66. package/dist/components/UIDropdown/index.js +18 -18
  67. package/dist/components/UIDropdown/utils.d.ts +20 -20
  68. package/dist/components/UIDropdown/utils.js +43 -43
  69. package/dist/components/UIFlexibleTable/RowActions.d.ts +16 -16
  70. package/dist/components/UIFlexibleTable/RowActions.js +73 -73
  71. package/dist/components/UIFlexibleTable/RowData.d.ts +16 -16
  72. package/dist/components/UIFlexibleTable/RowData.js +111 -111
  73. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts +11 -11
  74. package/dist/components/UIFlexibleTable/UIFlexibleTable.js +280 -280
  75. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.d.ts +20 -20
  76. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.js +20 -20
  77. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.d.ts +26 -26
  78. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.js +219 -219
  79. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.d.ts +20 -20
  80. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.js +19 -19
  81. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.d.ts +15 -15
  82. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.js +28 -28
  83. package/dist/components/UIFlexibleTable/index.d.ts +5 -5
  84. package/dist/components/UIFlexibleTable/index.js +21 -21
  85. package/dist/components/UIFlexibleTable/types.d.ts +143 -143
  86. package/dist/components/UIFlexibleTable/types.js +14 -14
  87. package/dist/components/UIFlexibleTable/utils.d.ts +25 -25
  88. package/dist/components/UIFlexibleTable/utils.js +49 -49
  89. package/dist/components/UIFocusZone/UIFocusTrapZone.d.ts +22 -22
  90. package/dist/components/UIFocusZone/UIFocusTrapZone.js +33 -33
  91. package/dist/components/UIFocusZone/UIFocusZone.d.ts +23 -23
  92. package/dist/components/UIFocusZone/UIFocusZone.js +35 -35
  93. package/dist/components/UIFocusZone/index.d.ts +2 -2
  94. package/dist/components/UIFocusZone/index.js +18 -18
  95. package/dist/components/UIIcon/UIIcon.d.ts +24 -24
  96. package/dist/components/UIIcon/UIIcon.js +37 -37
  97. package/dist/components/UIIcon/index.d.ts +1 -1
  98. package/dist/components/UIIcon/index.js +17 -17
  99. package/dist/components/UIInput/UITextInput.d.ts +51 -51
  100. package/dist/components/UIInput/UITextInput.js +244 -244
  101. package/dist/components/UIInput/index.d.ts +1 -1
  102. package/dist/components/UIInput/index.js +17 -17
  103. package/dist/components/UILabel/UILabel.d.ts +30 -30
  104. package/dist/components/UILabel/UILabel.js +64 -64
  105. package/dist/components/UILabel/index.d.ts +1 -1
  106. package/dist/components/UILabel/index.js +17 -17
  107. package/dist/components/UILink/UILink.d.ts +25 -25
  108. package/dist/components/UILink/UILink.js +71 -71
  109. package/dist/components/UILink/index.d.ts +1 -1
  110. package/dist/components/UILink/index.js +17 -17
  111. package/dist/components/UIList/UIList.d.ts +31 -31
  112. package/dist/components/UIList/UIList.js +120 -120
  113. package/dist/components/UIList/index.d.ts +1 -1
  114. package/dist/components/UIList/index.js +17 -17
  115. package/dist/components/UILoader/UILoader.d.ts +27 -27
  116. package/dist/components/UILoader/UILoader.js +78 -78
  117. package/dist/components/UILoader/index.d.ts +1 -1
  118. package/dist/components/UILoader/index.js +17 -17
  119. package/dist/components/UIMessageBar/UIMessageBar.d.ts +25 -25
  120. package/dist/components/UIMessageBar/UIMessageBar.js +56 -56
  121. package/dist/components/UIMessageBar/index.d.ts +1 -1
  122. package/dist/components/UIMessageBar/index.js +17 -17
  123. package/dist/components/UIModal/UIModal.d.ts +23 -23
  124. package/dist/components/UIModal/UIModal.js +43 -43
  125. package/dist/components/UIModal/index.d.ts +1 -1
  126. package/dist/components/UIModal/index.js +17 -17
  127. package/dist/components/UIOverlay/UIOverlay.d.ts +22 -22
  128. package/dist/components/UIOverlay/UIOverlay.js +38 -38
  129. package/dist/components/UIOverlay/index.d.ts +1 -1
  130. package/dist/components/UIOverlay/index.js +17 -17
  131. package/dist/components/UIPersona/UIPersona.d.ts +27 -27
  132. package/dist/components/UIPersona/UIPersona.js +48 -48
  133. package/dist/components/UIPersona/index.d.ts +1 -1
  134. package/dist/components/UIPersona/index.js +17 -17
  135. package/dist/components/UISearchBox/UISearchBox.d.ts +22 -22
  136. package/dist/components/UISearchBox/UISearchBox.js +155 -155
  137. package/dist/components/UISearchBox/index.d.ts +3 -3
  138. package/dist/components/UISearchBox/index.js +17 -17
  139. package/dist/components/UISection/UISection.d.ts +34 -34
  140. package/dist/components/UISection/UISection.js +44 -44
  141. package/dist/components/UISection/UISections.d.ts +249 -249
  142. package/dist/components/UISection/UISections.js +707 -707
  143. package/dist/components/UISection/UISplitter.d.ts +96 -96
  144. package/dist/components/UISection/UISplitter.js +220 -220
  145. package/dist/components/UISection/index.d.ts +3 -3
  146. package/dist/components/UISection/index.js +19 -19
  147. package/dist/components/UISeparator/UISeparator.d.ts +25 -25
  148. package/dist/components/UISeparator/UISeparator.js +65 -65
  149. package/dist/components/UISeparator/index.d.ts +1 -1
  150. package/dist/components/UISeparator/index.js +17 -17
  151. package/dist/components/UITable/UITable-helper.d.ts +88 -88
  152. package/dist/components/UITable/UITable-helper.js +263 -263
  153. package/dist/components/UITable/UITable.d.ts +213 -213
  154. package/dist/components/UITable/UITable.js +779 -779
  155. package/dist/components/UITable/index.d.ts +2 -2
  156. package/dist/components/UITable/index.js +18 -18
  157. package/dist/components/UITable/types.d.ts +77 -77
  158. package/dist/components/UITable/types.js +28 -28
  159. package/dist/components/UITabs/UITabs.d.ts +28 -28
  160. package/dist/components/UITabs/UITabs.js +70 -70
  161. package/dist/components/UITabs/index.d.ts +1 -1
  162. package/dist/components/UITabs/index.js +17 -17
  163. package/dist/components/UIToggle/UIToggle.d.ts +39 -39
  164. package/dist/components/UIToggle/UIToggle.js +181 -181
  165. package/dist/components/UIToggle/index.d.ts +1 -1
  166. package/dist/components/UIToggle/index.js +17 -17
  167. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts +31 -31
  168. package/dist/components/UIToggleGroup/UIToggleGroup.js +139 -139
  169. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts +22 -22
  170. package/dist/components/UIToggleGroup/UIToggleGroup.types.js +2 -2
  171. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts +25 -25
  172. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js +77 -77
  173. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts +10 -10
  174. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js +2 -2
  175. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts +2 -2
  176. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js +18 -18
  177. package/dist/components/UIToggleGroup/index.d.ts +2 -2
  178. package/dist/components/UIToggleGroup/index.js +18 -18
  179. package/dist/components/UIToolbar/UIToolbar.d.ts +36 -36
  180. package/dist/components/UIToolbar/UIToolbar.js +104 -104
  181. package/dist/components/UIToolbar/UIToolbarColumn.d.ts +7 -7
  182. package/dist/components/UIToolbar/UIToolbarColumn.js +33 -33
  183. package/dist/components/UIToolbar/UIToolbarDivider.d.ts +27 -27
  184. package/dist/components/UIToolbar/UIToolbarDivider.js +52 -52
  185. package/dist/components/UIToolbar/index.d.ts +3 -3
  186. package/dist/components/UIToolbar/index.js +19 -19
  187. package/dist/components/UITooltip/UITooltip.d.ts +29 -29
  188. package/dist/components/UITooltip/UITooltip.js +77 -77
  189. package/dist/components/UITooltip/UITooltipUtils.d.ts +17 -17
  190. package/dist/components/UITooltip/UITooltipUtils.js +45 -45
  191. package/dist/components/UITooltip/index.d.ts +2 -2
  192. package/dist/components/UITooltip/index.js +18 -18
  193. package/dist/components/UITranslationInput/UIFormattedText.d.ts +46 -46
  194. package/dist/components/UITranslationInput/UIFormattedText.js +121 -121
  195. package/dist/components/UITranslationInput/UILoadButton.d.ts +52 -52
  196. package/dist/components/UITranslationInput/UILoadButton.js +109 -109
  197. package/dist/components/UITranslationInput/UITranslationButton.d.ts +14 -14
  198. package/dist/components/UITranslationInput/UITranslationButton.js +88 -88
  199. package/dist/components/UITranslationInput/UITranslationButton.types.d.ts +67 -67
  200. package/dist/components/UITranslationInput/UITranslationButton.types.js +21 -21
  201. package/dist/components/UITranslationInput/UITranslationInput.d.ts +25 -25
  202. package/dist/components/UITranslationInput/UITranslationInput.js +169 -169
  203. package/dist/components/UITranslationInput/UITranslationUtils.d.ts +64 -64
  204. package/dist/components/UITranslationInput/UITranslationUtils.js +168 -168
  205. package/dist/components/UITranslationInput/defaults.d.ts +2 -2
  206. package/dist/components/UITranslationInput/defaults.js +15 -15
  207. package/dist/components/UITranslationInput/index.d.ts +2 -2
  208. package/dist/components/UITranslationInput/index.js +18 -18
  209. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts +265 -265
  210. package/dist/components/UITreeDropdown/UITreeDropdown.js +660 -660
  211. package/dist/components/UITreeDropdown/index.d.ts +1 -1
  212. package/dist/components/UITreeDropdown/index.js +17 -17
  213. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts +23 -23
  214. package/dist/components/UIVerticalDivider/UIVerticalDivider.js +41 -41
  215. package/dist/components/UIVerticalDivider/index.d.ts +1 -1
  216. package/dist/components/UIVerticalDivider/index.js +17 -17
  217. package/dist/components/UIVirtualList/UIAutoSizer.d.ts +22 -22
  218. package/dist/components/UIVirtualList/UIAutoSizer.js +33 -33
  219. package/dist/components/UIVirtualList/UICellMeasurer.d.ts +23 -23
  220. package/dist/components/UIVirtualList/UICellMeasurer.js +33 -33
  221. package/dist/components/UIVirtualList/UIVirtualList.d.ts +43 -43
  222. package/dist/components/UIVirtualList/UIVirtualList.js +70 -70
  223. package/dist/components/UIVirtualList/index.d.ts +3 -3
  224. package/dist/components/UIVirtualList/index.js +19 -19
  225. package/dist/components/index.d.ts +38 -38
  226. package/dist/components/index.js +54 -54
  227. package/dist/helper/ValidationMessage/MessageWrapper.d.ts +17 -17
  228. package/dist/helper/ValidationMessage/MessageWrapper.js +34 -34
  229. package/dist/helper/ValidationMessage/index.d.ts +2 -2
  230. package/dist/helper/ValidationMessage/index.js +18 -18
  231. package/dist/helper/ValidationMessage/utils.d.ts +31 -31
  232. package/dist/helper/ValidationMessage/utils.js +121 -121
  233. package/dist/index.d.ts +2 -2
  234. package/dist/index.js +18 -18
  235. package/dist/utilities/DeepMerge.d.ts +10 -10
  236. package/dist/utilities/DeepMerge.js +48 -48
  237. package/dist/utilities/Dom.d.ts +14 -7
  238. package/dist/utilities/Dom.d.ts.map +1 -1
  239. package/dist/utilities/Dom.js +23 -13
  240. package/dist/utilities/Dom.js.map +1 -1
  241. package/dist/utilities/Focus.d.ts +14 -14
  242. package/dist/utilities/Focus.js +34 -34
  243. package/dist/utilities/Id.d.ts +2 -2
  244. package/dist/utilities/Id.js +5 -5
  245. package/dist/utilities/Keys.d.ts +2 -2
  246. package/dist/utilities/Keys.js +5 -5
  247. package/dist/utilities/index.d.ts +4 -4
  248. package/dist/utilities/index.js +20 -20
  249. package/package.json +1 -1
  250. package/storybook/494.d8aaa4d7.iframe.bundle.js +1 -0
  251. package/storybook/580.057c85e9.iframe.bundle.js +1 -0
  252. package/storybook/{930.1b3c5615.iframe.bundle.js → 930.3177b0dc.iframe.bundle.js} +2 -2
  253. package/storybook/UIActionCallout-story.9ee56c83.iframe.bundle.js +2 -0
  254. package/storybook/UIToggleGroup-story.573848ba.iframe.bundle.js +2 -0
  255. package/storybook/iframe.html +3 -3
  256. package/storybook/main.5f68bcca.iframe.bundle.js +1 -0
  257. package/storybook/project.json +1 -1
  258. package/storybook/{runtime~main.7c93d414.iframe.bundle.js → runtime~main.a213c0ae.iframe.bundle.js} +1 -1
  259. package/storybook/494.1829058d.iframe.bundle.js +0 -1
  260. package/storybook/580.c5ddde6e.iframe.bundle.js +0 -1
  261. package/storybook/UIActionCallout-story.13bdf055.iframe.bundle.js +0 -2
  262. package/storybook/UIToggleGroup-story.6f3e7d06.iframe.bundle.js +0 -2
  263. package/storybook/main.4ed99289.iframe.bundle.js +0 -1
@@ -1,97 +1,97 @@
1
- import React from 'react';
2
- import './UISplitter.scss';
3
- export interface UISplitterProps {
4
- type: UISplitterType;
5
- vertical?: boolean;
6
- hidden?: boolean;
7
- onResizeStart?: () => void;
8
- onResize: (position: number) => boolean;
9
- onResizeEnd?: () => void;
10
- onToggle?: () => void;
11
- title?: string;
12
- splitterLayoutType?: UISplitterLayoutType;
13
- }
14
- export declare enum UISplitterType {
15
- Resize = "resize",
16
- Toggle = "toggle"
17
- }
18
- export declare enum UISplitterLayoutType {
19
- Standard = "standard",
20
- Compact = "compact"
21
- }
22
- /**
23
- *
24
- */
25
- export declare class UISplitter extends React.Component<UISplitterProps> {
26
- private readonly splitterOverlay;
27
- private readonly mousedownPosition;
28
- private readonly rootRef;
29
- private readonly size;
30
- private readonly compactSize;
31
- private animationFrame?;
32
- /**
33
- *
34
- * @param props
35
- */
36
- constructor(props: UISplitterProps);
37
- /**
38
- * Method called on mousedown over splitter.
39
- * Method would start resize session.
40
- *
41
- * @param {React.MouseEvent} event Mouse.
42
- */
43
- private startSplitterMove;
44
- /**
45
- * Method called when resize session is in progress and user moves mouse.
46
- *
47
- * @param {React.MouseEvent} event Mouse event.
48
- */
49
- private doMousemoveResize;
50
- /**
51
- * Method which receives new delta position of splitter and updates DOM with calling callback.
52
- *
53
- * @param {number} deltaPosition Delta position of splitter.
54
- */
55
- private doResize;
56
- /**
57
- * Method called on mouseup or mouseleave events.
58
- * Method would end resize session.
59
- */
60
- private stopMousemoveResize;
61
- /**
62
- * Method to update splitter DOM and events depending on if resize started or ended.
63
- *
64
- * @param {boolean} start Resize is started or ended.
65
- */
66
- private updateSplitterEvents;
67
- /**
68
- * Method called when clicked over splitter and splitter type is 'Toggle'.
69
- */
70
- private toggleSplitter;
71
- /**
72
- * Gets icon.
73
- *
74
- * @param type
75
- * @param splitterLayoutType
76
- * @returns {string}
77
- */
78
- private getIcon;
79
- /**
80
- * Method called when keydown events fired while splitter is focused.
81
- * Method enables support for resize using keyboard.
82
- *
83
- * @param {React.KeyboardEvent<HTMLDivElement>} event KeyDown event.
84
- */
85
- private onKeyDown;
86
- /**
87
- * Method returns class names string depending on props and component state.
88
- *
89
- * @returns {number} Minimal size of section.
90
- */
91
- getClassNames(): string;
92
- /**
93
- * @returns {React.ReactElement}
94
- */
95
- render(): React.ReactElement;
96
- }
1
+ import React from 'react';
2
+ import './UISplitter.scss';
3
+ export interface UISplitterProps {
4
+ type: UISplitterType;
5
+ vertical?: boolean;
6
+ hidden?: boolean;
7
+ onResizeStart?: () => void;
8
+ onResize: (position: number) => boolean;
9
+ onResizeEnd?: () => void;
10
+ onToggle?: () => void;
11
+ title?: string;
12
+ splitterLayoutType?: UISplitterLayoutType;
13
+ }
14
+ export declare enum UISplitterType {
15
+ Resize = "resize",
16
+ Toggle = "toggle"
17
+ }
18
+ export declare enum UISplitterLayoutType {
19
+ Standard = "standard",
20
+ Compact = "compact"
21
+ }
22
+ /**
23
+ *
24
+ */
25
+ export declare class UISplitter extends React.Component<UISplitterProps> {
26
+ private readonly splitterOverlay;
27
+ private readonly mousedownPosition;
28
+ private readonly rootRef;
29
+ private readonly size;
30
+ private readonly compactSize;
31
+ private animationFrame?;
32
+ /**
33
+ *
34
+ * @param props
35
+ */
36
+ constructor(props: UISplitterProps);
37
+ /**
38
+ * Method called on mousedown over splitter.
39
+ * Method would start resize session.
40
+ *
41
+ * @param {React.MouseEvent} event Mouse.
42
+ */
43
+ private startSplitterMove;
44
+ /**
45
+ * Method called when resize session is in progress and user moves mouse.
46
+ *
47
+ * @param {React.MouseEvent} event Mouse event.
48
+ */
49
+ private doMousemoveResize;
50
+ /**
51
+ * Method which receives new delta position of splitter and updates DOM with calling callback.
52
+ *
53
+ * @param {number} deltaPosition Delta position of splitter.
54
+ */
55
+ private doResize;
56
+ /**
57
+ * Method called on mouseup or mouseleave events.
58
+ * Method would end resize session.
59
+ */
60
+ private stopMousemoveResize;
61
+ /**
62
+ * Method to update splitter DOM and events depending on if resize started or ended.
63
+ *
64
+ * @param {boolean} start Resize is started or ended.
65
+ */
66
+ private updateSplitterEvents;
67
+ /**
68
+ * Method called when clicked over splitter and splitter type is 'Toggle'.
69
+ */
70
+ private toggleSplitter;
71
+ /**
72
+ * Gets icon.
73
+ *
74
+ * @param type
75
+ * @param splitterLayoutType
76
+ * @returns {string}
77
+ */
78
+ private getIcon;
79
+ /**
80
+ * Method called when keydown events fired while splitter is focused.
81
+ * Method enables support for resize using keyboard.
82
+ *
83
+ * @param {React.KeyboardEvent<HTMLDivElement>} event KeyDown event.
84
+ */
85
+ private onKeyDown;
86
+ /**
87
+ * Method returns class names string depending on props and component state.
88
+ *
89
+ * @returns {number} Minimal size of section.
90
+ */
91
+ getClassNames(): string;
92
+ /**
93
+ * @returns {React.ReactElement}
94
+ */
95
+ render(): React.ReactElement;
96
+ }
97
97
  //# sourceMappingURL=UISplitter.d.ts.map
@@ -1,221 +1,221 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UISplitter = exports.UISplitterLayoutType = exports.UISplitterType = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- require("./UISplitter.scss");
9
- const Icons_1 = require("../Icons");
10
- const UIIcon_1 = require("../UIIcon");
11
- var UISplitterType;
12
- (function (UISplitterType) {
13
- UISplitterType["Resize"] = "resize";
14
- UISplitterType["Toggle"] = "toggle";
15
- })(UISplitterType = exports.UISplitterType || (exports.UISplitterType = {}));
16
- var UISplitterLayoutType;
17
- (function (UISplitterLayoutType) {
18
- UISplitterLayoutType["Standard"] = "standard";
19
- UISplitterLayoutType["Compact"] = "compact";
20
- })(UISplitterLayoutType = exports.UISplitterLayoutType || (exports.UISplitterLayoutType = {}));
21
- /**
22
- *
23
- */
24
- class UISplitter extends react_1.default.Component {
25
- /**
26
- *
27
- * @param props
28
- */
29
- constructor(props) {
30
- super(props);
31
- this.mousedownPosition = {
32
- x: 0,
33
- y: 0
34
- };
35
- this.size = 14;
36
- this.compactSize = 8;
37
- this.rootRef = react_1.default.createRef();
38
- this.stopMousemoveResize = this.stopMousemoveResize.bind(this);
39
- this.doMousemoveResize = this.doMousemoveResize.bind(this);
40
- // Splitter overlay DOM for block dom during resize
41
- this.splitterOverlay = document.createElement('div');
42
- this.splitterOverlay.setAttribute('class', `splitter__overlay ${props.vertical ? 'splitter__overlay--vertical' : 'splitter__overlay--horizontal'}`);
43
- }
44
- /**
45
- * Method called on mousedown over splitter.
46
- * Method would start resize session.
47
- *
48
- * @param {React.MouseEvent} event Mouse.
49
- */
50
- startSplitterMove(event) {
51
- this.mousedownPosition.x = event.clientX;
52
- this.mousedownPosition.y = event.clientY;
53
- // Update DOM
54
- this.updateSplitterEvents(true);
55
- // Stop event bubbling
56
- event.stopPropagation();
57
- }
58
- /**
59
- * Method called when resize session is in progress and user moves mouse.
60
- *
61
- * @param {React.MouseEvent} event Mouse event.
62
- */
63
- doMousemoveResize(event) {
64
- const propertyName = this.props.vertical ? 'clientY' : 'clientX';
65
- const coordinateNameName = this.props.vertical ? 'y' : 'x';
66
- const newPosition = event[propertyName] - this.mousedownPosition[coordinateNameName];
67
- this.doResize(newPosition);
68
- }
69
- /**
70
- * Method which receives new delta position of splitter and updates DOM with calling callback.
71
- *
72
- * @param {number} deltaPosition Delta position of splitter.
73
- */
74
- doResize(deltaPosition) {
75
- const cssPropertyName = this.props.vertical ? 'top' : 'left';
76
- if (this.animationFrame) {
77
- window.cancelAnimationFrame(this.animationFrame);
78
- }
79
- this.animationFrame = window.requestAnimationFrame(() => {
80
- // Call callback
81
- if (this.props.onResize(deltaPosition)) {
82
- // Update resizer DOM
83
- const dom = this.rootRef.current;
84
- if (dom) {
85
- dom.style[cssPropertyName] = `${deltaPosition - this.size / 2}px`;
86
- }
87
- }
88
- });
89
- }
90
- /**
91
- * Method called on mouseup or mouseleave events.
92
- * Method would end resize session.
93
- */
94
- stopMousemoveResize() {
95
- this.updateSplitterEvents(false);
96
- }
97
- /**
98
- * Method to update splitter DOM and events depending on if resize started or ended.
99
- *
100
- * @param {boolean} start Resize is started or ended.
101
- */
102
- updateSplitterEvents(start) {
103
- if (start) {
104
- document.body.addEventListener('mouseup', this.stopMousemoveResize);
105
- document.body.addEventListener('mouseleave', this.stopMousemoveResize);
106
- document.body.addEventListener('mousemove', this.doMousemoveResize);
107
- document.body.appendChild(this.splitterOverlay);
108
- }
109
- else {
110
- document.body.removeEventListener('mouseup', this.stopMousemoveResize);
111
- document.body.removeEventListener('mouseleave', this.stopMousemoveResize);
112
- document.body.removeEventListener('mousemove', this.doMousemoveResize);
113
- document.body.removeChild(this.splitterOverlay);
114
- }
115
- if (start && this.props.onResizeStart) {
116
- this.props.onResizeStart();
117
- }
118
- else if (!start && this.props.onResizeEnd) {
119
- this.props.onResizeEnd();
120
- }
121
- }
122
- /**
123
- * Method called when clicked over splitter and splitter type is 'Toggle'.
124
- */
125
- toggleSplitter() {
126
- if (this.props.onToggle) {
127
- this.props.onToggle();
128
- }
129
- }
130
- /**
131
- * Gets icon.
132
- *
133
- * @param type
134
- * @param splitterLayoutType
135
- * @returns {string}
136
- */
137
- getIcon(type, splitterLayoutType = UISplitterLayoutType.Standard) {
138
- if (type === UISplitterType.Toggle) {
139
- return Icons_1.UiIcons.ArrowLeft;
140
- }
141
- else if (splitterLayoutType === UISplitterLayoutType.Compact) {
142
- return Icons_1.UiIcons.Grabber;
143
- }
144
- else {
145
- return Icons_1.UiIcons.VerticalGrip;
146
- }
147
- }
148
- /**
149
- * Method called when keydown events fired while splitter is focused.
150
- * Method enables support for resize using keyboard.
151
- *
152
- * @param {React.KeyboardEvent<HTMLDivElement>} event KeyDown event.
153
- */
154
- onKeyDown(event) {
155
- if (this.props.type === UISplitterType.Resize) {
156
- const stepSize = 10;
157
- let deltaPosition = 0;
158
- if (['ArrowLeft', 'ArrowUp'].includes(event.key)) {
159
- deltaPosition = -stepSize;
160
- }
161
- else if (['ArrowRight', 'ArrowDown'].includes(event.key)) {
162
- deltaPosition = stepSize;
163
- }
164
- if (deltaPosition === 0) {
165
- // There no resize with keyboard
166
- return;
167
- }
168
- // Do full resize cycle - start, move and end
169
- if (this.props.onResizeStart) {
170
- this.props.onResizeStart();
171
- }
172
- this.doResize(deltaPosition);
173
- if (this.props.onResizeEnd) {
174
- this.props.onResizeEnd();
175
- }
176
- }
177
- else if (this.props.type === UISplitterType.Toggle && event.key === 'Enter') {
178
- this.toggleSplitter();
179
- }
180
- }
181
- /**
182
- * Method returns class names string depending on props and component state.
183
- *
184
- * @returns {number} Minimal size of section.
185
- */
186
- getClassNames() {
187
- const { type, vertical, hidden, splitterLayoutType } = this.props;
188
- let classNames = `splitter splitter--${type}`;
189
- // vertical or horizontal
190
- classNames += ` ${vertical ? 'splitter--vertical' : 'splitter--horizontal'}`;
191
- if (hidden && type === UISplitterType.Resize) {
192
- classNames += ' splitter--hidden';
193
- }
194
- classNames += ` ${splitterLayoutType === UISplitterLayoutType.Standard ? 'splitter--standard' : 'splitter--compact'}`;
195
- return classNames;
196
- }
197
- /**
198
- * @returns {React.ReactElement}
199
- */
200
- render() {
201
- const { type, vertical, hidden, title, splitterLayoutType } = this.props;
202
- const size = splitterLayoutType === UISplitterLayoutType.Standard ? this.size : this.compactSize;
203
- const splitterOffset = type === UISplitterType.Toggle ? -size : -size / 2;
204
- const role = type === UISplitterType.Toggle ? 'button' : 'separator';
205
- const orientation = vertical ? 'horizontal' : 'vertical';
206
- let ariaPressed;
207
- if (type === UISplitterType.Toggle) {
208
- ariaPressed = hidden ? false : true;
209
- }
210
- return (react_1.default.createElement("div", { ref: this.rootRef, role: role, "aria-orientation": orientation, "aria-pressed": ariaPressed, title: title, tabIndex: type === UISplitterType.Toggle ? 0 : -1, onKeyDown: this.onKeyDown.bind(this), style: {
211
- ...(vertical && { height: size, top: splitterOffset }),
212
- ...(!vertical && { width: size, left: splitterOffset })
213
- }, onMouseDown: type === UISplitterType.Resize
214
- ? (event) => this.startSplitterMove(event)
215
- : undefined, onClick: type === UISplitterType.Toggle ? () => this.toggleSplitter() : undefined, className: this.getClassNames() },
216
- react_1.default.createElement("div", { className: "splitter__grip" },
217
- react_1.default.createElement(UIIcon_1.UIIcon, { iconName: this.getIcon(type, splitterLayoutType) }))));
218
- }
219
- }
220
- exports.UISplitter = UISplitter;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UISplitter = exports.UISplitterLayoutType = exports.UISplitterType = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ require("./UISplitter.scss");
9
+ const Icons_1 = require("../Icons");
10
+ const UIIcon_1 = require("../UIIcon");
11
+ var UISplitterType;
12
+ (function (UISplitterType) {
13
+ UISplitterType["Resize"] = "resize";
14
+ UISplitterType["Toggle"] = "toggle";
15
+ })(UISplitterType = exports.UISplitterType || (exports.UISplitterType = {}));
16
+ var UISplitterLayoutType;
17
+ (function (UISplitterLayoutType) {
18
+ UISplitterLayoutType["Standard"] = "standard";
19
+ UISplitterLayoutType["Compact"] = "compact";
20
+ })(UISplitterLayoutType = exports.UISplitterLayoutType || (exports.UISplitterLayoutType = {}));
21
+ /**
22
+ *
23
+ */
24
+ class UISplitter extends react_1.default.Component {
25
+ /**
26
+ *
27
+ * @param props
28
+ */
29
+ constructor(props) {
30
+ super(props);
31
+ this.mousedownPosition = {
32
+ x: 0,
33
+ y: 0
34
+ };
35
+ this.size = 14;
36
+ this.compactSize = 8;
37
+ this.rootRef = react_1.default.createRef();
38
+ this.stopMousemoveResize = this.stopMousemoveResize.bind(this);
39
+ this.doMousemoveResize = this.doMousemoveResize.bind(this);
40
+ // Splitter overlay DOM for block dom during resize
41
+ this.splitterOverlay = document.createElement('div');
42
+ this.splitterOverlay.setAttribute('class', `splitter__overlay ${props.vertical ? 'splitter__overlay--vertical' : 'splitter__overlay--horizontal'}`);
43
+ }
44
+ /**
45
+ * Method called on mousedown over splitter.
46
+ * Method would start resize session.
47
+ *
48
+ * @param {React.MouseEvent} event Mouse.
49
+ */
50
+ startSplitterMove(event) {
51
+ this.mousedownPosition.x = event.clientX;
52
+ this.mousedownPosition.y = event.clientY;
53
+ // Update DOM
54
+ this.updateSplitterEvents(true);
55
+ // Stop event bubbling
56
+ event.stopPropagation();
57
+ }
58
+ /**
59
+ * Method called when resize session is in progress and user moves mouse.
60
+ *
61
+ * @param {React.MouseEvent} event Mouse event.
62
+ */
63
+ doMousemoveResize(event) {
64
+ const propertyName = this.props.vertical ? 'clientY' : 'clientX';
65
+ const coordinateNameName = this.props.vertical ? 'y' : 'x';
66
+ const newPosition = event[propertyName] - this.mousedownPosition[coordinateNameName];
67
+ this.doResize(newPosition);
68
+ }
69
+ /**
70
+ * Method which receives new delta position of splitter and updates DOM with calling callback.
71
+ *
72
+ * @param {number} deltaPosition Delta position of splitter.
73
+ */
74
+ doResize(deltaPosition) {
75
+ const cssPropertyName = this.props.vertical ? 'top' : 'left';
76
+ if (this.animationFrame) {
77
+ window.cancelAnimationFrame(this.animationFrame);
78
+ }
79
+ this.animationFrame = window.requestAnimationFrame(() => {
80
+ // Call callback
81
+ if (this.props.onResize(deltaPosition)) {
82
+ // Update resizer DOM
83
+ const dom = this.rootRef.current;
84
+ if (dom) {
85
+ dom.style[cssPropertyName] = `${deltaPosition - this.size / 2}px`;
86
+ }
87
+ }
88
+ });
89
+ }
90
+ /**
91
+ * Method called on mouseup or mouseleave events.
92
+ * Method would end resize session.
93
+ */
94
+ stopMousemoveResize() {
95
+ this.updateSplitterEvents(false);
96
+ }
97
+ /**
98
+ * Method to update splitter DOM and events depending on if resize started or ended.
99
+ *
100
+ * @param {boolean} start Resize is started or ended.
101
+ */
102
+ updateSplitterEvents(start) {
103
+ if (start) {
104
+ document.body.addEventListener('mouseup', this.stopMousemoveResize);
105
+ document.body.addEventListener('mouseleave', this.stopMousemoveResize);
106
+ document.body.addEventListener('mousemove', this.doMousemoveResize);
107
+ document.body.appendChild(this.splitterOverlay);
108
+ }
109
+ else {
110
+ document.body.removeEventListener('mouseup', this.stopMousemoveResize);
111
+ document.body.removeEventListener('mouseleave', this.stopMousemoveResize);
112
+ document.body.removeEventListener('mousemove', this.doMousemoveResize);
113
+ document.body.removeChild(this.splitterOverlay);
114
+ }
115
+ if (start && this.props.onResizeStart) {
116
+ this.props.onResizeStart();
117
+ }
118
+ else if (!start && this.props.onResizeEnd) {
119
+ this.props.onResizeEnd();
120
+ }
121
+ }
122
+ /**
123
+ * Method called when clicked over splitter and splitter type is 'Toggle'.
124
+ */
125
+ toggleSplitter() {
126
+ if (this.props.onToggle) {
127
+ this.props.onToggle();
128
+ }
129
+ }
130
+ /**
131
+ * Gets icon.
132
+ *
133
+ * @param type
134
+ * @param splitterLayoutType
135
+ * @returns {string}
136
+ */
137
+ getIcon(type, splitterLayoutType = UISplitterLayoutType.Standard) {
138
+ if (type === UISplitterType.Toggle) {
139
+ return Icons_1.UiIcons.ArrowLeft;
140
+ }
141
+ else if (splitterLayoutType === UISplitterLayoutType.Compact) {
142
+ return Icons_1.UiIcons.Grabber;
143
+ }
144
+ else {
145
+ return Icons_1.UiIcons.VerticalGrip;
146
+ }
147
+ }
148
+ /**
149
+ * Method called when keydown events fired while splitter is focused.
150
+ * Method enables support for resize using keyboard.
151
+ *
152
+ * @param {React.KeyboardEvent<HTMLDivElement>} event KeyDown event.
153
+ */
154
+ onKeyDown(event) {
155
+ if (this.props.type === UISplitterType.Resize) {
156
+ const stepSize = 10;
157
+ let deltaPosition = 0;
158
+ if (['ArrowLeft', 'ArrowUp'].includes(event.key)) {
159
+ deltaPosition = -stepSize;
160
+ }
161
+ else if (['ArrowRight', 'ArrowDown'].includes(event.key)) {
162
+ deltaPosition = stepSize;
163
+ }
164
+ if (deltaPosition === 0) {
165
+ // There no resize with keyboard
166
+ return;
167
+ }
168
+ // Do full resize cycle - start, move and end
169
+ if (this.props.onResizeStart) {
170
+ this.props.onResizeStart();
171
+ }
172
+ this.doResize(deltaPosition);
173
+ if (this.props.onResizeEnd) {
174
+ this.props.onResizeEnd();
175
+ }
176
+ }
177
+ else if (this.props.type === UISplitterType.Toggle && event.key === 'Enter') {
178
+ this.toggleSplitter();
179
+ }
180
+ }
181
+ /**
182
+ * Method returns class names string depending on props and component state.
183
+ *
184
+ * @returns {number} Minimal size of section.
185
+ */
186
+ getClassNames() {
187
+ const { type, vertical, hidden, splitterLayoutType } = this.props;
188
+ let classNames = `splitter splitter--${type}`;
189
+ // vertical or horizontal
190
+ classNames += ` ${vertical ? 'splitter--vertical' : 'splitter--horizontal'}`;
191
+ if (hidden && type === UISplitterType.Resize) {
192
+ classNames += ' splitter--hidden';
193
+ }
194
+ classNames += ` ${splitterLayoutType === UISplitterLayoutType.Standard ? 'splitter--standard' : 'splitter--compact'}`;
195
+ return classNames;
196
+ }
197
+ /**
198
+ * @returns {React.ReactElement}
199
+ */
200
+ render() {
201
+ const { type, vertical, hidden, title, splitterLayoutType } = this.props;
202
+ const size = splitterLayoutType === UISplitterLayoutType.Standard ? this.size : this.compactSize;
203
+ const splitterOffset = type === UISplitterType.Toggle ? -size : -size / 2;
204
+ const role = type === UISplitterType.Toggle ? 'button' : 'separator';
205
+ const orientation = vertical ? 'horizontal' : 'vertical';
206
+ let ariaPressed;
207
+ if (type === UISplitterType.Toggle) {
208
+ ariaPressed = hidden ? false : true;
209
+ }
210
+ return (react_1.default.createElement("div", { ref: this.rootRef, role: role, "aria-orientation": orientation, "aria-pressed": ariaPressed, title: title, tabIndex: type === UISplitterType.Toggle ? 0 : -1, onKeyDown: this.onKeyDown.bind(this), style: {
211
+ ...(vertical && { height: size, top: splitterOffset }),
212
+ ...(!vertical && { width: size, left: splitterOffset })
213
+ }, onMouseDown: type === UISplitterType.Resize
214
+ ? (event) => this.startSplitterMove(event)
215
+ : undefined, onClick: type === UISplitterType.Toggle ? () => this.toggleSplitter() : undefined, className: this.getClassNames() },
216
+ react_1.default.createElement("div", { className: "splitter__grip" },
217
+ react_1.default.createElement(UIIcon_1.UIIcon, { iconName: this.getIcon(type, splitterLayoutType) }))));
218
+ }
219
+ }
220
+ exports.UISplitter = UISplitter;
221
221
  //# sourceMappingURL=UISplitter.js.map
@@ -1,4 +1,4 @@
1
- export * from './UISections';
2
- export * from './UISection';
3
- export * from './UISplitter';
1
+ export * from './UISections';
2
+ export * from './UISection';
3
+ export * from './UISplitter';
4
4
  //# sourceMappingURL=index.d.ts.map