@itwin/itwinui-react 1.20.0 → 1.21.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.
- package/CHANGELOG.md +7 -0
- package/cjs/core/Alert/Alert.d.ts +1 -1
- package/cjs/core/Alert/Alert.js +3 -4
- package/cjs/core/Badge/Badge.d.ts +1 -2
- package/cjs/core/Badge/Badge.js +4 -5
- package/cjs/core/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/cjs/core/Breadcrumbs/Breadcrumbs.js +4 -6
- package/cjs/core/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/cjs/core/ButtonGroup/ButtonGroup.js +3 -4
- package/cjs/core/Buttons/Button/Button.js +2 -2
- package/cjs/core/Buttons/DropdownButton/DropdownButton.js +3 -4
- package/cjs/core/Buttons/IconButton/IconButton.js +2 -2
- package/cjs/core/Buttons/IdeasButton/IdeasButton.js +2 -2
- package/cjs/core/Buttons/SplitButton/SplitButton.js +2 -2
- package/cjs/core/Checkbox/Checkbox.js +3 -4
- package/cjs/core/ComboBox/ComboBox.d.ts +51 -0
- package/cjs/core/ComboBox/ComboBox.js +268 -0
- package/cjs/core/ComboBox/index.d.ts +4 -0
- package/cjs/core/ComboBox/index.js +10 -0
- package/cjs/core/DatePicker/DatePicker.js +2 -2
- package/cjs/core/DropdownMenu/DropdownMenu.d.ts +1 -2
- package/cjs/core/DropdownMenu/DropdownMenu.js +4 -6
- package/cjs/core/ErrorPage/ErrorPage.js +2 -2
- package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +1 -1
- package/cjs/core/ExpandableBlock/ExpandableBlock.js +3 -4
- package/cjs/core/Fieldset/Fieldset.js +2 -2
- package/cjs/core/FileUpload/FileUpload.d.ts +2 -2
- package/cjs/core/FileUpload/FileUpload.js +3 -4
- package/cjs/core/FileUpload/FileUploadTemplate.js +2 -2
- package/cjs/core/Footer/Footer.d.ts +1 -1
- package/cjs/core/Footer/Footer.js +2 -2
- package/cjs/core/Header/Header.d.ts +1 -1
- package/cjs/core/Header/Header.js +2 -2
- package/cjs/core/Header/HeaderBreadcrumbs.js +2 -2
- package/cjs/core/Header/HeaderButton.js +2 -2
- package/cjs/core/Header/HeaderLogo.d.ts +1 -1
- package/cjs/core/Header/HeaderLogo.js +2 -2
- package/cjs/core/Input/Input.js +3 -4
- package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
- package/cjs/core/InputGroup/InputGroup.js +4 -6
- package/cjs/core/LabeledInput/LabeledInput.js +4 -6
- package/cjs/core/LabeledSelect/LabeledSelect.js +4 -6
- package/cjs/core/LabeledTextarea/LabeledTextarea.js +4 -6
- package/cjs/core/Menu/Menu.d.ts +11 -1
- package/cjs/core/Menu/Menu.js +11 -11
- package/cjs/core/Menu/MenuDivider.js +2 -2
- package/cjs/core/Menu/MenuItem.d.ts +2 -2
- package/cjs/core/Menu/MenuItem.js +5 -7
- package/cjs/core/Modal/Modal.d.ts +1 -1
- package/cjs/core/Modal/Modal.js +5 -7
- package/cjs/core/Modal/ModalButtonBar.js +2 -2
- package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +1 -1
- package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +2 -2
- package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +1 -1
- package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +2 -2
- package/cjs/core/Radio/Radio.js +3 -4
- package/cjs/core/RadioTiles/RadioTile.js +3 -4
- package/cjs/core/RadioTiles/RadioTileGroup.js +2 -2
- package/cjs/core/Select/Select.d.ts +1 -2
- package/cjs/core/Select/Select.js +4 -4
- package/cjs/core/SideNavigation/SideNavigation.d.ts +1 -1
- package/cjs/core/SideNavigation/SideNavigation.js +2 -2
- package/cjs/core/SideNavigation/SidenavButton.js +2 -2
- package/cjs/core/Slider/Slider.d.ts +1 -1
- package/cjs/core/Slider/Slider.js +7 -9
- package/cjs/core/Table/Table.d.ts +1 -1
- package/cjs/core/Table/Table.js +4 -4
- package/cjs/core/Table/TableRowMemoized.js +3 -4
- package/cjs/core/Table/filters/BaseFilter.d.ts +1 -1
- package/cjs/core/Table/filters/BaseFilter.js +2 -2
- package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +2 -2
- package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +2 -2
- package/cjs/core/Table/filters/FilterButtonBar.d.ts +1 -1
- package/cjs/core/Table/filters/FilterButtonBar.js +2 -2
- package/cjs/core/Table/filters/FilterToggle.d.ts +1 -1
- package/cjs/core/Table/filters/FilterToggle.js +4 -6
- package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +2 -2
- package/cjs/core/Table/filters/TextFilter/TextFilter.js +2 -2
- package/cjs/core/Tabs/Tab.js +2 -2
- package/cjs/core/Tabs/Tabs.js +6 -9
- package/cjs/core/Tag/Tag.d.ts +1 -1
- package/cjs/core/Tag/Tag.js +2 -2
- package/cjs/core/Tag/TagContainer.d.ts +1 -1
- package/cjs/core/Tag/TagContainer.js +2 -2
- package/cjs/core/Textarea/Textarea.js +3 -4
- package/cjs/core/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/cjs/core/ThemeProvider/ThemeProvider.js +2 -2
- package/cjs/core/Tile/Tile.d.ts +2 -2
- package/cjs/core/Tile/Tile.js +4 -4
- package/cjs/core/TimePicker/TimePicker.d.ts +1 -1
- package/cjs/core/TimePicker/TimePicker.js +2 -2
- package/cjs/core/Toast/Toast.d.ts +1 -1
- package/cjs/core/Toast/Toast.js +5 -6
- package/cjs/core/Toast/Toaster.js +2 -2
- package/cjs/core/ToggleSwitch/ToggleSwitch.d.ts +1 -1
- package/cjs/core/ToggleSwitch/ToggleSwitch.js +3 -4
- package/cjs/core/Tooltip/Tooltip.d.ts +1 -2
- package/cjs/core/Tooltip/Tooltip.js +3 -4
- package/cjs/core/Typography/Blockquote/Blockquote.js +2 -2
- package/cjs/core/Typography/Body/Body.js +2 -2
- package/cjs/core/Typography/Code/Code.d.ts +1 -1
- package/cjs/core/Typography/Code/Code.js +2 -2
- package/cjs/core/Typography/Headline/Headline.js +2 -2
- package/cjs/core/Typography/Kbd/Kbd.d.ts +1 -1
- package/cjs/core/Typography/Kbd/Kbd.js +2 -2
- package/cjs/core/Typography/Leading/Leading.js +2 -2
- package/cjs/core/Typography/Small/Small.js +2 -2
- package/cjs/core/Typography/Subheading/Subheading.js +2 -2
- package/cjs/core/Typography/Text/Text.d.ts +1 -1
- package/cjs/core/Typography/Text/Text.js +2 -2
- package/cjs/core/Typography/Title/Title.js +2 -2
- package/cjs/core/UserIcon/UserIcon.d.ts +1 -1
- package/cjs/core/UserIcon/UserIcon.js +2 -2
- package/cjs/core/UserIconGroup/UserIconGroup.d.ts +1 -1
- package/cjs/core/UserIconGroup/UserIconGroup.js +2 -2
- package/cjs/core/Wizard/Step.d.ts +1 -1
- package/cjs/core/Wizard/Wizard.js +2 -2
- package/cjs/core/index.d.ts +4 -3
- package/cjs/core/index.js +7 -6
- package/cjs/core/utils/{FocusTrap.d.ts → components/FocusTrap.d.ts} +0 -0
- package/cjs/core/utils/{FocusTrap.js → components/FocusTrap.js} +3 -3
- package/cjs/core/utils/{InputContainer.d.ts → components/InputContainer.d.ts} +0 -0
- package/cjs/core/utils/{InputContainer.js → components/InputContainer.js} +25 -3
- package/cjs/core/utils/{Popover.d.ts → components/Popover.d.ts} +1 -1
- package/cjs/core/utils/{Popover.js → components/Popover.js} +1 -1
- package/cjs/core/utils/components/icons.d.ts +8 -0
- package/cjs/core/utils/components/icons.js +32 -0
- package/cjs/core/utils/components/index.d.ts +4 -0
- package/cjs/core/utils/components/index.js +20 -0
- package/cjs/core/utils/functions/colors.d.ts +20 -0
- package/cjs/core/utils/functions/colors.js +52 -0
- package/cjs/core/utils/functions/dom.d.ts +18 -0
- package/cjs/core/utils/functions/dom.js +42 -0
- package/cjs/core/utils/functions/focusable.d.ts +8 -0
- package/cjs/core/utils/functions/focusable.js +34 -0
- package/cjs/core/utils/functions/index.d.ts +4 -0
- package/cjs/core/utils/functions/index.js +20 -0
- package/cjs/core/utils/functions/numbers.d.ts +8 -0
- package/cjs/core/utils/functions/numbers.js +27 -0
- package/cjs/core/utils/hooks/index.d.ts +6 -0
- package/cjs/core/utils/hooks/index.js +22 -0
- package/cjs/core/utils/hooks/useIntersection.js +2 -2
- package/cjs/core/utils/hooks/useResizeObserver.js +2 -2
- package/cjs/core/utils/hooks/useTheme.js +3 -3
- package/cjs/core/utils/index.d.ts +4 -0
- package/cjs/core/utils/index.js +20 -0
- package/esm/core/Alert/Alert.d.ts +1 -1
- package/esm/core/Alert/Alert.js +1 -2
- package/esm/core/Badge/Badge.d.ts +1 -2
- package/esm/core/Badge/Badge.js +1 -2
- package/esm/core/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/esm/core/Breadcrumbs/Breadcrumbs.js +1 -3
- package/esm/core/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/esm/core/ButtonGroup/ButtonGroup.js +1 -2
- package/esm/core/Buttons/Button/Button.js +1 -1
- package/esm/core/Buttons/DropdownButton/DropdownButton.js +1 -2
- package/esm/core/Buttons/IconButton/IconButton.js +1 -1
- package/esm/core/Buttons/IdeasButton/IdeasButton.js +1 -1
- package/esm/core/Buttons/SplitButton/SplitButton.js +1 -1
- package/esm/core/Checkbox/Checkbox.js +1 -2
- package/esm/core/ComboBox/ComboBox.d.ts +51 -0
- package/esm/core/ComboBox/ComboBox.js +261 -0
- package/esm/core/ComboBox/index.d.ts +4 -0
- package/esm/core/ComboBox/index.js +6 -0
- package/esm/core/DatePicker/DatePicker.js +1 -1
- package/esm/core/DropdownMenu/DropdownMenu.d.ts +1 -2
- package/esm/core/DropdownMenu/DropdownMenu.js +1 -3
- package/esm/core/ErrorPage/ErrorPage.js +1 -1
- package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +1 -1
- package/esm/core/ExpandableBlock/ExpandableBlock.js +1 -2
- package/esm/core/Fieldset/Fieldset.js +1 -1
- package/esm/core/FileUpload/FileUpload.d.ts +2 -2
- package/esm/core/FileUpload/FileUpload.js +1 -2
- package/esm/core/FileUpload/FileUploadTemplate.js +1 -1
- package/esm/core/Footer/Footer.d.ts +1 -1
- package/esm/core/Footer/Footer.js +1 -1
- package/esm/core/Header/Header.d.ts +1 -1
- package/esm/core/Header/Header.js +1 -1
- package/esm/core/Header/HeaderBreadcrumbs.js +1 -1
- package/esm/core/Header/HeaderButton.js +1 -1
- package/esm/core/Header/HeaderLogo.d.ts +1 -1
- package/esm/core/Header/HeaderLogo.js +1 -1
- package/esm/core/Input/Input.js +1 -2
- package/esm/core/InputGroup/InputGroup.d.ts +1 -1
- package/esm/core/InputGroup/InputGroup.js +1 -3
- package/esm/core/LabeledInput/LabeledInput.js +1 -3
- package/esm/core/LabeledSelect/LabeledSelect.js +1 -3
- package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -3
- package/esm/core/Menu/Menu.d.ts +11 -1
- package/esm/core/Menu/Menu.js +7 -7
- package/esm/core/Menu/MenuDivider.js +1 -1
- package/esm/core/Menu/MenuItem.d.ts +2 -2
- package/esm/core/Menu/MenuItem.js +2 -4
- package/esm/core/Modal/Modal.d.ts +1 -1
- package/esm/core/Modal/Modal.js +1 -3
- package/esm/core/Modal/ModalButtonBar.js +1 -1
- package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +1 -1
- package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +1 -1
- package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +1 -1
- package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +1 -1
- package/esm/core/Radio/Radio.js +1 -2
- package/esm/core/RadioTiles/RadioTile.js +1 -2
- package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
- package/esm/core/Select/Select.d.ts +1 -2
- package/esm/core/Select/Select.js +2 -2
- package/esm/core/SideNavigation/SideNavigation.d.ts +1 -1
- package/esm/core/SideNavigation/SideNavigation.js +1 -1
- package/esm/core/SideNavigation/SidenavButton.js +1 -1
- package/esm/core/Slider/Slider.d.ts +1 -1
- package/esm/core/Slider/Slider.js +1 -3
- package/esm/core/Table/Table.d.ts +1 -1
- package/esm/core/Table/Table.js +1 -1
- package/esm/core/Table/TableRowMemoized.js +1 -2
- package/esm/core/Table/filters/BaseFilter.d.ts +1 -1
- package/esm/core/Table/filters/BaseFilter.js +1 -1
- package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +1 -1
- package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +1 -1
- package/esm/core/Table/filters/FilterButtonBar.d.ts +1 -1
- package/esm/core/Table/filters/FilterButtonBar.js +1 -1
- package/esm/core/Table/filters/FilterToggle.d.ts +1 -1
- package/esm/core/Table/filters/FilterToggle.js +1 -3
- package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +1 -1
- package/esm/core/Table/filters/TextFilter/TextFilter.js +1 -1
- package/esm/core/Tabs/Tab.js +1 -1
- package/esm/core/Tabs/Tabs.js +1 -4
- package/esm/core/Tag/Tag.d.ts +1 -1
- package/esm/core/Tag/Tag.js +1 -1
- package/esm/core/Tag/TagContainer.d.ts +1 -1
- package/esm/core/Tag/TagContainer.js +1 -1
- package/esm/core/Textarea/Textarea.js +1 -2
- package/esm/core/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/esm/core/ThemeProvider/ThemeProvider.js +1 -1
- package/esm/core/Tile/Tile.d.ts +2 -2
- package/esm/core/Tile/Tile.js +3 -3
- package/esm/core/TimePicker/TimePicker.d.ts +1 -1
- package/esm/core/TimePicker/TimePicker.js +1 -1
- package/esm/core/Toast/Toast.d.ts +1 -1
- package/esm/core/Toast/Toast.js +1 -2
- package/esm/core/Toast/Toaster.js +1 -1
- package/esm/core/ToggleSwitch/ToggleSwitch.d.ts +1 -1
- package/esm/core/ToggleSwitch/ToggleSwitch.js +1 -2
- package/esm/core/Tooltip/Tooltip.d.ts +1 -2
- package/esm/core/Tooltip/Tooltip.js +1 -2
- package/esm/core/Typography/Blockquote/Blockquote.js +1 -1
- package/esm/core/Typography/Body/Body.js +1 -1
- package/esm/core/Typography/Code/Code.d.ts +1 -1
- package/esm/core/Typography/Code/Code.js +1 -1
- package/esm/core/Typography/Headline/Headline.js +1 -1
- package/esm/core/Typography/Kbd/Kbd.d.ts +1 -1
- package/esm/core/Typography/Kbd/Kbd.js +1 -1
- package/esm/core/Typography/Leading/Leading.js +1 -1
- package/esm/core/Typography/Small/Small.js +1 -1
- package/esm/core/Typography/Subheading/Subheading.js +1 -1
- package/esm/core/Typography/Text/Text.d.ts +1 -1
- package/esm/core/Typography/Text/Text.js +1 -1
- package/esm/core/Typography/Title/Title.js +1 -1
- package/esm/core/UserIcon/UserIcon.d.ts +1 -1
- package/esm/core/UserIcon/UserIcon.js +1 -1
- package/esm/core/UserIconGroup/UserIconGroup.d.ts +1 -1
- package/esm/core/UserIconGroup/UserIconGroup.js +1 -1
- package/esm/core/Wizard/Step.d.ts +1 -1
- package/esm/core/Wizard/Wizard.js +1 -1
- package/esm/core/index.d.ts +4 -3
- package/esm/core/index.js +2 -2
- package/esm/core/utils/{FocusTrap.d.ts → components/FocusTrap.d.ts} +0 -0
- package/esm/core/utils/{FocusTrap.js → components/FocusTrap.js} +2 -2
- package/esm/core/utils/{InputContainer.d.ts → components/InputContainer.d.ts} +0 -0
- package/esm/core/utils/{InputContainer.js → components/InputContainer.js} +25 -3
- package/esm/core/utils/{Popover.d.ts → components/Popover.d.ts} +1 -1
- package/esm/core/utils/{Popover.js → components/Popover.js} +1 -1
- package/esm/core/utils/components/icons.d.ts +8 -0
- package/esm/core/utils/components/icons.js +26 -0
- package/esm/core/utils/components/index.d.ts +4 -0
- package/esm/core/utils/components/index.js +8 -0
- package/esm/core/utils/functions/colors.d.ts +20 -0
- package/esm/core/utils/functions/colors.js +47 -0
- package/esm/core/utils/functions/dom.d.ts +18 -0
- package/esm/core/utils/functions/dom.js +36 -0
- package/esm/core/utils/functions/focusable.d.ts +8 -0
- package/esm/core/utils/functions/focusable.js +29 -0
- package/esm/core/utils/functions/index.d.ts +4 -0
- package/esm/core/utils/functions/index.js +8 -0
- package/esm/core/utils/functions/numbers.d.ts +8 -0
- package/esm/core/utils/functions/numbers.js +22 -0
- package/esm/core/utils/hooks/index.d.ts +6 -0
- package/esm/core/utils/hooks/index.js +10 -0
- package/esm/core/utils/hooks/useIntersection.js +1 -1
- package/esm/core/utils/hooks/useResizeObserver.js +1 -1
- package/esm/core/utils/hooks/useTheme.js +1 -1
- package/esm/core/utils/index.d.ts +4 -0
- package/esm/core/utils/index.js +8 -0
- package/package.json +5 -3
- package/cjs/core/utils/common.d.ts +0 -58
- package/cjs/core/utils/common.js +0 -146
- package/esm/core/utils/common.d.ts +0 -58
- package/esm/core/utils/common.js +0 -132
|
@@ -31,8 +31,8 @@ exports.UserIconGroup = 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 useTheme_1 = require("../utils/hooks/useTheme");
|
|
35
34
|
var classnames_1 = __importDefault(require("classnames"));
|
|
35
|
+
var utils_1 = require("../utils");
|
|
36
36
|
require("@itwin/itwinui-css/css/user-icon.css");
|
|
37
37
|
/**
|
|
38
38
|
* Group User Icons together.
|
|
@@ -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
|
-
(0,
|
|
70
|
+
(0, utils_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, {
|
|
@@ -32,7 +32,7 @@ exports.Wizard = void 0;
|
|
|
32
32
|
*--------------------------------------------------------------------------------------------*/
|
|
33
33
|
var classnames_1 = __importDefault(require("classnames"));
|
|
34
34
|
var react_1 = __importDefault(require("react"));
|
|
35
|
-
var
|
|
35
|
+
var utils_1 = require("../utils");
|
|
36
36
|
require("@itwin/itwinui-css/css/wizard.css");
|
|
37
37
|
var Step_1 = require("./Step");
|
|
38
38
|
var defaultWizardLocalization = {
|
|
@@ -56,7 +56,7 @@ 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
|
-
(0,
|
|
59
|
+
(0, utils_1.useTheme)();
|
|
60
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',
|
package/cjs/core/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export { ButtonGroup } from './ButtonGroup';
|
|
|
10
10
|
export type { ButtonGroupProps } from './ButtonGroup';
|
|
11
11
|
export { Checkbox } from './Checkbox';
|
|
12
12
|
export type { CheckboxProps } from './Checkbox';
|
|
13
|
+
export { ComboBox } from './ComboBox';
|
|
14
|
+
export type { ComboBoxProps } from './ComboBox';
|
|
13
15
|
export { DatePicker, generateLocalizedStrings } from './DatePicker';
|
|
14
16
|
export type { DatePickerProps } from './DatePicker';
|
|
15
17
|
export { DropdownMenu } from './DropdownMenu';
|
|
@@ -80,6 +82,5 @@ export { UserIconGroup } from './UserIconGroup';
|
|
|
80
82
|
export type { UserIconGroupProps } from './UserIconGroup';
|
|
81
83
|
export { Wizard } from './Wizard';
|
|
82
84
|
export type { WizardProps, StepProperties, WizardType, WizardLocalization, } from './Wizard';
|
|
83
|
-
export { getUserColor } from './utils
|
|
84
|
-
export {
|
|
85
|
-
export type { ThemeType } from './utils/hooks/useTheme';
|
|
85
|
+
export { getUserColor, useTheme } from './utils';
|
|
86
|
+
export type { ThemeType } from './utils';
|
package/cjs/core/index.js
CHANGED
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
exports.useTheme = exports.getUserColor = exports.Wizard = exports.UserIconGroup = exports.UserIcon = exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Title = exports.Subheading = exports.Small = exports.Leading = exports.Headline = exports.Body = exports.Tooltip = exports.ToggleSwitch = exports.ThemeProvider = exports.toaster = exports.TimePicker = exports.Tile = exports.Textarea = exports.TagContainer = exports.Tag = exports.EditableCell = void 0;
|
|
6
|
+
exports.FilterButtonBar = exports.tableFilters = exports.Table = exports.Slider = exports.SidenavButton = exports.SideNavigation = exports.Select = exports.RadioTileGroup = exports.RadioTile = exports.Radio = exports.ProgressRadial = exports.ProgressLinear = exports.ModalButtonBar = exports.Modal = exports.MenuDivider = exports.MenuItem = exports.Menu = exports.LabeledTextarea = exports.LabeledSelect = exports.InputGroup = exports.LabeledInput = exports.Input = exports.HorizontalTab = exports.HorizontalTabs = exports.Tab = exports.VerticalTabs = exports.HeaderLogo = exports.HeaderButton = exports.HeaderBreadcrumbs = exports.Header = exports.Footer = exports.FileUploadTemplate = exports.FileUpload = exports.Fieldset = exports.ExpandableBlock = exports.ErrorPage = exports.DropdownMenu = exports.generateLocalizedStrings = exports.DatePicker = exports.ComboBox = exports.Checkbox = exports.ButtonGroup = exports.SplitButton = exports.IdeasButton = exports.IconButton = exports.DropdownButton = exports.Button = exports.Breadcrumbs = exports.Badge = exports.Alert = void 0;
|
|
7
|
+
exports.useTheme = exports.getUserColor = exports.Wizard = exports.UserIconGroup = exports.UserIcon = exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Title = exports.Subheading = exports.Small = exports.Leading = exports.Headline = exports.Body = exports.Tooltip = exports.ToggleSwitch = exports.ThemeProvider = exports.toaster = exports.TimePicker = exports.Tile = exports.Textarea = exports.TagContainer = exports.Tag = exports.EditableCell = exports.DefaultCell = void 0;
|
|
8
8
|
/*---------------------------------------------------------------------------------------------
|
|
9
9
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
10
10
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -25,6 +25,8 @@ var ButtonGroup_1 = require("./ButtonGroup");
|
|
|
25
25
|
Object.defineProperty(exports, "ButtonGroup", { enumerable: true, get: function () { return ButtonGroup_1.ButtonGroup; } });
|
|
26
26
|
var Checkbox_1 = require("./Checkbox");
|
|
27
27
|
Object.defineProperty(exports, "Checkbox", { enumerable: true, get: function () { return Checkbox_1.Checkbox; } });
|
|
28
|
+
var ComboBox_1 = require("./ComboBox");
|
|
29
|
+
Object.defineProperty(exports, "ComboBox", { enumerable: true, get: function () { return ComboBox_1.ComboBox; } });
|
|
28
30
|
var DatePicker_1 = require("./DatePicker");
|
|
29
31
|
Object.defineProperty(exports, "DatePicker", { enumerable: true, get: function () { return DatePicker_1.DatePicker; } });
|
|
30
32
|
Object.defineProperty(exports, "generateLocalizedStrings", { enumerable: true, get: function () { return DatePicker_1.generateLocalizedStrings; } });
|
|
@@ -124,7 +126,6 @@ var UserIconGroup_1 = require("./UserIconGroup");
|
|
|
124
126
|
Object.defineProperty(exports, "UserIconGroup", { enumerable: true, get: function () { return UserIconGroup_1.UserIconGroup; } });
|
|
125
127
|
var Wizard_1 = require("./Wizard");
|
|
126
128
|
Object.defineProperty(exports, "Wizard", { enumerable: true, get: function () { return Wizard_1.Wizard; } });
|
|
127
|
-
var
|
|
128
|
-
Object.defineProperty(exports, "getUserColor", { enumerable: true, get: function () { return
|
|
129
|
-
|
|
130
|
-
Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return useTheme_1.useTheme; } });
|
|
129
|
+
var utils_1 = require("./utils");
|
|
130
|
+
Object.defineProperty(exports, "getUserColor", { enumerable: true, get: function () { return utils_1.getUserColor; } });
|
|
131
|
+
Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return utils_1.useTheme; } });
|
|
File without changes
|
|
@@ -9,8 +9,8 @@ exports.FocusTrap = void 0;
|
|
|
9
9
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
10
10
|
*--------------------------------------------------------------------------------------------*/
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
|
-
var
|
|
13
|
-
var useMergedRefs_1 = require("
|
|
12
|
+
var focusable_1 = require("../functions/focusable");
|
|
13
|
+
var useMergedRefs_1 = require("../hooks/useMergedRefs");
|
|
14
14
|
/**
|
|
15
15
|
* Trap focus within child container.
|
|
16
16
|
* Used for modals and dialogs.
|
|
@@ -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 = (0,
|
|
22
|
+
var elements = (0, focusable_1.getTabbableElements)(childRef.current);
|
|
23
23
|
var firstElement = elements[0];
|
|
24
24
|
var lastElement = elements[(elements.length || 1) - 1];
|
|
25
25
|
return [firstElement, lastElement];
|
|
File without changes
|
|
@@ -1,4 +1,26 @@
|
|
|
1
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
|
+
};
|
|
2
24
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
25
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
26
|
};
|
|
@@ -17,15 +39,15 @@ var classnames_1 = __importDefault(require("classnames"));
|
|
|
17
39
|
var InputContainer = function (props) {
|
|
18
40
|
var _a;
|
|
19
41
|
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 = {
|
|
42
|
+
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, rest = __rest(props, ["as", "label", "disabled", "required", "status", "message", "icon", "isLabelInline", "isIconInline", "children", "className", "style"]);
|
|
43
|
+
return (react_1.default.createElement(Element, __assign({ className: (0, classnames_1.default)('iui-input-container', (_a = {
|
|
22
44
|
'iui-disabled': disabled
|
|
23
45
|
},
|
|
24
46
|
_a["iui-" + status] = !!status,
|
|
25
47
|
_a['iui-inline-label'] = isLabelInline,
|
|
26
48
|
_a['iui-inline-icon'] = isIconInline,
|
|
27
49
|
_a['iui-with-message'] = !!message && !isLabelInline,
|
|
28
|
-
_a), className), style: style },
|
|
50
|
+
_a), className), style: style }, rest),
|
|
29
51
|
label && (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-label', {
|
|
30
52
|
'iui-required': required,
|
|
31
53
|
}) }, label)),
|
|
@@ -42,7 +42,7 @@ export declare const Popover: React.ForwardRefExoticComponent<Pick<{
|
|
|
42
42
|
* @see [tippy.js placement prop](https://atomiks.github.io/tippyjs/v6/all-props/#placement).
|
|
43
43
|
*/
|
|
44
44
|
placement?: import("@popperjs/core").Placement | undefined;
|
|
45
|
-
} & Omit<TippyProps, "
|
|
45
|
+
} & Omit<TippyProps, "placement" | "trigger" | "visible">, "disabled" | "placement" | "trigger" | "visible" | "content" | "render" | "animateFill" | "appendTo" | "aria" | "delay" | "duration" | "followCursor" | "getReferenceClientRect" | "hideOnClick" | "ignoreAttributes" | "inlinePositioning" | "interactive" | "interactiveBorder" | "interactiveDebounce" | "moveTransition" | "offset" | "plugins" | "popperOptions" | "showOnCreate" | "sticky" | "touch" | "triggerTarget" | "onAfterUpdate" | "onBeforeUpdate" | "onCreate" | "onDestroy" | "onHidden" | "onHide" | "onMount" | "onShow" | "onShown" | "onTrigger" | "onUntrigger" | "onClickOutside" | "allowHTML" | "animation" | "arrow" | "inertia" | "maxWidth" | "role" | "theme" | "zIndex" | "children" | "className" | "singleton" | "reference"> & React.RefAttributes<unknown>>;
|
|
46
46
|
/**
|
|
47
47
|
* Plugin to hide Popover when either Esc key is pressed,
|
|
48
48
|
* or when the content inside is not tabbable and Tab key is pressed.
|
|
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
30
30
|
exports.hideOnEscOrTab = exports.Popover = void 0;
|
|
31
31
|
var react_1 = __importDefault(require("react"));
|
|
32
32
|
var react_2 = __importDefault(require("@tippyjs/react"));
|
|
33
|
-
var useMergedRefs_1 = require("
|
|
33
|
+
var useMergedRefs_1 = require("../hooks/useMergedRefs");
|
|
34
34
|
/**
|
|
35
35
|
* Wrapper around [tippy.js](https://atomiks.github.io/tippyjs)
|
|
36
36
|
* with pre-configured props and plugins (e.g. lazy mounting, focus, etc).
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CommonProps } from '../props';
|
|
3
|
+
export declare const StatusIconMap: {
|
|
4
|
+
negative: (args?: CommonProps | undefined) => JSX.Element;
|
|
5
|
+
positive: (args?: CommonProps | undefined) => JSX.Element;
|
|
6
|
+
warning: (args?: CommonProps | undefined) => JSX.Element;
|
|
7
|
+
informational: (args?: CommonProps | undefined) => JSX.Element;
|
|
8
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.StatusIconMap = void 0;
|
|
18
|
+
/*---------------------------------------------------------------------------------------------
|
|
19
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
20
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
21
|
+
*--------------------------------------------------------------------------------------------*/
|
|
22
|
+
var InfoCircular_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/InfoCircular"));
|
|
23
|
+
var StatusError_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/StatusError"));
|
|
24
|
+
var StatusSuccess_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/StatusSuccess"));
|
|
25
|
+
var StatusWarning_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/StatusWarning"));
|
|
26
|
+
var react_1 = __importDefault(require("react"));
|
|
27
|
+
exports.StatusIconMap = {
|
|
28
|
+
negative: function (args) { return react_1.default.createElement(StatusError_1.default, __assign({ "aria-hidden": true }, args)); },
|
|
29
|
+
positive: function (args) { return react_1.default.createElement(StatusSuccess_1.default, __assign({ "aria-hidden": true }, args)); },
|
|
30
|
+
warning: function (args) { return react_1.default.createElement(StatusWarning_1.default, __assign({ "aria-hidden": true }, args)); },
|
|
31
|
+
informational: function (args) { return (react_1.default.createElement(InfoCircular_1.default, __assign({ "aria-hidden": true }, args))); },
|
|
32
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
/*---------------------------------------------------------------------------------------------
|
|
14
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
15
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
16
|
+
*--------------------------------------------------------------------------------------------*/
|
|
17
|
+
__exportStar(require("./Popover"), exports);
|
|
18
|
+
__exportStar(require("./FocusTrap"), exports);
|
|
19
|
+
__exportStar(require("./InputContainer"), exports);
|
|
20
|
+
__exportStar(require("./icons"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const SoftBackgrounds: {
|
|
2
|
+
readonly skyblue: "hsl(197, 71%, 83%)";
|
|
3
|
+
readonly celery: "hsl(72, 51%, 66%)";
|
|
4
|
+
readonly froly: "hsl(2, 90%, 83%)";
|
|
5
|
+
readonly steelblue: "hsl(207, 44%, 73%)";
|
|
6
|
+
readonly sunglow: "hsl(42, 100%, 70%)";
|
|
7
|
+
readonly seabuckthorn: "hsl(29, 92%, 71%)";
|
|
8
|
+
readonly montecarlo: "hsl(176, 43%, 72%)";
|
|
9
|
+
readonly poloblue: "hsl(211, 44%, 77%)";
|
|
10
|
+
readonly bouquet: "hsl(305, 19%, 75%)";
|
|
11
|
+
readonly ash: "hsl(42, 15%, 85%)";
|
|
12
|
+
readonly oak: "hsl(27, 32%, 72%)";
|
|
13
|
+
};
|
|
14
|
+
/** Returns true if a string value is one of the SoftBackgrounds keys */
|
|
15
|
+
export declare const isSoftBackground: (value: string) => value is "skyblue" | "celery" | "froly" | "steelblue" | "sunglow" | "seabuckthorn" | "montecarlo" | "poloblue" | "bouquet" | "ash" | "oak";
|
|
16
|
+
/**
|
|
17
|
+
* Generate color from user name or email.
|
|
18
|
+
* Recommended to use for `backgroundColor` in `UserIcon` component.
|
|
19
|
+
*/
|
|
20
|
+
export declare const getUserColor: (emailOrName: string) => string;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getUserColor = exports.isSoftBackground = exports.SoftBackgrounds = void 0;
|
|
8
|
+
exports.SoftBackgrounds = {
|
|
9
|
+
skyblue: 'hsl(197, 71%, 83%)',
|
|
10
|
+
celery: 'hsl(72, 51%, 66%)',
|
|
11
|
+
froly: 'hsl(2, 90%, 83%)',
|
|
12
|
+
steelblue: 'hsl(207, 44%, 73%)',
|
|
13
|
+
sunglow: 'hsl(42, 100%, 70%)',
|
|
14
|
+
seabuckthorn: 'hsl(29, 92%, 71%)',
|
|
15
|
+
montecarlo: 'hsl(176, 43%, 72%)',
|
|
16
|
+
poloblue: 'hsl(211, 44%, 77%)',
|
|
17
|
+
bouquet: 'hsl(305, 19%, 75%)',
|
|
18
|
+
ash: 'hsl(42, 15%, 85%)',
|
|
19
|
+
oak: 'hsl(27, 32%, 72%)',
|
|
20
|
+
};
|
|
21
|
+
/** Returns true if a string value is one of the SoftBackgrounds keys */
|
|
22
|
+
var isSoftBackground = function (value) {
|
|
23
|
+
return Object.keys(exports.SoftBackgrounds).includes(value);
|
|
24
|
+
};
|
|
25
|
+
exports.isSoftBackground = isSoftBackground;
|
|
26
|
+
var USER_COLORS = [
|
|
27
|
+
'#6AB9EC',
|
|
28
|
+
'#B1C854',
|
|
29
|
+
'#F7706C',
|
|
30
|
+
'#4585A5',
|
|
31
|
+
'#FFC335',
|
|
32
|
+
'#F7963E',
|
|
33
|
+
'#73C7C1',
|
|
34
|
+
'#85A9CF',
|
|
35
|
+
'#A3779F',
|
|
36
|
+
'#C8C2B4',
|
|
37
|
+
'#A47854',
|
|
38
|
+
];
|
|
39
|
+
/**
|
|
40
|
+
* Generate color from user name or email.
|
|
41
|
+
* Recommended to use for `backgroundColor` in `UserIcon` component.
|
|
42
|
+
*/
|
|
43
|
+
var getUserColor = function (emailOrName) {
|
|
44
|
+
var normalizedString = emailOrName.trim().toLowerCase();
|
|
45
|
+
var hash = 0;
|
|
46
|
+
for (var i = 0; i < normalizedString.length; i++) {
|
|
47
|
+
var charCode = normalizedString.charCodeAt(i);
|
|
48
|
+
hash = (hash + charCode) % USER_COLORS.length;
|
|
49
|
+
}
|
|
50
|
+
return USER_COLORS[hash];
|
|
51
|
+
};
|
|
52
|
+
exports.getUserColor = getUserColor;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the container as a child of body, or create one if it doesn't exist.
|
|
3
|
+
* Mostly used for dynamic components like Modal or Toast.
|
|
4
|
+
*
|
|
5
|
+
* @param containerId id of the container to find or create
|
|
6
|
+
* @param ownerDocument Can be changed if the container should be in a different document (e.g. in popup).
|
|
7
|
+
*/
|
|
8
|
+
export declare const getContainer: (containerId: string, ownerDocument?: Document | undefined) => HTMLElement | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Get document if it is defined.
|
|
11
|
+
* Used to support SSR/SSG applications.
|
|
12
|
+
*/
|
|
13
|
+
export declare const getDocument: () => Document | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Get window if it is defined.
|
|
16
|
+
* Used to support SSR/SSG applications.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getWindow: () => (Window & typeof globalThis) | undefined;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getWindow = exports.getDocument = exports.getContainer = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Get the container as a child of body, or create one if it doesn't exist.
|
|
10
|
+
* Mostly used for dynamic components like Modal or Toast.
|
|
11
|
+
*
|
|
12
|
+
* @param containerId id of the container to find or create
|
|
13
|
+
* @param ownerDocument Can be changed if the container should be in a different document (e.g. in popup).
|
|
14
|
+
*/
|
|
15
|
+
var getContainer = function (containerId, ownerDocument) {
|
|
16
|
+
var _a;
|
|
17
|
+
if (ownerDocument === void 0) { ownerDocument = (0, exports.getDocument)(); }
|
|
18
|
+
var container = (_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.getElementById(containerId)) !== null && _a !== void 0 ? _a : undefined;
|
|
19
|
+
if (container == null && !!ownerDocument) {
|
|
20
|
+
container = ownerDocument.createElement('div');
|
|
21
|
+
container.setAttribute('id', containerId);
|
|
22
|
+
ownerDocument.body.appendChild(container);
|
|
23
|
+
}
|
|
24
|
+
return container;
|
|
25
|
+
};
|
|
26
|
+
exports.getContainer = getContainer;
|
|
27
|
+
/**
|
|
28
|
+
* Get document if it is defined.
|
|
29
|
+
* Used to support SSR/SSG applications.
|
|
30
|
+
*/
|
|
31
|
+
var getDocument = function () {
|
|
32
|
+
return typeof document === 'undefined' ? undefined : document;
|
|
33
|
+
};
|
|
34
|
+
exports.getDocument = getDocument;
|
|
35
|
+
/**
|
|
36
|
+
* Get window if it is defined.
|
|
37
|
+
* Used to support SSR/SSG applications.
|
|
38
|
+
*/
|
|
39
|
+
var getWindow = function () {
|
|
40
|
+
return typeof window === 'undefined' ? undefined : window;
|
|
41
|
+
};
|
|
42
|
+
exports.getWindow = getWindow;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return array of tabbable elements in the container.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getTabbableElements: (container: HTMLElement | undefined | null) => Element[];
|
|
5
|
+
/**
|
|
6
|
+
* Return array of focusable elements in the container.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getFocusableElements: (container: HTMLElement | undefined | null) => Element[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getFocusableElements = exports.getTabbableElements = void 0;
|
|
8
|
+
var tabbableElementsSelector = 'a[href], button, input, textarea, select, details, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex="-1"])';
|
|
9
|
+
/**
|
|
10
|
+
* Return array of tabbable elements in the container.
|
|
11
|
+
*/
|
|
12
|
+
var getTabbableElements = function (container) {
|
|
13
|
+
if (!container) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
var elements = container.querySelectorAll(tabbableElementsSelector);
|
|
17
|
+
return Array.from(elements).filter(function (el) {
|
|
18
|
+
return !el.hasAttribute('disabled') && !el.classList.contains('iui-disabled');
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
exports.getTabbableElements = getTabbableElements;
|
|
22
|
+
/**
|
|
23
|
+
* Return array of focusable elements in the container.
|
|
24
|
+
*/
|
|
25
|
+
var getFocusableElements = function (container) {
|
|
26
|
+
if (!container) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
var elements = container.querySelectorAll(tabbableElementsSelector + ", [tabindex=\"-1\"]");
|
|
30
|
+
return Array.from(elements).filter(function (el) {
|
|
31
|
+
return !el.hasAttribute('disabled') && !el.classList.contains('iui-disabled');
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.getFocusableElements = getFocusableElements;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
/*---------------------------------------------------------------------------------------------
|
|
14
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
15
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
16
|
+
*--------------------------------------------------------------------------------------------*/
|
|
17
|
+
__exportStar(require("./dom"), exports);
|
|
18
|
+
__exportStar(require("./colors"), exports);
|
|
19
|
+
__exportStar(require("./numbers"), exports);
|
|
20
|
+
__exportStar(require("./focusable"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return input value bounded by specified range.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getBoundedValue: (val: number, min: number, max: number) => number;
|
|
5
|
+
/**
|
|
6
|
+
* Returns a random value of a given length containing `A-Za-z0-9_-` symbols.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getRandomValue: (length?: number) => string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getRandomValue = exports.getBoundedValue = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Return input value bounded by specified range.
|
|
10
|
+
*/
|
|
11
|
+
var getBoundedValue = function (val, min, max) {
|
|
12
|
+
return Math.min(max, Math.max(min, val));
|
|
13
|
+
};
|
|
14
|
+
exports.getBoundedValue = getBoundedValue;
|
|
15
|
+
/**
|
|
16
|
+
* Returns a random value of a given length containing `A-Za-z0-9_-` symbols.
|
|
17
|
+
*/
|
|
18
|
+
var getRandomValue = function (length) {
|
|
19
|
+
if (length === void 0) { length = 21; }
|
|
20
|
+
var alphabet = "_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
21
|
+
var id = '';
|
|
22
|
+
for (var i = 0; i < length; i++) {
|
|
23
|
+
id += alphabet[(Math.random() * 64) | 0];
|
|
24
|
+
}
|
|
25
|
+
return id;
|
|
26
|
+
};
|
|
27
|
+
exports.getRandomValue = getRandomValue;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
/*---------------------------------------------------------------------------------------------
|
|
14
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
15
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
16
|
+
*--------------------------------------------------------------------------------------------*/
|
|
17
|
+
__exportStar(require("./useEventListener"), exports);
|
|
18
|
+
__exportStar(require("./useMergedRefs"), exports);
|
|
19
|
+
__exportStar(require("./useOverflow"), exports);
|
|
20
|
+
__exportStar(require("./useResizeObserver"), exports);
|
|
21
|
+
__exportStar(require("./useTheme"), exports);
|
|
22
|
+
__exportStar(require("./useIntersection"), exports);
|
|
@@ -9,7 +9,7 @@ exports.useIntersection = void 0;
|
|
|
9
9
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
10
10
|
*--------------------------------------------------------------------------------------------*/
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
|
-
var
|
|
12
|
+
var dom_1 = require("../functions/dom");
|
|
13
13
|
/**
|
|
14
14
|
* Hook that uses `IntersectionObserver` to trigger `onIntersect` callback when element is in viewport.
|
|
15
15
|
* Callback is called only once.
|
|
@@ -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 = (0,
|
|
30
|
+
if (!((_a = (0, dom_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.IntersectionObserver)) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
if (observer.current) {
|
|
@@ -9,7 +9,7 @@ exports.useResizeObserver = void 0;
|
|
|
9
9
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
10
10
|
*--------------------------------------------------------------------------------------------*/
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
|
-
var
|
|
12
|
+
var dom_1 = require("../functions/dom");
|
|
13
13
|
/**
|
|
14
14
|
* Hook that uses `ResizeObserver` to access an element's size every time it updates.
|
|
15
15
|
* @private
|
|
@@ -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 = (0,
|
|
29
|
+
if (!((_a = (0, dom_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();
|
|
@@ -10,7 +10,7 @@ exports.useTheme = void 0;
|
|
|
10
10
|
*--------------------------------------------------------------------------------------------*/
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
12
|
require("@itwin/itwinui-css/css/global.css");
|
|
13
|
-
var
|
|
13
|
+
var dom_1 = require("../functions/dom");
|
|
14
14
|
/**
|
|
15
15
|
* Hook that applies styling and theme to all components.
|
|
16
16
|
* Defaults to light theme if none provided or set elsewhere.
|
|
@@ -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 : (0,
|
|
22
|
+
var ownerDocument = (_a = themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.ownerDocument) !== null && _a !== void 0 ? _a : (0, dom_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 = (0,
|
|
41
|
+
if ((_b = (_a = (0, dom_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 {
|