@itwin/imodel-components-react 4.0.0-dev.10 → 4.0.0-dev.12

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 (362) hide show
  1. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts +28 -28
  2. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
  3. package/lib/cjs/imodel-components-react/UiIModelComponents.js +77 -79
  4. package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
  5. package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts +36 -36
  6. package/lib/cjs/imodel-components-react/color/AlphaSlider.js +186 -186
  7. package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -1
  8. package/lib/cjs/imodel-components-react/color/AlphaSlider.scss +63 -63
  9. package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
  10. package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
  11. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js +108 -107
  12. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  13. package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +90 -90
  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.d.ts.map +1 -1
  23. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js +139 -137
  24. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  25. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +62 -63
  26. package/lib/cjs/imodel-components-react/color/HueSlider.d.ts +22 -22
  27. package/lib/cjs/imodel-components-react/color/HueSlider.js +199 -199
  28. package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -1
  29. package/lib/cjs/imodel-components-react/color/HueSlider.scss +61 -61
  30. package/lib/cjs/imodel-components-react/color/SaturationPicker.d.ts +20 -20
  31. package/lib/cjs/imodel-components-react/color/SaturationPicker.js +213 -213
  32. package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -1
  33. package/lib/cjs/imodel-components-react/color/SaturationPicker.scss +35 -35
  34. package/lib/cjs/imodel-components-react/color/Swatch.d.ts +22 -22
  35. package/lib/cjs/imodel-components-react/color/Swatch.js +60 -60
  36. package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -1
  37. package/lib/cjs/imodel-components-react/color/Swatch.scss +22 -23
  38. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
  39. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js +23 -23
  40. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  41. package/lib/cjs/imodel-components-react/editors/ColorEditor.d.ts +44 -44
  42. package/lib/cjs/imodel-components-react/editors/ColorEditor.js +151 -151
  43. package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -1
  44. package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +18 -18
  45. package/lib/cjs/imodel-components-react/editors/WeightEditor.d.ts +47 -47
  46. package/lib/cjs/imodel-components-react/editors/WeightEditor.js +160 -160
  47. package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -1
  48. package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +16 -16
  49. package/lib/cjs/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
  50. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js +96 -96
  51. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  52. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
  53. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
  54. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js +268 -265
  55. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  56. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +106 -107
  57. package/lib/cjs/imodel-components-react/lineweight/Swatch.d.ts +33 -33
  58. package/lib/cjs/imodel-components-react/lineweight/Swatch.js +85 -85
  59. package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -1
  60. package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +48 -48
  61. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
  62. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js +159 -159
  63. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  64. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +52 -52
  65. package/lib/cjs/imodel-components-react/navigationaids/Cube.d.ts +45 -45
  66. package/lib/cjs/imodel-components-react/navigationaids/Cube.js +127 -127
  67. package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -1
  68. package/lib/cjs/imodel-components-react/navigationaids/Cube.scss +19 -19
  69. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -174
  70. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  71. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +638 -634
  72. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  73. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +178 -182
  74. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
  75. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
  76. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js +653 -647
  77. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  78. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +135 -134
  79. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
  80. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js +99 -99
  81. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  82. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +63 -63
  83. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
  84. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js +53 -53
  85. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  86. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
  87. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
  88. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js +84 -83
  89. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  90. package/lib/cjs/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
  91. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js +86 -86
  92. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  93. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
  94. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js +109 -109
  95. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  96. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
  97. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js +133 -133
  98. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  99. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
  100. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js +184 -184
  101. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  102. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
  103. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +145 -145
  104. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  105. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
  106. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js +59 -59
  107. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  108. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
  109. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js +47 -47
  110. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  111. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
  112. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js +54 -54
  113. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  114. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
  115. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js +48 -48
  116. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  117. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
  118. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js +50 -50
  119. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  120. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
  121. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +58 -58
  122. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  123. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
  124. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js +47 -47
  125. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  126. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
  127. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js +56 -56
  128. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  129. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
  130. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +95 -95
  131. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  132. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
  133. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js +119 -119
  134. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  135. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
  136. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js +143 -143
  137. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  138. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
  139. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js +69 -69
  140. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  141. package/lib/cjs/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
  142. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js +81 -81
  143. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  144. package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +26 -26
  145. package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
  146. package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
  147. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js +95 -91
  148. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  149. package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +28 -31
  150. package/lib/cjs/imodel-components-react/timeline/Scrubber.d.ts +54 -54
  151. package/lib/cjs/imodel-components-react/timeline/Scrubber.js +191 -191
  152. package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -1
  153. package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +105 -112
  154. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
  155. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
  156. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js +428 -424
  157. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  158. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +359 -356
  159. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
  160. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js +54 -54
  161. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  162. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  163. package/lib/cjs/imodel-components-react/timeline/Timeline.scss +164 -164
  164. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts +133 -133
  165. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
  166. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js +365 -358
  167. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  168. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +161 -164
  169. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +174 -174
  170. package/lib/cjs/imodel-components-react/timeline/interfaces.js +45 -45
  171. package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
  172. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
  173. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js +274 -274
  174. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  175. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
  176. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js +105 -105
  177. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  178. package/lib/cjs/imodel-components-react.d.ts +82 -82
  179. package/lib/cjs/imodel-components-react.js +101 -101
  180. package/lib/cjs/imodel-components-react.js.map +1 -1
  181. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts +28 -28
  182. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts.map +1 -1
  183. package/lib/esm/imodel-components-react/UiIModelComponents.js +73 -75
  184. package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
  185. package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +36 -36
  186. package/lib/esm/imodel-components-react/color/AlphaSlider.js +160 -160
  187. package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -1
  188. package/lib/esm/imodel-components-react/color/AlphaSlider.scss +63 -63
  189. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
  190. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -1
  191. package/lib/esm/imodel-components-react/color/ColorPickerButton.js +83 -82
  192. package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  193. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +90 -90
  194. package/lib/esm/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
  195. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js +51 -51
  196. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  197. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +21 -21
  198. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +122 -122
  199. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  200. package/lib/esm/imodel-components-react/color/ColorPickerPanel.scss +93 -93
  201. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
  202. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -1
  203. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +114 -112
  204. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  205. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +62 -63
  206. package/lib/esm/imodel-components-react/color/HueSlider.d.ts +22 -22
  207. package/lib/esm/imodel-components-react/color/HueSlider.js +173 -173
  208. package/lib/esm/imodel-components-react/color/HueSlider.js.map +1 -1
  209. package/lib/esm/imodel-components-react/color/HueSlider.scss +61 -61
  210. package/lib/esm/imodel-components-react/color/SaturationPicker.d.ts +20 -20
  211. package/lib/esm/imodel-components-react/color/SaturationPicker.js +187 -187
  212. package/lib/esm/imodel-components-react/color/SaturationPicker.js.map +1 -1
  213. package/lib/esm/imodel-components-react/color/SaturationPicker.scss +35 -35
  214. package/lib/esm/imodel-components-react/color/Swatch.d.ts +22 -22
  215. package/lib/esm/imodel-components-react/color/Swatch.js +34 -34
  216. package/lib/esm/imodel-components-react/color/Swatch.js.map +1 -1
  217. package/lib/esm/imodel-components-react/color/Swatch.scss +22 -23
  218. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
  219. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js +19 -19
  220. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  221. package/lib/esm/imodel-components-react/editors/ColorEditor.d.ts +44 -44
  222. package/lib/esm/imodel-components-react/editors/ColorEditor.js +124 -124
  223. package/lib/esm/imodel-components-react/editors/ColorEditor.js.map +1 -1
  224. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +18 -18
  225. package/lib/esm/imodel-components-react/editors/WeightEditor.d.ts +47 -47
  226. package/lib/esm/imodel-components-react/editors/WeightEditor.js +133 -133
  227. package/lib/esm/imodel-components-react/editors/WeightEditor.js.map +1 -1
  228. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +16 -16
  229. package/lib/esm/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
  230. package/lib/esm/imodel-components-react/inputs/QuantityInput.js +70 -70
  231. package/lib/esm/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  232. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
  233. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -1
  234. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +243 -240
  235. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  236. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +106 -107
  237. package/lib/esm/imodel-components-react/lineweight/Swatch.d.ts +33 -33
  238. package/lib/esm/imodel-components-react/lineweight/Swatch.js +59 -59
  239. package/lib/esm/imodel-components-react/lineweight/Swatch.js.map +1 -1
  240. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +48 -48
  241. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
  242. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +133 -133
  243. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  244. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +52 -52
  245. package/lib/esm/imodel-components-react/navigationaids/Cube.d.ts +45 -45
  246. package/lib/esm/imodel-components-react/navigationaids/Cube.js +100 -100
  247. package/lib/esm/imodel-components-react/navigationaids/Cube.js.map +1 -1
  248. package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -19
  249. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -174
  250. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  251. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +610 -606
  252. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  253. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +178 -182
  254. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
  255. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -1
  256. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +626 -620
  257. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  258. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +135 -134
  259. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
  260. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +76 -76
  261. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  262. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +63 -63
  263. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
  264. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +30 -30
  265. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  266. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
  267. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -1
  268. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +61 -60
  269. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  270. package/lib/esm/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
  271. package/lib/esm/imodel-components-react/quantityformat/FormatType.js +63 -63
  272. package/lib/esm/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  273. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
  274. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +83 -83
  275. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  276. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
  277. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +110 -110
  278. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  279. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
  280. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +158 -158
  281. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  282. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
  283. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js +122 -122
  284. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  285. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
  286. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js +36 -36
  287. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  288. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
  289. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js +24 -24
  290. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  291. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
  292. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js +31 -31
  293. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  294. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
  295. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js +25 -25
  296. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  297. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
  298. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js +27 -27
  299. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  300. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
  301. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +35 -35
  302. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  303. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
  304. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js +24 -24
  305. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  306. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
  307. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js +33 -33
  308. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  309. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
  310. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +69 -69
  311. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  312. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
  313. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js +96 -96
  314. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  315. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
  316. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +139 -139
  317. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  318. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
  319. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js +65 -65
  320. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  321. package/lib/esm/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
  322. package/lib/esm/imodel-components-react/timeline/InlineEdit.js +55 -55
  323. package/lib/esm/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  324. package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +26 -26
  325. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
  326. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -1
  327. package/lib/esm/imodel-components-react/timeline/PlayerButton.js +68 -64
  328. package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  329. package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +28 -31
  330. package/lib/esm/imodel-components-react/timeline/Scrubber.d.ts +54 -54
  331. package/lib/esm/imodel-components-react/timeline/Scrubber.js +164 -164
  332. package/lib/esm/imodel-components-react/timeline/Scrubber.js.map +1 -1
  333. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +105 -112
  334. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
  335. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -1
  336. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +402 -398
  337. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  338. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +359 -356
  339. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
  340. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js +28 -28
  341. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  342. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  343. package/lib/esm/imodel-components-react/timeline/Timeline.scss +164 -164
  344. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +133 -133
  345. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -1
  346. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +339 -332
  347. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  348. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +161 -164
  349. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +174 -174
  350. package/lib/esm/imodel-components-react/timeline/interfaces.js +42 -42
  351. package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
  352. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
  353. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +251 -251
  354. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  355. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
  356. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +95 -95
  357. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  358. package/lib/esm/imodel-components-react.d.ts +82 -82
  359. package/lib/esm/imodel-components-react.js +87 -87
  360. package/lib/esm/imodel-components-react.js.map +1 -1
  361. package/lib/public/locales/en/UiIModelComponents.json +139 -139
  362. package/package.json +22 -26
