@seamapi/react 1.47.0 → 1.48.1

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 (126) hide show
  1. package/README.md +1 -1
  2. package/dist/elements.js +3312 -3292
  3. package/dist/elements.js.map +1 -1
  4. package/dist/index.css +465 -1
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.min.css +1 -1
  7. package/dist/index.min.css.map +1 -1
  8. package/lib/dates.d.ts +9 -0
  9. package/lib/dates.js +15 -0
  10. package/lib/dates.js.map +1 -1
  11. package/lib/icons/ArrowRight.d.ts +2 -0
  12. package/lib/icons/ArrowRight.js +7 -0
  13. package/lib/icons/ArrowRight.js.map +1 -0
  14. package/lib/icons/Info.d.ts +2 -0
  15. package/lib/icons/Info.js +7 -0
  16. package/lib/icons/Info.js.map +1 -0
  17. package/lib/icons/InfoDark.d.ts +2 -0
  18. package/lib/icons/InfoDark.js +7 -0
  19. package/lib/icons/InfoDark.js.map +1 -0
  20. package/lib/icons/TemperatureAdd.d.ts +2 -0
  21. package/lib/icons/TemperatureAdd.js +7 -0
  22. package/lib/icons/TemperatureAdd.js.map +1 -0
  23. package/lib/icons/TemperatureSubtract.d.ts +2 -0
  24. package/lib/icons/TemperatureSubtract.js +7 -0
  25. package/lib/icons/TemperatureSubtract.js.map +1 -0
  26. package/lib/seam/SeamProvider.d.ts +2 -2
  27. package/lib/seam/SeamProvider.js.map +1 -1
  28. package/lib/seam/access-codes/use-generate-access-code-code.d.ts +6 -0
  29. package/lib/seam/access-codes/use-generate-access-code-code.js +13 -0
  30. package/lib/seam/access-codes/use-generate-access-code-code.js.map +1 -0
  31. package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.js.map +1 -1
  32. package/lib/seam/components/AccessCodeDetails/AccessCodeDevice.js +1 -1
  33. package/lib/seam/components/AccessCodeDetails/AccessCodeDevice.js.map +1 -1
  34. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.d.ts +6 -0
  35. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.js +41 -0
  36. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.js.map +1 -0
  37. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.d.ts +4 -0
  38. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.js +29 -0
  39. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.js.map +1 -0
  40. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRow.js +2 -2
  41. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRow.js.map +1 -1
  42. package/lib/seam/components/ClimateSettingScheduleTable/{ClimateSettingScheduleDetails.d.ts → ClimateSettingScheduleRowDetails.d.ts} +1 -1
  43. package/lib/seam/components/ClimateSettingScheduleTable/{ClimateSettingScheduleDetails.js → ClimateSettingScheduleRowDetails.js} +2 -2
  44. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRowDetails.js.map +1 -0
  45. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.d.ts +6 -1
  46. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.js +21 -4
  47. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.js.map +1 -1
  48. package/lib/seam/components/DeviceTable/DeviceTable.js +2 -2
  49. package/lib/seam/components/DeviceTable/DeviceTable.js.map +1 -1
  50. package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.d.ts +5 -0
  51. package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.js +24 -0
  52. package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.js.map +1 -0
  53. package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js +1 -0
  54. package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js.map +1 -1
  55. package/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.d.ts +5 -0
  56. package/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.js +21 -0
  57. package/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.js.map +1 -0
  58. package/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.d.ts +5 -0
  59. package/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.js +27 -0
  60. package/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.js.map +1 -0
  61. package/lib/seam/use-seam-client.js +2 -2
  62. package/lib/seam/use-seam-client.js.map +1 -1
  63. package/lib/ui/AccessCodeForm/AccessCodeFormDatePicker.js +1 -1
  64. package/lib/ui/AccessCodeForm/AccessCodeFormDatePicker.js.map +1 -1
  65. package/lib/ui/Menu/Menu.js +5 -5
  66. package/lib/ui/Menu/Menu.js.map +1 -1
  67. package/lib/ui/Switch/Switch.d.ts +8 -0
  68. package/lib/ui/Switch/Switch.js +15 -0
  69. package/lib/ui/Switch/Switch.js.map +1 -0
  70. package/lib/ui/TextField/TextField.js +1 -3
  71. package/lib/ui/TextField/TextField.js.map +1 -1
  72. package/lib/ui/Tooltip/Tooltip.d.ts +2 -0
  73. package/lib/ui/Tooltip/Tooltip.js +33 -0
  74. package/lib/ui/Tooltip/Tooltip.js.map +1 -0
  75. package/lib/ui/clipboard.js +1 -1
  76. package/lib/ui/clipboard.js.map +1 -1
  77. package/lib/ui/thermostat/ClimateSettingStatus.js +10 -3
  78. package/lib/ui/thermostat/ClimateSettingStatus.js.map +1 -1
  79. package/lib/ui/thermostat/TemperatureControl.d.ts +11 -0
  80. package/lib/ui/thermostat/TemperatureControl.js +42 -0
  81. package/lib/ui/thermostat/TemperatureControl.js.map +1 -0
  82. package/lib/ui/use-current-time.d.ts +2 -0
  83. package/lib/ui/use-current-time.js +12 -0
  84. package/lib/ui/use-current-time.js.map +1 -0
  85. package/lib/version.d.ts +1 -1
  86. package/lib/version.js +1 -1
  87. package/package.json +7 -7
  88. package/src/lib/dates.ts +17 -0
  89. package/src/lib/element.tsx +6 -4
  90. package/src/lib/icons/ArrowRight.tsx +36 -0
  91. package/src/lib/icons/Info.tsx +36 -0
  92. package/src/lib/icons/InfoDark.tsx +37 -0
  93. package/src/lib/icons/TemperatureAdd.tsx +38 -0
  94. package/src/lib/icons/TemperatureSubtract.tsx +35 -0
  95. package/src/lib/seam/SeamProvider.tsx +2 -3
  96. package/src/lib/seam/access-codes/use-generate-access-code-code.ts +38 -0
  97. package/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx +0 -2
  98. package/src/lib/seam/components/AccessCodeDetails/AccessCodeDevice.tsx +1 -4
  99. package/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.tsx +101 -0
  100. package/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.tsx +58 -0
  101. package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRow.tsx +2 -2
  102. package/src/lib/seam/components/ClimateSettingScheduleTable/{ClimateSettingScheduleDetails.tsx → ClimateSettingScheduleRowDetails.tsx} +1 -1
  103. package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.element.ts +4 -0
  104. package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +59 -6
  105. package/src/lib/seam/components/DeviceTable/DeviceTable.tsx +2 -2
  106. package/src/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.ts +47 -0
  107. package/src/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.ts +1 -0
  108. package/src/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.ts +48 -0
  109. package/src/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.ts +53 -0
  110. package/src/lib/seam/use-seam-client.ts +2 -2
  111. package/src/lib/ui/AccessCodeForm/AccessCodeFormDatePicker.tsx +2 -2
  112. package/src/lib/ui/Menu/Menu.tsx +5 -6
  113. package/src/lib/ui/Switch/Switch.tsx +38 -0
  114. package/src/lib/ui/TextField/TextField.tsx +1 -3
  115. package/src/lib/ui/Tooltip/Tooltip.tsx +64 -0
  116. package/src/lib/ui/clipboard.ts +1 -1
  117. package/src/lib/ui/thermostat/ClimateSettingStatus.tsx +12 -10
  118. package/src/lib/ui/thermostat/TemperatureControl.tsx +121 -0
  119. package/src/lib/ui/use-current-time.ts +16 -0
  120. package/src/lib/version.ts +1 -1
  121. package/src/styles/_colors.scss +4 -0
  122. package/src/styles/_main.scss +4 -0
  123. package/src/styles/_switch.scss +53 -0
  124. package/src/styles/_thermostat.scss +384 -2
  125. package/src/styles/_tooltip.scss +86 -0
  126. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleDetails.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ import { DateTime } from 'luxon'
