@stenajs-webui/panels 15.7.0 → 17.0.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/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ # v17.0.0 (Fri Jun 17 2022)
2
+
3
+ #### 💥 Breaking Change
4
+
5
+ - Upgrade and apply prettier. [#467](https://github.com/StenaIT/stenajs-webui/pull/467) ([@mattias800](https://github.com/mattias800))
6
+
7
+ #### 🔩 Dependency Updates
8
+
9
+ - Update Typescript, React, Jest, etc. [#466](https://github.com/StenaIT/stenajs-webui/pull/466) ([@mattias800](https://github.com/mattias800))
10
+
11
+ #### Authors: 1
12
+
13
+ - Mattias Andersson ([@mattias800](https://github.com/mattias800))
14
+
15
+ ---
16
+
17
+ # v16.1.0 (Fri Jun 17 2022)
18
+
19
+ #### 🚀 Enhancement
20
+
21
+ - Accessible font-sizes using `rem` instead of `px` [#458](https://github.com/StenaIT/stenajs-webui/pull/458) ([@mattias800](https://github.com/mattias800))
22
+
23
+ #### Authors: 1
24
+
25
+ - Mattias Andersson ([@mattias800](https://github.com/mattias800))
26
+
27
+ ---
28
+
1
29
  # v15.6.0 (Thu Jun 02 2022)
2
30
 
3
31
  #### 🚀 Enhancement
@@ -11,5 +11,6 @@ export interface NavBarProps {
11
11
  center?: ReactNode;
12
12
  left?: ReactNode;
13
13
  variant?: NavBarVariant;
14
+ children?: ReactNode;
14
15
  }
15
16
  export declare const NavBar: React.FC<NavBarProps>;
@@ -4,5 +4,6 @@ export interface PageHeaderProps {
4
4
  renderBreadCrumbs?: () => ReactNode;
5
5
  renderPageHeading?: () => ReactNode;
6
6
  renderTabs?: () => ReactNode;
7
+ children?: ReactNode;
7
8
  }
8
9
  export declare const PageHeader: React.FC<PageHeaderProps>;
@@ -1,8 +1,10 @@
1
1
  import * as React from "react";
2
+ import { ReactNode } from "react";
2
3
  import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
3
4
  export interface SidebarMenuCollapsibleProps {
4
5
  label: string;
5
6
  collapsed?: boolean;
6
7
  leftIcon?: IconDefinition;
8
+ children?: ReactNode;
7
9
  }
8
10
  export declare const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps>;
@@ -1,8 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { SidebarMenuVariant } from "../SidebarMenu";
3
+ import { ReactNode } from "react";
3
4
  interface RailMenuProps {
4
5
  variant?: SidebarMenuVariant;
5
6
  onClickMenuButton?: () => void;
7
+ children?: ReactNode;
6
8
  }
7
9
  export declare const SidebarRailMenu: React.FC<RailMenuProps>;
8
10
  export {};
package/dist/index.es.js CHANGED
@@ -251,7 +251,7 @@ var NavBarNotificationButton = function (_a) {
251
251
  return (React.createElement(FlatButton, __assign({}, buttonProps, { leftIcon: icon, className: cx((_b = {}, _b[styles$7.unread] = unread, _b), (_c = {}, _c[styles$7.hasCount] = hasCount, _c), styles$7.navBarNotificationButton, className), label: hasCount ? String(count) : undefined, labelClassName: cx(labelClassName, styles$7.label), iconClassName: cx(iconClassName, styles$7.icon) })));
252
252
  };
253
253
 
254
- var css_248z$7 = ".NavBarSearchField-module_navBarSearchFieldInput__2kThv {\n --swui-textinput-line-height: 27px;\n --swui-textinput-text-color: var(--lhds-color-ui-50);\n}\n\n .NavBarSearchField-module_navBarSearchFieldInput__2kThv:focus {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n }\n\n.NavBarSearchField-module_navBarSearchField__kIe66 {\n --swui-textinput-animation-time: var(--swui-animation-time-fast);\n\n --swui-textinput-placeholder-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-blue-600);\n --swui-textinput-border-color: transparent;\n --swui-textinput-border-color-hover: transparent;\n}\n\n.NavBarSearchField-module_navBarSearchField__kIe66:focus-within {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n --swui-field-text-color: var(--swui-field-text-color);\n --swui-textinput-icon-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-ui-50);\n }\n";
254
+ var css_248z$7 = ".NavBarSearchField-module_navBarSearchFieldInput__2kThv {\n --swui-textinput-line-height: 2.7rem;\n --swui-textinput-text-color: var(--lhds-color-ui-50);\n}\n\n .NavBarSearchField-module_navBarSearchFieldInput__2kThv:focus {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n }\n\n.NavBarSearchField-module_navBarSearchField__kIe66 {\n --swui-textinput-animation-time: var(--swui-animation-time-fast);\n\n --swui-textinput-placeholder-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-blue-600);\n --swui-textinput-border-color: transparent;\n --swui-textinput-border-color-hover: transparent;\n}\n\n.NavBarSearchField-module_navBarSearchField__kIe66:focus-within {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n --swui-field-text-color: var(--swui-field-text-color);\n --swui-textinput-icon-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-ui-50);\n }\n";
255
255
  var styles$6 = {"navBarSearchFieldInput":"NavBarSearchField-module_navBarSearchFieldInput__2kThv","navBarSearchField":"NavBarSearchField-module_navBarSearchField__kIe66"};
256
256
  styleInject(css_248z$7);
257
257
 
@@ -282,7 +282,7 @@ var Notification = function (_a) {
282
282
  var onClick = _a.onClick, icon = _a.icon, iconColor = _a.iconColor, title = _a.title, text = _a.text, content = _a.content, date = _a.date, dismissed = _a.dismissed, _b = _a.theme, theme = _b === void 0 ? defaultNotificationTheme : _b;
283
283
  var agoLabel = useMemo(function () {
284
284
  if (date) {
285
- return formatDistance(date, new Date()) + " ago";
285
+ return "".concat(formatDistance(date, new Date()), " ago");
286
286
  }
287
287
  return undefined;
288
288
  }, [date]);
@@ -306,7 +306,7 @@ var Notification = function (_a) {
306
306
  React.createElement(Text, { size: "small", color: cssColor("--swui-text-disabled-color") }, agoLabel))))));
307
307
  };
308
308
 
309
- var css_248z$5 = ".Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-animation-time: var(--swui-animation-time-fast);\n\n --swui-collapsible-expanded-line-background-color: var(\n --swui-primary-action-color\n );\n\n /*\n * Header\n */\n --swui-collapsible-header-text-color: var(--lhds-color-ui-900);\n --swui-collapsible-header-background-color: var(--swui-white);\n --swui-collapsible-header-background-color-hover: var(--lhds-color-blue-100);\n --swui-collapsible-header-background-color-active: var(--lhds-color-blue-100);\n --swui-collapsible-header-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-header-border-color-focus: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-focus-shadow: var(--swui-field-focus-shadow);\n --swui-collapsible-header-content-margin: calc(\n var(--swui-metrics-indent) * 2\n );\n --swui-collapsible-header-font-weight: var(--swui-font-weight-text-bold);\n --swui-collapsible-header-indicator-color: var(--swui-primary-action-color);\n --swui-collapsible-header-indicator-color-collapsed: var(--lhds-color-ui-500);\n --swui-collapsible-header-indicator-color-hover: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0;\n\n /*\n * Content\n */\n --swui-collapsible-content-background-color: var(--lhds-color-ui-100);\n --swui-collapsible-content-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2);\n\n --swui-collapsible-groupheading-font-size: var(--swui-font-size-smaller);\n --swui-collapsible-groupheading-text-color: var(--lhds-color-ui-600);\n\n --swui-collapsible-min-height: 40px;\n}\n\n /* Header */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y {\n background-color: var(--swui-collapsible-header-background-color);\n width: 100%;\n text-align: left;\n\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--swui-collapsible-header-border-color);\n padding: var(--swui-collapsible-header-padding);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y .Collapsible-module_indicator__3YBhK {\n transition: all var(--swui-collapsible-animation-time) ease-in-out;\n margin-left: var(--swui-collapsible-header-content-margin);\n color: var(--swui-collapsible-header-indicator-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:active {\n background: var(--swui-collapsible-header-background-color-active);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K {\n\n position: relative;\n}\n\n .Collapsible-module_collapsible__2Nn8K::before {\n content: \"\";\n position: absolute;\n width: 2px;\n background: var(--swui-collapsible-expanded-line-background-color);\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_headerText__2qjzx {\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] {\n --swui-collapsible-expanded-line-background-color: transparent;\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-collapsed);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R {\n margin-right: auto;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R span {\n --current-line-height: 1;\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu,\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n display: flex;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu button, .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 button {\n cursor: pointer;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu {\n margin-right: var(--swui-collapsible-header-content-margin);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n margin-left: auto;\n }\n\n /* Content */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 {\n display: flex;\n align-items: center;\n justify-content: stretch;\n background: var(--swui-collapsible-content-background-color);\n padding: var(--swui-collapsible-content-padding);\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:last-child {\n border-bottom: 1px solid var(--swui-collapsible-content-border-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8.Collapsible-module_groupHeading__3BK-5 {\n border: none;\n font-size: var(--swui-collapsible-groupheading-font-size);\n font-family: var(--swui-font-primary);\n color: var(--swui-collapsible-groupheading-text-color);\n text-transform: uppercase;\n font-weight: var(--swui-font-weight-text-bold);\n letter-spacing: 1px;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 [data-hidden=\"true\"] {\n display: none;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hidden=\"true\"] {\n display: inherit;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hover=\"true\"] {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnter__GWHoW {\n opacity: 0;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnterActive__1YdNi {\n opacity: 1;\n transition: opacity var(--swui-collapsible-animation-time) ease-in-out;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentExitDone__35Iht {\n display: none;\n }\n\n /** Clickable content */\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8 {\n font-family: var(--swui-font-primary);\n font-size: inherit;\n width: 100%;\n text-align: left;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:not(:disabled):hover {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-within [data-hidden=\"true\"] {\n display: inherit;\n }\n\n /* Remove header background color if not at the highest level */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-background-color: var(\n --swui-collapsible-content-background-color\n );\n --swui-collapsible-header-font-weight: normal;\n }\n\n /* Increase padding with depth */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 4);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 4);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 6);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 6);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 8);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 8);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 10);\n }\n";
309
+ var css_248z$5 = ".Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-animation-time: var(--swui-animation-time-fast);\n\n --swui-collapsible-expanded-line-background-color: var(\n --swui-primary-action-color\n );\n\n /*\n * Header\n */\n --swui-collapsible-header-text-color: var(--lhds-color-ui-900);\n --swui-collapsible-header-background-color: var(--swui-white);\n --swui-collapsible-header-background-color-hover: var(--lhds-color-blue-100);\n --swui-collapsible-header-background-color-active: var(--lhds-color-blue-100);\n --swui-collapsible-header-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-header-border-color-focus: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-focus-shadow: var(--swui-field-focus-shadow);\n --swui-collapsible-header-content-margin: calc(\n var(--swui-metrics-indent) * 2\n );\n --swui-collapsible-header-font-weight: var(--swui-font-weight-text-bold);\n --swui-collapsible-header-indicator-color: var(--swui-primary-action-color);\n --swui-collapsible-header-indicator-color-collapsed: var(--lhds-color-ui-500);\n --swui-collapsible-header-indicator-color-hover: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0;\n\n /*\n * Content\n */\n --swui-collapsible-content-background-color: var(--lhds-color-ui-100);\n --swui-collapsible-content-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2);\n\n --swui-collapsible-groupheading-font-size: var(--swui-font-size-smaller);\n --swui-collapsible-groupheading-text-color: var(--lhds-color-ui-600);\n\n --swui-collapsible-min-height: 40px;\n}\n\n /* Header */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y {\n background-color: var(--swui-collapsible-header-background-color);\n width: 100%;\n text-align: left;\n\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--swui-collapsible-header-border-color);\n padding: var(--swui-collapsible-header-padding);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y .Collapsible-module_indicator__3YBhK {\n transition: all var(--swui-collapsible-animation-time) ease-in-out;\n margin-left: var(--swui-collapsible-header-content-margin);\n color: var(--swui-collapsible-header-indicator-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:active {\n background: var(--swui-collapsible-header-background-color-active);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K {\n\n position: relative;\n}\n\n .Collapsible-module_collapsible__2Nn8K::before {\n content: \"\";\n position: absolute;\n width: 2px;\n background: var(--swui-collapsible-expanded-line-background-color);\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_headerText__2qjzx {\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] {\n --swui-collapsible-expanded-line-background-color: transparent;\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-collapsed);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R {\n margin-right: auto;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R span {\n --current-line-height: 1;\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu,\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n display: flex;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu button, .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 button {\n cursor: pointer;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu {\n margin-right: var(--swui-collapsible-header-content-margin);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n margin-left: auto;\n }\n\n /* Content */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 {\n display: flex;\n align-items: center;\n justify-content: stretch;\n background: var(--swui-collapsible-content-background-color);\n padding: var(--swui-collapsible-content-padding);\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:last-child {\n border-bottom: 1px solid var(--swui-collapsible-content-border-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8.Collapsible-module_groupHeading__3BK-5 {\n border: none;\n font-size: var(--swui-collapsible-groupheading-font-size);\n font-family: var(--swui-font-primary);\n color: var(--swui-collapsible-groupheading-text-color);\n text-transform: uppercase;\n font-weight: var(--swui-font-weight-text-bold);\n letter-spacing: 0.1rem;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 [data-hidden=\"true\"] {\n display: none;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hidden=\"true\"] {\n display: inherit;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hover=\"true\"] {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnter__GWHoW {\n opacity: 0;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnterActive__1YdNi {\n opacity: 1;\n transition: opacity var(--swui-collapsible-animation-time) ease-in-out;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentExitDone__35Iht {\n display: none;\n }\n\n /** Clickable content */\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8 {\n font-family: var(--swui-font-primary);\n font-size: inherit;\n width: 100%;\n text-align: left;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:not(:disabled):hover {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-within [data-hidden=\"true\"] {\n display: inherit;\n }\n\n /* Remove header background color if not at the highest level */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-background-color: var(\n --swui-collapsible-content-background-color\n );\n --swui-collapsible-header-font-weight: normal;\n }\n\n /* Increase padding with depth */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 4);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 4);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 6);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 6);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 8);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 8);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 10);\n }\n";
310
310
  var styles$4 = {"collapsible":"Collapsible-module_collapsible__2Nn8K","header":"Collapsible-module_header__IZx0y","indicator":"Collapsible-module_indicator__3YBhK","headerText":"Collapsible-module_headerText__2qjzx","label":"Collapsible-module_label__Hpp-R","contentLeft":"Collapsible-module_contentLeft__2gPpu","contentRight":"Collapsible-module_contentRight__bTr59","content":"Collapsible-module_content__1e1C8","groupHeading":"Collapsible-module_groupHeading__3BK-5","contentEnter":"Collapsible-module_contentEnter__GWHoW","contentEnterActive":"Collapsible-module_contentEnterActive__1YdNi","contentExitDone":"Collapsible-module_contentExitDone__35Iht"};
311
311
  styleInject(css_248z$5);
312
312
 
@@ -486,7 +486,7 @@ var SidebarRailMenu = function (_a) {
486
486
  children));
487
487
  };
488
488
 
489
- var css_248z$2 = ".SidebarMenuContent-module_label__3NyDU {\n font-size: var(--current-text-size, var(--swui-font-size-medium));\n line-height: var(--current-line-height, var(--swui-line-height-medium));\n font-weight: var(--swui-button-font-weight);\n font-family: var(--swui-font-buttons);\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_icon__1kQOa {\n color: var(--current-text-color);\n font-size: 16px;\n}\n\n.SidebarMenuContent-module_spinner__K0lsy {\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a {\n width: var(--swui-sidebar-menu-item-height);\n margin-right: 0;\n}\n\n.SidebarMenuContent-module_button__3x5IE {\n border: 0;\n padding: 0;\n background: var(--current-background-color);\n}\n\n[data-collapsed] [aria-expanded=\"true\"] .SidebarMenuContent-module_button__3x5IE,\n .SidebarMenuContent-module_button__3x5IE:hover {\n background: var(--current-background-color-hover);\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus {\n outline: none;\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus-visible {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE:active {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE.SidebarMenuContent-module_selected__aeI_K {\n background: var(--current-item-selected);\n }\n";
489
+ var css_248z$2 = ".SidebarMenuContent-module_label__3NyDU {\n font-size: var(--current-text-size, var(--swui-font-size-medium));\n line-height: var(--current-line-height, var(--swui-line-height-medium));\n font-weight: var(--swui-button-font-weight);\n font-family: var(--swui-font-buttons);\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_icon__1kQOa {\n color: var(--current-text-color);\n font-size: 1.6rem;\n}\n\n.SidebarMenuContent-module_spinner__K0lsy {\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a {\n width: var(--swui-sidebar-menu-item-height);\n margin-right: 0;\n}\n\n.SidebarMenuContent-module_button__3x5IE {\n border: 0;\n padding: 0;\n background: var(--current-background-color);\n}\n\n[data-collapsed] [aria-expanded=\"true\"] .SidebarMenuContent-module_button__3x5IE,\n .SidebarMenuContent-module_button__3x5IE:hover {\n background: var(--current-background-color-hover);\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus {\n outline: none;\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus-visible {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE:active {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE.SidebarMenuContent-module_selected__aeI_K {\n background: var(--current-item-selected);\n }\n";
490
490
  var contentStyles = {"label":"SidebarMenuContent-module_label__3NyDU","icon":"SidebarMenuContent-module_icon__1kQOa","spinner":"SidebarMenuContent-module_spinner__K0lsy","leftWrapper":"SidebarMenuContent-module_leftWrapper__2sA9a","button":"SidebarMenuContent-module_button__3x5IE","selected":"SidebarMenuContent-module_selected__aeI_K"};
491
491
  styleInject(css_248z$2);
492
492
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/action-menu-button/ActionMenuButton.tsx","../src/components/action-menu-button/ActionMenuPrimaryButton.tsx","../src/components/action-menu-button/ActionMenuSecondaryButton.tsx","../src/components/action-menu-button/ActionMenuFlatButton.tsx","../src/components/checkbox-menu/CheckboxMenu.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/nav-bar/NavBarSideMenuButton.tsx","../src/components/nav-bar/NavbarHeightStyleUtil.ts","../src/components/nav-bar/NavBar.tsx","../src/components/nav-bar/NavBarButton.tsx","../src/components/nav-bar/NavBarHeading.tsx","../src/components/nav-bar/NavBarPopoverButton.tsx","../src/components/nav-bar/NavBarNotificationButton.tsx","../src/components/nav-bar/NavBarSearchField.tsx","../src/components/nav-bar/NavBarUserButton.tsx","../src/components/notifications/NotificationTheme.ts","../src/components/notifications/Notification.tsx","../src/components/collapsible/CollapsibleEmptyContent.tsx","../src/components/collapsible/CollapsibleContent.tsx","../src/components/collapsible/Collapsible.tsx","../src/components/collapsible/CollapsibleWithCheckbox.tsx","../src/components/collapsible/CollapsibleClickableContent.tsx","../src/components/collapsible/CollapsibleGroupHeading.tsx","../src/components/error-panel/ErrorPanel.tsx","../src/components/error-panel/ErrorScreen.tsx","../src/components/loading-panel/LoadingPanel.tsx","../src/components/loading-panel/LoadingScreen.tsx","../src/components/page-header/PageHeader.tsx","../src/components/page-header/PageHeaderRow.tsx","../src/components/page-header/PageHeading.tsx","../src/components/sidebar-menu/SidebarMenuCloseButton.tsx","../src/components/sidebar-menu/SidebarMenuSeparator.tsx","../src/components/sidebar-menu/SidebarMenu.tsx","../src/components/sidebar-menu/rail/SidebarRailMenu.tsx","../src/components/sidebar-menu/SidebarMenuLink.tsx","../src/components/sidebar-menu/SidebarMenuHeading.tsx","../src/components/sidebar-menu/SidebarMenuCollapsible.tsx","../src/components/sidebar-menu/rail/renderer/RailRenderer.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport {\n ActionMenu,\n ActionMenuContext,\n ActionMenuProps,\n FlatButton,\n PrimaryButton,\n PrimaryButtonProps,\n SecondaryButton,\n} from \"@stenajs-webui/elements\";\nimport { useBoolean } from \"@stenajs-webui/core\";\nimport { Popover, PopoverProps } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { Plugin as TippyPlugin, Props as TippyProps } from \"tippy.js\";\n\nexport interface ActionMenuButtonProps\n extends Omit<\n PrimaryButtonProps,\n \"variant\" | \"loading\" | \"loadingLabel\" | \"success\" | \"successLabel\"\n > {\n /** The content of the Action Menu. */\n renderItems: (close: () => void) => ReactNode;\n /** The placement of the Action Menu. */\n placement?: PopoverProps[\"placement\"];\n /** Z-index of the Action Menu */\n zIndex?: number;\n /** Portal target, HTML element. If not set, portal is not used. */\n portalTarget?: PopoverProps[\"appendTo\"];\n menuWidth?: ActionMenuProps[\"width\"];\n menuTop?: ActionMenuProps[\"top\"];\n buttonComponent:\n | typeof PrimaryButton\n | typeof SecondaryButton\n | typeof FlatButton;\n disableArrow?: boolean;\n}\n\nexport const ActionMenuButton: React.FC<ActionMenuButtonProps> = ({\n renderItems,\n placement = \"bottom\",\n buttonComponent: Button,\n rightIcon = faAngleDown,\n portalTarget = \"parent\",\n zIndex,\n menuWidth,\n menuTop,\n onClick,\n disableArrow = false,\n ...buttonProps\n}) => {\n const [isOpen, open, close, toggle] = useBoolean(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const focusManager: TippyPlugin<TippyProps> = {\n name: \"focusManager\",\n defaultValue: true,\n fn({ popper }) {\n let restoreFocus = false;\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n restoreFocus = true;\n close();\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n restoreFocus = true;\n }\n };\n\n return {\n onCreate() {\n popper.addEventListener(\"keydown\", closeOnEscape);\n },\n onDestroy() {\n popper.removeEventListener(\"keydown\", closeOnEscape);\n },\n onMount() {\n restoreFocus = false;\n popper\n .querySelector<HTMLElement>(\"button:not([disabled]), a[href]\")\n ?.focus();\n },\n onHide() {\n if (buttonRef.current && restoreFocus) {\n buttonRef.current.focus();\n }\n },\n };\n },\n };\n\n const contextValue = useMemo(() => ({ open, close }), [open, close]);\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n onClick?.(event);\n toggle();\n };\n\n return (\n <Popover\n disablePadding\n visible={isOpen}\n onClickOutside={close}\n placement={placement}\n content={\n isOpen && (\n <ActionMenu\n variant={\"outlined\"}\n width={menuWidth}\n top={menuTop}\n trapFocus\n >\n <ActionMenuContext.Provider value={contextValue}>\n {renderItems(close)}\n </ActionMenuContext.Provider>\n </ActionMenu>\n )\n }\n arrow={false}\n appendTo={portalTarget}\n zIndex={zIndex}\n plugins={[focusManager]}\n lazy\n >\n <Button\n rightIcon={disableArrow ? undefined : rightIcon}\n {...buttonProps}\n ref={buttonRef}\n onClick={handleClick}\n />\n </Popover>\n );\n};\n","import * as React from \"react\";\nimport { PrimaryButton, PrimaryButtonProps } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuPrimaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\">,\n Pick<PrimaryButtonProps, \"variant\"> {}\n\nexport const ActionMenuPrimaryButton: React.FC<ActionMenuPrimaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={PrimaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { SecondaryButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuSecondaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuSecondaryButton: React.FC<ActionMenuSecondaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={SecondaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuFlatButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuFlatButton: React.FC<ActionMenuFlatButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={FlatButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Box, Column, Indent, Row, useBoolean } from \"@stenajs-webui/core\";\nimport { ActionMenu, FlatButton } from \"@stenajs-webui/elements\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\n\nexport interface CheckboxMenuProps extends CheckboxProps {\n renderMenu: (close: () => void) => ReactNode;\n}\n\nconst border = `1px solid var(--lhds-color-ui-300)`;\n\nexport const CheckboxMenu: React.FC<CheckboxMenuProps> = ({\n renderMenu,\n ...checkboxProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n return (\n <Popover\n onClickOutside={close}\n arrow={false}\n visible={isOpen}\n disablePadding\n content={\n renderMenu ? (\n <Column>\n <ActionMenu>{renderMenu(close)}</ActionMenu>\n </Column>\n ) : undefined\n }\n placement={\"bottom-start\"}\n variant={\"outlined\"}\n >\n <Box display={\"inline-block\"}>\n <Row\n spacing={0.5}\n indent\n alignItems={\"center\"}\n border={border}\n borderRadius={\"4px\"}\n >\n <Checkbox {...checkboxProps} />\n <Indent num={0.5} />\n <FlatButton size={\"small\"} onClick={open} leftIcon={faAngleDown} />\n </Row>\n </Box>\n </Popover>\n );\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSideMenuButton.module.css\";\nimport { DivProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as Hamburger } from \"./svg/bars.svg\";\n\nexport interface SidebarMenuButtonProps extends Pick<DivProps, \"className\"> {\n onClick?: (ev: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const NavBarSideMenuButton: React.FC<SidebarMenuButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuButton, className)}\n >\n <Hamburger className={styles.icon} />\n </button>\n );\n};\n","import { NavBarVariant } from \"./NavBar\";\n\nconst variantToHeight: Record<NavBarVariant, number> = {\n compact: 40,\n standard: 48,\n relaxed: 64,\n};\n\nexport const getNavbarHeight = (variant: NavBarVariant) =>\n variantToHeight[variant] + \"px\";\n","import { Box, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBar.module.css\";\nimport {\n NavBarSideMenuButton,\n SidebarMenuButtonProps,\n} from \"./NavBarSideMenuButton\";\nimport { getNavbarHeight } from \"./NavbarHeightStyleUtil\";\n\nexport type NavBarVariant = \"compact\" | \"standard\" | \"relaxed\";\n\nexport interface NavBarProps {\n className?: string;\n showMenuButton?: boolean;\n menuButtonVisibility?: \"visible\" | \"hidden\";\n onClickMenuButton?: SidebarMenuButtonProps[\"onClick\"];\n right?: ReactNode;\n center?: ReactNode;\n left?: ReactNode;\n variant?: NavBarVariant;\n}\n\nexport const NavBar: React.FC<NavBarProps> = ({\n left,\n className,\n showMenuButton = false,\n menuButtonVisibility = \"visible\",\n children,\n right,\n center,\n variant = \"standard\",\n onClickMenuButton,\n}) => {\n const currentFlex = center ? 1 : undefined;\n const height = getNavbarHeight(variant);\n return (\n <Row\n height={height}\n minHeight={height}\n justifyContent={\"space-between\"}\n style={{ [\"--swui-nav-bar-height\" as string]: height }}\n className={cx(styles.navBar, className)}\n >\n <Row\n flex={currentFlex}\n justifyContent={\"flex-start\"}\n alignItems={\"center\"}\n >\n {showMenuButton ? (\n <>\n {menuButtonVisibility === \"hidden\" ? (\n <Box width={\"var(--swui-nav-bar-height)\"} />\n ) : (\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n )}\n <Indent />\n </>\n ) : (\n <Indent num={2} />\n )}\n {left ? (\n <>\n {left}\n <Indent num={2} />\n </>\n ) : (\n <Indent num={2} />\n )}\n {children && (\n <>\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {React.Children.map(children, (child, index) => (\n <>\n {index > 0 && <Indent />}\n {child}\n </>\n ))}\n </Row>\n </>\n )}\n </Row>\n {center && (\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {center}\n </Row>\n )}\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"} flex={currentFlex}>\n {right}\n <Indent num={2} />\n </Row>\n </Row>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarButton.module.css\";\n\nexport interface NavBarButtonProps extends FlatButtonProps {\n selected?: boolean;\n}\n\nexport const NavBarButton: React.FC<NavBarButtonProps> = ({\n selected,\n className,\n ...buttonProps\n}) => {\n return (\n <FlatButton\n {...buttonProps}\n className={cx(\n styles.navBarButton,\n selected && styles.selected,\n className\n )}\n />\n );\n};\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"@stenajs-webui/core\";\n\ninterface NavBarHeadingProps extends HeadingProps {}\n\nexport const NavBarHeading: React.FC<NavBarHeadingProps> = (headingProps) => {\n return <Heading whiteSpace={\"nowrap\"} color={\"#fff\"} {...headingProps} />;\n};\n","import { useBoolean } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { NavBarButton, NavBarButtonProps } from \"./NavBarButton\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\n\ntype RenderProp = (args: RenderPropArgs) => ReactNode;\n\ninterface RenderPropArgs {\n close: () => void;\n}\n\nexport interface NavBarPopoverButtonProps\n extends Omit<NavBarButtonProps, \"onClick\"> {\n content?: RenderProp;\n}\n\nexport const NavBarPopoverButton: React.FC<NavBarPopoverButtonProps> = ({\n content,\n children,\n ...navBarButtonProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n\n return (\n <Popover\n onClickOutside={close}\n triggerTarget={document.body}\n visible={isOpen}\n content={\n <>\n {content && content({ close })}\n {children}\n </>\n }\n >\n <NavBarButton {...navBarButtonProps} onClick={open} />\n </Popover>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarNotificationButton.module.css\";\nimport { faBell } from \"@fortawesome/free-solid-svg-icons/faBell\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\n\nexport interface NavBarNotificationButtonProps\n extends Omit<FlatButtonProps, \"leftIcon\" | \"rightIcon\" | \"label\"> {\n count: number;\n unread: boolean;\n icon?: IconDefinition;\n}\n\nexport const NavBarNotificationButton: React.FC<NavBarNotificationButtonProps> = ({\n count,\n unread = false,\n className,\n labelClassName,\n iconClassName,\n icon = faBell,\n ...buttonProps\n}) => {\n const hasCount = count > 0;\n\n return (\n <FlatButton\n {...buttonProps}\n leftIcon={icon}\n className={cx(\n { [styles.unread]: unread },\n { [styles.hasCount]: hasCount },\n styles.navBarNotificationButton,\n className\n )}\n label={hasCount ? String(count) : undefined}\n labelClassName={cx(labelClassName, styles.label)}\n iconClassName={cx(iconClassName, styles.icon)}\n />\n );\n};\n","import * as React from \"react\";\nimport { TextInput, TextInputProps } from \"@stenajs-webui/forms\";\nimport { Clickable } from \"@stenajs-webui/core\";\nimport { Icon, stenaSearch } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSearchField.module.css\";\n\ninterface NavBarSearchFieldProps extends TextInputProps {}\n\nexport const NavBarSearchField: React.FC<NavBarSearchFieldProps> = ({\n placeholder = \"Search...\",\n className,\n wrapperClassName,\n ...textInputProps\n}) => {\n return (\n <TextInput\n wrapperClassName={cx(styles.navBarSearchField, wrapperClassName)}\n className={cx(styles.navBarSearchFieldInput, className)}\n placeholder={placeholder}\n contentRight={\n <Clickable>\n <Icon icon={stenaSearch} />\n </Clickable>\n }\n {...textInputProps}\n />\n );\n};\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarUserButton.module.css\";\nimport { faUser } from \"@fortawesome/free-solid-svg-icons/faUser\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n ActionMenuFlatButton,\n ActionMenuFlatButtonProps,\n} from \"../action-menu-button/ActionMenuFlatButton\";\n\nexport interface NavBarUserButtonProps\n extends Omit<ActionMenuFlatButtonProps, \"label\" | \"leftIcon\" | \"rightIcon\"> {\n username?: string;\n initials?: string;\n icon?: IconDefinition;\n}\n\nexport const NavBarUserButton: React.FC<NavBarUserButtonProps> = ({\n className,\n username,\n initials,\n icon = faUser,\n iconClassName,\n ...buttonProps\n}) => {\n return (\n <ActionMenuFlatButton\n {...buttonProps}\n className={cx(\n { [styles.initials]: initials != null },\n styles.navBarUserButton,\n className\n )}\n leftIcon={username != null ? faUser : undefined}\n label={initials ?? username}\n disableArrow\n />\n );\n};\n","export interface NotificationTheme {\n notificationBg: string;\n notificationHoverBg: string;\n notificationDismissedBg: string;\n notificationDismissedHoverBg: string;\n}\n\nexport const defaultNotificationTheme: NotificationTheme = {\n notificationBg: \"#eaeaea\",\n notificationHoverBg: \"#eeeeee\",\n notificationDismissedBg: \"#ffffff\",\n notificationDismissedHoverBg: \"#f4f4f4\",\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Box, Clickable, Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport { formatDistance } from \"date-fns\";\nimport * as React from \"react\";\nimport { ReactNode, useMemo } from \"react\";\nimport {\n defaultNotificationTheme,\n NotificationTheme,\n} from \"./NotificationTheme\";\n\nexport interface NotificationProps {\n title?: string;\n text?: string;\n content?: ReactNode;\n dismissed?: boolean;\n date?: Date;\n icon?: IconDefinition;\n iconColor?: string;\n onClick?: () => void;\n theme?: NotificationTheme;\n}\n\nexport const Notification: React.FC<NotificationProps> = ({\n onClick,\n icon,\n iconColor,\n title,\n text,\n content,\n date,\n dismissed,\n theme = defaultNotificationTheme,\n}) => {\n const agoLabel = useMemo(() => {\n if (date) {\n return `${formatDistance(date, new Date())} ago`;\n }\n return undefined;\n }, [date]);\n\n return (\n <Clickable onClick={onClick} style={{ textAlign: \"left\" }}>\n <Box\n background={\n dismissed ? theme.notificationDismissedBg : theme.notificationBg\n }\n hoverBackground={\n dismissed\n ? theme.notificationDismissedHoverBg\n : theme.notificationHoverBg\n }\n spacing\n indent\n >\n <Row width={\"250px\"}>\n {icon && (\n <Row width={\"34px\"} alignItems={\"center\"}>\n <Icon icon={icon} color={iconColor} />\n </Row>\n )}\n <Column flex={1}>\n {title && (\n <>\n <Text>{title}</Text>\n <Space half />\n </>\n )}\n {text && (\n <>\n <Text size={\"small\"}>{text}</Text>\n <Space half />\n </>\n )}\n {content && (\n <>\n {content}\n <Space half />\n </>\n )}\n <Text size={\"small\"} color={cssColor(\"--swui-text-disabled-color\")}>\n {agoLabel}\n </Text>\n </Column>\n </Row>\n </Box>\n </Clickable>\n );\n};\n","import { faInbox } from \"@fortawesome/free-solid-svg-icons/faInbox\";\nimport { Column, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\ninterface Props {}\n\nexport const CollapsibleEmptyContent: React.FC<Props> = () => {\n return (\n <Column indent spacing flex={1} alignItems={\"center\"}>\n <Icon icon={faInbox} color={cssColor(\"--lhds-color-ui-500\")} />\n <Space />\n <Text size={\"small\"} color={cssColor(\"--lhds-color-ui-500\")}>\n No content\n </Text>\n </Column>\n );\n};\n","import cx from \"classnames\";\nimport * as React from \"react\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleSimpleContentProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n}\n\nexport const CollapsibleContent: React.FC<\n CollapsibleSimpleContentProps & HTMLAttributes<HTMLDivElement>\n> = ({ contentLeft, contentRight, className, children, ...props }) => {\n return (\n <div className={cx(styles.content, className)} {...props}>\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </div>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { Clickable, ClickableProps, DivProps, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleContent } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleProps\n extends Omit<DivProps, \"onClick\">,\n Pick<ClickableProps, \"onClick\"> {\n label: string;\n contentLeft?: React.ReactNode;\n contentRight?: React.ReactNode;\n collapsed?: boolean;\n disabled?: boolean;\n unmountOnCollapse?: boolean;\n mountOnEnter?: boolean;\n icon?: IconDefinition;\n iconCollapsed?: IconDefinition;\n iconSize?: number;\n autoFocus?: boolean;\n}\n\nexport const mapCSSTime = (value: string): number => {\n const num = parseFloat(value);\n const match = value.match(/m?s/);\n\n switch (match?.[0]) {\n case \"s\":\n return num * 1000;\n case \"ms\":\n return num;\n default:\n return 0;\n }\n};\n\nexport const Collapsible = forwardRef<HTMLButtonElement, CollapsibleProps>(\n function Collapsible(\n {\n label,\n contentLeft,\n contentRight,\n collapsed = false,\n onClick,\n className,\n disabled = false,\n unmountOnCollapse = false,\n mountOnEnter = true,\n icon = faChevronUp,\n iconCollapsed = faChevronDown,\n iconSize = 8,\n children,\n autoFocus = false,\n ...divProps\n },\n ref\n ) {\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const timeout = divRef.current\n ? mapCSSTime(\n getComputedStyle(divRef.current).getPropertyValue(\n \"--swui-collapsible-animation-time\"\n )\n )\n : undefined;\n\n return (\n <div\n className={cx(styles.collapsible, className)}\n aria-expanded={!collapsed}\n ref={divRef}\n {...divProps}\n >\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={styles.header}\n onClick={onClick}\n disabled={disabled}\n autoFocus={autoFocus}\n ref={ref}\n >\n {contentLeft && (\n <div className={styles.contentLeft}>{contentLeft}</div>\n )}\n <div className={styles.label}>\n <Text\n color={\"var(--swui-collapsible-header-text-color)\"}\n className={styles.headerText}\n >\n {label}\n </Text>\n </div>\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n <Icon\n icon={collapsed ? iconCollapsed : icon}\n className={styles.indicator}\n size={iconSize}\n fixedWidth\n />\n </Clickable>\n <CSSTransition\n in={!collapsed}\n timeout={{\n enter: timeout,\n }}\n classNames={{\n enter: styles.contentEnter,\n enterActive: styles.contentEnterActive,\n exit: styles.contentExit,\n exitActive: styles.contentExitActive,\n exitDone: styles.contentExitDone,\n }}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnCollapse}\n >\n <div role={\"region\"}>\n {children ?? (\n <CollapsibleContent>\n <CollapsibleEmptyContent />\n </CollapsibleContent>\n )}\n </div>\n </CSSTransition>\n </div>\n );\n }\n);\n","import { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\nimport * as React from \"react\";\nimport { Collapsible, CollapsibleProps } from \"./Collapsible\";\n\nexport interface CollapsibleWithCheckboxProps\n extends Omit<CollapsibleProps, \"contentLeft\" | \"onChange\">,\n Pick<\n CheckboxProps,\n \"value\" | \"onValueChange\" | \"onChange\" | \"indeterminate\"\n > {}\n\nexport const CollapsibleWithCheckbox: React.FC<CollapsibleWithCheckboxProps> = ({\n value,\n onValueChange,\n onChange,\n indeterminate,\n ...collapsibleProps\n}) => {\n return (\n <Collapsible\n contentLeft={\n <Checkbox\n value={value}\n indeterminate={indeterminate}\n onValueChange={onValueChange}\n onChange={onChange}\n onClick={(ev) => ev.stopPropagation()}\n />\n }\n {...collapsibleProps}\n />\n );\n};\n","import { ButtonElementProps, Clickable } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleSimpleContentProps } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleClickableContentProps\n extends CollapsibleSimpleContentProps,\n ButtonElementProps {}\n\nexport const CollapsibleClickableContent: React.FC<CollapsibleClickableContentProps> = ({\n contentLeft,\n contentRight,\n className,\n onClick,\n children,\n ...props\n}) => {\n return (\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={cx(styles.content, className)}\n onClick={onClick}\n {...props}\n >\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </Clickable>\n );\n};\n","import { DivProps } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"./CollapsibleContent\";\n\nexport interface CollapsibleGroupHeadingProps\n extends CollapsibleSimpleContentProps,\n DivProps {}\n\nexport const CollapsibleGroupHeading: React.FC<CollapsibleGroupHeadingProps> = ({\n className,\n ...props\n}) => (\n <CollapsibleContent\n className={cx(styles.groupHeading, className)}\n {...props}\n />\n);\n","import { Box } from \"@stenajs-webui/core\";\nimport { Banner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ErrorPanelProps {\n text?: string;\n}\n\nexport const ErrorPanel: React.FC<ErrorPanelProps> = ({\n text = \"Something unexpected happened.\",\n}) => {\n return (\n <Box justifyContent={\"center\"} alignItems={\"center\"}>\n <Banner variant={\"error\"} headerText={text} />\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ErrorPanel, ErrorPanelProps } from \"./ErrorPanel\";\n\nexport const ErrorScreen: React.FC<ErrorPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <ErrorPanel {...props} />\n </Box>\n );\n};\n","import { Box, Heading, Space } from \"@stenajs-webui/core\";\nimport { Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface LoadingPanelProps {\n text?: string;\n}\n\nexport const LoadingPanel: React.FC<LoadingPanelProps> = ({\n text = \"Loading...\",\n}) => {\n return (\n <Box alignItems={\"center\"}>\n <Spinner size={\"small\"} />\n <Space num={4} />\n <Heading variant={\"h4\"}>{text}</Heading>\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { LoadingPanel, LoadingPanelProps } from \"./LoadingPanel\";\n\nexport const LoadingScreen: React.FC<LoadingPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <LoadingPanel {...props} />\n </Box>\n );\n};\n","import { Box, Row, SeparatorLine, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface PageHeaderProps {\n renderBreadCrumbs?: () => ReactNode;\n renderPageHeading?: () => ReactNode;\n renderTabs?: () => ReactNode;\n}\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n renderBreadCrumbs,\n renderPageHeading,\n renderTabs,\n children,\n}) => {\n return (\n <Box shadow={\"box\"}>\n <Box indent={3}>\n {renderBreadCrumbs && <Row spacing={1.25}>{renderBreadCrumbs()}</Row>}\n {renderPageHeading?.()}\n {renderTabs?.()}\n </Box>\n {children && (\n <>\n {!renderTabs && <Space />}\n <SeparatorLine />\n {children}\n </>\n )}\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Row } from \"@stenajs-webui/core\";\n\nexport interface PageHeaderRowProps extends BoxProps {}\n\nexport const PageHeaderRow: React.FC<PageHeaderRowProps> = (props) => (\n <Row indent={3} spacing {...props} />\n);\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row } from \"@stenajs-webui/core\";\n\nexport type PageHeadingVariant = \"compact\" | \"standard\" | \"relaxed\";\n\ninterface PageHeadingProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n heading: string;\n variant?: PageHeadingVariant;\n}\n\nconst variantToSpacing: Record<PageHeadingVariant, number> = {\n compact: 1,\n standard: 1.5,\n relaxed: 2,\n};\n\nexport const PageHeading: React.VFC<PageHeadingProps> = ({\n heading,\n variant = \"standard\",\n contentLeft,\n contentRight,\n}) => (\n <Row spacing={variantToSpacing[variant]} alignItems={\"center\"} gap={2}>\n <Heading variant={\"h3\"}>{heading}</Heading>\n <Row alignItems={\"center\"}>{contentLeft}</Row>\n <Row style={{ marginLeft: \"auto\" }} alignItems={\"center\"}>\n {contentRight}\n </Row>\n </Row>\n);\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./SidebarMenuCloseButton.module.css\";\nimport { Box, ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as CloseIcon } from \"./svg/close.svg\";\n\nexport interface SidebarMenuCloseButtonProps extends ButtonElementProps {}\n\nexport const SidebarMenuCloseButton: React.FC<SidebarMenuCloseButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuCloseButton, className)}\n >\n <Box className={styles.iconWrapper}>\n <CloseIcon className={styles.icon} />\n </Box>\n </button>\n );\n};\n","import { SeparatorLine, SeparatorLineProps } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\nexport interface SidebarMenuSeparatorProps extends SeparatorLineProps {}\n\nexport const SidebarMenuSeparator: React.FC<SidebarMenuSeparatorProps> = (\n separatorLineProps\n) => (\n <SeparatorLine\n color={cssColor(\"--lhds-color-blue-600\")}\n {...separatorLineProps}\n />\n);\n","import { Box, BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenu.module.css\";\nimport {\n SidebarMenuCloseButton,\n SidebarMenuCloseButtonProps,\n} from \"./SidebarMenuCloseButton\";\nimport { getNavbarHeight } from \"../nav-bar/NavbarHeightStyleUtil\";\nimport { NavBarVariant } from \"../nav-bar/NavBar\";\nimport { SidebarMenuSeparator } from \"./SidebarMenuSeparator\";\n\nexport type SidebarMenuVariant = NavBarVariant;\n\nexport interface SidebarMenuProps extends BoxProps {\n onCloseClick?: SidebarMenuCloseButtonProps[\"onClick\"];\n hideCloseButton?: boolean;\n collapsed?: boolean;\n variant?: SidebarMenuVariant;\n}\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({\n className,\n children,\n onCloseClick,\n collapsed = false,\n hideCloseButton = false,\n variant = \"standard\",\n ...boxProps\n}) => {\n const height = getNavbarHeight(variant);\n\n return (\n <Box\n className={cx(\n styles.sidebarMenu,\n collapsed ? styles.collapsed : null,\n className\n )}\n style={{\n [\"--swui-sidebar-menu-item-height\" as string]: height,\n [\"--swui-nav-bar-height\" as string]: height,\n }}\n data-collapsed={collapsed || undefined}\n {...boxProps}\n >\n {!hideCloseButton && (\n <>\n <SidebarMenuCloseButton onClick={onCloseClick} />\n <SidebarMenuSeparator />\n <Space />\n </>\n )}\n <Box\n className={styles.sidebarMenuContent}\n height={\"100%\"}\n background={\"var(--current-background-color)\"}\n >\n <Column flex={1}>{children}</Column>\n </Box>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { SidebarMenu, SidebarMenuVariant } from \"../SidebarMenu\";\nimport { NavBarSideMenuButton } from \"../../nav-bar/NavBarSideMenuButton\";\n\ninterface RailMenuProps {\n variant?: SidebarMenuVariant;\n onClickMenuButton?: () => void;\n}\n\nexport const SidebarRailMenu: React.FC<RailMenuProps> = ({\n variant,\n onClickMenuButton,\n children,\n}) => {\n return (\n <SidebarMenu\n collapsed\n position={\"fixed\"}\n left={0}\n top={0}\n hideCloseButton\n variant={variant}\n >\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n {children}\n </SidebarMenu>\n );\n};\n","import { ButtonElementProps, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, ReactNode } from \"react\";\nimport { ButtonContent, ButtonContentProps } from \"@stenajs-webui/elements\";\nimport contentStyles from \"./SidebarMenuContent.module.css\";\nimport cx from \"classnames\";\n\nexport type RenderLinkProps = ButtonElementProps & { activeClassName: string };\n\nexport interface SidebarMenuLinkProps\n extends ButtonElementProps,\n Pick<\n ButtonContentProps,\n | \"label\"\n | \"loading\"\n | \"left\"\n | \"leftIcon\"\n | \"right\"\n | \"rightIcon\"\n | \"success\"\n > {\n renderLink?: SidebarLinkRenderer;\n width?: CSSProperties[\"width\"];\n selected?: boolean;\n indent?: boolean;\n}\n\nexport type SidebarLinkRenderer = (props: RenderLinkProps) => ReactNode;\n\nexport const defaultRenderLink: SidebarLinkRenderer = (props) => {\n return <button {...props} />;\n};\n\nexport const SidebarMenuLink: React.FC<SidebarMenuLinkProps> = ({\n className,\n children,\n selected,\n indent,\n label,\n loading,\n left,\n leftIcon,\n right,\n rightIcon,\n success,\n width,\n renderLink = defaultRenderLink,\n style,\n ...buttonProps\n}) => {\n const hasContentLeft = left || leftIcon || loading || success;\n\n const innerClassName = cx(\n contentStyles.button,\n selected ? contentStyles.selected : undefined,\n className\n );\n\n const innerStyle = {\n ...style,\n width,\n height: \"var(--swui-sidebar-menu-item-height)\",\n };\n\n const innerChildren = (\n <Row spacing={1} flex={1} alignItems={\"center\"}>\n {!hasContentLeft && <Indent />}\n {indent && <Indent num={3.5} />}\n <ButtonContent\n label={label}\n loading={loading}\n left={left}\n leftIcon={leftIcon}\n right={right}\n rightIcon={rightIcon}\n success={success}\n labelClassName={contentStyles.label}\n spinnerClassName={contentStyles.spinner}\n iconClassName={cx(contentStyles.icon)}\n leftWrapperClassName={contentStyles.leftWrapper}\n />\n </Row>\n );\n\n return (\n <>\n {renderLink({\n ...buttonProps,\n activeClassName: contentStyles.selected,\n className: innerClassName,\n children: innerChildren,\n style: innerStyle,\n })}\n </>\n );\n};\n","import { Box, Text, TextProps } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenuHeading.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"../collapsible/CollapsibleContent\";\n\nexport interface SidebarMenuHeadingProps\n extends Pick<CollapsibleSimpleContentProps, \"contentLeft\" | \"contentRight\">,\n TextProps {\n label?: string;\n}\n\nexport const SidebarMenuHeading: React.FC<SidebarMenuHeadingProps> = ({\n className,\n label,\n contentLeft,\n contentRight,\n ...textProps\n}) => {\n return (\n <Box spacing={2} indent={2}>\n <CollapsibleContent\n className={styles.sidebarMenuHeading}\n contentLeft={contentLeft}\n contentRight={contentRight}\n >\n <Text\n variant={\"overline\"}\n color={\"var(--swui-sidebar-menu-heading-text-color)\"}\n {...textProps}\n >\n {label}\n </Text>\n </CollapsibleContent>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { Collapsible } from \"../collapsible/Collapsible\";\nimport { Box, Column, Indent } from \"@stenajs-webui/core\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport styles from \"./SidebarMenuCollapsible.module.css\";\nimport { Icon } from \"@stenajs-webui/elements\";\n\nexport interface SidebarMenuCollapsibleProps {\n label: string;\n collapsed?: boolean;\n leftIcon?: IconDefinition;\n}\n\nexport const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps> = ({\n children,\n label,\n leftIcon,\n}) => {\n const [collapsed, setCollapsed] = useState<boolean>(false);\n\n return (\n <Box background={\"var(--current-background-color)\"}>\n <Collapsible\n className={styles.sidebarMenuCollapsible}\n label={label}\n collapsed={collapsed}\n onClick={() => setCollapsed(!collapsed)}\n contentLeft={\n leftIcon ? (\n <Box\n width={\"var(--swui-sidebar-menu-item-height)\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n >\n <Icon\n icon={leftIcon}\n size={16}\n color={\"var(--current-text-color)\"}\n data-hover={true}\n />\n </Box>\n ) : (\n <Indent num={1} />\n )\n }\n >\n <Column flex={1}>{children}</Column>\n </Collapsible>\n </Box>\n );\n};\n","import { SidebarMenuLink } from \"../../SidebarMenuLink\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { SidebarMenuHeading } from \"../../SidebarMenuHeading\";\nimport { SidebarMenuSeparator } from \"../../SidebarMenuSeparator\";\nimport { SidebarMenuCollapsible } from \"../../SidebarMenuCollapsible\";\nimport { Box, exhaustSwitchCaseElseThrow } from \"@stenajs-webui/core\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { SidebarItem } from \"./types\";\n\nexport const renderItemsExpanded = (\n items: SidebarItem[],\n indent = false\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return <SidebarMenuHeading label={item.label} />;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, ...linkProps } = item;\n return <SidebarMenuLink indent={indent} {...linkProps} />;\n }\n case \"grouped\":\n return (\n <SidebarMenuCollapsible leftIcon={item.leftIcon} label={item.label}>\n {renderItemsExpanded(item.items, true)}\n </SidebarMenuCollapsible>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n\ninterface RailRendererOptions {\n popupMinWidth: string | number;\n}\n\nexport const renderItemsInRail = (\n items: SidebarItem[],\n { popupMinWidth }: RailRendererOptions\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return null;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, label, ...linkProps } = item;\n return (\n <SidebarMenuLink\n title={label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n {...linkProps}\n />\n );\n }\n case \"grouped\":\n return (\n <div>\n <Popover\n appendTo={\"parent\"}\n arrow={false}\n offset={[0, 0]}\n placement={\"right-start\"}\n trigger={\"focusin mouseenter click\"}\n disablePadding\n lazy\n content={\n <Box\n minWidth={popupMinWidth}\n background={\"var(--lhds-color-blue-500)\"}\n >\n <SidebarMenuHeading label={item.label} />\n {renderItemsExpanded(item.items)}\n </Box>\n }\n >\n <SidebarMenuLink\n title={item.label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n leftIcon={item.leftIcon}\n />\n </Popover>\n </div>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n"],"names":["faAngleDown","styles","Hamburger","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/action-menu-button/ActionMenuButton.tsx","../src/components/action-menu-button/ActionMenuPrimaryButton.tsx","../src/components/action-menu-button/ActionMenuSecondaryButton.tsx","../src/components/action-menu-button/ActionMenuFlatButton.tsx","../src/components/checkbox-menu/CheckboxMenu.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/nav-bar/NavBarSideMenuButton.tsx","../src/components/nav-bar/NavbarHeightStyleUtil.ts","../src/components/nav-bar/NavBar.tsx","../src/components/nav-bar/NavBarButton.tsx","../src/components/nav-bar/NavBarHeading.tsx","../src/components/nav-bar/NavBarPopoverButton.tsx","../src/components/nav-bar/NavBarNotificationButton.tsx","../src/components/nav-bar/NavBarSearchField.tsx","../src/components/nav-bar/NavBarUserButton.tsx","../src/components/notifications/NotificationTheme.ts","../src/components/notifications/Notification.tsx","../src/components/collapsible/CollapsibleEmptyContent.tsx","../src/components/collapsible/CollapsibleContent.tsx","../src/components/collapsible/Collapsible.tsx","../src/components/collapsible/CollapsibleWithCheckbox.tsx","../src/components/collapsible/CollapsibleClickableContent.tsx","../src/components/collapsible/CollapsibleGroupHeading.tsx","../src/components/error-panel/ErrorPanel.tsx","../src/components/error-panel/ErrorScreen.tsx","../src/components/loading-panel/LoadingPanel.tsx","../src/components/loading-panel/LoadingScreen.tsx","../src/components/page-header/PageHeader.tsx","../src/components/page-header/PageHeaderRow.tsx","../src/components/page-header/PageHeading.tsx","../src/components/sidebar-menu/SidebarMenuCloseButton.tsx","../src/components/sidebar-menu/SidebarMenuSeparator.tsx","../src/components/sidebar-menu/SidebarMenu.tsx","../src/components/sidebar-menu/rail/SidebarRailMenu.tsx","../src/components/sidebar-menu/SidebarMenuLink.tsx","../src/components/sidebar-menu/SidebarMenuHeading.tsx","../src/components/sidebar-menu/SidebarMenuCollapsible.tsx","../src/components/sidebar-menu/rail/renderer/RailRenderer.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport {\n ActionMenu,\n ActionMenuContext,\n ActionMenuProps,\n FlatButton,\n PrimaryButton,\n PrimaryButtonProps,\n SecondaryButton,\n} from \"@stenajs-webui/elements\";\nimport { useBoolean } from \"@stenajs-webui/core\";\nimport { Popover, PopoverProps } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { Plugin as TippyPlugin, Props as TippyProps } from \"tippy.js\";\n\nexport interface ActionMenuButtonProps\n extends Omit<\n PrimaryButtonProps,\n \"variant\" | \"loading\" | \"loadingLabel\" | \"success\" | \"successLabel\"\n > {\n /** The content of the Action Menu. */\n renderItems: (close: () => void) => ReactNode;\n /** The placement of the Action Menu. */\n placement?: PopoverProps[\"placement\"];\n /** Z-index of the Action Menu */\n zIndex?: number;\n /** Portal target, HTML element. If not set, portal is not used. */\n portalTarget?: PopoverProps[\"appendTo\"];\n menuWidth?: ActionMenuProps[\"width\"];\n menuTop?: ActionMenuProps[\"top\"];\n buttonComponent:\n | typeof PrimaryButton\n | typeof SecondaryButton\n | typeof FlatButton;\n disableArrow?: boolean;\n}\n\nexport const ActionMenuButton: React.FC<ActionMenuButtonProps> = ({\n renderItems,\n placement = \"bottom\",\n buttonComponent: Button,\n rightIcon = faAngleDown,\n portalTarget = \"parent\",\n zIndex,\n menuWidth,\n menuTop,\n onClick,\n disableArrow = false,\n ...buttonProps\n}) => {\n const [isOpen, open, close, toggle] = useBoolean(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const focusManager: TippyPlugin<TippyProps> = {\n name: \"focusManager\",\n defaultValue: true,\n fn({ popper }) {\n let restoreFocus = false;\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n restoreFocus = true;\n close();\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n restoreFocus = true;\n }\n };\n\n return {\n onCreate() {\n popper.addEventListener(\"keydown\", closeOnEscape);\n },\n onDestroy() {\n popper.removeEventListener(\"keydown\", closeOnEscape);\n },\n onMount() {\n restoreFocus = false;\n popper\n .querySelector<HTMLElement>(\"button:not([disabled]), a[href]\")\n ?.focus();\n },\n onHide() {\n if (buttonRef.current && restoreFocus) {\n buttonRef.current.focus();\n }\n },\n };\n },\n };\n\n const contextValue = useMemo(() => ({ open, close }), [open, close]);\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n onClick?.(event);\n toggle();\n };\n\n return (\n <Popover\n disablePadding\n visible={isOpen}\n onClickOutside={close}\n placement={placement}\n content={\n isOpen && (\n <ActionMenu\n variant={\"outlined\"}\n width={menuWidth}\n top={menuTop}\n trapFocus\n >\n <ActionMenuContext.Provider value={contextValue}>\n {renderItems(close)}\n </ActionMenuContext.Provider>\n </ActionMenu>\n )\n }\n arrow={false}\n appendTo={portalTarget}\n zIndex={zIndex}\n plugins={[focusManager]}\n lazy\n >\n <Button\n rightIcon={disableArrow ? undefined : rightIcon}\n {...buttonProps}\n ref={buttonRef}\n onClick={handleClick}\n />\n </Popover>\n );\n};\n","import * as React from \"react\";\nimport { PrimaryButton, PrimaryButtonProps } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuPrimaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\">,\n Pick<PrimaryButtonProps, \"variant\"> {}\n\nexport const ActionMenuPrimaryButton: React.FC<ActionMenuPrimaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={PrimaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { SecondaryButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuSecondaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuSecondaryButton: React.FC<\n ActionMenuSecondaryButtonProps\n> = (props) => {\n return <ActionMenuButton buttonComponent={SecondaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuFlatButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuFlatButton: React.FC<ActionMenuFlatButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={FlatButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Box, Column, Indent, Row, useBoolean } from \"@stenajs-webui/core\";\nimport { ActionMenu, FlatButton } from \"@stenajs-webui/elements\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\n\nexport interface CheckboxMenuProps extends CheckboxProps {\n renderMenu: (close: () => void) => ReactNode;\n}\n\nconst border = `1px solid var(--lhds-color-ui-300)`;\n\nexport const CheckboxMenu: React.FC<CheckboxMenuProps> = ({\n renderMenu,\n ...checkboxProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n return (\n <Popover\n onClickOutside={close}\n arrow={false}\n visible={isOpen}\n disablePadding\n content={\n renderMenu ? (\n <Column>\n <ActionMenu>{renderMenu(close)}</ActionMenu>\n </Column>\n ) : undefined\n }\n placement={\"bottom-start\"}\n variant={\"outlined\"}\n >\n <Box display={\"inline-block\"}>\n <Row\n spacing={0.5}\n indent\n alignItems={\"center\"}\n border={border}\n borderRadius={\"4px\"}\n >\n <Checkbox {...checkboxProps} />\n <Indent num={0.5} />\n <FlatButton size={\"small\"} onClick={open} leftIcon={faAngleDown} />\n </Row>\n </Box>\n </Popover>\n );\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSideMenuButton.module.css\";\nimport { DivProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as Hamburger } from \"./svg/bars.svg\";\n\nexport interface SidebarMenuButtonProps extends Pick<DivProps, \"className\"> {\n onClick?: (ev: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const NavBarSideMenuButton: React.FC<SidebarMenuButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuButton, className)}\n >\n <Hamburger className={styles.icon} />\n </button>\n );\n};\n","import { NavBarVariant } from \"./NavBar\";\n\nconst variantToHeight: Record<NavBarVariant, number> = {\n compact: 40,\n standard: 48,\n relaxed: 64,\n};\n\nexport const getNavbarHeight = (variant: NavBarVariant) =>\n variantToHeight[variant] + \"px\";\n","import { Box, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBar.module.css\";\nimport {\n NavBarSideMenuButton,\n SidebarMenuButtonProps,\n} from \"./NavBarSideMenuButton\";\nimport { getNavbarHeight } from \"./NavbarHeightStyleUtil\";\n\nexport type NavBarVariant = \"compact\" | \"standard\" | \"relaxed\";\n\nexport interface NavBarProps {\n className?: string;\n showMenuButton?: boolean;\n menuButtonVisibility?: \"visible\" | \"hidden\";\n onClickMenuButton?: SidebarMenuButtonProps[\"onClick\"];\n right?: ReactNode;\n center?: ReactNode;\n left?: ReactNode;\n variant?: NavBarVariant;\n children?: ReactNode;\n}\n\nexport const NavBar: React.FC<NavBarProps> = ({\n left,\n className,\n showMenuButton = false,\n menuButtonVisibility = \"visible\",\n children,\n right,\n center,\n variant = \"standard\",\n onClickMenuButton,\n}) => {\n const currentFlex = center ? 1 : undefined;\n const height = getNavbarHeight(variant);\n return (\n <Row\n height={height}\n minHeight={height}\n justifyContent={\"space-between\"}\n style={{ [\"--swui-nav-bar-height\" as string]: height }}\n className={cx(styles.navBar, className)}\n >\n <Row\n flex={currentFlex}\n justifyContent={\"flex-start\"}\n alignItems={\"center\"}\n >\n {showMenuButton ? (\n <>\n {menuButtonVisibility === \"hidden\" ? (\n <Box width={\"var(--swui-nav-bar-height)\"} />\n ) : (\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n )}\n <Indent />\n </>\n ) : (\n <Indent num={2} />\n )}\n {left ? (\n <>\n {left}\n <Indent num={2} />\n </>\n ) : (\n <Indent num={2} />\n )}\n {children && (\n <>\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {React.Children.map(children, (child, index) => (\n <>\n {index > 0 && <Indent />}\n {child}\n </>\n ))}\n </Row>\n </>\n )}\n </Row>\n {center && (\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {center}\n </Row>\n )}\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"} flex={currentFlex}>\n {right}\n <Indent num={2} />\n </Row>\n </Row>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarButton.module.css\";\n\nexport interface NavBarButtonProps extends FlatButtonProps {\n selected?: boolean;\n}\n\nexport const NavBarButton: React.FC<NavBarButtonProps> = ({\n selected,\n className,\n ...buttonProps\n}) => {\n return (\n <FlatButton\n {...buttonProps}\n className={cx(\n styles.navBarButton,\n selected && styles.selected,\n className\n )}\n />\n );\n};\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"@stenajs-webui/core\";\n\ninterface NavBarHeadingProps extends HeadingProps {}\n\nexport const NavBarHeading: React.FC<NavBarHeadingProps> = (headingProps) => {\n return <Heading whiteSpace={\"nowrap\"} color={\"#fff\"} {...headingProps} />;\n};\n","import { useBoolean } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { NavBarButton, NavBarButtonProps } from \"./NavBarButton\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\n\ntype RenderProp = (args: RenderPropArgs) => ReactNode;\n\ninterface RenderPropArgs {\n close: () => void;\n}\n\nexport interface NavBarPopoverButtonProps\n extends Omit<NavBarButtonProps, \"onClick\"> {\n content?: RenderProp;\n}\n\nexport const NavBarPopoverButton: React.FC<NavBarPopoverButtonProps> = ({\n content,\n children,\n ...navBarButtonProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n\n return (\n <Popover\n onClickOutside={close}\n triggerTarget={document.body}\n visible={isOpen}\n content={\n <>\n {content && content({ close })}\n {children}\n </>\n }\n >\n <NavBarButton {...navBarButtonProps} onClick={open} />\n </Popover>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarNotificationButton.module.css\";\nimport { faBell } from \"@fortawesome/free-solid-svg-icons/faBell\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\n\nexport interface NavBarNotificationButtonProps\n extends Omit<FlatButtonProps, \"leftIcon\" | \"rightIcon\" | \"label\"> {\n count: number;\n unread: boolean;\n icon?: IconDefinition;\n}\n\nexport const NavBarNotificationButton: React.FC<\n NavBarNotificationButtonProps\n> = ({\n count,\n unread = false,\n className,\n labelClassName,\n iconClassName,\n icon = faBell,\n ...buttonProps\n}) => {\n const hasCount = count > 0;\n\n return (\n <FlatButton\n {...buttonProps}\n leftIcon={icon}\n className={cx(\n { [styles.unread]: unread },\n { [styles.hasCount]: hasCount },\n styles.navBarNotificationButton,\n className\n )}\n label={hasCount ? String(count) : undefined}\n labelClassName={cx(labelClassName, styles.label)}\n iconClassName={cx(iconClassName, styles.icon)}\n />\n );\n};\n","import * as React from \"react\";\nimport { TextInput, TextInputProps } from \"@stenajs-webui/forms\";\nimport { Clickable } from \"@stenajs-webui/core\";\nimport { Icon, stenaSearch } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSearchField.module.css\";\n\ninterface NavBarSearchFieldProps extends TextInputProps {}\n\nexport const NavBarSearchField: React.FC<NavBarSearchFieldProps> = ({\n placeholder = \"Search...\",\n className,\n wrapperClassName,\n ...textInputProps\n}) => {\n return (\n <TextInput\n wrapperClassName={cx(styles.navBarSearchField, wrapperClassName)}\n className={cx(styles.navBarSearchFieldInput, className)}\n placeholder={placeholder}\n contentRight={\n <Clickable>\n <Icon icon={stenaSearch} />\n </Clickable>\n }\n {...textInputProps}\n />\n );\n};\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarUserButton.module.css\";\nimport { faUser } from \"@fortawesome/free-solid-svg-icons/faUser\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n ActionMenuFlatButton,\n ActionMenuFlatButtonProps,\n} from \"../action-menu-button/ActionMenuFlatButton\";\n\nexport interface NavBarUserButtonProps\n extends Omit<ActionMenuFlatButtonProps, \"label\" | \"leftIcon\" | \"rightIcon\"> {\n username?: string;\n initials?: string;\n icon?: IconDefinition;\n}\n\nexport const NavBarUserButton: React.FC<NavBarUserButtonProps> = ({\n className,\n username,\n initials,\n icon = faUser,\n iconClassName,\n ...buttonProps\n}) => {\n return (\n <ActionMenuFlatButton\n {...buttonProps}\n className={cx(\n { [styles.initials]: initials != null },\n styles.navBarUserButton,\n className\n )}\n leftIcon={username != null ? faUser : undefined}\n label={initials ?? username}\n disableArrow\n />\n );\n};\n","export interface NotificationTheme {\n notificationBg: string;\n notificationHoverBg: string;\n notificationDismissedBg: string;\n notificationDismissedHoverBg: string;\n}\n\nexport const defaultNotificationTheme: NotificationTheme = {\n notificationBg: \"#eaeaea\",\n notificationHoverBg: \"#eeeeee\",\n notificationDismissedBg: \"#ffffff\",\n notificationDismissedHoverBg: \"#f4f4f4\",\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Box, Clickable, Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport { formatDistance } from \"date-fns\";\nimport * as React from \"react\";\nimport { ReactNode, useMemo } from \"react\";\nimport {\n defaultNotificationTheme,\n NotificationTheme,\n} from \"./NotificationTheme\";\n\nexport interface NotificationProps {\n title?: string;\n text?: string;\n content?: ReactNode;\n dismissed?: boolean;\n date?: Date;\n icon?: IconDefinition;\n iconColor?: string;\n onClick?: () => void;\n theme?: NotificationTheme;\n}\n\nexport const Notification: React.FC<NotificationProps> = ({\n onClick,\n icon,\n iconColor,\n title,\n text,\n content,\n date,\n dismissed,\n theme = defaultNotificationTheme,\n}) => {\n const agoLabel = useMemo(() => {\n if (date) {\n return `${formatDistance(date, new Date())} ago`;\n }\n return undefined;\n }, [date]);\n\n return (\n <Clickable onClick={onClick} style={{ textAlign: \"left\" }}>\n <Box\n background={\n dismissed ? theme.notificationDismissedBg : theme.notificationBg\n }\n hoverBackground={\n dismissed\n ? theme.notificationDismissedHoverBg\n : theme.notificationHoverBg\n }\n spacing\n indent\n >\n <Row width={\"250px\"}>\n {icon && (\n <Row width={\"34px\"} alignItems={\"center\"}>\n <Icon icon={icon} color={iconColor} />\n </Row>\n )}\n <Column flex={1}>\n {title && (\n <>\n <Text>{title}</Text>\n <Space half />\n </>\n )}\n {text && (\n <>\n <Text size={\"small\"}>{text}</Text>\n <Space half />\n </>\n )}\n {content && (\n <>\n {content}\n <Space half />\n </>\n )}\n <Text size={\"small\"} color={cssColor(\"--swui-text-disabled-color\")}>\n {agoLabel}\n </Text>\n </Column>\n </Row>\n </Box>\n </Clickable>\n );\n};\n","import { faInbox } from \"@fortawesome/free-solid-svg-icons/faInbox\";\nimport { Column, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\ninterface Props {}\n\nexport const CollapsibleEmptyContent: React.FC<Props> = () => {\n return (\n <Column indent spacing flex={1} alignItems={\"center\"}>\n <Icon icon={faInbox} color={cssColor(\"--lhds-color-ui-500\")} />\n <Space />\n <Text size={\"small\"} color={cssColor(\"--lhds-color-ui-500\")}>\n No content\n </Text>\n </Column>\n );\n};\n","import cx from \"classnames\";\nimport * as React from \"react\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleSimpleContentProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n}\n\nexport const CollapsibleContent: React.FC<\n CollapsibleSimpleContentProps & HTMLAttributes<HTMLDivElement>\n> = ({ contentLeft, contentRight, className, children, ...props }) => {\n return (\n <div className={cx(styles.content, className)} {...props}>\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </div>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { Clickable, ClickableProps, DivProps, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleContent } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleProps\n extends Omit<DivProps, \"onClick\">,\n Pick<ClickableProps, \"onClick\"> {\n label: string;\n contentLeft?: React.ReactNode;\n contentRight?: React.ReactNode;\n collapsed?: boolean;\n disabled?: boolean;\n unmountOnCollapse?: boolean;\n mountOnEnter?: boolean;\n icon?: IconDefinition;\n iconCollapsed?: IconDefinition;\n iconSize?: number;\n autoFocus?: boolean;\n}\n\nexport const mapCSSTime = (value: string): number => {\n const num = parseFloat(value);\n const match = value.match(/m?s/);\n\n switch (match?.[0]) {\n case \"s\":\n return num * 1000;\n case \"ms\":\n return num;\n default:\n return 0;\n }\n};\n\nexport const Collapsible = forwardRef<HTMLButtonElement, CollapsibleProps>(\n function Collapsible(\n {\n label,\n contentLeft,\n contentRight,\n collapsed = false,\n onClick,\n className,\n disabled = false,\n unmountOnCollapse = false,\n mountOnEnter = true,\n icon = faChevronUp,\n iconCollapsed = faChevronDown,\n iconSize = 8,\n children,\n autoFocus = false,\n ...divProps\n },\n ref\n ) {\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const timeout = divRef.current\n ? mapCSSTime(\n getComputedStyle(divRef.current).getPropertyValue(\n \"--swui-collapsible-animation-time\"\n )\n )\n : undefined;\n\n return (\n <div\n className={cx(styles.collapsible, className)}\n aria-expanded={!collapsed}\n ref={divRef}\n {...divProps}\n >\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={styles.header}\n onClick={onClick}\n disabled={disabled}\n autoFocus={autoFocus}\n ref={ref}\n >\n {contentLeft && (\n <div className={styles.contentLeft}>{contentLeft}</div>\n )}\n <div className={styles.label}>\n <Text\n color={\"var(--swui-collapsible-header-text-color)\"}\n className={styles.headerText}\n >\n {label}\n </Text>\n </div>\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n <Icon\n icon={collapsed ? iconCollapsed : icon}\n className={styles.indicator}\n size={iconSize}\n fixedWidth\n />\n </Clickable>\n <CSSTransition\n in={!collapsed}\n timeout={{\n enter: timeout,\n }}\n classNames={{\n enter: styles.contentEnter,\n enterActive: styles.contentEnterActive,\n exit: styles.contentExit,\n exitActive: styles.contentExitActive,\n exitDone: styles.contentExitDone,\n }}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnCollapse}\n >\n <div role={\"region\"}>\n {children ?? (\n <CollapsibleContent>\n <CollapsibleEmptyContent />\n </CollapsibleContent>\n )}\n </div>\n </CSSTransition>\n </div>\n );\n }\n);\n","import { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\nimport * as React from \"react\";\nimport { Collapsible, CollapsibleProps } from \"./Collapsible\";\n\nexport interface CollapsibleWithCheckboxProps\n extends Omit<CollapsibleProps, \"contentLeft\" | \"onChange\">,\n Pick<\n CheckboxProps,\n \"value\" | \"onValueChange\" | \"onChange\" | \"indeterminate\"\n > {}\n\nexport const CollapsibleWithCheckbox: React.FC<\n CollapsibleWithCheckboxProps\n> = ({\n value,\n onValueChange,\n onChange,\n indeterminate,\n ...collapsibleProps\n}) => {\n return (\n <Collapsible\n contentLeft={\n <Checkbox\n value={value}\n indeterminate={indeterminate}\n onValueChange={onValueChange}\n onChange={onChange}\n onClick={(ev) => ev.stopPropagation()}\n />\n }\n {...collapsibleProps}\n />\n );\n};\n","import { ButtonElementProps, Clickable } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleSimpleContentProps } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleClickableContentProps\n extends CollapsibleSimpleContentProps,\n ButtonElementProps {}\n\nexport const CollapsibleClickableContent: React.FC<\n CollapsibleClickableContentProps\n> = ({ contentLeft, contentRight, className, onClick, children, ...props }) => {\n return (\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={cx(styles.content, className)}\n onClick={onClick}\n {...props}\n >\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </Clickable>\n );\n};\n","import { DivProps } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"./CollapsibleContent\";\n\nexport interface CollapsibleGroupHeadingProps\n extends CollapsibleSimpleContentProps,\n DivProps {}\n\nexport const CollapsibleGroupHeading: React.FC<\n CollapsibleGroupHeadingProps\n> = ({ className, ...props }) => (\n <CollapsibleContent\n className={cx(styles.groupHeading, className)}\n {...props}\n />\n);\n","import { Box } from \"@stenajs-webui/core\";\nimport { Banner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ErrorPanelProps {\n text?: string;\n}\n\nexport const ErrorPanel: React.FC<ErrorPanelProps> = ({\n text = \"Something unexpected happened.\",\n}) => {\n return (\n <Box justifyContent={\"center\"} alignItems={\"center\"}>\n <Banner variant={\"error\"} headerText={text} />\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ErrorPanel, ErrorPanelProps } from \"./ErrorPanel\";\n\nexport const ErrorScreen: React.FC<ErrorPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <ErrorPanel {...props} />\n </Box>\n );\n};\n","import { Box, Heading, Space } from \"@stenajs-webui/core\";\nimport { Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface LoadingPanelProps {\n text?: string;\n}\n\nexport const LoadingPanel: React.FC<LoadingPanelProps> = ({\n text = \"Loading...\",\n}) => {\n return (\n <Box alignItems={\"center\"}>\n <Spinner size={\"small\"} />\n <Space num={4} />\n <Heading variant={\"h4\"}>{text}</Heading>\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { LoadingPanel, LoadingPanelProps } from \"./LoadingPanel\";\n\nexport const LoadingScreen: React.FC<LoadingPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <LoadingPanel {...props} />\n </Box>\n );\n};\n","import { Box, Row, SeparatorLine, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface PageHeaderProps {\n renderBreadCrumbs?: () => ReactNode;\n renderPageHeading?: () => ReactNode;\n renderTabs?: () => ReactNode;\n children?: ReactNode;\n}\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n renderBreadCrumbs,\n renderPageHeading,\n renderTabs,\n children,\n}) => {\n return (\n <Box shadow={\"box\"}>\n <Box indent={3}>\n {renderBreadCrumbs && <Row spacing={1.25}>{renderBreadCrumbs()}</Row>}\n {renderPageHeading?.()}\n {renderTabs?.()}\n </Box>\n {children && (\n <>\n {!renderTabs && <Space />}\n <SeparatorLine />\n {children}\n </>\n )}\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Row } from \"@stenajs-webui/core\";\n\nexport interface PageHeaderRowProps extends BoxProps {}\n\nexport const PageHeaderRow: React.FC<PageHeaderRowProps> = (props) => (\n <Row indent={3} spacing {...props} />\n);\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row } from \"@stenajs-webui/core\";\n\nexport type PageHeadingVariant = \"compact\" | \"standard\" | \"relaxed\";\n\ninterface PageHeadingProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n heading: string;\n variant?: PageHeadingVariant;\n}\n\nconst variantToSpacing: Record<PageHeadingVariant, number> = {\n compact: 1,\n standard: 1.5,\n relaxed: 2,\n};\n\nexport const PageHeading: React.VFC<PageHeadingProps> = ({\n heading,\n variant = \"standard\",\n contentLeft,\n contentRight,\n}) => (\n <Row spacing={variantToSpacing[variant]} alignItems={\"center\"} gap={2}>\n <Heading variant={\"h3\"}>{heading}</Heading>\n <Row alignItems={\"center\"}>{contentLeft}</Row>\n <Row style={{ marginLeft: \"auto\" }} alignItems={\"center\"}>\n {contentRight}\n </Row>\n </Row>\n);\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./SidebarMenuCloseButton.module.css\";\nimport { Box, ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as CloseIcon } from \"./svg/close.svg\";\n\nexport interface SidebarMenuCloseButtonProps extends ButtonElementProps {}\n\nexport const SidebarMenuCloseButton: React.FC<SidebarMenuCloseButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuCloseButton, className)}\n >\n <Box className={styles.iconWrapper}>\n <CloseIcon className={styles.icon} />\n </Box>\n </button>\n );\n};\n","import { SeparatorLine, SeparatorLineProps } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\nexport interface SidebarMenuSeparatorProps extends SeparatorLineProps {}\n\nexport const SidebarMenuSeparator: React.FC<SidebarMenuSeparatorProps> = (\n separatorLineProps\n) => (\n <SeparatorLine\n color={cssColor(\"--lhds-color-blue-600\")}\n {...separatorLineProps}\n />\n);\n","import { Box, BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenu.module.css\";\nimport {\n SidebarMenuCloseButton,\n SidebarMenuCloseButtonProps,\n} from \"./SidebarMenuCloseButton\";\nimport { getNavbarHeight } from \"../nav-bar/NavbarHeightStyleUtil\";\nimport { NavBarVariant } from \"../nav-bar/NavBar\";\nimport { SidebarMenuSeparator } from \"./SidebarMenuSeparator\";\n\nexport type SidebarMenuVariant = NavBarVariant;\n\nexport interface SidebarMenuProps extends BoxProps {\n onCloseClick?: SidebarMenuCloseButtonProps[\"onClick\"];\n hideCloseButton?: boolean;\n collapsed?: boolean;\n variant?: SidebarMenuVariant;\n}\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({\n className,\n children,\n onCloseClick,\n collapsed = false,\n hideCloseButton = false,\n variant = \"standard\",\n ...boxProps\n}) => {\n const height = getNavbarHeight(variant);\n\n return (\n <Box\n className={cx(\n styles.sidebarMenu,\n collapsed ? styles.collapsed : null,\n className\n )}\n style={{\n [\"--swui-sidebar-menu-item-height\" as string]: height,\n [\"--swui-nav-bar-height\" as string]: height,\n }}\n data-collapsed={collapsed || undefined}\n {...boxProps}\n >\n {!hideCloseButton && (\n <>\n <SidebarMenuCloseButton onClick={onCloseClick} />\n <SidebarMenuSeparator />\n <Space />\n </>\n )}\n <Box\n className={styles.sidebarMenuContent}\n height={\"100%\"}\n background={\"var(--current-background-color)\"}\n >\n <Column flex={1}>{children}</Column>\n </Box>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { SidebarMenu, SidebarMenuVariant } from \"../SidebarMenu\";\nimport { NavBarSideMenuButton } from \"../../nav-bar/NavBarSideMenuButton\";\nimport { ReactNode } from \"react\";\n\ninterface RailMenuProps {\n variant?: SidebarMenuVariant;\n onClickMenuButton?: () => void;\n children?: ReactNode;\n}\n\nexport const SidebarRailMenu: React.FC<RailMenuProps> = ({\n variant,\n onClickMenuButton,\n children,\n}) => {\n return (\n <SidebarMenu\n collapsed\n position={\"fixed\"}\n left={0}\n top={0}\n hideCloseButton\n variant={variant}\n >\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n {children}\n </SidebarMenu>\n );\n};\n","import { ButtonElementProps, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, ReactNode } from \"react\";\nimport { ButtonContent, ButtonContentProps } from \"@stenajs-webui/elements\";\nimport contentStyles from \"./SidebarMenuContent.module.css\";\nimport cx from \"classnames\";\n\nexport type RenderLinkProps = ButtonElementProps & { activeClassName: string };\n\nexport interface SidebarMenuLinkProps\n extends ButtonElementProps,\n Pick<\n ButtonContentProps,\n | \"label\"\n | \"loading\"\n | \"left\"\n | \"leftIcon\"\n | \"right\"\n | \"rightIcon\"\n | \"success\"\n > {\n renderLink?: SidebarLinkRenderer;\n width?: CSSProperties[\"width\"];\n selected?: boolean;\n indent?: boolean;\n}\n\nexport type SidebarLinkRenderer = (props: RenderLinkProps) => ReactNode;\n\nexport const defaultRenderLink: SidebarLinkRenderer = (props) => {\n return <button {...props} />;\n};\n\nexport const SidebarMenuLink: React.FC<SidebarMenuLinkProps> = ({\n className,\n children,\n selected,\n indent,\n label,\n loading,\n left,\n leftIcon,\n right,\n rightIcon,\n success,\n width,\n renderLink = defaultRenderLink,\n style,\n ...buttonProps\n}) => {\n const hasContentLeft = left || leftIcon || loading || success;\n\n const innerClassName = cx(\n contentStyles.button,\n selected ? contentStyles.selected : undefined,\n className\n );\n\n const innerStyle = {\n ...style,\n width,\n height: \"var(--swui-sidebar-menu-item-height)\",\n };\n\n const innerChildren = (\n <Row spacing={1} flex={1} alignItems={\"center\"}>\n {!hasContentLeft && <Indent />}\n {indent && <Indent num={3.5} />}\n <ButtonContent\n label={label}\n loading={loading}\n left={left}\n leftIcon={leftIcon}\n right={right}\n rightIcon={rightIcon}\n success={success}\n labelClassName={contentStyles.label}\n spinnerClassName={contentStyles.spinner}\n iconClassName={cx(contentStyles.icon)}\n leftWrapperClassName={contentStyles.leftWrapper}\n />\n </Row>\n );\n\n return (\n <>\n {renderLink({\n ...buttonProps,\n activeClassName: contentStyles.selected,\n className: innerClassName,\n children: innerChildren,\n style: innerStyle,\n })}\n </>\n );\n};\n","import { Box, Text, TextProps } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenuHeading.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"../collapsible/CollapsibleContent\";\n\nexport interface SidebarMenuHeadingProps\n extends Pick<CollapsibleSimpleContentProps, \"contentLeft\" | \"contentRight\">,\n TextProps {\n label?: string;\n}\n\nexport const SidebarMenuHeading: React.FC<SidebarMenuHeadingProps> = ({\n className,\n label,\n contentLeft,\n contentRight,\n ...textProps\n}) => {\n return (\n <Box spacing={2} indent={2}>\n <CollapsibleContent\n className={styles.sidebarMenuHeading}\n contentLeft={contentLeft}\n contentRight={contentRight}\n >\n <Text\n variant={\"overline\"}\n color={\"var(--swui-sidebar-menu-heading-text-color)\"}\n {...textProps}\n >\n {label}\n </Text>\n </CollapsibleContent>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport { Collapsible } from \"../collapsible/Collapsible\";\nimport { Box, Column, Indent } from \"@stenajs-webui/core\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport styles from \"./SidebarMenuCollapsible.module.css\";\nimport { Icon } from \"@stenajs-webui/elements\";\n\nexport interface SidebarMenuCollapsibleProps {\n label: string;\n collapsed?: boolean;\n leftIcon?: IconDefinition;\n children?: ReactNode;\n}\n\nexport const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps> = ({\n children,\n label,\n leftIcon,\n}) => {\n const [collapsed, setCollapsed] = useState<boolean>(false);\n\n return (\n <Box background={\"var(--current-background-color)\"}>\n <Collapsible\n className={styles.sidebarMenuCollapsible}\n label={label}\n collapsed={collapsed}\n onClick={() => setCollapsed(!collapsed)}\n contentLeft={\n leftIcon ? (\n <Box\n width={\"var(--swui-sidebar-menu-item-height)\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n >\n <Icon\n icon={leftIcon}\n size={16}\n color={\"var(--current-text-color)\"}\n data-hover={true}\n />\n </Box>\n ) : (\n <Indent num={1} />\n )\n }\n >\n <Column flex={1}>{children}</Column>\n </Collapsible>\n </Box>\n );\n};\n","import { SidebarMenuLink } from \"../../SidebarMenuLink\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { SidebarMenuHeading } from \"../../SidebarMenuHeading\";\nimport { SidebarMenuSeparator } from \"../../SidebarMenuSeparator\";\nimport { SidebarMenuCollapsible } from \"../../SidebarMenuCollapsible\";\nimport { Box, exhaustSwitchCaseElseThrow } from \"@stenajs-webui/core\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { SidebarItem } from \"./types\";\n\nexport const renderItemsExpanded = (\n items: SidebarItem[],\n indent = false\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return <SidebarMenuHeading label={item.label} />;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, ...linkProps } = item;\n return <SidebarMenuLink indent={indent} {...linkProps} />;\n }\n case \"grouped\":\n return (\n <SidebarMenuCollapsible leftIcon={item.leftIcon} label={item.label}>\n {renderItemsExpanded(item.items, true)}\n </SidebarMenuCollapsible>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n\ninterface RailRendererOptions {\n popupMinWidth: string | number;\n}\n\nexport const renderItemsInRail = (\n items: SidebarItem[],\n { popupMinWidth }: RailRendererOptions\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return null;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, label, ...linkProps } = item;\n return (\n <SidebarMenuLink\n title={label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n {...linkProps}\n />\n );\n }\n case \"grouped\":\n return (\n <div>\n <Popover\n appendTo={\"parent\"}\n arrow={false}\n offset={[0, 0]}\n placement={\"right-start\"}\n trigger={\"focusin mouseenter click\"}\n disablePadding\n lazy\n content={\n <Box\n minWidth={popupMinWidth}\n background={\"var(--lhds-color-blue-500)\"}\n >\n <SidebarMenuHeading label={item.label} />\n {renderItemsExpanded(item.items)}\n </Box>\n }\n >\n <SidebarMenuLink\n title={item.label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n leftIcon={item.leftIcon}\n />\n </Popover>\n </div>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n"],"names":["faAngleDown","styles","Hamburger","CloseIcon"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -277,7 +277,7 @@ var NavBarNotificationButton = function (_a) {
277
277
  return (React__namespace.createElement(elements.FlatButton, __assign({}, buttonProps, { leftIcon: icon, className: cx__default["default"]((_b = {}, _b[styles$7.unread] = unread, _b), (_c = {}, _c[styles$7.hasCount] = hasCount, _c), styles$7.navBarNotificationButton, className), label: hasCount ? String(count) : undefined, labelClassName: cx__default["default"](labelClassName, styles$7.label), iconClassName: cx__default["default"](iconClassName, styles$7.icon) })));
278
278
  };
279
279
 
280
- var css_248z$7 = ".NavBarSearchField-module_navBarSearchFieldInput__2kThv {\n --swui-textinput-line-height: 27px;\n --swui-textinput-text-color: var(--lhds-color-ui-50);\n}\n\n .NavBarSearchField-module_navBarSearchFieldInput__2kThv:focus {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n }\n\n.NavBarSearchField-module_navBarSearchField__kIe66 {\n --swui-textinput-animation-time: var(--swui-animation-time-fast);\n\n --swui-textinput-placeholder-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-blue-600);\n --swui-textinput-border-color: transparent;\n --swui-textinput-border-color-hover: transparent;\n}\n\n.NavBarSearchField-module_navBarSearchField__kIe66:focus-within {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n --swui-field-text-color: var(--swui-field-text-color);\n --swui-textinput-icon-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-ui-50);\n }\n";
280
+ var css_248z$7 = ".NavBarSearchField-module_navBarSearchFieldInput__2kThv {\n --swui-textinput-line-height: 2.7rem;\n --swui-textinput-text-color: var(--lhds-color-ui-50);\n}\n\n .NavBarSearchField-module_navBarSearchFieldInput__2kThv:focus {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n }\n\n.NavBarSearchField-module_navBarSearchField__kIe66 {\n --swui-textinput-animation-time: var(--swui-animation-time-fast);\n\n --swui-textinput-placeholder-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-blue-600);\n --swui-textinput-border-color: transparent;\n --swui-textinput-border-color-hover: transparent;\n}\n\n.NavBarSearchField-module_navBarSearchField__kIe66:focus-within {\n --swui-textinput-text-color: var(--lhds-color-ui-800);\n --swui-field-text-color: var(--swui-field-text-color);\n --swui-textinput-icon-color: var(--lhds-color-ui-500);\n --swui-textinput-bg-color: var(--lhds-color-ui-50);\n }\n";
281
281
  var styles$6 = {"navBarSearchFieldInput":"NavBarSearchField-module_navBarSearchFieldInput__2kThv","navBarSearchField":"NavBarSearchField-module_navBarSearchField__kIe66"};
282
282
  styleInject(css_248z$7);
283
283
 
@@ -308,7 +308,7 @@ var Notification = function (_a) {
308
308
  var onClick = _a.onClick, icon = _a.icon, iconColor = _a.iconColor, title = _a.title, text = _a.text, content = _a.content, date = _a.date, dismissed = _a.dismissed, _b = _a.theme, theme$1 = _b === void 0 ? defaultNotificationTheme : _b;
309
309
  var agoLabel = React.useMemo(function () {
310
310
  if (date) {
311
- return dateFns.formatDistance(date, new Date()) + " ago";
311
+ return "".concat(dateFns.formatDistance(date, new Date()), " ago");
312
312
  }
313
313
  return undefined;
314
314
  }, [date]);
@@ -332,7 +332,7 @@ var Notification = function (_a) {
332
332
  React__namespace.createElement(core.Text, { size: "small", color: theme.cssColor("--swui-text-disabled-color") }, agoLabel))))));
