@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.
Files changed (265) hide show
  1. package/CHANGELOG.md +139 -2
  2. package/LICENSE.md +1 -1
  3. package/README.md +2 -2
  4. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
  5. package/lib/cjs/imodel-components-react/UiIModelComponents.js +3 -7
  6. package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
  7. package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts +2 -2
  8. package/lib/cjs/imodel-components-react/color/AlphaSlider.js +6 -2
  9. package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -1
  10. package/lib/cjs/imodel-components-react/color/AlphaSlider.scss +63 -63
  11. package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
  12. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js +9 -4
  13. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  14. package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +90 -90
  15. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js +5 -1
  16. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  17. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
  18. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js +10 -4
  19. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  20. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +62 -63
  21. package/lib/cjs/imodel-components-react/color/HueSlider.js +5 -1
  22. package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -1
  23. package/lib/cjs/imodel-components-react/color/HueSlider.scss +61 -61
  24. package/lib/cjs/imodel-components-react/color/SaturationPicker.js +5 -1
  25. package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -1
  26. package/lib/cjs/imodel-components-react/color/SaturationPicker.scss +35 -35
  27. package/lib/cjs/imodel-components-react/color/Swatch.js +5 -1
  28. package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -1
  29. package/lib/cjs/imodel-components-react/color/Swatch.scss +22 -23
  30. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  31. package/lib/cjs/imodel-components-react/editors/ColorEditor.js +5 -1
  32. package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -1
  33. package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +18 -18
  34. package/lib/cjs/imodel-components-react/editors/WeightEditor.js +5 -1
  35. package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -1
  36. package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +16 -16
  37. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js +5 -1
  38. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  39. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts +1 -1
  40. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
  41. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js +11 -4
  42. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  43. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +106 -107
  44. package/lib/cjs/imodel-components-react/lineweight/Swatch.js +5 -1
  45. package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -1
  46. package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +48 -48
  47. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js +6 -2
  48. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  49. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +51 -52
  50. package/lib/cjs/imodel-components-react/navigationaids/Cube.js +5 -1
  51. package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -1
  52. package/lib/cjs/imodel-components-react/navigationaids/Cube.scss +19 -19
  53. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +4 -24
  54. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  55. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +46 -54
  56. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  57. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +178 -182
  58. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
  59. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js +16 -6
  60. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  61. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +135 -134
  62. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js +6 -2
  63. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  64. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +59 -63
  65. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js +7 -4
  66. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  67. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
  68. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js +10 -5
  69. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  70. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js +6 -3
  71. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  72. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js +6 -3
  73. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  74. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js +10 -10
  75. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  76. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js +8 -5
  77. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  78. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +5 -1
  79. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  80. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js +5 -1
  81. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  82. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js +5 -1
  83. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  84. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js +5 -1
  85. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  86. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js +5 -1
  87. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  88. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js +5 -1
  89. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  90. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +5 -1
  91. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  92. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js +5 -1
  93. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  94. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js +5 -1
  95. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  96. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +6 -3
  97. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  98. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js +5 -1
  99. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  100. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -1
  101. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js +22 -23
  102. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  103. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  104. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js +5 -1
  105. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  106. package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +26 -26
  107. package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
  108. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js +12 -4
  109. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  110. package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +28 -31
  111. package/lib/cjs/imodel-components-react/timeline/Scrubber.js +5 -1
  112. package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -1
  113. package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +105 -112
  114. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
  115. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js +13 -5
  116. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  117. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +359 -356
  118. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js +5 -1
  119. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  120. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  121. package/lib/cjs/imodel-components-react/timeline/Timeline.scss +164 -164
  122. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts +3 -6
  123. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
  124. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js +59 -19
  125. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  126. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +178 -164
  127. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +3 -32
  128. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts.map +1 -1
  129. package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
  130. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts +1 -1
  131. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -1
  132. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js +12 -10
  133. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  134. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js +1 -1
  135. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  136. package/lib/cjs/imodel-components-react.d.ts +0 -1
  137. package/lib/cjs/imodel-components-react.d.ts.map +1 -1
  138. package/lib/cjs/imodel-components-react.js +5 -2
  139. package/lib/cjs/imodel-components-react.js.map +1 -1
  140. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
  141. package/lib/esm/imodel-components-react/UiIModelComponents.js +4 -7
  142. package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
  143. package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +2 -2
  144. package/lib/esm/imodel-components-react/color/AlphaSlider.js +1 -1
  145. package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -1
  146. package/lib/esm/imodel-components-react/color/AlphaSlider.scss +63 -63
  147. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
  148. package/lib/esm/imodel-components-react/color/ColorPickerButton.js +5 -4
  149. package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  150. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +90 -90
  151. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  152. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
  153. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +6 -4
  154. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  155. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +62 -63
  156. package/lib/esm/imodel-components-react/color/HueSlider.js.map +1 -1
  157. package/lib/esm/imodel-components-react/color/HueSlider.scss +61 -61
  158. package/lib/esm/imodel-components-react/color/SaturationPicker.js.map +1 -1
  159. package/lib/esm/imodel-components-react/color/SaturationPicker.scss +35 -35
  160. package/lib/esm/imodel-components-react/color/Swatch.js.map +1 -1
  161. package/lib/esm/imodel-components-react/color/Swatch.scss +22 -23
  162. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  163. package/lib/esm/imodel-components-react/editors/ColorEditor.js.map +1 -1
  164. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +18 -18
  165. package/lib/esm/imodel-components-react/editors/WeightEditor.js.map +1 -1
  166. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +16 -16
  167. package/lib/esm/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  168. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +1 -1
  169. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
  170. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +7 -4
  171. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  172. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +106 -107
  173. package/lib/esm/imodel-components-react/lineweight/Swatch.js.map +1 -1
  174. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +48 -48
  175. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +2 -1
  176. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  177. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +51 -52
  178. package/lib/esm/imodel-components-react/navigationaids/Cube.js.map +1 -1
  179. package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -19
  180. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +4 -24
  181. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  182. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +42 -52
  183. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  184. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +178 -182
  185. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
  186. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +12 -5
  187. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  188. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +135 -134
  189. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +1 -1
  190. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  191. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +59 -63
  192. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +2 -3
  193. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  194. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
  195. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +6 -5
  196. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  197. package/lib/esm/imodel-components-react/quantityformat/FormatType.js +1 -2
  198. package/lib/esm/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  199. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +1 -2
  200. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  201. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +5 -9
  202. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  203. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +3 -4
  204. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  205. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  206. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  207. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  208. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  209. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  210. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  211. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  212. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  213. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  214. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +1 -2
  215. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  216. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  217. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -1
  218. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +22 -23
  219. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  220. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  221. package/lib/esm/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  222. package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +26 -26
  223. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
  224. package/lib/esm/imodel-components-react/timeline/PlayerButton.js +7 -3
  225. package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  226. package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +28 -31
  227. package/lib/esm/imodel-components-react/timeline/Scrubber.js.map +1 -1
  228. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +105 -112
  229. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
  230. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +10 -6
  231. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  232. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +359 -356
  233. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  234. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  235. package/lib/esm/imodel-components-react/timeline/Timeline.scss +164 -164
  236. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +3 -6
  237. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
  238. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +47 -11
  239. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  240. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +178 -164
  241. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +3 -32
  242. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts.map +1 -1
  243. package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
  244. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +1 -1
  245. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -1
  246. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +7 -9
  247. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  248. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +2 -1
  249. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  250. package/lib/esm/imodel-components-react.d.ts +0 -1
  251. package/lib/esm/imodel-components-react.d.ts.map +1 -1
  252. package/lib/esm/imodel-components-react.js +0 -1
  253. package/lib/esm/imodel-components-react.js.map +1 -1
  254. package/lib/public/locales/en/UiIModelComponents.json +139 -139
  255. package/package.json +38 -39
  256. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts +0 -22
  257. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts.map +0 -1
  258. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js +0 -146
  259. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js.map +0 -1
  260. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.scss +0 -94
  261. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +0 -22
  262. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts.map +0 -1
  263. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +0 -123
  264. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +0 -1
  265. package/lib/esm/imodel-components-react/color/ColorPickerPanel.scss +0 -94