2
+ import { useCallback, useState } from 'react'
3
+
4
+ import { useInterval } from 'lib/ui/use-interval.js'
5
+
6
+ export function useCurrentTime(): DateTime {
7
+ const [date, setDate] = useState<DateTime>(DateTime.now())
8
+
9
+ const update = useCallback(() => {
10
+ setDate(DateTime.now())
11
+ }, [setDate])
12
+
13
+ useInterval(update)
14
+
15
+ return date
16
+ }
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '1.47.0'
1
+ const seamapiReactVersion = '1.48.1'
2
2
 
3
3
  export default seamapiReactVersion
@@ -34,3 +34,7 @@ $pill-green-bg: rgb(98 232 139 / 30%);
34
34
  $pill-green-text: #0d8841;
35
35
  $pill-blue-bg: rgb(125 192 241 / 30%);
36
36
  $pill-blue-text: #1653b8;
37
+ $thermo-orange: #fc8e28;
38
+ $thermo-orange-faded: #fff2e0;
39
+ $thermo-blue: #6b95ff;
40
+ $thermo-blue-faded: #e7f2ff;
@@ -18,7 +18,9 @@
18
18
  @use './radio-field';
19
19
  @use './checkbox';
20
20
  @use './thermostat';
21
+ @use './tooltip';
21
22
  @use './seam-table';