333
333
  };
334
334
 
335
- var css_248z$5 = ".Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-animation-time: var(--swui-animation-time-fast);\n\n --swui-collapsible-expanded-line-background-color: var(\n --swui-primary-action-color\n );\n\n /*\n * Header\n */\n --swui-collapsible-header-text-color: var(--lhds-color-ui-900);\n --swui-collapsible-header-background-color: var(--swui-white);\n --swui-collapsible-header-background-color-hover: var(--lhds-color-blue-100);\n --swui-collapsible-header-background-color-active: var(--lhds-color-blue-100);\n --swui-collapsible-header-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-header-border-color-focus: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-focus-shadow: var(--swui-field-focus-shadow);\n --swui-collapsible-header-content-margin: calc(\n var(--swui-metrics-indent) * 2\n );\n --swui-collapsible-header-font-weight: var(--swui-font-weight-text-bold);\n --swui-collapsible-header-indicator-color: var(--swui-primary-action-color);\n --swui-collapsible-header-indicator-color-collapsed: var(--lhds-color-ui-500);\n --swui-collapsible-header-indicator-color-hover: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0;\n\n /*\n * Content\n */\n --swui-collapsible-content-background-color: var(--lhds-color-ui-100);\n --swui-collapsible-content-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2);\n\n --swui-collapsible-groupheading-font-size: var(--swui-font-size-smaller);\n --swui-collapsible-groupheading-text-color: var(--lhds-color-ui-600);\n\n --swui-collapsible-min-height: 40px;\n}\n\n /* Header */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y {\n background-color: var(--swui-collapsible-header-background-color);\n width: 100%;\n text-align: left;\n\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--swui-collapsible-header-border-color);\n padding: var(--swui-collapsible-header-padding);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y .Collapsible-module_indicator__3YBhK {\n transition: all var(--swui-collapsible-animation-time) ease-in-out;\n margin-left: var(--swui-collapsible-header-content-margin);\n color: var(--swui-collapsible-header-indicator-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:active {\n background: var(--swui-collapsible-header-background-color-active);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K {\n\n position: relative;\n}\n\n .Collapsible-module_collapsible__2Nn8K::before {\n content: \"\";\n position: absolute;\n width: 2px;\n background: var(--swui-collapsible-expanded-line-background-color);\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_headerText__2qjzx {\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] {\n --swui-collapsible-expanded-line-background-color: transparent;\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-collapsed);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R {\n margin-right: auto;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R span {\n --current-line-height: 1;\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu,\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n display: flex;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu button, .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 button {\n cursor: pointer;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu {\n margin-right: var(--swui-collapsible-header-content-margin);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n margin-left: auto;\n }\n\n /* Content */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 {\n display: flex;\n align-items: center;\n justify-content: stretch;\n background: var(--swui-collapsible-content-background-color);\n padding: var(--swui-collapsible-content-padding);\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:last-child {\n border-bottom: 1px solid var(--swui-collapsible-content-border-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8.Collapsible-module_groupHeading__3BK-5 {\n border: none;\n font-size: var(--swui-collapsible-groupheading-font-size);\n font-family: var(--swui-font-primary);\n color: var(--swui-collapsible-groupheading-text-color);\n text-transform: uppercase;\n font-weight: var(--swui-font-weight-text-bold);\n letter-spacing: 1px;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 [data-hidden=\"true\"] {\n display: none;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hidden=\"true\"] {\n display: inherit;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hover=\"true\"] {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnter__GWHoW {\n opacity: 0;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnterActive__1YdNi {\n opacity: 1;\n transition: opacity var(--swui-collapsible-animation-time) ease-in-out;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentExitDone__35Iht {\n display: none;\n }\n\n /** Clickable content */\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8 {\n font-family: var(--swui-font-primary);\n font-size: inherit;\n width: 100%;\n text-align: left;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:not(:disabled):hover {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-within [data-hidden=\"true\"] {\n display: inherit;\n }\n\n /* Remove header background color if not at the highest level */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-background-color: var(\n --swui-collapsible-content-background-color\n );\n --swui-collapsible-header-font-weight: normal;\n }\n\n /* Increase padding with depth */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 4);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 4);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 6);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 6);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 8);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 8);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 10);\n }\n";
335
+ var css_248z$5 = ".Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-animation-time: var(--swui-animation-time-fast);\n\n --swui-collapsible-expanded-line-background-color: var(\n --swui-primary-action-color\n );\n\n /*\n * Header\n */\n --swui-collapsible-header-text-color: var(--lhds-color-ui-900);\n --swui-collapsible-header-background-color: var(--swui-white);\n --swui-collapsible-header-background-color-hover: var(--lhds-color-blue-100);\n --swui-collapsible-header-background-color-active: var(--lhds-color-blue-100);\n --swui-collapsible-header-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-header-border-color-focus: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-focus-shadow: var(--swui-field-focus-shadow);\n --swui-collapsible-header-content-margin: calc(\n var(--swui-metrics-indent) * 2\n );\n --swui-collapsible-header-font-weight: var(--swui-font-weight-text-bold);\n --swui-collapsible-header-indicator-color: var(--swui-primary-action-color);\n --swui-collapsible-header-indicator-color-collapsed: var(--lhds-color-ui-500);\n --swui-collapsible-header-indicator-color-hover: var(\n --swui-primary-action-color\n );\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0;\n\n /*\n * Content\n */\n --swui-collapsible-content-background-color: var(--lhds-color-ui-100);\n --swui-collapsible-content-border-color: var(--lhds-color-ui-300);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2);\n\n --swui-collapsible-groupheading-font-size: var(--swui-font-size-smaller);\n --swui-collapsible-groupheading-text-color: var(--lhds-color-ui-600);\n\n --swui-collapsible-min-height: 40px;\n}\n\n /* Header */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y {\n background-color: var(--swui-collapsible-header-background-color);\n width: 100%;\n text-align: left;\n\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--swui-collapsible-header-border-color);\n padding: var(--swui-collapsible-header-padding);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y .Collapsible-module_indicator__3YBhK {\n transition: all var(--swui-collapsible-animation-time) ease-in-out;\n margin-left: var(--swui-collapsible-header-content-margin);\n color: var(--swui-collapsible-header-indicator-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:not(:disabled):hover:not(:active) .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:active {\n background: var(--swui-collapsible-header-background-color-active);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_header__IZx0y:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K {\n\n position: relative;\n}\n\n .Collapsible-module_collapsible__2Nn8K::before {\n content: \"\";\n position: absolute;\n width: 2px;\n background: var(--swui-collapsible-expanded-line-background-color);\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_headerText__2qjzx {\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] {\n --swui-collapsible-expanded-line-background-color: transparent;\n }\n\n .Collapsible-module_collapsible__2Nn8K[aria-expanded=\"false\"] .Collapsible-module_indicator__3YBhK {\n color: var(--swui-collapsible-header-indicator-color-collapsed);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R {\n margin-right: auto;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_label__Hpp-R span {\n --current-line-height: 1;\n font-weight: var(--swui-collapsible-header-font-weight);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu,\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n display: flex;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu button, .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 button {\n cursor: pointer;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentLeft__2gPpu {\n margin-right: var(--swui-collapsible-header-content-margin);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentRight__bTr59 {\n margin-left: auto;\n }\n\n /* Content */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 {\n display: flex;\n align-items: center;\n justify-content: stretch;\n background: var(--swui-collapsible-content-background-color);\n padding: var(--swui-collapsible-content-padding);\n min-height: var(--swui-collapsible-min-height);\n box-sizing: border-box;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:last-child {\n border-bottom: 1px solid var(--swui-collapsible-content-border-color);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8.Collapsible-module_groupHeading__3BK-5 {\n border: none;\n font-size: var(--swui-collapsible-groupheading-font-size);\n font-family: var(--swui-font-primary);\n color: var(--swui-collapsible-groupheading-text-color);\n text-transform: uppercase;\n font-weight: var(--swui-font-weight-text-bold);\n letter-spacing: 0.1rem;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8 [data-hidden=\"true\"] {\n display: none;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hidden=\"true\"] {\n display: inherit;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_content__1e1C8:hover [data-hover=\"true\"] {\n color: var(--swui-collapsible-header-indicator-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnter__GWHoW {\n opacity: 0;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentEnterActive__1YdNi {\n opacity: 1;\n transition: opacity var(--swui-collapsible-animation-time) ease-in-out;\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_contentExitDone__35Iht {\n display: none;\n }\n\n /** Clickable content */\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8 {\n font-family: var(--swui-font-primary);\n font-size: inherit;\n width: 100%;\n text-align: left;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-visible {\n outline: 1px solid var(--swui-collapsible-header-border-color-focus);\n outline-offset: -1px;\n box-shadow: var(--swui-collapsible-header-focus-shadow);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:not(:disabled):hover {\n background-color: var(--swui-collapsible-header-background-color-hover);\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:disabled {\n cursor: not-allowed;\n }\n\n .Collapsible-module_collapsible__2Nn8K button.Collapsible-module_content__1e1C8:focus-within [data-hidden=\"true\"] {\n display: inherit;\n }\n\n /* Remove header background color if not at the highest level */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-background-color: var(\n --swui-collapsible-content-background-color\n );\n --swui-collapsible-header-font-weight: normal;\n }\n\n /* Increase padding with depth */\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 4);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 4);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 6);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 6);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 8);\n }\n\n .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K .Collapsible-module_collapsible__2Nn8K {\n --swui-collapsible-header-padding: 0 calc(var(--swui-metrics-indent) * 2) 0\n calc(var(--swui-metrics-indent) * 8);\n --swui-collapsible-content-padding: var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 2) var(--swui-metrics-indent)\n calc(var(--swui-metrics-indent) * 10);\n }\n";
336
336
  var styles$4 = {"collapsible":"Collapsible-module_collapsible__2Nn8K","header":"Collapsible-module_header__IZx0y","indicator":"Collapsible-module_indicator__3YBhK","headerText":"Collapsible-module_headerText__2qjzx","label":"Collapsible-module_label__Hpp-R","contentLeft":"Collapsible-module_contentLeft__2gPpu","contentRight":"Collapsible-module_contentRight__bTr59","content":"Collapsible-module_content__1e1C8","groupHeading":"Collapsible-module_groupHeading__3BK-5","contentEnter":"Collapsible-module_contentEnter__GWHoW","contentEnterActive":"Collapsible-module_contentEnterActive__1YdNi","contentExitDone":"Collapsible-module_contentExitDone__35Iht"};