@@ -1,134 +1,135 @@
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/z-index";
6
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
7
-
8
- #components-drawing-portal {
9
- @include uicore-z-index(dragged-widget);
10
- }
11
-
12
- .components-drawing-navigation-aid {
13
- position: relative;
14
- overflow: hidden;
15
- box-shadow: 0 0 0 1px $buic-inputs-border, 0 0 0 2px $buic-text-color;
16
- height: 96px;
17
- width: 96px;
18
-
19
- .drawing-canvas {
20
- position: absolute;
21
- left: 0px;
22
- top: 0px;
23
- width: 100%;
24
- height: 100%;
25
- min-width: 96px;
26
- min-height: 96px;
27
- }
28
-
29
- .drawing-container {
30
- position: absolute;
31
- left: 0px;
32
- top: 0px;
33
- width: 100%;
34
- height: 100%;
35
-
36
- .drawing-view-window {
37
- position: absolute;
38
- left: 0px;
39
- top: 0px;
40
- border: white 1px solid;
41
- background-color: rgba(0, 0, 0, 0.5);
42
- }
43
-
44
- .unrotate-button {
45
- position: absolute;
46
- background-color: $buic-background-control;
47
- border: 1px solid $buic-background-toolbutton-stroke;
48
- cursor: pointer;
49
- border-radius: var(--iui-border-radius-1);
50
- top: 10px;
51
- left: 0px;
52
- right: 0px;
53
- margin: auto;
54
- font-size: 13px;
55
- height: 20px;
56
- width: 64px;
57
- line-height: 20px;
58
- text-align: center;
59
-
60
- &:focus {
61
- outline: none;
62
- }
63
- }
64
-
65
- .close {
66
- position: absolute;
67
- cursor: pointer;
68
- background-color: $buic-background-control;
69
- border: 1px solid $buic-background-toolbutton-stroke;
70
- border-radius: var(--iui-border-radius-1);
71
- right: 10px;
72
- top: 10px;
73
-
74
- .close-icon {
75
- height: 32px;
76
- width: 32px;
77
- line-height: 32px;
78
- text-align: center;
79
- font-size: 18px;
80
- transform: rotate(45deg);
81
- }
82
- }
83
-
84
- .toggle-rotate-style {
85
- position: absolute;
86
- cursor: pointer;
87
- background-color: $buic-background-control;
88
- opacity: 0.5;
89
- color: $buic-foreground-body;
90
-
91
- &.checked {
92
- color: $buic-foreground-primary;
93
- }
94
-
95
- &:hover {
96
- opacity: 1;
97
- }
98
-
99
- border-radius: var(--iui-border-radius-1);
100
- bottom: 10px;
101
- left: 10px;
102
- height: 16px;
103
- width: 16px;
104
- font-size: 12px;
105
- line-height: 16px;
106
- text-align: center;
107
- }
108
-
109
- .zoom {
110
- position: absolute;
111
- border: 1px solid $buic-background-toolbutton-stroke;
112
- border-radius: var(--iui-border-radius-1);
113
- right: 10px;
114
- bottom: 10px;
115
-
116
- .zoom-button {
117
- cursor: pointer;
118
- background-color: $buic-background-control;
119
- height: 32px;
120
- width: 32px;
121
- line-height: 32px;
122
- text-align: center;
123
-
124
- &:first-child {
125
- border-bottom: 1px solid $buic-background-toolbutton-stroke;
126
- }
127
-
128
- &:focus {
129
- outline: none;
130
- }
131
- }
132
- }
133
- }
134
- }
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/z-index";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
7
+
8
+ #components-drawing-portal {
9
+ @include uicore-z-index(dragged-widget);
10
+ }
11
+
12
+ .components-drawing-navigation-aid {
13
+ position: relative;
14
+ overflow: hidden;
15
+ box-shadow: 0 0 0 1px var(--iui-color-border-foreground),
16
+ 0 0 0 2px var(--iui-color-text);
17
+ height: 96px;
18
+ width: 96px;
19
+
20
+ .drawing-canvas {
21
+ position: absolute;
22
+ left: 0px;
23
+ top: 0px;
24
+ width: 100%;
25
+ height: 100%;
26
+ min-width: 96px;
27
+ min-height: 96px;
28
+ }
29
+
30
+ .drawing-container {
31
+ position: absolute;
32
+ left: 0px;
33
+ top: 0px;
34
+ width: 100%;
35
+ height: 100%;
36
+
37
+ .drawing-view-window {
38
+ position: absolute;
39
+ left: 0px;
40
+ top: 0px;
41
+ border: white 1px solid;
42
+ background-color: rgba(0, 0, 0, 0.5);
43
+ }
44
+
45
+ .unrotate-button {
46
+ position: absolute;
47
+ background-color: $buic-background-control;
48
+ border: 1px solid $buic-background-toolbutton-stroke;
49
+ cursor: pointer;
50
+ border-radius: var(--iui-border-radius-1);
51
+ top: 10px;
52
+ left: 0px;
53
+ right: 0px;
54
+ margin: auto;
55
+ font-size: 13px;
56
+ height: 20px;
57
+ width: 64px;
58
+ line-height: 20px;
59
+ text-align: center;
60
+
61
+ &:focus {
62
+ outline: none;
63
+ }
64
+ }
65
+
66
+ .close {
67
+ position: absolute;
68
+ cursor: pointer;
69
+ background-color: $buic-background-control;
70
+ border: 1px solid $buic-background-toolbutton-stroke;
71
+ border-radius: var(--iui-border-radius-1);
72
+ right: 10px;
73
+ top: 10px;
74
+
75
+ .close-icon {
76
+ height: 32px;
77
+ width: 32px;
78
+ line-height: 32px;
79
+ text-align: center;
80
+ font-size: 18px;
81
+ transform: rotate(45deg);
82
+ }
83
+ }
84
+
85
+ .toggle-rotate-style {
86
+ position: absolute;
87
+ cursor: pointer;
88
+ background-color: $buic-background-control;
89
+ opacity: 0.5;
90
+ color: var(--iui-color-text);
91
+
92
+ &.checked {
93
+ color: var(--iui-color-text-accent);
94
+ }
95
+
96
+ &:hover {
97
+ opacity: 1;
98
+ }
99
+
100
+ border-radius: var(--iui-border-radius-1);
101
+ bottom: 10px;
102
+ left: 10px;
103
+ height: 16px;
104
+ width: 16px;
105
+ font-size: 12px;
106
+ line-height: 16px;
107
+ text-align: center;
108
+ }
109
+
110
+ .zoom {
111
+ position: absolute;
112
+ border: 1px solid $buic-background-toolbutton-stroke;
113
+ border-radius: var(--iui-border-radius-1);
114
+ right: 10px;
115
+ bottom: 10px;
116
+
117
+ .zoom-button {
118
+ cursor: pointer;
119
+ background-color: $buic-background-control;
120
+ height: 32px;
121
+ width: 32px;
122
+ line-height: 32px;
123
+ text-align: center;
124
+
125
+ &:first-child {
126
+ border-bottom: 1px solid $buic-background-toolbutton-stroke;
127
+ }
128
+
129
+ &:focus {
130
+ outline: none;
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
@@ -8,7 +8,11 @@
8
8
  */
9
9
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
10
  if (k2 === undefined) k2 = k;
11
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
12
16
  }) : (function(o, m, k, k2) {
13
17
  if (k2 === undefined) k2 = k;
14
18
  o[k2] = m[k];
@@ -89,7 +93,7 @@ function FormatPanel(props) {
89
93
  return (React.createElement("div", { className: "components-quantityFormat-panel" },
90
94
  showSample &&
91
95
  React.createElement(FormatSample_1.FormatSample, { formatSpec: formatSpec, initialMagnitude: initialMagnitude }),
92
- React.createElement(FormatUnits_1.FormatUnits, { unitsProvider: unitsProvider, persistenceUnit: formatSpec === null || formatSpec === void 0 ? void 0 : formatSpec.persistenceUnit, initialFormat: formatProps, onUnitsChange: handleFormatChange }),
96
+ React.createElement(FormatUnits_1.FormatUnits, { unitsProvider: unitsProvider, persistenceUnit: formatSpec?.persistenceUnit, initialFormat: formatProps, onUnitsChange: handleFormatChange }),
93
97
  React.createElement(FormatUnitLabel_1.FormatUnitLabel, { formatProps: formatProps, onUnitLabelChange: handleFormatChange }),
94
98
  React.createElement(FormatType_1.FormatTypeOption, { formatProps: formatProps, onChange: handleFormatChange }),
95
99
  React.createElement(FormatPrecision_1.FormatPrecision, { formatProps: formatProps, onChange: handleFormatChange }),
@@ -1 +1 @@
1
- {"version":3,"file":"FormatPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPanel.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 QuantityFormat\n */\n\nimport \"./FormatPanel.scss\";\nimport * as React from \"react\";\nimport { Format, FormatProps, FormatterSpec, UnitProps, UnitsProvider } from \"@itwin/core-quantity\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { FormatPrecision } from \"./FormatPrecision\";\nimport { FormatSample } from \"./FormatSample\";\nimport { FormatTypeOption } from \"./FormatType\";\nimport { FormatUnitLabel } from \"./FormatUnitLabel\";\nimport { FormatUnits } from \"./FormatUnits\";\nimport { MiscFormatOptions } from \"./MiscFormatOptions\";\n\n/** Properties of [[FormatPanel]] component.\n * @alpha\n */\nexport interface FormatPanelProps extends CommonProps {\n initialFormat: FormatProps;\n unitsProvider: UnitsProvider;\n persistenceUnit: Promise<UnitProps> | UnitProps;\n showSample?: boolean;\n initialMagnitude?: number;\n // if true a only primary format properties are initially displayed and a \"More/Less\" link is added.\n enableMinimumProperties?: boolean;\n onFormatChange?: (format: FormatProps) => void;\n provideFormatSpec?: (formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) => Promise<FormatterSpec>;\n providePrimaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;\n provideSecondaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;\n}\n\nasync function generateFormatSpec(formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) {\n const actualFormat = await Format.createFromJSON(\"custom\", unitsProvider, formatProps);\n return FormatterSpec.create(actualFormat.name, actualFormat, unitsProvider, persistenceUnit);\n}\n\n/** Component to show/edit Quantity Format.\n * @alpha\n */\nexport function FormatPanel(props: FormatPanelProps) {\n const [formatSpec, setFormatSpec] = React.useState<FormatterSpec>();\n const { initialFormat, showSample, initialMagnitude, unitsProvider, persistenceUnit, onFormatChange, provideFormatSpec, enableMinimumProperties } = props;\n const [formatProps, setFormatProps] = React.useState(initialFormat);\n const [showOptions, setShowOptions] = React.useState(false);\n\n React.useEffect(() => {\n setFormatProps(initialFormat);\n setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook\n }, [initialFormat]);\n\n const handleUserFormatChanges = React.useCallback((newProps: FormatProps) => {\n setFormatProps(newProps);\n setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook\n onFormatChange && onFormatChange(newProps);\n }, [onFormatChange]);\n\n const isMounted = React.useRef(false);\n\n // runs returned function only when component is unmounted.\n React.useEffect(() => {\n isMounted.current = true;\n return (() => {\n isMounted.current = false;\n });\n }, []);\n\n React.useEffect(() => {\n async function fetchFormatSpec() {\n const pu = await persistenceUnit;\n let newFormatSpec: FormatterSpec;\n if (provideFormatSpec) {\n newFormatSpec = await provideFormatSpec(formatProps, pu, unitsProvider);\n } else {\n newFormatSpec = await generateFormatSpec(formatProps, pu, unitsProvider);\n }\n isMounted.current && setFormatSpec(newFormatSpec);\n }\n if (!formatSpec)\n fetchFormatSpec(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }, [formatProps, formatSpec, persistenceUnit, provideFormatSpec, unitsProvider]);\n\n const handleFormatChange = React.useCallback((newFormatProps: FormatProps) => {\n handleUserFormatChanges(newFormatProps);\n }, [handleUserFormatChanges]);\n\n const handleShowOptions = React.useCallback((show: boolean) => {\n setShowOptions(show);\n }, []);\n\n return (\n <div className=\"components-quantityFormat-panel\">\n {showSample &&\n <FormatSample formatSpec={formatSpec} initialMagnitude={initialMagnitude} />\n }\n <FormatUnits unitsProvider={unitsProvider} persistenceUnit={formatSpec?.persistenceUnit} initialFormat={formatProps} onUnitsChange={handleFormatChange} />\n <FormatUnitLabel formatProps={formatProps} onUnitLabelChange={handleFormatChange} />\n <FormatTypeOption formatProps={formatProps} onChange={handleFormatChange} />\n <FormatPrecision formatProps={formatProps} onChange={handleFormatChange} />\n {props.providePrimaryChildren && props.providePrimaryChildren(formatProps, handleFormatChange)}\n <MiscFormatOptions formatProps={formatProps} onChange={handleFormatChange} enableMinimumProperties={enableMinimumProperties} showOptions={showOptions} onShowHideOptions={handleShowOptions}>\n {props.provideSecondaryChildren && props.provideSecondaryChildren(formatProps, handleFormatChange)}\n </MiscFormatOptions>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FormatPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module QuantityFormat\r\n */\r\n\r\nimport \"./FormatPanel.scss\";\r\nimport * as React from \"react\";\r\nimport { Format, FormatProps, FormatterSpec, UnitProps, UnitsProvider } from \"@itwin/core-quantity\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { FormatPrecision } from \"./FormatPrecision\";\r\nimport { FormatSample } from \"./FormatSample\";\r\nimport { FormatTypeOption } from \"./FormatType\";\r\nimport { FormatUnitLabel } from \"./FormatUnitLabel\";\r\nimport { FormatUnits } from \"./FormatUnits\";\r\nimport { MiscFormatOptions } from \"./MiscFormatOptions\";\r\n\r\n/** Properties of [[FormatPanel]] component.\r\n * @alpha\r\n */\r\nexport interface FormatPanelProps extends CommonProps {\r\n initialFormat: FormatProps;\r\n unitsProvider: UnitsProvider;\r\n persistenceUnit: Promise<UnitProps> | UnitProps;\r\n showSample?: boolean;\r\n initialMagnitude?: number;\r\n // if true a only primary format properties are initially displayed and a \"More/Less\" link is added.\r\n enableMinimumProperties?: boolean;\r\n onFormatChange?: (format: FormatProps) => void;\r\n provideFormatSpec?: (formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) => Promise<FormatterSpec>;\r\n providePrimaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;\r\n provideSecondaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;\r\n}\r\n\r\nasync function generateFormatSpec(formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) {\r\n const actualFormat = await Format.createFromJSON(\"custom\", unitsProvider, formatProps);\r\n return FormatterSpec.create(actualFormat.name, actualFormat, unitsProvider, persistenceUnit);\r\n}\r\n\r\n/** Component to show/edit Quantity Format.\r\n * @alpha\r\n */\r\nexport function FormatPanel(props: FormatPanelProps) {\r\n const [formatSpec, setFormatSpec] = React.useState<FormatterSpec>();\r\n const { initialFormat, showSample, initialMagnitude, unitsProvider, persistenceUnit, onFormatChange, provideFormatSpec, enableMinimumProperties } = props;\r\n const [formatProps, setFormatProps] = React.useState(initialFormat);\r\n const [showOptions, setShowOptions] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n setFormatProps(initialFormat);\r\n setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook\r\n }, [initialFormat]);\r\n\r\n const handleUserFormatChanges = React.useCallback((newProps: FormatProps) => {\r\n setFormatProps(newProps);\r\n setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook\r\n onFormatChange && onFormatChange(newProps);\r\n }, [onFormatChange]);\r\n\r\n const isMounted = React.useRef(false);\r\n\r\n // runs returned function only when component is unmounted.\r\n React.useEffect(() => {\r\n isMounted.current = true;\r\n return (() => {\r\n isMounted.current = false;\r\n });\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n async function fetchFormatSpec() {\r\n const pu = await persistenceUnit;\r\n let newFormatSpec: FormatterSpec;\r\n if (provideFormatSpec) {\r\n newFormatSpec = await provideFormatSpec(formatProps, pu, unitsProvider);\r\n } else {\r\n newFormatSpec = await generateFormatSpec(formatProps, pu, unitsProvider);\r\n }\r\n isMounted.current && setFormatSpec(newFormatSpec);\r\n }\r\n if (!formatSpec)\r\n fetchFormatSpec(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }, [formatProps, formatSpec, persistenceUnit, provideFormatSpec, unitsProvider]);\r\n\r\n const handleFormatChange = React.useCallback((newFormatProps: FormatProps) => {\r\n handleUserFormatChanges(newFormatProps);\r\n }, [handleUserFormatChanges]);\r\n\r\n const handleShowOptions = React.useCallback((show: boolean) => {\r\n setShowOptions(show);\r\n }, []);\r\n\r\n return (\r\n <div className=\"components-quantityFormat-panel\">\r\n {showSample &&\r\n <FormatSample formatSpec={formatSpec} initialMagnitude={initialMagnitude} />\r\n }\r\n <FormatUnits unitsProvider={unitsProvider} persistenceUnit={formatSpec?.persistenceUnit} initialFormat={formatProps} onUnitsChange={handleFormatChange} />\r\n <FormatUnitLabel formatProps={formatProps} onUnitLabelChange={handleFormatChange} />\r\n <FormatTypeOption formatProps={formatProps} onChange={handleFormatChange} />\r\n <FormatPrecision formatProps={formatProps} onChange={handleFormatChange} />\r\n {props.providePrimaryChildren && props.providePrimaryChildren(formatProps, handleFormatChange)}\r\n <MiscFormatOptions formatProps={formatProps} onChange={handleFormatChange} enableMinimumProperties={enableMinimumProperties} showOptions={showOptions} onShowHideOptions={handleShowOptions}>\r\n {props.provideSecondaryChildren && props.provideSecondaryChildren(formatProps, handleFormatChange)}\r\n </MiscFormatOptions>\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1,63 +1,59 @@
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/inputs/variables";
6
-
7
- .components-quantityFormat-panel {
8
- display: grid;
9
- grid-template-columns: auto 1fr;
10
- row-gap: 0;
11
- column-gap: 6px;
12
- align-items: center;
13
-
14
- > .uicore-label {
15
- font-size: var(--iui-font-size-1);
16
- margin: 4.4px 0;
17
-
18
- /* match margin on other select controls so it spaces properly in grid */
19
- &.uicore-disabled {
20
- color: $buic-text-color-disabled;
21
- }
22
- }
23
-
24
- > span.components-inline {
25
- display: flex;
26
- flex-direction: row;
27
- align-items: center;
28
- gap: 4px;
29
- }
30
-
31
- > label.core-checkbox.core-checkbox-no-label {
32
- min-height: 1.57em;
33
- }
34
-
35
- > button.components-quantityFormat-more-button {
36
- grid-column: 1 / span 2;
37
- border: none;
38
- outline: none;
39
- background: none;
40
- }
41
-
42
- .components-quantityFormat-more-button-label {
43
- margin-right: 0.25em;
44
- }
45
-
46
- > a.components-quantityFormat-more-less {
47
- font-size: var(--iui-font-size-1);
48
- color: $buic-foreground-alert;
49
- -webkit-transition: text-decoration 1s ease;
50
- -moz-transition: text-decoration 1s ease;
51
- -o-transition: text-decoration 1s ease;
52
- transition: text-decoration 0.1s ease;
53
-
54
- &:hover {
55
- text-decoration: underline;
56
- cursor: pointer;
57
- }
58
- }
59
-
60
- .iui-input {
61
- padding: $uicore-iui-input-padding;
62
- }
63
- }
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/inputs/variables";
6
+
7
+ .components-quantityFormat-panel {
8
+ display: grid;
9
+ grid-template-columns: auto 1fr;
10
+ row-gap: 0;
11
+ column-gap: 6px;
12
+ align-items: center;
13
+
14
+ > .uicore-label {
15
+ font-size: var(--iui-font-size-1);
16
+ margin: 4.4px 0;
17
+
18
+ /* match margin on other select controls so it spaces properly in grid */
19
+ &.uicore-disabled {
20
+ color: var(--iui-color-text-disabled);
21
+ }
22
+ }
23
+
24
+ > span.components-inline {
25
+ display: flex;
26
+ flex-direction: row;
27
+ align-items: center;
28
+ gap: 4px;
29
+ }
30
+
31
+ > button.components-quantityFormat-more-button {
32
+ grid-column: 1 / span 2;
33
+ border: none;
34
+ outline: none;
35
+ background: none;
36
+ }
37
+
38
+ .components-quantityFormat-more-button-label {
39
+ margin-right: 0.25em;
40
+ }
41
+
42
+ > a.components-quantityFormat-more-less {
43
+ font-size: var(--iui-font-size-1);
44
+ color: var(--iui-color-text-negative);
45
+ -webkit-transition: text-decoration 1s ease;
46
+ -moz-transition: text-decoration 1s ease;
47
+ -o-transition: text-decoration 1s ease;
48
+ transition: text-decoration 0.1s ease;
49
+
50
+ &:hover {
51
+ text-decoration: underline;
52
+ cursor: pointer;
53
+ }
54
+ }
55
+
56
+ .iui-input {
57
+ padding: $uicore-iui-input-padding;
58
+ }
59
+ }
@@ -8,7 +8,11 @@
8
8
  */
9
9
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
10
  if (k2 === undefined) k2 = k;
11
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
12
16
  }) : (function(o, m, k, k2) {
13
17
  if (k2 === undefined) k2 = k;
14
18
  o[k2] = m[k];
@@ -36,7 +40,6 @@ const UiIModelComponents_1 = require("../UiIModelComponents");
36
40
  * @alpha
37
41
  */
38
42
  function FormatPrecision(props) {
39
- var _a, _b;
40
43
  const { formatProps, onChange } = props;
41
44
  const handlePrecisionChange = React.useCallback((precision) => {
42
45
  const newFormatProps = { ...formatProps, precision };
@@ -47,8 +50,8 @@ function FormatPrecision(props) {
47
50
  return (React.createElement(React.Fragment, null,
48
51
  React.createElement("span", { className: "uicore-label" }, label.current),
49
52
  formatType === core_quantity_1.FormatType.Fractional ?
50
- React.createElement(FractionPrecision_1.FractionPrecisionSelector, { "data-testid": "fraction-precision-selector", precision: (_a = formatProps.precision) !== null && _a !== void 0 ? _a : 0, onChange: handlePrecisionChange }) :
51
- React.createElement(DecimalPrecision_1.DecimalPrecisionSelector, { "data-testid": "decimal-precision-selector", precision: (_b = formatProps.precision) !== null && _b !== void 0 ? _b : 0, onChange: handlePrecisionChange })));
53
+ React.createElement(FractionPrecision_1.FractionPrecisionSelector, { "data-testid": "fraction-precision-selector", precision: formatProps.precision ?? 0, onChange: handlePrecisionChange }) :
54
+ React.createElement(DecimalPrecision_1.DecimalPrecisionSelector, { "data-testid": "decimal-precision-selector", precision: formatProps.precision ?? 0, onChange: handlePrecisionChange })));
52
55
  }
53
56
  exports.FormatPrecision = FormatPrecision;
54
57
  //# sourceMappingURL=FormatPrecision.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormatPrecision.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPrecision.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAE/B,wDAAgF;AAChF,8DAAmE;AACnE,gEAAqE;AACrE,8DAA2D;AAU3D;;GAEG;AACH,SAAgB,eAAe,CAAC,KAA2B;;IACzD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,CAAC;QACrD,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAA,+BAAe,EAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,uCAAkB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC5F,OAAO,CACL;QACE,8BAAM,SAAS,EAAE,cAAc,IAAG,KAAK,CAAC,OAAO,CAAQ;QACtD,UAAU,KAAK,0BAAU,CAAC,UAAU,CAAC,CAAC;YACrC,oBAAC,6CAAyB,mBAAa,6BAA6B,EAAC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,GAAI,CAAC,CAAC;YACjJ,oBAAC,2CAAwB,mBAAa,4BAA4B,EAAC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,GAAI,CAE9I,CACJ,CAAC;AACJ,CAAC;AApBD,0CAoBC","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 QuantityFormat\n */\n\nimport * as React from \"react\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { FormatProps, FormatType, parseFormatType } from \"@itwin/core-quantity\";\nimport { DecimalPrecisionSelector } from \"./misc/DecimalPrecision\";\nimport { FractionPrecisionSelector } from \"./misc/FractionPrecision\";\nimport { UiIModelComponents } from \"../UiIModelComponents\";\n\n/** Properties of [[FormatPrecision]] component.\n * @alpha\n */\nexport interface FormatPrecisionProps extends CommonProps {\n formatProps: FormatProps;\n onChange?: (format: FormatProps) => void;\n}\n\n/** Component to show/edit Quantity Format Precision.\n * @alpha\n */\nexport function FormatPrecision(props: FormatPrecisionProps) {\n const { formatProps, onChange } = props;\n\n const handlePrecisionChange = React.useCallback((precision: number) => {\n const newFormatProps = { ...formatProps, precision };\n onChange && onChange(newFormatProps);\n }, [formatProps, onChange]);\n\n const formatType = parseFormatType(formatProps.type, \"format\");\n\n const label = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.precision\"));\n return (\n <>\n <span className={\"uicore-label\"}>{label.current}</span>\n {formatType === FormatType.Fractional ?\n <FractionPrecisionSelector data-testid=\"fraction-precision-selector\" precision={formatProps.precision ?? 0} onChange={handlePrecisionChange} /> :\n <DecimalPrecisionSelector data-testid=\"decimal-precision-selector\" precision={formatProps.precision ?? 0} onChange={handlePrecisionChange} />\n }\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"FormatPrecision.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPrecision.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAE/B,wDAAgF;AAChF,8DAAmE;AACnE,gEAAqE;AACrE,8DAA2D;AAU3D;;GAEG;AACH,SAAgB,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,CAAC;QACrD,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAA,+BAAe,EAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,uCAAkB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC5F,OAAO,CACL;QACE,8BAAM,SAAS,EAAE,cAAc,IAAG,KAAK,CAAC,OAAO,CAAQ;QACtD,UAAU,KAAK,0BAAU,CAAC,UAAU,CAAC,CAAC;YACrC,oBAAC,6CAAyB,mBAAa,6BAA6B,EAAC,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,GAAI,CAAC,CAAC;YACjJ,oBAAC,2CAAwB,mBAAa,4BAA4B,EAAC,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,GAAI,CAE9I,CACJ,CAAC;AACJ,CAAC;AApBD,0CAoBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module QuantityFormat\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { FormatProps, FormatType, parseFormatType } from \"@itwin/core-quantity\";\r\nimport { DecimalPrecisionSelector } from \"./misc/DecimalPrecision\";\r\nimport { FractionPrecisionSelector } from \"./misc/FractionPrecision\";\r\nimport { UiIModelComponents } from \"../UiIModelComponents\";\r\n\r\n/** Properties of [[FormatPrecision]] component.\r\n * @alpha\r\n */\r\nexport interface FormatPrecisionProps extends CommonProps {\r\n formatProps: FormatProps;\r\n onChange?: (format: FormatProps) => void;\r\n}\r\n\r\n/** Component to show/edit Quantity Format Precision.\r\n * @alpha\r\n */\r\nexport function FormatPrecision(props: FormatPrecisionProps) {\r\n const { formatProps, onChange } = props;\r\n\r\n const handlePrecisionChange = React.useCallback((precision: number) => {\r\n const newFormatProps = { ...formatProps, precision };\r\n onChange && onChange(newFormatProps);\r\n }, [formatProps, onChange]);\r\n\r\n const formatType = parseFormatType(formatProps.type, \"format\");\r\n\r\n const label = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.precision\"));\r\n return (\r\n <>\r\n <span className={\"uicore-label\"}>{label.current}</span>\r\n {formatType === FormatType.Fractional ?\r\n <FractionPrecisionSelector data-testid=\"fraction-precision-selector\" precision={formatProps.precision ?? 0} onChange={handlePrecisionChange} /> :\r\n <DecimalPrecisionSelector data-testid=\"decimal-precision-selector\" precision={formatProps.precision ?? 0} onChange={handlePrecisionChange} />\r\n }\r\n </>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FormatSample.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatSample.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAI7D;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,eAuDpD"}
1
+ {"version":3,"file":"FormatSample.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatSample.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAC;AAKtD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,eAuDpD"}
@@ -8,7 +8,11 @@
8
8
  */
9
9
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
10
  if (k2 === undefined) k2 = k;
11
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
12
16
  }) : (function(o, m, k, k2) {
13
17
  if (k2 === undefined) k2 = k;
14
18
  o[k2] = m[k];
@@ -32,16 +36,17 @@ const appui_abstract_1 = require("@itwin/appui-abstract");
32
36
  const core_react_1 = require("@itwin/core-react");
33
37
  const itwinui_react_1 = require("@itwin/itwinui-react");
34
38
  const UiIModelComponents_1 = require("../UiIModelComponents");
39
+ const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
35
40
  /** Component to show the persistence value and formatted value given a FormatterSpec.
36
41
  * @alpha
37
42
  */
38
43
  function FormatSample(props) {
39
44
  const { initialMagnitude, formatSpec, hideLabels } = props;
40
- const initialValue = initialMagnitude !== null && initialMagnitude !== void 0 ? initialMagnitude : 0;
45
+ const initialValue = initialMagnitude ?? 0;
41
46
  const [magnitude, setMagnitude] = React.useState(initialValue);
42
47
  const [sampleValue, setSampleValue] = React.useState(initialValue.toString());
43
48
  React.useEffect(() => {
44
- const value = initialMagnitude !== null && initialMagnitude !== void 0 ? initialMagnitude : 0;
49
+ const value = initialMagnitude ?? 0;
45
50
  setMagnitude(value);
46
51
  setSampleValue(value.toString());
47
52
  }, [initialMagnitude]);
@@ -76,8 +81,8 @@ function FormatSample(props) {
76
81
  React.createElement(itwinui_react_1.Input, { "data-testid": "format-sample-input", className: "components-quantity-persistence-input", value: sampleValue, onChange: handleOnValueChange, onKeyDown: handleKeyDown, onBlur: handleOnValueBlur, size: "small" }),
77
82
  activePersistenceUnitLabel),
78
83
  !hideLabels && React.createElement("span", { className: "uicore-label" }, formattedLabel.current),
79
- React.createElement("span", null,
80
- hideLabels && (formattedValue.length > 0) && React.createElement(core_react_1.WebFontIcon, { iconName: "icon-progress-forward-2" }),
84
+ React.createElement("span", { "data-testid": "progress-forward" },
85
+ hideLabels && (formattedValue.length > 0) && React.createElement(core_react_1.Icon, { iconSpec: React.createElement(itwinui_icons_react_1.SvgProgressForward, null) }),
81
86
  React.createElement("span", { "data-testid": "format-sample-formatted", className: "uicore-label components-quantity-formatted-sample" }, formattedValue))));
82
87
  }
83
88
  exports.FormatSample = FormatSample;
@@ -1 +1 @@
1
- {"version":3,"file":"FormatSample.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatSample.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 QuantityFormat\n */\n\nimport * as React from \"react\";\nimport { FormatterSpec } from \"@itwin/core-quantity\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { CommonProps, WebFontIcon } from \"@itwin/core-react\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport { UiIModelComponents } from \"../UiIModelComponents\";\n\n/** Properties of [[FormatSample]] component.\n * @alpha\n */\nexport interface FormatSampleProps extends CommonProps {\n formatSpec?: FormatterSpec;\n initialMagnitude?: number;\n hideLabels?: boolean;\n}\n\n/** Component to show the persistence value and formatted value given a FormatterSpec.\n * @alpha\n */\nexport function FormatSample(props: FormatSampleProps) {\n const { initialMagnitude, formatSpec, hideLabels } = props;\n const initialValue = initialMagnitude ?? 0;\n const [magnitude, setMagnitude] = React.useState(initialValue);\n const [sampleValue, setSampleValue] = React.useState(initialValue.toString());\n\n React.useEffect(() => {\n const value = initialMagnitude ?? 0;\n setMagnitude(value);\n setSampleValue(value.toString());\n }, [initialMagnitude]);\n\n const handleOnValueBlur = React.useCallback(() => {\n let newValue = Number.parseFloat(sampleValue);\n if (Number.isNaN(newValue))\n newValue = 0;\n setMagnitude(newValue);\n setSampleValue(newValue.toString());\n }, [sampleValue]);\n\n const handleOnValueChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setSampleValue(event.target.value);\n }, []);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (e.key === SpecialKey.Enter) {\n let newValue = Number.parseFloat(sampleValue);\n if (Number.isNaN(newValue))\n newValue = 0;\n setMagnitude(newValue);\n setSampleValue(newValue.toString());\n e.preventDefault();\n }\n }, [sampleValue]);\n\n const activePersistenceUnitLabel = formatSpec ? formatSpec.persistenceUnit.label : \"\";\n const formattedValue = formatSpec ? formatSpec.applyFormatting(magnitude) : \"\";\n\n const valueLabel = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.value\"));\n const formattedLabel = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.formatted\"));\n\n return (\n <>\n {!hideLabels && <span className={\"uicore-label\"}>{valueLabel.current}</span>}\n <span className=\"components-inline\">\n <Input data-testid=\"format-sample-input\" className={\"components-quantity-persistence-input\"} value={sampleValue} onChange={handleOnValueChange} onKeyDown={handleKeyDown} onBlur={handleOnValueBlur} size=\"small\" />{activePersistenceUnitLabel}\n </span>\n {!hideLabels && <span className={\"uicore-label\"}>{formattedLabel.current}</span>}\n <span>\n {hideLabels && (formattedValue.length > 0) && <WebFontIcon iconName=\"icon-progress-forward-2\" />}\n <span data-testid=\"format-sample-formatted\" className={\"uicore-label components-quantity-formatted-sample\"}>{formattedValue}</span>\n </span>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"FormatSample.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatSample.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module QuantityFormat\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { FormatterSpec } from \"@itwin/core-quantity\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { Input } from \"@itwin/itwinui-react\";\r\nimport { UiIModelComponents } from \"../UiIModelComponents\";\r\nimport { SvgProgressForward } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Properties of [[FormatSample]] component.\r\n * @alpha\r\n */\r\nexport interface FormatSampleProps extends CommonProps {\r\n formatSpec?: FormatterSpec;\r\n initialMagnitude?: number;\r\n hideLabels?: boolean;\r\n}\r\n\r\n/** Component to show the persistence value and formatted value given a FormatterSpec.\r\n * @alpha\r\n */\r\nexport function FormatSample(props: FormatSampleProps) {\r\n const { initialMagnitude, formatSpec, hideLabels } = props;\r\n const initialValue = initialMagnitude ?? 0;\r\n const [magnitude, setMagnitude] = React.useState(initialValue);\r\n const [sampleValue, setSampleValue] = React.useState(initialValue.toString());\r\n\r\n React.useEffect(() => {\r\n const value = initialMagnitude ?? 0;\r\n setMagnitude(value);\r\n setSampleValue(value.toString());\r\n }, [initialMagnitude]);\r\n\r\n const handleOnValueBlur = React.useCallback(() => {\r\n let newValue = Number.parseFloat(sampleValue);\r\n if (Number.isNaN(newValue))\r\n newValue = 0;\r\n setMagnitude(newValue);\r\n setSampleValue(newValue.toString());\r\n }, [sampleValue]);\r\n\r\n const handleOnValueChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setSampleValue(event.target.value);\r\n }, []);\r\n\r\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {\r\n // istanbul ignore else\r\n if (e.key === SpecialKey.Enter) {\r\n let newValue = Number.parseFloat(sampleValue);\r\n if (Number.isNaN(newValue))\r\n newValue = 0;\r\n setMagnitude(newValue);\r\n setSampleValue(newValue.toString());\r\n e.preventDefault();\r\n }\r\n }, [sampleValue]);\r\n\r\n const activePersistenceUnitLabel = formatSpec ? formatSpec.persistenceUnit.label : \"\";\r\n const formattedValue = formatSpec ? formatSpec.applyFormatting(magnitude) : \"\";\r\n\r\n const valueLabel = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.value\"));\r\n const formattedLabel = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.formatted\"));\r\n\r\n return (\r\n <>\r\n {!hideLabels && <span className={\"uicore-label\"}>{valueLabel.current}</span>}\r\n <span className=\"components-inline\">\r\n <Input data-testid=\"format-sample-input\" className={\"components-quantity-persistence-input\"} value={sampleValue} onChange={handleOnValueChange} onKeyDown={handleKeyDown} onBlur={handleOnValueBlur} size=\"small\" />{activePersistenceUnitLabel}\r\n </span>\r\n {!hideLabels && <span className={\"uicore-label\"}>{formattedLabel.current}</span>}\r\n <span data-testid=\"progress-forward\">\r\n {hideLabels && (formattedValue.length > 0) && <Icon iconSpec={<SvgProgressForward />} />}\r\n <span data-testid=\"format-sample-formatted\" className={\"uicore-label components-quantity-formatted-sample\"}>{formattedValue}</span>\r\n </span>\r\n </>\r\n );\r\n}\r\n"]}
@@ -8,7 +8,11 @@
8
8
  */
9
9
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
10
  if (k2 === undefined) k2 = k;
11
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
12
16
  }) : (function(o, m, k, k2) {
13
17
  if (k2 === undefined) k2 = k;
14
18
  o[k2] = m[k];
@@ -53,7 +57,6 @@ function FormatTypeSelector(props) {
53
57
  function FormatTypeOption(props) {
54
58
  const { formatProps, onChange } = props;
55
59
  const handleFormatTypeChange = React.useCallback((newType) => {
56
- var _a;
57
60
  const type = (0, core_quantity_1.formatTypeToString)(newType);
58
61
  let precision;
59
62
  let stationOffsetSize;
@@ -68,7 +71,7 @@ function FormatTypeOption(props) {
68
71
  break;
69
72
  case core_quantity_1.FormatType.Station:
70
73
  precision = core_quantity_1.DecimalPrecision.Two;
71
- stationOffsetSize = ((_a = formatProps.composite) === null || _a === void 0 ? void 0 : _a.units[0].name.toLocaleLowerCase().endsWith("m")) ? 3 : 2;
74
+ stationOffsetSize = formatProps.composite?.units[0].name.toLocaleLowerCase().endsWith("m") ? 3 : 2;
72
75
  break;
73
76
  case core_quantity_1.FormatType.Fractional:
74
77
  precision = core_quantity_1.FractionalPrecision.Eight;