@itwin/imodel-components-react 4.0.0-dev.1 → 4.0.0-dev.3

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 (60) hide show
  1. package/CHANGELOG.md +1 -91
  2. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts +1 -1
  3. package/lib/cjs/imodel-components-react/UiIModelComponents.js +1 -1
  4. package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
  5. package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +15 -17
  6. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts +2 -2
  7. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js +1 -1
  8. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  9. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +11 -12
  10. package/lib/cjs/imodel-components-react/color/Swatch.scss +4 -5
  11. package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +3 -4
  12. package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +3 -4
  13. package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +6 -7
  14. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +6 -7
  15. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +3 -3
  16. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  17. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +3 -3
  18. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  19. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +8 -7
  20. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +5 -5
  21. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +9 -11
  22. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts.map +1 -1
  23. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +10 -19
  24. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  25. package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +8 -3
  26. package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +11 -6
  27. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +22 -24
  28. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +15 -15
  29. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +1 -1
  30. package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
  31. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts +1 -1
  32. package/lib/esm/imodel-components-react/UiIModelComponents.js +1 -1
  33. package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
  34. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +15 -17
  35. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +2 -2
  36. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +1 -1
  37. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  38. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +11 -12
  39. package/lib/esm/imodel-components-react/color/Swatch.scss +4 -5
  40. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +3 -4
  41. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +3 -4
  42. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +6 -7
  43. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +6 -7
  44. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +3 -3
  45. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  46. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +3 -3
  47. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  48. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +8 -7
  49. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +5 -5
  50. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +9 -11
  51. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts.map +1 -1
  52. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js +11 -20
  53. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  54. package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +8 -3
  55. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +11 -6
  56. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +22 -24
  57. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +15 -15
  58. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +1 -1
  59. package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
  60. package/package.json +26 -34
