@stenajs-webui/core 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.5.9 (Thu May 19 2022)
2
30
 
3
31
  #### 🐛 Bug Fix
@@ -3,6 +3,7 @@ import { ReactNode } from "react";
3
3
  interface Props {
4
4
  nest?: boolean;
5
5
  render: (children: ReactNode) => ReactNode;
6
+ children?: ReactNode;
6
7
  }
7
8
  export declare const Nest: React.FC<Props>;
8
9
  export {};
@@ -1 +1 @@
1
- export declare const useDomId: (componentName?: string | undefined) => string;
1
+ export declare const useDomId: (componentName?: string) => string;
@@ -1,2 +1,2 @@
1
1
  import * as React from "react";
2
- export declare const useOnClickOutside: (ref: React.RefObject<any>, handler: (event: TouchEvent | MouseEvent) => void, options?: AddEventListenerOptions | undefined) => void;
2
+ export declare const useOnClickOutside: (ref: React.RefObject<any>, handler: (event: TouchEvent | MouseEvent) => void, options?: AddEventListenerOptions) => void;
@@ -1,2 +1,2 @@
1
1
  import { RefObject } from "react";
2
- export declare const useOnScreen: (ref: RefObject<Element>, options?: IntersectionObserverInit | undefined) => boolean;
2
+ export declare const useOnScreen: (ref: RefObject<Element>, options?: IntersectionObserverInit) => boolean;
package/dist/index.es.js CHANGED
@@ -80,7 +80,7 @@ var ClickableElement = styled.button(templateObject_1$2 || (templateObject_1$2 =
80
80
  return (pointer ? "cursor: pointer;" : "");
81
81
  }, function (props) { return (props.opacityOnHover ? "opacity: 0.7;" : ""); }, function (_a) {
82
82
  var hoverBackground = _a.hoverBackground;
83
- return "background: " + hoverBackground + ";";
83
+ return "background: ".concat(hoverBackground, ";");
84
84
  }, function (_a) {
85
85
  var disableOpacityOnClick = _a.disableOpacityOnClick;
86
86
  return !disableOpacityOnClick ? "opacity: 0.5;" : "";
@@ -91,16 +91,16 @@ var ClickableElement = styled.button(templateObject_1$2 || (templateObject_1$2 =
91
91
  : "box-shadow: 0 0 3pt 2pt rgba(0, 0, 100, 0.3);";
92
92
  }, function (_a) {
93
93
  var focusBackground = _a.focusBackground;
94
- return "background: " + focusBackground + ";";
94
+ return "background: ".concat(focusBackground, ";");
95
95
  }, function (_a) {
96
96
  var width = _a.width;
97
- return (width ? "width: " + width + ";" : "");
97
+ return (width ? "width: ".concat(width, ";") : "");
98
98
  }, function (_a) {
99
99
  var height = _a.height;
100
- return (height ? "height: " + height + ";" : "");
100
+ return (height ? "height: ".concat(height, ";") : "");
101
101
  }, function (_a) {
102
102
  var borderRadius = _a.borderRadius;
103
- return borderRadius ? "border-radius: " + borderRadius + ";" : "";
103
+ return borderRadius ? "border-radius: ".concat(borderRadius, ";") : "";
104
104
  });
105
105
  var Clickable = forwardRef(function (_a, ref) {
106
106
  var disableFocusHighlight = _a.disableFocusHighlight, onClick = _a.onClick, onDblClick = _a.onDblClick, tooltip = _a.tooltip, disableOpacityOnClick = _a.disableOpacityOnClick, disablePointer = _a.disablePointer, opacityOnHover = _a.opacityOnHover, disabled = _a.disabled, children = _a.children, _b = _a.background, background = _b === void 0 ? "transparent" : _b, hoverBackground = _a.hoverBackground, focusBackground = _a.focusBackground, _c = _a.type, type = _c === void 0 ? "button" : _c, restProps = __rest(_a, ["disableFocusHighlight", "onClick", "onDblClick", "tooltip", "disableOpacityOnClick", "disablePointer", "opacityOnHover", "disabled", "children", "background", "hoverBackground", "focusBackground", "type"]);
@@ -171,22 +171,22 @@ var Box = styled("div", {
171
171
  },
172
172
  })(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ", "\n ", "\n }\n :focus {\n ", "\n ", "\n }\n :focus-within {\n ", "\n ", "\n }\n"], ["\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ", "\n ", "\n }\n :focus {\n ", "\n ", "\n }\n :focus-within {\n ", "\n ", "\n }\n"])), box, background, border, borderRight, borderLeft, borderTop, borderBottom, borderColor, borderRadius, borderStyle, borderWidth, boxShadow, flexbox, overflow, position, layout, zIndex, left, right, top, bottom, function (_a) {
173
173
  var hoverBackground = _a.hoverBackground;
174
- return hoverBackground ? "background: " + hoverBackground + ";" : "";
174
+ return hoverBackground ? "background: ".concat(hoverBackground, ";") : "";
175
175
  }, function (_a) {
176
176
  var hoverBorder = _a.hoverBorder;
177
- return (hoverBorder ? "border: " + hoverBorder + ";" : "");
177
+ return (hoverBorder ? "border: ".concat(hoverBorder, ";") : "");
178
178
  }, function (_a) {
179
179
  var focusBackground = _a.focusBackground;
180
- return focusBackground ? "background: " + focusBackground + ";" : "";
180
+ return focusBackground ? "background: ".concat(focusBackground, ";") : "";
181
181
  }, function (_a) {
182
182
  var focusBorder = _a.focusBorder;
183
- return (focusBorder ? "border: " + focusBorder + ";" : "");
183
+ return (focusBorder ? "border: ".concat(focusBorder, ";") : "");
184
184
  }, function (_a) {
185
185
  var focusWithinBackground = _a.focusWithinBackground;
186
- return focusWithinBackground ? "background: " + focusWithinBackground + ";" : "";
186
+ return focusWithinBackground ? "background: ".concat(focusWithinBackground, ";") : "";
187
187
  }, function (_a) {
188
188
  var focusWithinBorder = _a.focusWithinBorder;
189
- return focusWithinBorder ? "border: " + focusWithinBorder + ";" : "";
189
+ return focusWithinBorder ? "border: ".concat(focusWithinBorder, ";") : "";
190
190
  });
191
191
  var templateObject_1$1;
192
192
 
@@ -311,7 +311,7 @@ function styleInject(css, ref) {
311
311
  }
312
312
  }
313
313
 
314
- var css_248z$1 = ".Text-module_text__2FYaC {\n /* Theme vars */\n --swui-text-color: var(--swui-text-primary-color);\n --swui-text-color-caption: var(--lhds-color-ui-600);\n --swui-text-color-overline: var(--lhds-color-ui-600);\n --swui-text-font-family: var(--swui-font-primary);\n --swui-text-font-weight: var(--swui-font-weight-text);\n\n /* Current */\n --current-color: var(--swui-text-color);\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n --current-font-weight: var(--swui-text-font-weight);\n --current-letter-spacing: var(--swui-text-letter-spacing);\n\n /* Styling */\n font-size: var(--current-font-size);\n line-height: var(--current-line-height);\n color: var(--current-color);\n letter-spacing: var(--current-letter-spacing);\n font-family: var(--swui-text-font-family);\n font-weight: var(--current-font-weight);\n}\n\n .Text-module_text__2FYaC.Text-module_standard__2-bur {\n }\n\n .Text-module_text__2FYaC.Text-module_bold__1Knlz {\n --current-font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Text-module_text__2FYaC.Text-module_caption__153CS {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n --current-color: var(--swui-text-color-caption);\n --current-letter-spacing: 0;\n font-style: italic;\n }\n\n .Text-module_text__2FYaC.Text-module_overline__22jee {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n --current-color: var(--swui-text-color-overline);\n --current-font-weight: var(--swui-font-weight-text-bold);\n --current-letter-spacing: 1px;\n text-transform: uppercase;\n }\n\n .Text-module_text__2FYaC.Text-module_large__3TF1O {\n --current-font-size: var(--swui-font-size-large);\n --current-line-height: var(--swui-line-height-large);\n }\n\n .Text-module_text__2FYaC.Text-module_medium__1yeKe {\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n }\n\n .Text-module_text__2FYaC.Text-module_small__3KAee {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n }\n\n .Text-module_text__2FYaC.Text-module_smaller__1mD_7 {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n }\n";
314
+ var css_248z$1 = ".Text-module_text__2FYaC {\n /* Theme vars */\n --swui-text-color: var(--swui-text-primary-color);\n --swui-text-color-caption: var(--lhds-color-ui-600);\n --swui-text-color-overline: var(--lhds-color-ui-600);\n --swui-text-font-family: var(--swui-font-primary);\n --swui-text-font-weight: var(--swui-font-weight-text);\n\n /* Current */\n --current-color: var(--swui-text-color);\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n --current-font-weight: var(--swui-text-font-weight);\n --current-letter-spacing: var(--swui-text-letter-spacing);\n\n /* Styling */\n font-size: var(--current-font-size);\n line-height: var(--current-line-height);\n color: var(--current-color);\n letter-spacing: var(--current-letter-spacing);\n font-family: var(--swui-text-font-family);\n font-weight: var(--current-font-weight);\n}\n\n .Text-module_text__2FYaC.Text-module_standard__2-bur {\n }\n\n .Text-module_text__2FYaC.Text-module_bold__1Knlz {\n --current-font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Text-module_text__2FYaC.Text-module_caption__153CS {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n --current-color: var(--swui-text-color-caption);\n --current-letter-spacing: 0;\n font-style: italic;\n }\n\n .Text-module_text__2FYaC.Text-module_overline__22jee {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n --current-color: var(--swui-text-color-overline);\n --current-font-weight: var(--swui-font-weight-text-bold);\n --current-letter-spacing: 0.1rem;\n text-transform: uppercase;\n }\n\n .Text-module_text__2FYaC.Text-module_large__3TF1O {\n --current-font-size: var(--swui-font-size-large);\n --current-line-height: var(--swui-line-height-large);\n }\n\n .Text-module_text__2FYaC.Text-module_medium__1yeKe {\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n }\n\n .Text-module_text__2FYaC.Text-module_small__3KAee {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n }\n\n .Text-module_text__2FYaC.Text-module_smaller__1mD_7 {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n }\n";
315
315
  var styles$1 = {"text":"Text-module_text__2FYaC","standard":"Text-module_standard__2-bur","bold":"Text-module_bold__1Knlz","caption":"Text-module_caption__153CS","overline":"Text-module_overline__22jee","large":"Text-module_large__3TF1O","medium":"Text-module_medium__1yeKe","small":"Text-module_small__3KAee","smaller":"Text-module_smaller__1mD_7"};
316
316
  styleInject(css_248z$1);
317
317
 
@@ -349,7 +349,7 @@ var LargeText = function (props) {
349
349
  return React.createElement(Text, __assign({ size: "large" }, props));
350
350
  };
351
351
 
352
- var css_248z = ".Heading-module_heading__1Y-tN {\n font-size: var(--swui-heading-font-size);\n color: var(--lhds-color-ui-900);\n letter-spacing: 0;\n margin: 0;\n line-height: var(--swui-heading-line-height);\n font-family: var(--swui-font-primary);\n font-weight: var(--swui-font-weight-text);\n}\n\n .Heading-module_heading__1Y-tN.Heading-module_h1__3hICB {\n --swui-heading-font-size: 28px;\n --swui-heading-line-height: 40px;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h2__2p_cD {\n --swui-heading-font-size: 24px;\n --swui-heading-line-height: 32px;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h3__3qTgm {\n --swui-heading-font-size: 20px;\n --swui-heading-line-height: 24px;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h4__2ishv {\n --swui-heading-font-size: 16px;\n --swui-heading-line-height: 24px;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h5__bYa6B {\n --swui-heading-font-size: 14px;\n --swui-heading-line-height: 16px;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h6__4yp37 {\n --swui-heading-font-size: 12px;\n --swui-heading-line-height: 16px;\n font-weight: var(--swui-font-weight-text-bold);\n }\n";
352
+ var css_248z = ".Heading-module_heading__1Y-tN {\n font-size: var(--swui-heading-font-size);\n color: var(--lhds-color-ui-900);\n letter-spacing: 0;\n margin: 0;\n line-height: var(--swui-heading-line-height);\n font-family: var(--swui-font-primary);\n font-weight: var(--swui-font-weight-text);\n}\n\n .Heading-module_heading__1Y-tN.Heading-module_h1__3hICB {\n --swui-heading-font-size: 2.8rem;\n --swui-heading-line-height: 4rem;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h2__2p_cD {\n --swui-heading-font-size: 2.4rem;\n --swui-heading-line-height: 3.2rem;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h3__3qTgm {\n --swui-heading-font-size: 2rem;\n --swui-heading-line-height: 2.4rem;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h4__2ishv {\n --swui-heading-font-size: 1.6rem;\n --swui-heading-line-height: 2.4rem;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h5__bYa6B {\n --swui-heading-font-size: 1.4rem;\n --swui-heading-line-height: 1.6rem;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h6__4yp37 {\n --swui-heading-font-size: 1.2rem;\n --swui-heading-line-height: 1.6rem;\n font-weight: var(--swui-font-weight-text-bold);\n }\n";
353
353
  var styles = {"heading":"Heading-module_heading__1Y-tN","h1":"Heading-module_h1__3hICB","h2":"Heading-module_h2__2p_cD","h3":"Heading-module_h3__3qTgm","h4":"Heading-module_h4__2ishv","h5":"Heading-module_h5__bYa6B","h6":"Heading-module_h6__4yp37"};
354
354
  styleInject(css_248z);
355
355
 
