@vitus-labs/elements 0.40.0 → 0.41.0-alpha.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 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 ${__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 ${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 align = 'bottom', // * main align prop * top | left | bottom | right\n position = 'fixed', // absolute | fixed | relative | static\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 [innerAlign, setInnerAlign] = useState(align)\n const [innerAlignX, setInnerAlignX] = useState(alignX)\n const [innerAlignY, setInnerAlignY] = useState(alignY)\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 // 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 (ctx?.setBlocked) ctx.setBlocked()\n if (onOpen) onOpen()\n } else {\n if (ctx?.setUnblocked) ctx.setUnblocked()\n if (onClose) onClose()\n }\n }, [active, onOpen, onClose])\n\n // calculate position on every position change state\n useEffect(() => {\n if (active) {\n calculateContentPosition()\n }\n }, [active, innerAlign, innerAlignX, innerAlignY])\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\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 triggerDimensions = triggerRef.current.getBoundingClientRect()\n const contentDimensions = contentRef.current.getBoundingClientRect()\n\n const overlayPosition: OverlayPosition = {\n position,\n }\n\n if (['dropdown', 'tooltip', 'popover'].includes(type)) {\n if (['top', 'bottom'].includes(align)) {\n const positionTop =\n triggerDimensions.top - offsetY - contentDimensions.height\n const positionBottom = triggerDimensions.bottom + offsetY\n\n const positionLeft = triggerDimensions.left - offsetX\n const positionRight =\n triggerDimensions.right + offsetX - contentDimensions.width\n\n if (align === 'top') {\n const isTop = positionTop >= 0\n\n setInnerAlign(isTop ? 'top' : 'bottom')\n overlayPosition.top = isTop ? positionTop : positionBottom\n } else {\n const isBottom =\n positionBottom + contentDimensions.height <= window.innerHeight\n\n setInnerAlign(isBottom ? 'bottom' : 'top')\n overlayPosition.top = isBottom ? positionBottom : positionTop\n }\n\n switch (alignX) {\n case 'right': {\n const isRight = positionRight >= 0\n\n setInnerAlignX(isRight ? 'right' : 'left')\n overlayPosition.left = isRight ? positionRight : positionLeft\n\n break\n }\n case 'center': {\n overlayPosition.left =\n triggerDimensions.left +\n (triggerDimensions.right - triggerDimensions.left) / 2 -\n contentDimensions.width / 2\n break\n }\n case 'left':\n default: {\n const isLeft =\n positionLeft + contentDimensions.width <= window.innerWidth\n\n setInnerAlignX(isLeft ? 'left' : 'right')\n overlayPosition.left = isLeft ? positionLeft : positionRight\n break\n }\n }\n } else if (['left', 'right'].includes(align)) {\n const positionLeft =\n triggerDimensions.left - offsetX - contentDimensions.width\n const positionRight = triggerDimensions.right + offsetX\n\n const positionTop = triggerDimensions.top + offsetY\n const positionBottom =\n triggerDimensions.bottom - offsetY - contentDimensions.height\n\n if (align === 'left') {\n const isLeft = positionLeft >= 0\n\n setInnerAlign(isLeft ? 'left' : 'right')\n overlayPosition.left = isLeft ? positionLeft : positionRight\n } else {\n const isRight =\n positionRight + contentDimensions.width <= window.innerWidth\n\n setInnerAlign(isRight ? 'right' : 'left')\n overlayPosition.left = isRight ? positionRight : positionLeft\n }\n\n switch (alignY) {\n case 'top': {\n const isTop =\n positionTop + contentDimensions.height <= window.innerHeight\n\n setInnerAlignY(isTop ? 'top' : 'bottom')\n overlayPosition.top = isTop ? positionTop : positionBottom\n break\n }\n case 'center':\n overlayPosition.top =\n triggerDimensions.top -\n offsetY +\n (triggerDimensions.bottom - triggerDimensions.top) / 2 -\n contentDimensions.height / 2\n break\n case 'bottom':\n default: {\n const isBottom = positionBottom >= 0\n\n setInnerAlignY(isBottom ? 'bottom' : 'top')\n overlayPosition.top = isBottom ? positionBottom : positionTop\n }\n }\n }\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 =\n window.innerWidth / 2 - contentDimensions.width / 2\n break\n }\n\n switch (alignY) {\n case 'top':\n overlayPosition.top = offsetY\n break\n case 'center':\n overlayPosition.top =\n window.innerHeight / 2 - contentDimensions.height / 2\n break\n case 'bottom':\n default:\n overlayPosition.bottom = offsetY\n break\n }\n }\n\n // ADD POSITION STYLES TO CONTENT\n contentRef.current.style.position = overlayPosition.position\n contentRef.current.style.top = value(\n [overlayPosition.top],\n rootSize\n ) as string\n contentRef.current.style.bottom = value(\n [overlayPosition.bottom],\n rootSize\n ) as string\n contentRef.current.style.left = value(\n [overlayPosition.left],\n rootSize\n ) as string\n contentRef.current.style.right = value(\n [overlayPosition.right],\n rootSize\n ) as string\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\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: innerAlign,\n alignX: innerAlignX,\n alignY: innerAlignY,\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 align = 'bottom', // * main align prop * top | left | bottom | right\n position = 'fixed', // absolute | fixed | relative | static\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 [innerAlign, setInnerAlign] = useState(align)\n const [innerAlignX, setInnerAlignX] = useState(alignX)\n const [innerAlignY, setInnerAlignY] = useState(alignY)\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 (active) {\n if (onOpen) onOpen()\n } else {\n if (onClose) onClose()\n }\n }, [active, onOpen, onClose])\n\n useEffect(() => {\n if (disabled) {\n hideContent()\n }\n }, [disabled])\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 (ctx?.setBlocked) ctx.setBlocked()\n } else {\n if (ctx?.setUnblocked) ctx.setUnblocked()\n }\n }, [active, ctx])\n\n // calculate position on every position change state\n useEffect(() => {\n if (active) {\n calculateContentPosition()\n }\n }, [active, innerAlign, innerAlignX, innerAlignY])\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\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 triggerDimensions = triggerRef.current.getBoundingClientRect()\n const contentDimensions = contentRef.current.getBoundingClientRect()\n\n const overlayPosition: OverlayPosition = {\n position,\n }\n\n if (['dropdown', 'tooltip', 'popover'].includes(type)) {\n if (['top', 'bottom'].includes(align)) {\n const positionTop =\n triggerDimensions.top - offsetY - contentDimensions.height\n const positionBottom = triggerDimensions.bottom + offsetY\n\n const positionLeft = triggerDimensions.left - offsetX\n const positionRight =\n triggerDimensions.right + offsetX - contentDimensions.width\n\n if (align === 'top') {\n const isTop = positionTop >= 0\n\n setInnerAlign(isTop ? 'top' : 'bottom')\n overlayPosition.top = isTop ? positionTop : positionBottom\n } else {\n const isBottom =\n positionBottom + contentDimensions.height <= window.innerHeight\n\n setInnerAlign(isBottom ? 'bottom' : 'top')\n overlayPosition.top = isBottom ? positionBottom : positionTop\n }\n\n switch (alignX) {\n case 'right': {\n const isRight = positionRight >= 0\n\n setInnerAlignX(isRight ? 'right' : 'left')\n overlayPosition.left = isRight ? positionRight : positionLeft\n\n break\n }\n case 'center': {\n overlayPosition.left =\n triggerDimensions.left +\n (triggerDimensions.right - triggerDimensions.left) / 2 -\n contentDimensions.width / 2\n break\n }\n case 'left':\n default: {\n const isLeft =\n positionLeft + contentDimensions.width <= window.innerWidth\n\n setInnerAlignX(isLeft ? 'left' : 'right')\n overlayPosition.left = isLeft ? positionLeft : positionRight\n break\n }\n }\n } else if (['left', 'right'].includes(align)) {\n const positionLeft =\n triggerDimensions.left - offsetX - contentDimensions.width\n const positionRight = triggerDimensions.right + offsetX\n\n const positionTop = triggerDimensions.top + offsetY\n const positionBottom =\n triggerDimensions.bottom - offsetY - contentDimensions.height\n\n if (align === 'left') {\n const isLeft = positionLeft >= 0\n\n setInnerAlign(isLeft ? 'left' : 'right')\n overlayPosition.left = isLeft ? positionLeft : positionRight\n } else {\n const isRight =\n positionRight + contentDimensions.width <= window.innerWidth\n\n setInnerAlign(isRight ? 'right' : 'left')\n overlayPosition.left = isRight ? positionRight : positionLeft\n }\n\n switch (alignY) {\n case 'top': {\n const isTop =\n positionTop + contentDimensions.height <= window.innerHeight\n\n setInnerAlignY(isTop ? 'top' : 'bottom')\n overlayPosition.top = isTop ? positionTop : positionBottom\n break\n }\n case 'center':\n overlayPosition.top =\n triggerDimensions.top -\n offsetY +\n (triggerDimensions.bottom - triggerDimensions.top) / 2 -\n contentDimensions.height / 2\n break\n case 'bottom':\n default: {\n const isBottom = positionBottom >= 0\n\n setInnerAlignY(isBottom ? 'bottom' : 'top')\n overlayPosition.top = isBottom ? positionBottom : positionTop\n }\n }\n }\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 =\n window.innerWidth / 2 - contentDimensions.width / 2\n break\n }\n\n switch (alignY) {\n case 'top':\n overlayPosition.top = offsetY\n break\n case 'center':\n overlayPosition.top =\n window.innerHeight / 2 - contentDimensions.height / 2\n break\n case 'bottom':\n default:\n overlayPosition.bottom = offsetY\n break\n }\n }\n\n // ADD POSITION STYLES TO CONTENT\n contentRef.current.style.position = overlayPosition.position\n contentRef.current.style.top = value(\n [overlayPosition.top],\n rootSize\n ) as string\n contentRef.current.style.bottom = value(\n [overlayPosition.bottom],\n rootSize\n ) as string\n contentRef.current.style.left = value(\n [overlayPosition.left],\n rootSize\n ) as string\n contentRef.current.style.right = value(\n [overlayPosition.right],\n rootSize\n ) as string\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\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: innerAlign,\n alignX: innerAlignX,\n alignY: innerAlignY,\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,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@vitus-labs/unistyle"),require("react"),require("@vitus-labs/core"),require("react-is"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@vitus-labs/unistyle","react","@vitus-labs/core","react-is","react-dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vitusLabsElements={},e.unistyle,e.React,e.core,e.ReactIs,e.ReactDOM)}(this,(function(e,t,n,r,i,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(n);const s="@vitus-labs/elements",c={button:!0,fieldset:!0,legend:!0};var d=r.config.styled(r.config.component)`
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@vitus-labs/unistyle"),require("react"),require("@vitus-labs/core"),require("react-is"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@vitus-labs/unistyle","react","@vitus-labs/core","react-is","react-dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vitusLabsElements={},e.unistyle,e.React,e.core,e.ReactIs,e.ReactDOM)}(this,(function(e,t,n,r,i,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(n);const a="@vitus-labs/elements",c={button:!0,fieldset:!0,legend:!0};var d=r.config.styled(r.config.component)`
2
2
  position: relative;
3
3
  ${"box-sizing: border-box;"};
4
4
 
@@ -10,6 +10,16 @@
10
10
  `};
11
11
 
12
12
  ${t.makeItResponsive({key:"$element",styles:({theme:e,css:n})=>n`
13
+ ${"block"===e.alignY&&n`
14
+ height: 100%;
15
+ `};
16
+
17
+ ${t.alignContent({direction:e.direction,alignX:e.alignX,alignY:e.alignY})};
18
+
19
+ ${e.block&&n`
20
+ align-self: stretch;
21
+ `}
22
+
13
23
  ${n`
14
24
  ${({$childFix:t})=>!t&&n`
15
25
  display: ${e.block?"flex":"inline-flex"};
@@ -21,19 +31,9 @@
21
31
  `};
22
32
  `};
23
33
 
24
- ${"block"===e.alignY&&n`
25
- height: 100%;
26
- `};
27
-
28
- ${t.alignContent({direction:e.direction,alignX:e.alignX,alignY:e.alignY})};
29
-
30
- ${e.block&&n`
31
- align-self: stretch;
32
- `}
33
-
34
34
  ${e.extraStyles&&t.extendCss(e.extraStyles)};
35
35
  `,css:r.config.css,normalize:!0})};
36
- `;const f=n.forwardRef((({children:e,tag:t,block:n,extendCss:r,direction:i,alignX:o,alignY:l,equalCols:s,isInline:f,...u},g)=>{const p={...u,ref:g,as:t},m=f?"span":"div";return!u.dangerouslySetInnerHTML&&t&&(e=>c[e])(t)?a.default.createElement(d,{...p,$parentFix:!0,$element:{block:n,extraStyles:r}},a.default.createElement(d,{as:m,$childFix:!0,$element:{direction:i,alignX:o,alignY:l,equalCols:s}},e)):a.default.createElement(d,{...p,$element:{block:n,direction:i,alignX:o,alignY:l,equalCols:s,extraStyles:r}},e)}));var u=r.config.styled(r.config.component)`
36
+ `;const f=n.forwardRef((({children:e,tag:t,block:n,extendCss:r,direction:i,alignX:o,alignY:l,equalCols:a,isInline:f,...u},g)=>{const p={...u,ref:g,as:t},m=f?"span":"div";return!u.dangerouslySetInnerHTML&&t&&(e=>c[e])(t)?s.default.createElement(d,{...p,$parentFix:!0,$element:{block:n,extraStyles:r}},s.default.createElement(d,{as:m,$childFix:!0,$element:{direction:i,alignX:o,alignY:l,equalCols:a}},e)):s.default.createElement(d,{...p,$element:{block:n,direction:i,alignX:o,alignY:l,equalCols:a,extraStyles:r}},e)}));var u=r.config.styled(r.config.component)`
37
37
  ${r.config.css`
38
38
  box-sizing: border-box;
39
39
  `};
@@ -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:s,extendCss:c,...d})=>a.default.createElement(u,{as:t,$contentType:e,$element:{parentDirection:n,direction:r,alignX:i,alignY:o,equalCols:l,gap:s,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:s,afterContent:c,block:d,equalCols:u,gap:y,direction:b,alignX:v="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=!s&&!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=b,t=v,n=w;return X?($&&(e=$),S&&(t=S),N&&(n=N)):e=b||h,{wrapperDirection:e,wrapperAlignX:t,wrapperAlignY:n}}),[X,$,S,N,v,w,b]),V={ref:Y||e,extendCss:C,tag:t,block:d,direction:B,alignX:U,alignY:z,as:void 0};if(_)return a.default.createElement(f,{...T,...V});const j=r.renderContent(q);return a.default.createElement(f,{...T,...V,isInline:M},s&&a.default.createElement(g,{tag:D,contentType:"before",parentDirection:B,extendCss:E,direction:A,alignX:O,alignY:R,equalCols:u,gap:y},r.renderContent(s)),X?j:a.default.createElement(g,{tag:D,contentType:"content",parentDirection:B,extendCss:k,direction:$,alignX:S,alignY:N,equalCols:u},j),c&&a.default.createElement(g,{tag:D,contentType:"after",parentDirection:B,extendCss:x,direction:L,alignX:I,alignY:P,equalCols:u,gap:y},r.renderContent(c)))})),b=`${s}/Element`;y.displayName=b,y.pkgName=s,y.VITUS_LABS__COMPONENT=b;const v={height:"offsetHeight",width:"offsetWidth"},w=({beforeContent:e,afterContent:t})=>n=>{const i=r.get(e,v[n]),o=r.get(t,v[n]);var l,a;l=i,a=o,Number.isInteger(l)&&Number.isInteger(a)&&(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:s,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?a.default.createElement(d,{key:n,...l},g(e,o)):r.renderContent(e,{key:n,...o}):e},b=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||s,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},b=f?m(e,h):{};return d&&!r?a.default.createElement(d,{key:c,...b},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(s&&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?a.default.createElement(d,{key:r,...y},g(s,c)):g(s,{key:r,...c})}))})(e);return e.every((e=>"object"==typeof e))?b(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=a.default.createElement(k,{...r.pick(t,k.RESERVED_PROPS)});return e?a.default.createElement(y,{ref:n,...r.omit(t,k.RESERVED_PROPS)},i):i})),x=`${s}/List`;E.displayName=x,E.pkgName=s,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=`${s}/Portal`;S.displayName=N,S.pkgName=s,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",align:a="bottom",position:s="fixed",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:b})=>{const{rootSize:v}=n.useContext(r.context),w=n.useContext(A),[C,k]=n.useState(!1),[E,x]=n.useState(e),[$,S]=n.useState(a),[N,O]=n.useState(c),[R,L]=n.useState(d),I=n.useRef(),P=n.useRef(),T=n.useCallback((()=>k(!0)),[]),Y=n.useCallback((()=>k(!1)),[]),_=n.useCallback((()=>{x(!0)}),[]),X=n.useCallback((()=>{x(!1)}),[]);n.useEffect((()=>{E?(w?.setBlocked&&w.setBlocked(),y&&y()):(w?.setUnblocked&&w.setUnblocked(),b&&b())}),[E,y,b]),n.useEffect((()=>{E&&B()}),[E,$,N,R]),n.useEffect((()=>{if(E)return window.addEventListener("resize",z,!1),window.addEventListener("scroll",z,!1),p&&p.addEventListener("scroll",z,!1),()=>{window.removeEventListener("resize",z,!1),window.removeEventListener("scroll",z,!1),p&&p.removeEventListener("scroll",z,!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",j,!1),p&&p.addEventListener("scroll",j,!1),m&&window.addEventListener("keydown",F,!1),()=>{window.removeEventListener("scroll",j,!1),p&&p.removeEventListener("scroll",j,!1),m&&window.removeEventListener("keydown",F,!1)}}),[E,p,m]),n.useEffect((()=>{if(!C&&!h)return"click"!==i&&"click"!==o&&"clickOnTrigger"!==o&&"clickOutsideContent"!==o||window.addEventListener("click",V,!1),"hover"!==i&&"hover"!==o||window.addEventListener("mousemove",j,!1),()=>{window.removeEventListener("click",V,!1),window.removeEventListener("mousemove",j,!1)}}),[i,o,C,h,E]);const q=e=>t=>!!(t&&t.target&&e.current)&&(e.current.contains(t.target)||t.target===e.current),M=q(I),D=q(P),B=()=>{if(!E)return;if(!I.current||!P.current)return;const e=I.current.getBoundingClientRect(),n=P.current.getBoundingClientRect(),r={position:s};if(["dropdown","tooltip","popover"].includes(l)){if(["top","bottom"].includes(a)){const t=e.top-u-n.height,i=e.bottom+u,o=e.left-f,l=e.right+f-n.width;if("top"===a){const e=t>=0;S(e?"top":"bottom"),r.top=e?t:i}else{const e=i+n.height<=window.innerHeight;S(e?"bottom":"top"),r.top=e?i:t}switch(c){case"right":{const e=l>=0;O(e?"right":"left"),r.left=e?l:o;break}case"center":r.left=e.left+(e.right-e.left)/2-n.width/2;break;case"left":default:{const e=o+n.width<=window.innerWidth;O(e?"left":"right"),r.left=e?o:l;break}}}else if(["left","right"].includes(a)){const t=e.left-f-n.width,i=e.right+f,o=e.top+u,l=e.bottom-u-n.height;if("left"===a){const e=t>=0;S(e?"left":"right"),r.left=e?t:i}else{const e=i+n.width<=window.innerWidth;S(e?"right":"left"),r.left=e?i:t}switch(d){case"top":{const e=o+n.height<=window.innerHeight;L(e?"top":"bottom"),r.top=e?o:l;break}case"center":r.top=e.top-u+(e.bottom-e.top)/2-n.height/2;break;case"bottom":default:{const e=l>=0;L(e?"bottom":"top"),r.top=e?l:o}}}}else if("modal"===l){switch(c){case"right":r.right=f;break;case"left":r.left=f;break;case"center":default:r.left=window.innerWidth/2-n.width/2}switch(d){case"top":r.top=u;break;case"center":r.top=window.innerHeight/2-n.height/2;break;case"bottom":default:r.bottom=u}}P.current.style.position=r.position,P.current.style.top=t.value([r.top],v),P.current.style.bottom=t.value([r.bottom],v),P.current.style.left=t.value([r.left],v),P.current.style.right=t.value([r.right],v)},U=e=>{E||("hover"===i&&"mousemove"===e.type||"click"===i&&"click"===e.type)&&M(e)&&_(),E&&("hover"===o&&"mousemove"===e.type&&(M(e)||D(e)||X()),"hover"===o&&"scroll"===e.type&&X(),"click"===o&&"click"===e.type&&X(),"clickOnTrigger"===o&&"click"===e.type&&M(e)&&X(),"clickOutsideContent"===o&&"click"===e.type&&(D(e)||X()))},z=r.throttle(B,g),V=U,j=r.throttle(U,g),F=e=>{"Escape"===e.key&&X()};return{triggerRef:I,contentRef:P,active:E,align:$,alignX:N,alignY:R,showContent:_,hideContent:X,blocked:C,setBlocked:T,setUnblocked:Y}};const L=({children:e,trigger:t,DOMLocation:i,triggerRefName:o="ref",contentRefName:l="ref",...s})=>{const{active:c,triggerRef:d,contentRef:f,showContent:u,hideContent:g,align:p,alignX:m,alignY:h,...y}=R(s),{openOn:b,closeOn:v}=s,w=n.useMemo((()=>"manual"===b||"manual"===v||"clickOutsideContent"===v),[b,v]);return a.default.createElement(a.default.Fragment,null,r.renderContent(t,{[o]:d,active:c,...w?{showContent:u,hideContent:g}:{}}),!1)},I=`${s}/Overlay`;L.displayName=I,L.pkgName=s,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:b,alignX:v="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=b,t=v,n=w;return X?($&&(e=$),S&&(t=S),N&&(n=N)):e=b||h,{wrapperDirection:e,wrapperAlignX:t,wrapperAlignY:n}}),[X,$,S,N,v,w,b]),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)))})),b=`${a}/Element`;y.displayName=b,y.pkgName=a,y.VITUS_LABS__COMPONENT=b;const v={height:"offsetHeight",width:"offsetWidth"},w=({beforeContent:e,afterContent:t})=>n=>{const i=r.get(e,v[n]),o=r.get(t,v[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},b=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},b=f?m(e,h):{};return d&&!r?s.default.createElement(d,{key:c,...b},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))?b(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",align:s="bottom",position:a="fixed",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:b})=>{const{rootSize:v}=n.useContext(r.context),w=n.useContext(A),[C,k]=n.useState(!1),[E,x]=n.useState(e),[$,S]=n.useState(s),[N,O]=n.useState(c),[R,L]=n.useState(d),I=n.useRef(),P=n.useRef(),T=n.useCallback((()=>k(!0)),[]),Y=n.useCallback((()=>k(!1)),[]),_=n.useCallback((()=>{x(!0)}),[]),X=n.useCallback((()=>{x(!1)}),[]);n.useEffect((()=>{E?y&&y():b&&b()}),[E,y,b]),n.useEffect((()=>{h&&X()}),[h]),n.useEffect((()=>{E?w?.setBlocked&&w.setBlocked():w?.setUnblocked&&w.setUnblocked()}),[E,w]),n.useEffect((()=>{E&&B()}),[E,$,N,R]),n.useEffect((()=>{if(E)return window.addEventListener("resize",z,!1),window.addEventListener("scroll",z,!1),p&&p.addEventListener("scroll",z,!1),()=>{window.removeEventListener("resize",z,!1),window.removeEventListener("scroll",z,!1),p&&p.removeEventListener("scroll",z,!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",j,!1),p&&p.addEventListener("scroll",j,!1),m&&window.addEventListener("keydown",F,!1),()=>{window.removeEventListener("scroll",j,!1),p&&p.removeEventListener("scroll",j,!1),m&&window.removeEventListener("keydown",F,!1)}}),[E,p,m]),n.useEffect((()=>{if(!C&&!h)return"click"!==i&&"click"!==o&&"clickOnTrigger"!==o&&"clickOutsideContent"!==o||window.addEventListener("click",V,!1),"hover"!==i&&"hover"!==o||window.addEventListener("mousemove",j,!1),()=>{window.removeEventListener("click",V,!1),window.removeEventListener("mousemove",j,!1)}}),[i,o,C,h,E]);const q=e=>t=>!!(t&&t.target&&e.current)&&(e.current.contains(t.target)||t.target===e.current),M=q(I),D=q(P),B=()=>{if(!E)return;if(!I.current||!P.current)return;const e=I.current.getBoundingClientRect(),n=P.current.getBoundingClientRect(),r={position:a};if(["dropdown","tooltip","popover"].includes(l)){if(["top","bottom"].includes(s)){const t=e.top-u-n.height,i=e.bottom+u,o=e.left-f,l=e.right+f-n.width;if("top"===s){const e=t>=0;S(e?"top":"bottom"),r.top=e?t:i}else{const e=i+n.height<=window.innerHeight;S(e?"bottom":"top"),r.top=e?i:t}switch(c){case"right":{const e=l>=0;O(e?"right":"left"),r.left=e?l:o;break}case"center":r.left=e.left+(e.right-e.left)/2-n.width/2;break;case"left":default:{const e=o+n.width<=window.innerWidth;O(e?"left":"right"),r.left=e?o:l;break}}}else if(["left","right"].includes(s)){const t=e.left-f-n.width,i=e.right+f,o=e.top+u,l=e.bottom-u-n.height;if("left"===s){const e=t>=0;S(e?"left":"right"),r.left=e?t:i}else{const e=i+n.width<=window.innerWidth;S(e?"right":"left"),r.left=e?i:t}switch(d){case"top":{const e=o+n.height<=window.innerHeight;L(e?"top":"bottom"),r.top=e?o:l;break}case"center":r.top=e.top-u+(e.bottom-e.top)/2-n.height/2;break;case"bottom":default:{const e=l>=0;L(e?"bottom":"top"),r.top=e?l:o}}}}else if("modal"===l){switch(c){case"right":r.right=f;break;case"left":r.left=f;break;case"center":default:r.left=window.innerWidth/2-n.width/2}switch(d){case"top":r.top=u;break;case"center":r.top=window.innerHeight/2-n.height/2;break;case"bottom":default:r.bottom=u}}P.current.style.position=r.position,P.current.style.top=t.value([r.top],v),P.current.style.bottom=t.value([r.bottom],v),P.current.style.left=t.value([r.left],v),P.current.style.right=t.value([r.right],v)},U=e=>{E||("hover"===i&&"mousemove"===e.type||"click"===i&&"click"===e.type)&&M(e)&&_(),E&&("hover"===o&&"mousemove"===e.type&&(M(e)||D(e)||X()),"hover"===o&&"scroll"===e.type&&X(),"click"===o&&"click"===e.type&&X(),"clickOnTrigger"===o&&"click"===e.type&&M(e)&&X(),"clickOutsideContent"===o&&"click"===e.type&&(D(e)||X()))},z=r.throttle(B,g),V=U,j=r.throttle(U,g),F=e=>{"Escape"===e.key&&X()};return{triggerRef:I,contentRef:P,active:E,align:$,alignX:N,alignY:R,showContent:_,hideContent:X,blocked:C,setBlocked:T,setUnblocked:Y}};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:b,closeOn:v}=a,w=n.useMemo((()=>"manual"===b||"manual"===v||"clickOutsideContent"===v),[b,v]);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;
@@ -69,5 +69,5 @@
69
69
  ${t.makeItResponsive({key:"$text",styles:({css:e,theme:n})=>e`
70
70
  ${n.extraStyles&&t.extendCss(n.extraStyles)};
71
71
  `,css:r.config.css,normalize:!1})};
72
- `;const T=n.forwardRef((({paragraph:e,label:t,children:n,tag:r,extendCss:i,...o},l)=>{return s=e?"p":r,a.default.createElement(P,{ref:l,as:s,$text:{extraStyles:i},...o},n||t);var s})),Y=`${s}/Text`;T.displayName=Y,T.pkgName=s,T.VITUS_LABS__COMPONENT=Y,T.isText=!0;const _=({children:e,className:t="",style:n={color:"blue"}})=>r.renderContent(e,{className:t,style:n}),X=`${s}/Util`;_.displayName=X,_.pkgName=s,_.VITUS_LABS__COMPONENT=X,Object.defineProperty(e,"Provider",{enumerable:!0,get:function(){return t.Provider}}),e.Element=y,e.List=E,e.Overlay=L,e.OverlayProvider=({children:e,blocked:t,setBlocked:n,setUnblocked:r})=>a.default.createElement(O,{value:{blocked:t,setBlocked:n,setUnblocked:r}},e),e.Portal=S,e.Text=T,e.Util=_,e.useOverlay=R,e.withActiveState=e=>{const t=e.displayName||e.name||"Component",r=t=>{const{type:r="single",activeItemRequired:i,activeItems:o,itemProps:l={},...s}=t,[c,d]=n.useState((()=>{if("single"===r){if(!Array.isArray(o))return o;console.warn("Iterator is type of single. activeItems cannot be an array.")}else if("multi"===r){const e=Array.isArray(o)?o:[o];return new Map(e.map((e=>[e,!0])))}})()),f=e=>{d("single"===r?t=>i||t!==e?e:void 0:"multi"===r?t=>{const n=new Map(t);return i&&n.get(e)&&1===(e=>{let t=0;return e.forEach((e=>{e&&(t+=1)})),t})(n)||n.set(e,!n.get(e)),n}:void 0)},u=e=>{f(e)},g=e=>{f(e)},p=e=>{f(e)},m=e=>!!c&&("single"===r?c===e:"multi"===r&&c instanceof Map&&!!c.get(e)),h={unsetAllItemsActive:()=>{!1||d(new Map)}};return n.useEffect((()=>{}),[r,o]),a.default.createElement(e,{...s,itemProps:e=>{const{key:t}=e;return{..."object"==typeof l?l:l(e),active:m(t),handleItemActive:()=>(e=>{f(e)})(t),setItemActive:u,unsetItemActive:g,toggleItemActive:p,..."multi"===r?h:{}}}})};return r.RESERVED_KEYS=$,r.displayName=`@vitus-labs/elements/List/withActiveState(${t})`,r},e.withEqualSizeBeforeAfter=e=>{const t=e.displayName||e.name||"Component",i=t=>{const{equalBeforeAfter:i,vertical:o,afterContent:l,beforeContent:s,...c}=t,d=n.createRef();return i&&(()=>{const e=r.get(d,"current.children[0]"),t=r.get(d,"current.children[2]"),n=w({beforeContent:e,afterContent:t});n(o?"height":"width")})(),a.default.createElement(e,{...c,afterContent:l,beforeContent:s,ref:d})};return i.displayName=`withEqualSizeBeforeAfter(${t})`,i},Object.defineProperty(e,"__esModule",{value:!0})}));
72
+ `;const T=n.forwardRef((({paragraph:e,label:t,children:n,tag:r,extendCss:i,...o},l)=>{return a=e?"p":r,s.default.createElement(P,{ref:l,as:a,$text:{extraStyles:i},...o},n||t);var a})),Y=`${a}/Text`;T.displayName=Y,T.pkgName=a,T.VITUS_LABS__COMPONENT=Y,T.isText=!0;const _=({children:e,className:t="",style:n={color:"blue"}})=>r.renderContent(e,{className:t,style:n}),X=`${a}/Util`;_.displayName=X,_.pkgName=a,_.VITUS_LABS__COMPONENT=X,Object.defineProperty(e,"Provider",{enumerable:!0,get:function(){return t.Provider}}),e.Element=y,e.List=E,e.Overlay=L,e.OverlayProvider=({children:e,blocked:t,setBlocked:n,setUnblocked:r})=>s.default.createElement(O,{value:{blocked:t,setBlocked:n,setUnblocked:r}},e),e.Portal=S,e.Text=T,e.Util=_,e.useOverlay=R,e.withActiveState=e=>{const t=e.displayName||e.name||"Component",r=t=>{const{type:r="single",activeItemRequired:i,activeItems:o,itemProps:l={},...a}=t,[c,d]=n.useState((()=>{if("single"===r){if(!Array.isArray(o))return o;console.warn("Iterator is type of single. activeItems cannot be an array.")}else if("multi"===r){const e=Array.isArray(o)?o:[o];return new Map(e.map((e=>[e,!0])))}})()),f=e=>{d("single"===r?t=>i||t!==e?e:void 0:"multi"===r?t=>{const n=new Map(t);return i&&n.get(e)&&1===(e=>{let t=0;return e.forEach((e=>{e&&(t+=1)})),t})(n)||n.set(e,!n.get(e)),n}:void 0)},u=e=>{f(e)},g=e=>{f(e)},p=e=>{f(e)},m=e=>!!c&&("single"===r?c===e:"multi"===r&&c instanceof Map&&!!c.get(e)),h={unsetAllItemsActive:()=>{!1||d(new Map)}};return n.useEffect((()=>{}),[r,o]),s.default.createElement(e,{...a,itemProps:e=>{const{key:t}=e;return{..."object"==typeof l?l:l(e),active:m(t),handleItemActive:()=>(e=>{f(e)})(t),setItemActive:u,unsetItemActive:g,toggleItemActive:p,..."multi"===r?h:{}}}})};return r.RESERVED_KEYS=$,r.displayName=`@vitus-labs/elements/List/withActiveState(${t})`,r},e.withEqualSizeBeforeAfter=e=>{const t=e.displayName||e.name||"Component",i=t=>{const{equalBeforeAfter:i,vertical:o,afterContent:l,beforeContent:a,...c}=t,d=n.createRef();return i&&(()=>{const e=r.get(d,"current.children[0]"),t=r.get(d,"current.children[2]"),n=w({beforeContent:e,afterContent:t});n(o?"height":"width")})(),s.default.createElement(e,{...c,afterContent:l,beforeContent:a,ref:d})};return i.displayName=`withEqualSizeBeforeAfter(${t})`,i},Object.defineProperty(e,"__esModule",{value:!0})}));
73
73
  //# sourceMappingURL=vitus-labs-elements.umd.min.js.map