@wordpress/admin-ui 1.0.1-next.47f435fc9.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 (38) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/LICENSE.md +788 -0
  3. package/README.md +33 -0
  4. package/build/index.js +42 -0
  5. package/build/index.js.map +7 -0
  6. package/build/navigable-region/index.js +55 -0
  7. package/build/navigable-region/index.js.map +7 -0
  8. package/build/page/header.js +61 -0
  9. package/build/page/header.js.map +7 -0
  10. package/build/page/index.js +64 -0
  11. package/build/page/index.js.map +7 -0
  12. package/build-module/index.js +7 -0
  13. package/build-module/index.js.map +7 -0
  14. package/build-module/navigable-region/index.js +25 -0
  15. package/build-module/navigable-region/index.js.map +7 -0
  16. package/build-module/page/header.js +45 -0
  17. package/build-module/page/header.js.map +7 -0
  18. package/build-module/page/index.js +34 -0
  19. package/build-module/page/index.js.map +7 -0
  20. package/build-style/style-rtl.css +150 -0
  21. package/build-style/style.css +150 -0
  22. package/build-types/index.d.ts +3 -0
  23. package/build-types/index.d.ts.map +1 -0
  24. package/build-types/navigable-region/index.d.ts +13 -0
  25. package/build-types/navigable-region/index.d.ts.map +1 -0
  26. package/build-types/page/header.d.ts +9 -0
  27. package/build-types/page/header.d.ts.map +1 -0
  28. package/build-types/page/index.d.ts +12 -0
  29. package/build-types/page/index.d.ts.map +1 -0
  30. package/package.json +48 -0
  31. package/src/index.ts +2 -0
  32. package/src/navigable-region/index.tsx +42 -0
  33. package/src/page/header.tsx +53 -0
  34. package/src/page/index.tsx +55 -0
  35. package/src/page/style.scss +74 -0
  36. package/src/style.scss +1 -0
  37. package/tsconfig.json +5 -0
  38. package/tsconfig.tsbuildinfo +1 -0
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # Admin UI
2
+
3
+ Generic components to be used to build the Admin UI.
4
+
5
+ ## Installation
6
+
7
+ Install the module
8
+
9
+ ```bash
10
+ npm install @wordpress/admin-ui --save
11
+ ```
12
+
13
+ ## API
14
+
15
+ <!-- START TOKEN(Autogenerated API docs) -->
16
+
17
+ ### NavigableRegion
18
+
19
+ Undocumented declaration.
20
+
21
+ ### Page
22
+
23
+ Undocumented declaration.
24
+
25
+ <!-- END TOKEN(Autogenerated API docs) -->
26
+
27
+ ## Contributing to this package
28
+
29
+ This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to [npm](https://www.npmjs.com/) and used by [WordPress](https://make.wordpress.org/core/) as well as other software projects.
30
+
31
+ To find out more about contributing to this package or Gutenberg as a whole, please read the project's main [contributor guide](https://github.com/WordPress/gutenberg/tree/HEAD/CONTRIBUTING.md).
32
+
33
+ <br /><br /><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
package/build/index.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var index_exports = {};
30
+ __export(index_exports, {
31
+ NavigableRegion: () => import_navigable_region.default,
32
+ Page: () => import_page.default
33
+ });
34
+ module.exports = __toCommonJS(index_exports);
35
+ var import_navigable_region = __toESM(require("./navigable-region"));
36
+ var import_page = __toESM(require("./page"));
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ NavigableRegion,
40
+ Page
41
+ });
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["export { default as NavigableRegion } from './navigable-region';\nexport { default as Page } from './page';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAA2C;AAC3C,kBAAgC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var navigable_region_exports = {};
30
+ __export(navigable_region_exports, {
31
+ default: () => navigable_region_default
32
+ });
33
+ module.exports = __toCommonJS(navigable_region_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_clsx = __toESM(require("clsx"));
36
+ var import_element = require("@wordpress/element");
37
+ const NavigableRegion = (0, import_element.forwardRef)(
38
+ ({ children, className, ariaLabel, as: Tag = "div", ...props }, ref) => {
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
40
+ Tag,
41
+ {
42
+ ref,
43
+ className: (0, import_clsx.default)("admin-ui-navigable-region", className),
44
+ "aria-label": ariaLabel,
45
+ role: "region",
46
+ tabIndex: "-1",
47
+ ...props,
48
+ children
49
+ }
50
+ );
51
+ }
52
+ );
53
+ NavigableRegion.displayName = "NavigableRegion";
54
+ var navigable_region_default = NavigableRegion;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/navigable-region/index.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Type definitions\n */\ntype NavigableRegionProps = {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tariaLabel: string;\n\tas?: React.ElementType;\n\t[ key: string ]: any;\n};\n\n// This is a copy of the private `NavigableRegion` component from the '@wordpress/editor' private APIs.\nconst NavigableRegion = forwardRef< HTMLElement, NavigableRegionProps >(\n\t( { children, className, ariaLabel, as: Tag = 'div', ...props }, ref ) => {\n\t\treturn (\n\t\t\t<Tag\n\t\t\t\tref={ ref }\n\t\t\t\tclassName={ clsx( 'admin-ui-navigable-region', className ) }\n\t\t\t\taria-label={ ariaLabel }\n\t\t\t\trole=\"region\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Tag>\n\t\t);\n\t}\n);\n\nNavigableRegion.displayName = 'NavigableRegion';\n\nexport default NavigableRegion;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBG;AAtBH,kBAAiB;AAKjB,qBAA2B;AAc3B,MAAM,sBAAkB;AAAA,EACvB,CAAE,EAAE,UAAU,WAAW,WAAW,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,QAAS;AACzE,WACC;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,eAAY,YAAAA,SAAM,6BAA6B,SAAU;AAAA,QACzD,cAAa;AAAA,QACb,MAAK;AAAA,QACL,UAAS;AAAA,QACP,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEF;AACD;AAEA,gBAAgB,cAAc;AAE9B,IAAO,2BAAQ;",
6
+ "names": ["clsx"]
7
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var header_exports = {};
20
+ __export(header_exports, {
21
+ default: () => Header
22
+ });
23
+ module.exports = __toCommonJS(header_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_components = require("@wordpress/components");
26
+ function Header({
27
+ breadcrumbs,
28
+ badges,
29
+ title,
30
+ subTitle,
31
+ actions
32
+ }) {
33
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { className: "admin-ui-page__header", as: "header", children: [
34
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
35
+ import_components.__experimentalHStack,
36
+ {
37
+ className: "admin-ui-page__header-title",
38
+ justify: "space-between",
39
+ spacing: 2,
40
+ children: [
41
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { spacing: 2, children: [
42
+ title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalHeading, { as: "h2", level: 3, weight: 500, truncate: true, children: title }),
43
+ breadcrumbs,
44
+ badges
45
+ ] }),
46
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
47
+ import_components.__experimentalHStack,
48
+ {
49
+ style: { width: "auto", flexShrink: 0 },
50
+ spacing: 2,
51
+ className: "admin-ui-page__header-actions",
52
+ children: actions
53
+ }
54
+ )
55
+ ]
56
+ }
57
+ ),
58
+ subTitle && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "admin-ui-page__header-subtitle", children: subTitle })
59
+ ] });
60
+ }
61
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/page/header.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nexport default function Header( {\n\tbreadcrumbs,\n\tbadges,\n\ttitle,\n\tsubTitle,\n\tactions,\n}: {\n\tbreadcrumbs?: React.ReactNode;\n\tbadges?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tsubTitle: React.ReactNode;\n\tactions?: React.ReactNode;\n\tshowSidebarToggle?: boolean;\n} ) {\n\treturn (\n\t\t<VStack className=\"admin-ui-page__header\" as=\"header\">\n\t\t\t<HStack\n\t\t\t\tclassName=\"admin-ui-page__header-title\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tspacing={ 2 }\n\t\t\t>\n\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t{ title && (\n\t\t\t\t\t\t<Heading as=\"h2\" level={ 3 } weight={ 500 } truncate>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t) }\n\t\t\t\t\t{ breadcrumbs }\n\t\t\t\t\t{ badges }\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tstyle={ { width: 'auto', flexShrink: 0 } }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"admin-ui-page__header-actions\"\n\t\t\t\t>\n\t\t\t\t\t{ actions }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ subTitle && (\n\t\t\t\t<p className=\"admin-ui-page__header-subtitle\">{ subTitle }</p>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BI;AA3BJ,wBAIO;AAEQ,SAAR,OAAyB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAOI;AACH,SACC,6CAAC,kBAAAA,sBAAA,EAAO,WAAU,yBAAwB,IAAG,UAC5C;AAAA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,SAAU;AAAA,QAEV;AAAA,uDAAC,kBAAAA,sBAAA,EAAO,SAAU,GACf;AAAA,qBACD,4CAAC,kBAAAC,uBAAA,EAAQ,IAAG,MAAK,OAAQ,GAAI,QAAS,KAAM,UAAQ,MACjD,iBACH;AAAA,YAEC;AAAA,YACA;AAAA,aACH;AAAA,UACA;AAAA,YAAC,kBAAAD;AAAA,YAAA;AAAA,cACA,OAAQ,EAAE,OAAO,QAAQ,YAAY,EAAE;AAAA,cACvC,SAAU;AAAA,cACV,WAAU;AAAA,cAER;AAAA;AAAA,UACH;AAAA;AAAA;AAAA,IACD;AAAA,IACE,YACD,4CAAC,OAAE,WAAU,kCAAmC,oBAAU;AAAA,KAE5D;AAEF;",
6
+ "names": ["VStack", "HStack", "Heading"]
7
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var page_exports = {};
30
+ __export(page_exports, {
31
+ default: () => page_default
32
+ });
33
+ module.exports = __toCommonJS(page_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_clsx = __toESM(require("clsx"));
36
+ var import_header = __toESM(require("./header"));
37
+ var import_navigable_region = __toESM(require("../navigable-region"));
38
+ function Page({
39
+ breadcrumbs,
40
+ badges,
41
+ title,
42
+ subTitle,
43
+ children,
44
+ className,
45
+ actions,
46
+ hasPadding = false
47
+ }) {
48
+ const classes = (0, import_clsx.default)("admin-ui-page", className);
49
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_navigable_region.default, { className: classes, ariaLabel: title, children: [
50
+ (title || breadcrumbs || badges) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
51
+ import_header.default,
52
+ {
53
+ breadcrumbs,
54
+ badges,
55
+ title,
56
+ subTitle,
57
+ actions
58
+ }
59
+ ),
60
+ hasPadding ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "admin-ui-page__content has-padding", children }) : children
61
+ ] });
62
+ }
63
+ var page_default = Page;
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/page/index.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport Header from './header';\nimport NavigableRegion from '../navigable-region';\n\nfunction Page( {\n\tbreadcrumbs,\n\tbadges,\n\ttitle,\n\tsubTitle,\n\tchildren,\n\tclassName,\n\tactions,\n\thasPadding = false,\n}: {\n\tbreadcrumbs?: React.ReactNode;\n\tbadges?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tsubTitle?: React.ReactNode;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tactions?: React.ReactNode;\n\thasPadding?: boolean;\n} ) {\n\tconst classes = clsx( 'admin-ui-page', className );\n\n\treturn (\n\t\t<NavigableRegion className={ classes } ariaLabel={ title }>\n\t\t\t{ ( title || breadcrumbs || badges ) && (\n\t\t\t\t<Header\n\t\t\t\t\tbreadcrumbs={ breadcrumbs }\n\t\t\t\t\tbadges={ badges }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tsubTitle={ subTitle }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasPadding ? (\n\t\t\t\t<div className=\"admin-ui-page__content has-padding\">\n\t\t\t\t\t{ children }\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t) }\n\t\t</NavigableRegion>\n\t);\n}\n\nexport default Page;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCE;AA9BF,kBAAiB;AAKjB,oBAAmB;AACnB,8BAA4B;AAE5B,SAAS,KAAM;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AACd,GASI;AACH,QAAM,cAAU,YAAAA,SAAM,iBAAiB,SAAU;AAEjD,SACC,6CAAC,wBAAAC,SAAA,EAAgB,WAAY,SAAU,WAAY,OAC9C;AAAA,cAAS,eAAe,WAC3B;AAAA,MAAC,cAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IAEC,aACD,4CAAC,SAAI,WAAU,sCACZ,UACH,IAEA;AAAA,KAEF;AAEF;AAEA,IAAO,eAAQ;",
6
+ "names": ["clsx", "NavigableRegion", "Header"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import { default as default2 } from "./navigable-region";
2
+ import { default as default3 } from "./page";
3
+ export {
4
+ default2 as NavigableRegion,
5
+ default3 as Page
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["export { default as NavigableRegion } from './navigable-region';\nexport { default as Page } from './page';\n"],
5
+ "mappings": "AAAA,SAAoB,WAAXA,gBAAkC;AAC3C,SAAoB,WAAXA,gBAAuB;",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,25 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import { forwardRef } from "@wordpress/element";
4
+ const NavigableRegion = forwardRef(
5
+ ({ children, className, ariaLabel, as: Tag = "div", ...props }, ref) => {
6
+ return /* @__PURE__ */ jsx(
7
+ Tag,
8
+ {
9
+ ref,
10
+ className: clsx("admin-ui-navigable-region", className),
11
+ "aria-label": ariaLabel,
12
+ role: "region",
13
+ tabIndex: "-1",
14
+ ...props,
15
+ children
16
+ }
17
+ );
18
+ }
19
+ );
20
+ NavigableRegion.displayName = "NavigableRegion";
21
+ var navigable_region_default = NavigableRegion;
22
+ export {
23
+ navigable_region_default as default
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/navigable-region/index.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Type definitions\n */\ntype NavigableRegionProps = {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tariaLabel: string;\n\tas?: React.ElementType;\n\t[ key: string ]: any;\n};\n\n// This is a copy of the private `NavigableRegion` component from the '@wordpress/editor' private APIs.\nconst NavigableRegion = forwardRef< HTMLElement, NavigableRegionProps >(\n\t( { children, className, ariaLabel, as: Tag = 'div', ...props }, ref ) => {\n\t\treturn (\n\t\t\t<Tag\n\t\t\t\tref={ ref }\n\t\t\t\tclassName={ clsx( 'admin-ui-navigable-region', className ) }\n\t\t\t\taria-label={ ariaLabel }\n\t\t\t\trole=\"region\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Tag>\n\t\t);\n\t}\n);\n\nNavigableRegion.displayName = 'NavigableRegion';\n\nexport default NavigableRegion;\n"],
5
+ "mappings": "AAyBG;AAtBH,OAAO,UAAU;AAKjB,SAAS,kBAAkB;AAc3B,MAAM,kBAAkB;AAAA,EACvB,CAAE,EAAE,UAAU,WAAW,WAAW,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,QAAS;AACzE,WACC;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,WAAY,KAAM,6BAA6B,SAAU;AAAA,QACzD,cAAa;AAAA,QACb,MAAK;AAAA,QACL,UAAS;AAAA,QACP,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEF;AACD;AAEA,gBAAgB,cAAc;AAE9B,IAAO,2BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,45 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import {
3
+ __experimentalHeading as Heading,
4
+ __experimentalHStack as HStack,
5
+ __experimentalVStack as VStack
6
+ } from "@wordpress/components";
7
+ function Header({
8
+ breadcrumbs,
9
+ badges,
10
+ title,
11
+ subTitle,
12
+ actions
13
+ }) {
14
+ return /* @__PURE__ */ jsxs(VStack, { className: "admin-ui-page__header", as: "header", children: [
15
+ /* @__PURE__ */ jsxs(
16
+ HStack,
17
+ {
18
+ className: "admin-ui-page__header-title",
19
+ justify: "space-between",
20
+ spacing: 2,
21
+ children: [
22
+ /* @__PURE__ */ jsxs(HStack, { spacing: 2, children: [
23
+ title && /* @__PURE__ */ jsx(Heading, { as: "h2", level: 3, weight: 500, truncate: true, children: title }),
24
+ breadcrumbs,
25
+ badges
26
+ ] }),
27
+ /* @__PURE__ */ jsx(
28
+ HStack,
29
+ {
30
+ style: { width: "auto", flexShrink: 0 },
31
+ spacing: 2,
32
+ className: "admin-ui-page__header-actions",
33
+ children: actions
34
+ }
35
+ )
36
+ ]
37
+ }
38
+ ),
39
+ subTitle && /* @__PURE__ */ jsx("p", { className: "admin-ui-page__header-subtitle", children: subTitle })
40
+ ] });
41
+ }
42
+ export {
43
+ Header as default
44
+ };
45
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/page/header.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nexport default function Header( {\n\tbreadcrumbs,\n\tbadges,\n\ttitle,\n\tsubTitle,\n\tactions,\n}: {\n\tbreadcrumbs?: React.ReactNode;\n\tbadges?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tsubTitle: React.ReactNode;\n\tactions?: React.ReactNode;\n\tshowSidebarToggle?: boolean;\n} ) {\n\treturn (\n\t\t<VStack className=\"admin-ui-page__header\" as=\"header\">\n\t\t\t<HStack\n\t\t\t\tclassName=\"admin-ui-page__header-title\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tspacing={ 2 }\n\t\t\t>\n\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t{ title && (\n\t\t\t\t\t\t<Heading as=\"h2\" level={ 3 } weight={ 500 } truncate>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t) }\n\t\t\t\t\t{ breadcrumbs }\n\t\t\t\t\t{ badges }\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tstyle={ { width: 'auto', flexShrink: 0 } }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"admin-ui-page__header-actions\"\n\t\t\t\t>\n\t\t\t\t\t{ actions }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ subTitle && (\n\t\t\t\t<p className=\"admin-ui-page__header-subtitle\">{ subTitle }</p>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],
5
+ "mappings": "AA8BI,SAEE,KAFF;AA3BJ;AAAA,EACC,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AAEQ,SAAR,OAAyB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAOI;AACH,SACC,qBAAC,UAAO,WAAU,yBAAwB,IAAG,UAC5C;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,SAAU;AAAA,QAEV;AAAA,+BAAC,UAAO,SAAU,GACf;AAAA,qBACD,oBAAC,WAAQ,IAAG,MAAK,OAAQ,GAAI,QAAS,KAAM,UAAQ,MACjD,iBACH;AAAA,YAEC;AAAA,YACA;AAAA,aACH;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,OAAQ,EAAE,OAAO,QAAQ,YAAY,EAAE;AAAA,cACvC,SAAU;AAAA,cACV,WAAU;AAAA,cAER;AAAA;AAAA,UACH;AAAA;AAAA;AAAA,IACD;AAAA,IACE,YACD,oBAAC,OAAE,WAAU,kCAAmC,oBAAU;AAAA,KAE5D;AAEF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,34 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import Header from "./header";
4
+ import NavigableRegion from "../navigable-region";
5
+ function Page({
6
+ breadcrumbs,
7
+ badges,
8
+ title,
9
+ subTitle,
10
+ children,
11
+ className,
12
+ actions,
13
+ hasPadding = false
14
+ }) {
15
+ const classes = clsx("admin-ui-page", className);
16
+ return /* @__PURE__ */ jsxs(NavigableRegion, { className: classes, ariaLabel: title, children: [
17
+ (title || breadcrumbs || badges) && /* @__PURE__ */ jsx(
18
+ Header,
19
+ {
20
+ breadcrumbs,
21
+ badges,
22
+ title,
23
+ subTitle,
24
+ actions
25
+ }
26
+ ),
27
+ hasPadding ? /* @__PURE__ */ jsx("div", { className: "admin-ui-page__content has-padding", children }) : children
28
+ ] });
29
+ }
30
+ var page_default = Page;
31
+ export {
32
+ page_default as default
33
+ };
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/page/index.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport Header from './header';\nimport NavigableRegion from '../navigable-region';\n\nfunction Page( {\n\tbreadcrumbs,\n\tbadges,\n\ttitle,\n\tsubTitle,\n\tchildren,\n\tclassName,\n\tactions,\n\thasPadding = false,\n}: {\n\tbreadcrumbs?: React.ReactNode;\n\tbadges?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tsubTitle?: React.ReactNode;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tactions?: React.ReactNode;\n\thasPadding?: boolean;\n} ) {\n\tconst classes = clsx( 'admin-ui-page', className );\n\n\treturn (\n\t\t<NavigableRegion className={ classes } ariaLabel={ title }>\n\t\t\t{ ( title || breadcrumbs || badges ) && (\n\t\t\t\t<Header\n\t\t\t\t\tbreadcrumbs={ breadcrumbs }\n\t\t\t\t\tbadges={ badges }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tsubTitle={ subTitle }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasPadding ? (\n\t\t\t\t<div className=\"admin-ui-page__content has-padding\">\n\t\t\t\t\t{ children }\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t) }\n\t\t</NavigableRegion>\n\t);\n}\n\nexport default Page;\n"],
5
+ "mappings": "AAiCE,SAEE,KAFF;AA9BF,OAAO,UAAU;AAKjB,OAAO,YAAY;AACnB,OAAO,qBAAqB;AAE5B,SAAS,KAAM;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AACd,GASI;AACH,QAAM,UAAU,KAAM,iBAAiB,SAAU;AAEjD,SACC,qBAAC,mBAAgB,WAAY,SAAU,WAAY,OAC9C;AAAA,cAAS,eAAe,WAC3B;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IAEC,aACD,oBAAC,SAAI,WAAU,sCACZ,UACH,IAEA;AAAA,KAEF;AAEF;AAEA,IAAO,eAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Colors
3
+ */
4
+ /**
5
+ * SCSS Variables.
6
+ *
7
+ * Please use variables from this sheet to ensure consistency across the UI.
8
+ * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
9
+ * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
10
+ */
11
+ /**
12
+ * Fonts & basic variables.
13
+ */
14
+ /**
15
+ * Typography
16
+ */
17
+ /**
18
+ * Grid System.
19
+ * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
20
+ */
21
+ /**
22
+ * Radius scale.
23
+ */
24
+ /**
25
+ * Elevation scale.
26
+ */
27
+ /**
28
+ * Dimensions.
29
+ */
30
+ /**
31
+ * Mobile specific styles
32
+ */
33
+ /**
34
+ * Editor styles.
35
+ */
36
+ /**
37
+ * Block & Editor UI.
38
+ */
39
+ /**
40
+ * Block paddings.
41
+ */
42
+ /**
43
+ * React Native specific.
44
+ * These variables do not appear to be used anywhere else.
45
+ */
46
+ /**
47
+ * Typography
48
+ */
49
+ /**
50
+ * Breakpoints & Media Queries
51
+ */
52
+ /**
53
+ * Converts a hex value into the rgb equivalent.
54
+ *
55
+ * @param {string} hex - the hexadecimal value to convert
56
+ * @return {string} comma separated rgb values
57
+ */
58
+ /**
59
+ * Long content fade mixin
60
+ *
61
+ * Creates a fading overlay to signify that the content is longer
62
+ * than the space allows.
63
+ */
64
+ /**
65
+ * Breakpoint mixins
66
+ */
67
+ /**
68
+ * Focus styles.
69
+ */
70
+ /**
71
+ * Applies editor left position to the selector passed as argument
72
+ */
73
+ /**
74
+ * Styles that are reused verbatim in a few places
75
+ */
76
+ /**
77
+ * Allows users to opt-out of animations via OS-level preferences.
78
+ */
79
+ /**
80
+ * Reset default styles for JavaScript UI based pages.
81
+ * This is a WP-admin agnostic reset
82
+ */
83
+ /**
84
+ * Reset the WP Admin page styles for Gutenberg-like pages.
85
+ */
86
+ .admin-ui-page {
87
+ display: flex;
88
+ height: 100%;
89
+ background-color: #fff;
90
+ color: #2f2f2f;
91
+ position: relative;
92
+ z-index: 1;
93
+ flex-flow: column;
94
+ container: admin-ui-page/inline-size;
95
+ }
96
+ @media not (prefers-reduced-motion) {
97
+ .admin-ui-page {
98
+ transition: width ease-out 0.2s;
99
+ }
100
+ }
101
+
102
+ .admin-ui-page__header {
103
+ padding: 16px 48px;
104
+ border-bottom: 1px solid #f0f0f0;
105
+ background: #fff;
106
+ position: sticky;
107
+ top: 0;
108
+ }
109
+ @container (max-width: 430px) {
110
+ .admin-ui-page__header {
111
+ padding: 16px 24px;
112
+ }
113
+ }
114
+
115
+ .admin-ui-page__header-subtitle {
116
+ padding-block-end: 8px;
117
+ color: #757575;
118
+ font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
119
+ font-weight: 400;
120
+ font-size: 13px;
121
+ line-height: 20px;
122
+ margin: 0;
123
+ }
124
+
125
+ .admin-ui-page__content {
126
+ flex-grow: 1;
127
+ overflow: auto;
128
+ display: flex;
129
+ flex-direction: column;
130
+ }
131
+ .admin-ui-page__content.has-padding {
132
+ padding: 16px 20px;
133
+ }
134
+ @container (max-width: 430px) {
135
+ .admin-ui-page__content.has-padding {
136
+ padding: 16px 24px;
137
+ }
138
+ }
139
+
140
+ .show-icon-labels .admin-ui-page__header-actions .components-button.has-icon {
141
+ width: auto;
142
+ padding: 0 8px;
143
+ }
144
+ .show-icon-labels .admin-ui-page__header-actions .components-button.has-icon svg {
145
+ display: none;
146
+ }
147
+ .show-icon-labels .admin-ui-page__header-actions .components-button.has-icon::after {
148
+ content: attr(aria-label);
149
+ font-size: 12px;
150
+ }