@@ -10,11 +10,16 @@ div.components-timeline-thumb.iui-slider-thumb {
10
10
  display: flex;
11
11
  justify-content: center;
12
12
  align-items: center;
13
- background-image: linear-gradient(to bottom, $buic-background-3, $buic-background-3), linear-gradient(to bottom, $buic-background-1, $buic-background-1);
13
+ background-image: linear-gradient(
14
+ to bottom,
15
+ $buic-background-3,
16
+ $buic-background-3
17
+ ),
18
+ linear-gradient(to bottom, $buic-background-1, $buic-background-1);
14
19
  box-sizing: border-box;
15
20
  width: 38px;
16
21
  height: 20px;
17
- border-radius: 4px;
22
+ border-radius: var(--iui-border-radius-1);
18
23
  border: 1px solid $buic-background-5;
19
24
  transform: translateX(-19.2px);
20
25
  top: 4px;
@@ -64,14 +69,14 @@ div.components-timeline-thumb.iui-slider-thumb {
64
69
  position: absolute;
65
70
  width: 38px;
66
71
  height: 20px;
67
- border-radius: 4px;
72
+ border-radius: var(--iui-border-radius-1);
68
73
  display: flex;
69
74
  align-items: center;
70
75
  justify-content: center;
71
76
  box-sizing: border-box;
72
77
  cursor: pointer;
73
78
 
74
- >div {
79
+ > div {
75
80
  width: 1px;
76
81
  height: 10px;
77
82
  opacity: 0.25;
@@ -101,7 +106,7 @@ div.components-timeline-thumb.iui-slider-thumb {
101
106
  .date-marker-default {
102
107
  height: 12px;
103
108
  width: 3px;
104
- border-radius: 4px;
109
+ border-radius: var(--iui-border-radius-1);
105
110
  transform: translateY(1px);
106
111
  background-color: $buic-foreground-primary;
107
- }
112
+ }
@@ -7,7 +7,7 @@
7
7
  $top-position: 6px;
8
8
  $bottom-position: 4px;
9
9
 
10
- .solar-slider.solar-timeline>.iui-slider-container {
10
+ .solar-slider.solar-timeline > .iui-slider-container {
11
11
  height: 28px;
12
12
  }
13
13
 
@@ -22,12 +22,12 @@ $bottom-position: 4px;
22
22
  color: $buic-foreground-body;
23
23
  font-size: 14px;
24
24
 
25
- >.header {
25
+ > .header {
26
26
  display: flex;
27
27
  align-items: center;
28
28
  position: relative;
29
29
 
30
- >.play-button {
30
+ > .play-button {
31
31
  width: 26px;
32
32
  height: 26px;
33
33
  background: inherit;
@@ -35,7 +35,7 @@ $bottom-position: 4px;
35
35
  font-size: 20px;
36
36
  }
37
37
 
38
- >.shadow-settings-button {
38
+ > .shadow-settings-button {
39
39
  display: flex;
40
40
  align-items: center;
41
41
  color: $buic-foreground-body;
@@ -56,7 +56,7 @@ $bottom-position: 4px;
56
56
  }
57
57
  }
58
58
 
59
- >.current-date {
59
+ > .current-date {
60
60
  min-width: 175px;
61
61
  margin-left: 8px;
62
62
  margin-right: 4px;
@@ -69,32 +69,32 @@ $bottom-position: 4px;
69
69
  font-size: 14px;
70
70
  cursor: pointer;
71
71
 
72
- >span:nth-child(2) {
72
+ > span:nth-child(2) {
73
73
  margin: 0 6px;
74
74
  }
75
75
 
76
- >.icon-calendar {
76
+ > .icon-calendar {
77
77
  flex-grow: 1;
78
78
  margin-left: auto;
79
79
  }
80
80
  }
81
81
 
82
- >.speed-container {
82
+ > .speed-container {
83
83
  display: flex;
84
84
  align-items: center;
85
85
  margin-left: auto;
86
86
  cursor: pointer;
87
87
 
88
- >.speed {
88
+ > .speed {
89
89
  margin-left: 12px;
90
90
  width: 0;
91
91
  opacity: 0;
92
- transition: all .2s linear;
92
+ transition: all 0.2s linear;
93
93
  margin-right: 10px;
94
94
  }
95
95
  }
96
96
 
97
- >.loop-playback {
97
+ > .loop-playback {
98
98
  color: $buic-foreground-primary;
99
99
  font-size: 16px;
100
100
  cursor: pointer;
@@ -108,7 +108,7 @@ $bottom-position: 4px;
108
108
  }
109
109
  }
110
110
 
111
- >.no-loop-playback {
111
+ > .no-loop-playback {
112
112
  color: $buic-foreground-body;
113
113
  font-size: 16px;
114
114
  cursor: pointer;
@@ -172,9 +172,14 @@ $bottom-position: 4px;
172
172
  z-index: 4;
173
173
  width: 38px;
174
174
  height: 20px;
175
- border-radius: 3px;
175
+ border-radius: var(--iui-border-radius-1);
176
176
  border: 1px solid $buic-background-5;
177
- background-image: linear-gradient(to bottom, $buic-background-3, $buic-background-3), linear-gradient(to bottom, $buic-background-1, $buic-background-1);
177
+ background-image: linear-gradient(
178
+ to bottom,
179
+ $buic-background-3,
180
+ $buic-background-3
181
+ ),
182
+ linear-gradient(to bottom, $buic-background-1, $buic-background-1);
178
183
  display: flex;
179
184
  align-items: center;
180
185
  justify-content: center;
@@ -182,7 +187,7 @@ $bottom-position: 4px;
182
187
  transform: translate(-50%, -50%);
183
188
  cursor: pointer;
184
189
 
185
- >div {
190
+ > div {
186
191
  width: 1px;
187
192
  height: 10px;
188
193
  opacity: 0.25;
@@ -220,11 +225,10 @@ $bottom-position: 4px;
220
225
  color: #ffcf00;
221
226
  margin: 0 24px 0 8px;
222
227
  }
223
-
224
228
  }
225
229
  }
226
230
 
227
- .solar-timeline-wrapper>.header>.speed-container:hover>.speed {
231
+ .solar-timeline-wrapper > .header > .speed-container:hover > .speed {
228
232
  opacity: 1;
229
233
  width: 80px;
230
234
  }
@@ -233,7 +237,7 @@ $bottom-position: 4px;
233
237
  transform: rotate(180deg);
234
238
  }
235
239
 
236
- .solar-timeline-wrapper.expanded>.header>.current-date {
240
+ .solar-timeline-wrapper.expanded > .header > .current-date {
237
241
  margin-left: 70px;
238
242
  }
239
243
 
@@ -250,8 +254,6 @@ $bottom-position: 4px;
250
254
  height: 100px;
251
255
  }
252
256
 
253
-
254
-
255
257
  .shadow-settings-color-top {
256
258
  display: inline;
257
259
  }
@@ -352,7 +354,3 @@ $bottom-position: 4px;
352
354
  border-color: #222 transparent transparent transparent;
353
355
  }
354
356
  }
355
-
356
- .core-tooltip-tooltip.components-rail-tooltip {
357
- pointer-events: none;
358
- }
@@ -14,27 +14,27 @@
14
14
  padding: 8px 16px;
15
15
  min-width: 275px;
16
16
 
17
- >.header {
17
+ > .header {
18
18
  display: flex;
19
19
  align-items: center;
20
20
  height: 38px;
21
21
  position: relative;
22
22
 
23
- >.play-backward {
24
- border-radius: 3px 0 0 3px;
23
+ > .play-backward {
24
+ border-radius: var(--iui-border-radius-1) 0 0 var(--iui-border-radius-1);
25
25
  }
26
26
 
27
- >.play-button-step {
27
+ > .play-button-step {
28
28
  border-left: none;
29
29
  border-right: none;
30
30
  border-radius: 0;
31
31
  }
32
32
 
33
- >.play-forward {
34
- border-radius: 0px 3px 3px 0;
33
+ > .play-forward {
34
+ border-radius: 0px var(--iui-border-radius-1) var(--iui-border-radius-1) 0;
35
35
  }
36
36
 
37
- >.current-date {
37
+ > .current-date {
38
38
  font-size: 14px;
39
39
  min-width: 180px;
40
40
  padding: 8px;
@@ -42,7 +42,7 @@
42
42
  position: absolute;
43
43
  left: 50%;
44
44
  transform: translateX(-50%);
45
- border-radius: 3px;
45
+ border-radius: var(--iui-border-radius-1);
46
46
  border: solid 1px $buic-background-5;
47
47
  background-color: $buic-background-1;
48
48
  text-align: center;
@@ -57,11 +57,11 @@
57
57
  margin-right: 10px;
58
58
  }
59
59
 
60
- >.timeline-timeline {
60
+ > .timeline-timeline {
61
61
  margin: 8px 0;
62
62
  }
63
63
 
64
- >.scrubber {
64
+ > .scrubber {
65
65
  min-height: 20px;
66
66
  display: flex;
67
67
  align-items: center;
@@ -128,11 +128,11 @@
128
128
  }
129
129
 
130
130
  .timeline-component.has-dates .start-time-container {
131
- margin-right: 8px
131
+ margin-right: 8px;
132
132
  }
133
133
 
134
134
  .timeline-component.has-dates .end-time-container {
135
- margin-left: 8px
135
+ margin-left: 8px;
136
136
  }
137
137
 
138
138
  .timeline-component.minimized .header,
@@ -147,11 +147,11 @@
147
147
  }
148
148
 
149
149
  .separator {
150
- padding: .5em 0;
150
+ padding: 0.5em 0;
151
151
  position: relative;
152
152
 
153
153
  &:before {
154
- content: '';
154
+ content: "";
155
155
  position: absolute;
156
156
  top: 50%;
157
157
  left: 4px;
@@ -161,4 +161,4 @@
161
161
  background: #dce0e3;
162
162
  transform: translateY(-50%);
163
163
  }
164
- }
164
+ }
@@ -15,7 +15,7 @@ export interface MilestoneRange {
15
15
  /**
16
16
  * A Milestone event that is to be noted in the timeline.
17
17
  * @internal
18
- * @deprecated in 3.0.
18
+ * @deprecated
19
19
  */
20
20
  export interface Milestone {
21
21
  /** uniqueId of milestone */
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/interfaces.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAsCH;;GAEG;AACH,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,iBAAiB;IACjB,mDAAK,CAAA;IACL,oBAAoB;IACpB,yDAAQ,CAAA;IACR,kBAAkB;IAClB,qDAAM,CAAA;IACN,gBAAgB;IAChB,iDAAI,CAAA;IACJ,iBAAiB;IACjB,mDAAK,CAAA;AACP,CAAC,EAXW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAWxB;AAED;;GAEG;AACH,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,qDAAqD;IACrD,yEAAU,CAAA;IACV,sEAAsE;IACtE,2EAAW,CAAA;AACb,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAoCD;;GAEG;AACH,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,yEAAM,CAAA;IACN,uEAAK,CAAA;IACL,qEAAI,CAAA;AACN,CAAC,EAJW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAIlC","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 { ColorDef } from \"@itwin/core-common\";\r\nimport { ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { GenericUiEventArgs } from \"@itwin/appui-abstract\";\r\n\r\n/**\r\n * A range of time which can be used to focus in on activities scheduled around a milestone.\r\n * @public\r\n */\r\nexport interface MilestoneRange {\r\n start: Date;\r\n end: Date;\r\n}\r\n\r\n/**\r\n * A Milestone event that is to be noted in the timeline.\r\n * @internal\r\n * @deprecated in 3.0.\r\n */\r\nexport interface Milestone {\r\n /** uniqueId of milestone */\r\n id: string;\r\n /** milestone date */\r\n date: Date;\r\n parentId?: string;\r\n /** Milestone label that is display if space allows */\r\n label?: string;\r\n /** Milestone description that is show as tooltip */\r\n description?: string;\r\n /** animation range that includes milestone */\r\n range?: MilestoneRange;\r\n /** Set to true if read only. */\r\n readonly?: boolean;\r\n // eslint-disable-next-line deprecation/deprecation\r\n children?: Milestone[];\r\n}\r\n\r\n/** The timeline scale.\r\n * @public\r\n */\r\nexport enum TimelineScale {\r\n /** Show years */\r\n Years,\r\n /** Show quarters */\r\n Quarters,\r\n /** Show months */\r\n Months,\r\n /** Show days */\r\n Days,\r\n /** Show hours */\r\n Hours,\r\n}\r\n\r\n/** Determines if data displayed to use is the actual date or the amount of time elapsed since project start.\r\n * @public\r\n */\r\nexport enum TimelineDateDisplay {\r\n /** Display time axis using actual start/end dates */\r\n ActualTime,\r\n /** Display time axis using time relative to actual start/end dates */\r\n ProjectTime,\r\n}\r\n\r\n/**\r\n * Playback Settings.\r\n * @public\r\n */\r\nexport interface PlaybackSettings {\r\n /** time in milliseconds to play animation from start date to end date */\r\n duration?: number;\r\n /** Set to True if animation to restart each time playbackEnd is reached. Defaults to false. */\r\n loop?: boolean;\r\n /** If true a minimal set of data is displayed. */\r\n minimized?: boolean;\r\n /** Playback start. If defined must be within start-end range. If not define 'start' is used. */\r\n playbackStart?: Date;\r\n /** Playback end. If defined must be within start-end range and later than playbackStart. If not define 'end' is used. */\r\n playbackEnd?: Date;\r\n /** Set to True if user should be allowed to insert milestone dates. Defaults to false */\r\n allowMilestoneEdits?: boolean;\r\n /** Define if actual date/times are used or date/times relative to project are used to draw timeline axis. */\r\n dateDisplay?: TimelineDateDisplay;\r\n}\r\n\r\n/**\r\n * An interface used to notify Handlers of the current pointer position in the timeline playback. Valid range is 0 to 1 and it determines percentage complete.\r\n * @public\r\n */\r\nexport type AnimationFractionChangeHandler = (animationFraction: number) => void;\r\n\r\n/**\r\n * An interface used to notify Handlers of Playback Settings changes.\r\n * Contains the settings to be used.\r\n * @public\r\n */\r\nexport type PlaybackSettingsChangeHandler = (settingsChange: PlaybackSettings) => void;\r\n\r\n/** Actions for Pause/Play event\r\n * @public\r\n */\r\nexport enum TimelinePausePlayAction {\r\n Toggle,\r\n Pause,\r\n Play,\r\n}\r\n/** Args for event to pause or play the timeline component\r\n * @public\r\n */\r\nexport interface TimelinePausePlayArgs extends GenericUiEventArgs {\r\n timelineAction: TimelinePausePlayAction;\r\n}\r\n/** Interface for a timeline data provider class\r\n * @public\r\n */\r\nexport interface TimelineDataProvider {\r\n /** uniqueId of provider */\r\n id: string;\r\n /** view id when viewport is initially assigned */\r\n viewId: string;\r\n /** returns true if the provider has timeline animation data available */\r\n supportsTimelineAnimation: boolean;\r\n /** Starting date for entire timeline */\r\n start?: Date;\r\n /** End date for entire timeline */\r\n end?: Date;\r\n /** Current animation fraction from 0.0 to 1.0 */\r\n animationFraction?: number;\r\n getSettings(): PlaybackSettings;\r\n /** Called to get the initial scrubber location. This must be a value between 0 and the duration in PlaybackSettings. */\r\n initialDuration: number;\r\n /** Called to get the duration of the Playback. */\r\n duration: number;\r\n /** If true the playback will continuously loop. */\r\n loop: boolean;\r\n /** Called to save the playback settings */\r\n updateSettings(settings: PlaybackSettings): void;\r\n /** Async call to load milestone and settings data */\r\n loadTimelineData(): Promise<boolean>;\r\n /** Called when an internal process has defined the playback settings and the UI needs to be updated */\r\n onPlaybackSettingChanged?: PlaybackSettingsChangeHandler;\r\n /** Called when the an internal process has defined the playback settings and the UI needs to be updated */\r\n onAnimationFractionChanged?: AnimationFractionChangeHandler;\r\n /** viewport to show animation */\r\n viewport?: ScreenViewport;\r\n}\r\n\r\n/**\r\n * An interface used to notify Handlers of Playback progress.\r\n * Contains the settings to be used.\r\n * @alpha\r\n */\r\nexport type SolarPlaybackProgressHandler = (time: Date) => void;\r\n\r\n/** Data Provider interface for getting and setting solar position\r\n * @alpha\r\n */\r\nexport interface SolarDataProvider {\r\n // View Id used to determine sunrise and sunset\r\n viewId: string;\r\n /** returns true if the provider has timeline animation data available */\r\n supportsTimelineAnimation: boolean;\r\n // set to true is timeline should be shown - return false if view is not set to display shadow.\r\n readonly shouldShowTimeline: boolean;\r\n /** Starting date for entire timeline */\r\n day: Date;\r\n /** Starting time for day in milliseconds */\r\n readonly dayStartMs: number;\r\n /** Time of day for sun */\r\n readonly timeOfDay: Date;\r\n /** Called during playback to update animation */\r\n onTimeChanged?: SolarPlaybackProgressHandler;\r\n /** viewport to show animation */\r\n viewport?: ScreenViewport;\r\n /** Time of Sunrise to nearest minute */\r\n readonly sunrise: Date;\r\n /** time of Sunrise to nearest minute */\r\n readonly sunset: Date;\r\n /** shadow color */\r\n shadowColor: ColorDef;\r\n /** timezone offset for local project time */\r\n readonly timeZoneOffset: number;\r\n /** set date for shadow study. If isProjectDate is false the is assume to be in users\r\n * current time and the value is adjusted to be the same date and time at the project location. */\r\n setDateAndTime: (day: Date, isProjectDate?: boolean) => void;\r\n}\r\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/timeline/interfaces.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAsCH;;GAEG;AACH,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,iBAAiB;IACjB,mDAAK,CAAA;IACL,oBAAoB;IACpB,yDAAQ,CAAA;IACR,kBAAkB;IAClB,qDAAM,CAAA;IACN,gBAAgB;IAChB,iDAAI,CAAA;IACJ,iBAAiB;IACjB,mDAAK,CAAA;AACP,CAAC,EAXW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAWxB;AAED;;GAEG;AACH,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,qDAAqD;IACrD,yEAAU,CAAA;IACV,sEAAsE;IACtE,2EAAW,CAAA;AACb,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAoCD;;GAEG;AACH,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,yEAAM,CAAA;IACN,uEAAK,CAAA;IACL,qEAAI,CAAA;AACN,CAAC,EAJW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAIlC","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 { ColorDef } from \"@itwin/core-common\";\r\nimport { ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { GenericUiEventArgs } from \"@itwin/appui-abstract\";\r\n\r\n/**\r\n * A range of time which can be used to focus in on activities scheduled around a milestone.\r\n * @public\r\n */\r\nexport interface MilestoneRange {\r\n start: Date;\r\n end: Date;\r\n}\r\n\r\n/**\r\n * A Milestone event that is to be noted in the timeline.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface Milestone {\r\n /** uniqueId of milestone */\r\n id: string;\r\n /** milestone date */\r\n date: Date;\r\n parentId?: string;\r\n /** Milestone label that is display if space allows */\r\n label?: string;\r\n /** Milestone description that is show as tooltip */\r\n description?: string;\r\n /** animation range that includes milestone */\r\n range?: MilestoneRange;\r\n /** Set to true if read only. */\r\n readonly?: boolean;\r\n // eslint-disable-next-line deprecation/deprecation\r\n children?: Milestone[];\r\n}\r\n\r\n/** The timeline scale.\r\n * @public\r\n */\r\nexport enum TimelineScale {\r\n /** Show years */\r\n Years,\r\n /** Show quarters */\r\n Quarters,\r\n /** Show months */\r\n Months,\r\n /** Show days */\r\n Days,\r\n /** Show hours */\r\n Hours,\r\n}\r\n\r\n/** Determines if data displayed to use is the actual date or the amount of time elapsed since project start.\r\n * @public\r\n */\r\nexport enum TimelineDateDisplay {\r\n /** Display time axis using actual start/end dates */\r\n ActualTime,\r\n /** Display time axis using time relative to actual start/end dates */\r\n ProjectTime,\r\n}\r\n\r\n/**\r\n * Playback Settings.\r\n * @public\r\n */\r\nexport interface PlaybackSettings {\r\n /** time in milliseconds to play animation from start date to end date */\r\n duration?: number;\r\n /** Set to True if animation to restart each time playbackEnd is reached. Defaults to false. */\r\n loop?: boolean;\r\n /** If true a minimal set of data is displayed. */\r\n minimized?: boolean;\r\n /** Playback start. If defined must be within start-end range. If not define 'start' is used. */\r\n playbackStart?: Date;\r\n /** Playback end. If defined must be within start-end range and later than playbackStart. If not define 'end' is used. */\r\n playbackEnd?: Date;\r\n /** Set to True if user should be allowed to insert milestone dates. Defaults to false */\r\n allowMilestoneEdits?: boolean;\r\n /** Define if actual date/times are used or date/times relative to project are used to draw timeline axis. */\r\n dateDisplay?: TimelineDateDisplay;\r\n}\r\n\r\n/**\r\n * An interface used to notify Handlers of the current pointer position in the timeline playback. Valid range is 0 to 1 and it determines percentage complete.\r\n * @public\r\n */\r\nexport type AnimationFractionChangeHandler = (animationFraction: number) => void;\r\n\r\n/**\r\n * An interface used to notify Handlers of Playback Settings changes.\r\n * Contains the settings to be used.\r\n * @public\r\n */\r\nexport type PlaybackSettingsChangeHandler = (settingsChange: PlaybackSettings) => void;\r\n\r\n/** Actions for Pause/Play event\r\n * @public\r\n */\r\nexport enum TimelinePausePlayAction {\r\n Toggle,\r\n Pause,\r\n Play,\r\n}\r\n/** Args for event to pause or play the timeline component\r\n * @public\r\n */\r\nexport interface TimelinePausePlayArgs extends GenericUiEventArgs {\r\n timelineAction: TimelinePausePlayAction;\r\n}\r\n/** Interface for a timeline data provider class\r\n * @public\r\n */\r\nexport interface TimelineDataProvider {\r\n /** uniqueId of provider */\r\n id: string;\r\n /** view id when viewport is initially assigned */\r\n viewId: string;\r\n /** returns true if the provider has timeline animation data available */\r\n supportsTimelineAnimation: boolean;\r\n /** Starting date for entire timeline */\r\n start?: Date;\r\n /** End date for entire timeline */\r\n end?: Date;\r\n /** Current animation fraction from 0.0 to 1.0 */\r\n animationFraction?: number;\r\n getSettings(): PlaybackSettings;\r\n /** Called to get the initial scrubber location. This must be a value between 0 and the duration in PlaybackSettings. */\r\n initialDuration: number;\r\n /** Called to get the duration of the Playback. */\r\n duration: number;\r\n /** If true the playback will continuously loop. */\r\n loop: boolean;\r\n /** Called to save the playback settings */\r\n updateSettings(settings: PlaybackSettings): void;\r\n /** Async call to load milestone and settings data */\r\n loadTimelineData(): Promise<boolean>;\r\n /** Called when an internal process has defined the playback settings and the UI needs to be updated */\r\n onPlaybackSettingChanged?: PlaybackSettingsChangeHandler;\r\n /** Called when the an internal process has defined the playback settings and the UI needs to be updated */\r\n onAnimationFractionChanged?: AnimationFractionChangeHandler;\r\n /** viewport to show animation */\r\n viewport?: ScreenViewport;\r\n}\r\n\r\n/**\r\n * An interface used to notify Handlers of Playback progress.\r\n * Contains the settings to be used.\r\n * @alpha\r\n */\r\nexport type SolarPlaybackProgressHandler = (time: Date) => void;\r\n\r\n/** Data Provider interface for getting and setting solar position\r\n * @alpha\r\n */\r\nexport interface SolarDataProvider {\r\n // View Id used to determine sunrise and sunset\r\n viewId: string;\r\n /** returns true if the provider has timeline animation data available */\r\n supportsTimelineAnimation: boolean;\r\n // set to true is timeline should be shown - return false if view is not set to display shadow.\r\n readonly shouldShowTimeline: boolean;\r\n /** Starting date for entire timeline */\r\n day: Date;\r\n /** Starting time for day in milliseconds */\r\n readonly dayStartMs: number;\r\n /** Time of day for sun */\r\n readonly timeOfDay: Date;\r\n /** Called during playback to update animation */\r\n onTimeChanged?: SolarPlaybackProgressHandler;\r\n /** viewport to show animation */\r\n viewport?: ScreenViewport;\r\n /** Time of Sunrise to nearest minute */\r\n readonly sunrise: Date;\r\n /** time of Sunrise to nearest minute */\r\n readonly sunset: Date;\r\n /** shadow color */\r\n shadowColor: ColorDef;\r\n /** timezone offset for local project time */\r\n readonly timeZoneOffset: number;\r\n /** set date for shadow study. If isProjectDate is false the is assume to be in users\r\n * current time and the value is adjusted to be the same date and time at the project location. */\r\n setDateAndTime: (day: Date, isProjectDate?: boolean) => void;\r\n}\r\n"]}
@@ -19,7 +19,7 @@ export declare class UiIModelComponents {
19
19
  static get localizationNamespace(): string;
20
20
  /** @internal */
21
21
  static get packageName(): string;
22
- /** Calls localization.getLocalizedString with the "UiIModelComponents" namespace. Do NOT include the namespace in the key.
22
+ /** Calls localization.getLocalizedStringWithNamespace with the "UiIModelComponents" namespace. Do NOT include the namespace in the key.
23
23
  * @internal
24
24
  */
25
25
  static translate(key: string | string[]): string;
@@ -55,7 +55,7 @@ export class UiIModelComponents {
55
55
  static get packageName() {
56
56
  return "imodel-components-react";
57
57
  }
58
- /** Calls localization.getLocalizedString with the "UiIModelComponents" namespace. Do NOT include the namespace in the key.
58
+ /** Calls localization.getLocalizedStringWithNamespace with the "UiIModelComponents" namespace. Do NOT include the namespace in the key.
59
59
  * @internal
60
60
  */
61
61
  static translate(key) {
@@ -1 +1 @@
1
- {"version":3,"file":"UiIModelComponents.js","sourceRoot":"","sources":["../../../src/imodel-components-react/UiIModelComponents.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAG7B;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU;;QAC5B,IAAI,kBAAkB,CAAC,YAAY,EAAE;YACnC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,8CAA8C,CAAC,CAAC;YACtH,OAAO;SACR;QAED,aAAa,EAAE,CAAC;QAChB,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,0CAAE,iBAAiB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAA,CAAC;QAE1F,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC3B,oEAAoE;YACpE,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC7C,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACvD;QAED,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC;IACzC,CAAC;IAED,gEAAgE;IACzD,MAAM,CAAC,SAAS;;QACrB,MAAA,SAAS,CAAC,YAAY,0CAAE,mBAAmB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACtF,YAAY,CAAC,SAAS,EAAE,CAAC;QACzB,kBAAkB,CAAC,YAAY,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED,4DAA4D;IACrD,MAAM,KAAK,WAAW,KAAc,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpF,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,gBAAgB;IACT,MAAM,KAAK,WAAW;QAC3B,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,GAAsB;QAC5C,IAAI,CAAC,kBAAkB,CAAC,WAAW,IAAI,0BAA0B,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE;YACzF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,+EAA+E,CAAC,CAAC;YAC1I,OAAO,EAAE,CAAC;SACX;QACD,OAAO,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,cAAc,CAAC,GAAQ;QACnC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC;IAClB,CAAC;;AA9Dc,+BAAY,GAAG,KAAK,CAAC","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 Common\r\n */\r\n\r\nimport { enablePatches } from \"immer\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { getClassName } from \"@itwin/appui-abstract\";\r\nimport { UiComponents } from \"@itwin/components-react\";\r\nimport { EmptyLocalization } from \"@itwin/core-common\";\r\n\r\n/**\r\n * Manages the localization service for the imodel-components-react package.\r\n * @public\r\n */\r\nexport class UiIModelComponents {\r\n private static _initialized = false;\r\n\r\n /**\r\n * initialize UiIModelComponents.\r\n */\r\n public static async initialize(): Promise<void> {\r\n if (UiIModelComponents._initialized) {\r\n Logger.logInfo(UiIModelComponents.loggerCategory(UiIModelComponents), `UiIModelComponents.initialize already called`);\r\n return;\r\n }\r\n\r\n enablePatches();\r\n await IModelApp.localization?.registerNamespace(UiIModelComponents.localizationNamespace);\r\n\r\n if (!IModelApp.localization) {\r\n // it should only get here in unit test where IModelApp is not setup\r\n const localization = new EmptyLocalization();\r\n await localization.initialize();\r\n await UiComponents.initialize(localization);\r\n } else {\r\n await UiComponents.initialize(IModelApp.localization);\r\n }\r\n\r\n UiIModelComponents._initialized = true;\r\n }\r\n\r\n /** Unregisters the UiIModelComponents localization namespace */\r\n public static terminate() {\r\n IModelApp.localization?.unregisterNamespace(UiIModelComponents.localizationNamespace);\r\n UiComponents.terminate();\r\n UiIModelComponents._initialized = false;\r\n }\r\n\r\n /** Determines if UiIModelComponents has been initialized */\r\n public static get initialized(): boolean { return UiIModelComponents._initialized; }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return \"UiIModelComponents\";\r\n }\r\n\r\n /** @internal */\r\n public static get packageName(): string {\r\n return \"imodel-components-react\";\r\n }\r\n\r\n /** Calls localization.getLocalizedString with the \"UiIModelComponents\" namespace. Do NOT include the namespace in the key.\r\n * @internal\r\n */\r\n public static translate(key: string | string[]): string {\r\n if (!UiIModelComponents.initialized || /* istanbul ignore next */ !IModelApp.localization) {\r\n Logger.logError(UiIModelComponents.loggerCategory(this), `translate: IModelApp.localization has not been setup. Returning blank string.`);\r\n return \"\";\r\n }\r\n return IModelApp.localization.getLocalizedString(key, { ns: UiIModelComponents.localizationNamespace });\r\n }\r\n\r\n /** @internal */\r\n public static loggerCategory(obj: any): string {\r\n const className = getClassName(obj);\r\n const category = UiIModelComponents.packageName + (className ? `.${className}` : \"\");\r\n return category;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"UiIModelComponents.js","sourceRoot":"","sources":["../../../src/imodel-components-react/UiIModelComponents.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAG7B;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU;;QAC5B,IAAI,kBAAkB,CAAC,YAAY,EAAE;YACnC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,8CAA8C,CAAC,CAAC;YACtH,OAAO;SACR;QAED,aAAa,EAAE,CAAC;QAChB,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,0CAAE,iBAAiB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAA,CAAC;QAE1F,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC3B,oEAAoE;YACpE,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC7C,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACvD;QAED,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC;IACzC,CAAC;IAED,gEAAgE;IACzD,MAAM,CAAC,SAAS;;QACrB,MAAA,SAAS,CAAC,YAAY,0CAAE,mBAAmB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACtF,YAAY,CAAC,SAAS,EAAE,CAAC;QACzB,kBAAkB,CAAC,YAAY,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED,4DAA4D;IACrD,MAAM,KAAK,WAAW,KAAc,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpF,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,gBAAgB;IACT,MAAM,KAAK,WAAW;QAC3B,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,GAAsB;QAC5C,IAAI,CAAC,kBAAkB,CAAC,WAAW,IAAI,0BAA0B,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE;YACzF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,+EAA+E,CAAC,CAAC;YAC1I,OAAO,EAAE,CAAC;SACX;QACD,OAAO,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,cAAc,CAAC,GAAQ;QACnC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC;IAClB,CAAC;;AA9Dc,+BAAY,GAAG,KAAK,CAAC","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 Common\r\n */\r\n\r\nimport { enablePatches } from \"immer\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { getClassName } from \"@itwin/appui-abstract\";\r\nimport { UiComponents } from \"@itwin/components-react\";\r\nimport { EmptyLocalization } from \"@itwin/core-common\";\r\n\r\n/**\r\n * Manages the localization service for the imodel-components-react package.\r\n * @public\r\n */\r\nexport class UiIModelComponents {\r\n private static _initialized = false;\r\n\r\n /**\r\n * initialize UiIModelComponents.\r\n */\r\n public static async initialize(): Promise<void> {\r\n if (UiIModelComponents._initialized) {\r\n Logger.logInfo(UiIModelComponents.loggerCategory(UiIModelComponents), `UiIModelComponents.initialize already called`);\r\n return;\r\n }\r\n\r\n enablePatches();\r\n await IModelApp.localization?.registerNamespace(UiIModelComponents.localizationNamespace);\r\n\r\n if (!IModelApp.localization) {\r\n // it should only get here in unit test where IModelApp is not setup\r\n const localization = new EmptyLocalization();\r\n await localization.initialize();\r\n await UiComponents.initialize(localization);\r\n } else {\r\n await UiComponents.initialize(IModelApp.localization);\r\n }\r\n\r\n UiIModelComponents._initialized = true;\r\n }\r\n\r\n /** Unregisters the UiIModelComponents localization namespace */\r\n public static terminate() {\r\n IModelApp.localization?.unregisterNamespace(UiIModelComponents.localizationNamespace);\r\n UiComponents.terminate();\r\n UiIModelComponents._initialized = false;\r\n }\r\n\r\n /** Determines if UiIModelComponents has been initialized */\r\n public static get initialized(): boolean { return UiIModelComponents._initialized; }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return \"UiIModelComponents\";\r\n }\r\n\r\n /** @internal */\r\n public static get packageName(): string {\r\n return \"imodel-components-react\";\r\n }\r\n\r\n /** Calls localization.getLocalizedStringWithNamespace with the \"UiIModelComponents\" namespace. Do NOT include the namespace in the key.\r\n * @internal\r\n */\r\n public static translate(key: string | string[]): string {\r\n if (!UiIModelComponents.initialized || /* istanbul ignore next */ !IModelApp.localization) {\r\n Logger.logError(UiIModelComponents.loggerCategory(this), `translate: IModelApp.localization has not been setup. Returning blank string.`);\r\n return \"\";\r\n }\r\n return IModelApp.localization.getLocalizedString(key, { ns: UiIModelComponents.localizationNamespace });\r\n }\r\n\r\n /** @internal */\r\n public static loggerCategory(obj: any): string {\r\n const className = getClassName(obj);\r\n const category = UiIModelComponents.packageName + (className ? `.${className}` : \"\");\r\n return category;\r\n }\r\n\r\n}\r\n"]}
@@ -3,35 +3,34 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
- @import "~@itwin/itwinui-css/scss/style/typography";
7
6
 
8
7
  button.components-colorpicker-button {
9
- font-family: $iui-font-family;
10
- font-size: $iui-font-size;
8
+ font-family: var(--iui-font-sans);
9
+ font-size: var(--iui-font-size-1);
11
10
  color: $buic-foreground-body;
12
11
  box-sizing: border-box;
13
12
  border: 1px solid transparent;
14
- border-radius: 3px;
13
+ border-radius: var(--iui-border-radius-1);
15
14
  background-color: transparent;
16
15
  border: none;
17
16
  padding: 0;
18
17
 
19
- >.components-colorpicker-button-container {
18
+ > .components-colorpicker-button-container {
20
19
  display: flex;
21
20
  flex-direction: row;
22
21
  align-items: center;
23
- border-radius: 3px;
22
+ border-radius: var(--iui-border-radius-1);
24
23
 
25
- >.components-colorpicker-button-color-swatch {
24
+ > .components-colorpicker-button-color-swatch {
26
25
  border: 1px solid $buic-inputs-border;
27
- border-radius: 3px;
26
+ border-radius: var(--iui-border-radius-1);
28
27
  width: 1.25em;
29
28
  height: 1.25em;
30
29
  }
31
30
 
32
- >.components-caret {
33
- margin-left: .25em;
34
- margin-right: .25em;
31
+ > .components-caret {
32
+ margin-left: 0.25em;
33
+ margin-right: 0.25em;
35
34
  }
36
35
  }
37
36
 
@@ -42,8 +41,8 @@ button.components-colorpicker-button {
42
41
  &:disabled {
43
42
  pointer-events: none;
44
43
 
45
- >.components-colorpicker-button-container {
46
- >.components-caret {
44
+ > .components-colorpicker-button-container {
45
+ > .components-caret {
47
46
  color: $buic-icon-color-disabled;
48
47
  }
49
48
  }
@@ -59,7 +58,6 @@ button.components-colorpicker-button {
59
58
  border-radius: 50%;
60
59
  }
61
60
  }
62
-
63
61
  }
64
62
 
65
63
  .components-colorpicker-popup {
@@ -71,12 +69,12 @@ button.components-colorpicker-button {
71
69
  background: $buic-background-control;
72
70
  border-radius: 6px;
73
71
 
74
- >.components-colorpicker-popup-colors {
72
+ > .components-colorpicker-popup-colors {
75
73
  display: grid;
76
74
  grid-gap: 8px;
77
75
  padding: 8px;
78
76
 
79
- >.components-colorpicker-swatch {
77
+ > .components-colorpicker-swatch {
80
78
  height: 1.5em;
81
79
  width: 1.5em;
82
80
  transition: scale 0.2s ease;
@@ -89,4 +87,4 @@ button.components-colorpicker-button {
89
87
  }
90
88
  }
91
89
  }
92
- }
90
+ }
@@ -5,7 +5,7 @@
5
5
  import { ColorDef } from "@itwin/core-common";
6
6
  import "./ColorPickerPanel.scss";
7
7
  /** Properties for the [[ColorPickerPanel]] React component
8
- * @public @deprecated in 3.0. Use `ColorPicker` for itwinui-react
8
+ * @public @deprecated use `ColorPicker` for itwinui-react
9
9
  */
10
10
  export interface ColorPickerPanelProps {
11
11
  activeColor: ColorDef;
@@ -16,7 +16,7 @@ export interface ColorPickerPanelProps {
16
16
  }
17
17
  /**
18
18
  * Color Picker Dialog to use as modal dialog.
19
- * @public @deprecated in 3.0. Use `ColorPicker` for itwinui-react
19
+ * @public @deprecated use `ColorPicker` for itwinui-react
20
20
  */
21
21
  export declare function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps): JSX.Element;
22
22
  //# sourceMappingURL=ColorPickerPanel.d.ts.map
@@ -15,7 +15,7 @@ import "./ColorPickerPanel.scss";
15
15
  import { NumberInput } from "@itwin/core-react";
16
16
  /**
17
17
  * Color Picker Dialog to use as modal dialog.
18
- * @public @deprecated in 3.0. Use `ColorPicker` for itwinui-react
18
+ * @public @deprecated use `ColorPicker` for itwinui-react
19
19
  */
20
20
  // istanbul ignore next
21
21
  export function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }) {
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerPanel.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\n// cSpell:ignore colorpicker\r\n\r\nimport * as React from \"react\";\r\nimport { ColorDef, HSVColor } from \"@itwin/core-common\";\r\nimport { ColorSwatch } from \"./Swatch\";\r\nimport { HueSlider } from \"./HueSlider\";\r\nimport { SaturationPicker } from \"./SaturationPicker\";\r\nimport \"./ColorPickerPanel.scss\";\r\nimport { NumberInput } from \"@itwin/core-react\";\r\n\r\n/** Properties for the [[ColorPickerPanel]] React component\r\n * @public @deprecated in 3.0. Use `ColorPicker` for itwinui-react\r\n */\r\nexport interface ColorPickerPanelProps {\r\n activeColor: ColorDef;\r\n onColorChange: (selectedColor: ColorDef) => void;\r\n colorPresets?: ColorDef[];\r\n /** If set show either HSL or RGB input values. If undefined no input value is shown */\r\n colorInputType?: \"HSL\" | \"RGB\";\r\n}\r\n\r\n/**\r\n * Color Picker Dialog to use as modal dialog.\r\n * @public @deprecated in 3.0. Use `ColorPicker` for itwinui-react\r\n */\r\n// istanbul ignore next\r\nexport function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps) { // eslint-disable-line deprecation/deprecation\r\n const handlePresetColorPick = React.useCallback((newColor: ColorDef, e: React.MouseEvent<Element, MouseEvent>) => {\r\n e.preventDefault();\r\n if (onColorChange) {\r\n onColorChange(newColor);\r\n }\r\n }, [onColorChange]);\r\n\r\n const handleHueChange = React.useCallback((newHsvColor: HSVColor) => {\r\n // for a ColorDef to be created from hsv s can't be 0\r\n if (newHsvColor.s === 0) {\r\n newHsvColor = newHsvColor.clone(undefined, 0.5);\r\n }\r\n\r\n const newColorDef = newHsvColor.toColorDef();\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }, [onColorChange]);\r\n\r\n const handleSaturationChange = React.useCallback((newHsvColor: HSVColor) => {\r\n const newColorDef = newHsvColor.toColorDef();\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }, [onColorChange]);\r\n\r\n const currentHsl = React.useMemo(() => activeColor.toHSL(), [activeColor]);\r\n const currentHsv = React.useMemo(() => activeColor.toHSV(), [activeColor]);\r\n const color = React.useMemo(() => activeColor.colors, [activeColor]);\r\n\r\n const handleLightnessValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n const newHsl = currentHsl.clone(undefined, undefined, (value ?? 0) / 100);\r\n\r\n if (onColorChange) {\r\n const newColorDef = newHsl.toColorDef();\r\n onColorChange(newColorDef);\r\n }\r\n }, [currentHsl, onColorChange]);\r\n\r\n const handleHueValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n const newHsl = currentHsl.clone((value ?? 0) / 360, undefined, undefined);\r\n\r\n if (onColorChange) {\r\n const newColorDef = newHsl.toColorDef();\r\n onColorChange(newColorDef);\r\n }\r\n }, [currentHsl, onColorChange]);\r\n\r\n const handleSaturationValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n const newHsl = currentHsl.clone(undefined, (value ?? 0) / 100, undefined);\r\n\r\n if (onColorChange) {\r\n const newColorDef = newHsl.toColorDef();\r\n onColorChange(newColorDef);\r\n }\r\n }, [currentHsl, onColorChange]);\r\n\r\n const handleRedChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n if (undefined !== value) {\r\n const newColorDef = ColorDef.from(value, color.g, color.b);\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }\r\n }, [color, onColorChange]);\r\n\r\n const handleGreenChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n if (undefined !== value) {\r\n const newColorDef = ColorDef.from(color.r, value, color.b);\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }\r\n }, [color, onColorChange]);\r\n\r\n const handleBlueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n if (undefined !== value) {\r\n const newColorDef = ColorDef.from(color.r, color.g, value);\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }\r\n }, [color, onColorChange]);\r\n\r\n return (\r\n <div data-testid=\"components-colorpicker-panel\" className=\"components-colorpicker-panel\">\r\n <div className=\"components-colorpicker-panel-color\">\r\n <div className=\"components-colorpicker-saturation\">\r\n <SaturationPicker hsv={currentHsv} onSaturationChange={handleSaturationChange} />\r\n </div>\r\n <div className=\"components-colorpicker-hue\">\r\n <HueSlider hsv={currentHsv} onHueChange={handleHueChange} isHorizontal={false} />\r\n </div>\r\n </div>\r\n {(colorInputType === \"RGB\") &&\r\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">R</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-red\" value={color.r} onChange={handleRedChange} min={0} max={255} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">G</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-green\" value={color.g} onChange={handleGreenChange} min={0} max={255} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">B</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-blue\" value={color.b} onChange={handleBlueChange} min={0} max={255} />\r\n </div>\r\n </div>}\r\n {(colorInputType === \"HSL\") &&\r\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">H</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-hue\" value={Math.round(currentHsl.h * 360)} onChange={handleHueValueChange} min={0} max={360} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">S</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-saturation\" value={Math.round(currentHsl.s * 100)} onChange={handleSaturationValueChange} min={0} max={100} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">L</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-lightness\" value={Math.round(currentHsl.l * 100)} onChange={handleLightnessValueChange} min={0} max={100} />\r\n </div>\r\n </div>}\r\n\r\n {\r\n colorPresets && colorPresets.length &&\r\n <div className=\"components-colorpicker-panel-presets\">\r\n {colorPresets.map((preset, index) => <ColorSwatch className=\"components-colorpicker-panel-swatch\" key={index} colorDef={preset} round={false} onColorPick={handlePresetColorPick} />)}\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ColorPickerPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/color/ColorPickerPanel.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,4BAA4B;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAY,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD;;;GAGG;AACH,uBAAuB;AACvB,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAyB;IAClH,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAkB,EAAE,CAAwC,EAAE,EAAE;QAC/G,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,QAAQ,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,WAAqB,EAAE,EAAE;QAClE,qDAAqD;QACrD,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE;YACvB,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;SACjD;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,WAAqB,EAAE,EAAE;QACzE,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAErE,MAAM,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;QACvG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1E,IAAI,aAAa,EAAE;YACjB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACxC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhC,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;QACjG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAE1E,IAAI,aAAa,EAAE;YACjB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACxC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhC,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;QACxG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC;QAE1E,IAAI,aAAa,EAAE;YACjB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACxC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;QAC5F,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,WAAW,CAAC,CAAC;aAC5B;SACF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3B,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;QAC9F,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,WAAW,CAAC,CAAC;aAC5B;SACF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3B,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;QAC7F,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,WAAW,CAAC,CAAC;aAC5B;SACF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,4CAAiB,8BAA8B,EAAC,SAAS,EAAC,8BAA8B;QACtF,6BAAK,SAAS,EAAC,oCAAoC;YACjD,6BAAK,SAAS,EAAC,mCAAmC;gBAChD,oBAAC,gBAAgB,IAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,GAAI,CAC7E;YACN,6BAAK,SAAS,EAAC,4BAA4B;gBACzC,oBAAC,SAAS,IAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,GAAI,CAC7E,CACF;QACL,CAAC,cAAc,KAAK,KAAK,CAAC;YACzB,4CAAiB,oCAAoC,EAAC,SAAS,EAAC,oCAAoC;gBAClG,6BAAK,SAAS,EAAC,4CAA4C;oBACzD,8BAAM,SAAS,EAAC,6BAA6B,QAAS;oBACtD,oBAAC,WAAW,mBAAa,wCAAwC,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAC7H;gBACN,6BAAK,SAAS,EAAC,4CAA4C;oBACzD,8BAAM,SAAS,EAAC,6BAA6B,QAAS;oBACtD,oBAAC,WAAW,mBAAa,0CAA0C,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CACjI;gBACN,6BAAK,SAAS,EAAC,4CAA4C;oBACzD,8BAAM,SAAS,EAAC,6BAA6B,QAAS;oBACtD,oBAAC,WAAW,mBAAa,yCAAyC,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAC/H,CACF;QACP,CAAC,cAAc,KAAK,KAAK,CAAC;YACzB,4CAAiB,oCAAoC,EAAC,SAAS,EAAC,oCAAoC;gBAClG,6BAAK,SAAS,EAAC,4CAA4C;oBACzD,8BAAM,SAAS,EAAC,6BAA6B,QAAS;oBACtD,oBAAC,WAAW,mBAAa,wCAAwC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CACzJ;gBACN,6BAAK,SAAS,EAAC,4CAA4C;oBACzD,8BAAM,SAAS,EAAC,6BAA6B,QAAS;oBACtD,oBAAC,WAAW,mBAAa,+CAA+C,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CACvK;gBACN,6BAAK,SAAS,EAAC,4CAA4C;oBACzD,8BAAM,SAAS,EAAC,6BAA6B,QAAS;oBACtD,oBAAC,WAAW,mBAAa,8CAA8C,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CACrK,CACF;QAGN,YAAY,IAAI,YAAY,CAAC,MAAM;YACnC,6BAAK,SAAS,EAAC,sCAAsC,IAClD,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAC,WAAW,IAAC,SAAS,EAAC,qCAAqC,EAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,GAAI,CAAC,CACjL,CAEJ,CACP,CAAC;AACJ,CAAC","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\n// cSpell:ignore colorpicker\r\n\r\nimport * as React from \"react\";\r\nimport { ColorDef, HSVColor } from \"@itwin/core-common\";\r\nimport { ColorSwatch } from \"./Swatch\";\r\nimport { HueSlider } from \"./HueSlider\";\r\nimport { SaturationPicker } from \"./SaturationPicker\";\r\nimport \"./ColorPickerPanel.scss\";\r\nimport { NumberInput } from \"@itwin/core-react\";\r\n\r\n/** Properties for the [[ColorPickerPanel]] React component\r\n * @public @deprecated use `ColorPicker` for itwinui-react\r\n */\r\nexport interface ColorPickerPanelProps {\r\n activeColor: ColorDef;\r\n onColorChange: (selectedColor: ColorDef) => void;\r\n colorPresets?: ColorDef[];\r\n /** If set show either HSL or RGB input values. If undefined no input value is shown */\r\n colorInputType?: \"HSL\" | \"RGB\";\r\n}\r\n\r\n/**\r\n * Color Picker Dialog to use as modal dialog.\r\n * @public @deprecated use `ColorPicker` for itwinui-react\r\n */\r\n// istanbul ignore next\r\nexport function ColorPickerPanel({ activeColor, onColorChange, colorPresets, colorInputType }: ColorPickerPanelProps) { // eslint-disable-line deprecation/deprecation\r\n const handlePresetColorPick = React.useCallback((newColor: ColorDef, e: React.MouseEvent<Element, MouseEvent>) => {\r\n e.preventDefault();\r\n if (onColorChange) {\r\n onColorChange(newColor);\r\n }\r\n }, [onColorChange]);\r\n\r\n const handleHueChange = React.useCallback((newHsvColor: HSVColor) => {\r\n // for a ColorDef to be created from hsv s can't be 0\r\n if (newHsvColor.s === 0) {\r\n newHsvColor = newHsvColor.clone(undefined, 0.5);\r\n }\r\n\r\n const newColorDef = newHsvColor.toColorDef();\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }, [onColorChange]);\r\n\r\n const handleSaturationChange = React.useCallback((newHsvColor: HSVColor) => {\r\n const newColorDef = newHsvColor.toColorDef();\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }, [onColorChange]);\r\n\r\n const currentHsl = React.useMemo(() => activeColor.toHSL(), [activeColor]);\r\n const currentHsv = React.useMemo(() => activeColor.toHSV(), [activeColor]);\r\n const color = React.useMemo(() => activeColor.colors, [activeColor]);\r\n\r\n const handleLightnessValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n const newHsl = currentHsl.clone(undefined, undefined, (value ?? 0) / 100);\r\n\r\n if (onColorChange) {\r\n const newColorDef = newHsl.toColorDef();\r\n onColorChange(newColorDef);\r\n }\r\n }, [currentHsl, onColorChange]);\r\n\r\n const handleHueValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n const newHsl = currentHsl.clone((value ?? 0) / 360, undefined, undefined);\r\n\r\n if (onColorChange) {\r\n const newColorDef = newHsl.toColorDef();\r\n onColorChange(newColorDef);\r\n }\r\n }, [currentHsl, onColorChange]);\r\n\r\n const handleSaturationValueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n const newHsl = currentHsl.clone(undefined, (value ?? 0) / 100, undefined);\r\n\r\n if (onColorChange) {\r\n const newColorDef = newHsl.toColorDef();\r\n onColorChange(newColorDef);\r\n }\r\n }, [currentHsl, onColorChange]);\r\n\r\n const handleRedChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n if (undefined !== value) {\r\n const newColorDef = ColorDef.from(value, color.g, color.b);\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }\r\n }, [color, onColorChange]);\r\n\r\n const handleGreenChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n if (undefined !== value) {\r\n const newColorDef = ColorDef.from(color.r, value, color.b);\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }\r\n }, [color, onColorChange]);\r\n\r\n const handleBlueChange = React.useCallback((value: number | undefined, _stringValue: string) => {\r\n if (undefined !== value) {\r\n const newColorDef = ColorDef.from(color.r, color.g, value);\r\n if (onColorChange) {\r\n onColorChange(newColorDef);\r\n }\r\n }\r\n }, [color, onColorChange]);\r\n\r\n return (\r\n <div data-testid=\"components-colorpicker-panel\" className=\"components-colorpicker-panel\">\r\n <div className=\"components-colorpicker-panel-color\">\r\n <div className=\"components-colorpicker-saturation\">\r\n <SaturationPicker hsv={currentHsv} onSaturationChange={handleSaturationChange} />\r\n </div>\r\n <div className=\"components-colorpicker-hue\">\r\n <HueSlider hsv={currentHsv} onHueChange={handleHueChange} isHorizontal={false} />\r\n </div>\r\n </div>\r\n {(colorInputType === \"RGB\") &&\r\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">R</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-red\" value={color.r} onChange={handleRedChange} min={0} max={255} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">G</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-green\" value={color.g} onChange={handleGreenChange} min={0} max={255} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">B</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-blue\" value={color.b} onChange={handleBlueChange} min={0} max={255} />\r\n </div>\r\n </div>}\r\n {(colorInputType === \"HSL\") &&\r\n <div data-testid=\"components-colorpicker-input-panel\" className=\"components-colorpicker-input-panel\">\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">H</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-hue\" value={Math.round(currentHsl.h * 360)} onChange={handleHueValueChange} min={0} max={360} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">S</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-saturation\" value={Math.round(currentHsl.s * 100)} onChange={handleSaturationValueChange} min={0} max={100} />\r\n </div>\r\n <div className=\"components-colorpicker-input-value-wrapper\">\r\n <span className=\"uicore-inputs-labeled-input\">L</span>\r\n <NumberInput data-testid=\"components-colorpicker-input-value-lightness\" value={Math.round(currentHsl.l * 100)} onChange={handleLightnessValueChange} min={0} max={100} />\r\n </div>\r\n </div>}\r\n\r\n {\r\n colorPresets && colorPresets.length &&\r\n <div className=\"components-colorpicker-panel-presets\">\r\n {colorPresets.map((preset, index) => <ColorSwatch className=\"components-colorpicker-panel-swatch\" key={index} colorDef={preset} round={false} onColorPick={handlePresetColorPick} />)}\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n"]}
@@ -3,15 +3,14 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
- @import "~@itwin/itwinui-css/scss/style/typography";
7
6
 
8
7
  button.components-colorpicker-popup-button {
9
- font-family: $iui-font-family;
10
- font-size: $iui-font-size;
8
+ font-family: var(--iui-font-sans);
9
+ font-size: var(--iui-font-size-1);
11
10
  color: $buic-foreground-body;
12
11
  background-color: transparent;
13
12
  box-sizing: border-box;
14
- border-radius: 3px;
13
+ border-radius: var(--iui-border-radius-1);
15
14
  border: none;
16
15
  padding: 0;
17
16
 
@@ -19,29 +18,29 @@ button.components-colorpicker-popup-button {
19
18
  cursor: pointer;
20
19
  }
21
20
 
22
- >.components-colorpicker-button-container {
21
+ > .components-colorpicker-button-container {
23
22
  display: flex;
24
23
  flex-direction: row;
25
24
  align-items: center;
26
25
 
27
- >.components-colorpicker-button-color-swatch {
26
+ > .components-colorpicker-button-color-swatch {
28
27
  border: 1px solid $buic-inputs-border;
29
- border-radius: 3px;
28
+ border-radius: var(--iui-border-radius-1);
30
29
  width: 1.25em;
31
30
  height: 1.25em;
32
31
  }
33
32
 
34
- >.components-caret {
35
- margin-left: .25em;
36
- margin-right: .25em;
33
+ > .components-caret {
34
+ margin-left: 0.25em;
35
+ margin-right: 0.25em;
37
36
  }
38
37
  }
39
38
 
40
39
  &:disabled {
41
40
  pointer-events: none;
42
41
 
43
- >.components-colorpicker-button-container {
44
- >.components-caret {
42
+ > .components-colorpicker-button-container {
43
+ > .components-caret {
45
44
  color: $buic-icon-color-disabled;
46
45
  }
47
46
  }
@@ -3,14 +3,13 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
- @import "~@itwin/itwinui-css/scss/style/typography";
7
6
 
8
7
  .components-color-swatch {
9
- font-size: $iui-font-size;
8
+ font-size: var(--iui-font-size-1);
10
9
  height: 1em * 1.2;
11
10
  width: 1em * 1.2;
12
11
  border-width: 1px;
13
- border-radius: 3px;
12
+ border-radius: var(--iui-border-radius-1);
14
13
  border-style: solid;
15
14
  border-color: $buic-inputs-border;
16
15
 
@@ -19,6 +18,6 @@
19
18
  }
20
19
 
21
20
  &[disabled] {
22
- opacity: .2;
21
+ opacity: 0.2;
23
22
  }
24
- }
23
+ }