@itwin/imodel-components-react 5.0.0-dev.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/lib/cjs/imodel-components-react/color/AlphaSlider.scss +71 -0
  3. package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +88 -0
  4. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +62 -0
  5. package/lib/cjs/imodel-components-react/color/HueSlider.scss +78 -0
  6. package/lib/cjs/imodel-components-react/color/SaturationPicker.scss +36 -0
  7. package/lib/cjs/imodel-components-react/color/Swatch.scss +22 -0
  8. package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +16 -0
  9. package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +14 -0
  10. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +106 -0
  11. package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +46 -0
  12. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +50 -0
  13. package/lib/cjs/imodel-components-react/navigationaids/Cube.scss +19 -0
  14. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +177 -0
  15. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +133 -0
  16. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +53 -0
  17. package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +22 -0
  18. package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +105 -0
  19. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +43 -0
  20. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.scss +38 -0
  21. package/lib/cjs/imodel-components-react/timeline/Timeline.scss +163 -0
  22. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +48 -0
  23. package/lib/esm/imodel-components-react/color/AlphaSlider.scss +71 -0
  24. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +88 -0
  25. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +62 -0
  26. package/lib/esm/imodel-components-react/color/HueSlider.scss +78 -0
  27. package/lib/esm/imodel-components-react/color/SaturationPicker.scss +36 -0
  28. package/lib/esm/imodel-components-react/color/Swatch.scss +22 -0
  29. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +16 -0
  30. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +14 -0
  31. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +106 -0
  32. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +46 -0
  33. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +50 -0
  34. package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -0
  35. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +177 -0
  36. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +133 -0
  37. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +53 -0
  38. package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +22 -0
  39. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +105 -0
  40. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +43 -0
  41. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +38 -0
  42. package/lib/esm/imodel-components-react/timeline/Timeline.scss +163 -0
  43. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +48 -0
  44. package/lib/imodel-components-react/ToolUtilities.d.ts +33 -0
  45. package/lib/imodel-components-react/ToolUtilities.d.ts.map +1 -0
  46. package/lib/imodel-components-react/ToolUtilities.js +40 -0
  47. package/lib/imodel-components-react/ToolUtilities.js.map +1 -0
  48. package/lib/imodel-components-react.d.ts +1 -0
  49. package/lib/imodel-components-react.d.ts.map +1 -1
  50. package/lib/imodel-components-react.js +1 -0
  51. package/lib/imodel-components-react.js.map +1 -1
  52. package/package.json +11 -17
