@canonical/react-components 0.58.0 → 0.59.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 (213) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +5 -0
  2. package/dist/components/Accordion/Accordion.js +6 -0
  3. package/dist/components/Accordion/Accordion.stories.d.ts +18 -0
  4. package/dist/components/Accordion/Accordion.stories.js +117 -0
  5. package/dist/components/ActionButton/ActionButton.d.ts +7 -0
  6. package/dist/components/ActionButton/ActionButton.js +7 -0
  7. package/dist/components/ActionButton/ActionButton.stories.d.ts +7 -0
  8. package/dist/components/ActionButton/ActionButton.stories.js +36 -0
  9. package/dist/components/ApplicationLayout/AppAside/AppAside.d.ts +33 -0
  10. package/dist/components/ApplicationLayout/AppAside/AppAside.js +33 -0
  11. package/dist/components/ApplicationLayout/AppAside/AppAside.stories.d.ts +13 -0
  12. package/dist/components/ApplicationLayout/AppAside/AppAside.stories.js +116 -0
  13. package/dist/components/ApplicationLayout/AppAside/index.d.ts +2 -0
  14. package/dist/components/ApplicationLayout/AppAside/index.js +13 -0
  15. package/dist/components/ApplicationLayout/AppMain/AppMain.d.ts +14 -0
  16. package/dist/components/ApplicationLayout/AppMain/AppMain.js +25 -0
  17. package/dist/components/ApplicationLayout/AppMain/AppMain.stories.d.ts +14 -0
  18. package/dist/components/ApplicationLayout/AppMain/AppMain.stories.js +45 -0
  19. package/dist/components/ApplicationLayout/AppMain/index.d.ts +2 -0
  20. package/dist/components/ApplicationLayout/AppMain/index.js +13 -0
  21. package/dist/components/ApplicationLayout/AppNavigation/AppNavigation.d.ts +26 -0
  22. package/dist/components/ApplicationLayout/AppNavigation/AppNavigation.js +35 -0
  23. package/dist/components/ApplicationLayout/AppNavigation/AppNavigation.stories.d.ts +12 -0
  24. package/dist/components/ApplicationLayout/AppNavigation/AppNavigation.stories.js +104 -0
  25. package/dist/components/ApplicationLayout/AppNavigation/index.d.ts +2 -0
  26. package/dist/components/ApplicationLayout/AppNavigation/index.js +13 -0
  27. package/dist/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.d.ts +18 -0
  28. package/dist/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.js +28 -0
  29. package/dist/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.stories.d.ts +15 -0
  30. package/dist/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.stories.js +52 -0
  31. package/dist/components/ApplicationLayout/AppNavigationBar/index.d.ts +2 -0
  32. package/dist/components/ApplicationLayout/AppNavigationBar/index.js +13 -0
  33. package/dist/components/ApplicationLayout/AppStatus/AppStatus.d.ts +14 -0
  34. package/dist/components/ApplicationLayout/AppStatus/AppStatus.js +25 -0
  35. package/dist/components/ApplicationLayout/AppStatus/AppStatus.stories.d.ts +13 -0
  36. package/dist/components/ApplicationLayout/AppStatus/AppStatus.stories.js +41 -0
  37. package/dist/components/ApplicationLayout/AppStatus/index.d.ts +2 -0
  38. package/dist/components/ApplicationLayout/AppStatus/index.js +13 -0
  39. package/dist/components/ApplicationLayout/Application/Application.d.ts +15 -0
  40. package/dist/components/ApplicationLayout/Application/Application.js +26 -0
  41. package/dist/components/ApplicationLayout/Application/Application.stories.d.ts +6 -0
  42. package/dist/components/ApplicationLayout/Application/Application.stories.js +16 -0
  43. package/dist/components/ApplicationLayout/Application/index.d.ts +2 -0
  44. package/dist/components/ApplicationLayout/Application/index.js +13 -0
  45. package/dist/components/ApplicationLayout/ApplicationLayout.d.ts +89 -0
  46. package/dist/components/ApplicationLayout/ApplicationLayout.js +118 -0
  47. package/dist/components/ApplicationLayout/ApplicationLayout.stories.d.ts +24 -0
  48. package/dist/components/ApplicationLayout/ApplicationLayout.stories.js +232 -0
  49. package/dist/components/ApplicationLayout/index.d.ts +7 -0
  50. package/dist/components/ApplicationLayout/index.js +55 -0
  51. package/dist/components/ArticlePagination/ArticlePagination.d.ts +5 -0
  52. package/dist/components/ArticlePagination/ArticlePagination.js +5 -0
  53. package/dist/components/ArticlePagination/ArticlePagination.stories.d.ts +6 -0
  54. package/dist/components/ArticlePagination/ArticlePagination.stories.js +22 -0
  55. package/dist/components/Badge/Badge.d.ts +5 -0
  56. package/dist/components/Badge/Badge.js +6 -0
  57. package/dist/components/Badge/Badge.stories.d.ts +15 -0
  58. package/dist/components/Badge/Badge.stories.js +62 -0
  59. package/dist/components/Button/Button.d.ts +3 -1
  60. package/dist/components/Button/Button.js +3 -1
  61. package/dist/components/Button/Button.stories.d.ts +32 -0
  62. package/dist/components/Button/Button.stories.js +180 -0
  63. package/dist/components/Card/Card.stories.js +0 -1
  64. package/dist/components/CheckboxInput/CheckboxInput.d.ts +5 -0
  65. package/dist/components/CheckboxInput/CheckboxInput.js +5 -0
  66. package/dist/components/CheckboxInput/CheckboxInput.stories.d.ts +11 -0
  67. package/dist/components/CheckboxInput/CheckboxInput.stories.js +84 -0
  68. package/dist/components/Chip/Chip.d.ts +5 -0
  69. package/dist/components/Chip/Chip.js +5 -0
  70. package/dist/components/Chip/Chip.stories.d.ts +9 -0
  71. package/dist/components/Chip/Chip.stories.js +45 -0
  72. package/dist/components/CodeSnippet/CodeSnippet.d.ts +7 -0
  73. package/dist/components/CodeSnippet/CodeSnippet.js +7 -0
  74. package/dist/components/CodeSnippet/CodeSnippet.stories.d.ts +45 -0
  75. package/dist/components/CodeSnippet/CodeSnippet.stories.js +279 -0
  76. package/dist/components/Col/Col.d.ts +5 -0
  77. package/dist/components/Col/Col.js +5 -0
  78. package/dist/components/Col/Col.stories.d.ts +11 -0
  79. package/dist/components/Col/Col.stories.js +154 -0
  80. package/dist/components/ConfirmationButton/ConfirmationButton.d.ts +3 -0
  81. package/dist/components/ConfirmationButton/ConfirmationButton.js +3 -0
  82. package/dist/components/ConfirmationButton/ConfirmationButton.stories.d.ts +9 -0
  83. package/dist/components/ConfirmationButton/ConfirmationButton.stories.js +108 -0
  84. package/dist/components/ConfirmationModal/ConfirmationModal.d.ts +3 -0
  85. package/dist/components/ConfirmationModal/ConfirmationModal.js +3 -0
  86. package/dist/components/ConfirmationModal/ConfirmationModal.stories.d.ts +18 -0
  87. package/dist/components/ConfirmationModal/ConfirmationModal.stories.js +135 -0
  88. package/dist/components/ContextualMenu/ContextualMenu.d.ts +3 -20
  89. package/dist/components/ContextualMenu/ContextualMenu.js +3 -20
  90. package/dist/components/ContextualMenu/ContextualMenu.stories.d.ts +13 -0
  91. package/dist/components/ContextualMenu/ContextualMenu.stories.js +107 -0
  92. package/dist/components/EmptyState/EmptyState.d.ts +3 -0
  93. package/dist/components/EmptyState/EmptyState.js +3 -0
  94. package/dist/components/EmptyState/EmptyState.stories.d.ts +7 -0
  95. package/dist/components/EmptyState/EmptyState.stories.js +49 -0
  96. package/dist/components/Form/Form.d.ts +5 -0
  97. package/dist/components/Form/Form.js +5 -0
  98. package/dist/components/Form/Form.stories.d.ts +12 -0
  99. package/dist/components/Form/Form.stories.js +179 -0
  100. package/dist/components/FormikField/FormikField.stories.js +0 -1
  101. package/dist/components/Icon/Icon.d.ts +3 -1
  102. package/dist/components/Icon/Icon.js +3 -1
  103. package/dist/components/Icon/Icon.stories.d.ts +16 -0
  104. package/dist/components/Icon/Icon.stories.js +49 -0
  105. package/dist/components/Input/Input.d.ts +5 -0
  106. package/dist/components/Input/Input.js +5 -0
  107. package/dist/components/Input/Input.stories.d.ts +14 -0
  108. package/dist/components/Input/Input.stories.js +148 -0
  109. package/dist/components/Link/Link.d.ts +5 -0
  110. package/dist/components/Link/Link.js +5 -0
  111. package/dist/components/Link/Link.stories.d.ts +9 -0
  112. package/dist/components/Link/Link.stories.js +48 -0
  113. package/dist/components/List/List.d.ts +5 -0
  114. package/dist/components/List/List.js +6 -0
  115. package/dist/components/List/List.stories.d.ts +15 -0
  116. package/dist/components/List/List.stories.js +122 -0
  117. package/dist/components/LoginPageLayout/LoginPageLayout.d.ts +4 -0
  118. package/dist/components/LoginPageLayout/LoginPageLayout.js +4 -0
  119. package/dist/components/LoginPageLayout/LoginPageLayout.stories.d.ts +9 -0
  120. package/dist/components/LoginPageLayout/LoginPageLayout.stories.js +58 -0
  121. package/dist/components/MainTable/MainTable.d.ts +3 -0
  122. package/dist/components/MainTable/MainTable.js +4 -0
  123. package/dist/components/MainTable/MainTable.stories.d.ts +15 -0
  124. package/dist/components/MainTable/MainTable.stories.js +553 -0
  125. package/dist/components/Modal/Modal.d.ts +5 -0
  126. package/dist/components/Modal/Modal.js +5 -0
  127. package/dist/components/Modal/Modal.stories.d.ts +6 -0
  128. package/dist/components/Modal/Modal.stories.js +57 -0
  129. package/dist/components/ModularTable/ModularTable.d.ts +52 -0
  130. package/dist/components/ModularTable/ModularTable.js +53 -0
  131. package/dist/components/ModularTable/ModularTable.stories.d.ts +27 -0
  132. package/dist/components/ModularTable/ModularTable.stories.js +343 -0
  133. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +5 -64
  134. package/dist/components/MultiSelect/MultiSelect.stories.js +0 -1
  135. package/dist/components/Navigation/Navigation.d.ts +8 -0
  136. package/dist/components/Navigation/Navigation.js +9 -0
  137. package/dist/components/Navigation/Navigation.stories.d.ts +43 -0
  138. package/dist/components/Navigation/Navigation.stories.js +232 -0
  139. package/dist/components/Notification/Notification.d.ts +25 -0
  140. package/dist/components/Notification/Notification.js +25 -0
  141. package/dist/components/Notification/Notification.stories.d.ts +45 -0
  142. package/dist/components/Notification/Notification.stories.js +201 -0
  143. package/dist/components/Pagination/Pagination.d.ts +12 -0
  144. package/dist/components/Pagination/Pagination.js +12 -0
  145. package/dist/components/Pagination/Pagination.stories.d.ts +14 -0
  146. package/dist/components/Pagination/Pagination.stories.js +94 -0
  147. package/dist/components/PasswordToggle/PasswordToggle.d.ts +5 -0
  148. package/dist/components/PasswordToggle/PasswordToggle.js +5 -0
  149. package/dist/components/PasswordToggle/PasswordToggle.stories.d.ts +12 -0
  150. package/dist/components/PasswordToggle/PasswordToggle.stories.js +74 -0
  151. package/dist/components/RadioInput/RadioInput.d.ts +5 -0
  152. package/dist/components/RadioInput/RadioInput.js +5 -0
  153. package/dist/components/RadioInput/RadioInput.stories.d.ts +10 -0
  154. package/dist/components/RadioInput/RadioInput.stories.js +83 -0
  155. package/dist/components/Row/Row.d.ts +5 -0
  156. package/dist/components/Row/Row.js +5 -0
  157. package/dist/components/Row/Row.stories.d.ts +9 -0
  158. package/dist/components/Row/Row.stories.js +29 -0
  159. package/dist/components/SearchAndFilter/SearchAndFilter.d.ts +3 -0
  160. package/dist/components/SearchAndFilter/SearchAndFilter.js +3 -0
  161. package/dist/components/SearchAndFilter/SearchAndFilter.stories.d.ts +8 -0
  162. package/dist/components/SearchAndFilter/SearchAndFilter.stories.js +218 -0
  163. package/dist/components/SearchBox/SearchBox.d.ts +5 -0
  164. package/dist/components/SearchBox/SearchBox.js +5 -0
  165. package/dist/components/SearchBox/SearchBox.stories.d.ts +14 -0
  166. package/dist/components/SearchBox/SearchBox.stories.js +106 -0
  167. package/dist/components/Select/Select.d.ts +5 -0
  168. package/dist/components/Select/Select.js +6 -0
  169. package/dist/components/Select/Select.stories.d.ts +7 -0
  170. package/dist/components/Select/Select.stories.js +97 -0
  171. package/dist/components/Slider/Slider.d.ts +6 -0
  172. package/dist/components/Slider/Slider.js +6 -0
  173. package/dist/components/Slider/Slider.stories.d.ts +10 -0
  174. package/dist/components/Slider/Slider.stories.js +74 -0
  175. package/dist/components/Spinner/Spinner.d.ts +3 -0
  176. package/dist/components/Spinner/Spinner.js +3 -0
  177. package/dist/components/Spinner/Spinner.stories.d.ts +8 -0
  178. package/dist/components/Spinner/Spinner.stories.js +28 -0
  179. package/dist/components/StatusLabel/StatusLabel.d.ts +3 -1
  180. package/dist/components/StatusLabel/StatusLabel.js +3 -1
  181. package/dist/components/StatusLabel/StatusLabel.stories.d.ts +10 -0
  182. package/dist/components/StatusLabel/StatusLabel.stories.js +61 -0
  183. package/dist/components/Strip/Strip.d.ts +5 -0
  184. package/dist/components/Strip/Strip.js +5 -0
  185. package/dist/components/Strip/Strip.stories.d.ts +12 -0
  186. package/dist/components/Strip/Strip.stories.js +130 -0
  187. package/dist/components/SummaryButton/SummaryButton.d.ts +3 -0
  188. package/dist/components/SummaryButton/SummaryButton.js +3 -0
  189. package/dist/components/SummaryButton/SummaryButton.stories.d.ts +18 -0
  190. package/dist/components/SummaryButton/SummaryButton.stories.js +59 -0
  191. package/dist/components/Switch/Switch.d.ts +3 -0
  192. package/dist/components/Switch/Switch.js +3 -0
  193. package/dist/components/Switch/Switch.stories.d.ts +7 -0
  194. package/dist/components/Switch/Switch.stories.js +26 -0
  195. package/dist/components/TablePagination/TablePagination.d.ts +21 -0
  196. package/dist/components/TablePagination/TablePagination.js +21 -0
  197. package/dist/components/TablePagination/TablePagination.stories.d.ts +10 -0
  198. package/dist/components/TablePagination/TablePagination.stories.js +302 -0
  199. package/dist/components/Tabs/Tabs.d.ts +5 -0
  200. package/dist/components/Tabs/Tabs.js +5 -0
  201. package/dist/components/Tabs/Tabs.stories.d.ts +11 -0
  202. package/dist/components/Tabs/Tabs.stories.js +56 -0
  203. package/dist/components/Textarea/Textarea.d.ts +5 -0
  204. package/dist/components/Textarea/Textarea.js +5 -0
  205. package/dist/components/Textarea/Textarea.stories.d.ts +7 -0
  206. package/dist/components/Textarea/Textarea.stories.js +62 -0
  207. package/dist/components/Tooltip/Tooltip.d.ts +7 -11
  208. package/dist/components/Tooltip/Tooltip.js +7 -11
  209. package/dist/components/Tooltip/Tooltip.stories.d.ts +12 -0
  210. package/dist/components/Tooltip/Tooltip.stories.js +71 -0
  211. package/dist/index.d.ts +14 -0
  212. package/dist/index.js +56 -0
  213. package/package.json +18 -15
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _Panel = _interopRequireDefault(require("../Panel"));
10
+ var _SideNavigation = _interopRequireDefault(require("../SideNavigation"));
11
+ var _AppMain = _interopRequireDefault(require("./AppMain"));
12
+ var _AppNavigation = _interopRequireDefault(require("./AppNavigation"));
13
+ var _AppNavigationBar = _interopRequireDefault(require("./AppNavigationBar"));
14
+ var _AppStatus = _interopRequireDefault(require("./AppStatus"));
15
+ var _Application = _interopRequireDefault(require("./Application"));
16
+ var _Button = _interopRequireDefault(require("../Button"));
17
+ var _Icon = _interopRequireDefault(require("../Icon"));
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ 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); }
20
+ 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; }
21
+ /**
22
+ * This is a [React](https://reactjs.org/) component for the Vanilla
23
+ * [Application Layout](https://vanillaframework.io/docs/layouts/application).
24
+ *
25
+ * This component combines the various sub-components that make up the
26
+ * Application Layout to make it easier to consume. For some applications this
27
+ * component maybe not be flexible enough, in which case you may choose to use
28
+ * the sub-components directly. Be aware that the application layout requires a
29
+ * specific structure and states to function correctly so there will be a
30
+ * trade-off when using the sub-components directly.
31
+ */
32
+ const ApplicationLayout = _ref => {
33
+ let {
34
+ aside,
35
+ children,
36
+ dark = true,
37
+ logo,
38
+ mainClassName,
39
+ menuCollapsed,
40
+ menuPinned,
41
+ navigationBarClassName,
42
+ navigationClassName,
43
+ navItems,
44
+ navLinkComponent,
45
+ onCollapseMenu,
46
+ onPinMenu,
47
+ sideNavigation,
48
+ status,
49
+ statusClassName,
50
+ ...props
51
+ } = _ref;
52
+ const [internalMenuPinned, setInternalMenuPinned] = (0, _react.useState)(false);
53
+ const [internalMenuCollapsed, setInternalMenuCollapsed] = (0, _react.useState)(true);
54
+ const menuIsPinned = menuPinned !== null && menuPinned !== void 0 ? menuPinned : internalMenuPinned;
55
+ const setMenuPinned = onPinMenu !== null && onPinMenu !== void 0 ? onPinMenu : setInternalMenuPinned;
56
+ const menuIsCollapsed = menuCollapsed !== null && menuCollapsed !== void 0 ? menuCollapsed : internalMenuCollapsed;
57
+ const setMenuCollapsed = onCollapseMenu !== null && onCollapseMenu !== void 0 ? onCollapseMenu : setInternalMenuCollapsed;
58
+ return /*#__PURE__*/_react.default.createElement(_Application.default, props, (navItems || sideNavigation) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AppNavigationBar.default, {
59
+ className: navigationBarClassName
60
+ }, /*#__PURE__*/_react.default.createElement(_Panel.default, {
61
+ dark: dark,
62
+ logo: logo,
63
+ toggle: {
64
+ label: "Menu",
65
+ onClick: () => setMenuCollapsed(!menuIsCollapsed)
66
+ }
67
+ })), /*#__PURE__*/_react.default.createElement(_AppNavigation.default, {
68
+ className: navigationClassName,
69
+ collapsed: menuIsCollapsed,
70
+ pinned: menuIsPinned
71
+ }, /*#__PURE__*/_react.default.createElement(_Panel.default, {
72
+ dark: dark,
73
+ controls: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
74
+ hasIcon: true,
75
+ appearance: "base",
76
+ className: (0, _classnames.default)("u-no-margin u-hide--medium", {
77
+ "is-dark": dark
78
+ }),
79
+ onClick: evt => {
80
+ setMenuCollapsed(true);
81
+ // The menu stays open while its content has focus, so the
82
+ // close button must blur to actually close the menu.
83
+ evt.currentTarget.blur();
84
+ }
85
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
86
+ name: "close",
87
+ className: (0, _classnames.default)({
88
+ "is-light": dark
89
+ })
90
+ }, "Close menu")), /*#__PURE__*/_react.default.createElement(_Button.default, {
91
+ hasIcon: true,
92
+ appearance: "base",
93
+ className: (0, _classnames.default)("u-no-margin u-hide--small", {
94
+ "is-dark": dark
95
+ }),
96
+ onClick: () => {
97
+ setMenuPinned(!menuIsPinned);
98
+ }
99
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
100
+ name: menuIsPinned ? "close" : "pin",
101
+ className: (0, _classnames.default)({
102
+ "is-light": dark
103
+ })
104
+ }, menuIsPinned ? "Unpin menu" : "Pin menu"))),
105
+ controlsClassName: "u-hide--large",
106
+ stickyHeader: true,
107
+ logo: logo
108
+ }, navItems ? /*#__PURE__*/_react.default.createElement(_SideNavigation.default, {
109
+ dark: dark,
110
+ items: navItems,
111
+ linkComponent: navLinkComponent
112
+ }) : sideNavigation))), /*#__PURE__*/_react.default.createElement(_AppMain.default, {
113
+ className: mainClassName
114
+ }, children), aside, status && /*#__PURE__*/_react.default.createElement(_AppStatus.default, {
115
+ className: statusClassName
116
+ }, status));
117
+ };
118
+ var _default = exports.default = ApplicationLayout;
@@ -0,0 +1,24 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import ApplicationLayout from "./ApplicationLayout";
3
+ declare const meta: Meta<typeof ApplicationLayout>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ApplicationLayout>;
6
+ export declare const Default: Story;
7
+ /**
8
+ * The pinned and collapsed states can be handled externally if you need access
9
+ * to these outside the application layout.
10
+ */
11
+ export declare const ExternalStates: Story;
12
+ /**
13
+ * Menu items can either be provided as an array given to `navItems` or when
14
+ * more control is needed then by proving `sideNavigation`.
15
+ *
16
+ * For more details about how to provide navigation items see the
17
+ * [`SideNavigation`](/docs/components-sidenavigation--docs) docs.
18
+ */
19
+ export declare const Navigation: Story;
20
+ /**
21
+ * App navigation can also be completely opted out of, for some
22
+ * particular scenarios (e.g. login page, error pages).
23
+ */
24
+ export declare const NoNavigation: Story;
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.NoNavigation = exports.Navigation = exports.ExternalStates = exports.Default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _Form = _interopRequireDefault(require("../Form"));
9
+ var _Input = _interopRequireDefault(require("../Input"));
10
+ var _Button = _interopRequireDefault(require("../Button"));
11
+ var _Row = _interopRequireDefault(require("../Row"));
12
+ var _Col = _interopRequireDefault(require("../Col"));
13
+ var _ApplicationLayout = _interopRequireDefault(require("./ApplicationLayout"));
14
+ var _AppAside = _interopRequireDefault(require("./AppAside"));
15
+ var _Panel = _interopRequireDefault(require("../Panel"));
16
+ var _Icon = _interopRequireDefault(require("../Icon"));
17
+ var _SideNavigation = _interopRequireDefault(require("../SideNavigation"));
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ 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); }
20
+ 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; }
21
+ /* eslint-disable react-hooks/rules-of-hooks */
22
+
23
+ const meta = {
24
+ component: _ApplicationLayout.default,
25
+ tags: ["autodocs"]
26
+ };
27
+ var _default = exports.default = meta;
28
+ const Default = exports.Default = {
29
+ render: () => {
30
+ const [showAside, setShowAside] = (0, _react.useState)(true);
31
+ const [asidePinned, setAsidePinned] = (0, _react.useState)(false);
32
+ return /*#__PURE__*/_react.default.createElement(_ApplicationLayout.default, {
33
+ logo: {
34
+ icon: "https://assets.ubuntu.com/v1/7144ec6d-logo-jaas-icon.svg",
35
+ name: "https://assets.ubuntu.com/v1/2e04d794-logo-jaas.svg",
36
+ nameAlt: "JAAS",
37
+ href: "/"
38
+ },
39
+ navItems: [{
40
+ items: [{
41
+ icon: "drag",
42
+ label: "Models",
43
+ href: "/models"
44
+ }, {
45
+ icon: "menu",
46
+ label: "Controllers",
47
+ href: "/controllers"
48
+ }, {
49
+ icon: "user",
50
+ label: "Permissions",
51
+ href: "/users"
52
+ }]
53
+ }],
54
+ aside: showAside ? /*#__PURE__*/_react.default.createElement(_AppAside.default, {
55
+ pinned: asidePinned
56
+ }, /*#__PURE__*/_react.default.createElement(_Panel.default, {
57
+ title: "Aside panel",
58
+ controls: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
59
+ onClick: () => setAsidePinned(!asidePinned),
60
+ dense: true,
61
+ className: "u-no-margin"
62
+ }, "Pin aside"), /*#__PURE__*/_react.default.createElement(_Button.default, {
63
+ appearance: "base",
64
+ className: "u-no-margin--bottom",
65
+ hasIcon: true,
66
+ onClick: () => {
67
+ setShowAside(false);
68
+ setAsidePinned(false);
69
+ }
70
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
71
+ name: "close"
72
+ }, "Close")))
73
+ }, /*#__PURE__*/_react.default.createElement(_Form.default, {
74
+ stacked: true
75
+ }, /*#__PURE__*/_react.default.createElement(_Input.default, {
76
+ label: "Full name",
77
+ type: "text",
78
+ name: "fullName",
79
+ autoComplete: "name",
80
+ stacked: true
81
+ }), /*#__PURE__*/_react.default.createElement(_Input.default, {
82
+ label: "Username",
83
+ type: "text",
84
+ name: "username-stacked",
85
+ autoComplete: "username",
86
+ "aria-describedby": "exampleHelpTextMessage",
87
+ stacked: true,
88
+ help: "30 characters or fewer."
89
+ }), /*#__PURE__*/_react.default.createElement(_Input.default, {
90
+ type: "text",
91
+ label: "Email address",
92
+ "aria-invalid": "true",
93
+ name: "username-stackederror",
94
+ autoComplete: "email",
95
+ required: true,
96
+ error: "This field is required.",
97
+ stacked: true
98
+ }), /*#__PURE__*/_react.default.createElement(_Input.default, {
99
+ label: "Address line 1",
100
+ type: "text",
101
+ name: "address-optional-stacked",
102
+ autoComplete: "address-line1",
103
+ stacked: true
104
+ }), /*#__PURE__*/_react.default.createElement(_Input.default, {
105
+ label: "Address line 2",
106
+ type: "text",
107
+ name: "address-optional-stacked",
108
+ autoComplete: "address-line3",
109
+ stacked: true
110
+ }), /*#__PURE__*/_react.default.createElement(_Row.default, null, /*#__PURE__*/_react.default.createElement(_Col.default, {
111
+ size: 12
112
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
113
+ appearance: "positive",
114
+ className: "u-float-right",
115
+ name: "add-details"
116
+ }, "Add details")))))) : null,
117
+ status: /*#__PURE__*/_react.default.createElement(_Button.default, {
118
+ onClick: () => setShowAside(!showAside),
119
+ dense: true,
120
+ appearance: "base",
121
+ className: "u-no-margin"
122
+ }, "Toggle aside")
123
+ }, /*#__PURE__*/_react.default.createElement(_Panel.default, {
124
+ title: "Application Layout"
125
+ }, /*#__PURE__*/_react.default.createElement(_Row.default, null, /*#__PURE__*/_react.default.createElement(_Col.default, {
126
+ size: 12
127
+ }, "Content"))));
128
+ }
129
+ };
130
+
131
+ /**
132
+ * The pinned and collapsed states can be handled externally if you need access
133
+ * to these outside the application layout.
134
+ */
135
+ const ExternalStates = exports.ExternalStates = {
136
+ render: () => {
137
+ const [menuPinned, setMenuPinned] = (0, _react.useState)(false);
138
+ const [menuCollapsed, setMenuCollapsed] = (0, _react.useState)(true);
139
+ return /*#__PURE__*/_react.default.createElement(_ApplicationLayout.default, {
140
+ menuPinned: menuPinned,
141
+ onPinMenu: setMenuPinned,
142
+ menuCollapsed: menuCollapsed,
143
+ onCollapseMenu: setMenuCollapsed,
144
+ logo: {
145
+ icon: "https://assets.ubuntu.com/v1/7144ec6d-logo-jaas-icon.svg",
146
+ name: "https://assets.ubuntu.com/v1/2e04d794-logo-jaas.svg",
147
+ nameAlt: "JAAS",
148
+ href: "/"
149
+ },
150
+ navItems: [{
151
+ items: [{
152
+ icon: "drag",
153
+ label: "Models",
154
+ href: "/models"
155
+ }, {
156
+ icon: "menu",
157
+ label: "Controllers",
158
+ href: "/controllers"
159
+ }, {
160
+ icon: "user",
161
+ label: "Permissions",
162
+ href: "/users"
163
+ }]
164
+ }]
165
+ }, /*#__PURE__*/_react.default.createElement(_Panel.default, {
166
+ title: "Application Layout"
167
+ }, /*#__PURE__*/_react.default.createElement(_Row.default, null, /*#__PURE__*/_react.default.createElement(_Col.default, {
168
+ size: 12
169
+ }, "Content"))));
170
+ }
171
+ };
172
+
173
+ /**
174
+ * Menu items can either be provided as an array given to `navItems` or when
175
+ * more control is needed then by proving `sideNavigation`.
176
+ *
177
+ * For more details about how to provide navigation items see the
178
+ * [`SideNavigation`](/docs/components-sidenavigation--docs) docs.
179
+ */
180
+ const Navigation = exports.Navigation = {
181
+ render: () => {
182
+ const [menuPinned, setMenuPinned] = (0, _react.useState)(false);
183
+ const [menuCollapsed, setMenuCollapsed] = (0, _react.useState)(true);
184
+ return /*#__PURE__*/_react.default.createElement(_ApplicationLayout.default, {
185
+ menuPinned: menuPinned,
186
+ onPinMenu: setMenuPinned,
187
+ menuCollapsed: menuCollapsed,
188
+ onCollapseMenu: setMenuCollapsed,
189
+ logo: {
190
+ icon: "https://assets.ubuntu.com/v1/7144ec6d-logo-jaas-icon.svg",
191
+ name: "https://assets.ubuntu.com/v1/2e04d794-logo-jaas.svg",
192
+ nameAlt: "JAAS",
193
+ href: "/"
194
+ },
195
+ sideNavigation: /*#__PURE__*/_react.default.createElement(_SideNavigation.default, {
196
+ items: [{
197
+ items: [{
198
+ icon: "drag",
199
+ label: "Models",
200
+ href: "/models"
201
+ }, {
202
+ icon: "menu",
203
+ label: "Controllers",
204
+ href: "/controllers"
205
+ }, {
206
+ icon: "user",
207
+ label: "Permissions",
208
+ href: "/users"
209
+ }]
210
+ }]
211
+ })
212
+ }, /*#__PURE__*/_react.default.createElement(_Panel.default, {
213
+ title: "Application Layout"
214
+ }, /*#__PURE__*/_react.default.createElement(_Row.default, null, /*#__PURE__*/_react.default.createElement(_Col.default, {
215
+ size: 12
216
+ }, "Content"))));
217
+ }
218
+ };
219
+
220
+ /**
221
+ * App navigation can also be completely opted out of, for some
222
+ * particular scenarios (e.g. login page, error pages).
223
+ */
224
+ const NoNavigation = exports.NoNavigation = {
225
+ render: () => {
226
+ return /*#__PURE__*/_react.default.createElement(_ApplicationLayout.default, null, /*#__PURE__*/_react.default.createElement(_Panel.default, {
227
+ title: "Application Layout with no navigation"
228
+ }, /*#__PURE__*/_react.default.createElement(_Row.default, null, /*#__PURE__*/_react.default.createElement(_Col.default, {
229
+ size: 12
230
+ }, "Content"))));
231
+ }
232
+ };
@@ -0,0 +1,7 @@
1
+ export { default, type Props as ApplicationLayoutProps, } from "./ApplicationLayout";
2
+ export { default as AppAside, type AppAsideProps } from "./AppAside";
3
+ export { default as Application, type ApplicationProps } from "./Application";
4
+ export { default as AppMain, type AppMainProps } from "./AppMain";
5
+ export { default as AppNavigation, type AppNavigationProps, } from "./AppNavigation";
6
+ export { default as AppNavigationBar, type AppNavigationBarProps, } from "./AppNavigationBar";
7
+ export { default as AppStatus, type AppStatusProps } from "./AppStatus";
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AppAside", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AppAside.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "AppMain", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _AppMain.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "AppNavigation", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _AppNavigation.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "AppNavigationBar", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _AppNavigationBar.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "AppStatus", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _AppStatus.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "Application", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _Application.default;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "default", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _ApplicationLayout.default;
46
+ }
47
+ });
48
+ var _ApplicationLayout = _interopRequireDefault(require("./ApplicationLayout"));
49
+ var _AppAside = _interopRequireDefault(require("./AppAside"));
50
+ var _Application = _interopRequireDefault(require("./Application"));
51
+ var _AppMain = _interopRequireDefault(require("./AppMain"));
52
+ var _AppNavigation = _interopRequireDefault(require("./AppNavigation"));
53
+ var _AppNavigationBar = _interopRequireDefault(require("./AppNavigationBar"));
54
+ var _AppStatus = _interopRequireDefault(require("./AppStatus"));
55
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -22,5 +22,10 @@ export type Props = PropsWithSpread<{
22
22
  */
23
23
  previousLabel?: string;
24
24
  }, HTMLProps<HTMLElement>>;
