@itwin/imodel-components-react 4.0.0-dev.9 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +156 -1
- package/README.md +2 -2
- package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts +28 -28
- package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/UiIModelComponents.js +77 -79
- package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts +36 -36
- package/lib/cjs/imodel-components-react/color/AlphaSlider.js +190 -186
- package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.js +112 -107
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +4 -4
- package/lib/cjs/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
- package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js +78 -74
- package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js +143 -137
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +4 -5
- package/lib/cjs/imodel-components-react/color/HueSlider.d.ts +22 -22
- package/lib/cjs/imodel-components-react/color/HueSlider.js +203 -199
- package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/SaturationPicker.d.ts +20 -20
- package/lib/cjs/imodel-components-react/color/SaturationPicker.js +217 -213
- package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/Swatch.d.ts +22 -22
- package/lib/cjs/imodel-components-react/color/Swatch.js +64 -60
- package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -1
- package/lib/cjs/imodel-components-react/color/Swatch.scss +1 -2
- package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
- package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js +23 -23
- package/lib/cjs/imodel-components-react/editors/ColorEditor.d.ts +44 -44
- package/lib/cjs/imodel-components-react/editors/ColorEditor.js +155 -151
- package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -1
- package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +1 -1
- package/lib/cjs/imodel-components-react/editors/WeightEditor.d.ts +47 -47
- package/lib/cjs/imodel-components-react/editors/WeightEditor.js +164 -160
- package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -1
- package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
- package/lib/cjs/imodel-components-react/inputs/QuantityInput.js +100 -96
- package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js +272 -265
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
- package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +6 -7
- package/lib/cjs/imodel-components-react/lineweight/Swatch.d.ts +33 -33
- package/lib/cjs/imodel-components-react/lineweight/Swatch.js +89 -85
- package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -1
- package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +1 -1
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js +163 -159
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
- package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +7 -8
- package/lib/cjs/imodel-components-react/navigationaids/Cube.d.ts +45 -45
- package/lib/cjs/imodel-components-react/navigationaids/Cube.js +131 -127
- package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +154 -174
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +631 -634
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +13 -17
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js +657 -647
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
- package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +4 -3
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js +103 -99
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +2 -6
- package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js +57 -53
- package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js +88 -83
- package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/FormatType.js +90 -86
- package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js +113 -109
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js +137 -133
- package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
- package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js +188 -184
- package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
- package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +149 -145
- package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js +63 -59
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js +51 -47
- package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
- package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js +58 -54
- package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
- package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js +52 -48
- package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js +54 -50
- package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +62 -58
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js +51 -47
- package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js +60 -56
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +99 -95
- package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
- package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
- package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js +123 -119
- package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js +142 -143
- package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
- package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js +69 -69
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.js +85 -81
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +2 -2
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.js +99 -91
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +9 -12
- package/lib/cjs/imodel-components-react/timeline/Scrubber.d.ts +54 -54
- package/lib/cjs/imodel-components-react/timeline/Scrubber.js +195 -191
- package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +8 -15
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js +432 -424
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +27 -24
- package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
- package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js +58 -54
- package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts +130 -133
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js +398 -358
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +25 -11
- package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +145 -174
- package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/timeline/interfaces.js +45 -45
- package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js +278 -274
- package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
- package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
- package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js +105 -105
- package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
- package/lib/cjs/imodel-components-react.d.ts +81 -82
- package/lib/cjs/imodel-components-react.d.ts.map +1 -1
- package/lib/cjs/imodel-components-react.js +104 -101
- package/lib/cjs/imodel-components-react.js.map +1 -1
- package/lib/esm/imodel-components-react/UiIModelComponents.d.ts +28 -28
- package/lib/esm/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/UiIModelComponents.js +74 -75
- package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
- package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +36 -36
- package/lib/esm/imodel-components-react/color/AlphaSlider.js +160 -160
- package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
- package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerButton.js +83 -82
- package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +4 -4
- package/lib/esm/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
- package/lib/esm/imodel-components-react/color/ColorPickerDialog.js +51 -51
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +114 -112
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
- package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +4 -5
- package/lib/esm/imodel-components-react/color/HueSlider.d.ts +22 -22
- package/lib/esm/imodel-components-react/color/HueSlider.js +173 -173
- package/lib/esm/imodel-components-react/color/SaturationPicker.d.ts +20 -20
- package/lib/esm/imodel-components-react/color/SaturationPicker.js +187 -187
- package/lib/esm/imodel-components-react/color/Swatch.d.ts +22 -22
- package/lib/esm/imodel-components-react/color/Swatch.js +34 -34
- package/lib/esm/imodel-components-react/color/Swatch.scss +1 -2
- package/lib/esm/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
- package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js +19 -19
- package/lib/esm/imodel-components-react/editors/ColorEditor.d.ts +44 -44
- package/lib/esm/imodel-components-react/editors/ColorEditor.js +124 -124
- package/lib/esm/imodel-components-react/editors/ColorEditor.scss +1 -1
- package/lib/esm/imodel-components-react/editors/WeightEditor.d.ts +47 -47
- package/lib/esm/imodel-components-react/editors/WeightEditor.js +133 -133
- package/lib/esm/imodel-components-react/editors/WeightEditor.scss +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
- package/lib/esm/imodel-components-react/inputs/QuantityInput.js +70 -70
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +243 -240
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
- package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +6 -7
- package/lib/esm/imodel-components-react/lineweight/Swatch.d.ts +33 -33
- package/lib/esm/imodel-components-react/lineweight/Swatch.js +59 -59
- package/lib/esm/imodel-components-react/lineweight/Swatch.scss +1 -1
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +134 -133
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
- package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +7 -8
- package/lib/esm/imodel-components-react/navigationaids/Cube.d.ts +45 -45
- package/lib/esm/imodel-components-react/navigationaids/Cube.js +100 -100
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +154 -174
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +601 -606
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +13 -17
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +627 -620
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
- package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +4 -3
- package/lib/esm/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
- package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +76 -76
- package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +2 -6
- package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +30 -30
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +61 -60
- package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
- package/lib/esm/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/FormatType.js +63 -63
- package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +83 -83
- package/lib/esm/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
- package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +110 -110
- package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
- package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +158 -158
- package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
- package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js +122 -122
- package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js +36 -36
- package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js +24 -24
- package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
- package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js +31 -31
- package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
- package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js +25 -25
- package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js +27 -27
- package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +35 -35
- package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js +24 -24
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js +33 -33
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
- package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +69 -69
- package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
- package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js +96 -96
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +138 -139
- package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
- package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js +65 -65
- package/lib/esm/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
- package/lib/esm/imodel-components-react/timeline/InlineEdit.js +55 -55
- package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +2 -2
- package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
- package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/PlayerButton.js +68 -64
- package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +9 -12
- package/lib/esm/imodel-components-react/timeline/Scrubber.d.ts +54 -54
- package/lib/esm/imodel-components-react/timeline/Scrubber.js +164 -164
- package/lib/esm/imodel-components-react/timeline/Scrubber.scss +8 -15
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +402 -398
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +27 -24
- package/lib/esm/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
- package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js +28 -28
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +130 -133
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +368 -332
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
- package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +25 -11
- package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +145 -174
- package/lib/esm/imodel-components-react/timeline/interfaces.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/timeline/interfaces.js +42 -42
- package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -1
- package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +251 -251
- package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
- package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +96 -95
- package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
- package/lib/esm/imodel-components-react.d.ts +81 -82
- package/lib/esm/imodel-components-react.d.ts.map +1 -1
- package/lib/esm/imodel-components-react.js +86 -87
- package/lib/esm/imodel-components-react.js.map +1 -1
- package/package.json +35 -37
- 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
|
@@ -1,25 +1,25 @@
|
|
|
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 QuantityFormat
|
|
7
|
-
*/
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
import { UiIModelComponents } from "../../UiIModelComponents";
|
|
10
|
-
import { Select } from "@itwin/itwinui-react";
|
|
11
|
-
/** Component use to set Station size (number of digits from right until '+').
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
export function StationSizeSelector(props) {
|
|
15
|
-
const { value, disabled, onChange, ...otherProps } = props;
|
|
16
|
-
const separatorOptions = React.useRef([
|
|
17
|
-
{ value: 2, label: UiIModelComponents.translate("QuantityFormat.station_size.two") },
|
|
18
|
-
{ value: 3, label: UiIModelComponents.translate("QuantityFormat.station_size.three") },
|
|
19
|
-
]);
|
|
20
|
-
const handleOnChange = React.useCallback((newValue) => {
|
|
21
|
-
onChange && onChange(newValue);
|
|
22
|
-
}, [onChange]);
|
|
23
|
-
return (React.createElement(Select, { options: separatorOptions.current, disabled: disabled, value: value, onChange: handleOnChange, size: "small", ...otherProps }));
|
|
24
|
-
}
|
|
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 QuantityFormat
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { UiIModelComponents } from "../../UiIModelComponents";
|
|
10
|
+
import { Select } from "@itwin/itwinui-react";
|
|
11
|
+
/** Component use to set Station size (number of digits from right until '+').
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export function StationSizeSelector(props) {
|
|
15
|
+
const { value, disabled, onChange, ...otherProps } = props;
|
|
16
|
+
const separatorOptions = React.useRef([
|
|
17
|
+
{ value: 2, label: UiIModelComponents.translate("QuantityFormat.station_size.two") },
|
|
18
|
+
{ value: 3, label: UiIModelComponents.translate("QuantityFormat.station_size.three") },
|
|
19
|
+
]);
|
|
20
|
+
const handleOnChange = React.useCallback((newValue) => {
|
|
21
|
+
onChange && onChange(newValue);
|
|
22
|
+
}, [onChange]);
|
|
23
|
+
return (React.createElement(Select, { options: separatorOptions.current, disabled: disabled, value: value, onChange: handleOnChange, size: "small", ...otherProps }));
|
|
24
|
+
}
|
|
25
25
|
//# sourceMappingURL=StationSizeSelector.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module QuantityFormat
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="react" />
|
|
5
|
-
import { CommonProps } from "@itwin/core-react";
|
|
6
|
-
/** Properties of [[ThousandsSelector]] component.
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export interface ThousandsSelectorProps extends CommonProps {
|
|
10
|
-
separator: string;
|
|
11
|
-
disabled: boolean;
|
|
12
|
-
onChange: (value: string) => void;
|
|
13
|
-
}
|
|
14
|
-
/** Component use to set Quantity Format thousand group separator.
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
export declare function ThousandsSelector(props: ThousandsSelectorProps): JSX.Element;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module QuantityFormat
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="react" />
|
|
5
|
+
import { CommonProps } from "@itwin/core-react";
|
|
6
|
+
/** Properties of [[ThousandsSelector]] component.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export interface ThousandsSelectorProps extends CommonProps {
|
|
10
|
+
separator: string;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
onChange: (value: string) => void;
|
|
13
|
+
}
|
|
14
|
+
/** Component use to set Quantity Format thousand group separator.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function ThousandsSelector(props: ThousandsSelectorProps): JSX.Element;
|
|
18
18
|
//# sourceMappingURL=ThousandsSelector.d.ts.map
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module QuantityFormat
|
|
7
|
-
*/
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
import { UiIModelComponents } from "../../UiIModelComponents";
|
|
10
|
-
import { Select } from "@itwin/itwinui-react";
|
|
11
|
-
/** Component use to set Quantity Format thousand group separator.
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
export function ThousandsSelector(props) {
|
|
15
|
-
const { separator, disabled, onChange, ...otherProps } = props;
|
|
16
|
-
const uomDefaultEntries = React.useRef([
|
|
17
|
-
{ value: ",", label: UiIModelComponents.translate("QuantityFormat.thousand_separator.comma") },
|
|
18
|
-
{ value: ".", label: UiIModelComponents.translate("QuantityFormat.thousand_separator.point") },
|
|
19
|
-
]);
|
|
20
|
-
const handleOnChange = React.useCallback((newValue) => {
|
|
21
|
-
onChange && onChange(newValue);
|
|
22
|
-
}, [onChange]);
|
|
23
|
-
const separatorOptions = React.useMemo(() => {
|
|
24
|
-
const completeListOfEntries = [];
|
|
25
|
-
// istanbul ignore next (only used if format already has a character that does not match standard options)
|
|
26
|
-
if (undefined === uomDefaultEntries.current.find((option) => option.value === separator)) {
|
|
27
|
-
completeListOfEntries.push({ value: separator, label: separator });
|
|
28
|
-
}
|
|
29
|
-
completeListOfEntries.push(...uomDefaultEntries.current);
|
|
30
|
-
return completeListOfEntries;
|
|
31
|
-
}, [separator]);
|
|
32
|
-
return (React.createElement(Select, { options: separatorOptions, disabled: disabled, value: separator, onChange: handleOnChange, size: "small", ...otherProps }));
|
|
33
|
-
}
|
|
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 QuantityFormat
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { UiIModelComponents } from "../../UiIModelComponents";
|
|
10
|
+
import { Select } from "@itwin/itwinui-react";
|
|
11
|
+
/** Component use to set Quantity Format thousand group separator.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export function ThousandsSelector(props) {
|
|
15
|
+
const { separator, disabled, onChange, ...otherProps } = props;
|
|
16
|
+
const uomDefaultEntries = React.useRef([
|
|
17
|
+
{ value: ",", label: UiIModelComponents.translate("QuantityFormat.thousand_separator.comma") },
|
|
18
|
+
{ value: ".", label: UiIModelComponents.translate("QuantityFormat.thousand_separator.point") },
|
|
19
|
+
]);
|
|
20
|
+
const handleOnChange = React.useCallback((newValue) => {
|
|
21
|
+
onChange && onChange(newValue);
|
|
22
|
+
}, [onChange]);
|
|
23
|
+
const separatorOptions = React.useMemo(() => {
|
|
24
|
+
const completeListOfEntries = [];
|
|
25
|
+
// istanbul ignore next (only used if format already has a character that does not match standard options)
|
|
26
|
+
if (undefined === uomDefaultEntries.current.find((option) => option.value === separator)) {
|
|
27
|
+
completeListOfEntries.push({ value: separator, label: separator });
|
|
28
|
+
}
|
|
29
|
+
completeListOfEntries.push(...uomDefaultEntries.current);
|
|
30
|
+
return completeListOfEntries;
|
|
31
|
+
}, [separator]);
|
|
32
|
+
return (React.createElement(Select, { options: separatorOptions, disabled: disabled, value: separator, onChange: handleOnChange, size: "small", ...otherProps }));
|
|
33
|
+
}
|
|
34
34
|
//# sourceMappingURL=ThousandsSelector.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module QuantityFormat
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="react" />
|
|
5
|
-
import { CommonProps } from "@itwin/core-react";
|
|
6
|
-
import { FormatProps } from "@itwin/core-quantity";
|
|
7
|
-
/** Properties of [[ThousandsSeparator]] component.
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export interface ThousandsSeparatorProps extends CommonProps {
|
|
11
|
-
formatProps: FormatProps;
|
|
12
|
-
onChange?: (format: FormatProps) => void;
|
|
13
|
-
}
|
|
14
|
-
/** Component use to set Quantity Format thousand group separator.
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
export declare function ThousandsSeparator(props: ThousandsSeparatorProps): JSX.Element;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module QuantityFormat
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="react" />
|
|
5
|
+
import { CommonProps } from "@itwin/core-react";
|
|
6
|
+
import { FormatProps } from "@itwin/core-quantity";
|
|
7
|
+
/** Properties of [[ThousandsSeparator]] component.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface ThousandsSeparatorProps extends CommonProps {
|
|
11
|
+
formatProps: FormatProps;
|
|
12
|
+
onChange?: (format: FormatProps) => void;
|
|
13
|
+
}
|
|
14
|
+
/** Component use to set Quantity Format thousand group separator.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function ThousandsSeparator(props: ThousandsSeparatorProps): JSX.Element;
|
|
18
18
|
//# sourceMappingURL=ThousandsSeparator.d.ts.map
|
|
@@ -1,70 +1,70 @@
|
|
|
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 QuantityFormat
|
|
7
|
-
*/
|
|
8
|
-
import classnames from "classnames";
|
|
9
|
-
import * as React from "react";
|
|
10
|
-
import { Format, FormatTraits, getTraitString } from "@itwin/core-quantity";
|
|
11
|
-
import { Checkbox } from "@itwin/itwinui-react";
|
|
12
|
-
import { ThousandsSelector } from "./ThousandsSelector";
|
|
13
|
-
import { UiIModelComponents } from "../../UiIModelComponents";
|
|
14
|
-
/** Component use to set Quantity Format thousand group separator.
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
export function ThousandsSeparator(props) {
|
|
18
|
-
var _a;
|
|
19
|
-
const { formatProps, onChange } = props;
|
|
20
|
-
const handleSetFormatProps = React.useCallback((newProps) => {
|
|
21
|
-
onChange && onChange(newProps);
|
|
22
|
-
}, [onChange]);
|
|
23
|
-
const setFormatTrait = React.useCallback((trait, setActive) => {
|
|
24
|
-
const traitStr = getTraitString(trait);
|
|
25
|
-
let formatTraits = [traitStr];
|
|
26
|
-
if (setActive) { // setting trait
|
|
27
|
-
// istanbul ignore else
|
|
28
|
-
if (formatProps.formatTraits) {
|
|
29
|
-
const traits = Array.isArray(formatProps.formatTraits) ? formatProps.formatTraits : /* istanbul ignore next */ formatProps.formatTraits.split(/,|;|\|/);
|
|
30
|
-
formatTraits = [...traits, traitStr];
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else { // clearing trait
|
|
34
|
-
// istanbul ignore else
|
|
35
|
-
if (formatProps.formatTraits) {
|
|
36
|
-
const traits = Array.isArray(formatProps.formatTraits) ? formatProps.formatTraits : /* istanbul ignore next */ formatProps.formatTraits.split(/,|;|\|/);
|
|
37
|
-
formatTraits = traits.filter((traitEntry) => traitEntry !== traitStr);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const newFormatProps = { ...formatProps, formatTraits };
|
|
41
|
-
handleSetFormatProps(newFormatProps);
|
|
42
|
-
}, [formatProps, handleSetFormatProps]);
|
|
43
|
-
const handleUseThousandsSeparatorChange = React.useCallback((e) => {
|
|
44
|
-
setFormatTrait(FormatTraits.Use1000Separator, e.target.checked);
|
|
45
|
-
}, [setFormatTrait]);
|
|
46
|
-
const isFormatTraitSet = React.useCallback((trait) => {
|
|
47
|
-
return Format.isFormatTraitSetInProps(formatProps, trait);
|
|
48
|
-
}, [formatProps]);
|
|
49
|
-
const handleThousandSeparatorChange = React.useCallback((thousandSeparator) => {
|
|
50
|
-
let decimalSeparator = formatProps.decimalSeparator;
|
|
51
|
-
// make sure 1000 and decimal separator do not match
|
|
52
|
-
// istanbul ignore else
|
|
53
|
-
if (isFormatTraitSet(FormatTraits.Use1000Separator)) {
|
|
54
|
-
if (thousandSeparator === ".")
|
|
55
|
-
decimalSeparator = ",";
|
|
56
|
-
else // thousandSeparator === ","
|
|
57
|
-
decimalSeparator = ".";
|
|
58
|
-
}
|
|
59
|
-
const newFormatProps = { ...formatProps, thousandSeparator, decimalSeparator };
|
|
60
|
-
handleSetFormatProps(newFormatProps);
|
|
61
|
-
}, [formatProps, isFormatTraitSet, handleSetFormatProps]);
|
|
62
|
-
const useThousandSeparatorLabel = React.useRef(UiIModelComponents.translate("QuantityFormat.labels.useThousandSeparatorLabel"));
|
|
63
|
-
const thousandSeparatorLabel = React.useRef(UiIModelComponents.translate("QuantityFormat.labels.thousandSeparatorLabel"));
|
|
64
|
-
return (React.createElement(React.Fragment, null,
|
|
65
|
-
React.createElement("span", { className: "uicore-label" }, useThousandSeparatorLabel.current),
|
|
66
|
-
React.createElement(Checkbox, { "data-testid": "use-thousands-separator", checked: isFormatTraitSet(FormatTraits.Use1000Separator), onChange: handleUseThousandsSeparatorChange }),
|
|
67
|
-
React.createElement("span", { className: classnames("uicore-label", !(isFormatTraitSet(FormatTraits.Use1000Separator)) && "uicore-disabled") }, thousandSeparatorLabel.current),
|
|
68
|
-
React.createElement(ThousandsSelector, { "data-testid": "thousands-separator-selector", separator: (_a = formatProps.thousandSeparator) !== null && _a !== void 0 ? _a : ",", disabled: !isFormatTraitSet(FormatTraits.Use1000Separator), onChange: handleThousandSeparatorChange })));
|
|
69
|
-
}
|
|
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 QuantityFormat
|
|
7
|
+
*/
|
|
8
|
+
import classnames from "classnames";
|
|
9
|
+
import * as React from "react";
|
|
10
|
+
import { Format, FormatTraits, getTraitString } from "@itwin/core-quantity";
|
|
11
|
+
import { Checkbox } from "@itwin/itwinui-react";
|
|
12
|
+
import { ThousandsSelector } from "./ThousandsSelector";
|
|
13
|
+
import { UiIModelComponents } from "../../UiIModelComponents";
|
|
14
|
+
/** Component use to set Quantity Format thousand group separator.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export function ThousandsSeparator(props) {
|
|
18
|
+
var _a;
|
|
19
|
+
const { formatProps, onChange } = props;
|
|
20
|
+
const handleSetFormatProps = React.useCallback((newProps) => {
|
|
21
|
+
onChange && onChange(newProps);
|
|
22
|
+
}, [onChange]);
|
|
23
|
+
const setFormatTrait = React.useCallback((trait, setActive) => {
|
|
24
|
+
const traitStr = getTraitString(trait);
|
|
25
|
+
let formatTraits = [traitStr];
|
|
26
|
+
if (setActive) { // setting trait
|
|
27
|
+
// istanbul ignore else
|
|
28
|
+
if (formatProps.formatTraits) {
|
|
29
|
+
const traits = Array.isArray(formatProps.formatTraits) ? formatProps.formatTraits : /* istanbul ignore next */ formatProps.formatTraits.split(/,|;|\|/);
|
|
30
|
+
formatTraits = [...traits, traitStr];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else { // clearing trait
|
|
34
|
+
// istanbul ignore else
|
|
35
|
+
if (formatProps.formatTraits) {
|
|
36
|
+
const traits = Array.isArray(formatProps.formatTraits) ? formatProps.formatTraits : /* istanbul ignore next */ formatProps.formatTraits.split(/,|;|\|/);
|
|
37
|
+
formatTraits = traits.filter((traitEntry) => traitEntry !== traitStr);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const newFormatProps = { ...formatProps, formatTraits };
|
|
41
|
+
handleSetFormatProps(newFormatProps);
|
|
42
|
+
}, [formatProps, handleSetFormatProps]);
|
|
43
|
+
const handleUseThousandsSeparatorChange = React.useCallback((e) => {
|
|
44
|
+
setFormatTrait(FormatTraits.Use1000Separator, e.target.checked);
|
|
45
|
+
}, [setFormatTrait]);
|
|
46
|
+
const isFormatTraitSet = React.useCallback((trait) => {
|
|
47
|
+
return Format.isFormatTraitSetInProps(formatProps, trait);
|
|
48
|
+
}, [formatProps]);
|
|
49
|
+
const handleThousandSeparatorChange = React.useCallback((thousandSeparator) => {
|
|
50
|
+
let decimalSeparator = formatProps.decimalSeparator;
|
|
51
|
+
// make sure 1000 and decimal separator do not match
|
|
52
|
+
// istanbul ignore else
|
|
53
|
+
if (isFormatTraitSet(FormatTraits.Use1000Separator)) {
|
|
54
|
+
if (thousandSeparator === ".")
|
|
55
|
+
decimalSeparator = ",";
|
|
56
|
+
else // thousandSeparator === ","
|
|
57
|
+
decimalSeparator = ".";
|
|
58
|
+
}
|
|
59
|
+
const newFormatProps = { ...formatProps, thousandSeparator, decimalSeparator };
|
|
60
|
+
handleSetFormatProps(newFormatProps);
|
|
61
|
+
}, [formatProps, isFormatTraitSet, handleSetFormatProps]);
|
|
62
|
+
const useThousandSeparatorLabel = React.useRef(UiIModelComponents.translate("QuantityFormat.labels.useThousandSeparatorLabel"));
|
|
63
|
+
const thousandSeparatorLabel = React.useRef(UiIModelComponents.translate("QuantityFormat.labels.thousandSeparatorLabel"));
|
|
64
|
+
return (React.createElement(React.Fragment, null,
|
|
65
|
+
React.createElement("span", { className: "uicore-label" }, useThousandSeparatorLabel.current),
|
|
66
|
+
React.createElement(Checkbox, { "data-testid": "use-thousands-separator", checked: isFormatTraitSet(FormatTraits.Use1000Separator), onChange: handleUseThousandsSeparatorChange }),
|
|
67
|
+
React.createElement("span", { className: classnames("uicore-label", !(isFormatTraitSet(FormatTraits.Use1000Separator)) && "uicore-disabled") }, thousandSeparatorLabel.current),
|
|
68
|
+
React.createElement(ThousandsSelector, { "data-testid": "thousands-separator-selector", separator: (_a = formatProps.thousandSeparator) !== null && _a !== void 0 ? _a : ",", disabled: !isFormatTraitSet(FormatTraits.Use1000Separator), onChange: handleThousandSeparatorChange })));
|
|
69
|
+
}
|
|
70
70
|
//# sourceMappingURL=ThousandsSeparator.js.map
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module QuantityFormat
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="react" />
|
|
5
|
-
import { UnitsProvider } from "@itwin/core-quantity";
|
|
6
|
-
import { CommonProps } from "@itwin/core-react";
|
|
7
|
-
/** Properties of [[UnitDescr]] component.
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export interface UnitDescrProps extends CommonProps {
|
|
11
|
-
name: string;
|
|
12
|
-
parentUnitName?: string;
|
|
13
|
-
label: string;
|
|
14
|
-
index: number;
|
|
15
|
-
unitsProvider: UnitsProvider;
|
|
16
|
-
readonly?: boolean;
|
|
17
|
-
onUnitChange: (value: string, index: number) => void;
|
|
18
|
-
onLabelChange: (value: string, index: number) => void;
|
|
19
|
-
}
|
|
20
|
-
/** Component use to display dropdown list of possible units.
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
export declare function UnitDescr(props: UnitDescrProps): JSX.Element;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module QuantityFormat
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="react" />
|
|
5
|
+
import { UnitsProvider } from "@itwin/core-quantity";
|
|
6
|
+
import { CommonProps } from "@itwin/core-react";
|
|
7
|
+
/** Properties of [[UnitDescr]] component.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface UnitDescrProps extends CommonProps {
|
|
11
|
+
name: string;
|
|
12
|
+
parentUnitName?: string;
|
|
13
|
+
label: string;
|
|
14
|
+
index: number;
|
|
15
|
+
unitsProvider: UnitsProvider;
|
|
16
|
+
readonly?: boolean;
|
|
17
|
+
onUnitChange: (value: string, index: number) => void;
|
|
18
|
+
onLabelChange: (value: string, index: number) => void;
|
|
19
|
+
}
|
|
20
|
+
/** Component use to display dropdown list of possible units.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export declare function UnitDescr(props: UnitDescrProps): JSX.Element;
|
|
24
24
|
//# sourceMappingURL=UnitDescr.d.ts.map
|
|
@@ -1,97 +1,97 @@
|
|
|
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 QuantityFormat
|
|
7
|
-
*/
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
import { Input, Select } from "@itwin/itwinui-react";
|
|
10
|
-
async function getUnitConversionData(possibleUnits, toUnit, unitsProvider) {
|
|
11
|
-
const unitConversionEntries = possibleUnits.map(async (unit) => {
|
|
12
|
-
const conversion = await unitsProvider.getConversion(unit, toUnit);
|
|
13
|
-
return { conversion, unitProps: unit };
|
|
14
|
-
});
|
|
15
|
-
return unitConversionEntries;
|
|
16
|
-
}
|
|
17
|
-
async function getPossibleUnits(parentUnit, unitsProvider, ensureCompatibleComposite) {
|
|
18
|
-
const phenomenon = parentUnit.phenomenon;
|
|
19
|
-
const possibleUnits = await unitsProvider.getUnitsByFamily(phenomenon);
|
|
20
|
-
if (!ensureCompatibleComposite)
|
|
21
|
-
return possibleUnits;
|
|
22
|
-
const conversionPromises = await getUnitConversionData(possibleUnits, parentUnit, unitsProvider);
|
|
23
|
-
const conversionEntries = await Promise.all(conversionPromises);
|
|
24
|
-
// sort the entries so the best potential sub unit will be the first one in the array
|
|
25
|
-
return conversionEntries.filter((entry) => ((entry.unitProps.system === parentUnit.system) && (entry.conversion.factor < 1)))
|
|
26
|
-
.sort((a, b) => b.conversion.factor - a.conversion.factor)
|
|
27
|
-
.map((value) => value.unitProps);
|
|
28
|
-
}
|
|
29
|
-
function getUnitName(fullUnitName) {
|
|
30
|
-
const nameParts = fullUnitName.split(/[.:]/);
|
|
31
|
-
// istanbul ignore else
|
|
32
|
-
if (nameParts.length > 0)
|
|
33
|
-
return nameParts[nameParts.length - 1];
|
|
34
|
-
// istanbul ignore next
|
|
35
|
-
throw Error("Bad unit name encountered");
|
|
36
|
-
}
|
|
37
|
-
/** Component use to display dropdown list of possible units.
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
export function UnitDescr(props) {
|
|
41
|
-
const { name, label, parentUnitName, index, onUnitChange, onLabelChange, readonly, unitsProvider } = props;
|
|
42
|
-
const [unitOptions, setUnitOptions] = React.useState([{ value: name, label: getUnitName(name) }]);
|
|
43
|
-
const [currentUnit, setCurrentUnit] = React.useState({ name, label });
|
|
44
|
-
const isMounted = React.useRef(false);
|
|
45
|
-
React.useEffect(() => {
|
|
46
|
-
isMounted.current = true;
|
|
47
|
-
return () => {
|
|
48
|
-
isMounted.current = false;
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
React.useEffect(() => {
|
|
52
|
-
async function fetchAllowableUnitSelections() {
|
|
53
|
-
const currentUnitProps = await unitsProvider.findUnitByName(name);
|
|
54
|
-
const parentUnit = await unitsProvider.findUnitByName(parentUnitName ? parentUnitName : name);
|
|
55
|
-
// istanbul ignore else
|
|
56
|
-
if (parentUnit && currentUnitProps) {
|
|
57
|
-
let potentialSubUnit;
|
|
58
|
-
const potentialUnits = await getPossibleUnits(parentUnit, unitsProvider, index !== 0);
|
|
59
|
-
// istanbul ignore else
|
|
60
|
-
if (index < 3) {
|
|
61
|
-
const potentialSubUnits = await getPossibleUnits(currentUnitProps, unitsProvider, true);
|
|
62
|
-
if (potentialSubUnits.length)
|
|
63
|
-
potentialSubUnit = potentialSubUnits[0];
|
|
64
|
-
}
|
|
65
|
-
const options = (potentialUnits.length > 0) ?
|
|
66
|
-
potentialUnits.map((unitValue) => {
|
|
67
|
-
return { value: `${unitValue.name}:${unitValue.label}`, label: getUnitName(unitValue.name) };
|
|
68
|
-
}).sort((a, b) => a.label.localeCompare(b.label))
|
|
69
|
-
: /* istanbul ignore next */
|
|
70
|
-
[{ value: `${currentUnitProps.name}:${currentUnitProps.label}`, label: getUnitName(name) }];
|
|
71
|
-
if (potentialSubUnit) {
|
|
72
|
-
// construct an entry that will provide the name and label of the unit to add
|
|
73
|
-
options.push({ value: `ADDSUBUNIT:${potentialSubUnit.name}:${potentialSubUnit.label}`, label: "Add sub-unit" }); // NEEDSWORK - i18n
|
|
74
|
-
}
|
|
75
|
-
if (index !== 0)
|
|
76
|
-
options.push({ value: "REMOVEUNIT", label: "Remove" }); // NEEDSWORK - i18n
|
|
77
|
-
// istanbul ignore else
|
|
78
|
-
if (isMounted.current) {
|
|
79
|
-
setUnitOptions(options);
|
|
80
|
-
setCurrentUnit(currentUnitProps);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
fetchAllowableUnitSelections(); // eslint-disable-line @typescript-eslint/no-floating-promises
|
|
85
|
-
}, [index, label, name, parentUnitName, unitsProvider]);
|
|
86
|
-
const handleOnUnitChange = React.useCallback((newValue) => {
|
|
87
|
-
onUnitChange && onUnitChange(newValue, index);
|
|
88
|
-
}, [index, onUnitChange]);
|
|
89
|
-
const handleOnLabelChange = React.useCallback((e) => {
|
|
90
|
-
e.preventDefault();
|
|
91
|
-
onLabelChange && onLabelChange(e.target.value, index);
|
|
92
|
-
}, [index, onLabelChange]);
|
|
93
|
-
return (React.createElement(React.Fragment, null,
|
|
94
|
-
React.createElement(Select, { options: unitOptions, "data-testid": `unit-${currentUnit.name}`, value: `${currentUnit.name}:${currentUnit.label}`, onChange: handleOnUnitChange, disabled: readonly, size: "small" }),
|
|
95
|
-
React.createElement(Input, { "data-testid": `unit-label-${currentUnit.name}`, value: label, onChange: handleOnLabelChange, size: "small" })));
|
|
96
|
-
}
|
|
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 QuantityFormat
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { Input, Select } from "@itwin/itwinui-react";
|
|
10
|
+
async function getUnitConversionData(possibleUnits, toUnit, unitsProvider) {
|
|
11
|
+
const unitConversionEntries = possibleUnits.map(async (unit) => {
|
|
12
|
+
const conversion = await unitsProvider.getConversion(unit, toUnit);
|
|
13
|
+
return { conversion, unitProps: unit };
|
|
14
|
+
});
|
|
15
|
+
return unitConversionEntries;
|
|
16
|
+
}
|
|
17
|
+
async function getPossibleUnits(parentUnit, unitsProvider, ensureCompatibleComposite) {
|
|
18
|
+
const phenomenon = parentUnit.phenomenon;
|
|
19
|
+
const possibleUnits = await unitsProvider.getUnitsByFamily(phenomenon);
|
|
20
|
+
if (!ensureCompatibleComposite)
|
|
21
|
+
return possibleUnits;
|
|
22
|
+
const conversionPromises = await getUnitConversionData(possibleUnits, parentUnit, unitsProvider);
|
|
23
|
+
const conversionEntries = await Promise.all(conversionPromises);
|
|
24
|
+
// sort the entries so the best potential sub unit will be the first one in the array
|
|
25
|
+
return conversionEntries.filter((entry) => ((entry.unitProps.system === parentUnit.system) && (entry.conversion.factor < 1)))
|
|
26
|
+
.sort((a, b) => b.conversion.factor - a.conversion.factor)
|
|
27
|
+
.map((value) => value.unitProps);
|
|
28
|
+
}
|
|
29
|
+
function getUnitName(fullUnitName) {
|
|
30
|
+
const nameParts = fullUnitName.split(/[.:]/);
|
|
31
|
+
// istanbul ignore else
|
|
32
|
+
if (nameParts.length > 0)
|
|
33
|
+
return nameParts[nameParts.length - 1];
|
|
34
|
+
// istanbul ignore next
|
|
35
|
+
throw Error("Bad unit name encountered");
|
|
36
|
+
}
|
|
37
|
+
/** Component use to display dropdown list of possible units.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export function UnitDescr(props) {
|
|
41
|
+
const { name, label, parentUnitName, index, onUnitChange, onLabelChange, readonly, unitsProvider } = props;
|
|
42
|
+
const [unitOptions, setUnitOptions] = React.useState([{ value: name, label: getUnitName(name) }]);
|
|
43
|
+
const [currentUnit, setCurrentUnit] = React.useState({ name, label });
|
|
44
|
+
const isMounted = React.useRef(false);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
isMounted.current = true;
|
|
47
|
+
return () => {
|
|
48
|
+
isMounted.current = false;
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
React.useEffect(() => {
|
|
52
|
+
async function fetchAllowableUnitSelections() {
|
|
53
|
+
const currentUnitProps = await unitsProvider.findUnitByName(name);
|
|
54
|
+
const parentUnit = await unitsProvider.findUnitByName(parentUnitName ? parentUnitName : name);
|
|
55
|
+
// istanbul ignore else
|
|
56
|
+
if (parentUnit && currentUnitProps) {
|
|
57
|
+
let potentialSubUnit;
|
|
58
|
+
const potentialUnits = await getPossibleUnits(parentUnit, unitsProvider, index !== 0);
|
|
59
|
+
// istanbul ignore else
|
|
60
|
+
if (index < 3) {
|
|
61
|
+
const potentialSubUnits = await getPossibleUnits(currentUnitProps, unitsProvider, true);
|
|
62
|
+
if (potentialSubUnits.length)
|
|
63
|
+
potentialSubUnit = potentialSubUnits[0];
|
|
64
|
+
}
|
|
65
|
+
const options = (potentialUnits.length > 0) ?
|
|
66
|
+
potentialUnits.map((unitValue) => {
|
|
67
|
+
return { value: `${unitValue.name}:${unitValue.label}`, label: getUnitName(unitValue.name) };
|
|
68
|
+
}).sort((a, b) => a.label.localeCompare(b.label))
|
|
69
|
+
: /* istanbul ignore next */
|
|
70
|
+
[{ value: `${currentUnitProps.name}:${currentUnitProps.label}`, label: getUnitName(name) }];
|
|
71
|
+
if (potentialSubUnit) {
|
|
72
|
+
// construct an entry that will provide the name and label of the unit to add
|
|
73
|
+
options.push({ value: `ADDSUBUNIT:${potentialSubUnit.name}:${potentialSubUnit.label}`, label: "Add sub-unit" }); // NEEDSWORK - i18n
|
|
74
|
+
}
|
|
75
|
+
if (index !== 0)
|
|
76
|
+
options.push({ value: "REMOVEUNIT", label: "Remove" }); // NEEDSWORK - i18n
|
|
77
|
+
// istanbul ignore else
|
|
78
|
+
if (isMounted.current) {
|
|
79
|
+
setUnitOptions(options);
|
|
80
|
+
setCurrentUnit(currentUnitProps);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
fetchAllowableUnitSelections(); // eslint-disable-line @typescript-eslint/no-floating-promises
|
|
85
|
+
}, [index, label, name, parentUnitName, unitsProvider]);
|
|
86
|
+
const handleOnUnitChange = React.useCallback((newValue) => {
|
|
87
|
+
onUnitChange && onUnitChange(newValue, index);
|
|
88
|
+
}, [index, onUnitChange]);
|
|
89
|
+
const handleOnLabelChange = React.useCallback((e) => {
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
onLabelChange && onLabelChange(e.target.value, index);
|
|
92
|
+
}, [index, onLabelChange]);
|
|
93
|
+
return (React.createElement(React.Fragment, null,
|
|
94
|
+
React.createElement(Select, { options: unitOptions, "data-testid": `unit-${currentUnit.name}`, value: `${currentUnit.name}:${currentUnit.label}`, onChange: handleOnUnitChange, disabled: readonly, size: "small" }),
|
|
95
|
+
React.createElement(Input, { "data-testid": `unit-label-${currentUnit.name}`, value: label, onChange: handleOnLabelChange, size: "small" })));
|
|
96
|
+
}
|
|
97
97
|
//# sourceMappingURL=UnitDescr.js.map
|