@@ -461,7 +461,7 @@ var useDelayedFalse = function (value, delay) {
461
461
 
462
462
  var id = 0;
463
463
  var genId = function (componentName) {
464
- return "webui-" + (componentName ? componentName + "-" : "") + ++id;
464
+ return "webui-".concat(componentName ? componentName + "-" : "").concat(++id);
465
465
  };
466
466
  var useDomId = function (componentName) {
467
467
  var _a = useState(function () { return genId(componentName); }), id = _a[0], setId = _a[1];
@@ -677,7 +677,7 @@ var useTimeoutState = function (initialValue, defaultTimeout, clearTimeoutOnSetV
677
677
  };
678
678
 
679
679
  var exhaustSwitchCaseElseThrow = function (arg) {
680
- throw new Error("Switch unhandled case: " + arg);
680
+ throw new Error("Switch unhandled case: ".concat(arg));
681
681
  };
682
682
  var exhaustSwitchCase = function (_arg, fallback) {
683
683
  return fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/decorators/separatorline/SeparatorLine.tsx","../src/components/interaction/Clickable.tsx","../src/utils/BooleanOrNumberToNumber.ts","../src/components/layout/box/Box.tsx","../src/components/layout/column/Column.tsx","../src/hooks/UseElementDimensions.ts","../src/components/layout/box/ResizeAwareBox.tsx","../src/components/layout/row/Row.tsx","../src/components/layout/indent/Indent.tsx","../src/components/layout/spacing/Spacing.tsx","../src/components/layout/space/Space.tsx","../src/components/util/Nest.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/text/Text.tsx","../src/components/deprecated-text/SmallText.tsx","../src/components/deprecated-text/SmallerText.tsx","../src/components/deprecated-text/StandardText.tsx","../src/components/deprecated-text/LargeText.tsx","../src/components/heading/Heading.tsx","../src/components/deprecated-text/HeaderText.tsx","../src/hooks/UseArraySet.ts","../src/hooks/UseBoolean.ts","../src/hooks/UseDebounce.ts","../src/hooks/UseDelayedFalse.ts","../src/hooks/UseDomId.ts","../src/hooks/UseEventListener.ts","../src/hooks/UseElementFocus.ts","../src/hooks/UseMouseIsOver.ts","../src/hooks/UseMouseIsEntered.ts","../src/hooks/UseMultiOnClickOutside.ts","../src/hooks/UseOnClickOutside.ts","../src/hooks/UseOnNoMouseInput.ts","../src/hooks/UseOnScreen.ts","../src/hooks/UseForwardedRef.ts","../src/hooks/UseTimeoutState.ts","../src/utils/SwitchCaseExhauster.ts","../src/utils/TruthyKeysAsList.ts","../src/utils/PropsForwarder.ts","../src/utils/parsers/NumberParser.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\n\nexport interface SeparatorLineProps {\n color?: Property.Color;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\ninterface SeparatorLineComponentProps {\n color: string;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\nconst SeparatorLineComponent = styled.hr<SeparatorLineComponentProps>`\n display: flex;\n border: 0;\n margin: 0;\n flex: none;\n background-color: ${(props) => props.color};\n height: ${(props) =>\n props.vertical ? props.size || \"100%\" : props.width || \"1px\"};\n width: ${(props) =>\n props.vertical ? props.width || \"1px\" : props.size || \"100%\"};\n`;\n\nexport const SeparatorLine = forwardRef<HTMLHRElement, SeparatorLineProps>(\n (\n {\n color = \"var(--lhds-color-ui-300)\",\n size = \"100%\",\n width = \"1px\",\n vertical = false,\n },\n ref\n ) => {\n return (\n <SeparatorLineComponent\n color={color}\n size={size}\n width={width}\n vertical={vertical}\n ref={ref}\n />\n );\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\nimport { CSSProperties, forwardRef, MouseEventHandler } from \"react\";\nimport { ButtonElementProps } from \"../../types/ElementProps\";\n\nexport interface ClickableProps extends ButtonElementProps {\n /** Callback function called when clicking on click area. */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n /** Callback function called when double clicking on click area. */\n onDblClick?: MouseEventHandler<HTMLButtonElement>;\n /** Adds a title to the click area. */\n tooltip?: string;\n /** If set, there is no opacity applies when clicking on the click area. */\n disableOpacityOnClick?: boolean;\n /** Mouse does not turn into pointer when hovering over click area. */\n disablePointer?: boolean;\n /** When set, click area receives opacity when mouse hovers over it. */\n opacityOnHover?: boolean;\n /** Custom style on div with click event. */\n style?: CSSProperties;\n /** Disables shadow when element is focused. */\n disableFocusHighlight?: boolean;\n /** Disables the HTML button element. */\n disabled?: boolean;\n /**\n * Sets the background of the box.\n */\n background?: string;\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: string;\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: string;\n /**\n * The width.\n */\n width?: string;\n /**\n * The height.\n */\n height?: string;\n /**\n * Border radius\n */\n borderRadius?: string;\n}\n\ninterface ClickableElementProps {\n disableOpacityOnClick?: boolean;\n opacityOnHover?: boolean;\n disableFocusHighlight?: boolean;\n pointer?: boolean;\n background?: string;\n focusBackground?: string;\n hoverBackground?: string;\n width?: string;\n height?: string;\n borderRadius?: string;\n}\n\nconst ClickableElement = styled.button<ClickableElementProps>`\n display: inline-block;\n user-select: none;\n border: 0;\n padding: 0;\n background: ${({ background }) => background};\n ${({ pointer }) => (pointer ? \"cursor: pointer;\" : \"\")}\n\n :hover {\n ${(props) => (props.opacityOnHover ? \"opacity: 0.7;\" : \"\")};\n ${({ hoverBackground }) => `background: ${hoverBackground};`}\n }\n :active {\n ${({ disableOpacityOnClick }) =>\n !disableOpacityOnClick ? \"opacity: 0.5;\" : \"\"}\n }\n :focus {\n outline: 0;\n ${({ disableFocusHighlight }) =>\n disableFocusHighlight\n ? \"\"\n : \"box-shadow: 0 0 3pt 2pt rgba(0, 0, 100, 0.3);\"}\n ${({ focusBackground }) => `background: ${focusBackground};`}\n }\n ${({ width }) => (width ? `width: ${width};` : \"\")}\n ${({ height }) => (height ? `height: ${height};` : \"\")}\n ${({ borderRadius }) =>\n borderRadius ? `border-radius: ${borderRadius};` : \"\"}\n`;\n\nexport const Clickable = forwardRef<HTMLButtonElement, ClickableProps>(\n (\n {\n disableFocusHighlight,\n onClick,\n onDblClick,\n tooltip,\n disableOpacityOnClick,\n disablePointer,\n opacityOnHover,\n disabled,\n children,\n background = \"transparent\",\n hoverBackground,\n focusBackground,\n type = \"button\",\n ...restProps\n },\n ref\n ) => {\n const hasClickHandler = !!(onClick || onDblClick);\n\n return (\n <ClickableElement\n opacityOnHover={opacityOnHover}\n title={tooltip}\n disabled={disabled}\n disableOpacityOnClick={disableOpacityOnClick}\n onClick={onClick}\n onDoubleClick={onDblClick}\n disableFocusHighlight={disableFocusHighlight}\n pointer={hasClickHandler && !disablePointer}\n ref={ref}\n background={background}\n hoverBackground={hoverBackground}\n focusBackground={focusBackground}\n type={type}\n {...restProps}\n >\n {children}\n </ClickableElement>\n );\n }\n);\n","export const booleanOrNumberToNumber = (\n num: number | boolean | undefined\n): number => {\n if (num == null) {\n return 0;\n }\n if (typeof num === \"boolean\") {\n return num ? 1 : 0;\n }\n return num;\n};\n","import isPropValid from \"@emotion/is-prop-valid\";\nimport styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\n\nimport {\n background,\n BackgroundProps,\n border,\n borderBottom,\n BorderBottomProps,\n borderColor,\n borderLeft,\n BorderLeftProps,\n borderRadius,\n BorderRadiusProps,\n borderRight,\n BorderRightProps,\n borderStyle,\n BorderStyleProps,\n borderTop,\n BorderTopProps,\n borderWidth,\n BorderWidthProps,\n bottom,\n BottomProps,\n boxShadow,\n BoxShadowProps,\n flexbox,\n FlexboxProps,\n layout,\n LayoutProps,\n left,\n LeftProps,\n overflow,\n OverflowProps,\n position,\n PositionProps,\n ResponsiveValue,\n right,\n RightProps,\n system,\n TLengthStyledSystem,\n top,\n TopProps,\n zIndex,\n ZIndexProps,\n} from \"styled-system\";\nimport { DivProps } from \"../../../types/ElementProps\";\nimport { booleanOrNumberToNumber } from \"../../../utils/BooleanOrNumberToNumber\";\n\ninterface StyledSystemProps\n extends BorderRadiusProps,\n BorderStyleProps,\n BorderWidthProps,\n BorderLeftProps,\n BorderRightProps,\n BorderTopProps,\n BorderBottomProps,\n FlexboxProps,\n LayoutProps,\n OverflowProps,\n PositionProps,\n ZIndexProps,\n LeftProps,\n RightProps,\n TopProps,\n BottomProps {}\n\nconst shadows = {\n box: \"var(--swui-shadow-box)\",\n popover: \"var(--swui-shadow-popover)\",\n modal: \"var(--swui-shadow-modal)\",\n};\n\ntype ShadowType = keyof typeof shadows;\n\nexport interface BoxProps extends StyledSystemProps, DivProps {\n /**\n * If true, children are placed in a row.\n */\n row?: ResponsiveValue<boolean>;\n\n /**\n * Adds spacing over and under content.\n */\n spacing?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing left and right of content.\n */\n indent?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing between children.\n */\n gap?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds a shadow around the box.\n */\n shadow?: ResponsiveValue<Property.BoxShadow | ShadowType>;\n\n /**\n * Sets the background of the box.\n */\n background?: ResponsiveValue<Property.Background<TLengthStyledSystem>>;\n\n /**\n * Sets the border of the box.\n */\n border?: ResponsiveValue<Property.Border<TLengthStyledSystem>>;\n\n /**\n * Sets the border color of the box.\n */\n borderColor?: ResponsiveValue<Property.BorderColor>;\n\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when hovering with mouse.\n */\n hoverBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when the box is in focus.\n */\n focusBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when focus is within the box.\n */\n focusWithinBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when focus is within the box.\n */\n focusWithinBorder?: Property.Border<TLengthStyledSystem>;\n}\n\nconst excludedProps = [\n \"spacing\",\n \"indent\",\n \"gap\",\n \"width\",\n \"height\",\n \"overflow\",\n \"display\",\n];\n\nconst isExcludedWebUiProp = (propName: string) =>\n excludedProps.includes(propName);\n\nconst box = system({\n row: {\n property: \"flexDirection\",\n transform: (row: boolean) => (row ? \"row\" : \"column\"),\n },\n indent: {\n // @ts-ignore\n property: \"--current-indent\",\n transform: booleanOrNumberToNumber,\n },\n spacing: {\n // @ts-ignore\n property: \"--current-spacing\",\n transform: booleanOrNumberToNumber,\n },\n gap: {\n // @ts-ignore\n property: \"--current-gap\",\n transform: booleanOrNumberToNumber,\n },\n shadow: {\n property: \"boxShadow\",\n transform: (value) => shadows[value] ?? value,\n },\n});\n\ntype InnerProps = BoxProps & BoxShadowProps & BackgroundProps;\n\nexport const Box = styled(\"div\", {\n shouldForwardProp: (propName) =>\n typeof propName === \"string\"\n ? isExcludedWebUiProp(propName)\n ? false\n : isPropValid(propName)\n : false,\n})<InnerProps>`\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ${box};\n ${background};\n ${border};\n ${borderRight};\n ${borderLeft};\n ${borderTop};\n ${borderBottom};\n ${borderColor};\n ${borderRadius};\n ${borderStyle};\n ${borderWidth};\n ${boxShadow};\n ${flexbox};\n ${overflow};\n ${position};\n ${layout};\n ${zIndex};\n ${left};\n ${right};\n ${top};\n ${bottom};\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ${({ hoverBackground }) =>\n hoverBackground ? `background: ${hoverBackground};` : \"\"}\n ${({ hoverBorder }) => (hoverBorder ? `border: ${hoverBorder};` : \"\")}\n }\n :focus {\n ${({ focusBackground }) =>\n focusBackground ? `background: ${focusBackground};` : \"\"}\n ${({ focusBorder }) => (focusBorder ? `border: ${focusBorder};` : \"\")}\n }\n :focus-within {\n ${({ focusWithinBackground }) =>\n focusWithinBackground ? `background: ${focusWithinBackground};` : \"\"}\n ${({ focusWithinBorder }) =>\n focusWithinBorder ? `border: ${focusWithinBorder};` : \"\"}\n }\n`;\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Column = forwardRef<HTMLDivElement, BoxProps>(function Column(\n props,\n ref\n) {\n return <Box ref={ref} {...props} />;\n});\n","import { RefObject, useCallback, useLayoutEffect, useState } from \"react\";\n\nexport interface ElementDimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n x: number;\n y: number;\n right: number;\n bottom: number;\n}\n\nexport const getDimensionObject = (node: HTMLElement): ElementDimensions => {\n const {\n x,\n y,\n width,\n height,\n bottom,\n top,\n left,\n right,\n } = node.getBoundingClientRect();\n\n return {\n width,\n height,\n top,\n left,\n x,\n y,\n right,\n bottom,\n };\n};\n\nconst isEqualDimensions = (\n a: ElementDimensions,\n b: ElementDimensions\n): boolean =>\n a.x === b.x &&\n a.y === b.y &&\n a.width === b.width &&\n a.height === b.height &&\n a.bottom === b.bottom &&\n a.top === b.top &&\n a.left === b.left &&\n a.right === b.right;\n\nexport const useElementDimensions = (\n ref: RefObject<HTMLElement>,\n onResizeElement?: (dimensions: ElementDimensions) => void\n) => {\n const [dimensions, setDimensions] = useState<ElementDimensions | undefined>();\n\n const updateDimensions = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (ref.current) {\n const newDimensions = getDimensionObject(ref.current);\n if (!dimensions || !isEqualDimensions(dimensions, newDimensions)) {\n if (onResizeElement) {\n onResizeElement(newDimensions);\n }\n }\n setDimensions(newDimensions);\n }\n });\n }, [ref, dimensions, setDimensions, onResizeElement]);\n\n useLayoutEffect(() => {\n updateDimensions();\n }, [updateDimensions]);\n\n return {\n dimensions,\n };\n};\n","import * as React from \"react\";\nimport { forwardRef, RefObject, useRef } from \"react\";\nimport { Box, BoxProps } from \"./Box\";\nimport {\n ElementDimensions,\n useElementDimensions,\n} from \"../../../hooks/UseElementDimensions\";\n\nexport interface ResizeAwareBoxProps extends BoxProps {\n onResize?: (dimensions: ElementDimensions) => void;\n}\n\nexport const ResizeAwareBox = forwardRef<HTMLDivElement, ResizeAwareBoxProps>(\n function ResizeAwareBox({ onResize, ...boxProps }, ref) {\n const localRef = useRef<HTMLDivElement>(null);\n const currentRef = (ref as RefObject<HTMLDivElement>) ?? localRef;\n useElementDimensions(currentRef, onResize);\n\n return <Box {...boxProps} ref={ref} />;\n }\n);\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Row = forwardRef<HTMLDivElement, BoxProps>(function Row(\n props,\n ref\n) {\n return <Box row ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface IndentProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Indent = forwardRef<HTMLDivElement, IndentProps>(function Indent(\n { num = 1, ...props },\n ref\n) {\n return <Box indent={num} ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface SpacingProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Spacing = forwardRef<HTMLDivElement, SpacingProps>(\n function Spacing({ num = 1, ...props }, ref) {\n return <Box spacing={num} ref={ref} {...props} />;\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\n\nexport interface SpaceProps {\n half?: boolean;\n horizontal?: boolean;\n num?: number;\n vertical?: boolean;\n}\n\nconst InnerSpace = styled.div`\n --current-size: 1;\n flex: none;\n width: calc(var(--current-size) * var(--swui-metrics-space));\n height: calc(var(--current-size) * var(--swui-metrics-space));\n`;\n\nexport const Space: React.VFC<SpaceProps> = ({\n half = false,\n horizontal = false,\n num = 1,\n vertical = false,\n}) => {\n const size = num * (half ? 0.5 : 1);\n\n return (\n <InnerSpace\n style={{\n [\"--current-size\" as string]: size,\n height: horizontal ? 1 : undefined,\n width: vertical ? 1 : undefined,\n }}\n />\n );\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\n\ninterface Props {\n nest?: boolean;\n render: (children: ReactNode) => ReactNode;\n}\n\nexport const Nest: React.FC<Props> = ({ children, nest, render }) => {\n if (nest) {\n return <>{render(children)}</>;\n }\n return <>{children}</>;\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 \"./Text.module.css\";\nimport { SpanProps } from \"../../types/ElementProps\";\nimport { Property } from \"csstype\";\nimport { forwardRef } from \"react\";\n\nexport interface TextProps extends SpanProps {\n variant?: TextVariant;\n size?: TextSize;\n userSelect?: Property.UserSelect;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n color?: string;\n}\n\nexport type TextVariant = \"standard\" | \"caption\" | \"overline\" | \"bold\";\nexport type TextSize = \"large\" | \"medium\" | \"small\" | \"smaller\";\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>(\n (\n {\n children,\n variant = \"standard\",\n size = \"medium\",\n className,\n color,\n userSelect,\n whiteSpace,\n wordBreak,\n style,\n ...spanProps\n },\n ref\n ) => {\n return (\n <span\n className={cx(styles.text, styles[variant], styles[size], className)}\n ref={ref}\n style={{ color, userSelect, whiteSpace, wordBreak, ...style }}\n {...spanProps}\n >\n {children}\n </span>\n );\n }\n);\n\nexport const Txt = Text;\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"small\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallerText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"smaller\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const StandardText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"medium\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const LargeText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"large\"} {...props} />;\n};\n","import cx from \"classnames\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { H1Props } from \"../../types/ElementProps\";\nimport styles from \"./Heading.module.css\";\n\nexport interface HeadingProps extends H1Props {\n variant?: HeadingVariant;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n as?: HeadingVariant;\n}\n\nexport type HeadingVariant = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n (\n {\n variant = \"h3\",\n className,\n color,\n whiteSpace,\n wordBreak,\n style,\n children,\n as,\n ...hProps\n },\n ref\n ) => {\n const Element = as ?? variant;\n return (\n <Element\n className={cx(styles.heading, styles[variant], className)}\n style={{ color, whiteSpace, wordBreak, ...style }}\n ref={ref}\n {...hProps}\n >\n {children}\n </Element>\n );\n }\n);\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"../heading/Heading\";\n\n/**\n * @deprecated Please use `Heading` instead.\n */\nexport const HeaderText: React.FC<Omit<HeadingProps, \"variant\">> = (props) => {\n return <Heading variant={\"h2\"} {...props} />;\n};\n","import { useCallback } from \"react\";\n\ntype ArrayItemEqualsComparator<T> = (a: T, b: T) => boolean;\n\nconst defaultComparator = <T>(a: T, b: T) => a === b;\n\nexport const useArraySet = <T>(\n list: Array<T>,\n setList: (list: Array<T>) => void,\n comparator: ArrayItemEqualsComparator<T> = defaultComparator\n) => {\n const add = useCallback(\n (item: T) => {\n if (!list.some((l) => comparator(l, item))) {\n setList([...list, item]);\n }\n },\n [list, setList, comparator]\n );\n\n const addMultiple = useCallback(\n (items: Array<T>) => {\n setList(\n items.reduce((list, item) => {\n if (!list.some((l) => comparator(l, item))) {\n return [...list, item];\n }\n return list;\n }, list)\n );\n },\n [list, setList, comparator]\n );\n\n const remove = useCallback(\n (item: T) => {\n const index = list.findIndex((l) => comparator(l, item));\n if (index >= 0) {\n setList(list.filter((_, i) => i !== index));\n }\n },\n [list, setList, comparator]\n );\n\n const removeMultiple = useCallback(\n (items: Array<T>) => {\n setList(list.filter((item) => !items.some((l) => comparator(l, item))));\n },\n [list, setList, comparator]\n );\n\n const toggle = useCallback(\n (item: T) => {\n const found = list.some((l) => comparator(l, item));\n if (found) {\n remove(item);\n } else {\n add(item);\n }\n },\n [list, add, remove, comparator]\n );\n\n return {\n add,\n addMultiple,\n remove,\n removeMultiple,\n toggle,\n };\n};\n","import { useCallback, useState } from \"react\";\n\ntype Value = boolean;\ntype SetTrue = () => void;\ntype SetFalse = () => void;\ntype ToggleValue = () => void;\ntype BooleanHook = [Value, SetTrue, SetFalse, ToggleValue];\n\nexport const useBoolean = (initialValue: Value): BooleanHook => {\n const [value, setValue] = useState(initialValue);\n\n const setTrue = useCallback(() => {\n setValue(true);\n }, [setValue]);\n\n const setFalse = useCallback(() => {\n setValue(false);\n }, [setValue]);\n\n const toggle = useCallback(() => {\n setValue((v) => !v);\n }, [setValue]);\n\n return [value, setTrue, setFalse, toggle];\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDebounce = <T>(value: T, delay: number): T => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]); // Only re-call effect if value or delay changes\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDelayedFalse = (value: boolean, delay: number) => {\n const [debouncedValue, setDebouncedValue] = useState<boolean>(value);\n\n useEffect(() => {\n if (value) {\n setDebouncedValue(true);\n }\n\n const handler = setTimeout(() => {\n if (!value) {\n setDebouncedValue(value);\n }\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nlet id = 0;\nconst genId = (componentName?: string) =>\n `webui-${componentName ? componentName + \"-\" : \"\"}${++id}`;\n\nexport const useDomId = (componentName?: string): string => {\n const [id, setId] = useState<string | null>(() => genId(componentName));\n useEffect(() => setId(genId(componentName)), [componentName]);\n return id!;\n};\n","import { RefObject, useEffect, useRef } from \"react\";\n\ntype EventHandler<TEventName extends keyof HTMLElementEventMap> = (\n event: HTMLElementEventMap[TEventName]\n) => void;\n\nexport const useEventListener = <TEventName extends keyof HTMLElementEventMap>(\n ref: RefObject<HTMLElement>,\n eventName: TEventName,\n handler: EventHandler<TEventName>\n) => {\n // Create a ref that stores handler\n const savedHandler = useRef<EventHandler<TEventName>>();\n\n // Update ref.current value if handler changes.\n // This allows our effect below to always get latest handler ...\n // ... without us needing to pass it in effect deps array ...\n // ... and potentially cause effect to re-run every render.\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Make sure element supports addEventListener\n const isSupported = ref.current && ref.current.addEventListener;\n if (!isSupported) return;\n\n // Create event listener that calls handler function stored in ref\n const eventListener: EventHandler<TEventName> = (event) => {\n if (savedHandler.current) {\n return savedHandler.current(event);\n }\n };\n\n // Add event listener\n if (!ref.current) {\n return;\n }\n\n const element = ref.current;\n element.addEventListener(eventName, eventListener);\n\n // Remove event listener on cleanup\n return () => {\n if (element) {\n element.removeEventListener(eventName, eventListener);\n }\n };\n }, [eventName, ref]); // Re-run if eventName or element changes\n};\n","import { RefObject, useCallback, useEffect } from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useElementFocus = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [isInFocus, setIsInFocus, setIsNotInFocus] = useBoolean(false);\n\n useEffect(() => {\n if (document.activeElement === ReactDOM.findDOMNode(ref.current)) {\n setIsInFocus();\n } else {\n setIsNotInFocus();\n }\n }, [ref, setIsNotInFocus, setIsInFocus]);\n\n useEventListener(ref, \"focus\", setIsInFocus);\n useEventListener(ref, \"blur\", setIsNotInFocus);\n\n const focus = useCallback(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n const blur = useCallback(() => {\n if (ref.current) {\n ref.current.blur();\n }\n }, [ref]);\n\n return { isInFocus, focus, blur };\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsOver = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsOver, setMouseIsOver, setMouseIsNotOver] = useBoolean(false);\n\n useEventListener(ref, \"mouseover\", setMouseIsOver);\n useEventListener(ref, \"mouseout\", setMouseIsNotOver);\n\n return mouseIsOver;\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsEntered = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsEntered, setMouseIsEntered, setMouseIsNotEntered] = useBoolean(\n false\n );\n\n useEventListener(ref, \"mouseenter\", setMouseIsEntered);\n useEventListener(ref, \"mouseleave\", setMouseIsNotEntered);\n\n return mouseIsEntered;\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useMultiOnClickOutside = (\n refs: Array<React.RefObject<any>>,\n handler: (event: TouchEvent | MouseEvent) => void\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n\n const allNotContains = refs\n .filter((ref) => ref.current)\n .every((ref) => {\n return ref.current && !ref.current.contains(event.target);\n });\n\n if (!allNotContains) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs]);\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useOnClickOutside = (\n ref: React.RefObject<any>,\n handler: (event: TouchEvent | MouseEvent) => void,\n options?: AddEventListenerOptions\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener, options);\n document.addEventListener(\"touchstart\", listener, options);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener, options);\n document.removeEventListener(\"touchstart\", listener, options);\n };\n }, [ref, options]);\n};\n","import { debounce } from \"lodash\";\nimport { useEffect, useRef } from \"react\";\n\nconst events = [\"mousemove\", \"mousedown\", \"keydown\", \"touchstart\", \"scroll\"];\n\nexport const useOnNoMouseMovement = (callback: () => void, delay: number) => {\n const eventHandler = useRef<(event: Event) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const onIdleChange = debounce(eventHandler.current, delay);\n events.forEach((event) => window.addEventListener(event, onIdleChange));\n\n return () => {\n events.forEach((event) =>\n window.removeEventListener(event, onIdleChange)\n );\n };\n }, [delay]);\n};\n","import { RefObject, useEffect, useMemo, useState } from \"react\";\n\nexport const useOnScreen = (\n ref: RefObject<Element>,\n options?: IntersectionObserverInit\n) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const { rootMargin, root, threshold } = options || {};\n\n const observer = useMemo(() => {\n return new IntersectionObserver(\n ([entry]) => setIsVisible(entry.isIntersecting),\n {\n rootMargin,\n root,\n threshold,\n }\n );\n }, [setIsVisible, rootMargin, root, threshold]);\n\n useEffect(() => {\n if (ref.current) {\n observer.observe(ref.current);\n }\n return () => {\n observer.disconnect();\n };\n }, [observer, ref]);\n\n return isVisible;\n};\n","import {\n MutableRefObject,\n RefCallback,\n RefObject,\n useEffect,\n useRef,\n} from \"react\";\n\nexport const useForwardedRef = <T>(\n ref: RefCallback<T> | MutableRefObject<T> | null\n): RefObject<NonNullable<T>> => {\n const innerRef = useRef<T>(null) as MutableRefObject<NonNullable<T>>;\n\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport const useTimeoutState = <S>(\n initialValue: S,\n defaultTimeout: number,\n clearTimeoutOnSetValue = true\n): [S, (v: S) => void] => {\n const [value, setValue] = useState<S>(initialValue);\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n const wrappedSetter = useCallback(\n (newValue: S, timeout = defaultTimeout) => {\n setValue(newValue);\n if (clearTimeoutOnSetValue) {\n clearTimeout(timeoutRef.current!);\n }\n timeoutRef.current = setTimeout(() => setValue(initialValue), timeout);\n },\n [defaultTimeout, clearTimeoutOnSetValue, initialValue]\n );\n\n useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current!);\n };\n }, []);\n\n return [value, wrappedSetter];\n};\n","export const exhaustSwitchCaseElseThrow = (arg: never) => {\n throw new Error(`Switch unhandled case: ${arg}`);\n};\n\nexport const exhaustSwitchCase = <T>(_arg: never, fallback: T) => {\n return fallback;\n};\n","export const truthyKeysAsList = (r: Record<string, boolean>): Array<string> =>\n Object.keys(r).filter((key) => r[key]);\n","import { pickBy } from \"lodash\";\n\nexport const getDataProps = <T extends Record<string, unknown>>(\n props: Record<string, unknown> | {}\n): T => pickBy(props, isDataPropMapper) as T;\n\nconst isDataPropMapper = (_: unknown, key: string): boolean => isDataProp(key);\n\nconst isDataProp = <TProp extends string>(propName: TProp): boolean =>\n propName.startsWith(\"data-\") || propName.startsWith(\"aria-\");\n","export const parseFloatElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseFloat(s);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n\nexport const parseIntElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseInt(s, 10);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n"],"names":["styles"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/decorators/separatorline/SeparatorLine.tsx","../src/components/interaction/Clickable.tsx","../src/utils/BooleanOrNumberToNumber.ts","../src/components/layout/box/Box.tsx","../src/components/layout/column/Column.tsx","../src/hooks/UseElementDimensions.ts","../src/components/layout/box/ResizeAwareBox.tsx","../src/components/layout/row/Row.tsx","../src/components/layout/indent/Indent.tsx","../src/components/layout/spacing/Spacing.tsx","../src/components/layout/space/Space.tsx","../src/components/util/Nest.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/text/Text.tsx","../src/components/deprecated-text/SmallText.tsx","../src/components/deprecated-text/SmallerText.tsx","../src/components/deprecated-text/StandardText.tsx","../src/components/deprecated-text/LargeText.tsx","../src/components/heading/Heading.tsx","../src/components/deprecated-text/HeaderText.tsx","../src/hooks/UseArraySet.ts","../src/hooks/UseBoolean.ts","../src/hooks/UseDebounce.ts","../src/hooks/UseDelayedFalse.ts","../src/hooks/UseDomId.ts","../src/hooks/UseEventListener.ts","../src/hooks/UseElementFocus.ts","../src/hooks/UseMouseIsOver.ts","../src/hooks/UseMouseIsEntered.ts","../src/hooks/UseMultiOnClickOutside.ts","../src/hooks/UseOnClickOutside.ts","../src/hooks/UseOnNoMouseInput.ts","../src/hooks/UseOnScreen.ts","../src/hooks/UseForwardedRef.ts","../src/hooks/UseTimeoutState.ts","../src/utils/SwitchCaseExhauster.ts","../src/utils/TruthyKeysAsList.ts","../src/utils/PropsForwarder.ts","../src/utils/parsers/NumberParser.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\n\nexport interface SeparatorLineProps {\n color?: Property.Color;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\ninterface SeparatorLineComponentProps {\n color: string;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\nconst SeparatorLineComponent = styled.hr<SeparatorLineComponentProps>`\n display: flex;\n border: 0;\n margin: 0;\n flex: none;\n background-color: ${(props) => props.color};\n height: ${(props) =>\n props.vertical ? props.size || \"100%\" : props.width || \"1px\"};\n width: ${(props) =>\n props.vertical ? props.width || \"1px\" : props.size || \"100%\"};\n`;\n\nexport const SeparatorLine = forwardRef<HTMLHRElement, SeparatorLineProps>(\n (\n {\n color = \"var(--lhds-color-ui-300)\",\n size = \"100%\",\n width = \"1px\",\n vertical = false,\n },\n ref\n ) => {\n return (\n <SeparatorLineComponent\n color={color}\n size={size}\n width={width}\n vertical={vertical}\n ref={ref}\n />\n );\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\nimport { CSSProperties, forwardRef, MouseEventHandler } from \"react\";\nimport { ButtonElementProps } from \"../../types/ElementProps\";\n\nexport interface ClickableProps extends ButtonElementProps {\n /** Callback function called when clicking on click area. */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n /** Callback function called when double clicking on click area. */\n onDblClick?: MouseEventHandler<HTMLButtonElement>;\n /** Adds a title to the click area. */\n tooltip?: string;\n /** If set, there is no opacity applies when clicking on the click area. */\n disableOpacityOnClick?: boolean;\n /** Mouse does not turn into pointer when hovering over click area. */\n disablePointer?: boolean;\n /** When set, click area receives opacity when mouse hovers over it. */\n opacityOnHover?: boolean;\n /** Custom style on div with click event. */\n style?: CSSProperties;\n /** Disables shadow when element is focused. */\n disableFocusHighlight?: boolean;\n /** Disables the HTML button element. */\n disabled?: boolean;\n /**\n * Sets the background of the box.\n */\n background?: string;\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: string;\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: string;\n /**\n * The width.\n */\n width?: string;\n /**\n * The height.\n */\n height?: string;\n /**\n * Border radius\n */\n borderRadius?: string;\n}\n\ninterface ClickableElementProps {\n disableOpacityOnClick?: boolean;\n opacityOnHover?: boolean;\n disableFocusHighlight?: boolean;\n pointer?: boolean;\n background?: string;\n focusBackground?: string;\n hoverBackground?: string;\n width?: string;\n height?: string;\n borderRadius?: string;\n}\n\nconst ClickableElement = styled.button<ClickableElementProps>`\n display: inline-block;\n user-select: none;\n border: 0;\n padding: 0;\n background: ${({ background }) => background};\n ${({ pointer }) => (pointer ? \"cursor: pointer;\" : \"\")}\n\n :hover {\n ${(props) => (props.opacityOnHover ? \"opacity: 0.7;\" : \"\")};\n ${({ hoverBackground }) => `background: ${hoverBackground};`}\n }\n :active {\n ${({ disableOpacityOnClick }) =>\n !disableOpacityOnClick ? \"opacity: 0.5;\" : \"\"}\n }\n :focus {\n outline: 0;\n ${({ disableFocusHighlight }) =>\n disableFocusHighlight\n ? \"\"\n : \"box-shadow: 0 0 3pt 2pt rgba(0, 0, 100, 0.3);\"}\n ${({ focusBackground }) => `background: ${focusBackground};`}\n }\n ${({ width }) => (width ? `width: ${width};` : \"\")}\n ${({ height }) => (height ? `height: ${height};` : \"\")}\n ${({ borderRadius }) =>\n borderRadius ? `border-radius: ${borderRadius};` : \"\"}\n`;\n\nexport const Clickable = forwardRef<HTMLButtonElement, ClickableProps>(\n (\n {\n disableFocusHighlight,\n onClick,\n onDblClick,\n tooltip,\n disableOpacityOnClick,\n disablePointer,\n opacityOnHover,\n disabled,\n children,\n background = \"transparent\",\n hoverBackground,\n focusBackground,\n type = \"button\",\n ...restProps\n },\n ref\n ) => {\n const hasClickHandler = !!(onClick || onDblClick);\n\n return (\n <ClickableElement\n opacityOnHover={opacityOnHover}\n title={tooltip}\n disabled={disabled}\n disableOpacityOnClick={disableOpacityOnClick}\n onClick={onClick}\n onDoubleClick={onDblClick}\n disableFocusHighlight={disableFocusHighlight}\n pointer={hasClickHandler && !disablePointer}\n ref={ref}\n background={background}\n hoverBackground={hoverBackground}\n focusBackground={focusBackground}\n type={type}\n {...restProps}\n >\n {children}\n </ClickableElement>\n );\n }\n);\n","export const booleanOrNumberToNumber = (\n num: number | boolean | undefined\n): number => {\n if (num == null) {\n return 0;\n }\n if (typeof num === \"boolean\") {\n return num ? 1 : 0;\n }\n return num;\n};\n","import isPropValid from \"@emotion/is-prop-valid\";\nimport styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\n\nimport {\n background,\n BackgroundProps,\n border,\n borderBottom,\n BorderBottomProps,\n borderColor,\n borderLeft,\n BorderLeftProps,\n borderRadius,\n BorderRadiusProps,\n borderRight,\n BorderRightProps,\n borderStyle,\n BorderStyleProps,\n borderTop,\n BorderTopProps,\n borderWidth,\n BorderWidthProps,\n bottom,\n BottomProps,\n boxShadow,\n BoxShadowProps,\n flexbox,\n FlexboxProps,\n layout,\n LayoutProps,\n left,\n LeftProps,\n overflow,\n OverflowProps,\n position,\n PositionProps,\n ResponsiveValue,\n right,\n RightProps,\n system,\n TLengthStyledSystem,\n top,\n TopProps,\n zIndex,\n ZIndexProps,\n} from \"styled-system\";\nimport { DivProps } from \"../../../types/ElementProps\";\nimport { booleanOrNumberToNumber } from \"../../../utils/BooleanOrNumberToNumber\";\n\ninterface StyledSystemProps\n extends BorderRadiusProps,\n BorderStyleProps,\n BorderWidthProps,\n BorderLeftProps,\n BorderRightProps,\n BorderTopProps,\n BorderBottomProps,\n FlexboxProps,\n LayoutProps,\n OverflowProps,\n PositionProps,\n ZIndexProps,\n LeftProps,\n RightProps,\n TopProps,\n BottomProps {}\n\nconst shadows = {\n box: \"var(--swui-shadow-box)\",\n popover: \"var(--swui-shadow-popover)\",\n modal: \"var(--swui-shadow-modal)\",\n};\n\ntype ShadowType = keyof typeof shadows;\n\nexport interface BoxProps extends StyledSystemProps, DivProps {\n /**\n * If true, children are placed in a row.\n */\n row?: ResponsiveValue<boolean>;\n\n /**\n * Adds spacing over and under content.\n */\n spacing?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing left and right of content.\n */\n indent?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing between children.\n */\n gap?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds a shadow around the box.\n */\n shadow?: ResponsiveValue<Property.BoxShadow | ShadowType>;\n\n /**\n * Sets the background of the box.\n */\n background?: ResponsiveValue<Property.Background<TLengthStyledSystem>>;\n\n /**\n * Sets the border of the box.\n */\n border?: ResponsiveValue<Property.Border<TLengthStyledSystem>>;\n\n /**\n * Sets the border color of the box.\n */\n borderColor?: ResponsiveValue<Property.BorderColor>;\n\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when hovering with mouse.\n */\n hoverBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when the box is in focus.\n */\n focusBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when focus is within the box.\n */\n focusWithinBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when focus is within the box.\n */\n focusWithinBorder?: Property.Border<TLengthStyledSystem>;\n}\n\nconst excludedProps = [\n \"spacing\",\n \"indent\",\n \"gap\",\n \"width\",\n \"height\",\n \"overflow\",\n \"display\",\n];\n\nconst isExcludedWebUiProp = (propName: string) =>\n excludedProps.includes(propName);\n\nconst box = system({\n row: {\n property: \"flexDirection\",\n transform: (row: boolean) => (row ? \"row\" : \"column\"),\n },\n indent: {\n // @ts-ignore\n property: \"--current-indent\",\n transform: booleanOrNumberToNumber,\n },\n spacing: {\n // @ts-ignore\n property: \"--current-spacing\",\n transform: booleanOrNumberToNumber,\n },\n gap: {\n // @ts-ignore\n property: \"--current-gap\",\n transform: booleanOrNumberToNumber,\n },\n shadow: {\n property: \"boxShadow\",\n transform: (value) => shadows[value] ?? value,\n },\n});\n\ntype InnerProps = BoxProps & BoxShadowProps & BackgroundProps;\n\nexport const Box = styled(\"div\", {\n shouldForwardProp: (propName) =>\n typeof propName === \"string\"\n ? isExcludedWebUiProp(propName)\n ? false\n : isPropValid(propName)\n : false,\n})<InnerProps>`\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ${box};\n ${background};\n ${border};\n ${borderRight};\n ${borderLeft};\n ${borderTop};\n ${borderBottom};\n ${borderColor};\n ${borderRadius};\n ${borderStyle};\n ${borderWidth};\n ${boxShadow};\n ${flexbox};\n ${overflow};\n ${position};\n ${layout};\n ${zIndex};\n ${left};\n ${right};\n ${top};\n ${bottom};\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ${({ hoverBackground }) =>\n hoverBackground ? `background: ${hoverBackground};` : \"\"}\n ${({ hoverBorder }) => (hoverBorder ? `border: ${hoverBorder};` : \"\")}\n }\n :focus {\n ${({ focusBackground }) =>\n focusBackground ? `background: ${focusBackground};` : \"\"}\n ${({ focusBorder }) => (focusBorder ? `border: ${focusBorder};` : \"\")}\n }\n :focus-within {\n ${({ focusWithinBackground }) =>\n focusWithinBackground ? `background: ${focusWithinBackground};` : \"\"}\n ${({ focusWithinBorder }) =>\n focusWithinBorder ? `border: ${focusWithinBorder};` : \"\"}\n }\n`;\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Column = forwardRef<HTMLDivElement, BoxProps>(function Column(\n props,\n ref\n) {\n return <Box ref={ref} {...props} />;\n});\n","import { RefObject, useCallback, useLayoutEffect, useState } from \"react\";\n\nexport interface ElementDimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n x: number;\n y: number;\n right: number;\n bottom: number;\n}\n\nexport const getDimensionObject = (node: HTMLElement): ElementDimensions => {\n const { x, y, width, height, bottom, top, left, right } =\n node.getBoundingClientRect();\n\n return {\n width,\n height,\n top,\n left,\n x,\n y,\n right,\n bottom,\n };\n};\n\nconst isEqualDimensions = (\n a: ElementDimensions,\n b: ElementDimensions\n): boolean =>\n a.x === b.x &&\n a.y === b.y &&\n a.width === b.width &&\n a.height === b.height &&\n a.bottom === b.bottom &&\n a.top === b.top &&\n a.left === b.left &&\n a.right === b.right;\n\nexport const useElementDimensions = (\n ref: RefObject<HTMLElement>,\n onResizeElement?: (dimensions: ElementDimensions) => void\n) => {\n const [dimensions, setDimensions] = useState<ElementDimensions | undefined>();\n\n const updateDimensions = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (ref.current) {\n const newDimensions = getDimensionObject(ref.current);\n if (!dimensions || !isEqualDimensions(dimensions, newDimensions)) {\n if (onResizeElement) {\n onResizeElement(newDimensions);\n }\n }\n setDimensions(newDimensions);\n }\n });\n }, [ref, dimensions, setDimensions, onResizeElement]);\n\n useLayoutEffect(() => {\n updateDimensions();\n }, [updateDimensions]);\n\n return {\n dimensions,\n };\n};\n","import * as React from \"react\";\nimport { forwardRef, RefObject, useRef } from \"react\";\nimport { Box, BoxProps } from \"./Box\";\nimport {\n ElementDimensions,\n useElementDimensions,\n} from \"../../../hooks/UseElementDimensions\";\n\nexport interface ResizeAwareBoxProps extends BoxProps {\n onResize?: (dimensions: ElementDimensions) => void;\n}\n\nexport const ResizeAwareBox = forwardRef<HTMLDivElement, ResizeAwareBoxProps>(\n function ResizeAwareBox({ onResize, ...boxProps }, ref) {\n const localRef = useRef<HTMLDivElement>(null);\n const currentRef = (ref as RefObject<HTMLDivElement>) ?? localRef;\n useElementDimensions(currentRef, onResize);\n\n return <Box {...boxProps} ref={ref} />;\n }\n);\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Row = forwardRef<HTMLDivElement, BoxProps>(function Row(\n props,\n ref\n) {\n return <Box row ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface IndentProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Indent = forwardRef<HTMLDivElement, IndentProps>(function Indent(\n { num = 1, ...props },\n ref\n) {\n return <Box indent={num} ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface SpacingProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Spacing = forwardRef<HTMLDivElement, SpacingProps>(\n function Spacing({ num = 1, ...props }, ref) {\n return <Box spacing={num} ref={ref} {...props} />;\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\n\nexport interface SpaceProps {\n half?: boolean;\n horizontal?: boolean;\n num?: number;\n vertical?: boolean;\n}\n\nconst InnerSpace = styled.div`\n --current-size: 1;\n flex: none;\n width: calc(var(--current-size) * var(--swui-metrics-space));\n height: calc(var(--current-size) * var(--swui-metrics-space));\n`;\n\nexport const Space: React.VFC<SpaceProps> = ({\n half = false,\n horizontal = false,\n num = 1,\n vertical = false,\n}) => {\n const size = num * (half ? 0.5 : 1);\n\n return (\n <InnerSpace\n style={{\n [\"--current-size\" as string]: size,\n height: horizontal ? 1 : undefined,\n width: vertical ? 1 : undefined,\n }}\n />\n );\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\n\ninterface Props {\n nest?: boolean;\n render: (children: ReactNode) => ReactNode;\n children?: ReactNode;\n}\n\nexport const Nest: React.FC<Props> = ({ children, nest, render }) => {\n if (nest) {\n return <>{render(children)}</>;\n }\n return <>{children}</>;\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 \"./Text.module.css\";\nimport { SpanProps } from \"../../types/ElementProps\";\nimport { Property } from \"csstype\";\nimport { forwardRef } from \"react\";\n\nexport interface TextProps extends SpanProps {\n variant?: TextVariant;\n size?: TextSize;\n userSelect?: Property.UserSelect;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n color?: string;\n}\n\nexport type TextVariant = \"standard\" | \"caption\" | \"overline\" | \"bold\";\nexport type TextSize = \"large\" | \"medium\" | \"small\" | \"smaller\";\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>(\n (\n {\n children,\n variant = \"standard\",\n size = \"medium\",\n className,\n color,\n userSelect,\n whiteSpace,\n wordBreak,\n style,\n ...spanProps\n },\n ref\n ) => {\n return (\n <span\n className={cx(styles.text, styles[variant], styles[size], className)}\n ref={ref}\n style={{ color, userSelect, whiteSpace, wordBreak, ...style }}\n {...spanProps}\n >\n {children}\n </span>\n );\n }\n);\n\nexport const Txt = Text;\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"small\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallerText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"smaller\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const StandardText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"medium\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const LargeText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"large\"} {...props} />;\n};\n","import cx from \"classnames\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { H1Props } from \"../../types/ElementProps\";\nimport styles from \"./Heading.module.css\";\n\nexport interface HeadingProps extends H1Props {\n variant?: HeadingVariant;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n as?: HeadingVariant;\n}\n\nexport type HeadingVariant = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n (\n {\n variant = \"h3\",\n className,\n color,\n whiteSpace,\n wordBreak,\n style,\n children,\n as,\n ...hProps\n },\n ref\n ) => {\n const Element = as ?? variant;\n return (\n <Element\n className={cx(styles.heading, styles[variant], className)}\n style={{ color, whiteSpace, wordBreak, ...style }}\n ref={ref}\n {...hProps}\n >\n {children}\n </Element>\n );\n }\n);\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"../heading/Heading\";\n\n/**\n * @deprecated Please use `Heading` instead.\n */\nexport const HeaderText: React.FC<Omit<HeadingProps, \"variant\">> = (props) => {\n return <Heading variant={\"h2\"} {...props} />;\n};\n","import { useCallback } from \"react\";\n\ntype ArrayItemEqualsComparator<T> = (a: T, b: T) => boolean;\n\nconst defaultComparator = <T>(a: T, b: T) => a === b;\n\nexport const useArraySet = <T>(\n list: Array<T>,\n setList: (list: Array<T>) => void,\n comparator: ArrayItemEqualsComparator<T> = defaultComparator\n) => {\n const add = useCallback(\n (item: T) => {\n if (!list.some((l) => comparator(l, item))) {\n setList([...list, item]);\n }\n },\n [list, setList, comparator]\n );\n\n const addMultiple = useCallback(\n (items: Array<T>) => {\n setList(\n items.reduce((list, item) => {\n if (!list.some((l) => comparator(l, item))) {\n return [...list, item];\n }\n return list;\n }, list)\n );\n },\n [list, setList, comparator]\n );\n\n const remove = useCallback(\n (item: T) => {\n const index = list.findIndex((l) => comparator(l, item));\n if (index >= 0) {\n setList(list.filter((_, i) => i !== index));\n }\n },\n [list, setList, comparator]\n );\n\n const removeMultiple = useCallback(\n (items: Array<T>) => {\n setList(list.filter((item) => !items.some((l) => comparator(l, item))));\n },\n [list, setList, comparator]\n );\n\n const toggle = useCallback(\n (item: T) => {\n const found = list.some((l) => comparator(l, item));\n if (found) {\n remove(item);\n } else {\n add(item);\n }\n },\n [list, add, remove, comparator]\n );\n\n return {\n add,\n addMultiple,\n remove,\n removeMultiple,\n toggle,\n };\n};\n","import { useCallback, useState } from \"react\";\n\ntype Value = boolean;\ntype SetTrue = () => void;\ntype SetFalse = () => void;\ntype ToggleValue = () => void;\ntype BooleanHook = [Value, SetTrue, SetFalse, ToggleValue];\n\nexport const useBoolean = (initialValue: Value): BooleanHook => {\n const [value, setValue] = useState(initialValue);\n\n const setTrue = useCallback(() => {\n setValue(true);\n }, [setValue]);\n\n const setFalse = useCallback(() => {\n setValue(false);\n }, [setValue]);\n\n const toggle = useCallback(() => {\n setValue((v) => !v);\n }, [setValue]);\n\n return [value, setTrue, setFalse, toggle];\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDebounce = <T>(value: T, delay: number): T => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]); // Only re-call effect if value or delay changes\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDelayedFalse = (value: boolean, delay: number) => {\n const [debouncedValue, setDebouncedValue] = useState<boolean>(value);\n\n useEffect(() => {\n if (value) {\n setDebouncedValue(true);\n }\n\n const handler = setTimeout(() => {\n if (!value) {\n setDebouncedValue(value);\n }\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nlet id = 0;\nconst genId = (componentName?: string) =>\n `webui-${componentName ? componentName + \"-\" : \"\"}${++id}`;\n\nexport const useDomId = (componentName?: string): string => {\n const [id, setId] = useState<string | null>(() => genId(componentName));\n useEffect(() => setId(genId(componentName)), [componentName]);\n return id!;\n};\n","import { RefObject, useEffect, useRef } from \"react\";\n\ntype EventHandler<TEventName extends keyof HTMLElementEventMap> = (\n event: HTMLElementEventMap[TEventName]\n) => void;\n\nexport const useEventListener = <TEventName extends keyof HTMLElementEventMap>(\n ref: RefObject<HTMLElement>,\n eventName: TEventName,\n handler: EventHandler<TEventName>\n) => {\n // Create a ref that stores handler\n const savedHandler = useRef<EventHandler<TEventName>>();\n\n // Update ref.current value if handler changes.\n // This allows our effect below to always get latest handler ...\n // ... without us needing to pass it in effect deps array ...\n // ... and potentially cause effect to re-run every render.\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Make sure element supports addEventListener\n const isSupported = ref.current && ref.current.addEventListener;\n if (!isSupported) return;\n\n // Create event listener that calls handler function stored in ref\n const eventListener: EventHandler<TEventName> = (event) => {\n if (savedHandler.current) {\n return savedHandler.current(event);\n }\n };\n\n // Add event listener\n if (!ref.current) {\n return;\n }\n\n const element = ref.current;\n element.addEventListener(eventName, eventListener);\n\n // Remove event listener on cleanup\n return () => {\n if (element) {\n element.removeEventListener(eventName, eventListener);\n }\n };\n }, [eventName, ref]); // Re-run if eventName or element changes\n};\n","import { RefObject, useCallback, useEffect } from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useElementFocus = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [isInFocus, setIsInFocus, setIsNotInFocus] = useBoolean(false);\n\n useEffect(() => {\n if (document.activeElement === ReactDOM.findDOMNode(ref.current)) {\n setIsInFocus();\n } else {\n setIsNotInFocus();\n }\n }, [ref, setIsNotInFocus, setIsInFocus]);\n\n useEventListener(ref, \"focus\", setIsInFocus);\n useEventListener(ref, \"blur\", setIsNotInFocus);\n\n const focus = useCallback(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n const blur = useCallback(() => {\n if (ref.current) {\n ref.current.blur();\n }\n }, [ref]);\n\n return { isInFocus, focus, blur };\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsOver = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsOver, setMouseIsOver, setMouseIsNotOver] = useBoolean(false);\n\n useEventListener(ref, \"mouseover\", setMouseIsOver);\n useEventListener(ref, \"mouseout\", setMouseIsNotOver);\n\n return mouseIsOver;\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsEntered = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsEntered, setMouseIsEntered, setMouseIsNotEntered] =\n useBoolean(false);\n\n useEventListener(ref, \"mouseenter\", setMouseIsEntered);\n useEventListener(ref, \"mouseleave\", setMouseIsNotEntered);\n\n return mouseIsEntered;\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useMultiOnClickOutside = (\n refs: Array<React.RefObject<any>>,\n handler: (event: TouchEvent | MouseEvent) => void\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n\n const allNotContains = refs\n .filter((ref) => ref.current)\n .every((ref) => {\n return ref.current && !ref.current.contains(event.target);\n });\n\n if (!allNotContains) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs]);\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useOnClickOutside = (\n ref: React.RefObject<any>,\n handler: (event: TouchEvent | MouseEvent) => void,\n options?: AddEventListenerOptions\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener, options);\n document.addEventListener(\"touchstart\", listener, options);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener, options);\n document.removeEventListener(\"touchstart\", listener, options);\n };\n }, [ref, options]);\n};\n","import { debounce } from \"lodash\";\nimport { useEffect, useRef } from \"react\";\n\nconst events = [\"mousemove\", \"mousedown\", \"keydown\", \"touchstart\", \"scroll\"];\n\nexport const useOnNoMouseMovement = (callback: () => void, delay: number) => {\n const eventHandler = useRef<(event: Event) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const onIdleChange = debounce(eventHandler.current, delay);\n events.forEach((event) => window.addEventListener(event, onIdleChange));\n\n return () => {\n events.forEach((event) =>\n window.removeEventListener(event, onIdleChange)\n );\n };\n }, [delay]);\n};\n","import { RefObject, useEffect, useMemo, useState } from \"react\";\n\nexport const useOnScreen = (\n ref: RefObject<Element>,\n options?: IntersectionObserverInit\n) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const { rootMargin, root, threshold } = options || {};\n\n const observer = useMemo(() => {\n return new IntersectionObserver(\n ([entry]) => setIsVisible(entry.isIntersecting),\n {\n rootMargin,\n root,\n threshold,\n }\n );\n }, [setIsVisible, rootMargin, root, threshold]);\n\n useEffect(() => {\n if (ref.current) {\n observer.observe(ref.current);\n }\n return () => {\n observer.disconnect();\n };\n }, [observer, ref]);\n\n return isVisible;\n};\n","import {\n MutableRefObject,\n RefCallback,\n RefObject,\n useEffect,\n useRef,\n} from \"react\";\n\nexport const useForwardedRef = <T>(\n ref: RefCallback<T> | MutableRefObject<T> | null\n): RefObject<NonNullable<T>> => {\n const innerRef = useRef<T>(null) as MutableRefObject<NonNullable<T>>;\n\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport const useTimeoutState = <S>(\n initialValue: S,\n defaultTimeout: number,\n clearTimeoutOnSetValue = true\n): [S, (v: S) => void] => {\n const [value, setValue] = useState<S>(initialValue);\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n const wrappedSetter = useCallback(\n (newValue: S, timeout = defaultTimeout) => {\n setValue(newValue);\n if (clearTimeoutOnSetValue) {\n clearTimeout(timeoutRef.current!);\n }\n timeoutRef.current = setTimeout(() => setValue(initialValue), timeout);\n },\n [defaultTimeout, clearTimeoutOnSetValue, initialValue]\n );\n\n useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current!);\n };\n }, []);\n\n return [value, wrappedSetter];\n};\n","export const exhaustSwitchCaseElseThrow = (arg: never) => {\n throw new Error(`Switch unhandled case: ${arg}`);\n};\n\nexport const exhaustSwitchCase = <T>(_arg: never, fallback: T) => {\n return fallback;\n};\n","export const truthyKeysAsList = (r: Record<string, boolean>): Array<string> =>\n Object.keys(r).filter((key) => r[key]);\n","import { pickBy } from \"lodash\";\n\nexport const getDataProps = <T extends Record<string, unknown>>(\n props: Record<string, unknown> | {}\n): T => pickBy(props, isDataPropMapper) as T;\n\nconst isDataPropMapper = (_: unknown, key: string): boolean => isDataProp(key);\n\nconst isDataProp = <TProp extends string>(propName: TProp): boolean =>\n propName.startsWith(\"data-\") || propName.startsWith(\"aria-\");\n","export const parseFloatElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseFloat(s);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n\nexport const parseIntElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseInt(s, 10);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n"],"names":["styles"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -109,7 +109,7 @@ var ClickableElement = styled__default["default"].button(templateObject_1$2 || (
109
109
  return (pointer ? "cursor: pointer;" : "");
110
110
  }, function (props) { return (props.opacityOnHover ? "opacity: 0.7;" : ""); }, function (_a) {
111
111
  var hoverBackground = _a.hoverBackground;
112
- return "background: " + hoverBackground + ";";
112
+ return "background: ".concat(hoverBackground, ";");
113
113
  }, function (_a) {
114
114
  var disableOpacityOnClick = _a.disableOpacityOnClick;
115
115
  return !disableOpacityOnClick ? "opacity: 0.5;" : "";
@@ -120,16 +120,16 @@ var ClickableElement = styled__default["default"].button(templateObject_1$2 || (
120
120
  : "box-shadow: 0 0 3pt 2pt rgba(0, 0, 100, 0.3);";
121
121
  }, function (_a) {
122
122
  var focusBackground = _a.focusBackground;
123
- return "background: " + focusBackground + ";";
123
+ return "background: ".concat(focusBackground, ";");
124
124
  }, function (_a) {
125
125
  var width = _a.width;
126
- return (width ? "width: " + width + ";" : "");
126
+ return (width ? "width: ".concat(width, ";") : "");
127
127
  }, function (_a) {
128
128
  var height = _a.height;
129
- return (height ? "height: " + height + ";" : "");
129
+ return (height ? "height: ".concat(height, ";") : "");
130
130
  }, function (_a) {
131
131
  var borderRadius = _a.borderRadius;
132
- return borderRadius ? "border-radius: " + borderRadius + ";" : "";
132
+ return borderRadius ? "border-radius: ".concat(borderRadius, ";") : "";
133
133
  });
134
134
  var Clickable = React.forwardRef(function (_a, ref) {
135
135
  var disableFocusHighlight = _a.disableFocusHighlight, onClick = _a.onClick, onDblClick = _a.onDblClick, tooltip = _a.tooltip, disableOpacityOnClick = _a.disableOpacityOnClick, disablePointer = _a.disablePointer, opacityOnHover = _a.opacityOnHover, disabled = _a.disabled, children = _a.children, _b = _a.background, background = _b === void 0 ? "transparent" : _b, hoverBackground = _a.hoverBackground, focusBackground = _a.focusBackground, _c = _a.type, type = _c === void 0 ? "button" : _c, restProps = __rest(_a, ["disableFocusHighlight", "onClick", "onDblClick", "tooltip", "disableOpacityOnClick", "disablePointer", "opacityOnHover", "disabled", "children", "background", "hoverBackground", "focusBackground", "type"]);
@@ -200,22 +200,22 @@ var Box = styled__default["default"]("div", {
200
200
  },
201
201
  })(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ", "\n ", "\n }\n :focus {\n ", "\n ", "\n }\n :focus-within {\n ", "\n ", "\n }\n"], ["\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ", "\n ", "\n }\n :focus {\n ", "\n ", "\n }\n :focus-within {\n ", "\n ", "\n }\n"])), box, styledSystem.background, styledSystem.border, styledSystem.borderRight, styledSystem.borderLeft, styledSystem.borderTop, styledSystem.borderBottom, styledSystem.borderColor, styledSystem.borderRadius, styledSystem.borderStyle, styledSystem.borderWidth, styledSystem.boxShadow, styledSystem.flexbox, styledSystem.overflow, styledSystem.position, styledSystem.layout, styledSystem.zIndex, styledSystem.left, styledSystem.right, styledSystem.top, styledSystem.bottom, function (_a) {
202
202
  var hoverBackground = _a.hoverBackground;
203
- return hoverBackground ? "background: " + hoverBackground + ";" : "";
203
+ return hoverBackground ? "background: ".concat(hoverBackground, ";") : "";
204
204
  }, function (_a) {
205
205
  var hoverBorder = _a.hoverBorder;
206
- return (hoverBorder ? "border: " + hoverBorder + ";" : "");
206
+ return (hoverBorder ? "border: ".concat(hoverBorder, ";") : "");
207
207
  }, function (_a) {
208
208
  var focusBackground = _a.focusBackground;
209
- return focusBackground ? "background: " + focusBackground + ";" : "";
209
+ return focusBackground ? "background: ".concat(focusBackground, ";") : "";
210
210
  }, function (_a) {
211
211
  var focusBorder = _a.focusBorder;
212
- return (focusBorder ? "border: " + focusBorder + ";" : "");
212
+ return (focusBorder ? "border: ".concat(focusBorder, ";") : "");
213
213
  }, function (_a) {
214
214
  var focusWithinBackground = _a.focusWithinBackground;
215
- return focusWithinBackground ? "background: " + focusWithinBackground + ";" : "";
215
+ return focusWithinBackground ? "background: ".concat(focusWithinBackground, ";") : "";
216
216
  }, function (_a) {
217
217
  var focusWithinBorder = _a.focusWithinBorder;
218
- return focusWithinBorder ? "border: " + focusWithinBorder + ";" : "";
218
+ return focusWithinBorder ? "border: ".concat(focusWithinBorder, ";") : "";
219
219
  });
220
220
  var templateObject_1$1;
221
221
 
@@ -340,7 +340,7 @@ function styleInject(css, ref) {
340
340
  }
341
341
  }
342
342
 
343
- var css_248z$1 = ".Text-module_text__2FYaC {\n /* Theme vars */\n --swui-text-color: var(--swui-text-primary-color);\n --swui-text-color-caption: var(--lhds-color-ui-600);\n --swui-text-color-overline: var(--lhds-color-ui-600);\n --swui-text-font-family: var(--swui-font-primary);\n --swui-text-font-weight: var(--swui-font-weight-text);\n\n /* Current */\n --current-color: var(--swui-text-color);\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n --current-font-weight: var(--swui-text-font-weight);\n --current-letter-spacing: var(--swui-text-letter-spacing);\n\n /* Styling */\n font-size: var(--current-font-size);\n line-height: var(--current-line-height);\n color: var(--current-color);\n letter-spacing: var(--current-letter-spacing);\n font-family: var(--swui-text-font-family);\n font-weight: var(--current-font-weight);\n}\n\n .Text-module_text__2FYaC.Text-module_standard__2-bur {\n }\n\n .Text-module_text__2FYaC.Text-module_bold__1Knlz {\n --current-font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Text-module_text__2FYaC.Text-module_caption__153CS {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n --current-color: var(--swui-text-color-caption);\n --current-letter-spacing: 0;\n font-style: italic;\n }\n\n .Text-module_text__2FYaC.Text-module_overline__22jee {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n --current-color: var(--swui-text-color-overline);\n --current-font-weight: var(--swui-font-weight-text-bold);\n --current-letter-spacing: 1px;\n text-transform: uppercase;\n }\n\n .Text-module_text__2FYaC.Text-module_large__3TF1O {\n --current-font-size: var(--swui-font-size-large);\n --current-line-height: var(--swui-line-height-large);\n }\n\n .Text-module_text__2FYaC.Text-module_medium__1yeKe {\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n }\n\n .Text-module_text__2FYaC.Text-module_small__3KAee {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n }\n\n .Text-module_text__2FYaC.Text-module_smaller__1mD_7 {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n }\n";
343
+ var css_248z$1 = ".Text-module_text__2FYaC {\n /* Theme vars */\n --swui-text-color: var(--swui-text-primary-color);\n --swui-text-color-caption: var(--lhds-color-ui-600);\n --swui-text-color-overline: var(--lhds-color-ui-600);\n --swui-text-font-family: var(--swui-font-primary);\n --swui-text-font-weight: var(--swui-font-weight-text);\n\n /* Current */\n --current-color: var(--swui-text-color);\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n --current-font-weight: var(--swui-text-font-weight);\n --current-letter-spacing: var(--swui-text-letter-spacing);\n\n /* Styling */\n font-size: var(--current-font-size);\n line-height: var(--current-line-height);\n color: var(--current-color);\n letter-spacing: var(--current-letter-spacing);\n font-family: var(--swui-text-font-family);\n font-weight: var(--current-font-weight);\n}\n\n .Text-module_text__2FYaC.Text-module_standard__2-bur {\n }\n\n .Text-module_text__2FYaC.Text-module_bold__1Knlz {\n --current-font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Text-module_text__2FYaC.Text-module_caption__153CS {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n --current-color: var(--swui-text-color-caption);\n --current-letter-spacing: 0;\n font-style: italic;\n }\n\n .Text-module_text__2FYaC.Text-module_overline__22jee {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n --current-color: var(--swui-text-color-overline);\n --current-font-weight: var(--swui-font-weight-text-bold);\n --current-letter-spacing: 0.1rem;\n text-transform: uppercase;\n }\n\n .Text-module_text__2FYaC.Text-module_large__3TF1O {\n --current-font-size: var(--swui-font-size-large);\n --current-line-height: var(--swui-line-height-large);\n }\n\n .Text-module_text__2FYaC.Text-module_medium__1yeKe {\n --current-font-size: var(--swui-font-size-medium);\n --current-line-height: var(--swui-line-height-medium);\n }\n\n .Text-module_text__2FYaC.Text-module_small__3KAee {\n --current-font-size: var(--swui-font-size-small);\n --current-line-height: var(--swui-line-height-small);\n }\n\n .Text-module_text__2FYaC.Text-module_smaller__1mD_7 {\n --current-font-size: var(--swui-font-size-smaller);\n --current-line-height: var(--swui-line-height-smaller);\n }\n";
344
344
  var styles$1 = {"text":"Text-module_text__2FYaC","standard":"Text-module_standard__2-bur","bold":"Text-module_bold__1Knlz","caption":"Text-module_caption__153CS","overline":"Text-module_overline__22jee","large":"Text-module_large__3TF1O","medium":"Text-module_medium__1yeKe","small":"Text-module_small__3KAee","smaller":"Text-module_smaller__1mD_7"};
345
345
  styleInject(css_248z$1);
346
346
 
@@ -378,7 +378,7 @@ var LargeText = function (props) {
378
378
  return React__namespace.createElement(Text, __assign({ size: "large" }, props));
379
379
  };
380
380
 
381
- var css_248z = ".Heading-module_heading__1Y-tN {\n font-size: var(--swui-heading-font-size);\n color: var(--lhds-color-ui-900);\n letter-spacing: 0;\n margin: 0;\n line-height: var(--swui-heading-line-height);\n font-family: var(--swui-font-primary);\n font-weight: var(--swui-font-weight-text);\n}\n\n .Heading-module_heading__1Y-tN.Heading-module_h1__3hICB {\n --swui-heading-font-size: 28px;\n --swui-heading-line-height: 40px;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h2__2p_cD {\n --swui-heading-font-size: 24px;\n --swui-heading-line-height: 32px;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h3__3qTgm {\n --swui-heading-font-size: 20px;\n --swui-heading-line-height: 24px;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h4__2ishv {\n --swui-heading-font-size: 16px;\n --swui-heading-line-height: 24px;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h5__bYa6B {\n --swui-heading-font-size: 14px;\n --swui-heading-line-height: 16px;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h6__4yp37 {\n --swui-heading-font-size: 12px;\n --swui-heading-line-height: 16px;\n font-weight: var(--swui-font-weight-text-bold);\n }\n";
381
+ var css_248z = ".Heading-module_heading__1Y-tN {\n font-size: var(--swui-heading-font-size);\n color: var(--lhds-color-ui-900);\n letter-spacing: 0;\n margin: 0;\n line-height: var(--swui-heading-line-height);\n font-family: var(--swui-font-primary);\n font-weight: var(--swui-font-weight-text);\n}\n\n .Heading-module_heading__1Y-tN.Heading-module_h1__3hICB {\n --swui-heading-font-size: 2.8rem;\n --swui-heading-line-height: 4rem;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h2__2p_cD {\n --swui-heading-font-size: 2.4rem;\n --swui-heading-line-height: 3.2rem;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h3__3qTgm {\n --swui-heading-font-size: 2rem;\n --swui-heading-line-height: 2.4rem;\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h4__2ishv {\n --swui-heading-font-size: 1.6rem;\n --swui-heading-line-height: 2.4rem;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h5__bYa6B {\n --swui-heading-font-size: 1.4rem;\n --swui-heading-line-height: 1.6rem;\n font-weight: var(--swui-font-weight-text-bold);\n }\n\n .Heading-module_heading__1Y-tN.Heading-module_h6__4yp37 {\n --swui-heading-font-size: 1.2rem;\n --swui-heading-line-height: 1.6rem;\n font-weight: var(--swui-font-weight-text-bold);\n }\n";
382
382
  var styles = {"heading":"Heading-module_heading__1Y-tN","h1":"Heading-module_h1__3hICB","h2":"Heading-module_h2__2p_cD","h3":"Heading-module_h3__3qTgm","h4":"Heading-module_h4__2ishv","h5":"Heading-module_h5__bYa6B","h6":"Heading-module_h6__4yp37"};
383
383
  styleInject(css_248z);
384
384
 
@@ -490,7 +490,7 @@ var useDelayedFalse = function (value, delay) {
490
490
 
491
491
  var id = 0;
492
492
  var genId = function (componentName) {
493
- return "webui-" + (componentName ? componentName + "-" : "") + ++id;
493
+ return "webui-".concat(componentName ? componentName + "-" : "").concat(++id);
494
494
  };
495
495
  var useDomId = function (componentName) {
496
496
  var _a = React.useState(function () { return genId(componentName); }), id = _a[0], setId = _a[1];
@@ -706,7 +706,7 @@ var useTimeoutState = function (initialValue, defaultTimeout, clearTimeoutOnSetV
706
706
  };
707
707
 
708
708
  var exhaustSwitchCaseElseThrow = function (arg) {
709
- throw new Error("Switch unhandled case: " + arg);
709
+ throw new Error("Switch unhandled case: ".concat(arg));
710
710
  };
711
711
  var exhaustSwitchCase = function (_arg, fallback) {
712
712
  return fallback;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/decorators/separatorline/SeparatorLine.tsx","../src/components/interaction/Clickable.tsx","../src/utils/BooleanOrNumberToNumber.ts","../src/components/layout/box/Box.tsx","../src/components/layout/column/Column.tsx","../src/hooks/UseElementDimensions.ts","../src/components/layout/box/ResizeAwareBox.tsx","../src/components/layout/row/Row.tsx","../src/components/layout/indent/Indent.tsx","../src/components/layout/spacing/Spacing.tsx","../src/components/layout/space/Space.tsx","../src/components/util/Nest.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/text/Text.tsx","../src/components/deprecated-text/SmallText.tsx","../src/components/deprecated-text/SmallerText.tsx","../src/components/deprecated-text/StandardText.tsx","../src/components/deprecated-text/LargeText.tsx","../src/components/heading/Heading.tsx","../src/components/deprecated-text/HeaderText.tsx","../src/hooks/UseArraySet.ts","../src/hooks/UseBoolean.ts","../src/hooks/UseDebounce.ts","../src/hooks/UseDelayedFalse.ts","../src/hooks/UseDomId.ts","../src/hooks/UseEventListener.ts","../src/hooks/UseElementFocus.ts","../src/hooks/UseMouseIsOver.ts","../src/hooks/UseMouseIsEntered.ts","../src/hooks/UseMultiOnClickOutside.ts","../src/hooks/UseOnClickOutside.ts","../src/hooks/UseOnNoMouseInput.ts","../src/hooks/UseOnScreen.ts","../src/hooks/UseForwardedRef.ts","../src/hooks/UseTimeoutState.ts","../src/utils/SwitchCaseExhauster.ts","../src/utils/TruthyKeysAsList.ts","../src/utils/PropsForwarder.ts","../src/utils/parsers/NumberParser.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\n\nexport interface SeparatorLineProps {\n color?: Property.Color;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\ninterface SeparatorLineComponentProps {\n color: string;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\nconst SeparatorLineComponent = styled.hr<SeparatorLineComponentProps>`\n display: flex;\n border: 0;\n margin: 0;\n flex: none;\n background-color: ${(props) => props.color};\n height: ${(props) =>\n props.vertical ? props.size || \"100%\" : props.width || \"1px\"};\n width: ${(props) =>\n props.vertical ? props.width || \"1px\" : props.size || \"100%\"};\n`;\n\nexport const SeparatorLine = forwardRef<HTMLHRElement, SeparatorLineProps>(\n (\n {\n color = \"var(--lhds-color-ui-300)\",\n size = \"100%\",\n width = \"1px\",\n vertical = false,\n },\n ref\n ) => {\n return (\n <SeparatorLineComponent\n color={color}\n size={size}\n width={width}\n vertical={vertical}\n ref={ref}\n />\n );\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\nimport { CSSProperties, forwardRef, MouseEventHandler } from \"react\";\nimport { ButtonElementProps } from \"../../types/ElementProps\";\n\nexport interface ClickableProps extends ButtonElementProps {\n /** Callback function called when clicking on click area. */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n /** Callback function called when double clicking on click area. */\n onDblClick?: MouseEventHandler<HTMLButtonElement>;\n /** Adds a title to the click area. */\n tooltip?: string;\n /** If set, there is no opacity applies when clicking on the click area. */\n disableOpacityOnClick?: boolean;\n /** Mouse does not turn into pointer when hovering over click area. */\n disablePointer?: boolean;\n /** When set, click area receives opacity when mouse hovers over it. */\n opacityOnHover?: boolean;\n /** Custom style on div with click event. */\n style?: CSSProperties;\n /** Disables shadow when element is focused. */\n disableFocusHighlight?: boolean;\n /** Disables the HTML button element. */\n disabled?: boolean;\n /**\n * Sets the background of the box.\n */\n background?: string;\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: string;\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: string;\n /**\n * The width.\n */\n width?: string;\n /**\n * The height.\n */\n height?: string;\n /**\n * Border radius\n */\n borderRadius?: string;\n}\n\ninterface ClickableElementProps {\n disableOpacityOnClick?: boolean;\n opacityOnHover?: boolean;\n disableFocusHighlight?: boolean;\n pointer?: boolean;\n background?: string;\n focusBackground?: string;\n hoverBackground?: string;\n width?: string;\n height?: string;\n borderRadius?: string;\n}\n\nconst ClickableElement = styled.button<ClickableElementProps>`\n display: inline-block;\n user-select: none;\n border: 0;\n padding: 0;\n background: ${({ background }) => background};\n ${({ pointer }) => (pointer ? \"cursor: pointer;\" : \"\")}\n\n :hover {\n ${(props) => (props.opacityOnHover ? \"opacity: 0.7;\" : \"\")};\n ${({ hoverBackground }) => `background: ${hoverBackground};`}\n }\n :active {\n ${({ disableOpacityOnClick }) =>\n !disableOpacityOnClick ? \"opacity: 0.5;\" : \"\"}\n }\n :focus {\n outline: 0;\n ${({ disableFocusHighlight }) =>\n disableFocusHighlight\n ? \"\"\n : \"box-shadow: 0 0 3pt 2pt rgba(0, 0, 100, 0.3);\"}\n ${({ focusBackground }) => `background: ${focusBackground};`}\n }\n ${({ width }) => (width ? `width: ${width};` : \"\")}\n ${({ height }) => (height ? `height: ${height};` : \"\")}\n ${({ borderRadius }) =>\n borderRadius ? `border-radius: ${borderRadius};` : \"\"}\n`;\n\nexport const Clickable = forwardRef<HTMLButtonElement, ClickableProps>(\n (\n {\n disableFocusHighlight,\n onClick,\n onDblClick,\n tooltip,\n disableOpacityOnClick,\n disablePointer,\n opacityOnHover,\n disabled,\n children,\n background = \"transparent\",\n hoverBackground,\n focusBackground,\n type = \"button\",\n ...restProps\n },\n ref\n ) => {\n const hasClickHandler = !!(onClick || onDblClick);\n\n return (\n <ClickableElement\n opacityOnHover={opacityOnHover}\n title={tooltip}\n disabled={disabled}\n disableOpacityOnClick={disableOpacityOnClick}\n onClick={onClick}\n onDoubleClick={onDblClick}\n disableFocusHighlight={disableFocusHighlight}\n pointer={hasClickHandler && !disablePointer}\n ref={ref}\n background={background}\n hoverBackground={hoverBackground}\n focusBackground={focusBackground}\n type={type}\n {...restProps}\n >\n {children}\n </ClickableElement>\n );\n }\n);\n","export const booleanOrNumberToNumber = (\n num: number | boolean | undefined\n): number => {\n if (num == null) {\n return 0;\n }\n if (typeof num === \"boolean\") {\n return num ? 1 : 0;\n }\n return num;\n};\n","import isPropValid from \"@emotion/is-prop-valid\";\nimport styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\n\nimport {\n background,\n BackgroundProps,\n border,\n borderBottom,\n BorderBottomProps,\n borderColor,\n borderLeft,\n BorderLeftProps,\n borderRadius,\n BorderRadiusProps,\n borderRight,\n BorderRightProps,\n borderStyle,\n BorderStyleProps,\n borderTop,\n BorderTopProps,\n borderWidth,\n BorderWidthProps,\n bottom,\n BottomProps,\n boxShadow,\n BoxShadowProps,\n flexbox,\n FlexboxProps,\n layout,\n LayoutProps,\n left,\n LeftProps,\n overflow,\n OverflowProps,\n position,\n PositionProps,\n ResponsiveValue,\n right,\n RightProps,\n system,\n TLengthStyledSystem,\n top,\n TopProps,\n zIndex,\n ZIndexProps,\n} from \"styled-system\";\nimport { DivProps } from \"../../../types/ElementProps\";\nimport { booleanOrNumberToNumber } from \"../../../utils/BooleanOrNumberToNumber\";\n\ninterface StyledSystemProps\n extends BorderRadiusProps,\n BorderStyleProps,\n BorderWidthProps,\n BorderLeftProps,\n BorderRightProps,\n BorderTopProps,\n BorderBottomProps,\n FlexboxProps,\n LayoutProps,\n OverflowProps,\n PositionProps,\n ZIndexProps,\n LeftProps,\n RightProps,\n TopProps,\n BottomProps {}\n\nconst shadows = {\n box: \"var(--swui-shadow-box)\",\n popover: \"var(--swui-shadow-popover)\",\n modal: \"var(--swui-shadow-modal)\",\n};\n\ntype ShadowType = keyof typeof shadows;\n\nexport interface BoxProps extends StyledSystemProps, DivProps {\n /**\n * If true, children are placed in a row.\n */\n row?: ResponsiveValue<boolean>;\n\n /**\n * Adds spacing over and under content.\n */\n spacing?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing left and right of content.\n */\n indent?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing between children.\n */\n gap?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds a shadow around the box.\n */\n shadow?: ResponsiveValue<Property.BoxShadow | ShadowType>;\n\n /**\n * Sets the background of the box.\n */\n background?: ResponsiveValue<Property.Background<TLengthStyledSystem>>;\n\n /**\n * Sets the border of the box.\n */\n border?: ResponsiveValue<Property.Border<TLengthStyledSystem>>;\n\n /**\n * Sets the border color of the box.\n */\n borderColor?: ResponsiveValue<Property.BorderColor>;\n\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when hovering with mouse.\n */\n hoverBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when the box is in focus.\n */\n focusBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when focus is within the box.\n */\n focusWithinBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when focus is within the box.\n */\n focusWithinBorder?: Property.Border<TLengthStyledSystem>;\n}\n\nconst excludedProps = [\n \"spacing\",\n \"indent\",\n \"gap\",\n \"width\",\n \"height\",\n \"overflow\",\n \"display\",\n];\n\nconst isExcludedWebUiProp = (propName: string) =>\n excludedProps.includes(propName);\n\nconst box = system({\n row: {\n property: \"flexDirection\",\n transform: (row: boolean) => (row ? \"row\" : \"column\"),\n },\n indent: {\n // @ts-ignore\n property: \"--current-indent\",\n transform: booleanOrNumberToNumber,\n },\n spacing: {\n // @ts-ignore\n property: \"--current-spacing\",\n transform: booleanOrNumberToNumber,\n },\n gap: {\n // @ts-ignore\n property: \"--current-gap\",\n transform: booleanOrNumberToNumber,\n },\n shadow: {\n property: \"boxShadow\",\n transform: (value) => shadows[value] ?? value,\n },\n});\n\ntype InnerProps = BoxProps & BoxShadowProps & BackgroundProps;\n\nexport const Box = styled(\"div\", {\n shouldForwardProp: (propName) =>\n typeof propName === \"string\"\n ? isExcludedWebUiProp(propName)\n ? false\n : isPropValid(propName)\n : false,\n})<InnerProps>`\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ${box};\n ${background};\n ${border};\n ${borderRight};\n ${borderLeft};\n ${borderTop};\n ${borderBottom};\n ${borderColor};\n ${borderRadius};\n ${borderStyle};\n ${borderWidth};\n ${boxShadow};\n ${flexbox};\n ${overflow};\n ${position};\n ${layout};\n ${zIndex};\n ${left};\n ${right};\n ${top};\n ${bottom};\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ${({ hoverBackground }) =>\n hoverBackground ? `background: ${hoverBackground};` : \"\"}\n ${({ hoverBorder }) => (hoverBorder ? `border: ${hoverBorder};` : \"\")}\n }\n :focus {\n ${({ focusBackground }) =>\n focusBackground ? `background: ${focusBackground};` : \"\"}\n ${({ focusBorder }) => (focusBorder ? `border: ${focusBorder};` : \"\")}\n }\n :focus-within {\n ${({ focusWithinBackground }) =>\n focusWithinBackground ? `background: ${focusWithinBackground};` : \"\"}\n ${({ focusWithinBorder }) =>\n focusWithinBorder ? `border: ${focusWithinBorder};` : \"\"}\n }\n`;\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Column = forwardRef<HTMLDivElement, BoxProps>(function Column(\n props,\n ref\n) {\n return <Box ref={ref} {...props} />;\n});\n","import { RefObject, useCallback, useLayoutEffect, useState } from \"react\";\n\nexport interface ElementDimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n x: number;\n y: number;\n right: number;\n bottom: number;\n}\n\nexport const getDimensionObject = (node: HTMLElement): ElementDimensions => {\n const {\n x,\n y,\n width,\n height,\n bottom,\n top,\n left,\n right,\n } = node.getBoundingClientRect();\n\n return {\n width,\n height,\n top,\n left,\n x,\n y,\n right,\n bottom,\n };\n};\n\nconst isEqualDimensions = (\n a: ElementDimensions,\n b: ElementDimensions\n): boolean =>\n a.x === b.x &&\n a.y === b.y &&\n a.width === b.width &&\n a.height === b.height &&\n a.bottom === b.bottom &&\n a.top === b.top &&\n a.left === b.left &&\n a.right === b.right;\n\nexport const useElementDimensions = (\n ref: RefObject<HTMLElement>,\n onResizeElement?: (dimensions: ElementDimensions) => void\n) => {\n const [dimensions, setDimensions] = useState<ElementDimensions | undefined>();\n\n const updateDimensions = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (ref.current) {\n const newDimensions = getDimensionObject(ref.current);\n if (!dimensions || !isEqualDimensions(dimensions, newDimensions)) {\n if (onResizeElement) {\n onResizeElement(newDimensions);\n }\n }\n setDimensions(newDimensions);\n }\n });\n }, [ref, dimensions, setDimensions, onResizeElement]);\n\n useLayoutEffect(() => {\n updateDimensions();\n }, [updateDimensions]);\n\n return {\n dimensions,\n };\n};\n","import * as React from \"react\";\nimport { forwardRef, RefObject, useRef } from \"react\";\nimport { Box, BoxProps } from \"./Box\";\nimport {\n ElementDimensions,\n useElementDimensions,\n} from \"../../../hooks/UseElementDimensions\";\n\nexport interface ResizeAwareBoxProps extends BoxProps {\n onResize?: (dimensions: ElementDimensions) => void;\n}\n\nexport const ResizeAwareBox = forwardRef<HTMLDivElement, ResizeAwareBoxProps>(\n function ResizeAwareBox({ onResize, ...boxProps }, ref) {\n const localRef = useRef<HTMLDivElement>(null);\n const currentRef = (ref as RefObject<HTMLDivElement>) ?? localRef;\n useElementDimensions(currentRef, onResize);\n\n return <Box {...boxProps} ref={ref} />;\n }\n);\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Row = forwardRef<HTMLDivElement, BoxProps>(function Row(\n props,\n ref\n) {\n return <Box row ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface IndentProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Indent = forwardRef<HTMLDivElement, IndentProps>(function Indent(\n { num = 1, ...props },\n ref\n) {\n return <Box indent={num} ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface SpacingProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Spacing = forwardRef<HTMLDivElement, SpacingProps>(\n function Spacing({ num = 1, ...props }, ref) {\n return <Box spacing={num} ref={ref} {...props} />;\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\n\nexport interface SpaceProps {\n half?: boolean;\n horizontal?: boolean;\n num?: number;\n vertical?: boolean;\n}\n\nconst InnerSpace = styled.div`\n --current-size: 1;\n flex: none;\n width: calc(var(--current-size) * var(--swui-metrics-space));\n height: calc(var(--current-size) * var(--swui-metrics-space));\n`;\n\nexport const Space: React.VFC<SpaceProps> = ({\n half = false,\n horizontal = false,\n num = 1,\n vertical = false,\n}) => {\n const size = num * (half ? 0.5 : 1);\n\n return (\n <InnerSpace\n style={{\n [\"--current-size\" as string]: size,\n height: horizontal ? 1 : undefined,\n width: vertical ? 1 : undefined,\n }}\n />\n );\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\n\ninterface Props {\n nest?: boolean;\n render: (children: ReactNode) => ReactNode;\n}\n\nexport const Nest: React.FC<Props> = ({ children, nest, render }) => {\n if (nest) {\n return <>{render(children)}</>;\n }\n return <>{children}</>;\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 \"./Text.module.css\";\nimport { SpanProps } from \"../../types/ElementProps\";\nimport { Property } from \"csstype\";\nimport { forwardRef } from \"react\";\n\nexport interface TextProps extends SpanProps {\n variant?: TextVariant;\n size?: TextSize;\n userSelect?: Property.UserSelect;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n color?: string;\n}\n\nexport type TextVariant = \"standard\" | \"caption\" | \"overline\" | \"bold\";\nexport type TextSize = \"large\" | \"medium\" | \"small\" | \"smaller\";\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>(\n (\n {\n children,\n variant = \"standard\",\n size = \"medium\",\n className,\n color,\n userSelect,\n whiteSpace,\n wordBreak,\n style,\n ...spanProps\n },\n ref\n ) => {\n return (\n <span\n className={cx(styles.text, styles[variant], styles[size], className)}\n ref={ref}\n style={{ color, userSelect, whiteSpace, wordBreak, ...style }}\n {...spanProps}\n >\n {children}\n </span>\n );\n }\n);\n\nexport const Txt = Text;\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"small\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallerText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"smaller\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const StandardText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"medium\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const LargeText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"large\"} {...props} />;\n};\n","import cx from \"classnames\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { H1Props } from \"../../types/ElementProps\";\nimport styles from \"./Heading.module.css\";\n\nexport interface HeadingProps extends H1Props {\n variant?: HeadingVariant;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n as?: HeadingVariant;\n}\n\nexport type HeadingVariant = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n (\n {\n variant = \"h3\",\n className,\n color,\n whiteSpace,\n wordBreak,\n style,\n children,\n as,\n ...hProps\n },\n ref\n ) => {\n const Element = as ?? variant;\n return (\n <Element\n className={cx(styles.heading, styles[variant], className)}\n style={{ color, whiteSpace, wordBreak, ...style }}\n ref={ref}\n {...hProps}\n >\n {children}\n </Element>\n );\n }\n);\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"../heading/Heading\";\n\n/**\n * @deprecated Please use `Heading` instead.\n */\nexport const HeaderText: React.FC<Omit<HeadingProps, \"variant\">> = (props) => {\n return <Heading variant={\"h2\"} {...props} />;\n};\n","import { useCallback } from \"react\";\n\ntype ArrayItemEqualsComparator<T> = (a: T, b: T) => boolean;\n\nconst defaultComparator = <T>(a: T, b: T) => a === b;\n\nexport const useArraySet = <T>(\n list: Array<T>,\n setList: (list: Array<T>) => void,\n comparator: ArrayItemEqualsComparator<T> = defaultComparator\n) => {\n const add = useCallback(\n (item: T) => {\n if (!list.some((l) => comparator(l, item))) {\n setList([...list, item]);\n }\n },\n [list, setList, comparator]\n );\n\n const addMultiple = useCallback(\n (items: Array<T>) => {\n setList(\n items.reduce((list, item) => {\n if (!list.some((l) => comparator(l, item))) {\n return [...list, item];\n }\n return list;\n }, list)\n );\n },\n [list, setList, comparator]\n );\n\n const remove = useCallback(\n (item: T) => {\n const index = list.findIndex((l) => comparator(l, item));\n if (index >= 0) {\n setList(list.filter((_, i) => i !== index));\n }\n },\n [list, setList, comparator]\n );\n\n const removeMultiple = useCallback(\n (items: Array<T>) => {\n setList(list.filter((item) => !items.some((l) => comparator(l, item))));\n },\n [list, setList, comparator]\n );\n\n const toggle = useCallback(\n (item: T) => {\n const found = list.some((l) => comparator(l, item));\n if (found) {\n remove(item);\n } else {\n add(item);\n }\n },\n [list, add, remove, comparator]\n );\n\n return {\n add,\n addMultiple,\n remove,\n removeMultiple,\n toggle,\n };\n};\n","import { useCallback, useState } from \"react\";\n\ntype Value = boolean;\ntype SetTrue = () => void;\ntype SetFalse = () => void;\ntype ToggleValue = () => void;\ntype BooleanHook = [Value, SetTrue, SetFalse, ToggleValue];\n\nexport const useBoolean = (initialValue: Value): BooleanHook => {\n const [value, setValue] = useState(initialValue);\n\n const setTrue = useCallback(() => {\n setValue(true);\n }, [setValue]);\n\n const setFalse = useCallback(() => {\n setValue(false);\n }, [setValue]);\n\n const toggle = useCallback(() => {\n setValue((v) => !v);\n }, [setValue]);\n\n return [value, setTrue, setFalse, toggle];\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDebounce = <T>(value: T, delay: number): T => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]); // Only re-call effect if value or delay changes\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDelayedFalse = (value: boolean, delay: number) => {\n const [debouncedValue, setDebouncedValue] = useState<boolean>(value);\n\n useEffect(() => {\n if (value) {\n setDebouncedValue(true);\n }\n\n const handler = setTimeout(() => {\n if (!value) {\n setDebouncedValue(value);\n }\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nlet id = 0;\nconst genId = (componentName?: string) =>\n `webui-${componentName ? componentName + \"-\" : \"\"}${++id}`;\n\nexport const useDomId = (componentName?: string): string => {\n const [id, setId] = useState<string | null>(() => genId(componentName));\n useEffect(() => setId(genId(componentName)), [componentName]);\n return id!;\n};\n","import { RefObject, useEffect, useRef } from \"react\";\n\ntype EventHandler<TEventName extends keyof HTMLElementEventMap> = (\n event: HTMLElementEventMap[TEventName]\n) => void;\n\nexport const useEventListener = <TEventName extends keyof HTMLElementEventMap>(\n ref: RefObject<HTMLElement>,\n eventName: TEventName,\n handler: EventHandler<TEventName>\n) => {\n // Create a ref that stores handler\n const savedHandler = useRef<EventHandler<TEventName>>();\n\n // Update ref.current value if handler changes.\n // This allows our effect below to always get latest handler ...\n // ... without us needing to pass it in effect deps array ...\n // ... and potentially cause effect to re-run every render.\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Make sure element supports addEventListener\n const isSupported = ref.current && ref.current.addEventListener;\n if (!isSupported) return;\n\n // Create event listener that calls handler function stored in ref\n const eventListener: EventHandler<TEventName> = (event) => {\n if (savedHandler.current) {\n return savedHandler.current(event);\n }\n };\n\n // Add event listener\n if (!ref.current) {\n return;\n }\n\n const element = ref.current;\n element.addEventListener(eventName, eventListener);\n\n // Remove event listener on cleanup\n return () => {\n if (element) {\n element.removeEventListener(eventName, eventListener);\n }\n };\n }, [eventName, ref]); // Re-run if eventName or element changes\n};\n","import { RefObject, useCallback, useEffect } from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useElementFocus = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [isInFocus, setIsInFocus, setIsNotInFocus] = useBoolean(false);\n\n useEffect(() => {\n if (document.activeElement === ReactDOM.findDOMNode(ref.current)) {\n setIsInFocus();\n } else {\n setIsNotInFocus();\n }\n }, [ref, setIsNotInFocus, setIsInFocus]);\n\n useEventListener(ref, \"focus\", setIsInFocus);\n useEventListener(ref, \"blur\", setIsNotInFocus);\n\n const focus = useCallback(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n const blur = useCallback(() => {\n if (ref.current) {\n ref.current.blur();\n }\n }, [ref]);\n\n return { isInFocus, focus, blur };\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsOver = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsOver, setMouseIsOver, setMouseIsNotOver] = useBoolean(false);\n\n useEventListener(ref, \"mouseover\", setMouseIsOver);\n useEventListener(ref, \"mouseout\", setMouseIsNotOver);\n\n return mouseIsOver;\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsEntered = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsEntered, setMouseIsEntered, setMouseIsNotEntered] = useBoolean(\n false\n );\n\n useEventListener(ref, \"mouseenter\", setMouseIsEntered);\n useEventListener(ref, \"mouseleave\", setMouseIsNotEntered);\n\n return mouseIsEntered;\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useMultiOnClickOutside = (\n refs: Array<React.RefObject<any>>,\n handler: (event: TouchEvent | MouseEvent) => void\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n\n const allNotContains = refs\n .filter((ref) => ref.current)\n .every((ref) => {\n return ref.current && !ref.current.contains(event.target);\n });\n\n if (!allNotContains) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs]);\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useOnClickOutside = (\n ref: React.RefObject<any>,\n handler: (event: TouchEvent | MouseEvent) => void,\n options?: AddEventListenerOptions\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener, options);\n document.addEventListener(\"touchstart\", listener, options);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener, options);\n document.removeEventListener(\"touchstart\", listener, options);\n };\n }, [ref, options]);\n};\n","import { debounce } from \"lodash\";\nimport { useEffect, useRef } from \"react\";\n\nconst events = [\"mousemove\", \"mousedown\", \"keydown\", \"touchstart\", \"scroll\"];\n\nexport const useOnNoMouseMovement = (callback: () => void, delay: number) => {\n const eventHandler = useRef<(event: Event) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const onIdleChange = debounce(eventHandler.current, delay);\n events.forEach((event) => window.addEventListener(event, onIdleChange));\n\n return () => {\n events.forEach((event) =>\n window.removeEventListener(event, onIdleChange)\n );\n };\n }, [delay]);\n};\n","import { RefObject, useEffect, useMemo, useState } from \"react\";\n\nexport const useOnScreen = (\n ref: RefObject<Element>,\n options?: IntersectionObserverInit\n) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const { rootMargin, root, threshold } = options || {};\n\n const observer = useMemo(() => {\n return new IntersectionObserver(\n ([entry]) => setIsVisible(entry.isIntersecting),\n {\n rootMargin,\n root,\n threshold,\n }\n );\n }, [setIsVisible, rootMargin, root, threshold]);\n\n useEffect(() => {\n if (ref.current) {\n observer.observe(ref.current);\n }\n return () => {\n observer.disconnect();\n };\n }, [observer, ref]);\n\n return isVisible;\n};\n","import {\n MutableRefObject,\n RefCallback,\n RefObject,\n useEffect,\n useRef,\n} from \"react\";\n\nexport const useForwardedRef = <T>(\n ref: RefCallback<T> | MutableRefObject<T> | null\n): RefObject<NonNullable<T>> => {\n const innerRef = useRef<T>(null) as MutableRefObject<NonNullable<T>>;\n\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport const useTimeoutState = <S>(\n initialValue: S,\n defaultTimeout: number,\n clearTimeoutOnSetValue = true\n): [S, (v: S) => void] => {\n const [value, setValue] = useState<S>(initialValue);\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n const wrappedSetter = useCallback(\n (newValue: S, timeout = defaultTimeout) => {\n setValue(newValue);\n if (clearTimeoutOnSetValue) {\n clearTimeout(timeoutRef.current!);\n }\n timeoutRef.current = setTimeout(() => setValue(initialValue), timeout);\n },\n [defaultTimeout, clearTimeoutOnSetValue, initialValue]\n );\n\n useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current!);\n };\n }, []);\n\n return [value, wrappedSetter];\n};\n","export const exhaustSwitchCaseElseThrow = (arg: never) => {\n throw new Error(`Switch unhandled case: ${arg}`);\n};\n\nexport const exhaustSwitchCase = <T>(_arg: never, fallback: T) => {\n return fallback;\n};\n","export const truthyKeysAsList = (r: Record<string, boolean>): Array<string> =>\n Object.keys(r).filter((key) => r[key]);\n","import { pickBy } from \"lodash\";\n\nexport const getDataProps = <T extends Record<string, unknown>>(\n props: Record<string, unknown> | {}\n): T => pickBy(props, isDataPropMapper) as T;\n\nconst isDataPropMapper = (_: unknown, key: string): boolean => isDataProp(key);\n\nconst isDataProp = <TProp extends string>(propName: TProp): boolean =>\n propName.startsWith(\"data-\") || propName.startsWith(\"aria-\");\n","export const parseFloatElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseFloat(s);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n\nexport const parseIntElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseInt(s, 10);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n"],"names":["styled","forwardRef","React","system","isPropValid","background","border","borderRight","borderLeft","borderTop","borderBottom","borderColor","borderRadius","borderStyle","borderWidth","boxShadow","flexbox","overflow","position","layout","zIndex","left","right","top","bottom","useState","useCallback","useLayoutEffect","useRef","cx","styles","useEffect","ReactDOM","debounce","useMemo","pickBy"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/decorators/separatorline/SeparatorLine.tsx","../src/components/interaction/Clickable.tsx","../src/utils/BooleanOrNumberToNumber.ts","../src/components/layout/box/Box.tsx","../src/components/layout/column/Column.tsx","../src/hooks/UseElementDimensions.ts","../src/components/layout/box/ResizeAwareBox.tsx","../src/components/layout/row/Row.tsx","../src/components/layout/indent/Indent.tsx","../src/components/layout/spacing/Spacing.tsx","../src/components/layout/space/Space.tsx","../src/components/util/Nest.tsx","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/text/Text.tsx","../src/components/deprecated-text/SmallText.tsx","../src/components/deprecated-text/SmallerText.tsx","../src/components/deprecated-text/StandardText.tsx","../src/components/deprecated-text/LargeText.tsx","../src/components/heading/Heading.tsx","../src/components/deprecated-text/HeaderText.tsx","../src/hooks/UseArraySet.ts","../src/hooks/UseBoolean.ts","../src/hooks/UseDebounce.ts","../src/hooks/UseDelayedFalse.ts","../src/hooks/UseDomId.ts","../src/hooks/UseEventListener.ts","../src/hooks/UseElementFocus.ts","../src/hooks/UseMouseIsOver.ts","../src/hooks/UseMouseIsEntered.ts","../src/hooks/UseMultiOnClickOutside.ts","../src/hooks/UseOnClickOutside.ts","../src/hooks/UseOnNoMouseInput.ts","../src/hooks/UseOnScreen.ts","../src/hooks/UseForwardedRef.ts","../src/hooks/UseTimeoutState.ts","../src/utils/SwitchCaseExhauster.ts","../src/utils/TruthyKeysAsList.ts","../src/utils/PropsForwarder.ts","../src/utils/parsers/NumberParser.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\n\nexport interface SeparatorLineProps {\n color?: Property.Color;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\ninterface SeparatorLineComponentProps {\n color: string;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\nconst SeparatorLineComponent = styled.hr<SeparatorLineComponentProps>`\n display: flex;\n border: 0;\n margin: 0;\n flex: none;\n background-color: ${(props) => props.color};\n height: ${(props) =>\n props.vertical ? props.size || \"100%\" : props.width || \"1px\"};\n width: ${(props) =>\n props.vertical ? props.width || \"1px\" : props.size || \"100%\"};\n`;\n\nexport const SeparatorLine = forwardRef<HTMLHRElement, SeparatorLineProps>(\n (\n {\n color = \"var(--lhds-color-ui-300)\",\n size = \"100%\",\n width = \"1px\",\n vertical = false,\n },\n ref\n ) => {\n return (\n <SeparatorLineComponent\n color={color}\n size={size}\n width={width}\n vertical={vertical}\n ref={ref}\n />\n );\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\nimport { CSSProperties, forwardRef, MouseEventHandler } from \"react\";\nimport { ButtonElementProps } from \"../../types/ElementProps\";\n\nexport interface ClickableProps extends ButtonElementProps {\n /** Callback function called when clicking on click area. */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n /** Callback function called when double clicking on click area. */\n onDblClick?: MouseEventHandler<HTMLButtonElement>;\n /** Adds a title to the click area. */\n tooltip?: string;\n /** If set, there is no opacity applies when clicking on the click area. */\n disableOpacityOnClick?: boolean;\n /** Mouse does not turn into pointer when hovering over click area. */\n disablePointer?: boolean;\n /** When set, click area receives opacity when mouse hovers over it. */\n opacityOnHover?: boolean;\n /** Custom style on div with click event. */\n style?: CSSProperties;\n /** Disables shadow when element is focused. */\n disableFocusHighlight?: boolean;\n /** Disables the HTML button element. */\n disabled?: boolean;\n /**\n * Sets the background of the box.\n */\n background?: string;\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: string;\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: string;\n /**\n * The width.\n */\n width?: string;\n /**\n * The height.\n */\n height?: string;\n /**\n * Border radius\n */\n borderRadius?: string;\n}\n\ninterface ClickableElementProps {\n disableOpacityOnClick?: boolean;\n opacityOnHover?: boolean;\n disableFocusHighlight?: boolean;\n pointer?: boolean;\n background?: string;\n focusBackground?: string;\n hoverBackground?: string;\n width?: string;\n height?: string;\n borderRadius?: string;\n}\n\nconst ClickableElement = styled.button<ClickableElementProps>`\n display: inline-block;\n user-select: none;\n border: 0;\n padding: 0;\n background: ${({ background }) => background};\n ${({ pointer }) => (pointer ? \"cursor: pointer;\" : \"\")}\n\n :hover {\n ${(props) => (props.opacityOnHover ? \"opacity: 0.7;\" : \"\")};\n ${({ hoverBackground }) => `background: ${hoverBackground};`}\n }\n :active {\n ${({ disableOpacityOnClick }) =>\n !disableOpacityOnClick ? \"opacity: 0.5;\" : \"\"}\n }\n :focus {\n outline: 0;\n ${({ disableFocusHighlight }) =>\n disableFocusHighlight\n ? \"\"\n : \"box-shadow: 0 0 3pt 2pt rgba(0, 0, 100, 0.3);\"}\n ${({ focusBackground }) => `background: ${focusBackground};`}\n }\n ${({ width }) => (width ? `width: ${width};` : \"\")}\n ${({ height }) => (height ? `height: ${height};` : \"\")}\n ${({ borderRadius }) =>\n borderRadius ? `border-radius: ${borderRadius};` : \"\"}\n`;\n\nexport const Clickable = forwardRef<HTMLButtonElement, ClickableProps>(\n (\n {\n disableFocusHighlight,\n onClick,\n onDblClick,\n tooltip,\n disableOpacityOnClick,\n disablePointer,\n opacityOnHover,\n disabled,\n children,\n background = \"transparent\",\n hoverBackground,\n focusBackground,\n type = \"button\",\n ...restProps\n },\n ref\n ) => {\n const hasClickHandler = !!(onClick || onDblClick);\n\n return (\n <ClickableElement\n opacityOnHover={opacityOnHover}\n title={tooltip}\n disabled={disabled}\n disableOpacityOnClick={disableOpacityOnClick}\n onClick={onClick}\n onDoubleClick={onDblClick}\n disableFocusHighlight={disableFocusHighlight}\n pointer={hasClickHandler && !disablePointer}\n ref={ref}\n background={background}\n hoverBackground={hoverBackground}\n focusBackground={focusBackground}\n type={type}\n {...restProps}\n >\n {children}\n </ClickableElement>\n );\n }\n);\n","export const booleanOrNumberToNumber = (\n num: number | boolean | undefined\n): number => {\n if (num == null) {\n return 0;\n }\n if (typeof num === \"boolean\") {\n return num ? 1 : 0;\n }\n return num;\n};\n","import isPropValid from \"@emotion/is-prop-valid\";\nimport styled from \"@emotion/styled\";\nimport { Property } from \"csstype\";\n\nimport {\n background,\n BackgroundProps,\n border,\n borderBottom,\n BorderBottomProps,\n borderColor,\n borderLeft,\n BorderLeftProps,\n borderRadius,\n BorderRadiusProps,\n borderRight,\n BorderRightProps,\n borderStyle,\n BorderStyleProps,\n borderTop,\n BorderTopProps,\n borderWidth,\n BorderWidthProps,\n bottom,\n BottomProps,\n boxShadow,\n BoxShadowProps,\n flexbox,\n FlexboxProps,\n layout,\n LayoutProps,\n left,\n LeftProps,\n overflow,\n OverflowProps,\n position,\n PositionProps,\n ResponsiveValue,\n right,\n RightProps,\n system,\n TLengthStyledSystem,\n top,\n TopProps,\n zIndex,\n ZIndexProps,\n} from \"styled-system\";\nimport { DivProps } from \"../../../types/ElementProps\";\nimport { booleanOrNumberToNumber } from \"../../../utils/BooleanOrNumberToNumber\";\n\ninterface StyledSystemProps\n extends BorderRadiusProps,\n BorderStyleProps,\n BorderWidthProps,\n BorderLeftProps,\n BorderRightProps,\n BorderTopProps,\n BorderBottomProps,\n FlexboxProps,\n LayoutProps,\n OverflowProps,\n PositionProps,\n ZIndexProps,\n LeftProps,\n RightProps,\n TopProps,\n BottomProps {}\n\nconst shadows = {\n box: \"var(--swui-shadow-box)\",\n popover: \"var(--swui-shadow-popover)\",\n modal: \"var(--swui-shadow-modal)\",\n};\n\ntype ShadowType = keyof typeof shadows;\n\nexport interface BoxProps extends StyledSystemProps, DivProps {\n /**\n * If true, children are placed in a row.\n */\n row?: ResponsiveValue<boolean>;\n\n /**\n * Adds spacing over and under content.\n */\n spacing?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing left and right of content.\n */\n indent?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds spacing between children.\n */\n gap?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds a shadow around the box.\n */\n shadow?: ResponsiveValue<Property.BoxShadow | ShadowType>;\n\n /**\n * Sets the background of the box.\n */\n background?: ResponsiveValue<Property.Background<TLengthStyledSystem>>;\n\n /**\n * Sets the border of the box.\n */\n border?: ResponsiveValue<Property.Border<TLengthStyledSystem>>;\n\n /**\n * Sets the border color of the box.\n */\n borderColor?: ResponsiveValue<Property.BorderColor>;\n\n /**\n * Sets the background of the box when hovering with mouse.\n */\n hoverBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when hovering with mouse.\n */\n hoverBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when the box is in focus.\n */\n focusBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when the box is in focus.\n */\n focusBorder?: Property.Border<TLengthStyledSystem>;\n\n /**\n * Sets the background of the box when focus is within the box.\n */\n focusWithinBackground?: Property.Background<TLengthStyledSystem>;\n\n /**\n * Sets the border of the box when focus is within the box.\n */\n focusWithinBorder?: Property.Border<TLengthStyledSystem>;\n}\n\nconst excludedProps = [\n \"spacing\",\n \"indent\",\n \"gap\",\n \"width\",\n \"height\",\n \"overflow\",\n \"display\",\n];\n\nconst isExcludedWebUiProp = (propName: string) =>\n excludedProps.includes(propName);\n\nconst box = system({\n row: {\n property: \"flexDirection\",\n transform: (row: boolean) => (row ? \"row\" : \"column\"),\n },\n indent: {\n // @ts-ignore\n property: \"--current-indent\",\n transform: booleanOrNumberToNumber,\n },\n spacing: {\n // @ts-ignore\n property: \"--current-spacing\",\n transform: booleanOrNumberToNumber,\n },\n gap: {\n // @ts-ignore\n property: \"--current-gap\",\n transform: booleanOrNumberToNumber,\n },\n shadow: {\n property: \"boxShadow\",\n transform: (value) => shadows[value] ?? value,\n },\n});\n\ntype InnerProps = BoxProps & BoxShadowProps & BackgroundProps;\n\nexport const Box = styled(\"div\", {\n shouldForwardProp: (propName) =>\n typeof propName === \"string\"\n ? isExcludedWebUiProp(propName)\n ? false\n : isPropValid(propName)\n : false,\n})<InnerProps>`\n --current-spacing: 0;\n --current-indent: 0;\n --current-gap: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n ${box};\n ${background};\n ${border};\n ${borderRight};\n ${borderLeft};\n ${borderTop};\n ${borderBottom};\n ${borderColor};\n ${borderRadius};\n ${borderStyle};\n ${borderWidth};\n ${boxShadow};\n ${flexbox};\n ${overflow};\n ${position};\n ${layout};\n ${zIndex};\n ${left};\n ${right};\n ${top};\n ${bottom};\n\n gap: calc(var(--current-gap) * var(--swui-metrics-space));\n\n padding: calc(var(--current-spacing) * var(--swui-metrics-spacing))\n calc(var(--current-indent) * var(--swui-metrics-indent));\n :hover {\n ${({ hoverBackground }) =>\n hoverBackground ? `background: ${hoverBackground};` : \"\"}\n ${({ hoverBorder }) => (hoverBorder ? `border: ${hoverBorder};` : \"\")}\n }\n :focus {\n ${({ focusBackground }) =>\n focusBackground ? `background: ${focusBackground};` : \"\"}\n ${({ focusBorder }) => (focusBorder ? `border: ${focusBorder};` : \"\")}\n }\n :focus-within {\n ${({ focusWithinBackground }) =>\n focusWithinBackground ? `background: ${focusWithinBackground};` : \"\"}\n ${({ focusWithinBorder }) =>\n focusWithinBorder ? `border: ${focusWithinBorder};` : \"\"}\n }\n`;\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Column = forwardRef<HTMLDivElement, BoxProps>(function Column(\n props,\n ref\n) {\n return <Box ref={ref} {...props} />;\n});\n","import { RefObject, useCallback, useLayoutEffect, useState } from \"react\";\n\nexport interface ElementDimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n x: number;\n y: number;\n right: number;\n bottom: number;\n}\n\nexport const getDimensionObject = (node: HTMLElement): ElementDimensions => {\n const { x, y, width, height, bottom, top, left, right } =\n node.getBoundingClientRect();\n\n return {\n width,\n height,\n top,\n left,\n x,\n y,\n right,\n bottom,\n };\n};\n\nconst isEqualDimensions = (\n a: ElementDimensions,\n b: ElementDimensions\n): boolean =>\n a.x === b.x &&\n a.y === b.y &&\n a.width === b.width &&\n a.height === b.height &&\n a.bottom === b.bottom &&\n a.top === b.top &&\n a.left === b.left &&\n a.right === b.right;\n\nexport const useElementDimensions = (\n ref: RefObject<HTMLElement>,\n onResizeElement?: (dimensions: ElementDimensions) => void\n) => {\n const [dimensions, setDimensions] = useState<ElementDimensions | undefined>();\n\n const updateDimensions = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (ref.current) {\n const newDimensions = getDimensionObject(ref.current);\n if (!dimensions || !isEqualDimensions(dimensions, newDimensions)) {\n if (onResizeElement) {\n onResizeElement(newDimensions);\n }\n }\n setDimensions(newDimensions);\n }\n });\n }, [ref, dimensions, setDimensions, onResizeElement]);\n\n useLayoutEffect(() => {\n updateDimensions();\n }, [updateDimensions]);\n\n return {\n dimensions,\n };\n};\n","import * as React from \"react\";\nimport { forwardRef, RefObject, useRef } from \"react\";\nimport { Box, BoxProps } from \"./Box\";\nimport {\n ElementDimensions,\n useElementDimensions,\n} from \"../../../hooks/UseElementDimensions\";\n\nexport interface ResizeAwareBoxProps extends BoxProps {\n onResize?: (dimensions: ElementDimensions) => void;\n}\n\nexport const ResizeAwareBox = forwardRef<HTMLDivElement, ResizeAwareBoxProps>(\n function ResizeAwareBox({ onResize, ...boxProps }, ref) {\n const localRef = useRef<HTMLDivElement>(null);\n const currentRef = (ref as RefObject<HTMLDivElement>) ?? localRef;\n useElementDimensions(currentRef, onResize);\n\n return <Box {...boxProps} ref={ref} />;\n }\n);\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\n\nexport const Row = forwardRef<HTMLDivElement, BoxProps>(function Row(\n props,\n ref\n) {\n return <Box row ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface IndentProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Indent = forwardRef<HTMLDivElement, IndentProps>(function Indent(\n { num = 1, ...props },\n ref\n) {\n return <Box indent={num} ref={ref} {...props} />;\n});\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Box, BoxProps } from \"../box/Box\";\nimport { ResponsiveValue, TLengthStyledSystem } from \"styled-system\";\n\nexport interface SpacingProps extends BoxProps {\n num?: ResponsiveValue<boolean | TLengthStyledSystem>;\n}\n\nexport const Spacing = forwardRef<HTMLDivElement, SpacingProps>(\n function Spacing({ num = 1, ...props }, ref) {\n return <Box spacing={num} ref={ref} {...props} />;\n }\n);\n","import styled from \"@emotion/styled\";\nimport * as React from \"react\";\n\nexport interface SpaceProps {\n half?: boolean;\n horizontal?: boolean;\n num?: number;\n vertical?: boolean;\n}\n\nconst InnerSpace = styled.div`\n --current-size: 1;\n flex: none;\n width: calc(var(--current-size) * var(--swui-metrics-space));\n height: calc(var(--current-size) * var(--swui-metrics-space));\n`;\n\nexport const Space: React.VFC<SpaceProps> = ({\n half = false,\n horizontal = false,\n num = 1,\n vertical = false,\n}) => {\n const size = num * (half ? 0.5 : 1);\n\n return (\n <InnerSpace\n style={{\n [\"--current-size\" as string]: size,\n height: horizontal ? 1 : undefined,\n width: vertical ? 1 : undefined,\n }}\n />\n );\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\n\ninterface Props {\n nest?: boolean;\n render: (children: ReactNode) => ReactNode;\n children?: ReactNode;\n}\n\nexport const Nest: React.FC<Props> = ({ children, nest, render }) => {\n if (nest) {\n return <>{render(children)}</>;\n }\n return <>{children}</>;\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 \"./Text.module.css\";\nimport { SpanProps } from \"../../types/ElementProps\";\nimport { Property } from \"csstype\";\nimport { forwardRef } from \"react\";\n\nexport interface TextProps extends SpanProps {\n variant?: TextVariant;\n size?: TextSize;\n userSelect?: Property.UserSelect;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n color?: string;\n}\n\nexport type TextVariant = \"standard\" | \"caption\" | \"overline\" | \"bold\";\nexport type TextSize = \"large\" | \"medium\" | \"small\" | \"smaller\";\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>(\n (\n {\n children,\n variant = \"standard\",\n size = \"medium\",\n className,\n color,\n userSelect,\n whiteSpace,\n wordBreak,\n style,\n ...spanProps\n },\n ref\n ) => {\n return (\n <span\n className={cx(styles.text, styles[variant], styles[size], className)}\n ref={ref}\n style={{ color, userSelect, whiteSpace, wordBreak, ...style }}\n {...spanProps}\n >\n {children}\n </span>\n );\n }\n);\n\nexport const Txt = Text;\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"small\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const SmallerText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"smaller\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const StandardText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"medium\"} {...props} />;\n};\n","import * as React from \"react\";\nimport { Text, TextProps } from \"../text/Text\";\n\n/**\n * @deprecated Please use `Text` instead.\n */\nexport const LargeText: React.FC<Omit<TextProps, \"size\">> = (props) => {\n return <Text size={\"large\"} {...props} />;\n};\n","import cx from \"classnames\";\nimport { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { H1Props } from \"../../types/ElementProps\";\nimport styles from \"./Heading.module.css\";\n\nexport interface HeadingProps extends H1Props {\n variant?: HeadingVariant;\n whiteSpace?: Property.WhiteSpace;\n wordBreak?: Property.WordBreak;\n as?: HeadingVariant;\n}\n\nexport type HeadingVariant = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n (\n {\n variant = \"h3\",\n className,\n color,\n whiteSpace,\n wordBreak,\n style,\n children,\n as,\n ...hProps\n },\n ref\n ) => {\n const Element = as ?? variant;\n return (\n <Element\n className={cx(styles.heading, styles[variant], className)}\n style={{ color, whiteSpace, wordBreak, ...style }}\n ref={ref}\n {...hProps}\n >\n {children}\n </Element>\n );\n }\n);\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"../heading/Heading\";\n\n/**\n * @deprecated Please use `Heading` instead.\n */\nexport const HeaderText: React.FC<Omit<HeadingProps, \"variant\">> = (props) => {\n return <Heading variant={\"h2\"} {...props} />;\n};\n","import { useCallback } from \"react\";\n\ntype ArrayItemEqualsComparator<T> = (a: T, b: T) => boolean;\n\nconst defaultComparator = <T>(a: T, b: T) => a === b;\n\nexport const useArraySet = <T>(\n list: Array<T>,\n setList: (list: Array<T>) => void,\n comparator: ArrayItemEqualsComparator<T> = defaultComparator\n) => {\n const add = useCallback(\n (item: T) => {\n if (!list.some((l) => comparator(l, item))) {\n setList([...list, item]);\n }\n },\n [list, setList, comparator]\n );\n\n const addMultiple = useCallback(\n (items: Array<T>) => {\n setList(\n items.reduce((list, item) => {\n if (!list.some((l) => comparator(l, item))) {\n return [...list, item];\n }\n return list;\n }, list)\n );\n },\n [list, setList, comparator]\n );\n\n const remove = useCallback(\n (item: T) => {\n const index = list.findIndex((l) => comparator(l, item));\n if (index >= 0) {\n setList(list.filter((_, i) => i !== index));\n }\n },\n [list, setList, comparator]\n );\n\n const removeMultiple = useCallback(\n (items: Array<T>) => {\n setList(list.filter((item) => !items.some((l) => comparator(l, item))));\n },\n [list, setList, comparator]\n );\n\n const toggle = useCallback(\n (item: T) => {\n const found = list.some((l) => comparator(l, item));\n if (found) {\n remove(item);\n } else {\n add(item);\n }\n },\n [list, add, remove, comparator]\n );\n\n return {\n add,\n addMultiple,\n remove,\n removeMultiple,\n toggle,\n };\n};\n","import { useCallback, useState } from \"react\";\n\ntype Value = boolean;\ntype SetTrue = () => void;\ntype SetFalse = () => void;\ntype ToggleValue = () => void;\ntype BooleanHook = [Value, SetTrue, SetFalse, ToggleValue];\n\nexport const useBoolean = (initialValue: Value): BooleanHook => {\n const [value, setValue] = useState(initialValue);\n\n const setTrue = useCallback(() => {\n setValue(true);\n }, [setValue]);\n\n const setFalse = useCallback(() => {\n setValue(false);\n }, [setValue]);\n\n const toggle = useCallback(() => {\n setValue((v) => !v);\n }, [setValue]);\n\n return [value, setTrue, setFalse, toggle];\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDebounce = <T>(value: T, delay: number): T => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]); // Only re-call effect if value or delay changes\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDelayedFalse = (value: boolean, delay: number) => {\n const [debouncedValue, setDebouncedValue] = useState<boolean>(value);\n\n useEffect(() => {\n if (value) {\n setDebouncedValue(true);\n }\n\n const handler = setTimeout(() => {\n if (!value) {\n setDebouncedValue(value);\n }\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n","import { useEffect, useState } from \"react\";\n\nlet id = 0;\nconst genId = (componentName?: string) =>\n `webui-${componentName ? componentName + \"-\" : \"\"}${++id}`;\n\nexport const useDomId = (componentName?: string): string => {\n const [id, setId] = useState<string | null>(() => genId(componentName));\n useEffect(() => setId(genId(componentName)), [componentName]);\n return id!;\n};\n","import { RefObject, useEffect, useRef } from \"react\";\n\ntype EventHandler<TEventName extends keyof HTMLElementEventMap> = (\n event: HTMLElementEventMap[TEventName]\n) => void;\n\nexport const useEventListener = <TEventName extends keyof HTMLElementEventMap>(\n ref: RefObject<HTMLElement>,\n eventName: TEventName,\n handler: EventHandler<TEventName>\n) => {\n // Create a ref that stores handler\n const savedHandler = useRef<EventHandler<TEventName>>();\n\n // Update ref.current value if handler changes.\n // This allows our effect below to always get latest handler ...\n // ... without us needing to pass it in effect deps array ...\n // ... and potentially cause effect to re-run every render.\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Make sure element supports addEventListener\n const isSupported = ref.current && ref.current.addEventListener;\n if (!isSupported) return;\n\n // Create event listener that calls handler function stored in ref\n const eventListener: EventHandler<TEventName> = (event) => {\n if (savedHandler.current) {\n return savedHandler.current(event);\n }\n };\n\n // Add event listener\n if (!ref.current) {\n return;\n }\n\n const element = ref.current;\n element.addEventListener(eventName, eventListener);\n\n // Remove event listener on cleanup\n return () => {\n if (element) {\n element.removeEventListener(eventName, eventListener);\n }\n };\n }, [eventName, ref]); // Re-run if eventName or element changes\n};\n","import { RefObject, useCallback, useEffect } from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useElementFocus = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [isInFocus, setIsInFocus, setIsNotInFocus] = useBoolean(false);\n\n useEffect(() => {\n if (document.activeElement === ReactDOM.findDOMNode(ref.current)) {\n setIsInFocus();\n } else {\n setIsNotInFocus();\n }\n }, [ref, setIsNotInFocus, setIsInFocus]);\n\n useEventListener(ref, \"focus\", setIsInFocus);\n useEventListener(ref, \"blur\", setIsNotInFocus);\n\n const focus = useCallback(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n const blur = useCallback(() => {\n if (ref.current) {\n ref.current.blur();\n }\n }, [ref]);\n\n return { isInFocus, focus, blur };\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsOver = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsOver, setMouseIsOver, setMouseIsNotOver] = useBoolean(false);\n\n useEventListener(ref, \"mouseover\", setMouseIsOver);\n useEventListener(ref, \"mouseout\", setMouseIsNotOver);\n\n return mouseIsOver;\n};\n","import { RefObject } from \"react\";\nimport { useBoolean } from \"./UseBoolean\";\nimport { useEventListener } from \"./UseEventListener\";\n\nexport const useMouseIsEntered = <TElement extends HTMLElement>(\n ref: RefObject<TElement>\n) => {\n const [mouseIsEntered, setMouseIsEntered, setMouseIsNotEntered] =\n useBoolean(false);\n\n useEventListener(ref, \"mouseenter\", setMouseIsEntered);\n useEventListener(ref, \"mouseleave\", setMouseIsNotEntered);\n\n return mouseIsEntered;\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useMultiOnClickOutside = (\n refs: Array<React.RefObject<any>>,\n handler: (event: TouchEvent | MouseEvent) => void\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n\n const allNotContains = refs\n .filter((ref) => ref.current)\n .every((ref) => {\n return ref.current && !ref.current.contains(event.target);\n });\n\n if (!allNotContains) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs]);\n};\n","import * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nexport const useOnClickOutside = (\n ref: React.RefObject<any>,\n handler: (event: TouchEvent | MouseEvent) => void,\n options?: AddEventListenerOptions\n) => {\n const eventHandler = useRef<(event: TouchEvent | MouseEvent) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const listener = (event: TouchEvent | MouseEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n eventHandler.current(event);\n };\n\n document.addEventListener(\"mousedown\", listener, options);\n document.addEventListener(\"touchstart\", listener, options);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener, options);\n document.removeEventListener(\"touchstart\", listener, options);\n };\n }, [ref, options]);\n};\n","import { debounce } from \"lodash\";\nimport { useEffect, useRef } from \"react\";\n\nconst events = [\"mousemove\", \"mousedown\", \"keydown\", \"touchstart\", \"scroll\"];\n\nexport const useOnNoMouseMovement = (callback: () => void, delay: number) => {\n const eventHandler = useRef<(event: Event) => void>(() => {\n return;\n });\n\n useEffect(() => {\n eventHandler.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const onIdleChange = debounce(eventHandler.current, delay);\n events.forEach((event) => window.addEventListener(event, onIdleChange));\n\n return () => {\n events.forEach((event) =>\n window.removeEventListener(event, onIdleChange)\n );\n };\n }, [delay]);\n};\n","import { RefObject, useEffect, useMemo, useState } from \"react\";\n\nexport const useOnScreen = (\n ref: RefObject<Element>,\n options?: IntersectionObserverInit\n) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const { rootMargin, root, threshold } = options || {};\n\n const observer = useMemo(() => {\n return new IntersectionObserver(\n ([entry]) => setIsVisible(entry.isIntersecting),\n {\n rootMargin,\n root,\n threshold,\n }\n );\n }, [setIsVisible, rootMargin, root, threshold]);\n\n useEffect(() => {\n if (ref.current) {\n observer.observe(ref.current);\n }\n return () => {\n observer.disconnect();\n };\n }, [observer, ref]);\n\n return isVisible;\n};\n","import {\n MutableRefObject,\n RefCallback,\n RefObject,\n useEffect,\n useRef,\n} from \"react\";\n\nexport const useForwardedRef = <T>(\n ref: RefCallback<T> | MutableRefObject<T> | null\n): RefObject<NonNullable<T>> => {\n const innerRef = useRef<T>(null) as MutableRefObject<NonNullable<T>>;\n\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport const useTimeoutState = <S>(\n initialValue: S,\n defaultTimeout: number,\n clearTimeoutOnSetValue = true\n): [S, (v: S) => void] => {\n const [value, setValue] = useState<S>(initialValue);\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n const wrappedSetter = useCallback(\n (newValue: S, timeout = defaultTimeout) => {\n setValue(newValue);\n if (clearTimeoutOnSetValue) {\n clearTimeout(timeoutRef.current!);\n }\n timeoutRef.current = setTimeout(() => setValue(initialValue), timeout);\n },\n [defaultTimeout, clearTimeoutOnSetValue, initialValue]\n );\n\n useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current!);\n };\n }, []);\n\n return [value, wrappedSetter];\n};\n","export const exhaustSwitchCaseElseThrow = (arg: never) => {\n throw new Error(`Switch unhandled case: ${arg}`);\n};\n\nexport const exhaustSwitchCase = <T>(_arg: never, fallback: T) => {\n return fallback;\n};\n","export const truthyKeysAsList = (r: Record<string, boolean>): Array<string> =>\n Object.keys(r).filter((key) => r[key]);\n","import { pickBy } from \"lodash\";\n\nexport const getDataProps = <T extends Record<string, unknown>>(\n props: Record<string, unknown> | {}\n): T => pickBy(props, isDataPropMapper) as T;\n\nconst isDataPropMapper = (_: unknown, key: string): boolean => isDataProp(key);\n\nconst isDataProp = <TProp extends string>(propName: TProp): boolean =>\n propName.startsWith(\"data-\") || propName.startsWith(\"aria-\");\n","export const parseFloatElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseFloat(s);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n\nexport const parseIntElseUndefined = (s: string): number | undefined => {\n try {\n const f = parseInt(s, 10);\n if (isNaN(f)) {\n return undefined;\n }\n if (f == null) {\n return undefined;\n }\n return f;\n } catch (e) {}\n return undefined;\n};\n"],"names":["styled","forwardRef","React","system","isPropValid","background","border","borderRight","borderLeft","borderTop","borderBottom","borderColor","borderRadius","borderStyle","borderWidth","boxShadow","flexbox","overflow","position","layout","zIndex","left","right","top","bottom","useState","useCallback","useLayoutEffect","useRef","cx","styles","useEffect","ReactDOM","debounce","useMemo","pickBy"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/core",
3
- "version": "15.7.0",
3
+ "version": "17.0.0",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -30,14 +30,14 @@
30
30
  "@emotion/react": ">=11.1.5",
31
31
  "@emotion/styled": ">=11.3.0",
32
32
  "@types/lodash": ">=4.14.168",
33
- "@types/react": ">=17.0.5",
34
- "@types/react-dom": ">=17.0.3",
33
+ "@types/react": ">=18.0.14",
34
+ "@types/react-dom": ">=18.0.5",
35
35
  "@types/styled-system": ">=5.1.10",
36
36
  "csstype": ">=3.0.8",
37
37
  "lodash": ">=4.17.21",
38
38
  "prop-types": ">=15.5.4",
39
- "react": ">=17.0.2",
40
- "react-dom": ">=17.0.2",
39
+ "react": ">=18.2.0",
40
+ "react-dom": ">=18.2.0",
41
41
  "styled-system": ">=5.1.5"
42
42
  },
43
43
  "devDependencies": {
@@ -46,24 +46,24 @@
46
46
  "@testing-library/react-hooks": "^2.0.1",
47
47
  "@types/jest": "^23.1.5",
48
48
  "@types/lodash": "^4.14.168",
49
- "@types/react": "^17.0.5",
50
- "@types/react-dom": "^17.0.3",
49
+ "@types/react": "^18.0.14",
50
+ "@types/react-dom": "^18.0.5",
51
51
  "@types/styled-system": "^5.1.10",
52
52
  "csstype": "^3.0.8",
53
53
  "lodash": "^4.17.21",
54
54
  "prop-types": "^15.5.4",
55
- "react": "^17.0.2",
56
- "react-dom": "^17.0.2",
57
- "react-test-renderer": "^17.0.2",
55
+ "react": "^18.2.0",
56
+ "react-dom": "^18.2.0",
57
+ "react-test-renderer": "^18.2.0",
58
58
  "styled-system": "^5.1.5"
59
59
  },
60
60
  "files": [
61
61
  "dist"
62
62
  ],
63
- "gitHead": "dad46ef48fd810c74fbb6fffa2b6d12e312f31ad",
63
+ "gitHead": "d2ef80338559080f4106bb97aa7a9d457615e3fb",
64
64
  "dependencies": {
65
65
  "@emotion/is-prop-valid": "^1.1.0",
66
- "@stenajs-webui/theme": "15.7.0",
66
+ "@stenajs-webui/theme": "17.0.0",
67
67
  "classnames": "^2.3.1"
68
68
  }
69
69
  }