@itwin/core-react 3.4.0-dev.55 → 3.4.0-dev.57
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/lib/cjs/core-react/UiCore.d.ts +40 -40
- package/lib/cjs/core-react/UiCore.js +85 -85
- package/lib/cjs/core-react/UiCore.js.map +1 -1
- package/lib/cjs/core-react/_geometry.scss +70 -70
- package/lib/cjs/core-react/_helpers.scss +51 -51
- package/lib/cjs/core-react/_math.scss +13 -13
- package/lib/cjs/core-react/_scrollbar.scss +51 -51
- package/lib/cjs/core-react/_typography.scss +44 -44
- package/lib/cjs/core-react/_z-index.scss +65 -65
- package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +96 -96
- package/lib/cjs/core-react/autosuggest/AutoSuggest.js +174 -174
- package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
- package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +82 -82
- package/lib/cjs/core-react/badge/Badge.d.ts +18 -18
- package/lib/cjs/core-react/badge/Badge.js +26 -26
- package/lib/cjs/core-react/badge/Badge.js.map +1 -1
- package/lib/cjs/core-react/badge/Badge.scss +13 -13
- package/lib/cjs/core-react/badge/BadgeUtilities.d.ts +12 -12
- package/lib/cjs/core-react/badge/BadgeUtilities.js +38 -38
- package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
- package/lib/cjs/core-react/badge/BetaBadge.d.ts +10 -10
- package/lib/cjs/core-react/badge/BetaBadge.js +23 -23
- package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
- package/lib/cjs/core-react/badge/BetaBadge.scss +9 -9
- package/lib/cjs/core-react/badge/NewBadge.d.ts +10 -10
- package/lib/cjs/core-react/badge/NewBadge.js +23 -23
- package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
- package/lib/cjs/core-react/badge/NewBadge.scss +9 -9
- package/lib/cjs/core-react/base/Centered.d.ts +10 -10
- package/lib/cjs/core-react/base/Centered.js +20 -20
- package/lib/cjs/core-react/base/Centered.js.map +1 -1
- package/lib/cjs/core-react/base/Div.d.ts +16 -16
- package/lib/cjs/core-react/base/Div.js +20 -20
- package/lib/cjs/core-react/base/Div.js.map +1 -1
- package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +79 -79
- package/lib/cjs/core-react/base/DivWithOutsideClick.js +16 -16
- package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/base/FillCentered.d.ts +10 -10
- package/lib/cjs/core-react/base/FillCentered.js +20 -20
- package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
- package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +11 -11
- package/lib/cjs/core-react/base/FlexWrapContainer.js +21 -21
- package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
- package/lib/cjs/core-react/base/Gap.d.ts +15 -15
- package/lib/cjs/core-react/base/Gap.js +20 -20
- package/lib/cjs/core-react/base/Gap.js.map +1 -1
- package/lib/cjs/core-react/base/PointerEvents.d.ts +7 -7
- package/lib/cjs/core-react/base/PointerEvents.js +17 -17
- package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
- package/lib/cjs/core-react/base/ScrollView.d.ts +11 -11
- package/lib/cjs/core-react/base/ScrollView.js +21 -21
- package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
- package/lib/cjs/core-react/base/base.scss +42 -42
- package/lib/cjs/core-react/base/classes.scss +13 -13
- package/lib/cjs/core-react/base/index.scss +5 -5
- package/lib/cjs/core-react/button/Button.d.ts +47 -47
- package/lib/cjs/core-react/button/Button.js +85 -85
- package/lib/cjs/core-react/button/Button.js.map +1 -1
- package/lib/cjs/core-react/button/UnderlinedButton.d.ts +24 -24
- package/lib/cjs/core-react/button/UnderlinedButton.js +35 -35
- package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
- package/lib/cjs/core-react/button/UnderlinedButton.scss +32 -32
- package/lib/cjs/core-react/button/blue-large.scss +12 -12
- package/lib/cjs/core-react/button/blue.scss +25 -25
- package/lib/cjs/core-react/button/button.scss +81 -81
- package/lib/cjs/core-react/button/classes.scss +14 -14
- package/lib/cjs/core-react/button/disabled-large.scss +12 -12
- package/lib/cjs/core-react/button/disabled.scss +17 -17
- package/lib/cjs/core-react/button/hollow-large.scss +13 -13
- package/lib/cjs/core-react/button/hollow.scss +30 -30
- package/lib/cjs/core-react/button/index.scss +14 -14
- package/lib/cjs/core-react/button/primary-large.scss +12 -12
- package/lib/cjs/core-react/button/primary.scss +25 -25
- package/lib/cjs/core-react/button/variables.scss +19 -19
- package/lib/cjs/core-react/checkbox/Checkbox.d.ts +56 -56
- package/lib/cjs/core-react/checkbox/Checkbox.js +64 -64
- package/lib/cjs/core-react/checkbox/Checkbox.js.map +1 -1
- package/lib/cjs/core-react/checkbox/checkbox.scss +129 -129
- package/lib/cjs/core-react/checkbox/classes.scss +8 -8
- package/lib/cjs/core-react/checkbox/index.scss +8 -8
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +37 -37
- package/lib/cjs/core-react/checklistbox/CheckListBox.js +42 -42
- package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.scss +22 -22
- package/lib/cjs/core-react/classes.scss +18 -18
- package/lib/cjs/core-react/colorthemes.scss +58 -58
- package/lib/cjs/core-react/colorvariables.scss +116 -116
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +91 -91
- package/lib/cjs/core-react/contextmenu/ContextMenu.js +364 -364
- package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.scss +238 -238
- package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
- package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +26 -26
- package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +23 -23
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +108 -108
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +159 -159
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +59 -59
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +55 -55
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts +18 -18
- package/lib/cjs/core-react/contextmenu/TildeFinder.js +70 -70
- package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.d.ts +132 -132
- package/lib/cjs/core-react/dialog/Dialog.js +366 -366
- package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.scss +241 -241
- package/lib/cjs/core-react/dialog/DialogButtonDef.d.ts +46 -46
- package/lib/cjs/core-react/dialog/DialogButtonDef.js +37 -37
- package/lib/cjs/core-react/dialog/DialogButtonDef.js.map +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +28 -28
- package/lib/cjs/core-react/dialog/GlobalDialog.js +53 -53
- package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +41 -41
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js +163 -163
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +85 -85
- package/lib/cjs/core-react/enums/Alignment.d.ts +22 -22
- package/lib/cjs/core-react/enums/Alignment.js +31 -31
- package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
- package/lib/cjs/core-react/enums/CheckBoxState.d.ts +20 -20
- package/lib/cjs/core-react/enums/CheckBoxState.js +19 -19
- package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
- package/lib/cjs/core-react/enums/Orientation.d.ts +11 -11
- package/lib/cjs/core-react/enums/Orientation.js +19 -19
- package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
- package/lib/cjs/core-react/enums/SortDirection.d.ts +12 -12
- package/lib/cjs/core-react/enums/SortDirection.js +20 -20
- package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
- package/lib/cjs/core-react/enums/TimeFormat.d.ts +14 -14
- package/lib/cjs/core-react/enums/TimeFormat.js +22 -22
- package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableBlock.d.ts +33 -33
- package/lib/cjs/core-react/expandable/ExpandableBlock.js +35 -35
- package/lib/cjs/core-react/expandable/ExpandableBlock.js.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableBlock.scss +145 -145
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts +35 -35
- package/lib/cjs/core-react/expandable/ExpandableList.js +57 -57
- package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.scss +8 -8
- package/lib/cjs/core-react/expandable/classes.scss +7 -7
- package/lib/cjs/core-react/expandable/index.scss +5 -5
- package/lib/cjs/core-react/expandable/list.scss +45 -45
- package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
- package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +150 -150
- package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
- package/lib/cjs/core-react/focustrap/FocusTrap.d.ts +28 -28
- package/lib/cjs/core-react/focustrap/FocusTrap.js +196 -196
- package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
- package/lib/cjs/core-react/form/Field.d.ts +19 -19
- package/lib/cjs/core-react/form/Field.js +44 -44
- package/lib/cjs/core-react/form/Field.js.map +1 -1
- package/lib/cjs/core-react/form/Form.d.ts +131 -131
- package/lib/cjs/core-react/form/Form.js +131 -131
- package/lib/cjs/core-react/form/Form.js.map +1 -1
- package/lib/cjs/core-react/form/Form.scss +78 -78
- package/lib/cjs/core-react/hocs/withIsPressed.d.ts +77 -77
- package/lib/cjs/core-react/hocs/withIsPressed.js +46 -46
- package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
- package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts +103 -103
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js +115 -115
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/hocs/withTimeout.d.ts +74 -74
- package/lib/cjs/core-react/hocs/withTimeout.js +46 -46
- package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.d.ts +24 -24
- package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js +54 -50
- package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.scss +20 -20
- package/lib/cjs/core-react/icons/SvgPath.d.ts +23 -23
- package/lib/cjs/core-react/icons/SvgPath.js +27 -27
- package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
- package/lib/cjs/core-react/icons/SvgSprite.d.ts +20 -20
- package/lib/cjs/core-react/icons/SvgSprite.js +26 -26
- package/lib/cjs/core-react/icons/SvgSprite.js.map +1 -1
- package/lib/cjs/core-react/icons/SvgSprite.scss +15 -15
- package/lib/cjs/core-react/icons/WebFontIcon.d.ts +26 -26
- package/lib/cjs/core-react/icons/WebFontIcon.js +22 -22
- package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
- package/lib/cjs/core-react/icons/WebFontIcon.scss +17 -17
- package/lib/cjs/core-react/icons/classes.scss +10 -10
- package/lib/cjs/core-react/icons/index.scss +6 -6
- package/lib/cjs/core-react/icons/mixins.scss +25 -25
- package/lib/cjs/core-react/icons/variables.scss +21 -21
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +56 -56
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
- package/lib/cjs/core-react/index.scss +27 -27
- package/lib/cjs/core-react/inputs/Input.d.ts +22 -22
- package/lib/cjs/core-react/inputs/Input.js +46 -46
- package/lib/cjs/core-react/inputs/Input.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.d.ts +18 -18
- package/lib/cjs/core-react/inputs/InputLabel.js +33 -33
- package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputStatus.d.ts +11 -11
- package/lib/cjs/core-react/inputs/InputStatus.js +19 -19
- package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
- package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +33 -33
- package/lib/cjs/core-react/inputs/LabeledComponentProps.js +9 -9
- package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
- package/lib/cjs/core-react/inputs/LabeledInput.d.ts +17 -17
- package/lib/cjs/core-react/inputs/LabeledInput.js +33 -33
- package/lib/cjs/core-react/inputs/LabeledInput.js.map +1 -1
- package/lib/cjs/core-react/inputs/LabeledTextarea.d.ts +17 -17
- package/lib/cjs/core-react/inputs/LabeledTextarea.js +31 -31
- package/lib/cjs/core-react/inputs/LabeledTextarea.js.map +1 -1
- package/lib/cjs/core-react/inputs/Textarea.d.ts +22 -22
- package/lib/cjs/core-react/inputs/Textarea.js +35 -35
- package/lib/cjs/core-react/inputs/Textarea.js.map +1 -1
- package/lib/cjs/core-react/inputs/classes.scss +10 -10
- package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +23 -23
- package/lib/cjs/core-react/inputs/iconinput/IconInput.js +29 -29
- package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
- package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +35 -35
- package/lib/cjs/core-react/inputs/index.scss +11 -11
- package/lib/cjs/core-react/inputs/input.scss +60 -60
- package/lib/cjs/core-react/inputs/labeled-input.scss +103 -103
- package/lib/cjs/core-react/inputs/labeled-textarea.scss +77 -77
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +45 -45
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +148 -148
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +89 -89
- package/lib/cjs/core-react/inputs/textarea.scss +55 -55
- package/lib/cjs/core-react/inputs/variables.scss +33 -33
- package/lib/cjs/core-react/layout-variables.scss +15 -15
- package/lib/cjs/core-react/listbox/Listbox.d.ts +55 -55
- package/lib/cjs/core-react/listbox/Listbox.js +222 -222
- package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
- package/lib/cjs/core-react/listbox/Listbox.scss +53 -53
- package/lib/cjs/core-react/loading/LoadingBar.d.ts +29 -29
- package/lib/cjs/core-react/loading/LoadingBar.js +40 -40
- package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.scss +29 -29
- package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +39 -39
- package/lib/cjs/core-react/loading/LoadingPrompt.js +44 -44
- package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.scss +33 -33
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +33 -33
- package/lib/cjs/core-react/loading/LoadingSpinner.js +45 -45
- package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.scss +26 -26
- package/lib/cjs/core-react/loading/LoadingStatus.d.ts +24 -24
- package/lib/cjs/core-react/loading/LoadingStatus.js +37 -37
- package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.scss +20 -20
- package/lib/cjs/core-react/loading/Spinner.d.ts +37 -37
- package/lib/cjs/core-react/loading/Spinner.js +60 -60
- package/lib/cjs/core-react/loading/Spinner.js.map +1 -1
- package/lib/cjs/core-react/loading/Spinner.scss +26 -26
- package/lib/cjs/core-react/loading/index.scss +5 -5
- package/lib/cjs/core-react/loading/mixins.scss +57 -57
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts +64 -64
- package/lib/cjs/core-react/messagebox/MessageBox.js +70 -70
- package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.scss +46 -46
- package/lib/cjs/core-react/messagebox/MessageSeverity.d.ts +15 -15
- package/lib/cjs/core-react/messagebox/MessageSeverity.js +23 -23
- package/lib/cjs/core-react/messagebox/MessageSeverity.js.map +1 -1
- package/lib/cjs/core-react/notification/MessageRenderer.d.ts +19 -19
- package/lib/cjs/core-react/notification/MessageRenderer.js +81 -81
- package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
- package/lib/cjs/core-react/notification/MessageType.d.ts +22 -22
- package/lib/cjs/core-react/notification/MessageType.js +24 -24
- package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
- package/lib/cjs/core-react/popup/Popup.d.ts +109 -109
- package/lib/cjs/core-react/popup/Popup.js +419 -419
- package/lib/cjs/core-react/popup/Popup.js.map +1 -1
- package/lib/cjs/core-react/popup/Popup.scss +240 -240
- package/lib/cjs/core-react/progress-indicators/ProgressBar.d.ts +28 -28
- package/lib/cjs/core-react/progress-indicators/ProgressBar.js +47 -47
- package/lib/cjs/core-react/progress-indicators/ProgressBar.js.map +1 -1
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.d.ts +48 -48
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.js +73 -73
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.js.map +1 -1
- package/lib/cjs/core-react/progress-indicators/classes.scss +33 -33
- package/lib/cjs/core-react/progress-indicators/index.scss +6 -6
- package/lib/cjs/core-react/progress-indicators/progress-bar.scss +91 -91
- package/lib/cjs/core-react/progress-indicators/progress-spinner.scss +132 -132
- package/lib/cjs/core-react/radialmenu/Annulus.d.ts +54 -54
- package/lib/cjs/core-react/radialmenu/Annulus.js +82 -82
- package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +93 -93
- package/lib/cjs/core-react/radialmenu/RadialMenu.js +179 -179
- package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.scss +56 -56
- package/lib/cjs/core-react/radio/Radio.d.ts +19 -19
- package/lib/cjs/core-react/radio/Radio.js +27 -27
- package/lib/cjs/core-react/radio/Radio.js.map +1 -1
- package/lib/cjs/core-react/radio/classes.scss +7 -7
- package/lib/cjs/core-react/radio/index.scss +8 -8
- package/lib/cjs/core-react/radio/radio.scss +89 -89
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
- package/lib/cjs/core-react/searchbox/SearchBox.js +109 -109
- package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.scss +53 -53
- package/lib/cjs/core-react/select/LabeledSelect.d.ts +19 -19
- package/lib/cjs/core-react/select/LabeledSelect.js +33 -33
- package/lib/cjs/core-react/select/LabeledSelect.js.map +1 -1
- package/lib/cjs/core-react/select/LabeledThemedSelect.d.ts +15 -15
- package/lib/cjs/core-react/select/LabeledThemedSelect.js +30 -30
- package/lib/cjs/core-react/select/LabeledThemedSelect.js.map +1 -1
- package/lib/cjs/core-react/select/Select.d.ts +52 -52
- package/lib/cjs/core-react/select/Select.js +59 -59
- package/lib/cjs/core-react/select/Select.js.map +1 -1
- package/lib/cjs/core-react/select/ThemedSelect.d.ts +103 -103
- package/lib/cjs/core-react/select/ThemedSelect.js +56 -56
- package/lib/cjs/core-react/select/ThemedSelect.js.map +1 -1
- package/lib/cjs/core-react/select/classes.scss +9 -9
- package/lib/cjs/core-react/select/index.scss +10 -10
- package/lib/cjs/core-react/select/labeled-select.scss +72 -72
- package/lib/cjs/core-react/select/labeled-themed-select.scss +77 -77
- package/lib/cjs/core-react/select/modalHelper.d.ts +4 -4
- package/lib/cjs/core-react/select/modalHelper.js +20 -20
- package/lib/cjs/core-react/select/modalHelper.js.map +1 -1
- package/lib/cjs/core-react/select/select.scss +73 -73
- package/lib/cjs/core-react/select/themed-select.scss +159 -159
- package/lib/cjs/core-react/settings/SettingsContainer.d.ts +30 -30
- package/lib/cjs/core-react/settings/SettingsContainer.js +121 -121
- package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.scss +64 -64
- package/lib/cjs/core-react/settings/SettingsManager.d.ts +132 -132
- package/lib/cjs/core-react/settings/SettingsManager.js +122 -122
- package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
- package/lib/cjs/core-react/slider/Slider.d.ts +79 -79
- package/lib/cjs/core-react/slider/Slider.js +90 -90
- package/lib/cjs/core-react/slider/Slider.js.map +1 -1
- package/lib/cjs/core-react/slider/Slider.scss +96 -96
- package/lib/cjs/core-react/splitbutton/SplitButton.d.ts +61 -61
- package/lib/cjs/core-react/splitbutton/SplitButton.js +103 -103
- package/lib/cjs/core-react/splitbutton/SplitButton.js.map +1 -1
- package/lib/cjs/core-react/splitbutton/SplitButton.scss +137 -137
- package/lib/cjs/core-react/style/baseline.scss +13 -13
- package/lib/cjs/core-react/style/breakpoints.scss +41 -41
- package/lib/cjs/core-react/style/colors.scss +77 -77
- package/lib/cjs/core-react/style/data-viz.scss +23 -23
- package/lib/cjs/core-react/style/index.scss +17 -17
- package/lib/cjs/core-react/style/itwinui-overrides.scss +24 -24
- package/lib/cjs/core-react/style/mixins.scss +28 -28
- package/lib/cjs/core-react/style/opacity.scss +17 -17
- package/lib/cjs/core-react/style/space.scss +17 -17
- package/lib/cjs/core-react/style/speed.scss +13 -13
- package/lib/cjs/core-react/style/themecolors.scss +126 -126
- package/lib/cjs/core-react/style/typography.scss +43 -43
- package/lib/cjs/core-react/style/variables.scss +13 -13
- package/lib/cjs/core-react/tabs/HorizontalTabs.d.ts +10 -10
- package/lib/cjs/core-react/tabs/HorizontalTabs.js +21 -21
- package/lib/cjs/core-react/tabs/HorizontalTabs.js.map +1 -1
- package/lib/cjs/core-react/tabs/Tabs.d.ts +71 -71
- package/lib/cjs/core-react/tabs/Tabs.js +125 -125
- package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
- package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +9 -9
- package/lib/cjs/core-react/tabs/VerticalTabs.js +20 -20
- package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
- package/lib/cjs/core-react/tabs/classes.scss +8 -8
- package/lib/cjs/core-react/tabs/horizontal.scss +77 -77
- package/lib/cjs/core-react/tabs/index.scss +6 -6
- package/lib/cjs/core-react/tabs/tabs.scss +117 -117
- package/lib/cjs/core-react/tabs/vertical.scss +64 -64
- package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
- package/lib/cjs/core-react/text/BlockText.js +19 -19
- package/lib/cjs/core-react/text/BlockText.js.map +1 -1
- package/lib/cjs/core-react/text/BodyText.d.ts +9 -9
- package/lib/cjs/core-react/text/BodyText.js +19 -19
- package/lib/cjs/core-react/text/BodyText.js.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.d.ts +6 -6
- package/lib/cjs/core-react/text/DisabledText.js +19 -19
- package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
- package/lib/cjs/core-react/text/FilteredText.d.ts +24 -24
- package/lib/cjs/core-react/text/FilteredText.js +40 -40
- package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
- package/lib/cjs/core-react/text/FilteredText.scss +10 -10
- package/lib/cjs/core-react/text/Headline.d.ts +10 -10
- package/lib/cjs/core-react/text/Headline.js +20 -20
- package/lib/cjs/core-react/text/Headline.js.map +1 -1
- package/lib/cjs/core-react/text/LeadingText.d.ts +10 -10
- package/lib/cjs/core-react/text/LeadingText.js +20 -20
- package/lib/cjs/core-react/text/LeadingText.js.map +1 -1
- package/lib/cjs/core-react/text/LeadingText2.d.ts +10 -10
- package/lib/cjs/core-react/text/LeadingText2.js +20 -20
- package/lib/cjs/core-react/text/LeadingText2.js.map +1 -1
- package/lib/cjs/core-react/text/MutedText.d.ts +9 -9
- package/lib/cjs/core-react/text/MutedText.js +19 -19
- package/lib/cjs/core-react/text/MutedText.js.map +1 -1
- package/lib/cjs/core-react/text/SmallText.d.ts +10 -10
- package/lib/cjs/core-react/text/SmallText.js +20 -20
- package/lib/cjs/core-react/text/SmallText.js.map +1 -1
- package/lib/cjs/core-react/text/StyledText.d.ts +16 -16
- package/lib/cjs/core-react/text/StyledText.js +20 -20
- package/lib/cjs/core-react/text/StyledText.js.map +1 -1
- package/lib/cjs/core-react/text/Subheading.d.ts +10 -10
- package/lib/cjs/core-react/text/Subheading.js +20 -20
- package/lib/cjs/core-react/text/Subheading.js.map +1 -1
- package/lib/cjs/core-react/text/Subheading2.d.ts +10 -10
- package/lib/cjs/core-react/text/Subheading2.js +20 -20
- package/lib/cjs/core-react/text/Subheading2.js.map +1 -1
- package/lib/cjs/core-react/text/TextProps.d.ts +10 -10
- package/lib/cjs/core-react/text/TextProps.js +9 -9
- package/lib/cjs/core-react/text/TextProps.js.map +1 -1
- package/lib/cjs/core-react/text/Title.d.ts +10 -10
- package/lib/cjs/core-react/text/Title.js +20 -20
- package/lib/cjs/core-react/text/Title.js.map +1 -1
- package/lib/cjs/core-react/text/Title2.d.ts +10 -10
- package/lib/cjs/core-react/text/Title2.js +20 -20
- package/lib/cjs/core-react/text/Title2.js.map +1 -1
- package/lib/cjs/core-react/text/block.scss +10 -10
- package/lib/cjs/core-react/text/body.scss +10 -10
- package/lib/cjs/core-react/text/classes.scss +18 -18
- package/lib/cjs/core-react/text/disabled.scss +10 -10
- package/lib/cjs/core-react/text/headline.scss +10 -10
- package/lib/cjs/core-react/text/index.scss +18 -18
- package/lib/cjs/core-react/text/leading-2.scss +11 -11
- package/lib/cjs/core-react/text/leading.scss +10 -10
- package/lib/cjs/core-react/text/mixins.scss +62 -62
- package/lib/cjs/core-react/text/muted.scss +10 -10
- package/lib/cjs/core-react/text/small.scss +10 -10
- package/lib/cjs/core-react/text/subheading-2.scss +11 -11
- package/lib/cjs/core-react/text/subheading.scss +11 -11
- package/lib/cjs/core-react/text/title-2.scss +11 -11
- package/lib/cjs/core-react/text/title.scss +10 -10
- package/lib/cjs/core-react/tiles/FeaturedTile.d.ts +10 -10
- package/lib/cjs/core-react/tiles/FeaturedTile.js +20 -20
- package/lib/cjs/core-react/tiles/FeaturedTile.js.map +1 -1
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.d.ts +10 -10
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.js +20 -20
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.js.map +1 -1
- package/lib/cjs/core-react/tiles/MinimalTile.d.ts +10 -10
- package/lib/cjs/core-react/tiles/MinimalTile.js +20 -20
- package/lib/cjs/core-react/tiles/MinimalTile.js.map +1 -1
- package/lib/cjs/core-react/tiles/Tile.d.ts +31 -31
- package/lib/cjs/core-react/tiles/Tile.js +39 -39
- package/lib/cjs/core-react/tiles/Tile.js.map +1 -1
- package/lib/cjs/core-react/tiles/classes.scss +7 -7
- package/lib/cjs/core-react/tiles/index.scss +5 -5
- package/lib/cjs/core-react/tiles/tile.scss +134 -134
- package/lib/cjs/core-react/toggle/LabeledToggle.d.ts +25 -25
- package/lib/cjs/core-react/toggle/LabeledToggle.js +28 -28
- package/lib/cjs/core-react/toggle/LabeledToggle.js.map +1 -1
- package/lib/cjs/core-react/toggle/LabeledToggle.scss +21 -21
- package/lib/cjs/core-react/toggle/Toggle.d.ts +51 -51
- package/lib/cjs/core-react/toggle/Toggle.js +104 -104
- package/lib/cjs/core-react/toggle/Toggle.js.map +1 -1
- package/lib/cjs/core-react/toggle/Toggle.scss +135 -135
- package/lib/cjs/core-react/tooltip/Tooltip.d.ts +33 -33
- package/lib/cjs/core-react/tooltip/Tooltip.js +56 -56
- package/lib/cjs/core-react/tooltip/Tooltip.js.map +1 -1
- package/lib/cjs/core-react/tooltip/Tooltip.scss +18 -18
- package/lib/cjs/core-react/tree/Branch.d.ts +19 -19
- package/lib/cjs/core-react/tree/Branch.js +23 -23
- package/lib/cjs/core-react/tree/Branch.js.map +1 -1
- package/lib/cjs/core-react/tree/Branch.scss +12 -12
- package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +20 -20
- package/lib/cjs/core-react/tree/ExpansionToggle.js +28 -28
- package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.scss +28 -28
- package/lib/cjs/core-react/tree/Node.d.ts +79 -79
- package/lib/cjs/core-react/tree/Node.js +88 -88
- package/lib/cjs/core-react/tree/Node.js.map +1 -1
- package/lib/cjs/core-react/tree/Node.scss +84 -84
- package/lib/cjs/core-react/tree/Placeholder.d.ts +22 -22
- package/lib/cjs/core-react/tree/Placeholder.js +31 -31
- package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
- package/lib/cjs/core-react/tree/Placeholder.scss +20 -20
- package/lib/cjs/core-react/tree/Tree.d.ts +28 -28
- package/lib/cjs/core-react/tree/Tree.js +100 -100
- package/lib/cjs/core-react/tree/Tree.js.map +1 -1
- package/lib/cjs/core-react/tree/Tree.scss +21 -21
- package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +16 -16
- package/lib/cjs/core-react/uistate/LocalStateStorage.js +49 -49
- package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
- package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +30 -30
- package/lib/cjs/core-react/uistate/UiStateEntry.js +59 -59
- package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
- package/lib/cjs/core-react/uistate/UiStateStorage.d.ts +28 -28
- package/lib/cjs/core-react/uistate/UiStateStorage.js +21 -21
- package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
- package/lib/cjs/core-react/utils/IconHelper.d.ts +23 -23
- package/lib/cjs/core-react/utils/IconHelper.js +62 -62
- package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
- package/lib/cjs/core-react/utils/IconWebComponent.d.ts +10 -10
- package/lib/cjs/core-react/utils/IconWebComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/IconWebComponent.js +72 -51
- package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
- package/lib/cjs/core-react/utils/Point.d.ts +37 -37
- package/lib/cjs/core-react/utils/Point.js +73 -73
- package/lib/cjs/core-react/utils/Point.js.map +1 -1
- package/lib/cjs/core-react/utils/PointProps.d.ts +11 -11
- package/lib/cjs/core-react/utils/PointProps.js +9 -9
- package/lib/cjs/core-react/utils/PointProps.js.map +1 -1
- package/lib/cjs/core-react/utils/Props.d.ts +38 -38
- package/lib/cjs/core-react/utils/Props.js +9 -9
- package/lib/cjs/core-react/utils/Props.js.map +1 -1
- package/lib/cjs/core-react/utils/Rectangle.d.ts +144 -144
- package/lib/cjs/core-react/utils/Rectangle.js +270 -270
- package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +36 -36
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
- package/lib/cjs/core-react/utils/Size.d.ts +23 -23
- package/lib/cjs/core-react/utils/Size.js +32 -32
- package/lib/cjs/core-react/utils/Size.js.map +1 -1
- package/lib/cjs/core-react/utils/Timer.d.ts +35 -35
- package/lib/cjs/core-react/utils/Timer.js +64 -64
- package/lib/cjs/core-react/utils/Timer.js.map +1 -1
- package/lib/cjs/core-react/utils/UiEvent.d.ts +9 -9
- package/lib/cjs/core-react/utils/UiEvent.js +17 -17
- package/lib/cjs/core-react/utils/UiEvent.js.map +1 -1
- package/lib/cjs/core-react/utils/UiGeometry.d.ts +20 -20
- package/lib/cjs/core-react/utils/UiGeometry.js +28 -28
- package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
- package/lib/cjs/core-react/utils/flattenChildren.d.ts +8 -8
- package/lib/cjs/core-react/utils/flattenChildren.js +27 -27
- package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
- package/lib/cjs/core-react/utils/getBestBWContrastColor.d.ts +7 -7
- package/lib/cjs/core-react/utils/getBestBWContrastColor.js +22 -22
- package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
- package/lib/cjs/core-react/utils/getCssVariable.d.ts +11 -11
- package/lib/cjs/core-react/utils/getCssVariable.js +31 -31
- package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
- package/lib/cjs/core-react/utils/getDisplayName.d.ts +8 -8
- package/lib/cjs/core-react/utils/getDisplayName.js +21 -21
- package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
- package/lib/cjs/core-react/utils/getUserColor.d.ts +7 -7
- package/lib/cjs/core-react/utils/getUserColor.js +38 -38
- package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +19 -19
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +89 -89
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +17 -17
- package/lib/cjs/core-react/utils/hooks/useDisposable.js +38 -38
- package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
- package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +26 -26
- package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts +11 -11
- package/lib/cjs/core-react/utils/hooks/useEventListener.js +43 -43
- package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useInterval.d.ts +5 -5
- package/lib/cjs/core-react/utils/hooks/useInterval.js +36 -36
- package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
- package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +64 -64
- package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
- package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +92 -92
- package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
- package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +114 -114
- package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +7 -7
- package/lib/cjs/core-react/utils/hooks/useRefEffect.js +23 -23
- package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useRefState.d.ts +21 -21
- package/lib/cjs/core-react/utils/hooks/useRefState.js +35 -35
- package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +12 -12
- package/lib/cjs/core-react/utils/hooks/useRefs.js +53 -53
- package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +208 -208
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts +8 -8
- package/lib/cjs/core-react/utils/hooks/useTargeted.js +28 -28
- package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
- package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +25 -25
- package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
- package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +27 -27
- package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
- package/lib/cjs/core-react/utils/isPromiseLike.d.ts +7 -7
- package/lib/cjs/core-react/utils/isPromiseLike.js +17 -17
- package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
- package/lib/cjs/core-react/utils/shallowDiffers.d.ts +11 -11
- package/lib/cjs/core-react/utils/shallowDiffers.js +29 -29
- package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
- package/lib/cjs/core-react/utils/typeUtils.d.ts +7 -7
- package/lib/cjs/core-react/utils/typeUtils.js +9 -9
- package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
- package/lib/cjs/core-react.d.ts +275 -275
- package/lib/cjs/core-react.js +298 -298
- package/lib/cjs/core-react.js.map +1 -1
- package/lib/esm/core-react/UiCore.d.ts +40 -40
- package/lib/esm/core-react/UiCore.js +81 -81
- package/lib/esm/core-react/UiCore.js.map +1 -1
- package/lib/esm/core-react/_geometry.scss +70 -70
- package/lib/esm/core-react/_helpers.scss +51 -51
- package/lib/esm/core-react/_math.scss +13 -13
- package/lib/esm/core-react/_scrollbar.scss +51 -51
- package/lib/esm/core-react/_typography.scss +44 -44
- package/lib/esm/core-react/_z-index.scss +65 -65
- package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +96 -96
- package/lib/esm/core-react/autosuggest/AutoSuggest.js +170 -170
- package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.scss +82 -82
- package/lib/esm/core-react/badge/Badge.d.ts +18 -18
- package/lib/esm/core-react/badge/Badge.js +22 -22
- package/lib/esm/core-react/badge/Badge.js.map +1 -1
- package/lib/esm/core-react/badge/Badge.scss +13 -13
- package/lib/esm/core-react/badge/BadgeUtilities.d.ts +12 -12
- package/lib/esm/core-react/badge/BadgeUtilities.js +34 -34
- package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
- package/lib/esm/core-react/badge/BetaBadge.d.ts +10 -10
- package/lib/esm/core-react/badge/BetaBadge.js +19 -19
- package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
- package/lib/esm/core-react/badge/BetaBadge.scss +9 -9
- package/lib/esm/core-react/badge/NewBadge.d.ts +10 -10
- package/lib/esm/core-react/badge/NewBadge.js +19 -19
- package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
- package/lib/esm/core-react/badge/NewBadge.scss +9 -9
- package/lib/esm/core-react/base/Centered.d.ts +10 -10
- package/lib/esm/core-react/base/Centered.js +16 -16
- package/lib/esm/core-react/base/Centered.js.map +1 -1
- package/lib/esm/core-react/base/Div.d.ts +16 -16
- package/lib/esm/core-react/base/Div.js +16 -16
- package/lib/esm/core-react/base/Div.js.map +1 -1
- package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +79 -79
- package/lib/esm/core-react/base/DivWithOutsideClick.js +13 -13
- package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
- package/lib/esm/core-react/base/FillCentered.d.ts +10 -10
- package/lib/esm/core-react/base/FillCentered.js +16 -16
- package/lib/esm/core-react/base/FillCentered.js.map +1 -1
- package/lib/esm/core-react/base/FlexWrapContainer.d.ts +11 -11
- package/lib/esm/core-react/base/FlexWrapContainer.js +17 -17
- package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
- package/lib/esm/core-react/base/Gap.d.ts +15 -15
- package/lib/esm/core-react/base/Gap.js +16 -16
- package/lib/esm/core-react/base/Gap.js.map +1 -1
- package/lib/esm/core-react/base/PointerEvents.d.ts +7 -7
- package/lib/esm/core-react/base/PointerEvents.js +13 -13
- package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
- package/lib/esm/core-react/base/ScrollView.d.ts +11 -11
- package/lib/esm/core-react/base/ScrollView.js +17 -17
- package/lib/esm/core-react/base/ScrollView.js.map +1 -1
- package/lib/esm/core-react/base/base.scss +42 -42
- package/lib/esm/core-react/base/classes.scss +13 -13
- package/lib/esm/core-react/base/index.scss +5 -5
- package/lib/esm/core-react/button/Button.d.ts +47 -47
- package/lib/esm/core-react/button/Button.js +80 -80
- package/lib/esm/core-react/button/Button.js.map +1 -1
- package/lib/esm/core-react/button/UnderlinedButton.d.ts +24 -24
- package/lib/esm/core-react/button/UnderlinedButton.js +31 -31
- package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
- package/lib/esm/core-react/button/UnderlinedButton.scss +32 -32
- package/lib/esm/core-react/button/blue-large.scss +12 -12
- package/lib/esm/core-react/button/blue.scss +25 -25
- package/lib/esm/core-react/button/button.scss +81 -81
- package/lib/esm/core-react/button/classes.scss +14 -14
- package/lib/esm/core-react/button/disabled-large.scss +12 -12
- package/lib/esm/core-react/button/disabled.scss +17 -17
- package/lib/esm/core-react/button/hollow-large.scss +13 -13
- package/lib/esm/core-react/button/hollow.scss +30 -30
- package/lib/esm/core-react/button/index.scss +14 -14
- package/lib/esm/core-react/button/primary-large.scss +12 -12
- package/lib/esm/core-react/button/primary.scss +25 -25
- package/lib/esm/core-react/button/variables.scss +19 -19
- package/lib/esm/core-react/checkbox/Checkbox.d.ts +56 -56
- package/lib/esm/core-react/checkbox/Checkbox.js +60 -60
- package/lib/esm/core-react/checkbox/Checkbox.js.map +1 -1
- package/lib/esm/core-react/checkbox/checkbox.scss +129 -129
- package/lib/esm/core-react/checkbox/classes.scss +8 -8
- package/lib/esm/core-react/checkbox/index.scss +8 -8
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +37 -37
- package/lib/esm/core-react/checklistbox/CheckListBox.js +36 -36
- package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.scss +22 -22
- package/lib/esm/core-react/classes.scss +18 -18
- package/lib/esm/core-react/colorthemes.scss +58 -58
- package/lib/esm/core-react/colorvariables.scss +116 -116
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +91 -91
- package/lib/esm/core-react/contextmenu/ContextMenu.js +360 -360
- package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.scss +238 -238
- package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
- package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +23 -23
- package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +19 -19
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js +104 -104
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js +155 -155
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +55 -55
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
- package/lib/esm/core-react/contextmenu/PopupContextMenu.js +51 -51
- package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/TildeFinder.d.ts +18 -18
- package/lib/esm/core-react/contextmenu/TildeFinder.js +66 -66
- package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.d.ts +132 -132
- package/lib/esm/core-react/dialog/Dialog.js +362 -362
- package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.scss +241 -241
- package/lib/esm/core-react/dialog/DialogButtonDef.d.ts +46 -46
- package/lib/esm/core-react/dialog/DialogButtonDef.js +34 -34
- package/lib/esm/core-react/dialog/DialogButtonDef.js.map +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.d.ts +28 -28
- package/lib/esm/core-react/dialog/GlobalDialog.js +49 -49
- package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +41 -41
- package/lib/esm/core-react/elementseparator/ElementSeparator.js +159 -159
- package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.scss +85 -85
- package/lib/esm/core-react/enums/Alignment.d.ts +22 -22
- package/lib/esm/core-react/enums/Alignment.js +28 -28
- package/lib/esm/core-react/enums/Alignment.js.map +1 -1
- package/lib/esm/core-react/enums/CheckBoxState.d.ts +20 -20
- package/lib/esm/core-react/enums/CheckBoxState.js +16 -16
- package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
- package/lib/esm/core-react/enums/Orientation.d.ts +11 -11
- package/lib/esm/core-react/enums/Orientation.js +16 -16
- package/lib/esm/core-react/enums/Orientation.js.map +1 -1
- package/lib/esm/core-react/enums/SortDirection.d.ts +12 -12
- package/lib/esm/core-react/enums/SortDirection.js +17 -17
- package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
- package/lib/esm/core-react/enums/TimeFormat.d.ts +14 -14
- package/lib/esm/core-react/enums/TimeFormat.js +19 -19
- package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableBlock.d.ts +33 -33
- package/lib/esm/core-react/expandable/ExpandableBlock.js +31 -31
- package/lib/esm/core-react/expandable/ExpandableBlock.js.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableBlock.scss +145 -145
- package/lib/esm/core-react/expandable/ExpandableList.d.ts +35 -35
- package/lib/esm/core-react/expandable/ExpandableList.js +53 -53
- package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.scss +8 -8
- package/lib/esm/core-react/expandable/classes.scss +7 -7
- package/lib/esm/core-react/expandable/index.scss +5 -5
- package/lib/esm/core-react/expandable/list.scss +45 -45
- package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
- package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +145 -145
- package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
- package/lib/esm/core-react/focustrap/FocusTrap.d.ts +28 -28
- package/lib/esm/core-react/focustrap/FocusTrap.js +191 -191
- package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
- package/lib/esm/core-react/form/Field.d.ts +19 -19
- package/lib/esm/core-react/form/Field.js +40 -40
- package/lib/esm/core-react/form/Field.js.map +1 -1
- package/lib/esm/core-react/form/Form.d.ts +131 -131
- package/lib/esm/core-react/form/Form.js +127 -127
- package/lib/esm/core-react/form/Form.js.map +1 -1
- package/lib/esm/core-react/form/Form.scss +78 -78
- package/lib/esm/core-react/hocs/withIsPressed.d.ts +77 -77
- package/lib/esm/core-react/hocs/withIsPressed.js +42 -42
- package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
- package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts +103 -103
- package/lib/esm/core-react/hocs/withOnOutsideClick.js +111 -111
- package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/esm/core-react/hocs/withTimeout.d.ts +74 -74
- package/lib/esm/core-react/hocs/withTimeout.js +42 -42
- package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.d.ts +24 -24
- package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.js +50 -46
- package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.scss +20 -20
- package/lib/esm/core-react/icons/SvgPath.d.ts +23 -23
- package/lib/esm/core-react/icons/SvgPath.js +23 -23
- package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
- package/lib/esm/core-react/icons/SvgSprite.d.ts +20 -20
- package/lib/esm/core-react/icons/SvgSprite.js +22 -22
- package/lib/esm/core-react/icons/SvgSprite.js.map +1 -1
- package/lib/esm/core-react/icons/SvgSprite.scss +15 -15
- package/lib/esm/core-react/icons/WebFontIcon.d.ts +26 -26
- package/lib/esm/core-react/icons/WebFontIcon.js +18 -18
- package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
- package/lib/esm/core-react/icons/WebFontIcon.scss +17 -17
- package/lib/esm/core-react/icons/classes.scss +10 -10
- package/lib/esm/core-react/icons/index.scss +6 -6
- package/lib/esm/core-react/icons/mixins.scss +25 -25
- package/lib/esm/core-react/icons/variables.scss +21 -21
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +52 -52
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
- package/lib/esm/core-react/index.scss +27 -27
- package/lib/esm/core-react/inputs/Input.d.ts +22 -22
- package/lib/esm/core-react/inputs/Input.js +43 -43
- package/lib/esm/core-react/inputs/Input.js.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.d.ts +18 -18
- package/lib/esm/core-react/inputs/InputLabel.js +29 -29
- package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/esm/core-react/inputs/InputStatus.d.ts +11 -11
- package/lib/esm/core-react/inputs/InputStatus.js +16 -16
- package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
- package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +33 -33
- package/lib/esm/core-react/inputs/LabeledComponentProps.js +8 -8
- package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
- package/lib/esm/core-react/inputs/LabeledInput.d.ts +17 -17
- package/lib/esm/core-react/inputs/LabeledInput.js +29 -29
- package/lib/esm/core-react/inputs/LabeledInput.js.map +1 -1
- package/lib/esm/core-react/inputs/LabeledTextarea.d.ts +17 -17
- package/lib/esm/core-react/inputs/LabeledTextarea.js +27 -27
- package/lib/esm/core-react/inputs/LabeledTextarea.js.map +1 -1
- package/lib/esm/core-react/inputs/Textarea.d.ts +22 -22
- package/lib/esm/core-react/inputs/Textarea.js +32 -32
- package/lib/esm/core-react/inputs/Textarea.js.map +1 -1
- package/lib/esm/core-react/inputs/classes.scss +10 -10
- package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +23 -23
- package/lib/esm/core-react/inputs/iconinput/IconInput.js +26 -26
- package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
- package/lib/esm/core-react/inputs/iconinput/IconInput.scss +35 -35
- package/lib/esm/core-react/inputs/index.scss +11 -11
- package/lib/esm/core-react/inputs/input.scss +60 -60
- package/lib/esm/core-react/inputs/labeled-input.scss +103 -103
- package/lib/esm/core-react/inputs/labeled-textarea.scss +77 -77
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +45 -45
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js +145 -145
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +89 -89
- package/lib/esm/core-react/inputs/textarea.scss +55 -55
- package/lib/esm/core-react/inputs/variables.scss +33 -33
- package/lib/esm/core-react/layout-variables.scss +15 -15
- package/lib/esm/core-react/listbox/Listbox.d.ts +55 -55
- package/lib/esm/core-react/listbox/Listbox.js +217 -217
- package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
- package/lib/esm/core-react/listbox/Listbox.scss +53 -53
- package/lib/esm/core-react/loading/LoadingBar.d.ts +29 -29
- package/lib/esm/core-react/loading/LoadingBar.js +35 -35
- package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingBar.scss +29 -29
- package/lib/esm/core-react/loading/LoadingPrompt.d.ts +39 -39
- package/lib/esm/core-react/loading/LoadingPrompt.js +40 -40
- package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.scss +33 -33
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts +33 -33
- package/lib/esm/core-react/loading/LoadingSpinner.js +41 -41
- package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.scss +26 -26
- package/lib/esm/core-react/loading/LoadingStatus.d.ts +24 -24
- package/lib/esm/core-react/loading/LoadingStatus.js +33 -33
- package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.scss +20 -20
- package/lib/esm/core-react/loading/Spinner.d.ts +37 -37
- package/lib/esm/core-react/loading/Spinner.js +56 -56
- package/lib/esm/core-react/loading/Spinner.js.map +1 -1
- package/lib/esm/core-react/loading/Spinner.scss +26 -26
- package/lib/esm/core-react/loading/index.scss +5 -5
- package/lib/esm/core-react/loading/mixins.scss +57 -57
- package/lib/esm/core-react/messagebox/MessageBox.d.ts +64 -64
- package/lib/esm/core-react/messagebox/MessageBox.js +65 -65
- package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.scss +46 -46
- package/lib/esm/core-react/messagebox/MessageSeverity.d.ts +15 -15
- package/lib/esm/core-react/messagebox/MessageSeverity.js +20 -20
- package/lib/esm/core-react/messagebox/MessageSeverity.js.map +1 -1
- package/lib/esm/core-react/notification/MessageRenderer.d.ts +19 -19
- package/lib/esm/core-react/notification/MessageRenderer.js +77 -77
- package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
- package/lib/esm/core-react/notification/MessageType.d.ts +22 -22
- package/lib/esm/core-react/notification/MessageType.js +19 -19
- package/lib/esm/core-react/notification/MessageType.js.map +1 -1
- package/lib/esm/core-react/popup/Popup.d.ts +109 -109
- package/lib/esm/core-react/popup/Popup.js +415 -415
- package/lib/esm/core-react/popup/Popup.js.map +1 -1
- package/lib/esm/core-react/popup/Popup.scss +240 -240
- package/lib/esm/core-react/progress-indicators/ProgressBar.d.ts +28 -28
- package/lib/esm/core-react/progress-indicators/ProgressBar.js +43 -43
- package/lib/esm/core-react/progress-indicators/ProgressBar.js.map +1 -1
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.d.ts +48 -48
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.js +69 -69
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.js.map +1 -1
- package/lib/esm/core-react/progress-indicators/classes.scss +33 -33
- package/lib/esm/core-react/progress-indicators/index.scss +6 -6
- package/lib/esm/core-react/progress-indicators/progress-bar.scss +91 -91
- package/lib/esm/core-react/progress-indicators/progress-spinner.scss +132 -132
- package/lib/esm/core-react/radialmenu/Annulus.d.ts +54 -54
- package/lib/esm/core-react/radialmenu/Annulus.js +75 -75
- package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +93 -93
- package/lib/esm/core-react/radialmenu/RadialMenu.js +174 -174
- package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.scss +56 -56
- package/lib/esm/core-react/radio/Radio.d.ts +19 -19
- package/lib/esm/core-react/radio/Radio.js +23 -23
- package/lib/esm/core-react/radio/Radio.js.map +1 -1
- package/lib/esm/core-react/radio/classes.scss +7 -7
- package/lib/esm/core-react/radio/index.scss +8 -8
- package/lib/esm/core-react/radio/radio.scss +89 -89
- package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
- package/lib/esm/core-react/searchbox/SearchBox.js +105 -105
- package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.scss +53 -53
- package/lib/esm/core-react/select/LabeledSelect.d.ts +19 -19
- package/lib/esm/core-react/select/LabeledSelect.js +29 -29
- package/lib/esm/core-react/select/LabeledSelect.js.map +1 -1
- package/lib/esm/core-react/select/LabeledThemedSelect.d.ts +15 -15
- package/lib/esm/core-react/select/LabeledThemedSelect.js +26 -26
- package/lib/esm/core-react/select/LabeledThemedSelect.js.map +1 -1
- package/lib/esm/core-react/select/Select.d.ts +52 -52
- package/lib/esm/core-react/select/Select.js +56 -56
- package/lib/esm/core-react/select/Select.js.map +1 -1
- package/lib/esm/core-react/select/ThemedSelect.d.ts +103 -103
- package/lib/esm/core-react/select/ThemedSelect.js +52 -52
- package/lib/esm/core-react/select/ThemedSelect.js.map +1 -1
- package/lib/esm/core-react/select/classes.scss +9 -9
- package/lib/esm/core-react/select/index.scss +10 -10
- package/lib/esm/core-react/select/labeled-select.scss +72 -72
- package/lib/esm/core-react/select/labeled-themed-select.scss +77 -77
- package/lib/esm/core-react/select/modalHelper.d.ts +4 -4
- package/lib/esm/core-react/select/modalHelper.js +16 -16
- package/lib/esm/core-react/select/modalHelper.js.map +1 -1
- package/lib/esm/core-react/select/select.scss +73 -73
- package/lib/esm/core-react/select/themed-select.scss +159 -159
- package/lib/esm/core-react/settings/SettingsContainer.d.ts +30 -30
- package/lib/esm/core-react/settings/SettingsContainer.js +115 -115
- package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.scss +64 -64
- package/lib/esm/core-react/settings/SettingsManager.d.ts +132 -132
- package/lib/esm/core-react/settings/SettingsManager.js +113 -113
- package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
- package/lib/esm/core-react/slider/Slider.d.ts +79 -79
- package/lib/esm/core-react/slider/Slider.js +86 -86
- package/lib/esm/core-react/slider/Slider.js.map +1 -1
- package/lib/esm/core-react/slider/Slider.scss +96 -96
- package/lib/esm/core-react/splitbutton/SplitButton.d.ts +61 -61
- package/lib/esm/core-react/splitbutton/SplitButton.js +99 -99
- package/lib/esm/core-react/splitbutton/SplitButton.js.map +1 -1
- package/lib/esm/core-react/splitbutton/SplitButton.scss +137 -137
- package/lib/esm/core-react/style/baseline.scss +13 -13
- package/lib/esm/core-react/style/breakpoints.scss +41 -41
- package/lib/esm/core-react/style/colors.scss +77 -77
- package/lib/esm/core-react/style/data-viz.scss +23 -23
- package/lib/esm/core-react/style/index.scss +17 -17
- package/lib/esm/core-react/style/itwinui-overrides.scss +24 -24
- package/lib/esm/core-react/style/mixins.scss +28 -28
- package/lib/esm/core-react/style/opacity.scss +17 -17
- package/lib/esm/core-react/style/space.scss +17 -17
- package/lib/esm/core-react/style/speed.scss +13 -13
- package/lib/esm/core-react/style/themecolors.scss +126 -126
- package/lib/esm/core-react/style/typography.scss +43 -43
- package/lib/esm/core-react/style/variables.scss +13 -13
- package/lib/esm/core-react/tabs/HorizontalTabs.d.ts +10 -10
- package/lib/esm/core-react/tabs/HorizontalTabs.js +17 -17
- package/lib/esm/core-react/tabs/HorizontalTabs.js.map +1 -1
- package/lib/esm/core-react/tabs/Tabs.d.ts +71 -71
- package/lib/esm/core-react/tabs/Tabs.js +121 -121
- package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
- package/lib/esm/core-react/tabs/VerticalTabs.d.ts +9 -9
- package/lib/esm/core-react/tabs/VerticalTabs.js +16 -16
- package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
- package/lib/esm/core-react/tabs/classes.scss +8 -8
- package/lib/esm/core-react/tabs/horizontal.scss +77 -77
- package/lib/esm/core-react/tabs/index.scss +6 -6
- package/lib/esm/core-react/tabs/tabs.scss +117 -117
- package/lib/esm/core-react/tabs/vertical.scss +64 -64
- package/lib/esm/core-react/text/BlockText.d.ts +9 -9
- package/lib/esm/core-react/text/BlockText.js +15 -15
- package/lib/esm/core-react/text/BlockText.js.map +1 -1
- package/lib/esm/core-react/text/BodyText.d.ts +9 -9
- package/lib/esm/core-react/text/BodyText.js +15 -15
- package/lib/esm/core-react/text/BodyText.js.map +1 -1
- package/lib/esm/core-react/text/DisabledText.d.ts +6 -6
- package/lib/esm/core-react/text/DisabledText.js +15 -15
- package/lib/esm/core-react/text/DisabledText.js.map +1 -1
- package/lib/esm/core-react/text/FilteredText.d.ts +24 -24
- package/lib/esm/core-react/text/FilteredText.js +36 -36
- package/lib/esm/core-react/text/FilteredText.js.map +1 -1
- package/lib/esm/core-react/text/FilteredText.scss +10 -10
- package/lib/esm/core-react/text/Headline.d.ts +10 -10
- package/lib/esm/core-react/text/Headline.js +16 -16
- package/lib/esm/core-react/text/Headline.js.map +1 -1
- package/lib/esm/core-react/text/LeadingText.d.ts +10 -10
- package/lib/esm/core-react/text/LeadingText.js +16 -16
- package/lib/esm/core-react/text/LeadingText.js.map +1 -1
- package/lib/esm/core-react/text/LeadingText2.d.ts +10 -10
- package/lib/esm/core-react/text/LeadingText2.js +16 -16
- package/lib/esm/core-react/text/LeadingText2.js.map +1 -1
- package/lib/esm/core-react/text/MutedText.d.ts +9 -9
- package/lib/esm/core-react/text/MutedText.js +15 -15
- package/lib/esm/core-react/text/MutedText.js.map +1 -1
- package/lib/esm/core-react/text/SmallText.d.ts +10 -10
- package/lib/esm/core-react/text/SmallText.js +16 -16
- package/lib/esm/core-react/text/SmallText.js.map +1 -1
- package/lib/esm/core-react/text/StyledText.d.ts +16 -16
- package/lib/esm/core-react/text/StyledText.js +16 -16
- package/lib/esm/core-react/text/StyledText.js.map +1 -1
- package/lib/esm/core-react/text/Subheading.d.ts +10 -10
- package/lib/esm/core-react/text/Subheading.js +16 -16
- package/lib/esm/core-react/text/Subheading.js.map +1 -1
- package/lib/esm/core-react/text/Subheading2.d.ts +10 -10
- package/lib/esm/core-react/text/Subheading2.js +16 -16
- package/lib/esm/core-react/text/Subheading2.js.map +1 -1
- package/lib/esm/core-react/text/TextProps.d.ts +10 -10
- package/lib/esm/core-react/text/TextProps.js +8 -8
- package/lib/esm/core-react/text/TextProps.js.map +1 -1
- package/lib/esm/core-react/text/Title.d.ts +10 -10
- package/lib/esm/core-react/text/Title.js +16 -16
- package/lib/esm/core-react/text/Title.js.map +1 -1
- package/lib/esm/core-react/text/Title2.d.ts +10 -10
- package/lib/esm/core-react/text/Title2.js +16 -16
- package/lib/esm/core-react/text/Title2.js.map +1 -1
- package/lib/esm/core-react/text/block.scss +10 -10
- package/lib/esm/core-react/text/body.scss +10 -10
- package/lib/esm/core-react/text/classes.scss +18 -18
- package/lib/esm/core-react/text/disabled.scss +10 -10
- package/lib/esm/core-react/text/headline.scss +10 -10
- package/lib/esm/core-react/text/index.scss +18 -18
- package/lib/esm/core-react/text/leading-2.scss +11 -11
- package/lib/esm/core-react/text/leading.scss +10 -10
- package/lib/esm/core-react/text/mixins.scss +62 -62
- package/lib/esm/core-react/text/muted.scss +10 -10
- package/lib/esm/core-react/text/small.scss +10 -10
- package/lib/esm/core-react/text/subheading-2.scss +11 -11
- package/lib/esm/core-react/text/subheading.scss +11 -11
- package/lib/esm/core-react/text/title-2.scss +11 -11
- package/lib/esm/core-react/text/title.scss +10 -10
- package/lib/esm/core-react/tiles/FeaturedTile.d.ts +10 -10
- package/lib/esm/core-react/tiles/FeaturedTile.js +16 -16
- package/lib/esm/core-react/tiles/FeaturedTile.js.map +1 -1
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.d.ts +10 -10
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.js +16 -16
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.js.map +1 -1
- package/lib/esm/core-react/tiles/MinimalTile.d.ts +10 -10
- package/lib/esm/core-react/tiles/MinimalTile.js +16 -16
- package/lib/esm/core-react/tiles/MinimalTile.js.map +1 -1
- package/lib/esm/core-react/tiles/Tile.d.ts +31 -31
- package/lib/esm/core-react/tiles/Tile.js +35 -35
- package/lib/esm/core-react/tiles/Tile.js.map +1 -1
- package/lib/esm/core-react/tiles/classes.scss +7 -7
- package/lib/esm/core-react/tiles/index.scss +5 -5
- package/lib/esm/core-react/tiles/tile.scss +134 -134
- package/lib/esm/core-react/toggle/LabeledToggle.d.ts +25 -25
- package/lib/esm/core-react/toggle/LabeledToggle.js +24 -24
- package/lib/esm/core-react/toggle/LabeledToggle.js.map +1 -1
- package/lib/esm/core-react/toggle/LabeledToggle.scss +21 -21
- package/lib/esm/core-react/toggle/Toggle.d.ts +51 -51
- package/lib/esm/core-react/toggle/Toggle.js +101 -101
- package/lib/esm/core-react/toggle/Toggle.js.map +1 -1
- package/lib/esm/core-react/toggle/Toggle.scss +135 -135
- package/lib/esm/core-react/tooltip/Tooltip.d.ts +33 -33
- package/lib/esm/core-react/tooltip/Tooltip.js +51 -51
- package/lib/esm/core-react/tooltip/Tooltip.js.map +1 -1
- package/lib/esm/core-react/tooltip/Tooltip.scss +18 -18
- package/lib/esm/core-react/tree/Branch.d.ts +19 -19
- package/lib/esm/core-react/tree/Branch.js +19 -19
- package/lib/esm/core-react/tree/Branch.js.map +1 -1
- package/lib/esm/core-react/tree/Branch.scss +12 -12
- package/lib/esm/core-react/tree/ExpansionToggle.d.ts +20 -20
- package/lib/esm/core-react/tree/ExpansionToggle.js +24 -24
- package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.scss +28 -28
- package/lib/esm/core-react/tree/Node.d.ts +79 -79
- package/lib/esm/core-react/tree/Node.js +84 -84
- package/lib/esm/core-react/tree/Node.js.map +1 -1
- package/lib/esm/core-react/tree/Node.scss +84 -84
- package/lib/esm/core-react/tree/Placeholder.d.ts +22 -22
- package/lib/esm/core-react/tree/Placeholder.js +27 -27
- package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
- package/lib/esm/core-react/tree/Placeholder.scss +20 -20
- package/lib/esm/core-react/tree/Tree.d.ts +28 -28
- package/lib/esm/core-react/tree/Tree.js +96 -96
- package/lib/esm/core-react/tree/Tree.js.map +1 -1
- package/lib/esm/core-react/tree/Tree.scss +21 -21
- package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +16 -16
- package/lib/esm/core-react/uistate/LocalStateStorage.js +45 -45
- package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
- package/lib/esm/core-react/uistate/UiStateEntry.d.ts +30 -30
- package/lib/esm/core-react/uistate/UiStateEntry.js +55 -55
- package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
- package/lib/esm/core-react/uistate/UiStateStorage.d.ts +28 -28
- package/lib/esm/core-react/uistate/UiStateStorage.js +18 -18
- package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
- package/lib/esm/core-react/utils/IconHelper.d.ts +23 -23
- package/lib/esm/core-react/utils/IconHelper.js +58 -58
- package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
- package/lib/esm/core-react/utils/IconWebComponent.d.ts +10 -10
- package/lib/esm/core-react/utils/IconWebComponent.d.ts.map +1 -1
- package/lib/esm/core-react/utils/IconWebComponent.js +68 -47
- package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
- package/lib/esm/core-react/utils/Point.d.ts +37 -37
- package/lib/esm/core-react/utils/Point.js +69 -69
- package/lib/esm/core-react/utils/Point.js.map +1 -1
- package/lib/esm/core-react/utils/PointProps.d.ts +11 -11
- package/lib/esm/core-react/utils/PointProps.js +8 -8
- package/lib/esm/core-react/utils/PointProps.js.map +1 -1
- package/lib/esm/core-react/utils/Props.d.ts +38 -38
- package/lib/esm/core-react/utils/Props.js +8 -8
- package/lib/esm/core-react/utils/Props.js.map +1 -1
- package/lib/esm/core-react/utils/Rectangle.d.ts +144 -144
- package/lib/esm/core-react/utils/Rectangle.js +266 -266
- package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +32 -32
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
- package/lib/esm/core-react/utils/Size.d.ts +23 -23
- package/lib/esm/core-react/utils/Size.js +28 -28
- package/lib/esm/core-react/utils/Size.js.map +1 -1
- package/lib/esm/core-react/utils/Timer.d.ts +35 -35
- package/lib/esm/core-react/utils/Timer.js +60 -60
- package/lib/esm/core-react/utils/Timer.js.map +1 -1
- package/lib/esm/core-react/utils/UiEvent.d.ts +9 -9
- package/lib/esm/core-react/utils/UiEvent.js +13 -13
- package/lib/esm/core-react/utils/UiEvent.js.map +1 -1
- package/lib/esm/core-react/utils/UiGeometry.d.ts +20 -20
- package/lib/esm/core-react/utils/UiGeometry.js +24 -24
- package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
- package/lib/esm/core-react/utils/flattenChildren.d.ts +8 -8
- package/lib/esm/core-react/utils/flattenChildren.js +23 -23
- package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
- package/lib/esm/core-react/utils/getBestBWContrastColor.d.ts +7 -7
- package/lib/esm/core-react/utils/getBestBWContrastColor.js +18 -18
- package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
- package/lib/esm/core-react/utils/getCssVariable.d.ts +11 -11
- package/lib/esm/core-react/utils/getCssVariable.js +26 -26
- package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
- package/lib/esm/core-react/utils/getDisplayName.d.ts +8 -8
- package/lib/esm/core-react/utils/getDisplayName.js +17 -17
- package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
- package/lib/esm/core-react/utils/getUserColor.d.ts +7 -7
- package/lib/esm/core-react/utils/getUserColor.js +34 -34
- package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +16 -16
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +85 -85
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +17 -17
- package/lib/esm/core-react/utils/hooks/useDisposable.js +33 -33
- package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
- package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +22 -22
- package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useEventListener.d.ts +11 -11
- package/lib/esm/core-react/utils/hooks/useEventListener.js +39 -39
- package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useInterval.d.ts +5 -5
- package/lib/esm/core-react/utils/hooks/useInterval.js +32 -32
- package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
- package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +60 -60
- package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
- package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +88 -88
- package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
- package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +102 -102
- package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +7 -7
- package/lib/esm/core-react/utils/hooks/useRefEffect.js +19 -19
- package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useRefState.d.ts +21 -21
- package/lib/esm/core-react/utils/hooks/useRefState.js +31 -31
- package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useRefs.d.ts +12 -12
- package/lib/esm/core-react/utils/hooks/useRefs.js +48 -48
- package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js +201 -201
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useTargeted.d.ts +8 -8
- package/lib/esm/core-react/utils/hooks/useTargeted.js +24 -24
- package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
- package/lib/esm/core-react/utils/hooks/useThrottledFn.js +21 -21
- package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
- package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +23 -23
- package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
- package/lib/esm/core-react/utils/isPromiseLike.d.ts +7 -7
- package/lib/esm/core-react/utils/isPromiseLike.js +13 -13
- package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
- package/lib/esm/core-react/utils/shallowDiffers.d.ts +11 -11
- package/lib/esm/core-react/utils/shallowDiffers.js +25 -25
- package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
- package/lib/esm/core-react/utils/typeUtils.d.ts +7 -7
- package/lib/esm/core-react/utils/typeUtils.js +8 -8
- package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
- package/lib/esm/core-react.d.ts +275 -275
- package/lib/esm/core-react.js +280 -280
- package/lib/esm/core-react.js.map +1 -1
- package/lib/public/locales/en/UiCore.json +30 -30
- package/package.json +9 -9
|
@@ -1,267 +1,267 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module Utilities
|
|
7
|
-
*/
|
|
8
|
-
import { Point } from "./Point";
|
|
9
|
-
import { Size } from "./Size";
|
|
10
|
-
import { UiGeometry } from "./UiGeometry";
|
|
11
|
-
/** Available corners of [[Rectangle]].
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
export var Corner;
|
|
15
|
-
(function (Corner) {
|
|
16
|
-
Corner[Corner["TopLeft"] = 0] = "TopLeft";
|
|
17
|
-
Corner[Corner["TopRight"] = 1] = "TopRight";
|
|
18
|
-
Corner[Corner["BottomRight"] = 2] = "BottomRight";
|
|
19
|
-
Corner[Corner["BottomLeft"] = 3] = "BottomLeft";
|
|
20
|
-
})(Corner || (Corner = {}));
|
|
21
|
-
/** Describes and provides methods to work with 2d bounds.
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
export class Rectangle {
|
|
25
|
-
/** Creates rectangle with specified bounds. */
|
|
26
|
-
constructor(left = 0, top = 0, right = 0, bottom = 0) {
|
|
27
|
-
this.left = left;
|
|
28
|
-
this.top = top;
|
|
29
|
-
this.right = right;
|
|
30
|
-
this.bottom = bottom;
|
|
31
|
-
}
|
|
32
|
-
/** Creates rectangle from [[RectangleProps]]. */
|
|
33
|
-
static create(props) {
|
|
34
|
-
return new Rectangle(props.left, props.top, props.right, props.bottom);
|
|
35
|
-
}
|
|
36
|
-
/** Creates rectangle from [[SizeProps]]. */
|
|
37
|
-
static createFromSize(size) {
|
|
38
|
-
return new Rectangle(0, 0, size.width, size.height);
|
|
39
|
-
}
|
|
40
|
-
/** Create a rectangle with 2 pairs of xy candidates. Theses are compared and shuffled as needed for the rectangle. */
|
|
41
|
-
static createXYXY(xA, yA, xB, yB) {
|
|
42
|
-
return new Rectangle(Math.min(xA, xB), Math.min(yA, yB), Math.max(xA, xB), Math.max(yA, yB));
|
|
43
|
-
}
|
|
44
|
-
/** @returns Size of this rectangle. */
|
|
45
|
-
getSize() {
|
|
46
|
-
const width = this.getWidth();
|
|
47
|
-
const height = this.getHeight();
|
|
48
|
-
return new Size(width, height);
|
|
49
|
-
}
|
|
50
|
-
/** @returns Width of this rectangle. */
|
|
51
|
-
getWidth() {
|
|
52
|
-
return this.right - this.left;
|
|
53
|
-
}
|
|
54
|
-
/** @returns Height of this rectangle. */
|
|
55
|
-
getHeight() {
|
|
56
|
-
return this.bottom - this.top;
|
|
57
|
-
}
|
|
58
|
-
/** @returns Position of specified corner. */
|
|
59
|
-
getCorner(corner) {
|
|
60
|
-
switch (corner) {
|
|
61
|
-
case Corner.TopLeft: {
|
|
62
|
-
return this.topLeft();
|
|
63
|
-
}
|
|
64
|
-
case Corner.TopRight: {
|
|
65
|
-
return new Point(this.right, this.top);
|
|
66
|
-
}
|
|
67
|
-
case Corner.BottomLeft: {
|
|
68
|
-
return new Point(this.left, this.bottom);
|
|
69
|
-
}
|
|
70
|
-
case Corner.BottomRight: {
|
|
71
|
-
return new Point(this.right, this.bottom);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Inset the bounds of this rectangle.
|
|
77
|
-
* @note Negative arguments will increase the size of rectangle.
|
|
78
|
-
* @returns New [[Rectangle]] with modified bounds.
|
|
79
|
-
*/
|
|
80
|
-
inset(left, top, right, bottom) {
|
|
81
|
-
return new Rectangle(this.left + left, this.top + top, this.right - right, this.bottom - bottom);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Offsets the rectangle along the X and Y axes.
|
|
85
|
-
* @returns New [[Rectangle]] with modified position.
|
|
86
|
-
*/
|
|
87
|
-
offset(offset) {
|
|
88
|
-
return new Rectangle(this.left + offset.x, this.top + offset.y, this.right + offset.x, this.bottom + offset.y);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Offsets the rectangle along the X axis.
|
|
92
|
-
* @returns New [[Rectangle]] with modified position along X axis.
|
|
93
|
-
*/
|
|
94
|
-
offsetX(offset) {
|
|
95
|
-
return new Rectangle(this.left + offset, this.top, this.right + offset, this.bottom);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Offsets the rectangle along the Y axis.
|
|
99
|
-
* @returns New [[Rectangle]] with modified position along Y axis.
|
|
100
|
-
*/
|
|
101
|
-
offsetY(offset) {
|
|
102
|
-
return new Rectangle(this.left, this.top + offset, this.right, this.bottom + offset);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Moves the top left corner of rectangle to specified point.
|
|
106
|
-
* @returns New [[Rectangle]] with modified position.
|
|
107
|
-
*/
|
|
108
|
-
setPosition(position) {
|
|
109
|
-
return new Rectangle(position.x, position.y, position.x + this.getWidth(), position.y + this.getHeight());
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Sets the height of the rectangle.
|
|
113
|
-
* @note Only [[Edge.Bottom]] is subject to change.
|
|
114
|
-
* @returns New [[Rectangle]] with modified height.
|
|
115
|
-
*/
|
|
116
|
-
setHeight(height) {
|
|
117
|
-
return new Rectangle(this.left, this.top, this.right, this.top + height);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Sets the width of the rectangle.
|
|
121
|
-
* @note Only [[Edge.Right]] is subject to change.
|
|
122
|
-
* @returns New [[Rectangle]] with modified width.
|
|
123
|
-
*/
|
|
124
|
-
setWidth(width) {
|
|
125
|
-
return new Rectangle(this.left, this.top, this.left + width, this.bottom);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Sets the height and width of the rectangle.
|
|
129
|
-
* @note Only [[Edge.Bottom]] and [[Edge.Right]] are subjects to change.
|
|
130
|
-
* @returns New [[Rectangle]] with modified height.
|
|
131
|
-
*/
|
|
132
|
-
setSize(size) {
|
|
133
|
-
return new Rectangle(this.left, this.top, this.left + size.width, this.top + size.height);
|
|
134
|
-
}
|
|
135
|
-
/** Checks if bounds of two rectangles match. */
|
|
136
|
-
equals(other) {
|
|
137
|
-
if (this.left === other.left &&
|
|
138
|
-
this.top === other.top &&
|
|
139
|
-
this.right === other.right &&
|
|
140
|
-
this.bottom === other.bottom)
|
|
141
|
-
return true;
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Checks if point is within bounds of the rectangle.
|
|
146
|
-
* @note Inclusive.
|
|
147
|
-
*/
|
|
148
|
-
containsPoint(point) {
|
|
149
|
-
return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Checks if a point given as x,y is within the rectangle.
|
|
153
|
-
* @note Inclusive.
|
|
154
|
-
*/
|
|
155
|
-
containsXY(x, y) {
|
|
156
|
-
return this.containsPoint({ x, y });
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* @returns true if this rectangle contains other rectangle.
|
|
160
|
-
* @note Inclusive.
|
|
161
|
-
*/
|
|
162
|
-
contains(other) {
|
|
163
|
-
return other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom;
|
|
164
|
-
}
|
|
165
|
-
/** @returns New [[Rectangle]] which is contained in other rectangle. */
|
|
166
|
-
containIn(other) {
|
|
167
|
-
let contained = this.containVerticallyIn(other);
|
|
168
|
-
contained = contained.containHorizontallyIn(other);
|
|
169
|
-
return contained;
|
|
170
|
-
}
|
|
171
|
-
/** @returns New [[Rectangle]] which is vertically contained in other rectangle. */
|
|
172
|
-
containVerticallyIn(other) {
|
|
173
|
-
const contained = this.offsetY(Math.min(other.bottom - this.bottom, 0));
|
|
174
|
-
return contained.offsetY(Math.max(other.top - contained.top, 0));
|
|
175
|
-
}
|
|
176
|
-
/** @returns New [[Rectangle]] which is horizontally contained in other rectangle. */
|
|
177
|
-
containHorizontallyIn(other) {
|
|
178
|
-
const contained = this.offsetX(Math.min(other.right - this.right, 0));
|
|
179
|
-
return contained.offsetX(Math.max(other.left - contained.left, 0));
|
|
180
|
-
}
|
|
181
|
-
/** @returns [[Corner.TopLeft]] position of this rectangle. */
|
|
182
|
-
topLeft() {
|
|
183
|
-
return new Point(this.left, this.top);
|
|
184
|
-
}
|
|
185
|
-
/** @returns Center point position of this rectangle. */
|
|
186
|
-
center() {
|
|
187
|
-
const x = this.left + (this.right - this.left) / 2;
|
|
188
|
-
const y = this.top + (this.bottom - this.top) / 2;
|
|
189
|
-
return new Point(x, y);
|
|
190
|
-
}
|
|
191
|
-
/** @returns true if this rectangle intersects other rectangle. */
|
|
192
|
-
intersects(other) {
|
|
193
|
-
return this.left < other.right && this.right > other.left &&
|
|
194
|
-
this.top < other.bottom && this.bottom > other.top;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Merges outer edges of this and other rectangles.
|
|
198
|
-
* @returns New [[Rectangle]] with merged bounds.
|
|
199
|
-
*/
|
|
200
|
-
outerMergeWith(other) {
|
|
201
|
-
const left = Math.min(this.left, other.left);
|
|
202
|
-
const top = Math.min(this.top, other.top);
|
|
203
|
-
const right = Math.max(this.right, other.right);
|
|
204
|
-
const bottom = Math.max(this.bottom, other.bottom);
|
|
205
|
-
return new Rectangle(left, top, right, bottom);
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Vertically divides this rectangle into specified number of equal height segments.
|
|
209
|
-
* @returns Vertical rectangle segment.
|
|
210
|
-
*/
|
|
211
|
-
getVerticalSegmentBounds(segmentId, numberOfSegments) {
|
|
212
|
-
const segmentHeight = this.getHeight() / numberOfSegments;
|
|
213
|
-
const top = segmentId * segmentHeight;
|
|
214
|
-
return this.inset(0, top, 0, 0).setHeight(segmentHeight);
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Horizontally divides this rectangle into specified number of equal width segments.
|
|
218
|
-
* @returns Horizontal rectangle segment.
|
|
219
|
-
*/
|
|
220
|
-
getHorizontalSegmentBounds(segmentId, numberOfSegments) {
|
|
221
|
-
const segmentWidth = this.getWidth() / numberOfSegments;
|
|
222
|
-
const left = segmentId * segmentWidth;
|
|
223
|
-
return this.inset(left, 0, 0, 0).setWidth(segmentWidth);
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Calculates the shortest distance between this rectangle and a given point.
|
|
227
|
-
* @returns The shortest distance to a point.
|
|
228
|
-
*/
|
|
229
|
-
getShortestDistanceToPoint(point) {
|
|
230
|
-
let shortestDistance = 0;
|
|
231
|
-
if (point.x < this.left) {
|
|
232
|
-
if (point.y < this.top)
|
|
233
|
-
shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.top - point.y);
|
|
234
|
-
else if (point.y <= this.bottom)
|
|
235
|
-
shortestDistance = this.left - point.x;
|
|
236
|
-
else
|
|
237
|
-
shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.bottom - point.y);
|
|
238
|
-
}
|
|
239
|
-
else if (point.x <= this.right) {
|
|
240
|
-
if (point.y < this.top)
|
|
241
|
-
shortestDistance = this.top - point.y;
|
|
242
|
-
else if (point.y <= this.bottom)
|
|
243
|
-
shortestDistance = 0;
|
|
244
|
-
else
|
|
245
|
-
shortestDistance = point.y - this.bottom;
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
if (point.y < this.top)
|
|
249
|
-
shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.top - point.y);
|
|
250
|
-
else if (point.y <= this.bottom)
|
|
251
|
-
shortestDistance = point.x - this.right;
|
|
252
|
-
else
|
|
253
|
-
shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.bottom - point.y);
|
|
254
|
-
}
|
|
255
|
-
return shortestDistance;
|
|
256
|
-
}
|
|
257
|
-
/** @returns [[RectangleProps]] object for this rectangle. */
|
|
258
|
-
toProps() {
|
|
259
|
-
return {
|
|
260
|
-
bottom: this.bottom,
|
|
261
|
-
left: this.left,
|
|
262
|
-
right: this.right,
|
|
263
|
-
top: this.top,
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
}
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Utilities
|
|
7
|
+
*/
|
|
8
|
+
import { Point } from "./Point";
|
|
9
|
+
import { Size } from "./Size";
|
|
10
|
+
import { UiGeometry } from "./UiGeometry";
|
|
11
|
+
/** Available corners of [[Rectangle]].
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export var Corner;
|
|
15
|
+
(function (Corner) {
|
|
16
|
+
Corner[Corner["TopLeft"] = 0] = "TopLeft";
|
|
17
|
+
Corner[Corner["TopRight"] = 1] = "TopRight";
|
|
18
|
+
Corner[Corner["BottomRight"] = 2] = "BottomRight";
|
|
19
|
+
Corner[Corner["BottomLeft"] = 3] = "BottomLeft";
|
|
20
|
+
})(Corner || (Corner = {}));
|
|
21
|
+
/** Describes and provides methods to work with 2d bounds.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export class Rectangle {
|
|
25
|
+
/** Creates rectangle with specified bounds. */
|
|
26
|
+
constructor(left = 0, top = 0, right = 0, bottom = 0) {
|
|
27
|
+
this.left = left;
|
|
28
|
+
this.top = top;
|
|
29
|
+
this.right = right;
|
|
30
|
+
this.bottom = bottom;
|
|
31
|
+
}
|
|
32
|
+
/** Creates rectangle from [[RectangleProps]]. */
|
|
33
|
+
static create(props) {
|
|
34
|
+
return new Rectangle(props.left, props.top, props.right, props.bottom);
|
|
35
|
+
}
|
|
36
|
+
/** Creates rectangle from [[SizeProps]]. */
|
|
37
|
+
static createFromSize(size) {
|
|
38
|
+
return new Rectangle(0, 0, size.width, size.height);
|
|
39
|
+
}
|
|
40
|
+
/** Create a rectangle with 2 pairs of xy candidates. Theses are compared and shuffled as needed for the rectangle. */
|
|
41
|
+
static createXYXY(xA, yA, xB, yB) {
|
|
42
|
+
return new Rectangle(Math.min(xA, xB), Math.min(yA, yB), Math.max(xA, xB), Math.max(yA, yB));
|
|
43
|
+
}
|
|
44
|
+
/** @returns Size of this rectangle. */
|
|
45
|
+
getSize() {
|
|
46
|
+
const width = this.getWidth();
|
|
47
|
+
const height = this.getHeight();
|
|
48
|
+
return new Size(width, height);
|
|
49
|
+
}
|
|
50
|
+
/** @returns Width of this rectangle. */
|
|
51
|
+
getWidth() {
|
|
52
|
+
return this.right - this.left;
|
|
53
|
+
}
|
|
54
|
+
/** @returns Height of this rectangle. */
|
|
55
|
+
getHeight() {
|
|
56
|
+
return this.bottom - this.top;
|
|
57
|
+
}
|
|
58
|
+
/** @returns Position of specified corner. */
|
|
59
|
+
getCorner(corner) {
|
|
60
|
+
switch (corner) {
|
|
61
|
+
case Corner.TopLeft: {
|
|
62
|
+
return this.topLeft();
|
|
63
|
+
}
|
|
64
|
+
case Corner.TopRight: {
|
|
65
|
+
return new Point(this.right, this.top);
|
|
66
|
+
}
|
|
67
|
+
case Corner.BottomLeft: {
|
|
68
|
+
return new Point(this.left, this.bottom);
|
|
69
|
+
}
|
|
70
|
+
case Corner.BottomRight: {
|
|
71
|
+
return new Point(this.right, this.bottom);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Inset the bounds of this rectangle.
|
|
77
|
+
* @note Negative arguments will increase the size of rectangle.
|
|
78
|
+
* @returns New [[Rectangle]] with modified bounds.
|
|
79
|
+
*/
|
|
80
|
+
inset(left, top, right, bottom) {
|
|
81
|
+
return new Rectangle(this.left + left, this.top + top, this.right - right, this.bottom - bottom);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Offsets the rectangle along the X and Y axes.
|
|
85
|
+
* @returns New [[Rectangle]] with modified position.
|
|
86
|
+
*/
|
|
87
|
+
offset(offset) {
|
|
88
|
+
return new Rectangle(this.left + offset.x, this.top + offset.y, this.right + offset.x, this.bottom + offset.y);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Offsets the rectangle along the X axis.
|
|
92
|
+
* @returns New [[Rectangle]] with modified position along X axis.
|
|
93
|
+
*/
|
|
94
|
+
offsetX(offset) {
|
|
95
|
+
return new Rectangle(this.left + offset, this.top, this.right + offset, this.bottom);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Offsets the rectangle along the Y axis.
|
|
99
|
+
* @returns New [[Rectangle]] with modified position along Y axis.
|
|
100
|
+
*/
|
|
101
|
+
offsetY(offset) {
|
|
102
|
+
return new Rectangle(this.left, this.top + offset, this.right, this.bottom + offset);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Moves the top left corner of rectangle to specified point.
|
|
106
|
+
* @returns New [[Rectangle]] with modified position.
|
|
107
|
+
*/
|
|
108
|
+
setPosition(position) {
|
|
109
|
+
return new Rectangle(position.x, position.y, position.x + this.getWidth(), position.y + this.getHeight());
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Sets the height of the rectangle.
|
|
113
|
+
* @note Only [[Edge.Bottom]] is subject to change.
|
|
114
|
+
* @returns New [[Rectangle]] with modified height.
|
|
115
|
+
*/
|
|
116
|
+
setHeight(height) {
|
|
117
|
+
return new Rectangle(this.left, this.top, this.right, this.top + height);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Sets the width of the rectangle.
|
|
121
|
+
* @note Only [[Edge.Right]] is subject to change.
|
|
122
|
+
* @returns New [[Rectangle]] with modified width.
|
|
123
|
+
*/
|
|
124
|
+
setWidth(width) {
|
|
125
|
+
return new Rectangle(this.left, this.top, this.left + width, this.bottom);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Sets the height and width of the rectangle.
|
|
129
|
+
* @note Only [[Edge.Bottom]] and [[Edge.Right]] are subjects to change.
|
|
130
|
+
* @returns New [[Rectangle]] with modified height.
|
|
131
|
+
*/
|
|
132
|
+
setSize(size) {
|
|
133
|
+
return new Rectangle(this.left, this.top, this.left + size.width, this.top + size.height);
|
|
134
|
+
}
|
|
135
|
+
/** Checks if bounds of two rectangles match. */
|
|
136
|
+
equals(other) {
|
|
137
|
+
if (this.left === other.left &&
|
|
138
|
+
this.top === other.top &&
|
|
139
|
+
this.right === other.right &&
|
|
140
|
+
this.bottom === other.bottom)
|
|
141
|
+
return true;
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Checks if point is within bounds of the rectangle.
|
|
146
|
+
* @note Inclusive.
|
|
147
|
+
*/
|
|
148
|
+
containsPoint(point) {
|
|
149
|
+
return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Checks if a point given as x,y is within the rectangle.
|
|
153
|
+
* @note Inclusive.
|
|
154
|
+
*/
|
|
155
|
+
containsXY(x, y) {
|
|
156
|
+
return this.containsPoint({ x, y });
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* @returns true if this rectangle contains other rectangle.
|
|
160
|
+
* @note Inclusive.
|
|
161
|
+
*/
|
|
162
|
+
contains(other) {
|
|
163
|
+
return other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom;
|
|
164
|
+
}
|
|
165
|
+
/** @returns New [[Rectangle]] which is contained in other rectangle. */
|
|
166
|
+
containIn(other) {
|
|
167
|
+
let contained = this.containVerticallyIn(other);
|
|
168
|
+
contained = contained.containHorizontallyIn(other);
|
|
169
|
+
return contained;
|
|
170
|
+
}
|
|
171
|
+
/** @returns New [[Rectangle]] which is vertically contained in other rectangle. */
|
|
172
|
+
containVerticallyIn(other) {
|
|
173
|
+
const contained = this.offsetY(Math.min(other.bottom - this.bottom, 0));
|
|
174
|
+
return contained.offsetY(Math.max(other.top - contained.top, 0));
|
|
175
|
+
}
|
|
176
|
+
/** @returns New [[Rectangle]] which is horizontally contained in other rectangle. */
|
|
177
|
+
containHorizontallyIn(other) {
|
|
178
|
+
const contained = this.offsetX(Math.min(other.right - this.right, 0));
|
|
179
|
+
return contained.offsetX(Math.max(other.left - contained.left, 0));
|
|
180
|
+
}
|
|
181
|
+
/** @returns [[Corner.TopLeft]] position of this rectangle. */
|
|
182
|
+
topLeft() {
|
|
183
|
+
return new Point(this.left, this.top);
|
|
184
|
+
}
|
|
185
|
+
/** @returns Center point position of this rectangle. */
|
|
186
|
+
center() {
|
|
187
|
+
const x = this.left + (this.right - this.left) / 2;
|
|
188
|
+
const y = this.top + (this.bottom - this.top) / 2;
|
|
189
|
+
return new Point(x, y);
|
|
190
|
+
}
|
|
191
|
+
/** @returns true if this rectangle intersects other rectangle. */
|
|
192
|
+
intersects(other) {
|
|
193
|
+
return this.left < other.right && this.right > other.left &&
|
|
194
|
+
this.top < other.bottom && this.bottom > other.top;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Merges outer edges of this and other rectangles.
|
|
198
|
+
* @returns New [[Rectangle]] with merged bounds.
|
|
199
|
+
*/
|
|
200
|
+
outerMergeWith(other) {
|
|
201
|
+
const left = Math.min(this.left, other.left);
|
|
202
|
+
const top = Math.min(this.top, other.top);
|
|
203
|
+
const right = Math.max(this.right, other.right);
|
|
204
|
+
const bottom = Math.max(this.bottom, other.bottom);
|
|
205
|
+
return new Rectangle(left, top, right, bottom);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Vertically divides this rectangle into specified number of equal height segments.
|
|
209
|
+
* @returns Vertical rectangle segment.
|
|
210
|
+
*/
|
|
211
|
+
getVerticalSegmentBounds(segmentId, numberOfSegments) {
|
|
212
|
+
const segmentHeight = this.getHeight() / numberOfSegments;
|
|
213
|
+
const top = segmentId * segmentHeight;
|
|
214
|
+
return this.inset(0, top, 0, 0).setHeight(segmentHeight);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Horizontally divides this rectangle into specified number of equal width segments.
|
|
218
|
+
* @returns Horizontal rectangle segment.
|
|
219
|
+
*/
|
|
220
|
+
getHorizontalSegmentBounds(segmentId, numberOfSegments) {
|
|
221
|
+
const segmentWidth = this.getWidth() / numberOfSegments;
|
|
222
|
+
const left = segmentId * segmentWidth;
|
|
223
|
+
return this.inset(left, 0, 0, 0).setWidth(segmentWidth);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Calculates the shortest distance between this rectangle and a given point.
|
|
227
|
+
* @returns The shortest distance to a point.
|
|
228
|
+
*/
|
|
229
|
+
getShortestDistanceToPoint(point) {
|
|
230
|
+
let shortestDistance = 0;
|
|
231
|
+
if (point.x < this.left) {
|
|
232
|
+
if (point.y < this.top)
|
|
233
|
+
shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.top - point.y);
|
|
234
|
+
else if (point.y <= this.bottom)
|
|
235
|
+
shortestDistance = this.left - point.x;
|
|
236
|
+
else
|
|
237
|
+
shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.bottom - point.y);
|
|
238
|
+
}
|
|
239
|
+
else if (point.x <= this.right) {
|
|
240
|
+
if (point.y < this.top)
|
|
241
|
+
shortestDistance = this.top - point.y;
|
|
242
|
+
else if (point.y <= this.bottom)
|
|
243
|
+
shortestDistance = 0;
|
|
244
|
+
else
|
|
245
|
+
shortestDistance = point.y - this.bottom;
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
if (point.y < this.top)
|
|
249
|
+
shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.top - point.y);
|
|
250
|
+
else if (point.y <= this.bottom)
|
|
251
|
+
shortestDistance = point.x - this.right;
|
|
252
|
+
else
|
|
253
|
+
shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.bottom - point.y);
|
|
254
|
+
}
|
|
255
|
+
return shortestDistance;
|
|
256
|
+
}
|
|
257
|
+
/** @returns [[RectangleProps]] object for this rectangle. */
|
|
258
|
+
toProps() {
|
|
259
|
+
return {
|
|
260
|
+
bottom: this.bottom,
|
|
261
|
+
left: this.left,
|
|
262
|
+
right: this.right,
|
|
263
|
+
top: this.top,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
267
|
//# sourceMappingURL=Rectangle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../../src/core-react/utils/Rectangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { Point } from \"./Point\";\r\nimport { Size, SizeProps } from \"./Size\";\r\nimport { UiGeometry } from \"./UiGeometry\";\r\n\r\n/** Describes 2d bounds.\r\n * @public\r\n */\r\nexport interface RectangleProps {\r\n readonly left: number;\r\n readonly top: number;\r\n readonly right: number;\r\n readonly bottom: number;\r\n}\r\n\r\n/** Available corners of [[Rectangle]].\r\n * @internal\r\n */\r\nexport enum Corner {\r\n TopLeft,\r\n TopRight,\r\n BottomRight,\r\n BottomLeft,\r\n}\r\n\r\n/** Describes and provides methods to work with 2d bounds.\r\n * @internal\r\n */\r\nexport class Rectangle implements RectangleProps {\r\n /** Creates rectangle from [[RectangleProps]]. */\r\n public static create(props: RectangleProps): Rectangle {\r\n return new Rectangle(props.left, props.top, props.right, props.bottom);\r\n }\r\n\r\n /** Creates rectangle from [[SizeProps]]. */\r\n public static createFromSize(size: SizeProps): Rectangle {\r\n return new Rectangle(0, 0, size.width, size.height);\r\n }\r\n\r\n /** Create a rectangle with 2 pairs of xy candidates. Theses are compared and shuffled as needed for the rectangle. */\r\n public static createXYXY(xA: number, yA: number, xB: number, yB: number): Rectangle {\r\n return new Rectangle(\r\n Math.min(xA, xB), Math.min(yA, yB),\r\n Math.max(xA, xB), Math.max(yA, yB));\r\n }\r\n\r\n /** Creates rectangle with specified bounds. */\r\n public constructor(public readonly left = 0, public readonly top = 0, public readonly right = 0, public readonly bottom = 0) {\r\n }\r\n\r\n /** @returns Size of this rectangle. */\r\n public getSize(): Size {\r\n const width = this.getWidth();\r\n const height = this.getHeight();\r\n return new Size(width, height);\r\n }\r\n\r\n /** @returns Width of this rectangle. */\r\n public getWidth(): number {\r\n return this.right - this.left;\r\n }\r\n\r\n /** @returns Height of this rectangle. */\r\n public getHeight(): number {\r\n return this.bottom - this.top;\r\n }\r\n\r\n /** @returns Position of specified corner. */\r\n public getCorner(corner: Corner): Point {\r\n switch (corner) {\r\n case Corner.TopLeft: {\r\n return this.topLeft();\r\n }\r\n case Corner.TopRight: {\r\n return new Point(this.right, this.top);\r\n }\r\n case Corner.BottomLeft: {\r\n return new Point(this.left, this.bottom);\r\n }\r\n case Corner.BottomRight: {\r\n return new Point(this.right, this.bottom);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Inset the bounds of this rectangle.\r\n * @note Negative arguments will increase the size of rectangle.\r\n * @returns New [[Rectangle]] with modified bounds.\r\n */\r\n public inset(left: number, top: number, right: number, bottom: number): Rectangle {\r\n return new Rectangle(this.left + left, this.top + top, this.right - right, this.bottom - bottom);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the X and Y axes.\r\n * @returns New [[Rectangle]] with modified position.\r\n */\r\n public offset(offset: PointProps): Rectangle {\r\n return new Rectangle(this.left + offset.x, this.top + offset.y, this.right + offset.x, this.bottom + offset.y);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the X axis.\r\n * @returns New [[Rectangle]] with modified position along X axis.\r\n */\r\n public offsetX(offset: number): Rectangle {\r\n return new Rectangle(this.left + offset, this.top, this.right + offset, this.bottom);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the Y axis.\r\n * @returns New [[Rectangle]] with modified position along Y axis.\r\n */\r\n public offsetY(offset: number): Rectangle {\r\n return new Rectangle(this.left, this.top + offset, this.right, this.bottom + offset);\r\n }\r\n\r\n /**\r\n * Moves the top left corner of rectangle to specified point.\r\n * @returns New [[Rectangle]] with modified position.\r\n */\r\n public setPosition(position: PointProps): Rectangle {\r\n return new Rectangle(position.x, position.y, position.x + this.getWidth(), position.y + this.getHeight());\r\n }\r\n\r\n /**\r\n * Sets the height of the rectangle.\r\n * @note Only [[Edge.Bottom]] is subject to change.\r\n * @returns New [[Rectangle]] with modified height.\r\n */\r\n public setHeight(height: number): Rectangle {\r\n return new Rectangle(this.left, this.top, this.right, this.top + height);\r\n }\r\n\r\n /**\r\n * Sets the width of the rectangle.\r\n * @note Only [[Edge.Right]] is subject to change.\r\n * @returns New [[Rectangle]] with modified width.\r\n */\r\n public setWidth(width: number): Rectangle {\r\n return new Rectangle(this.left, this.top, this.left + width, this.bottom);\r\n }\r\n\r\n /**\r\n * Sets the height and width of the rectangle.\r\n * @note Only [[Edge.Bottom]] and [[Edge.Right]] are subjects to change.\r\n * @returns New [[Rectangle]] with modified height.\r\n */\r\n public setSize(size: SizeProps): Rectangle {\r\n return new Rectangle(this.left, this.top, this.left + size.width, this.top + size.height);\r\n }\r\n\r\n /** Checks if bounds of two rectangles match. */\r\n public equals(other: RectangleProps): boolean {\r\n if (this.left === other.left &&\r\n this.top === other.top &&\r\n this.right === other.right &&\r\n this.bottom === other.bottom)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks if point is within bounds of the rectangle.\r\n * @note Inclusive.\r\n */\r\n public containsPoint(point: PointProps): boolean {\r\n return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom;\r\n }\r\n\r\n /**\r\n * Checks if a point given as x,y is within the rectangle.\r\n * @note Inclusive.\r\n */\r\n public containsXY(x: number, y: number): boolean {\r\n return this.containsPoint({x, y});\r\n }\r\n\r\n /**\r\n * @returns true if this rectangle contains other rectangle.\r\n * @note Inclusive.\r\n */\r\n public contains(other: RectangleProps): boolean {\r\n return other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom;\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is contained in other rectangle. */\r\n public containIn(other: RectangleProps): Rectangle {\r\n let contained: Rectangle = this.containVerticallyIn(other);\r\n contained = contained.containHorizontallyIn(other);\r\n return contained;\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is vertically contained in other rectangle. */\r\n public containVerticallyIn(other: RectangleProps): Rectangle {\r\n const contained = this.offsetY(Math.min(other.bottom - this.bottom, 0));\r\n return contained.offsetY(Math.max(other.top - contained.top, 0));\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is horizontally contained in other rectangle. */\r\n public containHorizontallyIn(other: RectangleProps): Rectangle {\r\n const contained = this.offsetX(Math.min(other.right - this.right, 0));\r\n return contained.offsetX(Math.max(other.left - contained.left, 0));\r\n }\r\n\r\n /** @returns [[Corner.TopLeft]] position of this rectangle. */\r\n public topLeft(): Point {\r\n return new Point(this.left, this.top);\r\n }\r\n\r\n /** @returns Center point position of this rectangle. */\r\n public center(): Point {\r\n const x = this.left + (this.right - this.left) / 2;\r\n const y = this.top + (this.bottom - this.top) / 2;\r\n return new Point(x, y);\r\n }\r\n\r\n /** @returns true if this rectangle intersects other rectangle. */\r\n public intersects(other: RectangleProps): boolean {\r\n return this.left < other.right && this.right > other.left &&\r\n this.top < other.bottom && this.bottom > other.top;\r\n }\r\n\r\n /**\r\n * Merges outer edges of this and other rectangles.\r\n * @returns New [[Rectangle]] with merged bounds.\r\n */\r\n public outerMergeWith(other: RectangleProps): Rectangle {\r\n const left = Math.min(this.left, other.left);\r\n const top = Math.min(this.top, other.top);\r\n const right = Math.max(this.right, other.right);\r\n const bottom = Math.max(this.bottom, other.bottom);\r\n return new Rectangle(left, top, right, bottom);\r\n }\r\n\r\n /**\r\n * Vertically divides this rectangle into specified number of equal height segments.\r\n * @returns Vertical rectangle segment.\r\n */\r\n public getVerticalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\r\n const segmentHeight = this.getHeight() / numberOfSegments;\r\n\r\n const top = segmentId * segmentHeight;\r\n return this.inset(0, top, 0, 0).setHeight(segmentHeight);\r\n }\r\n\r\n /**\r\n * Horizontally divides this rectangle into specified number of equal width segments.\r\n * @returns Horizontal rectangle segment.\r\n */\r\n public getHorizontalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\r\n const segmentWidth = this.getWidth() / numberOfSegments;\r\n\r\n const left = segmentId * segmentWidth;\r\n return this.inset(left, 0, 0, 0).setWidth(segmentWidth);\r\n }\r\n\r\n /**\r\n * Calculates the shortest distance between this rectangle and a given point.\r\n * @returns The shortest distance to a point.\r\n */\r\n public getShortestDistanceToPoint(point: PointProps): number {\r\n let shortestDistance = 0;\r\n\r\n if (point.x < this.left) {\r\n if (point.y < this.top)\r\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.top - point.y);\r\n else if (point.y <= this.bottom)\r\n shortestDistance = this.left - point.x;\r\n else\r\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.bottom - point.y);\r\n } else if (point.x <= this.right) {\r\n if (point.y < this.top)\r\n shortestDistance = this.top - point.y;\r\n else if (point.y <= this.bottom)\r\n shortestDistance = 0;\r\n else\r\n shortestDistance = point.y - this.bottom;\r\n } else {\r\n if (point.y < this.top)\r\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.top - point.y);\r\n else if (point.y <= this.bottom)\r\n shortestDistance = point.x - this.right;\r\n else\r\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.bottom - point.y);\r\n }\r\n\r\n return shortestDistance;\r\n }\r\n\r\n /** @returns [[RectangleProps]] object for this rectangle. */\r\n public toProps(): RectangleProps {\r\n return {\r\n bottom: this.bottom,\r\n left: this.left,\r\n right: this.right,\r\n top: this.top,\r\n };\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../../src/core-react/utils/Rectangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport { PointProps } from \"@itwin/appui-abstract\";\nimport { Point } from \"./Point\";\nimport { Size, SizeProps } from \"./Size\";\nimport { UiGeometry } from \"./UiGeometry\";\n\n/** Describes 2d bounds.\n * @public\n */\nexport interface RectangleProps {\n readonly left: number;\n readonly top: number;\n readonly right: number;\n readonly bottom: number;\n}\n\n/** Available corners of [[Rectangle]].\n * @internal\n */\nexport enum Corner {\n TopLeft,\n TopRight,\n BottomRight,\n BottomLeft,\n}\n\n/** Describes and provides methods to work with 2d bounds.\n * @internal\n */\nexport class Rectangle implements RectangleProps {\n /** Creates rectangle from [[RectangleProps]]. */\n public static create(props: RectangleProps): Rectangle {\n return new Rectangle(props.left, props.top, props.right, props.bottom);\n }\n\n /** Creates rectangle from [[SizeProps]]. */\n public static createFromSize(size: SizeProps): Rectangle {\n return new Rectangle(0, 0, size.width, size.height);\n }\n\n /** Create a rectangle with 2 pairs of xy candidates. Theses are compared and shuffled as needed for the rectangle. */\n public static createXYXY(xA: number, yA: number, xB: number, yB: number): Rectangle {\n return new Rectangle(\n Math.min(xA, xB), Math.min(yA, yB),\n Math.max(xA, xB), Math.max(yA, yB));\n }\n\n /** Creates rectangle with specified bounds. */\n public constructor(public readonly left = 0, public readonly top = 0, public readonly right = 0, public readonly bottom = 0) {\n }\n\n /** @returns Size of this rectangle. */\n public getSize(): Size {\n const width = this.getWidth();\n const height = this.getHeight();\n return new Size(width, height);\n }\n\n /** @returns Width of this rectangle. */\n public getWidth(): number {\n return this.right - this.left;\n }\n\n /** @returns Height of this rectangle. */\n public getHeight(): number {\n return this.bottom - this.top;\n }\n\n /** @returns Position of specified corner. */\n public getCorner(corner: Corner): Point {\n switch (corner) {\n case Corner.TopLeft: {\n return this.topLeft();\n }\n case Corner.TopRight: {\n return new Point(this.right, this.top);\n }\n case Corner.BottomLeft: {\n return new Point(this.left, this.bottom);\n }\n case Corner.BottomRight: {\n return new Point(this.right, this.bottom);\n }\n }\n }\n\n /**\n * Inset the bounds of this rectangle.\n * @note Negative arguments will increase the size of rectangle.\n * @returns New [[Rectangle]] with modified bounds.\n */\n public inset(left: number, top: number, right: number, bottom: number): Rectangle {\n return new Rectangle(this.left + left, this.top + top, this.right - right, this.bottom - bottom);\n }\n\n /**\n * Offsets the rectangle along the X and Y axes.\n * @returns New [[Rectangle]] with modified position.\n */\n public offset(offset: PointProps): Rectangle {\n return new Rectangle(this.left + offset.x, this.top + offset.y, this.right + offset.x, this.bottom + offset.y);\n }\n\n /**\n * Offsets the rectangle along the X axis.\n * @returns New [[Rectangle]] with modified position along X axis.\n */\n public offsetX(offset: number): Rectangle {\n return new Rectangle(this.left + offset, this.top, this.right + offset, this.bottom);\n }\n\n /**\n * Offsets the rectangle along the Y axis.\n * @returns New [[Rectangle]] with modified position along Y axis.\n */\n public offsetY(offset: number): Rectangle {\n return new Rectangle(this.left, this.top + offset, this.right, this.bottom + offset);\n }\n\n /**\n * Moves the top left corner of rectangle to specified point.\n * @returns New [[Rectangle]] with modified position.\n */\n public setPosition(position: PointProps): Rectangle {\n return new Rectangle(position.x, position.y, position.x + this.getWidth(), position.y + this.getHeight());\n }\n\n /**\n * Sets the height of the rectangle.\n * @note Only [[Edge.Bottom]] is subject to change.\n * @returns New [[Rectangle]] with modified height.\n */\n public setHeight(height: number): Rectangle {\n return new Rectangle(this.left, this.top, this.right, this.top + height);\n }\n\n /**\n * Sets the width of the rectangle.\n * @note Only [[Edge.Right]] is subject to change.\n * @returns New [[Rectangle]] with modified width.\n */\n public setWidth(width: number): Rectangle {\n return new Rectangle(this.left, this.top, this.left + width, this.bottom);\n }\n\n /**\n * Sets the height and width of the rectangle.\n * @note Only [[Edge.Bottom]] and [[Edge.Right]] are subjects to change.\n * @returns New [[Rectangle]] with modified height.\n */\n public setSize(size: SizeProps): Rectangle {\n return new Rectangle(this.left, this.top, this.left + size.width, this.top + size.height);\n }\n\n /** Checks if bounds of two rectangles match. */\n public equals(other: RectangleProps): boolean {\n if (this.left === other.left &&\n this.top === other.top &&\n this.right === other.right &&\n this.bottom === other.bottom)\n return true;\n\n return false;\n }\n\n /**\n * Checks if point is within bounds of the rectangle.\n * @note Inclusive.\n */\n public containsPoint(point: PointProps): boolean {\n return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom;\n }\n\n /**\n * Checks if a point given as x,y is within the rectangle.\n * @note Inclusive.\n */\n public containsXY(x: number, y: number): boolean {\n return this.containsPoint({x, y});\n }\n\n /**\n * @returns true if this rectangle contains other rectangle.\n * @note Inclusive.\n */\n public contains(other: RectangleProps): boolean {\n return other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom;\n }\n\n /** @returns New [[Rectangle]] which is contained in other rectangle. */\n public containIn(other: RectangleProps): Rectangle {\n let contained: Rectangle = this.containVerticallyIn(other);\n contained = contained.containHorizontallyIn(other);\n return contained;\n }\n\n /** @returns New [[Rectangle]] which is vertically contained in other rectangle. */\n public containVerticallyIn(other: RectangleProps): Rectangle {\n const contained = this.offsetY(Math.min(other.bottom - this.bottom, 0));\n return contained.offsetY(Math.max(other.top - contained.top, 0));\n }\n\n /** @returns New [[Rectangle]] which is horizontally contained in other rectangle. */\n public containHorizontallyIn(other: RectangleProps): Rectangle {\n const contained = this.offsetX(Math.min(other.right - this.right, 0));\n return contained.offsetX(Math.max(other.left - contained.left, 0));\n }\n\n /** @returns [[Corner.TopLeft]] position of this rectangle. */\n public topLeft(): Point {\n return new Point(this.left, this.top);\n }\n\n /** @returns Center point position of this rectangle. */\n public center(): Point {\n const x = this.left + (this.right - this.left) / 2;\n const y = this.top + (this.bottom - this.top) / 2;\n return new Point(x, y);\n }\n\n /** @returns true if this rectangle intersects other rectangle. */\n public intersects(other: RectangleProps): boolean {\n return this.left < other.right && this.right > other.left &&\n this.top < other.bottom && this.bottom > other.top;\n }\n\n /**\n * Merges outer edges of this and other rectangles.\n * @returns New [[Rectangle]] with merged bounds.\n */\n public outerMergeWith(other: RectangleProps): Rectangle {\n const left = Math.min(this.left, other.left);\n const top = Math.min(this.top, other.top);\n const right = Math.max(this.right, other.right);\n const bottom = Math.max(this.bottom, other.bottom);\n return new Rectangle(left, top, right, bottom);\n }\n\n /**\n * Vertically divides this rectangle into specified number of equal height segments.\n * @returns Vertical rectangle segment.\n */\n public getVerticalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\n const segmentHeight = this.getHeight() / numberOfSegments;\n\n const top = segmentId * segmentHeight;\n return this.inset(0, top, 0, 0).setHeight(segmentHeight);\n }\n\n /**\n * Horizontally divides this rectangle into specified number of equal width segments.\n * @returns Horizontal rectangle segment.\n */\n public getHorizontalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\n const segmentWidth = this.getWidth() / numberOfSegments;\n\n const left = segmentId * segmentWidth;\n return this.inset(left, 0, 0, 0).setWidth(segmentWidth);\n }\n\n /**\n * Calculates the shortest distance between this rectangle and a given point.\n * @returns The shortest distance to a point.\n */\n public getShortestDistanceToPoint(point: PointProps): number {\n let shortestDistance = 0;\n\n if (point.x < this.left) {\n if (point.y < this.top)\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.top - point.y);\n else if (point.y <= this.bottom)\n shortestDistance = this.left - point.x;\n else\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.bottom - point.y);\n } else if (point.x <= this.right) {\n if (point.y < this.top)\n shortestDistance = this.top - point.y;\n else if (point.y <= this.bottom)\n shortestDistance = 0;\n else\n shortestDistance = point.y - this.bottom;\n } else {\n if (point.y < this.top)\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.top - point.y);\n else if (point.y <= this.bottom)\n shortestDistance = point.x - this.right;\n else\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.bottom - point.y);\n }\n\n return shortestDistance;\n }\n\n /** @returns [[RectangleProps]] object for this rectangle. */\n public toProps(): RectangleProps {\n return {\n bottom: this.bottom,\n left: this.left,\n right: this.right,\n top: this.top,\n };\n }\n}\n"]}
|