@itwin/imodel-components-react 3.6.0-dev.7 → 3.6.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.
Files changed (346) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts +28 -28
  4. package/lib/cjs/imodel-components-react/UiIModelComponents.js +79 -79
  5. package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
  6. package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts +36 -36
  7. package/lib/cjs/imodel-components-react/color/AlphaSlider.js +186 -186
  8. package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -1
  9. package/lib/cjs/imodel-components-react/color/AlphaSlider.scss +63 -63
  10. package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
  11. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js +107 -107
  12. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  13. package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +91 -91
  14. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
  15. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js +74 -74
  16. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  17. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts +21 -21
  18. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js +145 -145
  19. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  20. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.scss +93 -93
  21. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
  22. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js +137 -137
  23. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  24. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +64 -64
  25. package/lib/cjs/imodel-components-react/color/HueSlider.d.ts +22 -22
  26. package/lib/cjs/imodel-components-react/color/HueSlider.js +199 -199
  27. package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -1
  28. package/lib/cjs/imodel-components-react/color/HueSlider.scss +61 -61
  29. package/lib/cjs/imodel-components-react/color/SaturationPicker.d.ts +20 -20
  30. package/lib/cjs/imodel-components-react/color/SaturationPicker.js +213 -213
  31. package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -1
  32. package/lib/cjs/imodel-components-react/color/SaturationPicker.scss +35 -35
  33. package/lib/cjs/imodel-components-react/color/Swatch.d.ts +22 -22
  34. package/lib/cjs/imodel-components-react/color/Swatch.js +60 -60
  35. package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -1
  36. package/lib/cjs/imodel-components-react/color/Swatch.scss +23 -23
  37. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
  38. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js +23 -23
  39. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  40. package/lib/cjs/imodel-components-react/editors/ColorEditor.d.ts +44 -44
  41. package/lib/cjs/imodel-components-react/editors/ColorEditor.js +151 -151
  42. package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -1
  43. package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +18 -18
  44. package/lib/cjs/imodel-components-react/editors/WeightEditor.d.ts +47 -47
  45. package/lib/cjs/imodel-components-react/editors/WeightEditor.js +160 -160
  46. package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -1
  47. package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +16 -16
  48. package/lib/cjs/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
  49. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js +96 -96
  50. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  51. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
  52. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js +265 -265
  53. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  54. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +107 -107
  55. package/lib/cjs/imodel-components-react/lineweight/Swatch.d.ts +33 -33
  56. package/lib/cjs/imodel-components-react/lineweight/Swatch.js +85 -85
  57. package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -1
  58. package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +48 -48
  59. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
  60. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js +159 -159
  61. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  62. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +52 -52
  63. package/lib/cjs/imodel-components-react/navigationaids/Cube.d.ts +45 -45
  64. package/lib/cjs/imodel-components-react/navigationaids/Cube.js +127 -127
  65. package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -1
  66. package/lib/cjs/imodel-components-react/navigationaids/Cube.scss +19 -19
  67. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -174
  68. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  69. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +634 -634
  70. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  71. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +180 -180
  72. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
  73. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js +647 -647
  74. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  75. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +133 -133
  76. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
  77. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js +99 -99
  78. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  79. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +64 -64
  80. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
  81. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js +53 -53
  82. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  83. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
  84. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js +83 -83
  85. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  86. package/lib/cjs/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
  87. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js +86 -86
  88. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  89. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
  90. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js +109 -109
  91. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  92. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
  93. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js +133 -133
  94. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  95. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
  96. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js +184 -184
  97. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  98. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
  99. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +154 -154
  100. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  101. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
  102. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js +59 -59
  103. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  104. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
  105. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js +47 -47
  106. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  107. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
  108. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js +54 -54
  109. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  110. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
  111. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js +48 -48
  112. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  113. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
  114. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js +50 -50
  115. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  116. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
  117. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +58 -58
  118. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  119. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
  120. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js +47 -47
  121. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  122. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
  123. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js +56 -56
  124. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  125. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
  126. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +95 -95
  127. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  128. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
  129. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js +119 -119
  130. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  131. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
  132. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js +143 -143
  133. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  134. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
  135. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js +69 -69
  136. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  137. package/lib/cjs/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
  138. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js +81 -81
  139. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  140. package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +26 -26
  141. package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
  142. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js +91 -91
  143. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  144. package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +25 -25
  145. package/lib/cjs/imodel-components-react/timeline/Scrubber.d.ts +54 -54
  146. package/lib/cjs/imodel-components-react/timeline/Scrubber.js +191 -191
  147. package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -1
  148. package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +106 -106
  149. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
  150. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js +424 -424
  151. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  152. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +357 -357
  153. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
  154. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js +54 -54
  155. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  156. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  157. package/lib/cjs/imodel-components-react/timeline/Timeline.scss +164 -164
  158. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts +133 -133
  159. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js +358 -358
  160. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  161. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +163 -163
  162. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +174 -174
  163. package/lib/cjs/imodel-components-react/timeline/interfaces.js +45 -45
  164. package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
  165. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
  166. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js +274 -274
  167. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  168. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
  169. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js +105 -105
  170. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  171. package/lib/cjs/imodel-components-react.d.ts +82 -82
  172. package/lib/cjs/imodel-components-react.js +101 -101
  173. package/lib/cjs/imodel-components-react.js.map +1 -1
  174. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts +28 -28
  175. package/lib/esm/imodel-components-react/UiIModelComponents.js +75 -75
  176. package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
  177. package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +36 -36
  178. package/lib/esm/imodel-components-react/color/AlphaSlider.js +160 -160
  179. package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -1
  180. package/lib/esm/imodel-components-react/color/AlphaSlider.scss +63 -63
  181. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
  182. package/lib/esm/imodel-components-react/color/ColorPickerButton.js +82 -82
  183. package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  184. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +91 -91
  185. package/lib/esm/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
  186. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js +51 -51
  187. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  188. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +21 -21
  189. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +122 -122
  190. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  191. package/lib/esm/imodel-components-react/color/ColorPickerPanel.scss +93 -93
  192. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
  193. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +112 -112
  194. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  195. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +64 -64
  196. package/lib/esm/imodel-components-react/color/HueSlider.d.ts +22 -22
  197. package/lib/esm/imodel-components-react/color/HueSlider.js +173 -173
  198. package/lib/esm/imodel-components-react/color/HueSlider.js.map +1 -1
  199. package/lib/esm/imodel-components-react/color/HueSlider.scss +61 -61
  200. package/lib/esm/imodel-components-react/color/SaturationPicker.d.ts +20 -20
  201. package/lib/esm/imodel-components-react/color/SaturationPicker.js +187 -187
  202. package/lib/esm/imodel-components-react/color/SaturationPicker.js.map +1 -1
  203. package/lib/esm/imodel-components-react/color/SaturationPicker.scss +35 -35
  204. package/lib/esm/imodel-components-react/color/Swatch.d.ts +22 -22
  205. package/lib/esm/imodel-components-react/color/Swatch.js +34 -34
  206. package/lib/esm/imodel-components-react/color/Swatch.js.map +1 -1
  207. package/lib/esm/imodel-components-react/color/Swatch.scss +23 -23
  208. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
  209. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js +19 -19
  210. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  211. package/lib/esm/imodel-components-react/editors/ColorEditor.d.ts +44 -44
  212. package/lib/esm/imodel-components-react/editors/ColorEditor.js +124 -124
  213. package/lib/esm/imodel-components-react/editors/ColorEditor.js.map +1 -1
  214. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +18 -18
  215. package/lib/esm/imodel-components-react/editors/WeightEditor.d.ts +47 -47
  216. package/lib/esm/imodel-components-react/editors/WeightEditor.js +133 -133
  217. package/lib/esm/imodel-components-react/editors/WeightEditor.js.map +1 -1
  218. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +16 -16
  219. package/lib/esm/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
  220. package/lib/esm/imodel-components-react/inputs/QuantityInput.js +70 -70
  221. package/lib/esm/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  222. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
  223. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +240 -240
  224. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  225. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +107 -107
  226. package/lib/esm/imodel-components-react/lineweight/Swatch.d.ts +33 -33
  227. package/lib/esm/imodel-components-react/lineweight/Swatch.js +59 -59
  228. package/lib/esm/imodel-components-react/lineweight/Swatch.js.map +1 -1
  229. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +48 -48
  230. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
  231. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +133 -133
  232. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  233. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +52 -52
  234. package/lib/esm/imodel-components-react/navigationaids/Cube.d.ts +45 -45
  235. package/lib/esm/imodel-components-react/navigationaids/Cube.js +100 -100
  236. package/lib/esm/imodel-components-react/navigationaids/Cube.js.map +1 -1
  237. package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -19
  238. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -174
  239. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  240. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +606 -606
  241. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  242. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +180 -180
  243. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
  244. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +620 -620
  245. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  246. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +133 -133
  247. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
  248. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +76 -76
  249. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  250. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +64 -64
  251. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
  252. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +30 -30
  253. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  254. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
  255. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +60 -60
  256. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  257. package/lib/esm/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
  258. package/lib/esm/imodel-components-react/quantityformat/FormatType.js +63 -63
  259. package/lib/esm/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  260. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
  261. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +83 -83
  262. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  263. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
  264. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +110 -110
  265. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  266. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
  267. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +158 -158
  268. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  269. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
  270. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js +131 -131
  271. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  272. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
  273. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js +36 -36
  274. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  275. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
  276. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js +24 -24
  277. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  278. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
  279. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js +31 -31
  280. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  281. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
  282. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js +25 -25
  283. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  284. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
  285. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js +27 -27
  286. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  287. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
  288. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +35 -35
  289. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  290. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
  291. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js +24 -24
  292. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  293. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
  294. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js +33 -33
  295. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  296. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
  297. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +69 -69
  298. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  299. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
  300. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js +96 -96
  301. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  302. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
  303. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +139 -139
  304. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  305. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
  306. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js +65 -65
  307. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  308. package/lib/esm/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
  309. package/lib/esm/imodel-components-react/timeline/InlineEdit.js +55 -55
  310. package/lib/esm/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  311. package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +26 -26
  312. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
  313. package/lib/esm/imodel-components-react/timeline/PlayerButton.js +64 -64
  314. package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  315. package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +25 -25
  316. package/lib/esm/imodel-components-react/timeline/Scrubber.d.ts +54 -54
  317. package/lib/esm/imodel-components-react/timeline/Scrubber.js +164 -164
  318. package/lib/esm/imodel-components-react/timeline/Scrubber.js.map +1 -1
  319. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +106 -106
  320. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
  321. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +398 -398
  322. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  323. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +357 -357
  324. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
  325. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js +28 -28
  326. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  327. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  328. package/lib/esm/imodel-components-react/timeline/Timeline.scss +164 -164
  329. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +133 -133
  330. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +332 -332
  331. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  332. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +163 -163
  333. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +174 -174
  334. package/lib/esm/imodel-components-react/timeline/interfaces.js +42 -42
  335. package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
  336. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
  337. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +251 -251
  338. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  339. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
  340. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +95 -95
  341. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  342. package/lib/esm/imodel-components-react.d.ts +82 -82
  343. package/lib/esm/imodel-components-react.js +87 -87
  344. package/lib/esm/imodel-components-react.js.map +1 -1
  345. package/lib/public/locales/en/UiIModelComponents.json +139 -139
  346. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTimelineDataProvider.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/BaseTimelineDataProvider.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;GAEG;AACH,MAAa,wBAAwB;IAUnC,YAAY,QAAyB;QATrB,OAAE,GAAG,0BAA0B,CAAC;QAGzC,WAAM,GAAG,EAAE,CAAC;QAEZ,8BAAyB,GAAG,KAAK,CAAC,CAAC,oEAAoE;QACvG,sBAAiB,GAAW,CAAC,CAAC,CAAC,kFAAkF;QAU9G,cAAS,GAAqB;YACtC,QAAQ,EAAE,EAAE,GAAG,IAAI;YACnB,IAAI,EAAE,IAAI;SACX,CAAC;QA2CF,uBAAuB;QAChB,6BAAwB,GAAG,CAAC,SAA2B,EAAE,EAAE;QAClE,CAAC,CAAC;QAEF,uBAAuB;QAChB,+BAA0B,GAAG,CAAC,kBAA0B,EAAE,EAAE;QACnE,CAAC,CAAC;QA1DA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,2BAA2B;QAC3B,IAAI,QAAQ;YACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,CAAC;IAOD,uBAAuB;IAChB,KAAK,CAAC,gBAAgB;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,IAAW,QAAQ;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC;IACzG,CAAC;IAED,6BAA6B;IAC7B,IAAW,QAAQ,CAAC,QAAoC;QACtD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,QAAQ;YACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;;YAE/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,6BAA6B;IAC7B,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAK,CAAC;IAC/G,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC9C,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtD,CAAC;CASF;AAtED,4DAsEC","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 Timeline\r\n */\r\n\r\nimport { ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { PlaybackSettings, TimelineDataProvider } from \"./interfaces\";\r\n\r\n/** Base Timeline Data Provider\r\n * @alpha\r\n */\r\nexport class BaseTimelineDataProvider implements TimelineDataProvider {\r\n public readonly id = \"TestTimelineDataProvider\";\r\n public start: Date | undefined;\r\n public end: Date | undefined;\r\n public viewId = \"\";\r\n\r\n public supportsTimelineAnimation = false; // set to true when provider determines animation data is available.\r\n public animationFraction: number = 0; // value from 0.0 to 1.0 that specifies the percentage complete for the animation.\r\n protected _viewport: ScreenViewport | undefined;\r\n\r\n constructor(viewport?: ScreenViewport) {\r\n this._viewport = viewport;\r\n // istanbul ignore if - WIP\r\n if (viewport)\r\n this.viewId = viewport.view.id;\r\n }\r\n\r\n protected _settings: PlaybackSettings = {\r\n duration: 20 * 1000,\r\n loop: true,\r\n };\r\n\r\n // istanbul ignore next\r\n public async loadTimelineData(): Promise<boolean> {\r\n return false;\r\n }\r\n\r\n /** Called to get the initial scrubber location */\r\n public get initialDuration(): number {\r\n return this.duration * this.animationFraction;\r\n }\r\n\r\n /** Called to get playback duration */\r\n public get duration(): number {\r\n return (this.getSettings().duration) ? this.getSettings().duration! : /* istanbul ignore next */ 20000;\r\n }\r\n\r\n // istanbul ignore next - WIP\r\n public set viewport(viewport: ScreenViewport | undefined) {\r\n this._viewport = viewport;\r\n if (viewport)\r\n this.viewId = viewport.view.id;\r\n else\r\n this.viewId = \"\";\r\n }\r\n\r\n // istanbul ignore next - WIP\r\n public get viewport(): ScreenViewport | undefined {\r\n return this._viewport;\r\n }\r\n\r\n public get loop(): boolean {\r\n return (undefined === this.getSettings().loop) ? /* istanbul ignore next */ false : this.getSettings().loop!;\r\n }\r\n\r\n public getSettings(): PlaybackSettings {\r\n return this._settings;\r\n }\r\n\r\n public updateSettings(settings: PlaybackSettings) {\r\n this._settings = { ...this._settings, ...settings };\r\n }\r\n\r\n // istanbul ignore next\r\n public onPlaybackSettingChanged = (_settings: PlaybackSettings) => {\r\n };\r\n\r\n // istanbul ignore next\r\n public onAnimationFractionChanged = (_animationFraction: number) => {\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"BaseTimelineDataProvider.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/BaseTimelineDataProvider.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;GAEG;AACH,MAAa,wBAAwB;IAUnC,YAAY,QAAyB;QATrB,OAAE,GAAG,0BAA0B,CAAC;QAGzC,WAAM,GAAG,EAAE,CAAC;QAEZ,8BAAyB,GAAG,KAAK,CAAC,CAAC,oEAAoE;QACvG,sBAAiB,GAAW,CAAC,CAAC,CAAC,kFAAkF;QAU9G,cAAS,GAAqB;YACtC,QAAQ,EAAE,EAAE,GAAG,IAAI;YACnB,IAAI,EAAE,IAAI;SACX,CAAC;QA2CF,uBAAuB;QAChB,6BAAwB,GAAG,CAAC,SAA2B,EAAE,EAAE;QAClE,CAAC,CAAC;QAEF,uBAAuB;QAChB,+BAA0B,GAAG,CAAC,kBAA0B,EAAE,EAAE;QACnE,CAAC,CAAC;QA1DA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,2BAA2B;QAC3B,IAAI,QAAQ;YACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,CAAC;IAOD,uBAAuB;IAChB,KAAK,CAAC,gBAAgB;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,IAAW,QAAQ;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC;IACzG,CAAC;IAED,6BAA6B;IAC7B,IAAW,QAAQ,CAAC,QAAoC;QACtD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,QAAQ;YACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;;YAE/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,6BAA6B;IAC7B,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAK,CAAC;IAC/G,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC9C,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtD,CAAC;CASF;AAtED,4DAsEC","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 Timeline\n */\n\nimport { ScreenViewport } from \"@itwin/core-frontend\";\nimport { PlaybackSettings, TimelineDataProvider } from \"./interfaces\";\n\n/** Base Timeline Data Provider\n * @alpha\n */\nexport class BaseTimelineDataProvider implements TimelineDataProvider {\n public readonly id = \"TestTimelineDataProvider\";\n public start: Date | undefined;\n public end: Date | undefined;\n public viewId = \"\";\n\n public supportsTimelineAnimation = false; // set to true when provider determines animation data is available.\n public animationFraction: number = 0; // value from 0.0 to 1.0 that specifies the percentage complete for the animation.\n protected _viewport: ScreenViewport | undefined;\n\n constructor(viewport?: ScreenViewport) {\n this._viewport = viewport;\n // istanbul ignore if - WIP\n if (viewport)\n this.viewId = viewport.view.id;\n }\n\n protected _settings: PlaybackSettings = {\n duration: 20 * 1000,\n loop: true,\n };\n\n // istanbul ignore next\n public async loadTimelineData(): Promise<boolean> {\n return false;\n }\n\n /** Called to get the initial scrubber location */\n public get initialDuration(): number {\n return this.duration * this.animationFraction;\n }\n\n /** Called to get playback duration */\n public get duration(): number {\n return (this.getSettings().duration) ? this.getSettings().duration! : /* istanbul ignore next */ 20000;\n }\n\n // istanbul ignore next - WIP\n public set viewport(viewport: ScreenViewport | undefined) {\n this._viewport = viewport;\n if (viewport)\n this.viewId = viewport.view.id;\n else\n this.viewId = \"\";\n }\n\n // istanbul ignore next - WIP\n public get viewport(): ScreenViewport | undefined {\n return this._viewport;\n }\n\n public get loop(): boolean {\n return (undefined === this.getSettings().loop) ? /* istanbul ignore next */ false : this.getSettings().loop!;\n }\n\n public getSettings(): PlaybackSettings {\n return this._settings;\n }\n\n public updateSettings(settings: PlaybackSettings) {\n this._settings = { ...this._settings, ...settings };\n }\n\n // istanbul ignore next\n public onPlaybackSettingChanged = (_settings: PlaybackSettings) => {\n };\n\n // istanbul ignore next\n public onAnimationFractionChanged = (_animationFraction: number) => {\n };\n}\n"]}
