@sap-ux/ui-components 1.14.0 → 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 (253) 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 -208
  40. package/dist/components/UIComboBox/UIComboBox.js +563 -563
  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 +126 -126
  45. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts +19 -19
  46. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js +50 -50
  47. package/dist/components/UIContextualMenu/index.d.ts +2 -2
  48. package/dist/components/UIContextualMenu/index.js +18 -18
  49. package/dist/components/UICreateSelect/UICreateSelect.d.ts +36 -36
  50. package/dist/components/UICreateSelect/UICreateSelect.js +172 -172
  51. package/dist/components/UICreateSelect/index.d.ts +1 -1
  52. package/dist/components/UICreateSelect/index.js +17 -17
  53. package/dist/components/UIDatePicker/UIDatePicker.d.ts +49 -49
  54. package/dist/components/UIDatePicker/UIDatePicker.js +72 -72
  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 +118 -118
  58. package/dist/components/UIDialog/UIDialog.js +281 -281
  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 +94 -94
  62. package/dist/components/UIDropdown/UIDropdown.js +224 -224
  63. package/dist/components/UIDropdown/index.d.ts +2 -2
  64. package/dist/components/UIDropdown/index.js +18 -18
  65. package/dist/components/UIDropdown/utils.d.ts +20 -20
  66. package/dist/components/UIDropdown/utils.js +43 -43
  67. package/dist/components/UIFlexibleTable/RowActions.d.ts +16 -16
  68. package/dist/components/UIFlexibleTable/RowActions.js +73 -73
  69. package/dist/components/UIFlexibleTable/RowData.d.ts +16 -16
  70. package/dist/components/UIFlexibleTable/RowData.js +111 -111
  71. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts +11 -11
  72. package/dist/components/UIFlexibleTable/UIFlexibleTable.js +280 -280
  73. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.d.ts +20 -20
  74. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.js +20 -20
  75. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.d.ts +26 -26
  76. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.js +219 -219
  77. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.d.ts +20 -20
  78. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.js +19 -19
  79. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.d.ts +15 -15
  80. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.js +28 -28
  81. package/dist/components/UIFlexibleTable/index.d.ts +5 -5
  82. package/dist/components/UIFlexibleTable/index.js +21 -21
  83. package/dist/components/UIFlexibleTable/types.d.ts +143 -143
  84. package/dist/components/UIFlexibleTable/types.js +14 -14
  85. package/dist/components/UIFlexibleTable/utils.d.ts +25 -25
  86. package/dist/components/UIFlexibleTable/utils.js +49 -49
  87. package/dist/components/UIFocusZone/UIFocusTrapZone.d.ts +22 -22
  88. package/dist/components/UIFocusZone/UIFocusTrapZone.js +33 -33
  89. package/dist/components/UIFocusZone/UIFocusZone.d.ts +23 -23
  90. package/dist/components/UIFocusZone/UIFocusZone.js +35 -35
  91. package/dist/components/UIFocusZone/index.d.ts +2 -2
  92. package/dist/components/UIFocusZone/index.js +18 -18
  93. package/dist/components/UIIcon/UIIcon.d.ts +24 -24
  94. package/dist/components/UIIcon/UIIcon.js +37 -37
  95. package/dist/components/UIIcon/index.d.ts +1 -1
  96. package/dist/components/UIIcon/index.js +17 -17
  97. package/dist/components/UIInput/UITextInput.d.ts +51 -51
  98. package/dist/components/UIInput/UITextInput.js +244 -244
  99. package/dist/components/UIInput/index.d.ts +1 -1
  100. package/dist/components/UIInput/index.js +17 -17
  101. package/dist/components/UILabel/UILabel.d.ts +30 -30
  102. package/dist/components/UILabel/UILabel.js +64 -64
  103. package/dist/components/UILabel/index.d.ts +1 -1
  104. package/dist/components/UILabel/index.js +17 -17
  105. package/dist/components/UILink/UILink.d.ts +25 -25
  106. package/dist/components/UILink/UILink.js +71 -71
  107. package/dist/components/UILink/index.d.ts +1 -1
  108. package/dist/components/UILink/index.js +17 -17
  109. package/dist/components/UIList/UIList.d.ts +31 -31
  110. package/dist/components/UIList/UIList.js +120 -120
  111. package/dist/components/UIList/index.d.ts +1 -1
  112. package/dist/components/UIList/index.js +17 -17
  113. package/dist/components/UILoader/UILoader.d.ts +27 -27
  114. package/dist/components/UILoader/UILoader.js +78 -78
  115. package/dist/components/UILoader/index.d.ts +1 -1
  116. package/dist/components/UILoader/index.js +17 -17
  117. package/dist/components/UIMessageBar/UIMessageBar.d.ts +25 -25
  118. package/dist/components/UIMessageBar/UIMessageBar.js +56 -56
  119. package/dist/components/UIMessageBar/index.d.ts +1 -1
  120. package/dist/components/UIMessageBar/index.js +17 -17
  121. package/dist/components/UIModal/UIModal.d.ts +23 -23
  122. package/dist/components/UIModal/UIModal.js +43 -43
  123. package/dist/components/UIModal/index.d.ts +1 -1
  124. package/dist/components/UIModal/index.js +17 -17
  125. package/dist/components/UIOverlay/UIOverlay.d.ts +22 -22
  126. package/dist/components/UIOverlay/UIOverlay.js +38 -38
  127. package/dist/components/UIOverlay/index.d.ts +1 -1
  128. package/dist/components/UIOverlay/index.js +17 -17
  129. package/dist/components/UIPersona/UIPersona.d.ts +27 -27
  130. package/dist/components/UIPersona/UIPersona.js +48 -48
  131. package/dist/components/UIPersona/index.d.ts +1 -1
  132. package/dist/components/UIPersona/index.js +17 -17
  133. package/dist/components/UISearchBox/UISearchBox.d.ts +22 -22
  134. package/dist/components/UISearchBox/UISearchBox.js +155 -155
  135. package/dist/components/UISearchBox/index.d.ts +3 -3
  136. package/dist/components/UISearchBox/index.js +17 -17
  137. package/dist/components/UISection/UISection.d.ts +34 -34
  138. package/dist/components/UISection/UISection.js +44 -44
  139. package/dist/components/UISection/UISections.d.ts +249 -249
  140. package/dist/components/UISection/UISections.js +707 -707
  141. package/dist/components/UISection/UISplitter.d.ts +96 -96
  142. package/dist/components/UISection/UISplitter.js +220 -220
  143. package/dist/components/UISection/index.d.ts +3 -3
  144. package/dist/components/UISection/index.js +19 -19
  145. package/dist/components/UISeparator/UISeparator.d.ts +25 -25
  146. package/dist/components/UISeparator/UISeparator.js +65 -65
  147. package/dist/components/UISeparator/index.d.ts +1 -1
  148. package/dist/components/UISeparator/index.js +17 -17
  149. package/dist/components/UITable/UITable-helper.d.ts +88 -88
  150. package/dist/components/UITable/UITable-helper.js +263 -263
  151. package/dist/components/UITable/UITable.d.ts +213 -213
  152. package/dist/components/UITable/UITable.js +779 -779
  153. package/dist/components/UITable/index.d.ts +2 -2
  154. package/dist/components/UITable/index.js +18 -18
  155. package/dist/components/UITable/types.d.ts +77 -77
  156. package/dist/components/UITable/types.js +28 -28
  157. package/dist/components/UITabs/UITabs.d.ts +28 -28
  158. package/dist/components/UITabs/UITabs.js +70 -70
  159. package/dist/components/UITabs/index.d.ts +1 -1
  160. package/dist/components/UITabs/index.js +17 -17
  161. package/dist/components/UIToggle/UIToggle.d.ts +39 -39
  162. package/dist/components/UIToggle/UIToggle.js +181 -181
  163. package/dist/components/UIToggle/index.d.ts +1 -1
  164. package/dist/components/UIToggle/index.js +17 -17
  165. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts +31 -31
  166. package/dist/components/UIToggleGroup/UIToggleGroup.js +139 -139
  167. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts +22 -22
  168. package/dist/components/UIToggleGroup/UIToggleGroup.types.js +2 -2
  169. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts +25 -25
  170. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js +77 -77
  171. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts +10 -10
  172. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js +2 -2
  173. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts +2 -2
  174. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js +18 -18
  175. package/dist/components/UIToggleGroup/index.d.ts +2 -2
  176. package/dist/components/UIToggleGroup/index.js +18 -18
  177. package/dist/components/UIToolbar/UIToolbar.d.ts +36 -36
  178. package/dist/components/UIToolbar/UIToolbar.js +104 -104
  179. package/dist/components/UIToolbar/UIToolbarColumn.d.ts +7 -7
  180. package/dist/components/UIToolbar/UIToolbarColumn.js +33 -33
  181. package/dist/components/UIToolbar/UIToolbarDivider.d.ts +27 -27
  182. package/dist/components/UIToolbar/UIToolbarDivider.js +52 -52
  183. package/dist/components/UIToolbar/index.d.ts +3 -3
  184. package/dist/components/UIToolbar/index.js +19 -19
  185. package/dist/components/UITooltip/UITooltip.d.ts +29 -29
  186. package/dist/components/UITooltip/UITooltip.js +77 -77
  187. package/dist/components/UITooltip/UITooltipUtils.d.ts +17 -17
  188. package/dist/components/UITooltip/UITooltipUtils.js +45 -45
  189. package/dist/components/UITooltip/index.d.ts +2 -2
  190. package/dist/components/UITooltip/index.js +18 -18
  191. package/dist/components/UITranslationInput/UIFormattedText.d.ts +46 -46
  192. package/dist/components/UITranslationInput/UIFormattedText.js +121 -121
  193. package/dist/components/UITranslationInput/UILoadButton.d.ts +52 -52
  194. package/dist/components/UITranslationInput/UILoadButton.js +109 -109
  195. package/dist/components/UITranslationInput/UITranslationButton.d.ts +14 -14
  196. package/dist/components/UITranslationInput/UITranslationButton.js +88 -88
  197. package/dist/components/UITranslationInput/UITranslationButton.types.d.ts +67 -67
  198. package/dist/components/UITranslationInput/UITranslationButton.types.js +21 -21
  199. package/dist/components/UITranslationInput/UITranslationInput.d.ts +25 -25
  200. package/dist/components/UITranslationInput/UITranslationInput.js +169 -169
  201. package/dist/components/UITranslationInput/UITranslationUtils.d.ts +64 -64
  202. package/dist/components/UITranslationInput/UITranslationUtils.js +168 -168
  203. package/dist/components/UITranslationInput/defaults.d.ts +2 -2
  204. package/dist/components/UITranslationInput/defaults.js +15 -15
  205. package/dist/components/UITranslationInput/index.d.ts +2 -2
  206. package/dist/components/UITranslationInput/index.js +18 -18
  207. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts +265 -265
  208. package/dist/components/UITreeDropdown/UITreeDropdown.js +660 -660
  209. package/dist/components/UITreeDropdown/index.d.ts +1 -1
  210. package/dist/components/UITreeDropdown/index.js +17 -17
  211. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts +23 -23
  212. package/dist/components/UIVerticalDivider/UIVerticalDivider.js +41 -41
  213. package/dist/components/UIVerticalDivider/index.d.ts +1 -1
  214. package/dist/components/UIVerticalDivider/index.js +17 -17
  215. package/dist/components/UIVirtualList/UIAutoSizer.d.ts +22 -22
  216. package/dist/components/UIVirtualList/UIAutoSizer.js +33 -33
  217. package/dist/components/UIVirtualList/UICellMeasurer.d.ts +23 -23
  218. package/dist/components/UIVirtualList/UICellMeasurer.js +33 -33
  219. package/dist/components/UIVirtualList/UIVirtualList.d.ts +43 -43
  220. package/dist/components/UIVirtualList/UIVirtualList.js +70 -70
  221. package/dist/components/UIVirtualList/index.d.ts +3 -3
  222. package/dist/components/UIVirtualList/index.js +19 -19
  223. package/dist/components/index.d.ts +38 -38
  224. package/dist/components/index.js +54 -54
  225. package/dist/helper/ValidationMessage/MessageWrapper.d.ts +17 -17
  226. package/dist/helper/ValidationMessage/MessageWrapper.js +34 -34
  227. package/dist/helper/ValidationMessage/index.d.ts +2 -2
  228. package/dist/helper/ValidationMessage/index.js +18 -18
  229. package/dist/helper/ValidationMessage/utils.d.ts +31 -31
  230. package/dist/helper/ValidationMessage/utils.js +121 -121
  231. package/dist/index.d.ts +2 -2
  232. package/dist/index.js +18 -18
  233. package/dist/utilities/DeepMerge.d.ts +10 -10
  234. package/dist/utilities/DeepMerge.js +48 -48
  235. package/dist/utilities/Dom.d.ts +14 -14
  236. package/dist/utilities/Dom.js +23 -23
  237. package/dist/utilities/Focus.d.ts +14 -14
  238. package/dist/utilities/Focus.js +34 -34
  239. package/dist/utilities/Id.d.ts +2 -2
  240. package/dist/utilities/Id.js +5 -5
  241. package/dist/utilities/Keys.d.ts +2 -2
  242. package/dist/utilities/Keys.js +5 -5
  243. package/dist/utilities/index.d.ts +4 -4
  244. package/dist/utilities/index.js +20 -20
  245. package/package.json +1 -1
  246. package/storybook/494.d8aaa4d7.iframe.bundle.js +1 -0
  247. package/storybook/{930.1b3c5615.iframe.bundle.js → 930.3177b0dc.iframe.bundle.js} +2 -2
  248. package/storybook/iframe.html +3 -3
  249. package/storybook/main.5f68bcca.iframe.bundle.js +1 -0
  250. package/storybook/project.json +1 -1
  251. package/storybook/{runtime~main.f52a1710.iframe.bundle.js → runtime~main.a213c0ae.iframe.bundle.js} +1 -1
  252. package/storybook/494.b98920dd.iframe.bundle.js +0 -1
  253. package/storybook/main.4ed99289.iframe.bundle.js +0 -1