@@ -1,38 +1,38 @@
1
- /** @packageDocumentation
2
- * @module Color
3
- */
4
- import "./ColorPickerButton.scss";
5
- import * as React from "react";
6
- import { ColorDef } from "@itwin/core-common";
7
- import { CommonProps } from "@itwin/core-react";
8
- /** Properties for the [[ColorPickerButton]] React component
9
- * @beta
10
- */
11
- export interface ColorPickerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {
12
- /** Active color */
13
- initialColor: ColorDef;
14
- /** Available colors */
15
- colorDefs?: ColorDef[];
16
- /** Function to run when user selects color swatch */
17
- onColorPick?: ((color: ColorDef) => void) | undefined;
18
- /** Show swatches as squares unless round is set to true */
19
- round?: boolean;
20
- /** Disabled or not */
21
- disabled?: boolean;
22
- /** Readonly or not */
23
- readonly?: boolean;
24
- /** Title to show at top of DropDown */
25
- dropDownTitle?: string;
26
- /** Number of columns */
27
- numColumns?: number;
28
- /** Provides ability to return reference to HTMLButtonElement */
29
- ref?: React.Ref<HTMLButtonElement>;
30
- /** If true show up/down caret next to color */
31
- showCaret?: boolean;
32
- }
33
- /** ColorPickerButton component
34
- * @note Using forwardRef so the ColorEditor (Type Editor) can access the ref of the button element inside this component.
35
- * @beta
36
- */
37
- export declare const ColorPickerButton: (props: ColorPickerProps) => JSX.Element | null;
1
+ /** @packageDocumentation
2
+ * @module Color
3
+ */
4
+ import "./ColorPickerButton.scss";
5
+ import * as React from "react";
6
+ import { ColorDef } from "@itwin/core-common";
7
+ import { CommonProps } from "@itwin/core-react";
8
+ /** Properties for the [[ColorPickerButton]] React component
9
+ * @beta
10
+ */
11
+ export interface ColorPickerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {
12
+ /** Active color */
13
+ initialColor: ColorDef;
14
+ /** Available colors */
15
+ colorDefs?: ColorDef[];
16
+ /** Function to run when user selects color swatch */
17
+ onColorPick?: ((color: ColorDef) => void) | undefined;
18
+ /** Show swatches as squares unless round is set to true */
19
+ round?: boolean;
20
+ /** Disabled or not */
21
+ disabled?: boolean;
22
+ /** Readonly or not */
23
+ readonly?: boolean;
24
+ /** Title to show at top of DropDown */
25
+ dropDownTitle?: string;
26
+ /** Number of columns */
27
+ numColumns?: number;
28
+ /** Provides ability to return reference to HTMLButtonElement */
29
+ ref?: React.Ref<HTMLButtonElement>;
30
+ /** If true show up/down caret next to color */
31
+ showCaret?: boolean;
32
+ }
33
+ /** ColorPickerButton component
34
+ * @note Using forwardRef so the ColorEditor (Type Editor) can access the ref of the button element inside this component.
35
+ * @beta
36
+ */
37
+ export declare const ColorPickerButton: (props: ColorPickerProps) => JSX.Element | null;
38
38
  //# sourceMappingURL=ColorPickerButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerButton.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAA+B,MAAM,mBAAmB,CAAC;AAmB7E;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW;IAClG,mBAAmB;IACnB,YAAY,EAAE,QAAQ,CAAC;IACvB,uBAAuB;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,qDAAqD;IACrD,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyFD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC,OAAO,GAAG,IAAkC,CAAC"}