23
+ @use './switch';
22
24
 
23
25
  .seam-components {
24
26
  // Reset
@@ -36,6 +38,8 @@
36
38
  @include menus.all;
37
39
  @include checkbox.all;
38
40
  @include radio-field.all;
41
+ @include tooltip.all;
42
+ @include switch.all;
39
43
 
40
44
  // Components
41
45
  @include device-details.all;
@@ -0,0 +1,53 @@
1
+ @use './colors';
2
+
3
+ @mixin all {
4
+ .seam-switch-container {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: 8px;
8
+
9
+ .seam-switch-label {
10
+ font-style: normal;
11
+ font-weight: 400;
12
+ line-height: 118%;
13
+ font-size: 14px;
14
+ color: colors.$text-gray-2-5;
15
+ }
16
+
17
+ .seam-switch {
18
+ position: relative;
19
+ cursor: pointer;
20
+
21
+ .seam-switch-slider::before {
22
+ position: absolute;
23
+ content: '';
24
+ height: 20px;
25
+ width: 20px;
26
+ left: 0;
27
+ bottom: -3px;
28
+ background-color: colors.$bg-aa;
29
+ transition: 0.4s;
30
+ border-radius: 50%;
31
+ filter: drop-shadow(0 1px 4px rgb(0 0 0 / 25%));
32
+ }
33
+
34
+ .seam-switch-slider {
35
+ inset: 0;
36
+ width: 34px;
37
+ height: 14px;
38
+ background-color: #ccc;
39
+ transition: 0.4s;
40
+ border-radius: 20px;
41
+ }
42
+
43
+ &.seam-switch-checked .seam-switch-slider::before {
44
+ transform: translateX(14px);
45
+ background-color: colors.$primary;
46
+ }
47
+
48
+ &.seam-switch-checked .seam-switch-slider {
49
+ background-color: colors.$primary-dim;
50
+ }
51
+ }
52
+ }
53
+ }
@@ -1,12 +1,294 @@
1
1
  @use './colors';
2
2
 
3
- @mixin all {
3
+ @mixin temperature-control-thumb-hover(
4
+ $secondary-color: colors.$thermo-blue-faded
5
+ ) {
6
+ background-color: $secondary-color;
7
+ }
8
+
9
+ @mixin temperature-control-thumb(
10
+ $primary-color: colors.$thermo-blue,
11
+ $secondary-color: colors.$thermo-blue-faded
12
+ ) {
13
+ width: var(--thumb-size);
14
+ height: var(--thumb-size);
15
+ border-radius: 1em;
16
+ background: colors.$white;
17
+ border: 2px solid $primary-color;
18
+ box-shadow: none;
19
+ cursor: grab;
20
+ transition: 0.15s ease-in-out;
21
+
22
+ &:hover {
23
+ @include temperature-control-thumb-hover($secondary-color);
24
+ }
25
+
26
+ &:active {
27
+ cursor: grabbing;
28
+ background-color: $primary-color !important;
29
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 15%) !important;
30
+ }
31
+ }
32
+
33
+ @mixin temperature-control-ltr-track($primary-color: colors.$thermo-blue) {
34
+ background:
35
+ linear-gradient($primary-color, $primary-color) 0 / var(--slider-position)
36
+ 100% no-repeat,
37
+ colors.$text-gray-3;
38
+ }
39
+
40
+ @mixin temperature-control-rtl-track($primary-color: colors.$thermo-blue) {
41
+ background:
42
+ linear-gradient($primary-color, $primary-color) 100% /
43
+ calc(var(--slider-position-rtl)) 100% no-repeat,
44
+ colors.$text-gray-3;
45
+ }
46
+
47
+ @mixin temperature-control-track($primary-color: colors.$thermo-blue) {
48
+ height: var(--track-height);
49
+ border-radius: 0.5em;
50
+ border: none;
51
+ box-shadow: none;
52
+ }
53
+
54
+ @mixin temperature-control {
55
+ .seam-temperature-control {
56
+ display: flex;
57
+ justify-content: center;
58
+ align-items: center;
59
+ flex-direction: row;
60
+ gap: 7px;
61
+ }
62
+
63
+ .seam-temperature-range-wrap {
64
+ --thumb-size: 20px;
65
+ --track-height: 4px;
66
+ --temperature-min: 0;
67
+ --temperature-max: 100;
68
+ --temperature-current: 50;
69
+ --temperature-range: calc(var(--temperature-max) - var(--temperature-min));
70
+ --temperature-ratio: calc(
71
+ (var(--temperature-current) - var(--temperature-min)) /
72
+ var(--temperature-range)
73
+ );
74
+ --slider-position: calc(
75
+ 0.5 * var(--thumb-size) + var(--temperature-ratio) *
76
+ (100% - var(--thumb-size))
77
+ );
78
+ --slider-position-rtl: calc(100% - var(--slider-position));
79
+
80
+ display: flex;
81
+ justify-content: center;
82
+ align-items: center;
83
+ position: relative;
84
+ }
85
+
86
+ input[type='range'].seam-temperature-range {
87
+ width: 160px;
88
+ appearance: none;
89
+
90
+ &:focus {
91
+ outline: none;
92
+ }
93
+
94
+ &::-webkit-slider-thumb {
95
+ appearance: none;
96
+ margin-top: calc(var(--track-height) * 0.5 - var(--thumb-size) * 0.5);
97
+ }
98
+
99
+ &::-ms-thumb {
100
+ margin-top: 0;
101
+ box-sizing: border-box;
102
+ }
103
+
104
+ &::-ms-track {
105
+ box-sizing: border-box;
106
+ }
107
+
108
+ &::-ms-fill-upper {
109
+ background: transparent;
110
+ border-color: transparent;
111
+ }
112
+
113
+ &::-ms-fill-lower {
114
+ border-color: transparent;
115
+ height: var(--track-height);
116
+ border-radius: 0.5em 0 0 0.5em;
117
+ margin: 0;
118
+ border: none;
119
+ border-right-width: 0;
120
+ }
121
+
122
+ &[data-variant='heat'] {
123
+ &::-webkit-slider-thumb {
124
+ @include temperature-control-thumb(
125
+ colors.$thermo-orange,
126
+ colors.$thermo-orange-faded
127
+ );
128
+ }
129
+
130
+ &::-moz-range-thumb {
131
+ @include temperature-control-thumb(
132
+ colors.$thermo-orange,
133
+ colors.$thermo-orange-faded
134
+ );
135
+ }
136
+
137
+ &::-ms-thumb {
138
+ @include temperature-control-thumb(
139
+ colors.$thermo-orange,
140
+ colors.$thermo-orange-faded
141
+ );
142
+ }
143
+
144
+ &:focus {
145
+ &::-webkit-slider-thumb {
146
+ @include temperature-control-thumb-hover(colors.$thermo-orange-faded);
147
+ }
148
+
149
+ &::-moz-range-thumb {
150
+ @include temperature-control-thumb-hover(colors.$thermo-orange-faded);
151
+ }
152
+
153
+ &::-ms-thumb {
154
+ @include temperature-control-thumb-hover(colors.$thermo-orange-faded);
155
+ }
156
+ }
157
+
158
+ &::-webkit-slider-runnable-track {
159
+ @include temperature-control-track(colors.$thermo-orange);
160
+ @include temperature-control-ltr-track(colors.$thermo-orange);
161
+ }
162
+
163
+ &::-moz-range-track {
164
+ @include temperature-control-track(colors.$thermo-orange);
165
+ @include temperature-control-ltr-track(colors.$thermo-orange);
166
+ }
167
+
168
+ &::-ms-track {
169
+ @include temperature-control-track(colors.$thermo-orange);
170
+ @include temperature-control-ltr-track(colors.$thermo-orange);
171
+ }
172
+
173
+ &::-ms-fill-lower {
174
+ background: colors.$thermo-orange;
175
+ }
176
+ }
177
+
178
+ &[data-variant='cool'] {
179
+ &::-webkit-slider-thumb {
180
+ @include temperature-control-thumb(
181
+ colors.$thermo-blue,
182
+ colors.$thermo-blue-faded
183
+ );
184
+ }
185
+
186
+ &::-moz-range-thumb {
187
+ @include temperature-control-thumb(
188
+ colors.$thermo-blue,
189
+ colors.$thermo-blue-faded
190
+ );
191
+ }
192
+
193
+ &::-ms-thumb {
194
+ @include temperature-control-thumb(
195
+ colors.$thermo-blue,
196
+ colors.$thermo-blue-faded
197
+ );
198
+ }
199
+
200
+ &:focus {
201
+ &::-webkit-slider-thumb {
202
+ @include temperature-control-thumb-hover(colors.$thermo-blue-faded);
203
+ }
204
+
205
+ &::-moz-range-thumb {
206
+ @include temperature-control-thumb-hover(colors.$thermo-blue-faded);
207
+ }
208
+
209
+ &::-ms-thumb {
210
+ @include temperature-control-thumb-hover(colors.$thermo-blue-faded);
211
+ }
212
+ }
213
+
214
+ &::-webkit-slider-runnable-track {
215
+ @include temperature-control-track(colors.$thermo-blue);
216
+ @include temperature-control-rtl-track(colors.$thermo-blue);
217
+ }
218
+
219
+ &::-moz-range-track {
220
+ @include temperature-control-track(colors.$thermo-blue);
221
+ @include temperature-control-rtl-track(colors.$thermo-blue);
222
+ }
223
+
224
+ &::-ms-track {
225
+ @include temperature-control-track(colors.$thermo-blue);
226
+ @include temperature-control-rtl-track(colors.$thermo-blue);
227
+ }
228
+
229
+ &::-ms-fill-lower {
230
+ background: colors.$thermo-blue;
231
+ }
232
+ }
233
+ }
234
+
235
+ .seam-floating-temperature {
236
+ position: absolute;
237
+ top: -28px;
238
+ left: calc(var(--slider-position) - 10px);
239
+
240
+ .seam-floating-temperature-value {
241
+ color: colors.$black;
242
+ font-size: 16px;
243
+ font-weight: 600;
244
+ line-height: 1;
245
+ }
246
+
247
+ .seam-floating-temperature-unit {
248
+ color: colors.$text-gray-2-5;
249
+ font-size: 14px;
250
+ font-weight: 400;
251
+ line-height: 1;
252
+ }
253
+ }
254
+
255
+ .seam-temperature-stepper-button {
256
+ appearance: none;
257
+ width: 32px;
258
+ height: 32px;
259
+ border-radius: 6px;
260
+ border: 1px solid colors.$text-gray-3;
261
+ background-color: colors.$white;
262
+ display: flex;
263
+ justify-content: center;
264
+ align-items: center;
265
+ box-shadow: none;
266
+ cursor: pointer;
267
+ transition: 0.1s ease-in-out;
268
+
269
+ &:focus {
270
+ outline: none;
271
+ }
272
+
273
+ &:hover,
274
+ &:focus {
275
+ background-color: colors.$bg-a;
276
+ border-color: colors.$text-gray-2;
277
+ }
278
+
279
+ &:active {
280
+ background-color: colors.$bg-c;
281
+ border-color: colors.$text-gray-1;
282
+ }
283
+ }
284
+ }
285
+
286
+ @mixin climate-setting-status {
4
287
  .seam-climate-setting-status {
5
288
  display: flex;
6
289
  align-items: center;
7
290
  gap: 4px;
8
291
  color: colors.$text-gray-1;
9
- font-size: 14px;
10
292
  line-height: 118%;
11
293
  white-space: nowrap;
12
294
  }
@@ -18,4 +300,104 @@
18
300
  justify-content: center;
19
301
  align-items: center;
20
302
  }
303
+
304
+ .seam-climate-setting-schedule-card {
305
+ background: colors.$bg-a;
306
+ border-radius: 16px;
307
+ margin: 0 24px 16px;
308
+
309
+ .seam-climate-setting-schedule-content {
310
+ display: flex;
311
+ flex-direction: column;
312
+
313
+ .seam-climate-setting-schedule-summary-container {
314
+ padding: 16px;
315
+ display: flex;
316
+ width: 100%;
317
+ gap: 8px;
318
+
319
+ .seam-climate-setting-schedule-icon-block {
320
+ padding: 8px;
321
+ }
322
+
323
+ .seam-climate-setting-schedule-summary {
324
+ display: flex;
325
+ flex-direction: column;
326
+
327
+ .seam-climate-setting-schedule-heading {
328
+ font-weight: 600;
329
+ font-size: 21px;
330
+ line-height: 132%;
331
+ margin-bottom: 8px;
332
+ }
333
+
334
+ .seam-climate-setting-schedule-subheading {
335
+ display: flex;
336
+ align-items: center;
337
+ color: colors.$text-gray-1;
338
+ line-height: 118%;
339
+
340
+ .seam-dot-divider {
341
+ color: colors.$text-gray-3;
342
+ width: 16px;
343
+ display: flex;
344
+ justify-content: center;
345
+ }
346
+ }
347
+ }
348
+ }
349
+
350
+ .seam-climate-setting-schedule-device-bar {
351
+ border-top: 1px solid colors.$bg-c;
352
+ padding: 16px;
353
+ display: flex;
354
+ align-items: center;
355
+ justify-content: space-between;
356
+ cursor: pointer;
357
+
358
+ .seam-device-image {
359
+ width: 30px;
360
+ height: 30px;
361
+ margin-right: 16px;
362
+
363
+ img {
364
+ width: 100%;
365
+ max-height: 100%;
366
+ }
367
+ }
368
+
369
+ .seam-climate-setting-schedule-device-content {
370
+ display: flex;
371
+ align-items: center;
372
+ width: 100%;
373
+ font-weight: 400;
374
+ font-size: 14px;
375
+ line-height: 134%;
376
+
377
+ .seam-climate-setting-schedule-device-details {
378
+ display: flex;
379
+ flex-direction: column;
380
+ gap: 2.5px;
381
+
382
+ .seam-device-name {
383
+ color: colors.$text-gray-1;
384
+ }
385
+
386
+ .seam-device-current-climate-setting {
387
+ line-height: 118%;
388
+ color: colors.$text-gray-2;
389
+ display: flex;
390
+ align-items: center;
391
+ gap: 8px;
392
+ }
393
+ }
394
+ }
395
+ }
396
+ }
397
+ }
398
+ }
399
+
400
+ @mixin all {
401
+ @include temperature-control;
402
+ @include climate-setting-status;
21
403
  }
