@itwin/core-react 4.0.0-dev.7 → 4.0.0-dev.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -93
- package/lib/cjs/core-react/UiCore.d.ts +1 -1
- package/lib/cjs/core-react/UiCore.js +1 -1
- package/lib/cjs/core-react/UiCore.js.map +1 -1
- package/lib/cjs/core-react/_typography.scss +7 -8
- package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +2 -3
- package/lib/cjs/core-react/badge/BetaBadge.d.ts +0 -1
- package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +1 -1
- package/lib/cjs/core-react/badge/BetaBadge.js +0 -1
- package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
- package/lib/cjs/core-react/button/button.scss +31 -42
- package/lib/cjs/core-react/button/variables.scss +10 -7
- package/lib/cjs/core-react/checkbox/checkbox.scss +11 -16
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +4 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/cjs/core-react/classes.scss +0 -4
- package/lib/cjs/core-react/colorthemes.scss +42 -10
- package/lib/cjs/core-react/colorvariables.scss +53 -15
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +2 -0
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.scss +7 -8
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.scss +4 -5
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts +2 -0
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/cjs/core-react/expandable/list.scss +7 -17
- package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.d.ts +1 -1
- package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js +1 -7
- package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
- package/lib/cjs/core-react/icons/SvgPath.d.ts +1 -1
- package/lib/cjs/core-react/icons/SvgPath.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/SvgPath.js +2 -2
- package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
- package/lib/{esm/core-react/icons/SvgSprite.scss → cjs/core-react/icons/SvgPath.scss} +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +4 -5
- package/lib/cjs/core-react/index.scss +0 -4
- package/lib/cjs/core-react/inputs/Input.d.ts +2 -4
- package/lib/cjs/core-react/inputs/Input.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/Input.js +1 -2
- package/lib/cjs/core-react/inputs/Input.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.d.ts +2 -0
- package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/cjs/core-react/inputs/classes.scss +0 -2
- package/lib/cjs/core-react/inputs/index.scss +1 -3
- package/lib/cjs/core-react/inputs/input-label.scss +90 -0
- package/lib/cjs/core-react/inputs/input.scss +36 -38
- package/lib/cjs/core-react/inputs/variables.scss +20 -15
- package/lib/cjs/core-react/listbox/Listbox.scss +3 -3
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +1 -2
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.js +1 -16
- package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.scss +4 -5
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts +4 -0
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/cjs/core-react/popup/Popup.d.ts +2 -0
- package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
- package/lib/cjs/core-react/popup/Popup.js.map +1 -1
- package/lib/cjs/core-react/popup/Popup.scss +123 -123
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +4 -0
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.scss +1 -2
- package/lib/cjs/core-react/searchbox/SearchBox.scss +2 -4
- package/lib/cjs/core-react/settings/SettingsContainer.js +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.scss +8 -7
- package/lib/cjs/core-react/style/baseline.scss +6 -8
- package/lib/cjs/core-react/style/data-viz.scss +11 -14
- package/lib/cjs/core-react/style/itwinui-overrides.scss +0 -1
- package/lib/cjs/core-react/style/mixins.scss +0 -1
- package/lib/cjs/core-react/style/opacity.scss +9 -10
- package/lib/cjs/core-react/style/space.scss +9 -13
- package/lib/cjs/core-react/style/speed.scss +3 -4
- package/lib/cjs/core-react/style/typography.scss +26 -25
- package/lib/cjs/core-react/style/variables.scss +4 -5
- package/lib/cjs/core-react/tabs/Tabs.d.ts +1 -1
- package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
- package/lib/cjs/core-react/tabs/classes.scss +0 -1
- package/lib/cjs/core-react/tabs/index.scss +0 -1
- package/lib/cjs/core-react/tabs/tabs.scss +38 -49
- package/lib/cjs/core-react/tabs/vertical.scss +17 -23
- package/lib/cjs/core-react/text/classes.scss +0 -8
- package/lib/cjs/core-react/text/index.scss +0 -8
- package/lib/cjs/core-react/text/mixins.scss +8 -46
- package/lib/cjs/core-react/tree/Node.scss +5 -5
- package/lib/cjs/core-react.d.ts +1 -41
- package/lib/cjs/core-react.d.ts.map +1 -1
- package/lib/cjs/core-react.js +1 -41
- package/lib/cjs/core-react.js.map +1 -1
- package/lib/esm/core-react/UiCore.d.ts +1 -1
- package/lib/esm/core-react/UiCore.js +1 -1
- package/lib/esm/core-react/UiCore.js.map +1 -1
- package/lib/esm/core-react/_typography.scss +7 -8
- package/lib/esm/core-react/autosuggest/AutoSuggest.scss +2 -3
- package/lib/esm/core-react/badge/BetaBadge.d.ts +0 -1
- package/lib/esm/core-react/badge/BetaBadge.d.ts.map +1 -1
- package/lib/esm/core-react/badge/BetaBadge.js +0 -1
- package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
- package/lib/esm/core-react/button/button.scss +31 -42
- package/lib/esm/core-react/button/variables.scss +10 -7
- package/lib/esm/core-react/checkbox/checkbox.scss +11 -16
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +4 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/esm/core-react/classes.scss +0 -4
- package/lib/esm/core-react/colorthemes.scss +42 -10
- package/lib/esm/core-react/colorvariables.scss +53 -15
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +2 -0
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.scss +7 -8
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js +2 -2
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.scss +4 -5
- package/lib/esm/core-react/expandable/ExpandableList.d.ts +2 -0
- package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/esm/core-react/expandable/list.scss +7 -17
- package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.d.ts +1 -1
- package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.js +1 -7
- package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
- package/lib/esm/core-react/icons/SvgPath.d.ts +1 -1
- package/lib/esm/core-react/icons/SvgPath.d.ts.map +1 -1
- package/lib/esm/core-react/icons/SvgPath.js +2 -2
- package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
- package/lib/{cjs/core-react/icons/SvgSprite.scss → esm/core-react/icons/SvgPath.scss} +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +4 -5
- package/lib/esm/core-react/index.scss +0 -4
- package/lib/esm/core-react/inputs/Input.d.ts +2 -4
- package/lib/esm/core-react/inputs/Input.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/Input.js +1 -2
- package/lib/esm/core-react/inputs/Input.js.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.d.ts +2 -0
- package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/esm/core-react/inputs/classes.scss +0 -2
- package/lib/esm/core-react/inputs/index.scss +1 -3
- package/lib/esm/core-react/inputs/input-label.scss +90 -0
- package/lib/esm/core-react/inputs/input.scss +36 -38
- package/lib/esm/core-react/inputs/variables.scss +20 -15
- package/lib/esm/core-react/listbox/Listbox.scss +3 -3
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts +1 -2
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.js +1 -16
- package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.scss +4 -5
- package/lib/esm/core-react/messagebox/MessageBox.d.ts +4 -0
- package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/esm/core-react/popup/Popup.d.ts +2 -0
- package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
- package/lib/esm/core-react/popup/Popup.js.map +1 -1
- package/lib/esm/core-react/popup/Popup.scss +123 -123
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +4 -0
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.scss +1 -2
- package/lib/esm/core-react/searchbox/SearchBox.scss +2 -4
- package/lib/esm/core-react/settings/SettingsContainer.js +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.scss +8 -7
- package/lib/esm/core-react/style/baseline.scss +6 -8
- package/lib/esm/core-react/style/data-viz.scss +11 -14
- package/lib/esm/core-react/style/itwinui-overrides.scss +0 -1
- package/lib/esm/core-react/style/mixins.scss +0 -1
- package/lib/esm/core-react/style/opacity.scss +9 -10
- package/lib/esm/core-react/style/space.scss +9 -13
- package/lib/esm/core-react/style/speed.scss +3 -4
- package/lib/esm/core-react/style/typography.scss +26 -25
- package/lib/esm/core-react/style/variables.scss +4 -5
- package/lib/esm/core-react/tabs/Tabs.d.ts +1 -1
- package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
- package/lib/esm/core-react/tabs/classes.scss +0 -1
- package/lib/esm/core-react/tabs/index.scss +0 -1
- package/lib/esm/core-react/tabs/tabs.scss +38 -49
- package/lib/esm/core-react/tabs/vertical.scss +17 -23
- package/lib/esm/core-react/text/classes.scss +0 -8
- package/lib/esm/core-react/text/index.scss +0 -8
- package/lib/esm/core-react/text/mixins.scss +8 -46
- package/lib/esm/core-react/tree/Node.scss +5 -5
- package/lib/esm/core-react.d.ts +1 -41
- package/lib/esm/core-react.d.ts.map +1 -1
- package/lib/esm/core-react.js +1 -41
- package/lib/esm/core-react.js.map +1 -1
- package/package.json +23 -21
- package/lib/cjs/core-react/badge/BetaBadge.scss +0 -9
- package/lib/cjs/core-react/button/Button.d.ts +0 -48
- package/lib/cjs/core-react/button/Button.d.ts.map +0 -1
- package/lib/cjs/core-react/button/Button.js +0 -86
- package/lib/cjs/core-react/button/Button.js.map +0 -1
- package/lib/cjs/core-react/checkbox/Checkbox.d.ts +0 -57
- package/lib/cjs/core-react/checkbox/Checkbox.d.ts.map +0 -1
- package/lib/cjs/core-react/checkbox/Checkbox.js +0 -65
- package/lib/cjs/core-react/checkbox/Checkbox.js.map +0 -1
- package/lib/cjs/core-react/dialog/DialogButtonDef.d.ts +0 -47
- package/lib/cjs/core-react/dialog/DialogButtonDef.d.ts.map +0 -1
- package/lib/cjs/core-react/dialog/DialogButtonDef.js +0 -38
- package/lib/cjs/core-react/dialog/DialogButtonDef.js.map +0 -1
- package/lib/cjs/core-react/expandable/ExpandableBlock.d.ts +0 -34
- package/lib/cjs/core-react/expandable/ExpandableBlock.d.ts.map +0 -1
- package/lib/cjs/core-react/expandable/ExpandableBlock.js +0 -36
- package/lib/cjs/core-react/expandable/ExpandableBlock.js.map +0 -1
- package/lib/cjs/core-react/expandable/ExpandableBlock.scss +0 -145
- package/lib/cjs/core-react/form/Field.d.ts +0 -20
- package/lib/cjs/core-react/form/Field.d.ts.map +0 -1
- package/lib/cjs/core-react/form/Field.js +0 -45
- package/lib/cjs/core-react/form/Field.js.map +0 -1
- package/lib/cjs/core-react/form/Form.d.ts +0 -132
- package/lib/cjs/core-react/form/Form.d.ts.map +0 -1
- package/lib/cjs/core-react/form/Form.js +0 -132
- package/lib/cjs/core-react/form/Form.js.map +0 -1
- package/lib/cjs/core-react/form/Form.scss +0 -78
- package/lib/cjs/core-react/icons/SvgSprite.d.ts +0 -21
- package/lib/cjs/core-react/icons/SvgSprite.d.ts.map +0 -1
- package/lib/cjs/core-react/icons/SvgSprite.js +0 -27
- package/lib/cjs/core-react/icons/SvgSprite.js.map +0 -1
- package/lib/cjs/core-react/inputs/LabeledInput.d.ts +0 -18
- package/lib/cjs/core-react/inputs/LabeledInput.d.ts.map +0 -1
- package/lib/cjs/core-react/inputs/LabeledInput.js +0 -34
- package/lib/cjs/core-react/inputs/LabeledInput.js.map +0 -1
- package/lib/cjs/core-react/inputs/LabeledTextarea.d.ts +0 -18
- package/lib/cjs/core-react/inputs/LabeledTextarea.d.ts.map +0 -1
- package/lib/cjs/core-react/inputs/LabeledTextarea.js +0 -32
- package/lib/cjs/core-react/inputs/LabeledTextarea.js.map +0 -1
- package/lib/cjs/core-react/inputs/Textarea.d.ts +0 -23
- package/lib/cjs/core-react/inputs/Textarea.d.ts.map +0 -1
- package/lib/cjs/core-react/inputs/Textarea.js +0 -36
- package/lib/cjs/core-react/inputs/Textarea.js.map +0 -1
- package/lib/cjs/core-react/inputs/labeled-input.scss +0 -103
- package/lib/cjs/core-react/inputs/labeled-textarea.scss +0 -77
- package/lib/cjs/core-react/inputs/textarea.scss +0 -55
- package/lib/cjs/core-react/loading/Spinner.d.ts +0 -38
- package/lib/cjs/core-react/loading/Spinner.d.ts.map +0 -1
- package/lib/cjs/core-react/loading/Spinner.js +0 -61
- package/lib/cjs/core-react/loading/Spinner.js.map +0 -1
- package/lib/cjs/core-react/loading/Spinner.scss +0 -26
- package/lib/cjs/core-react/messagebox/MessageSeverity.d.ts +0 -16
- package/lib/cjs/core-react/messagebox/MessageSeverity.d.ts.map +0 -1
- package/lib/cjs/core-react/messagebox/MessageSeverity.js +0 -24
- package/lib/cjs/core-react/messagebox/MessageSeverity.js.map +0 -1
- package/lib/cjs/core-react/progress-indicators/ProgressBar.d.ts +0 -29
- package/lib/cjs/core-react/progress-indicators/ProgressBar.d.ts.map +0 -1
- package/lib/cjs/core-react/progress-indicators/ProgressBar.js +0 -48
- package/lib/cjs/core-react/progress-indicators/ProgressBar.js.map +0 -1
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.d.ts +0 -49
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.d.ts.map +0 -1
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.js +0 -74
- package/lib/cjs/core-react/progress-indicators/ProgressSpinner.js.map +0 -1
- package/lib/cjs/core-react/progress-indicators/classes.scss +0 -33
- package/lib/cjs/core-react/progress-indicators/index.scss +0 -6
- package/lib/cjs/core-react/progress-indicators/progress-bar.scss +0 -91
- package/lib/cjs/core-react/progress-indicators/progress-spinner.scss +0 -132
- package/lib/cjs/core-react/radio/Radio.d.ts +0 -20
- package/lib/cjs/core-react/radio/Radio.d.ts.map +0 -1
- package/lib/cjs/core-react/radio/Radio.js +0 -28
- package/lib/cjs/core-react/radio/Radio.js.map +0 -1
- package/lib/cjs/core-react/radio/classes.scss +0 -7
- package/lib/cjs/core-react/radio/index.scss +0 -8
- package/lib/cjs/core-react/radio/radio.scss +0 -89
- package/lib/cjs/core-react/select/LabeledSelect.d.ts +0 -20
- package/lib/cjs/core-react/select/LabeledSelect.d.ts.map +0 -1
- package/lib/cjs/core-react/select/LabeledSelect.js +0 -34
- package/lib/cjs/core-react/select/LabeledSelect.js.map +0 -1
- package/lib/cjs/core-react/select/LabeledThemedSelect.d.ts +0 -16
- package/lib/cjs/core-react/select/LabeledThemedSelect.d.ts.map +0 -1
- package/lib/cjs/core-react/select/LabeledThemedSelect.js +0 -31
- package/lib/cjs/core-react/select/LabeledThemedSelect.js.map +0 -1
- package/lib/cjs/core-react/select/Select.d.ts +0 -53
- package/lib/cjs/core-react/select/Select.d.ts.map +0 -1
- package/lib/cjs/core-react/select/Select.js +0 -60
- package/lib/cjs/core-react/select/Select.js.map +0 -1
- package/lib/cjs/core-react/select/ThemedSelect.d.ts +0 -104
- package/lib/cjs/core-react/select/ThemedSelect.d.ts.map +0 -1
- package/lib/cjs/core-react/select/ThemedSelect.js +0 -57
- package/lib/cjs/core-react/select/ThemedSelect.js.map +0 -1
- package/lib/cjs/core-react/select/classes.scss +0 -9
- package/lib/cjs/core-react/select/index.scss +0 -10
- package/lib/cjs/core-react/select/labeled-select.scss +0 -72
- package/lib/cjs/core-react/select/labeled-themed-select.scss +0 -77
- package/lib/cjs/core-react/select/modalHelper.d.ts +0 -5
- package/lib/cjs/core-react/select/modalHelper.d.ts.map +0 -1
- package/lib/cjs/core-react/select/modalHelper.js +0 -21
- package/lib/cjs/core-react/select/modalHelper.js.map +0 -1
- package/lib/cjs/core-react/select/select.scss +0 -74
- package/lib/cjs/core-react/select/themed-select.scss +0 -159
- package/lib/cjs/core-react/slider/Slider.d.ts +0 -80
- package/lib/cjs/core-react/slider/Slider.d.ts.map +0 -1
- package/lib/cjs/core-react/slider/Slider.js +0 -91
- package/lib/cjs/core-react/slider/Slider.js.map +0 -1
- package/lib/cjs/core-react/slider/Slider.scss +0 -96
- package/lib/cjs/core-react/splitbutton/SplitButton.d.ts +0 -62
- package/lib/cjs/core-react/splitbutton/SplitButton.d.ts.map +0 -1
- package/lib/cjs/core-react/splitbutton/SplitButton.js +0 -104
- package/lib/cjs/core-react/splitbutton/SplitButton.js.map +0 -1
- package/lib/cjs/core-react/splitbutton/SplitButton.scss +0 -137
- package/lib/cjs/core-react/tabs/HorizontalTabs.d.ts +0 -11
- package/lib/cjs/core-react/tabs/HorizontalTabs.d.ts.map +0 -1
- package/lib/cjs/core-react/tabs/HorizontalTabs.js +0 -22
- package/lib/cjs/core-react/tabs/HorizontalTabs.js.map +0 -1
- package/lib/cjs/core-react/tabs/horizontal.scss +0 -77
- package/lib/cjs/core-react/text/Headline.d.ts +0 -11
- package/lib/cjs/core-react/text/Headline.d.ts.map +0 -1
- package/lib/cjs/core-react/text/Headline.js +0 -21
- package/lib/cjs/core-react/text/Headline.js.map +0 -1
- package/lib/cjs/core-react/text/LeadingText.d.ts +0 -11
- package/lib/cjs/core-react/text/LeadingText.d.ts.map +0 -1
- package/lib/cjs/core-react/text/LeadingText.js +0 -21
- package/lib/cjs/core-react/text/LeadingText.js.map +0 -1
- package/lib/cjs/core-react/text/LeadingText2.d.ts +0 -11
- package/lib/cjs/core-react/text/LeadingText2.d.ts.map +0 -1
- package/lib/cjs/core-react/text/LeadingText2.js +0 -21
- package/lib/cjs/core-react/text/LeadingText2.js.map +0 -1
- package/lib/cjs/core-react/text/SmallText.d.ts +0 -11
- package/lib/cjs/core-react/text/SmallText.d.ts.map +0 -1
- package/lib/cjs/core-react/text/SmallText.js +0 -21
- package/lib/cjs/core-react/text/SmallText.js.map +0 -1
- package/lib/cjs/core-react/text/Subheading.d.ts +0 -11
- package/lib/cjs/core-react/text/Subheading.d.ts.map +0 -1
- package/lib/cjs/core-react/text/Subheading.js +0 -21
- package/lib/cjs/core-react/text/Subheading.js.map +0 -1
- package/lib/cjs/core-react/text/Subheading2.d.ts +0 -11
- package/lib/cjs/core-react/text/Subheading2.d.ts.map +0 -1
- package/lib/cjs/core-react/text/Subheading2.js +0 -21
- package/lib/cjs/core-react/text/Subheading2.js.map +0 -1
- package/lib/cjs/core-react/text/Title.d.ts +0 -11
- package/lib/cjs/core-react/text/Title.d.ts.map +0 -1
- package/lib/cjs/core-react/text/Title.js +0 -21
- package/lib/cjs/core-react/text/Title.js.map +0 -1
- package/lib/cjs/core-react/text/Title2.d.ts +0 -11
- package/lib/cjs/core-react/text/Title2.d.ts.map +0 -1
- package/lib/cjs/core-react/text/Title2.js +0 -21
- package/lib/cjs/core-react/text/Title2.js.map +0 -1
- package/lib/cjs/core-react/text/headline.scss +0 -10
- package/lib/cjs/core-react/text/leading-2.scss +0 -11
- package/lib/cjs/core-react/text/leading.scss +0 -10
- package/lib/cjs/core-react/text/small.scss +0 -10
- package/lib/cjs/core-react/text/subheading-2.scss +0 -11
- package/lib/cjs/core-react/text/subheading.scss +0 -11
- package/lib/cjs/core-react/text/title-2.scss +0 -11
- package/lib/cjs/core-react/text/title.scss +0 -10
- package/lib/cjs/core-react/tiles/FeaturedTile.d.ts +0 -11
- package/lib/cjs/core-react/tiles/FeaturedTile.d.ts.map +0 -1
- package/lib/cjs/core-react/tiles/FeaturedTile.js +0 -21
- package/lib/cjs/core-react/tiles/FeaturedTile.js.map +0 -1
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.d.ts +0 -11
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.d.ts.map +0 -1
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.js +0 -21
- package/lib/cjs/core-react/tiles/MinimalFeaturedTile.js.map +0 -1
- package/lib/cjs/core-react/tiles/MinimalTile.d.ts +0 -11
- package/lib/cjs/core-react/tiles/MinimalTile.d.ts.map +0 -1
- package/lib/cjs/core-react/tiles/MinimalTile.js +0 -21
- package/lib/cjs/core-react/tiles/MinimalTile.js.map +0 -1
- package/lib/cjs/core-react/tiles/Tile.d.ts +0 -32
- package/lib/cjs/core-react/tiles/Tile.d.ts.map +0 -1
- package/lib/cjs/core-react/tiles/Tile.js +0 -40
- package/lib/cjs/core-react/tiles/Tile.js.map +0 -1
- package/lib/cjs/core-react/tiles/classes.scss +0 -7
- package/lib/cjs/core-react/tiles/index.scss +0 -5
- package/lib/cjs/core-react/tiles/tile.scss +0 -134
- package/lib/cjs/core-react/toggle/LabeledToggle.d.ts +0 -26
- package/lib/cjs/core-react/toggle/LabeledToggle.d.ts.map +0 -1
- package/lib/cjs/core-react/toggle/LabeledToggle.js +0 -29
- package/lib/cjs/core-react/toggle/LabeledToggle.js.map +0 -1
- package/lib/cjs/core-react/toggle/LabeledToggle.scss +0 -21
- package/lib/cjs/core-react/toggle/Toggle.d.ts +0 -52
- package/lib/cjs/core-react/toggle/Toggle.d.ts.map +0 -1
- package/lib/cjs/core-react/toggle/Toggle.js +0 -105
- package/lib/cjs/core-react/toggle/Toggle.js.map +0 -1
- package/lib/cjs/core-react/toggle/Toggle.scss +0 -135
- package/lib/cjs/core-react/tooltip/Tooltip.d.ts +0 -34
- package/lib/cjs/core-react/tooltip/Tooltip.d.ts.map +0 -1
- package/lib/cjs/core-react/tooltip/Tooltip.js +0 -57
- package/lib/cjs/core-react/tooltip/Tooltip.js.map +0 -1
- package/lib/cjs/core-react/tooltip/Tooltip.scss +0 -18
- package/lib/cjs/core-react/utils/PointProps.d.ts +0 -12
- package/lib/cjs/core-react/utils/PointProps.d.ts.map +0 -1
- package/lib/cjs/core-react/utils/PointProps.js +0 -10
- package/lib/cjs/core-react/utils/PointProps.js.map +0 -1
- package/lib/cjs/core-react/utils/UiEvent.d.ts +0 -10
- package/lib/cjs/core-react/utils/UiEvent.d.ts.map +0 -1
- package/lib/cjs/core-react/utils/UiEvent.js +0 -18
- package/lib/cjs/core-react/utils/UiEvent.js.map +0 -1
- package/lib/esm/core-react/badge/BetaBadge.scss +0 -9
- package/lib/esm/core-react/button/Button.d.ts +0 -48
- package/lib/esm/core-react/button/Button.d.ts.map +0 -1
- package/lib/esm/core-react/button/Button.js +0 -81
- package/lib/esm/core-react/button/Button.js.map +0 -1
- package/lib/esm/core-react/checkbox/Checkbox.d.ts +0 -57
- package/lib/esm/core-react/checkbox/Checkbox.d.ts.map +0 -1
- package/lib/esm/core-react/checkbox/Checkbox.js +0 -61
- package/lib/esm/core-react/checkbox/Checkbox.js.map +0 -1
- package/lib/esm/core-react/dialog/DialogButtonDef.d.ts +0 -47
- package/lib/esm/core-react/dialog/DialogButtonDef.d.ts.map +0 -1
- package/lib/esm/core-react/dialog/DialogButtonDef.js +0 -35
- package/lib/esm/core-react/dialog/DialogButtonDef.js.map +0 -1
- package/lib/esm/core-react/expandable/ExpandableBlock.d.ts +0 -34
- package/lib/esm/core-react/expandable/ExpandableBlock.d.ts.map +0 -1
- package/lib/esm/core-react/expandable/ExpandableBlock.js +0 -32
- package/lib/esm/core-react/expandable/ExpandableBlock.js.map +0 -1
- package/lib/esm/core-react/expandable/ExpandableBlock.scss +0 -145
- package/lib/esm/core-react/form/Field.d.ts +0 -20
- package/lib/esm/core-react/form/Field.d.ts.map +0 -1
- package/lib/esm/core-react/form/Field.js +0 -41
- package/lib/esm/core-react/form/Field.js.map +0 -1
- package/lib/esm/core-react/form/Form.d.ts +0 -132
- package/lib/esm/core-react/form/Form.d.ts.map +0 -1
- package/lib/esm/core-react/form/Form.js +0 -128
- package/lib/esm/core-react/form/Form.js.map +0 -1
- package/lib/esm/core-react/form/Form.scss +0 -78
- package/lib/esm/core-react/icons/SvgSprite.d.ts +0 -21
- package/lib/esm/core-react/icons/SvgSprite.d.ts.map +0 -1
- package/lib/esm/core-react/icons/SvgSprite.js +0 -23
- package/lib/esm/core-react/icons/SvgSprite.js.map +0 -1
- package/lib/esm/core-react/inputs/LabeledInput.d.ts +0 -18
- package/lib/esm/core-react/inputs/LabeledInput.d.ts.map +0 -1
- package/lib/esm/core-react/inputs/LabeledInput.js +0 -30
- package/lib/esm/core-react/inputs/LabeledInput.js.map +0 -1
- package/lib/esm/core-react/inputs/LabeledTextarea.d.ts +0 -18
- package/lib/esm/core-react/inputs/LabeledTextarea.d.ts.map +0 -1
- package/lib/esm/core-react/inputs/LabeledTextarea.js +0 -28
- package/lib/esm/core-react/inputs/LabeledTextarea.js.map +0 -1
- package/lib/esm/core-react/inputs/Textarea.d.ts +0 -23
- package/lib/esm/core-react/inputs/Textarea.d.ts.map +0 -1
- package/lib/esm/core-react/inputs/Textarea.js +0 -33
- package/lib/esm/core-react/inputs/Textarea.js.map +0 -1
- package/lib/esm/core-react/inputs/labeled-input.scss +0 -103
- package/lib/esm/core-react/inputs/labeled-textarea.scss +0 -77
- package/lib/esm/core-react/inputs/textarea.scss +0 -55
- package/lib/esm/core-react/loading/Spinner.d.ts +0 -38
- package/lib/esm/core-react/loading/Spinner.d.ts.map +0 -1
- package/lib/esm/core-react/loading/Spinner.js +0 -57
- package/lib/esm/core-react/loading/Spinner.js.map +0 -1
- package/lib/esm/core-react/loading/Spinner.scss +0 -26
- package/lib/esm/core-react/messagebox/MessageSeverity.d.ts +0 -16
- package/lib/esm/core-react/messagebox/MessageSeverity.d.ts.map +0 -1
- package/lib/esm/core-react/messagebox/MessageSeverity.js +0 -21
- package/lib/esm/core-react/messagebox/MessageSeverity.js.map +0 -1
- package/lib/esm/core-react/progress-indicators/ProgressBar.d.ts +0 -29
- package/lib/esm/core-react/progress-indicators/ProgressBar.d.ts.map +0 -1
- package/lib/esm/core-react/progress-indicators/ProgressBar.js +0 -44
- package/lib/esm/core-react/progress-indicators/ProgressBar.js.map +0 -1
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.d.ts +0 -49
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.d.ts.map +0 -1
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.js +0 -70
- package/lib/esm/core-react/progress-indicators/ProgressSpinner.js.map +0 -1
- package/lib/esm/core-react/progress-indicators/classes.scss +0 -33
- package/lib/esm/core-react/progress-indicators/index.scss +0 -6
- package/lib/esm/core-react/progress-indicators/progress-bar.scss +0 -91
- package/lib/esm/core-react/progress-indicators/progress-spinner.scss +0 -132
- package/lib/esm/core-react/radio/Radio.d.ts +0 -20
- package/lib/esm/core-react/radio/Radio.d.ts.map +0 -1
- package/lib/esm/core-react/radio/Radio.js +0 -24
- package/lib/esm/core-react/radio/Radio.js.map +0 -1
- package/lib/esm/core-react/radio/classes.scss +0 -7
- package/lib/esm/core-react/radio/index.scss +0 -8
- package/lib/esm/core-react/radio/radio.scss +0 -89
- package/lib/esm/core-react/select/LabeledSelect.d.ts +0 -20
- package/lib/esm/core-react/select/LabeledSelect.d.ts.map +0 -1
- package/lib/esm/core-react/select/LabeledSelect.js +0 -30
- package/lib/esm/core-react/select/LabeledSelect.js.map +0 -1
- package/lib/esm/core-react/select/LabeledThemedSelect.d.ts +0 -16
- package/lib/esm/core-react/select/LabeledThemedSelect.d.ts.map +0 -1
- package/lib/esm/core-react/select/LabeledThemedSelect.js +0 -27
- package/lib/esm/core-react/select/LabeledThemedSelect.js.map +0 -1
- package/lib/esm/core-react/select/Select.d.ts +0 -53
- package/lib/esm/core-react/select/Select.d.ts.map +0 -1
- package/lib/esm/core-react/select/Select.js +0 -57
- package/lib/esm/core-react/select/Select.js.map +0 -1
- package/lib/esm/core-react/select/ThemedSelect.d.ts +0 -104
- package/lib/esm/core-react/select/ThemedSelect.d.ts.map +0 -1
- package/lib/esm/core-react/select/ThemedSelect.js +0 -53
- package/lib/esm/core-react/select/ThemedSelect.js.map +0 -1
- package/lib/esm/core-react/select/classes.scss +0 -9
- package/lib/esm/core-react/select/index.scss +0 -10
- package/lib/esm/core-react/select/labeled-select.scss +0 -72
- package/lib/esm/core-react/select/labeled-themed-select.scss +0 -77
- package/lib/esm/core-react/select/modalHelper.d.ts +0 -5
- package/lib/esm/core-react/select/modalHelper.d.ts.map +0 -1
- package/lib/esm/core-react/select/modalHelper.js +0 -17
- package/lib/esm/core-react/select/modalHelper.js.map +0 -1
- package/lib/esm/core-react/select/select.scss +0 -74
- package/lib/esm/core-react/select/themed-select.scss +0 -159
- package/lib/esm/core-react/slider/Slider.d.ts +0 -80
- package/lib/esm/core-react/slider/Slider.d.ts.map +0 -1
- package/lib/esm/core-react/slider/Slider.js +0 -87
- package/lib/esm/core-react/slider/Slider.js.map +0 -1
- package/lib/esm/core-react/slider/Slider.scss +0 -96
- package/lib/esm/core-react/splitbutton/SplitButton.d.ts +0 -62
- package/lib/esm/core-react/splitbutton/SplitButton.d.ts.map +0 -1
- package/lib/esm/core-react/splitbutton/SplitButton.js +0 -100
- package/lib/esm/core-react/splitbutton/SplitButton.js.map +0 -1
- package/lib/esm/core-react/splitbutton/SplitButton.scss +0 -137
- package/lib/esm/core-react/tabs/HorizontalTabs.d.ts +0 -11
- package/lib/esm/core-react/tabs/HorizontalTabs.d.ts.map +0 -1
- package/lib/esm/core-react/tabs/HorizontalTabs.js +0 -18
- package/lib/esm/core-react/tabs/HorizontalTabs.js.map +0 -1
- package/lib/esm/core-react/tabs/horizontal.scss +0 -77
- package/lib/esm/core-react/text/Headline.d.ts +0 -11
- package/lib/esm/core-react/text/Headline.d.ts.map +0 -1
- package/lib/esm/core-react/text/Headline.js +0 -17
- package/lib/esm/core-react/text/Headline.js.map +0 -1
- package/lib/esm/core-react/text/LeadingText.d.ts +0 -11
- package/lib/esm/core-react/text/LeadingText.d.ts.map +0 -1
- package/lib/esm/core-react/text/LeadingText.js +0 -17
- package/lib/esm/core-react/text/LeadingText.js.map +0 -1
- package/lib/esm/core-react/text/LeadingText2.d.ts +0 -11
- package/lib/esm/core-react/text/LeadingText2.d.ts.map +0 -1
- package/lib/esm/core-react/text/LeadingText2.js +0 -17
- package/lib/esm/core-react/text/LeadingText2.js.map +0 -1
- package/lib/esm/core-react/text/SmallText.d.ts +0 -11
- package/lib/esm/core-react/text/SmallText.d.ts.map +0 -1
- package/lib/esm/core-react/text/SmallText.js +0 -17
- package/lib/esm/core-react/text/SmallText.js.map +0 -1
- package/lib/esm/core-react/text/Subheading.d.ts +0 -11
- package/lib/esm/core-react/text/Subheading.d.ts.map +0 -1
- package/lib/esm/core-react/text/Subheading.js +0 -17
- package/lib/esm/core-react/text/Subheading.js.map +0 -1
- package/lib/esm/core-react/text/Subheading2.d.ts +0 -11
- package/lib/esm/core-react/text/Subheading2.d.ts.map +0 -1
- package/lib/esm/core-react/text/Subheading2.js +0 -17
- package/lib/esm/core-react/text/Subheading2.js.map +0 -1
- package/lib/esm/core-react/text/Title.d.ts +0 -11
- package/lib/esm/core-react/text/Title.d.ts.map +0 -1
- package/lib/esm/core-react/text/Title.js +0 -17
- package/lib/esm/core-react/text/Title.js.map +0 -1
- package/lib/esm/core-react/text/Title2.d.ts +0 -11
- package/lib/esm/core-react/text/Title2.d.ts.map +0 -1
- package/lib/esm/core-react/text/Title2.js +0 -17
- package/lib/esm/core-react/text/Title2.js.map +0 -1
- package/lib/esm/core-react/text/headline.scss +0 -10
- package/lib/esm/core-react/text/leading-2.scss +0 -11
- package/lib/esm/core-react/text/leading.scss +0 -10
- package/lib/esm/core-react/text/small.scss +0 -10
- package/lib/esm/core-react/text/subheading-2.scss +0 -11
- package/lib/esm/core-react/text/subheading.scss +0 -11
- package/lib/esm/core-react/text/title-2.scss +0 -11
- package/lib/esm/core-react/text/title.scss +0 -10
- package/lib/esm/core-react/tiles/FeaturedTile.d.ts +0 -11
- package/lib/esm/core-react/tiles/FeaturedTile.d.ts.map +0 -1
- package/lib/esm/core-react/tiles/FeaturedTile.js +0 -17
- package/lib/esm/core-react/tiles/FeaturedTile.js.map +0 -1
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.d.ts +0 -11
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.d.ts.map +0 -1
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.js +0 -17
- package/lib/esm/core-react/tiles/MinimalFeaturedTile.js.map +0 -1
- package/lib/esm/core-react/tiles/MinimalTile.d.ts +0 -11
- package/lib/esm/core-react/tiles/MinimalTile.d.ts.map +0 -1
- package/lib/esm/core-react/tiles/MinimalTile.js +0 -17
- package/lib/esm/core-react/tiles/MinimalTile.js.map +0 -1
- package/lib/esm/core-react/tiles/Tile.d.ts +0 -32
- package/lib/esm/core-react/tiles/Tile.d.ts.map +0 -1
- package/lib/esm/core-react/tiles/Tile.js +0 -36
- package/lib/esm/core-react/tiles/Tile.js.map +0 -1
- package/lib/esm/core-react/tiles/classes.scss +0 -7
- package/lib/esm/core-react/tiles/index.scss +0 -5
- package/lib/esm/core-react/tiles/tile.scss +0 -134
- package/lib/esm/core-react/toggle/LabeledToggle.d.ts +0 -26
- package/lib/esm/core-react/toggle/LabeledToggle.d.ts.map +0 -1
- package/lib/esm/core-react/toggle/LabeledToggle.js +0 -25
- package/lib/esm/core-react/toggle/LabeledToggle.js.map +0 -1
- package/lib/esm/core-react/toggle/LabeledToggle.scss +0 -21
- package/lib/esm/core-react/toggle/Toggle.d.ts +0 -52
- package/lib/esm/core-react/toggle/Toggle.d.ts.map +0 -1
- package/lib/esm/core-react/toggle/Toggle.js +0 -102
- package/lib/esm/core-react/toggle/Toggle.js.map +0 -1
- package/lib/esm/core-react/toggle/Toggle.scss +0 -135
- package/lib/esm/core-react/tooltip/Tooltip.d.ts +0 -34
- package/lib/esm/core-react/tooltip/Tooltip.d.ts.map +0 -1
- package/lib/esm/core-react/tooltip/Tooltip.js +0 -52
- package/lib/esm/core-react/tooltip/Tooltip.js.map +0 -1
- package/lib/esm/core-react/tooltip/Tooltip.scss +0 -18
- package/lib/esm/core-react/utils/PointProps.d.ts +0 -12
- package/lib/esm/core-react/utils/PointProps.d.ts.map +0 -1
- package/lib/esm/core-react/utils/PointProps.js +0 -9
- package/lib/esm/core-react/utils/PointProps.js.map +0 -1
- package/lib/esm/core-react/utils/UiEvent.d.ts +0 -10
- package/lib/esm/core-react/utils/UiEvent.d.ts.map +0 -1
- package/lib/esm/core-react/utils/UiEvent.js +0 -14
- package/lib/esm/core-react/utils/UiEvent.js.map +0 -1
|
@@ -4,191 +4,191 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
@import "../inputs/variables";
|
|
6
6
|
@import "../z-index";
|
|
7
|
-
@import "~@itwin/itwinui-css/scss/style/elevation";
|
|
8
7
|
|
|
9
8
|
.core-popup {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.core-popup.arrow::after,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
9
|
+
top: 0;
|
|
10
|
+
left: 0;
|
|
11
|
+
display: block;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
position: absolute;
|
|
14
|
+
border-radius: var(--iui-border-radius-1);
|
|
15
|
+
border: 1px solid $buic-background-panel-stroke;
|
|
16
|
+
background: $buic-background-panel;
|
|
17
|
+
color: $buic-text-color;
|
|
18
|
+
animation-duration: 0.2s;
|
|
19
|
+
animation-timing-function: ease;
|
|
20
|
+
animation-fill-mode: forwards;
|
|
21
|
+
cursor: default;
|
|
22
|
+
|
|
23
|
+
@include uicore-z-index(dialog-popup);
|
|
24
|
+
|
|
25
|
+
&.core-popup-animation-none {
|
|
26
|
+
animation-duration: 0s;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&.core-popup-hidden {
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.core-animation-ended {
|
|
34
|
+
animation-name: none;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.core-popup.arrow::after,
|
|
39
|
+
.core-popup.arrow::before {
|
|
40
|
+
border: solid transparent;
|
|
41
|
+
content: " ";
|
|
42
|
+
height: 0;
|
|
43
|
+
width: 0;
|
|
44
|
+
position: absolute;
|
|
45
|
+
pointer-events: none;
|
|
46
|
+
color: $buic-background-panel;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
.core-popup.core-popup-bottom-left.arrow::after,
|
|
50
50
|
.core-popup.core-popup-bottom-left.arrow::before {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
bottom: 100%;
|
|
52
|
+
left: 25%;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.core-popup.core-popup-bottom-right.arrow::after,
|
|
56
56
|
.core-popup.core-popup-bottom-right.arrow::before {
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
bottom: 100%;
|
|
58
|
+
left: 75%;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.core-popup.core-popup-bottom.arrow::after,
|
|
62
62
|
.core-popup.core-popup-bottom.arrow::before {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
bottom: 100%;
|
|
64
|
+
left: 50%;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
.core-popup.core-popup-top.arrow::after,
|
|
68
68
|
.core-popup.core-popup-top.arrow::before {
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
top: 100%;
|
|
70
|
+
left: 50%;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
.core-popup.core-popup-top-left.arrow::after,
|
|
74
74
|
.core-popup.core-popup-top-left.arrow::before {
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
top: 100%;
|
|
76
|
+
left: 25%;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
.core-popup.core-popup-top-right.arrow::after,
|
|
80
80
|
.core-popup.core-popup-top-right.arrow::before {
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
top: 100%;
|
|
82
|
+
left: 75%;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.core-popup.core-popup-left.arrow::after,
|
|
86
86
|
.core-popup.core-popup-left.arrow::before {
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
top: 50%;
|
|
88
|
+
left: 100%;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
.core-popup.core-popup-right.arrow::after,
|
|
92
92
|
.core-popup.core-popup-right.arrow::before {
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
top: 50%;
|
|
94
|
+
right: 100%;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.core-popup.core-popup-bottom.arrow::before,
|
|
98
98
|
.core-popup.core-popup-bottom-left.arrow::before,
|
|
99
99
|
.core-popup.core-popup-bottom-right.arrow::before {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
border-bottom-color: inherit;
|
|
101
|
+
border-width: 9px;
|
|
102
|
+
margin-left: -9px;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
.core-popup.core-popup-top.arrow::before,
|
|
106
106
|
.core-popup.core-popup-top-left.arrow::before,
|
|
107
107
|
.core-popup.core-popup-top-right.arrow::before {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
border-top-color: inherit;
|
|
109
|
+
border-width: 9px;
|
|
110
|
+
margin-left: -9px;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.core-popup.core-popup-left.arrow::before {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
border-left-color: inherit;
|
|
115
|
+
border-width: 9px;
|
|
116
|
+
margin-top: -9px;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
.core-popup.core-popup-right.arrow::before {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
border-right-color: inherit;
|
|
121
|
+
border-width: 9px;
|
|
122
|
+
margin-top: -9px;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
.core-popup.core-popup-bottom.arrow::after,
|
|
126
126
|
.core-popup.core-popup-bottom-left.arrow::after,
|
|
127
127
|
.core-popup.core-popup-bottom-right.arrow::after {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
border-bottom-color: currentColor;
|
|
129
|
+
border-width: 8px;
|
|
130
|
+
margin-left: -8px;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
.core-popup.core-popup-top.arrow::after,
|
|
134
134
|
.core-popup.core-popup-top-left.arrow::after,
|
|
135
135
|
.core-popup.core-popup-top-right.arrow::after {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
border-top-color: currentColor;
|
|
137
|
+
border-width: 8px;
|
|
138
|
+
margin-left: -8px;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
.core-popup.core-popup-left.arrow::after {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
border-left-color: currentColor;
|
|
143
|
+
border-width: 8px;
|
|
144
|
+
margin-top: -8px;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
.core-popup.core-popup-right.arrow::after {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
border-right-color: currentColor;
|
|
149
|
+
border-width: 8px;
|
|
150
|
+
margin-top: -8px;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
.core-popup-shadow {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
-webkit-box-shadow: var(--iui-shadow-4);
|
|
155
|
+
box-shadow: var(--iui-shadow-4);
|
|
156
|
+
background-clip: padding-box;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
.core-popup-top-left {
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
transform-origin: left bottom 0px;
|
|
161
|
+
animation-name: animate-corner;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
.core-popup-top-right {
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
transform-origin: right bottom 0px;
|
|
166
|
+
animation-name: animate-corner;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
.core-popup-bottom-left {
|
|
170
|
-
|
|
171
|
-
|
|
170
|
+
transform-origin: left top 0px;
|
|
171
|
+
animation-name: animate-corner;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
.core-popup-bottom-right {
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
transform-origin: right top 0px;
|
|
176
|
+
animation-name: animate-corner;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
.core-popup-left {
|
|
180
|
-
|
|
181
|
-
|
|
180
|
+
transform-origin: right;
|
|
181
|
+
animation-name: animate-horizontal;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
.core-popup-left-top {
|
|
185
185
|
transform-origin: right top 0px;
|
|
186
186
|
animation-name: animate-corner;
|
|
187
|
-
|
|
187
|
+
}
|
|
188
188
|
|
|
189
189
|
.core-popup-right {
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
transform-origin: left;
|
|
191
|
+
animation-name: animate-horizontal;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
.core-popup-right-top {
|
|
@@ -197,44 +197,44 @@
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
.core-popup-top {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
200
|
+
transform-origin: bottom;
|
|
201
|
+
animation-name: animate-vertical;
|
|
202
|
+
}
|
|
203
203
|
|
|
204
204
|
.core-popup-bottom {
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
transform-origin: top;
|
|
206
|
+
animation-name: animate-vertical;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
@keyframes animate-vertical {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
210
|
+
from {
|
|
211
|
+
visibility: hidden;
|
|
212
|
+
transform: scale(1, 0.5);
|
|
213
|
+
}
|
|
214
|
+
to {
|
|
215
|
+
visibility: visible;
|
|
216
|
+
transform: scale(1);
|
|
217
|
+
}
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
@keyframes animate-corner {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
221
|
+
from {
|
|
222
|
+
visibility: hidden;
|
|
223
|
+
transform: scale(0.5, 0.5);
|
|
224
|
+
}
|
|
225
|
+
to {
|
|
226
|
+
visibility: visible;
|
|
227
|
+
transform: scale(1, 1);
|
|
228
|
+
}
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
@keyframes animate-horizontal {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
232
|
+
from {
|
|
233
|
+
visibility: hidden;
|
|
234
|
+
transform: scale(0.5, 1);
|
|
235
|
+
}
|
|
236
|
+
to {
|
|
237
|
+
visibility: visible;
|
|
238
|
+
transform: scale(1, 1);
|
|
239
|
+
}
|
|
240
240
|
}
|
|
@@ -30,6 +30,8 @@ export interface RadialMenuProps extends CommonProps {
|
|
|
30
30
|
onBlur?: (event: any) => any;
|
|
31
31
|
/** triggered onKeyUp for <Esc> key */
|
|
32
32
|
onEsc?: (event: any) => any;
|
|
33
|
+
/** Content */
|
|
34
|
+
children?: React.ReactNode;
|
|
33
35
|
}
|
|
34
36
|
/** @internal */
|
|
35
37
|
interface RadialMenuState {
|
|
@@ -70,6 +72,8 @@ export interface RadialButtonProps extends CommonProps {
|
|
|
70
72
|
onSelect?: (e: any) => any;
|
|
71
73
|
/** Whether item is highlighted */
|
|
72
74
|
selected?: boolean;
|
|
75
|
+
/** Content */
|
|
76
|
+
children?: React.ReactNode;
|
|
73
77
|
}
|
|
74
78
|
/** @internal */
|
|
75
79
|
interface RadialButtonState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAQ,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAW,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"RadialMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAQ,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAW,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC5B,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,UAAU,eAAe;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC/E,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAc,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAGlD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAEvD;gBAEU,KAAK,EAAE,eAAe;IAIlB,MAAM,IAAI,GAAG,CAAC,OAAO;IAqDrB,iBAAiB;IASjB,oBAAoB;IAKpB,kBAAkB,CAAC,SAAS,EAAE,eAAe;IAM7D,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,YAAY,CAGlB;IAEF,oDAAoD;IAC7C,MAAM,aAIX;IAEF,OAAO,CAAC,uBAAuB,CAa7B;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gBAAgB;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAErF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAA2C;gBAE1F,KAAK,EAAE,iBAAiB;IAIpB,MAAM,IAAI,GAAG,CAAC,OAAO;IAwDrC,wCAAwC;IACjC,MAAM,aAIX;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,eAAe,CAErB;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialMenu.js","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.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 RadialMenu\r\n */\r\n\r\nimport \"./RadialMenu.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { Icon, IconSpec } from \"../icons/IconComponent\";\r\nimport { Point } from \"../utils/Point\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { AnnularSector, Annulus } from \"./Annulus\";\r\n\r\n/** Properties for [[RadialMenu]]\r\n * @public\r\n */\r\nexport interface RadialMenuProps extends CommonProps {\r\n /** Whether to show RadialMenu */\r\n opened: boolean;\r\n /** Radius of inner portion of RadialMenu */\r\n innerRadius: number;\r\n /** Radius of outer portion of RadialMenu */\r\n outerRadius: number;\r\n /** Optional parameter to specify left position in viewport. */\r\n left?: number | string;\r\n /** Optional parameter to specify top position in viewport. */\r\n top?: number | string;\r\n /** Whether to rotate labels according to location on the RadialMenu, or to keep labels upright.\r\n * Default: false\r\n */\r\n labelRotate?: boolean;\r\n /** Which child RadialButton to highlight */\r\n selected?: number;\r\n /** triggered in case of onClick events anywhere other than radial menu */\r\n onBlur?: (event: any) => any;\r\n /** triggered onKeyUp for <Esc> key */\r\n onEsc?: (event: any) => any;\r\n}\r\n\r\n/** @internal */\r\ninterface RadialMenuState {\r\n sectors: AnnularSector[];\r\n}\r\n\r\n/**\r\n * A context menu arranged in a radial layout.\r\n * @public\r\n */\r\nexport class RadialMenu extends React.Component<RadialMenuProps, RadialMenuState> {\r\n private _root: HTMLDivElement | null = null;\r\n private _selectedButton: RadialButton | null = null;\r\n public static defaultProps: Partial<RadialMenuProps> = {\r\n labelRotate: false,\r\n selected: -1,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<RadialMenuState> = {\r\n sectors: [],\r\n };\r\n\r\n constructor(props: RadialMenuProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const width = 2 * (this.props.outerRadius + 1);\r\n let x = this.props.left, y = this.props.top;\r\n\r\n if (this.props.left && this.props.top && typeof this.props.left === \"number\" && typeof this.props.top === \"number\") {\r\n x = this.props.left;\r\n y = this.props.top;\r\n\r\n if (x < 0)\r\n x = 0;\r\n if (x > window.innerWidth - width)\r\n x = window.innerWidth - width;\r\n if (y < 0)\r\n y = 0;\r\n if (y > window.innerHeight - width)\r\n y = window.innerHeight - width;\r\n }\r\n\r\n const divStyle: React.CSSProperties = { left: x, top: y, ...this.props.style };\r\n\r\n return (\r\n <div\r\n ref={(el) => { this._root = el; }}\r\n className={classnames(\"core-radial-menu\", { opened: this.props.opened }, this.props.className)}\r\n style={divStyle}\r\n data-testid=\"core-radial-menu\"\r\n >\r\n <svg\r\n xmlns=\"http://w3.org/2000/svg\" version=\"1.1\"\r\n width={width} height={width}\r\n className={\"core-radial-menu-container\"}>\r\n {React.Children.map(this.props.children, (child, index) => {\r\n // istanbul ignore next\r\n if (!child || typeof child !== \"object\" || !(\"props\" in child))\r\n return child;\r\n\r\n const childElement = (child as React.ReactElement<any>);\r\n return React.cloneElement(childElement, {\r\n key: index,\r\n ref: (el: any) => {\r\n if (this.props.selected === index)\r\n this._selectedButton = el;\r\n },\r\n selected: index === this.props.selected,\r\n labelRotate: childElement.props.labelRotate || this.props.labelRotate,\r\n annularSector: this.state.sectors[index],\r\n });\r\n })}\r\n </svg>\r\n </div>\r\n );\r\n }\r\n\r\n public override componentDidMount() {\r\n this._generateAnnularSectors();\r\n\r\n setTimeout(() => {\r\n window.addEventListener(\"keyup\", this._handleKeyUp);\r\n window.addEventListener(\"mouseup\", this._handleClick);\r\n });\r\n }\r\n\r\n public override componentWillUnmount() {\r\n window.removeEventListener(\"keyup\", this._handleKeyUp);\r\n window.removeEventListener(\"mouseup\", this._handleClick);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: RadialMenuProps) {\r\n if (prevProps.innerRadius !== this.props.innerRadius || prevProps.outerRadius !== this.props.outerRadius) {\r\n this._generateAnnularSectors();\r\n }\r\n }\r\n\r\n private _handleKeyUp = (event: KeyboardEvent) => {\r\n if (event.key === SpecialKey.Escape && this.props.onEsc)\r\n this.props.onEsc(event);\r\n };\r\n\r\n private _handleClick = (event: MouseEvent) => {\r\n if (event.target instanceof HTMLElement && this._root && !event.target.contains(this._root) && this.props.onBlur)\r\n this.props.onBlur(event);\r\n };\r\n\r\n /** Manually call onSelect of highlighted button. */\r\n public select = () => {\r\n // istanbul ignore else\r\n if (this._selectedButton)\r\n this._selectedButton.select();\r\n };\r\n\r\n private _generateAnnularSectors = () => {\r\n const n = React.Children.count(this.props.children);\r\n const angle = 2 * Math.PI / n;\r\n const outer = this.props.outerRadius;\r\n const inner = this.props.innerRadius;\r\n\r\n const offset = - Math.PI / 8;\r\n const annulus = new Annulus(new Point(outer + 1, outer + 1), inner + 1, outer - 1);\r\n const sectors: AnnularSector[] = [];\r\n for (let i = 0; i < n; i++) {\r\n sectors.push(new AnnularSector(annulus, angle * i + offset, angle * (i + 1) + offset));\r\n }\r\n this.setState({ sectors });\r\n };\r\n}\r\n\r\n/** Properties for [[RadialButton]] component\r\n * @public\r\n */\r\nexport interface RadialButtonProps extends CommonProps {\r\n /** Whether label is rotated to radial menu. Default: Inherit */\r\n labelRotate?: boolean;\r\n /** which icon to display in on the menu button */\r\n icon?: IconSpec;\r\n /** @internal */\r\n annularSector?: AnnularSector;\r\n /** listens to any onClick event, or any select event, which can be triggered by the select() method. */\r\n onSelect?: (e: any) => any;\r\n /** Whether item is highlighted */\r\n selected?: boolean;\r\n}\r\n\r\n/** @internal */\r\ninterface RadialButtonState {\r\n hover: boolean;\r\n}\r\n\r\n/**\r\n * Button for use within a [[RadialMenu]]\r\n * @public\r\n */\r\nexport class RadialButton extends React.Component<RadialButtonProps, RadialButtonState> {\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<RadialButtonState> = { hover: this.props.selected || false };\r\n\r\n constructor(props: RadialButtonProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const sector = this.props.annularSector;\r\n let p = new Point();\r\n let size = 0;\r\n let t = \"\";\r\n let path = \"\";\r\n\r\n if (sector) {\r\n size = sector.start.p1.getDistanceTo(sector.end.p2) * 2;\r\n path = sector.path;\r\n\r\n const parent = sector.parent;\r\n const { x: cx, y: cy } = parent.center;\r\n const r = (parent.inner.radius + parent.outer.radius) / 2;\r\n const angle = (sector.startAngle + sector.endAngle) / 2;\r\n p = new Point(cx + r * Math.cos(angle), cy + r * Math.sin(angle));\r\n\r\n if (this.props.labelRotate) {\r\n let a = angle * 180 / Math.PI + 90;\r\n while (a > 180)\r\n a -= 360;\r\n while (a < -180)\r\n /* istanbul ignore next */\r\n a += 360;\r\n if (a > 90)\r\n a -= 180;\r\n if (a < -90)\r\n a += 180;\r\n t = `rotate(${a} ${p.x}, ${p.y})`;\r\n }\r\n }\r\n\r\n return (\r\n <g\r\n onMouseOver={this._handleMouseOver}\r\n onMouseOut={this._handleMouseOut}\r\n onClick={this._handleClick}>\r\n <path\r\n className={classnames(\"core-radial-menu-sector\", { selected: this.state.hover }, this.props.className)}\r\n style={this.props.style}\r\n d={path}>\r\n </path>\r\n <foreignObject transform={t} x={p.x - size / 2} y={p.y - 16} width={size} height={size} className={\"core-radial-menu-button-svg\"}>\r\n <div {...{ xmlns: \"http://www.w3.org/1999/xhtml\" }} className={\"core-radial-menu-button-container\"}>\r\n <div className=\"core-radial-menu-button-icon\">\r\n <Icon iconSpec={this.props.icon} />\r\n </div>\r\n <div className={\"core-radial-menu-button-content\"}>\r\n {this.props.children}\r\n </div>\r\n </div>\r\n </foreignObject>\r\n </g>\r\n );\r\n }\r\n\r\n /** Manually call this.props.onSelect */\r\n public select = () => {\r\n // istanbul ignore else\r\n if (this.props.onSelect)\r\n this.props.onSelect(undefined);\r\n };\r\n\r\n private _handleClick = (event: React.MouseEvent<SVGElement>) => {\r\n // istanbul ignore else\r\n if (this.props.onSelect)\r\n this.props.onSelect(event);\r\n };\r\n\r\n private _handleMouseOver = (_event: React.MouseEvent<SVGElement>) => {\r\n this.setState({ hover: true });\r\n };\r\n\r\n private _handleMouseOut = (_event: React.MouseEvent<SVGElement>) => {\r\n this.setState({ hover: false });\r\n };\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RadialMenu.js","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.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 RadialMenu\r\n */\r\n\r\nimport \"./RadialMenu.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { Icon, IconSpec } from \"../icons/IconComponent\";\r\nimport { Point } from \"../utils/Point\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { AnnularSector, Annulus } from \"./Annulus\";\r\n\r\n/** Properties for [[RadialMenu]]\r\n * @public\r\n */\r\nexport interface RadialMenuProps extends CommonProps {\r\n /** Whether to show RadialMenu */\r\n opened: boolean;\r\n /** Radius of inner portion of RadialMenu */\r\n innerRadius: number;\r\n /** Radius of outer portion of RadialMenu */\r\n outerRadius: number;\r\n /** Optional parameter to specify left position in viewport. */\r\n left?: number | string;\r\n /** Optional parameter to specify top position in viewport. */\r\n top?: number | string;\r\n /** Whether to rotate labels according to location on the RadialMenu, or to keep labels upright.\r\n * Default: false\r\n */\r\n labelRotate?: boolean;\r\n /** Which child RadialButton to highlight */\r\n selected?: number;\r\n /** triggered in case of onClick events anywhere other than radial menu */\r\n onBlur?: (event: any) => any;\r\n /** triggered onKeyUp for <Esc> key */\r\n onEsc?: (event: any) => any;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** @internal */\r\ninterface RadialMenuState {\r\n sectors: AnnularSector[];\r\n}\r\n\r\n/**\r\n * A context menu arranged in a radial layout.\r\n * @public\r\n */\r\nexport class RadialMenu extends React.Component<RadialMenuProps, RadialMenuState> {\r\n private _root: HTMLDivElement | null = null;\r\n private _selectedButton: RadialButton | null = null;\r\n public static defaultProps: Partial<RadialMenuProps> = {\r\n labelRotate: false,\r\n selected: -1,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<RadialMenuState> = {\r\n sectors: [],\r\n };\r\n\r\n constructor(props: RadialMenuProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const width = 2 * (this.props.outerRadius + 1);\r\n let x = this.props.left, y = this.props.top;\r\n\r\n if (this.props.left && this.props.top && typeof this.props.left === \"number\" && typeof this.props.top === \"number\") {\r\n x = this.props.left;\r\n y = this.props.top;\r\n\r\n if (x < 0)\r\n x = 0;\r\n if (x > window.innerWidth - width)\r\n x = window.innerWidth - width;\r\n if (y < 0)\r\n y = 0;\r\n if (y > window.innerHeight - width)\r\n y = window.innerHeight - width;\r\n }\r\n\r\n const divStyle: React.CSSProperties = { left: x, top: y, ...this.props.style };\r\n\r\n return (\r\n <div\r\n ref={(el) => { this._root = el; }}\r\n className={classnames(\"core-radial-menu\", { opened: this.props.opened }, this.props.className)}\r\n style={divStyle}\r\n data-testid=\"core-radial-menu\"\r\n >\r\n <svg\r\n xmlns=\"http://w3.org/2000/svg\" version=\"1.1\"\r\n width={width} height={width}\r\n className={\"core-radial-menu-container\"}>\r\n {React.Children.map(this.props.children, (child, index) => {\r\n // istanbul ignore next\r\n if (!child || typeof child !== \"object\" || !(\"props\" in child))\r\n return child;\r\n\r\n const childElement = (child as React.ReactElement<any>);\r\n return React.cloneElement(childElement, {\r\n key: index,\r\n ref: (el: any) => {\r\n if (this.props.selected === index)\r\n this._selectedButton = el;\r\n },\r\n selected: index === this.props.selected,\r\n labelRotate: childElement.props.labelRotate || this.props.labelRotate,\r\n annularSector: this.state.sectors[index],\r\n });\r\n })}\r\n </svg>\r\n </div>\r\n );\r\n }\r\n\r\n public override componentDidMount() {\r\n this._generateAnnularSectors();\r\n\r\n setTimeout(() => {\r\n window.addEventListener(\"keyup\", this._handleKeyUp);\r\n window.addEventListener(\"mouseup\", this._handleClick);\r\n });\r\n }\r\n\r\n public override componentWillUnmount() {\r\n window.removeEventListener(\"keyup\", this._handleKeyUp);\r\n window.removeEventListener(\"mouseup\", this._handleClick);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: RadialMenuProps) {\r\n if (prevProps.innerRadius !== this.props.innerRadius || prevProps.outerRadius !== this.props.outerRadius) {\r\n this._generateAnnularSectors();\r\n }\r\n }\r\n\r\n private _handleKeyUp = (event: KeyboardEvent) => {\r\n if (event.key === SpecialKey.Escape && this.props.onEsc)\r\n this.props.onEsc(event);\r\n };\r\n\r\n private _handleClick = (event: MouseEvent) => {\r\n if (event.target instanceof HTMLElement && this._root && !event.target.contains(this._root) && this.props.onBlur)\r\n this.props.onBlur(event);\r\n };\r\n\r\n /** Manually call onSelect of highlighted button. */\r\n public select = () => {\r\n // istanbul ignore else\r\n if (this._selectedButton)\r\n this._selectedButton.select();\r\n };\r\n\r\n private _generateAnnularSectors = () => {\r\n const n = React.Children.count(this.props.children);\r\n const angle = 2 * Math.PI / n;\r\n const outer = this.props.outerRadius;\r\n const inner = this.props.innerRadius;\r\n\r\n const offset = - Math.PI / 8;\r\n const annulus = new Annulus(new Point(outer + 1, outer + 1), inner + 1, outer - 1);\r\n const sectors: AnnularSector[] = [];\r\n for (let i = 0; i < n; i++) {\r\n sectors.push(new AnnularSector(annulus, angle * i + offset, angle * (i + 1) + offset));\r\n }\r\n this.setState({ sectors });\r\n };\r\n}\r\n\r\n/** Properties for [[RadialButton]] component\r\n * @public\r\n */\r\nexport interface RadialButtonProps extends CommonProps {\r\n /** Whether label is rotated to radial menu. Default: Inherit */\r\n labelRotate?: boolean;\r\n /** which icon to display in on the menu button */\r\n icon?: IconSpec;\r\n /** @internal */\r\n annularSector?: AnnularSector;\r\n /** listens to any onClick event, or any select event, which can be triggered by the select() method. */\r\n onSelect?: (e: any) => any;\r\n /** Whether item is highlighted */\r\n selected?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** @internal */\r\ninterface RadialButtonState {\r\n hover: boolean;\r\n}\r\n\r\n/**\r\n * Button for use within a [[RadialMenu]]\r\n * @public\r\n */\r\nexport class RadialButton extends React.Component<RadialButtonProps, RadialButtonState> {\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<RadialButtonState> = { hover: this.props.selected || false };\r\n\r\n constructor(props: RadialButtonProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const sector = this.props.annularSector;\r\n let p = new Point();\r\n let size = 0;\r\n let t = \"\";\r\n let path = \"\";\r\n\r\n if (sector) {\r\n size = sector.start.p1.getDistanceTo(sector.end.p2) * 2;\r\n path = sector.path;\r\n\r\n const parent = sector.parent;\r\n const { x: cx, y: cy } = parent.center;\r\n const r = (parent.inner.radius + parent.outer.radius) / 2;\r\n const angle = (sector.startAngle + sector.endAngle) / 2;\r\n p = new Point(cx + r * Math.cos(angle), cy + r * Math.sin(angle));\r\n\r\n if (this.props.labelRotate) {\r\n let a = angle * 180 / Math.PI + 90;\r\n while (a > 180)\r\n a -= 360;\r\n while (a < -180)\r\n /* istanbul ignore next */\r\n a += 360;\r\n if (a > 90)\r\n a -= 180;\r\n if (a < -90)\r\n a += 180;\r\n t = `rotate(${a} ${p.x}, ${p.y})`;\r\n }\r\n }\r\n\r\n return (\r\n <g\r\n onMouseOver={this._handleMouseOver}\r\n onMouseOut={this._handleMouseOut}\r\n onClick={this._handleClick}>\r\n <path\r\n className={classnames(\"core-radial-menu-sector\", { selected: this.state.hover }, this.props.className)}\r\n style={this.props.style}\r\n d={path}>\r\n </path>\r\n <foreignObject transform={t} x={p.x - size / 2} y={p.y - 16} width={size} height={size} className={\"core-radial-menu-button-svg\"}>\r\n <div {...{ xmlns: \"http://www.w3.org/1999/xhtml\" }} className={\"core-radial-menu-button-container\"}>\r\n <div className=\"core-radial-menu-button-icon\">\r\n <Icon iconSpec={this.props.icon} />\r\n </div>\r\n <div className={\"core-radial-menu-button-content\"}>\r\n {this.props.children}\r\n </div>\r\n </div>\r\n </foreignObject>\r\n </g>\r\n );\r\n }\r\n\r\n /** Manually call this.props.onSelect */\r\n public select = () => {\r\n // istanbul ignore else\r\n if (this.props.onSelect)\r\n this.props.onSelect(undefined);\r\n };\r\n\r\n private _handleClick = (event: React.MouseEvent<SVGElement>) => {\r\n // istanbul ignore else\r\n if (this.props.onSelect)\r\n this.props.onSelect(event);\r\n };\r\n\r\n private _handleMouseOver = (_event: React.MouseEvent<SVGElement>) => {\r\n this.setState({ hover: true });\r\n };\r\n\r\n private _handleMouseOut = (_event: React.MouseEvent<SVGElement>) => {\r\n this.setState({ hover: false });\r\n };\r\n}\r\n"]}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
@import "../z-index";
|
|
6
6
|
@import "../style/themecolors";
|
|
7
7
|
@import "../icons/variables";
|
|
8
|
-
@import "~@itwin/itwinui-css/scss/style/typography";
|
|
9
8
|
|
|
10
9
|
.core-radial-menu {
|
|
11
10
|
visibility: hidden;
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
.core-radial-menu-button-content {
|
|
48
47
|
cursor: default;
|
|
49
48
|
color: $buic-text-color;
|
|
50
|
-
font-size:
|
|
49
|
+
font-size: var(--iui-font-size-0);
|
|
51
50
|
user-select: none;
|
|
52
51
|
}
|
|
53
52
|
}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
@import "../style/themecolors";
|
|
6
6
|
@import "../style/variables";
|
|
7
7
|
@import "~@itwin/itwinui-css/scss/inputs/input";
|
|
8
|
-
@import "~@itwin/itwinui-css/scss/style/space";
|
|
9
8
|
@import "~@itwin/itwinui-css/scss/style/typography";
|
|
10
9
|
|
|
11
10
|
.core-searchbox {
|
|
@@ -16,13 +15,13 @@
|
|
|
16
15
|
//default values (height, width, font-size, color)
|
|
17
16
|
height: $uicore-component-height-normal;
|
|
18
17
|
width: 12em;
|
|
19
|
-
font-size:
|
|
18
|
+
font-size: var(--iui-font-size-1);
|
|
20
19
|
color: $buic-text-color;
|
|
21
20
|
|
|
22
21
|
input {
|
|
23
22
|
@include iui-input;
|
|
24
23
|
min-height: $uicore-component-height-normal;
|
|
25
|
-
padding:
|
|
24
|
+
padding: var(--iui-size-3xs) 2em var(--iui-size-3xs) 12px; //12px from design guide
|
|
26
25
|
height: 100%;
|
|
27
26
|
margin: 0;
|
|
28
27
|
color: inherit;
|
|
@@ -48,6 +47,5 @@
|
|
|
48
47
|
&:focus {
|
|
49
48
|
outline: none;
|
|
50
49
|
}
|
|
51
|
-
|
|
52
50
|
}
|
|
53
51
|
}
|
|
@@ -17,7 +17,7 @@ const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
|
17
17
|
const saveChanges = React.useCallback((afterSaveFunction: (args: any) => void, args?: any) => {
|
|
18
18
|
if (dataIsDirty) {
|
|
19
19
|
// prompt user to save changes passing in function and arguments to call after saving changes.
|
|
20
|
-
|
|
20
|
+
UiFramework.dialogs.modal.openDialog(<CustomSavePromptModalDialog customProps={customProps}
|
|
21
21
|
onDialogCloseArgs={args} onDialogClose={afterSaveFunction} />);
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsContainer.js","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsContainer.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 Settings\r\n */\r\n\r\nimport \"./SettingsContainer.scss\";\r\nimport * as React from \"react\";\r\nimport { ActivateSettingsTabEventArgs, ProcessSettingsContainerCloseEventArgs, ProcessSettingsTabActivationEventArgs, SettingsManager, SettingsTabEntry } from \"./SettingsManager\";\r\nimport { VerticalTabs } from \"../tabs/VerticalTabs\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\n\r\n/* ---------------------------------------------------------------------------------------------------\r\n// A typical implementation of a saveFunction callback\r\nconst saveChanges = React.useCallback((afterSaveFunction: (args: any) => void, args?: any) => {\r\n if (dataIsDirty) {\r\n // prompt user to save changes passing in function and arguments to call after saving changes.\r\n ModalDialogManager.openDialog(<CustomSavePromptModalDialog customProps={customProps}\r\n onDialogCloseArgs={args} onDialogClose={afterSaveFunction} />);\r\n return;\r\n }\r\n afterSaveFunction(args);\r\n}, []);\r\n---------------------------------------------------------------------------------------------------------- */\r\n\r\n/** Hook to use within Settings Page component to allow saving the current page's data before the Setting Container is closed.\r\n * @public\r\n */\r\nexport function useSaveBeforeClosingSettingsContainer(settingsManager: SettingsManager, saveFunction: (closeFunc: (args: any) => void, closeFuncArgs?: any) => void) {\r\n React.useEffect (()=>{\r\n const handleProcessSettingsContainerClose = ({closeFunc, closeFuncArgs}: ProcessSettingsContainerCloseEventArgs) => {\r\n saveFunction (closeFunc, closeFuncArgs);\r\n };\r\n return settingsManager.onProcessSettingsContainerClose.addListener(handleProcessSettingsContainerClose);\r\n }, [saveFunction, settingsManager]);\r\n}\r\n\r\n/** Hook to use within Settings Page component to allow saving the current page's data before loading to the requested Setting Tab's page.\r\n * @public\r\n */\r\nexport function useSaveBeforeActivatingNewSettingsTab(settingsManager: SettingsManager, saveFunction: (tabSelectionFunc: (args: any) => void, requestedSettingsTabId?: string) => void) {\r\n React.useEffect (()=>{\r\n const handleProcessSettingsTabActivation = ({tabSelectionFunc, requestedSettingsTabId}: ProcessSettingsTabActivationEventArgs) => {\r\n saveFunction (tabSelectionFunc, requestedSettingsTabId);\r\n };\r\n return settingsManager.onProcessSettingsTabActivation.addListener(handleProcessSettingsTabActivation);\r\n }, [saveFunction, settingsManager]);\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SettingsContainerProps {\r\n tabs: SettingsTabEntry[];\r\n // sets tab to set as active tab\r\n currentSettingsTab?: SettingsTabEntry;\r\n // If plugging into a SPA and you need to modify the route, you can pass in additional logic here\r\n onSettingsTabSelected?: (tab: SettingsTabEntry) => void;\r\n // The SettingsManager that can have event handlers registered against it so pages can save its settings before the page is closed.\r\n settingsManager: SettingsManager;\r\n // if true show tab label as header above page contents.\r\n showHeader?: boolean;\r\n}\r\n\r\n/**\r\n * SettingsContainer component that displays Setting Tabs on Left and the P\r\n * Note: that SettingsContainer is not rendered if tabs array is empty\r\n * @public\r\n */\r\nexport const SettingsContainer = ({tabs, onSettingsTabSelected, currentSettingsTab, settingsManager, showHeader}: SettingsContainerProps) => {\r\n // sort the tabs based on itemPriority\r\n tabs = tabs.sort((a, b)=> a.itemPriority - b.itemPriority);\r\n\r\n const [openTab, setOpenTab] = React.useState(()=>{\r\n if (currentSettingsTab && !ConditionalBooleanValue.getValue(currentSettingsTab.isDisabled))\r\n return currentSettingsTab;\r\n else\r\n return tabs[0];\r\n });\r\n\r\n const processTabSelection = React.useCallback((tab: SettingsTabEntry) => {\r\n if (ConditionalBooleanValue.getValue(tab.isDisabled))\r\n return;\r\n onSettingsTabSelected && onSettingsTabSelected(tab);\r\n setOpenTab(tab);\r\n }, [onSettingsTabSelected]);\r\n\r\n const processTabSelectionById = React.useCallback((tabId: string) => {\r\n const tabToActivate = tabs.find((tab)=>tab.tabId === tabId);\r\n tabToActivate && processTabSelection (tabToActivate);\r\n }, [processTabSelection, tabs]);\r\n\r\n const onActivateTab = React.useCallback((tabIndex: number) => {\r\n const selectedTab = tabs[tabIndex];\r\n if (openTab && openTab.pageWillHandleCloseRequest)\r\n settingsManager.onProcessSettingsTabActivation.emit({ requestedSettingsTabId:selectedTab.tabId, tabSelectionFunc: processTabSelectionById});\r\n else\r\n processTabSelection(selectedTab);\r\n }, [openTab, processTabSelection, processTabSelectionById, settingsManager, tabs]);\r\n\r\n React.useEffect (()=>{\r\n const handleActivateSettingsTab = ({settingsTabId}: ActivateSettingsTabEventArgs) => {\r\n const idToFind = settingsTabId.toLowerCase();\r\n let tabToActivate = tabs.find((tab)=>tab.tabId.toLowerCase() === idToFind);\r\n if (!tabToActivate)\r\n tabToActivate = tabs.find((tab)=>tab.label.toLowerCase() === idToFind);\r\n // istanbul ignore else\r\n if (tabToActivate) {\r\n if (openTab && openTab.pageWillHandleCloseRequest)\r\n settingsManager.onProcessSettingsTabActivation.emit({ requestedSettingsTabId:tabToActivate.tabId, tabSelectionFunc: processTabSelectionById});\r\n else\r\n processTabSelection(tabToActivate);\r\n }\r\n };\r\n\r\n return settingsManager.onActivateSettingsTab.addListener(handleActivateSettingsTab);\r\n }, [openTab, processTabSelection, processTabSelectionById, settingsManager, settingsManager.onActivateSettingsTab, tabs]);\r\n\r\n React.useEffect (()=>{\r\n const handleSettingsContainerClose = ({closeFunc, closeFuncArgs}: ProcessSettingsContainerCloseEventArgs) => {\r\n if (openTab && openTab.pageWillHandleCloseRequest)\r\n settingsManager.onProcessSettingsContainerClose.emit({ closeFunc, closeFuncArgs });\r\n else\r\n closeFunc(closeFuncArgs);\r\n };\r\n return settingsManager.onCloseSettingsContainer.addListener(handleSettingsContainerClose);\r\n }, [openTab, processTabSelection, settingsManager, settingsManager.onActivateSettingsTab, tabs]);\r\n\r\n const labels=tabs.map((tab)=> {\r\n return {label:tab.label, subLabel: tab.subLabel, icon: tab.icon,\r\n tooltip: tab.tooltip, tabId: tab.tabId, disabled: ConditionalBooleanValue.getValue(tab.isDisabled)};\r\n });\r\n const activeIndex = tabs.findIndex((tab)=>tab.tabId === openTab.tabId);\r\n return (\r\n <div className=\"core-settings-container\">\r\n <div className=\"core-settings-container-left\">\r\n <VerticalTabs labels={labels} activeIndex={activeIndex} onActivateTab={onActivateTab} />\r\n </div>\r\n <div className=\"core-settings-container-right\">\r\n {showHeader && <div className=\"core-settings-container-right-header\">\r\n <span className=\"core-settings-container-main-header\">{openTab.label}</span>\r\n {openTab.subLabel && <span className=\"core-settings-container-main-sub-header\">{openTab.subLabel}</span>}\r\n </div>}\r\n <div className=\"core-settings-container-right-contents\">\r\n {openTab.page}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"SettingsContainer.js","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsContainer.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 Settings\r\n */\r\n\r\nimport \"./SettingsContainer.scss\";\r\nimport * as React from \"react\";\r\nimport { ActivateSettingsTabEventArgs, ProcessSettingsContainerCloseEventArgs, ProcessSettingsTabActivationEventArgs, SettingsManager, SettingsTabEntry } from \"./SettingsManager\";\r\nimport { VerticalTabs } from \"../tabs/VerticalTabs\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\n\r\n/* ---------------------------------------------------------------------------------------------------\r\n// A typical implementation of a saveFunction callback\r\nconst saveChanges = React.useCallback((afterSaveFunction: (args: any) => void, args?: any) => {\r\n if (dataIsDirty) {\r\n // prompt user to save changes passing in function and arguments to call after saving changes.\r\n UiFramework.dialogs.modal.openDialog(<CustomSavePromptModalDialog customProps={customProps}\r\n onDialogCloseArgs={args} onDialogClose={afterSaveFunction} />);\r\n return;\r\n }\r\n afterSaveFunction(args);\r\n}, []);\r\n---------------------------------------------------------------------------------------------------------- */\r\n\r\n/** Hook to use within Settings Page component to allow saving the current page's data before the Setting Container is closed.\r\n * @public\r\n */\r\nexport function useSaveBeforeClosingSettingsContainer(settingsManager: SettingsManager, saveFunction: (closeFunc: (args: any) => void, closeFuncArgs?: any) => void) {\r\n React.useEffect (()=>{\r\n const handleProcessSettingsContainerClose = ({closeFunc, closeFuncArgs}: ProcessSettingsContainerCloseEventArgs) => {\r\n saveFunction (closeFunc, closeFuncArgs);\r\n };\r\n return settingsManager.onProcessSettingsContainerClose.addListener(handleProcessSettingsContainerClose);\r\n }, [saveFunction, settingsManager]);\r\n}\r\n\r\n/** Hook to use within Settings Page component to allow saving the current page's data before loading to the requested Setting Tab's page.\r\n * @public\r\n */\r\nexport function useSaveBeforeActivatingNewSettingsTab(settingsManager: SettingsManager, saveFunction: (tabSelectionFunc: (args: any) => void, requestedSettingsTabId?: string) => void) {\r\n React.useEffect (()=>{\r\n const handleProcessSettingsTabActivation = ({tabSelectionFunc, requestedSettingsTabId}: ProcessSettingsTabActivationEventArgs) => {\r\n saveFunction (tabSelectionFunc, requestedSettingsTabId);\r\n };\r\n return settingsManager.onProcessSettingsTabActivation.addListener(handleProcessSettingsTabActivation);\r\n }, [saveFunction, settingsManager]);\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SettingsContainerProps {\r\n tabs: SettingsTabEntry[];\r\n // sets tab to set as active tab\r\n currentSettingsTab?: SettingsTabEntry;\r\n // If plugging into a SPA and you need to modify the route, you can pass in additional logic here\r\n onSettingsTabSelected?: (tab: SettingsTabEntry) => void;\r\n // The SettingsManager that can have event handlers registered against it so pages can save its settings before the page is closed.\r\n settingsManager: SettingsManager;\r\n // if true show tab label as header above page contents.\r\n showHeader?: boolean;\r\n}\r\n\r\n/**\r\n * SettingsContainer component that displays Setting Tabs on Left and the P\r\n * Note: that SettingsContainer is not rendered if tabs array is empty\r\n * @public\r\n */\r\nexport const SettingsContainer = ({tabs, onSettingsTabSelected, currentSettingsTab, settingsManager, showHeader}: SettingsContainerProps) => {\r\n // sort the tabs based on itemPriority\r\n tabs = tabs.sort((a, b)=> a.itemPriority - b.itemPriority);\r\n\r\n const [openTab, setOpenTab] = React.useState(()=>{\r\n if (currentSettingsTab && !ConditionalBooleanValue.getValue(currentSettingsTab.isDisabled))\r\n return currentSettingsTab;\r\n else\r\n return tabs[0];\r\n });\r\n\r\n const processTabSelection = React.useCallback((tab: SettingsTabEntry) => {\r\n if (ConditionalBooleanValue.getValue(tab.isDisabled))\r\n return;\r\n onSettingsTabSelected && onSettingsTabSelected(tab);\r\n setOpenTab(tab);\r\n }, [onSettingsTabSelected]);\r\n\r\n const processTabSelectionById = React.useCallback((tabId: string) => {\r\n const tabToActivate = tabs.find((tab)=>tab.tabId === tabId);\r\n tabToActivate && processTabSelection (tabToActivate);\r\n }, [processTabSelection, tabs]);\r\n\r\n const onActivateTab = React.useCallback((tabIndex: number) => {\r\n const selectedTab = tabs[tabIndex];\r\n if (openTab && openTab.pageWillHandleCloseRequest)\r\n settingsManager.onProcessSettingsTabActivation.emit({ requestedSettingsTabId:selectedTab.tabId, tabSelectionFunc: processTabSelectionById});\r\n else\r\n processTabSelection(selectedTab);\r\n }, [openTab, processTabSelection, processTabSelectionById, settingsManager, tabs]);\r\n\r\n React.useEffect (()=>{\r\n const handleActivateSettingsTab = ({settingsTabId}: ActivateSettingsTabEventArgs) => {\r\n const idToFind = settingsTabId.toLowerCase();\r\n let tabToActivate = tabs.find((tab)=>tab.tabId.toLowerCase() === idToFind);\r\n if (!tabToActivate)\r\n tabToActivate = tabs.find((tab)=>tab.label.toLowerCase() === idToFind);\r\n // istanbul ignore else\r\n if (tabToActivate) {\r\n if (openTab && openTab.pageWillHandleCloseRequest)\r\n settingsManager.onProcessSettingsTabActivation.emit({ requestedSettingsTabId:tabToActivate.tabId, tabSelectionFunc: processTabSelectionById});\r\n else\r\n processTabSelection(tabToActivate);\r\n }\r\n };\r\n\r\n return settingsManager.onActivateSettingsTab.addListener(handleActivateSettingsTab);\r\n }, [openTab, processTabSelection, processTabSelectionById, settingsManager, settingsManager.onActivateSettingsTab, tabs]);\r\n\r\n React.useEffect (()=>{\r\n const handleSettingsContainerClose = ({closeFunc, closeFuncArgs}: ProcessSettingsContainerCloseEventArgs) => {\r\n if (openTab && openTab.pageWillHandleCloseRequest)\r\n settingsManager.onProcessSettingsContainerClose.emit({ closeFunc, closeFuncArgs });\r\n else\r\n closeFunc(closeFuncArgs);\r\n };\r\n return settingsManager.onCloseSettingsContainer.addListener(handleSettingsContainerClose);\r\n }, [openTab, processTabSelection, settingsManager, settingsManager.onActivateSettingsTab, tabs]);\r\n\r\n const labels=tabs.map((tab)=> {\r\n return {label:tab.label, subLabel: tab.subLabel, icon: tab.icon,\r\n tooltip: tab.tooltip, tabId: tab.tabId, disabled: ConditionalBooleanValue.getValue(tab.isDisabled)};\r\n });\r\n const activeIndex = tabs.findIndex((tab)=>tab.tabId === openTab.tabId);\r\n return (\r\n <div className=\"core-settings-container\">\r\n <div className=\"core-settings-container-left\">\r\n <VerticalTabs labels={labels} activeIndex={activeIndex} onActivateTab={onActivateTab} />\r\n </div>\r\n <div className=\"core-settings-container-right\">\r\n {showHeader && <div className=\"core-settings-container-right-header\">\r\n <span className=\"core-settings-container-main-header\">{openTab.label}</span>\r\n {openTab.subLabel && <span className=\"core-settings-container-main-sub-header\">{openTab.subLabel}</span>}\r\n </div>}\r\n <div className=\"core-settings-container-right-contents\">\r\n {openTab.page}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"]}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
@import "../style/themecolors";
|
|
7
|
-
@import "~@itwin/itwinui-css/scss/style/typography";
|
|
8
7
|
|
|
9
8
|
div.core-settings-container {
|
|
10
9
|
display: flex;
|
|
@@ -12,7 +11,9 @@ div.core-settings-container {
|
|
|
12
11
|
height: 100%;
|
|
13
12
|
width: 100%;
|
|
14
13
|
|
|
15
|
-
*,
|
|
14
|
+
*,
|
|
15
|
+
*:before,
|
|
16
|
+
*:after {
|
|
16
17
|
box-sizing: inherit;
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -20,7 +21,7 @@ div.core-settings-container {
|
|
|
20
21
|
min-width: 15em;
|
|
21
22
|
height: 100%;
|
|
22
23
|
overflow: auto;
|
|
23
|
-
|
|
24
|
+
> .uicore-tabs-vertical {
|
|
24
25
|
font-size: 16px;
|
|
25
26
|
}
|
|
26
27
|
}
|
|
@@ -36,9 +37,9 @@ div.core-settings-container {
|
|
|
36
37
|
.core-settings-container-right-header {
|
|
37
38
|
display: flex;
|
|
38
39
|
width: 100%;
|
|
39
|
-
height: (
|
|
40
|
-
font-size:
|
|
41
|
-
font-weight:
|
|
40
|
+
height: calc(var(--iui-font-size-4) * 2);
|
|
41
|
+
font-size: var(--iui-font-size-4);
|
|
42
|
+
font-weight: var(--iui-font-weight-semibold);
|
|
42
43
|
padding-left: 15px;
|
|
43
44
|
align-items: center;
|
|
44
45
|
|
|
@@ -62,4 +63,4 @@ div.core-settings-container {
|
|
|
62
63
|
overflow: auto;
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
}
|
|
66
|
+
}
|