337
337
  styleInject(css_248z$5);
338
338
 
@@ -512,7 +512,7 @@ var SidebarRailMenu = function (_a) {
512
512
  children));
513
513
  };
514
514
 
515
- var css_248z$2 = ".SidebarMenuContent-module_label__3NyDU {\n font-size: var(--current-text-size, var(--swui-font-size-medium));\n line-height: var(--current-line-height, var(--swui-line-height-medium));\n font-weight: var(--swui-button-font-weight);\n font-family: var(--swui-font-buttons);\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_icon__1kQOa {\n color: var(--current-text-color);\n font-size: 16px;\n}\n\n.SidebarMenuContent-module_spinner__K0lsy {\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a {\n width: var(--swui-sidebar-menu-item-height);\n margin-right: 0;\n}\n\n.SidebarMenuContent-module_button__3x5IE {\n border: 0;\n padding: 0;\n background: var(--current-background-color);\n}\n\n[data-collapsed] [aria-expanded=\"true\"] .SidebarMenuContent-module_button__3x5IE,\n .SidebarMenuContent-module_button__3x5IE:hover {\n background: var(--current-background-color-hover);\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus {\n outline: none;\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus-visible {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE:active {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE.SidebarMenuContent-module_selected__aeI_K {\n background: var(--current-item-selected);\n }\n";
515
+ var css_248z$2 = ".SidebarMenuContent-module_label__3NyDU {\n font-size: var(--current-text-size, var(--swui-font-size-medium));\n line-height: var(--current-line-height, var(--swui-line-height-medium));\n font-weight: var(--swui-button-font-weight);\n font-family: var(--swui-font-buttons);\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_icon__1kQOa {\n color: var(--current-text-color);\n font-size: 1.6rem;\n}\n\n.SidebarMenuContent-module_spinner__K0lsy {\n color: var(--current-text-color);\n}\n\n.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a.SidebarMenuContent-module_leftWrapper__2sA9a {\n width: var(--swui-sidebar-menu-item-height);\n margin-right: 0;\n}\n\n.SidebarMenuContent-module_button__3x5IE {\n border: 0;\n padding: 0;\n background: var(--current-background-color);\n}\n\n[data-collapsed] [aria-expanded=\"true\"] .SidebarMenuContent-module_button__3x5IE,\n .SidebarMenuContent-module_button__3x5IE:hover {\n background: var(--current-background-color-hover);\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus {\n outline: none;\n }\n\n.SidebarMenuContent-module_button__3x5IE:focus-visible {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE:active {\n background: var(--current-background-color-active);\n }\n\n.SidebarMenuContent-module_button__3x5IE.SidebarMenuContent-module_selected__aeI_K {\n background: var(--current-item-selected);\n }\n";
516
516
  var contentStyles = {"label":"SidebarMenuContent-module_label__3NyDU","icon":"SidebarMenuContent-module_icon__1kQOa","spinner":"SidebarMenuContent-module_spinner__K0lsy","leftWrapper":"SidebarMenuContent-module_leftWrapper__2sA9a","button":"SidebarMenuContent-module_button__3x5IE","selected":"SidebarMenuContent-module_selected__aeI_K"};
