@tenancy.nz/feature-ui 1.10.5 → 1.10.7
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/dist/cjs/_virtual/_rollupPluginBabelHelpers.cjs +14 -0
- package/dist/cjs/components/BackButton.cjs +18 -0
- package/dist/cjs/components/ConfirmButton.cjs +91 -0
- package/dist/cjs/components/ContactCard.cjs +73 -0
- package/dist/cjs/components/ContactCardHeader.cjs +59 -0
- package/dist/cjs/components/ContactMethod.cjs +111 -0
- package/dist/cjs/components/DeleteIconButton.cjs +17 -0
- package/dist/cjs/components/DownloadIconButton.cjs +17 -0
- package/dist/cjs/components/EditIconButton.cjs +17 -0
- package/dist/cjs/components/LogoutButton.cjs +17 -0
- package/dist/cjs/components/OpenInNewIconButton.cjs +17 -0
- package/dist/cjs/components/ScrollTopButton.cjs +194 -0
- package/dist/cjs/index.cjs +22 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +13 -1
- package/dist/esm/components/BackButton.js +14 -0
- package/dist/esm/components/ConfirmButton.js +87 -0
- package/dist/esm/components/ContactCard.js +69 -0
- package/dist/esm/components/ContactCardHeader.js +55 -0
- package/dist/esm/components/ContactMethod.js +107 -0
- package/dist/esm/components/DeleteIconButton.js +13 -0
- package/dist/esm/components/DownloadIconButton.js +13 -0
- package/dist/esm/components/EditIconButton.js +13 -0
- package/dist/esm/components/LogoutButton.js +13 -0
- package/dist/esm/components/OpenInNewIconButton.js +13 -0
- package/dist/esm/components/ScrollTopButton.js +190 -0
- package/dist/esm/index.js +11 -0
- package/package.json +5 -5
|
@@ -19,6 +19,15 @@ function _defineProperty(e, r, t) {
|
|
|
19
19
|
writable: true
|
|
20
20
|
}) : e[r] = t, e;
|
|
21
21
|
}
|
|
22
|
+
function _extends() {
|
|
23
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
24
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
25
|
+
var t = arguments[e];
|
|
26
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
27
|
+
}
|
|
28
|
+
return n;
|
|
29
|
+
}, _extends.apply(null, arguments);
|
|
30
|
+
}
|
|
22
31
|
function _iterableToArray(r) {
|
|
23
32
|
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
24
33
|
}
|
|
@@ -55,6 +64,9 @@ function _nonIterableRest() {
|
|
|
55
64
|
function _nonIterableSpread() {
|
|
56
65
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
57
66
|
}
|
|
67
|
+
function _objectDestructuringEmpty(t) {
|
|
68
|
+
if (null == t) throw new TypeError("Cannot destructure " + t);
|
|
69
|
+
}
|
|
58
70
|
function ownKeys(e, r) {
|
|
59
71
|
var t = Object.keys(e);
|
|
60
72
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -135,10 +147,12 @@ exports.arrayLikeToArray = _arrayLikeToArray;
|
|
|
135
147
|
exports.arrayWithHoles = _arrayWithHoles;
|
|
136
148
|
exports.arrayWithoutHoles = _arrayWithoutHoles;
|
|
137
149
|
exports.defineProperty = _defineProperty;
|
|
150
|
+
exports.extends = _extends;
|
|
138
151
|
exports.iterableToArray = _iterableToArray;
|
|
139
152
|
exports.iterableToArrayLimit = _iterableToArrayLimit;
|
|
140
153
|
exports.nonIterableRest = _nonIterableRest;
|
|
141
154
|
exports.nonIterableSpread = _nonIterableSpread;
|
|
155
|
+
exports.objectDestructuringEmpty = _objectDestructuringEmpty;
|
|
142
156
|
exports.objectSpread2 = _objectSpread2;
|
|
143
157
|
exports.objectWithoutProperties = _objectWithoutProperties;
|
|
144
158
|
exports.objectWithoutPropertiesLoose = _objectWithoutPropertiesLoose;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var ArrowLeftOutlinedIcon = require('@tenancy.nz/icons/ArrowLeftOutlined');
|
|
7
|
+
var ui = require('@tenancy.nz/ui');
|
|
8
|
+
|
|
9
|
+
function BackButton(_ref) {
|
|
10
|
+
var onClick = _ref.onClick;
|
|
11
|
+
return /* @__PURE__ */React.createElement(ui.Button, {
|
|
12
|
+
startIcon: /* @__PURE__ */React.createElement(ArrowLeftOutlinedIcon, null),
|
|
13
|
+
variant: "outlined",
|
|
14
|
+
onClick: onClick
|
|
15
|
+
}, "Back");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.default = BackButton;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var ui = require('@tenancy.nz/ui');
|
|
8
|
+
|
|
9
|
+
var _excluded = ["Component", "children", "color", "confirmMessage", "label", "onClick", "title", "confirmProps"];
|
|
10
|
+
var errorConfirmProps = {
|
|
11
|
+
severity: "error",
|
|
12
|
+
cancelBtnText: "Don't delete",
|
|
13
|
+
confirmBtnText: "Delete"
|
|
14
|
+
};
|
|
15
|
+
function ConfirmButton(_ref) {
|
|
16
|
+
var _ref$Component = _ref.Component,
|
|
17
|
+
Component = _ref$Component === void 0 ? null : _ref$Component,
|
|
18
|
+
children = _ref.children,
|
|
19
|
+
_ref$color = _ref.color,
|
|
20
|
+
color = _ref$color === void 0 ? "inherit" : _ref$color,
|
|
21
|
+
_ref$confirmMessage = _ref.confirmMessage,
|
|
22
|
+
confirmMessage = _ref$confirmMessage === void 0 ? void 0 : _ref$confirmMessage,
|
|
23
|
+
_ref$label = _ref.label,
|
|
24
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
25
|
+
onClick = _ref.onClick,
|
|
26
|
+
_ref$title = _ref.title,
|
|
27
|
+
title = _ref$title === void 0 ? "" : _ref$title,
|
|
28
|
+
_ref$confirmProps = _ref.confirmProps,
|
|
29
|
+
confirmProps = _ref$confirmProps === void 0 ? {} : _ref$confirmProps,
|
|
30
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
var _useState = React.useState(false),
|
|
32
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
33
|
+
showConfirm = _useState2[0],
|
|
34
|
+
setShowConfirm = _useState2[1];
|
|
35
|
+
var _useState3 = React.useState(void 0),
|
|
36
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
37
|
+
value = _useState4[0],
|
|
38
|
+
setValue = _useState4[1];
|
|
39
|
+
var handleCancel = function handleCancel(e) {
|
|
40
|
+
e.stopPropagation();
|
|
41
|
+
setShowConfirm(false);
|
|
42
|
+
setValue(void 0);
|
|
43
|
+
};
|
|
44
|
+
var handleClick = function handleClick(e) {
|
|
45
|
+
e.stopPropagation();
|
|
46
|
+
if (!confirmMessage) {
|
|
47
|
+
onClick(e);
|
|
48
|
+
} else {
|
|
49
|
+
setShowConfirm(true);
|
|
50
|
+
setValue(e);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var handleConfirm = function handleConfirm() {
|
|
54
|
+
if (value) {
|
|
55
|
+
onClick(value);
|
|
56
|
+
}
|
|
57
|
+
setShowConfirm(false);
|
|
58
|
+
setValue(void 0);
|
|
59
|
+
};
|
|
60
|
+
return /* @__PURE__ */React.createElement(React.Fragment, null, Component ? /* @__PURE__ */React.createElement(Component, _rollupPluginBabelHelpers.objectSpread2({
|
|
61
|
+
color: color,
|
|
62
|
+
onClick: handleClick
|
|
63
|
+
}, rest), children) : /* @__PURE__ */React.createElement(ui.Tooltip, {
|
|
64
|
+
title: title,
|
|
65
|
+
placement: "top"
|
|
66
|
+
}, /* @__PURE__ */React.createElement(ui.Box, {
|
|
67
|
+
display: "inline-flex",
|
|
68
|
+
color: color.indexOf(".") === -1 ? "".concat(color, ".main") : color,
|
|
69
|
+
align: "center",
|
|
70
|
+
direction: "column"
|
|
71
|
+
}, /* @__PURE__ */React.createElement(ui.IconButton, _rollupPluginBabelHelpers.objectSpread2({
|
|
72
|
+
color: color === "error" ? "error" : "inherit",
|
|
73
|
+
onClick: handleClick
|
|
74
|
+
}, rest), children), !!label && /* @__PURE__ */React.createElement(ui.Box, {
|
|
75
|
+
color: "#617391",
|
|
76
|
+
display: "inline-flex",
|
|
77
|
+
fontSize: "11px",
|
|
78
|
+
onClick: handleClick,
|
|
79
|
+
sx: {
|
|
80
|
+
cursor: "pointer"
|
|
81
|
+
}
|
|
82
|
+
}, label))), !!confirmMessage && /* @__PURE__ */React.createElement(ui.Confirmation, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
|
|
83
|
+
open: showConfirm,
|
|
84
|
+
message: confirmMessage,
|
|
85
|
+
title: "Please confirm",
|
|
86
|
+
onCancel: handleCancel,
|
|
87
|
+
onConfirm: handleConfirm
|
|
88
|
+
}, color === "error" && errorConfirmProps), confirmProps)));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
exports.default = ConfirmButton;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var Stack = require('@mui/material/Stack');
|
|
8
|
+
var EmailOutlinedIcon = require('@tenancy.nz/icons/EmailOutlined');
|
|
9
|
+
var PhoneOutlinedIcon = require('@tenancy.nz/icons/PhoneOutlined');
|
|
10
|
+
var ui = require('@tenancy.nz/ui');
|
|
11
|
+
var ContactCardHeader = require('./ContactCardHeader.cjs');
|
|
12
|
+
var ContactMethod = require('./ContactMethod.cjs');
|
|
13
|
+
|
|
14
|
+
var _excluded = ["avatarColor", "avatarUrl", "email", "firstName", "lastName", "mobile", "phone", "role", "sx"];
|
|
15
|
+
function ContactCard(_ref) {
|
|
16
|
+
var _ref$avatarColor = _ref.avatarColor,
|
|
17
|
+
avatarColor = _ref$avatarColor === void 0 ? "grey" : _ref$avatarColor,
|
|
18
|
+
_ref$avatarUrl = _ref.avatarUrl,
|
|
19
|
+
avatarUrl = _ref$avatarUrl === void 0 ? void 0 : _ref$avatarUrl,
|
|
20
|
+
_ref$email = _ref.email,
|
|
21
|
+
email = _ref$email === void 0 ? void 0 : _ref$email,
|
|
22
|
+
_ref$firstName = _ref.firstName,
|
|
23
|
+
firstName = _ref$firstName === void 0 ? void 0 : _ref$firstName,
|
|
24
|
+
_ref$lastName = _ref.lastName,
|
|
25
|
+
lastName = _ref$lastName === void 0 ? void 0 : _ref$lastName,
|
|
26
|
+
_ref$mobile = _ref.mobile,
|
|
27
|
+
mobile = _ref$mobile === void 0 ? void 0 : _ref$mobile,
|
|
28
|
+
_ref$phone = _ref.phone,
|
|
29
|
+
phone = _ref$phone === void 0 ? void 0 : _ref$phone,
|
|
30
|
+
_ref$role = _ref.role,
|
|
31
|
+
role = _ref$role === void 0 ? void 0 : _ref$role,
|
|
32
|
+
_ref$sx = _ref.sx,
|
|
33
|
+
sx = _ref$sx === void 0 ? {} : _ref$sx,
|
|
34
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
35
|
+
return /* @__PURE__ */React.createElement(ui.Paper, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
|
|
36
|
+
inset: "large"
|
|
37
|
+
}, rest), {}, {
|
|
38
|
+
sx: sx,
|
|
39
|
+
outlined: true
|
|
40
|
+
}), /* @__PURE__ */React.createElement(Stack, {
|
|
41
|
+
gap: 4
|
|
42
|
+
}, /* @__PURE__ */React.createElement(ContactCardHeader.default, {
|
|
43
|
+
avatarColor: avatarColor,
|
|
44
|
+
avatarUrl: avatarUrl,
|
|
45
|
+
firstName: firstName,
|
|
46
|
+
lastName: lastName,
|
|
47
|
+
role: role
|
|
48
|
+
}), /* @__PURE__ */React.createElement(Stack, {
|
|
49
|
+
divider: /* @__PURE__ */React.createElement(ui.Divider, {
|
|
50
|
+
disableGutter: true
|
|
51
|
+
})
|
|
52
|
+
}, email && /* @__PURE__ */React.createElement(ContactMethod.default, {
|
|
53
|
+
label: "Email",
|
|
54
|
+
type: "email",
|
|
55
|
+
value: email,
|
|
56
|
+
Icon: EmailOutlinedIcon,
|
|
57
|
+
tooltip: "Email"
|
|
58
|
+
}), mobile && /* @__PURE__ */React.createElement(ContactMethod.default, {
|
|
59
|
+
label: "Mobile",
|
|
60
|
+
type: "phone",
|
|
61
|
+
value: mobile,
|
|
62
|
+
Icon: PhoneOutlinedIcon,
|
|
63
|
+
tooltip: "Call"
|
|
64
|
+
}), phone && /* @__PURE__ */React.createElement(ContactMethod.default, {
|
|
65
|
+
label: "Office",
|
|
66
|
+
type: "phone",
|
|
67
|
+
value: phone,
|
|
68
|
+
Icon: PhoneOutlinedIcon,
|
|
69
|
+
tooltip: "Call"
|
|
70
|
+
}))));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.default = ContactCard;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var Stack = require('@mui/material/Stack');
|
|
8
|
+
var ProfileOutlinedIcon = require('@tenancy.nz/icons/ProfileOutlined');
|
|
9
|
+
var ui = require('@tenancy.nz/ui');
|
|
10
|
+
|
|
11
|
+
var _excluded = ["avatarColor", "avatarUrl", "firstName", "lastName", "role", "sx"];
|
|
12
|
+
var styles = {
|
|
13
|
+
role: {
|
|
14
|
+
display: "flex",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
gap: 1
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
function ContactCardHeader(_ref) {
|
|
20
|
+
var _ref$avatarColor = _ref.avatarColor,
|
|
21
|
+
avatarColor = _ref$avatarColor === void 0 ? "grey" : _ref$avatarColor,
|
|
22
|
+
_ref$avatarUrl = _ref.avatarUrl,
|
|
23
|
+
avatarUrl = _ref$avatarUrl === void 0 ? void 0 : _ref$avatarUrl,
|
|
24
|
+
_ref$firstName = _ref.firstName,
|
|
25
|
+
firstName = _ref$firstName === void 0 ? void 0 : _ref$firstName,
|
|
26
|
+
_ref$lastName = _ref.lastName,
|
|
27
|
+
lastName = _ref$lastName === void 0 ? void 0 : _ref$lastName,
|
|
28
|
+
_ref$role = _ref.role,
|
|
29
|
+
role = _ref$role === void 0 ? void 0 : _ref$role,
|
|
30
|
+
_ref$sx = _ref.sx,
|
|
31
|
+
sx = _ref$sx === void 0 ? {} : _ref$sx,
|
|
32
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
var name = [firstName, lastName].filter(Boolean).join(" ");
|
|
34
|
+
return /* @__PURE__ */React.createElement(Stack, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
|
|
35
|
+
direction: "row",
|
|
36
|
+
alignItems: "center",
|
|
37
|
+
gap: 4
|
|
38
|
+
}, rest), {}, {
|
|
39
|
+
sx: sx
|
|
40
|
+
}), /* @__PURE__ */React.createElement(ui.Avatar, {
|
|
41
|
+
color: avatarColor,
|
|
42
|
+
src: avatarUrl,
|
|
43
|
+
alt: name,
|
|
44
|
+
size: 64
|
|
45
|
+
}), /* @__PURE__ */React.createElement(Stack, {
|
|
46
|
+
gap: 2
|
|
47
|
+
}, name && /* @__PURE__ */React.createElement(ui.Heading, {
|
|
48
|
+
as: "h5",
|
|
49
|
+
color: "inherit"
|
|
50
|
+
}, name), role && /* @__PURE__ */React.createElement(ui.Text, {
|
|
51
|
+
variant: "small",
|
|
52
|
+
color: "textPrimary",
|
|
53
|
+
sx: styles.role
|
|
54
|
+
}, /* @__PURE__ */React.createElement(ProfileOutlinedIcon, {
|
|
55
|
+
size: 16
|
|
56
|
+
}), /* @__PURE__ */React.createElement("span", null, role))));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
exports.default = ContactCardHeader;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var Stack = require('@mui/material/Stack');
|
|
8
|
+
var CopyOutlinedIcon = require('@tenancy.nz/icons/CopyOutlined');
|
|
9
|
+
var ui = require('@tenancy.nz/ui');
|
|
10
|
+
|
|
11
|
+
var _excluded = ["Icon", "label", "sx", "type", "value", "tooltip"];
|
|
12
|
+
var ActionButton = ui.IconButton;
|
|
13
|
+
var wide = "@420/contact-method";
|
|
14
|
+
var styles = {
|
|
15
|
+
container: {
|
|
16
|
+
containerType: "inline-size",
|
|
17
|
+
containerName: "contact-method"
|
|
18
|
+
},
|
|
19
|
+
details: {
|
|
20
|
+
flexDirection: _rollupPluginBabelHelpers.defineProperty({}, wide, "row"),
|
|
21
|
+
alignItems: _rollupPluginBabelHelpers.defineProperty({}, wide, "center"),
|
|
22
|
+
gap: _rollupPluginBabelHelpers.defineProperty({
|
|
23
|
+
xs: 1
|
|
24
|
+
}, wide, 4)
|
|
25
|
+
},
|
|
26
|
+
copyButton: {
|
|
27
|
+
display: _rollupPluginBabelHelpers.defineProperty({
|
|
28
|
+
xs: "none"
|
|
29
|
+
}, wide, "inline-flex")
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var makeHref = function makeHref(type, value) {
|
|
33
|
+
if (!type) {
|
|
34
|
+
return "";
|
|
35
|
+
}
|
|
36
|
+
if (type === "email") {
|
|
37
|
+
return "mailto:".concat(value);
|
|
38
|
+
}
|
|
39
|
+
if (type === "phone") {
|
|
40
|
+
return "tel:".concat(value);
|
|
41
|
+
}
|
|
42
|
+
return "";
|
|
43
|
+
};
|
|
44
|
+
function ContactMethod(_ref) {
|
|
45
|
+
var _ref$Icon = _ref.Icon,
|
|
46
|
+
Icon = _ref$Icon === void 0 ? void 0 : _ref$Icon,
|
|
47
|
+
_ref$label = _ref.label,
|
|
48
|
+
label = _ref$label === void 0 ? void 0 : _ref$label,
|
|
49
|
+
_ref$sx = _ref.sx,
|
|
50
|
+
sx = _ref$sx === void 0 ? {} : _ref$sx,
|
|
51
|
+
_ref$type = _ref.type,
|
|
52
|
+
type = _ref$type === void 0 ? "" : _ref$type,
|
|
53
|
+
_ref$value = _ref.value,
|
|
54
|
+
value = _ref$value === void 0 ? void 0 : _ref$value,
|
|
55
|
+
_ref$tooltip = _ref.tooltip,
|
|
56
|
+
tooltip = _ref$tooltip === void 0 ? "" : _ref$tooltip,
|
|
57
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
58
|
+
if (!value) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
var handleCopy = function handleCopy() {
|
|
62
|
+
var _navigator$clipboard;
|
|
63
|
+
(_navigator$clipboard = navigator.clipboard) === null || _navigator$clipboard === void 0 || _navigator$clipboard.writeText(value);
|
|
64
|
+
};
|
|
65
|
+
var href = makeHref(type, value);
|
|
66
|
+
return /* @__PURE__ */React.createElement(Stack, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
|
|
67
|
+
direction: "row",
|
|
68
|
+
alignItems: "center",
|
|
69
|
+
gap: 4,
|
|
70
|
+
py: 3
|
|
71
|
+
}, rest), {}, {
|
|
72
|
+
sx: [styles.container].concat(_rollupPluginBabelHelpers.toConsumableArray(Array.isArray(sx) ? sx : [sx]))
|
|
73
|
+
}), /* @__PURE__ */React.createElement(Stack, {
|
|
74
|
+
sx: styles.details
|
|
75
|
+
}, label && /* @__PURE__ */React.createElement(ui.Text, {
|
|
76
|
+
variant: "body2",
|
|
77
|
+
weight: "600",
|
|
78
|
+
color: "textPrimary",
|
|
79
|
+
sx: {
|
|
80
|
+
width: "64px"
|
|
81
|
+
}
|
|
82
|
+
}, label), /* @__PURE__ */React.createElement(ui.Text, {
|
|
83
|
+
color: "textPrimary"
|
|
84
|
+
}, value)), /* @__PURE__ */React.createElement(Stack, {
|
|
85
|
+
direction: "row",
|
|
86
|
+
ml: "auto",
|
|
87
|
+
flexShrink: 0
|
|
88
|
+
}, /* @__PURE__ */React.createElement(ui.Tooltip, {
|
|
89
|
+
title: "Copy",
|
|
90
|
+
placement: "top"
|
|
91
|
+
}, /* @__PURE__ */React.createElement(ActionButton, {
|
|
92
|
+
"aria-label": "Copy ".concat(label !== null && label !== void 0 ? label : value),
|
|
93
|
+
color: "primary",
|
|
94
|
+
onClick: handleCopy,
|
|
95
|
+
sx: styles.copyButton
|
|
96
|
+
}, /* @__PURE__ */React.createElement(CopyOutlinedIcon, {
|
|
97
|
+
size: 20
|
|
98
|
+
}))), Icon && href && /* @__PURE__ */React.createElement(ui.Tooltip, {
|
|
99
|
+
title: tooltip,
|
|
100
|
+
placement: "top"
|
|
101
|
+
}, /* @__PURE__ */React.createElement(ActionButton, {
|
|
102
|
+
component: "a",
|
|
103
|
+
color: "primary",
|
|
104
|
+
href: href,
|
|
105
|
+
"aria-label": label
|
|
106
|
+
}, /* @__PURE__ */React.createElement(Icon, {
|
|
107
|
+
size: 20
|
|
108
|
+
})))));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
exports.default = ContactMethod;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var DeleteOutlinedIcon = require('@tenancy.nz/icons/DeleteOutlined');
|
|
8
|
+
var ConfirmButton = require('./ConfirmButton.cjs');
|
|
9
|
+
|
|
10
|
+
function DeleteIconButton(_ref) {
|
|
11
|
+
var rest = _rollupPluginBabelHelpers.extends({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(_ref), _ref));
|
|
12
|
+
return /* @__PURE__ */React.createElement(ConfirmButton.default, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, rest), {}, {
|
|
13
|
+
color: "error"
|
|
14
|
+
}), /* @__PURE__ */React.createElement(DeleteOutlinedIcon, null));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.default = DeleteIconButton;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var DownloadOutlinedIcon = require('@tenancy.nz/icons/DownloadOutlined');
|
|
8
|
+
var ui = require('@tenancy.nz/ui');
|
|
9
|
+
|
|
10
|
+
function DownloadIconButton(_ref) {
|
|
11
|
+
var rest = _rollupPluginBabelHelpers.extends({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(_ref), _ref));
|
|
12
|
+
return /* @__PURE__ */React.createElement(ui.IconButton, _rollupPluginBabelHelpers.objectSpread2({
|
|
13
|
+
color: "primary"
|
|
14
|
+
}, rest), /* @__PURE__ */React.createElement(DownloadOutlinedIcon, null));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.default = DownloadIconButton;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var EditOutlinedIcon = require('@tenancy.nz/icons/EditOutlined');
|
|
8
|
+
var ConfirmButton = require('./ConfirmButton.cjs');
|
|
9
|
+
|
|
10
|
+
function EditIconButton(_ref) {
|
|
11
|
+
var rest = _rollupPluginBabelHelpers.extends({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(_ref), _ref));
|
|
12
|
+
return /* @__PURE__ */React.createElement(ConfirmButton.default, _rollupPluginBabelHelpers.objectSpread2({
|
|
13
|
+
color: "primary"
|
|
14
|
+
}, rest), /* @__PURE__ */React.createElement(EditOutlinedIcon, null));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.default = EditIconButton;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var LogoutOutlinedIcon = require('@tenancy.nz/icons/LogoutOutlined');
|
|
8
|
+
var ui = require('@tenancy.nz/ui');
|
|
9
|
+
|
|
10
|
+
function LogoutButton(_ref) {
|
|
11
|
+
var rest = _rollupPluginBabelHelpers.extends({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(_ref), _ref));
|
|
12
|
+
return /* @__PURE__ */React.createElement(ui.Button, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, rest), {}, {
|
|
13
|
+
startIcon: /* @__PURE__ */React.createElement(LogoutOutlinedIcon, null)
|
|
14
|
+
}), "Logout");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.default = LogoutButton;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var ExternalLinkOutlinedIcon = require('@tenancy.nz/icons/ExternalLinkOutlined');
|
|
8
|
+
var ui = require('@tenancy.nz/ui');
|
|
9
|
+
|
|
10
|
+
function OpenInNewIconButton(_ref) {
|
|
11
|
+
var rest = _rollupPluginBabelHelpers.extends({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(_ref), _ref));
|
|
12
|
+
return /* @__PURE__ */React.createElement(ui.IconButton, _rollupPluginBabelHelpers.objectSpread2({
|
|
13
|
+
color: "primary"
|
|
14
|
+
}, rest), /* @__PURE__ */React.createElement(ExternalLinkOutlinedIcon, null));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.default = OpenInNewIconButton;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var Box = require('@mui/material/Box');
|
|
8
|
+
var Portal = require('@mui/material/Portal');
|
|
9
|
+
var ui = require('@tenancy.nz/ui');
|
|
10
|
+
var ChevronUpOutlinedIcon = require('@tenancy.nz/icons/ChevronUpOutlined');
|
|
11
|
+
|
|
12
|
+
var _excluded = ["anchorOrigin", "asIcon", "behavior", "container", "disablePortal", "label", "onClick", "position", "scrollContainer", "threshold", "x", "y"];
|
|
13
|
+
var icon = /* @__PURE__ */React.createElement(ChevronUpOutlinedIcon, null);
|
|
14
|
+
var defaultAnchorOrigin = {
|
|
15
|
+
horizontal: "right",
|
|
16
|
+
vertical: "bottom"
|
|
17
|
+
};
|
|
18
|
+
function resolveTarget(target) {
|
|
19
|
+
if (!target) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
if (typeof target === "function") {
|
|
23
|
+
return target();
|
|
24
|
+
}
|
|
25
|
+
if ("current" in target) {
|
|
26
|
+
return target.current;
|
|
27
|
+
}
|
|
28
|
+
return target;
|
|
29
|
+
}
|
|
30
|
+
function isDocumentScroller(element) {
|
|
31
|
+
if (!element) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return element === document.body || element === document.documentElement;
|
|
35
|
+
}
|
|
36
|
+
function getScrollEventTarget(element) {
|
|
37
|
+
if (isDocumentScroller(element)) {
|
|
38
|
+
return window;
|
|
39
|
+
}
|
|
40
|
+
return element;
|
|
41
|
+
}
|
|
42
|
+
function getScrollTop(element) {
|
|
43
|
+
if (!element || isDocumentScroller(element)) {
|
|
44
|
+
return window.scrollY;
|
|
45
|
+
}
|
|
46
|
+
return element.scrollTop;
|
|
47
|
+
}
|
|
48
|
+
function scrollToTop(scrollElement, behavior) {
|
|
49
|
+
if (!scrollElement || isDocumentScroller(scrollElement)) {
|
|
50
|
+
window.scrollTo({
|
|
51
|
+
top: 0,
|
|
52
|
+
behavior: behavior
|
|
53
|
+
});
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
scrollElement.scrollTo({
|
|
57
|
+
top: 0,
|
|
58
|
+
behavior: behavior
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function getPosition(position, portalElement) {
|
|
62
|
+
if (position) {
|
|
63
|
+
return position;
|
|
64
|
+
}
|
|
65
|
+
if (!portalElement) {
|
|
66
|
+
return "static";
|
|
67
|
+
}
|
|
68
|
+
if (portalElement === document.body) {
|
|
69
|
+
return "fixed";
|
|
70
|
+
}
|
|
71
|
+
return "absolute";
|
|
72
|
+
}
|
|
73
|
+
function getPlacementSx(position, anchorOrigin, x, y) {
|
|
74
|
+
return _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({
|
|
75
|
+
position: position,
|
|
76
|
+
zIndex: "fab"
|
|
77
|
+
}, anchorOrigin.horizontal, x), anchorOrigin.vertical, y);
|
|
78
|
+
}
|
|
79
|
+
function useResolvedTarget(target, fallbackToBody) {
|
|
80
|
+
var _useState = React.useState(null),
|
|
81
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
82
|
+
element = _useState2[0],
|
|
83
|
+
setElement = _useState2[1];
|
|
84
|
+
React.useEffect(function () {
|
|
85
|
+
var resolved = resolveTarget(target);
|
|
86
|
+
if (resolved) {
|
|
87
|
+
setElement(resolved);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (fallbackToBody) {
|
|
91
|
+
setElement(document.body);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
setElement(null);
|
|
95
|
+
}, [target, fallbackToBody]);
|
|
96
|
+
return element;
|
|
97
|
+
}
|
|
98
|
+
function useScrolledPast(scrollElement, threshold) {
|
|
99
|
+
var _useState3 = React.useState(threshold <= 0),
|
|
100
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
101
|
+
scrolled = _useState4[0],
|
|
102
|
+
setScrolled = _useState4[1];
|
|
103
|
+
React.useEffect(function () {
|
|
104
|
+
if (threshold <= 0) {
|
|
105
|
+
setScrolled(true);
|
|
106
|
+
return void 0;
|
|
107
|
+
}
|
|
108
|
+
var eventTarget = getScrollEventTarget(scrollElement);
|
|
109
|
+
var update = function update() {
|
|
110
|
+
return setScrolled(getScrollTop(scrollElement) > threshold);
|
|
111
|
+
};
|
|
112
|
+
update();
|
|
113
|
+
eventTarget.addEventListener("scroll", update, {
|
|
114
|
+
passive: true
|
|
115
|
+
});
|
|
116
|
+
return function () {
|
|
117
|
+
return eventTarget.removeEventListener("scroll", update);
|
|
118
|
+
};
|
|
119
|
+
}, [scrollElement, threshold]);
|
|
120
|
+
return scrolled;
|
|
121
|
+
}
|
|
122
|
+
function ScrollTopButton(_ref2) {
|
|
123
|
+
var _ref2$anchorOrigin = _ref2.anchorOrigin,
|
|
124
|
+
anchorOrigin = _ref2$anchorOrigin === void 0 ? defaultAnchorOrigin : _ref2$anchorOrigin,
|
|
125
|
+
_ref2$asIcon = _ref2.asIcon,
|
|
126
|
+
asIcon = _ref2$asIcon === void 0 ? false : _ref2$asIcon,
|
|
127
|
+
_ref2$behavior = _ref2.behavior,
|
|
128
|
+
behavior = _ref2$behavior === void 0 ? "smooth" : _ref2$behavior,
|
|
129
|
+
_ref2$container = _ref2.container,
|
|
130
|
+
container = _ref2$container === void 0 ? null : _ref2$container,
|
|
131
|
+
_ref2$disablePortal = _ref2.disablePortal,
|
|
132
|
+
disablePortal = _ref2$disablePortal === void 0 ? false : _ref2$disablePortal,
|
|
133
|
+
_ref2$label = _ref2.label,
|
|
134
|
+
label = _ref2$label === void 0 ? "Back to top" : _ref2$label,
|
|
135
|
+
_ref2$onClick = _ref2.onClick,
|
|
136
|
+
onClick = _ref2$onClick === void 0 ? void 0 : _ref2$onClick,
|
|
137
|
+
_ref2$position = _ref2.position,
|
|
138
|
+
position = _ref2$position === void 0 ? void 0 : _ref2$position,
|
|
139
|
+
_ref2$scrollContainer = _ref2.scrollContainer,
|
|
140
|
+
scrollContainer = _ref2$scrollContainer === void 0 ? null : _ref2$scrollContainer,
|
|
141
|
+
_ref2$threshold = _ref2.threshold,
|
|
142
|
+
threshold = _ref2$threshold === void 0 ? 120 : _ref2$threshold,
|
|
143
|
+
_ref2$x = _ref2.x,
|
|
144
|
+
x = _ref2$x === void 0 ? 32 : _ref2$x,
|
|
145
|
+
_ref2$y = _ref2.y,
|
|
146
|
+
y = _ref2$y === void 0 ? 32 : _ref2$y,
|
|
147
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref2, _excluded);
|
|
148
|
+
var portalElement = useResolvedTarget(container, !disablePortal);
|
|
149
|
+
var scrollElement = useResolvedTarget(scrollContainer, true);
|
|
150
|
+
var scrolled = useScrolledPast(scrollElement, threshold);
|
|
151
|
+
var handleClick = function handleClick(event) {
|
|
152
|
+
scrollToTop(scrollElement, behavior);
|
|
153
|
+
onClick === null || onClick === void 0 || onClick(event);
|
|
154
|
+
};
|
|
155
|
+
if (!scrolled) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
if (!disablePortal && !portalElement) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
var resolvedPosition = getPosition(position, portalElement);
|
|
162
|
+
var withPlacement = function withPlacement(node) {
|
|
163
|
+
if (resolvedPosition === "static") {
|
|
164
|
+
return node;
|
|
165
|
+
}
|
|
166
|
+
return /* @__PURE__ */React.createElement(Box, {
|
|
167
|
+
sx: getPlacementSx(resolvedPosition, anchorOrigin, x, y)
|
|
168
|
+
}, node);
|
|
169
|
+
};
|
|
170
|
+
var withPortal = function withPortal(node) {
|
|
171
|
+
if (!portalElement) {
|
|
172
|
+
return node;
|
|
173
|
+
}
|
|
174
|
+
return /* @__PURE__ */React.createElement(Portal, {
|
|
175
|
+
container: portalElement
|
|
176
|
+
}, node);
|
|
177
|
+
};
|
|
178
|
+
if (asIcon) {
|
|
179
|
+
return withPortal(withPlacement(/* @__PURE__ */React.createElement(ui.IconButton, _rollupPluginBabelHelpers.objectSpread2({
|
|
180
|
+
variant: "outlined",
|
|
181
|
+
size: "large",
|
|
182
|
+
onClick: handleClick,
|
|
183
|
+
color: "primary"
|
|
184
|
+
}, rest), icon)));
|
|
185
|
+
}
|
|
186
|
+
return withPortal(withPlacement(/* @__PURE__ */React.createElement(ui.Button, _rollupPluginBabelHelpers.objectSpread2({
|
|
187
|
+
variant: "outlined",
|
|
188
|
+
startIcon: icon,
|
|
189
|
+
size: "large",
|
|
190
|
+
onClick: handleClick
|
|
191
|
+
}, rest), label)));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
exports.default = ScrollTopButton;
|