1
+ {"version":3,"file":"ColorPickerButton.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AAoBtE;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW;IAClG,mBAAmB;IACnB,YAAY,EAAE,QAAQ,CAAC;IACvB,uBAAuB;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,qDAAqD;IACrD,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyFD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC,OAAO,GAAG,IAAkC,CAAC"}
@@ -1,83 +1,84 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Color
7
- */
8
- import "./ColorPickerButton.scss";
9
- import classnames from "classnames";
10
- import * as React from "react";
11
- import { ColorByName, ColorDef } from "@itwin/core-common";
12
- import { RelativePosition } from "@itwin/appui-abstract";
13
- import { Popup, useRefs, WebFontIcon } from "@itwin/core-react";
14
- import { ColorSwatch } from "./Swatch";
15
- import { getCSSColorFromDef } from "./getCSSColorFromDef";
16
- // cSpell:ignore colorpicker
17
- function ColorOptions({ handleColorPicked, options, numColumns, round, title }) {
18
- const containerStyle = { gridTemplateColumns: `repeat(${numColumns}, 1fr)` };
19
- return (React.createElement("div", { className: "components-colorpicker-popup-container" },
20
- title && React.createElement("h4", null, title),
21
- React.createElement("div", { "data-testid": "components-colorpicker-popup-colors", className: "components-colorpicker-popup-colors", style: containerStyle }, options.map((color, index) => React.createElement(ColorSwatch, { className: "components-colorpicker-swatch", key: index, colorDef: color, onColorPick: handleColorPicked, round: round })))));
22
- }
23
- // Defined using following pattern (const ColorPickerButton at bottom) to ensure useful API documentation is extracted
24
- const ForwardRefColorPickerButton = React.forwardRef(function ForwardRefColorPickerButton({ className, colorDefs, disabled, dropDownTitle, initialColor, numColumns, onColorPick, readonly, round, showCaret, style }, ref) {
25
- const target = React.useRef(null);
26
- const refs = useRefs(target, ref); // combine ref needed for target with the forwardRef needed by the Parent when parent is a Type Editor.
27
- const [showPopup, setShowPopup] = React.useState(false);
28
- const [colorDef, setColorDef] = React.useState(initialColor);
29
- // See if new initialColor props have changed since component mounted
30
- React.useEffect(() => {
31
- setColorDef(initialColor);
32
- }, [initialColor]);
33
- const defaultColors = React.useRef([
34
- ColorDef.create(ColorByName.red),
35
- ColorDef.create(ColorByName.orange),
36
- ColorDef.create(ColorByName.yellow),
37
- ColorDef.create(ColorByName.green),
38
- ColorDef.create(ColorByName.blue),
39
- ColorDef.create(ColorByName.indigo),
40
- ColorDef.create(ColorByName.violet),
41
- ColorDef.create(ColorByName.black),
42
- ColorDef.create(ColorByName.white),
43
- ColorDef.create(ColorByName.cyan),
44
- ColorDef.create(ColorByName.fuchsia),
45
- ColorDef.create(ColorByName.tan),
46
- ColorDef.create(ColorByName.gray),
47
- ColorDef.create(ColorByName.brown),
48
- ColorDef.create(ColorByName.purple),
49
- ColorDef.create(ColorByName.olive),
50
- ]);
51
- const closePopup = React.useCallback(() => {
52
- setShowPopup(false);
53
- }, []);
54
- const togglePopup = React.useCallback(() => {
55
- setShowPopup(!showPopup);
56
- }, [showPopup]);
57
- const handleColorPicked = React.useCallback((color) => {
58
- closePopup();
59
- // istanbul ignore else
60
- if (!color.equals(colorDef)) {
61
- setColorDef(color);
62
- onColorPick && onColorPick(color);
63
- }
64
- }, [closePopup, colorDef, onColorPick]);
65
- const rgbaString = getCSSColorFromDef(colorDef);
66
- const buttonStyle = { ...style };
67
- const swatchStyle = { backgroundColor: rgbaString };
68
- const buttonClassNames = classnames("components-colorpicker-button", round && "round", readonly && "readonly", className);
69
- const colorOptions = colorDefs && colorDefs.length ? colorDefs : defaultColors.current;
70
- return (React.createElement(React.Fragment, null,
71
- React.createElement("button", { "data-testid": "components-colorpicker-button", "data-value": rgbaString, onClick: togglePopup, className: buttonClassNames, style: buttonStyle, disabled: disabled, ref: refs },
72
- React.createElement("div", { className: "components-colorpicker-button-container" },
73
- React.createElement("div", { className: "components-colorpicker-button-color-swatch", style: swatchStyle }),
74
- showCaret && React.createElement(WebFontIcon, { className: "components-caret", iconName: showPopup ? "icon-caret-up" : "icon-caret-down", iconSize: "x-small" }))),
75
- React.createElement(Popup, { className: "components-colorpicker-popup", isOpen: showPopup, position: RelativePosition.BottomLeft, onClose: closePopup, target: target.current, closeOnNestedPopupOutsideClick: true },
76
- React.createElement(ColorOptions, { handleColorPicked: handleColorPicked, options: colorOptions, numColumns: numColumns !== null && numColumns !== void 0 ? numColumns : 4, round: !!round, title: dropDownTitle }))));
77
- });
78
- /** ColorPickerButton component
79
- * @note Using forwardRef so the ColorEditor (Type Editor) can access the ref of the button element inside this component.
80
- * @beta
81
- */
82
- export const ColorPickerButton = ForwardRefColorPickerButton;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Color
7
+ */
8
+ import "./ColorPickerButton.scss";
9
+ import classnames from "classnames";
10
+ import * as React from "react";
11
+ import { ColorByName, ColorDef } from "@itwin/core-common";
12
+ import { RelativePosition } from "@itwin/appui-abstract";
13
+ import { Icon, Popup, useRefs } from "@itwin/core-react";
14
+ import { ColorSwatch } from "./Swatch";
15
+ import { getCSSColorFromDef } from "./getCSSColorFromDef";
16
+ import { SvgCaretDownSmall, SvgCaretUpSmall } from "@itwin/itwinui-icons-react";
17
+ // cSpell:ignore colorpicker
18
+ function ColorOptions({ handleColorPicked, options, numColumns, round, title }) {
19
+ const containerStyle = { gridTemplateColumns: `repeat(${numColumns}, 1fr)` };
20
+ return (React.createElement("div", { className: "components-colorpicker-popup-container" },
21
+ title && React.createElement("h4", null, title),
22
+ React.createElement("div", { "data-testid": "components-colorpicker-popup-colors", className: "components-colorpicker-popup-colors", style: containerStyle }, options.map((color, index) => React.createElement(ColorSwatch, { className: "components-colorpicker-swatch", key: index, colorDef: color, onColorPick: handleColorPicked, round: round })))));
23
+ }
24
+ // Defined using following pattern (const ColorPickerButton at bottom) to ensure useful API documentation is extracted
25
+ const ForwardRefColorPickerButton = React.forwardRef(function ForwardRefColorPickerButton({ className, colorDefs, disabled, dropDownTitle, initialColor, numColumns, onColorPick, readonly, round, showCaret, style }, ref) {
26
+ const target = React.useRef(null);
27
+ const refs = useRefs(target, ref); // combine ref needed for target with the forwardRef needed by the Parent when parent is a Type Editor.
28
+ const [showPopup, setShowPopup] = React.useState(false);
29
+ const [colorDef, setColorDef] = React.useState(initialColor);
30
+ // See if new initialColor props have changed since component mounted
31
+ React.useEffect(() => {
32
+ setColorDef(initialColor);
33
+ }, [initialColor]);
34
+ const defaultColors = React.useRef([
35
+ ColorDef.create(ColorByName.red),
36
+ ColorDef.create(ColorByName.orange),
37
+ ColorDef.create(ColorByName.yellow),
38
+ ColorDef.create(ColorByName.green),
39
+ ColorDef.create(ColorByName.blue),
40
+ ColorDef.create(ColorByName.indigo),
41
+ ColorDef.create(ColorByName.violet),
42
+ ColorDef.create(ColorByName.black),
43
+ ColorDef.create(ColorByName.white),
44
+ ColorDef.create(ColorByName.cyan),
45
+ ColorDef.create(ColorByName.fuchsia),
46
+ ColorDef.create(ColorByName.tan),
47
+ ColorDef.create(ColorByName.gray),
48
+ ColorDef.create(ColorByName.brown),
49
+ ColorDef.create(ColorByName.purple),
50
+ ColorDef.create(ColorByName.olive),
51
+ ]);
52
+ const closePopup = React.useCallback(() => {
53
+ setShowPopup(false);
54
+ }, []);
55
+ const togglePopup = React.useCallback(() => {
56
+ setShowPopup(!showPopup);
57
+ }, [showPopup]);
58
+ const handleColorPicked = React.useCallback((color) => {
59
+ closePopup();
60
+ // istanbul ignore else
61
+ if (!color.equals(colorDef)) {
62
+ setColorDef(color);
63
+ onColorPick && onColorPick(color);
64
+ }
65
+ }, [closePopup, colorDef, onColorPick]);
66
+ const rgbaString = getCSSColorFromDef(colorDef);
67
+ const buttonStyle = { ...style };
68
+ const swatchStyle = { backgroundColor: rgbaString };
69
+ const buttonClassNames = classnames("components-colorpicker-button", round && "round", readonly && "readonly", className);
70
+ const colorOptions = colorDefs && colorDefs.length ? colorDefs : defaultColors.current;
71
+ return (React.createElement(React.Fragment, null,
72
+ React.createElement("button", { "data-testid": "components-colorpicker-button", "data-value": rgbaString, onClick: togglePopup, className: buttonClassNames, style: buttonStyle, disabled: disabled, ref: refs },
73
+ React.createElement("div", { className: "components-colorpicker-button-container" },
74
+ React.createElement("div", { className: "components-colorpicker-button-color-swatch", style: swatchStyle, "data-testid": showPopup ? "caret-up" : "caret-down" }),
75
+ showCaret && React.createElement(Icon, { className: "components-caret", iconSpec: showPopup ? React.createElement(SvgCaretUpSmall, null) : React.createElement(SvgCaretDownSmall, null) }))),
76
+ React.createElement(Popup, { className: "components-colorpicker-popup", isOpen: showPopup, position: RelativePosition.BottomLeft, onClose: closePopup, target: target.current, closeOnNestedPopupOutsideClick: true },
77
+ React.createElement(ColorOptions, { handleColorPicked: handleColorPicked, options: colorOptions, numColumns: numColumns !== null && numColumns !== void 0 ? numColumns : 4, round: !!round, title: dropDownTitle }))));
78
+ });
79
+ /** ColorPickerButton component
80
+ * @note Using forwardRef so the ColorEditor (Type Editor) can access the ref of the button element inside this component.
81
+ * @beta
82
+ */
83
+ export const ColorPickerButton = ForwardRefColorPickerButton;
83
84
  //# sourceMappingURL=ColorPickerButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerButton.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Color\n */\n\nimport \"./ColorPickerButton.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { ColorByName, ColorDef } from \"@itwin/core-common\";\nimport { RelativePosition } from \"@itwin/appui-abstract\";\nimport { CommonProps, Popup, useRefs, WebFontIcon } from \"@itwin/core-react\";\nimport { ColorSwatch } from \"./Swatch\";\nimport { getCSSColorFromDef } from \"./getCSSColorFromDef\";\n\n// cSpell:ignore colorpicker\n\nfunction ColorOptions({ handleColorPicked, options, numColumns, round, title }: { handleColorPicked: ((color: ColorDef) => void), options: ColorDef[], numColumns: number, round: boolean, title?: string }) {\n const containerStyle: React.CSSProperties = { gridTemplateColumns: `repeat(${numColumns}, 1fr)` };\n return (\n <div className=\"components-colorpicker-popup-container\">\n {title && <h4>{title}</h4>}\n <div data-testid=\"components-colorpicker-popup-colors\" className=\"components-colorpicker-popup-colors\" style={containerStyle}>\n {options.map((color, index) => <ColorSwatch className=\"components-colorpicker-swatch\" key={index} colorDef={color}\n onColorPick={handleColorPicked} round={round} />)}\n </div>\n </div>\n );\n}\n\n/** Properties for the [[ColorPickerButton]] React component\n * @beta\n */\nexport interface ColorPickerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {\n /** Active color */\n initialColor: ColorDef;\n /** Available colors */\n colorDefs?: ColorDef[];\n /** Function to run when user selects color swatch */\n onColorPick?: ((color: ColorDef) => void) | undefined;\n /** Show swatches as squares unless round is set to true */\n round?: boolean;\n /** Disabled or not */\n disabled?: boolean;\n /** Readonly or not */\n readonly?: boolean;\n /** Title to show at top of DropDown */\n dropDownTitle?: string;\n /** Number of columns */\n numColumns?: number;\n /** Provides ability to return reference to HTMLButtonElement */\n ref?: React.Ref<HTMLButtonElement>;\n /** If true show up/down caret next to color */\n showCaret?: boolean;\n}\n\n// Defined using following pattern (const ColorPickerButton at bottom) to ensure useful API documentation is extracted\nconst ForwardRefColorPickerButton = React.forwardRef<HTMLButtonElement, ColorPickerProps>(\n function ForwardRefColorPickerButton({ className, colorDefs, disabled, dropDownTitle, initialColor, numColumns, onColorPick, readonly, round, showCaret, style }, ref) {\n const target = React.useRef<HTMLButtonElement>(null);\n const refs = useRefs(target, ref); // combine ref needed for target with the forwardRef needed by the Parent when parent is a Type Editor.\n const [showPopup, setShowPopup] = React.useState(false);\n const [colorDef, setColorDef] = React.useState(initialColor);\n\n // See if new initialColor props have changed since component mounted\n React.useEffect(() => {\n setColorDef(initialColor);\n }, [initialColor]);\n\n const defaultColors = React.useRef(\n [\n ColorDef.create(ColorByName.red),\n ColorDef.create(ColorByName.orange),\n ColorDef.create(ColorByName.yellow),\n ColorDef.create(ColorByName.green),\n ColorDef.create(ColorByName.blue),\n ColorDef.create(ColorByName.indigo),\n ColorDef.create(ColorByName.violet),\n ColorDef.create(ColorByName.black),\n ColorDef.create(ColorByName.white),\n ColorDef.create(ColorByName.cyan),\n ColorDef.create(ColorByName.fuchsia),\n ColorDef.create(ColorByName.tan),\n ColorDef.create(ColorByName.gray),\n ColorDef.create(ColorByName.brown),\n ColorDef.create(ColorByName.purple),\n ColorDef.create(ColorByName.olive),\n ]);\n\n const closePopup = React.useCallback(() => {\n setShowPopup(false);\n }, []);\n\n const togglePopup = React.useCallback(() => {\n setShowPopup(!showPopup);\n }, [showPopup]);\n\n const handleColorPicked = React.useCallback((color: ColorDef) => {\n closePopup();\n\n // istanbul ignore else\n if (!color.equals(colorDef)) {\n setColorDef(color);\n onColorPick && onColorPick(color);\n }\n }, [closePopup, colorDef, onColorPick]);\n\n const rgbaString = getCSSColorFromDef(colorDef);\n\n const buttonStyle = { ...style } as React.CSSProperties;\n const swatchStyle = { backgroundColor: rgbaString } as React.CSSProperties;\n\n const buttonClassNames = classnames(\"components-colorpicker-button\",\n round && \"round\",\n readonly && \"readonly\",\n className,\n );\n\n const colorOptions = colorDefs && colorDefs.length ? colorDefs : defaultColors.current;\n return (\n <>\n <button data-testid=\"components-colorpicker-button\" data-value={rgbaString} onClick={togglePopup} className={buttonClassNames}\n style={buttonStyle} disabled={disabled} ref={refs} >\n <div className=\"components-colorpicker-button-container\">\n <div className=\"components-colorpicker-button-color-swatch\" style={swatchStyle} />\n {showCaret && <WebFontIcon className=\"components-caret\" iconName={showPopup ? \"icon-caret-up\" : \"icon-caret-down\"} iconSize=\"x-small\" />}\n </div>\n </button>\n <Popup\n className=\"components-colorpicker-popup\"\n isOpen={showPopup}\n position={RelativePosition.BottomLeft}\n onClose={closePopup}\n target={target.current}\n closeOnNestedPopupOutsideClick\n >\n <ColorOptions handleColorPicked={handleColorPicked} options={colorOptions} numColumns={numColumns ?? 4} round={!!round} title={dropDownTitle} />\n </Popup>\n </>\n );\n }\n);\n\n/** ColorPickerButton component\n * @note Using forwardRef so the ColorEditor (Type Editor) can access the ref of the button element inside this component.\n * @beta\n */\nexport const ColorPickerButton: (props: ColorPickerProps) => JSX.Element | null = ForwardRefColorPickerButton;\n\n"]}
