@itwin/core-react 4.0.0-dev.10 → 4.0.0-dev.12
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 +80 -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 +9 -9
- package/lib/cjs/core-react/badge/BetaBadge.js +22 -22
- package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
- 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/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 +17 -25
- package/lib/cjs/core-react/button/button.scss +70 -70
- 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 +17 -25
- package/lib/cjs/core-react/button/variables.scss +22 -22
- package/lib/cjs/core-react/checkbox/checkbox.scss +124 -124
- 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 +40 -40
- 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 +13 -14
- package/lib/cjs/core-react/colorthemes.scss +61 -90
- package/lib/cjs/core-react/colorvariables.scss +131 -154
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +93 -93
- 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 +236 -237
- 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.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +162 -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.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +63 -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.d.ts.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.js +375 -366
- package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.scss +245 -244
- 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/ExpandableList.d.ts +37 -37
- 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 +35 -35
- 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/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/ConditionalIconItem.d.ts +27 -0
- package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts.map +1 -0
- package/lib/cjs/core-react/icons/ConditionalIconItem.js +65 -0
- package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -0
- package/lib/cjs/core-react/icons/IconComponent.d.ts +25 -24
- package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js +48 -48
- 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/SvgPath.scss +15 -15
- package/lib/cjs/core-react/icons/WebFontIcon.d.ts +25 -26
- package/lib/cjs/core-react/icons/WebFontIcon.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/WebFontIcon.js +21 -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 +12 -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 +23 -23
- package/lib/cjs/core-react/inputs/Input.d.ts +20 -20
- package/lib/cjs/core-react/inputs/Input.js +45 -45
- package/lib/cjs/core-react/inputs/Input.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.d.ts +20 -20
- package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.js +41 -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/classes.scss +8 -8
- 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 +9 -9
- package/lib/cjs/core-react/inputs/input-label.scss +90 -90
- package/lib/cjs/core-react/inputs/input.scss +58 -58
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +50 -45
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +153 -148
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +88 -89
- package/lib/cjs/core-react/inputs/variables.scss +38 -38
- package/lib/cjs/core-react/layout-variables.scss +17 -17
- 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 +54 -54
- 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 +32 -32
- package/lib/cjs/core-react/loading/LoadingSpinner.js +30 -30
- 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/index.scss +5 -5
- package/lib/cjs/core-react/loading/mixins.scss +57 -57
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts +80 -68
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.js +114 -70
- package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.scss +56 -46
- 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 +111 -111
- package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
- package/lib/cjs/core-react/popup/Popup.js +422 -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/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 +97 -97
- 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 +55 -55
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.js +111 -109
- package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.scss +48 -51
- 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 +68 -66
- 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/style/baseline.scss +11 -11
- 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 +20 -20
- package/lib/cjs/core-react/style/index.scss +17 -17
- package/lib/cjs/core-react/style/mixins.scss +27 -27
- package/lib/cjs/core-react/style/opacity.scss +16 -16
- package/lib/cjs/core-react/style/space.scss +13 -13
- package/lib/cjs/core-react/style/speed.scss +9 -12
- package/lib/cjs/core-react/style/themecolors.scss +123 -129
- package/lib/cjs/core-react/style/typography.scss +39 -44
- package/lib/cjs/core-react/style/variables.scss +9 -12
- 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 +7 -7
- package/lib/cjs/core-react/tabs/index.scss +5 -5
- package/lib/cjs/core-react/tabs/tabs.scss +96 -106
- package/lib/cjs/core-react/tabs/vertical.scss +51 -58
- package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
- package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/BlockText.js +20 -19
- package/lib/cjs/core-react/text/BlockText.js.map +1 -1
- package/lib/cjs/core-react/text/BodyText.d.ts +10 -9
- package/lib/cjs/core-react/text/BodyText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/BodyText.js +21 -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.d.ts.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.js +20 -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/MutedText.d.ts +10 -9
- package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/MutedText.js +21 -19
- package/lib/cjs/core-react/text/MutedText.js.map +1 -1
- package/lib/cjs/core-react/text/StyledText.d.ts +17 -16
- package/lib/cjs/core-react/text/StyledText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/StyledText.js +21 -20
- package/lib/cjs/core-react/text/StyledText.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/block.scss +15 -10
- package/lib/cjs/core-react/text/body.scss +13 -10
- package/lib/cjs/core-react/text/classes.scss +10 -10
- package/lib/cjs/core-react/text/disabled.scss +10 -10
- package/lib/cjs/core-react/text/index.scss +10 -10
- package/lib/cjs/core-react/text/mixins.scss +24 -24
- package/lib/cjs/core-react/text/muted.scss +10 -10
- 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.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.js +30 -28
- package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.scss +31 -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 +83 -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 +17 -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.js +72 -72
- 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/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/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.d.ts.map +1 -1
- 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 +236 -235
- package/lib/cjs/core-react.d.ts.map +1 -1
- package/lib/cjs/core-react.js +259 -258
- 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 +80 -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 +9 -9
- package/lib/esm/core-react/badge/BetaBadge.js +18 -18
- package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
- 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/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 +17 -25
- package/lib/esm/core-react/button/button.scss +70 -70
- 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 +17 -25
- package/lib/esm/core-react/button/variables.scss +22 -22
- package/lib/esm/core-react/checkbox/checkbox.scss +124 -124
- 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 +40 -40
- 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 +13 -14
- package/lib/esm/core-react/colorthemes.scss +61 -90
- package/lib/esm/core-react/colorvariables.scss +131 -154
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +93 -93
- 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 +236 -237
- 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.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js +158 -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.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +59 -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.d.ts.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.js +371 -362
- package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.scss +245 -244
- 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/ExpandableList.d.ts +37 -37
- 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 +35 -35
- 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/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/ConditionalIconItem.d.ts +27 -0
- package/lib/esm/core-react/icons/ConditionalIconItem.d.ts.map +1 -0
- package/lib/esm/core-react/icons/ConditionalIconItem.js +61 -0
- package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -0
- package/lib/esm/core-react/icons/IconComponent.d.ts +25 -24
- package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.js +44 -44
- 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/SvgPath.scss +15 -15
- package/lib/esm/core-react/icons/WebFontIcon.d.ts +25 -26
- package/lib/esm/core-react/icons/WebFontIcon.d.ts.map +1 -1
- package/lib/esm/core-react/icons/WebFontIcon.js +17 -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 +12 -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 +23 -23
- package/lib/esm/core-react/inputs/Input.d.ts +20 -20
- package/lib/esm/core-react/inputs/Input.js +42 -42
- package/lib/esm/core-react/inputs/Input.js.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.d.ts +20 -20
- package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.js +37 -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/classes.scss +8 -8
- 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 +9 -9
- package/lib/esm/core-react/inputs/input-label.scss +90 -90
- package/lib/esm/core-react/inputs/input.scss +58 -58
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +50 -45
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js +150 -145
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +88 -89
- package/lib/esm/core-react/inputs/variables.scss +38 -38
- package/lib/esm/core-react/layout-variables.scss +17 -17
- 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 +54 -54
- 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 +32 -32
- package/lib/esm/core-react/loading/LoadingSpinner.js +26 -26
- 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/index.scss +5 -5
- package/lib/esm/core-react/loading/mixins.scss +57 -57
- package/lib/esm/core-react/messagebox/MessageBox.d.ts +80 -68
- package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.js +109 -65
- package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.scss +56 -46
- 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 +111 -111
- package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
- package/lib/esm/core-react/popup/Popup.js +418 -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/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 +97 -97
- 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 +55 -55
- package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
- package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.js +107 -105
- package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.scss +48 -51
- 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 +68 -66
- 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/style/baseline.scss +11 -11
- 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 +20 -20
- package/lib/esm/core-react/style/index.scss +17 -17
- package/lib/esm/core-react/style/mixins.scss +27 -27
- package/lib/esm/core-react/style/opacity.scss +16 -16
- package/lib/esm/core-react/style/space.scss +13 -13
- package/lib/esm/core-react/style/speed.scss +9 -12
- package/lib/esm/core-react/style/themecolors.scss +123 -129
- package/lib/esm/core-react/style/typography.scss +39 -44
- package/lib/esm/core-react/style/variables.scss +9 -12
- 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 +7 -7
- package/lib/esm/core-react/tabs/index.scss +5 -5
- package/lib/esm/core-react/tabs/tabs.scss +96 -106
- package/lib/esm/core-react/tabs/vertical.scss +51 -58
- package/lib/esm/core-react/text/BlockText.d.ts +9 -9
- package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
- package/lib/esm/core-react/text/BlockText.js +16 -15
- package/lib/esm/core-react/text/BlockText.js.map +1 -1
- package/lib/esm/core-react/text/BodyText.d.ts +10 -9
- package/lib/esm/core-react/text/BodyText.d.ts.map +1 -1
- package/lib/esm/core-react/text/BodyText.js +17 -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.d.ts.map +1 -1
- package/lib/esm/core-react/text/DisabledText.js +16 -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/MutedText.d.ts +10 -9
- package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
- package/lib/esm/core-react/text/MutedText.js +17 -15
- package/lib/esm/core-react/text/MutedText.js.map +1 -1
- package/lib/esm/core-react/text/StyledText.d.ts +17 -16
- package/lib/esm/core-react/text/StyledText.d.ts.map +1 -1
- package/lib/esm/core-react/text/StyledText.js +17 -16
- package/lib/esm/core-react/text/StyledText.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/block.scss +15 -10
- package/lib/esm/core-react/text/body.scss +13 -10
- package/lib/esm/core-react/text/classes.scss +10 -10
- package/lib/esm/core-react/text/disabled.scss +10 -10
- package/lib/esm/core-react/text/index.scss +10 -10
- package/lib/esm/core-react/text/mixins.scss +24 -24
- package/lib/esm/core-react/text/muted.scss +10 -10
- 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.d.ts.map +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.js +26 -24
- package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.scss +31 -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 +83 -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 +17 -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.js +68 -68
- 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/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/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.d.ts.map +1 -1
- 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 +236 -235
- package/lib/esm/core-react.d.ts.map +1 -1
- package/lib/esm/core-react.js +241 -240
- package/lib/esm/core-react.js.map +1 -1
- package/lib/public/locales/en/UiCore.json +30 -30
- package/package.json +13 -26
- package/lib/cjs/core-react/style/itwinui-overrides.scss +0 -24
- package/lib/esm/core-react/style/itwinui-overrides.scss +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenChildren.js","sourceRoot":"","sources":["../../../../src/core-react/utils/flattenChildren.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAyB,EAAmB,EAAE;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QACnD,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAiC,KAAK,CAAC;YAC9D,OAAO,KAAK,CAAC;QAEf,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;YACjC,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC7B;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","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 * as React from \"react\";\n\n/** Flattens React fragments.\n * @internal\n */\nexport const flattenChildren = (children: React.ReactNode): React.ReactNode => {\n const items = React.Children.map(children, (child) => {\n // istanbul ignore next\n if (!React.isValidElement<{ children?: React.ReactNode }>(child))\n return child;\n\n if (child.type === React.Fragment) {\n return child.props.children;\n }\n\n return child;\n });\n return items;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"flattenChildren.js","sourceRoot":"","sources":["../../../../src/core-react/utils/flattenChildren.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAyB,EAAmB,EAAE;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QACnD,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAiC,KAAK,CAAC;YAC9D,OAAO,KAAK,CAAC;QAEf,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;YACjC,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC7B;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","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 * as React from \"react\";\r\n\r\n/** Flattens React fragments.\r\n * @internal\r\n */\r\nexport const flattenChildren = (children: React.ReactNode): React.ReactNode => {\r\n const items = React.Children.map(children, (child) => {\r\n // istanbul ignore next\r\n if (!React.isValidElement<{ children?: React.ReactNode }>(child))\r\n return child;\r\n\r\n if (child.type === React.Fragment) {\r\n return child.props.children;\r\n }\r\n\r\n return child;\r\n });\r\n return items;\r\n};\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Utilities
|
|
3
|
-
*/
|
|
4
|
-
/** Gets best black or white color that contrasts with a given color in #RRGGBB format.
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
export declare function getBestBWContrastColor(hexColor: string): "black" | "white";
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
/** Gets best black or white color that contrasts with a given color in #RRGGBB format.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function getBestBWContrastColor(hexColor: string): "black" | "white";
|
|
8
8
|
//# sourceMappingURL=getBestBWContrastColor.d.ts.map
|
|
@@ -1,19 +1,19 @@
|
|
|
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
|
-
// cspell:ignore RRGGBB
|
|
9
|
-
/** Gets best black or white color that contrasts with a given color in #RRGGBB format.
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export function getBestBWContrastColor(hexColor) {
|
|
13
|
-
const r = parseInt(hexColor.substr(1, 2), 16);
|
|
14
|
-
const g = parseInt(hexColor.substr(3, 2), 16);
|
|
15
|
-
const b = parseInt(hexColor.substr(5, 2), 16);
|
|
16
|
-
const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
|
|
17
|
-
return (yiq >= 128) ? "black" : "white";
|
|
18
|
-
}
|
|
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
|
+
// cspell:ignore RRGGBB
|
|
9
|
+
/** Gets best black or white color that contrasts with a given color in #RRGGBB format.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export function getBestBWContrastColor(hexColor) {
|
|
13
|
+
const r = parseInt(hexColor.substr(1, 2), 16);
|
|
14
|
+
const g = parseInt(hexColor.substr(3, 2), 16);
|
|
15
|
+
const b = parseInt(hexColor.substr(5, 2), 16);
|
|
16
|
+
const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
|
|
17
|
+
return (yiq >= 128) ? "black" : "white";
|
|
18
|
+
}
|
|
19
19
|
//# sourceMappingURL=getBestBWContrastColor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBestBWContrastColor.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getBestBWContrastColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,uBAAuB;AAEvB;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACvD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC","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\n// cspell:ignore RRGGBB\n\n/** Gets best black or white color that contrasts with a given color in #RRGGBB format.\n * @internal\n */\nexport function getBestBWContrastColor(hexColor: string) {\n const r = parseInt(hexColor.substr(1, 2), 16);\n const g = parseInt(hexColor.substr(3, 2), 16);\n const b = parseInt(hexColor.substr(5, 2), 16);\n const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\n return (yiq >= 128) ? \"black\" : \"white\";\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getBestBWContrastColor.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getBestBWContrastColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,uBAAuB;AAEvB;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACvD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC","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\n// cspell:ignore RRGGBB\r\n\r\n/** Gets best black or white color that contrasts with a given color in #RRGGBB format.\r\n * @internal\r\n */\r\nexport function getBestBWContrastColor(hexColor: string) {\r\n const r = parseInt(hexColor.substr(1, 2), 16);\r\n const g = parseInt(hexColor.substr(3, 2), 16);\r\n const b = parseInt(hexColor.substr(5, 2), 16);\r\n const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\r\n return (yiq >= 128) ? \"black\" : \"white\";\r\n}\r\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Utilities
|
|
3
|
-
*/
|
|
4
|
-
/** Get CSS variable
|
|
5
|
-
* @public
|
|
6
|
-
*/
|
|
7
|
-
export declare function getCssVariable(variableName: string, htmlElement?: HTMLElement): string;
|
|
8
|
-
/** Get CSS variable as number
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export declare function getCssVariableAsNumber(variableName: string, htmlElement?: HTMLElement): number;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
/** Get CSS variable
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export declare function getCssVariable(variableName: string, htmlElement?: HTMLElement): string;
|
|
8
|
+
/** Get CSS variable as number
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare function getCssVariableAsNumber(variableName: string, htmlElement?: HTMLElement): number;
|
|
12
12
|
//# sourceMappingURL=getCssVariable.d.ts.map
|
|
@@ -1,27 +1,27 @@
|
|
|
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
|
-
/** Get CSS variable
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export function getCssVariable(variableName, htmlElement) {
|
|
12
|
-
const element = htmlElement !== null && htmlElement !== void 0 ? htmlElement : document.documentElement;
|
|
13
|
-
const cssStyles = getComputedStyle(element, null);
|
|
14
|
-
const cssVal = String(cssStyles.getPropertyValue(variableName)).trim();
|
|
15
|
-
return cssVal;
|
|
16
|
-
}
|
|
17
|
-
/** Get CSS variable as number
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
export function getCssVariableAsNumber(variableName, htmlElement) {
|
|
21
|
-
let cssValNum = NaN;
|
|
22
|
-
const cssValStr = getCssVariable(variableName, htmlElement);
|
|
23
|
-
if (cssValStr)
|
|
24
|
-
cssValNum = parseFloat(cssValStr);
|
|
25
|
-
return cssValNum;
|
|
26
|
-
}
|
|
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
|
+
/** Get CSS variable
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export function getCssVariable(variableName, htmlElement) {
|
|
12
|
+
const element = htmlElement !== null && htmlElement !== void 0 ? htmlElement : document.documentElement;
|
|
13
|
+
const cssStyles = getComputedStyle(element, null);
|
|
14
|
+
const cssVal = String(cssStyles.getPropertyValue(variableName)).trim();
|
|
15
|
+
return cssVal;
|
|
16
|
+
}
|
|
17
|
+
/** Get CSS variable as number
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export function getCssVariableAsNumber(variableName, htmlElement) {
|
|
21
|
+
let cssValNum = NaN;
|
|
22
|
+
const cssValStr = getCssVariable(variableName, htmlElement);
|
|
23
|
+
if (cssValStr)
|
|
24
|
+
cssValNum = parseFloat(cssValStr);
|
|
25
|
+
return cssValNum;
|
|
26
|
+
}
|
|
27
27
|
//# sourceMappingURL=getCssVariable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCssVariable.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getCssVariable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,WAAyB;IAC5E,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,CAAC,eAAe,CAAC;IACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,WAAyB;IACpF,IAAI,SAAS,GAAW,GAAG,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,SAAS;QACX,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC","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\n/** Get CSS variable\n * @public\n */\nexport function getCssVariable(variableName: string, htmlElement?: HTMLElement): string {\n const element = htmlElement ?? document.documentElement;\n const cssStyles = getComputedStyle(element, null);\n const cssVal = String(cssStyles.getPropertyValue(variableName)).trim();\n return cssVal;\n}\n\n/** Get CSS variable as number\n * @public\n */\nexport function getCssVariableAsNumber(variableName: string, htmlElement?: HTMLElement): number {\n let cssValNum: number = NaN;\n const cssValStr = getCssVariable(variableName, htmlElement);\n if (cssValStr)\n cssValNum = parseFloat(cssValStr);\n return cssValNum;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getCssVariable.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getCssVariable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,WAAyB;IAC5E,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,CAAC,eAAe,CAAC;IACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,WAAyB;IACpF,IAAI,SAAS,GAAW,GAAG,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,SAAS;QACX,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC","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\n/** Get CSS variable\r\n * @public\r\n */\r\nexport function getCssVariable(variableName: string, htmlElement?: HTMLElement): string {\r\n const element = htmlElement ?? document.documentElement;\r\n const cssStyles = getComputedStyle(element, null);\r\n const cssVal = String(cssStyles.getPropertyValue(variableName)).trim();\r\n return cssVal;\r\n}\r\n\r\n/** Get CSS variable as number\r\n * @public\r\n */\r\nexport function getCssVariableAsNumber(variableName: string, htmlElement?: HTMLElement): number {\r\n let cssValNum: number = NaN;\r\n const cssValStr = getCssVariable(variableName, htmlElement);\r\n if (cssValStr)\r\n cssValNum = parseFloat(cssValStr);\r\n return cssValNum;\r\n}\r\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Utilities
|
|
3
|
-
*/
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
/** Gets the display name for a React component.
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export declare const getDisplayName: (component: React.ComponentType<any>) => string;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
/** Gets the display name for a React component.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const getDisplayName: (component: React.ComponentType<any>) => string;
|
|
9
9
|
//# sourceMappingURL=getDisplayName.d.ts.map
|
|
@@ -1,18 +1,18 @@
|
|
|
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
|
-
/** Gets the display name for a React component.
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export const getDisplayName = (component) => {
|
|
12
|
-
if (component.displayName)
|
|
13
|
-
return component.displayName;
|
|
14
|
-
if (component.name)
|
|
15
|
-
return component.name;
|
|
16
|
-
return "Component";
|
|
17
|
-
};
|
|
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
|
+
/** Gets the display name for a React component.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export const getDisplayName = (component) => {
|
|
12
|
+
if (component.displayName)
|
|
13
|
+
return component.displayName;
|
|
14
|
+
if (component.name)
|
|
15
|
+
return component.name;
|
|
16
|
+
return "Component";
|
|
17
|
+
};
|
|
18
18
|
//# sourceMappingURL=getDisplayName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDisplayName.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getDisplayName.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAmC,EAAU,EAAE;IAC5E,IAAI,SAAS,CAAC,WAAW;QACvB,OAAO,SAAS,CAAC,WAAW,CAAC;IAC/B,IAAI,SAAS,CAAC,IAAI;QAChB,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC","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 * as React from \"react\";\n\n/** Gets the display name for a React component.\n * @internal\n */\nexport const getDisplayName = (component: React.ComponentType<any>): string => {\n if (component.displayName)\n return component.displayName;\n if (component.name)\n return component.name;\n return \"Component\";\n};\n"]}
|
|
1
|
+
{"version":3,"file":"getDisplayName.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getDisplayName.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAmC,EAAU,EAAE;IAC5E,IAAI,SAAS,CAAC,WAAW;QACvB,OAAO,SAAS,CAAC,WAAW,CAAC;IAC/B,IAAI,SAAS,CAAC,IAAI;QAChB,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC","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 * as React from \"react\";\r\n\r\n/** Gets the display name for a React component.\r\n * @internal\r\n */\r\nexport const getDisplayName = (component: React.ComponentType<any>): string => {\r\n if (component.displayName)\r\n return component.displayName;\r\n if (component.name)\r\n return component.name;\r\n return \"Component\";\r\n};\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Utilities
|
|
3
|
-
*/
|
|
4
|
-
/** Gets a color based on a given email address. This color is usually displayed in an avatar component.
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
export declare function getUserColor(email: string): string;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
/** Gets a color based on a given email address. This color is usually displayed in an avatar component.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function getUserColor(email: string): string;
|
|
8
8
|
//# sourceMappingURL=getUserColor.d.ts.map
|
|
@@ -1,35 +1,35 @@
|
|
|
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
|
-
const COLORS = [
|
|
9
|
-
"#6ab9ec",
|
|
10
|
-
"#b1c854",
|
|
11
|
-
"#f7706c",
|
|
12
|
-
"#4585a5",
|
|
13
|
-
"#ffc335",
|
|
14
|
-
"#f7963e",
|
|
15
|
-
"#73c7c1",
|
|
16
|
-
"#85a9cf",
|
|
17
|
-
"#a3779f",
|
|
18
|
-
"#c8c2b4",
|
|
19
|
-
"#a47854",
|
|
20
|
-
];
|
|
21
|
-
/** Gets a color based on a given email address. This color is usually displayed in an avatar component.
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
export function getUserColor(email) {
|
|
25
|
-
if (typeof email !== "string") // Test for invalid data
|
|
26
|
-
return COLORS[0];
|
|
27
|
-
const cleanString = email.trim().toLowerCase();
|
|
28
|
-
let hash = 0;
|
|
29
|
-
for (let i = 0; i < cleanString.length; i++) {
|
|
30
|
-
const charCode = cleanString.charCodeAt(i);
|
|
31
|
-
hash = (hash + charCode) % COLORS.length;
|
|
32
|
-
}
|
|
33
|
-
return COLORS[hash];
|
|
34
|
-
}
|
|
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
|
+
const COLORS = [
|
|
9
|
+
"#6ab9ec",
|
|
10
|
+
"#b1c854",
|
|
11
|
+
"#f7706c",
|
|
12
|
+
"#4585a5",
|
|
13
|
+
"#ffc335",
|
|
14
|
+
"#f7963e",
|
|
15
|
+
"#73c7c1",
|
|
16
|
+
"#85a9cf",
|
|
17
|
+
"#a3779f",
|
|
18
|
+
"#c8c2b4",
|
|
19
|
+
"#a47854",
|
|
20
|
+
];
|
|
21
|
+
/** Gets a color based on a given email address. This color is usually displayed in an avatar component.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export function getUserColor(email) {
|
|
25
|
+
if (typeof email !== "string") // Test for invalid data
|
|
26
|
+
return COLORS[0];
|
|
27
|
+
const cleanString = email.trim().toLowerCase();
|
|
28
|
+
let hash = 0;
|
|
29
|
+
for (let i = 0; i < cleanString.length; i++) {
|
|
30
|
+
const charCode = cleanString.charCodeAt(i);
|
|
31
|
+
hash = (hash + charCode) % COLORS.length;
|
|
32
|
+
}
|
|
33
|
+
return COLORS[hash];
|
|
34
|
+
}
|
|
35
35
|
//# sourceMappingURL=getUserColor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserColor.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getUserColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,MAAM,GAAG;IACb,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAG,wBAAwB;QACtD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE/C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;KAC1C;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC","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\nconst COLORS = [\n \"#6ab9ec\",\n \"#b1c854\",\n \"#f7706c\",\n \"#4585a5\",\n \"#ffc335\",\n \"#f7963e\",\n \"#73c7c1\",\n \"#85a9cf\",\n \"#a3779f\",\n \"#c8c2b4\",\n \"#a47854\",\n];\n\n/** Gets a color based on a given email address. This color is usually displayed in an avatar component.\n * @internal\n */\nexport function getUserColor(email: string): string {\n if (typeof email !== \"string\") // Test for invalid data\n return COLORS[0];\n\n const cleanString = email.trim().toLowerCase();\n\n let hash = 0;\n for (let i = 0; i < cleanString.length; i++) {\n const charCode = cleanString.charCodeAt(i);\n hash = (hash + charCode) % COLORS.length;\n }\n return COLORS[hash];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getUserColor.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getUserColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,MAAM,GAAG;IACb,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAG,wBAAwB;QACtD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE/C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;KAC1C;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC","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\nconst COLORS = [\r\n \"#6ab9ec\",\r\n \"#b1c854\",\r\n \"#f7706c\",\r\n \"#4585a5\",\r\n \"#ffc335\",\r\n \"#f7963e\",\r\n \"#73c7c1\",\r\n \"#85a9cf\",\r\n \"#a3779f\",\r\n \"#c8c2b4\",\r\n \"#a47854\",\r\n];\r\n\r\n/** Gets a color based on a given email address. This color is usually displayed in an avatar component.\r\n * @internal\r\n */\r\nexport function getUserColor(email: string): string {\r\n if (typeof email !== \"string\") // Test for invalid data\r\n return COLORS[0];\r\n\r\n const cleanString = email.trim().toLowerCase();\r\n\r\n let hash = 0;\r\n for (let i = 0; i < cleanString.length; i++) {\r\n const charCode = cleanString.charCodeAt(i);\r\n hash = (hash + charCode) % COLORS.length;\r\n }\r\n return COLORS[hash];\r\n}\r\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** @internal */
|
|
2
|
-
export declare type ResizeObserverType = typeof import("resize-observer-polyfill").default;
|
|
3
|
-
/** @internal */
|
|
4
|
-
export declare const ResizeObserver: ResizeObserverType;
|
|
1
|
+
/** @internal */
|
|
2
|
+
export declare type ResizeObserverType = typeof import("resize-observer-polyfill").default;
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare const ResizeObserver: ResizeObserverType;
|
|
5
5
|
//# sourceMappingURL=ResizeObserverPolyfill.d.ts.map
|
|
@@ -1,17 +1,17 @@
|
|
|
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 * as ResizeObserverPolyfill from "resize-observer-polyfill";
|
|
9
|
-
function getModule(mod) {
|
|
10
|
-
/* istanbul ignore if */
|
|
11
|
-
if (mod.default)
|
|
12
|
-
return mod.default;
|
|
13
|
-
return mod;
|
|
14
|
-
}
|
|
15
|
-
/** @internal */
|
|
16
|
-
export const ResizeObserver = getModule(ResizeObserverPolyfill); // eslint-disable-line @typescript-eslint/naming-convention
|
|
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 * as ResizeObserverPolyfill from "resize-observer-polyfill";
|
|
9
|
+
function getModule(mod) {
|
|
10
|
+
/* istanbul ignore if */
|
|
11
|
+
if (mod.default)
|
|
12
|
+
return mod.default;
|
|
13
|
+
return mod;
|
|
14
|
+
}
|
|
15
|
+
/** @internal */
|
|
16
|
+
export const ResizeObserver = getModule(ResizeObserverPolyfill); // eslint-disable-line @typescript-eslint/naming-convention
|
|
17
17
|
//# sourceMappingURL=ResizeObserverPolyfill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResizeObserverPolyfill.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/ResizeObserverPolyfill.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAC;AAKnE,SAAS,SAAS,CAAC,GAAQ;IACzB,wBAAwB;IACxB,IAAI,GAAG,CAAC,OAAO;QACb,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAuB,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,2DAA2D","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 */\nimport * as ResizeObserverPolyfill from \"resize-observer-polyfill\";\n\n/** @internal */\nexport type ResizeObserverType = typeof import(\"resize-observer-polyfill\").default;\n\nfunction getModule(mod: any) {\n /* istanbul ignore if */\n if (mod.default)\n return mod.default;\n return mod;\n}\n\n/** @internal */\nexport const ResizeObserver: ResizeObserverType = getModule(ResizeObserverPolyfill); // eslint-disable-line @typescript-eslint/naming-convention\n"]}
|
|
1
|
+
{"version":3,"file":"ResizeObserverPolyfill.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/ResizeObserverPolyfill.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAC;AAKnE,SAAS,SAAS,CAAC,GAAQ;IACzB,wBAAwB;IACxB,IAAI,GAAG,CAAC,OAAO;QACb,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAuB,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,2DAA2D","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\nimport * as ResizeObserverPolyfill from \"resize-observer-polyfill\";\r\n\r\n/** @internal */\r\nexport type ResizeObserverType = typeof import(\"resize-observer-polyfill\").default;\r\n\r\nfunction getModule(mod: any) {\r\n /* istanbul ignore if */\r\n if (mod.default)\r\n return mod.default;\r\n return mod;\r\n}\r\n\r\n/** @internal */\r\nexport const ResizeObserver: ResizeObserverType = getModule(ResizeObserverPolyfill); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Utilities
|
|
3
|
-
*/
|
|
4
|
-
/** Hook that will show a popup window
|
|
5
|
-
* @beta
|
|
6
|
-
*/
|
|
7
|
-
export declare function useCrossOriginPopup(visible: boolean, url: string | undefined, title: string, width: number, height: number, onClose: () => void): void;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
/** Hook that will show a popup window
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
7
|
+
export declare function useCrossOriginPopup(visible: boolean, url: string | undefined, title: string, width: number, height: number, onClose: () => void): void;
|
|
8
8
|
//# sourceMappingURL=useCrossOriginPopup.d.ts.map
|
|
@@ -1,86 +1,86 @@
|
|
|
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 * as React from "react";
|
|
9
|
-
import { useInterval } from "./useInterval";
|
|
10
|
-
/** Hook that will show a popup window
|
|
11
|
-
* @beta
|
|
12
|
-
*/
|
|
13
|
-
export function useCrossOriginPopup(visible, url, title, width, height, onClose) {
|
|
14
|
-
const [checkPopupAliveDelay, setCheckPopupAliveDelay] = React.useState();
|
|
15
|
-
// ONLY re-render the popup when visibility changes, any other changes get deferred until next visibility change
|
|
16
|
-
// hence the massive use of 'useRef'
|
|
17
|
-
const popupWindow = React.useRef();
|
|
18
|
-
const savedUrl = React.useRef(url);
|
|
19
|
-
const savedTitle = React.useRef(title);
|
|
20
|
-
const savedWidth = React.useRef(width);
|
|
21
|
-
const savedHeight = React.useRef(height);
|
|
22
|
-
const savedOnClose = React.useRef(onClose);
|
|
23
|
-
React.useEffect(() => { savedUrl.current = url; }, [url]);
|
|
24
|
-
React.useEffect(() => { savedTitle.current = title; }, [title]);
|
|
25
|
-
React.useEffect(() => { savedWidth.current = width; }, [width]);
|
|
26
|
-
React.useEffect(() => { savedHeight.current = height; }, [height]);
|
|
27
|
-
React.useEffect(() => { savedOnClose.current = onClose; }, [onClose]);
|
|
28
|
-
// Cleanup method after a popup closure. Also calls the OnClose callback.
|
|
29
|
-
const handleClosedPopup = React.useCallback(() => {
|
|
30
|
-
savedOnClose.current();
|
|
31
|
-
setCheckPopupAliveDelay(undefined);
|
|
32
|
-
popupWindow.current = undefined;
|
|
33
|
-
}, []);
|
|
34
|
-
const closePopup = React.useCallback(() => {
|
|
35
|
-
if (popupWindow.current !== undefined) {
|
|
36
|
-
popupWindow.current.close(); // Manually close the popup
|
|
37
|
-
handleClosedPopup();
|
|
38
|
-
}
|
|
39
|
-
}, [handleClosedPopup]);
|
|
40
|
-
const checkPopupClosed = React.useCallback(() => {
|
|
41
|
-
var _a;
|
|
42
|
-
if ((_a = popupWindow.current) === null || _a === void 0 ? void 0 : _a.closed) {
|
|
43
|
-
// Popup has been closed by end-user, inform our host and cleanup
|
|
44
|
-
handleClosedPopup();
|
|
45
|
-
}
|
|
46
|
-
}, [handleClosedPopup]);
|
|
47
|
-
// Close popup when parent window get closed
|
|
48
|
-
React.useEffect(() => {
|
|
49
|
-
window.onbeforeunload = (_event) => { closePopup(); };
|
|
50
|
-
return () => {
|
|
51
|
-
window.onbeforeunload = null;
|
|
52
|
-
};
|
|
53
|
-
}, [closePopup]);
|
|
54
|
-
// Whenever the hook is unloaded, make sure the underlying popup get closed.
|
|
55
|
-
// Note: An interval is used to check if popup was closed by user: because we access
|
|
56
|
-
// a cross domain resource inside the popup, we don't have access to popup window events.
|
|
57
|
-
// As a workaround, we periodically check if popup is still alive.
|
|
58
|
-
// Reference: https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript/48240128#48240128
|
|
59
|
-
React.useEffect(() => {
|
|
60
|
-
return () => {
|
|
61
|
-
closePopup();
|
|
62
|
-
};
|
|
63
|
-
}, [closePopup]);
|
|
64
|
-
// Timer that checks if popup was closed by end-user
|
|
65
|
-
useInterval(checkPopupClosed, checkPopupAliveDelay);
|
|
66
|
-
// ==> Main render effect
|
|
67
|
-
// Monitors visibility changes and open/close the popup accordingly.
|
|
68
|
-
React.useEffect(() => {
|
|
69
|
-
// If visible and a popup window is not already open, open a new popup window
|
|
70
|
-
if (visible && popupWindow.current === undefined) {
|
|
71
|
-
const popup = window.open(savedUrl.current, savedTitle.current, `width=${savedWidth.current},height=${savedHeight.current}`);
|
|
72
|
-
if (popup) {
|
|
73
|
-
popup.focus();
|
|
74
|
-
popupWindow.current = popup;
|
|
75
|
-
// Start and interval that will check if popup got closed by user
|
|
76
|
-
setCheckPopupAliveDelay(1000);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// If not visible but a previous popup window is still open, close it.
|
|
80
|
-
if (!visible && popupWindow.current !== undefined) {
|
|
81
|
-
popupWindow.current.close();
|
|
82
|
-
handleClosedPopup();
|
|
83
|
-
}
|
|
84
|
-
}, [handleClosedPopup, visible]);
|
|
85
|
-
}
|
|
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 * as React from "react";
|
|
9
|
+
import { useInterval } from "./useInterval";
|
|
10
|
+
/** Hook that will show a popup window
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export function useCrossOriginPopup(visible, url, title, width, height, onClose) {
|
|
14
|
+
const [checkPopupAliveDelay, setCheckPopupAliveDelay] = React.useState();
|
|
15
|
+
// ONLY re-render the popup when visibility changes, any other changes get deferred until next visibility change
|
|
16
|
+
// hence the massive use of 'useRef'
|
|
17
|
+
const popupWindow = React.useRef();
|
|
18
|
+
const savedUrl = React.useRef(url);
|
|
19
|
+
const savedTitle = React.useRef(title);
|
|
20
|
+
const savedWidth = React.useRef(width);
|
|
21
|
+
const savedHeight = React.useRef(height);
|
|
22
|
+
const savedOnClose = React.useRef(onClose);
|
|
23
|
+
React.useEffect(() => { savedUrl.current = url; }, [url]);
|
|
24
|
+
React.useEffect(() => { savedTitle.current = title; }, [title]);
|
|
25
|
+
React.useEffect(() => { savedWidth.current = width; }, [width]);
|
|
26
|
+
React.useEffect(() => { savedHeight.current = height; }, [height]);
|
|
27
|
+
React.useEffect(() => { savedOnClose.current = onClose; }, [onClose]);
|
|
28
|
+
// Cleanup method after a popup closure. Also calls the OnClose callback.
|
|
29
|
+
const handleClosedPopup = React.useCallback(() => {
|
|
30
|
+
savedOnClose.current();
|
|
31
|
+
setCheckPopupAliveDelay(undefined);
|
|
32
|
+
popupWindow.current = undefined;
|
|
33
|
+
}, []);
|
|
34
|
+
const closePopup = React.useCallback(() => {
|
|
35
|
+
if (popupWindow.current !== undefined) {
|
|
36
|
+
popupWindow.current.close(); // Manually close the popup
|
|
37
|
+
handleClosedPopup();
|
|
38
|
+
}
|
|
39
|
+
}, [handleClosedPopup]);
|
|
40
|
+
const checkPopupClosed = React.useCallback(() => {
|
|
41
|
+
var _a;
|
|
42
|
+
if ((_a = popupWindow.current) === null || _a === void 0 ? void 0 : _a.closed) {
|
|
43
|
+
// Popup has been closed by end-user, inform our host and cleanup
|
|
44
|
+
handleClosedPopup();
|
|
45
|
+
}
|
|
46
|
+
}, [handleClosedPopup]);
|
|
47
|
+
// Close popup when parent window get closed
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
window.onbeforeunload = (_event) => { closePopup(); };
|
|
50
|
+
return () => {
|
|
51
|
+
window.onbeforeunload = null;
|
|
52
|
+
};
|
|
53
|
+
}, [closePopup]);
|
|
54
|
+
// Whenever the hook is unloaded, make sure the underlying popup get closed.
|
|
55
|
+
// Note: An interval is used to check if popup was closed by user: because we access
|
|
56
|
+
// a cross domain resource inside the popup, we don't have access to popup window events.
|
|
57
|
+
// As a workaround, we periodically check if popup is still alive.
|
|
58
|
+
// Reference: https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript/48240128#48240128
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
return () => {
|
|
61
|
+
closePopup();
|
|
62
|
+
};
|
|
63
|
+
}, [closePopup]);
|
|
64
|
+
// Timer that checks if popup was closed by end-user
|
|
65
|
+
useInterval(checkPopupClosed, checkPopupAliveDelay);
|
|
66
|
+
// ==> Main render effect
|
|
67
|
+
// Monitors visibility changes and open/close the popup accordingly.
|
|
68
|
+
React.useEffect(() => {
|
|
69
|
+
// If visible and a popup window is not already open, open a new popup window
|
|
70
|
+
if (visible && popupWindow.current === undefined) {
|
|
71
|
+
const popup = window.open(savedUrl.current, savedTitle.current, `width=${savedWidth.current},height=${savedHeight.current}`);
|
|
72
|
+
if (popup) {
|
|
73
|
+
popup.focus();
|
|
74
|
+
popupWindow.current = popup;
|
|
75
|
+
// Start and interval that will check if popup got closed by user
|
|
76
|
+
setCheckPopupAliveDelay(1000);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// If not visible but a previous popup window is still open, close it.
|
|
80
|
+
if (!visible && popupWindow.current !== undefined) {
|
|
81
|
+
popupWindow.current.close();
|
|
82
|
+
handleClosedPopup();
|
|
83
|
+
}
|
|
84
|
+
}, [handleClosedPopup, visible]);
|
|
85
|
+
}
|
|
86
86
|
//# sourceMappingURL=useCrossOriginPopup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCrossOriginPopup.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useCrossOriginPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAuB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,OAAmB;IAE9I,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IAE7F,gHAAgH;IAChH,oCAAoC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAI,2BAA2B;YAC3D,iBAAiB,EAAE,CAAC;SACrB;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;;QAC9C,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAE,MAAM,EAAE;YAC/B,iEAAiE;YACjE,iBAAiB,EAAE,CAAC;SACrB;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,6CAA6C;IAC7C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE,GAAE,UAAU,EAAE,CAAC,CAAA,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,4EAA4E;IAC5E,oFAAoF;IACpF,yFAAyF;IACzF,kEAAkE;IAClE,iIAAiI;IACjI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,UAAU,EAAE,CAAC;QACf,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,oDAAoD;IACpD,WAAW,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAEpD,yBAAyB;IACzB,oEAAoE;IACpE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,6EAA6E;QAC7E,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,UAAU,CAAC,OAAO,WAAW,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7H,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;gBAE5B,iEAAiE;gBACjE,uBAAuB,CAAC,IAAI,CAAC,CAAC;aAC/B;SACF;QAED,sEAAsE;QACtE,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE;YACjD,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAE5B,iBAAiB,EAAE,CAAC;SACrB;IAEH,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC","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 * as React from \"react\";\nimport {useInterval} from \"./useInterval\";\n\n/** Hook that will show a popup window\n * @beta\n */\nexport function useCrossOriginPopup(visible: boolean, url: string | undefined, title: string, width: number, height: number, onClose: () => void) {\n\n const [checkPopupAliveDelay, setCheckPopupAliveDelay] = React.useState<number | undefined>();\n\n // ONLY re-render the popup when visibility changes, any other changes get deferred until next visibility change\n // hence the massive use of 'useRef'\n const popupWindow = React.useRef<Window>();\n const savedUrl = React.useRef(url);\n const savedTitle = React.useRef(title);\n const savedWidth = React.useRef(width);\n const savedHeight = React.useRef(height);\n const savedOnClose = React.useRef(onClose);\n\n React.useEffect(() => { savedUrl.current = url; }, [url]);\n React.useEffect(() => { savedTitle.current = title; }, [title]);\n React.useEffect(() => { savedWidth.current = width; }, [width]);\n React.useEffect(() => { savedHeight.current = height; }, [height]);\n React.useEffect(() => { savedOnClose.current = onClose; }, [onClose]);\n\n // Cleanup method after a popup closure. Also calls the OnClose callback.\n const handleClosedPopup = React.useCallback(() => {\n savedOnClose.current();\n setCheckPopupAliveDelay(undefined);\n popupWindow.current = undefined;\n }, []);\n\n const closePopup = React.useCallback(() => {\n if (popupWindow.current !== undefined) {\n popupWindow.current.close(); // Manually close the popup\n handleClosedPopup();\n }\n }, [handleClosedPopup]);\n\n const checkPopupClosed = React.useCallback(() => {\n if (popupWindow.current?.closed) {\n // Popup has been closed by end-user, inform our host and cleanup\n handleClosedPopup();\n }\n }, [handleClosedPopup]);\n\n // Close popup when parent window get closed\n React.useEffect(() => {\n window.onbeforeunload = (_event) => {closePopup();};\n return () => {\n window.onbeforeunload = null;\n };\n }, [closePopup]);\n\n // Whenever the hook is unloaded, make sure the underlying popup get closed.\n // Note: An interval is used to check if popup was closed by user: because we access\n // a cross domain resource inside the popup, we don't have access to popup window events.\n // As a workaround, we periodically check if popup is still alive.\n // Reference: https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript/48240128#48240128\n React.useEffect(() => {\n return () => {\n closePopup();\n };\n }, [closePopup]);\n\n // Timer that checks if popup was closed by end-user\n useInterval(checkPopupClosed, checkPopupAliveDelay);\n\n // ==> Main render effect\n // Monitors visibility changes and open/close the popup accordingly.\n React.useEffect(() => {\n // If visible and a popup window is not already open, open a new popup window\n if (visible && popupWindow.current === undefined) {\n const popup = window.open(savedUrl.current, savedTitle.current, `width=${savedWidth.current},height=${savedHeight.current}`);\n if (popup) {\n popup.focus();\n popupWindow.current = popup;\n\n // Start and interval that will check if popup got closed by user\n setCheckPopupAliveDelay(1000);\n }\n }\n\n // If not visible but a previous popup window is still open, close it.\n if (!visible && popupWindow.current !== undefined) {\n popupWindow.current.close();\n\n handleClosedPopup();\n }\n\n }, [handleClosedPopup, visible]);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useCrossOriginPopup.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useCrossOriginPopup.tsx"],"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 * as React from \"react\";\r\nimport {useInterval} from \"./useInterval\";\r\n\r\n/** Hook that will show a popup window\r\n * @beta\r\n */\r\nexport function useCrossOriginPopup(visible: boolean, url: string | undefined, title: string, width: number, height: number, onClose: () => void) {\r\n\r\n const [checkPopupAliveDelay, setCheckPopupAliveDelay] = React.useState<number | undefined>();\r\n\r\n // ONLY re-render the popup when visibility changes, any other changes get deferred until next visibility change\r\n // hence the massive use of 'useRef'\r\n const popupWindow = React.useRef<Window>();\r\n const savedUrl = React.useRef(url);\r\n const savedTitle = React.useRef(title);\r\n const savedWidth = React.useRef(width);\r\n const savedHeight = React.useRef(height);\r\n const savedOnClose = React.useRef(onClose);\r\n\r\n React.useEffect(() => { savedUrl.current = url; }, [url]);\r\n React.useEffect(() => { savedTitle.current = title; }, [title]);\r\n React.useEffect(() => { savedWidth.current = width; }, [width]);\r\n React.useEffect(() => { savedHeight.current = height; }, [height]);\r\n React.useEffect(() => { savedOnClose.current = onClose; }, [onClose]);\r\n\r\n // Cleanup method after a popup closure. Also calls the OnClose callback.\r\n const handleClosedPopup = React.useCallback(() => {\r\n savedOnClose.current();\r\n setCheckPopupAliveDelay(undefined);\r\n popupWindow.current = undefined;\r\n }, []);\r\n\r\n const closePopup = React.useCallback(() => {\r\n if (popupWindow.current !== undefined) {\r\n popupWindow.current.close(); // Manually close the popup\r\n handleClosedPopup();\r\n }\r\n }, [handleClosedPopup]);\r\n\r\n const checkPopupClosed = React.useCallback(() => {\r\n if (popupWindow.current?.closed) {\r\n // Popup has been closed by end-user, inform our host and cleanup\r\n handleClosedPopup();\r\n }\r\n }, [handleClosedPopup]);\r\n\r\n // Close popup when parent window get closed\r\n React.useEffect(() => {\r\n window.onbeforeunload = (_event) => {closePopup();};\r\n return () => {\r\n window.onbeforeunload = null;\r\n };\r\n }, [closePopup]);\r\n\r\n // Whenever the hook is unloaded, make sure the underlying popup get closed.\r\n // Note: An interval is used to check if popup was closed by user: because we access\r\n // a cross domain resource inside the popup, we don't have access to popup window events.\r\n // As a workaround, we periodically check if popup is still alive.\r\n // Reference: https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript/48240128#48240128\r\n React.useEffect(() => {\r\n return () => {\r\n closePopup();\r\n };\r\n }, [closePopup]);\r\n\r\n // Timer that checks if popup was closed by end-user\r\n useInterval(checkPopupClosed, checkPopupAliveDelay);\r\n\r\n // ==> Main render effect\r\n // Monitors visibility changes and open/close the popup accordingly.\r\n React.useEffect(() => {\r\n // If visible and a popup window is not already open, open a new popup window\r\n if (visible && popupWindow.current === undefined) {\r\n const popup = window.open(savedUrl.current, savedTitle.current, `width=${savedWidth.current},height=${savedHeight.current}`);\r\n if (popup) {\r\n popup.focus();\r\n popupWindow.current = popup;\r\n\r\n // Start and interval that will check if popup got closed by user\r\n setCheckPopupAliveDelay(1000);\r\n }\r\n }\r\n\r\n // If not visible but a previous popup window is still open, close it.\r\n if (!visible && popupWindow.current !== undefined) {\r\n popupWindow.current.close();\r\n\r\n handleClosedPopup();\r\n }\r\n\r\n }, [handleClosedPopup, visible]);\r\n}\r\n"]}
|