@itwin/itwinui-react 1.25.0 → 1.28.0

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 (110) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/cjs/core/ButtonGroup/ButtonGroup.js +2 -4
  3. package/cjs/core/Buttons/Button/Button.d.ts +1 -1
  4. package/cjs/core/Buttons/Button/Button.js +4 -5
  5. package/cjs/core/Buttons/IconButton/IconButton.js +2 -3
  6. package/cjs/core/Buttons/SplitButton/SplitButton.js +5 -3
  7. package/cjs/core/Checkbox/Checkbox.d.ts +11 -0
  8. package/cjs/core/Checkbox/Checkbox.js +14 -4
  9. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  10. package/cjs/core/ComboBox/ComboBox.d.ts +2 -2
  11. package/cjs/core/DatePicker/DatePicker.d.ts +1 -1
  12. package/cjs/core/ErrorPage/ErrorPage.d.ts +2 -1
  13. package/cjs/core/ErrorPage/ErrorPage.js +3 -2
  14. package/cjs/core/InformationPanel/InformationPanel.d.ts +4 -1
  15. package/cjs/core/InformationPanel/InformationPanel.js +4 -1
  16. package/cjs/core/InformationPanel/InformationPanelContent.d.ts +42 -0
  17. package/cjs/core/InformationPanel/InformationPanelContent.js +66 -0
  18. package/cjs/core/InformationPanel/index.d.ts +2 -0
  19. package/cjs/core/InformationPanel/index.js +3 -1
  20. package/cjs/core/LabeledInput/LabeledInput.d.ts +2 -2
  21. package/cjs/core/Menu/MenuItem.d.ts +1 -1
  22. package/cjs/core/Modal/ModalButtonBar.d.ts +2 -1
  23. package/cjs/core/Modal/ModalButtonBar.js +3 -2
  24. package/cjs/core/Table/Table.d.ts +13 -0
  25. package/cjs/core/Table/Table.js +80 -11
  26. package/cjs/core/Table/TableCell.js +1 -1
  27. package/cjs/core/Table/TablePaginator.d.ts +7 -7
  28. package/cjs/core/Table/TablePaginator.js +20 -10
  29. package/cjs/core/Table/TableRowMemoized.d.ts +21 -0
  30. package/cjs/core/Table/TableRowMemoized.js +7 -4
  31. package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +51 -0
  32. package/cjs/core/Table/actionHandlers/resizeHandler.js +22 -0
  33. package/cjs/core/Table/actionHandlers/selectHandler.d.ts +10 -7
  34. package/cjs/core/Table/filters/BaseFilter.js +3 -1
  35. package/cjs/core/Table/filters/FilterToggle.js +4 -3
  36. package/cjs/core/Table/hooks/index.d.ts +1 -0
  37. package/cjs/core/Table/hooks/index.js +3 -1
  38. package/cjs/core/Table/hooks/useResizeColumns.d.ts +5 -0
  39. package/cjs/core/Table/hooks/useResizeColumns.js +273 -0
  40. package/cjs/core/Table/utils.d.ts +1 -1
  41. package/cjs/core/Table/utils.js +8 -2
  42. package/cjs/core/Tabs/Tabs.d.ts +4 -0
  43. package/cjs/core/Tabs/Tabs.js +3 -8
  44. package/cjs/core/index.d.ts +4 -4
  45. package/cjs/core/index.js +4 -2
  46. package/cjs/core/utils/components/MiddleTextTruncation.d.ts +21 -0
  47. package/cjs/core/utils/components/MiddleTextTruncation.js +56 -0
  48. package/cjs/core/utils/components/index.d.ts +1 -0
  49. package/cjs/core/utils/components/index.js +1 -0
  50. package/cjs/core/utils/hooks/index.d.ts +1 -0
  51. package/cjs/core/utils/hooks/index.js +1 -0
  52. package/cjs/core/utils/hooks/useContainerWidth.d.ts +17 -0
  53. package/cjs/core/utils/hooks/useContainerWidth.js +50 -0
  54. package/cjs/core/utils/hooks/useOverflow.d.ts +1 -1
  55. package/cjs/types/react-table-config.d.ts +16 -3
  56. package/esm/core/ButtonGroup/ButtonGroup.js +2 -4
  57. package/esm/core/Buttons/Button/Button.d.ts +1 -1
  58. package/esm/core/Buttons/Button/Button.js +4 -5
  59. package/esm/core/Buttons/IconButton/IconButton.js +2 -3
  60. package/esm/core/Buttons/SplitButton/SplitButton.js +5 -3
  61. package/esm/core/Checkbox/Checkbox.d.ts +11 -0
  62. package/esm/core/Checkbox/Checkbox.js +14 -4
  63. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  64. package/esm/core/ComboBox/ComboBox.d.ts +2 -2
  65. package/esm/core/DatePicker/DatePicker.d.ts +1 -1
  66. package/esm/core/ErrorPage/ErrorPage.d.ts +2 -1
  67. package/esm/core/ErrorPage/ErrorPage.js +3 -2
  68. package/esm/core/InformationPanel/InformationPanel.d.ts +4 -1
  69. package/esm/core/InformationPanel/InformationPanel.js +4 -1
  70. package/esm/core/InformationPanel/InformationPanelContent.d.ts +42 -0
  71. package/esm/core/InformationPanel/InformationPanelContent.js +59 -0
  72. package/esm/core/InformationPanel/index.d.ts +2 -0
  73. package/esm/core/InformationPanel/index.js +1 -0
  74. package/esm/core/LabeledInput/LabeledInput.d.ts +2 -2
  75. package/esm/core/Menu/MenuItem.d.ts +1 -1
  76. package/esm/core/Modal/ModalButtonBar.d.ts +2 -1
  77. package/esm/core/Modal/ModalButtonBar.js +3 -2
  78. package/esm/core/Table/Table.d.ts +13 -0
  79. package/esm/core/Table/Table.js +82 -13
  80. package/esm/core/Table/TableCell.js +1 -1
  81. package/esm/core/Table/TablePaginator.d.ts +7 -7
  82. package/esm/core/Table/TablePaginator.js +21 -11
  83. package/esm/core/Table/TableRowMemoized.d.ts +21 -0
  84. package/esm/core/Table/TableRowMemoized.js +5 -3
  85. package/esm/core/Table/actionHandlers/resizeHandler.d.ts +51 -0
  86. package/esm/core/Table/actionHandlers/resizeHandler.js +17 -0
  87. package/esm/core/Table/actionHandlers/selectHandler.d.ts +10 -7
  88. package/esm/core/Table/filters/BaseFilter.js +3 -1
  89. package/esm/core/Table/filters/FilterToggle.js +4 -3
  90. package/esm/core/Table/hooks/index.d.ts +1 -0
  91. package/esm/core/Table/hooks/index.js +1 -0
  92. package/esm/core/Table/hooks/useResizeColumns.d.ts +5 -0
  93. package/esm/core/Table/hooks/useResizeColumns.js +269 -0
  94. package/esm/core/Table/utils.d.ts +1 -1
  95. package/esm/core/Table/utils.js +8 -2
  96. package/esm/core/Tabs/Tabs.d.ts +4 -0
  97. package/esm/core/Tabs/Tabs.js +4 -9
  98. package/esm/core/index.d.ts +4 -4
  99. package/esm/core/index.js +2 -2
  100. package/esm/core/utils/components/MiddleTextTruncation.d.ts +21 -0
  101. package/esm/core/utils/components/MiddleTextTruncation.js +49 -0
  102. package/esm/core/utils/components/index.d.ts +1 -0
  103. package/esm/core/utils/components/index.js +1 -0
  104. package/esm/core/utils/hooks/index.d.ts +1 -0
  105. package/esm/core/utils/hooks/index.js +1 -0
  106. package/esm/core/utils/hooks/useContainerWidth.d.ts +17 -0
  107. package/esm/core/utils/hooks/useContainerWidth.js +43 -0
  108. package/esm/core/utils/hooks/useOverflow.d.ts +1 -1
  109. package/esm/types/react-table-config.d.ts +16 -3
  110. package/package.json +14 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.28.0](https://www.github.com/iTwin/iTwinUI-react/compare/v1.27.0...v1.28.0) (2021-12-21)
4
+
5
+ ### What's new
6
+
7
+ * **ButtonGroup:** Add support for input+button combo ([#492](https://www.github.com/iTwin/iTwinUI-react/issues/492), [#481](https://github.com/iTwin/iTwinUI-react/pull/481)) ([b8b15fd](https://www.github.com/iTwin/iTwinUI-react/commit/b8b15fd4a6f67fac03063a6fdeec1ea6216899c4))
8
+ * **Table:** Added zebra stripes to rows ([#478](https://www.github.com/iTwin/iTwinUI-react/issues/478)) ([76d3eda](https://www.github.com/iTwin/iTwinUI-react/commit/76d3eda5d14aab2b02187c58fab70e93878c73cc))
9
+ * **Table:** Proper support for horizontal scroll ([#495](https://www.github.com/iTwin/iTwinUI-react/issues/495)) ([079c2c0](https://www.github.com/iTwin/iTwinUI-react/commit/079c2c020be46f14ff41d407e81eee1487adfcab))
10
+
11
+ ### Fixes
12
+
13
+ * **Table:** Prevents from triggering sort when filtering ([#487](https://www.github.com/iTwin/iTwinUI-react/issues/487)) ([d1e6165](https://www.github.com/iTwin/iTwinUI-react/commit/d1e61655bddffc37fa3f91b95766145f18392844))
14
+
15
+ ## [1.27.0](https://www.github.com/iTwin/iTwinUI-react/compare/v1.26.1...v1.27.0) (2021-12-14)
16
+
17
+ ### What's new
18
+
19
+ * **Checkbox:** Add visibility (eyeball) checkbox using `variant` prop ([#470](https://www.github.com/iTwin/iTwinUI-react/issues/470)) ([cda4416](https://www.github.com/iTwin/iTwinUI-react/commit/cda44162a5b40686228c542ab0251b6861dd8359))
20
+ * **ComboBox:** Add `status` prop ([#473](https://www.github.com/iTwin/iTwinUI-react/issues/473)) ([8f5f098](https://www.github.com/iTwin/iTwinUI-react/commit/8f5f09804a541cab8c2add6417e57b9693e69714))
21
+ * **Table:** Add `rowsPerPageLabel` to paginator localization ([#427](https://www.github.com/iTwin/iTwinUI-react/issues/427)) ([52d5c86](https://www.github.com/iTwin/iTwinUI-react/commit/52d5c86efc569238221a7e39cad2d17636c7f9b8))
22
+ * **Table:** Added column resizing using `isResizable` prop ([#448](https://www.github.com/iTwin/iTwinUI-react/issues/448)) ([4c25fe1](https://www.github.com/iTwin/iTwinUI-react/commit/4c25fe1ec5de8f2f6bf771c4adf11bc6ad5e0dd2))
23
+ * **Tabs:** Add `wrapperClassName` prop ([#451](https://www.github.com/iTwin/iTwinUI-react/issues/451)) ([574480a](https://www.github.com/iTwin/iTwinUI-react/commit/574480a8cd7cc92b95a79d2d53ddae0b39d6c5f5))
24
+
25
+ ### Fixes
26
+
27
+ * **ErrorPage:** Add `className` and `style` props ([#479](https://www.github.com/iTwin/iTwinUI-react/issues/479)) ([74f9060](https://www.github.com/iTwin/iTwinUI-react/commit/74f906058b12adb85f2653a0b4e7a1d808df1ef5))
28
+ * **ModalButtonBar:** Add `className` and `style` props ([#474](https://www.github.com/iTwin/iTwinUI-react/issues/474)) ([2228cc7](https://www.github.com/iTwin/iTwinUI-react/commit/2228cc7ad56c5f1a104abb93b33107af30de62c9))
29
+
30
+ ### [1.26.1](https://www.github.com/iTwin/iTwinUI-react/compare/v1.26.0...v1.26.1) (2021-12-03)
31
+
32
+ ### Fixes
33
+
34
+ * **MiddleTextTruncation:** Fix resizing by adding flex grow ([#455](https://www.github.com/iTwin/iTwinUI-react/issues/455)) ([17cd7fb](https://www.github.com/iTwin/iTwinUI-react/commit/17cd7fbbef9f5c35a121d664922fb1a5706be037))
35
+
36
+ ## [1.26.0](https://www.github.com/iTwin/iTwinUI-react/compare/v1.25.0...v1.26.0) (2021-11-30)
37
+
38
+ ### What's new
39
+
40
+ * **InformationPanel:** Add `InformationPanelContent` for inner rows ([#433](https://www.github.com/iTwin/iTwinUI-react/issues/433)) ([a706bcb](https://www.github.com/iTwin/iTwinUI-react/commit/a706bcb04f9af512131d9ed08fef1529314d2bb1))
41
+ * **MiddleTextTruncation:** Utility to truncate text with ellipsis in the middle ([#330](https://www.github.com/iTwin/iTwinUI-react/issues/330)) ([371b56f](https://www.github.com/iTwin/iTwinUI-react/commit/371b56fa9150fdd110c92d05b3944f376d37441c))
42
+
43
+ ### Fixes
44
+
45
+ * **DatePicker:** Make date arg required in `onChange` ([#437](https://www.github.com/iTwin/iTwinUI-react/issues/437)) ([ee79248](https://www.github.com/iTwin/iTwinUI-react/commit/ee792488a10e43a9b0f8ea6d77c30ef1897eb86c))
46
+ * **Table:** Don't show paginator when there is only one page ([#441](https://www.github.com/iTwin/iTwinUI-react/issues/441)) ([e40cbc8](https://www.github.com/iTwin/iTwinUI-react/commit/e40cbc81929da14ea2754e5d847c0efe8af70203))
47
+
3
48
  ## [1.25.0](https://www.github.com/iTwin/iTwinUI-react/compare/v1.24.0...v1.25.0) (2021-11-16)
4
49
 
5
50
  ### What's new
@@ -64,14 +64,12 @@ require("@itwin/itwinui-css/css/button.css");
64
64
  */
65
65
  exports.ButtonGroup = react_1.default.forwardRef(function (props, ref) {
66
66
  var children = props.children, className = props.className, style = props.style, overflowButton = props.overflowButton, rest = __rest(props, ["children", "className", "style", "overflowButton"]);
67
- var items = react_1.default.useMemo(function () { return react_1.default.Children.toArray(children); }, [
68
- children,
69
- ]);
67
+ var items = react_1.default.useMemo(function () { var _a; return (_a = react_1.default.Children.map(children, function (child) { return react_1.default.createElement("div", null, child); })) !== null && _a !== void 0 ? _a : []; }, [children]);
70
68
  (0, utils_1.useTheme)();
71
69
  var _a = (0, utils_1.useOverflow)(items, !overflowButton), overflowRef = _a[0], visibleCount = _a[1];
72
70
  var refs = (0, utils_1.useMergedRefs)(overflowRef, ref);
73
71
  return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-button-group', className), style: __assign(__assign({}, (!!overflowButton && { width: '100%' })), style), ref: refs }, rest), !!overflowButton && visibleCount < items.length ? (react_1.default.createElement(react_1.default.Fragment, null,
74
72
  items.slice(0, visibleCount - 1),
75
- overflowButton(visibleCount))) : (children)));
73
+ overflowButton(visibleCount))) : (items)));
76
74
  });
77
75
  exports.default = exports.ButtonGroup;
@@ -43,7 +43,7 @@ export declare const Button: React.ForwardRefExoticComponent<{
43
43
  * Use 'borderless' to hide outline.
44
44
  * @default 'default'
45
45
  */
46
- styleType?: "cta" | "high-visibility" | "default" | "borderless" | undefined;
46
+ styleType?: "default" | "cta" | "high-visibility" | "borderless" | undefined;
47
47
  /**
48
48
  * Icon shown before the main button content.
49
49
  */
@@ -47,18 +47,17 @@ exports.Button = react_1.default.forwardRef(function (props, ref) {
47
47
  var _a;
48
48
  var children = props.children, className = props.className, size = props.size, style = props.style, _b = props.styleType, styleType = _b === void 0 ? 'default' : _b, _c = props.type, type = _c === void 0 ? 'button' : _c, startIcon = props.startIcon, endIcon = props.endIcon, rest = __rest(props, ["children", "className", "size", "style", "styleType", "type", "startIcon", "endIcon"]);
49
49
  (0, utils_1.useTheme)();
50
- return (react_1.default.createElement("button", __assign({ ref: ref, className: (0, classnames_1.default)('iui-button', (_a = {},
50
+ return (react_1.default.createElement("button", __assign({ ref: ref, className: (0, classnames_1.default)('iui-button', "iui-" + styleType, (_a = {},
51
51
  _a["iui-" + size] = !!size,
52
- _a["iui-" + styleType] = styleType !== 'default',
53
52
  _a), className), style: style, type: type }, rest),
54
53
  startIcon &&
55
54
  react_1.default.cloneElement(startIcon, {
56
- className: (0, classnames_1.default)('iui-icon', startIcon.props.className),
55
+ className: (0, classnames_1.default)('iui-button-icon', startIcon.props.className),
57
56
  }),
58
- children && react_1.default.createElement("span", { className: 'iui-label' }, children),
57
+ children && react_1.default.createElement("span", { className: 'iui-button-label' }, children),
59
58
  endIcon &&
60
59
  react_1.default.cloneElement(endIcon, {
61
- className: (0, classnames_1.default)('iui-icon', endIcon.props.className),
60
+ className: (0, classnames_1.default)('iui-button-icon', endIcon.props.className),
62
61
  })));
63
62
  });
64
63
  exports.default = exports.Button;
@@ -44,12 +44,11 @@ exports.IconButton = react_1.default.forwardRef(function (props, ref) {
44
44
  var _a;
45
45
  var isActive = props.isActive, children = props.children, _b = props.styleType, styleType = _b === void 0 ? 'default' : _b, size = props.size, _c = props.type, type = _c === void 0 ? 'button' : _c, className = props.className, rest = __rest(props, ["isActive", "children", "styleType", "size", "type", "className"]);
46
46
  (0, utils_1.useTheme)();
47
- return (react_1.default.createElement("button", __assign({ ref: ref, className: (0, classnames_1.default)('iui-button', (_a = {},
47
+ return (react_1.default.createElement("button", __assign({ ref: ref, className: (0, classnames_1.default)('iui-button', "iui-" + styleType, (_a = {},
48
48
  _a["iui-" + size] = !!size,
49
- _a["iui-" + styleType] = styleType !== 'default',
50
49
  _a['iui-active'] = isActive,
51
50
  _a), className), type: type }, rest), react_1.default.cloneElement(children, {
52
- className: (0, classnames_1.default)('iui-icon', children.props.className),
51
+ className: (0, classnames_1.default)('iui-button-icon', children.props.className),
53
52
  'aria-hidden': true,
54
53
  })));
55
54
  });
@@ -63,9 +63,11 @@ var SplitButton = function (props) {
63
63
  return (react_1.default.createElement("span", { className: (0, classnames_1.default)(className, 'iui-button-split-menu', {
64
64
  'iui-disabled': props.disabled,
65
65
  }), style: style, title: title, ref: ref },
66
- react_1.default.createElement(Button_1.Button, __assign({ styleType: styleType, size: size, onClick: onClick }, rest), children),
67
- react_1.default.createElement(DropdownMenu_1.DropdownMenu, { placement: menuPlacement, menuItems: menuItems, style: { minWidth: menuWidth }, onShow: react_1.default.useCallback(function () { return setIsMenuOpen(true); }, []), onHide: react_1.default.useCallback(function () { return setIsMenuOpen(false); }, []) },
68
- react_1.default.createElement(IconButton_1.IconButton, { styleType: styleType, size: size, disabled: props.disabled }, isMenuOpen ? react_1.default.createElement(CaretUpSmall_1.default, null) : react_1.default.createElement(CaretDownSmall_1.default, null)))));
66
+ react_1.default.createElement("div", null,
67
+ react_1.default.createElement(Button_1.Button, __assign({ styleType: styleType, size: size, onClick: onClick }, rest), children)),
68
+ react_1.default.createElement("div", null,
69
+ react_1.default.createElement(DropdownMenu_1.DropdownMenu, { placement: menuPlacement, menuItems: menuItems, style: { minWidth: menuWidth }, onShow: react_1.default.useCallback(function () { return setIsMenuOpen(true); }, []), onHide: react_1.default.useCallback(function () { return setIsMenuOpen(false); }, []) },
70
+ react_1.default.createElement(IconButton_1.IconButton, { styleType: styleType, size: size, disabled: props.disabled }, isMenuOpen ? react_1.default.createElement(CaretUpSmall_1.default, null) : react_1.default.createElement(CaretDownSmall_1.default, null))))));
69
71
  };
70
72
  exports.SplitButton = SplitButton;
71
73
  exports.default = exports.SplitButton;
@@ -14,6 +14,11 @@ export declare type CheckboxProps = {
14
14
  * Status of checkbox.
15
15
  */
16
16
  status?: 'positive' | 'warning' | 'negative';
17
+ /**
18
+ * Type of checkbox, regular or eyeball checkbox that is used for visibility.
19
+ * @default 'default'
20
+ */
21
+ variant?: 'default' | 'eyeball';
17
22
  /**
18
23
  * Set focus on checkbox.
19
24
  */
@@ -41,6 +46,7 @@ export declare type CheckboxProps = {
41
46
  * <Checkbox label='Positive Checkbox' status='positive' />
42
47
  * <Checkbox label='Warning Checkbox' status='warning' />
43
48
  * <Checkbox label='Negative Checkbox' status='negative' />
49
+ * <Checkbox label='Visibility Checkbox' variant='eyeball' />
44
50
  */
45
51
  export declare const Checkbox: React.ForwardRefExoticComponent<{
46
52
  /**
@@ -56,6 +62,11 @@ export declare const Checkbox: React.ForwardRefExoticComponent<{
56
62
  * Status of checkbox.
57
63
  */
58
64
  status?: "positive" | "warning" | "negative" | undefined;
65
+ /**
66
+ * Type of checkbox, regular or eyeball checkbox that is used for visibility.
67
+ * @default 'default'
68
+ */
69
+ variant?: "default" | "eyeball" | undefined;
59
70
  /**
60
71
  * Set focus on checkbox.
61
72
  */
@@ -44,10 +44,11 @@ require("@itwin/itwinui-css/css/inputs.css");
44
44
  * <Checkbox label='Positive Checkbox' status='positive' />
45
45
  * <Checkbox label='Warning Checkbox' status='warning' />
46
46
  * <Checkbox label='Negative Checkbox' status='negative' />
47
+ * <Checkbox label='Visibility Checkbox' variant='eyeball' />
47
48
  */
48
49
  exports.Checkbox = react_1.default.forwardRef(function (props, ref) {
49
50
  var _a;
50
- var className = props.className, _b = props.disabled, disabled = _b === void 0 ? false : _b, _c = props.indeterminate, indeterminate = _c === void 0 ? false : _c, label = props.label, status = props.status, setFocus = props.setFocus, _d = props.isLoading, isLoading = _d === void 0 ? false : _d, style = props.style, checkmarkClassName = props.checkmarkClassName, checkmarkStyle = props.checkmarkStyle, rest = __rest(props, ["className", "disabled", "indeterminate", "label", "status", "setFocus", "isLoading", "style", "checkmarkClassName", "checkmarkStyle"]);
51
+ var className = props.className, _b = props.disabled, disabled = _b === void 0 ? false : _b, _c = props.indeterminate, indeterminate = _c === void 0 ? false : _c, label = props.label, status = props.status, _d = props.variant, variant = _d === void 0 ? 'default' : _d, setFocus = props.setFocus, _e = props.isLoading, isLoading = _e === void 0 ? false : _e, style = props.style, checkmarkClassName = props.checkmarkClassName, checkmarkStyle = props.checkmarkStyle, rest = __rest(props, ["className", "disabled", "indeterminate", "label", "status", "variant", "setFocus", "isLoading", "style", "checkmarkClassName", "checkmarkStyle"]);
51
52
  (0, utils_1.useTheme)();
52
53
  var inputElementRef = react_1.default.useRef(null);
53
54
  var refs = (0, utils_1.useMergedRefs)(inputElementRef, ref);
@@ -64,18 +65,27 @@ exports.Checkbox = react_1.default.forwardRef(function (props, ref) {
64
65
  : inputElementRef.current.checked;
65
66
  }
66
67
  });
68
+ var defaultCheckbox = (react_1.default.createElement("svg", { viewBox: '0 0 16 16', "aria-hidden": 'true', focusable: 'false' },
69
+ react_1.default.createElement("path", { className: 'iui-check', d: 'M6,14L0,8l2-2l4,4l8-8l2,2L6,14z' }),
70
+ react_1.default.createElement("path", { className: 'iui-check-partial', d: 'm1 6.5h14v3h-14z' })));
71
+ var visibilityCheckbox = (react_1.default.createElement("svg", { viewBox: '0 0 16 16', "aria-hidden": 'true', focusable: 'false' },
72
+ react_1.default.createElement("path", { className: 'iui-check', d: 'm8 2.99051a8.81883 8.81883 0 0 0 -8 4.95062 8.74664 8.74664 0 0 0 8 5.06836 8.63266 8.63266 0 0 0 8-5.06836 8.83631 8.83631 0 0 0 -8-4.95062zm-1.31445 1.86981a1.47663 1.47663 0 1 1 -1.47663 1.47668 1.47665 1.47665 0 0 1 1.47663-1.47668zm1.31445 6.64917a7.17486 7.17486 0 0 1 -6.30475-3.55237 7.4952 7.4952 0 0 1 2.81475-2.6336 3.83956 3.83956 0 1 0 6.98126.00244 7.522 7.522 0 0 1 2.81774 2.63916 7.09785 7.09785 0 0 1 -6.309 3.54437z' }),
73
+ react_1.default.createElement("g", { className: 'iui-check-partial' },
74
+ react_1.default.createElement("path", { d: 'm8 3v7.9a4.01179 4.01179 0 0 0 4-4 6.7509 6.7509 0 0 0 -.2-1.4l.1.1a6.89429 6.89429 0 0 1 2.4 2.4 8.39088 8.39088 0 0 1 -2.3 2.3 6.89412 6.89412 0 0 1 -3.9 1.2c-.03345 0-.06653-.00677-.1-.0072v1.5072a8.90686 8.90686 0 0 0 8-5 8.90686 8.90686 0 0 0 -8-5z', opacity: '.33' }),
75
+ react_1.default.createElement("path", { d: 'm8 0a1 1 0 0 0 -1 1v2.07135a8.91637 8.91637 0 0 0 -7 4.92865 8.91637 8.91637 0 0 0 7 4.92865v2.07135a1 1 0 0 0 2 0v-14a1 1 0 0 0 -1-1zm-1.5 4.9a1.55426 1.55426 0 0 1 .5.087v2.81451a1.40746 1.40746 0 0 1 -.5.09849 1.538 1.538 0 0 1 -1.5-1.5 1.53794 1.53794 0 0 1 1.5-1.5zm-2.3 5.4a6.97279 6.97279 0 0 1 -2.5-2.3 6.89429 6.89429 0 0 1 2.4-2.4c.1 0 .1-.1.2-.1a3.194 3.194 0 0 0 -.3 1.4 4.0047 4.0047 0 0 0 3 3.857v.65289a6.37491 6.37491 0 0 1 -2.8-1.10989z' })),
76
+ react_1.default.createElement("path", { className: 'iui-uncheck', d: 'm1.70671 12.879 11.17218-11.17219 1.4142 1.4142-11.17218 11.17218zm.99329-1.679 1.1-1.1a5.06317 5.06317 0 0 1 -2-2.1 7.48268 7.48268 0 0 1 6.2-3.5 4.86877 4.86877 0 0 1 1.2.1l1.3-1.3a10.07431 10.07431 0 0 0 -2.5-.3 8.84129 8.84129 0 0 0 -8 5 8.42455 8.42455 0 0 0 2.7 3.2zm10.7-6.4-1.1 1.1a7.08625 7.08625 0 0 1 2 2.1 7.50323 7.50323 0 0 1 -6.2 3.5 8.31665 8.31665 0 0 1 -1.3-.2l-1.3 1.3a8.909 8.909 0 0 0 6.4-.5 9.04344 9.04344 0 0 0 4.1-4.1 9.168 9.168 0 0 0 -2.6-3.2z' })));
67
77
  return (react_1.default.createElement("label", { className: (0, classnames_1.default)('iui-checkbox', (_a = {
68
78
  'iui-disabled': disabled
69
79
  },
70
80
  _a["iui-" + status] = !!status,
71
81
  _a['iui-loading'] = isLoading,
82
+ _a['iui-checkbox-visibility'] = variant === 'eyeball',
72
83
  _a), className), style: style },
73
84
  react_1.default.createElement("input", __assign({ disabled: disabled || isLoading, type: 'checkbox', ref: refs }, rest)),
74
85
  react_1.default.createElement("span", { className: (0, classnames_1.default)('iui-checkbox-checkmark', checkmarkClassName), style: checkmarkStyle },
75
86
  isLoading && react_1.default.createElement(ProgressIndicators_1.ProgressRadial, { indeterminate: true }),
76
- !isLoading && (react_1.default.createElement("svg", { viewBox: '0 0 16 16', "aria-hidden": 'true', focusable: 'false' },
77
- react_1.default.createElement("path", { className: 'iui-check', d: 'M6,14L0,8l2-2l4,4l8-8l2,2L6,14z' }),
78
- react_1.default.createElement("path", { className: 'iui-check-partial', d: 'm1 6.5h14v3h-14z' })))),
87
+ !isLoading &&
88
+ (variant === 'default' ? defaultCheckbox : visibilityCheckbox)),
79
89
  label && react_1.default.createElement("span", { className: 'iui-label' }, label)));
80
90
  });
81
91
  exports.default = exports.Checkbox;
@@ -17,5 +17,5 @@ export declare type ColorSwatchProps = {
17
17
  * <ColorSwatch color='#23450b' onClick={onClick}/>
18
18
  * <ColorSwatch color={{ r: 255, g: 255, b: 0 }} onClick={onClick}/>
19
19
  */
20
- export declare const ColorSwatch: React.ForwardRefExoticComponent<Pick<ColorSwatchProps, "dir" | "slot" | "style" | "title" | "id" | "role" | "children" | "className" | "accessKey" | "draggable" | "hidden" | "lang" | "translate" | "prefix" | "contentEditable" | "inputMode" | "tabIndex" | "onFocus" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "isActive" | "key"> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const ColorSwatch: React.ForwardRefExoticComponent<Pick<ColorSwatchProps, "dir" | "slot" | "style" | "title" | "id" | "role" | "children" | "className" | "accessKey" | "draggable" | "hidden" | "lang" | "translate" | "prefix" | "contentEditable" | "inputMode" | "tabIndex" | "onFocus" | "color" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "isActive" | "key"> & React.RefAttributes<HTMLDivElement>>;
21
21
  export default ColorSwatch;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { InputProps } from '../Input';
3
3
  import { SelectOption } from '../Select';
4
- import { PopoverProps, CommonProps } from '../utils';
4
+ import { PopoverProps, CommonProps, InputContainerProps } from '../utils';
5
5
  import 'tippy.js/animations/shift-away.css';
6
6
  export declare type ComboBoxProps<T> = {
7
7
  /**
@@ -33,7 +33,7 @@ export declare type ComboBoxProps<T> = {
33
33
  * @default 'No options found'
34
34
  */
35
35
  emptyStateMessage?: string;
36
- } & Omit<CommonProps, 'title'>;
36
+ } & Pick<InputContainerProps, 'status'> & Omit<CommonProps, 'title'>;
37
37
  /**
38
38
  * ComboBox component that allows typing a value to filter the options in dropdown list.
39
39
  * Values can be selected either using mouse clicks or using the Enter key.
@@ -18,7 +18,7 @@ export declare type DatePickerProps = {
18
18
  /**
19
19
  * Callback when date is changed.
20
20
  */
21
- onChange?: (date?: Date) => void;
21
+ onChange?: (date: Date) => void;
22
22
  /**
23
23
  * Pass localized week days (start from sunday) and months.
24
24
  * Use helper function `generateLocalizedStrings` to generate strings using `Intl.DateTimeFormat`.
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { CommonProps } from '../utils';
2
3
  import '@itwin/itwinui-css/css/non-ideal-state.css';
3
4
  export declare type ErrorPageType = '401' | '403' | '404' | '500' | '502' | '503' | 'generic';
4
5
  export declare type ErrorTypeTranslations = {
@@ -45,7 +46,7 @@ export declare type ErrorPageProps = {
45
46
  * Used to translate default error messages, if no specific @errorName passed in
46
47
  */
47
48
  translatedErrorMessages?: ErrorTypeTranslations;
48
- };
49
+ } & Omit<CommonProps, 'title'>;
49
50
  /**
50
51
  * A stylized display to communicate common http errors.
51
52
  * @example
@@ -40,6 +40,7 @@ var Error_1 = __importDefault(require("@itwin/itwinui-illustrations-react/cjs/il
40
40
  var react_1 = __importDefault(require("react"));
41
41
  var Button_1 = require("../Buttons/Button");
42
42
  var utils_1 = require("../utils");
43
+ var classnames_1 = __importDefault(require("classnames"));
43
44
  require("@itwin/itwinui-css/css/non-ideal-state.css");
44
45
  /**
45
46
  * A stylized display to communicate common http errors.
@@ -47,7 +48,7 @@ require("@itwin/itwinui-css/css/non-ideal-state.css");
47
48
  * <ErrorPage errorType='401' />
48
49
  */
49
50
  var ErrorPage = function (props) {
50
- var errorType = props.errorType, errorName = props.errorName, errorMessage = props.errorMessage, primaryButtonHandle = props.primaryButtonHandle, primaryButtonLabel = props.primaryButtonLabel, secondaryButtonHandle = props.secondaryButtonHandle, secondaryButtonLabel = props.secondaryButtonLabel, translatedErrorMessages = props.translatedErrorMessages, rest = __rest(props, ["errorType", "errorName", "errorMessage", "primaryButtonHandle", "primaryButtonLabel", "secondaryButtonHandle", "secondaryButtonLabel", "translatedErrorMessages"]);
51
+ var errorType = props.errorType, errorName = props.errorName, errorMessage = props.errorMessage, primaryButtonHandle = props.primaryButtonHandle, primaryButtonLabel = props.primaryButtonLabel, secondaryButtonHandle = props.secondaryButtonHandle, secondaryButtonLabel = props.secondaryButtonLabel, translatedErrorMessages = props.translatedErrorMessages, className = props.className, rest = __rest(props, ["errorType", "errorName", "errorMessage", "primaryButtonHandle", "primaryButtonLabel", "secondaryButtonHandle", "secondaryButtonLabel", "translatedErrorMessages", "className"]);
51
52
  (0, utils_1.useTheme)();
52
53
  var defaultErrorMessages = __assign({ badGateway: 'Bad gateway', error: 'Error', forbidden: 'Forbidden', internalServerError: 'Internal server error', pageNotFound: 'Page not found', serviceUnavailable: 'Service unavailable', unauthorized: 'Unauthorized' }, translatedErrorMessages);
53
54
  function getErrorIcon() {
@@ -127,7 +128,7 @@ var ErrorPage = function (props) {
127
128
  primaryButton,
128
129
  secondaryButton));
129
130
  }
130
- return (react_1.default.createElement("div", __assign({ className: 'iui-non-ideal-state' }, rest),
131
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-non-ideal-state', className) }, rest),
131
132
  getErrorIcon(),
132
133
  react_1.default.createElement("div", { className: 'iui-non-ideal-state-title' }, getHeadingMessage()),
133
134
  errorMessage && (react_1.default.createElement("div", { className: 'iui-non-ideal-state-description' }, errorMessage)),
@@ -35,7 +35,10 @@ export declare type InformationPanelProps = {
35
35
  * <Text variant='subheading'>InfoPanel heading</Text>
36
36
  * </InformationPanelHeader>
37
37
  * <InformationPanelBody>
38
- * <span>Info panel content</span>
38
+ * <Text>Metadata</Text>
39
+ * <InformationPanelContent ... />
40
+ * <Text>Attributes</Text>
41
+ * <InformationPanelContent ... />
39
42
  * </InformationPanelBody>
40
43
  * </InformationPanel>
41
44
  * </InformationPanelWrapper>
@@ -47,7 +47,10 @@ require("@itwin/itwinui-css/css/information-panel.css");
47
47
  * <Text variant='subheading'>InfoPanel heading</Text>
48
48
  * </InformationPanelHeader>
49
49
  * <InformationPanelBody>
50
- * <span>Info panel content</span>
50
+ * <Text>Metadata</Text>
51
+ * <InformationPanelContent ... />
52
+ * <Text>Attributes</Text>
53
+ * <InformationPanelContent ... />
51
54
  * </InformationPanelBody>
52
55
  * </InformationPanel>
53
56
  * </InformationPanelWrapper>
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { CommonProps } from '../utils';
3
+ import '@itwin/itwinui-css/css/information-panel.css';
4
+ export declare type InformationPanelContentProps = {
5
+ /**
6
+ * If set to 'inline', the label/input pairs will be shown on the same line.
7
+ * The component handles the spacing and alignment automatically.
8
+ *
9
+ * @default 'default'
10
+ */
11
+ displayStyle?: 'default' | 'inline';
12
+ /**
13
+ * Content of the component.
14
+ * Should ideally be pairs of `Label` and input components.
15
+ */
16
+ children: React.ReactNode;
17
+ } & Omit<CommonProps, 'title'>;
18
+ /**
19
+ * The `InformationPanelContent` component should be used inside `InformationPanelBody`
20
+ * to style rows of key/value pairs, where the key is ideally represented by a `Label` component
21
+ * and the value can be any input element (including readonly inputs for non-modifiable fields).
22
+ *
23
+ * By default, the pairs are displayed of label and input are displayed in separate lines,
24
+ * but displayStyle can be set to 'inline' to show them in the same line with correct alignment.
25
+ *
26
+ * You can use multiple `InformationPanelContent` instances inside one `InformationPanelBody`; this is
27
+ * useful when you want to show other content, e.g. separate headings for different sections of key/value pairs.
28
+ *
29
+ * @example
30
+ * <InformationPanelContent displayStyle='inline'>
31
+ * <Label htmlFor='name-input'>File name</Label>
32
+ * <Input id='name-input' value='Alpha.mp3' />
33
+ *
34
+ * <Label htmlFor='year-input'>Year</Label>
35
+ * <Input id='year-input' value='2021' />
36
+ *
37
+ * <Label htmlFor='path-input'>Path</Label>
38
+ * <Input id='path-input' value='/Shared/Music/' />
39
+ * </InformationPanelContent>
40
+ */
41
+ export declare const InformationPanelContent: (props: InformationPanelContentProps) => JSX.Element;
42
+ export default InformationPanelContent;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.InformationPanelContent = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var classnames_1 = __importDefault(require("classnames"));
34
+ var react_1 = __importDefault(require("react"));
35
+ var utils_1 = require("../utils");
36
+ require("@itwin/itwinui-css/css/information-panel.css");
37
+ /**
38
+ * The `InformationPanelContent` component should be used inside `InformationPanelBody`
39
+ * to style rows of key/value pairs, where the key is ideally represented by a `Label` component
40
+ * and the value can be any input element (including readonly inputs for non-modifiable fields).
41
+ *
42
+ * By default, the pairs are displayed of label and input are displayed in separate lines,
43
+ * but displayStyle can be set to 'inline' to show them in the same line with correct alignment.
44
+ *
45
+ * You can use multiple `InformationPanelContent` instances inside one `InformationPanelBody`; this is
46
+ * useful when you want to show other content, e.g. separate headings for different sections of key/value pairs.
47
+ *
48
+ * @example
49
+ * <InformationPanelContent displayStyle='inline'>
50
+ * <Label htmlFor='name-input'>File name</Label>
51
+ * <Input id='name-input' value='Alpha.mp3' />
52
+ *
53
+ * <Label htmlFor='year-input'>Year</Label>
54
+ * <Input id='year-input' value='2021' />
55
+ *
56
+ * <Label htmlFor='path-input'>Path</Label>
57
+ * <Input id='path-input' value='/Shared/Music/' />
58
+ * </InformationPanelContent>
59
+ */
60
+ var InformationPanelContent = function (props) {
61
+ var className = props.className, _a = props.displayStyle, displayStyle = _a === void 0 ? 'default' : _a, children = props.children, rest = __rest(props, ["className", "displayStyle", "children"]);
62
+ (0, utils_1.useTheme)();
63
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-information-body-content', { 'iui-inline': displayStyle === 'inline' }, className) }, rest), children));
64
+ };
65
+ exports.InformationPanelContent = InformationPanelContent;
66
+ exports.default = exports.InformationPanelContent;
@@ -8,3 +8,5 @@ export { InformationPanelHeader } from './InformationPanelHeader';
8
8
  export type { InformationPanelHeaderProps } from './InformationPanelHeader';
9
9
  export { InformationPanelBody } from './InformationPanelBody';
10
10
  export type { InformationPanelBodyProps } from './InformationPanelBody';
11
+ export { InformationPanelContent } from './InformationPanelContent';
12
+ export type { InformationPanelContentProps } from './InformationPanelContent';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InformationPanelBody = exports.InformationPanelHeader = exports.InformationPanelWrapper = exports.InformationPanel = void 0;
3
+ exports.InformationPanelContent = exports.InformationPanelBody = exports.InformationPanelHeader = exports.InformationPanelWrapper = exports.InformationPanel = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -14,3 +14,5 @@ var InformationPanelHeader_1 = require("./InformationPanelHeader");
14
14
  Object.defineProperty(exports, "InformationPanelHeader", { enumerable: true, get: function () { return InformationPanelHeader_1.InformationPanelHeader; } });
15
15
  var InformationPanelBody_1 = require("./InformationPanelBody");
16
16
  Object.defineProperty(exports, "InformationPanelBody", { enumerable: true, get: function () { return InformationPanelBody_1.InformationPanelBody; } });
17
+ var InformationPanelContent_1 = require("./InformationPanelContent");
18
+ Object.defineProperty(exports, "InformationPanelContent", { enumerable: true, get: function () { return InformationPanelContent_1.InformationPanelContent; } });
@@ -84,7 +84,7 @@ export declare const LabeledInput: React.ForwardRefExoticComponent<{
84
84
  * - 'inline' - appears in the same line as input.
85
85
  * @default 'default'
86
86
  */
87
- displayStyle?: "default" | "inline" | undefined;
87
+ displayStyle?: "inline" | "default" | undefined;
88
88
  /**
89
89
  * Set display style of icon.
90
90
  * Supported values:
@@ -93,7 +93,7 @@ export declare const LabeledInput: React.ForwardRefExoticComponent<{
93
93
  *
94
94
  * Defaults to 'block' if `displayStyle` is `default`, else 'inline'.
95
95
  */
96
- iconDisplayStyle?: "inline" | "block" | undefined;
96
+ iconDisplayStyle?: "block" | "inline" | undefined;
97
97
  } & {
98
98
  setFocus?: boolean | undefined;
99
99
  size?: "small" | "large" | undefined;
@@ -77,7 +77,7 @@ export declare const MenuItem: React.ForwardRefExoticComponent<{
77
77
  *
78
78
  * Defaults to 'large' if `sublabel` provided, otherwise 'default'.
79
79
  */
80
- size?: "large" | "default" | undefined;
80
+ size?: "default" | "large" | undefined;
81
81
  /**
82
82
  * Sub label shown below the main content of the item.
83
83
  */
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
+ import { CommonProps } from '../utils';
2
3
  import '@itwin/itwinui-css/css/modal.css';
3
4
  export declare type ModalButtonBarProps = {
4
5
  /**
5
6
  * Buttons in the modal bar.
6
7
  */
7
8
  children: React.ReactNode;
8
- };
9
+ } & Omit<CommonProps, 'title'>;
9
10
  /**
10
11
  * Container for Buttons in modal.
11
12
  */
@@ -31,15 +31,16 @@ exports.ModalButtonBar = void 0;
31
31
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
32
  *--------------------------------------------------------------------------------------------*/
33
33
  var react_1 = __importDefault(require("react"));
34
+ var classnames_1 = __importDefault(require("classnames"));
34
35
  var utils_1 = require("../utils");
35
36
  require("@itwin/itwinui-css/css/modal.css");
36
37
  /**
37
38
  * Container for Buttons in modal.
38
39
  */
39
40
  var ModalButtonBar = function (props) {
40
- var children = props.children, rest = __rest(props, ["children"]);
41
+ var children = props.children, className = props.className, rest = __rest(props, ["children", "className"]);
41
42
  (0, utils_1.useTheme)();
42
- return (react_1.default.createElement("div", __assign({ className: 'iui-button-bar' }, rest), children));
43
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-button-bar', className) }, rest), children));
43
44
  };
44
45
  exports.ModalButtonBar = ModalButtonBar;
45
46
  exports.default = exports.ModalButtonBar;
@@ -147,6 +147,19 @@ export declare type TableProps<T extends Record<string, unknown> = Record<string
147
147
  * @default 25
148
148
  */
149
149
  pageSize?: number;
150
+ /**
151
+ * Flag whether columns are resizable.
152
+ * In order to disable resizing for specific column, set `disableResizing: true` for that column.
153
+ *
154
+ * If you want to use it in older browsers e.g. IE, then you need to have `ResizeObserver` polyfill.
155
+ * @default false
156
+ */
157
+ isResizable?: boolean;
158
+ /**
159
+ * Style of the table.
160
+ * @default 'default'
161
+ */
162
+ styleType?: 'default' | 'zebra-rows';
150
163
  } & Omit<CommonProps, 'title'>;
151
164
  /**
152
165
  * Table based on [react-table](https://react-table.tanstack.com/docs/api/overview).