517
517
  styleInject(css_248z$2);
518
518
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/action-menu-button/ActionMenuButton.tsx","../src/components/action-menu-button/ActionMenuPrimaryButton.tsx","../src/components/action-menu-button/ActionMenuSecondaryButton.tsx","../src/components/action-menu-button/ActionMenuFlatButton.tsx","../src/components/checkbox-menu/CheckboxMenu.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/nav-bar/NavBarSideMenuButton.tsx","../src/components/nav-bar/NavbarHeightStyleUtil.ts","../src/components/nav-bar/NavBar.tsx","../src/components/nav-bar/NavBarButton.tsx","../src/components/nav-bar/NavBarHeading.tsx","../src/components/nav-bar/NavBarPopoverButton.tsx","../src/components/nav-bar/NavBarNotificationButton.tsx","../src/components/nav-bar/NavBarSearchField.tsx","../src/components/nav-bar/NavBarUserButton.tsx","../src/components/notifications/NotificationTheme.ts","../src/components/notifications/Notification.tsx","../src/components/collapsible/CollapsibleEmptyContent.tsx","../src/components/collapsible/CollapsibleContent.tsx","../src/components/collapsible/Collapsible.tsx","../src/components/collapsible/CollapsibleWithCheckbox.tsx","../src/components/collapsible/CollapsibleClickableContent.tsx","../src/components/collapsible/CollapsibleGroupHeading.tsx","../src/components/error-panel/ErrorPanel.tsx","../src/components/error-panel/ErrorScreen.tsx","../src/components/loading-panel/LoadingPanel.tsx","../src/components/loading-panel/LoadingScreen.tsx","../src/components/page-header/PageHeader.tsx","../src/components/page-header/PageHeaderRow.tsx","../src/components/page-header/PageHeading.tsx","../src/components/sidebar-menu/SidebarMenuCloseButton.tsx","../src/components/sidebar-menu/SidebarMenuSeparator.tsx","../src/components/sidebar-menu/SidebarMenu.tsx","../src/components/sidebar-menu/rail/SidebarRailMenu.tsx","../src/components/sidebar-menu/SidebarMenuLink.tsx","../src/components/sidebar-menu/SidebarMenuHeading.tsx","../src/components/sidebar-menu/SidebarMenuCollapsible.tsx","../src/components/sidebar-menu/rail/renderer/RailRenderer.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport {\n ActionMenu,\n ActionMenuContext,\n ActionMenuProps,\n FlatButton,\n PrimaryButton,\n PrimaryButtonProps,\n SecondaryButton,\n} from \"@stenajs-webui/elements\";\nimport { useBoolean } from \"@stenajs-webui/core\";\nimport { Popover, PopoverProps } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { Plugin as TippyPlugin, Props as TippyProps } from \"tippy.js\";\n\nexport interface ActionMenuButtonProps\n extends Omit<\n PrimaryButtonProps,\n \"variant\" | \"loading\" | \"loadingLabel\" | \"success\" | \"successLabel\"\n > {\n /** The content of the Action Menu. */\n renderItems: (close: () => void) => ReactNode;\n /** The placement of the Action Menu. */\n placement?: PopoverProps[\"placement\"];\n /** Z-index of the Action Menu */\n zIndex?: number;\n /** Portal target, HTML element. If not set, portal is not used. */\n portalTarget?: PopoverProps[\"appendTo\"];\n menuWidth?: ActionMenuProps[\"width\"];\n menuTop?: ActionMenuProps[\"top\"];\n buttonComponent:\n | typeof PrimaryButton\n | typeof SecondaryButton\n | typeof FlatButton;\n disableArrow?: boolean;\n}\n\nexport const ActionMenuButton: React.FC<ActionMenuButtonProps> = ({\n renderItems,\n placement = \"bottom\",\n buttonComponent: Button,\n rightIcon = faAngleDown,\n portalTarget = \"parent\",\n zIndex,\n menuWidth,\n menuTop,\n onClick,\n disableArrow = false,\n ...buttonProps\n}) => {\n const [isOpen, open, close, toggle] = useBoolean(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const focusManager: TippyPlugin<TippyProps> = {\n name: \"focusManager\",\n defaultValue: true,\n fn({ popper }) {\n let restoreFocus = false;\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n restoreFocus = true;\n close();\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n restoreFocus = true;\n }\n };\n\n return {\n onCreate() {\n popper.addEventListener(\"keydown\", closeOnEscape);\n },\n onDestroy() {\n popper.removeEventListener(\"keydown\", closeOnEscape);\n },\n onMount() {\n restoreFocus = false;\n popper\n .querySelector<HTMLElement>(\"button:not([disabled]), a[href]\")\n ?.focus();\n },\n onHide() {\n if (buttonRef.current && restoreFocus) {\n buttonRef.current.focus();\n }\n },\n };\n },\n };\n\n const contextValue = useMemo(() => ({ open, close }), [open, close]);\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n onClick?.(event);\n toggle();\n };\n\n return (\n <Popover\n disablePadding\n visible={isOpen}\n onClickOutside={close}\n placement={placement}\n content={\n isOpen && (\n <ActionMenu\n variant={\"outlined\"}\n width={menuWidth}\n top={menuTop}\n trapFocus\n >\n <ActionMenuContext.Provider value={contextValue}>\n {renderItems(close)}\n </ActionMenuContext.Provider>\n </ActionMenu>\n )\n }\n arrow={false}\n appendTo={portalTarget}\n zIndex={zIndex}\n plugins={[focusManager]}\n lazy\n >\n <Button\n rightIcon={disableArrow ? undefined : rightIcon}\n {...buttonProps}\n ref={buttonRef}\n onClick={handleClick}\n />\n </Popover>\n );\n};\n","import * as React from \"react\";\nimport { PrimaryButton, PrimaryButtonProps } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuPrimaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\">,\n Pick<PrimaryButtonProps, \"variant\"> {}\n\nexport const ActionMenuPrimaryButton: React.FC<ActionMenuPrimaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={PrimaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { SecondaryButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuSecondaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuSecondaryButton: React.FC<ActionMenuSecondaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={SecondaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuFlatButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuFlatButton: React.FC<ActionMenuFlatButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={FlatButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Box, Column, Indent, Row, useBoolean } from \"@stenajs-webui/core\";\nimport { ActionMenu, FlatButton } from \"@stenajs-webui/elements\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\n\nexport interface CheckboxMenuProps extends CheckboxProps {\n renderMenu: (close: () => void) => ReactNode;\n}\n\nconst border = `1px solid var(--lhds-color-ui-300)`;\n\nexport const CheckboxMenu: React.FC<CheckboxMenuProps> = ({\n renderMenu,\n ...checkboxProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n return (\n <Popover\n onClickOutside={close}\n arrow={false}\n visible={isOpen}\n disablePadding\n content={\n renderMenu ? (\n <Column>\n <ActionMenu>{renderMenu(close)}</ActionMenu>\n </Column>\n ) : undefined\n }\n placement={\"bottom-start\"}\n variant={\"outlined\"}\n >\n <Box display={\"inline-block\"}>\n <Row\n spacing={0.5}\n indent\n alignItems={\"center\"}\n border={border}\n borderRadius={\"4px\"}\n >\n <Checkbox {...checkboxProps} />\n <Indent num={0.5} />\n <FlatButton size={\"small\"} onClick={open} leftIcon={faAngleDown} />\n </Row>\n </Box>\n </Popover>\n );\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSideMenuButton.module.css\";\nimport { DivProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as Hamburger } from \"./svg/bars.svg\";\n\nexport interface SidebarMenuButtonProps extends Pick<DivProps, \"className\"> {\n onClick?: (ev: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const NavBarSideMenuButton: React.FC<SidebarMenuButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuButton, className)}\n >\n <Hamburger className={styles.icon} />\n </button>\n );\n};\n","import { NavBarVariant } from \"./NavBar\";\n\nconst variantToHeight: Record<NavBarVariant, number> = {\n compact: 40,\n standard: 48,\n relaxed: 64,\n};\n\nexport const getNavbarHeight = (variant: NavBarVariant) =>\n variantToHeight[variant] + \"px\";\n","import { Box, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBar.module.css\";\nimport {\n NavBarSideMenuButton,\n SidebarMenuButtonProps,\n} from \"./NavBarSideMenuButton\";\nimport { getNavbarHeight } from \"./NavbarHeightStyleUtil\";\n\nexport type NavBarVariant = \"compact\" | \"standard\" | \"relaxed\";\n\nexport interface NavBarProps {\n className?: string;\n showMenuButton?: boolean;\n menuButtonVisibility?: \"visible\" | \"hidden\";\n onClickMenuButton?: SidebarMenuButtonProps[\"onClick\"];\n right?: ReactNode;\n center?: ReactNode;\n left?: ReactNode;\n variant?: NavBarVariant;\n}\n\nexport const NavBar: React.FC<NavBarProps> = ({\n left,\n className,\n showMenuButton = false,\n menuButtonVisibility = \"visible\",\n children,\n right,\n center,\n variant = \"standard\",\n onClickMenuButton,\n}) => {\n const currentFlex = center ? 1 : undefined;\n const height = getNavbarHeight(variant);\n return (\n <Row\n height={height}\n minHeight={height}\n justifyContent={\"space-between\"}\n style={{ [\"--swui-nav-bar-height\" as string]: height }}\n className={cx(styles.navBar, className)}\n >\n <Row\n flex={currentFlex}\n justifyContent={\"flex-start\"}\n alignItems={\"center\"}\n >\n {showMenuButton ? (\n <>\n {menuButtonVisibility === \"hidden\" ? (\n <Box width={\"var(--swui-nav-bar-height)\"} />\n ) : (\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n )}\n <Indent />\n </>\n ) : (\n <Indent num={2} />\n )}\n {left ? (\n <>\n {left}\n <Indent num={2} />\n </>\n ) : (\n <Indent num={2} />\n )}\n {children && (\n <>\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {React.Children.map(children, (child, index) => (\n <>\n {index > 0 && <Indent />}\n {child}\n </>\n ))}\n </Row>\n </>\n )}\n </Row>\n {center && (\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {center}\n </Row>\n )}\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"} flex={currentFlex}>\n {right}\n <Indent num={2} />\n </Row>\n </Row>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarButton.module.css\";\n\nexport interface NavBarButtonProps extends FlatButtonProps {\n selected?: boolean;\n}\n\nexport const NavBarButton: React.FC<NavBarButtonProps> = ({\n selected,\n className,\n ...buttonProps\n}) => {\n return (\n <FlatButton\n {...buttonProps}\n className={cx(\n styles.navBarButton,\n selected && styles.selected,\n className\n )}\n />\n );\n};\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"@stenajs-webui/core\";\n\ninterface NavBarHeadingProps extends HeadingProps {}\n\nexport const NavBarHeading: React.FC<NavBarHeadingProps> = (headingProps) => {\n return <Heading whiteSpace={\"nowrap\"} color={\"#fff\"} {...headingProps} />;\n};\n","import { useBoolean } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { NavBarButton, NavBarButtonProps } from \"./NavBarButton\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\n\ntype RenderProp = (args: RenderPropArgs) => ReactNode;\n\ninterface RenderPropArgs {\n close: () => void;\n}\n\nexport interface NavBarPopoverButtonProps\n extends Omit<NavBarButtonProps, \"onClick\"> {\n content?: RenderProp;\n}\n\nexport const NavBarPopoverButton: React.FC<NavBarPopoverButtonProps> = ({\n content,\n children,\n ...navBarButtonProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n\n return (\n <Popover\n onClickOutside={close}\n triggerTarget={document.body}\n visible={isOpen}\n content={\n <>\n {content && content({ close })}\n {children}\n </>\n }\n >\n <NavBarButton {...navBarButtonProps} onClick={open} />\n </Popover>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarNotificationButton.module.css\";\nimport { faBell } from \"@fortawesome/free-solid-svg-icons/faBell\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\n\nexport interface NavBarNotificationButtonProps\n extends Omit<FlatButtonProps, \"leftIcon\" | \"rightIcon\" | \"label\"> {\n count: number;\n unread: boolean;\n icon?: IconDefinition;\n}\n\nexport const NavBarNotificationButton: React.FC<NavBarNotificationButtonProps> = ({\n count,\n unread = false,\n className,\n labelClassName,\n iconClassName,\n icon = faBell,\n ...buttonProps\n}) => {\n const hasCount = count > 0;\n\n return (\n <FlatButton\n {...buttonProps}\n leftIcon={icon}\n className={cx(\n { [styles.unread]: unread },\n { [styles.hasCount]: hasCount },\n styles.navBarNotificationButton,\n className\n )}\n label={hasCount ? String(count) : undefined}\n labelClassName={cx(labelClassName, styles.label)}\n iconClassName={cx(iconClassName, styles.icon)}\n />\n );\n};\n","import * as React from \"react\";\nimport { TextInput, TextInputProps } from \"@stenajs-webui/forms\";\nimport { Clickable } from \"@stenajs-webui/core\";\nimport { Icon, stenaSearch } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSearchField.module.css\";\n\ninterface NavBarSearchFieldProps extends TextInputProps {}\n\nexport const NavBarSearchField: React.FC<NavBarSearchFieldProps> = ({\n placeholder = \"Search...\",\n className,\n wrapperClassName,\n ...textInputProps\n}) => {\n return (\n <TextInput\n wrapperClassName={cx(styles.navBarSearchField, wrapperClassName)}\n className={cx(styles.navBarSearchFieldInput, className)}\n placeholder={placeholder}\n contentRight={\n <Clickable>\n <Icon icon={stenaSearch} />\n </Clickable>\n }\n {...textInputProps}\n />\n );\n};\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarUserButton.module.css\";\nimport { faUser } from \"@fortawesome/free-solid-svg-icons/faUser\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n ActionMenuFlatButton,\n ActionMenuFlatButtonProps,\n} from \"../action-menu-button/ActionMenuFlatButton\";\n\nexport interface NavBarUserButtonProps\n extends Omit<ActionMenuFlatButtonProps, \"label\" | \"leftIcon\" | \"rightIcon\"> {\n username?: string;\n initials?: string;\n icon?: IconDefinition;\n}\n\nexport const NavBarUserButton: React.FC<NavBarUserButtonProps> = ({\n className,\n username,\n initials,\n icon = faUser,\n iconClassName,\n ...buttonProps\n}) => {\n return (\n <ActionMenuFlatButton\n {...buttonProps}\n className={cx(\n { [styles.initials]: initials != null },\n styles.navBarUserButton,\n className\n )}\n leftIcon={username != null ? faUser : undefined}\n label={initials ?? username}\n disableArrow\n />\n );\n};\n","export interface NotificationTheme {\n notificationBg: string;\n notificationHoverBg: string;\n notificationDismissedBg: string;\n notificationDismissedHoverBg: string;\n}\n\nexport const defaultNotificationTheme: NotificationTheme = {\n notificationBg: \"#eaeaea\",\n notificationHoverBg: \"#eeeeee\",\n notificationDismissedBg: \"#ffffff\",\n notificationDismissedHoverBg: \"#f4f4f4\",\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Box, Clickable, Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport { formatDistance } from \"date-fns\";\nimport * as React from \"react\";\nimport { ReactNode, useMemo } from \"react\";\nimport {\n defaultNotificationTheme,\n NotificationTheme,\n} from \"./NotificationTheme\";\n\nexport interface NotificationProps {\n title?: string;\n text?: string;\n content?: ReactNode;\n dismissed?: boolean;\n date?: Date;\n icon?: IconDefinition;\n iconColor?: string;\n onClick?: () => void;\n theme?: NotificationTheme;\n}\n\nexport const Notification: React.FC<NotificationProps> = ({\n onClick,\n icon,\n iconColor,\n title,\n text,\n content,\n date,\n dismissed,\n theme = defaultNotificationTheme,\n}) => {\n const agoLabel = useMemo(() => {\n if (date) {\n return `${formatDistance(date, new Date())} ago`;\n }\n return undefined;\n }, [date]);\n\n return (\n <Clickable onClick={onClick} style={{ textAlign: \"left\" }}>\n <Box\n background={\n dismissed ? theme.notificationDismissedBg : theme.notificationBg\n }\n hoverBackground={\n dismissed\n ? theme.notificationDismissedHoverBg\n : theme.notificationHoverBg\n }\n spacing\n indent\n >\n <Row width={\"250px\"}>\n {icon && (\n <Row width={\"34px\"} alignItems={\"center\"}>\n <Icon icon={icon} color={iconColor} />\n </Row>\n )}\n <Column flex={1}>\n {title && (\n <>\n <Text>{title}</Text>\n <Space half />\n </>\n )}\n {text && (\n <>\n <Text size={\"small\"}>{text}</Text>\n <Space half />\n </>\n )}\n {content && (\n <>\n {content}\n <Space half />\n </>\n )}\n <Text size={\"small\"} color={cssColor(\"--swui-text-disabled-color\")}>\n {agoLabel}\n </Text>\n </Column>\n </Row>\n </Box>\n </Clickable>\n );\n};\n","import { faInbox } from \"@fortawesome/free-solid-svg-icons/faInbox\";\nimport { Column, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\ninterface Props {}\n\nexport const CollapsibleEmptyContent: React.FC<Props> = () => {\n return (\n <Column indent spacing flex={1} alignItems={\"center\"}>\n <Icon icon={faInbox} color={cssColor(\"--lhds-color-ui-500\")} />\n <Space />\n <Text size={\"small\"} color={cssColor(\"--lhds-color-ui-500\")}>\n No content\n </Text>\n </Column>\n );\n};\n","import cx from \"classnames\";\nimport * as React from \"react\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleSimpleContentProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n}\n\nexport const CollapsibleContent: React.FC<\n CollapsibleSimpleContentProps & HTMLAttributes<HTMLDivElement>\n> = ({ contentLeft, contentRight, className, children, ...props }) => {\n return (\n <div className={cx(styles.content, className)} {...props}>\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </div>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { Clickable, ClickableProps, DivProps, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleContent } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleProps\n extends Omit<DivProps, \"onClick\">,\n Pick<ClickableProps, \"onClick\"> {\n label: string;\n contentLeft?: React.ReactNode;\n contentRight?: React.ReactNode;\n collapsed?: boolean;\n disabled?: boolean;\n unmountOnCollapse?: boolean;\n mountOnEnter?: boolean;\n icon?: IconDefinition;\n iconCollapsed?: IconDefinition;\n iconSize?: number;\n autoFocus?: boolean;\n}\n\nexport const mapCSSTime = (value: string): number => {\n const num = parseFloat(value);\n const match = value.match(/m?s/);\n\n switch (match?.[0]) {\n case \"s\":\n return num * 1000;\n case \"ms\":\n return num;\n default:\n return 0;\n }\n};\n\nexport const Collapsible = forwardRef<HTMLButtonElement, CollapsibleProps>(\n function Collapsible(\n {\n label,\n contentLeft,\n contentRight,\n collapsed = false,\n onClick,\n className,\n disabled = false,\n unmountOnCollapse = false,\n mountOnEnter = true,\n icon = faChevronUp,\n iconCollapsed = faChevronDown,\n iconSize = 8,\n children,\n autoFocus = false,\n ...divProps\n },\n ref\n ) {\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const timeout = divRef.current\n ? mapCSSTime(\n getComputedStyle(divRef.current).getPropertyValue(\n \"--swui-collapsible-animation-time\"\n )\n )\n : undefined;\n\n return (\n <div\n className={cx(styles.collapsible, className)}\n aria-expanded={!collapsed}\n ref={divRef}\n {...divProps}\n >\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={styles.header}\n onClick={onClick}\n disabled={disabled}\n autoFocus={autoFocus}\n ref={ref}\n >\n {contentLeft && (\n <div className={styles.contentLeft}>{contentLeft}</div>\n )}\n <div className={styles.label}>\n <Text\n color={\"var(--swui-collapsible-header-text-color)\"}\n className={styles.headerText}\n >\n {label}\n </Text>\n </div>\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n <Icon\n icon={collapsed ? iconCollapsed : icon}\n className={styles.indicator}\n size={iconSize}\n fixedWidth\n />\n </Clickable>\n <CSSTransition\n in={!collapsed}\n timeout={{\n enter: timeout,\n }}\n classNames={{\n enter: styles.contentEnter,\n enterActive: styles.contentEnterActive,\n exit: styles.contentExit,\n exitActive: styles.contentExitActive,\n exitDone: styles.contentExitDone,\n }}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnCollapse}\n >\n <div role={\"region\"}>\n {children ?? (\n <CollapsibleContent>\n <CollapsibleEmptyContent />\n </CollapsibleContent>\n )}\n </div>\n </CSSTransition>\n </div>\n );\n }\n);\n","import { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\nimport * as React from \"react\";\nimport { Collapsible, CollapsibleProps } from \"./Collapsible\";\n\nexport interface CollapsibleWithCheckboxProps\n extends Omit<CollapsibleProps, \"contentLeft\" | \"onChange\">,\n Pick<\n CheckboxProps,\n \"value\" | \"onValueChange\" | \"onChange\" | \"indeterminate\"\n > {}\n\nexport const CollapsibleWithCheckbox: React.FC<CollapsibleWithCheckboxProps> = ({\n value,\n onValueChange,\n onChange,\n indeterminate,\n ...collapsibleProps\n}) => {\n return (\n <Collapsible\n contentLeft={\n <Checkbox\n value={value}\n indeterminate={indeterminate}\n onValueChange={onValueChange}\n onChange={onChange}\n onClick={(ev) => ev.stopPropagation()}\n />\n }\n {...collapsibleProps}\n />\n );\n};\n","import { ButtonElementProps, Clickable } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleSimpleContentProps } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleClickableContentProps\n extends CollapsibleSimpleContentProps,\n ButtonElementProps {}\n\nexport const CollapsibleClickableContent: React.FC<CollapsibleClickableContentProps> = ({\n contentLeft,\n contentRight,\n className,\n onClick,\n children,\n ...props\n}) => {\n return (\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={cx(styles.content, className)}\n onClick={onClick}\n {...props}\n >\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </Clickable>\n );\n};\n","import { DivProps } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"./CollapsibleContent\";\n\nexport interface CollapsibleGroupHeadingProps\n extends CollapsibleSimpleContentProps,\n DivProps {}\n\nexport const CollapsibleGroupHeading: React.FC<CollapsibleGroupHeadingProps> = ({\n className,\n ...props\n}) => (\n <CollapsibleContent\n className={cx(styles.groupHeading, className)}\n {...props}\n />\n);\n","import { Box } from \"@stenajs-webui/core\";\nimport { Banner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ErrorPanelProps {\n text?: string;\n}\n\nexport const ErrorPanel: React.FC<ErrorPanelProps> = ({\n text = \"Something unexpected happened.\",\n}) => {\n return (\n <Box justifyContent={\"center\"} alignItems={\"center\"}>\n <Banner variant={\"error\"} headerText={text} />\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ErrorPanel, ErrorPanelProps } from \"./ErrorPanel\";\n\nexport const ErrorScreen: React.FC<ErrorPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <ErrorPanel {...props} />\n </Box>\n );\n};\n","import { Box, Heading, Space } from \"@stenajs-webui/core\";\nimport { Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface LoadingPanelProps {\n text?: string;\n}\n\nexport const LoadingPanel: React.FC<LoadingPanelProps> = ({\n text = \"Loading...\",\n}) => {\n return (\n <Box alignItems={\"center\"}>\n <Spinner size={\"small\"} />\n <Space num={4} />\n <Heading variant={\"h4\"}>{text}</Heading>\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { LoadingPanel, LoadingPanelProps } from \"./LoadingPanel\";\n\nexport const LoadingScreen: React.FC<LoadingPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <LoadingPanel {...props} />\n </Box>\n );\n};\n","import { Box, Row, SeparatorLine, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface PageHeaderProps {\n renderBreadCrumbs?: () => ReactNode;\n renderPageHeading?: () => ReactNode;\n renderTabs?: () => ReactNode;\n}\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n renderBreadCrumbs,\n renderPageHeading,\n renderTabs,\n children,\n}) => {\n return (\n <Box shadow={\"box\"}>\n <Box indent={3}>\n {renderBreadCrumbs && <Row spacing={1.25}>{renderBreadCrumbs()}</Row>}\n {renderPageHeading?.()}\n {renderTabs?.()}\n </Box>\n {children && (\n <>\n {!renderTabs && <Space />}\n <SeparatorLine />\n {children}\n </>\n )}\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Row } from \"@stenajs-webui/core\";\n\nexport interface PageHeaderRowProps extends BoxProps {}\n\nexport const PageHeaderRow: React.FC<PageHeaderRowProps> = (props) => (\n <Row indent={3} spacing {...props} />\n);\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row } from \"@stenajs-webui/core\";\n\nexport type PageHeadingVariant = \"compact\" | \"standard\" | \"relaxed\";\n\ninterface PageHeadingProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n heading: string;\n variant?: PageHeadingVariant;\n}\n\nconst variantToSpacing: Record<PageHeadingVariant, number> = {\n compact: 1,\n standard: 1.5,\n relaxed: 2,\n};\n\nexport const PageHeading: React.VFC<PageHeadingProps> = ({\n heading,\n variant = \"standard\",\n contentLeft,\n contentRight,\n}) => (\n <Row spacing={variantToSpacing[variant]} alignItems={\"center\"} gap={2}>\n <Heading variant={\"h3\"}>{heading}</Heading>\n <Row alignItems={\"center\"}>{contentLeft}</Row>\n <Row style={{ marginLeft: \"auto\" }} alignItems={\"center\"}>\n {contentRight}\n </Row>\n </Row>\n);\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./SidebarMenuCloseButton.module.css\";\nimport { Box, ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as CloseIcon } from \"./svg/close.svg\";\n\nexport interface SidebarMenuCloseButtonProps extends ButtonElementProps {}\n\nexport const SidebarMenuCloseButton: React.FC<SidebarMenuCloseButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuCloseButton, className)}\n >\n <Box className={styles.iconWrapper}>\n <CloseIcon className={styles.icon} />\n </Box>\n </button>\n );\n};\n","import { SeparatorLine, SeparatorLineProps } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\nexport interface SidebarMenuSeparatorProps extends SeparatorLineProps {}\n\nexport const SidebarMenuSeparator: React.FC<SidebarMenuSeparatorProps> = (\n separatorLineProps\n) => (\n <SeparatorLine\n color={cssColor(\"--lhds-color-blue-600\")}\n {...separatorLineProps}\n />\n);\n","import { Box, BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenu.module.css\";\nimport {\n SidebarMenuCloseButton,\n SidebarMenuCloseButtonProps,\n} from \"./SidebarMenuCloseButton\";\nimport { getNavbarHeight } from \"../nav-bar/NavbarHeightStyleUtil\";\nimport { NavBarVariant } from \"../nav-bar/NavBar\";\nimport { SidebarMenuSeparator } from \"./SidebarMenuSeparator\";\n\nexport type SidebarMenuVariant = NavBarVariant;\n\nexport interface SidebarMenuProps extends BoxProps {\n onCloseClick?: SidebarMenuCloseButtonProps[\"onClick\"];\n hideCloseButton?: boolean;\n collapsed?: boolean;\n variant?: SidebarMenuVariant;\n}\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({\n className,\n children,\n onCloseClick,\n collapsed = false,\n hideCloseButton = false,\n variant = \"standard\",\n ...boxProps\n}) => {\n const height = getNavbarHeight(variant);\n\n return (\n <Box\n className={cx(\n styles.sidebarMenu,\n collapsed ? styles.collapsed : null,\n className\n )}\n style={{\n [\"--swui-sidebar-menu-item-height\" as string]: height,\n [\"--swui-nav-bar-height\" as string]: height,\n }}\n data-collapsed={collapsed || undefined}\n {...boxProps}\n >\n {!hideCloseButton && (\n <>\n <SidebarMenuCloseButton onClick={onCloseClick} />\n <SidebarMenuSeparator />\n <Space />\n </>\n )}\n <Box\n className={styles.sidebarMenuContent}\n height={\"100%\"}\n background={\"var(--current-background-color)\"}\n >\n <Column flex={1}>{children}</Column>\n </Box>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { SidebarMenu, SidebarMenuVariant } from \"../SidebarMenu\";\nimport { NavBarSideMenuButton } from \"../../nav-bar/NavBarSideMenuButton\";\n\ninterface RailMenuProps {\n variant?: SidebarMenuVariant;\n onClickMenuButton?: () => void;\n}\n\nexport const SidebarRailMenu: React.FC<RailMenuProps> = ({\n variant,\n onClickMenuButton,\n children,\n}) => {\n return (\n <SidebarMenu\n collapsed\n position={\"fixed\"}\n left={0}\n top={0}\n hideCloseButton\n variant={variant}\n >\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n {children}\n </SidebarMenu>\n );\n};\n","import { ButtonElementProps, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, ReactNode } from \"react\";\nimport { ButtonContent, ButtonContentProps } from \"@stenajs-webui/elements\";\nimport contentStyles from \"./SidebarMenuContent.module.css\";\nimport cx from \"classnames\";\n\nexport type RenderLinkProps = ButtonElementProps & { activeClassName: string };\n\nexport interface SidebarMenuLinkProps\n extends ButtonElementProps,\n Pick<\n ButtonContentProps,\n | \"label\"\n | \"loading\"\n | \"left\"\n | \"leftIcon\"\n | \"right\"\n | \"rightIcon\"\n | \"success\"\n > {\n renderLink?: SidebarLinkRenderer;\n width?: CSSProperties[\"width\"];\n selected?: boolean;\n indent?: boolean;\n}\n\nexport type SidebarLinkRenderer = (props: RenderLinkProps) => ReactNode;\n\nexport const defaultRenderLink: SidebarLinkRenderer = (props) => {\n return <button {...props} />;\n};\n\nexport const SidebarMenuLink: React.FC<SidebarMenuLinkProps> = ({\n className,\n children,\n selected,\n indent,\n label,\n loading,\n left,\n leftIcon,\n right,\n rightIcon,\n success,\n width,\n renderLink = defaultRenderLink,\n style,\n ...buttonProps\n}) => {\n const hasContentLeft = left || leftIcon || loading || success;\n\n const innerClassName = cx(\n contentStyles.button,\n selected ? contentStyles.selected : undefined,\n className\n );\n\n const innerStyle = {\n ...style,\n width,\n height: \"var(--swui-sidebar-menu-item-height)\",\n };\n\n const innerChildren = (\n <Row spacing={1} flex={1} alignItems={\"center\"}>\n {!hasContentLeft && <Indent />}\n {indent && <Indent num={3.5} />}\n <ButtonContent\n label={label}\n loading={loading}\n left={left}\n leftIcon={leftIcon}\n right={right}\n rightIcon={rightIcon}\n success={success}\n labelClassName={contentStyles.label}\n spinnerClassName={contentStyles.spinner}\n iconClassName={cx(contentStyles.icon)}\n leftWrapperClassName={contentStyles.leftWrapper}\n />\n </Row>\n );\n\n return (\n <>\n {renderLink({\n ...buttonProps,\n activeClassName: contentStyles.selected,\n className: innerClassName,\n children: innerChildren,\n style: innerStyle,\n })}\n </>\n );\n};\n","import { Box, Text, TextProps } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenuHeading.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"../collapsible/CollapsibleContent\";\n\nexport interface SidebarMenuHeadingProps\n extends Pick<CollapsibleSimpleContentProps, \"contentLeft\" | \"contentRight\">,\n TextProps {\n label?: string;\n}\n\nexport const SidebarMenuHeading: React.FC<SidebarMenuHeadingProps> = ({\n className,\n label,\n contentLeft,\n contentRight,\n ...textProps\n}) => {\n return (\n <Box spacing={2} indent={2}>\n <CollapsibleContent\n className={styles.sidebarMenuHeading}\n contentLeft={contentLeft}\n contentRight={contentRight}\n >\n <Text\n variant={\"overline\"}\n color={\"var(--swui-sidebar-menu-heading-text-color)\"}\n {...textProps}\n >\n {label}\n </Text>\n </CollapsibleContent>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { Collapsible } from \"../collapsible/Collapsible\";\nimport { Box, Column, Indent } from \"@stenajs-webui/core\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport styles from \"./SidebarMenuCollapsible.module.css\";\nimport { Icon } from \"@stenajs-webui/elements\";\n\nexport interface SidebarMenuCollapsibleProps {\n label: string;\n collapsed?: boolean;\n leftIcon?: IconDefinition;\n}\n\nexport const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps> = ({\n children,\n label,\n leftIcon,\n}) => {\n const [collapsed, setCollapsed] = useState<boolean>(false);\n\n return (\n <Box background={\"var(--current-background-color)\"}>\n <Collapsible\n className={styles.sidebarMenuCollapsible}\n label={label}\n collapsed={collapsed}\n onClick={() => setCollapsed(!collapsed)}\n contentLeft={\n leftIcon ? (\n <Box\n width={\"var(--swui-sidebar-menu-item-height)\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n >\n <Icon\n icon={leftIcon}\n size={16}\n color={\"var(--current-text-color)\"}\n data-hover={true}\n />\n </Box>\n ) : (\n <Indent num={1} />\n )\n }\n >\n <Column flex={1}>{children}</Column>\n </Collapsible>\n </Box>\n );\n};\n","import { SidebarMenuLink } from \"../../SidebarMenuLink\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { SidebarMenuHeading } from \"../../SidebarMenuHeading\";\nimport { SidebarMenuSeparator } from \"../../SidebarMenuSeparator\";\nimport { SidebarMenuCollapsible } from \"../../SidebarMenuCollapsible\";\nimport { Box, exhaustSwitchCaseElseThrow } from \"@stenajs-webui/core\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { SidebarItem } from \"./types\";\n\nexport const renderItemsExpanded = (\n items: SidebarItem[],\n indent = false\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return <SidebarMenuHeading label={item.label} />;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, ...linkProps } = item;\n return <SidebarMenuLink indent={indent} {...linkProps} />;\n }\n case \"grouped\":\n return (\n <SidebarMenuCollapsible leftIcon={item.leftIcon} label={item.label}>\n {renderItemsExpanded(item.items, true)}\n </SidebarMenuCollapsible>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n\ninterface RailRendererOptions {\n popupMinWidth: string | number;\n}\n\nexport const renderItemsInRail = (\n items: SidebarItem[],\n { popupMinWidth }: RailRendererOptions\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return null;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, label, ...linkProps } = item;\n return (\n <SidebarMenuLink\n title={label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n {...linkProps}\n />\n );\n }\n case \"grouped\":\n return (\n <div>\n <Popover\n appendTo={\"parent\"}\n arrow={false}\n offset={[0, 0]}\n placement={\"right-start\"}\n trigger={\"focusin mouseenter click\"}\n disablePadding\n lazy\n content={\n <Box\n minWidth={popupMinWidth}\n background={\"var(--lhds-color-blue-500)\"}\n >\n <SidebarMenuHeading label={item.label} />\n {renderItemsExpanded(item.items)}\n </Box>\n }\n >\n <SidebarMenuLink\n title={item.label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n leftIcon={item.leftIcon}\n />\n </Popover>\n </div>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n"],"names":["faAngleDown","useBoolean","useRef","useMemo","React","Popover","ActionMenu","ActionMenuContext","PrimaryButton","SecondaryButton","FlatButton","Column","Box","Row","Checkbox","Indent","cx","styles","Hamburger","Heading","faBell","TextInput","Clickable","Icon","stenaSearch","faUser","theme","formatDistance","Text","Space","cssColor","faInbox","forwardRef","faChevronUp","faChevronDown","CSSTransition","Banner","Spinner","SeparatorLine","CloseIcon","ButtonContent","useState","exhaustSwitchCaseElseThrow"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/action-menu-button/ActionMenuButton.tsx","../src/components/action-menu-button/ActionMenuPrimaryButton.tsx","../src/components/action-menu-button/ActionMenuSecondaryButton.tsx","../src/components/action-menu-button/ActionMenuFlatButton.tsx","../src/components/checkbox-menu/CheckboxMenu.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/nav-bar/NavBarSideMenuButton.tsx","../src/components/nav-bar/NavbarHeightStyleUtil.ts","../src/components/nav-bar/NavBar.tsx","../src/components/nav-bar/NavBarButton.tsx","../src/components/nav-bar/NavBarHeading.tsx","../src/components/nav-bar/NavBarPopoverButton.tsx","../src/components/nav-bar/NavBarNotificationButton.tsx","../src/components/nav-bar/NavBarSearchField.tsx","../src/components/nav-bar/NavBarUserButton.tsx","../src/components/notifications/NotificationTheme.ts","../src/components/notifications/Notification.tsx","../src/components/collapsible/CollapsibleEmptyContent.tsx","../src/components/collapsible/CollapsibleContent.tsx","../src/components/collapsible/Collapsible.tsx","../src/components/collapsible/CollapsibleWithCheckbox.tsx","../src/components/collapsible/CollapsibleClickableContent.tsx","../src/components/collapsible/CollapsibleGroupHeading.tsx","../src/components/error-panel/ErrorPanel.tsx","../src/components/error-panel/ErrorScreen.tsx","../src/components/loading-panel/LoadingPanel.tsx","../src/components/loading-panel/LoadingScreen.tsx","../src/components/page-header/PageHeader.tsx","../src/components/page-header/PageHeaderRow.tsx","../src/components/page-header/PageHeading.tsx","../src/components/sidebar-menu/SidebarMenuCloseButton.tsx","../src/components/sidebar-menu/SidebarMenuSeparator.tsx","../src/components/sidebar-menu/SidebarMenu.tsx","../src/components/sidebar-menu/rail/SidebarRailMenu.tsx","../src/components/sidebar-menu/SidebarMenuLink.tsx","../src/components/sidebar-menu/SidebarMenuHeading.tsx","../src/components/sidebar-menu/SidebarMenuCollapsible.tsx","../src/components/sidebar-menu/rail/renderer/RailRenderer.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport {\n ActionMenu,\n ActionMenuContext,\n ActionMenuProps,\n FlatButton,\n PrimaryButton,\n PrimaryButtonProps,\n SecondaryButton,\n} from \"@stenajs-webui/elements\";\nimport { useBoolean } from \"@stenajs-webui/core\";\nimport { Popover, PopoverProps } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { Plugin as TippyPlugin, Props as TippyProps } from \"tippy.js\";\n\nexport interface ActionMenuButtonProps\n extends Omit<\n PrimaryButtonProps,\n \"variant\" | \"loading\" | \"loadingLabel\" | \"success\" | \"successLabel\"\n > {\n /** The content of the Action Menu. */\n renderItems: (close: () => void) => ReactNode;\n /** The placement of the Action Menu. */\n placement?: PopoverProps[\"placement\"];\n /** Z-index of the Action Menu */\n zIndex?: number;\n /** Portal target, HTML element. If not set, portal is not used. */\n portalTarget?: PopoverProps[\"appendTo\"];\n menuWidth?: ActionMenuProps[\"width\"];\n menuTop?: ActionMenuProps[\"top\"];\n buttonComponent:\n | typeof PrimaryButton\n | typeof SecondaryButton\n | typeof FlatButton;\n disableArrow?: boolean;\n}\n\nexport const ActionMenuButton: React.FC<ActionMenuButtonProps> = ({\n renderItems,\n placement = \"bottom\",\n buttonComponent: Button,\n rightIcon = faAngleDown,\n portalTarget = \"parent\",\n zIndex,\n menuWidth,\n menuTop,\n onClick,\n disableArrow = false,\n ...buttonProps\n}) => {\n const [isOpen, open, close, toggle] = useBoolean(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const focusManager: TippyPlugin<TippyProps> = {\n name: \"focusManager\",\n defaultValue: true,\n fn({ popper }) {\n let restoreFocus = false;\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n restoreFocus = true;\n close();\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n restoreFocus = true;\n }\n };\n\n return {\n onCreate() {\n popper.addEventListener(\"keydown\", closeOnEscape);\n },\n onDestroy() {\n popper.removeEventListener(\"keydown\", closeOnEscape);\n },\n onMount() {\n restoreFocus = false;\n popper\n .querySelector<HTMLElement>(\"button:not([disabled]), a[href]\")\n ?.focus();\n },\n onHide() {\n if (buttonRef.current && restoreFocus) {\n buttonRef.current.focus();\n }\n },\n };\n },\n };\n\n const contextValue = useMemo(() => ({ open, close }), [open, close]);\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n onClick?.(event);\n toggle();\n };\n\n return (\n <Popover\n disablePadding\n visible={isOpen}\n onClickOutside={close}\n placement={placement}\n content={\n isOpen && (\n <ActionMenu\n variant={\"outlined\"}\n width={menuWidth}\n top={menuTop}\n trapFocus\n >\n <ActionMenuContext.Provider value={contextValue}>\n {renderItems(close)}\n </ActionMenuContext.Provider>\n </ActionMenu>\n )\n }\n arrow={false}\n appendTo={portalTarget}\n zIndex={zIndex}\n plugins={[focusManager]}\n lazy\n >\n <Button\n rightIcon={disableArrow ? undefined : rightIcon}\n {...buttonProps}\n ref={buttonRef}\n onClick={handleClick}\n />\n </Popover>\n );\n};\n","import * as React from \"react\";\nimport { PrimaryButton, PrimaryButtonProps } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuPrimaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\">,\n Pick<PrimaryButtonProps, \"variant\"> {}\n\nexport const ActionMenuPrimaryButton: React.FC<ActionMenuPrimaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={PrimaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { SecondaryButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuSecondaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuSecondaryButton: React.FC<\n ActionMenuSecondaryButtonProps\n> = (props) => {\n return <ActionMenuButton buttonComponent={SecondaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuFlatButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuFlatButton: React.FC<ActionMenuFlatButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={FlatButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Box, Column, Indent, Row, useBoolean } from \"@stenajs-webui/core\";\nimport { ActionMenu, FlatButton } from \"@stenajs-webui/elements\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\n\nexport interface CheckboxMenuProps extends CheckboxProps {\n renderMenu: (close: () => void) => ReactNode;\n}\n\nconst border = `1px solid var(--lhds-color-ui-300)`;\n\nexport const CheckboxMenu: React.FC<CheckboxMenuProps> = ({\n renderMenu,\n ...checkboxProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n return (\n <Popover\n onClickOutside={close}\n arrow={false}\n visible={isOpen}\n disablePadding\n content={\n renderMenu ? (\n <Column>\n <ActionMenu>{renderMenu(close)}</ActionMenu>\n </Column>\n ) : undefined\n }\n placement={\"bottom-start\"}\n variant={\"outlined\"}\n >\n <Box display={\"inline-block\"}>\n <Row\n spacing={0.5}\n indent\n alignItems={\"center\"}\n border={border}\n borderRadius={\"4px\"}\n >\n <Checkbox {...checkboxProps} />\n <Indent num={0.5} />\n <FlatButton size={\"small\"} onClick={open} leftIcon={faAngleDown} />\n </Row>\n </Box>\n </Popover>\n );\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSideMenuButton.module.css\";\nimport { DivProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as Hamburger } from \"./svg/bars.svg\";\n\nexport interface SidebarMenuButtonProps extends Pick<DivProps, \"className\"> {\n onClick?: (ev: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const NavBarSideMenuButton: React.FC<SidebarMenuButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuButton, className)}\n >\n <Hamburger className={styles.icon} />\n </button>\n );\n};\n","import { NavBarVariant } from \"./NavBar\";\n\nconst variantToHeight: Record<NavBarVariant, number> = {\n compact: 40,\n standard: 48,\n relaxed: 64,\n};\n\nexport const getNavbarHeight = (variant: NavBarVariant) =>\n variantToHeight[variant] + \"px\";\n","import { Box, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBar.module.css\";\nimport {\n NavBarSideMenuButton,\n SidebarMenuButtonProps,\n} from \"./NavBarSideMenuButton\";\nimport { getNavbarHeight } from \"./NavbarHeightStyleUtil\";\n\nexport type NavBarVariant = \"compact\" | \"standard\" | \"relaxed\";\n\nexport interface NavBarProps {\n className?: string;\n showMenuButton?: boolean;\n menuButtonVisibility?: \"visible\" | \"hidden\";\n onClickMenuButton?: SidebarMenuButtonProps[\"onClick\"];\n right?: ReactNode;\n center?: ReactNode;\n left?: ReactNode;\n variant?: NavBarVariant;\n children?: ReactNode;\n}\n\nexport const NavBar: React.FC<NavBarProps> = ({\n left,\n className,\n showMenuButton = false,\n menuButtonVisibility = \"visible\",\n children,\n right,\n center,\n variant = \"standard\",\n onClickMenuButton,\n}) => {\n const currentFlex = center ? 1 : undefined;\n const height = getNavbarHeight(variant);\n return (\n <Row\n height={height}\n minHeight={height}\n justifyContent={\"space-between\"}\n style={{ [\"--swui-nav-bar-height\" as string]: height }}\n className={cx(styles.navBar, className)}\n >\n <Row\n flex={currentFlex}\n justifyContent={\"flex-start\"}\n alignItems={\"center\"}\n >\n {showMenuButton ? (\n <>\n {menuButtonVisibility === \"hidden\" ? (\n <Box width={\"var(--swui-nav-bar-height)\"} />\n ) : (\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n )}\n <Indent />\n </>\n ) : (\n <Indent num={2} />\n )}\n {left ? (\n <>\n {left}\n <Indent num={2} />\n </>\n ) : (\n <Indent num={2} />\n )}\n {children && (\n <>\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {React.Children.map(children, (child, index) => (\n <>\n {index > 0 && <Indent />}\n {child}\n </>\n ))}\n </Row>\n </>\n )}\n </Row>\n {center && (\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {center}\n </Row>\n )}\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"} flex={currentFlex}>\n {right}\n <Indent num={2} />\n </Row>\n </Row>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarButton.module.css\";\n\nexport interface NavBarButtonProps extends FlatButtonProps {\n selected?: boolean;\n}\n\nexport const NavBarButton: React.FC<NavBarButtonProps> = ({\n selected,\n className,\n ...buttonProps\n}) => {\n return (\n <FlatButton\n {...buttonProps}\n className={cx(\n styles.navBarButton,\n selected && styles.selected,\n className\n )}\n />\n );\n};\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"@stenajs-webui/core\";\n\ninterface NavBarHeadingProps extends HeadingProps {}\n\nexport const NavBarHeading: React.FC<NavBarHeadingProps> = (headingProps) => {\n return <Heading whiteSpace={\"nowrap\"} color={\"#fff\"} {...headingProps} />;\n};\n","import { useBoolean } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { NavBarButton, NavBarButtonProps } from \"./NavBarButton\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\n\ntype RenderProp = (args: RenderPropArgs) => ReactNode;\n\ninterface RenderPropArgs {\n close: () => void;\n}\n\nexport interface NavBarPopoverButtonProps\n extends Omit<NavBarButtonProps, \"onClick\"> {\n content?: RenderProp;\n}\n\nexport const NavBarPopoverButton: React.FC<NavBarPopoverButtonProps> = ({\n content,\n children,\n ...navBarButtonProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n\n return (\n <Popover\n onClickOutside={close}\n triggerTarget={document.body}\n visible={isOpen}\n content={\n <>\n {content && content({ close })}\n {children}\n </>\n }\n >\n <NavBarButton {...navBarButtonProps} onClick={open} />\n </Popover>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarNotificationButton.module.css\";\nimport { faBell } from \"@fortawesome/free-solid-svg-icons/faBell\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\n\nexport interface NavBarNotificationButtonProps\n extends Omit<FlatButtonProps, \"leftIcon\" | \"rightIcon\" | \"label\"> {\n count: number;\n unread: boolean;\n icon?: IconDefinition;\n}\n\nexport const NavBarNotificationButton: React.FC<\n NavBarNotificationButtonProps\n> = ({\n count,\n unread = false,\n className,\n labelClassName,\n iconClassName,\n icon = faBell,\n ...buttonProps\n}) => {\n const hasCount = count > 0;\n\n return (\n <FlatButton\n {...buttonProps}\n leftIcon={icon}\n className={cx(\n { [styles.unread]: unread },\n { [styles.hasCount]: hasCount },\n styles.navBarNotificationButton,\n className\n )}\n label={hasCount ? String(count) : undefined}\n labelClassName={cx(labelClassName, styles.label)}\n iconClassName={cx(iconClassName, styles.icon)}\n />\n );\n};\n","import * as React from \"react\";\nimport { TextInput, TextInputProps } from \"@stenajs-webui/forms\";\nimport { Clickable } from \"@stenajs-webui/core\";\nimport { Icon, stenaSearch } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSearchField.module.css\";\n\ninterface NavBarSearchFieldProps extends TextInputProps {}\n\nexport const NavBarSearchField: React.FC<NavBarSearchFieldProps> = ({\n placeholder = \"Search...\",\n className,\n wrapperClassName,\n ...textInputProps\n}) => {\n return (\n <TextInput\n wrapperClassName={cx(styles.navBarSearchField, wrapperClassName)}\n className={cx(styles.navBarSearchFieldInput, className)}\n placeholder={placeholder}\n contentRight={\n <Clickable>\n <Icon icon={stenaSearch} />\n </Clickable>\n }\n {...textInputProps}\n />\n );\n};\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarUserButton.module.css\";\nimport { faUser } from \"@fortawesome/free-solid-svg-icons/faUser\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n ActionMenuFlatButton,\n ActionMenuFlatButtonProps,\n} from \"../action-menu-button/ActionMenuFlatButton\";\n\nexport interface NavBarUserButtonProps\n extends Omit<ActionMenuFlatButtonProps, \"label\" | \"leftIcon\" | \"rightIcon\"> {\n username?: string;\n initials?: string;\n icon?: IconDefinition;\n}\n\nexport const NavBarUserButton: React.FC<NavBarUserButtonProps> = ({\n className,\n username,\n initials,\n icon = faUser,\n iconClassName,\n ...buttonProps\n}) => {\n return (\n <ActionMenuFlatButton\n {...buttonProps}\n className={cx(\n { [styles.initials]: initials != null },\n styles.navBarUserButton,\n className\n )}\n leftIcon={username != null ? faUser : undefined}\n label={initials ?? username}\n disableArrow\n />\n );\n};\n","export interface NotificationTheme {\n notificationBg: string;\n notificationHoverBg: string;\n notificationDismissedBg: string;\n notificationDismissedHoverBg: string;\n}\n\nexport const defaultNotificationTheme: NotificationTheme = {\n notificationBg: \"#eaeaea\",\n notificationHoverBg: \"#eeeeee\",\n notificationDismissedBg: \"#ffffff\",\n notificationDismissedHoverBg: \"#f4f4f4\",\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Box, Clickable, Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport { formatDistance } from \"date-fns\";\nimport * as React from \"react\";\nimport { ReactNode, useMemo } from \"react\";\nimport {\n defaultNotificationTheme,\n NotificationTheme,\n} from \"./NotificationTheme\";\n\nexport interface NotificationProps {\n title?: string;\n text?: string;\n content?: ReactNode;\n dismissed?: boolean;\n date?: Date;\n icon?: IconDefinition;\n iconColor?: string;\n onClick?: () => void;\n theme?: NotificationTheme;\n}\n\nexport const Notification: React.FC<NotificationProps> = ({\n onClick,\n icon,\n iconColor,\n title,\n text,\n content,\n date,\n dismissed,\n theme = defaultNotificationTheme,\n}) => {\n const agoLabel = useMemo(() => {\n if (date) {\n return `${formatDistance(date, new Date())} ago`;\n }\n return undefined;\n }, [date]);\n\n return (\n <Clickable onClick={onClick} style={{ textAlign: \"left\" }}>\n <Box\n background={\n dismissed ? theme.notificationDismissedBg : theme.notificationBg\n }\n hoverBackground={\n dismissed\n ? theme.notificationDismissedHoverBg\n : theme.notificationHoverBg\n }\n spacing\n indent\n >\n <Row width={\"250px\"}>\n {icon && (\n <Row width={\"34px\"} alignItems={\"center\"}>\n <Icon icon={icon} color={iconColor} />\n </Row>\n )}\n <Column flex={1}>\n {title && (\n <>\n <Text>{title}</Text>\n <Space half />\n </>\n )}\n {text && (\n <>\n <Text size={\"small\"}>{text}</Text>\n <Space half />\n </>\n )}\n {content && (\n <>\n {content}\n <Space half />\n </>\n )}\n <Text size={\"small\"} color={cssColor(\"--swui-text-disabled-color\")}>\n {agoLabel}\n </Text>\n </Column>\n </Row>\n </Box>\n </Clickable>\n );\n};\n","import { faInbox } from \"@fortawesome/free-solid-svg-icons/faInbox\";\nimport { Column, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\ninterface Props {}\n\nexport const CollapsibleEmptyContent: React.FC<Props> = () => {\n return (\n <Column indent spacing flex={1} alignItems={\"center\"}>\n <Icon icon={faInbox} color={cssColor(\"--lhds-color-ui-500\")} />\n <Space />\n <Text size={\"small\"} color={cssColor(\"--lhds-color-ui-500\")}>\n No content\n </Text>\n </Column>\n );\n};\n","import cx from \"classnames\";\nimport * as React from \"react\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleSimpleContentProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n}\n\nexport const CollapsibleContent: React.FC<\n CollapsibleSimpleContentProps & HTMLAttributes<HTMLDivElement>\n> = ({ contentLeft, contentRight, className, children, ...props }) => {\n return (\n <div className={cx(styles.content, className)} {...props}>\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </div>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { Clickable, ClickableProps, DivProps, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleContent } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleProps\n extends Omit<DivProps, \"onClick\">,\n Pick<ClickableProps, \"onClick\"> {\n label: string;\n contentLeft?: React.ReactNode;\n contentRight?: React.ReactNode;\n collapsed?: boolean;\n disabled?: boolean;\n unmountOnCollapse?: boolean;\n mountOnEnter?: boolean;\n icon?: IconDefinition;\n iconCollapsed?: IconDefinition;\n iconSize?: number;\n autoFocus?: boolean;\n}\n\nexport const mapCSSTime = (value: string): number => {\n const num = parseFloat(value);\n const match = value.match(/m?s/);\n\n switch (match?.[0]) {\n case \"s\":\n return num * 1000;\n case \"ms\":\n return num;\n default:\n return 0;\n }\n};\n\nexport const Collapsible = forwardRef<HTMLButtonElement, CollapsibleProps>(\n function Collapsible(\n {\n label,\n contentLeft,\n contentRight,\n collapsed = false,\n onClick,\n className,\n disabled = false,\n unmountOnCollapse = false,\n mountOnEnter = true,\n icon = faChevronUp,\n iconCollapsed = faChevronDown,\n iconSize = 8,\n children,\n autoFocus = false,\n ...divProps\n },\n ref\n ) {\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const timeout = divRef.current\n ? mapCSSTime(\n getComputedStyle(divRef.current).getPropertyValue(\n \"--swui-collapsible-animation-time\"\n )\n )\n : undefined;\n\n return (\n <div\n className={cx(styles.collapsible, className)}\n aria-expanded={!collapsed}\n ref={divRef}\n {...divProps}\n >\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={styles.header}\n onClick={onClick}\n disabled={disabled}\n autoFocus={autoFocus}\n ref={ref}\n >\n {contentLeft && (\n <div className={styles.contentLeft}>{contentLeft}</div>\n )}\n <div className={styles.label}>\n <Text\n color={\"var(--swui-collapsible-header-text-color)\"}\n className={styles.headerText}\n >\n {label}\n </Text>\n </div>\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n <Icon\n icon={collapsed ? iconCollapsed : icon}\n className={styles.indicator}\n size={iconSize}\n fixedWidth\n />\n </Clickable>\n <CSSTransition\n in={!collapsed}\n timeout={{\n enter: timeout,\n }}\n classNames={{\n enter: styles.contentEnter,\n enterActive: styles.contentEnterActive,\n exit: styles.contentExit,\n exitActive: styles.contentExitActive,\n exitDone: styles.contentExitDone,\n }}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnCollapse}\n >\n <div role={\"region\"}>\n {children ?? (\n <CollapsibleContent>\n <CollapsibleEmptyContent />\n </CollapsibleContent>\n )}\n </div>\n </CSSTransition>\n </div>\n );\n }\n);\n","import { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\nimport * as React from \"react\";\nimport { Collapsible, CollapsibleProps } from \"./Collapsible\";\n\nexport interface CollapsibleWithCheckboxProps\n extends Omit<CollapsibleProps, \"contentLeft\" | \"onChange\">,\n Pick<\n CheckboxProps,\n \"value\" | \"onValueChange\" | \"onChange\" | \"indeterminate\"\n > {}\n\nexport const CollapsibleWithCheckbox: React.FC<\n CollapsibleWithCheckboxProps\n> = ({\n value,\n onValueChange,\n onChange,\n indeterminate,\n ...collapsibleProps\n}) => {\n return (\n <Collapsible\n contentLeft={\n <Checkbox\n value={value}\n indeterminate={indeterminate}\n onValueChange={onValueChange}\n onChange={onChange}\n onClick={(ev) => ev.stopPropagation()}\n />\n }\n {...collapsibleProps}\n />\n );\n};\n","import { ButtonElementProps, Clickable } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleSimpleContentProps } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleClickableContentProps\n extends CollapsibleSimpleContentProps,\n ButtonElementProps {}\n\nexport const CollapsibleClickableContent: React.FC<\n CollapsibleClickableContentProps\n> = ({ contentLeft, contentRight, className, onClick, children, ...props }) => {\n return (\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={cx(styles.content, className)}\n onClick={onClick}\n {...props}\n >\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </Clickable>\n );\n};\n","import { DivProps } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"./CollapsibleContent\";\n\nexport interface CollapsibleGroupHeadingProps\n extends CollapsibleSimpleContentProps,\n DivProps {}\n\nexport const CollapsibleGroupHeading: React.FC<\n CollapsibleGroupHeadingProps\n> = ({ className, ...props }) => (\n <CollapsibleContent\n className={cx(styles.groupHeading, className)}\n {...props}\n />\n);\n","import { Box } from \"@stenajs-webui/core\";\nimport { Banner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ErrorPanelProps {\n text?: string;\n}\n\nexport const ErrorPanel: React.FC<ErrorPanelProps> = ({\n text = \"Something unexpected happened.\",\n}) => {\n return (\n <Box justifyContent={\"center\"} alignItems={\"center\"}>\n <Banner variant={\"error\"} headerText={text} />\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ErrorPanel, ErrorPanelProps } from \"./ErrorPanel\";\n\nexport const ErrorScreen: React.FC<ErrorPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <ErrorPanel {...props} />\n </Box>\n );\n};\n","import { Box, Heading, Space } from \"@stenajs-webui/core\";\nimport { Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface LoadingPanelProps {\n text?: string;\n}\n\nexport const LoadingPanel: React.FC<LoadingPanelProps> = ({\n text = \"Loading...\",\n}) => {\n return (\n <Box alignItems={\"center\"}>\n <Spinner size={\"small\"} />\n <Space num={4} />\n <Heading variant={\"h4\"}>{text}</Heading>\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { LoadingPanel, LoadingPanelProps } from \"./LoadingPanel\";\n\nexport const LoadingScreen: React.FC<LoadingPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <LoadingPanel {...props} />\n </Box>\n );\n};\n","import { Box, Row, SeparatorLine, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface PageHeaderProps {\n renderBreadCrumbs?: () => ReactNode;\n renderPageHeading?: () => ReactNode;\n renderTabs?: () => ReactNode;\n children?: ReactNode;\n}\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n renderBreadCrumbs,\n renderPageHeading,\n renderTabs,\n children,\n}) => {\n return (\n <Box shadow={\"box\"}>\n <Box indent={3}>\n {renderBreadCrumbs && <Row spacing={1.25}>{renderBreadCrumbs()}</Row>}\n {renderPageHeading?.()}\n {renderTabs?.()}\n </Box>\n {children && (\n <>\n {!renderTabs && <Space />}\n <SeparatorLine />\n {children}\n </>\n )}\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Row } from \"@stenajs-webui/core\";\n\nexport interface PageHeaderRowProps extends BoxProps {}\n\nexport const PageHeaderRow: React.FC<PageHeaderRowProps> = (props) => (\n <Row indent={3} spacing {...props} />\n);\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row } from \"@stenajs-webui/core\";\n\nexport type PageHeadingVariant = \"compact\" | \"standard\" | \"relaxed\";\n\ninterface PageHeadingProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n heading: string;\n variant?: PageHeadingVariant;\n}\n\nconst variantToSpacing: Record<PageHeadingVariant, number> = {\n compact: 1,\n standard: 1.5,\n relaxed: 2,\n};\n\nexport const PageHeading: React.VFC<PageHeadingProps> = ({\n heading,\n variant = \"standard\",\n contentLeft,\n contentRight,\n}) => (\n <Row spacing={variantToSpacing[variant]} alignItems={\"center\"} gap={2}>\n <Heading variant={\"h3\"}>{heading}</Heading>\n <Row alignItems={\"center\"}>{contentLeft}</Row>\n <Row style={{ marginLeft: \"auto\" }} alignItems={\"center\"}>\n {contentRight}\n </Row>\n </Row>\n);\n","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./SidebarMenuCloseButton.module.css\";\nimport { Box, ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as CloseIcon } from \"./svg/close.svg\";\n\nexport interface SidebarMenuCloseButtonProps extends ButtonElementProps {}\n\nexport const SidebarMenuCloseButton: React.FC<SidebarMenuCloseButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuCloseButton, className)}\n >\n <Box className={styles.iconWrapper}>\n <CloseIcon className={styles.icon} />\n </Box>\n </button>\n );\n};\n","import { SeparatorLine, SeparatorLineProps } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\nexport interface SidebarMenuSeparatorProps extends SeparatorLineProps {}\n\nexport const SidebarMenuSeparator: React.FC<SidebarMenuSeparatorProps> = (\n separatorLineProps\n) => (\n <SeparatorLine\n color={cssColor(\"--lhds-color-blue-600\")}\n {...separatorLineProps}\n />\n);\n","import { Box, BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenu.module.css\";\nimport {\n SidebarMenuCloseButton,\n SidebarMenuCloseButtonProps,\n} from \"./SidebarMenuCloseButton\";\nimport { getNavbarHeight } from \"../nav-bar/NavbarHeightStyleUtil\";\nimport { NavBarVariant } from \"../nav-bar/NavBar\";\nimport { SidebarMenuSeparator } from \"./SidebarMenuSeparator\";\n\nexport type SidebarMenuVariant = NavBarVariant;\n\nexport interface SidebarMenuProps extends BoxProps {\n onCloseClick?: SidebarMenuCloseButtonProps[\"onClick\"];\n hideCloseButton?: boolean;\n collapsed?: boolean;\n variant?: SidebarMenuVariant;\n}\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({\n className,\n children,\n onCloseClick,\n collapsed = false,\n hideCloseButton = false,\n variant = \"standard\",\n ...boxProps\n}) => {\n const height = getNavbarHeight(variant);\n\n return (\n <Box\n className={cx(\n styles.sidebarMenu,\n collapsed ? styles.collapsed : null,\n className\n )}\n style={{\n [\"--swui-sidebar-menu-item-height\" as string]: height,\n [\"--swui-nav-bar-height\" as string]: height,\n }}\n data-collapsed={collapsed || undefined}\n {...boxProps}\n >\n {!hideCloseButton && (\n <>\n <SidebarMenuCloseButton onClick={onCloseClick} />\n <SidebarMenuSeparator />\n <Space />\n </>\n )}\n <Box\n className={styles.sidebarMenuContent}\n height={\"100%\"}\n background={\"var(--current-background-color)\"}\n >\n <Column flex={1}>{children}</Column>\n </Box>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { SidebarMenu, SidebarMenuVariant } from \"../SidebarMenu\";\nimport { NavBarSideMenuButton } from \"../../nav-bar/NavBarSideMenuButton\";\nimport { ReactNode } from \"react\";\n\ninterface RailMenuProps {\n variant?: SidebarMenuVariant;\n onClickMenuButton?: () => void;\n children?: ReactNode;\n}\n\nexport const SidebarRailMenu: React.FC<RailMenuProps> = ({\n variant,\n onClickMenuButton,\n children,\n}) => {\n return (\n <SidebarMenu\n collapsed\n position={\"fixed\"}\n left={0}\n top={0}\n hideCloseButton\n variant={variant}\n >\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n {children}\n </SidebarMenu>\n );\n};\n","import { ButtonElementProps, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, ReactNode } from \"react\";\nimport { ButtonContent, ButtonContentProps } from \"@stenajs-webui/elements\";\nimport contentStyles from \"./SidebarMenuContent.module.css\";\nimport cx from \"classnames\";\n\nexport type RenderLinkProps = ButtonElementProps & { activeClassName: string };\n\nexport interface SidebarMenuLinkProps\n extends ButtonElementProps,\n Pick<\n ButtonContentProps,\n | \"label\"\n | \"loading\"\n | \"left\"\n | \"leftIcon\"\n | \"right\"\n | \"rightIcon\"\n | \"success\"\n > {\n renderLink?: SidebarLinkRenderer;\n width?: CSSProperties[\"width\"];\n selected?: boolean;\n indent?: boolean;\n}\n\nexport type SidebarLinkRenderer = (props: RenderLinkProps) => ReactNode;\n\nexport const defaultRenderLink: SidebarLinkRenderer = (props) => {\n return <button {...props} />;\n};\n\nexport const SidebarMenuLink: React.FC<SidebarMenuLinkProps> = ({\n className,\n children,\n selected,\n indent,\n label,\n loading,\n left,\n leftIcon,\n right,\n rightIcon,\n success,\n width,\n renderLink = defaultRenderLink,\n style,\n ...buttonProps\n}) => {\n const hasContentLeft = left || leftIcon || loading || success;\n\n const innerClassName = cx(\n contentStyles.button,\n selected ? contentStyles.selected : undefined,\n className\n );\n\n const innerStyle = {\n ...style,\n width,\n height: \"var(--swui-sidebar-menu-item-height)\",\n };\n\n const innerChildren = (\n <Row spacing={1} flex={1} alignItems={\"center\"}>\n {!hasContentLeft && <Indent />}\n {indent && <Indent num={3.5} />}\n <ButtonContent\n label={label}\n loading={loading}\n left={left}\n leftIcon={leftIcon}\n right={right}\n rightIcon={rightIcon}\n success={success}\n labelClassName={contentStyles.label}\n spinnerClassName={contentStyles.spinner}\n iconClassName={cx(contentStyles.icon)}\n leftWrapperClassName={contentStyles.leftWrapper}\n />\n </Row>\n );\n\n return (\n <>\n {renderLink({\n ...buttonProps,\n activeClassName: contentStyles.selected,\n className: innerClassName,\n children: innerChildren,\n style: innerStyle,\n })}\n </>\n );\n};\n","import { Box, Text, TextProps } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenuHeading.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"../collapsible/CollapsibleContent\";\n\nexport interface SidebarMenuHeadingProps\n extends Pick<CollapsibleSimpleContentProps, \"contentLeft\" | \"contentRight\">,\n TextProps {\n label?: string;\n}\n\nexport const SidebarMenuHeading: React.FC<SidebarMenuHeadingProps> = ({\n className,\n label,\n contentLeft,\n contentRight,\n ...textProps\n}) => {\n return (\n <Box spacing={2} indent={2}>\n <CollapsibleContent\n className={styles.sidebarMenuHeading}\n contentLeft={contentLeft}\n contentRight={contentRight}\n >\n <Text\n variant={\"overline\"}\n color={\"var(--swui-sidebar-menu-heading-text-color)\"}\n {...textProps}\n >\n {label}\n </Text>\n </CollapsibleContent>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport { Collapsible } from \"../collapsible/Collapsible\";\nimport { Box, Column, Indent } from \"@stenajs-webui/core\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport styles from \"./SidebarMenuCollapsible.module.css\";\nimport { Icon } from \"@stenajs-webui/elements\";\n\nexport interface SidebarMenuCollapsibleProps {\n label: string;\n collapsed?: boolean;\n leftIcon?: IconDefinition;\n children?: ReactNode;\n}\n\nexport const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps> = ({\n children,\n label,\n leftIcon,\n}) => {\n const [collapsed, setCollapsed] = useState<boolean>(false);\n\n return (\n <Box background={\"var(--current-background-color)\"}>\n <Collapsible\n className={styles.sidebarMenuCollapsible}\n label={label}\n collapsed={collapsed}\n onClick={() => setCollapsed(!collapsed)}\n contentLeft={\n leftIcon ? (\n <Box\n width={\"var(--swui-sidebar-menu-item-height)\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n >\n <Icon\n icon={leftIcon}\n size={16}\n color={\"var(--current-text-color)\"}\n data-hover={true}\n />\n </Box>\n ) : (\n <Indent num={1} />\n )\n }\n >\n <Column flex={1}>{children}</Column>\n </Collapsible>\n </Box>\n );\n};\n","import { SidebarMenuLink } from \"../../SidebarMenuLink\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { SidebarMenuHeading } from \"../../SidebarMenuHeading\";\nimport { SidebarMenuSeparator } from \"../../SidebarMenuSeparator\";\nimport { SidebarMenuCollapsible } from \"../../SidebarMenuCollapsible\";\nimport { Box, exhaustSwitchCaseElseThrow } from \"@stenajs-webui/core\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { SidebarItem } from \"./types\";\n\nexport const renderItemsExpanded = (\n items: SidebarItem[],\n indent = false\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return <SidebarMenuHeading label={item.label} />;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, ...linkProps } = item;\n return <SidebarMenuLink indent={indent} {...linkProps} />;\n }\n case \"grouped\":\n return (\n <SidebarMenuCollapsible leftIcon={item.leftIcon} label={item.label}>\n {renderItemsExpanded(item.items, true)}\n </SidebarMenuCollapsible>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n\ninterface RailRendererOptions {\n popupMinWidth: string | number;\n}\n\nexport const renderItemsInRail = (\n items: SidebarItem[],\n { popupMinWidth }: RailRendererOptions\n): ReactNode[] => {\n return items.map((item) => {\n switch (item.type) {\n case \"heading\":\n return null;\n case \"separator\":\n return <SidebarMenuSeparator />;\n case \"link\": {\n const { type, label, ...linkProps } = item;\n return (\n <SidebarMenuLink\n title={label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n {...linkProps}\n />\n );\n }\n case \"grouped\":\n return (\n <div>\n <Popover\n appendTo={\"parent\"}\n arrow={false}\n offset={[0, 0]}\n placement={\"right-start\"}\n trigger={\"focusin mouseenter click\"}\n disablePadding\n lazy\n content={\n <Box\n minWidth={popupMinWidth}\n background={\"var(--lhds-color-blue-500)\"}\n >\n <SidebarMenuHeading label={item.label} />\n {renderItemsExpanded(item.items)}\n </Box>\n }\n >\n <SidebarMenuLink\n title={item.label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n leftIcon={item.leftIcon}\n />\n </Popover>\n </div>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n"],"names":["faAngleDown","useBoolean","useRef","useMemo","React","Popover","ActionMenu","ActionMenuContext","PrimaryButton","SecondaryButton","FlatButton","Column","Box","Row","Checkbox","Indent","cx","styles","Hamburger","Heading","faBell","TextInput","Clickable","Icon","stenaSearch","faUser","theme","formatDistance","Text","Space","cssColor","faInbox","forwardRef","faChevronUp","faChevronDown","CSSTransition","Banner","Spinner","SeparatorLine","CloseIcon","ButtonContent","useState","exhaustSwitchCaseElseThrow"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/panels",
3
- "version": "15.7.0",
3
+ "version": "17.0.0",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -27,11 +27,11 @@
27
27
  "deploy": "gh-pages -d example/build"
28
28
  },
