@vitus-labs/elements 0.44.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-elements.umd.js","sources":["../src/constants.ts","../src/helpers/Wrapper/constants.ts","../src/helpers/Wrapper/utils.ts","../src/helpers/Wrapper/styled.ts","../src/helpers/Wrapper/component.tsx","../src/helpers/Content/styled.ts","../src/helpers/Content/component.tsx","../src/Element/constants.ts","../src/Element/utils.ts","../src/Element/component.tsx","../src/Element/withEqualSizeBeforeAfter.tsx","../src/helpers/Iterator/component.tsx","../src/List/component.tsx","../src/List/withActiveState.tsx","../src/Portal/component.ts","../src/Overlay/context.tsx","../src/Overlay/useOverlay.tsx","../src/Overlay/component.tsx","../src/Text/styled.ts","../src/Text/component.tsx","../src/Util/component.tsx"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const PKG_NAME = '@vitus-labs/elements' as const\n","/* eslint-disable import/prefer-default-export */\n// https://stackoverflow.com/questions/35464067/flexbox-not-working-on-button-or-fieldset-elements\nexport const INLINE_ELEMENTS_FLEX_FIX = {\n button: true,\n fieldset: true,\n legend: true,\n}\n","/* eslint-disable import/prefer-default-export */\nimport { INLINE_ELEMENTS_FLEX_FIX } from './constants'\n\ntype IsWebFixNeeded = (tag: string) => boolean\nexport const isWebFixNeeded: IsWebFixNeeded = (tag) =>\n INLINE_ELEMENTS_FLEX_FIX[tag]\n","import { config } from '@vitus-labs/core'\nimport { alignContent, extendCss, makeItResponsive } from '@vitus-labs/unistyle'\n\nconst styles = ({ theme: t, css }) => css`\n ${__WEB__ &&\n t.alignY === 'block' &&\n css`\n height: 100%;\n `};\n\n ${alignContent({\n direction: t.direction,\n alignX: t.alignX,\n alignY: t.alignY,\n })};\n\n ${t.block &&\n css`\n align-self: stretch;\n `}\n\n ${__WEB__ &&\n css`\n ${({ $childFix }) =>\n !$childFix &&\n css`\n display: ${t.block ? 'flex' : 'inline-flex'};\n `};\n\n ${({ $parentFix }) =>\n $parentFix &&\n t.block &&\n css`\n flex-direction: column;\n width: 100%;\n `};\n `};\n\n ${t.extraStyles && extendCss(t.extraStyles)};\n`\n\nconst platformStyles = __WEB__ ? 'box-sizing: border-box;' : 'display: flex;'\n\nexport default config.styled(config.component)`\n position: relative;\n ${platformStyles};\n\n ${({ $childFix }) =>\n $childFix &&\n config.css`\n display: flex;\n flex: 1;\n width: 100%;\n height: 100%;\n `};\n\n ${makeItResponsive({\n key: '$element',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { forwardRef, ReactNode } from 'react'\nimport type { StyledComponentPropsWithRef } from 'styled-components'\nimport type {\n Direction,\n AlignX,\n AlignY,\n ResponsiveBooltype,\n ExtendCss,\n} from '~/types'\nimport { isWebFixNeeded } from './utils'\nimport Styled from './styled'\n\ntype Reference = unknown\n\ntype Props = {\n children: ReactNode\n tag: StyledComponentPropsWithRef<any>\n block: ResponsiveBooltype\n isInline: boolean\n direction: Direction\n alignX: AlignX\n alignY: AlignY\n equalCols: ResponsiveBooltype\n extendCss: ExtendCss\n dangerouslySetInnerHTML: any\n}\n\nconst component = forwardRef<Reference, Partial<Props>>(\n (\n {\n children,\n tag,\n block,\n extendCss,\n direction,\n alignX,\n alignY,\n equalCols,\n isInline,\n ...props\n },\n ref\n ) => {\n const debugProps =\n process.env.NODE_ENV !== 'production'\n ? {\n 'data-vl-element': 'Element',\n }\n : {}\n\n const COMMON_PROPS = {\n ...props,\n ...debugProps,\n ref,\n as: tag,\n }\n\n const needsFix = __WEB__\n ? !props.dangerouslySetInnerHTML && tag && isWebFixNeeded(tag)\n : false\n\n // eslint-disable-next-line no-nested-ternary\n const asTag = __WEB__ ? (isInline ? 'span' : 'div') : undefined\n\n if (!needsFix || __NATIVE__) {\n return (\n <Styled\n {...COMMON_PROPS}\n $element={{\n block,\n direction,\n alignX,\n alignY,\n equalCols,\n extraStyles: extendCss,\n }}\n >\n {children}\n </Styled>\n )\n }\n\n return (\n <Styled\n {...COMMON_PROPS}\n $parentFix\n $element={{\n block,\n extraStyles: extendCss,\n }}\n >\n <Styled\n as={asTag}\n $childFix\n $element={{\n direction,\n alignX,\n alignY,\n equalCols,\n }}\n >\n {children}\n </Styled>\n </Styled>\n )\n }\n)\n\nexport default component\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n alignContent,\n extendCss,\n value,\n} from '@vitus-labs/unistyle'\n\n// --------------------------------------------------------\n// calculate spacing between before / content / after\n// --------------------------------------------------------\nconst calculateGap = ({ direction, type, value, css }) => {\n if (!direction || !type) return undefined\n\n const data = {\n inline: {\n before: 'margin-right',\n after: 'margin-left',\n },\n rows: {\n before: 'margin-bottom',\n after: 'margin-top',\n },\n }\n\n const finalStyles = `${data[direction][type]}: ${value};`\n\n return css`\n ${finalStyles};\n `\n}\n\n// --------------------------------------------------------\n// calculations of styles to be rendered\n// --------------------------------------------------------\nconst styles = ({ css, theme: t, rootSize }) => css`\n ${alignContent({\n direction: t.direction,\n alignX: t.alignX,\n alignY: t.alignY,\n })};\n\n ${t.equalCols &&\n css`\n flex: 1;\n `};\n\n ${t.gap &&\n css`\n ${({ $contentType }) =>\n calculateGap({\n direction: t.parentDirection,\n type: $contentType,\n value: value(t.gap, rootSize),\n css,\n })}\n `};\n\n ${t.extraStyles && extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n align-self: stretch;\n flex-wrap: wrap;\n\n ${({ $contentType }) =>\n $contentType === 'content' &&\n config.css`\n flex: 1;\n `};\n\n ${makeItResponsive({\n key: '$element',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { memo, VFC, ReactNode } from 'react'\nimport type { StyledComponentPropsWithRef } from 'styled-components'\nimport type {\n Direction,\n AlignX,\n AlignY,\n ResponsiveBooltype,\n Responsive,\n ExtendCss,\n} from '~/types'\nimport Styled from './styled'\n\ntype Props = {\n parentDirection: Direction\n gap: Responsive\n contentType: 'before' | 'content' | 'after'\n children: ReactNode\n tag: StyledComponentPropsWithRef<any>\n direction: Direction\n alignX: AlignX\n alignY: AlignY\n equalCols: ResponsiveBooltype\n extendCss: ExtendCss\n}\n\nconst component: VFC<Partial<Props>> = ({\n contentType,\n tag,\n parentDirection,\n direction,\n alignX,\n alignY,\n equalCols,\n gap,\n extendCss,\n ...props\n}) => {\n const debugProps =\n process.env.NODE_ENV !== 'production'\n ? {\n 'data-vl-element': contentType,\n }\n : {}\n\n return (\n <Styled\n as={tag}\n $contentType={contentType}\n $element={{\n parentDirection,\n direction,\n alignX,\n alignY,\n equalCols,\n gap,\n extraStyles: extendCss,\n }}\n {...debugProps}\n {...props}\n />\n )\n}\n\nexport default memo(component)\n","export const RESERVED_PROPS = [\n 'innerRef',\n 'tag',\n 'block',\n 'label',\n 'children',\n 'beforeContent',\n 'afterContent',\n\n 'equalCols',\n 'vertical',\n 'direction',\n 'alignX',\n 'alignY',\n\n 'css',\n 'contentCss',\n 'beforeContentCss',\n 'afterContentCss',\n\n 'contentDirection',\n 'contentAlignX',\n 'contentAlignY',\n\n 'beforeContentDirection',\n 'beforeContentAlignX',\n 'beforeContentAlignY',\n\n 'afterContentDirection',\n 'afterContentAlignX',\n 'afterContentAlignY',\n] as const\n\nexport const INLINE_ELEMENTS = {\n span: true,\n a: true,\n button: true,\n input: true,\n label: true,\n select: true,\n textarea: true,\n br: true,\n img: true,\n strong: true,\n small: true,\n code: true,\n b: true,\n big: true,\n i: true,\n tt: true,\n abbr: true,\n acronym: true,\n cite: true,\n dfn: true,\n em: true,\n kbd: true,\n samp: true,\n var: true,\n bdo: true,\n map: true,\n object: true,\n q: true,\n script: true,\n sub: true,\n sup: true,\n}\n\nexport const EMPTY_ELEMENTS = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n // 'meta': true,\n // 'param': true,\n source: true,\n track: true,\n wbr: true,\n}\n","import { INLINE_ELEMENTS, EMPTY_ELEMENTS } from './constants'\n\n// type Value<T = unknown> = T extends true ? 'rows' : 'inline'\n\n// type TransformVerticalProp = <\n// T extends boolean | Record<string, boolean> | Array<boolean>\n// >(\n// vertical: T\n// ) => T extends boolean\n// ? Value<T>\n// : T extends Record<string, boolean>\n// ? Record<keyof T, Value<T[keyof T]>>\n// : T extends Array<boolean>\n// ? Array<Value<T[number]>>\n// : T\n\n// export const transformVerticalProp: TransformVerticalProp = (vertical) => {\n// // eslint-disable-next-line @typescript-eslint/no-explicit-any\n// if (vertical == null) return undefined as any\n\n// const verticalType = typeof vertical\n\n// // vertical is a boolean value\n// if (verticalType === 'boolean') {\n// return vertical ? 'rows' : 'inline'\n// }\n\n// if (Array.isArray(vertical)) {\n// return (vertical as Array<boolean>).map((item) =>\n// item ? 'rows' : 'inline'\n// )\n// }\n\n// if (verticalType === 'object') {\n// return Object.keys(vertical).reduce((accumulator, item) => {\n// // eslint-disable-next-line no-param-reassign\n// accumulator[item] = vertical[item] ? 'rows' : 'inline'\n// return accumulator\n// }, {} as Record<string, 'rows' | 'inline'>)\n// }\n\n// return undefined\n// }\n\ntype GetValue = (tag?: string) => boolean\n\nexport const isInlineElement: GetValue = (tag) =>\n tag ? INLINE_ELEMENTS[tag] : false\n\nexport const getShouldBeEmpty: GetValue = (tag) =>\n tag ? EMPTY_ELEMENTS[tag] : false\n","import React, { forwardRef, useMemo } from 'react'\nimport { renderContent } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport { Wrapper, Content } from '~/helpers'\nimport { isInlineElement, getShouldBeEmpty } from './utils'\nimport type { VLElement } from './types'\n\nconst defaultDirection = 'inline'\nconst defaultContentDirection = 'rows'\nconst defaultAlignX = 'left'\nconst defaultAlignY = 'center'\n\nconst component: VLElement = forwardRef(\n (\n {\n innerRef,\n tag,\n label,\n content,\n children,\n beforeContent,\n afterContent,\n\n block,\n equalCols,\n gap,\n\n direction,\n alignX = defaultAlignX,\n alignY = defaultAlignY,\n\n css,\n contentCss,\n beforeContentCss,\n afterContentCss,\n\n contentDirection = defaultContentDirection,\n contentAlignX = defaultAlignX,\n contentAlignY = defaultAlignY,\n\n beforeContentDirection = defaultDirection,\n beforeContentAlignX = defaultAlignX,\n beforeContentAlignY = defaultAlignY,\n\n afterContentDirection = defaultDirection,\n afterContentAlignX = defaultAlignX,\n afterContentAlignY = defaultAlignY,\n\n ...props\n },\n ref\n ) => {\n // --------------------------------------------------------\n // check if should render only single element\n // --------------------------------------------------------\n const shouldBeEmpty =\n !!props.dangerouslySetInnerHTML ||\n (__WEB__ && tag && getShouldBeEmpty(tag))\n\n // --------------------------------------------------------\n // if not single element, calculate values\n // --------------------------------------------------------\n const isSimpleElement = !beforeContent && !afterContent\n const CHILDREN = children || content || label\n\n const isInline = __WEB__ ? isInlineElement(tag) : false\n const SUB_TAG = __WEB__ && isInline ? 'span' : undefined\n\n // --------------------------------------------------------\n // direction & alignX & alignY calculations\n // --------------------------------------------------------\n const { wrapperDirection, wrapperAlignX, wrapperAlignY } = useMemo(() => {\n let wrapperDirection: typeof direction = direction\n let wrapperAlignX: typeof alignX = alignX\n let wrapperAlignY: typeof alignY = alignY\n\n if (isSimpleElement) {\n if (contentDirection) wrapperDirection = contentDirection\n if (contentAlignX) wrapperAlignX = contentAlignX\n if (contentAlignY) wrapperAlignY = contentAlignY\n } else if (direction) {\n wrapperDirection = direction\n } else {\n wrapperDirection = defaultDirection\n }\n\n return { wrapperDirection, wrapperAlignX, wrapperAlignY }\n }, [\n isSimpleElement,\n contentDirection,\n contentAlignX,\n contentAlignY,\n alignX,\n alignY,\n direction,\n ])\n\n // --------------------------------------------------------\n // common wrapper props\n // --------------------------------------------------------\n const WRAPPER_PROPS = {\n ref: ref || innerRef,\n extendCss: css,\n tag,\n block,\n direction: wrapperDirection,\n alignX: wrapperAlignX,\n alignY: wrapperAlignY,\n as: undefined, // reset styled-components `as` prop\n }\n\n // --------------------------------------------------------\n // return simple/empty element like input or image etc.\n // --------------------------------------------------------\n if (shouldBeEmpty) {\n return <Wrapper {...props} {...WRAPPER_PROPS} />\n }\n\n const contentRenderOutput = renderContent(CHILDREN)\n\n return (\n <Wrapper {...props} {...WRAPPER_PROPS} isInline={isInline}>\n {beforeContent && (\n <Content\n tag={SUB_TAG}\n contentType=\"before\"\n parentDirection={wrapperDirection}\n extendCss={beforeContentCss}\n direction={beforeContentDirection}\n alignX={beforeContentAlignX}\n alignY={beforeContentAlignY}\n equalCols={equalCols}\n gap={gap}\n >\n {renderContent(beforeContent)}\n </Content>\n )}\n\n {isSimpleElement ? (\n contentRenderOutput\n ) : (\n <Content\n tag={SUB_TAG}\n contentType=\"content\"\n parentDirection={wrapperDirection}\n extendCss={contentCss}\n direction={contentDirection}\n alignX={contentAlignX}\n alignY={contentAlignY}\n equalCols={equalCols}\n >\n {contentRenderOutput}\n </Content>\n )}\n\n {afterContent && (\n <Content\n tag={SUB_TAG}\n contentType=\"after\"\n parentDirection={wrapperDirection}\n extendCss={afterContentCss}\n direction={afterContentDirection}\n alignX={afterContentAlignX}\n alignY={afterContentAlignY}\n equalCols={equalCols}\n gap={gap}\n >\n {renderContent(afterContent)}\n </Content>\n )}\n </Wrapper>\n )\n }\n)\n\nconst name = `${PKG_NAME}/Element` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","/* eslint-disable no-param-reassign */\nimport React, { createRef } from 'react'\nimport { get } from '@vitus-labs/core'\nimport type { SimpleHoc } from '~/types'\n\nconst isNumber = (a: unknown, b: unknown) =>\n Number.isInteger(a) && Number.isInteger(b)\n\nconst types = {\n height: 'offsetHeight',\n width: 'offsetWidth',\n}\n\ntype Calculate = ({\n beforeContent,\n afterContent,\n}: {\n beforeContent: HTMLElement\n afterContent: HTMLElement\n}) => (type: 'height' | 'width') => void\n\nconst calculate: Calculate =\n ({ beforeContent, afterContent }) =>\n (type: keyof typeof types) => {\n const beforeContentSize = get(beforeContent, types[type])\n const afterContentSize = get(afterContent, types[type])\n\n if (isNumber(beforeContentSize, afterContentSize)) {\n if (beforeContentSize > afterContentSize) {\n beforeContent.style[type] = `${beforeContentSize}px`\n afterContent.style[type] = `${beforeContentSize}px`\n } else {\n beforeContent.style[type] = `${afterContentSize}px`\n afterContent.style[type] = `${afterContentSize}px`\n }\n }\n }\n\ntype Props = Partial<{\n equalBeforeAfter: boolean\n vertical?: boolean\n afterContent?: React.ReactNode\n beforeContent?: React.ReactNode\n}>\n\nconst withEqualBeforeAfter: SimpleHoc<Props> = (WrappedComponent) => {\n const displayName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n const Enhanced = (props) => {\n const { equalBeforeAfter, vertical, afterContent, beforeContent, ...rest } =\n props\n const elementRef = createRef<HTMLElement>()\n\n const calculateSize = () => {\n const beforeContent = get(elementRef, 'current.children[0]')\n const afterContent = get(elementRef, 'current.children[2]')\n const updateElement = calculate({ beforeContent, afterContent })\n\n if (vertical) updateElement('height')\n else updateElement('width')\n }\n\n if (equalBeforeAfter) calculateSize()\n\n return (\n <WrappedComponent\n {...rest}\n afterContent={afterContent}\n beforeContent={beforeContent}\n ref={elementRef}\n />\n )\n }\n\n Enhanced.displayName = `withEqualSizeBeforeAfter(${displayName})`\n\n return Enhanced\n}\n\nexport default withEqualBeforeAfter\n","import React, {\n Children,\n FC,\n ReactNodeArray,\n useCallback,\n useMemo,\n} from 'react'\nimport { isFragment } from 'react-is'\nimport { renderContent, isEmpty } from '@vitus-labs/core'\nimport type { Props, DataArrayObject, ExtendedProps } from './types'\n\nconst RESERVED_PROPS = [\n 'children',\n 'component',\n 'wrapComponent',\n 'data',\n 'itemKey',\n 'valueName',\n 'itemProps',\n 'wrapProps',\n] as const\n\ntype AttachItemProps = ({\n i,\n length,\n}: {\n i: number\n length: number\n}) => ExtendedProps\n\nconst attachItemProps: AttachItemProps = ({\n i,\n length,\n}: {\n i: number\n length: number\n}) => {\n const position = i + 1\n\n return {\n index: i,\n first: position === 1,\n last: position === length,\n odd: position % 2 === 1,\n even: position % 2 === 0,\n position,\n }\n}\n\ntype Static = {\n isIterator: true\n RESERVED_PROPS: typeof RESERVED_PROPS\n}\n\nconst component: FC<Props> & Static = (props: Props) => {\n const {\n itemKey,\n valueName,\n children,\n component,\n data,\n wrapComponent: Wrapper,\n wrapProps,\n itemProps,\n } = props\n\n const renderedElement = renderContent\n\n const injectItemProps = useMemo(\n () => (typeof itemProps === 'function' ? itemProps : () => itemProps),\n [itemProps]\n )\n\n const injectWrapItemProps = useMemo(\n () => (typeof wrapProps === 'function' ? wrapProps : () => wrapProps),\n [wrapProps]\n )\n\n const getKey = useCallback((item: string | number, index) => {\n if (typeof itemKey === 'function') return itemKey(item, index)\n\n return index\n }, [])\n\n const renderChild = (child, total = 1, i = 0) => {\n const extendedProps = attachItemProps({\n i,\n length: total,\n })\n\n const finalItemProps = itemProps ? injectItemProps({}, extendedProps) : {}\n const finalWrapProps = wrapProps\n ? injectWrapItemProps({}, extendedProps)\n : {}\n\n // if no props extension is required, just return children\n if (!itemProps && !Wrapper) return child\n\n if (Wrapper) {\n return (\n <Wrapper key={i} {...finalWrapProps}>\n {renderedElement(child, finalItemProps)}\n </Wrapper>\n )\n }\n\n return renderContent(child, {\n key: i,\n ...finalItemProps,\n })\n }\n\n // --------------------------------------------------------\n // render children\n // --------------------------------------------------------\n const renderChildren = () => {\n if (!children) return null\n\n // if children is Array\n if (Array.isArray(children)) {\n return Children.map(children, (item, i) =>\n renderChild(item, children.length, i)\n )\n }\n\n // if children is Fragment\n if (isFragment(children)) {\n const fragmentChildren = children.props.children as ReactNodeArray\n\n return fragmentChildren.map((item, i) => {\n console.log(item)\n return renderChild(item, fragmentChildren.length, i)\n })\n }\n\n // if single child\n return renderChild(children)\n }\n\n // --------------------------------------------------------\n // render array of strings or numbers\n // --------------------------------------------------------\n const renderSimpleArray = (data) => {\n const { length } = data\n\n // if the data array is empty\n if (data.length === 0) return null\n\n return data.map((item, i) => {\n const key = getKey(item, i)\n const keyName = valueName || 'children'\n const extendedProps = attachItemProps({\n i,\n length,\n })\n\n const finalItemProps = {\n ...(itemProps\n ? injectItemProps({ [keyName]: item }, extendedProps)\n : {}),\n [keyName]: item,\n }\n\n const finalWrapProps = wrapProps\n ? injectWrapItemProps({ [keyName]: item }, extendedProps)\n : {}\n\n if (Wrapper) {\n return (\n <Wrapper key={key} {...finalWrapProps}>\n {renderedElement(component, finalItemProps)}\n </Wrapper>\n )\n }\n\n return renderedElement(component, { key, ...finalItemProps })\n })\n }\n\n // --------------------------------------------------------\n // render array of objects\n // --------------------------------------------------------\n const renderComplexArray = (data) => {\n const renderData = data.filter((item) => !isEmpty(item)) // remove empty objects\n const { length } = renderData\n\n // if it's empty\n if (renderData.length === 0) return null\n\n const getKey = (item: DataArrayObject, index) => {\n if (!itemKey) return item.key || item.id || item.itemId || index\n if (typeof itemKey === 'function') return itemKey(item, index)\n if (typeof itemKey === 'string') return item[itemKey]\n\n return index\n }\n\n return renderData.map((item, i) => {\n const { component: itemComponent, ...restItem } = item as DataArrayObject\n const renderItem = itemComponent || component\n const key = getKey(restItem, i)\n const extendedProps = attachItemProps({\n i,\n length,\n })\n\n const finalItemProps = {\n ...(itemProps ? injectItemProps(item, extendedProps) : {}),\n ...restItem,\n }\n\n const finalWrapProps = wrapProps\n ? injectWrapItemProps(item, extendedProps)\n : {}\n\n if (Wrapper && !itemComponent) {\n return (\n <Wrapper key={key} {...finalWrapProps}>\n {renderedElement(renderItem, finalItemProps)}\n </Wrapper>\n )\n }\n\n return renderedElement(renderItem, { key, ...finalItemProps })\n })\n }\n\n // --------------------------------------------------------\n // render list items\n // --------------------------------------------------------\n const renderItems = () => {\n // --------------------------------------------------------\n // children have priority over props component + data\n // --------------------------------------------------------\n if (children) return renderChildren()\n\n // --------------------------------------------------------\n // render props component + data\n // --------------------------------------------------------\n if (component && Array.isArray(data)) {\n const clearData = data.filter(\n (item) => item !== null && item !== undefined\n )\n\n const isSimpleArray = clearData.every(\n (item) => typeof item === 'string' || typeof item === 'number'\n )\n\n if (isSimpleArray) return renderSimpleArray(clearData)\n\n const isComplexArray = clearData.every((item) => typeof item === 'object')\n\n if (isComplexArray) return renderComplexArray(clearData)\n\n return null\n }\n\n // --------------------------------------------------------\n // if there are no children or valid react component and data as an array,\n // return null to prevent error\n // --------------------------------------------------------\n return null\n }\n\n return renderItems()\n}\n\ncomponent.isIterator = true\ncomponent.RESERVED_PROPS = RESERVED_PROPS\n\nexport default component\n","import React, { forwardRef } from 'react'\nimport { pick, omit } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport Element, { VLElement } from '~/Element'\nimport Iterator, { Props as IteratorProps } from '~/helpers/Iterator'\nimport type { MergeTypes } from '~/types'\n\nexport type Props = MergeTypes<\n [\n IteratorProps,\n {\n rootElement?: boolean\n label: never\n content: never\n }\n ]\n>\n\nconst component: VLElement<Props> = forwardRef(\n ({ rootElement = false, ...props }, ref) => {\n const renderedList = <Iterator {...pick(props, Iterator.RESERVED_PROPS)} />\n\n if (!rootElement) return renderedList\n\n return (\n <Element ref={ref} {...omit(props, Iterator.RESERVED_PROPS)}>\n {renderedList}\n </Element>\n )\n }\n)\n\nconst name = `${PKG_NAME}/List` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","import React, { useState, useEffect } from 'react'\nimport type { SimpleHoc } from '~/types'\n\nconst RESERVED_KEYS = [\n 'type',\n 'activeItems',\n 'itemProps',\n 'activeItemRequired',\n] as const\n\ntype Key = string | number\ntype MultipleMap = Map<Key, boolean>\n\ntype ItemPropsData = {\n key: Key\n first: boolean\n last: boolean\n odd: boolean\n even: boolean\n position: number\n}\n\ntype Props = {\n type?: 'single' | 'multi'\n activeItemRequired?: boolean\n activeItems?: Key | Array<string | number>\n itemProps?:\n | Record<string, unknown>\n | ((props: Record<string, unknown>) => Record<string, unknown>)\n}\n\nconst component: SimpleHoc<Props> = (WrappedComponent) => {\n const displayName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n const Enhanced = (props) => {\n const {\n type = 'single',\n activeItemRequired,\n activeItems,\n itemProps = {},\n ...rest\n } = props\n\n type InitActiveItems = () => Key | MultipleMap | undefined\n const initActiveItems: InitActiveItems = () => {\n if (type === 'single') {\n if (Array.isArray(activeItems)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Iterator is type of single. activeItems cannot be an array.'\n )\n } else {\n return activeItems\n }\n } else if (type === 'multi') {\n const activeItemsHelper = Array.isArray(activeItems)\n ? activeItems\n : [activeItems]\n\n return new Map(activeItemsHelper.map((id) => [id, true]))\n }\n\n return undefined\n }\n\n const [innerActiveItems, setActiveItems] = useState(initActiveItems())\n\n const countActiveItems = (data) => {\n let result = 0\n\n data.forEach((value) => {\n if (value) result += 1\n })\n\n return result\n }\n\n const updateItemState = (key: Key) => {\n if (type === 'single') {\n setActiveItems((prevState) => {\n if (activeItemRequired) return key\n if (prevState === key) return undefined\n\n return key\n })\n } else if (type === 'multi') {\n setActiveItems((prevState: MultipleMap) => {\n // TODO: add conditional type to fix this\n const activeItems = new Map(prevState)\n\n if (\n activeItemRequired &&\n activeItems.get(key) &&\n countActiveItems(activeItems) === 1\n ) {\n return activeItems\n }\n\n activeItems.set(key, !activeItems.get(key))\n return activeItems\n })\n } else {\n setActiveItems(undefined)\n }\n }\n\n const handleItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n const updateAllItemsState = (status) => {\n if (!status) {\n setActiveItems(new Map())\n }\n }\n\n const setItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n const unsetItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n const toggleItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n // const setAllItemsActive = () => {\n // updateAllItemsState(true)\n // }\n\n const unsetAllItemsActive = () => {\n updateAllItemsState(false)\n }\n\n const isItemActive = (key: Key): boolean => {\n if (!innerActiveItems) return false\n if (type === 'single') return innerActiveItems === key\n if (type === 'multi' && innerActiveItems instanceof Map) {\n return !!innerActiveItems.get(key)\n }\n return false\n }\n\n const attachMultipleProps = {\n unsetAllItemsActive,\n }\n\n const attachItemProps = (props: ItemPropsData) => {\n const { key } = props\n\n const defaultItemProps =\n typeof itemProps === 'object' ? itemProps : itemProps(props)\n\n const result = {\n ...defaultItemProps,\n active: isItemActive(key),\n handleItemActive: () => handleItemActive(key),\n setItemActive,\n unsetItemActive,\n toggleItemActive,\n ...(type === 'multi' ? attachMultipleProps : {}),\n }\n\n return result\n }\n\n useEffect(() => {\n if (type === 'single' && Array.isArray(activeItems)) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(\n 'When type=`single` activeItems must be a single value, not an array'\n )\n }\n }\n }, [type, activeItems])\n\n return <WrappedComponent {...rest} itemProps={attachItemProps} />\n }\n Enhanced.RESERVED_KEYS = RESERVED_KEYS\n Enhanced.displayName = `@vitus-labs/elements/List/withActiveState(${displayName})`\n\n return Enhanced\n}\n\nexport default component\n","import { useState, useEffect, ReactNode } from 'react'\nimport { createPortal } from 'react-dom'\nimport { PKG_NAME } from '~/constants'\nimport type { VLComponent } from '~/types'\n\nexport type Props = {\n position?: HTMLElement\n children: ReactNode\n tag?: string\n}\n\nconst component: VLComponent<Props> = ({\n position = __BROWSER__ ? document.body : undefined,\n tag = 'div',\n children,\n}: Props) => {\n const [element] = useState(\n __BROWSER__ ? document.createElement(tag) : undefined\n )\n\n if (!position || !element) return null\n\n useEffect(() => {\n if (__SERVER__) return undefined\n position.appendChild(element)\n\n return () => {\n position.removeChild(element)\n }\n }, [])\n\n return createPortal(children, element)\n}\n\nconst name = `${PKG_NAME}/Portal` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","import React, { FC, createContext, useContext } from 'react'\n\ntype Context = {\n blocked: boolean\n setBlocked: () => void\n setUnblocked: () => void\n}\n\nconst context = createContext<Context>({} as Context)\n\nconst { Provider } = context\n\nexport const useOverlayContext = () => useContext(context)\n\nconst component: FC<Context> = ({\n children,\n blocked,\n setBlocked,\n setUnblocked,\n}) => (\n <Provider value={{ blocked, setBlocked, setUnblocked }}>{children}</Provider>\n)\n\nexport default component\n","/* eslint-disable no-console */\nimport { useRef, useState, useEffect, useContext, useCallback } from 'react'\nimport { throttle, context } from '@vitus-labs/core'\nimport { value } from '@vitus-labs/unistyle'\nimport { useOverlayContext } from './context'\n\ntype OverlayPosition = {\n position: 'absolute' | 'fixed' | 'static' | 'relative'\n top?: number | string\n bottom?: number | string\n left?: number | string\n right?: number | string\n}\n\ntype Align = 'bottom' | 'top' | 'left' | 'bottom' | 'right'\ntype AlignX = 'left' | 'center' | 'right'\ntype AlignY = 'bottom' | 'top' | 'center'\n\nexport type UseOverlayProps = {\n isOpen?: boolean\n openOn?: 'click' | 'hover' | 'manual'\n closeOn?:\n | 'click'\n | 'clickOnTrigger'\n | 'clickOutsideContent'\n | 'hover'\n | 'manual'\n type?: 'dropdown' | 'tooltip' | 'popover' | 'modal'\n position?: 'absolute' | 'fixed' | 'relative' | 'static'\n align?: Align\n alignX?: AlignX\n alignY?: AlignY\n offsetX?: number\n offsetY?: number\n throttleDelay?: number\n customScrollListener?: HTMLElement | null\n closeOnEsc?: boolean\n disabled?: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nexport default ({\n isOpen = false,\n openOn = 'click', // click | hover\n closeOn = 'click', // click | 'clickOnTrigger' | 'clickOutsideContent' | hover | manual\n type = 'dropdown', // dropdown | tooltip | popover | modal\n position = 'fixed', // absolute | fixed | relative | static\n align = 'bottom', // * main align prop * top | left | bottom | right\n alignX = 'left', // left | center | right\n alignY = 'bottom', // top | center | bottom\n offsetX = 0,\n offsetY = 0,\n throttleDelay = 200,\n customScrollListener,\n closeOnEsc = true,\n disabled,\n onOpen,\n onClose,\n}: UseOverlayProps) => {\n const { rootSize } = useContext(context) as { rootSize: number }\n const ctx = useOverlayContext()\n\n const [blocked, handleBlocked] = useState(false)\n const [active, handleActive] = useState(isOpen)\n\n const triggerRef = useRef<HTMLElement>()\n const contentRef = useRef<HTMLElement>()\n\n const setBlocked = useCallback(() => handleBlocked(true), [])\n const setUnblocked = useCallback(() => handleBlocked(false), [])\n\n const showContent = useCallback(() => {\n handleActive(true)\n }, [])\n\n const hideContent = useCallback(() => {\n handleActive(false)\n }, [])\n\n useEffect(() => {\n if (disabled) {\n hideContent()\n }\n }, [disabled])\n\n // calculate position on every position change state\n useEffect(() => {\n if (active) {\n // hack-ish way to correctly calculate position for the first time\n // without calling it twice the posittion is somehow wrong\n calculateContentPosition()\n calculateContentPosition()\n }\n }, [active, align, alignX, alignX])\n\n // if an Overlay has an Overlay child, this will prevent closing parent child\n // + calculate correct position when an Overlay is opened\n useEffect(() => {\n if (active) {\n if (onOpen) onOpen()\n if (ctx?.setBlocked) ctx.setBlocked()\n } else {\n if (onClose) onClose()\n if (ctx?.setUnblocked) ctx.setUnblocked()\n }\n }, [active, onOpen, onClose])\n\n // handles calculating correct position of content\n // on document events (or custom scroll if set)\n useEffect(() => {\n if (!active) return undefined\n\n window.addEventListener('resize', handleContentPosition, false)\n window.addEventListener('scroll', handleContentPosition, false)\n\n if (customScrollListener) {\n customScrollListener.addEventListener(\n 'scroll',\n handleContentPosition,\n false\n )\n }\n\n return () => {\n window.removeEventListener('resize', handleContentPosition, false)\n window.removeEventListener('scroll', handleContentPosition, false)\n\n if (customScrollListener) {\n customScrollListener.removeEventListener(\n 'scroll',\n handleContentPosition,\n false\n )\n }\n }\n }, [active, customScrollListener])\n\n // make sure scrolling is blocked in case of modal windows or when\n // customScroll is set\n useEffect(() => {\n const shouldSetOverflow = __BROWSER__ && type === 'modal' && document.body\n\n if (active) {\n if (customScrollListener && closeOn !== 'hover') {\n // eslint-disable-next-line no-param-reassign\n customScrollListener.style.overflow = 'hidden'\n }\n\n if (shouldSetOverflow) {\n document.body.style.overflow = 'hidden'\n }\n } else {\n if (customScrollListener) {\n // eslint-disable-next-line no-param-reassign\n customScrollListener.style.overflow = ''\n }\n\n if (shouldSetOverflow) {\n document.body.style.overflow = ''\n }\n }\n\n return () => {\n if (customScrollListener) {\n // eslint-disable-next-line no-param-reassign\n customScrollListener.style.overflow = ''\n }\n\n if (shouldSetOverflow) {\n document.body.style.overflow = ''\n }\n }\n }, [active, type, customScrollListener, closeOn])\n\n // only when content is active handle closing\n useEffect(() => {\n if (!active) return undefined\n\n window.addEventListener('scroll', handleVisibility, false)\n\n if (customScrollListener) {\n customScrollListener.addEventListener('scroll', handleVisibility, false)\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEscKey, false)\n }\n\n return () => {\n window.removeEventListener('scroll', handleVisibility, false)\n\n if (customScrollListener) {\n customScrollListener.removeEventListener(\n 'scroll',\n handleVisibility,\n false\n )\n }\n\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEscKey, false)\n }\n }\n }, [active, customScrollListener, closeOnEsc])\n\n useEffect(() => {\n // enable overlay manipulation only when the state is NOT blocked=true\n // nor in disabled state\n if (blocked || disabled) return undefined\n\n if (\n openOn === 'click' ||\n closeOn === 'click' ||\n closeOn === 'clickOnTrigger' ||\n closeOn === 'clickOutsideContent'\n ) {\n window.addEventListener('click', handleClick, false)\n }\n\n if (openOn === 'hover' || closeOn === 'hover') {\n window.addEventListener('mousemove', handleVisibility, false)\n }\n\n return () => {\n window.removeEventListener('click', handleClick, false)\n window.removeEventListener('mousemove', handleVisibility, false)\n }\n }, [openOn, closeOn, blocked, disabled, active])\n\n const isNodeOrChild = (ref) => (e) => {\n if (e && e.target && ref.current) {\n return ref.current.contains(e.target) || e.target === ref.current\n }\n\n return false\n }\n\n const isTrigger = isNodeOrChild(triggerRef)\n const isContent = isNodeOrChild(contentRef)\n\n const calculateContentPosition = () => {\n if (!active) return\n if (!triggerRef.current || !contentRef.current) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('Cannot access `ref` of trigger or content component.')\n }\n\n return\n }\n\n const overlayPosition: OverlayPosition = {\n position,\n }\n\n const t = triggerRef.current.getBoundingClientRect()\n const c = contentRef.current.getBoundingClientRect()\n\n if (['dropdown', 'tooltip', 'popover'].includes(type)) {\n // align is top or bottom\n if (['top', 'bottom'].includes(align)) {\n // axe Y position\n // (assigned as top position)\n const top = t.top - offsetY - c.height\n const bottom = t.bottom + offsetY\n\n // axe X position\n // content position to trigger position\n // (assigned as left position)\n const left = t.left + offsetX\n const right = t.right - offsetX - c.width\n\n // calculate possible position\n const isTop = top >= 0 // represents window.height = 0\n const isBottom = bottom + c.height <= window.innerHeight\n const isLeft = left + c.width <= window.innerWidth\n const isRight = right >= 0 // represents window.width = 0\n\n if (align === 'top') {\n overlayPosition.top = isTop ? top : bottom\n } else if (align === 'bottom') {\n overlayPosition.top = isBottom ? bottom : top\n }\n\n // left\n if (alignX === 'left') {\n overlayPosition.left = isLeft ? left : right\n }\n // center\n else if (alignX === 'center') {\n const center = t.left + (t.right - t.left) / 2 - c.width / 2\n const isCenteredLeft = center >= 0\n const isCenteredRight = center + c.width <= window.innerWidth\n\n if (isCenteredLeft && isCenteredRight) {\n overlayPosition.left = center\n } else if (isCenteredLeft) {\n overlayPosition.left = left\n } else if (isCenteredRight) {\n overlayPosition.left = right\n }\n }\n // right\n else if (alignX === 'right') {\n overlayPosition.left = isRight ? right : left\n }\n }\n\n // align is left or right\n else if (['left', 'right'].includes(align)) {\n // axe X position\n // (assigned as left position)\n const left = t.left - offsetX - c.width\n const right = t.right + offsetX\n\n // axe Y position\n // content position to trigger position\n // (assigned as top position)\n const top = t.top + offsetY\n const bottom = t.bottom - offsetY - c.height\n\n const isLeft = left >= 0\n const isRight = right + c.width <= window.innerWidth\n const isTop = top + c.height <= window.innerHeight\n const isBottom = bottom >= 0\n\n if (align === 'left') {\n overlayPosition.left = isLeft ? left : right\n } else if (align === 'right') {\n overlayPosition.left = isRight ? right : left\n }\n\n // top\n if (alignY === 'top') {\n overlayPosition.top = isTop ? top : bottom\n }\n // center\n else if (alignY === 'center') {\n const center = t.top + (t.bottom - t.top) / 2 - c.height / 2\n const isCenteredTop = center >= 0\n const isCenteredBottom = center + c.height <= window.innerHeight\n\n if (isCenteredTop && isCenteredBottom) {\n overlayPosition.top = center\n } else if (isCenteredTop) {\n overlayPosition.top = top\n } else if (isCenteredBottom) {\n overlayPosition.top = bottom\n }\n }\n // bottom\n else if (alignY === 'bottom') {\n overlayPosition.top = isBottom ? bottom : top\n }\n }\n }\n\n // modal type\n else if (type === 'modal') {\n switch (alignX) {\n case 'right':\n overlayPosition.right = offsetX\n break\n case 'left':\n overlayPosition.left = offsetX\n break\n case 'center':\n default:\n overlayPosition.left = window.innerWidth / 2 - c.width / 2\n break\n }\n\n switch (alignY) {\n case 'top':\n overlayPosition.top = offsetY\n break\n case 'center':\n overlayPosition.top = window.innerHeight / 2 - c.height / 2\n break\n case 'bottom':\n default:\n overlayPosition.bottom = offsetY\n break\n }\n }\n\n const calc = (param) => value(param, rootSize) as string\n\n // ADD POSITION STYLES TO CONTENT\n contentRef.current.style.position = position\n contentRef.current.style.top = calc(overlayPosition.top)\n contentRef.current.style.bottom = calc(overlayPosition.bottom)\n contentRef.current.style.left = calc(overlayPosition.left)\n contentRef.current.style.right = calc(overlayPosition.right)\n }\n\n const handleVisibilityByEventType = (e) => {\n if (!active) {\n if (\n (openOn === 'hover' && e.type === 'mousemove') ||\n (openOn === 'click' && e.type === 'click')\n ) {\n if (isTrigger(e)) {\n showContent()\n }\n }\n }\n\n if (active) {\n if (closeOn === 'hover' && e.type === 'mousemove') {\n if (!isTrigger(e) && !isContent(e)) {\n hideContent()\n }\n }\n\n if (closeOn === 'hover' && e.type === 'scroll') {\n hideContent()\n }\n\n if (closeOn === 'click' && e.type === 'click') {\n hideContent()\n }\n\n if (closeOn === 'clickOnTrigger' && e.type === 'click') {\n if (isTrigger(e)) {\n hideContent()\n }\n }\n\n if (closeOn === 'clickOutsideContent' && e.type === 'click') {\n if (!isContent(e)) {\n hideContent()\n }\n }\n }\n }\n const handleContentPosition = throttle(\n calculateContentPosition,\n throttleDelay\n )\n\n const handleClick = handleVisibilityByEventType\n const handleVisibility = throttle(handleVisibilityByEventType, throttleDelay)\n\n const handleEscKey = (e: any) => {\n if (e.key === 'Escape') {\n hideContent()\n }\n }\n\n return {\n triggerRef,\n contentRef,\n active,\n align,\n alignX,\n alignY,\n showContent,\n hideContent,\n blocked,\n setBlocked,\n setUnblocked,\n }\n}\n","import React, { useMemo } from 'react'\nimport { renderContent } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport Portal from '~/Portal'\nimport type { VLComponent, Content } from '~/types'\nimport useOverlay, { UseOverlayProps } from './useOverlay'\nimport Provider from './context'\n\ntype Align = 'bottom' | 'top' | 'left' | 'bottom' | 'right'\ntype AlignX = 'left' | 'center' | 'right'\ntype AlignY = 'bottom' | 'top' | 'center'\n\ntype TriggerRenderer = (\n props: Partial<{\n active: boolean\n showContent: () => void\n hideContent: () => void\n }>\n) => Content\n\ntype ContentRenderer = (\n props: Partial<{\n active: boolean\n showContent: () => void\n hideContent: () => void\n align: Align\n alignX: AlignX\n alignY: AlignY\n }>\n) => Content\n\nexport type Props = {\n children: Content | TriggerRenderer\n trigger: Content | ContentRenderer\n DOMLocation?: HTMLElement\n triggerRefName?: string\n contentRefName?: string\n} & UseOverlayProps\n\nconst component: VLComponent<Props> = ({\n children,\n trigger,\n DOMLocation,\n triggerRefName = 'ref',\n contentRefName = 'ref',\n ...props\n}) => {\n const {\n active,\n triggerRef,\n contentRef,\n showContent,\n hideContent,\n align,\n alignX,\n alignY,\n ...ctx\n } = useOverlay(props)\n\n const { openOn, closeOn } = props\n\n const passHandlers = useMemo(\n () =>\n openOn === 'manual' ||\n closeOn === 'manual' ||\n closeOn === 'clickOutsideContent',\n [openOn, closeOn]\n )\n\n return (\n <>\n {renderContent(trigger, {\n [triggerRefName]: triggerRef,\n active,\n ...(passHandlers ? { showContent, hideContent } : {}),\n })}\n\n {__BROWSER__ && active && (\n <Portal position={DOMLocation}>\n <Provider {...ctx}>\n {renderContent(children, {\n [contentRefName]: contentRef,\n active,\n align,\n alignX,\n alignY,\n ...(passHandlers ? { showContent, hideContent } : {}),\n })}\n </Provider>\n </Portal>\n )}\n </>\n )\n}\n\nconst name = `${PKG_NAME}/Overlay` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","import { config } from '@vitus-labs/core'\nimport { makeItResponsive, extendCss } from '@vitus-labs/unistyle'\n\nconst styles = ({ css, theme: t }) => css`\n ${t.extraStyles && extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.textComponent)`\n color: inherit;\n font-weight: normal;\n line-height: 1;\n\n ${makeItResponsive({\n key: '$text',\n styles,\n css: config.css,\n normalize: false,\n })};\n`\n","import React, { forwardRef, ReactNode } from 'react'\nimport type { HTMLTagsText } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport type { VLForwardedComponent, ExtendCss } from '~/types'\nimport Styled from './styled'\n\nexport type Props = Partial<{\n paragraph: boolean\n label: ReactNode\n children: ReactNode\n tag: HTMLTagsText\n extendCss: ExtendCss\n}>\n\nconst component: VLForwardedComponent<Props> & {\n isText?: true\n} = forwardRef(\n ({ paragraph, label, children, tag, extendCss, ...props }, ref) => {\n type RenderContent = (as?: any) => any\n const renderContent: RenderContent = (as = undefined) => (\n <Styled ref={ref} as={as} $text={{ extraStyles: extendCss }} {...props}>\n {children || label}\n </Styled>\n )\n\n // eslint-disable-next-line no-nested-ternary\n const finalTag = __WEB__ ? (paragraph ? 'p' : tag) : undefined\n\n return renderContent(finalTag)\n }\n)\n\nconst name = `${PKG_NAME}/Text` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\ncomponent.isText = true\n\nexport default component\n","import { ReactNode } from 'react'\nimport { renderContent } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport type { VLComponent } from '~/types'\n\nexport type Props = {\n children: ReactNode\n className?: string | string[]\n style?: Record<string, unknown>\n}\n\nconst component: VLComponent<Props> = ({\n children,\n className = '',\n style = { color: 'blue' },\n}) => renderContent(children, { className, style })\n\nconst name = `${PKG_NAME}/Util` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n"],"names":["styles","alignContent","extendCss","config","makeItResponsive","component","forwardRef","React","Styled","value","memo","useMemo","Wrapper","renderContent","Content","name","get","createRef","useCallback","Children","isFragment","isEmpty","Iterator","pick","Element","omit","useState","useEffect","createPortal","createContext","useContext","context","useRef","throttle"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-elements.umd.js","sources":["../src/constants.ts","../src/helpers/Wrapper/constants.ts","../src/helpers/Wrapper/utils.ts","../src/helpers/Wrapper/styled.ts","../src/helpers/Wrapper/component.tsx","../src/helpers/Content/styled.ts","../src/helpers/Content/component.tsx","../src/Element/constants.ts","../src/Element/utils.ts","../src/Element/component.tsx","../src/Element/withEqualSizeBeforeAfter.tsx","../src/helpers/Iterator/component.tsx","../src/List/component.tsx","../src/List/withActiveState.tsx","../src/Portal/component.ts","../src/Overlay/context.tsx","../src/Overlay/useOverlay.tsx","../src/Overlay/component.tsx","../src/Text/styled.ts","../src/Text/component.tsx","../src/Util/component.tsx"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const PKG_NAME = '@vitus-labs/elements' as const\n","/* eslint-disable import/prefer-default-export */\n// https://stackoverflow.com/questions/35464067/flexbox-not-working-on-button-or-fieldset-elements\nexport const INLINE_ELEMENTS_FLEX_FIX = {\n button: true,\n fieldset: true,\n legend: true,\n}\n","/* eslint-disable import/prefer-default-export */\nimport { INLINE_ELEMENTS_FLEX_FIX } from './constants'\n\ntype IsWebFixNeeded = (tag: string) => boolean\nexport const isWebFixNeeded: IsWebFixNeeded = (tag) =>\n INLINE_ELEMENTS_FLEX_FIX[tag]\n","import { config } from '@vitus-labs/core'\nimport { alignContent, extendCss, makeItResponsive } from '@vitus-labs/unistyle'\n\nconst styles = ({ theme: t, css }) => css`\n ${__WEB__ &&\n t.alignY === 'block' &&\n css`\n height: 100%;\n `};\n\n ${alignContent({\n direction: t.direction,\n alignX: t.alignX,\n alignY: t.alignY,\n })};\n\n ${t.block &&\n css`\n align-self: stretch;\n `}\n\n ${__WEB__ &&\n css`\n ${({ $childFix }) =>\n !$childFix &&\n css`\n display: ${t.block ? 'flex' : 'inline-flex'};\n `};\n\n ${({ $parentFix }) =>\n $parentFix &&\n t.block &&\n css`\n flex-direction: column;\n width: 100%;\n `};\n `};\n\n ${t.extraStyles && extendCss(t.extraStyles)};\n`\n\nconst platformStyles = __WEB__ ? 'box-sizing: border-box;' : 'display: flex;'\n\nexport default config.styled(config.component)`\n position: relative;\n ${platformStyles};\n\n ${({ $childFix }) =>\n $childFix &&\n config.css`\n display: flex;\n flex: 1;\n width: 100%;\n height: 100%;\n `};\n\n ${makeItResponsive({\n key: '$element',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { forwardRef, ReactNode } from 'react'\nimport type { StyledComponentPropsWithRef } from 'styled-components'\nimport type {\n Direction,\n AlignX,\n AlignY,\n ResponsiveBooltype,\n ExtendCss,\n} from '~/types'\nimport { isWebFixNeeded } from './utils'\nimport Styled from './styled'\n\ntype Reference = unknown\n\ntype Props = {\n children: ReactNode\n tag: StyledComponentPropsWithRef<any>\n block: ResponsiveBooltype\n isInline: boolean\n direction: Direction\n alignX: AlignX\n alignY: AlignY\n equalCols: ResponsiveBooltype\n extendCss: ExtendCss\n dangerouslySetInnerHTML: any\n}\n\nconst component = forwardRef<Reference, Partial<Props>>(\n (\n {\n children,\n tag,\n block,\n extendCss,\n direction,\n alignX,\n alignY,\n equalCols,\n isInline,\n ...props\n },\n ref\n ) => {\n const debugProps =\n process.env.NODE_ENV !== 'production'\n ? {\n 'data-vl-element': 'Element',\n }\n : {}\n\n const COMMON_PROPS = {\n ...props,\n ...debugProps,\n ref,\n as: tag,\n }\n\n const needsFix = __WEB__\n ? !props.dangerouslySetInnerHTML && tag && isWebFixNeeded(tag)\n : false\n\n // eslint-disable-next-line no-nested-ternary\n const asTag = __WEB__ ? (isInline ? 'span' : 'div') : undefined\n\n if (!needsFix || __NATIVE__) {\n return (\n <Styled\n {...COMMON_PROPS}\n $element={{\n block,\n direction,\n alignX,\n alignY,\n equalCols,\n extraStyles: extendCss,\n }}\n >\n {children}\n </Styled>\n )\n }\n\n return (\n <Styled\n {...COMMON_PROPS}\n $parentFix\n $element={{\n block,\n extraStyles: extendCss,\n }}\n >\n <Styled\n as={asTag}\n $childFix\n $element={{\n direction,\n alignX,\n alignY,\n equalCols,\n }}\n >\n {children}\n </Styled>\n </Styled>\n )\n }\n)\n\nexport default component\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n alignContent,\n extendCss,\n value,\n} from '@vitus-labs/unistyle'\n\n// --------------------------------------------------------\n// calculate spacing between before / content / after\n// --------------------------------------------------------\nconst calculateGap = ({ direction, type, value, css }) => {\n if (!direction || !type) return undefined\n\n const data = {\n inline: {\n before: 'margin-right',\n after: 'margin-left',\n },\n rows: {\n before: 'margin-bottom',\n after: 'margin-top',\n },\n }\n\n const finalStyles = `${data[direction][type]}: ${value};`\n\n return css`\n ${finalStyles};\n `\n}\n\n// --------------------------------------------------------\n// calculations of styles to be rendered\n// --------------------------------------------------------\nconst styles = ({ css, theme: t, rootSize }) => css`\n ${alignContent({\n direction: t.direction,\n alignX: t.alignX,\n alignY: t.alignY,\n })};\n\n ${t.equalCols &&\n css`\n flex: 1;\n `};\n\n ${t.gap &&\n css`\n ${({ $contentType }) =>\n calculateGap({\n direction: t.parentDirection,\n type: $contentType,\n value: value(t.gap, rootSize),\n css,\n })}\n `};\n\n ${t.extraStyles && extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n align-self: stretch;\n flex-wrap: wrap;\n\n ${({ $contentType }) =>\n $contentType === 'content' &&\n config.css`\n flex: 1;\n `};\n\n ${makeItResponsive({\n key: '$element',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { memo, VFC, ReactNode } from 'react'\nimport type { StyledComponentPropsWithRef } from 'styled-components'\nimport type {\n Direction,\n AlignX,\n AlignY,\n ResponsiveBooltype,\n Responsive,\n ExtendCss,\n} from '~/types'\nimport Styled from './styled'\n\ntype Props = {\n parentDirection: Direction\n gap: Responsive\n contentType: 'before' | 'content' | 'after'\n children: ReactNode\n tag: StyledComponentPropsWithRef<any>\n direction: Direction\n alignX: AlignX\n alignY: AlignY\n equalCols: ResponsiveBooltype\n extendCss: ExtendCss\n}\n\nconst component: VFC<Partial<Props>> = ({\n contentType,\n tag,\n parentDirection,\n direction,\n alignX,\n alignY,\n equalCols,\n gap,\n extendCss,\n ...props\n}) => {\n const debugProps =\n process.env.NODE_ENV !== 'production'\n ? {\n 'data-vl-element': contentType,\n }\n : {}\n\n return (\n <Styled\n as={tag}\n $contentType={contentType}\n $element={{\n parentDirection,\n direction,\n alignX,\n alignY,\n equalCols,\n gap,\n extraStyles: extendCss,\n }}\n {...debugProps}\n {...props}\n />\n )\n}\n\nexport default memo(component)\n","export const RESERVED_PROPS = [\n 'innerRef',\n 'tag',\n 'block',\n 'label',\n 'children',\n 'beforeContent',\n 'afterContent',\n\n 'equalCols',\n 'vertical',\n 'direction',\n 'alignX',\n 'alignY',\n\n 'css',\n 'contentCss',\n 'beforeContentCss',\n 'afterContentCss',\n\n 'contentDirection',\n 'contentAlignX',\n 'contentAlignY',\n\n 'beforeContentDirection',\n 'beforeContentAlignX',\n 'beforeContentAlignY',\n\n 'afterContentDirection',\n 'afterContentAlignX',\n 'afterContentAlignY',\n] as const\n\nexport const INLINE_ELEMENTS = {\n span: true,\n a: true,\n button: true,\n input: true,\n label: true,\n select: true,\n textarea: true,\n br: true,\n img: true,\n strong: true,\n small: true,\n code: true,\n b: true,\n big: true,\n i: true,\n tt: true,\n abbr: true,\n acronym: true,\n cite: true,\n dfn: true,\n em: true,\n kbd: true,\n samp: true,\n var: true,\n bdo: true,\n map: true,\n object: true,\n q: true,\n script: true,\n sub: true,\n sup: true,\n}\n\nexport const EMPTY_ELEMENTS = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n // 'meta': true,\n // 'param': true,\n source: true,\n track: true,\n wbr: true,\n}\n","import { INLINE_ELEMENTS, EMPTY_ELEMENTS } from './constants'\n\n// type Value<T = unknown> = T extends true ? 'rows' : 'inline'\n\n// type TransformVerticalProp = <\n// T extends boolean | Record<string, boolean> | Array<boolean>\n// >(\n// vertical: T\n// ) => T extends boolean\n// ? Value<T>\n// : T extends Record<string, boolean>\n// ? Record<keyof T, Value<T[keyof T]>>\n// : T extends Array<boolean>\n// ? Array<Value<T[number]>>\n// : T\n\n// export const transformVerticalProp: TransformVerticalProp = (vertical) => {\n// // eslint-disable-next-line @typescript-eslint/no-explicit-any\n// if (vertical == null) return undefined as any\n\n// const verticalType = typeof vertical\n\n// // vertical is a boolean value\n// if (verticalType === 'boolean') {\n// return vertical ? 'rows' : 'inline'\n// }\n\n// if (Array.isArray(vertical)) {\n// return (vertical as Array<boolean>).map((item) =>\n// item ? 'rows' : 'inline'\n// )\n// }\n\n// if (verticalType === 'object') {\n// return Object.keys(vertical).reduce((accumulator, item) => {\n// // eslint-disable-next-line no-param-reassign\n// accumulator[item] = vertical[item] ? 'rows' : 'inline'\n// return accumulator\n// }, {} as Record<string, 'rows' | 'inline'>)\n// }\n\n// return undefined\n// }\n\ntype GetValue = (tag?: string) => boolean\n\nexport const isInlineElement: GetValue = (tag) =>\n tag ? INLINE_ELEMENTS[tag] : false\n\nexport const getShouldBeEmpty: GetValue = (tag) =>\n tag ? EMPTY_ELEMENTS[tag] : false\n","import React, { forwardRef, useMemo } from 'react'\nimport { renderContent } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport { Wrapper, Content } from '~/helpers'\nimport { isInlineElement, getShouldBeEmpty } from './utils'\nimport type { VLElement } from './types'\n\nconst defaultDirection = 'inline'\nconst defaultContentDirection = 'rows'\nconst defaultAlignX = 'left'\nconst defaultAlignY = 'center'\n\nconst component: VLElement = forwardRef(\n (\n {\n innerRef,\n tag,\n label,\n content,\n children,\n beforeContent,\n afterContent,\n\n block,\n equalCols,\n gap,\n\n direction,\n alignX = defaultAlignX,\n alignY = defaultAlignY,\n\n css,\n contentCss,\n beforeContentCss,\n afterContentCss,\n\n contentDirection = defaultContentDirection,\n contentAlignX = defaultAlignX,\n contentAlignY = defaultAlignY,\n\n beforeContentDirection = defaultDirection,\n beforeContentAlignX = defaultAlignX,\n beforeContentAlignY = defaultAlignY,\n\n afterContentDirection = defaultDirection,\n afterContentAlignX = defaultAlignX,\n afterContentAlignY = defaultAlignY,\n\n ...props\n },\n ref\n ) => {\n // --------------------------------------------------------\n // check if should render only single element\n // --------------------------------------------------------\n const shouldBeEmpty =\n !!props.dangerouslySetInnerHTML ||\n (__WEB__ && tag && getShouldBeEmpty(tag))\n\n // --------------------------------------------------------\n // if not single element, calculate values\n // --------------------------------------------------------\n const isSimpleElement = !beforeContent && !afterContent\n const CHILDREN = children || content || label\n\n const isInline = __WEB__ ? isInlineElement(tag) : false\n const SUB_TAG = __WEB__ && isInline ? 'span' : undefined\n\n // --------------------------------------------------------\n // direction & alignX & alignY calculations\n // --------------------------------------------------------\n const { wrapperDirection, wrapperAlignX, wrapperAlignY } = useMemo(() => {\n let wrapperDirection: typeof direction = direction\n let wrapperAlignX: typeof alignX = alignX\n let wrapperAlignY: typeof alignY = alignY\n\n if (isSimpleElement) {\n if (contentDirection) wrapperDirection = contentDirection\n if (contentAlignX) wrapperAlignX = contentAlignX\n if (contentAlignY) wrapperAlignY = contentAlignY\n } else if (direction) {\n wrapperDirection = direction\n } else {\n wrapperDirection = defaultDirection\n }\n\n return { wrapperDirection, wrapperAlignX, wrapperAlignY }\n }, [\n isSimpleElement,\n contentDirection,\n contentAlignX,\n contentAlignY,\n alignX,\n alignY,\n direction,\n ])\n\n // --------------------------------------------------------\n // common wrapper props\n // --------------------------------------------------------\n const WRAPPER_PROPS = {\n ref: ref || innerRef,\n extendCss: css,\n tag,\n block,\n direction: wrapperDirection,\n alignX: wrapperAlignX,\n alignY: wrapperAlignY,\n as: undefined, // reset styled-components `as` prop\n }\n\n // --------------------------------------------------------\n // return simple/empty element like input or image etc.\n // --------------------------------------------------------\n if (shouldBeEmpty) {\n return <Wrapper {...props} {...WRAPPER_PROPS} />\n }\n\n const contentRenderOutput = renderContent(CHILDREN)\n\n return (\n <Wrapper {...props} {...WRAPPER_PROPS} isInline={isInline}>\n {beforeContent && (\n <Content\n tag={SUB_TAG}\n contentType=\"before\"\n parentDirection={wrapperDirection}\n extendCss={beforeContentCss}\n direction={beforeContentDirection}\n alignX={beforeContentAlignX}\n alignY={beforeContentAlignY}\n equalCols={equalCols}\n gap={gap}\n >\n {renderContent(beforeContent)}\n </Content>\n )}\n\n {isSimpleElement ? (\n contentRenderOutput\n ) : (\n <Content\n tag={SUB_TAG}\n contentType=\"content\"\n parentDirection={wrapperDirection}\n extendCss={contentCss}\n direction={contentDirection}\n alignX={contentAlignX}\n alignY={contentAlignY}\n equalCols={equalCols}\n >\n {contentRenderOutput}\n </Content>\n )}\n\n {afterContent && (\n <Content\n tag={SUB_TAG}\n contentType=\"after\"\n parentDirection={wrapperDirection}\n extendCss={afterContentCss}\n direction={afterContentDirection}\n alignX={afterContentAlignX}\n alignY={afterContentAlignY}\n equalCols={equalCols}\n gap={gap}\n >\n {renderContent(afterContent)}\n </Content>\n )}\n </Wrapper>\n )\n }\n)\n\nconst name = `${PKG_NAME}/Element` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","/* eslint-disable no-param-reassign */\nimport React, { createRef } from 'react'\nimport { get } from '@vitus-labs/core'\nimport type { SimpleHoc } from '~/types'\n\nconst isNumber = (a: unknown, b: unknown) =>\n Number.isInteger(a) && Number.isInteger(b)\n\nconst types = {\n height: 'offsetHeight',\n width: 'offsetWidth',\n}\n\ntype Calculate = ({\n beforeContent,\n afterContent,\n}: {\n beforeContent: HTMLElement\n afterContent: HTMLElement\n}) => (type: 'height' | 'width') => void\n\nconst calculate: Calculate =\n ({ beforeContent, afterContent }) =>\n (type: keyof typeof types) => {\n const beforeContentSize = get(beforeContent, types[type])\n const afterContentSize = get(afterContent, types[type])\n\n if (isNumber(beforeContentSize, afterContentSize)) {\n if (beforeContentSize > afterContentSize) {\n beforeContent.style[type] = `${beforeContentSize}px`\n afterContent.style[type] = `${beforeContentSize}px`\n } else {\n beforeContent.style[type] = `${afterContentSize}px`\n afterContent.style[type] = `${afterContentSize}px`\n }\n }\n }\n\ntype Props = Partial<{\n equalBeforeAfter: boolean\n vertical?: boolean\n afterContent?: React.ReactNode\n beforeContent?: React.ReactNode\n}>\n\nconst withEqualBeforeAfter: SimpleHoc<Props> = (WrappedComponent) => {\n const displayName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n const Enhanced = (props) => {\n const { equalBeforeAfter, vertical, afterContent, beforeContent, ...rest } =\n props\n const elementRef = createRef<HTMLElement>()\n\n const calculateSize = () => {\n const beforeContent = get(elementRef, 'current.children[0]')\n const afterContent = get(elementRef, 'current.children[2]')\n const updateElement = calculate({ beforeContent, afterContent })\n\n if (vertical) updateElement('height')\n else updateElement('width')\n }\n\n if (equalBeforeAfter) calculateSize()\n\n return (\n <WrappedComponent\n {...rest}\n afterContent={afterContent}\n beforeContent={beforeContent}\n ref={elementRef}\n />\n )\n }\n\n Enhanced.displayName = `withEqualSizeBeforeAfter(${displayName})`\n\n return Enhanced\n}\n\nexport default withEqualBeforeAfter\n","import React, {\n Children,\n FC,\n ReactNodeArray,\n useCallback,\n useMemo,\n} from 'react'\nimport { isFragment } from 'react-is'\nimport { renderContent, isEmpty } from '@vitus-labs/core'\nimport type { Props, DataArrayObject, ExtendedProps } from './types'\n\nconst RESERVED_PROPS = [\n 'children',\n 'component',\n 'wrapComponent',\n 'data',\n 'itemKey',\n 'valueName',\n 'itemProps',\n 'wrapProps',\n] as const\n\ntype AttachItemProps = ({\n i,\n length,\n}: {\n i: number\n length: number\n}) => ExtendedProps\n\nconst attachItemProps: AttachItemProps = ({\n i,\n length,\n}: {\n i: number\n length: number\n}) => {\n const position = i + 1\n\n return {\n index: i,\n first: position === 1,\n last: position === length,\n odd: position % 2 === 1,\n even: position % 2 === 0,\n position,\n }\n}\n\ntype Static = {\n isIterator: true\n RESERVED_PROPS: typeof RESERVED_PROPS\n}\n\nconst component: FC<Props> & Static = (props: Props) => {\n const {\n itemKey,\n valueName,\n children,\n component,\n data,\n wrapComponent: Wrapper,\n wrapProps,\n itemProps,\n } = props\n\n const renderedElement = renderContent\n\n const injectItemProps = useMemo(\n () => (typeof itemProps === 'function' ? itemProps : () => itemProps),\n [itemProps]\n )\n\n const injectWrapItemProps = useMemo(\n () => (typeof wrapProps === 'function' ? wrapProps : () => wrapProps),\n [wrapProps]\n )\n\n const getKey = useCallback((item: string | number, index) => {\n if (typeof itemKey === 'function') return itemKey(item, index)\n\n return index\n }, [])\n\n const renderChild = (child, total = 1, i = 0) => {\n const extendedProps = attachItemProps({\n i,\n length: total,\n })\n\n const finalItemProps = itemProps ? injectItemProps({}, extendedProps) : {}\n const finalWrapProps = wrapProps\n ? injectWrapItemProps({}, extendedProps)\n : {}\n\n // if no props extension is required, just return children\n if (!itemProps && !Wrapper) return child\n\n if (Wrapper) {\n return (\n <Wrapper key={i} {...finalWrapProps}>\n {renderedElement(child, finalItemProps)}\n </Wrapper>\n )\n }\n\n return renderContent(child, {\n key: i,\n ...finalItemProps,\n })\n }\n\n // --------------------------------------------------------\n // render children\n // --------------------------------------------------------\n const renderChildren = () => {\n if (!children) return null\n\n // if children is Array\n if (Array.isArray(children)) {\n return Children.map(children, (item, i) =>\n renderChild(item, children.length, i)\n )\n }\n\n // if children is Fragment\n if (isFragment(children)) {\n const fragmentChildren = children.props.children as ReactNodeArray\n\n return fragmentChildren.map((item, i) => {\n console.log(item)\n return renderChild(item, fragmentChildren.length, i)\n })\n }\n\n // if single child\n return renderChild(children)\n }\n\n // --------------------------------------------------------\n // render array of strings or numbers\n // --------------------------------------------------------\n const renderSimpleArray = (data) => {\n const { length } = data\n\n // if the data array is empty\n if (data.length === 0) return null\n\n return data.map((item, i) => {\n const key = getKey(item, i)\n const keyName = valueName || 'children'\n const extendedProps = attachItemProps({\n i,\n length,\n })\n\n const finalItemProps = {\n ...(itemProps\n ? injectItemProps({ [keyName]: item }, extendedProps)\n : {}),\n [keyName]: item,\n }\n\n const finalWrapProps = wrapProps\n ? injectWrapItemProps({ [keyName]: item }, extendedProps)\n : {}\n\n if (Wrapper) {\n return (\n <Wrapper key={key} {...finalWrapProps}>\n {renderedElement(component, finalItemProps)}\n </Wrapper>\n )\n }\n\n return renderedElement(component, { key, ...finalItemProps })\n })\n }\n\n // --------------------------------------------------------\n // render array of objects\n // --------------------------------------------------------\n const renderComplexArray = (data) => {\n const renderData = data.filter((item) => !isEmpty(item)) // remove empty objects\n const { length } = renderData\n\n // if it's empty\n if (renderData.length === 0) return null\n\n const getKey = (item: DataArrayObject, index) => {\n if (!itemKey) return item.key || item.id || item.itemId || index\n if (typeof itemKey === 'function') return itemKey(item, index)\n if (typeof itemKey === 'string') return item[itemKey]\n\n return index\n }\n\n return renderData.map((item, i) => {\n const { component: itemComponent, ...restItem } = item as DataArrayObject\n const renderItem = itemComponent || component\n const key = getKey(restItem, i)\n const extendedProps = attachItemProps({\n i,\n length,\n })\n\n const finalItemProps = {\n ...(itemProps ? injectItemProps(item, extendedProps) : {}),\n ...restItem,\n }\n\n const finalWrapProps = wrapProps\n ? injectWrapItemProps(item, extendedProps)\n : {}\n\n if (Wrapper && !itemComponent) {\n return (\n <Wrapper key={key} {...finalWrapProps}>\n {renderedElement(renderItem, finalItemProps)}\n </Wrapper>\n )\n }\n\n return renderedElement(renderItem, { key, ...finalItemProps })\n })\n }\n\n // --------------------------------------------------------\n // render list items\n // --------------------------------------------------------\n const renderItems = () => {\n // --------------------------------------------------------\n // children have priority over props component + data\n // --------------------------------------------------------\n if (children) return renderChildren()\n\n // --------------------------------------------------------\n // render props component + data\n // --------------------------------------------------------\n if (component && Array.isArray(data)) {\n const clearData = data.filter(\n (item) => item !== null && item !== undefined\n )\n\n const isSimpleArray = clearData.every(\n (item) => typeof item === 'string' || typeof item === 'number'\n )\n\n if (isSimpleArray) return renderSimpleArray(clearData)\n\n const isComplexArray = clearData.every((item) => typeof item === 'object')\n\n if (isComplexArray) return renderComplexArray(clearData)\n\n return null\n }\n\n // --------------------------------------------------------\n // if there are no children or valid react component and data as an array,\n // return null to prevent error\n // --------------------------------------------------------\n return null\n }\n\n return renderItems()\n}\n\ncomponent.isIterator = true\ncomponent.RESERVED_PROPS = RESERVED_PROPS\n\nexport default component\n","import React, { forwardRef } from 'react'\nimport { pick, omit } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport Element, { VLElement } from '~/Element'\nimport Iterator, { Props as IteratorProps } from '~/helpers/Iterator'\nimport type { MergeTypes } from '~/types'\n\nexport type Props = MergeTypes<\n [\n IteratorProps,\n {\n rootElement?: boolean\n label: never\n content: never\n }\n ]\n>\n\nconst component: VLElement<Props> = forwardRef(\n ({ rootElement = false, ...props }, ref) => {\n const renderedList = <Iterator {...pick(props, Iterator.RESERVED_PROPS)} />\n\n if (!rootElement) return renderedList\n\n return (\n <Element ref={ref} {...omit(props, Iterator.RESERVED_PROPS)}>\n {renderedList}\n </Element>\n )\n }\n)\n\nconst name = `${PKG_NAME}/List` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","import React, { useState, useEffect } from 'react'\nimport type { SimpleHoc } from '~/types'\n\nconst RESERVED_KEYS = [\n 'type',\n 'activeItems',\n 'itemProps',\n 'activeItemRequired',\n] as const\n\ntype Key = string | number\ntype MultipleMap = Map<Key, boolean>\n\ntype ItemPropsData = {\n key: Key\n first: boolean\n last: boolean\n odd: boolean\n even: boolean\n position: number\n}\n\ntype Props = {\n type?: 'single' | 'multi'\n activeItemRequired?: boolean\n activeItems?: Key | Array<string | number>\n itemProps?:\n | Record<string, unknown>\n | ((props: Record<string, unknown>) => Record<string, unknown>)\n}\n\nconst component: SimpleHoc<Props> = (WrappedComponent) => {\n const displayName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n const Enhanced = (props) => {\n const {\n type = 'single',\n activeItemRequired,\n activeItems,\n itemProps = {},\n ...rest\n } = props\n\n type InitActiveItems = () => Key | MultipleMap | undefined\n const initActiveItems: InitActiveItems = () => {\n if (type === 'single') {\n if (Array.isArray(activeItems)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Iterator is type of single. activeItems cannot be an array.'\n )\n } else {\n return activeItems\n }\n } else if (type === 'multi') {\n const activeItemsHelper = Array.isArray(activeItems)\n ? activeItems\n : [activeItems]\n\n return new Map(activeItemsHelper.map((id) => [id, true]))\n }\n\n return undefined\n }\n\n const [innerActiveItems, setActiveItems] = useState(initActiveItems())\n\n const countActiveItems = (data) => {\n let result = 0\n\n data.forEach((value) => {\n if (value) result += 1\n })\n\n return result\n }\n\n const updateItemState = (key: Key) => {\n if (type === 'single') {\n setActiveItems((prevState) => {\n if (activeItemRequired) return key\n if (prevState === key) return undefined\n\n return key\n })\n } else if (type === 'multi') {\n setActiveItems((prevState: MultipleMap) => {\n // TODO: add conditional type to fix this\n const activeItems = new Map(prevState)\n\n if (\n activeItemRequired &&\n activeItems.get(key) &&\n countActiveItems(activeItems) === 1\n ) {\n return activeItems\n }\n\n activeItems.set(key, !activeItems.get(key))\n return activeItems\n })\n } else {\n setActiveItems(undefined)\n }\n }\n\n const handleItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n const updateAllItemsState = (status) => {\n if (!status) {\n setActiveItems(new Map())\n }\n }\n\n const setItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n const unsetItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n const toggleItemActive = (key: Key) => {\n updateItemState(key)\n }\n\n // const setAllItemsActive = () => {\n // updateAllItemsState(true)\n // }\n\n const unsetAllItemsActive = () => {\n updateAllItemsState(false)\n }\n\n const isItemActive = (key: Key): boolean => {\n if (!innerActiveItems) return false\n if (type === 'single') return innerActiveItems === key\n if (type === 'multi' && innerActiveItems instanceof Map) {\n return !!innerActiveItems.get(key)\n }\n return false\n }\n\n const attachMultipleProps = {\n unsetAllItemsActive,\n }\n\n const attachItemProps = (props: ItemPropsData) => {\n const { key } = props\n\n const defaultItemProps =\n typeof itemProps === 'object' ? itemProps : itemProps(props)\n\n const result = {\n ...defaultItemProps,\n active: isItemActive(key),\n handleItemActive: () => handleItemActive(key),\n setItemActive,\n unsetItemActive,\n toggleItemActive,\n ...(type === 'multi' ? attachMultipleProps : {}),\n }\n\n return result\n }\n\n useEffect(() => {\n if (type === 'single' && Array.isArray(activeItems)) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(\n 'When type=`single` activeItems must be a single value, not an array'\n )\n }\n }\n }, [type, activeItems])\n\n return <WrappedComponent {...rest} itemProps={attachItemProps} />\n }\n Enhanced.RESERVED_KEYS = RESERVED_KEYS\n Enhanced.displayName = `@vitus-labs/elements/List/withActiveState(${displayName})`\n\n return Enhanced\n}\n\nexport default component\n","import { useState, useEffect, ReactNode } from 'react'\nimport { createPortal } from 'react-dom'\nimport { PKG_NAME } from '~/constants'\nimport type { VLComponent } from '~/types'\n\nexport type Props = {\n position?: HTMLElement\n children: ReactNode\n tag?: string\n}\n\nconst component: VLComponent<Props> = ({\n position = __BROWSER__ ? document.body : undefined,\n tag = 'div',\n children,\n}: Props) => {\n const [element] = useState(\n __BROWSER__ ? document.createElement(tag) : undefined\n )\n\n if (!position || !element) return null\n\n useEffect(() => {\n if (__SERVER__) return undefined\n position.appendChild(element)\n\n return () => {\n position.removeChild(element)\n }\n }, [])\n\n return createPortal(children, element)\n}\n\nconst name = `${PKG_NAME}/Portal` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","import React, { FC, createContext, useContext } from 'react'\n\ntype Context = {\n blocked: boolean\n setBlocked: () => void\n setUnblocked: () => void\n}\n\nconst context = createContext<Context>({} as Context)\n\nconst { Provider } = context\n\nexport const useOverlayContext = () => useContext(context)\n\nconst component: FC<Context> = ({\n children,\n blocked,\n setBlocked,\n setUnblocked,\n}) => (\n <Provider value={{ blocked, setBlocked, setUnblocked }}>{children}</Provider>\n)\n\nexport default component\n","/* eslint-disable no-console */\nimport { useRef, useState, useEffect, useContext, useCallback } from 'react'\nimport { throttle, context } from '@vitus-labs/core'\nimport { value } from '@vitus-labs/unistyle'\nimport { useOverlayContext } from './context'\n\ntype OverlayPosition = {\n position: 'absolute' | 'fixed' | 'static' | 'relative'\n top?: number | string\n bottom?: number | string\n left?: number | string\n right?: number | string\n}\n\ntype Align = 'bottom' | 'top' | 'left' | 'bottom' | 'right'\ntype AlignX = 'left' | 'center' | 'right'\ntype AlignY = 'bottom' | 'top' | 'center'\n\nexport type UseOverlayProps = {\n isOpen?: boolean\n openOn?: 'click' | 'hover' | 'manual'\n closeOn?:\n | 'click'\n | 'clickOnTrigger'\n | 'clickOutsideContent'\n | 'hover'\n | 'manual'\n type?: 'dropdown' | 'tooltip' | 'popover' | 'modal'\n position?: 'absolute' | 'fixed' | 'relative' | 'static'\n align?: Align\n alignX?: AlignX\n alignY?: AlignY\n offsetX?: number\n offsetY?: number\n throttleDelay?: number\n customScrollListener?: HTMLElement | null\n closeOnEsc?: boolean\n disabled?: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nexport default ({\n isOpen = false,\n openOn = 'click', // click | hover\n closeOn = 'click', // click | 'clickOnTrigger' | 'clickOutsideContent' | hover | manual\n type = 'dropdown', // dropdown | tooltip | popover | modal\n position = 'fixed', // absolute | fixed | relative | static\n align = 'bottom', // * main align prop * top | left | bottom | right\n alignX = 'left', // left | center | right\n alignY = 'bottom', // top | center | bottom\n offsetX = 0,\n offsetY = 0,\n throttleDelay = 200,\n customScrollListener,\n closeOnEsc = true,\n disabled,\n onOpen,\n onClose,\n}: UseOverlayProps) => {\n const { rootSize } = useContext(context) as { rootSize: number }\n const ctx = useOverlayContext()\n\n const [blocked, handleBlocked] = useState(false)\n const [active, handleActive] = useState(isOpen)\n\n const triggerRef = useRef<HTMLElement>()\n const contentRef = useRef<HTMLElement>()\n\n const setBlocked = useCallback(() => handleBlocked(true), [])\n const setUnblocked = useCallback(() => handleBlocked(false), [])\n\n const showContent = useCallback(() => {\n handleActive(true)\n }, [])\n\n const hideContent = useCallback(() => {\n handleActive(false)\n }, [])\n\n useEffect(() => {\n if (disabled) {\n hideContent()\n }\n }, [disabled])\n\n // calculate position on every position change state\n useEffect(() => {\n if (active) {\n // hack-ish way to correctly calculate position for the first time\n // without calling it twice the posittion is somehow wrong\n calculateContentPosition()\n calculateContentPosition()\n }\n }, [active, align, alignX, alignX])\n\n // if an Overlay has an Overlay child, this will prevent closing parent child\n // + calculate correct position when an Overlay is opened\n useEffect(() => {\n if (active) {\n if (onOpen) onOpen()\n if (ctx && ctx.setBlocked) ctx.setBlocked()\n } else {\n if (onClose) onClose()\n if (ctx && ctx.setUnblocked) ctx.setUnblocked()\n }\n }, [active, onOpen, onClose])\n\n // handles calculating correct position of content\n // on document events (or custom scroll if set)\n useEffect(() => {\n if (!active) return undefined\n\n window.addEventListener('resize', handleContentPosition, false)\n window.addEventListener('scroll', handleContentPosition, false)\n\n if (customScrollListener) {\n customScrollListener.addEventListener(\n 'scroll',\n handleContentPosition,\n false\n )\n }\n\n return () => {\n window.removeEventListener('resize', handleContentPosition, false)\n window.removeEventListener('scroll', handleContentPosition, false)\n\n if (customScrollListener) {\n customScrollListener.removeEventListener(\n 'scroll',\n handleContentPosition,\n false\n )\n }\n }\n }, [active, customScrollListener])\n\n // make sure scrolling is blocked in case of modal windows or when\n // customScroll is set\n useEffect(() => {\n const shouldSetOverflow = __BROWSER__ && type === 'modal' && document.body\n\n if (active) {\n if (customScrollListener && closeOn !== 'hover') {\n // eslint-disable-next-line no-param-reassign\n customScrollListener.style.overflow = 'hidden'\n }\n\n if (shouldSetOverflow) {\n document.body.style.overflow = 'hidden'\n }\n } else {\n if (customScrollListener) {\n // eslint-disable-next-line no-param-reassign\n customScrollListener.style.overflow = ''\n }\n\n if (shouldSetOverflow) {\n document.body.style.overflow = ''\n }\n }\n\n return () => {\n if (customScrollListener) {\n // eslint-disable-next-line no-param-reassign\n customScrollListener.style.overflow = ''\n }\n\n if (shouldSetOverflow) {\n document.body.style.overflow = ''\n }\n }\n }, [active, type, customScrollListener, closeOn])\n\n // only when content is active handle closing\n useEffect(() => {\n if (!active) return undefined\n\n window.addEventListener('scroll', handleVisibility, false)\n\n if (customScrollListener) {\n customScrollListener.addEventListener('scroll', handleVisibility, false)\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEscKey, false)\n }\n\n return () => {\n window.removeEventListener('scroll', handleVisibility, false)\n\n if (customScrollListener) {\n customScrollListener.removeEventListener(\n 'scroll',\n handleVisibility,\n false\n )\n }\n\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEscKey, false)\n }\n }\n }, [active, customScrollListener, closeOnEsc])\n\n useEffect(() => {\n // enable overlay manipulation only when the state is NOT blocked=true\n // nor in disabled state\n if (blocked || disabled) return undefined\n\n if (\n openOn === 'click' ||\n closeOn === 'click' ||\n closeOn === 'clickOnTrigger' ||\n closeOn === 'clickOutsideContent'\n ) {\n window.addEventListener('click', handleClick, false)\n }\n\n if (openOn === 'hover' || closeOn === 'hover') {\n window.addEventListener('mousemove', handleVisibility, false)\n }\n\n return () => {\n window.removeEventListener('click', handleClick, false)\n window.removeEventListener('mousemove', handleVisibility, false)\n }\n }, [openOn, closeOn, blocked, disabled, active])\n\n const isNodeOrChild = (ref) => (e) => {\n if (e && e.target && ref.current) {\n return ref.current.contains(e.target) || e.target === ref.current\n }\n\n return false\n }\n\n const isTrigger = isNodeOrChild(triggerRef)\n const isContent = isNodeOrChild(contentRef)\n\n const calculateContentPosition = () => {\n if (!active) return\n if (!triggerRef.current || !contentRef.current) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('Cannot access `ref` of trigger or content component.')\n }\n\n return\n }\n\n const overlayPosition: OverlayPosition = {\n position,\n }\n\n const t = triggerRef.current.getBoundingClientRect()\n const c = contentRef.current.getBoundingClientRect()\n\n if (['dropdown', 'tooltip', 'popover'].includes(type)) {\n // align is top or bottom\n if (['top', 'bottom'].includes(align)) {\n // axe Y position\n // (assigned as top position)\n const top = t.top - offsetY - c.height\n const bottom = t.bottom + offsetY\n\n // axe X position\n // content position to trigger position\n // (assigned as left position)\n const left = t.left + offsetX\n const right = t.right - offsetX - c.width\n\n // calculate possible position\n const isTop = top >= 0 // represents window.height = 0\n const isBottom = bottom + c.height <= window.innerHeight\n const isLeft = left + c.width <= window.innerWidth\n const isRight = right >= 0 // represents window.width = 0\n\n if (align === 'top') {\n overlayPosition.top = isTop ? top : bottom\n } else if (align === 'bottom') {\n overlayPosition.top = isBottom ? bottom : top\n }\n\n // left\n if (alignX === 'left') {\n overlayPosition.left = isLeft ? left : right\n }\n // center\n else if (alignX === 'center') {\n const center = t.left + (t.right - t.left) / 2 - c.width / 2\n const isCenteredLeft = center >= 0\n const isCenteredRight = center + c.width <= window.innerWidth\n\n if (isCenteredLeft && isCenteredRight) {\n overlayPosition.left = center\n } else if (isCenteredLeft) {\n overlayPosition.left = left\n } else if (isCenteredRight) {\n overlayPosition.left = right\n }\n }\n // right\n else if (alignX === 'right') {\n overlayPosition.left = isRight ? right : left\n }\n }\n\n // align is left or right\n else if (['left', 'right'].includes(align)) {\n // axe X position\n // (assigned as left position)\n const left = t.left - offsetX - c.width\n const right = t.right + offsetX\n\n // axe Y position\n // content position to trigger position\n // (assigned as top position)\n const top = t.top + offsetY\n const bottom = t.bottom - offsetY - c.height\n\n const isLeft = left >= 0\n const isRight = right + c.width <= window.innerWidth\n const isTop = top + c.height <= window.innerHeight\n const isBottom = bottom >= 0\n\n if (align === 'left') {\n overlayPosition.left = isLeft ? left : right\n } else if (align === 'right') {\n overlayPosition.left = isRight ? right : left\n }\n\n // top\n if (alignY === 'top') {\n overlayPosition.top = isTop ? top : bottom\n }\n // center\n else if (alignY === 'center') {\n const center = t.top + (t.bottom - t.top) / 2 - c.height / 2\n const isCenteredTop = center >= 0\n const isCenteredBottom = center + c.height <= window.innerHeight\n\n if (isCenteredTop && isCenteredBottom) {\n overlayPosition.top = center\n } else if (isCenteredTop) {\n overlayPosition.top = top\n } else if (isCenteredBottom) {\n overlayPosition.top = bottom\n }\n }\n // bottom\n else if (alignY === 'bottom') {\n overlayPosition.top = isBottom ? bottom : top\n }\n }\n }\n\n // modal type\n else if (type === 'modal') {\n switch (alignX) {\n case 'right':\n overlayPosition.right = offsetX\n break\n case 'left':\n overlayPosition.left = offsetX\n break\n case 'center':\n default:\n overlayPosition.left = window.innerWidth / 2 - c.width / 2\n break\n }\n\n switch (alignY) {\n case 'top':\n overlayPosition.top = offsetY\n break\n case 'center':\n overlayPosition.top = window.innerHeight / 2 - c.height / 2\n break\n case 'bottom':\n default:\n overlayPosition.bottom = offsetY\n break\n }\n }\n\n const calc = (param) => value(param, rootSize) as string\n\n // ADD POSITION STYLES TO CONTENT\n contentRef.current.style.position = position\n contentRef.current.style.top = calc(overlayPosition.top)\n contentRef.current.style.bottom = calc(overlayPosition.bottom)\n contentRef.current.style.left = calc(overlayPosition.left)\n contentRef.current.style.right = calc(overlayPosition.right)\n }\n\n const handleVisibilityByEventType = (e) => {\n if (!active) {\n if (\n (openOn === 'hover' && e.type === 'mousemove') ||\n (openOn === 'click' && e.type === 'click')\n ) {\n if (isTrigger(e)) {\n showContent()\n }\n }\n }\n\n if (active) {\n if (closeOn === 'hover' && e.type === 'mousemove') {\n if (!isTrigger(e) && !isContent(e)) {\n hideContent()\n }\n }\n\n if (closeOn === 'hover' && e.type === 'scroll') {\n hideContent()\n }\n\n if (closeOn === 'click' && e.type === 'click') {\n hideContent()\n }\n\n if (closeOn === 'clickOnTrigger' && e.type === 'click') {\n if (isTrigger(e)) {\n hideContent()\n }\n }\n\n if (closeOn === 'clickOutsideContent' && e.type === 'click') {\n if (!isContent(e)) {\n hideContent()\n }\n }\n }\n }\n const handleContentPosition = throttle(\n calculateContentPosition,\n throttleDelay\n )\n\n const handleClick = handleVisibilityByEventType\n const handleVisibility = throttle(handleVisibilityByEventType, throttleDelay)\n\n const handleEscKey = (e: any) => {\n if (e.key === 'Escape') {\n hideContent()\n }\n }\n\n return {\n triggerRef,\n contentRef,\n active,\n align,\n alignX,\n alignY,\n showContent,\n hideContent,\n blocked,\n setBlocked,\n setUnblocked,\n }\n}\n","import React, { useMemo } from 'react'\nimport { renderContent } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport Portal from '~/Portal'\nimport type { VLComponent, Content } from '~/types'\nimport useOverlay, { UseOverlayProps } from './useOverlay'\nimport Provider from './context'\n\ntype Align = 'bottom' | 'top' | 'left' | 'bottom' | 'right'\ntype AlignX = 'left' | 'center' | 'right'\ntype AlignY = 'bottom' | 'top' | 'center'\n\ntype TriggerRenderer = (\n props: Partial<{\n active: boolean\n showContent: () => void\n hideContent: () => void\n }>\n) => Content\n\ntype ContentRenderer = (\n props: Partial<{\n active: boolean\n showContent: () => void\n hideContent: () => void\n align: Align\n alignX: AlignX\n alignY: AlignY\n }>\n) => Content\n\nexport type Props = {\n children: Content | TriggerRenderer\n trigger: Content | ContentRenderer\n DOMLocation?: HTMLElement\n triggerRefName?: string\n contentRefName?: string\n} & UseOverlayProps\n\nconst component: VLComponent<Props> = ({\n children,\n trigger,\n DOMLocation,\n triggerRefName = 'ref',\n contentRefName = 'ref',\n ...props\n}) => {\n const {\n active,\n triggerRef,\n contentRef,\n showContent,\n hideContent,\n align,\n alignX,\n alignY,\n ...ctx\n } = useOverlay(props)\n\n const { openOn, closeOn } = props\n\n const passHandlers = useMemo(\n () =>\n openOn === 'manual' ||\n closeOn === 'manual' ||\n closeOn === 'clickOutsideContent',\n [openOn, closeOn]\n )\n\n return (\n <>\n {renderContent(trigger, {\n [triggerRefName]: triggerRef,\n active,\n ...(passHandlers ? { showContent, hideContent } : {}),\n })}\n\n {__BROWSER__ && active && (\n <Portal position={DOMLocation}>\n <Provider {...ctx}>\n {renderContent(children, {\n [contentRefName]: contentRef,\n active,\n align,\n alignX,\n alignY,\n ...(passHandlers ? { showContent, hideContent } : {}),\n })}\n </Provider>\n </Portal>\n )}\n </>\n )\n}\n\nconst name = `${PKG_NAME}/Overlay` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n","import { config } from '@vitus-labs/core'\nimport { makeItResponsive, extendCss } from '@vitus-labs/unistyle'\n\nconst styles = ({ css, theme: t }) => css`\n ${t.extraStyles && extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.textComponent)`\n color: inherit;\n font-weight: normal;\n line-height: 1;\n\n ${makeItResponsive({\n key: '$text',\n styles,\n css: config.css,\n normalize: false,\n })};\n`\n","import React, { forwardRef, ReactNode } from 'react'\nimport type { HTMLTagsText } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport type { VLForwardedComponent, ExtendCss } from '~/types'\nimport Styled from './styled'\n\nexport type Props = Partial<{\n paragraph: boolean\n label: ReactNode\n children: ReactNode\n tag: HTMLTagsText\n extendCss: ExtendCss\n}>\n\nconst component: VLForwardedComponent<Props> & {\n isText?: true\n} = forwardRef(\n ({ paragraph, label, children, tag, extendCss, ...props }, ref) => {\n type RenderContent = (as?: any) => any\n const renderContent: RenderContent = (as = undefined) => (\n <Styled ref={ref} as={as} $text={{ extraStyles: extendCss }} {...props}>\n {children || label}\n </Styled>\n )\n\n // eslint-disable-next-line no-nested-ternary\n const finalTag = __WEB__ ? (paragraph ? 'p' : tag) : undefined\n\n return renderContent(finalTag)\n }\n)\n\nconst name = `${PKG_NAME}/Text` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\ncomponent.isText = true\n\nexport default component\n","import { ReactNode } from 'react'\nimport { renderContent } from '@vitus-labs/core'\nimport { PKG_NAME } from '~/constants'\nimport type { VLComponent } from '~/types'\n\nexport type Props = {\n children: ReactNode\n className?: string | string[]\n style?: Record<string, unknown>\n}\n\nconst component: VLComponent<Props> = ({\n children,\n className = '',\n style = { color: 'blue' },\n}) => renderContent(children, { className, style })\n\nconst name = `${PKG_NAME}/Util` as const\n\ncomponent.displayName = name\ncomponent.pkgName = PKG_NAME\ncomponent.VITUS_LABS__COMPONENT = name\n\nexport default component\n"],"names":["styles","alignContent","extendCss","config","makeItResponsive","component","forwardRef","React","Styled","value","memo","useMemo","Wrapper","renderContent","Content","name","get","createRef","useCallback","Children","isFragment","isEmpty","Iterator","pick","Element","omit","useState","useEffect","createPortal","createContext","useContext","context","useRef","throttle"],"mappings":"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"}
@@ -61,7 +61,7 @@
61
61
 