25
+ /**
26
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Article pagination](https://docs.vanillaframework.io/patterns/article-pagination/).
27
+ *
28
+ * The article pagination component should be used to navigate from one article to the next, or previous, in chronological order.
29
+ */
25
30
  declare const ArticlePagination: ({ className, nextURL, nextLabel, previousURL, previousLabel, ...props }: Props) => JSX.Element;
26
31
  export default ArticlePagination;
@@ -8,6 +8,11 @@ var _classnames = _interopRequireDefault(require("classnames"));
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+ /**
12
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Article pagination](https://docs.vanillaframework.io/patterns/article-pagination/).
13
+ *
14
+ * The article pagination component should be used to navigate from one article to the next, or previous, in chronological order.
15
+ */
11
16
  const ArticlePagination = _ref => {
12
17
  let {
13
18
  className,
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import ArticlePagination from "./ArticlePagination";
3
+ declare const meta: Meta<typeof ArticlePagination>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ArticlePagination>;
6
+ export declare const Default: Story;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Default = void 0;
7
+ var _ArticlePagination = _interopRequireDefault(require("./ArticlePagination"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const meta = {
10
+ component: _ArticlePagination.default,
11
+ tags: ["autodocs"]
12
+ };
13
+ var _default = exports.default = meta;
14
+ const Default = exports.Default = {
15
+ name: "Default",
16
+ args: {
17
+ nextLabel: "Consectetur adipisicing elit",
18
+ nextURL: "#next",
19
+ previousLabel: "Lorem ipsum dolor sit amet",
20
+ previousURL: "#previous"
21
+ }
22
+ };
@@ -25,5 +25,10 @@ export type Props = PropsWithSpread<{
25
25
  */
26
26
  className?: ClassName;
27
27
  }, HTMLProps<HTMLSpanElement>>;
28
+ /**
29
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Badge](https://vanillaframework.io/docs/patterns/badge).
30
+ *
31
+ * It can be used to display a numeric values.
32
+ */
28
33
  declare const Badge: ({ value, badgeType, className, isNegative, ...spanProps }: Props) => JSX.Element;
29
34
  export default Badge;
@@ -37,6 +37,12 @@ const clamp = value => {
37
37
  }
38
38
  return value;
39
39
  };
40
+
41
+ /**
42
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Badge](https://vanillaframework.io/docs/patterns/badge).
43
+ *
44
+ * It can be used to display a numeric values.
45
+ */
40
46
  const Badge = _ref => {
41
47
  let {
42
48
  value,
@@ -0,0 +1,15 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import Badge from "./Badge";
3
+ declare const meta: Meta<typeof Badge>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Badge>;
6
+ export declare const Default: Story;
7
+ export declare const ColourCoding: Story;
8
+ /**
9
+ * When the amount of items is only relevant for small values, this variant should be used. When the value grows further than 999, the badge should show "999+".
10
+ */
11
+ export declare const UndefinedLargeNumber: Story;
12
+ /**
13
+ * When the value of the badge represents a type of information where differences between large amounts of items are relevant, it should include a decimal unit prefix and round the value.
14
+ */
15
+ export declare const RoundedLargeNumber: Story;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.UndefinedLargeNumber = exports.RoundedLargeNumber = exports.Default = exports.ColourCoding = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Badge = _interopRequireWildcard(require("./Badge"));
9
+ 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); }
10
+ 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; }
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const meta = {
13
+ component: _Badge.default,
14
+ tags: ["autodocs"],
15
+ argTypes: {
16
+ badgeType: {
17
+ control: {
18
+ options: _Badge.BadgeType,
19
+ type: "select"
20
+ }
21
+ }
22
+ },
23
+ args: {
24
+ badgeType: _Badge.BadgeType.UNDEFINED_LARGE_NUMBER
25
+ }
26
+ };
27
+ var _default = exports.default = meta;
28
+ const Default = exports.Default = {
29
+ name: "Default",
30
+ args: {
31
+ value: 9
32
+ }
33
+ };
34
+ const ColourCoding = exports.ColourCoding = {
35
+ render: () => /*#__PURE__*/_react.default.createElement(_Badge.default, {
36
+ value: 9,
37
+ isNegative: true
38
+ }),
39
+ name: "Colour Coding"
40
+ };
41
+
42
+ /**
43
+ * When the amount of items is only relevant for small values, this variant should be used. When the value grows further than 999, the badge should show "999+".
44
+ */
45
+ const UndefinedLargeNumber = exports.UndefinedLargeNumber = {
46
+ render: () => /*#__PURE__*/_react.default.createElement(_Badge.default, {
47
+ value: 1000,
48
+ badgeType: _Badge.BadgeType.UNDEFINED_LARGE_NUMBER
49
+ }),
50
+ name: "Undefined Large Number"
51
+ };
52
+
53
+ /**
54
+ * When the value of the badge represents a type of information where differences between large amounts of items are relevant, it should include a decimal unit prefix and round the value.
55
+ */
56
+ const RoundedLargeNumber = exports.RoundedLargeNumber = {
57
+ render: () => /*#__PURE__*/_react.default.createElement(_Badge.default, {
58
+ value: 1234,
59
+ badgeType: _Badge.BadgeType.ROUNDED_LARGE_NUMBER
60
+ }),
61
+ name: "Rounded Large Number"
62
+ };
@@ -55,7 +55,9 @@ export type Props<P = null> = {
55
55
  small?: boolean;
56
56
  } & (Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onClick"> | P);
57
57
  /**
58
- * A component for the Vanilla button.
58
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Button](https://docs.vanillaframework.io/patterns/buttons/).
59
+ *
60
+ * Buttons are clickable elements used to perform an action, they can be used for buttons and link elements.
59
61
  * @template P - The type of the props if providing a component to `element`
60
62
  */
61
63
  declare const Button: <P>({ appearance, children, className, dense, disabled, element: Component, hasIcon, inline, onClick, small, ...buttonProps }: Props<P>) => JSX.Element;
@@ -23,7 +23,9 @@ const ButtonAppearance = exports.ButtonAppearance = {
23
23
  */
24
24
 
25
25
  /**
26
- * A component for the Vanilla button.
26
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Button](https://docs.vanillaframework.io/patterns/buttons/).
27
+ *
28
+ * Buttons are clickable elements used to perform an action, they can be used for buttons and link elements.
27
29
  * @template P - The type of the props if providing a component to `element`
28
30
  */
29
31
  const Button = _ref => {
@@ -0,0 +1,32 @@
1
+ import { HTMLProps } from "react";
2
+ import { Meta, StoryObj } from "@storybook/react";
3
+ import Button from "./Button";
4
+ declare const meta: Meta<typeof Button>;
5
+ export default meta;
6
+ type Story<P = null> = StoryObj<typeof Button<P>>;
7
+ export declare const Default: Story;
8
+ export declare const DefaultDisabled: Story;
9
+ export declare const Base: Story;
10
+ export declare const BaseDisabled: Story;
11
+ export declare const Link: {
12
+ name: string;
13
+ args: {
14
+ children: string;
15
+ appearance: string;
16
+ element: string;
17
+ href: string;
18
+ };
19
+ };
20
+ export declare const LinkDisabled: Story<HTMLProps<HTMLAnchorElement>>;
21
+ export declare const Positive: Story;
22
+ export declare const PositiveDisabled: Story;
23
+ export declare const Negative: Story;
24
+ export declare const NegativeDisabled: Story;
25
+ export declare const Brand: Story;
26
+ export declare const BrandDisabled: Story;
27
+ export declare const Inline: Story;
28
+ export declare const Dense: Story;
29
+ export declare const Small: Story;
30
+ export declare const Icon: Story;
31
+ export declare const IconText: Story;
32
+ export declare const IconWithTooltip: Story;