1
+ {"version":3,"file":"ColorPickerButton.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerButton.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 Color\r\n */\r\n\r\nimport \"./ColorPickerButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ColorByName, ColorDef } from \"@itwin/core-common\";\r\nimport { RelativePosition } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon, Popup, useRefs } from \"@itwin/core-react\";\r\nimport { ColorSwatch } from \"./Swatch\";\r\nimport { getCSSColorFromDef } from \"./getCSSColorFromDef\";\r\nimport { SvgCaretDownSmall, SvgCaretUpSmall } from \"@itwin/itwinui-icons-react\";\r\n\r\n// cSpell:ignore colorpicker\r\n\r\nfunction ColorOptions({ handleColorPicked, options, numColumns, round, title }: { handleColorPicked: ((color: ColorDef) => void), options: ColorDef[], numColumns: number, round: boolean, title?: string }) {\r\n const containerStyle: React.CSSProperties = { gridTemplateColumns: `repeat(${numColumns}, 1fr)` };\r\n return (\r\n <div className=\"components-colorpicker-popup-container\">\r\n {title && <h4>{title}</h4>}\r\n <div data-testid=\"components-colorpicker-popup-colors\" className=\"components-colorpicker-popup-colors\" style={containerStyle}>\r\n {options.map((color, index) => <ColorSwatch className=\"components-colorpicker-swatch\" key={index} colorDef={color}\r\n onColorPick={handleColorPicked} round={round} />)}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/** Properties for the [[ColorPickerButton]] React component\r\n * @beta\r\n */\r\nexport interface ColorPickerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {\r\n /** Active color */\r\n initialColor: ColorDef;\r\n /** Available colors */\r\n colorDefs?: ColorDef[];\r\n /** Function to run when user selects color swatch */\r\n onColorPick?: ((color: ColorDef) => void) | undefined;\r\n /** Show swatches as squares unless round is set to true */\r\n round?: boolean;\r\n /** Disabled or not */\r\n disabled?: boolean;\r\n /** Readonly or not */\r\n readonly?: boolean;\r\n /** Title to show at top of DropDown */\r\n dropDownTitle?: string;\r\n /** Number of columns */\r\n numColumns?: number;\r\n /** Provides ability to return reference to HTMLButtonElement */\r\n ref?: React.Ref<HTMLButtonElement>;\r\n /** If true show up/down caret next to color */\r\n showCaret?: boolean;\r\n}\r\n\r\n// Defined using following pattern (const ColorPickerButton at bottom) to ensure useful API documentation is extracted\r\nconst ForwardRefColorPickerButton = React.forwardRef<HTMLButtonElement, ColorPickerProps>(\r\n function ForwardRefColorPickerButton({ className, colorDefs, disabled, dropDownTitle, initialColor, numColumns, onColorPick, readonly, round, showCaret, style }, ref) {\r\n const target = React.useRef<HTMLButtonElement>(null);\r\n const refs = useRefs(target, ref); // combine ref needed for target with the forwardRef needed by the Parent when parent is a Type Editor.\r\n const [showPopup, setShowPopup] = React.useState(false);\r\n const [colorDef, setColorDef] = React.useState(initialColor);\r\n\r\n // See if new initialColor props have changed since component mounted\r\n React.useEffect(() => {\r\n setColorDef(initialColor);\r\n }, [initialColor]);\r\n\r\n const defaultColors = React.useRef(\r\n [\r\n ColorDef.create(ColorByName.red),\r\n ColorDef.create(ColorByName.orange),\r\n ColorDef.create(ColorByName.yellow),\r\n ColorDef.create(ColorByName.green),\r\n ColorDef.create(ColorByName.blue),\r\n ColorDef.create(ColorByName.indigo),\r\n ColorDef.create(ColorByName.violet),\r\n ColorDef.create(ColorByName.black),\r\n ColorDef.create(ColorByName.white),\r\n ColorDef.create(ColorByName.cyan),\r\n ColorDef.create(ColorByName.fuchsia),\r\n ColorDef.create(ColorByName.tan),\r\n ColorDef.create(ColorByName.gray),\r\n ColorDef.create(ColorByName.brown),\r\n ColorDef.create(ColorByName.purple),\r\n ColorDef.create(ColorByName.olive),\r\n ]);\r\n\r\n const closePopup = React.useCallback(() => {\r\n setShowPopup(false);\r\n }, []);\r\n\r\n const togglePopup = React.useCallback(() => {\r\n setShowPopup(!showPopup);\r\n }, [showPopup]);\r\n\r\n const handleColorPicked = React.useCallback((color: ColorDef) => {\r\n closePopup();\r\n\r\n // istanbul ignore else\r\n if (!color.equals(colorDef)) {\r\n setColorDef(color);\r\n onColorPick && onColorPick(color);\r\n }\r\n }, [closePopup, colorDef, onColorPick]);\r\n\r\n const rgbaString = getCSSColorFromDef(colorDef);\r\n\r\n const buttonStyle = { ...style } as React.CSSProperties;\r\n const swatchStyle = { backgroundColor: rgbaString } as React.CSSProperties;\r\n\r\n const buttonClassNames = classnames(\"components-colorpicker-button\",\r\n round && \"round\",\r\n readonly && \"readonly\",\r\n className,\r\n );\r\n\r\n const colorOptions = colorDefs && colorDefs.length ? colorDefs : defaultColors.current;\r\n return (\r\n <>\r\n <button data-testid=\"components-colorpicker-button\" data-value={rgbaString} onClick={togglePopup} className={buttonClassNames}\r\n style={buttonStyle} disabled={disabled} ref={refs} >\r\n <div className=\"components-colorpicker-button-container\">\r\n <div className=\"components-colorpicker-button-color-swatch\" style={swatchStyle} data-testid={showPopup ? \"caret-up\" : \"caret-down\"} />\r\n {showCaret && <Icon className=\"components-caret\" iconSpec={showPopup ? <SvgCaretUpSmall /> : <SvgCaretDownSmall /> } />}\r\n </div>\r\n </button>\r\n <Popup\r\n className=\"components-colorpicker-popup\"\r\n isOpen={showPopup}\r\n position={RelativePosition.BottomLeft}\r\n onClose={closePopup}\r\n target={target.current}\r\n closeOnNestedPopupOutsideClick\r\n >\r\n <ColorOptions handleColorPicked={handleColorPicked} options={colorOptions} numColumns={numColumns ?? 4} round={!!round} title={dropDownTitle} />\r\n </Popup>\r\n </>\r\n );\r\n }\r\n);\r\n\r\n/** ColorPickerButton component\r\n * @note Using forwardRef so the ColorEditor (Type Editor) can access the ref of the button element inside this component.\r\n * @beta\r\n */\r\nexport const ColorPickerButton: (props: ColorPickerProps) => JSX.Element | null = ForwardRefColorPickerButton;\r\n\r\n"]}
@@ -1,90 +1,90 @@
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
- button.components-colorpicker-button {
8
- font-family: var(--iui-font-sans);
9
- font-size: var(--iui-font-size-1);
10
- color: $buic-foreground-body;
11
- box-sizing: border-box;
12
- border: 1px solid transparent;
13
- border-radius: var(--iui-border-radius-1);
14
- background-color: transparent;
15
- border: none;
16
- padding: 0;
17
-
18
- > .components-colorpicker-button-container {
19
- display: flex;
20
- flex-direction: row;
21
- align-items: center;
22
- border-radius: var(--iui-border-radius-1);
23
-
24
- > .components-colorpicker-button-color-swatch {
25
- border: 1px solid $buic-inputs-border;
26
- border-radius: var(--iui-border-radius-1);
27
- width: 1.25em;
28
- height: 1.25em;
29
- }
30
-
31
- > .components-caret {
32
- margin-left: 0.25em;
33
- margin-right: 0.25em;
34
- }
35
- }
36
-
37
- &:not(.readonly) {
38
- cursor: pointer;
39
- }
40
-
41
- &:disabled {
42
- pointer-events: none;
43
-
44
- > .components-colorpicker-button-container {
45
- > .components-caret {
46
- color: $buic-icon-color-disabled;
47
- }
48
- }
49
- }
50
-
51
- &.round {
52
- .components-colorpicker-button-container {
53
- border-bottom-left-radius: 50%;
54
- border-top-left-radius: 50%;
55
- }
56
-
57
- .components-colorpicker-button-color-swatch {
58
- border-radius: 50%;
59
- }
60
- }
61
- }
62
-
63
- .components-colorpicker-popup {
64
- border: 1px solid $buic-inputs-border;
65
- border-radius: 6px;
66
-
67
- .components-colorpicker-popup-container {
68
- color: $buic-foreground-body;
69
- background: $buic-background-control;
70
- border-radius: 6px;
71
-
72
- > .components-colorpicker-popup-colors {
73
- display: grid;
74
- grid-gap: 8px;
75
- padding: 8px;
76
-
77
- > .components-colorpicker-swatch {
78
- height: 1.5em;
79
- width: 1.5em;
80
- transition: scale 0.2s ease;
81
- cursor: pointer;
82
- outline: none;
83
-
84
- &:hover {
85
- transform: scale(1.15);
86
- }
87
- }
88
- }
89
- }
90
- }
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
+ button.components-colorpicker-button {
8
+ font-family: var(--iui-font-sans);
9
+ font-size: var(--iui-font-size-1);
10
+ color: var(--iui-color-text);
11
+ box-sizing: border-box;
12
+ border: 1px solid transparent;
13
+ border-radius: var(--iui-border-radius-1);
14
+ background-color: transparent;
15
+ border: none;
16
+ padding: 0;
17
+
18
+ > .components-colorpicker-button-container {
19
+ display: flex;
20
+ flex-direction: row;
21
+ align-items: center;
22
+ border-radius: var(--iui-border-radius-1);
23
+
24
+ > .components-colorpicker-button-color-swatch {
25
+ border: 1px solid var(--iui-color-border-foreground);
26
+ border-radius: var(--iui-border-radius-1);
27
+ width: 1.25em;
28
+ height: 1.25em;
29
+ }
30
+
31
+ > .components-caret {
32
+ margin-left: 0.25em;
33
+ margin-right: 0.25em;
34
+ }
35
+ }
36
+
37
+ &:not(.readonly) {
38
+ cursor: pointer;
39
+ }
40
+
41
+ &:disabled {
42
+ pointer-events: none;
43
+
44
+ > .components-colorpicker-button-container {
45
+ > .components-caret {
46
+ color: $buic-icon-color-disabled;
47
+ }
48
+ }
49
+ }
50
+
51
+ &.round {
52
+ .components-colorpicker-button-container {
53
+ border-bottom-left-radius: 50%;
54
+ border-top-left-radius: 50%;
55
+ }
56
+
57
+ .components-colorpicker-button-color-swatch {
58
+ border-radius: 50%;
59
+ }
60
+ }
61
+ }
62
+
63
+ .components-colorpicker-popup {
64
+ border: 1px solid var(--iui-color-border-foreground);
65
+ border-radius: 6px;
66
+
67
+ .components-colorpicker-popup-container {
68
+ color: var(--iui-color-text);
69
+ background: $buic-background-control;
70
+ border-radius: 6px;
71
+
72
+ > .components-colorpicker-popup-colors {
73
+ display: grid;
74
+ grid-gap: 8px;
75
+ padding: 8px;
76
+
77
+ > .components-colorpicker-swatch {
78
+ height: 1.5em;
79
+ width: 1.5em;
80
+ transition: scale 0.2s ease;
81
+ cursor: pointer;
82
+ outline: none;
83
+
84
+ &:hover {
85
+ transform: scale(1.15);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
@@ -1,24 +1,24 @@
1
- /** @packageDocumentation
2
- * @module Color
3
- */
4
- /// <reference types="react" />
5
- import { ColorDef } from "@itwin/core-common";
6
- /** Properties for the [[ColorPickerDialog]] React component
7
- * @beta
8
- */
9
- export interface ColorPickerDialogProps {
10
- dialogTitle: string;
11
- color: ColorDef;
12
- onOkResult: (selectedColor: ColorDef) => void;
13
- onCancelResult: () => void;
14
- /** displayed in rows of 9 items */
15
- colorPresets?: ColorDef[];
16
- /** If set show either HSL, RGB, or HEX input values. If undefined no input value is shown */
17
- colorInputType?: "hsl" | "rgb" | "hex";
18
- }
19
- /**
20
- * Color Picker Dialog to use as modal dialog.
21
- * @beta
22
- */
23
- export declare function ColorPickerDialog({ dialogTitle, color, onOkResult, onCancelResult, colorPresets, colorInputType }: ColorPickerDialogProps): JSX.Element;
1
+ /** @packageDocumentation
2
+ * @module Color
3
+ */
4
+ /// <reference types="react" />
5
+ import { ColorDef } from "@itwin/core-common";
6
+ /** Properties for the [[ColorPickerDialog]] React component
7
+ * @beta
8
+ */
9
+ export interface ColorPickerDialogProps {
10
+ dialogTitle: string;
11
+ color: ColorDef;
12
+ onOkResult: (selectedColor: ColorDef) => void;
13
+ onCancelResult: () => void;
14
+ /** displayed in rows of 9 items */
15
+ colorPresets?: ColorDef[];
16
+ /** If set show either HSL, RGB, or HEX input values. If undefined no input value is shown */
17
+ colorInputType?: "hsl" | "rgb" | "hex";
18
+ }
19
+ /**
20
+ * Color Picker Dialog to use as modal dialog.
21
+ * @beta
22
+ */
23
+ export declare function ColorPickerDialog({ dialogTitle, color, onOkResult, onCancelResult, colorPresets, colorInputType }: ColorPickerDialogProps): JSX.Element;
24
24
  //# sourceMappingURL=ColorPickerDialog.d.ts.map