@seamapi/react 2.5.0 → 2.5.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.
- package/README.md +1 -1
- package/dist/elements.js +3346 -3300
- package/dist/elements.js.map +1 -1
- package/dist/index.css +39 -3
- package/dist/index.css.map +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.min.css.map +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.d.ts +6 -0
- package/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.js +27 -0
- package/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.js.map +1 -0
- package/lib/seam/components/AccessCodeTable/AccessCodeRow.js +2 -2
- package/lib/seam/components/AccessCodeTable/AccessCodeRow.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/CodeDetails.js +1 -1
- package/lib/seam/components/AccessCodeTable/CodeDetails.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/src/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.tsx +65 -0
- package/src/lib/seam/components/AccessCodeTable/AccessCodeRow.tsx +10 -6
- package/src/lib/seam/components/AccessCodeTable/CodeDetails.tsx +2 -1
- package/src/lib/version.ts +1 -1
- package/src/styles/_main.scss +2 -0
- package/src/styles/_seam-table.scss +18 -3
- package/src/styles/_visibility.scss +25 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessCodeRow.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeTable/AccessCodeRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AccessCodeRow.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeTable/AccessCodeRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAA;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAA;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAUlD,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,UAAU,EACV,MAAM,EACN,qBAAqB,EACrB,uBAAuB,GACJ;IACnB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/C,MAAM,QAAQ,GAAG,UAAU,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,QAAQ;QAC7B,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE;QACjC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,CAAA;IAClC,MAAM,gBAAgB,GAAG,QAAQ;QAC/B,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,UAAU,EAAE;QACnC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,SAAS,EAAE,CAAA;IAEpC,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,aACxB,KAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,YACnC,KAAC,kBAAkB,IAAC,UAAU,EAAE,UAAU,GAAI,GACpC,EACZ,MAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,aACnC,KAAC,KAAK,IAAC,SAAS,EAAC,qBAAqB,YAAE,UAAU,CAAC,IAAI,GAAS,EAChE,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,IAC7B,EACZ,MAAC,SAAS,IAAC,SAAS,EAAC,kBAAkB,aACpC,UAAU,GAAG,CAAC,IAAI,CACjB,cACE,SAAS,EAAC,kDAAkD,EAC5D,KAAK,EAAE,cAAc,YAErB,KAAC,4BAA4B,KAAG,GAC5B,CACP,EACA,UAAU,KAAK,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,CACvC,cACE,SAAS,EAAC,kDAAkD,EAC5D,KAAK,EAAE,gBAAgB,YAEvB,KAAC,0BAA0B,KAAG,GAC1B,CACP,EACD,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,EACtB,uBAAuB,EAAE,uBAAuB,EAChD,qBAAqB,EAAE,qBAAqB,GAC5C,IACQ,IACH,CACZ,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;CAC1B,CAAA"}
|
|
@@ -6,7 +6,7 @@ import { useIsDateInPast } from '../../../../lib/ui/use-is-date-in-past.js';
|
|
|
6
6
|
export function CodeDetails(props) {
|
|
7
7
|
const { accessCode } = props;
|
|
8
8
|
const { device } = useDevice({ device_id: accessCode.device_id });
|
|
9
|
-
return (_jsxs("div", { className: 'seam-details', children: [_jsx("span", { className: 'seam-device-name seam-truncated-text', children: device?.properties.name }), _jsx(DotDivider, {}), _jsx(Duration, { accessCode: accessCode }), _jsx(DotDivider, {}), t.code, ": ", accessCode.code] }));
|
|
9
|
+
return (_jsxs("div", { className: 'seam-details', children: [_jsx("span", { className: 'seam-device-name seam-truncated-text', children: device?.properties.name }), _jsx(DotDivider, {}), _jsx(Duration, { accessCode: accessCode }), _jsx(DotDivider, {}), _jsxs("span", { className: 'seam-invisible seam-md-block', children: [t.code, ": "] }), accessCode.code] }));
|
|
10
10
|
}
|
|
11
11
|
function Duration(props) {
|
|
12
12
|
const { accessCode } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeTable/CodeDetails.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,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,UAAU,WAAW,CAAC,KAAiC;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;IAEjE,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,UAAU,EAAE,UAAU,GAAI,EACpC,KAAC,UAAU,KAAG,
|
|
1
|
+
{"version":3,"file":"CodeDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeTable/CodeDetails.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,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,UAAU,WAAW,CAAC,KAAiC;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;IAEjE,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,UAAU,EAAE,UAAU,GAAI,EACpC,KAAC,UAAU,KAAG,EACd,gBAAM,SAAS,EAAC,8BAA8B,aAAE,CAAC,CAAC,IAAI,UAAU,EAC/D,UAAU,CAAC,IAAI,IACZ,CACP,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiC;IACjD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAE5B,MAAM,UAAU,GACd,eAAe,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,KAAK,CAAA;IAEP,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;QACjC,OAAO,CACL,2BACG,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,KAAK,IACb,CACR,CAAA;KACF;IAED,IAAI,UAAU,EAAE;QACd,OAAO,CACL,2BACG,CAAC,CAAC,IAAI,QAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IACzC,CACR,CAAA;KACF;IAED,OAAO,CACL,2BACG,CAAC,CAAC,MAAM,QAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IACxC,CACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAC1C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;IACpC,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,SAAS;CACf,CAAC,CAAA;AAEJ,MAAM,CAAC,GAAG;IACR,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAA"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiReactVersion = "2.5.
|
|
1
|
+
declare const seamapiReactVersion = "2.5.1";
|
|
2
2
|
export default seamapiReactVersion;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { AccessCodeKeyIcon } from 'lib/icons/AccessCodeKey.js'
|
|
2
|
+
import { ExclamationCircleOutlineIcon } from 'lib/icons/ExclamationCircleOutline.js'
|
|
3
|
+
import { TriangleWarningOutlineIcon } from 'lib/icons/TriangleWarningOutline.js'
|
|
4
|
+
import type { UseAccessCodesData } from 'lib/seam/access-codes/use-access-codes.js'
|
|
5
|
+
|
|
6
|
+
export interface AccessCodeMainIconProps {
|
|
7
|
+
accessCode: UseAccessCodesData[number]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function AccessCodeMainIcon({
|
|
11
|
+
accessCode,
|
|
12
|
+
}: AccessCodeMainIconProps): JSX.Element {
|
|
13
|
+
const errorCount = accessCode.errors.length
|
|
14
|
+
const warningCount = accessCode.warnings.length
|
|
15
|
+
const isPlural = errorCount === 0 || errorCount > 1
|
|
16
|
+
const errorIconTitle = isPlural
|
|
17
|
+
? `${errorCount} ${t.codeIssues}`
|
|
18
|
+
: `${errorCount} ${t.codeIssue}`
|
|
19
|
+
const warningIconTitle = isPlural
|
|
20
|
+
? `${warningCount} ${t.codeIssues}`
|
|
21
|
+
: `${warningCount} ${t.codeIssue}`
|
|
22
|
+
|
|
23
|
+
if (errorCount > 0) {
|
|
24
|
+
return (
|
|
25
|
+
<>
|
|
26
|
+
<div
|
|
27
|
+
className='seam-issue-icon-wrap seam-md-invisible'
|
|
28
|
+
title={errorIconTitle}
|
|
29
|
+
>
|
|
30
|
+
<ExclamationCircleOutlineIcon />
|
|
31
|
+
</div>
|
|
32
|
+
<div className='seam-invisible seam-md-flex'>
|
|
33
|
+
<AccessCodeKeyIcon />
|
|
34
|
+
</div>
|
|
35
|
+
</>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (errorCount === 0 && warningCount > 0) {
|
|
40
|
+
return (
|
|
41
|
+
<>
|
|
42
|
+
<div
|
|
43
|
+
className='seam-issue-icon-wrap seam-md-invisible'
|
|
44
|
+
title={warningIconTitle}
|
|
45
|
+
>
|
|
46
|
+
<TriangleWarningOutlineIcon />
|
|
47
|
+
</div>
|
|
48
|
+
<div className='seam-invisible seam-md-flex'>
|
|
49
|
+
<AccessCodeKeyIcon />
|
|
50
|
+
</div>
|
|
51
|
+
</>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<div className='seam-issue-icon-wrap'>
|
|
57
|
+
<AccessCodeKeyIcon />
|
|
58
|
+
</div>
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const t = {
|
|
63
|
+
codeIssue: 'code issue',
|
|
64
|
+
codeIssues: 'code issues',
|
|
65
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AccessCodeKeyIcon } from 'lib/icons/AccessCodeKey.js'
|
|
2
1
|
import { ExclamationCircleOutlineIcon } from 'lib/icons/ExclamationCircleOutline.js'
|
|
3
2
|
import { TriangleWarningOutlineIcon } from 'lib/icons/TriangleWarningOutline.js'
|
|
4
3
|
import type { UseAccessCodesData } from 'lib/seam/access-codes/use-access-codes.js'
|
|
4
|
+
import { AccessCodeMainIcon } from 'lib/seam/components/AccessCodeTable/AccessCodeMainIcon.js'
|
|
5
5
|
import { AccessCodeMenu } from 'lib/seam/components/AccessCodeTable/AccessCodeMenu.js'
|
|
6
6
|
import { CodeDetails } from 'lib/seam/components/AccessCodeTable/CodeDetails.js'
|
|
7
7
|
import { TableCell } from 'lib/ui/Table/TableCell.js'
|
|
@@ -36,9 +36,7 @@ export function AccessCodeRow({
|
|
|
36
36
|
return (
|
|
37
37
|
<TableRow onClick={onClick}>
|
|
38
38
|
<TableCell className='seam-icon-cell'>
|
|
39
|
-
<
|
|
40
|
-
<AccessCodeKeyIcon />
|
|
41
|
-
</div>
|
|
39
|
+
<AccessCodeMainIcon accessCode={accessCode} />
|
|
42
40
|
</TableCell>
|
|
43
41
|
<TableCell className='seam-name-cell'>
|
|
44
42
|
<Title className='seam-truncated-text'>{accessCode.name}</Title>
|
|
@@ -46,12 +44,18 @@ export function AccessCodeRow({
|
|
|
46
44
|
</TableCell>
|
|
47
45
|
<TableCell className='seam-action-cell'>
|
|
48
46
|
{errorCount > 0 && (
|
|
49
|
-
<div
|
|
47
|
+
<div
|
|
48
|
+
className='seam-issue-icon-wrap seam-invisible seam-md-flex'
|
|
49
|
+
title={errorIconTitle}
|
|
50
|
+
>
|
|
50
51
|
<ExclamationCircleOutlineIcon />
|
|
51
52
|
</div>
|
|
52
53
|
)}
|
|
53
54
|
{errorCount === 0 && warningCount > 0 && (
|
|
54
|
-
<div
|
|
55
|
+
<div
|
|
56
|
+
className='seam-issue-icon-wrap seam-invisible seam-md-flex'
|
|
57
|
+
title={warningIconTitle}
|
|
58
|
+
>
|
|
55
59
|
<TriangleWarningOutlineIcon />
|
|
56
60
|
</div>
|
|
57
61
|
)}
|
|
@@ -17,7 +17,8 @@ export function CodeDetails(props: { accessCode: AccessCode }): JSX.Element {
|
|
|
17
17
|
<DotDivider />
|
|
18
18
|
<Duration accessCode={accessCode} />
|
|
19
19
|
<DotDivider />
|
|
20
|
-
{t.code}:
|
|
20
|
+
<span className='seam-invisible seam-md-block'>{t.code}: </span>
|
|
21
|
+
{accessCode.code}
|
|
21
22
|
</div>
|
|
22
23
|
)
|
|
23
24
|
}
|
package/src/lib/version.ts
CHANGED
package/src/styles/_main.scss
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
@use './alert';
|
|
6
6
|
@use './buttons';
|
|
7
7
|
@use './layout';
|
|
8
|
+
@use './visibility';
|
|
8
9
|
@use './loading_toast';
|
|
9
10
|
@use './colors';
|
|
10
11
|
@use './icons';
|
|
@@ -41,6 +42,7 @@
|
|
|
41
42
|
@include form-field.all;
|
|
42
43
|
@include buttons.all;
|
|
43
44
|
@include layout.all;
|
|
45
|
+
@include visibility.all;
|
|
44
46
|
@include loading_toast.all;
|
|
45
47
|
@include icons.all;
|
|
46
48
|
@include menus.all;
|
|
@@ -27,11 +27,17 @@
|
|
|
27
27
|
justify-content: center;
|
|
28
28
|
|
|
29
29
|
> div {
|
|
30
|
-
width:
|
|
30
|
+
width: 32px;
|
|
31
31
|
height: 40px;
|
|
32
32
|
display: flex;
|
|
33
33
|
align-items: center;
|
|
34
34
|
justify-content: center;
|
|
35
|
+
margin-right: 4px;
|
|
36
|
+
|
|
37
|
+
@media only screen and (width >= 768px) {
|
|
38
|
+
width: 40px;
|
|
39
|
+
margin-right: 4px;
|
|
40
|
+
}
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
|
|
@@ -48,10 +54,15 @@
|
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
.seam-details {
|
|
51
|
-
font-size:
|
|
57
|
+
font-size: 12px;
|
|
52
58
|
line-height: 134%;
|
|
53
59
|
color: colors.$text-gray-1;
|
|
54
60
|
display: flex;
|
|
61
|
+
flex-wrap: wrap;
|
|
62
|
+
|
|
63
|
+
@media only screen and (width >= 768px) {
|
|
64
|
+
font-size: 14px;
|
|
65
|
+
}
|
|
55
66
|
|
|
56
67
|
.seam-device-name {
|
|
57
68
|
max-width: 190px;
|
|
@@ -66,10 +77,14 @@
|
|
|
66
77
|
}
|
|
67
78
|
|
|
68
79
|
.seam-action-cell {
|
|
69
|
-
margin-right:
|
|
80
|
+
margin-right: 8px;
|
|
70
81
|
display: flex;
|
|
71
82
|
align-items: center;
|
|
72
83
|
justify-content: center;
|
|
84
|
+
|
|
85
|
+
@media only screen and (width >= 768px) {
|
|
86
|
+
margin-right: 12px;
|
|
87
|
+
}
|
|
73
88
|
}
|
|
74
89
|
|
|
75
90
|
.seam-issue-icon-wrap {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@use './colors';
|
|
2
|
+
|
|
3
|
+
@mixin all {
|
|
4
|
+
.seam-invisible {
|
|
5
|
+
display: none !important;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.seam-md-flex {
|
|
9
|
+
@media only screen and (width >= 768px) {
|
|
10
|
+
display: flex !important;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.seam-md-block {
|
|
15
|
+
@media only screen and (width >= 768px) {
|
|
16
|
+
display: block !important;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.seam-md-invisible {
|
|
21
|
+
@media only screen and (width >= 768px) {
|
|
22
|
+
display: none !important;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|