@@ -1,28 +1,28 @@
1
- import "./InlineEdit.scss";
2
- import * as React from "react";
3
- import { CommonProps } from "@itwin/core-react";
4
- interface InlineEditProps extends CommonProps {
5
- defaultValue: string;
6
- onChange?: (value: string) => void;
7
- }
8
- interface InlineEditState {
9
- value: string;
10
- originalValue: string;
11
- }
12
- /** Duration Inline Editor
13
- * @internal
14
- */
15
- export declare class InlineEdit extends React.Component<InlineEditProps, InlineEditState> {
16
- private _inputRef;
17
- constructor(props: InlineEditProps);
18
- /** @internal */
19
- componentDidUpdate(prevProps: InlineEditProps, _prevState: InlineEditState): void;
20
- private _onBlur;
21
- private _onFocus;
22
- private _onKeyDown;
23
- private _onChange;
24
- private _sendChange;
25
- render(): JSX.Element;
26
- }
27
- export {};
1
+ import "./InlineEdit.scss";
2
+ import * as React from "react";
3
+ import { CommonProps } from "@itwin/core-react";
4
+ interface InlineEditProps extends CommonProps {
5
+ defaultValue: string;
6
+ onChange?: (value: string) => void;
7
+ }
8
+ interface InlineEditState {
9
+ value: string;
10
+ originalValue: string;
11
+ }
12
+ /** Duration Inline Editor
13
+ * @internal
14
+ */
15
+ export declare class InlineEdit extends React.Component<InlineEditProps, InlineEditState> {
16
+ private _inputRef;
17
+ constructor(props: InlineEditProps);
18
+ /** @internal */
19
+ componentDidUpdate(prevProps: InlineEditProps, _prevState: InlineEditState): void;
20
+ private _onBlur;
21
+ private _onFocus;
22
+ private _onKeyDown;
23
+ private _onChange;
24
+ private _sendChange;
25
+ render(): JSX.Element;
26
+ }
27
+ export {};
28
28
  //# sourceMappingURL=InlineEdit.d.ts.map