@@ -1,282 +1,282 @@
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.UIDialog = exports.UIDialogScrollArea = exports.DIALOG_STYLES = exports.DIALOG_MAX_HEIGHT_OFFSET = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const react_2 = require("@fluentui/react");
9
- const UIButton_1 = require("../UIButton");
10
- const DeepMerge_1 = require("../../utilities/DeepMerge");
11
- require("../../styles/_shadows.scss");
12
- exports.DIALOG_MAX_HEIGHT_OFFSET = 32;
13
- exports.DIALOG_STYLES = {
14
- background: 'var(--vscode-editorWidget-background)',
15
- boxShadow: 'var(--ui-box-shadow-medium)',
16
- borderColor: 'var(--vscode-editorWidget-border)',
17
- borderRadius: 4,
18
- vPadding: 20,
19
- vPaddingHalf: 10,
20
- hPadding: 45,
21
- title: {
22
- color: 'var(--vscode-panelTitle-activeForeground)'
23
- },
24
- contentText: {
25
- fontSize: 13,
26
- color: 'var(--vscode-foreground)',
27
- fontFamily: 'var(--vscode-font-family)'
28
- }
29
- };
30
- var UIDialogScrollArea;
31
- (function (UIDialogScrollArea) {
32
- // Header and footer freezed and content is scrollable
33
- UIDialogScrollArea["Content"] = "Content";
34
- // Whole dialog is scrollable - default FluentUI behaviour, but it is buggy with large content
35
- UIDialogScrollArea["Dialog"] = "Dialog";
36
- })(UIDialogScrollArea = exports.UIDialogScrollArea || (exports.UIDialogScrollArea = {}));
37
- /**
38
- * UIDialog component.
39
- * based on https://developer.microsoft.com/en-us/fluentui#/controls/web/dialog
40
- * and https://app.abstract.com/projects/42046ab5-889d-4a59-88e6-1089e98cba67/branches/master/commits/f1fcd77447bb2b32aab3498311c1c39517e47e49/files/1455D538-559B-48EF-8D9F-1C2884ED540B/layers/AFDAAFD3-BFA6-4E96-BB6D-057DD13753E5
41
- *
42
- * @exports
43
- * @class UIDialog
44
- * @extends {React.Component<IDialogProps, {}>}
45
- */
46
- class UIDialog extends react_1.default.Component {
47
- /**
48
- * Initializes component properties.
49
- *
50
- * @param {DialogProps} props
51
- */
52
- constructor(props) {
53
- super(props);
54
- this.onResize = this.onResize.bind(this);
55
- this.onModalLayerMount = this.onModalLayerMount.bind(this);
56
- this.onModalLayerUnmount = this.onModalLayerUnmount.bind(this);
57
- this.attachResize = this.attachResize.bind(this);
58
- this.detachResize = this.detachResize.bind(this);
59
- this.onHeaderMouseDown = this.onHeaderMouseDown.bind(this);
60
- this.state = {
61
- resizeMaxHeight: this.getResizeMaxHeight(),
62
- isMounted: false
63
- };
64
- }
65
- /**
66
- * Called when component is rerendered.
67
- *
68
- * @param {Readonly<DialogProps>} prevProps
69
- */
70
- componentDidUpdate(prevProps) {
71
- const { scrollArea } = this.props;
72
- if (prevProps.scrollArea !== scrollArea) {
73
- if (scrollArea === UIDialogScrollArea.Content) {
74
- this.attachResize();
75
- }
76
- else {
77
- this.detachResize();
78
- }
79
- }
80
- }
81
- /**
82
- * Method handles modal dialog mount event.
83
- */
84
- onModalLayerMount() {
85
- this.attachResize();
86
- this.setState({
87
- isMounted: true
88
- });
89
- }
90
- /**
91
- * Method handles modal dialog unmount event.
92
- */
93
- onModalLayerUnmount() {
94
- this.detachResize();
95
- this.setState({
96
- isMounted: false
97
- });
98
- }
99
- /**
100
- * Method attaches to window resize event.
101
- */
102
- attachResize() {
103
- // Window resize handled
104
- window.addEventListener('resize', this.onResize);
105
- this.onResize();
106
- }
107
- /**
108
- * Method detaches from window resize event.
109
- */
110
- detachResize() {
111
- window.removeEventListener('resize', this.onResize);
112
- }
113
- /**
114
- * Method handles window resizer event to update calculation for content scrollarea size.
115
- */
116
- onResize() {
117
- this.setState({
118
- resizeMaxHeight: this.getResizeMaxHeight()
119
- });
120
- }
121
- /**
122
- * Method returns maximal height for dialog content "scrollArea=Content" mode.
123
- *
124
- * @returns {number} Max size of dialog.
125
- */
126
- getResizeMaxHeight() {
127
- return window.innerHeight - exports.DIALOG_MAX_HEIGHT_OFFSET;
128
- }
129
- /**
130
- * Method returns footer element depending in component props.
131
- * Three states.
132
- * 1. Accept/Decline buttons.
133
- * 2. Custom content of footer.
134
- * 3. No footer.
135
- *
136
- * @returns {JSX.Element | null} Footer element to render.
137
- */
138
- getFooter() {
139
- let element;
140
- const { acceptButtonText, cancelButtonText, onAccept, onCancel, acceptButtonId, cancelButtonId, footer } = this.props;
141
- const dialogFooterProps = {
142
- styles: {
143
- actionsRight: {
144
- width: '100%',
145
- textAlign: 'center',
146
- margin: '0px'
147
- },
148
- actions: {
149
- margin: `${exports.DIALOG_STYLES.vPaddingHalf}px 0 ${exports.DIALOG_STYLES.vPadding}px`,
150
- lineHeight: 'auto'
151
- },
152
- action: {
153
- margin: '0px 5px'
154
- }
155
- }
156
- };
157
- if (footer) {
158
- element = react_1.default.createElement(react_2.DialogFooter, { ...dialogFooterProps }, footer);
159
- }
160
- else if (onAccept || onCancel) {
161
- element = (react_1.default.createElement(react_2.DialogFooter, { ...dialogFooterProps },
162
- onAccept ? (react_1.default.createElement(UIButton_1.UIDefaultButton, { onClick: onAccept, primary: true, style: { height: '26px' }, id: acceptButtonId }, acceptButtonText)) : (''),
163
- onCancel ? (react_1.default.createElement(UIButton_1.UIDefaultButton, { onClick: onCancel, style: { height: '26px' }, id: cancelButtonId }, cancelButtonText)) : ('')));
164
- }
165
- return element;
166
- }
167
- /**
168
- * Method handles mousedown event for dialog header area.
169
- * Method added to handle scenario when we open dropdown menu and move dialog.
170
- * Code in method sets focus to focuszone's placeholder - it triggers close for opened dropdown menu.
171
- *
172
- * @param {React.MouseEvent} event Mousedown event
173
- */
174
- onHeaderMouseDown(event) {
175
- if (!this.props.modalProps?.dragOptions) {
176
- // No need to handle non draggable
177
- return;
178
- }
179
- const dialogFocusZone = event.target.closest('.ms-Dialog-main');
180
- if (dialogFocusZone && dialogFocusZone.firstChild) {
181
- const focusPlaceholder = dialogFocusZone.firstChild;
182
- focusPlaceholder.focus();
183
- }
184
- }
185
- /**
186
- * @returns {JSX.Element}
187
- */
188
- render() {
189
- const { acceptButtonText, cancelButtonText, onAccept, onCancel, acceptButtonId, cancelButtonId, footer, closeButtonVisible, multiLineTitle, scrollArea = UIDialogScrollArea.Content, children, ...rest } = this.props;
190
- const dialogProps = {
191
- minWidth: '460px',
192
- modalProps: {
193
- layerProps: {
194
- onLayerDidMount: this.onModalLayerMount,
195
- onLayerWillUnmount: this.onModalLayerUnmount
196
- }
197
- },
198
- styles: {
199
- root: {
200
- opacity: !this.props.isOpenAnimated || this.state.isMounted ? undefined : 0
201
- },
202
- main: {
203
- backgroundColor: exports.DIALOG_STYLES.background,
204
- border: `1px solid ${exports.DIALOG_STYLES.borderColor}`,
205
- boxShadow: exports.DIALOG_STYLES.boxShadow,
206
- borderRadius: exports.DIALOG_STYLES.borderRadius,
207
- minHeight: 100,
208
- ...(scrollArea === UIDialogScrollArea.Content && {
209
- overflow: 'hidden',
210
- '.ms-Modal-scrollableContent': {
211
- overflow: 'hidden',
212
- height: '100%'
213
- }
214
- })
215
- }
216
- },
217
- dialogContentProps: {
218
- title: this.props.title,
219
- titleProps: {
220
- className: 'ui-medium-header',
221
- style: {
222
- padding: `${exports.DIALOG_STYLES.vPadding}px 0 5px`,
223
- textAlign: 'center',
224
- color: exports.DIALOG_STYLES.title.color,
225
- ...(!multiLineTitle && {
226
- whiteSpace: 'nowrap',
227
- overflow: 'hidden',
228
- textOverflow: 'ellipsis',
229
- padding: `${exports.DIALOG_STYLES.vPadding}px ${exports.DIALOG_STYLES.hPadding}px 5px`
230
- })
231
- },
232
- onMouseDown: this.onHeaderMouseDown
233
- },
234
- styles: {
235
- button: {
236
- display: !closeButtonVisible ? 'none' : undefined
237
- },
238
- inner: {
239
- padding: '0',
240
- ...(scrollArea === UIDialogScrollArea.Content && {
241
- height: '100%',
242
- overflow: 'hidden',
243
- display: 'flex',
244
- flexDirection: 'column'
245
- })
246
- },
247
- subText: {
248
- margin: '0',
249
- lineHeight: 18,
250
- ...exports.DIALOG_STYLES.contentText
251
- },
252
- content: {
253
- ...exports.DIALOG_STYLES.contentText,
254
- ...(scrollArea === UIDialogScrollArea.Content && {
255
- height: '100%',
256
- display: 'flex',
257
- flexDirection: 'column',
258
- maxHeight: this.state.resizeMaxHeight
259
- })
260
- },
261
- innerContent: {
262
- padding: `${exports.DIALOG_STYLES.vPaddingHalf}px ${exports.DIALOG_STYLES.hPadding}px`,
263
- boxSizing: 'border-box',
264
- ...(scrollArea === UIDialogScrollArea.Content && {
265
- height: '100%',
266
- overflow: 'auto',
267
- boxSizing: 'border-box'
268
- })
269
- }
270
- }
271
- }
272
- };
273
- const props = (0, DeepMerge_1.deepMerge)(dialogProps, rest);
274
- return (react_1.default.createElement(react_2.Dialog, { ...props },
275
- children,
276
- this.getFooter()));
277
- }
278
- }
279
- exports.UIDialog = UIDialog;
280
- // Default values for public component properties
281
- UIDialog.defaultProps = { isOpenAnimated: true };
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.UIDialog = exports.UIDialogScrollArea = exports.DIALOG_STYLES = exports.DIALOG_MAX_HEIGHT_OFFSET = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_2 = require("@fluentui/react");
9
+ const UIButton_1 = require("../UIButton");
10
+ const DeepMerge_1 = require("../../utilities/DeepMerge");
11
+ require("../../styles/_shadows.scss");
12
+ exports.DIALOG_MAX_HEIGHT_OFFSET = 32;
13
+ exports.DIALOG_STYLES = {
14
+ background: 'var(--vscode-editorWidget-background)',
15
+ boxShadow: 'var(--ui-box-shadow-medium)',
16
+ borderColor: 'var(--vscode-editorWidget-border)',
17
+ borderRadius: 4,
18
+ vPadding: 20,
19
+ vPaddingHalf: 10,
20
+ hPadding: 45,
21
+ title: {
22
+ color: 'var(--vscode-panelTitle-activeForeground)'
23
+ },
24
+ contentText: {
25
+ fontSize: 13,
26
+ color: 'var(--vscode-foreground)',
27
+ fontFamily: 'var(--vscode-font-family)'
28
+ }
29
+ };
30
+ var UIDialogScrollArea;
31
+ (function (UIDialogScrollArea) {
32
+ // Header and footer freezed and content is scrollable
33
+ UIDialogScrollArea["Content"] = "Content";
34
+ // Whole dialog is scrollable - default FluentUI behaviour, but it is buggy with large content
35
+ UIDialogScrollArea["Dialog"] = "Dialog";
36
+ })(UIDialogScrollArea = exports.UIDialogScrollArea || (exports.UIDialogScrollArea = {}));
37
+ /**
38
+ * UIDialog component.
39
+ * based on https://developer.microsoft.com/en-us/fluentui#/controls/web/dialog
40
+ * and https://app.abstract.com/projects/42046ab5-889d-4a59-88e6-1089e98cba67/branches/master/commits/f1fcd77447bb2b32aab3498311c1c39517e47e49/files/1455D538-559B-48EF-8D9F-1C2884ED540B/layers/AFDAAFD3-BFA6-4E96-BB6D-057DD13753E5
41
+ *
42
+ * @exports
43
+ * @class UIDialog
44
+ * @extends {React.Component<IDialogProps, {}>}
45
+ */
46
+ class UIDialog extends react_1.default.Component {
47
+ /**
48
+ * Initializes component properties.
49
+ *
50
+ * @param {DialogProps} props
51
+ */
52
+ constructor(props) {
53
+ super(props);
54
+ this.onResize = this.onResize.bind(this);
55
+ this.onModalLayerMount = this.onModalLayerMount.bind(this);
56
+ this.onModalLayerUnmount = this.onModalLayerUnmount.bind(this);
57
+ this.attachResize = this.attachResize.bind(this);
58
+ this.detachResize = this.detachResize.bind(this);
59
+ this.onHeaderMouseDown = this.onHeaderMouseDown.bind(this);
60
+ this.state = {
61
+ resizeMaxHeight: this.getResizeMaxHeight(),
62
+ isMounted: false
63
+ };
64
+ }
65
+ /**
66
+ * Called when component is rerendered.
67
+ *
68
+ * @param {Readonly<DialogProps>} prevProps
69
+ */
70
+ componentDidUpdate(prevProps) {
71
+ const { scrollArea } = this.props;
72
+ if (prevProps.scrollArea !== scrollArea) {
73
+ if (scrollArea === UIDialogScrollArea.Content) {
74
+ this.attachResize();
75
+ }
76
+ else {
77
+ this.detachResize();
78
+ }
79
+ }
80
+ }
81
+ /**
82
+ * Method handles modal dialog mount event.
83
+ */
84
+ onModalLayerMount() {
85
+ this.attachResize();
86
+ this.setState({
87
+ isMounted: true
88
+ });
89
+ }
90
+ /**
91
+ * Method handles modal dialog unmount event.
92
+ */
93
+ onModalLayerUnmount() {
94
+ this.detachResize();
95
+ this.setState({
96
+ isMounted: false
97
+ });
98
+ }
99
+ /**
100
+ * Method attaches to window resize event.
101
+ */
102
+ attachResize() {
103
+ // Window resize handled
104
+ window.addEventListener('resize', this.onResize);
105
+ this.onResize();
106
+ }
107
+ /**
108
+ * Method detaches from window resize event.
109
+ */
110
+ detachResize() {
111
+ window.removeEventListener('resize', this.onResize);
112
+ }
113
+ /**
114
+ * Method handles window resizer event to update calculation for content scrollarea size.
115
+ */
116
+ onResize() {
117
+ this.setState({
118
+ resizeMaxHeight: this.getResizeMaxHeight()
119
+ });
120
+ }
121
+ /**
122
+ * Method returns maximal height for dialog content "scrollArea=Content" mode.
123
+ *
124
+ * @returns {number} Max size of dialog.
125
+ */
126
+ getResizeMaxHeight() {
127
+ return window.innerHeight - exports.DIALOG_MAX_HEIGHT_OFFSET;
128
+ }
129
+ /**
130
+ * Method returns footer element depending in component props.
131
+ * Three states.
132
+ * 1. Accept/Decline buttons.
133
+ * 2. Custom content of footer.
134
+ * 3. No footer.
135
+ *
136
+ * @returns {JSX.Element | null} Footer element to render.
137
+ */
138
+ getFooter() {
139
+ let element;
140
+ const { acceptButtonText, cancelButtonText, onAccept, onCancel, acceptButtonId, cancelButtonId, footer } = this.props;
141
+ const dialogFooterProps = {
142
+ styles: {
143
+ actionsRight: {
144
+ width: '100%',
145
+ textAlign: 'center',
146
+ margin: '0px'
147
+ },
148
+ actions: {
149
+ margin: `${exports.DIALOG_STYLES.vPaddingHalf}px 0 ${exports.DIALOG_STYLES.vPadding}px`,
150
+ lineHeight: 'auto'
151
+ },
152
+ action: {
153
+ margin: '0px 5px'
154
+ }
155
+ }
156
+ };
157
+ if (footer) {
158
+ element = react_1.default.createElement(react_2.DialogFooter, { ...dialogFooterProps }, footer);
159
+ }
160
+ else if (onAccept || onCancel) {
161
+ element = (react_1.default.createElement(react_2.DialogFooter, { ...dialogFooterProps },
162
+ onAccept ? (react_1.default.createElement(UIButton_1.UIDefaultButton, { onClick: onAccept, primary: true, style: { height: '26px' }, id: acceptButtonId }, acceptButtonText)) : (''),
163
+ onCancel ? (react_1.default.createElement(UIButton_1.UIDefaultButton, { onClick: onCancel, style: { height: '26px' }, id: cancelButtonId }, cancelButtonText)) : ('')));
164
+ }
165
+ return element;
166
+ }
167
+ /**
168
+ * Method handles mousedown event for dialog header area.
169
+ * Method added to handle scenario when we open dropdown menu and move dialog.
170
+ * Code in method sets focus to focuszone's placeholder - it triggers close for opened dropdown menu.
171
+ *
172
+ * @param {React.MouseEvent} event Mousedown event
173
+ */
174
+ onHeaderMouseDown(event) {
175
+ if (!this.props.modalProps?.dragOptions) {
176
+ // No need to handle non draggable
177
+ return;
178
+ }
179
+ const dialogFocusZone = event.target.closest('.ms-Dialog-main');
180
+ if (dialogFocusZone && dialogFocusZone.firstChild) {
181
+ const focusPlaceholder = dialogFocusZone.firstChild;
182
+ focusPlaceholder.focus();
183
+ }
184
+ }
185
+ /**
186
+ * @returns {JSX.Element}
187
+ */
188
+ render() {
189
+ const { acceptButtonText, cancelButtonText, onAccept, onCancel, acceptButtonId, cancelButtonId, footer, closeButtonVisible, multiLineTitle, scrollArea = UIDialogScrollArea.Content, children, ...rest } = this.props;
190
+ const dialogProps = {
191
+ minWidth: '460px',
192
+ modalProps: {
193
+ layerProps: {
194
+ onLayerDidMount: this.onModalLayerMount,
195
+ onLayerWillUnmount: this.onModalLayerUnmount
196
+ }
197
+ },
198
+ styles: {
199
+ root: {
200
+ opacity: !this.props.isOpenAnimated || this.state.isMounted ? undefined : 0
201
+ },
202
+ main: {
203
+ backgroundColor: exports.DIALOG_STYLES.background,
204
+ border: `1px solid ${exports.DIALOG_STYLES.borderColor}`,
205
+ boxShadow: exports.DIALOG_STYLES.boxShadow,
206
+ borderRadius: exports.DIALOG_STYLES.borderRadius,
207
+ minHeight: 100,
208
+ ...(scrollArea === UIDialogScrollArea.Content && {
209
+ overflow: 'hidden',
210
+ '.ms-Modal-scrollableContent': {
211
+ overflow: 'hidden',
212
+ height: '100%'
213
+ }
214
+ })
215
+ }
216
+ },
217
+ dialogContentProps: {
218
+ title: this.props.title,
219
+ titleProps: {
220
+ className: 'ui-medium-header',
221
+ style: {
222
+ padding: `${exports.DIALOG_STYLES.vPadding}px 0 5px`,
223
+ textAlign: 'center',
224
+ color: exports.DIALOG_STYLES.title.color,
225
+ ...(!multiLineTitle && {
226
+ whiteSpace: 'nowrap',
227
+ overflow: 'hidden',
228
+ textOverflow: 'ellipsis',
229
+ padding: `${exports.DIALOG_STYLES.vPadding}px ${exports.DIALOG_STYLES.hPadding}px 5px`
230
+ })
231
+ },
232
+ onMouseDown: this.onHeaderMouseDown
233
+ },
234
+ styles: {
235
+ button: {
236
+ display: !closeButtonVisible ? 'none' : undefined
237
+ },
238
+ inner: {
239
+ padding: '0',
240
+ ...(scrollArea === UIDialogScrollArea.Content && {
241
+ height: '100%',
242
+ overflow: 'hidden',
243
+ display: 'flex',
244
+ flexDirection: 'column'
245
+ })
246
+ },
247
+ subText: {
248
+ margin: '0',
249
+ lineHeight: 18,
250
+ ...exports.DIALOG_STYLES.contentText
251
+ },
252
+ content: {
253
+ ...exports.DIALOG_STYLES.contentText,
254
+ ...(scrollArea === UIDialogScrollArea.Content && {
255
+ height: '100%',
256
+ display: 'flex',
257
+ flexDirection: 'column',
258
+ maxHeight: this.state.resizeMaxHeight
259
+ })
260
+ },
261
+ innerContent: {
262
+ padding: `${exports.DIALOG_STYLES.vPaddingHalf}px ${exports.DIALOG_STYLES.hPadding}px`,
263
+ boxSizing: 'border-box',
264
+ ...(scrollArea === UIDialogScrollArea.Content && {
265
+ height: '100%',
266
+ overflow: 'auto',
267
+ boxSizing: 'border-box'
268
+ })
269
+ }
270
+ }
271
+ }
272
+ };
273
+ const props = (0, DeepMerge_1.deepMerge)(dialogProps, rest);
274
+ return (react_1.default.createElement(react_2.Dialog, { ...props },
275
+ children,
276
+ this.getFooter()));
277
+ }
278
+ }
279
+ exports.UIDialog = UIDialog;
280
+ // Default values for public component properties
281
+ UIDialog.defaultProps = { isOpenAnimated: true };
282
282
  //# sourceMappingURL=UIDialog.js.map
@@ -1,2 +1,2 @@
1
- export * from './UIDialog';
1
+ export * from './UIDialog';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,18 +1,18 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./UIDialog"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./UIDialog"), exports);
18
18
  //# sourceMappingURL=index.js.map