29
29
  "dependencies": {
30
- "@stenajs-webui/core": "15.7.0",
31
- "@stenajs-webui/elements": "15.7.0",
32
- "@stenajs-webui/forms": "15.7.0",
33
- "@stenajs-webui/theme": "15.7.0",
34
- "@stenajs-webui/tooltip": "15.7.0",
30
+ "@stenajs-webui/core": "17.0.0",
31
+ "@stenajs-webui/elements": "17.0.0",
32
+ "@stenajs-webui/forms": "17.0.0",
33
+ "@stenajs-webui/theme": "17.0.0",
34
+ "@stenajs-webui/tooltip": "17.0.0",
35
35
  "classnames": "^2.3.1",
36
36
  "date-fns": "2.26.0",
37
37
  "react-transition-group": "^4.3.0",
@@ -42,12 +42,12 @@
42
42
  "@emotion/styled": ">=11.3.0",
43
43
  "@fortawesome/fontawesome-svg-core": ">=1.2.35",
44
44
  "@fortawesome/free-solid-svg-icons": ">=5.15.3",
45
- "@types/react": ">=17.0.5",
46
- "@types/react-dom": ">=17.0.3",
45
+ "@types/react": ">=18.0.14",
46
+ "@types/react-dom": ">=18.0.5",
47
47
  "@types/react-transition-group": ">=4.2.3",
48
48
  "prop-types": ">=15.5.4",
49
- "react": ">=17.0.2",
50
- "react-dom": ">=17.0.2"
49
+ "react": ">=18.2.0",
50
+ "react-dom": ">=18.2.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@emotion/react": "^11.1.5",
@@ -55,15 +55,15 @@
55
55
  "@fortawesome/fontawesome-svg-core": "1.2.35",
56
56
  "@fortawesome/free-solid-svg-icons": "5.15.3",
57
57
  "@types/jest": "^23.1.5",
58
- "@types/react": "^17.0.5",
59
- "@types/react-dom": "^17.0.3",
58
+ "@types/react": "^18.0.14",
59
+ "@types/react-dom": "^18.0.5",
60
60
  "@types/react-transition-group": "^4.2.3",
61
61
  "prop-types": "^15.5.4",
62
- "react": "^17.0.2",
63
- "react-dom": "^17.0.2"
62
+ "react": "^18.2.0",
63
+ "react-dom": "^18.2.0"
64
64
  },
65
65
  "files": [
66
66
  "dist"
67
67
  ],
68
- "gitHead": "dad46ef48fd810c74fbb6fffa2b6d12e312f31ad"
68
+ "gitHead": "d2ef80338559080f4106bb97aa7a9d457615e3fb"
69
69
  }