@canonical/react-components 0.53.1 → 0.54.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.
package/README.md CHANGED
@@ -72,3 +72,8 @@ yarn link @canonical/react-components
72
72
  cd react-components
73
73
  yarn run unlink-packages
74
74
  ```
75
+
76
+ ## Related projects
77
+ The following projects are related to, or build upon this library:
78
+ - [Store components](https://github.com/canonical/store-components)
79
+ - [MAAS React components](https://github.com/canonical/maas-react-components)
@@ -0,0 +1,13 @@
1
+ import { FC, ReactNode } from "react";
2
+ import "./LoginPageLayout.scss";
3
+ export type Props = {
4
+ title: string;
5
+ children?: ReactNode;
6
+ logo?: {
7
+ src: string;
8
+ title: string;
9
+ url: string;
10
+ };
11
+ };
12
+ declare const LoginPageLayout: FC<Props>;
13
+ export default LoginPageLayout;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Card = _interopRequireDefault(require("../Card"));
10
+ var _Col = _interopRequireDefault(require("../Col"));
11
+ var _Navigation = _interopRequireDefault(require("../Navigation"));
12
+ var _Row = _interopRequireDefault(require("../Row"));
13
+ var _enums = require("../../enums");
14
+ require("./LoginPageLayout.scss");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ const defaultLogo = {
19
+ src: "https://assets.ubuntu.com/v1/82818827-CoF_white.svg",
20
+ title: "Canonical",
21
+ url: "/"
22
+ };
23
+ const LoginPageLayout = _ref => {
24
+ let {
25
+ children,
26
+ title,
27
+ logo = defaultLogo
28
+ } = _ref;
29
+ (0, _react.useEffect)(() => {
30
+ document.title = title;
31
+ }, [title]);
32
+ (0, _react.useLayoutEffect)(() => {
33
+ var _document$querySelect;
34
+ (_document$querySelect = document.querySelector("body")) === null || _document$querySelect === void 0 || _document$querySelect.classList.add("is-paper");
35
+ });
36
+ return /*#__PURE__*/_react.default.createElement(_Row.default, {
37
+ className: "p-strip page-row"
38
+ }, /*#__PURE__*/_react.default.createElement(_Col.default, {
39
+ emptyLarge: 4,
40
+ size: 6
41
+ }, /*#__PURE__*/_react.default.createElement(_Card.default, {
42
+ className: "u-no-padding page-card"
43
+ }, /*#__PURE__*/_react.default.createElement(_Navigation.default, {
44
+ logo: logo,
45
+ theme: _enums.Theme.DARK
46
+ }), /*#__PURE__*/_react.default.createElement("div", {
47
+ className: "p-card__inner page-inner"
48
+ }, /*#__PURE__*/_react.default.createElement("h1", {
49
+ className: "p-heading--4"
50
+ }, title), /*#__PURE__*/_react.default.createElement("div", null, children)))));
51
+ };
52
+ LoginPageLayout.propTypes = {
53
+ title: _propTypes.default.string.isRequired,
54
+ children: _propTypes.default.node,
55
+ logo: _propTypes.default.shape({
56
+ src: _propTypes.default.string.isRequired,
57
+ title: _propTypes.default.string.isRequired,
58
+ url: _propTypes.default.string.isRequired
59
+ })
60
+ };
61
+ var _default = exports.default = LoginPageLayout;
@@ -0,0 +1,19 @@
1
+ @import "vanilla-framework";
2
+
3
+ @media screen and (max-width: $breakpoint-small) {
4
+ .page-row {
5
+ padding: 0;
6
+ }
7
+
8
+ .page-card {
9
+ border: 0;
10
+ }
11
+
12
+ .is-paper {
13
+ background-color: #fff;
14
+ }
15
+ }
16
+
17
+ .page-inner {
18
+ padding: 1rem 2rem 2rem;
19
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from "./LoginPageLayout";
2
+ export type { Props as LoginPageLayoutProps } from "./LoginPageLayout";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _LoginPageLayout.default;
10
+ }
11
+ });
12
+ var _LoginPageLayout = _interopRequireDefault(require("./LoginPageLayout"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/dist/index.d.ts CHANGED
@@ -29,6 +29,7 @@ export { default as Modal } from "./components/Modal";
29
29
  export * from "./components/MultiSelect";
30
30
  export { default as Notification, NotificationSeverity, } from "./components/Notification";
31
31
  export { NotificationConsumer, NotificationProvider, useNotify, info, success, failure, queue, } from "./components/NotificationProvider";
32
+ export { default as LoginPageLayout } from "./components/LoginPageLayout";
32
33
  export { default as Pagination } from "./components/Pagination";
33
34
  export { default as PasswordToggle } from "./components/PasswordToggle";
34
35
  export { default as RadioInput } from "./components/RadioInput";
@@ -79,6 +80,7 @@ export type { ModalProps } from "./components/Modal";
79
80
  export type { GenerateLink, LogoProps, NavigationProps, NavItem, NavLink, NavLinkAnchor, NavLinkBase, NavLinkButton, } from "./components/Navigation";
80
81
  export type { NotificationProps } from "./components/Notification";
81
82
  export type { NotificationAction, NotificationType, QueuedNotification, NotificationHelper, } from "./components/NotificationProvider";
83
+ export type { LoginPageLayoutProps } from "./components/LoginPageLayout";
82
84
  export type { PaginationProps } from "./components/Pagination";
83
85
  export type { RadioInputProps } from "./components/RadioInput";
84
86
  export type { RowProps } from "./components/Row";
package/dist/index.js CHANGED
@@ -44,6 +44,7 @@ var _exportNames = {
44
44
  success: true,
45
45
  failure: true,
46
46
  queue: true,
47
+ LoginPageLayout: true,
47
48
  Pagination: true,
48
49
  PasswordToggle: true,
49
50
  RadioInput: true,
@@ -241,6 +242,12 @@ Object.defineProperty(exports, "Loader", {
241
242
  return _Loader.default;
242
243
  }
243
244
  });
245
+ Object.defineProperty(exports, "LoginPageLayout", {
246
+ enumerable: true,
247
+ get: function () {
248
+ return _LoginPageLayout.default;
249
+ }
250
+ });
244
251
  Object.defineProperty(exports, "MainTable", {
245
252
  enumerable: true,
246
253
  get: function () {
@@ -565,6 +572,7 @@ Object.keys(_MultiSelect).forEach(function (key) {
565
572
  });
566
573
  var _Notification = _interopRequireWildcard(require("./components/Notification"));
567
574
  var _NotificationProvider = require("./components/NotificationProvider");
575
+ var _LoginPageLayout = _interopRequireDefault(require("./components/LoginPageLayout"));
568
576
  var _Pagination = _interopRequireDefault(require("./components/Pagination"));
569
577
  var _PasswordToggle = _interopRequireDefault(require("./components/PasswordToggle"));
570
578
  var _RadioInput = _interopRequireDefault(require("./components/RadioInput"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonical/react-components",
3
- "version": "0.53.1",
3
+ "version": "0.54.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "Huw Wilkins <huw.wilkins@canonical.com>",