@@ -1,82 +1,82 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.InlineEdit = void 0;
26
- /*---------------------------------------------------------------------------------------------
27
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
28
- * See LICENSE.md in the project root for license terms and full copyright notice.
29
- *--------------------------------------------------------------------------------------------*/
30
- require("./InlineEdit.scss");
31
- const classnames_1 = __importDefault(require("classnames"));
32
- const React = __importStar(require("react"));
33
- const appui_abstract_1 = require("@itwin/appui-abstract");
34
- const itwinui_react_1 = require("@itwin/itwinui-react");
35
- /** Duration Inline Editor
36
- * @internal
37
- */
38
- class InlineEdit extends React.Component {
39
- constructor(props) {
40
- super(props);
41
- this._inputRef = React.createRef();
42
- // istanbul ignore next
43
- this._onBlur = (event) => {
44
- this._sendChange(event.target.value);
45
- };
46
- this._onFocus = (event) => {
47
- event.target.select();
48
- };
49
- this._onKeyDown = (event) => {
50
- switch (event.key) {
51
- case appui_abstract_1.SpecialKey.Escape:
52
- this.setState((prevState) => ({ value: prevState.originalValue }), () => this._inputRef.current.select());
53
- break;
54
- case appui_abstract_1.SpecialKey.Enter:
55
- this._sendChange(this.state.value);
56
- break;
57
- }
58
- };
59
- this._onChange = (event) => {
60
- this.setState({ value: event.target.value });
61
- };
62
- this.state = { value: this.props.defaultValue, originalValue: this.props.defaultValue };
63
- }
64
- /** @internal */
65
- componentDidUpdate(prevProps, _prevState) {
66
- if (prevProps.defaultValue !== this.props.defaultValue) {
67
- this.setState((_, props) => {
68
- return { value: props.defaultValue, originalValue: props.defaultValue };
69
- });
70
- }
71
- }
72
- _sendChange(value) {
73
- // istanbul ignore else
74
- if (this.props.onChange)
75
- this.props.onChange(value);
76
- }
77
- render() {
78
- return (React.createElement(itwinui_react_1.Input, { "data-testid": "timeline-duration-edit-input", className: (0, classnames_1.default)("inline-edit-input", this.props.className), style: this.props.style, ref: this._inputRef, type: "text", value: this.state.value, size: "small", onFocus: this._onFocus, onBlur: this._onBlur, onKeyDown: this._onKeyDown, onChange: this._onChange }));
79
- }
80
- }
81
- exports.InlineEdit = InlineEdit;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.InlineEdit = void 0;
26
+ /*---------------------------------------------------------------------------------------------
27
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
28
+ * See LICENSE.md in the project root for license terms and full copyright notice.
29
+ *--------------------------------------------------------------------------------------------*/
30
+ require("./InlineEdit.scss");
31
+ const classnames_1 = __importDefault(require("classnames"));
32
+ const React = __importStar(require("react"));
33
+ const appui_abstract_1 = require("@itwin/appui-abstract");
34
+ const itwinui_react_1 = require("@itwin/itwinui-react");
35
+ /** Duration Inline Editor
36
+ * @internal
37
+ */
38
+ class InlineEdit extends React.Component {
39
+ constructor(props) {
40
+ super(props);
41
+ this._inputRef = React.createRef();
42
+ // istanbul ignore next
43
+ this._onBlur = (event) => {
44
+ this._sendChange(event.target.value);
45
+ };
46
+ this._onFocus = (event) => {
47
+ event.target.select();
48
+ };
49
+ this._onKeyDown = (event) => {
50
+ switch (event.key) {
51
+ case appui_abstract_1.SpecialKey.Escape:
52
+ this.setState((prevState) => ({ value: prevState.originalValue }), () => this._inputRef.current.select());
53
+ break;
54
+ case appui_abstract_1.SpecialKey.Enter:
55
+ this._sendChange(this.state.value);
56
+ break;
57
+ }
58
+ };
59
+ this._onChange = (event) => {
60
+ this.setState({ value: event.target.value });
61
+ };
62
+ this.state = { value: this.props.defaultValue, originalValue: this.props.defaultValue };
63
+ }
64
+ /** @internal */
65
+ componentDidUpdate(prevProps, _prevState) {
66
+ if (prevProps.defaultValue !== this.props.defaultValue) {
67
+ this.setState((_, props) => {
68
+ return { value: props.defaultValue, originalValue: props.defaultValue };
69
+ });
70
+ }
71
+ }
72
+ _sendChange(value) {
73
+ // istanbul ignore else
74
+ if (this.props.onChange)
75
+ this.props.onChange(value);
76
+ }
77
+ render() {
78
+ return (React.createElement(itwinui_react_1.Input, { "data-testid": "timeline-duration-edit-input", className: (0, classnames_1.default)("inline-edit-input", this.props.className), style: this.props.style, ref: this._inputRef, type: "text", value: this.state.value, size: "small", onFocus: this._onFocus, onBlur: this._onBlur, onKeyDown: this._onKeyDown, onChange: this._onChange }));
79
+ }
80
+ }
81
+ exports.InlineEdit = InlineEdit;
82
82
  //# sourceMappingURL=InlineEdit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineEdit.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/InlineEdit.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,6BAA2B;AAC3B,4DAAoC;AACpC,6CAA+B;AAC/B,0DAAmD;AAEnD,wDAA6C;AAY7C;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK,CAAC,SAA2C;IAG/E,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,cAAS,GAAG,KAAK,CAAC,SAAS,EAAoB,CAAC;QAiBxD,uBAAuB;QACf,YAAO,GAAG,CAAC,KAA0C,EAAE,EAAE;YAC/D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC;QAEM,aAAQ,GAAG,CAAC,KAA0C,EAAE,EAAE;YAChE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC;QAEM,eAAU,GAAG,CAAC,KAA4C,EAAE,EAAE;YACpE,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,2BAAU,CAAC,MAAM;oBACpB,IAAI,CAAC,QAAQ,CACX,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,EACnD,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,2BAAU,CAAC,KAAK;oBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM;aACT;QACH,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,KAA0C,EAAE,EAAE;YACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QApCA,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IAC1F,CAAC;IAED,gBAAgB;IACA,kBAAkB,CAAC,SAA0B,EAAE,UAA2B;QACxF,IAAI,SAAS,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBACzB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1E,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IA4BO,WAAW,CAAC,KAAa;QAC/B,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,qBAAK,mBACQ,8BAA8B,EAC1C,SAAS,EAAE,IAAA,oBAAU,EAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAChE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAI,CAC/B,CAAC;IACJ,CAAC;CACF;AAlED,gCAkEC","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\nimport \"./InlineEdit.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { Input } from \"@itwin/itwinui-react\";\r\n\r\ninterface InlineEditProps extends CommonProps {\r\n defaultValue: string;\r\n onChange?: (value: string) => void;\r\n}\r\n\r\ninterface InlineEditState {\r\n value: string;\r\n originalValue: string;\r\n}\r\n\r\n/** Duration Inline Editor\r\n * @internal\r\n */\r\nexport class InlineEdit extends React.Component<InlineEditProps, InlineEditState> {\r\n private _inputRef = React.createRef<HTMLInputElement>();\r\n\r\n constructor(props: InlineEditProps) {\r\n super(props);\r\n\r\n this.state = { value: this.props.defaultValue, originalValue: this.props.defaultValue };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: InlineEditProps, _prevState: InlineEditState) { // eslint-disable-line @typescript-eslint/naming-convention\r\n if (prevProps.defaultValue !== this.props.defaultValue) {\r\n this.setState((_, props) => {\r\n return { value: props.defaultValue, originalValue: props.defaultValue };\r\n });\r\n }\r\n }\r\n\r\n // istanbul ignore next\r\n private _onBlur = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n this._sendChange(event.target.value);\r\n };\r\n\r\n private _onFocus = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n event.target.select();\r\n };\r\n\r\n private _onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this.setState(\r\n (prevState) => ({ value: prevState.originalValue }),\r\n () => this._inputRef.current!.select());\r\n break;\r\n case SpecialKey.Enter:\r\n this._sendChange(this.state.value);\r\n break;\r\n }\r\n };\r\n\r\n private _onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n this.setState({ value: event.target.value });\r\n };\r\n\r\n private _sendChange(value: string) {\r\n // istanbul ignore else\r\n if (this.props.onChange)\r\n this.props.onChange(value);\r\n }\r\n\r\n public override render() {\r\n return (\r\n <Input\r\n data-testid=\"timeline-duration-edit-input\"\r\n className={classnames(\"inline-edit-input\", this.props.className)}\r\n style={this.props.style}\r\n ref={this._inputRef}\r\n type=\"text\"\r\n value={this.state.value}\r\n size=\"small\"\r\n onFocus={this._onFocus}\r\n onBlur={this._onBlur}\r\n onKeyDown={this._onKeyDown}\r\n onChange={this._onChange} />\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"InlineEdit.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/InlineEdit.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,6BAA2B;AAC3B,4DAAoC;AACpC,6CAA+B;AAC/B,0DAAmD;AAEnD,wDAA6C;AAY7C;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK,CAAC,SAA2C;IAG/E,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,cAAS,GAAG,KAAK,CAAC,SAAS,EAAoB,CAAC;QAiBxD,uBAAuB;QACf,YAAO,GAAG,CAAC,KAA0C,EAAE,EAAE;YAC/D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC;QAEM,aAAQ,GAAG,CAAC,KAA0C,EAAE,EAAE;YAChE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC;QAEM,eAAU,GAAG,CAAC,KAA4C,EAAE,EAAE;YACpE,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,2BAAU,CAAC,MAAM;oBACpB,IAAI,CAAC,QAAQ,CACX,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,EACnD,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,2BAAU,CAAC,KAAK;oBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM;aACT;QACH,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,KAA0C,EAAE,EAAE;YACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QApCA,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IAC1F,CAAC;IAED,gBAAgB;IACA,kBAAkB,CAAC,SAA0B,EAAE,UAA2B;QACxF,IAAI,SAAS,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBACzB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1E,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IA4BO,WAAW,CAAC,KAAa;QAC/B,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,qBAAK,mBACQ,8BAA8B,EAC1C,SAAS,EAAE,IAAA,oBAAU,EAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAChE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAI,CAC/B,CAAC;IACJ,CAAC;CACF;AAlED,gCAkEC","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*--------------------------------------------------------------------------------------------*/\nimport \"./InlineEdit.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { Input } from \"@itwin/itwinui-react\";\n\ninterface InlineEditProps extends CommonProps {\n defaultValue: string;\n onChange?: (value: string) => void;\n}\n\ninterface InlineEditState {\n value: string;\n originalValue: string;\n}\n\n/** Duration Inline Editor\n * @internal\n */\nexport class InlineEdit extends React.Component<InlineEditProps, InlineEditState> {\n private _inputRef = React.createRef<HTMLInputElement>();\n\n constructor(props: InlineEditProps) {\n super(props);\n\n this.state = { value: this.props.defaultValue, originalValue: this.props.defaultValue };\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: InlineEditProps, _prevState: InlineEditState) { // eslint-disable-line @typescript-eslint/naming-convention\n if (prevProps.defaultValue !== this.props.defaultValue) {\n this.setState((_, props) => {\n return { value: props.defaultValue, originalValue: props.defaultValue };\n });\n }\n }\n\n // istanbul ignore next\n private _onBlur = (event: React.ChangeEvent<HTMLInputElement>) => {\n this._sendChange(event.target.value);\n };\n\n private _onFocus = (event: React.ChangeEvent<HTMLInputElement>) => {\n event.target.select();\n };\n\n private _onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n case SpecialKey.Escape:\n this.setState(\n (prevState) => ({ value: prevState.originalValue }),\n () => this._inputRef.current!.select());\n break;\n case SpecialKey.Enter:\n this._sendChange(this.state.value);\n break;\n }\n };\n\n private _onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n this.setState({ value: event.target.value });\n };\n\n private _sendChange(value: string) {\n // istanbul ignore else\n if (this.props.onChange)\n this.props.onChange(value);\n }\n\n public override render() {\n return (\n <Input\n data-testid=\"timeline-duration-edit-input\"\n className={classnames(\"inline-edit-input\", this.props.className)}\n style={this.props.style}\n ref={this._inputRef}\n type=\"text\"\n value={this.state.value}\n size=\"small\"\n onFocus={this._onFocus}\n onBlur={this._onBlur}\n onKeyDown={this._onKeyDown}\n onChange={this._onChange} />\n );\n }\n}\n"]}
