@itwin/imodel-components-react 4.0.0-dev.2 → 4.0.0-dev.21
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 +139 -2
- package/LICENSE.md +1 -1
- package/README.md +2 -2
- package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/UiIModelComponents.js +3 -7
- package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts +2 -2
- package/lib/cjs/imodel-components-react/color/AlphaSlider.js +6 -2
- package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/AlphaSlider.scss +63 -63
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.js +9 -4
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +90 -90
- package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js +5 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js +10 -4
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +62 -63
- package/lib/cjs/imodel-components-react/color/HueSlider.js +5 -1
- package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/HueSlider.scss +61 -61
- package/lib/cjs/imodel-components-react/color/SaturationPicker.js +5 -1
- package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/SaturationPicker.scss +35 -35
- package/lib/cjs/imodel-components-react/color/Swatch.js +5 -1
- package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/Swatch.scss +22 -23
- package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
- package/lib/cjs/imodel-components-react/editors/ColorEditor.js +5 -1
- package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -1
- package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +18 -18
- package/lib/cjs/imodel-components-react/editors/WeightEditor.js +5 -1
- package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -1
- package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +16 -16
- package/lib/cjs/imodel-components-react/inputs/QuantityInput.js +5 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js +11 -4
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +106 -107
- package/lib/cjs/imodel-components-react/lineweight/Swatch.js +5 -1
- package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -1
- package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +48 -48
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js +6 -2
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +51 -52
- package/lib/cjs/imodel-components-react/navigationaids/Cube.js +5 -1
- package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/Cube.scss +19 -19
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +4 -24
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +46 -54
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +178 -182
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js +16 -6
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +135 -134
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js +6 -2
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +59 -63
- package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js +7 -4
- package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js +10 -5
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatType.js +6 -3
- package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js +6 -3
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js +10 -10
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js +8 -5
- package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +6 -3
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js +5 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js +22 -23
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.js +5 -1
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +26 -26
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.js +12 -4
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +28 -31
- package/lib/cjs/imodel-components-react/timeline/Scrubber.js +5 -1
- package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +105 -112
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js +13 -5
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +359 -356
- package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js +5 -1
- package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
- package/lib/cjs/imodel-components-react/timeline/Timeline.scss +164 -164
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts +3 -6
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js +59 -19
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +178 -164
- package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +3 -32
- package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js +12 -10
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
- package/lib/cjs/imodel-components-react.d.ts +0 -1
- package/lib/cjs/imodel-components-react.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react.js +5 -2
- package/lib/cjs/imodel-components-react.js.map +1 -1
- package/lib/esm/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/UiIModelComponents.js +4 -7
- package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
- package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +2 -2
- package/lib/esm/imodel-components-react/color/AlphaSlider.js +1 -1
- package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -1
- package/lib/esm/imodel-components-react/color/AlphaSlider.scss +63 -63
- package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerButton.js +5 -4
- package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +90 -90
- package/lib/esm/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +6 -4
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +62 -63
- package/lib/esm/imodel-components-react/color/HueSlider.js.map +1 -1
- package/lib/esm/imodel-components-react/color/HueSlider.scss +61 -61
- package/lib/esm/imodel-components-react/color/SaturationPicker.js.map +1 -1
- package/lib/esm/imodel-components-react/color/SaturationPicker.scss +35 -35
- package/lib/esm/imodel-components-react/color/Swatch.js.map +1 -1
- package/lib/esm/imodel-components-react/color/Swatch.scss +22 -23
- package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
- package/lib/esm/imodel-components-react/editors/ColorEditor.js.map +1 -1
- package/lib/esm/imodel-components-react/editors/ColorEditor.scss +18 -18
- package/lib/esm/imodel-components-react/editors/WeightEditor.js.map +1 -1
- package/lib/esm/imodel-components-react/editors/WeightEditor.scss +16 -16
- package/lib/esm/imodel-components-react/inputs/QuantityInput.js.map +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +7 -4
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +106 -107
- package/lib/esm/imodel-components-react/lineweight/Swatch.js.map +1 -1
- package/lib/esm/imodel-components-react/lineweight/Swatch.scss +48 -48
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +2 -1
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +51 -52
- package/lib/esm/imodel-components-react/navigationaids/Cube.js.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -19
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +4 -24
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +42 -52
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +178 -182
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +12 -5
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +135 -134
- package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +59 -63
- package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +2 -3
- package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +6 -5
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatType.js +1 -2
- package/lib/esm/imodel-components-react/quantityformat/FormatType.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +1 -2
- package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +5 -9
- package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +3 -4
- package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +1 -2
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +22 -23
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/InlineEdit.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +26 -26
- package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/PlayerButton.js +7 -3
- package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +28 -31
- package/lib/esm/imodel-components-react/timeline/Scrubber.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/Scrubber.scss +105 -112
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +10 -6
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +359 -356
- package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
- package/lib/esm/imodel-components-react/timeline/Timeline.scss +164 -164
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +3 -6
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +47 -11
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +178 -164
- package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +3 -32
- package/lib/esm/imodel-components-react/timeline/interfaces.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +1 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +7 -9
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +2 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
- package/lib/esm/imodel-components-react.d.ts +0 -1
- package/lib/esm/imodel-components-react.d.ts.map +1 -1
- package/lib/esm/imodel-components-react.js +0 -1
- package/lib/esm/imodel-components-react.js.map +1 -1
- package/lib/public/locales/en/UiIModelComponents.json +139 -139
- package/package.json +38 -39
- package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts +0 -22
- package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts.map +0 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js +0 -146
- package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js.map +0 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPanel.scss +0 -94
- package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +0 -22
- package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts.map +0 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +0 -123
- package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +0 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPanel.scss +0 -94
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/imodel-components-react",
|
|
3
|
-
"version": "4.0.0-dev.
|
|
3
|
+
"version": "4.0.0-dev.21",
|
|
4
4
|
"description": "iTwin.js UI IModel Components",
|
|
5
5
|
"main": "lib/cjs/imodel-components-react.js",
|
|
6
6
|
"module": "lib/esm/imodel-components-react.js",
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "https://github.com/iTwin/appui
|
|
11
|
+
"url": "https://github.com/iTwin/appui.git",
|
|
12
|
+
"directory": "ui/imodel-components-react"
|
|
12
13
|
},
|
|
13
14
|
"keywords": [
|
|
15
|
+
"AppUI",
|
|
14
16
|
"Bentley",
|
|
15
17
|
"BIM",
|
|
16
18
|
"iModel"
|
|
@@ -20,41 +22,40 @@
|
|
|
20
22
|
"url": "http://www.bentley.com"
|
|
21
23
|
},
|
|
22
24
|
"peerDependencies": {
|
|
23
|
-
"@itwin/appui-abstract": "
|
|
24
|
-
"@itwin/components-react": "^4.0.0-dev.
|
|
25
|
-
"@itwin/core-bentley": "
|
|
26
|
-
"@itwin/core-common": "
|
|
27
|
-
"@itwin/core-frontend": "
|
|
28
|
-
"@itwin/core-geometry": "
|
|
29
|
-
"@itwin/core-quantity": "
|
|
30
|
-
"@itwin/core-react": "^4.0.0-dev.
|
|
31
|
-
"react": "^17.0.0",
|
|
32
|
-
"react-dom": "^17.0.0"
|
|
25
|
+
"@itwin/appui-abstract": ">=3.7.0",
|
|
26
|
+
"@itwin/components-react": "^4.0.0-dev.21",
|
|
27
|
+
"@itwin/core-bentley": ">=3.7.0",
|
|
28
|
+
"@itwin/core-common": ">=3.7.0",
|
|
29
|
+
"@itwin/core-frontend": ">=3.7.0",
|
|
30
|
+
"@itwin/core-geometry": ">=3.7.0",
|
|
31
|
+
"@itwin/core-quantity": ">=3.7.0",
|
|
32
|
+
"@itwin/core-react": "^4.0.0-dev.21",
|
|
33
|
+
"react": "^17.0.0 || ^18.0.0",
|
|
34
|
+
"react-dom": "^17.0.0 || ^18.0.0"
|
|
33
35
|
},
|
|
34
36
|
"//devDependencies": [
|
|
35
37
|
"NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
|
|
36
38
|
"NOTE: All tools used by scripts in this package must be listed as devDependencies"
|
|
37
39
|
],
|
|
38
40
|
"devDependencies": {
|
|
39
|
-
"@itwin/appui-abstract": "
|
|
40
|
-
"@itwin/build-tools": "^3.
|
|
41
|
-
"@itwin/components-react": "4.0.0-dev.
|
|
42
|
-
"@itwin/core-bentley": "^3.
|
|
43
|
-
"@itwin/core-common": "^3.
|
|
44
|
-
"@itwin/core-frontend": "^3.
|
|
45
|
-
"@itwin/core-geometry": "^3.
|
|
46
|
-
"@itwin/core-orbitgt": "^3.
|
|
47
|
-
"@itwin/core-quantity": "^3.
|
|
48
|
-
"@itwin/core-react": "4.0.0-dev.
|
|
49
|
-
"@itwin/eslint-plugin": "^3.
|
|
50
|
-
"@itwin/webgl-compatibility": "^3.
|
|
41
|
+
"@itwin/appui-abstract": "^3.7.0",
|
|
42
|
+
"@itwin/build-tools": "^3.7.0",
|
|
43
|
+
"@itwin/components-react": "4.0.0-dev.21",
|
|
44
|
+
"@itwin/core-bentley": "^3.7.0",
|
|
45
|
+
"@itwin/core-common": "^3.7.0",
|
|
46
|
+
"@itwin/core-frontend": "^3.7.0",
|
|
47
|
+
"@itwin/core-geometry": "^3.7.0",
|
|
48
|
+
"@itwin/core-orbitgt": "^3.7.0",
|
|
49
|
+
"@itwin/core-quantity": "^3.7.0",
|
|
50
|
+
"@itwin/core-react": "4.0.0-dev.21",
|
|
51
|
+
"@itwin/eslint-plugin": "^3.7.0",
|
|
52
|
+
"@itwin/webgl-compatibility": "^3.7.0",
|
|
51
53
|
"@testing-library/dom": "^8.11.2",
|
|
52
54
|
"@testing-library/react": "^12.0.0",
|
|
53
55
|
"@testing-library/react-hooks": "^7.0.2",
|
|
54
56
|
"@testing-library/user-event": "^14.4.2",
|
|
55
57
|
"@types/chai": "4.3.1",
|
|
56
58
|
"@types/chai-as-promised": "^7",
|
|
57
|
-
"@types/chai-spies": "^1.0.0",
|
|
58
59
|
"@types/chai-string": "^1.4.1",
|
|
59
60
|
"@types/faker": "^4.1.0",
|
|
60
61
|
"@types/mocha": "^8.2.2",
|
|
@@ -65,7 +66,6 @@
|
|
|
65
66
|
"@types/sinon-chai": "^3.2.0",
|
|
66
67
|
"chai": "^4.1.2",
|
|
67
68
|
"chai-as-promised": "^7",
|
|
68
|
-
"chai-spies": "1.0.0",
|
|
69
69
|
"chai-string": "^1.5.0",
|
|
70
70
|
"cpx2": "^3.0.0",
|
|
71
71
|
"eslint": "^7.11.0",
|
|
@@ -84,20 +84,18 @@
|
|
|
84
84
|
"sinon-chai": "^3.2.0",
|
|
85
85
|
"ts-node": "^10.8.2",
|
|
86
86
|
"typemoq": "^2.1.0",
|
|
87
|
-
"typescript": "~
|
|
88
|
-
"xmlhttprequest": "^1.8.0"
|
|
87
|
+
"typescript": "~5.0.2"
|
|
89
88
|
},
|
|
90
89
|
"//dependencies": [
|
|
91
90
|
"NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API",
|
|
92
91
|
"NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"
|
|
93
92
|
],
|
|
94
93
|
"dependencies": {
|
|
95
|
-
"@bentley/icons-generic
|
|
96
|
-
"@itwin/itwinui-
|
|
97
|
-
"@itwin/itwinui-variables": "^
|
|
98
|
-
"@itwin/itwinui-react": "
|
|
99
|
-
"classnames": "2.3.1"
|
|
100
|
-
"immer": "9.0.6"
|
|
94
|
+
"@bentley/icons-generic": "^1.0.34",
|
|
95
|
+
"@itwin/itwinui-react": "^2.5.0",
|
|
96
|
+
"@itwin/itwinui-variables": "^2.0.0",
|
|
97
|
+
"@itwin/itwinui-icons-react": "^2.1.0",
|
|
98
|
+
"classnames": "2.3.1"
|
|
101
99
|
},
|
|
102
100
|
"nyc": {
|
|
103
101
|
"extends": "./node_modules/@itwin/build-tools/.nycrc",
|
|
@@ -123,8 +121,7 @@
|
|
|
123
121
|
]
|
|
124
122
|
},
|
|
125
123
|
"scripts": {
|
|
126
|
-
"build": "npm run -s copy:locale && npm run -s build:cjs",
|
|
127
|
-
"build:ci": "npm run -s build && npm run -s build:esm",
|
|
124
|
+
"build": "npm run -s copy:locale && npm run -s build:cjs && npm run -s build:esm",
|
|
128
125
|
"build:cjs": "tsc 1>&2 --outDir lib/cjs && npm run -s copy:cjs",
|
|
129
126
|
"build:esm": "tsc 1>&2 --module ES2020 --outDir lib/esm && npm run -s copy:esm",
|
|
130
127
|
"copy:locale": "cpx \"./public/**/*\" ./lib/public",
|
|
@@ -133,11 +130,13 @@
|
|
|
133
130
|
"pseudolocalize": "betools pseudolocalize --englishDir ./public/locales/en --out ./public/locales/en-PSEUDO",
|
|
134
131
|
"clean": "rimraf lib .rush/temp/package-deps*.json",
|
|
135
132
|
"cover": "nyc npm -s test",
|
|
136
|
-
"docs": "betools docs --includes=../../generated-docs/extract --json=../../generated-docs/ui/imodel-components-react/file.json --tsIndexFile=./imodel-components-react.ts --onlyJson",
|
|
137
133
|
"lint": "eslint -f visualstudio \"./src/**/*.{ts,tsx}\" 1>&2",
|
|
138
134
|
"extract-api": "betools extract-api --entry=imodel-components-react",
|
|
139
135
|
"test": "mocha --config ../.mocharc.json \"./lib/cjs/test/**/*.test.js\"",
|
|
140
|
-
"test:watch": "npm -s test -- --reporter min --watch-extensions ts,tsx --watch"
|
|
136
|
+
"test:watch": "npm -s test -- --reporter min --watch-extensions ts,tsx --watch",
|
|
137
|
+
"docs": "npm run -s docs:reference && npm run -s docs:changelog",
|
|
138
|
+
"docs:changelog": "cpx ./CHANGELOG.md ../../generated-docs/reference/imodel-components-react",
|
|
139
|
+
"docs:reference": "betools docs --includes=../../generated-docs/extract --json=../../generated-docs/reference/imodel-components-react/file.json --tsIndexFile=./imodel-components-react.ts --onlyJson"
|
|
141
140
|
},
|
|
142
|
-
"readme": "# @itwin/imodel-components-react\r\n\r\nCopyright © Bentley Systems, Incorporated. All rights reserved. See LICENSE.md for license terms and full copyright notice.\r\n\r\n## Description\r\n\r\nThe __@itwin/imodel-components-react__ package contains React components that depend on the
|
|
141
|
+
"readme": "# @itwin/imodel-components-react\r\n\r\nCopyright © Bentley Systems, Incorporated. All rights reserved. See LICENSE.md for license terms and full copyright notice.\r\n\r\n## Description\r\n\r\nThe __@itwin/imodel-components-react__ package contains React components that depend on the @itwin/core-frontend, @itwin/core-common or @itwin/core-quantity packages.\r\n\r\n## Documentation\r\n\r\nSee the [iTwin.js](https://www.itwinjs.org/learning/ui/imodel-components/) documentation for more information.\r\n"
|
|
143
142
|
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Color
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="react" />
|
|
5
|
-
import { ColorDef } from "@itwin/core-common";
|
|
6
|
-
import "./ColorPickerPanel.scss";
|
|
7
|
-
/** Properties for the [[ColorPickerPanel]] React component
|
|
8
|
-
* @public @deprecated use `ColorPicker` for itwinui-react
|
|
9
|
-
*/
|
|
10
|
-
export interface ColorPickerPanelProps {
|
|
11
|
-
activeColor: ColorDef;
|
|
12
|
-
onColorChange: (selectedColor: ColorDef) => void;
|
|
13
|
-
colorPresets?: ColorDef[];
|
|
14
|
-
/** If set show either HSL or RGB input values. If undefined no input value is shown */
|
|
15
|
-
colorInputType?: "HSL" | "RGB";
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Color Picker Dialog to use as modal dialog.
|
|
19
|
-
* @public @deprecated use `ColorPicker` for itwinui-react
|
|
20
|
-
*/
|
|
21
|
-
export declare function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps): JSX.Element;
|
|
22
|
-
//# sourceMappingURL=ColorPickerPanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPickerPanel.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerPanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAKH,OAAO,EAAE,QAAQ,EAAY,MAAM,oBAAoB,CAAC;AAIxD,OAAO,yBAAyB,CAAC;AAGjC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,EAAE,CAAC,aAAa,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,uFAAuF;IACvF,cAAc,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAChC;AAED;;;GAGG;AAEH,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,qBAAqB,eAsInH"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
/** @packageDocumentation
|
|
7
|
-
* @module Color
|
|
8
|
-
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
-
}) : function(o, v) {
|
|
19
|
-
o["default"] = v;
|
|
20
|
-
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
-
if (mod && mod.__esModule) return mod;
|
|
23
|
-
var result = {};
|
|
24
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
-
__setModuleDefault(result, mod);
|
|
26
|
-
return result;
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.ColorPickerPanel = void 0;
|
|
30
|
-
// cSpell:ignore colorpicker
|
|
31
|
-
const React = __importStar(require("react"));
|
|
32
|
-
const core_common_1 = require("@itwin/core-common");
|
|
33
|
-
const Swatch_1 = require("./Swatch");
|
|
34
|
-
const HueSlider_1 = require("./HueSlider");
|
|
35
|
-
const SaturationPicker_1 = require("./SaturationPicker");
|
|
36
|
-
require("./ColorPickerPanel.scss");
|
|
37
|
-
const core_react_1 = require("@itwin/core-react");
|
|
38
|
-
/**
|
|
39
|
-
* Color Picker Dialog to use as modal dialog.
|
|
40
|
-
* @public @deprecated use `ColorPicker` for itwinui-react
|
|
41
|
-
*/
|
|
42
|
-
// istanbul ignore next
|
|
43
|
-
function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }) {
|
|
44
|
-
const handlePresetColorPick = React.useCallback((newColor, e) => {
|
|
45
|
-
e.preventDefault();
|
|
46
|
-
if (onColorChange) {
|
|
47
|
-
onColorChange(newColor);
|
|
48
|
-
}
|
|
49
|
-
}, [onColorChange]);
|
|
50
|
-
const handleHueChange = React.useCallback((newHsvColor) => {
|
|
51
|
-
// for a ColorDef to be created from hsv s can't be 0
|
|
52
|
-
if (newHsvColor.s === 0) {
|
|
53
|
-
newHsvColor = newHsvColor.clone(undefined, 0.5);
|
|
54
|
-
}
|
|
55
|
-
const newColorDef = newHsvColor.toColorDef();
|
|
56
|
-
if (onColorChange) {
|
|
57
|
-
onColorChange(newColorDef);
|
|
58
|
-
}
|
|
59
|
-
}, [onColorChange]);
|
|
60
|
-
const handleSaturationChange = React.useCallback((newHsvColor) => {
|
|
61
|
-
const newColorDef = newHsvColor.toColorDef();
|
|
62
|
-
if (onColorChange) {
|
|
63
|
-
onColorChange(newColorDef);
|
|
64
|
-
}
|
|
65
|
-
}, [onColorChange]);
|
|
66
|
-
const currentHsl = React.useMemo(() => activeColor.toHSL(), [activeColor]);
|
|
67
|
-
const currentHsv = React.useMemo(() => activeColor.toHSV(), [activeColor]);
|
|
68
|
-
const color = React.useMemo(() => activeColor.colors, [activeColor]);
|
|
69
|
-
const handleLightnessValueChange = React.useCallback((value, _stringValue) => {
|
|
70
|
-
const newHsl = currentHsl.clone(undefined, undefined, (value !== null && value !== void 0 ? value : 0) / 100);
|
|
71
|
-
if (onColorChange) {
|
|
72
|
-
const newColorDef = newHsl.toColorDef();
|
|
73
|
-
onColorChange(newColorDef);
|
|
74
|
-
}
|
|
75
|
-
}, [currentHsl, onColorChange]);
|
|
76
|
-
const handleHueValueChange = React.useCallback((value, _stringValue) => {
|
|
77
|
-
const newHsl = currentHsl.clone((value !== null && value !== void 0 ? value : 0) / 360, undefined, undefined);
|
|
78
|
-
if (onColorChange) {
|
|
79
|
-
const newColorDef = newHsl.toColorDef();
|
|
80
|
-
onColorChange(newColorDef);
|
|
81
|
-
}
|
|
82
|
-
}, [currentHsl, onColorChange]);
|
|
83
|
-
const handleSaturationValueChange = React.useCallback((value, _stringValue) => {
|
|
84
|
-
const newHsl = currentHsl.clone(undefined, (value !== null && value !== void 0 ? value : 0) / 100, undefined);
|
|
85
|
-
if (onColorChange) {
|
|
86
|
-
const newColorDef = newHsl.toColorDef();
|
|
87
|
-
onColorChange(newColorDef);
|
|
88
|
-
}
|
|
89
|
-
}, [currentHsl, onColorChange]);
|
|
90
|
-
const handleRedChange = React.useCallback((value, _stringValue) => {
|
|
91
|
-
if (undefined !== value) {
|
|
92
|
-
const newColorDef = core_common_1.ColorDef.from(value, color.g, color.b);
|
|
93
|
-
if (onColorChange) {
|
|
94
|
-
onColorChange(newColorDef);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, [color, onColorChange]);
|
|
98
|
-
const handleGreenChange = React.useCallback((value, _stringValue) => {
|
|
99
|
-
if (undefined !== value) {
|
|
100
|
-
const newColorDef = core_common_1.ColorDef.from(color.r, value, color.b);
|
|
101
|
-
if (onColorChange) {
|
|
102
|
-
onColorChange(newColorDef);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}, [color, onColorChange]);
|
|
106
|
-
const handleBlueChange = React.useCallback((value, _stringValue) => {
|
|
107
|
-
if (undefined !== value) {
|
|
108
|
-
const newColorDef = core_common_1.ColorDef.from(color.r, color.g, value);
|
|
109
|
-
if (onColorChange) {
|
|
110
|
-
onColorChange(newColorDef);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, [color, onColorChange]);
|
|
114
|
-
return (React.createElement("div", { "data-testid": "components-colorpicker-panel", className: "components-colorpicker-panel" },
|
|
115
|
-
React.createElement("div", { className: "components-colorpicker-panel-color" },
|
|
116
|
-
React.createElement("div", { className: "components-colorpicker-saturation" },
|
|
117
|
-
React.createElement(SaturationPicker_1.SaturationPicker, { hsv: currentHsv, onSaturationChange: handleSaturationChange })),
|
|
118
|
-
React.createElement("div", { className: "components-colorpicker-hue" },
|
|
119
|
-
React.createElement(HueSlider_1.HueSlider, { hsv: currentHsv, onHueChange: handleHueChange, isHorizontal: false }))),
|
|
120
|
-
(colorInputType === "RGB") &&
|
|
121
|
-
React.createElement("div", { "data-testid": "components-colorpicker-input-panel", className: "components-colorpicker-input-panel" },
|
|
122
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
123
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "R"),
|
|
124
|
-
React.createElement(core_react_1.NumberInput, { "data-testid": "components-colorpicker-input-value-red", value: color.r, onChange: handleRedChange, min: 0, max: 255 })),
|
|
125
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
126
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "G"),
|
|
127
|
-
React.createElement(core_react_1.NumberInput, { "data-testid": "components-colorpicker-input-value-green", value: color.g, onChange: handleGreenChange, min: 0, max: 255 })),
|
|
128
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
129
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "B"),
|
|
130
|
-
React.createElement(core_react_1.NumberInput, { "data-testid": "components-colorpicker-input-value-blue", value: color.b, onChange: handleBlueChange, min: 0, max: 255 }))),
|
|
131
|
-
(colorInputType === "HSL") &&
|
|
132
|
-
React.createElement("div", { "data-testid": "components-colorpicker-input-panel", className: "components-colorpicker-input-panel" },
|
|
133
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
134
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "H"),
|
|
135
|
-
React.createElement(core_react_1.NumberInput, { "data-testid": "components-colorpicker-input-value-hue", value: Math.round(currentHsl.h * 360), onChange: handleHueValueChange, min: 0, max: 360 })),
|
|
136
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
137
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "S"),
|
|
138
|
-
React.createElement(core_react_1.NumberInput, { "data-testid": "components-colorpicker-input-value-saturation", value: Math.round(currentHsl.s * 100), onChange: handleSaturationValueChange, min: 0, max: 100 })),
|
|
139
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
140
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "L"),
|
|
141
|
-
React.createElement(core_react_1.NumberInput, { "data-testid": "components-colorpicker-input-value-lightness", value: Math.round(currentHsl.l * 100), onChange: handleLightnessValueChange, min: 0, max: 100 }))),
|
|
142
|
-
colorPresets && colorPresets.length &&
|
|
143
|
-
React.createElement("div", { className: "components-colorpicker-panel-presets" }, colorPresets.map((preset, index) => React.createElement(Swatch_1.ColorSwatch, { className: "components-colorpicker-panel-swatch", key: index, colorDef: preset, round: false, onColorPick: handlePresetColorPick })))));
|
|
144
|
-
}
|
|
145
|
-
exports.ColorPickerPanel = ColorPickerPanel;
|
|
146
|
-
//# sourceMappingURL=ColorPickerPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPickerPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Color\n */\n\n// cSpell:ignore colorpicker\n\nimport * as React from \"react\";\nimport { ColorDef, HSVColor } from \"@itwin/core-common\";\nimport { ColorSwatch } from \"./Swatch\";\nimport { HueSlider } from \"./HueSlider\";\nimport { SaturationPicker } from \"./SaturationPicker\";\nimport \"./ColorPickerPanel.scss\";\nimport { NumberInput } from \"@itwin/core-react\";\n\n/** Properties for the [[ColorPickerPanel]] React component\n * @public @deprecated use `ColorPicker` for itwinui-react\n */\nexport interface ColorPickerPanelProps {\n activeColor: ColorDef;\n onColorChange: (selectedColor: ColorDef) => void;\n colorPresets?: ColorDef[];\n /** If set show either HSL or RGB input values. If undefined no input value is shown */\n colorInputType?: \"HSL\" | \"RGB\";\n}\n\n/**\n * Color Picker Dialog to use as modal dialog.\n * @public @deprecated use `ColorPicker` for itwinui-react\n */\n// istanbul ignore next\nexport function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps) { // eslint-disable-line deprecation/deprecation\n const handlePresetColorPick = React.useCallback((newColor: ColorDef, e: React.MouseEvent<Element, MouseEvent>) => {\n e.preventDefault();\n if (onColorChange) {\n onColorChange(newColor);\n }\n }, [onColorChange]);\n\n const handleHueChange = React.useCallback((newHsvColor: HSVColor) => {\n // for a ColorDef to be created from hsv s can't be 0\n if (newHsvColor.s === 0) {\n newHsvColor = newHsvColor.clone(undefined, 0.5);\n }\n\n const newColorDef = newHsvColor.toColorDef();\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }, [onColorChange]);\n\n const handleSaturationChange = React.useCallback((newHsvColor: HSVColor) => {\n const newColorDef = newHsvColor.toColorDef();\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }, [onColorChange]);\n\n const currentHsl = React.useMemo(() => activeColor.toHSL(), [activeColor]);\n const currentHsv = React.useMemo(() => activeColor.toHSV(), [activeColor]);\n const color = React.useMemo(() => activeColor.colors, [activeColor]);\n\n const handleLightnessValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n const newHsl = currentHsl.clone(undefined, undefined, (value ?? 0) / 100);\n\n if (onColorChange) {\n const newColorDef = newHsl.toColorDef();\n onColorChange(newColorDef);\n }\n }, [currentHsl, onColorChange]);\n\n const handleHueValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n const newHsl = currentHsl.clone((value ?? 0) / 360, undefined, undefined);\n\n if (onColorChange) {\n const newColorDef = newHsl.toColorDef();\n onColorChange(newColorDef);\n }\n }, [currentHsl, onColorChange]);\n\n const handleSaturationValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n const newHsl = currentHsl.clone(undefined, (value ?? 0) / 100, undefined);\n\n if (onColorChange) {\n const newColorDef = newHsl.toColorDef();\n onColorChange(newColorDef);\n }\n }, [currentHsl, onColorChange]);\n\n const handleRedChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n const newColorDef = ColorDef.from(value, color.g, color.b);\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }\n }, [color, onColorChange]);\n\n const handleGreenChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n const newColorDef = ColorDef.from(color.r, value, color.b);\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }\n }, [color, onColorChange]);\n\n const handleBlueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n const newColorDef = ColorDef.from(color.r, color.g, value);\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }\n }, [color, onColorChange]);\n\n return (\n <div data-testid=\"components-colorpicker-panel\" className=\"components-colorpicker-panel\">\n <div className=\"components-colorpicker-panel-color\">\n <div className=\"components-colorpicker-saturation\">\n <SaturationPicker hsv={currentHsv} onSaturationChange={handleSaturationChange} />\n </div>\n <div className=\"components-colorpicker-hue\">\n <HueSlider hsv={currentHsv} onHueChange={handleHueChange} isHorizontal={false} />\n </div>\n </div>\n {(colorInputType === \"RGB\") &&\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">R</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-red\" value={color.r} onChange={handleRedChange} min={0} max={255} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">G</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-green\" value={color.g} onChange={handleGreenChange} min={0} max={255} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">B</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-blue\" value={color.b} onChange={handleBlueChange} min={0} max={255} />\n </div>\n </div>}\n {(colorInputType === \"HSL\") &&\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">H</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-hue\" value={Math.round(currentHsl.h * 360)} onChange={handleHueValueChange} min={0} max={360} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">S</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-saturation\" value={Math.round(currentHsl.s * 100)} onChange={handleSaturationValueChange} min={0} max={100} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">L</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-lightness\" value={Math.round(currentHsl.l * 100)} onChange={handleLightnessValueChange} min={0} max={100} />\n </div>\n </div>}\n\n {\n colorPresets && colorPresets.length &&\n <div className=\"components-colorpicker-panel-presets\">\n {colorPresets.map((preset, index) => <ColorSwatch className=\"components-colorpicker-panel-swatch\" key={index} colorDef={preset} round={false} onColorPick={handlePresetColorPick} />)}\n </div>\n }\n </div>\n );\n}\n"]}
|
|
@@ -1,94 +0,0 @@
|
|
|
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
|
-
@import "~@itwin/core-react/lib/cjs/core-react/index";
|
|
6
|
-
|
|
7
|
-
$hovered-icon-color: $buic-foreground-primary-tone;
|
|
8
|
-
$saturation-hue-height: 150px;
|
|
9
|
-
|
|
10
|
-
.components-colorpicker-panel {
|
|
11
|
-
display: flex;
|
|
12
|
-
flex-direction: column;
|
|
13
|
-
|
|
14
|
-
.components-colorpicker-panel-color {
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-direction: row;
|
|
17
|
-
height: 100%;
|
|
18
|
-
column-gap: 20px;
|
|
19
|
-
|
|
20
|
-
.components-colorpicker-saturation {
|
|
21
|
-
margin: 1em;
|
|
22
|
-
display: block;
|
|
23
|
-
width: calc(100% - 40px);
|
|
24
|
-
height: $saturation-hue-height;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.components-hue-container-vertical {
|
|
28
|
-
height: $saturation-hue-height;
|
|
29
|
-
margin-top: 1em;
|
|
30
|
-
margin-right: .5em;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.components-color-swatch {
|
|
35
|
-
width: 2.0em;
|
|
36
|
-
height: 2.0em;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.components-colorpicker-panel-presets {
|
|
41
|
-
width: 100%;
|
|
42
|
-
height: 100%;
|
|
43
|
-
padding-top: 10px;
|
|
44
|
-
margin-top: 10px;
|
|
45
|
-
margin-bottom: 10px;
|
|
46
|
-
display: grid;
|
|
47
|
-
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
|
48
|
-
column-gap: 2px;
|
|
49
|
-
row-gap: 10px;
|
|
50
|
-
border-top: 1px solid $buic-inputs-border;
|
|
51
|
-
justify-items: center;
|
|
52
|
-
|
|
53
|
-
.components-colorpicker-panel-swatch {
|
|
54
|
-
width: 2em;
|
|
55
|
-
height: 2em;
|
|
56
|
-
padding: 0;
|
|
57
|
-
border-color: $buic-inputs-border;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.components-colorpicker-popup-panel-padding {
|
|
62
|
-
display: flex;
|
|
63
|
-
flex-direction: column;
|
|
64
|
-
|
|
65
|
-
button.core-dialog-close {
|
|
66
|
-
margin-left: auto;
|
|
67
|
-
background: transparent;
|
|
68
|
-
border: none;
|
|
69
|
-
color: var(--buic-foreground-body);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.components-colorpicker-input-panel {
|
|
74
|
-
display: flex;
|
|
75
|
-
flex-direction: row;
|
|
76
|
-
align-items: center;
|
|
77
|
-
justify-content: space-evenly;
|
|
78
|
-
|
|
79
|
-
.components-colorpicker-input-value-wrapper {
|
|
80
|
-
align-items: center;
|
|
81
|
-
display: flex;
|
|
82
|
-
flex-direction: row;
|
|
83
|
-
gap: 4px;
|
|
84
|
-
|
|
85
|
-
.uicore-inputs-labeled-input {
|
|
86
|
-
text-align: right;
|
|
87
|
-
margin: 0;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.core-number-input-container {
|
|
91
|
-
width: 54px;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Color
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="react" />
|
|
5
|
-
import { ColorDef } from "@itwin/core-common";
|
|
6
|
-
import "./ColorPickerPanel.scss";
|
|
7
|
-
/** Properties for the [[ColorPickerPanel]] React component
|
|
8
|
-
* @public @deprecated use `ColorPicker` for itwinui-react
|
|
9
|
-
*/
|
|
10
|
-
export interface ColorPickerPanelProps {
|
|
11
|
-
activeColor: ColorDef;
|
|
12
|
-
onColorChange: (selectedColor: ColorDef) => void;
|
|
13
|
-
colorPresets?: ColorDef[];
|
|
14
|
-
/** If set show either HSL or RGB input values. If undefined no input value is shown */
|
|
15
|
-
colorInputType?: "HSL" | "RGB";
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Color Picker Dialog to use as modal dialog.
|
|
19
|
-
* @public @deprecated use `ColorPicker` for itwinui-react
|
|
20
|
-
*/
|
|
21
|
-
export declare function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps): JSX.Element;
|
|
22
|
-
//# sourceMappingURL=ColorPickerPanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPickerPanel.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerPanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAKH,OAAO,EAAE,QAAQ,EAAY,MAAM,oBAAoB,CAAC;AAIxD,OAAO,yBAAyB,CAAC;AAGjC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,EAAE,CAAC,aAAa,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,uFAAuF;IACvF,cAAc,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAChC;AAED;;;GAGG;AAEH,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,qBAAqB,eAsInH"}
|
|
@@ -1,123 +0,0 @@
|
|
|
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 Color
|
|
7
|
-
*/
|
|
8
|
-
// cSpell:ignore colorpicker
|
|
9
|
-
import * as React from "react";
|
|
10
|
-
import { ColorDef } from "@itwin/core-common";
|
|
11
|
-
import { ColorSwatch } from "./Swatch";
|
|
12
|
-
import { HueSlider } from "./HueSlider";
|
|
13
|
-
import { SaturationPicker } from "./SaturationPicker";
|
|
14
|
-
import "./ColorPickerPanel.scss";
|
|
15
|
-
import { NumberInput } from "@itwin/core-react";
|
|
16
|
-
/**
|
|
17
|
-
* Color Picker Dialog to use as modal dialog.
|
|
18
|
-
* @public @deprecated use `ColorPicker` for itwinui-react
|
|
19
|
-
*/
|
|
20
|
-
// istanbul ignore next
|
|
21
|
-
export function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }) {
|
|
22
|
-
const handlePresetColorPick = React.useCallback((newColor, e) => {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
if (onColorChange) {
|
|
25
|
-
onColorChange(newColor);
|
|
26
|
-
}
|
|
27
|
-
}, [onColorChange]);
|
|
28
|
-
const handleHueChange = React.useCallback((newHsvColor) => {
|
|
29
|
-
// for a ColorDef to be created from hsv s can't be 0
|
|
30
|
-
if (newHsvColor.s === 0) {
|
|
31
|
-
newHsvColor = newHsvColor.clone(undefined, 0.5);
|
|
32
|
-
}
|
|
33
|
-
const newColorDef = newHsvColor.toColorDef();
|
|
34
|
-
if (onColorChange) {
|
|
35
|
-
onColorChange(newColorDef);
|
|
36
|
-
}
|
|
37
|
-
}, [onColorChange]);
|
|
38
|
-
const handleSaturationChange = React.useCallback((newHsvColor) => {
|
|
39
|
-
const newColorDef = newHsvColor.toColorDef();
|
|
40
|
-
if (onColorChange) {
|
|
41
|
-
onColorChange(newColorDef);
|
|
42
|
-
}
|
|
43
|
-
}, [onColorChange]);
|
|
44
|
-
const currentHsl = React.useMemo(() => activeColor.toHSL(), [activeColor]);
|
|
45
|
-
const currentHsv = React.useMemo(() => activeColor.toHSV(), [activeColor]);
|
|
46
|
-
const color = React.useMemo(() => activeColor.colors, [activeColor]);
|
|
47
|
-
const handleLightnessValueChange = React.useCallback((value, _stringValue) => {
|
|
48
|
-
const newHsl = currentHsl.clone(undefined, undefined, (value !== null && value !== void 0 ? value : 0) / 100);
|
|
49
|
-
if (onColorChange) {
|
|
50
|
-
const newColorDef = newHsl.toColorDef();
|
|
51
|
-
onColorChange(newColorDef);
|
|
52
|
-
}
|
|
53
|
-
}, [currentHsl, onColorChange]);
|
|
54
|
-
const handleHueValueChange = React.useCallback((value, _stringValue) => {
|
|
55
|
-
const newHsl = currentHsl.clone((value !== null && value !== void 0 ? value : 0) / 360, undefined, undefined);
|
|
56
|
-
if (onColorChange) {
|
|
57
|
-
const newColorDef = newHsl.toColorDef();
|
|
58
|
-
onColorChange(newColorDef);
|
|
59
|
-
}
|
|
60
|
-
}, [currentHsl, onColorChange]);
|
|
61
|
-
const handleSaturationValueChange = React.useCallback((value, _stringValue) => {
|
|
62
|
-
const newHsl = currentHsl.clone(undefined, (value !== null && value !== void 0 ? value : 0) / 100, undefined);
|
|
63
|
-
if (onColorChange) {
|
|
64
|
-
const newColorDef = newHsl.toColorDef();
|
|
65
|
-
onColorChange(newColorDef);
|
|
66
|
-
}
|
|
67
|
-
}, [currentHsl, onColorChange]);
|
|
68
|
-
const handleRedChange = React.useCallback((value, _stringValue) => {
|
|
69
|
-
if (undefined !== value) {
|
|
70
|
-
const newColorDef = ColorDef.from(value, color.g, color.b);
|
|
71
|
-
if (onColorChange) {
|
|
72
|
-
onColorChange(newColorDef);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}, [color, onColorChange]);
|
|
76
|
-
const handleGreenChange = React.useCallback((value, _stringValue) => {
|
|
77
|
-
if (undefined !== value) {
|
|
78
|
-
const newColorDef = ColorDef.from(color.r, value, color.b);
|
|
79
|
-
if (onColorChange) {
|
|
80
|
-
onColorChange(newColorDef);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}, [color, onColorChange]);
|
|
84
|
-
const handleBlueChange = React.useCallback((value, _stringValue) => {
|
|
85
|
-
if (undefined !== value) {
|
|
86
|
-
const newColorDef = ColorDef.from(color.r, color.g, value);
|
|
87
|
-
if (onColorChange) {
|
|
88
|
-
onColorChange(newColorDef);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}, [color, onColorChange]);
|
|
92
|
-
return (React.createElement("div", { "data-testid": "components-colorpicker-panel", className: "components-colorpicker-panel" },
|
|
93
|
-
React.createElement("div", { className: "components-colorpicker-panel-color" },
|
|
94
|
-
React.createElement("div", { className: "components-colorpicker-saturation" },
|
|
95
|
-
React.createElement(SaturationPicker, { hsv: currentHsv, onSaturationChange: handleSaturationChange })),
|
|
96
|
-
React.createElement("div", { className: "components-colorpicker-hue" },
|
|
97
|
-
React.createElement(HueSlider, { hsv: currentHsv, onHueChange: handleHueChange, isHorizontal: false }))),
|
|
98
|
-
(colorInputType === "RGB") &&
|
|
99
|
-
React.createElement("div", { "data-testid": "components-colorpicker-input-panel", className: "components-colorpicker-input-panel" },
|
|
100
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
101
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "R"),
|
|
102
|
-
React.createElement(NumberInput, { "data-testid": "components-colorpicker-input-value-red", value: color.r, onChange: handleRedChange, min: 0, max: 255 })),
|
|
103
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
104
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "G"),
|
|
105
|
-
React.createElement(NumberInput, { "data-testid": "components-colorpicker-input-value-green", value: color.g, onChange: handleGreenChange, min: 0, max: 255 })),
|
|
106
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
107
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "B"),
|
|
108
|
-
React.createElement(NumberInput, { "data-testid": "components-colorpicker-input-value-blue", value: color.b, onChange: handleBlueChange, min: 0, max: 255 }))),
|
|
109
|
-
(colorInputType === "HSL") &&
|
|
110
|
-
React.createElement("div", { "data-testid": "components-colorpicker-input-panel", className: "components-colorpicker-input-panel" },
|
|
111
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
112
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "H"),
|
|
113
|
-
React.createElement(NumberInput, { "data-testid": "components-colorpicker-input-value-hue", value: Math.round(currentHsl.h * 360), onChange: handleHueValueChange, min: 0, max: 360 })),
|
|
114
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
115
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "S"),
|
|
116
|
-
React.createElement(NumberInput, { "data-testid": "components-colorpicker-input-value-saturation", value: Math.round(currentHsl.s * 100), onChange: handleSaturationValueChange, min: 0, max: 100 })),
|
|
117
|
-
React.createElement("div", { className: "components-colorpicker-input-value-wrapper" },
|
|
118
|
-
React.createElement("span", { className: "uicore-inputs-labeled-input" }, "L"),
|
|
119
|
-
React.createElement(NumberInput, { "data-testid": "components-colorpicker-input-value-lightness", value: Math.round(currentHsl.l * 100), onChange: handleLightnessValueChange, min: 0, max: 100 }))),
|
|
120
|
-
colorPresets && colorPresets.length &&
|
|
121
|
-
React.createElement("div", { className: "components-colorpicker-panel-presets" }, colorPresets.map((preset, index) => React.createElement(ColorSwatch, { className: "components-colorpicker-panel-swatch", key: index, colorDef: preset, round: false, onColorPick: handlePresetColorPick })))));
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=ColorPickerPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPickerPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Color\n */\n\n// cSpell:ignore colorpicker\n\nimport * as React from \"react\";\nimport { ColorDef, HSVColor } from \"@itwin/core-common\";\nimport { ColorSwatch } from \"./Swatch\";\nimport { HueSlider } from \"./HueSlider\";\nimport { SaturationPicker } from \"./SaturationPicker\";\nimport \"./ColorPickerPanel.scss\";\nimport { NumberInput } from \"@itwin/core-react\";\n\n/** Properties for the [[ColorPickerPanel]] React component\n * @public @deprecated use `ColorPicker` for itwinui-react\n */\nexport interface ColorPickerPanelProps {\n activeColor: ColorDef;\n onColorChange: (selectedColor: ColorDef) => void;\n colorPresets?: ColorDef[];\n /** If set show either HSL or RGB input values. If undefined no input value is shown */\n colorInputType?: \"HSL\" | \"RGB\";\n}\n\n/**\n * Color Picker Dialog to use as modal dialog.\n * @public @deprecated use `ColorPicker` for itwinui-react\n */\n// istanbul ignore next\nexport function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps) { // eslint-disable-line deprecation/deprecation\n const handlePresetColorPick = React.useCallback((newColor: ColorDef, e: React.MouseEvent<Element, MouseEvent>) => {\n e.preventDefault();\n if (onColorChange) {\n onColorChange(newColor);\n }\n }, [onColorChange]);\n\n const handleHueChange = React.useCallback((newHsvColor: HSVColor) => {\n // for a ColorDef to be created from hsv s can't be 0\n if (newHsvColor.s === 0) {\n newHsvColor = newHsvColor.clone(undefined, 0.5);\n }\n\n const newColorDef = newHsvColor.toColorDef();\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }, [onColorChange]);\n\n const handleSaturationChange = React.useCallback((newHsvColor: HSVColor) => {\n const newColorDef = newHsvColor.toColorDef();\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }, [onColorChange]);\n\n const currentHsl = React.useMemo(() => activeColor.toHSL(), [activeColor]);\n const currentHsv = React.useMemo(() => activeColor.toHSV(), [activeColor]);\n const color = React.useMemo(() => activeColor.colors, [activeColor]);\n\n const handleLightnessValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n const newHsl = currentHsl.clone(undefined, undefined, (value ?? 0) / 100);\n\n if (onColorChange) {\n const newColorDef = newHsl.toColorDef();\n onColorChange(newColorDef);\n }\n }, [currentHsl, onColorChange]);\n\n const handleHueValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n const newHsl = currentHsl.clone((value ?? 0) / 360, undefined, undefined);\n\n if (onColorChange) {\n const newColorDef = newHsl.toColorDef();\n onColorChange(newColorDef);\n }\n }, [currentHsl, onColorChange]);\n\n const handleSaturationValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n const newHsl = currentHsl.clone(undefined, (value ?? 0) / 100, undefined);\n\n if (onColorChange) {\n const newColorDef = newHsl.toColorDef();\n onColorChange(newColorDef);\n }\n }, [currentHsl, onColorChange]);\n\n const handleRedChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n const newColorDef = ColorDef.from(value, color.g, color.b);\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }\n }, [color, onColorChange]);\n\n const handleGreenChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n const newColorDef = ColorDef.from(color.r, value, color.b);\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }\n }, [color, onColorChange]);\n\n const handleBlueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n const newColorDef = ColorDef.from(color.r, color.g, value);\n if (onColorChange) {\n onColorChange(newColorDef);\n }\n }\n }, [color, onColorChange]);\n\n return (\n <div data-testid=\"components-colorpicker-panel\" className=\"components-colorpicker-panel\">\n <div className=\"components-colorpicker-panel-color\">\n <div className=\"components-colorpicker-saturation\">\n <SaturationPicker hsv={currentHsv} onSaturationChange={handleSaturationChange} />\n </div>\n <div className=\"components-colorpicker-hue\">\n <HueSlider hsv={currentHsv} onHueChange={handleHueChange} isHorizontal={false} />\n </div>\n </div>\n {(colorInputType === \"RGB\") &&\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">R</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-red\" value={color.r} onChange={handleRedChange} min={0} max={255} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">G</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-green\" value={color.g} onChange={handleGreenChange} min={0} max={255} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">B</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-blue\" value={color.b} onChange={handleBlueChange} min={0} max={255} />\n </div>\n </div>}\n {(colorInputType === \"HSL\") &&\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">H</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-hue\" value={Math.round(currentHsl.h * 360)} onChange={handleHueValueChange} min={0} max={360} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">S</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-saturation\" value={Math.round(currentHsl.s * 100)} onChange={handleSaturationValueChange} min={0} max={100} />\n </div>\n <div className=\"components-colorpicker-input-value-wrapper\">\n <span className=\"uicore-inputs-labeled-input\">L</span>\n <NumberInput data-testid=\"components-colorpicker-input-value-lightness\" value={Math.round(currentHsl.l * 100)} onChange={handleLightnessValueChange} min={0} max={100} />\n </div>\n </div>}\n\n {\n colorPresets && colorPresets.length &&\n <div className=\"components-colorpicker-panel-presets\">\n {colorPresets.map((preset, index) => <ColorSwatch className=\"components-colorpicker-panel-swatch\" key={index} colorDef={preset} round={false} onColorPick={handlePresetColorPick} />)}\n </div>\n }\n </div>\n );\n}\n"]}
|