@@ -0,0 +1,86 @@
1
+ @use './colors';
2
+
3
+ @mixin all {
4
+ .seam-tooltip {
5
+ position: relative;
6
+
7
+ .seam-tooltip-button {
8
+ appearance: none;
9
+ width: 18px;
10
+ height: 18px;
11
+ border: none;
12
+ box-shadow: none;
13
+ background: none;
14
+ padding: 0;
15
+ margin: 0;
16
+ display: flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+ border-radius: 90px;
20
+ cursor: pointer;
21
+
22
+ & .seam-tooltip-button-icon {
23
+ position: absolute;
24
+ display: flex;
25
+ justify-content: center;
26
+ align-items: center;
27
+ transition: opacity 0.15s ease-in-out;
28
+ }
29
+
30
+ .seam-tooltip-button-icon-hover {
31
+ opacity: 0;
32
+ }
33
+
34
+ &:hover,
35
+ &:focus {
36
+ .seam-tooltip-button-icon-default {
37
+ opacity: 0;
38
+ }
39
+
40
+ .seam-tooltip-button-icon-hover {
41
+ opacity: 1;
42
+ }
43
+ }
44
+
45
+ &:focus {
46
+ outline: none;
47
+ }
48
+ }
49
+
50
+ .seam-tooltip-popover {
51
+ width: 230px;
52
+ padding: 10px;
53
+ gap: 10px;
54
+ position: absolute;
55
+ bottom: 28px;
56
+ left: 2px;
57
+ display: flex;
58
+ border-radius: 8px;
59
+ background: colors.$white;
60
+ box-shadow:
61
+ 0 2px 16px 2px rgb(15 22 28 / 15%),
62
+ 0 0 1px 0 rgb(0 0 0 / 30%);
63
+ transform-origin: bottom left;
64
+ transition: 0.1s ease-in-out;
65
+ opacity: 0;
66
+ transform: scale(0.9);
67
+ visibility: hidden;
68
+ pointer-events: none;
69
+ z-index: -1;
70
+
71
+ &[aria-expanded='true'] {
72
+ opacity: 1;
73
+ transform: scale(1);
74
+ visibility: visible;
75
+ pointer-events: auto;
76
+ z-index: 9;
77
+ }
78
+ }
79
+
80
+ .seam-tooltip-text {
81
+ font-size: 14px;
82
+ font-weight: 400;
83
+ line-height: 134%;
84
+ }
85
+ }
86
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClimateSettingScheduleDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,UAAU,6BAA6B,CAAC,KAE7C;IACC,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IAE7E,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAM,SAAS,EAAC,sCAAsC,YACnD,MAAM,EAAE,UAAU,CAAC,IAAI,GACnB,EACP,KAAC,UAAU,KAAG,EACd,KAAC,QAAQ,IAAC,sBAAsB,EAAE,sBAAsB,GAAI,EAC5D,KAAC,UAAU,KAAG,EACd,KAAC,oBAAoB,IAAC,cAAc,EAAE,sBAAsB,GAAI,IAC5D,CACP,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAEjB;IACC,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IAExC,MAAM,UAAU,GACd,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAA;IAErE,IAAI,UAAU,EAAE;QACd,OAAO,CACL,2BACG,CAAC,CAAC,IAAI,OAAG,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAC7D,CACR,CAAA;KACF;IAED,OAAO,CACL,2BACG,CAAC,CAAC,MAAM,OAAG,UAAU,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAC5D,CACR,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;QAC3C,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;KACf,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,GAAG;IACR,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAA"}