@@ -1,27 +1,27 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
-
7
- .inline-edit-input {
8
- color: $buic-foreground-body;
9
- background: inherit;
10
- border: 1px solid transparent;
11
- box-sizing: border-box;
12
-
13
- &.iui-input {
14
- padding: 0px;
15
- }
16
-
17
- &:hover {
18
- border: 1px solid $buic-background-5;
19
- }
20
-
21
- &:focus {
22
- background: $buic-background-1;
23
- border: 1px solid $buic-background-5;
24
- outline: none;
25
- color: $buic-foreground-activehover;
26
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
+
7
+ .inline-edit-input {
8
+ color: $buic-foreground-body;
9
+ background: inherit;
10
+ border: 1px solid transparent;
11
+ box-sizing: border-box;
12
+
13
+ &.iui-input {
14
+ padding: 0px;
15
+ }
16
+
17
+ &:hover {
18
+ border: 1px solid $buic-background-5;
19
+ }
20
+
21
+ &:focus {
22
+ background: $buic-background-1;
23
+ border: 1px solid $buic-background-5;
24
+ outline: none;
25
+ color: $buic-foreground-activehover;
26
+ }
27
27
  }
@@ -1,34 +1,34 @@
1
- import "./PlayerButton.scss";
2
- import * as React from "react";
3
- import { CommonProps } from "@itwin/core-react";
4
- /** Player button used by buttons on timeline control
5
- * @internal
6
- */
7
- export declare class PlayerButton extends React.PureComponent<any> {
8
- private _onClick;
9
- render(): JSX.Element;
10
- }
11
- /** Properties for Play/Pause button used on timeline control
12
- * @internal
13
- */
14
- export interface PlayerButtonProps extends CommonProps {
15
- isPlaying: boolean;
16
- onPlay?: () => void;
17
- onPause?: () => void;
18
- tooltip?: string;
19
- }
20
- interface PlayButtonState {
21
- isPlaying: boolean;
22
- }
23
- /** Play/Pause button used on timeline control
24
- * @internal
25
- */
26
- export declare class PlayButton extends React.Component<PlayerButtonProps, PlayButtonState> {
27
- constructor(props: PlayerButtonProps, context?: any);
28
- /** @internal */
29
- componentDidUpdate(): void;
30
- private _onClick;
31
- render(): JSX.Element;
32
- }
33
- export {};
1
+ import "./PlayerButton.scss";
2
+ import * as React from "react";
3
+ import { CommonProps } from "@itwin/core-react";
4
+ /** Player button used by buttons on timeline control
5
+ * @internal
6
+ */
7
+ export declare class PlayerButton extends React.PureComponent<any> {
8
+ private _onClick;
9
+ render(): JSX.Element;
10
+ }
11
+ /** Properties for Play/Pause button used on timeline control
12
+ * @internal
13
+ */
14
+ export interface PlayerButtonProps extends CommonProps {
15
+ isPlaying: boolean;
16
+ onPlay?: () => void;
17
+ onPause?: () => void;
18
+ tooltip?: string;
19
+ }
20
+ interface PlayButtonState {
21
+ isPlaying: boolean;
22
+ }
23
+ /** Play/Pause button used on timeline control
24
+ * @internal
25
+ */
26
+ export declare class PlayButton extends React.Component<PlayerButtonProps, PlayButtonState> {
27
+ constructor(props: PlayerButtonProps, context?: any);
28
+ /** @internal */
29
+ componentDidUpdate(): void;
30
+ private _onClick;
31
+ render(): JSX.Element;
32
+ }
33
+ export {};
34
34
  //# sourceMappingURL=PlayerButton.d.ts.map
@@ -1,92 +1,92 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.PlayButton = exports.PlayerButton = void 0;
26
- /*---------------------------------------------------------------------------------------------
27
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
28
- * See LICENSE.md in the project root for license terms and full copyright notice.
29
- *--------------------------------------------------------------------------------------------*/
30
- require("./PlayerButton.scss");
31
- const classnames_1 = __importDefault(require("classnames"));
32
- const React = __importStar(require("react"));
33
- const UiIModelComponents_1 = require("../UiIModelComponents");
34
- /** Player button used by buttons on timeline control
35
- * @internal
36
- */
37
- class PlayerButton extends React.PureComponent {
38
- constructor() {
39
- super(...arguments);
40
- this._onClick = () => {
41
- // istanbul ignore else
42
- if (this.props.onClick)
43
- this.props.onClick();
44
- };
45
- }
46
- render() {
47
- const { icon, title } = this.props;
48
- return (React.createElement("button", { "data-testid": this.props.className, className: (0, classnames_1.default)("player-button", this.props.className), onClick: this._onClick, title: title },
49
- React.createElement("span", { className: (0, classnames_1.default)("icon", !!icon) })));
50
- }
51
- }
52
- exports.PlayerButton = PlayerButton;
53
- /** Play/Pause button used on timeline control
54
- * @internal
55
- */
56
- class PlayButton extends React.Component {
57
- constructor(props, context) {
58
- super(props, context);
59
- this._onClick = () => {
60
- const _isPlaying = !this.state.isPlaying;
61
- this.setState({ isPlaying: _isPlaying });
62
- if (_isPlaying) {
63
- // istanbul ignore else
64
- if (this.props.onPlay)
65
- this.props.onPlay();
66
- }
67
- else {
68
- // istanbul ignore else
69
- if (this.props.onPause)
70
- this.props.onPause();
71
- }
72
- };
73
- this.state = { isPlaying: this.props.isPlaying };
74
- }
75
- /** @internal */
76
- componentDidUpdate() {
77
- if (this.props.isPlaying !== this.state.isPlaying) {
78
- this.setState((_, props) => ({ isPlaying: props.isPlaying }));
79
- }
80
- }
81
- render() {
82
- const { tooltip } = this.props;
83
- const iconClassName = this.state.isPlaying ? "icon icon-media-controls-pause" : "icon icon-media-controls-play";
84
- let title = tooltip;
85
- if (!title)
86
- title = UiIModelComponents_1.UiIModelComponents.translate(this.state.isPlaying ? "timeline.pause" : "timeline.play");
87
- return (React.createElement("button", { "data-testid": this.props.className, title: title, className: (0, classnames_1.default)("player-button", this.props.className), onClick: this._onClick },
88
- React.createElement("span", { className: iconClassName })));
89
- }
90
- }
91
- exports.PlayButton = PlayButton;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.PlayButton = exports.PlayerButton = void 0;
26
+ /*---------------------------------------------------------------------------------------------
27
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
28
+ * See LICENSE.md in the project root for license terms and full copyright notice.
29
+ *--------------------------------------------------------------------------------------------*/
30
+ require("./PlayerButton.scss");
31
+ const classnames_1 = __importDefault(require("classnames"));
32
+ const React = __importStar(require("react"));
33
+ const UiIModelComponents_1 = require("../UiIModelComponents");
34
+ /** Player button used by buttons on timeline control
35
+ * @internal
36
+ */
37
+ class PlayerButton extends React.PureComponent {
38
+ constructor() {
39
+ super(...arguments);
40
+ this._onClick = () => {
41
+ // istanbul ignore else
42
+ if (this.props.onClick)
43
+ this.props.onClick();
44
+ };
45
+ }
46
+ render() {
47
+ const { icon, title } = this.props;
48
+ return (React.createElement("button", { "data-testid": this.props.className, className: (0, classnames_1.default)("player-button", this.props.className), onClick: this._onClick, title: title },
49
+ React.createElement("span", { className: (0, classnames_1.default)("icon", !!icon) })));
50
+ }
51
+ }
52
+ exports.PlayerButton = PlayerButton;
53
+ /** Play/Pause button used on timeline control
54
+ * @internal
55
+ */
56
+ class PlayButton extends React.Component {
57
+ constructor(props, context) {
58
+ super(props, context);
59
+ this._onClick = () => {
60
+ const _isPlaying = !this.state.isPlaying;
61
+ this.setState({ isPlaying: _isPlaying });
62
+ if (_isPlaying) {
63
+ // istanbul ignore else
64
+ if (this.props.onPlay)
65
+ this.props.onPlay();
66
+ }
67
+ else {
68
+ // istanbul ignore else
69
+ if (this.props.onPause)
70
+ this.props.onPause();
71
+ }
72
+ };
73
+ this.state = { isPlaying: this.props.isPlaying };
74
+ }
75
+ /** @internal */
76
+ componentDidUpdate() {
77
+ if (this.props.isPlaying !== this.state.isPlaying) {
78
+ this.setState((_, props) => ({ isPlaying: props.isPlaying }));
79
+ }
80
+ }
81
+ render() {
82
+ const { tooltip } = this.props;
83
+ const iconClassName = this.state.isPlaying ? "icon icon-media-controls-pause" : "icon icon-media-controls-play";
84
+ let title = tooltip;
85
+ if (!title)
86
+ title = UiIModelComponents_1.UiIModelComponents.translate(this.state.isPlaying ? "timeline.pause" : "timeline.play");
87
+ return (React.createElement("button", { "data-testid": this.props.className, title: title, className: (0, classnames_1.default)("player-button", this.props.className), onClick: this._onClick },
88
+ React.createElement("span", { className: iconClassName })));
89
+ }
90
+ }
91
+ exports.PlayButton = PlayButton;
92
92
  //# sourceMappingURL=PlayerButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerButton.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/PlayerButton.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\nimport \"./PlayerButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { UiIModelComponents } from \"../UiIModelComponents\";\r\n\r\n/** Player button used by buttons on timeline control\r\n * @internal\r\n */\r\nexport class PlayerButton extends React.PureComponent<any> {\r\n private _onClick = () => {\r\n // istanbul ignore else\r\n if (this.props.onClick)\r\n this.props.onClick();\r\n };\r\n\r\n public override render() {\r\n const { icon, title } = this.props;\r\n return (\r\n <button data-testid={this.props.className} className={classnames(\"player-button\", this.props.className)} onClick={this._onClick} title={title}>\r\n <span className={classnames(\"icon\", !!icon)}></span>\r\n </button>\r\n );\r\n }\r\n}\r\n\r\n/** Properties for Play/Pause button used on timeline control\r\n * @internal\r\n */\r\nexport interface PlayerButtonProps extends CommonProps {\r\n isPlaying: boolean;\r\n onPlay?: () => void;\r\n onPause?: () => void;\r\n tooltip?: string;\r\n}\r\n\r\ninterface PlayButtonState {\r\n isPlaying: boolean;\r\n}\r\n\r\n/** Play/Pause button used on timeline control\r\n * @internal\r\n */\r\nexport class PlayButton extends React.Component<PlayerButtonProps, PlayButtonState> {\r\n\r\n constructor(props: PlayerButtonProps, context?: any) {\r\n super(props, context);\r\n\r\n this.state = { isPlaying: this.props.isPlaying };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate() {\r\n if (this.props.isPlaying !== this.state.isPlaying) {\r\n this.setState((_, props) => ({ isPlaying: props.isPlaying }));\r\n }\r\n }\r\n\r\n private _onClick = () => {\r\n const _isPlaying = !this.state.isPlaying;\r\n\r\n this.setState({ isPlaying: _isPlaying });\r\n\r\n if (_isPlaying) {\r\n // istanbul ignore else\r\n if (this.props.onPlay)\r\n this.props.onPlay();\r\n } else {\r\n // istanbul ignore else\r\n if (this.props.onPause)\r\n this.props.onPause();\r\n }\r\n };\r\n\r\n public override render() {\r\n const { tooltip } = this.props;\r\n const iconClassName = this.state.isPlaying ? \"icon icon-media-controls-pause\" : \"icon icon-media-controls-play\";\r\n let title = tooltip;\r\n\r\n if (!title)\r\n title = UiIModelComponents.translate(this.state.isPlaying ? \"timeline.pause\" : \"timeline.play\");\r\n\r\n return (\r\n <button data-testid={this.props.className} title={title} className={classnames(\"player-button\", this.props.className)} onClick={this._onClick}>\r\n <span className={iconClassName}></span>\r\n </button>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"PlayerButton.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/PlayerButton.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*--------------------------------------------------------------------------------------------*/\nimport \"./PlayerButton.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { UiIModelComponents } from \"../UiIModelComponents\";\n\n/** Player button used by buttons on timeline control\n * @internal\n */\nexport class PlayerButton extends React.PureComponent<any> {\n private _onClick = () => {\n // istanbul ignore else\n if (this.props.onClick)\n this.props.onClick();\n };\n\n public override render() {\n const { icon, title } = this.props;\n return (\n <button data-testid={this.props.className} className={classnames(\"player-button\", this.props.className)} onClick={this._onClick} title={title}>\n <span className={classnames(\"icon\", !!icon)}></span>\n </button>\n );\n }\n}\n\n/** Properties for Play/Pause button used on timeline control\n * @internal\n */\nexport interface PlayerButtonProps extends CommonProps {\n isPlaying: boolean;\n onPlay?: () => void;\n onPause?: () => void;\n tooltip?: string;\n}\n\ninterface PlayButtonState {\n isPlaying: boolean;\n}\n\n/** Play/Pause button used on timeline control\n * @internal\n */\nexport class PlayButton extends React.Component<PlayerButtonProps, PlayButtonState> {\n\n constructor(props: PlayerButtonProps, context?: any) {\n super(props, context);\n\n this.state = { isPlaying: this.props.isPlaying };\n }\n\n /** @internal */\n public override componentDidUpdate() {\n if (this.props.isPlaying !== this.state.isPlaying) {\n this.setState((_, props) => ({ isPlaying: props.isPlaying }));\n }\n }\n\n private _onClick = () => {\n const _isPlaying = !this.state.isPlaying;\n\n this.setState({ isPlaying: _isPlaying });\n\n if (_isPlaying) {\n // istanbul ignore else\n if (this.props.onPlay)\n this.props.onPlay();\n } else {\n // istanbul ignore else\n if (this.props.onPause)\n this.props.onPause();\n }\n };\n\n public override render() {\n const { tooltip } = this.props;\n const iconClassName = this.state.isPlaying ? \"icon icon-media-controls-pause\" : \"icon icon-media-controls-play\";\n let title = tooltip;\n\n if (!title)\n title = UiIModelComponents.translate(this.state.isPlaying ? \"timeline.pause\" : \"timeline.play\");\n\n return (\n <button data-testid={this.props.className} title={title} className={classnames(\"player-button\", this.props.className)} onClick={this._onClick}>\n <span className={iconClassName}></span>\n </button>\n );\n }\n}\n"]}