@stenajs-webui/core 23.2.0 → 23.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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/util/IsPropValid.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","../src/accessibility/accessible-font-size-detector/AccessibleFontSizeProvider.tsx","../src/accessibility/accessible-font-size-detector/UseAccessibleFontSizeContext.ts","../src/utils/PropsForwarder.ts","../src/accessibility/screen-reader-only-text/ScreenReaderOnlyText.tsx","../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/components/events/BlockKeyboardEvents.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/UseEventCallback.tsx","../src/hooks/UseLatest.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/hooks/UseToday.ts","../src/sorting/Comparators.ts","../src/utils/SwitchCaseExhauster.ts","../src/utils/TruthyKeysAsList.ts","../src/utils/parsers/NumberParser.ts","../src/utils/Invariant.ts","../src/utils/FragmentEmptyChecker.ts"],"sourcesContent":["import { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport styles from \"./SeparatorLine.module.css\";\n\nexport interface SeparatorLineProps {\n color?: Property.Color;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\nexport const SeparatorLine = forwardRef<HTMLHRElement, SeparatorLineProps>(\n (\n {\n color = cssColor(\"--lhds-color-ui-300\"),\n size = \"100%\",\n width = \"1px\",\n vertical = false,\n },\n ref,\n ) => {\n return (\n <hr\n className={styles.separatorLine}\n aria-hidden={true}\n color={color}\n style={{\n backgroundColor: color,\n height: vertical ? size || \"100%\" : width || \"1px\",\n width: vertical ? width || \"1px\" : size || \"100%\",\n }}\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\nexport const numberToMetricCalc = (num: number): string | undefined => {\n if (num === 0) {\n return undefined;\n }\n return `calc(${num} * var(--swui-metrics-space))`;\n};\n\nexport const booleanOrNumberToMetricCalc = (\n num: number | boolean | undefined,\n): string | undefined => numberToMetricCalc(booleanOrNumberToNumber(num));\n","import { memoize } from \"lodash-es\";\n\nconst validPropsRecord = {\n // react props\n // https://github.com/facebook/react/blob/5495a7f24aef85ba6937truetrue1ce962673ca9f5fde6/src/renderers/dom/shared/hooks/ReactDOMUnknownPropertyHook.js\n children: true,\n dangerouslySetInnerHTML: true,\n key: true,\n ref: true,\n autoFocus: true,\n defaultValue: true,\n defaultChecked: true,\n innerHTML: true,\n suppressContentEditableWarning: true,\n suppressHydrationWarning: true,\n // deprecated react prop\n valueLink: true,\n\n // https://github.com/facebook/react/blob/d7157651f7b72d9888ctrue123e191f9b88cd8f41e9/src/renderers/dom/shared/HTMLDOMPropertyConfig.js\n /**\n * Standard Properties\n */\n\n abbr: true,\n accept: true,\n acceptCharset: true,\n accessKey: true,\n action: true,\n allow: true,\n allowUserMedia: true,\n allowPaymentRequest: true,\n allowFullScreen: true,\n allowTransparency: true,\n alt: true,\n // specifies target context for links with `preload` type\n // as: true,\n async: true,\n autoComplete: true,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: true,\n autoPlay: true,\n capture: true,\n cellPadding: true,\n cellSpacing: true,\n // keygen prop\n challenge: true,\n charSet: true,\n checked: true,\n cite: true,\n classID: true,\n className: true,\n cols: true,\n colSpan: true,\n content: true,\n contentEditable: true,\n contextMenu: true,\n controls: true,\n controlsList: true,\n coords: true,\n crossOrigin: true,\n data: true, // For `<object />` acts as `src`.\n dateTime: true,\n decoding: true,\n default: true,\n defer: true,\n dir: true,\n disabled: true,\n disablePictureInPicture: true,\n disableRemotePlayback: true,\n download: true,\n draggable: true,\n encType: true,\n enterKeyHint: true,\n form: true,\n formAction: true,\n formEncType: true,\n formMethod: true,\n formNoValidate: true,\n formTarget: true,\n frameBorder: true,\n headers: true,\n height: true,\n hidden: true,\n high: true,\n href: true,\n hrefLang: true,\n htmlFor: true,\n httpEquiv: true,\n id: true,\n inputMode: true,\n integrity: true,\n is: true,\n keyParams: true,\n keyType: true,\n kind: true,\n label: true,\n lang: true,\n list: true,\n loading: true,\n loop: true,\n low: true,\n // manifest: true,\n marginHeight: true,\n marginWidth: true,\n max: true,\n maxLength: true,\n media: true,\n mediaGroup: true,\n method: true,\n min: true,\n minLength: true,\n // Caution; `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`.\n multiple: true,\n muted: true,\n name: true,\n nonce: true,\n noValidate: true,\n open: true,\n optimum: true,\n pattern: true,\n placeholder: true,\n playsInline: true,\n poster: true,\n preload: true,\n profile: true,\n radioGroup: true,\n readOnly: true,\n referrerPolicy: true,\n rel: true,\n required: true,\n reversed: true,\n role: true,\n rows: true,\n rowSpan: true,\n sandbox: true,\n scope: true,\n scoped: true,\n scrolling: true,\n seamless: true,\n selected: true,\n shape: true,\n size: true,\n sizes: true,\n // support for projecting regular DOM Elements via V1 named slots ( shadow dom )\n slot: true,\n span: true,\n spellCheck: true,\n src: true,\n srcDoc: true,\n srcLang: true,\n srcSet: true,\n start: true,\n step: true,\n style: true,\n summary: true,\n tabIndex: true,\n target: true,\n title: true,\n translate: true,\n // Setting .type throws on non-<input> tags\n type: true,\n useMap: true,\n value: true,\n width: true,\n wmode: true,\n wrap: true,\n\n /**\n * RDFa Properties\n */\n about: true,\n datatype: true,\n inlist: true,\n prefix: true,\n // property is also supported for OpenGraph in meta tags.\n property: true,\n resource: true,\n typeof: true,\n vocab: true,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: true,\n autoCorrect: true,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: true,\n // color is for Safari mask-icon link\n color: true,\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search#incremental_This_API_has_not_been_standardized\n incremental: true,\n // used in amp html for indicating the fallback behavior\n // https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/placeholders/\n fallback: true,\n // https://html.spec.whatwg.org/multipage/interaction.html#inert\n inert: true,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: true,\n itemScope: true,\n itemType: true,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: true,\n itemRef: true,\n // used in amp html for eventing purposes\n // https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes/\n on: true,\n // used in amp html for indicating that the option is selectable\n // https://amp.dev/documentation/components/amp-selector/\n option: true,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: true,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<1true\n security: true,\n // IE-only attribute that controls focus behavior\n unselectable: true,\n //\n // SVG properties: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute\n // The following \"onX\" events have been omitted:\n //\n // onabort\n // onactivate\n // onbegin\n // onclick\n // onend\n // onerror\n // onfocusin\n // onfocusout\n // onload\n // onmousedown\n // onmousemove\n // onmouseout\n // onmouseover\n // onmouseup\n // onrepeat\n // onresize\n // onscroll\n // onunload\n accentHeight: true,\n accumulate: true,\n additive: true,\n alignmentBaseline: true,\n allowReorder: true,\n alphabetic: true,\n amplitude: true,\n arabicForm: true,\n ascent: true,\n attributeName: true,\n attributeType: true,\n autoReverse: true,\n azimuth: true,\n baseFrequency: true,\n baselineShift: true,\n baseProfile: true,\n bbox: true,\n begin: true,\n bias: true,\n by: true,\n calcMode: true,\n capHeight: true,\n clip: true,\n clipPathUnits: true,\n clipPath: true,\n clipRule: true,\n colorInterpolation: true,\n colorInterpolationFilters: true,\n colorProfile: true,\n colorRendering: true,\n contentScriptType: true,\n contentStyleType: true,\n cursor: true,\n cx: true,\n cy: true,\n d: true,\n decelerate: true,\n descent: true,\n diffuseConstant: true,\n direction: true,\n display: true,\n divisor: true,\n dominantBaseline: true,\n dur: true,\n dx: true,\n dy: true,\n edgeMode: true,\n elevation: true,\n enableBackground: true,\n end: true,\n exponent: true,\n externalResourcesRequired: true,\n fill: true,\n fillOpacity: true,\n fillRule: true,\n filter: true,\n filterRes: true,\n filterUnits: true,\n floodColor: true,\n floodOpacity: true,\n focusable: true,\n fontFamily: true,\n fontSize: true,\n fontSizeAdjust: true,\n fontStretch: true,\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n format: true,\n from: true,\n fr: true, // valid SVG element but React will ask for removal\n fx: true,\n fy: true,\n g1: true,\n g2: true,\n glyphName: true,\n glyphOrientationHorizontal: true,\n glyphOrientationVertical: true,\n glyphRef: true,\n gradientTransform: true,\n gradientUnits: true,\n hanging: true,\n horizAdvX: true,\n horizOriginX: true,\n ideographic: true,\n imageRendering: true,\n in: true,\n in2: true,\n intercept: true,\n k: true,\n k1: true,\n k2: true,\n k3: true,\n k4: true,\n kernelMatrix: true,\n kernelUnitLength: true,\n kerning: true,\n keyPoints: true,\n keySplines: true,\n keyTimes: true,\n lengthAdjust: true,\n letterSpacing: true,\n lightingColor: true,\n limitingConeAngle: true,\n local: true,\n markerEnd: true,\n markerMid: true,\n markerStart: true,\n markerHeight: true,\n markerUnits: true,\n markerWidth: true,\n mask: true,\n maskContentUnits: true,\n maskUnits: true,\n mathematical: true,\n mode: true,\n numOctaves: true,\n offset: true,\n opacity: true,\n operator: true,\n order: true,\n orient: true,\n orientation: true,\n origin: true,\n overflow: true,\n overlinePosition: true,\n overlineThickness: true,\n panose1: true,\n paintOrder: true,\n pathLength: true,\n patternContentUnits: true,\n patternTransform: true,\n patternUnits: true,\n pointerEvents: true,\n points: true,\n pointsAtX: true,\n pointsAtY: true,\n pointsAtZ: true,\n preserveAlpha: true,\n preserveAspectRatio: true,\n primitiveUnits: true,\n r: true,\n radius: true,\n refX: true,\n refY: true,\n renderingIntent: true,\n repeatCount: true,\n repeatDur: true,\n requiredExtensions: true,\n requiredFeatures: true,\n restart: true,\n result: true,\n rotate: true,\n rx: true,\n ry: true,\n scale: true,\n seed: true,\n shapeRendering: true,\n slope: true,\n spacing: true,\n specularConstant: true,\n specularExponent: true,\n speed: true,\n spreadMethod: true,\n startOffset: true,\n stdDeviation: true,\n stemh: true,\n stemv: true,\n stitchTiles: true,\n stopColor: true,\n stopOpacity: true,\n strikethroughPosition: true,\n strikethroughThickness: true,\n string: true,\n stroke: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeLinecap: true,\n strokeLinejoin: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n surfaceScale: true,\n systemLanguage: true,\n tableValues: true,\n targetX: true,\n targetY: true,\n textAnchor: true,\n textDecoration: true,\n textRendering: true,\n textLength: true,\n to: true,\n transform: true,\n u1: true,\n u2: true,\n underlinePosition: true,\n underlineThickness: true,\n unicode: true,\n unicodeBidi: true,\n unicodeRange: true,\n unitsPerEm: true,\n vAlphabetic: true,\n vHanging: true,\n vIdeographic: true,\n vMathematical: true,\n values: true,\n vectorEffect: true,\n version: true,\n vertAdvY: true,\n vertOriginX: true,\n vertOriginY: true,\n viewBox: true,\n viewTarget: true,\n visibility: true,\n widths: true,\n wordSpacing: true,\n writingMode: true,\n x: true,\n xHeight: true,\n x1: true,\n x2: true,\n xChannelSelector: true,\n xlinkActuate: true,\n xlinkArcrole: true,\n xlinkHref: true,\n xlinkRole: true,\n xlinkShow: true,\n xlinkTitle: true,\n xlinkType: true,\n xmlBase: true,\n xmlns: true,\n xmlnsXlink: true,\n xmlLang: true,\n xmlSpace: true,\n y: true,\n y1: true,\n y2: true,\n yChannelSelector: true,\n z: true,\n zoomAndPan: true,\n\n // For preact. We have this code here even though Emotion doesn't support\n // Preact, since @emotion/is-prop-valid is used by some libraries outside of\n // the context of Emotion.\n for: true,\n class: true,\n autofocus: true,\n};\n\nconst validProps = `^((${Object.keys(validPropsRecord).join(\n \"|\",\n)})|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$`;\n\nconst r = new RegExp(validProps);\n\nexport const isPropValid: (prop: string) => boolean = memoize(\n (prop: string) =>\n r.test(prop) ||\n (prop.charCodeAt(0) === 111 /* o */ &&\n prop.charCodeAt(1) === 110 /* n */ &&\n prop.charCodeAt(2) < 91) /* Z+1 */,\n);\n","import 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 {\n booleanOrNumberToMetricCalc,\n booleanOrNumberToNumber,\n} from \"../../../utils/BooleanOrNumberToNumber\";\nimport { isPropValid } from \"../../util/IsPropValid\";\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 bottom: \"var(--swui-shadow-bottom)\",\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 gap between columns.\n */\n columnGap?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds gap between rows.\n */\n rowGap?: 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-expect-error Sets a CSS property.\n property: \"--current-indent\",\n transform: booleanOrNumberToNumber,\n },\n spacing: {\n // @ts-expect-error Sets a CSS property.\n property: \"--current-spacing\",\n transform: booleanOrNumberToNumber,\n },\n gap: {\n // @ts-expect-error Sets a CSS property.\n property: \"--current-gap\",\n transform: booleanOrNumberToNumber,\n },\n columnGap: {\n property: \"columnGap\",\n transform: booleanOrNumberToMetricCalc,\n },\n rowGap: {\n property: \"rowGap\",\n transform: booleanOrNumberToMetricCalc,\n },\n shadow: {\n property: \"boxShadow\",\n transform: (value: ShadowType) => 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\n :hover {\n ${({ hoverBackground }) =>\n hoverBackground ? `background: ${hoverBackground};` : \"\"}\n ${({ hoverBorder }) => (hoverBorder ? `border: ${hoverBorder};` : \"\")}\n }\n\n :focus {\n ${({ focusBackground }) =>\n focusBackground ? `background: ${focusBackground};` : \"\"}\n ${({ focusBorder }) => (focusBorder ? `border: ${focusBorder};` : \"\")}\n }\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>(\n function Column(props, ref) {\n return <Box ref={ref} {...props} />;\n },\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 | null>,\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 Omit<BoxProps, \"onResize\"> {\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>(\n function Row(props, ref) {\n return <Box row ref={ref} {...props} />;\n },\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.FC<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","import React, {\n createContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nexport interface AccessibleFontSizeContextValue {\n isFontLarge: boolean;\n fontSizeRatio: number;\n}\n\nexport const AccessibleFontSizeContext =\n createContext<AccessibleFontSizeContextValue>({\n isFontLarge: false,\n fontSizeRatio: 1,\n });\n\nconst baseHeight = 12;\n\nexport const AccessibleFontSizeProvider: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const ref = useRef<HTMLDivElement>(null);\n const [isFontLarge, setIsFontLarge] = useState(false);\n const [fontSizeRatio, setFontSizeRatio] = useState(1);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const height = entry.contentRect.height;\n setIsFontLarge(height > baseHeight);\n setFontSizeRatio(height / baseHeight);\n }\n });\n\n observer.observe(ref.current);\n\n return () => observer.disconnect();\n }, []);\n\n const value = useMemo(\n () => ({ isFontLarge, fontSizeRatio }),\n [fontSizeRatio, isFontLarge],\n );\n\n return (\n <AccessibleFontSizeContext.Provider value={value}>\n <div\n ref={ref}\n aria-hidden\n style={{\n fontSize: \"1rem\",\n position: \"absolute\",\n visibility: \"hidden\",\n height: \"auto\",\n width: \"auto\",\n whiteSpace: \"nowrap\",\n }}\n >\n M\n </div>\n {children}\n </AccessibleFontSizeContext.Provider>\n );\n};\n","import { useContext } from \"react\";\nimport {\n AccessibleFontSizeContext,\n AccessibleFontSizeContextValue,\n} from \"./AccessibleFontSizeProvider\";\n\nexport const useAccessibleFontSizeContext =\n (): AccessibleFontSizeContextValue => {\n const context = useContext(AccessibleFontSizeContext);\n\n if (!context) {\n return {\n isFontLarge: false,\n fontSizeRatio: 1,\n };\n }\n\n return context;\n };\n","import { pickBy } from \"lodash-es\";\nimport React from \"react\";\n\nexport const getDataProps = (\n props: Record<string, unknown> | object,\n): Record<string, unknown> =>\n pickBy(props, isDataPropMapper) as Record<string, unknown>;\n\nexport const getAriaProps = (\n props: Record<string, unknown>,\n): React.AriaAttributes =>\n pickBy(props, isAriaPropMapper) as React.AriaAttributes;\n\nconst isDataPropMapper = (_: unknown, key: string): boolean =>\n key.startsWith(\"data-\") || key.startsWith(\"aria-\");\n\nconst isAriaPropMapper = (_: unknown, key: string): boolean =>\n key.startsWith(\"aria-\");\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport styles from \"./ScreenReaderOnlyText.module.css\";\nimport { getDataProps } from \"../../utils/PropsForwarder\";\n\nexport interface ScreenReaderOnlyTextProps {\n children?: ReactNode;\n}\n\nexport const ScreenReaderOnlyText: React.FC<ScreenReaderOnlyTextProps> = ({\n children,\n ...props\n}) => {\n return (\n <span className={styles.visuallyHidden} {...getDataProps(props)}>\n {children}\n </span>\n );\n};\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./Text.module.css\";\nimport { SpanProps } from \"../../types/ElementProps\";\nimport { Property } from \"csstype\";\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 textAlign?: Property.TextAlign;\n overflow?: Property.Overflow;\n textOverflow?: Property.TextOverflow;\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 textAlign = \"left\",\n overflow,\n textOverflow,\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={{\n color,\n userSelect,\n whiteSpace,\n wordBreak,\n textAlign,\n overflow,\n textOverflow,\n ...style,\n }}\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 | \"span\";\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 * as React from \"react\";\nimport { KeyboardEventHandler, MouseEventHandler, useCallback } from \"react\";\nimport { Box, BoxProps } from \"../layout/box/Box\";\n\nexport interface BlockKeyboardEventsProps extends BoxProps {\n /**\n * Key or keys that will be blocked. If not set, all keys are blocked.\n */\n blockedKeys?: string | Array<string>;\n}\n\nexport const BlockKeyboardEvents: React.FC<BlockKeyboardEventsProps> = ({\n blockedKeys,\n ...props\n}) => {\n const keyboardEventHandler = useCallback<KeyboardEventHandler>(\n (ev) => {\n if (blockedKeys == null || blockedKeys.includes(ev.key)) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n },\n [blockedKeys],\n );\n\n const mouseEventHandler = useCallback<MouseEventHandler>((ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n }, []);\n\n return (\n <Box\n {...props}\n onKeyDown={keyboardEventHandler}\n onKeyUp={keyboardEventHandler}\n onMouseDown={mouseEventHandler}\n onMouseUp={mouseEventHandler}\n />\n );\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\n/** @deprecated use useId-hook from React 18 */\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 | null>,\n eventName: TEventName,\n handler: EventHandler<TEventName>,\n) => {\n // Create a ref that stores handler\n const savedHandler = useRef<EventHandler<TEventName>>(null);\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 { 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 === 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 { useCallback, useLayoutEffect, useRef } from \"react\";\n\ntype Fn<ARGS extends unknown[], R> = (...args: ARGS) => R;\n\nexport const useEventCallback = <A extends unknown[], R>(\n fn: Fn<A, R>,\n): Fn<A, R> => {\n const ref = useRef<Fn<A, R>>(fn);\n useLayoutEffect(() => {\n ref.current = fn;\n });\n return useCallback((...args: A): R => {\n const { current } = ref;\n return current(...args);\n }, []);\n};\n","import React, { MutableRefObject } from \"react\";\n\nexport const useLatest = <T>(value: T): MutableRefObject<T> => {\n const ref = React.useRef(value);\n ref.current = value;\n return ref;\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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-es\";\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 | null>,\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>(null);\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","import { useMemo } from \"react\";\n\nexport const useToday = () => {\n return useMemo(() => new Date(), []);\n};\n","export const byStringField =\n <T>(fieldResolver: (item: T) => string) =>\n (a: T, b: T): number =>\n fieldResolver(a).localeCompare(fieldResolver(b));\n\nexport const byNumberField =\n <T>(fieldResolver: (item: T) => number) =>\n (a: T, b: T): number =>\n fieldResolver(a) - fieldResolver(b);\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","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 {\n /* empty */\n }\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 {\n /* empty */\n }\n return undefined;\n};\n","export function invariant<T>(\n val: T | null | undefined,\n message: string,\n): asserts val is T {\n if (val == null) {\n throw new Error(\"Invariant error: \" + message);\n }\n}\n","import { Fragment, isValidElement, ReactElement, ReactNode } from \"react\";\n\nexport const isEmptyFragment = (node: ReactNode): boolean => {\n if (!isValidElement(node)) return false;\n if (node.type !== Fragment) return false;\n\n // Now TypeScript knows `node` is a ReactElement with known props\n const element = node as ReactElement<{ children?: ReactNode }>;\n const children = element.props.children;\n\n if (Array.isArray(children)) {\n return children.every(isNullishChild);\n }\n\n return isNullishChild(children);\n};\n\nconst isNullishChild = (child: ReactNode): boolean =>\n child == null || child === false;\n"],"names":["SeparatorLine","forwardRef","color","cssColor","size","width","vertical","ref","jsx","styles","ClickableElement","styled","background","pointer","props","hoverBackground","disableOpacityOnClick","disableFocusHighlight","focusBackground","height","borderRadius","Clickable","onClick","onDblClick","tooltip","disablePointer","opacityOnHover","disabled","children","type","restProps","booleanOrNumberToNumber","num","numberToMetricCalc","booleanOrNumberToMetricCalc","validPropsRecord","validProps","r","isPropValid","memoize","prop","shadows","excludedProps","isExcludedWebUiProp","propName","box","system","row","value","Box","border","borderRight","borderLeft","borderTop","borderBottom","borderColor","borderStyle","borderWidth","boxShadow","flexbox","overflow","position","layout","zIndex","left","right","top","bottom","hoverBorder","focusBorder","focusWithinBackground","focusWithinBorder","Column","getDimensionObject","node","x","y","isEqualDimensions","a","b","useElementDimensions","onResizeElement","dimensions","setDimensions","useState","updateDimensions","useCallback","newDimensions","useLayoutEffect","ResizeAwareBox","onResize","boxProps","localRef","useRef","Row","Indent","Spacing","InnerSpace","Space","half","horizontal","Nest","nest","render","Fragment","AccessibleFontSizeContext","createContext","baseHeight","AccessibleFontSizeProvider","isFontLarge","setIsFontLarge","fontSizeRatio","setFontSizeRatio","useEffect","observer","entries","entry","useMemo","jsxs","useAccessibleFontSizeContext","context","useContext","getDataProps","pickBy","isDataPropMapper","getAriaProps","isAriaPropMapper","_","key","ScreenReaderOnlyText","Text","variant","className","userSelect","whiteSpace","wordBreak","textAlign","textOverflow","style","spanProps","cx","Txt","SmallText","SmallerText","StandardText","LargeText","Heading","as","hProps","HeaderText","BlockKeyboardEvents","blockedKeys","keyboardEventHandler","ev","mouseEventHandler","defaultComparator","useArraySet","list","setList","comparator","add","item","addMultiple","items","l","remove","index","i","removeMultiple","toggle","useBoolean","initialValue","setValue","setTrue","setFalse","v","useDebounce","delay","debouncedValue","setDebouncedValue","handler","useDelayedFalse","id","genId","componentName","useDomId","setId","useEventListener","eventName","savedHandler","eventListener","event","element","useElementFocus","isInFocus","setIsInFocus","setIsNotInFocus","focus","blur","useEventCallback","fn","args","current","useLatest","React","useMouseIsOver","mouseIsOver","setMouseIsOver","setMouseIsNotOver","useMouseIsEntered","mouseIsEntered","setMouseIsEntered","setMouseIsNotEntered","useMultiOnClickOutside","refs","eventHandler","listener","useOnClickOutside","options","events","useOnNoMouseMovement","callback","onIdleChange","debounce","useOnScreen","isVisible","setIsVisible","rootMargin","root","threshold","useForwardedRef","innerRef","useTimeoutState","defaultTimeout","clearTimeoutOnSetValue","timeoutRef","wrappedSetter","newValue","timeout","useToday","byStringField","fieldResolver","byNumberField","exhaustSwitchCaseElseThrow","arg","exhaustSwitchCase","_arg","fallback","truthyKeysAsList","parseFloatElseUndefined","s","f","parseIntElseUndefined","invariant","val","message","isEmptyFragment","isValidElement","isNullishChild","child"],"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/util/IsPropValid.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","../src/accessibility/accessible-font-size-detector/AccessibleFontSizeProvider.tsx","../src/accessibility/accessible-font-size-detector/UseAccessibleFontSizeContext.ts","../src/utils/PropsForwarder.ts","../src/accessibility/screen-reader-only-text/ScreenReaderOnlyText.tsx","../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/components/events/BlockKeyboardEvents.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/UseEventCallback.tsx","../src/hooks/UseLatest.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/hooks/UseToday.ts","../src/sorting/Comparators.ts","../src/utils/SwitchCaseExhauster.ts","../src/utils/TruthyKeysAsList.ts","../src/utils/parsers/NumberParser.ts","../src/utils/Invariant.ts","../src/utils/FragmentEmptyChecker.ts"],"sourcesContent":["import { Property } from \"csstype\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport styles from \"./SeparatorLine.module.css\";\n\nexport interface SeparatorLineProps {\n color?: Property.Color;\n vertical?: boolean;\n size?: string;\n width?: string;\n}\n\nexport const SeparatorLine = forwardRef<HTMLHRElement, SeparatorLineProps>(\n (\n {\n color = cssColor(\"--lhds-color-ui-300\"),\n size = \"100%\",\n width = \"1px\",\n vertical = false,\n },\n ref,\n ) => {\n return (\n <hr\n className={styles.separatorLine}\n aria-hidden={true}\n color={color}\n style={{\n backgroundColor: color,\n height: vertical ? size || \"100%\" : width || \"1px\",\n width: vertical ? width || \"1px\" : size || \"100%\",\n }}\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\nexport const numberToMetricCalc = (num: number): string | undefined => {\n if (num === 0) {\n return undefined;\n }\n return `calc(${num} * var(--swui-metrics-space))`;\n};\n\nexport const booleanOrNumberToMetricCalc = (\n num: number | boolean | undefined,\n): string | undefined => numberToMetricCalc(booleanOrNumberToNumber(num));\n","import { memoize } from \"lodash-es\";\n\nconst validPropsRecord = {\n // react props\n // https://github.com/facebook/react/blob/5495a7f24aef85ba6937truetrue1ce962673ca9f5fde6/src/renderers/dom/shared/hooks/ReactDOMUnknownPropertyHook.js\n children: true,\n dangerouslySetInnerHTML: true,\n key: true,\n ref: true,\n autoFocus: true,\n defaultValue: true,\n defaultChecked: true,\n innerHTML: true,\n suppressContentEditableWarning: true,\n suppressHydrationWarning: true,\n // deprecated react prop\n valueLink: true,\n\n // https://github.com/facebook/react/blob/d7157651f7b72d9888ctrue123e191f9b88cd8f41e9/src/renderers/dom/shared/HTMLDOMPropertyConfig.js\n /**\n * Standard Properties\n */\n\n abbr: true,\n accept: true,\n acceptCharset: true,\n accessKey: true,\n action: true,\n allow: true,\n allowUserMedia: true,\n allowPaymentRequest: true,\n allowFullScreen: true,\n allowTransparency: true,\n alt: true,\n // specifies target context for links with `preload` type\n // as: true,\n async: true,\n autoComplete: true,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: true,\n autoPlay: true,\n capture: true,\n cellPadding: true,\n cellSpacing: true,\n // keygen prop\n challenge: true,\n charSet: true,\n checked: true,\n cite: true,\n classID: true,\n className: true,\n cols: true,\n colSpan: true,\n content: true,\n contentEditable: true,\n contextMenu: true,\n controls: true,\n controlsList: true,\n coords: true,\n crossOrigin: true,\n data: true, // For `<object />` acts as `src`.\n dateTime: true,\n decoding: true,\n default: true,\n defer: true,\n dir: true,\n disabled: true,\n disablePictureInPicture: true,\n disableRemotePlayback: true,\n download: true,\n draggable: true,\n encType: true,\n enterKeyHint: true,\n form: true,\n formAction: true,\n formEncType: true,\n formMethod: true,\n formNoValidate: true,\n formTarget: true,\n frameBorder: true,\n headers: true,\n height: true,\n hidden: true,\n high: true,\n href: true,\n hrefLang: true,\n htmlFor: true,\n httpEquiv: true,\n id: true,\n inputMode: true,\n integrity: true,\n is: true,\n keyParams: true,\n keyType: true,\n kind: true,\n label: true,\n lang: true,\n list: true,\n loading: true,\n loop: true,\n low: true,\n // manifest: true,\n marginHeight: true,\n marginWidth: true,\n max: true,\n maxLength: true,\n media: true,\n mediaGroup: true,\n method: true,\n min: true,\n minLength: true,\n // Caution; `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`.\n multiple: true,\n muted: true,\n name: true,\n nonce: true,\n noValidate: true,\n open: true,\n optimum: true,\n pattern: true,\n placeholder: true,\n playsInline: true,\n poster: true,\n preload: true,\n profile: true,\n radioGroup: true,\n readOnly: true,\n referrerPolicy: true,\n rel: true,\n required: true,\n reversed: true,\n role: true,\n rows: true,\n rowSpan: true,\n sandbox: true,\n scope: true,\n scoped: true,\n scrolling: true,\n seamless: true,\n selected: true,\n shape: true,\n size: true,\n sizes: true,\n // support for projecting regular DOM Elements via V1 named slots ( shadow dom )\n slot: true,\n span: true,\n spellCheck: true,\n src: true,\n srcDoc: true,\n srcLang: true,\n srcSet: true,\n start: true,\n step: true,\n style: true,\n summary: true,\n tabIndex: true,\n target: true,\n title: true,\n translate: true,\n // Setting .type throws on non-<input> tags\n type: true,\n useMap: true,\n value: true,\n width: true,\n wmode: true,\n wrap: true,\n\n /**\n * RDFa Properties\n */\n about: true,\n datatype: true,\n inlist: true,\n prefix: true,\n // property is also supported for OpenGraph in meta tags.\n property: true,\n resource: true,\n typeof: true,\n vocab: true,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: true,\n autoCorrect: true,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: true,\n // color is for Safari mask-icon link\n color: true,\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search#incremental_This_API_has_not_been_standardized\n incremental: true,\n // used in amp html for indicating the fallback behavior\n // https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/placeholders/\n fallback: true,\n // https://html.spec.whatwg.org/multipage/interaction.html#inert\n inert: true,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: true,\n itemScope: true,\n itemType: true,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: true,\n itemRef: true,\n // used in amp html for eventing purposes\n // https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes/\n on: true,\n // used in amp html for indicating that the option is selectable\n // https://amp.dev/documentation/components/amp-selector/\n option: true,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: true,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<1true\n security: true,\n // IE-only attribute that controls focus behavior\n unselectable: true,\n //\n // SVG properties: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute\n // The following \"onX\" events have been omitted:\n //\n // onabort\n // onactivate\n // onbegin\n // onclick\n // onend\n // onerror\n // onfocusin\n // onfocusout\n // onload\n // onmousedown\n // onmousemove\n // onmouseout\n // onmouseover\n // onmouseup\n // onrepeat\n // onresize\n // onscroll\n // onunload\n accentHeight: true,\n accumulate: true,\n additive: true,\n alignmentBaseline: true,\n allowReorder: true,\n alphabetic: true,\n amplitude: true,\n arabicForm: true,\n ascent: true,\n attributeName: true,\n attributeType: true,\n autoReverse: true,\n azimuth: true,\n baseFrequency: true,\n baselineShift: true,\n baseProfile: true,\n bbox: true,\n begin: true,\n bias: true,\n by: true,\n calcMode: true,\n capHeight: true,\n clip: true,\n clipPathUnits: true,\n clipPath: true,\n clipRule: true,\n colorInterpolation: true,\n colorInterpolationFilters: true,\n colorProfile: true,\n colorRendering: true,\n contentScriptType: true,\n contentStyleType: true,\n cursor: true,\n cx: true,\n cy: true,\n d: true,\n decelerate: true,\n descent: true,\n diffuseConstant: true,\n direction: true,\n display: true,\n divisor: true,\n dominantBaseline: true,\n dur: true,\n dx: true,\n dy: true,\n edgeMode: true,\n elevation: true,\n enableBackground: true,\n end: true,\n exponent: true,\n externalResourcesRequired: true,\n fill: true,\n fillOpacity: true,\n fillRule: true,\n filter: true,\n filterRes: true,\n filterUnits: true,\n floodColor: true,\n floodOpacity: true,\n focusable: true,\n fontFamily: true,\n fontSize: true,\n fontSizeAdjust: true,\n fontStretch: true,\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n format: true,\n from: true,\n fr: true, // valid SVG element but React will ask for removal\n fx: true,\n fy: true,\n g1: true,\n g2: true,\n glyphName: true,\n glyphOrientationHorizontal: true,\n glyphOrientationVertical: true,\n glyphRef: true,\n gradientTransform: true,\n gradientUnits: true,\n hanging: true,\n horizAdvX: true,\n horizOriginX: true,\n ideographic: true,\n imageRendering: true,\n in: true,\n in2: true,\n intercept: true,\n k: true,\n k1: true,\n k2: true,\n k3: true,\n k4: true,\n kernelMatrix: true,\n kernelUnitLength: true,\n kerning: true,\n keyPoints: true,\n keySplines: true,\n keyTimes: true,\n lengthAdjust: true,\n letterSpacing: true,\n lightingColor: true,\n limitingConeAngle: true,\n local: true,\n markerEnd: true,\n markerMid: true,\n markerStart: true,\n markerHeight: true,\n markerUnits: true,\n markerWidth: true,\n mask: true,\n maskContentUnits: true,\n maskUnits: true,\n mathematical: true,\n mode: true,\n numOctaves: true,\n offset: true,\n opacity: true,\n operator: true,\n order: true,\n orient: true,\n orientation: true,\n origin: true,\n overflow: true,\n overlinePosition: true,\n overlineThickness: true,\n panose1: true,\n paintOrder: true,\n pathLength: true,\n patternContentUnits: true,\n patternTransform: true,\n patternUnits: true,\n pointerEvents: true,\n points: true,\n pointsAtX: true,\n pointsAtY: true,\n pointsAtZ: true,\n preserveAlpha: true,\n preserveAspectRatio: true,\n primitiveUnits: true,\n r: true,\n radius: true,\n refX: true,\n refY: true,\n renderingIntent: true,\n repeatCount: true,\n repeatDur: true,\n requiredExtensions: true,\n requiredFeatures: true,\n restart: true,\n result: true,\n rotate: true,\n rx: true,\n ry: true,\n scale: true,\n seed: true,\n shapeRendering: true,\n slope: true,\n spacing: true,\n specularConstant: true,\n specularExponent: true,\n speed: true,\n spreadMethod: true,\n startOffset: true,\n stdDeviation: true,\n stemh: true,\n stemv: true,\n stitchTiles: true,\n stopColor: true,\n stopOpacity: true,\n strikethroughPosition: true,\n strikethroughThickness: true,\n string: true,\n stroke: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeLinecap: true,\n strokeLinejoin: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n surfaceScale: true,\n systemLanguage: true,\n tableValues: true,\n targetX: true,\n targetY: true,\n textAnchor: true,\n textDecoration: true,\n textRendering: true,\n textLength: true,\n to: true,\n transform: true,\n u1: true,\n u2: true,\n underlinePosition: true,\n underlineThickness: true,\n unicode: true,\n unicodeBidi: true,\n unicodeRange: true,\n unitsPerEm: true,\n vAlphabetic: true,\n vHanging: true,\n vIdeographic: true,\n vMathematical: true,\n values: true,\n vectorEffect: true,\n version: true,\n vertAdvY: true,\n vertOriginX: true,\n vertOriginY: true,\n viewBox: true,\n viewTarget: true,\n visibility: true,\n widths: true,\n wordSpacing: true,\n writingMode: true,\n x: true,\n xHeight: true,\n x1: true,\n x2: true,\n xChannelSelector: true,\n xlinkActuate: true,\n xlinkArcrole: true,\n xlinkHref: true,\n xlinkRole: true,\n xlinkShow: true,\n xlinkTitle: true,\n xlinkType: true,\n xmlBase: true,\n xmlns: true,\n xmlnsXlink: true,\n xmlLang: true,\n xmlSpace: true,\n y: true,\n y1: true,\n y2: true,\n yChannelSelector: true,\n z: true,\n zoomAndPan: true,\n\n // For preact. We have this code here even though Emotion doesn't support\n // Preact, since @emotion/is-prop-valid is used by some libraries outside of\n // the context of Emotion.\n for: true,\n class: true,\n autofocus: true,\n};\n\nconst validProps = `^((${Object.keys(validPropsRecord).join(\n \"|\",\n)})|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$`;\n\nconst r = new RegExp(validProps);\n\nexport const isPropValid: (prop: string) => boolean = memoize(\n (prop: string) =>\n r.test(prop) ||\n (prop.charCodeAt(0) === 111 /* o */ &&\n prop.charCodeAt(1) === 110 /* n */ &&\n prop.charCodeAt(2) < 91) /* Z+1 */,\n);\n","import 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 {\n booleanOrNumberToMetricCalc,\n booleanOrNumberToNumber,\n} from \"../../../utils/BooleanOrNumberToNumber\";\nimport { isPropValid } from \"../../util/IsPropValid\";\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 bottom: \"var(--swui-shadow-bottom)\",\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 gap between columns.\n */\n columnGap?: ResponsiveValue<boolean | TLengthStyledSystem>;\n\n /**\n * Adds gap between rows.\n */\n rowGap?: 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-expect-error Sets a CSS property.\n property: \"--current-indent\",\n transform: booleanOrNumberToNumber,\n },\n spacing: {\n // @ts-expect-error Sets a CSS property.\n property: \"--current-spacing\",\n transform: booleanOrNumberToNumber,\n },\n gap: {\n // @ts-expect-error Sets a CSS property.\n property: \"--current-gap\",\n transform: booleanOrNumberToNumber,\n },\n columnGap: {\n property: \"columnGap\",\n transform: booleanOrNumberToMetricCalc,\n },\n rowGap: {\n property: \"rowGap\",\n transform: booleanOrNumberToMetricCalc,\n },\n shadow: {\n property: \"boxShadow\",\n transform: (value: ShadowType) => 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\n :hover {\n ${({ hoverBackground }) =>\n hoverBackground ? `background: ${hoverBackground};` : \"\"}\n ${({ hoverBorder }) => (hoverBorder ? `border: ${hoverBorder};` : \"\")}\n }\n\n :focus {\n ${({ focusBackground }) =>\n focusBackground ? `background: ${focusBackground};` : \"\"}\n ${({ focusBorder }) => (focusBorder ? `border: ${focusBorder};` : \"\")}\n }\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>(\n function Column(props, ref) {\n return <Box ref={ref} {...props} />;\n },\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 | null>,\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 Omit<BoxProps, \"onResize\"> {\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>(\n function Row(props, ref) {\n return <Box row ref={ref} {...props} />;\n },\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.FC<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","import React, {\n createContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nexport interface AccessibleFontSizeContextValue {\n isFontLarge: boolean;\n fontSizeRatio: number;\n}\n\nexport const AccessibleFontSizeContext =\n createContext<AccessibleFontSizeContextValue>({\n isFontLarge: false,\n fontSizeRatio: 1,\n });\n\nconst baseHeight = 12;\n\nexport const AccessibleFontSizeProvider: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const ref = useRef<HTMLDivElement>(null);\n const [isFontLarge, setIsFontLarge] = useState(false);\n const [fontSizeRatio, setFontSizeRatio] = useState(1);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const height = entry.contentRect.height;\n setIsFontLarge(height > baseHeight);\n setFontSizeRatio(height / baseHeight);\n }\n });\n\n observer.observe(ref.current);\n\n return () => observer.disconnect();\n }, []);\n\n const value = useMemo(\n () => ({ isFontLarge, fontSizeRatio }),\n [fontSizeRatio, isFontLarge],\n );\n\n return (\n <AccessibleFontSizeContext.Provider value={value}>\n <div\n ref={ref}\n aria-hidden\n style={{\n fontSize: \"1rem\",\n position: \"absolute\",\n visibility: \"hidden\",\n height: \"auto\",\n width: \"auto\",\n whiteSpace: \"nowrap\",\n }}\n >\n M\n </div>\n {children}\n </AccessibleFontSizeContext.Provider>\n );\n};\n","import { useContext } from \"react\";\nimport {\n AccessibleFontSizeContext,\n AccessibleFontSizeContextValue,\n} from \"./AccessibleFontSizeProvider\";\n\nexport const useAccessibleFontSizeContext =\n (): AccessibleFontSizeContextValue => {\n const context = useContext(AccessibleFontSizeContext);\n\n if (!context) {\n return {\n isFontLarge: false,\n fontSizeRatio: 1,\n };\n }\n\n return context;\n };\n","import { pickBy } from \"lodash-es\";\nimport React from \"react\";\n\nexport const getDataProps = (\n props: Record<string, unknown> | object,\n): Record<string, unknown> =>\n pickBy(props, isDataPropMapper) as Record<string, unknown>;\n\nexport const getAriaProps = (\n props: Record<string, unknown>,\n): React.AriaAttributes =>\n pickBy(props, isAriaPropMapper) as React.AriaAttributes;\n\nconst isDataPropMapper = (_: unknown, key: string): boolean =>\n key.startsWith(\"data-\") || key.startsWith(\"aria-\");\n\nconst isAriaPropMapper = (_: unknown, key: string): boolean =>\n key.startsWith(\"aria-\");\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport styles from \"./ScreenReaderOnlyText.module.css\";\nimport { getDataProps } from \"../../utils/PropsForwarder\";\n\nexport interface ScreenReaderOnlyTextProps {\n children?: ReactNode;\n}\n\nexport const ScreenReaderOnlyText: React.FC<ScreenReaderOnlyTextProps> = ({\n children,\n ...props\n}) => {\n return (\n <span className={styles.visuallyHidden} {...getDataProps(props)}>\n {children}\n </span>\n );\n};\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./Text.module.css\";\nimport { SpanProps } from \"../../types/ElementProps\";\nimport { Property } from \"csstype\";\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 textAlign?: Property.TextAlign;\n overflow?: Property.Overflow;\n textOverflow?: Property.TextOverflow;\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 textAlign = \"left\",\n overflow,\n textOverflow,\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={{\n color,\n userSelect,\n whiteSpace,\n wordBreak,\n textAlign,\n overflow,\n textOverflow,\n ...style,\n }}\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 | \"span\";\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 * as React from \"react\";\nimport { KeyboardEventHandler, MouseEventHandler, useCallback } from \"react\";\nimport { Box, BoxProps } from \"../layout/box/Box\";\n\nexport interface BlockKeyboardEventsProps extends BoxProps {\n /**\n * Key or keys that will be blocked from bubbling to parents.\n * If not set, all keys are blocked from bubbling.\n */\n blockedKeys?: string | Array<string>;\n\n /**\n * Whether to also block mouse events from bubbling.\n * Default: false\n */\n blockMouse?: boolean;\n}\n\nexport const BlockKeyboardEvents: React.FC<BlockKeyboardEventsProps> = ({\n blockedKeys,\n blockMouse = false,\n ...props\n}) => {\n const keyboardEventHandler = useCallback<KeyboardEventHandler>(\n (ev) => {\n const blockAll = blockedKeys == null;\n const shouldBlock =\n blockAll ||\n (Array.isArray(blockedKeys)\n ? blockedKeys.includes(ev.key)\n : blockedKeys === ev.key);\n\n if (shouldBlock) {\n ev.stopPropagation();\n }\n },\n [blockedKeys],\n );\n\n const mouseEventHandler = useCallback<MouseEventHandler>(\n (ev) => {\n if (!blockMouse) {\n return;\n }\n ev.stopPropagation();\n },\n [blockMouse],\n );\n\n return (\n <Box\n {...props}\n onKeyDown={keyboardEventHandler}\n onKeyUp={keyboardEventHandler}\n onMouseDown={mouseEventHandler}\n onMouseUp={mouseEventHandler}\n />\n );\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\n/** @deprecated use useId-hook from React 18 */\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 | null>,\n eventName: TEventName,\n handler: EventHandler<TEventName>,\n) => {\n // Create a ref that stores handler\n const savedHandler = useRef<EventHandler<TEventName>>(null);\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 { 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 === 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 { useCallback, useLayoutEffect, useRef } from \"react\";\n\ntype Fn<ARGS extends unknown[], R> = (...args: ARGS) => R;\n\nexport const useEventCallback = <A extends unknown[], R>(\n fn: Fn<A, R>,\n): Fn<A, R> => {\n const ref = useRef<Fn<A, R>>(fn);\n useLayoutEffect(() => {\n ref.current = fn;\n });\n return useCallback((...args: A): R => {\n const { current } = ref;\n return current(...args);\n }, []);\n};\n","import React, { MutableRefObject } from \"react\";\n\nexport const useLatest = <T>(value: T): MutableRefObject<T> => {\n const ref = React.useRef(value);\n ref.current = value;\n return ref;\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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-es\";\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 | null>,\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>(null);\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","import { useMemo } from \"react\";\n\nexport const useToday = () => {\n return useMemo(() => new Date(), []);\n};\n","export const byStringField =\n <T>(fieldResolver: (item: T) => string) =>\n (a: T, b: T): number =>\n fieldResolver(a).localeCompare(fieldResolver(b));\n\nexport const byNumberField =\n <T>(fieldResolver: (item: T) => number) =>\n (a: T, b: T): number =>\n fieldResolver(a) - fieldResolver(b);\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","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 {\n /* empty */\n }\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 {\n /* empty */\n }\n return undefined;\n};\n","export function invariant<T>(\n val: T | null | undefined,\n message: string,\n): asserts val is T {\n if (val == null) {\n throw new Error(\"Invariant error: \" + message);\n }\n}\n","import { Fragment, isValidElement, ReactElement, ReactNode } from \"react\";\n\nexport const isEmptyFragment = (node: ReactNode): boolean => {\n if (!isValidElement(node)) return false;\n if (node.type !== Fragment) return false;\n\n // Now TypeScript knows `node` is a ReactElement with known props\n const element = node as ReactElement<{ children?: ReactNode }>;\n const children = element.props.children;\n\n if (Array.isArray(children)) {\n return children.every(isNullishChild);\n }\n\n return isNullishChild(children);\n};\n\nconst isNullishChild = (child: ReactNode): boolean =>\n child == null || child === false;\n"],"names":["SeparatorLine","forwardRef","color","cssColor","size","width","vertical","ref","jsx","styles","ClickableElement","styled","background","pointer","props","hoverBackground","disableOpacityOnClick","disableFocusHighlight","focusBackground","height","borderRadius","Clickable","onClick","onDblClick","tooltip","disablePointer","opacityOnHover","disabled","children","type","restProps","booleanOrNumberToNumber","num","numberToMetricCalc","booleanOrNumberToMetricCalc","validPropsRecord","validProps","r","isPropValid","memoize","prop","shadows","excludedProps","isExcludedWebUiProp","propName","box","system","row","value","Box","border","borderRight","borderLeft","borderTop","borderBottom","borderColor","borderStyle","borderWidth","boxShadow","flexbox","overflow","position","layout","zIndex","left","right","top","bottom","hoverBorder","focusBorder","focusWithinBackground","focusWithinBorder","Column","getDimensionObject","node","x","y","isEqualDimensions","a","b","useElementDimensions","onResizeElement","dimensions","setDimensions","useState","updateDimensions","useCallback","newDimensions","useLayoutEffect","ResizeAwareBox","onResize","boxProps","localRef","useRef","Row","Indent","Spacing","InnerSpace","Space","half","horizontal","Nest","nest","render","Fragment","AccessibleFontSizeContext","createContext","baseHeight","AccessibleFontSizeProvider","isFontLarge","setIsFontLarge","fontSizeRatio","setFontSizeRatio","useEffect","observer","entries","entry","useMemo","jsxs","useAccessibleFontSizeContext","context","useContext","getDataProps","pickBy","isDataPropMapper","getAriaProps","isAriaPropMapper","_","key","ScreenReaderOnlyText","Text","variant","className","userSelect","whiteSpace","wordBreak","textAlign","textOverflow","style","spanProps","cx","Txt","SmallText","SmallerText","StandardText","LargeText","Heading","as","hProps","HeaderText","BlockKeyboardEvents","blockedKeys","blockMouse","keyboardEventHandler","ev","mouseEventHandler","defaultComparator","useArraySet","list","setList","comparator","add","item","addMultiple","items","l","remove","index","i","removeMultiple","toggle","useBoolean","initialValue","setValue","setTrue","setFalse","v","useDebounce","delay","debouncedValue","setDebouncedValue","handler","useDelayedFalse","id","genId","componentName","useDomId","setId","useEventListener","eventName","savedHandler","eventListener","event","element","useElementFocus","isInFocus","setIsInFocus","setIsNotInFocus","focus","blur","useEventCallback","fn","args","current","useLatest","React","useMouseIsOver","mouseIsOver","setMouseIsOver","setMouseIsNotOver","useMouseIsEntered","mouseIsEntered","setMouseIsEntered","setMouseIsNotEntered","useMultiOnClickOutside","refs","eventHandler","listener","useOnClickOutside","options","events","useOnNoMouseMovement","callback","onIdleChange","debounce","useOnScreen","isVisible","setIsVisible","rootMargin","root","threshold","useForwardedRef","innerRef","useTimeoutState","defaultTimeout","clearTimeoutOnSetValue","timeoutRef","wrappedSetter","newValue","timeout","useToday","byStringField","fieldResolver","byNumberField","exhaustSwitchCaseElseThrow","arg","exhaustSwitchCase","_arg","fallback","truthyKeysAsList","parseFloatElseUndefined","s","f","parseIntElseUndefined","invariant","val","message","isEmptyFragment","isValidElement","isNullishChild","child"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._separatorLine_nzfcz_1{display:flex;border:0;margin:0;flex:none}._visuallyHidden_1gevf_1{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}._text_1iisw_1{--swui-text-color: var(--swui-text-primary-color);--swui-text-color-caption: var(--lhds-color-ui-600);--swui-text-color-overline: var(--lhds-color-ui-600);--swui-text-font-family: var(--swui-font-primary);--swui-text-font-weight: var(--swui-font-weight-text);--current-color: var(--swui-text-color);--current-font-size: var(--swui-font-size-medium);--current-line-height: var(--swui-line-height-medium);--current-font-weight: var(--swui-text-font-weight);--current-letter-spacing: var(--swui-text-letter-spacing);font-size:var(--current-font-size);line-height:var(--current-line-height);color:var(--current-color);letter-spacing:var(--current-letter-spacing);font-family:var(--swui-text-font-family);font-weight:var(--current-font-weight)}._text_1iisw_1._bold_1iisw_27{--current-font-weight: var(--swui-font-weight-text-bold)}._text_1iisw_1._caption_1iisw_31{--current-font-size: var(--swui-font-size-small);--current-line-height: var(--swui-line-height-small);--current-color: var(--swui-text-color-caption);--current-letter-spacing: 0;font-style:italic}._text_1iisw_1._overline_1iisw_39{--current-font-size: var(--swui-font-size-smaller);--current-line-height: var(--swui-line-height-smaller);--current-color: var(--swui-text-color-overline);--current-font-weight: var(--swui-font-weight-text-bold);--current-letter-spacing: .1rem;text-transform:uppercase}._text_1iisw_1._large_1iisw_48{--current-font-size: var(--swui-font-size-large);--current-line-height: var(--swui-line-height-large)}._text_1iisw_1._medium_1iisw_53{--current-font-size: var(--swui-font-size-medium);--current-line-height: var(--swui-line-height-medium)}._text_1iisw_1._small_1iisw_58{--current-font-size: var(--swui-font-size-small);--current-line-height: var(--swui-line-height-small)}._text_1iisw_1._smaller_1iisw_63{--current-font-size: var(--swui-font-size-smaller);--current-line-height: var(--swui-line-height-smaller)}._heading_1cnsg_1{font-size:2rem;color:var(--swui-text-primary-color);letter-spacing:0;margin:0;line-height:var(--swui-line-height);font-family:var(--swui-font-primary);font-weight:var(--swui-font-weight-text-bold)}._heading_1cnsg_1._h1_1cnsg_10{font-size:2.8rem}._heading_1cnsg_1._h2_1cnsg_14{font-size:2.4rem}._heading_1cnsg_1._h3_1cnsg_18{font-size:2rem}._heading_1cnsg_1._h4_1cnsg_22{font-size:1.8rem}._heading_1cnsg_1._h5_1cnsg_26{font-size:1.6rem}._heading_1cnsg_1._h6_1cnsg_30{font-size:1.4rem}")),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("@stenajs-webui/theme"),c=require("react/jsx-runtime"),n=require("react"),E=require("@emotion/styled"),l=require("styled-system"),v=require("lodash-es"),L=require("classnames"),H="_separatorLine_nzfcz_1",N={separatorLine:H},U=n.forwardRef(({color:e=j.cssColor("--lhds-color-ui-300"),size:t="100%",width:r="1px",vertical:u=!1},s)=>c.jsx("hr",{className:N.separatorLine,"aria-hidden":!0,color:e,style:{backgroundColor:e,height:u?t||"100%":r||"1px",width:u?r||"1px":t||"100%"},ref:s})),q=E.button`
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("@stenajs-webui/theme"),c=require("react/jsx-runtime"),n=require("react"),E=require("@emotion/styled"),d=require("styled-system"),v=require("lodash-es"),F=require("classnames"),H="_separatorLine_nzfcz_1",N={separatorLine:H},U=n.forwardRef(({color:e=j.cssColor("--lhds-color-ui-300"),size:t="100%",width:r="1px",vertical:u=!1},s)=>c.jsx("hr",{className:N.separatorLine,"aria-hidden":!0,color:e,style:{backgroundColor:e,height:u?t||"100%":r||"1px",width:u?r||"1px":t||"100%"},ref:s})),q=E.button`
3
3
  display: inline-block;
4
4
  user-select: none;
5
5
  border: 0;
@@ -22,7 +22,7 @@
22
22
  ${({width:e})=>e?`width: ${e};`:""}
23
23
  ${({height:e})=>e?`height: ${e};`:""}
24
24
  ${({borderRadius:e})=>e?`border-radius: ${e};`:""}
25
- `,B=n.forwardRef(({disableFocusHighlight:e,onClick:t,onDblClick:r,tooltip:u,disableOpacityOnClick:s,disablePointer:o,opacityOnHover:i,disabled:d,children:a,background:f="transparent",hoverBackground:p,focusBackground:m,type:w="button",...k},P)=>{const D=!!(t||r);return c.jsx(q,{opacityOnHover:i,title:u,disabled:d,disableOpacityOnClick:s,onClick:t,onDoubleClick:r,disableFocusHighlight:e,pointer:D&&!o,ref:P,background:f,hoverBackground:p,focusBackground:m,type:w,...k,children:a})}),y=e=>e==null?0:typeof e=="boolean"?e?1:0:e,V=e=>{if(e!==0)return`calc(${e} * var(--swui-metrics-space))`},R=e=>V(y(e)),W={children:!0,dangerouslySetInnerHTML:!0,key:!0,ref:!0,autoFocus:!0,defaultValue:!0,defaultChecked:!0,innerHTML:!0,suppressContentEditableWarning:!0,suppressHydrationWarning:!0,valueLink:!0,abbr:!0,accept:!0,acceptCharset:!0,accessKey:!0,action:!0,allow:!0,allowUserMedia:!0,allowPaymentRequest:!0,allowFullScreen:!0,allowTransparency:!0,alt:!0,async:!0,autoComplete:!0,autoPlay:!0,capture:!0,cellPadding:!0,cellSpacing:!0,challenge:!0,charSet:!0,checked:!0,cite:!0,classID:!0,className:!0,cols:!0,colSpan:!0,content:!0,contentEditable:!0,contextMenu:!0,controls:!0,controlsList:!0,coords:!0,crossOrigin:!0,data:!0,dateTime:!0,decoding:!0,default:!0,defer:!0,dir:!0,disabled:!0,disablePictureInPicture:!0,disableRemotePlayback:!0,download:!0,draggable:!0,encType:!0,enterKeyHint:!0,form:!0,formAction:!0,formEncType:!0,formMethod:!0,formNoValidate:!0,formTarget:!0,frameBorder:!0,headers:!0,height:!0,hidden:!0,high:!0,href:!0,hrefLang:!0,htmlFor:!0,httpEquiv:!0,id:!0,inputMode:!0,integrity:!0,is:!0,keyParams:!0,keyType:!0,kind:!0,label:!0,lang:!0,list:!0,loading:!0,loop:!0,low:!0,marginHeight:!0,marginWidth:!0,max:!0,maxLength:!0,media:!0,mediaGroup:!0,method:!0,min:!0,minLength:!0,multiple:!0,muted:!0,name:!0,nonce:!0,noValidate:!0,open:!0,optimum:!0,pattern:!0,placeholder:!0,playsInline:!0,poster:!0,preload:!0,profile:!0,radioGroup:!0,readOnly:!0,referrerPolicy:!0,rel:!0,required:!0,reversed:!0,role:!0,rows:!0,rowSpan:!0,sandbox:!0,scope:!0,scoped:!0,scrolling:!0,seamless:!0,selected:!0,shape:!0,size:!0,sizes:!0,slot:!0,span:!0,spellCheck:!0,src:!0,srcDoc:!0,srcLang:!0,srcSet:!0,start:!0,step:!0,style:!0,summary:!0,tabIndex:!0,target:!0,title:!0,translate:!0,type:!0,useMap:!0,value:!0,width:!0,wmode:!0,wrap:!0,about:!0,datatype:!0,inlist:!0,prefix:!0,property:!0,resource:!0,typeof:!0,vocab:!0,autoCapitalize:!0,autoCorrect:!0,autoSave:!0,color:!0,incremental:!0,fallback:!0,inert:!0,itemProp:!0,itemScope:!0,itemType:!0,itemID:!0,itemRef:!0,on:!0,option:!0,results:!0,security:!0,unselectable:!0,accentHeight:!0,accumulate:!0,additive:!0,alignmentBaseline:!0,allowReorder:!0,alphabetic:!0,amplitude:!0,arabicForm:!0,ascent:!0,attributeName:!0,attributeType:!0,autoReverse:!0,azimuth:!0,baseFrequency:!0,baselineShift:!0,baseProfile:!0,bbox:!0,begin:!0,bias:!0,by:!0,calcMode:!0,capHeight:!0,clip:!0,clipPathUnits:!0,clipPath:!0,clipRule:!0,colorInterpolation:!0,colorInterpolationFilters:!0,colorProfile:!0,colorRendering:!0,contentScriptType:!0,contentStyleType:!0,cursor:!0,cx:!0,cy:!0,d:!0,decelerate:!0,descent:!0,diffuseConstant:!0,direction:!0,display:!0,divisor:!0,dominantBaseline:!0,dur:!0,dx:!0,dy:!0,edgeMode:!0,elevation:!0,enableBackground:!0,end:!0,exponent:!0,externalResourcesRequired:!0,fill:!0,fillOpacity:!0,fillRule:!0,filter:!0,filterRes:!0,filterUnits:!0,floodColor:!0,floodOpacity:!0,focusable:!0,fontFamily:!0,fontSize:!0,fontSizeAdjust:!0,fontStretch:!0,fontStyle:!0,fontVariant:!0,fontWeight:!0,format:!0,from:!0,fr:!0,fx:!0,fy:!0,g1:!0,g2:!0,glyphName:!0,glyphOrientationHorizontal:!0,glyphOrientationVertical:!0,glyphRef:!0,gradientTransform:!0,gradientUnits:!0,hanging:!0,horizAdvX:!0,horizOriginX:!0,ideographic:!0,imageRendering:!0,in:!0,in2:!0,intercept:!0,k:!0,k1:!0,k2:!0,k3:!0,k4:!0,kernelMatrix:!0,kernelUnitLength:!0,kerning:!0,keyPoints:!0,keySplines:!0,keyTimes:!0,lengthAdjust:!0,letterSpacing:!0,lightingColor:!0,limitingConeAngle:!0,local:!0,markerEnd:!0,markerMid:!0,markerStart:!0,markerHeight:!0,markerUnits:!0,markerWidth:!0,mask:!0,maskContentUnits:!0,maskUnits:!0,mathematical:!0,mode:!0,numOctaves:!0,offset:!0,opacity:!0,operator:!0,order:!0,orient:!0,orientation:!0,origin:!0,overflow:!0,overlinePosition:!0,overlineThickness:!0,panose1:!0,paintOrder:!0,pathLength:!0,patternContentUnits:!0,patternTransform:!0,patternUnits:!0,pointerEvents:!0,points:!0,pointsAtX:!0,pointsAtY:!0,pointsAtZ:!0,preserveAlpha:!0,preserveAspectRatio:!0,primitiveUnits:!0,r:!0,radius:!0,refX:!0,refY:!0,renderingIntent:!0,repeatCount:!0,repeatDur:!0,requiredExtensions:!0,requiredFeatures:!0,restart:!0,result:!0,rotate:!0,rx:!0,ry:!0,scale:!0,seed:!0,shapeRendering:!0,slope:!0,spacing:!0,specularConstant:!0,specularExponent:!0,speed:!0,spreadMethod:!0,startOffset:!0,stdDeviation:!0,stemh:!0,stemv:!0,stitchTiles:!0,stopColor:!0,stopOpacity:!0,strikethroughPosition:!0,strikethroughThickness:!0,string:!0,stroke:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeLinecap:!0,strokeLinejoin:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0,surfaceScale:!0,systemLanguage:!0,tableValues:!0,targetX:!0,targetY:!0,textAnchor:!0,textDecoration:!0,textRendering:!0,textLength:!0,to:!0,transform:!0,u1:!0,u2:!0,underlinePosition:!0,underlineThickness:!0,unicode:!0,unicodeBidi:!0,unicodeRange:!0,unitsPerEm:!0,vAlphabetic:!0,vHanging:!0,vIdeographic:!0,vMathematical:!0,values:!0,vectorEffect:!0,version:!0,vertAdvY:!0,vertOriginX:!0,vertOriginY:!0,viewBox:!0,viewTarget:!0,visibility:!0,widths:!0,wordSpacing:!0,writingMode:!0,x:!0,xHeight:!0,x1:!0,x2:!0,xChannelSelector:!0,xlinkActuate:!0,xlinkArcrole:!0,xlinkHref:!0,xlinkRole:!0,xlinkShow:!0,xlinkTitle:!0,xlinkType:!0,xmlBase:!0,xmlns:!0,xmlnsXlink:!0,xmlLang:!0,xmlSpace:!0,y:!0,y1:!0,y2:!0,yChannelSelector:!0,z:!0,zoomAndPan:!0,for:!0,class:!0,autofocus:!0},X=`^((${Object.keys(W).join("|")})|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$`,G=new RegExp(X),K=v.memoize(e=>G.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91),Y={box:"var(--swui-shadow-box)",popover:"var(--swui-shadow-popover)",modal:"var(--swui-shadow-modal)",bottom:"var(--swui-shadow-bottom)"},Z=["spacing","indent","gap","width","height","overflow","display"],J=e=>Z.includes(e),Q=l.system({row:{property:"flexDirection",transform:e=>e?"row":"column"},indent:{property:"--current-indent",transform:y},spacing:{property:"--current-spacing",transform:y},gap:{property:"--current-gap",transform:y},columnGap:{property:"columnGap",transform:R},rowGap:{property:"rowGap",transform:R},shadow:{property:"boxShadow",transform:e=>Y[e]??e}}),g=E("div",{shouldForwardProp:e=>typeof e=="string"?J(e)?!1:K(e):!1})`
25
+ `,B=n.forwardRef(({disableFocusHighlight:e,onClick:t,onDblClick:r,tooltip:u,disableOpacityOnClick:s,disablePointer:o,opacityOnHover:i,disabled:l,children:a,background:f="transparent",hoverBackground:p,focusBackground:m,type:w="button",...k},P)=>{const D=!!(t||r);return c.jsx(q,{opacityOnHover:i,title:u,disabled:l,disableOpacityOnClick:s,onClick:t,onDoubleClick:r,disableFocusHighlight:e,pointer:D&&!o,ref:P,background:f,hoverBackground:p,focusBackground:m,type:w,...k,children:a})}),y=e=>e==null?0:typeof e=="boolean"?e?1:0:e,V=e=>{if(e!==0)return`calc(${e} * var(--swui-metrics-space))`},R=e=>V(y(e)),W={children:!0,dangerouslySetInnerHTML:!0,key:!0,ref:!0,autoFocus:!0,defaultValue:!0,defaultChecked:!0,innerHTML:!0,suppressContentEditableWarning:!0,suppressHydrationWarning:!0,valueLink:!0,abbr:!0,accept:!0,acceptCharset:!0,accessKey:!0,action:!0,allow:!0,allowUserMedia:!0,allowPaymentRequest:!0,allowFullScreen:!0,allowTransparency:!0,alt:!0,async:!0,autoComplete:!0,autoPlay:!0,capture:!0,cellPadding:!0,cellSpacing:!0,challenge:!0,charSet:!0,checked:!0,cite:!0,classID:!0,className:!0,cols:!0,colSpan:!0,content:!0,contentEditable:!0,contextMenu:!0,controls:!0,controlsList:!0,coords:!0,crossOrigin:!0,data:!0,dateTime:!0,decoding:!0,default:!0,defer:!0,dir:!0,disabled:!0,disablePictureInPicture:!0,disableRemotePlayback:!0,download:!0,draggable:!0,encType:!0,enterKeyHint:!0,form:!0,formAction:!0,formEncType:!0,formMethod:!0,formNoValidate:!0,formTarget:!0,frameBorder:!0,headers:!0,height:!0,hidden:!0,high:!0,href:!0,hrefLang:!0,htmlFor:!0,httpEquiv:!0,id:!0,inputMode:!0,integrity:!0,is:!0,keyParams:!0,keyType:!0,kind:!0,label:!0,lang:!0,list:!0,loading:!0,loop:!0,low:!0,marginHeight:!0,marginWidth:!0,max:!0,maxLength:!0,media:!0,mediaGroup:!0,method:!0,min:!0,minLength:!0,multiple:!0,muted:!0,name:!0,nonce:!0,noValidate:!0,open:!0,optimum:!0,pattern:!0,placeholder:!0,playsInline:!0,poster:!0,preload:!0,profile:!0,radioGroup:!0,readOnly:!0,referrerPolicy:!0,rel:!0,required:!0,reversed:!0,role:!0,rows:!0,rowSpan:!0,sandbox:!0,scope:!0,scoped:!0,scrolling:!0,seamless:!0,selected:!0,shape:!0,size:!0,sizes:!0,slot:!0,span:!0,spellCheck:!0,src:!0,srcDoc:!0,srcLang:!0,srcSet:!0,start:!0,step:!0,style:!0,summary:!0,tabIndex:!0,target:!0,title:!0,translate:!0,type:!0,useMap:!0,value:!0,width:!0,wmode:!0,wrap:!0,about:!0,datatype:!0,inlist:!0,prefix:!0,property:!0,resource:!0,typeof:!0,vocab:!0,autoCapitalize:!0,autoCorrect:!0,autoSave:!0,color:!0,incremental:!0,fallback:!0,inert:!0,itemProp:!0,itemScope:!0,itemType:!0,itemID:!0,itemRef:!0,on:!0,option:!0,results:!0,security:!0,unselectable:!0,accentHeight:!0,accumulate:!0,additive:!0,alignmentBaseline:!0,allowReorder:!0,alphabetic:!0,amplitude:!0,arabicForm:!0,ascent:!0,attributeName:!0,attributeType:!0,autoReverse:!0,azimuth:!0,baseFrequency:!0,baselineShift:!0,baseProfile:!0,bbox:!0,begin:!0,bias:!0,by:!0,calcMode:!0,capHeight:!0,clip:!0,clipPathUnits:!0,clipPath:!0,clipRule:!0,colorInterpolation:!0,colorInterpolationFilters:!0,colorProfile:!0,colorRendering:!0,contentScriptType:!0,contentStyleType:!0,cursor:!0,cx:!0,cy:!0,d:!0,decelerate:!0,descent:!0,diffuseConstant:!0,direction:!0,display:!0,divisor:!0,dominantBaseline:!0,dur:!0,dx:!0,dy:!0,edgeMode:!0,elevation:!0,enableBackground:!0,end:!0,exponent:!0,externalResourcesRequired:!0,fill:!0,fillOpacity:!0,fillRule:!0,filter:!0,filterRes:!0,filterUnits:!0,floodColor:!0,floodOpacity:!0,focusable:!0,fontFamily:!0,fontSize:!0,fontSizeAdjust:!0,fontStretch:!0,fontStyle:!0,fontVariant:!0,fontWeight:!0,format:!0,from:!0,fr:!0,fx:!0,fy:!0,g1:!0,g2:!0,glyphName:!0,glyphOrientationHorizontal:!0,glyphOrientationVertical:!0,glyphRef:!0,gradientTransform:!0,gradientUnits:!0,hanging:!0,horizAdvX:!0,horizOriginX:!0,ideographic:!0,imageRendering:!0,in:!0,in2:!0,intercept:!0,k:!0,k1:!0,k2:!0,k3:!0,k4:!0,kernelMatrix:!0,kernelUnitLength:!0,kerning:!0,keyPoints:!0,keySplines:!0,keyTimes:!0,lengthAdjust:!0,letterSpacing:!0,lightingColor:!0,limitingConeAngle:!0,local:!0,markerEnd:!0,markerMid:!0,markerStart:!0,markerHeight:!0,markerUnits:!0,markerWidth:!0,mask:!0,maskContentUnits:!0,maskUnits:!0,mathematical:!0,mode:!0,numOctaves:!0,offset:!0,opacity:!0,operator:!0,order:!0,orient:!0,orientation:!0,origin:!0,overflow:!0,overlinePosition:!0,overlineThickness:!0,panose1:!0,paintOrder:!0,pathLength:!0,patternContentUnits:!0,patternTransform:!0,patternUnits:!0,pointerEvents:!0,points:!0,pointsAtX:!0,pointsAtY:!0,pointsAtZ:!0,preserveAlpha:!0,preserveAspectRatio:!0,primitiveUnits:!0,r:!0,radius:!0,refX:!0,refY:!0,renderingIntent:!0,repeatCount:!0,repeatDur:!0,requiredExtensions:!0,requiredFeatures:!0,restart:!0,result:!0,rotate:!0,rx:!0,ry:!0,scale:!0,seed:!0,shapeRendering:!0,slope:!0,spacing:!0,specularConstant:!0,specularExponent:!0,speed:!0,spreadMethod:!0,startOffset:!0,stdDeviation:!0,stemh:!0,stemv:!0,stitchTiles:!0,stopColor:!0,stopOpacity:!0,strikethroughPosition:!0,strikethroughThickness:!0,string:!0,stroke:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeLinecap:!0,strokeLinejoin:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0,surfaceScale:!0,systemLanguage:!0,tableValues:!0,targetX:!0,targetY:!0,textAnchor:!0,textDecoration:!0,textRendering:!0,textLength:!0,to:!0,transform:!0,u1:!0,u2:!0,underlinePosition:!0,underlineThickness:!0,unicode:!0,unicodeBidi:!0,unicodeRange:!0,unitsPerEm:!0,vAlphabetic:!0,vHanging:!0,vIdeographic:!0,vMathematical:!0,values:!0,vectorEffect:!0,version:!0,vertAdvY:!0,vertOriginX:!0,vertOriginY:!0,viewBox:!0,viewTarget:!0,visibility:!0,widths:!0,wordSpacing:!0,writingMode:!0,x:!0,xHeight:!0,x1:!0,x2:!0,xChannelSelector:!0,xlinkActuate:!0,xlinkArcrole:!0,xlinkHref:!0,xlinkRole:!0,xlinkShow:!0,xlinkTitle:!0,xlinkType:!0,xmlBase:!0,xmlns:!0,xmlnsXlink:!0,xmlLang:!0,xmlSpace:!0,y:!0,y1:!0,y2:!0,yChannelSelector:!0,z:!0,zoomAndPan:!0,for:!0,class:!0,autofocus:!0},X=`^((${Object.keys(W).join("|")})|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$`,G=new RegExp(X),Y=v.memoize(e=>G.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91),K={box:"var(--swui-shadow-box)",popover:"var(--swui-shadow-popover)",modal:"var(--swui-shadow-modal)",bottom:"var(--swui-shadow-bottom)"},Z=["spacing","indent","gap","width","height","overflow","display"],J=e=>Z.includes(e),Q=d.system({row:{property:"flexDirection",transform:e=>e?"row":"column"},indent:{property:"--current-indent",transform:y},spacing:{property:"--current-spacing",transform:y},gap:{property:"--current-gap",transform:y},columnGap:{property:"columnGap",transform:R},rowGap:{property:"rowGap",transform:R},shadow:{property:"boxShadow",transform:e=>K[e]??e}}),g=E("div",{shouldForwardProp:e=>typeof e=="string"?J(e)?!1:Y(e):!1})`
26
26
  --current-spacing: 0;
27
27
  --current-indent: 0;
28
28
  --current-gap: 0;
@@ -30,26 +30,26 @@
30
30
  display: flex;
31
31
  flex-direction: column;
32
32
  ${Q};
33
- ${l.background};
34
- ${l.border};
35
- ${l.borderRight};
36
- ${l.borderLeft};
37
- ${l.borderTop};
38
- ${l.borderBottom};
39
- ${l.borderColor};
40
- ${l.borderRadius};
41
- ${l.borderStyle};
42
- ${l.borderWidth};
43
- ${l.boxShadow};
44
- ${l.flexbox};
45
- ${l.overflow};
46
- ${l.position};
47
- ${l.layout};
48
- ${l.zIndex};
49
- ${l.left};
50
- ${l.right};
51
- ${l.top};
52
- ${l.bottom};
33
+ ${d.background};
34
+ ${d.border};
35
+ ${d.borderRight};
36
+ ${d.borderLeft};
37
+ ${d.borderTop};
38
+ ${d.borderBottom};
39
+ ${d.borderColor};
40
+ ${d.borderRadius};
41
+ ${d.borderStyle};
42
+ ${d.borderWidth};
43
+ ${d.boxShadow};
44
+ ${d.flexbox};
45
+ ${d.overflow};
46
+ ${d.position};
47
+ ${d.layout};
48
+ ${d.zIndex};
49
+ ${d.left};
50
+ ${d.right};
51
+ ${d.top};
52
+ ${d.bottom};
53
53
 
54
54
  gap: calc(var(--current-gap) * var(--swui-metrics-space));
55
55
 
@@ -70,10 +70,10 @@
70
70
  ${({focusWithinBackground:e})=>e?`background: ${e};`:""}
71
71
  ${({focusWithinBorder:e})=>e?`border: ${e};`:""}
72
72
  }
73
- `,ee=n.forwardRef(function(t,r){return c.jsx(g,{ref:r,...t})}),M=e=>{const{x:t,y:r,width:u,height:s,bottom:o,top:i,left:d,right:a}=e.getBoundingClientRect();return{width:u,height:s,top:i,left:d,x:t,y:r,right:a,bottom:o}},te=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height&&e.bottom===t.bottom&&e.top===t.top&&e.left===t.left&&e.right===t.right,O=(e,t)=>{const[r,u]=n.useState(),s=n.useCallback(()=>{window.requestAnimationFrame(()=>{if(e.current){const o=M(e.current);(!r||!te(r,o))&&t&&t(o),u(o)}})},[e,r,u,t]);return n.useLayoutEffect(()=>{s()},[s]),{dimensions:r}},re=n.forwardRef(function({onResize:t,...r},u){const s=n.useRef(null);return O(u??s,t),c.jsx(g,{...r,ref:u})}),ue=n.forwardRef(function(t,r){return c.jsx(g,{row:!0,ref:r,...t})}),ne=n.forwardRef(function({num:t=1,...r},u){return c.jsx(g,{indent:t,ref:u,...r})}),se=n.forwardRef(function({num:t=1,...r},u){return c.jsx(g,{spacing:t,ref:u,...r})}),oe=E.div`
73
+ `,ee=n.forwardRef(function(t,r){return c.jsx(g,{ref:r,...t})}),L=e=>{const{x:t,y:r,width:u,height:s,bottom:o,top:i,left:l,right:a}=e.getBoundingClientRect();return{width:u,height:s,top:i,left:l,x:t,y:r,right:a,bottom:o}},te=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height&&e.bottom===t.bottom&&e.top===t.top&&e.left===t.left&&e.right===t.right,O=(e,t)=>{const[r,u]=n.useState(),s=n.useCallback(()=>{window.requestAnimationFrame(()=>{if(e.current){const o=L(e.current);(!r||!te(r,o))&&t&&t(o),u(o)}})},[e,r,u,t]);return n.useLayoutEffect(()=>{s()},[s]),{dimensions:r}},re=n.forwardRef(function({onResize:t,...r},u){const s=n.useRef(null);return O(u??s,t),c.jsx(g,{...r,ref:u})}),ue=n.forwardRef(function(t,r){return c.jsx(g,{row:!0,ref:r,...t})}),ne=n.forwardRef(function({num:t=1,...r},u){return c.jsx(g,{indent:t,ref:u,...r})}),se=n.forwardRef(function({num:t=1,...r},u){return c.jsx(g,{spacing:t,ref:u,...r})}),oe=E.div`
74
74
  --current-size: 1;
75
75
  flex: none;
76
76
  width: calc(var(--current-size) * var(--swui-metrics-space));
77
77
  height: calc(var(--current-size) * var(--swui-metrics-space));
78
- `,ie=({half:e=!1,horizontal:t=!1,num:r=1,vertical:u=!1})=>{const s=r*(e?.5:1);return c.jsx(oe,{style:{"--current-size":s,height:t?1:void 0,width:u?1:void 0}})},ae=({children:e,nest:t,render:r})=>t?c.jsx(c.Fragment,{children:r(e)}):c.jsx(c.Fragment,{children:e}),C=n.createContext({isFontLarge:!1,fontSizeRatio:1}),_=12,ce=({children:e})=>{const t=n.useRef(null),[r,u]=n.useState(!1),[s,o]=n.useState(1);n.useEffect(()=>{if(!t.current)return;const d=new ResizeObserver(a=>{for(const f of a){const p=f.contentRect.height;u(p>_),o(p/_)}});return d.observe(t.current),()=>d.disconnect()},[]);const i=n.useMemo(()=>({isFontLarge:r,fontSizeRatio:s}),[s,r]);return c.jsxs(C.Provider,{value:i,children:[c.jsx("div",{ref:t,"aria-hidden":!0,style:{fontSize:"1rem",position:"absolute",visibility:"hidden",height:"auto",width:"auto",whiteSpace:"nowrap"},children:"M"}),e]})},le=()=>{const e=n.useContext(C);return e||{isFontLarge:!1,fontSizeRatio:1}},de="_visuallyHidden_1gevf_1",fe={visuallyHidden:de},A=e=>v.pickBy(e,me),pe=e=>v.pickBy(e,he),me=(e,t)=>t.startsWith("data-")||t.startsWith("aria-"),he=(e,t)=>t.startsWith("aria-"),ge=({children:e,...t})=>c.jsx("span",{className:fe.visuallyHidden,...A(t),children:e}),be="_text_1iisw_1",ye="_standard_1iisw_24",ve="_bold_1iisw_27",xe="_caption_1iisw_31",we="_overline_1iisw_39",ke="_large_1iisw_48",Se="_medium_1iisw_53",Ee="_small_1iisw_58",Ce="_smaller_1iisw_63",S={text:be,standard:ye,bold:ve,caption:xe,overline:we,large:ke,medium:Se,small:Ee,smaller:Ce},b=n.forwardRef(({children:e,variant:t="standard",size:r="medium",className:u,color:s,userSelect:o,whiteSpace:i,wordBreak:d,textAlign:a="left",overflow:f,textOverflow:p,style:m,...w},k)=>c.jsx("span",{className:L(S.text,S[t],S[r],u),ref:k,style:{color:s,userSelect:o,whiteSpace:i,wordBreak:d,textAlign:a,overflow:f,textOverflow:p,...m},...w,children:e})),Re=b,_e=e=>c.jsx(b,{size:"small",...e}),Te=e=>c.jsx(b,{size:"smaller",...e}),$e=e=>c.jsx(b,{size:"medium",...e}),Ie=e=>c.jsx(b,{size:"large",...e}),Fe="_heading_1cnsg_1",Le="_h1_1cnsg_10",Me="_h2_1cnsg_14",Oe="_h3_1cnsg_18",Ae="_h4_1cnsg_22",ze="_h5_1cnsg_26",Pe="_h6_1cnsg_30",T={heading:Fe,h1:Le,h2:Me,h3:Oe,h4:Ae,h5:ze,h6:Pe},z=n.forwardRef(({variant:e="h3",className:t,color:r,whiteSpace:u,wordBreak:s,style:o,children:i,as:d,...a},f)=>{const p=d??e;return c.jsx(p,{className:L(T.heading,T[e],t),style:{color:r,whiteSpace:u,wordBreak:s,...o},ref:f,...a,children:i})}),De=e=>c.jsx(z,{variant:"h2",...e}),je=({blockedKeys:e,...t})=>{const r=n.useCallback(s=>{(e==null||e.includes(s.key))&&(s.stopPropagation(),s.preventDefault())},[e]),u=n.useCallback(s=>{s.stopPropagation(),s.preventDefault()},[]);return c.jsx(g,{...t,onKeyDown:r,onKeyUp:r,onMouseDown:u,onMouseUp:u})},He=(e,t)=>e===t,Ne=(e,t,r=He)=>{const u=n.useCallback(a=>{e.some(f=>r(f,a))||t([...e,a])},[e,t,r]),s=n.useCallback(a=>{t(a.reduce((f,p)=>f.some(m=>r(m,p))?f:[...f,p],e))},[e,t,r]),o=n.useCallback(a=>{const f=e.findIndex(p=>r(p,a));f>=0&&t(e.filter((p,m)=>m!==f))},[e,t,r]),i=n.useCallback(a=>{t(e.filter(f=>!a.some(p=>r(p,f))))},[e,t,r]),d=n.useCallback(a=>{e.some(p=>r(p,a))?o(a):u(a)},[e,u,o,r]);return{add:u,addMultiple:s,remove:o,removeMultiple:i,toggle:d}},x=e=>{const[t,r]=n.useState(e),u=n.useCallback(()=>{r(!0)},[r]),s=n.useCallback(()=>{r(!1)},[r]),o=n.useCallback(()=>{r(i=>!i)},[r]);return[t,u,s,o]},Ue=(e,t)=>{const[r,u]=n.useState(e);return n.useEffect(()=>{const s=setTimeout(()=>{u(e)},t);return()=>{clearTimeout(s)}},[e,t]),r},qe=(e,t)=>{const[r,u]=n.useState(e);return n.useEffect(()=>{e&&u(!0);const s=setTimeout(()=>{e||u(e)},t);return()=>{clearTimeout(s)}},[e,t]),r};let Be=0;const $=e=>`webui-${e?e+"-":""}${++Be}`,Ve=e=>{const[t,r]=n.useState(()=>$(e));return n.useEffect(()=>r($(e)),[e]),t},h=(e,t,r)=>{const u=n.useRef(null);n.useEffect(()=>{u.current=r},[r]),n.useEffect(()=>{if(!(e.current&&e.current.addEventListener))return;const o=d=>{if(u.current)return u.current(d)};if(!e.current)return;const i=e.current;return i.addEventListener(t,o),()=>{i&&i.removeEventListener(t,o)}},[t,e])},We=e=>{const[t,r,u]=x(!1);n.useEffect(()=>{document.activeElement===e.current?r():u()},[e,u,r]),h(e,"focus",r),h(e,"blur",u);const s=n.useCallback(()=>{e.current&&e.current.focus()},[e]),o=n.useCallback(()=>{e.current&&e.current.blur()},[e]);return{isInFocus:t,focus:s,blur:o}},Xe=e=>{const t=n.useRef(e);return n.useLayoutEffect(()=>{t.current=e}),n.useCallback((...r)=>{const{current:u}=t;return u(...r)},[])},Ge=e=>{const t=n.useRef(e);return t.current=e,t},Ke=e=>{const[t,r,u]=x(!1);return h(e,"mouseover",r),h(e,"mouseout",u),t},Ye=e=>{const[t,r,u]=x(!1);return h(e,"mouseenter",r),h(e,"mouseleave",u),t},Ze=(e,t)=>{const r=n.useRef(()=>{});n.useEffect(()=>{r.current=t},[t]),n.useEffect(()=>{const u=s=>{e.filter(i=>i.current).every(i=>i.current&&!i.current.contains(s.target))&&r.current(s)};return document.addEventListener("mousedown",u),document.addEventListener("touchstart",u),()=>{document.removeEventListener("mousedown",u),document.removeEventListener("touchstart",u)}},[...e])},Je=(e,t,r)=>{const u=n.useRef(()=>{});n.useEffect(()=>{u.current=t},[t]),n.useEffect(()=>{const s=o=>{!e.current||e.current.contains(o.target)||u.current(o)};return document.addEventListener("mousedown",s,r),document.addEventListener("touchstart",s,r),()=>{document.removeEventListener("mousedown",s,r),document.removeEventListener("touchstart",s,r)}},[e,r])},I=["mousemove","mousedown","keydown","touchstart","scroll"],Qe=(e,t)=>{const r=n.useRef(()=>{});n.useEffect(()=>{r.current=e},[e]),n.useEffect(()=>{const u=v.debounce(r.current,t);return I.forEach(s=>window.addEventListener(s,u)),()=>{I.forEach(s=>window.removeEventListener(s,u))}},[t])},et=(e,t)=>{const[r,u]=n.useState(!1),{rootMargin:s,root:o,threshold:i}=t||{},d=n.useMemo(()=>new IntersectionObserver(([a])=>u(a.isIntersecting),{rootMargin:s,root:o,threshold:i}),[u,s,o,i]);return n.useEffect(()=>(e.current&&d.observe(e.current),()=>{d.disconnect()}),[d,e]),r},tt=e=>{const t=n.useRef(null);return n.useEffect(()=>{e&&(typeof e=="function"?e(t.current):e.current=t.current)}),t},rt=(e,t,r=!0)=>{const[u,s]=n.useState(e),o=n.useRef(null),i=n.useCallback((d,a=t)=>{s(d),r&&clearTimeout(o.current),o.current=setTimeout(()=>s(e),a)},[t,r,e]);return n.useEffect(()=>()=>{clearTimeout(o.current)},[]),[u,i]},ut=()=>n.useMemo(()=>new Date,[]),nt=e=>(t,r)=>e(t).localeCompare(e(r)),st=e=>(t,r)=>e(t)-e(r),ot=e=>{throw new Error(`Switch unhandled case: ${e}`)},it=(e,t)=>t,at=e=>Object.keys(e).filter(t=>e[t]),ct=e=>{try{const t=parseFloat(e);return isNaN(t)||t==null?void 0:t}catch{}},lt=e=>{try{const t=parseInt(e,10);return isNaN(t)||t==null?void 0:t}catch{}};function dt(e,t){if(e==null)throw new Error("Invariant error: "+t)}const ft=e=>{if(!n.isValidElement(e)||e.type!==n.Fragment)return!1;const r=e.props.children;return Array.isArray(r)?r.every(F):F(r)},F=e=>e==null||e===!1;exports.AccessibleFontSizeContext=C;exports.AccessibleFontSizeProvider=ce;exports.BlockKeyboardEvents=je;exports.Box=g;exports.Clickable=B;exports.Column=ee;exports.HeaderText=De;exports.Heading=z;exports.Indent=ne;exports.LargeText=Ie;exports.Nest=ae;exports.ResizeAwareBox=re;exports.Row=ue;exports.ScreenReaderOnlyText=ge;exports.SeparatorLine=U;exports.SmallText=_e;exports.SmallerText=Te;exports.Space=ie;exports.Spacing=se;exports.StandardText=$e;exports.Text=b;exports.Txt=Re;exports.booleanOrNumberToNumber=y;exports.byNumberField=st;exports.byStringField=nt;exports.exhaustSwitchCase=it;exports.exhaustSwitchCaseElseThrow=ot;exports.getAriaProps=pe;exports.getDataProps=A;exports.getDimensionObject=M;exports.invariant=dt;exports.isEmptyFragment=ft;exports.parseFloatElseUndefined=ct;exports.parseIntElseUndefined=lt;exports.truthyKeysAsList=at;exports.useAccessibleFontSizeContext=le;exports.useArraySet=Ne;exports.useBoolean=x;exports.useDebounce=Ue;exports.useDelayedFalse=qe;exports.useDomId=Ve;exports.useElementDimensions=O;exports.useElementFocus=We;exports.useEventCallback=Xe;exports.useEventListener=h;exports.useForwardedRef=tt;exports.useLatest=Ge;exports.useMouseIsEntered=Ye;exports.useMouseIsOver=Ke;exports.useMultiOnClickOutside=Ze;exports.useOnClickOutside=Je;exports.useOnNoMouseMovement=Qe;exports.useOnScreen=et;exports.useTimeoutState=rt;exports.useToday=ut;
78
+ `,ie=({half:e=!1,horizontal:t=!1,num:r=1,vertical:u=!1})=>{const s=r*(e?.5:1);return c.jsx(oe,{style:{"--current-size":s,height:t?1:void 0,width:u?1:void 0}})},ae=({children:e,nest:t,render:r})=>t?c.jsx(c.Fragment,{children:r(e)}):c.jsx(c.Fragment,{children:e}),C=n.createContext({isFontLarge:!1,fontSizeRatio:1}),_=12,ce=({children:e})=>{const t=n.useRef(null),[r,u]=n.useState(!1),[s,o]=n.useState(1);n.useEffect(()=>{if(!t.current)return;const l=new ResizeObserver(a=>{for(const f of a){const p=f.contentRect.height;u(p>_),o(p/_)}});return l.observe(t.current),()=>l.disconnect()},[]);const i=n.useMemo(()=>({isFontLarge:r,fontSizeRatio:s}),[s,r]);return c.jsxs(C.Provider,{value:i,children:[c.jsx("div",{ref:t,"aria-hidden":!0,style:{fontSize:"1rem",position:"absolute",visibility:"hidden",height:"auto",width:"auto",whiteSpace:"nowrap"},children:"M"}),e]})},le=()=>{const e=n.useContext(C);return e||{isFontLarge:!1,fontSizeRatio:1}},de="_visuallyHidden_1gevf_1",fe={visuallyHidden:de},M=e=>v.pickBy(e,me),pe=e=>v.pickBy(e,he),me=(e,t)=>t.startsWith("data-")||t.startsWith("aria-"),he=(e,t)=>t.startsWith("aria-"),ge=({children:e,...t})=>c.jsx("span",{className:fe.visuallyHidden,...M(t),children:e}),be="_text_1iisw_1",ye="_standard_1iisw_24",ve="_bold_1iisw_27",xe="_caption_1iisw_31",we="_overline_1iisw_39",ke="_large_1iisw_48",Se="_medium_1iisw_53",Ee="_small_1iisw_58",Ce="_smaller_1iisw_63",S={text:be,standard:ye,bold:ve,caption:xe,overline:we,large:ke,medium:Se,small:Ee,smaller:Ce},b=n.forwardRef(({children:e,variant:t="standard",size:r="medium",className:u,color:s,userSelect:o,whiteSpace:i,wordBreak:l,textAlign:a="left",overflow:f,textOverflow:p,style:m,...w},k)=>c.jsx("span",{className:F(S.text,S[t],S[r],u),ref:k,style:{color:s,userSelect:o,whiteSpace:i,wordBreak:l,textAlign:a,overflow:f,textOverflow:p,...m},...w,children:e})),Re=b,_e=e=>c.jsx(b,{size:"small",...e}),Te=e=>c.jsx(b,{size:"smaller",...e}),$e=e=>c.jsx(b,{size:"medium",...e}),Ae=e=>c.jsx(b,{size:"large",...e}),Ie="_heading_1cnsg_1",Fe="_h1_1cnsg_10",Le="_h2_1cnsg_14",Oe="_h3_1cnsg_18",Me="_h4_1cnsg_22",ze="_h5_1cnsg_26",Pe="_h6_1cnsg_30",T={heading:Ie,h1:Fe,h2:Le,h3:Oe,h4:Me,h5:ze,h6:Pe},z=n.forwardRef(({variant:e="h3",className:t,color:r,whiteSpace:u,wordBreak:s,style:o,children:i,as:l,...a},f)=>{const p=l??e;return c.jsx(p,{className:F(T.heading,T[e],t),style:{color:r,whiteSpace:u,wordBreak:s,...o},ref:f,...a,children:i})}),De=e=>c.jsx(z,{variant:"h2",...e}),je=({blockedKeys:e,blockMouse:t=!1,...r})=>{const u=n.useCallback(o=>{(e==null||(Array.isArray(e)?e.includes(o.key):e===o.key))&&o.stopPropagation()},[e]),s=n.useCallback(o=>{t&&o.stopPropagation()},[t]);return c.jsx(g,{...r,onKeyDown:u,onKeyUp:u,onMouseDown:s,onMouseUp:s})},He=(e,t)=>e===t,Ne=(e,t,r=He)=>{const u=n.useCallback(a=>{e.some(f=>r(f,a))||t([...e,a])},[e,t,r]),s=n.useCallback(a=>{t(a.reduce((f,p)=>f.some(m=>r(m,p))?f:[...f,p],e))},[e,t,r]),o=n.useCallback(a=>{const f=e.findIndex(p=>r(p,a));f>=0&&t(e.filter((p,m)=>m!==f))},[e,t,r]),i=n.useCallback(a=>{t(e.filter(f=>!a.some(p=>r(p,f))))},[e,t,r]),l=n.useCallback(a=>{e.some(p=>r(p,a))?o(a):u(a)},[e,u,o,r]);return{add:u,addMultiple:s,remove:o,removeMultiple:i,toggle:l}},x=e=>{const[t,r]=n.useState(e),u=n.useCallback(()=>{r(!0)},[r]),s=n.useCallback(()=>{r(!1)},[r]),o=n.useCallback(()=>{r(i=>!i)},[r]);return[t,u,s,o]},Ue=(e,t)=>{const[r,u]=n.useState(e);return n.useEffect(()=>{const s=setTimeout(()=>{u(e)},t);return()=>{clearTimeout(s)}},[e,t]),r},qe=(e,t)=>{const[r,u]=n.useState(e);return n.useEffect(()=>{e&&u(!0);const s=setTimeout(()=>{e||u(e)},t);return()=>{clearTimeout(s)}},[e,t]),r};let Be=0;const $=e=>`webui-${e?e+"-":""}${++Be}`,Ve=e=>{const[t,r]=n.useState(()=>$(e));return n.useEffect(()=>r($(e)),[e]),t},h=(e,t,r)=>{const u=n.useRef(null);n.useEffect(()=>{u.current=r},[r]),n.useEffect(()=>{if(!(e.current&&e.current.addEventListener))return;const o=l=>{if(u.current)return u.current(l)};if(!e.current)return;const i=e.current;return i.addEventListener(t,o),()=>{i&&i.removeEventListener(t,o)}},[t,e])},We=e=>{const[t,r,u]=x(!1);n.useEffect(()=>{document.activeElement===e.current?r():u()},[e,u,r]),h(e,"focus",r),h(e,"blur",u);const s=n.useCallback(()=>{e.current&&e.current.focus()},[e]),o=n.useCallback(()=>{e.current&&e.current.blur()},[e]);return{isInFocus:t,focus:s,blur:o}},Xe=e=>{const t=n.useRef(e);return n.useLayoutEffect(()=>{t.current=e}),n.useCallback((...r)=>{const{current:u}=t;return u(...r)},[])},Ge=e=>{const t=n.useRef(e);return t.current=e,t},Ye=e=>{const[t,r,u]=x(!1);return h(e,"mouseover",r),h(e,"mouseout",u),t},Ke=e=>{const[t,r,u]=x(!1);return h(e,"mouseenter",r),h(e,"mouseleave",u),t},Ze=(e,t)=>{const r=n.useRef(()=>{});n.useEffect(()=>{r.current=t},[t]),n.useEffect(()=>{const u=s=>{e.filter(i=>i.current).every(i=>i.current&&!i.current.contains(s.target))&&r.current(s)};return document.addEventListener("mousedown",u),document.addEventListener("touchstart",u),()=>{document.removeEventListener("mousedown",u),document.removeEventListener("touchstart",u)}},[...e])},Je=(e,t,r)=>{const u=n.useRef(()=>{});n.useEffect(()=>{u.current=t},[t]),n.useEffect(()=>{const s=o=>{!e.current||e.current.contains(o.target)||u.current(o)};return document.addEventListener("mousedown",s,r),document.addEventListener("touchstart",s,r),()=>{document.removeEventListener("mousedown",s,r),document.removeEventListener("touchstart",s,r)}},[e,r])},A=["mousemove","mousedown","keydown","touchstart","scroll"],Qe=(e,t)=>{const r=n.useRef(()=>{});n.useEffect(()=>{r.current=e},[e]),n.useEffect(()=>{const u=v.debounce(r.current,t);return A.forEach(s=>window.addEventListener(s,u)),()=>{A.forEach(s=>window.removeEventListener(s,u))}},[t])},et=(e,t)=>{const[r,u]=n.useState(!1),{rootMargin:s,root:o,threshold:i}=t||{},l=n.useMemo(()=>new IntersectionObserver(([a])=>u(a.isIntersecting),{rootMargin:s,root:o,threshold:i}),[u,s,o,i]);return n.useEffect(()=>(e.current&&l.observe(e.current),()=>{l.disconnect()}),[l,e]),r},tt=e=>{const t=n.useRef(null);return n.useEffect(()=>{e&&(typeof e=="function"?e(t.current):e.current=t.current)}),t},rt=(e,t,r=!0)=>{const[u,s]=n.useState(e),o=n.useRef(null),i=n.useCallback((l,a=t)=>{s(l),r&&clearTimeout(o.current),o.current=setTimeout(()=>s(e),a)},[t,r,e]);return n.useEffect(()=>()=>{clearTimeout(o.current)},[]),[u,i]},ut=()=>n.useMemo(()=>new Date,[]),nt=e=>(t,r)=>e(t).localeCompare(e(r)),st=e=>(t,r)=>e(t)-e(r),ot=e=>{throw new Error(`Switch unhandled case: ${e}`)},it=(e,t)=>t,at=e=>Object.keys(e).filter(t=>e[t]),ct=e=>{try{const t=parseFloat(e);return isNaN(t)||t==null?void 0:t}catch{}},lt=e=>{try{const t=parseInt(e,10);return isNaN(t)||t==null?void 0:t}catch{}};function dt(e,t){if(e==null)throw new Error("Invariant error: "+t)}const ft=e=>{if(!n.isValidElement(e)||e.type!==n.Fragment)return!1;const r=e.props.children;return Array.isArray(r)?r.every(I):I(r)},I=e=>e==null||e===!1;exports.AccessibleFontSizeContext=C;exports.AccessibleFontSizeProvider=ce;exports.BlockKeyboardEvents=je;exports.Box=g;exports.Clickable=B;exports.Column=ee;exports.HeaderText=De;exports.Heading=z;exports.Indent=ne;exports.LargeText=Ae;exports.Nest=ae;exports.ResizeAwareBox=re;exports.Row=ue;exports.ScreenReaderOnlyText=ge;exports.SeparatorLine=U;exports.SmallText=_e;exports.SmallerText=Te;exports.Space=ie;exports.Spacing=se;exports.StandardText=$e;exports.Text=b;exports.Txt=Re;exports.booleanOrNumberToNumber=y;exports.byNumberField=st;exports.byStringField=nt;exports.exhaustSwitchCase=it;exports.exhaustSwitchCaseElseThrow=ot;exports.getAriaProps=pe;exports.getDataProps=M;exports.getDimensionObject=L;exports.invariant=dt;exports.isEmptyFragment=ft;exports.parseFloatElseUndefined=ct;exports.parseIntElseUndefined=lt;exports.truthyKeysAsList=at;exports.useAccessibleFontSizeContext=le;exports.useArraySet=Ne;exports.useBoolean=x;exports.useDebounce=Ue;exports.useDelayedFalse=qe;exports.useDomId=Ve;exports.useElementDimensions=O;exports.useElementFocus=We;exports.useEventCallback=Xe;exports.useEventListener=h;exports.useForwardedRef=tt;exports.useLatest=Ge;exports.useMouseIsEntered=Ke;exports.useMouseIsOver=Ye;exports.useMultiOnClickOutside=Ze;exports.useOnClickOutside=Je;exports.useOnNoMouseMovement=Qe;exports.useOnScreen=et;exports.useTimeoutState=rt;exports.useToday=ut;
79
79
  //# sourceMappingURL=index.js.map