62
62
  ${n.extraStyles&&t.extendCss(n.extraStyles)};
63
63
  `,css:r.config.css,normalize:!0})};
64
- `;var g=n.memo((({contentType:e,tag:t,parentDirection:n,direction:r,alignX:i,alignY:o,equalCols:l,gap:a,extendCss:c,...d})=>s.default.createElement(u,{as:t,$contentType:e,$element:{parentDirection:n,direction:r,alignX:i,alignY:o,equalCols:l,gap:a,extraStyles:c},...d})));const p={span:!0,a:!0,button:!0,input:!0,label:!0,select:!0,textarea:!0,br:!0,img:!0,strong:!0,small:!0,code:!0,b:!0,big:!0,i:!0,tt:!0,abbr:!0,acronym:!0,cite:!0,dfn:!0,em:!0,kbd:!0,samp:!0,var:!0,bdo:!0,map:!0,object:!0,q:!0,script:!0,sub:!0,sup:!0},m={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,source:!0,track:!0,wbr:!0},h="inline",y=n.forwardRef((({innerRef:e,tag:t,label:i,content:o,children:l,beforeContent:a,afterContent:c,block:d,equalCols:u,gap:y,direction:v,alignX:b="left",alignY:w="center",css:C,contentCss:k,beforeContentCss:E,afterContentCss:x,contentDirection:$="rows",contentAlignX:S="left",contentAlignY:N="center",beforeContentDirection:A="inline",beforeContentAlignX:O="left",beforeContentAlignY:R="center",afterContentDirection:L="inline",afterContentAlignX:I="left",afterContentAlignY:P="center",...T},Y)=>{const _=!!T.dangerouslySetInnerHTML||t&&(e=>!!e&&m[e])(t),X=!a&&!c,q=l||o||i,M=(e=>!!e&&p[e])(t),D=M?"span":void 0,{wrapperDirection:B,wrapperAlignX:U,wrapperAlignY:z}=n.useMemo((()=>{let e=v,t=b,n=w;return X?($&&(e=$),S&&(t=S),N&&(n=N)):e=v||h,{wrapperDirection:e,wrapperAlignX:t,wrapperAlignY:n}}),[X,$,S,N,b,w,v]),V={ref:Y||e,extendCss:C,tag:t,block:d,direction:B,alignX:U,alignY:z,as:void 0};if(_)return s.default.createElement(f,{...T,...V});const j=r.renderContent(q);return s.default.createElement(f,{...T,...V,isInline:M},a&&s.default.createElement(g,{tag:D,contentType:"before",parentDirection:B,extendCss:E,direction:A,alignX:O,alignY:R,equalCols:u,gap:y},r.renderContent(a)),X?j:s.default.createElement(g,{tag:D,contentType:"content",parentDirection:B,extendCss:k,direction:$,alignX:S,alignY:N,equalCols:u},j),c&&s.default.createElement(g,{tag:D,contentType:"after",parentDirection:B,extendCss:x,direction:L,alignX:I,alignY:P,equalCols:u,gap:y},r.renderContent(c)))})),v=`${a}/Element`;y.displayName=v,y.pkgName=a,y.VITUS_LABS__COMPONENT=v;const b={height:"offsetHeight",width:"offsetWidth"},w=({beforeContent:e,afterContent:t})=>n=>{const i=r.get(e,b[n]),o=r.get(t,b[n]);var l,s;l=i,s=o,Number.isInteger(l)&&Number.isInteger(s)&&(i>o?(e.style[n]=`${i}px`,t.style[n]=`${i}px`):(e.style[n]=`${o}px`,t.style[n]=`${o}px`))},C=({i:e,length:t})=>{const n=e+1;return{index:e,first:1===n,last:n===t,odd:n%2==1,even:n%2==0,position:n}},k=e=>{const{itemKey:t,valueName:o,children:l,component:a,data:c,wrapComponent:d,wrapProps:f,itemProps:u}=e,g=r.renderContent,p=n.useMemo((()=>"function"==typeof u?u:()=>u),[u]),m=n.useMemo((()=>"function"==typeof f?f:()=>f),[f]),h=n.useCallback(((e,n)=>"function"==typeof t?t(e,n):n),[]),y=(e,t=1,n=0)=>{const i=C({i:n,length:t}),o=u?p({},i):{},l=f?m({},i):{};return u||d?d?s.default.createElement(d,{key:n,...l},g(e,o)):r.renderContent(e,{key:n,...o}):e},v=e=>{const n=e.filter((e=>!r.isEmpty(e))),{length:i}=n;if(0===n.length)return null;return n.map(((e,n)=>{const{component:r,...o}=e,l=r||a,c=((e,n)=>t?"function"==typeof t?t(e,n):"string"==typeof t?e[t]:n:e.key||e.id||e.itemId||n)(o,n),h=C({i:n,length:i}),y={...u?p(e,h):{},...o},v=f?m(e,h):{};return d&&!r?s.default.createElement(d,{key:c,...v},g(l,y)):g(l,{key:c,...y})}))};return(()=>{if(l)return(()=>{if(!l)return null;if(Array.isArray(l))return n.Children.map(l,((e,t)=>y(e,l.length,t)));if(i.isFragment(l)){const e=l.props.children;return e.map(((t,n)=>(console.log(t),y(t,e.length,n))))}return y(l)})();if(a&&Array.isArray(c)){const e=c.filter((e=>null!=e));if(e.every((e=>"string"==typeof e||"number"==typeof e)))return(e=>{const{length:t}=e;return 0===e.length?null:e.map(((e,n)=>{const r=h(e,n),i=o||"children",l=C({i:n,length:t}),c={...u?p({[i]:e},l):{},[i]:e},y=f?m({[i]:e},l):{};return d?s.default.createElement(d,{key:r,...y},g(a,c)):g(a,{key:r,...c})}))})(e);return e.every((e=>"object"==typeof e))?v(e):null}return null})()};k.isIterator=!0,k.RESERVED_PROPS=["children","component","wrapComponent","data","itemKey","valueName","itemProps","wrapProps"];const E=n.forwardRef((({rootElement:e=!1,...t},n)=>{const i=s.default.createElement(k,{...r.pick(t,k.RESERVED_PROPS)});return e?s.default.createElement(y,{ref:n,...r.omit(t,k.RESERVED_PROPS)},i):i})),x=`${a}/List`;E.displayName=x,E.pkgName=a,E.VITUS_LABS__COMPONENT=x;const $=["type","activeItems","itemProps","activeItemRequired"],S=({position:e,tag:t="div",children:r})=>{const[i]=n.useState(void 0);return e&&i?(n.useEffect((()=>{}),[]),o.createPortal(r,i)):null},N=`${a}/Portal`;S.displayName=N,S.pkgName=a,S.VITUS_LABS__COMPONENT=N;const A=n.createContext({}),{Provider:O}=A;var R=({isOpen:e=!1,openOn:i="click",closeOn:o="click",type:l="dropdown",position:s="fixed",align:a="bottom",alignX:c="left",alignY:d="bottom",offsetX:f=0,offsetY:u=0,throttleDelay:g=200,customScrollListener:p,closeOnEsc:m=!0,disabled:h,onOpen:y,onClose:v})=>{const{rootSize:b}=n.useContext(r.context),w=n.useContext(A),[C,k]=n.useState(!1),[E,x]=n.useState(e),$=n.useRef(),S=n.useRef(),N=n.useCallback((()=>k(!0)),[]),O=n.useCallback((()=>k(!1)),[]),R=n.useCallback((()=>{x(!0)}),[]),L=n.useCallback((()=>{x(!1)}),[]);n.useEffect((()=>{h&&L()}),[h]),n.useEffect((()=>{E&&(Y(),Y())}),[E,a,c,c]),n.useEffect((()=>{E?(y&&y(),w?.setBlocked&&w.setBlocked()):(v&&v(),w?.setUnblocked&&w.setUnblocked())}),[E,y,v]),n.useEffect((()=>{if(E)return window.addEventListener("resize",X,!1),window.addEventListener("scroll",X,!1),p&&p.addEventListener("scroll",X,!1),()=>{window.removeEventListener("resize",X,!1),window.removeEventListener("scroll",X,!1),p&&p.removeEventListener("scroll",X,!1)}}),[E,p]),n.useEffect((()=>(E?p&&"hover"!==o&&(p.style.overflow="hidden"):p&&(p.style.overflow=""),()=>{p&&(p.style.overflow="")})),[E,l,p,o]),n.useEffect((()=>{if(E)return window.addEventListener("scroll",M,!1),p&&p.addEventListener("scroll",M,!1),m&&window.addEventListener("keydown",D,!1),()=>{window.removeEventListener("scroll",M,!1),p&&p.removeEventListener("scroll",M,!1),m&&window.removeEventListener("keydown",D,!1)}}),[E,p,m]),n.useEffect((()=>{if(!C&&!h)return"click"!==i&&"click"!==o&&"clickOnTrigger"!==o&&"clickOutsideContent"!==o||window.addEventListener("click",q,!1),"hover"!==i&&"hover"!==o||window.addEventListener("mousemove",M,!1),()=>{window.removeEventListener("click",q,!1),window.removeEventListener("mousemove",M,!1)}}),[i,o,C,h,E]);const I=e=>t=>!!(t&&t.target&&e.current)&&(e.current.contains(t.target)||t.target===e.current),P=I($),T=I(S),Y=()=>{if(!E)return;if(!$.current||!S.current)return;const e={position:s},n=$.current.getBoundingClientRect(),r=S.current.getBoundingClientRect();if(["dropdown","tooltip","popover"].includes(l)){if(["top","bottom"].includes(a)){const t=n.top-u-r.height,i=n.bottom+u,o=n.left+f,l=n.right-f-r.width,s=t>=0,d=i+r.height<=window.innerHeight,g=o+r.width<=window.innerWidth,p=l>=0;if("top"===a?e.top=s?t:i:"bottom"===a&&(e.top=d?i:t),"left"===c)e.left=g?o:l;else if("center"===c){const t=n.left+(n.right-n.left)/2-r.width/2,i=t>=0,s=t+r.width<=window.innerWidth;i&&s?e.left=t:i?e.left=o:s&&(e.left=l)}else"right"===c&&(e.left=p?l:o)}else if(["left","right"].includes(a)){const t=n.left-f-r.width,i=n.right+f,o=n.top+u,l=n.bottom-u-r.height,s=t>=0,c=i+r.width<=window.innerWidth,g=o+r.height<=window.innerHeight,p=l>=0;if("left"===a?e.left=s?t:i:"right"===a&&(e.left=c?i:t),"top"===d)e.top=g?o:l;else if("center"===d){const t=n.top+(n.bottom-n.top)/2-r.height/2,i=t>=0,s=t+r.height<=window.innerHeight;i&&s?e.top=t:i?e.top=o:s&&(e.top=l)}else"bottom"===d&&(e.top=p?l:o)}}else if("modal"===l){switch(c){case"right":e.right=f;break;case"left":e.left=f;break;case"center":default:e.left=window.innerWidth/2-r.width/2}switch(d){case"top":e.top=u;break;case"center":e.top=window.innerHeight/2-r.height/2;break;case"bottom":default:e.bottom=u}}const i=e=>t.value(e,b);S.current.style.position=s,S.current.style.top=i(e.top),S.current.style.bottom=i(e.bottom),S.current.style.left=i(e.left),S.current.style.right=i(e.right)},_=e=>{E||("hover"===i&&"mousemove"===e.type||"click"===i&&"click"===e.type)&&P(e)&&R(),E&&("hover"===o&&"mousemove"===e.type&&(P(e)||T(e)||L()),"hover"===o&&"scroll"===e.type&&L(),"click"===o&&"click"===e.type&&L(),"clickOnTrigger"===o&&"click"===e.type&&P(e)&&L(),"clickOutsideContent"===o&&"click"===e.type&&(T(e)||L()))},X=r.throttle(Y,g),q=_,M=r.throttle(_,g),D=e=>{"Escape"===e.key&&L()};return{triggerRef:$,contentRef:S,active:E,align:a,alignX:c,alignY:d,showContent:R,hideContent:L,blocked:C,setBlocked:N,setUnblocked:O}};const L=({children:e,trigger:t,DOMLocation:i,triggerRefName:o="ref",contentRefName:l="ref",...a})=>{const{active:c,triggerRef:d,contentRef:f,showContent:u,hideContent:g,align:p,alignX:m,alignY:h,...y}=R(a),{openOn:v,closeOn:b}=a,w=n.useMemo((()=>"manual"===v||"manual"===b||"clickOutsideContent"===b),[v,b]);return s.default.createElement(s.default.Fragment,null,r.renderContent(t,{[o]:d,active:c,...w?{showContent:u,hideContent:g}:{}}),!1)},I=`${a}/Overlay`;L.displayName=I,L.pkgName=a,L.VITUS_LABS__COMPONENT=I;var P=r.config.styled(r.config.textComponent)`
64
+ `;var g=n.memo((({contentType:e,tag:t,parentDirection:n,direction:r,alignX:i,alignY:o,equalCols:l,gap:a,extendCss:c,...d})=>s.default.createElement(u,{as:t,$contentType:e,$element:{parentDirection:n,direction:r,alignX:i,alignY:o,equalCols:l,gap:a,extraStyles:c},...d})));const p={span:!0,a:!0,button:!0,input:!0,label:!0,select:!0,textarea:!0,br:!0,img:!0,strong:!0,small:!0,code:!0,b:!0,big:!0,i:!0,tt:!0,abbr:!0,acronym:!0,cite:!0,dfn:!0,em:!0,kbd:!0,samp:!0,var:!0,bdo:!0,map:!0,object:!0,q:!0,script:!0,sub:!0,sup:!0},m={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,source:!0,track:!0,wbr:!0},h="inline",y=n.forwardRef((({innerRef:e,tag:t,label:i,content:o,children:l,beforeContent:a,afterContent:c,block:d,equalCols:u,gap:y,direction:v,alignX:b="left",alignY:w="center",css:C,contentCss:k,beforeContentCss:E,afterContentCss:x,contentDirection:$="rows",contentAlignX:S="left",contentAlignY:N="center",beforeContentDirection:A="inline",beforeContentAlignX:O="left",beforeContentAlignY:R="center",afterContentDirection:L="inline",afterContentAlignX:I="left",afterContentAlignY:P="center",...T},Y)=>{const _=!!T.dangerouslySetInnerHTML||t&&(e=>!!e&&m[e])(t),X=!a&&!c,q=l||o||i,M=(e=>!!e&&p[e])(t),D=M?"span":void 0,{wrapperDirection:B,wrapperAlignX:U,wrapperAlignY:z}=n.useMemo((()=>{let e=v,t=b,n=w;return X?($&&(e=$),S&&(t=S),N&&(n=N)):e=v||h,{wrapperDirection:e,wrapperAlignX:t,wrapperAlignY:n}}),[X,$,S,N,b,w,v]),V={ref:Y||e,extendCss:C,tag:t,block:d,direction:B,alignX:U,alignY:z,as:void 0};if(_)return s.default.createElement(f,{...T,...V});const j=r.renderContent(q);return s.default.createElement(f,{...T,...V,isInline:M},a&&s.default.createElement(g,{tag:D,contentType:"before",parentDirection:B,extendCss:E,direction:A,alignX:O,alignY:R,equalCols:u,gap:y},r.renderContent(a)),X?j:s.default.createElement(g,{tag:D,contentType:"content",parentDirection:B,extendCss:k,direction:$,alignX:S,alignY:N,equalCols:u},j),c&&s.default.createElement(g,{tag:D,contentType:"after",parentDirection:B,extendCss:x,direction:L,alignX:I,alignY:P,equalCols:u,gap:y},r.renderContent(c)))})),v=`${a}/Element`;y.displayName=v,y.pkgName=a,y.VITUS_LABS__COMPONENT=v;const b={height:"offsetHeight",width:"offsetWidth"},w=({beforeContent:e,afterContent:t})=>n=>{const i=r.get(e,b[n]),o=r.get(t,b[n]);var l,s;l=i,s=o,Number.isInteger(l)&&Number.isInteger(s)&&(i>o?(e.style[n]=`${i}px`,t.style[n]=`${i}px`):(e.style[n]=`${o}px`,t.style[n]=`${o}px`))},C=({i:e,length:t})=>{const n=e+1;return{index:e,first:1===n,last:n===t,odd:n%2==1,even:n%2==0,position:n}},k=e=>{const{itemKey:t,valueName:o,children:l,component:a,data:c,wrapComponent:d,wrapProps:f,itemProps:u}=e,g=r.renderContent,p=n.useMemo((()=>"function"==typeof u?u:()=>u),[u]),m=n.useMemo((()=>"function"==typeof f?f:()=>f),[f]),h=n.useCallback(((e,n)=>"function"==typeof t?t(e,n):n),[]),y=(e,t=1,n=0)=>{const i=C({i:n,length:t}),o=u?p({},i):{},l=f?m({},i):{};return u||d?d?s.default.createElement(d,{key:n,...l},g(e,o)):r.renderContent(e,{key:n,...o}):e},v=e=>{const n=e.filter((e=>!r.isEmpty(e))),{length:i}=n;if(0===n.length)return null;return n.map(((e,n)=>{const{component:r,...o}=e,l=r||a,c=((e,n)=>t?"function"==typeof t?t(e,n):"string"==typeof t?e[t]:n:e.key||e.id||e.itemId||n)(o,n),h=C({i:n,length:i}),y={...u?p(e,h):{},...o},v=f?m(e,h):{};return d&&!r?s.default.createElement(d,{key:c,...v},g(l,y)):g(l,{key:c,...y})}))};return(()=>{if(l)return(()=>{if(!l)return null;if(Array.isArray(l))return n.Children.map(l,((e,t)=>y(e,l.length,t)));if(i.isFragment(l)){const e=l.props.children;return e.map(((t,n)=>(console.log(t),y(t,e.length,n))))}return y(l)})();if(a&&Array.isArray(c)){const e=c.filter((e=>null!=e));if(e.every((e=>"string"==typeof e||"number"==typeof e)))return(e=>{const{length:t}=e;return 0===e.length?null:e.map(((e,n)=>{const r=h(e,n),i=o||"children",l=C({i:n,length:t}),c={...u?p({[i]:e},l):{},[i]:e},y=f?m({[i]:e},l):{};return d?s.default.createElement(d,{key:r,...y},g(a,c)):g(a,{key:r,...c})}))})(e);return e.every((e=>"object"==typeof e))?v(e):null}return null})()};k.isIterator=!0,k.RESERVED_PROPS=["children","component","wrapComponent","data","itemKey","valueName","itemProps","wrapProps"];const E=n.forwardRef((({rootElement:e=!1,...t},n)=>{const i=s.default.createElement(k,{...r.pick(t,k.RESERVED_PROPS)});return e?s.default.createElement(y,{ref:n,...r.omit(t,k.RESERVED_PROPS)},i):i})),x=`${a}/List`;E.displayName=x,E.pkgName=a,E.VITUS_LABS__COMPONENT=x;const $=["type","activeItems","itemProps","activeItemRequired"],S=({position:e,tag:t="div",children:r})=>{const[i]=n.useState(void 0);return e&&i?(n.useEffect((()=>{}),[]),o.createPortal(r,i)):null},N=`${a}/Portal`;S.displayName=N,S.pkgName=a,S.VITUS_LABS__COMPONENT=N;const A=n.createContext({}),{Provider:O}=A;var R=({isOpen:e=!1,openOn:i="click",closeOn:o="click",type:l="dropdown",position:s="fixed",align:a="bottom",alignX:c="left",alignY:d="bottom",offsetX:f=0,offsetY:u=0,throttleDelay:g=200,customScrollListener:p,closeOnEsc:m=!0,disabled:h,onOpen:y,onClose:v})=>{const{rootSize:b}=n.useContext(r.context),w=n.useContext(A),[C,k]=n.useState(!1),[E,x]=n.useState(e),$=n.useRef(),S=n.useRef(),N=n.useCallback((()=>k(!0)),[]),O=n.useCallback((()=>k(!1)),[]),R=n.useCallback((()=>{x(!0)}),[]),L=n.useCallback((()=>{x(!1)}),[]);n.useEffect((()=>{h&&L()}),[h]),n.useEffect((()=>{E&&(Y(),Y())}),[E,a,c,c]),n.useEffect((()=>{E?(y&&y(),w&&w.setBlocked&&w.setBlocked()):(v&&v(),w&&w.setUnblocked&&w.setUnblocked())}),[E,y,v]),n.useEffect((()=>{if(E)return window.addEventListener("resize",X,!1),window.addEventListener("scroll",X,!1),p&&p.addEventListener("scroll",X,!1),()=>{window.removeEventListener("resize",X,!1),window.removeEventListener("scroll",X,!1),p&&p.removeEventListener("scroll",X,!1)}}),[E,p]),n.useEffect((()=>(E?p&&"hover"!==o&&(p.style.overflow="hidden"):p&&(p.style.overflow=""),()=>{p&&(p.style.overflow="")})),[E,l,p,o]),n.useEffect((()=>{if(E)return window.addEventListener("scroll",M,!1),p&&p.addEventListener("scroll",M,!1),m&&window.addEventListener("keydown",D,!1),()=>{window.removeEventListener("scroll",M,!1),p&&p.removeEventListener("scroll",M,!1),m&&window.removeEventListener("keydown",D,!1)}}),[E,p,m]),n.useEffect((()=>{if(!C&&!h)return"click"!==i&&"click"!==o&&"clickOnTrigger"!==o&&"clickOutsideContent"!==o||window.addEventListener("click",q,!1),"hover"!==i&&"hover"!==o||window.addEventListener("mousemove",M,!1),()=>{window.removeEventListener("click",q,!1),window.removeEventListener("mousemove",M,!1)}}),[i,o,C,h,E]);const I=e=>t=>!!(t&&t.target&&e.current)&&(e.current.contains(t.target)||t.target===e.current),P=I($),T=I(S),Y=()=>{if(!E)return;if(!$.current||!S.current)return;const e={position:s},n=$.current.getBoundingClientRect(),r=S.current.getBoundingClientRect();if(["dropdown","tooltip","popover"].includes(l)){if(["top","bottom"].includes(a)){const t=n.top-u-r.height,i=n.bottom+u,o=n.left+f,l=n.right-f-r.width,s=t>=0,d=i+r.height<=window.innerHeight,g=o+r.width<=window.innerWidth,p=l>=0;if("top"===a?e.top=s?t:i:"bottom"===a&&(e.top=d?i:t),"left"===c)e.left=g?o:l;else if("center"===c){const t=n.left+(n.right-n.left)/2-r.width/2,i=t>=0,s=t+r.width<=window.innerWidth;i&&s?e.left=t:i?e.left=o:s&&(e.left=l)}else"right"===c&&(e.left=p?l:o)}else if(["left","right"].includes(a)){const t=n.left-f-r.width,i=n.right+f,o=n.top+u,l=n.bottom-u-r.height,s=t>=0,c=i+r.width<=window.innerWidth,g=o+r.height<=window.innerHeight,p=l>=0;if("left"===a?e.left=s?t:i:"right"===a&&(e.left=c?i:t),"top"===d)e.top=g?o:l;else if("center"===d){const t=n.top+(n.bottom-n.top)/2-r.height/2,i=t>=0,s=t+r.height<=window.innerHeight;i&&s?e.top=t:i?e.top=o:s&&(e.top=l)}else"bottom"===d&&(e.top=p?l:o)}}else if("modal"===l){switch(c){case"right":e.right=f;break;case"left":e.left=f;break;case"center":default:e.left=window.innerWidth/2-r.width/2}switch(d){case"top":e.top=u;break;case"center":e.top=window.innerHeight/2-r.height/2;break;case"bottom":default:e.bottom=u}}const i=e=>t.value(e,b);S.current.style.position=s,S.current.style.top=i(e.top),S.current.style.bottom=i(e.bottom),S.current.style.left=i(e.left),S.current.style.right=i(e.right)},_=e=>{E||("hover"===i&&"mousemove"===e.type||"click"===i&&"click"===e.type)&&P(e)&&R(),E&&("hover"===o&&"mousemove"===e.type&&(P(e)||T(e)||L()),"hover"===o&&"scroll"===e.type&&L(),"click"===o&&"click"===e.type&&L(),"clickOnTrigger"===o&&"click"===e.type&&P(e)&&L(),"clickOutsideContent"===o&&"click"===e.type&&(T(e)||L()))},X=r.throttle(Y,g),q=_,M=r.throttle(_,g),D=e=>{"Escape"===e.key&&L()};return{triggerRef:$,contentRef:S,active:E,align:a,alignX:c,alignY:d,showContent:R,hideContent:L,blocked:C,setBlocked:N,setUnblocked:O}};const L=({children:e,trigger:t,DOMLocation:i,triggerRefName:o="ref",contentRefName:l="ref",...a})=>{const{active:c,triggerRef:d,contentRef:f,showContent:u,hideContent:g,align:p,alignX:m,alignY:h,...y}=R(a),{openOn:v,closeOn:b}=a,w=n.useMemo((()=>"manual"===v||"manual"===b||"clickOutsideContent"===b),[v,b]);return s.default.createElement(s.default.Fragment,null,r.renderContent(t,{[o]:d,active:c,...w?{showContent:u,hideContent:g}:{}}),!1)},I=`${a}/Overlay`;L.displayName=I,L.pkgName=a,L.VITUS_LABS__COMPONENT=I;var P=r.config.styled(r.config.textComponent)`
65
65
  color: inherit;
66
66
  font-weight: normal;
67
67
  line-height: 1;