@itwin/itwinui-react 1.18.0 → 1.19.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 (124) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/cjs/core/Alert/Alert.js +2 -2
  3. package/cjs/core/Badge/Badge.js +4 -4
  4. package/cjs/core/Breadcrumbs/Breadcrumbs.js +5 -5
  5. package/cjs/core/ButtonGroup/ButtonGroup.js +3 -3
  6. package/cjs/core/Buttons/Button/Button.js +4 -4
  7. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +3 -3
  8. package/cjs/core/Buttons/IconButton/IconButton.js +3 -3
  9. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +1 -1
  10. package/cjs/core/Buttons/SplitButton/SplitButton.js +2 -2
  11. package/cjs/core/Checkbox/Checkbox.js +5 -5
  12. package/cjs/core/DatePicker/DatePicker.js +3 -3
  13. package/cjs/core/DropdownMenu/DropdownMenu.js +2 -2
  14. package/cjs/core/ErrorPage/ErrorPage.js +1 -1
  15. package/cjs/core/ExpandableBlock/ExpandableBlock.js +3 -3
  16. package/cjs/core/Fieldset/Fieldset.js +2 -2
  17. package/cjs/core/FileUpload/FileUpload.js +3 -3
  18. package/cjs/core/FileUpload/FileUploadTemplate.js +1 -1
  19. package/cjs/core/Footer/Footer.js +11 -7
  20. package/cjs/core/Header/Header.js +2 -2
  21. package/cjs/core/Header/HeaderBreadcrumbs.js +11 -7
  22. package/cjs/core/Header/HeaderButton.js +3 -3
  23. package/cjs/core/Header/HeaderLogo.js +3 -3
  24. package/cjs/core/Input/Input.js +3 -3
  25. package/cjs/core/InputGroup/InputGroup.js +5 -17
  26. package/cjs/core/LabeledInput/LabeledInput.d.ts +28 -4
  27. package/cjs/core/LabeledInput/LabeledInput.js +5 -17
  28. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +4 -8
  29. package/cjs/core/LabeledSelect/LabeledSelect.js +7 -17
  30. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +6 -25
  31. package/cjs/core/LabeledTextarea/LabeledTextarea.js +5 -17
  32. package/cjs/core/Menu/Menu.js +3 -3
  33. package/cjs/core/Menu/MenuItem.js +5 -5
  34. package/cjs/core/Modal/Modal.js +4 -4
  35. package/cjs/core/Modal/ModalButtonBar.js +1 -1
  36. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +3 -3
  37. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +2 -2
  38. package/cjs/core/Radio/Radio.js +5 -5
  39. package/cjs/core/RadioTiles/RadioTile.js +3 -3
  40. package/cjs/core/RadioTiles/RadioTileGroup.js +1 -1
  41. package/cjs/core/Select/Select.js +5 -5
  42. package/cjs/core/SideNavigation/SideNavigation.js +2 -2
  43. package/cjs/core/SideNavigation/SidenavButton.js +2 -2
  44. package/cjs/core/Slider/Slider.js +19 -15
  45. package/cjs/core/Slider/Thumb.js +2 -2
  46. package/cjs/core/Slider/Track.js +10 -6
  47. package/cjs/core/Table/Table.js +8 -12
  48. package/cjs/core/Table/TableCell.js +2 -2
  49. package/cjs/core/Table/TableRowMemoized.js +3 -3
  50. package/cjs/core/Table/actionHandlers/selectHandler.js +1 -1
  51. package/cjs/core/Table/filters/BaseFilter.js +2 -2
  52. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +1 -1
  53. package/cjs/core/Table/filters/FilterButtonBar.js +2 -2
  54. package/cjs/core/Table/filters/FilterToggle.js +3 -3
  55. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +1 -1
  56. package/cjs/core/Table/filters/TextFilter/TextFilter.js +1 -1
  57. package/cjs/core/Table/hooks/useExpanderCell.js +9 -5
  58. package/cjs/core/Table/hooks/useSelectionCell.js +9 -5
  59. package/cjs/core/Table/hooks/useSubRowFiltering.js +9 -5
  60. package/cjs/core/Tabs/Tab.js +2 -2
  61. package/cjs/core/Tabs/Tabs.js +10 -10
  62. package/cjs/core/Tag/Tag.js +2 -2
  63. package/cjs/core/Tag/TagContainer.js +2 -2
  64. package/cjs/core/Textarea/Textarea.js +3 -3
  65. package/cjs/core/ThemeProvider/ThemeProvider.js +1 -1
  66. package/cjs/core/Tile/Tile.js +7 -7
  67. package/cjs/core/TimePicker/TimePicker.js +3 -3
  68. package/cjs/core/Toast/Toast.d.ts +8 -0
  69. package/cjs/core/Toast/Toast.js +49 -10
  70. package/cjs/core/Toast/ToastWrapper.js +3 -2
  71. package/cjs/core/Toast/Toaster.js +12 -9
  72. package/cjs/core/ToggleSwitch/ToggleSwitch.js +4 -4
  73. package/cjs/core/Tooltip/Tooltip.js +2 -2
  74. package/cjs/core/Typography/Blockquote/Blockquote.js +2 -2
  75. package/cjs/core/Typography/Body/Body.js +2 -2
  76. package/cjs/core/Typography/Code/Code.js +2 -2
  77. package/cjs/core/Typography/Headline/Headline.js +2 -2
  78. package/cjs/core/Typography/Kbd/Kbd.js +2 -2
  79. package/cjs/core/Typography/Leading/Leading.js +2 -2
  80. package/cjs/core/Typography/Small/Small.js +2 -2
  81. package/cjs/core/Typography/Subheading/Subheading.js +2 -2
  82. package/cjs/core/Typography/Text/Text.js +2 -2
  83. package/cjs/core/Typography/Title/Title.js +2 -2
  84. package/cjs/core/UserIcon/UserIcon.js +3 -3
  85. package/cjs/core/UserIconGroup/UserIconGroup.js +3 -3
  86. package/cjs/core/Wizard/Step.js +1 -1
  87. package/cjs/core/Wizard/Wizard.js +2 -2
  88. package/cjs/core/utils/FocusTrap.js +2 -2
  89. package/cjs/core/utils/InputContainer.d.ts +17 -0
  90. package/cjs/core/utils/InputContainer.js +39 -0
  91. package/cjs/core/utils/Popover.js +10 -6
  92. package/cjs/core/utils/common.js +1 -1
  93. package/cjs/core/utils/hooks/useIntersection.js +1 -1
  94. package/cjs/core/utils/hooks/useMergedRefs.js +9 -5
  95. package/cjs/core/utils/hooks/useOverflow.js +2 -2
  96. package/cjs/core/utils/hooks/useResizeObserver.js +1 -1
  97. package/cjs/core/utils/hooks/useTheme.js +2 -2
  98. package/esm/core/Checkbox/Checkbox.js +1 -1
  99. package/esm/core/Footer/Footer.js +9 -5
  100. package/esm/core/Header/HeaderBreadcrumbs.js +10 -6
  101. package/esm/core/InputGroup/InputGroup.js +4 -16
  102. package/esm/core/LabeledInput/LabeledInput.d.ts +28 -4
  103. package/esm/core/LabeledInput/LabeledInput.js +4 -16
  104. package/esm/core/LabeledSelect/LabeledSelect.d.ts +4 -8
  105. package/esm/core/LabeledSelect/LabeledSelect.js +6 -16
  106. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +6 -25
  107. package/esm/core/LabeledTextarea/LabeledTextarea.js +4 -16
  108. package/esm/core/Radio/Radio.js +1 -1
  109. package/esm/core/Slider/Slider.js +11 -7
  110. package/esm/core/Slider/Thumb.js +1 -1
  111. package/esm/core/Slider/Track.js +10 -6
  112. package/esm/core/Table/Table.js +1 -5
  113. package/esm/core/Table/hooks/useExpanderCell.js +9 -5
  114. package/esm/core/Table/hooks/useSelectionCell.js +9 -5
  115. package/esm/core/Table/hooks/useSubRowFiltering.js +9 -5
  116. package/esm/core/Toast/Toast.d.ts +8 -0
  117. package/esm/core/Toast/Toast.js +45 -6
  118. package/esm/core/Toast/ToastWrapper.js +2 -1
  119. package/esm/core/Toast/Toaster.js +11 -8
  120. package/esm/core/utils/InputContainer.d.ts +17 -0
  121. package/esm/core/utils/InputContainer.js +32 -0
  122. package/esm/core/utils/Popover.js +9 -5
  123. package/esm/core/utils/hooks/useMergedRefs.js +9 -5
  124. package/package.json +14 -10
