@sap-ux/ui-components 1.8.2 → 1.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/components/Icons.d.ts +139 -139
  2. package/dist/components/Icons.js +582 -582
  3. package/dist/components/UIActionCallout/UIActionCallout.d.ts +61 -61
  4. package/dist/components/UIActionCallout/UIActionCallout.js +63 -63
  5. package/dist/components/UIActionCallout/UIActionCallout.scss +31 -31
  6. package/dist/components/UIActionCallout/index.d.ts +1 -1
  7. package/dist/components/UIActionCallout/index.js +17 -17
  8. package/dist/components/UIBreadcrumb/UIBreadcrumb.d.ts +23 -23
  9. package/dist/components/UIBreadcrumb/UIBreadcrumb.js +38 -38
  10. package/dist/components/UIBreadcrumb/index.d.ts +1 -1
  11. package/dist/components/UIBreadcrumb/index.js +17 -17
  12. package/dist/components/UIButton/UIActionButton.d.ts +23 -23
  13. package/dist/components/UIButton/UIActionButton.js +89 -89
  14. package/dist/components/UIButton/UIDefaultButton.d.ts +23 -23
  15. package/dist/components/UIButton/UIDefaultButton.js +229 -229
  16. package/dist/components/UIButton/UIIconButton.d.ts +37 -37
  17. package/dist/components/UIButton/UIIconButton.js +106 -106
  18. package/dist/components/UIButton/UISmallButton.d.ts +34 -34
  19. package/dist/components/UIButton/UISmallButton.js +115 -115
  20. package/dist/components/UIButton/UISplitButton.d.ts +36 -36
  21. package/dist/components/UIButton/UISplitButton.js +71 -71
  22. package/dist/components/UIButton/index.d.ts +7 -7
  23. package/dist/components/UIButton/index.js +21 -21
  24. package/dist/components/UICallout/UICallout.d.ts +37 -37
  25. package/dist/components/UICallout/UICallout.js +90 -90
  26. package/dist/components/UICallout/index.d.ts +1 -1
  27. package/dist/components/UICallout/index.js +17 -17
  28. package/dist/components/UICheckbox/UICheckbox.d.ts +34 -34
  29. package/dist/components/UICheckbox/UICheckbox.js +135 -135
  30. package/dist/components/UICheckbox/index.d.ts +1 -1
  31. package/dist/components/UICheckbox/index.js +17 -17
  32. package/dist/components/UIChoiceGroup/UIChoiceGroup.d.ts +28 -28
  33. package/dist/components/UIChoiceGroup/UIChoiceGroup.js +182 -182
  34. package/dist/components/UIChoiceGroup/index.d.ts +1 -1
  35. package/dist/components/UIChoiceGroup/index.js +17 -17
  36. package/dist/components/UIComboBox/Callout.scss +7 -7
  37. package/dist/components/UIComboBox/UIComboBox.d.ts +198 -198
  38. package/dist/components/UIComboBox/UIComboBox.js +516 -516
  39. package/dist/components/UIComboBox/UIComboBox.scss +268 -268
  40. package/dist/components/UIComboBox/_mixins.scss +32 -32
  41. package/dist/components/UIComboBox/index.d.ts +1 -1
  42. package/dist/components/UIComboBox/index.js +17 -17
  43. package/dist/components/UIContextualMenu/UIContextualMenu.d.ts +31 -31
  44. package/dist/components/UIContextualMenu/UIContextualMenu.js +123 -123
  45. package/dist/components/UIContextualMenu/UIContextualMenu.scss +211 -211
  46. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts +19 -19
  47. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js +50 -50
  48. package/dist/components/UIContextualMenu/UIHighlightMenuOption.scss +23 -23
  49. package/dist/components/UIContextualMenu/_variables.scss +30 -30
  50. package/dist/components/UIContextualMenu/index.d.ts +2 -2
  51. package/dist/components/UIContextualMenu/index.js +18 -18
  52. package/dist/components/UIDatePicker/UIDatePicker.d.ts +49 -49
  53. package/dist/components/UIDatePicker/UIDatePicker.js +72 -72
  54. package/dist/components/UIDatePicker/UIDatePicker.scss +38 -38
  55. package/dist/components/UIDatePicker/index.d.ts +1 -1
  56. package/dist/components/UIDatePicker/index.js +17 -17
  57. package/dist/components/UIDialog/UIDialog.d.ts +116 -116
  58. package/dist/components/UIDialog/UIDialog.js +279 -279
  59. package/dist/components/UIDialog/index.d.ts +1 -1
  60. package/dist/components/UIDialog/index.js +17 -17
  61. package/dist/components/UIDropdown/UIDropdown.d.ts +90 -90
  62. package/dist/components/UIDropdown/UIDropdown.js +216 -216
  63. package/dist/components/UIDropdown/UIDropdown.scss +115 -115
  64. package/dist/components/UIDropdown/index.d.ts +2 -2
  65. package/dist/components/UIDropdown/index.js +18 -18
  66. package/dist/components/UIDropdown/utils.d.ts +8 -8
  67. package/dist/components/UIDropdown/utils.js +20 -20
  68. package/dist/components/UIFlexibleTable/RowActions.d.ts +16 -16
  69. package/dist/components/UIFlexibleTable/RowActions.js +73 -73
  70. package/dist/components/UIFlexibleTable/RowData.d.ts +16 -16
  71. package/dist/components/UIFlexibleTable/RowData.js +111 -111
  72. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts +11 -11
  73. package/dist/components/UIFlexibleTable/UIFlexibleTable.js +280 -280
  74. package/dist/components/UIFlexibleTable/UIFlexibleTable.scss +433 -433
  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 +165 -165
  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 +142 -142
  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/UIIcon.scss +3 -3
  98. package/dist/components/UIIcon/index.d.ts +1 -1
  99. package/dist/components/UIIcon/index.js +17 -17
  100. package/dist/components/UIInput/UITextInput.d.ts +48 -48
  101. package/dist/components/UIInput/UITextInput.js +238 -238
  102. package/dist/components/UIInput/index.d.ts +1 -1
  103. package/dist/components/UIInput/index.js +17 -17
  104. package/dist/components/UILabel/UILabel.d.ts +30 -30
  105. package/dist/components/UILabel/UILabel.js +64 -64
  106. package/dist/components/UILabel/index.d.ts +1 -1
  107. package/dist/components/UILabel/index.js +17 -17
  108. package/dist/components/UILink/UILink.d.ts +25 -25
  109. package/dist/components/UILink/UILink.js +71 -71
  110. package/dist/components/UILink/index.d.ts +1 -1
  111. package/dist/components/UILink/index.js +17 -17
  112. package/dist/components/UIList/UIList.d.ts +31 -31
  113. package/dist/components/UIList/UIList.js +120 -120
  114. package/dist/components/UIList/UIList.scss +16 -16
  115. package/dist/components/UIList/index.d.ts +1 -1
  116. package/dist/components/UIList/index.js +17 -17
  117. package/dist/components/UILoader/UILoader.d.ts +27 -27
  118. package/dist/components/UILoader/UILoader.js +78 -78
  119. package/dist/components/UILoader/UILoader.scss +32 -32
  120. package/dist/components/UILoader/index.d.ts +1 -1
  121. package/dist/components/UILoader/index.js +17 -17
  122. package/dist/components/UIMessageBar/UIMessageBar.d.ts +25 -25
  123. package/dist/components/UIMessageBar/UIMessageBar.js +56 -56
  124. package/dist/components/UIMessageBar/index.d.ts +1 -1
  125. package/dist/components/UIMessageBar/index.js +17 -17
  126. package/dist/components/UIModal/UIModal.d.ts +23 -23
  127. package/dist/components/UIModal/UIModal.js +43 -43
  128. package/dist/components/UIModal/index.d.ts +1 -1
  129. package/dist/components/UIModal/index.js +17 -17
  130. package/dist/components/UIOverlay/UIOverlay.d.ts +22 -22
  131. package/dist/components/UIOverlay/UIOverlay.js +38 -38
  132. package/dist/components/UIOverlay/index.d.ts +1 -1
  133. package/dist/components/UIOverlay/index.js +17 -17
  134. package/dist/components/UIPersona/UIPersona.d.ts +27 -27
  135. package/dist/components/UIPersona/UIPersona.js +48 -48
  136. package/dist/components/UIPersona/index.d.ts +1 -1
  137. package/dist/components/UIPersona/index.js +17 -17
  138. package/dist/components/UISearchBox/UISearchBox.d.ts +22 -22
  139. package/dist/components/UISearchBox/UISearchBox.js +153 -153
  140. package/dist/components/UISearchBox/index.d.ts +3 -3
  141. package/dist/components/UISearchBox/index.js +17 -17
  142. package/dist/components/UISection/UISection.d.ts +34 -34
  143. package/dist/components/UISection/UISection.js +44 -44
  144. package/dist/components/UISection/UISection.scss +76 -76
  145. package/dist/components/UISection/UISections.d.ts +249 -249
  146. package/dist/components/UISection/UISections.js +707 -707
  147. package/dist/components/UISection/UISections.scss +62 -62
  148. package/dist/components/UISection/UISplitter.d.ts +96 -96
  149. package/dist/components/UISection/UISplitter.js +220 -220
  150. package/dist/components/UISection/UISplitter.scss +212 -212
  151. package/dist/components/UISection/_mixins.scss +14 -14
  152. package/dist/components/UISection/_variables.scss +1 -1
  153. package/dist/components/UISection/index.d.ts +3 -3
  154. package/dist/components/UISection/index.js +19 -19
  155. package/dist/components/UISeparator/UISeparator.d.ts +25 -25
  156. package/dist/components/UISeparator/UISeparator.js +65 -65
  157. package/dist/components/UISeparator/index.d.ts +1 -1
  158. package/dist/components/UISeparator/index.js +17 -17
  159. package/dist/components/UITable/UITable-helper.d.ts +79 -79
  160. package/dist/components/UITable/UITable-helper.js +259 -259
  161. package/dist/components/UITable/UITable.d.ts +212 -212
  162. package/dist/components/UITable/UITable.js +775 -775
  163. package/dist/components/UITable/UITable.scss +194 -194
  164. package/dist/components/UITable/index.d.ts +2 -2
  165. package/dist/components/UITable/index.js +18 -18
  166. package/dist/components/UITable/types.d.ts +77 -77
  167. package/dist/components/UITable/types.js +28 -28
  168. package/dist/components/UITabs/UITabs.d.ts +28 -28
  169. package/dist/components/UITabs/UITabs.js +70 -70
  170. package/dist/components/UITabs/index.d.ts +1 -1
  171. package/dist/components/UITabs/index.js +17 -17
  172. package/dist/components/UIToggle/UIToggle.d.ts +39 -39
  173. package/dist/components/UIToggle/UIToggle.js +181 -181
  174. package/dist/components/UIToggle/index.d.ts +1 -1
  175. package/dist/components/UIToggle/index.js +17 -17
  176. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts +31 -31
  177. package/dist/components/UIToggleGroup/UIToggleGroup.js +136 -136
  178. package/dist/components/UIToggleGroup/UIToggleGroup.scss +13 -13
  179. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts +22 -22
  180. package/dist/components/UIToggleGroup/UIToggleGroup.types.js +2 -2
  181. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts +25 -25
  182. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js +77 -77
  183. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.scss +74 -74
  184. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts +10 -10
  185. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js +2 -2
  186. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts +2 -2
  187. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js +18 -18
  188. package/dist/components/UIToggleGroup/index.d.ts +2 -2
  189. package/dist/components/UIToggleGroup/index.js +18 -18
  190. package/dist/components/UIToolbar/UIToolbar.d.ts +36 -36
  191. package/dist/components/UIToolbar/UIToolbar.js +104 -104
  192. package/dist/components/UIToolbar/UIToolbar.scss +48 -48
  193. package/dist/components/UIToolbar/UIToolbarColumn.d.ts +7 -7
  194. package/dist/components/UIToolbar/UIToolbarColumn.js +33 -33
  195. package/dist/components/UIToolbar/UIToolbarDivider.d.ts +27 -27
  196. package/dist/components/UIToolbar/UIToolbarDivider.js +56 -56
  197. package/dist/components/UIToolbar/index.d.ts +3 -3
  198. package/dist/components/UIToolbar/index.js +19 -19
  199. package/dist/components/UITooltip/UITooltip.d.ts +29 -29
  200. package/dist/components/UITooltip/UITooltip.js +77 -77
  201. package/dist/components/UITooltip/UITooltipUtils.d.ts +17 -17
  202. package/dist/components/UITooltip/UITooltipUtils.js +45 -45
  203. package/dist/components/UITooltip/index.d.ts +2 -2
  204. package/dist/components/UITooltip/index.js +18 -18
  205. package/dist/components/UITranslationInput/UIFormattedText.d.ts +46 -46
  206. package/dist/components/UITranslationInput/UIFormattedText.js +121 -121
  207. package/dist/components/UITranslationInput/UILoadButton.d.ts +52 -52
  208. package/dist/components/UITranslationInput/UILoadButton.js +109 -109
  209. package/dist/components/UITranslationInput/UILoadButton.scss +14 -14
  210. package/dist/components/UITranslationInput/UITranslationButton.d.ts +14 -14
  211. package/dist/components/UITranslationInput/UITranslationButton.js +88 -88
  212. package/dist/components/UITranslationInput/UITranslationButton.types.d.ts +67 -67
  213. package/dist/components/UITranslationInput/UITranslationButton.types.js +21 -21
  214. package/dist/components/UITranslationInput/UITranslationInput.d.ts +25 -25
  215. package/dist/components/UITranslationInput/UITranslationInput.js +169 -169
  216. package/dist/components/UITranslationInput/UITranslationInput.scss +40 -40
  217. package/dist/components/UITranslationInput/UITranslationUtils.d.ts +64 -64
  218. package/dist/components/UITranslationInput/UITranslationUtils.js +168 -168
  219. package/dist/components/UITranslationInput/defaults.d.ts +2 -2
  220. package/dist/components/UITranslationInput/defaults.js +15 -15
  221. package/dist/components/UITranslationInput/index.d.ts +2 -2
  222. package/dist/components/UITranslationInput/index.js +18 -18
  223. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts +265 -265
  224. package/dist/components/UITreeDropdown/UITreeDropdown.js +661 -661
  225. package/dist/components/UITreeDropdown/UITreeDropdown.scss +64 -64
  226. package/dist/components/UITreeDropdown/index.d.ts +1 -1
  227. package/dist/components/UITreeDropdown/index.js +17 -17
  228. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts +23 -23
  229. package/dist/components/UIVerticalDivider/UIVerticalDivider.js +41 -41
  230. package/dist/components/UIVerticalDivider/index.d.ts +1 -1
  231. package/dist/components/UIVerticalDivider/index.js +17 -17
  232. package/dist/components/UIVirtualList/UIAutoSizer.d.ts +22 -22
  233. package/dist/components/UIVirtualList/UIAutoSizer.js +33 -33
  234. package/dist/components/UIVirtualList/UICellMeasurer.d.ts +23 -23
  235. package/dist/components/UIVirtualList/UICellMeasurer.js +33 -33
  236. package/dist/components/UIVirtualList/UIVirtualList.d.ts +43 -43
  237. package/dist/components/UIVirtualList/UIVirtualList.js +70 -70
  238. package/dist/components/UIVirtualList/index.d.ts +3 -3
  239. package/dist/components/UIVirtualList/index.js +19 -19
  240. package/dist/components/index.d.ts +37 -37
  241. package/dist/components/index.js +53 -53
  242. package/dist/helper/ValidationMessage/MessageWrapper.d.ts +17 -17
  243. package/dist/helper/ValidationMessage/MessageWrapper.js +34 -34
  244. package/dist/helper/ValidationMessage/MessageWrapper.scss +44 -44
  245. package/dist/helper/ValidationMessage/index.d.ts +2 -2
  246. package/dist/helper/ValidationMessage/index.js +18 -18
  247. package/dist/helper/ValidationMessage/utils.d.ts +31 -31
  248. package/dist/helper/ValidationMessage/utils.js +121 -121
  249. package/dist/index.d.ts +2 -2
  250. package/dist/index.js +18 -18
  251. package/dist/styles/_mixins.scss +15 -15
  252. package/dist/styles/_typography.scss +72 -72
  253. package/dist/styles/_variables.scss +26 -26
  254. package/dist/styles/ui-components.scss +3 -3
  255. package/dist/utilities/DeepMerge.d.ts +10 -10
  256. package/dist/utilities/DeepMerge.js +48 -48
  257. package/dist/utilities/Focus.d.ts +4 -4
  258. package/dist/utilities/Focus.js +7 -7
  259. package/dist/utilities/Id.d.ts +2 -2
  260. package/dist/utilities/Id.js +5 -5
  261. package/dist/utilities/Keys.d.ts +2 -2
  262. package/dist/utilities/Keys.js +5 -5
  263. package/dist/utilities/index.d.ts +3 -3
  264. package/dist/utilities/index.js +19 -19
  265. package/package.json +11 -12
  266. package/storybook/183.d7ada8f4159c95c30527.manager.bundle.js +891 -0
  267. package/storybook/260.1c2260a4.iframe.bundle.js +292 -0
  268. package/storybook/275.02c0af0f1d3b6c70e72d.manager.bundle.js +10 -0
  269. package/storybook/453.6e0cb2b5c2ede7af85c5.manager.bundle.js +2 -0
  270. package/storybook/{458.a8cb7c68775e3858b342.manager.bundle.js → 458.05b97cebc6fa3809e87a.manager.bundle.js} +113 -113
  271. package/storybook/{594.4816ff3f4edb5b8b0949.manager.bundle.js → 594.4d8bf523158b8a4a1ca9.manager.bundle.js} +1 -1
  272. package/storybook/{637.173c8d06.iframe.bundle.js → 637.149b545a.iframe.bundle.js} +1 -1
  273. package/storybook/{966.bc8dd3d7eec539544b33.manager.bundle.js → 966.7154988e86ea89b1942c.manager.bundle.js} +3 -3
  274. package/storybook/{987.81102a5d201c9f5a1528.manager.bundle.js → 987.7aa55d838ce2874baae8.manager.bundle.js} +3 -3
  275. package/storybook/iframe.html +17 -17
  276. package/storybook/index.html +119 -119
  277. package/storybook/{main.4bf0e1ff.iframe.bundle.js → main.2c43a09d.iframe.bundle.js} +6 -6
  278. package/storybook/{main.73db1398c1704e93ba73.manager.bundle.js → main.bbce46728b43f51e7d37.manager.bundle.js} +1 -1
  279. package/storybook/project.json +1 -1
  280. package/storybook/{runtime~main.769376b3.iframe.bundle.js → runtime~main.a1df0937.iframe.bundle.js} +1 -1
  281. package/storybook/runtime~main.e938cbae9eda438313f6.manager.bundle.js +2 -0
  282. package/storybook/275.a8ff63b0ed4a5d620142.manager.bundle.js +0 -10
  283. package/storybook/453.af4e8cc44257a27c435f.manager.bundle.js +0 -2
  284. package/storybook/713.ec72f301.iframe.bundle.js +0 -292
  285. package/storybook/756.edf22bba3c06d7815c54.manager.bundle.js +0 -891
  286. package/storybook/runtime~main.eabd5638d9f3e40b3501.manager.bundle.js +0 -2
@@ -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