@@ -0,0 +1,177 @@
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
+ $cube-outer-width: 96px;
6
+ $button-width: 20px;
7
+ $nav-cube-width: 64px;
8
+ $nav-cube-side-width: 14px;
9
+
10
+ $grad-start: var(--iui-color-background);
11
+ $grad-end: var(--iui-color-background-zebra);
12
+
13
+ $arrow-margin: -3px;
14
+
15
+ .components-cube-container {
16
+ position: relative;
17
+ width: $cube-outer-width;
18
+ height: $cube-outer-width;
19
+
20
+ .cube-element-container {
21
+ position: absolute;
22
+ left: 0;
23
+ top: 0;
24
+ width: $cube-outer-width;
25
+ height: $cube-outer-width;
26
+ display: flex;
27
+ justify-content: center;
28
+ align-items: center;
29
+
30
+ .nav-cube {
31
+ width: $nav-cube-width;
32
+ height: $nav-cube-width;
33
+
34
+ .nav-cube-face {
35
+ display: flex;
36
+ flex-direction: column;
37
+ width: 100%;
38
+ height: 100%;
39
+ font-size: var(--iui-font-size-1);
40
+ font-weight: var(--iui-font-weight-semibold);
41
+ color: var(--iui-color-text);
42
+ box-shadow: inset 0px 0px 1px 0.2px var(--iui-color-border);
43
+
44
+ .face-row {
45
+ display: flex;
46
+ flex-direction: row;
47
+ height: $nav-cube-side-width;
48
+ width: 100%;
49
+
50
+ &.cube-center {
51
+ height: auto;
52
+ flex-grow: 1;
53
+ }
54
+
55
+ .face-cell {
56
+ cursor: pointer;
57
+ user-select: none;
58
+ -webkit-user-select: none;
59
+ width: $nav-cube-side-width;
60
+
61
+ &.cube-center {
62
+ width: auto;
63
+ flex-grow: 1;
64
+ }
65
+
66
+ &.cube-hover {
67
+ height: auto;
68
+ background-color: var(--iui-color-background-accent-muted);
69
+ }
70
+
71
+ &.cube-active {
72
+ background-color: var(--iui-color-background-accent-muted);
73
+ }
74
+ }
75
+
76
+ &.cube-center .face-cell.cube-center {
77
+ display: flex;
78
+ justify-content: center;
79
+ align-items: center;
80
+ }
81
+ }
82
+ }
83
+
84
+ .cube-left,
85
+ .cube-right,
86
+ .cube-front,
87
+ .cube-back {
88
+ background: linear-gradient(#{$grad-start}, #{$grad-end});
89
+ }
90
+
91
+ .cube-top {
92
+ background: $grad-start;
93
+ }
94
+
95
+ .cube-bottom {
96
+ background: $grad-end;
97
+ }
98
+
99
+ &.cube-dragging {
100
+ .face-row .face-cell {
101
+ &.cube-hover,
102
+ &.cube-active {
103
+ background: transparent;
104
+ }
105
+ }
106
+
107
+ .cube-left,
108
+ .cube-right,
109
+ .cube-front,
110
+ .cube-back {
111
+ background: linear-gradient(
112
+ var(--iui-color-background),
113
+ var(--iui-color-background-backdrop)
114
+ );
115
+ }
116
+
117
+ .cube-top {
118
+ background: var(--iui-color-background);
119
+ }
120
+
121
+ .cube-bottom {
122
+ background: var(--iui-color-background-backdrop);
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ .cube-pointer {
129
+ position: absolute;
130
+ height: $button-width;
131
+ width: $button-width;
132
+ font-size: $button-width;
133
+ color: var(--iui-color-background);
134
+ text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
135
+ cursor: pointer;
136
+
137
+ &:not(.cube-visible) {
138
+ display: none;
139
+ }
140
+
141
+ &:hover {
142
+ color: var(--iui-color-background-hover);
143
+ }
144
+
145
+ &:focus {
146
+ outline: none;
147
+ }
148
+
149
+ &.cube-up {
150
+ margin: $arrow-margin auto;
151
+ left: 0px;
152
+ right: 0px;
153
+ top: 0px;
154
+ }
155
+
156
+ &.cube-down {
157
+ margin: $arrow-margin auto;
158
+ left: 0px;
159
+ right: 0px;
160
+ bottom: 0px;
161
+ }
162
+
163
+ &.cube-left {
164
+ margin: auto $arrow-margin;
165
+ top: 0px;
166
+ bottom: 0px;
167
+ left: 0px;
168
+ }
169
+
170
+ &.cube-right {
171
+ margin: auto $arrow-margin;
172
+ top: 0px;
173
+ bottom: 0px;
174
+ right: 0px;
175
+ }
176
+ }
177
+ }
@@ -0,0 +1,133 @@
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
+ @use "~@itwin/core-react/lib/core-react/z-index" as *;
6
+
7
+ #components-drawing-portal {
8
+ @include uicore-z-index(dragged-widget);
9
+ }
10
+
11
+ .components-drawing-navigation-aid {
12
+ position: relative;
13
+ overflow: hidden;
14
+ box-shadow: 0 0 0 1px var(--iui-color-border-foreground),
15
+ 0 0 0 2px var(--iui-color-text);
16
+ height: 96px;
17
+ width: 96px;
18
+
19
+ .drawing-canvas {
20
+ position: absolute;
21
+ left: 0px;
22
+ top: 0px;
23
+ width: 100%;
24
+ height: 100%;
25
+ min-width: 96px;
26
+ min-height: 96px;
27
+ }
28
+
29
+ .drawing-container {
30
+ position: absolute;
31
+ left: 0px;
32
+ top: 0px;
33
+ width: 100%;
34
+ height: 100%;
35
+
36
+ .drawing-view-window {
37
+ position: absolute;
38
+ left: 0px;
39
+ top: 0px;
40
+ border: white 1px solid;
41
+ background-color: rgba(0, 0, 0, 0.5);
42
+ }
43
+
44
+ .unrotate-button {
45
+ position: absolute;
46
+ background-color: var(--iui-color-background);
47
+ border: 1px solid var(--iui-color-background-disabled);
48
+ cursor: pointer;
49
+ border-radius: var(--iui-border-radius-1);
50
+ top: 10px;
51
+ left: 0px;
52
+ right: 0px;
53
+ margin: auto;
54
+ font-size: 13px;
55
+ height: 20px;
56
+ width: 64px;
57
+ line-height: 20px;
58
+ text-align: center;
59
+
60
+ &:focus {
61
+ outline: none;
62
+ }
63
+ }
64
+
65
+ .close {
66
+ position: absolute;
67
+ cursor: pointer;
68
+ background-color: var(--iui-color-background);
69
+ border: 1px solid var(--iui-color-background-disabled);
70
+ border-radius: var(--iui-border-radius-1);
71
+ right: 10px;
72
+ top: 10px;
73
+
74
+ .close-icon {
75
+ height: 32px;
76
+ width: 32px;
77
+ line-height: 32px;
78
+ text-align: center;
79
+ font-size: 18px;
80
+ transform: rotate(45deg);
81
+ }
82
+ }
83
+
84
+ .toggle-rotate-style {
85
+ position: absolute;
86
+ cursor: pointer;
87
+ background-color: var(--iui-color-background);
88
+ opacity: 0.5;
89
+ color: var(--iui-color-text);
90
+ border-radius: var(--iui-border-radius-1);
91
+ bottom: 10px;
92
+ left: 10px;
93
+ height: 16px;
94
+ width: 16px;
95
+ font-size: 12px;
96
+ line-height: 16px;
97
+ text-align: center;
98
+
99
+ &.checked {
100
+ color: var(--iui-color-text-accent);
101
+ }
102
+
103
+ &:hover {
104
+ opacity: 1;
105
+ }
106
+ }
107
+
108
+ .zoom {
109
+ position: absolute;
110
+ border: 1px solid var(--iui-color-background-disabled);
111
+ border-radius: var(--iui-border-radius-1);
112
+ right: 10px;
113
+ bottom: 10px;
114
+
115
+ .zoom-button {
116
+ cursor: pointer;
117
+ background-color: var(--iui-color-background);
118
+ height: 32px;
119
+ width: 32px;
120
+ line-height: 32px;
121
+ text-align: center;
122
+
123
+ &:first-child {
124
+ border-bottom: 1px solid var(--iui-color-background-disabled);
125
+ }
126
+
127
+ &:focus {
128
+ outline: none;
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,53 @@
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
+ .components-quantityFormat-panel {
6
+ display: grid;
7
+ grid-template-columns: auto 1fr;
8
+ row-gap: 0;
9
+ column-gap: 6px;
10
+ align-items: center;
11
+
12
+ > .uicore-label {
13
+ font-size: var(--iui-font-size-1);
14
+ margin: 4.4px 0;
15
+
16
+ /* match margin on other select controls so it spaces properly in grid */
17
+ &.uicore-disabled {
18
+ color: var(--iui-color-text-disabled);
19
+ }
20
+ }
21
+
22
+ > span.components-inline {
23
+ display: flex;
24
+ flex-direction: row;
25
+ align-items: center;
26
+ gap: 4px;
27
+ }
28
+
29
+ > button.components-quantityFormat-more-button {
30
+ grid-column: 1 / span 2;
31
+ border: none;
32
+ outline: none;
33
+ background: none;
34
+ }
35
+
36
+ .components-quantityFormat-more-button-label {
37
+ margin-right: 0.25em;
38
+ }
39
+
40
+ > a.components-quantityFormat-more-less {
41
+ font-size: var(--iui-font-size-1);
42
+ color: var(--iui-color-text-negative);
43
+ -webkit-transition: text-decoration 1s ease;
44
+ -moz-transition: text-decoration 1s ease;
45
+ -o-transition: text-decoration 1s ease;
46
+ transition: text-decoration 0.1s ease;
47
+
48
+ &:hover {
49
+ text-decoration: underline;
50
+ cursor: pointer;
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,22 @@
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
+ .inline-edit-input {
6
+ color: var(--iui-color-text);
7
+ background: inherit;
8
+ border: 1px solid transparent;
9
+ box-sizing: border-box;
10
+ padding: 0px;
11
+
12
+ &:hover {
13
+ border: 1px solid var(--iui-color-background-disabled);
14
+ }
15
+
16
+ &:focus {
17
+ background: var(--iui-color-background);
18
+ border: 1px solid var(--iui-color-background-disabled);
19
+ outline: none;
20
+ color: var(--iui-color-text-hover);
21
+ }
22
+ }
@@ -0,0 +1,105 @@
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
+ @use "~@itwin/core-react/lib/core-react/z-index" as *;
6
+
7
+ .components-timeline-thumb {
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ background-color: var(--iui-color-background);
12
+ box-sizing: border-box;
13
+ width: 38px;
14
+ height: 20px;
15
+ border-radius: var(--iui-border-radius-1);
16
+ border: 1px solid var(--iui-color-border);
17
+ transform: translateX(-19.2px);
18
+ }
19
+
20
+ .components-timeline-rail-marker-container {
21
+ position: absolute;
22
+ width: 100%;
23
+ top: 0;
24
+
25
+ .components-timeline-tooltip {
26
+ @include uicore-z-index(tooltip);
27
+ position: absolute;
28
+ top: -8px;
29
+ display: inline-block;
30
+ transform: translateX(-50px);
31
+ border-bottom: 1px dotted rgba(0, 0, 0, var(--iui-opacity-3));
32
+ font-size: 14px;
33
+
34
+ .tooltip-text {
35
+ width: 100px;
36
+ background-color: rgba(0, 0, 0, var(--iui-opacity-3));
37
+ color: #fff;
38
+ // opacity: 0.8;
39
+ text-align: center;
40
+ border-radius: 6px;
41
+ padding: 8px 0;
42
+ position: absolute;
43
+ z-index: 1;
44
+ bottom: 150%;
45
+
46
+ &:after {
47
+ content: "";
48
+ position: absolute;
49
+ top: 100%;
50
+ left: 50%;
51
+ margin-left: -5px;
52
+ border-width: 5px;
53
+ border-style: solid;
54
+ border-color: rgba(0, 0, 0, var(--iui-opacity-3)) transparent
55
+ transparent transparent;
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ .scrubber-handle {
62
+ pointer-events: none;
63
+ position: absolute;
64
+ width: 38px;
65
+ height: 20px;
66
+ border-radius: var(--iui-border-radius-1);
67
+ display: flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ box-sizing: border-box;
71
+ cursor: pointer;
72
+
73
+ > div {
74
+ width: 1px;
75
+ height: 10px;
76
+ margin: 0 1px;
77
+ background-color: var(--iui-color-border-subtle);
78
+ }
79
+ }
80
+
81
+ .scrubber-track {
82
+ position: absolute;
83
+ top: 50%;
84
+ transform: translateY(-50%);
85
+ height: 4px;
86
+ z-index: 1;
87
+ cursor: pointer;
88
+ }
89
+
90
+ .components-timeline-date-marker {
91
+ pointer-events: none;
92
+ position: absolute;
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ transform: translateY(50%);
97
+ }
98
+
99
+ .date-marker-default {
100
+ height: 12px;
101
+ width: 3px;
102
+ border-radius: var(--iui-border-radius-1);
103
+ transform: translateY(1px);
104
+ background-color: var(--iui-color-border);
105
+ }
@@ -0,0 +1,43 @@
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
+ .solar-timeline-wrapper {
6
+ width: 100%;
7
+ position: relative;
8
+ display: grid;
9
+ align-items: center;
10
+ grid-template-columns: auto 1fr auto;
11
+ grid-template-areas: "solar-timeline-start solar-timeline solar-timeline-end";
12
+ }
13
+
14
+ @container solar-timeline (width < 600px) {
15
+ .solar-timeline-wrapper {
16
+ grid-template-columns: auto auto;
17
+ grid-template-areas: "solar-timeline solar-timeline" "solar-timeline-start solar-timeline-end";
18
+ }
19
+ }
20
+
21
+ @container solar-timeline (width < 320px) {
22
+ .solar-timeline-date-time {
23
+ clip-path: inset(50%) !important;
24
+ overflow: hidden !important;
25
+ position: absolute !important;
26
+ white-space: nowrap !important;
27
+ block-size: 1px !important;
28
+ inline-size: 1px !important;
29
+ }
30
+ }
31
+
32
+ .solar-timeline {
33
+ grid-area: solar-timeline;
34
+ margin-inline: var(--iui-size-2xs);
35
+ }
36
+
37
+ .solar-timeline-start {
38
+ grid-area: solar-timeline-start;
39
+ }
40
+
41
+ .solar-timeline-end {
42
+ grid-area: solar-timeline-end;
43
+ }
@@ -0,0 +1,38 @@
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
+ .speed-timeline {
6
+ position: relative;
7
+ height: 25px;
8
+
9
+ .railOuter {
10
+ position: absolute;
11
+ width: 100%;
12
+ height: 100%;
13
+ cursor: pointer;
14
+ }
15
+
16
+ .railInner {
17
+ position: absolute;
18
+ top: 50%;
19
+ transform: translateY(-50%);
20
+ width: 100%;
21
+ height: 2px;
22
+ pointer-events: none;
23
+ background: var(--iui-color-background-disabled);
24
+ }
25
+
26
+ .scrubberHandle {
27
+ position: absolute;
28
+ top: 50%;
29
+ transform: translate(-50%, -50%);
30
+ z-index: 4;
31
+ width: 12px;
32
+ height: 12px;
33
+ cursor: pointer;
34
+ border: none;
35
+ border-radius: 50%;
36
+ background: var(--iui-color-icon-accent);
37
+ }
38
+ }