@@ -47,11 +47,19 @@ var common_1 = require("../utils/common");
47
47
  * <Toast type='persisting' content='Job processing error.' category='negative' />
48
48
  */
49
49
  var Toast = function (props) {
50
- var content = props.content, category = props.category, _a = props.type, type = _a === void 0 ? 'temporary' : _a, isVisible = props.isVisible, link = props.link, _b = props.duration, duration = _b === void 0 ? 7000 : _b, hasCloseButton = props.hasCloseButton, onRemove = props.onRemove;
51
- useTheme_1.useTheme();
50
+ var content = props.content, category = props.category, _a = props.type, type = _a === void 0 ? 'temporary' : _a, isVisible = props.isVisible, link = props.link, _b = props.duration, duration = _b === void 0 ? 7000 : _b, hasCloseButton = props.hasCloseButton, onRemove = props.onRemove, animateOutTo = props.animateOutTo, placementPosition = props.placementPosition;
51
+ (0, useTheme_1.useTheme)();
52
52
  var closeTimeout = react_1.default.useRef(0);
53
53
  var _c = react_1.default.useState(isVisible), visible = _c[0], setVisible = _c[1];
54
54
  var _d = react_1.default.useState(0), height = _d[0], setHeight = _d[1];
55
+ var thisElement = react_1.default.useRef(null);
56
+ var _e = react_1.default.useState(0), margin = _e[0], setMargin = _e[1];
57
+ var marginStyle = function () {
58
+ if (placementPosition === 'top') {
59
+ return { marginBottom: margin };
60
+ }
61
+ return { marginTop: margin };
62
+ };
55
63
  react_1.default.useEffect(function () {
56
64
  if (type === 'temporary') {
57
65
  setCloseTimeout(duration);
@@ -64,12 +72,21 @@ var Toast = function (props) {
64
72
  react_1.default.useEffect(function () {
65
73
  setVisible(isVisible);
66
74
  }, [isVisible]);
75
+ react_1.default.useEffect(function () {
76
+ // if we don't have animateOutTo point and not isVisible, set negative margin to move other toasts up.
77
+ // Close all and close on toasts with no anchor.
78
+ if (!isVisible && !animateOutTo) {
79
+ setMargin(-height);
80
+ }
81
+ }, [isVisible, animateOutTo, setMargin, height]);
67
82
  var close = function () {
68
83
  clearCloseTimeout();
84
+ // move element up when this element is closed.
85
+ setMargin(-height);
69
86
  setVisible(false);
70
87
  };
71
88
  var setCloseTimeout = function (timeout) {
72
- var definedWindow = common_1.getWindow();
89
+ var definedWindow = (0, common_1.getWindow)();
73
90
  if (!definedWindow) {
74
91
  return;
75
92
  }
@@ -79,7 +96,7 @@ var Toast = function (props) {
79
96
  };
80
97
  var clearCloseTimeout = function () {
81
98
  var _a;
82
- (_a = common_1.getWindow()) === null || _a === void 0 ? void 0 : _a.clearTimeout(closeTimeout.current);
99
+ (_a = (0, common_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.clearTimeout(closeTimeout.current);
83
100
  };
84
101
  var onRef = function (ref) {
85
102
  if (ref) {
@@ -87,12 +104,34 @@ var Toast = function (props) {
87
104
  setHeight(height_1);
88
105
  }
89
106
  };
90
- return (react_1.default.createElement(react_transition_group_1.Transition, { timeout: { enter: 240, exit: 120 }, in: visible, appear: true, unmountOnExit: true, onExited: onRemove }, function (state) { return (react_1.default.createElement("div", { className: classnames_1.default('iui-toast-all', "iui-toast-" + state), style: {
91
- height: height,
92
- marginBottom: visible ? '0' : -height,
93
- } },
107
+ var calculateOutAnimation = function (node) {
108
+ // calculation translate x and y pixels.
109
+ var translateX = 0;
110
+ var translateY = 0;
111
+ if (animateOutTo && node) {
112
+ var _a = node.getBoundingClientRect(), startX = _a.x, startY = _a.y; // current element
113
+ var _b = animateOutTo.getBoundingClientRect(), endX = _b.x, endY = _b.y; // anchor point
114
+ translateX = endX - startX;
115
+ translateY = endY - startY;
116
+ }
117
+ return { translateX: translateX, translateY: translateY };
118
+ };
119
+ return (react_1.default.createElement(react_transition_group_1.Transition, { timeout: { enter: 240, exit: animateOutTo ? 400 : 120 }, in: visible, appear: true, unmountOnExit: true, onEnter: function (node) {
120
+ node.style.transform = 'translateY(15%)';
121
+ node.style.transitionTimingFunction = 'ease';
122
+ }, onEntered: function (node) {
123
+ node.style.transform = 'translateY(0)';
124
+ }, onExiting: function (node) {
125
+ var _a = calculateOutAnimation(node), translateX = _a.translateX, translateY = _a.translateY;
126
+ node.style.transform = animateOutTo
127
+ ? "scale(0.9) translate(" + translateX + "px," + translateY + "px)"
128
+ : "scale(0.9)";
129
+ node.style.opacity = '0';
130
+ node.style.transitionDuration = animateOutTo ? '400ms' : '120ms';
131
+ node.style.transitionTimingFunction = 'cubic-bezier(0.4, 0, 1, 1)';
132
+ }, onExited: onRemove }, react_1.default.createElement("div", { ref: thisElement, className: 'iui-toast-all', style: __assign({ height: height }, marginStyle()) },
94
133
  react_1.default.createElement("div", { ref: onRef },
95
- react_1.default.createElement(exports.ToastPresentation, { category: category, content: content, link: link, type: type, hasCloseButton: hasCloseButton, onClose: close })))); }));
134
+ react_1.default.createElement(exports.ToastPresentation, { category: category, content: content, link: link, type: type, hasCloseButton: hasCloseButton, onClose: close })))));
96
135
  };
97
136
  exports.Toast = Toast;
98
137
  /**
@@ -102,7 +141,7 @@ exports.Toast = Toast;
102
141
  var ToastPresentation = function (props) {
103
142
  var content = props.content, category = props.category, _a = props.type, type = _a === void 0 ? 'temporary' : _a, link = props.link, hasCloseButton = props.hasCloseButton, onClose = props.onClose, className = props.className, rest = __rest(props, ["content", "category", "type", "link", "hasCloseButton", "onClose", "className"]);
104
143
  var StatusIcon = common_1.StatusIconMap[category];
105
- return (react_1.default.createElement("div", __assign({ className: classnames_1.default("iui-toast iui-" + category, className) }, rest),
144
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)("iui-toast iui-" + category, className) }, rest),
106
145
  react_1.default.createElement("div", { className: 'iui-status-area' }, react_1.default.createElement(StatusIcon, { className: 'iui-icon' })),
107
146
  react_1.default.createElement("div", { className: 'iui-message' }, content),
108
147
  link && (react_1.default.createElement("a", { className: 'iui-anchor', onClick: link.onClick }, link.title)),
@@ -25,8 +25,9 @@ var classnames_1 = __importDefault(require("classnames"));
25
25
  var Toast_1 = __importDefault(require("./Toast"));
26
26
  var ToastWrapper = function (props) {
27
27
  var toasts = props.toasts, _a = props.placement, placement = _a === void 0 ? 'top' : _a;
28
- return (react_1.default.createElement("span", { className: classnames_1.default("iui-toast-wrapper", "iui-placement-" + placement) }, toasts.map(function (toastProps) {
29
- return react_1.default.createElement(Toast_1.default, __assign({ key: toastProps.id }, toastProps));
28
+ var placementPosition = placement.startsWith('top') ? 'top' : 'bottom';
29
+ return (react_1.default.createElement("span", { className: (0, classnames_1.default)("iui-toast-wrapper", "iui-placement-" + placement) }, toasts.map(function (toastProps) {
30
+ return (react_1.default.createElement(Toast_1.default, __assign({ key: toastProps.id, placementPosition: placementPosition }, toastProps)));
30
31
  })));
31
32
  };
32
33
  exports.ToastWrapper = ToastWrapper;
@@ -10,10 +10,14 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
14
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
15
- to[j] = from[i];
16
- return to;
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
17
21
  };
18
22
  var __importDefault = (this && this.__importDefault) || function (mod) {
19
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -65,14 +69,13 @@ var Toaster = /** @class */ (function () {
65
69
  var _this = this;
66
70
  ++this.lastId;
67
71
  var currentId = this.lastId;
68
- this.toasts = __spreadArray(__spreadArray(__spreadArray([], (this.settings.order === 'ascending' ? this.toasts : [])), [
69
- __assign(__assign({}, options), { content: content,
70
- category: category, onRemove: function () {
72
+ this.toasts = __spreadArray(__spreadArray(__spreadArray([], (this.settings.order === 'ascending' ? this.toasts : []), true), [
73
+ __assign(__assign({}, options), { content: content, category: category, onRemove: function () {
71
74
  var _a;
72
75
  _this.removeToast(currentId);
73
76
  (_a = options === null || options === void 0 ? void 0 : options.onRemove) === null || _a === void 0 ? void 0 : _a.call(options);
74
77
  }, id: currentId, isVisible: true })
75
- ]), (this.settings.order === 'descending' ? this.toasts : []));
78
+ ], false), (this.settings.order === 'descending' ? this.toasts : []), true);
76
79
  this.updateView();
77
80
  };
78
81
  Toaster.prototype.removeToast = function (id) {
@@ -80,7 +83,7 @@ var Toaster = /** @class */ (function () {
80
83
  this.updateView();
81
84
  };
82
85
  Toaster.prototype.updateView = function () {
83
- var container = common_1.getContainer(TOASTS_CONTAINER_ID);
86
+ var container = (0, common_1.getContainer)(TOASTS_CONTAINER_ID);
84
87
  if (!container) {
85
88
  return;
86
89
  }
@@ -55,21 +55,21 @@ require("@itwin/itwinui-css/css/toggle-switch.css");
55
55
  */
56
56
  exports.ToggleSwitch = react_1.default.forwardRef(function (props, ref) {
57
57
  var _a = props.disabled, disabled = _a === void 0 ? false : _a, _b = props.labelPosition, labelPosition = _b === void 0 ? 'right' : _b, icon = props.icon, label = props.label, _c = props.setFocus, setFocus = _c === void 0 ? false : _c, className = props.className, style = props.style, rest = __rest(props, ["disabled", "labelPosition", "icon", "label", "setFocus", "className", "style"]);
58
- useTheme_1.useTheme();
58
+ (0, useTheme_1.useTheme)();
59
59
  var inputElementRef = react_1.default.useRef(null);
60
- var refs = useMergedRefs_1.useMergedRefs(inputElementRef, ref);
60
+ var refs = (0, useMergedRefs_1.useMergedRefs)(inputElementRef, ref);
61
61
  react_1.default.useEffect(function () {
62
62
  if (inputElementRef.current && setFocus) {
63
63
  inputElementRef.current.focus();
64
64
  }
65
65
  }, [setFocus]);
66
- return (react_1.default.createElement("label", { className: classnames_1.default('iui-toggle-switch', { 'iui-disabled': disabled }, className), style: style },
66
+ return (react_1.default.createElement("label", { className: (0, classnames_1.default)('iui-toggle-switch', { 'iui-disabled': disabled }, className), style: style },
67
67
  react_1.default.createElement("input", __assign({ type: 'checkbox', disabled: disabled, ref: refs }, rest)),
68
68
  labelPosition === 'left' && label && (react_1.default.createElement("span", { className: 'iui-label' }, label)),
69
69
  react_1.default.createElement("span", { className: 'iui-toggle' },
70
70
  icon &&
71
71
  react_1.default.cloneElement(icon, {
72
- className: classnames_1.default('iui-icon', icon.props.className),
72
+ className: (0, classnames_1.default)('iui-icon', icon.props.className),
73
73
  }),
74
74
  react_1.default.createElement("span", { className: 'iui-handle' })),
75
75
  labelPosition === 'right' && label && (react_1.default.createElement("span", { className: 'iui-label' }, label))));
@@ -48,8 +48,8 @@ var Popover_1 = require("../utils/Popover");
48
48
  */
49
49
  var Tooltip = function (props) {
50
50
  var content = props.content, children = props.children, className = props.className, style = props.style, visible = props.visible, ref = props.ref, id = props.id, rest = __rest(props, ["content", "children", "className", "style", "visible", "ref", "id"]);
51
- useTheme_1.useTheme();
52
- return (react_1.default.createElement(Popover_1.Popover, __assign({ visible: visible, interactive: false, content: react_1.default.createElement("div", { className: classnames_1.default('iui-tooltip', className), style: style, role: 'tooltip', id: id }, content), offset: [0, 4], ref: ref }, rest), children && react_1.default.cloneElement(children, { title: undefined })));
51
+ (0, useTheme_1.useTheme)();
52
+ return (react_1.default.createElement(Popover_1.Popover, __assign({ visible: visible, interactive: false, content: react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-tooltip', className), style: style, role: 'tooltip', id: id }, content), offset: [0, 4], ref: ref }, rest), children && react_1.default.cloneElement(children, { title: undefined })));
53
53
  };
54
54
  exports.Tooltip = Tooltip;
55
55
  exports.default = exports.Tooltip;
@@ -44,8 +44,8 @@ require("@itwin/itwinui-css/css/blockquote.css");
44
44
  */
45
45
  exports.Blockquote = react_1.default.forwardRef(function (props, ref) {
46
46
  var className = props.className, children = props.children, footer = props.footer, rest = __rest(props, ["className", "children", "footer"]);
47
- useTheme_1.useTheme();
48
- return (react_1.default.createElement("blockquote", __assign({ className: classnames_1.default('iui-blockquote', className), ref: ref }, rest),
47
+ (0, useTheme_1.useTheme)();
48
+ return (react_1.default.createElement("blockquote", __assign({ className: (0, classnames_1.default)('iui-blockquote', className), ref: ref }, rest),
49
49
  children,
50
50
  footer && react_1.default.createElement("footer", null, footer)));
51
51
  });
@@ -42,8 +42,8 @@ require("@itwin/itwinui-css/css/text.css");
42
42
  */
43
43
  exports.Body = react_1.default.forwardRef(function (props, ref) {
44
44
  var className = props.className, _a = props.isMuted, isMuted = _a === void 0 ? false : _a, _b = props.isSkeleton, isSkeleton = _b === void 0 ? false : _b, rest = __rest(props, ["className", "isMuted", "isSkeleton"]);
45
- useTheme_1.useTheme();
46
- return (react_1.default.createElement("p", __assign({ ref: ref, className: classnames_1.default('iui-text-block', 'iui-text-spacing', {
45
+ (0, useTheme_1.useTheme)();
46
+ return (react_1.default.createElement("p", __assign({ ref: ref, className: (0, classnames_1.default)('iui-text-block', 'iui-text-spacing', {
47
47
  'iui-text-muted': isMuted,
48
48
  'iui-skeleton': isSkeleton,
49
49
  }, className) }, rest)));
@@ -41,8 +41,8 @@ require("@itwin/itwinui-css/css/code.css");
41
41
  */
42
42
  var Code = function (props) {
43
43
  var className = props.className, children = props.children, rest = __rest(props, ["className", "children"]);
44
- useTheme_1.useTheme();
45
- return (react_1.default.createElement("code", __assign({ className: classnames_1.default('iui-code', className) }, rest), children));
44
+ (0, useTheme_1.useTheme)();
45
+ return (react_1.default.createElement("code", __assign({ className: (0, classnames_1.default)('iui-code', className) }, rest), children));
46
46
  };
47
47
  exports.Code = Code;
48
48
  exports.default = exports.Code;
@@ -42,7 +42,7 @@ require("@itwin/itwinui-css/css/text.css");
42
42
  */
43
43
  exports.Headline = react_1.default.forwardRef(function (props, ref) {
44
44
  var className = props.className, _a = props.isMuted, isMuted = _a === void 0 ? false : _a, rest = __rest(props, ["className", "isMuted"]);
45
- useTheme_1.useTheme();
46
- return (react_1.default.createElement("h1", __assign({ ref: ref, className: classnames_1.default('iui-text-headline', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
45
+ (0, useTheme_1.useTheme)();
46
+ return (react_1.default.createElement("h1", __assign({ ref: ref, className: (0, classnames_1.default)('iui-text-headline', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
47
47
  });
48
48
  exports.default = exports.Headline;
@@ -60,8 +60,8 @@ exports.KbdKeys = {
60
60
  */
61
61
  var Kbd = function (props) {
62
62
  var className = props.className, children = props.children, rest = __rest(props, ["className", "children"]);
63
- useTheme_1.useTheme();
64
- return (react_1.default.createElement("kbd", __assign({ className: classnames_1.default('iui-keyboard', className) }, rest), children));
63
+ (0, useTheme_1.useTheme)();
64
+ return (react_1.default.createElement("kbd", __assign({ className: (0, classnames_1.default)('iui-keyboard', className) }, rest), children));
65
65
  };
66
66
  exports.Kbd = Kbd;
67
67
  exports.default = exports.Kbd;
@@ -42,7 +42,7 @@ require("@itwin/itwinui-css/css/text.css");
42
42
  */
43
43
  exports.Leading = react_1.default.forwardRef(function (props, ref) {
44
44
  var className = props.className, _a = props.isMuted, isMuted = _a === void 0 ? false : _a, rest = __rest(props, ["className", "isMuted"]);
45
- useTheme_1.useTheme();
46
- return (react_1.default.createElement("h3", __assign({ ref: ref, className: classnames_1.default('iui-text-leading', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
45
+ (0, useTheme_1.useTheme)();
46
+ return (react_1.default.createElement("h3", __assign({ ref: ref, className: (0, classnames_1.default)('iui-text-leading', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
47
47
  });
48
48
  exports.default = exports.Leading;
@@ -42,7 +42,7 @@ require("@itwin/itwinui-css/css/text.css");
42
42
  */
43
43
  exports.Small = react_1.default.forwardRef(function (props, ref) {
44
44
  var className = props.className, _a = props.isMuted, isMuted = _a === void 0 ? false : _a, rest = __rest(props, ["className", "isMuted"]);
45
- useTheme_1.useTheme();
46
- return (react_1.default.createElement("p", __assign({ ref: ref, className: classnames_1.default('iui-text-small', { 'iui-text-muted': isMuted }, className) }, rest)));
45
+ (0, useTheme_1.useTheme)();
46
+ return (react_1.default.createElement("p", __assign({ ref: ref, className: (0, classnames_1.default)('iui-text-small', { 'iui-text-muted': isMuted }, className) }, rest)));
47
47
  });
48
48
  exports.default = exports.Small;
@@ -42,7 +42,7 @@ require("@itwin/itwinui-css/css/text.css");
42
42
  */
43
43
  exports.Subheading = react_1.default.forwardRef(function (props, ref) {
44
44
  var className = props.className, _a = props.isMuted, isMuted = _a === void 0 ? false : _a, rest = __rest(props, ["className", "isMuted"]);
45
- useTheme_1.useTheme();
46
- return (react_1.default.createElement("h3", __assign({ ref: ref, className: classnames_1.default('iui-text-subheading', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
45
+ (0, useTheme_1.useTheme)();
46
+ return (react_1.default.createElement("h3", __assign({ ref: ref, className: (0, classnames_1.default)('iui-text-subheading', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
47
47
  });
48
48
  exports.default = exports.Subheading;
@@ -47,8 +47,8 @@ require("@itwin/itwinui-css/css/text.css");
47
47
  var Text = function (props) {
48
48
  var _a;
49
49
  var _b = props.variant, variant = _b === void 0 ? 'body' : _b, _c = props.as, Element = _c === void 0 ? 'div' : _c, className = props.className, _d = props.isMuted, isMuted = _d === void 0 ? false : _d, _e = props.isSkeleton, isSkeleton = _e === void 0 ? false : _e, rest = __rest(props, ["variant", "as", "className", "isMuted", "isSkeleton"]);
50
- useTheme_1.useTheme();
51
- return (react_1.default.createElement(Element, __assign({ className: classnames_1.default((_a = {},
50
+ (0, useTheme_1.useTheme)();
51
+ return (react_1.default.createElement(Element, __assign({ className: (0, classnames_1.default)((_a = {},
52
52
  _a["iui-text-" + variant] = variant !== 'body',
53
53
  _a['iui-text-block'] = variant === 'body',
54
54
  _a['iui-text-muted'] = isMuted,
@@ -42,7 +42,7 @@ require("@itwin/itwinui-css/css/text.css");
42
42
  */
43
43
  exports.Title = react_1.default.forwardRef(function (props, ref) {
44
44
  var className = props.className, _a = props.isMuted, isMuted = _a === void 0 ? false : _a, rest = __rest(props, ["className", "isMuted"]);
45
- useTheme_1.useTheme();
46
- return (react_1.default.createElement("h2", __assign({ ref: ref, className: classnames_1.default('iui-text-title', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
45
+ (0, useTheme_1.useTheme)();
46
+ return (react_1.default.createElement("h2", __assign({ ref: ref, className: (0, classnames_1.default)('iui-text-title', 'iui-text-spacing', { 'iui-text-muted': isMuted }, className) }, rest)));
47
47
  });
48
48
  exports.default = exports.Title;
@@ -61,7 +61,7 @@ exports.defaultStatusTitles = {
61
61
  var UserIcon = function (props) {
62
62
  var _a, _b;
63
63
  var _c = props.size, size = _c === void 0 ? 'small' : _c, status = props.status, abbreviation = props.abbreviation, image = props.image, _d = props.backgroundColor, backgroundColor = _d === void 0 ? 'white' : _d, title = props.title, translatedStatusTitles = props.translatedStatusTitles, className = props.className, style = props.style, rest = __rest(props, ["size", "status", "abbreviation", "image", "backgroundColor", "title", "translatedStatusTitles", "className", "style"]);
64
- useTheme_1.useTheme();
64
+ (0, useTheme_1.useTheme)();
65
65
  var statusTitles = __assign(__assign({}, exports.defaultStatusTitles), translatedStatusTitles);
66
66
  var iconMap = {
67
67
  away: react_1.default.createElement(Away_1.default, { className: 'iui-status-symbol', "aria-hidden": true }),
@@ -69,9 +69,9 @@ var UserIcon = function (props) {
69
69
  online: react_1.default.createElement(Checkmark_1.default, { className: 'iui-status-symbol', "aria-hidden": true }),
70
70
  busy: react_1.default.createElement(react_1.default.Fragment, null),
71
71
  };
72
- return (react_1.default.createElement("span", __assign({ className: classnames_1.default('iui-user-icon', (_a = {}, _a["iui-" + size] = size !== 'medium', _a), className), title: title, style: style }, rest), image !== null && image !== void 0 ? image : (react_1.default.createElement("abbr", { className: 'iui-initials', style: { backgroundColor: backgroundColor } }, abbreviation === null || abbreviation === void 0 ? void 0 : abbreviation.substring(0, 2))),
72
+ return (react_1.default.createElement("span", __assign({ className: (0, classnames_1.default)('iui-user-icon', (_a = {}, _a["iui-" + size] = size !== 'medium', _a), className), title: title, style: style }, rest), image !== null && image !== void 0 ? image : (react_1.default.createElement("abbr", { className: 'iui-initials', style: { backgroundColor: backgroundColor } }, abbreviation === null || abbreviation === void 0 ? void 0 : abbreviation.substring(0, 2))),
73
73
  react_1.default.createElement("span", { className: 'iui-stroke' }),
74
- status && (react_1.default.createElement("span", { title: statusTitles[status], className: classnames_1.default('iui-status', (_b = {},
74
+ status && (react_1.default.createElement("span", { title: statusTitles[status], className: (0, classnames_1.default)('iui-status', (_b = {},
75
75
  _b["iui-" + status] = !!status,
76
76
  _b)), "aria-label": statusTitles[status] }, iconMap[status]))));
77
77
  };
@@ -67,7 +67,7 @@ var UserIconGroup = function (props) {
67
67
  var children = props.children, _b = props.animated, animated = _b === void 0 ? false : _b, _c = props.stacked, stacked = _c === void 0 ? true : _c, _d = props.maxIcons, maxIcons = _d === void 0 ? 5 : _d, _e = props.iconSize, iconSize = _e === void 0 ? 'small' : _e, countIconProps = props.countIconProps, className = props.className, rest = __rest(props, ["children", "animated", "stacked", "maxIcons", "iconSize", "countIconProps", "className"]);
68
68
  var childrenArray = react_1.default.Children.toArray(children);
69
69
  var childrenLength = childrenArray.length;
70
- useTheme_1.useTheme();
70
+ (0, useTheme_1.useTheme)();
71
71
  var getUserIconList = function (count) {
72
72
  return childrenArray.slice(0, count).map(function (child) {
73
73
  return react_1.default.cloneElement(child, {
@@ -77,14 +77,14 @@ var UserIconGroup = function (props) {
77
77
  });
78
78
  };
79
79
  return (react_1.default.createElement(react_1.default.Fragment, null,
80
- react_1.default.createElement("div", __assign({ className: classnames_1.default('iui-user-icon-list', {
80
+ react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-user-icon-list', {
81
81
  'iui-animated': animated,
82
82
  'iui-stacked': stacked,
83
83
  }, className) }, rest),
84
84
  childrenArray.length <= maxIcons + 1 && getUserIconList(maxIcons + 1),
85
85
  childrenArray.length > maxIcons + 1 && (react_1.default.createElement(react_1.default.Fragment, null,
86
86
  getUserIconList(maxIcons),
87
- react_1.default.createElement("div", __assign({}, countIconProps, { className: classnames_1.default('iui-user-icon', (_a = {}, _a["iui-" + iconSize] = iconSize !== 'medium', _a), 'iui-user-icon-count', countIconProps === null || countIconProps === void 0 ? void 0 : countIconProps.className) }),
87
+ react_1.default.createElement("div", __assign({}, countIconProps, { className: (0, classnames_1.default)('iui-user-icon', (_a = {}, _a["iui-" + iconSize] = iconSize !== 'medium', _a), 'iui-user-icon-count', countIconProps === null || countIconProps === void 0 ? void 0 : countIconProps.className) }),
88
88
  react_1.default.createElement("abbr", { className: 'iui-initials' }, childrenLength <= maxLength
89
89
  ? "" + (childrenLength - maxIcons)
90
90
  : maxLength + "+"),
@@ -51,7 +51,7 @@ var Step = function (props) {
51
51
  onCompletedClick();
52
52
  }
53
53
  };
54
- var stepShape = (react_1.default.createElement("li", __assign({ className: classnames_1.default('iui-wizard-step', {
54
+ var stepShape = (react_1.default.createElement("li", __assign({ className: (0, classnames_1.default)('iui-wizard-step', {
55
55
  'iui-current': isActive,
56
56
  'iui-clickable': isClickable,
57
57
  }, className), style: __assign({ width: type === 'default' ? 100 / totalSteps + "%" : undefined }, style), onClick: onCompletedClick, onKeyDown: onKeyDown, "aria-current": isActive ? 'step' : undefined, tabIndex: isClickable ? 0 : undefined }, rest),
@@ -56,8 +56,8 @@ var defaultWizardLocalization = {
56
56
  exports.Wizard = react_1.default.forwardRef(function (props, ref) {
57
57
  var currentStep = props.currentStep, steps = props.steps, _a = props.type, type = _a === void 0 ? 'default' : _a, _b = props.localization, localization = _b === void 0 ? defaultWizardLocalization : _b, onStepClick = props.onStepClick, rest = __rest(props, ["currentStep", "steps", "type", "localization", "onStepClick"]);
58
58
  var boundedCurrentStep = Math.min(Math.max(0, currentStep !== null && currentStep !== void 0 ? currentStep : 0), steps.length - 1);
59
- useTheme_1.useTheme();
60
- return (react_1.default.createElement("div", __assign({ className: classnames_1.default('iui-wizard', {
59
+ (0, useTheme_1.useTheme)();
60
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-wizard', {
61
61
  'iui-long': type === 'long',
62
62
  'iui-workflow': type === 'workflow',
63
63
  }), ref: ref }, rest),
@@ -19,7 +19,7 @@ var FocusTrap = function (props) {
19
19
  var children = props.children;
20
20
  var childRef = react_1.default.useRef();
21
21
  var getFirstLastFocusables = function () {
22
- var elements = common_1.getFocusableElements(childRef.current);
22
+ var elements = (0, common_1.getFocusableElements)(childRef.current);
23
23
  var firstElement = elements[0];
24
24
  var lastElement = elements[(elements.length || 1) - 1];
25
25
  return [firstElement, lastElement];
@@ -47,7 +47,7 @@ var FocusTrap = function (props) {
47
47
  return (react_1.default.createElement("div", null,
48
48
  react_1.default.createElement("div", { tabIndex: 0, onFocus: onFirstFocus, "aria-hidden": true }),
49
49
  react_1.default.cloneElement(children, {
50
- ref: useMergedRefs_1.mergeRefs(children.ref, childRef),
50
+ ref: (0, useMergedRefs_1.mergeRefs)(children.ref, childRef),
51
51
  }),
52
52
  react_1.default.createElement("div", { tabIndex: 0, onFocus: onLastFocus, "aria-hidden": true })));
53
53
  };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export declare type InputContainerProps<T extends React.ElementType = 'div'> = {
3
+ as?: T;
4
+ label?: React.ReactNode;
5
+ disabled?: boolean;
6
+ required?: boolean;
7
+ status?: 'positive' | 'warning' | 'negative';
8
+ message?: React.ReactNode;
9
+ icon?: JSX.Element;
10
+ isLabelInline?: boolean;
11
+ isIconInline?: boolean;
12
+ } & React.ComponentPropsWithoutRef<T>;
13
+ /**
14
+ * Input container to wrap inputs with label, and add optional message and icon.
15
+ * @private
16
+ */
17
+ export declare const InputContainer: <T extends React.ElementType<any> = "div">(props: InputContainerProps<T>) => JSX.Element;
@@ -0,0 +1,39 @@
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.InputContainer = void 0;
7
+ /*---------------------------------------------------------------------------------------------
8
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
+ * See LICENSE.md in the project root for license terms and full copyright notice.
10
+ *--------------------------------------------------------------------------------------------*/
11
+ var react_1 = __importDefault(require("react"));
12
+ var classnames_1 = __importDefault(require("classnames"));
13
+ /**
14
+ * Input container to wrap inputs with label, and add optional message and icon.
15
+ * @private
16
+ */
17
+ var InputContainer = function (props) {
18
+ var _a;
19
+ var _b;
20
+ var _c = props.as, Element = _c === void 0 ? 'div' : _c, label = props.label, disabled = props.disabled, required = props.required, status = props.status, message = props.message, icon = props.icon, isLabelInline = props.isLabelInline, isIconInline = props.isIconInline, children = props.children, className = props.className, style = props.style;
21
+ return (react_1.default.createElement(Element, { className: (0, classnames_1.default)('iui-input-container', (_a = {
22
+ 'iui-disabled': disabled
23
+ },
24
+ _a["iui-" + status] = !!status,
25
+ _a['iui-inline-label'] = isLabelInline,
26
+ _a['iui-inline-icon'] = isIconInline,
27
+ _a['iui-with-message'] = !!message && !isLabelInline,
28
+ _a), className), style: style },
29
+ label && (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-label', {
30
+ 'iui-required': required,
31
+ }) }, label)),
32
+ children,
33
+ icon &&
34
+ react_1.default.cloneElement(icon, {
35
+ className: (0, classnames_1.default)('iui-input-icon', (_b = icon.props) === null || _b === void 0 ? void 0 : _b.className),
36
+ }),
37
+ message && !isLabelInline && (react_1.default.createElement("div", { className: 'iui-message' }, message))));
38
+ };
39
+ exports.InputContainer = InputContainer;
@@ -14,10 +14,14 @@ var __assign = (this && this.__assign) || function () {
14
14
  };
15
15
  return __assign.apply(this, arguments);
16
16
  };
17
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
18
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
19
- to[j] = from[i];
20
- return to;
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
21
25
  };
22
26
  var __importDefault = (this && this.__importDefault) || function (mod) {
23
27
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -35,7 +39,7 @@ var useMergedRefs_1 = require("./hooks/useMergedRefs");
35
39
  exports.Popover = react_1.default.forwardRef(function (props, ref) {
36
40
  var _a = react_1.default.useState(false), mounted = _a[0], setMounted = _a[1];
37
41
  var tippyRef = react_1.default.useRef(null);
38
- var refs = useMergedRefs_1.useMergedRefs(tippyRef, ref);
42
+ var refs = (0, useMergedRefs_1.useMergedRefs)(tippyRef, ref);
39
43
  // Plugin to allow lazy mounting. See https://github.com/atomiks/tippyjs-react#lazy-mounting
40
44
  var lazyLoad = {
41
45
  fn: function () { return ({
@@ -59,7 +63,7 @@ exports.Popover = react_1.default.forwardRef(function (props, ref) {
59
63
  lazyLoad,
60
64
  removeTabIndex,
61
65
  exports.hideOnEscOrTab
62
- ], (props.plugins || [])) });
66
+ ], (props.plugins || []), true) });
63
67
  if (props.render) {
64
68
  var render_1 = props.render;
65
69
  computedProps.render = function () {
@@ -84,7 +84,7 @@ exports.getUserColor = getUserColor;
84
84
  */
85
85
  var getContainer = function (containerId, ownerDocument) {
86
86
  var _a;
87
- if (ownerDocument === void 0) { ownerDocument = exports.getDocument(); }
87
+ if (ownerDocument === void 0) { ownerDocument = (0, exports.getDocument)(); }
88
88
  var container = (_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.getElementById(containerId)) !== null && _a !== void 0 ? _a : undefined;
89
89
  if (container == null && !!ownerDocument) {
90
90
  container = ownerDocument.createElement('div');
@@ -27,7 +27,7 @@ var useIntersection = function (onIntersect, options) {
27
27
  var observer = react_1.default.useRef();
28
28
  var setRef = react_1.default.useCallback(function (node) {
29
29
  var _a;
30
- if (!((_a = common_1.getWindow()) === null || _a === void 0 ? void 0 : _a.IntersectionObserver)) {
30
+ if (!((_a = (0, common_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.IntersectionObserver)) {
31
31
  return;
32
32
  }
33
33
  if (observer.current) {
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
3
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
4
- to[j] = from[i];
5
- return to;
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
6
10
  };
7
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
8
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -43,6 +47,6 @@ var useMergedRefs = function () {
43
47
  refs[_i] = arguments[_i];
44
48
  }
45
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
- return react_1.default.useCallback(exports.mergeRefs.apply(void 0, refs), __spreadArray([], refs));
50
+ return react_1.default.useCallback(exports.mergeRefs.apply(void 0, refs), __spreadArray([], refs, true));
47
51
  };
48
52
  exports.useMergedRefs = useMergedRefs;
@@ -46,9 +46,9 @@ var useOverflow = function (items, disabled) {
46
46
  var width = _a.width;
47
47
  return setContainerWidth(width);
48
48
  }, []);
49
- var _c = useResizeObserver_1.useResizeObserver(updateContainerWidth), resizeRef = _c[0], observer = _c[1];
49
+ var _c = (0, useResizeObserver_1.useResizeObserver)(updateContainerWidth), resizeRef = _c[0], observer = _c[1];
50
50
  var resizeObserverRef = react_1.default.useRef(observer);
51
- var mergedRefs = useMergedRefs_1.useMergedRefs(containerRef, resizeRef);
51
+ var mergedRefs = (0, useMergedRefs_1.useMergedRefs)(containerRef, resizeRef);
52
52
  react_1.default.useLayoutEffect(function () {
53
53
  var _a;
54
54
  if (!containerRef.current || disabled) {
@@ -26,7 +26,7 @@ var useResizeObserver = function (onResize) {
26
26
  var resizeObserver = react_1.default.useRef();
27
27
  var elementRef = react_1.default.useCallback(function (element) {
28
28
  var _a, _b, _c;
29
- if (!((_a = common_1.getWindow()) === null || _a === void 0 ? void 0 : _a.ResizeObserver)) {
29
+ if (!((_a = (0, common_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.ResizeObserver)) {
30
30
  return;
31
31
  }
32
32
  (_b = resizeObserver.current) === null || _b === void 0 ? void 0 : _b.disconnect();
@@ -19,7 +19,7 @@ var common_1 = require("../common");
19
19
  */
20
20
  var useTheme = function (theme, themeOptions) {
21
21
  var _a;
22
- var ownerDocument = (_a = themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.ownerDocument) !== null && _a !== void 0 ? _a : common_1.getDocument();
22
+ var ownerDocument = (_a = themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.ownerDocument) !== null && _a !== void 0 ? _a : (0, common_1.getDocument)();
23
23
  react_1.default.useLayoutEffect(function () {
24
24
  if (!(ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.body.classList.contains('iui-body'))) {
25
25
  ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.body.classList.add('iui-body');
@@ -38,7 +38,7 @@ var useTheme = function (theme, themeOptions) {
38
38
  addDarkTheme(ownerDocument);
39
39
  break;
40
40
  case 'os':
41
- if ((_b = (_a = common_1.getWindow()) === null || _a === void 0 ? void 0 : _a.matchMedia) === null || _b === void 0 ? void 0 : _b.call(_a, '(prefers-color-scheme: dark)').matches) {
41
+ if ((_b = (_a = (0, common_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.matchMedia) === null || _b === void 0 ? void 0 : _b.call(_a, '(prefers-color-scheme: dark)').matches) {
42
42
  addDarkTheme(ownerDocument);
43
43
  }
44
44
  else {
@@ -71,6 +71,6 @@ export var Checkbox = React.forwardRef(function (props, ref) {
71
71
  !isLoading && (React.createElement("svg", { viewBox: '0 0 16 16', "aria-hidden": 'true', focusable: 'false' },
72
72
  React.createElement("path", { className: 'iui-check', d: 'M6,14L0,8l2-2l4,4l8-8l2,2L6,14z' }),
73
73
  React.createElement("path", { className: 'iui-check-partial', d: 'm1 6.5h14v3h-14z' })))),
74
- label && React.createElement("div", { className: 'iui-label' }, label)));
74
+ label && React.createElement("span", { className: 'iui-label' }, label)));
75
75
  });
76
76
  export default Checkbox;