@app-studio/web 0.8.13 → 0.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Formik/Formik.Form.d.ts +1 -1
- package/dist/web.cjs.development.js +8 -3
- package/dist/web.cjs.development.js.map +1 -1
- package/dist/web.cjs.production.min.js +1 -1
- package/dist/web.cjs.production.min.js.map +1 -1
- package/dist/web.esm.js +8 -3
- package/dist/web.esm.js.map +1 -1
- package/dist/web.umd.development.js +8 -3
- package/dist/web.umd.development.js.map +1 -1
- package/dist/web.umd.production.min.js +1 -1
- package/dist/web.umd.production.min.js.map +1 -1
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.cjs.production.min.js","sources":["../src/components/Layout/View/View.tsx","../src/components/Text/Text/Text.style.ts","../src/components/Text/Text/Text.view.tsx","../src/components/Text/Text.tsx","../src/components/Layout/Vertical/Vertical/Vertical.view.tsx","../src/components/Layout/Vertical/Vertical.tsx","../src/components/Layout/Horizontal/Horizontal.tsx","../src/components/Layout/Center/Center/Center.view.tsx","../src/components/Layout/Center/Center.tsx","../src/components/Svg/ArrowDown.tsx","../src/components/Svg/ArrowUp.tsx","../src/components/Svg/Check.tsx","../src/components/Svg/Close.tsx","../src/components/Svg/CloseEye.tsx","../src/components/Svg/ExternalLink.tsx","../src/components/Svg/Indeterminate.tsx","../src/components/Svg/OpenEye.tsx","../src/components/Svg/Warning.tsx","../src/components/Svg/Success.tsx","../src/components/Svg/Info.tsx","../src/components/Svg/Error.tsx","../src/components/Alert/Alert/Alert.style.tsx","../src/components/Alert/Alert/Alert.view.tsx","../src/components/AspectRatio/AspectRatio/AspectRatio.view.tsx","../src/components/Avatar/Avatar/Avatar.style.tsx","../src/components/Avatar/Avatar/Avatar.view.tsx","../src/components/Badge/Badge/Badge.style.tsx","../src/components/Badge/Badge/Badge.view.tsx","../src/components/Link/Link/Link.style.ts","../src/components/Link/Link/Link.view.tsx","../src/components/Link/Link.tsx","../src/components/Link/Link/Link.state.ts","../src/components/Button/Button/Button.style.ts","../src/components/Loader/Loader/Loader.style.ts","../src/components/Loader/Loader/Loader.view.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/Button/Button.view.tsx","../src/components/Button/Button.tsx","../src/components/Button/Button/Button.state.ts","../src/components/Form/Select/Select/Select.state.ts","../src/components/Layout/Input/HelperText/HelperText.tsx","../src/components/Layout/Input/FieldContainer/FieldContainer.tsx","../src/components/Layout/configs/Input.style.ts","../src/components/Layout/Input/FieldContent/FieldContent.tsx","../src/components/Layout/Input/FieldIcons/FieldIcons.tsx","../src/components/Form/Label/Label/Label.style.ts","../src/components/Form/Label/Label/Label.view.tsx","../src/components/Form/Label/Label.tsx","../src/components/Layout/Input/FieldLabel/FieldLabel.tsx","../src/components/Layout/Input/FieldWrapper/FieldWrapper.tsx","../src/components/Form/Select/Select/Select.style.ts","../src/components/Form/Select/Select/Select.view.tsx","../src/components/Form/Switch/Switch/Switch.state.ts","../src/components/Form/Switch/Switch/Switch.style.ts","../src/components/Form/Switch/Switch/Switch.view.tsx","../src/components/Form/TextArea/TextArea/TextArea.state.ts","../src/components/Form/TextArea/TextArea/TextArea.view.tsx","../src/components/Form/TextField/TextField/TextField.state.ts","../src/components/Form/TextField/TextField/TextField.view.tsx","../src/components/Form/Checkbox/Checkbox/Checkbox.state.ts","../src/components/Form/Checkbox/Checkbox/Checkbox.style.ts","../src/components/Form/Checkbox/Checkbox/Checkbox.view.tsx","../src/components/Form/CountryPicker/CountryPicker/CountryPicker.state.ts","../src/components/Form/CountryPicker/CountryPicker/CountryPicker.style.ts","../src/components/Form/CountryPicker/CountryPicker/CountryPicker.view.tsx","../src/components/Form/DatePicker/DatePicker/DatePicker.state.ts","../src/components/Form/DatePicker/DatePicker/DatePicker.view.tsx","../src/components/Form/Password/Password/Password.state.ts","../src/components/Formik/Formik.Form.tsx","../src/components/Formik/Formik.Hook.tsx","../src/components/Svg/Tick.tsx","../src/components/Svg/Search.tsx","../src/components/Form/ComboBox/ComboBox/ComboBox.view.tsx","../src/components/Message/Message/Message.store.tsx","../src/components/Message/Message/Message.style.ts","../src/components/Message/Message/Message.view.tsx","../src/components/Modal/Modal/Modal.store.tsx","../src/components/Modal/Modal/Modal.style.ts","../src/components/Modal/Modal/Modal.view.tsx","../src/components/Modal/Modal.tsx","../src/components/Modal/Modal/Modal.layout.tsx","../src/components/Table/Table/Table.context.tsx","../src/components/Table/Table/Table.view.tsx","../src/components/Table/Table.tsx","../src/components/Tabs/Tabs/Tabs.state.ts","../src/components/Tabs/Tabs/Tabs.view.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Toggle/Toggle/Toggle.style.tsx","../src/components/Toggle/Toggle/Toggle.view.tsx","../src/components/Toggle/Toggle.tsx","../src/components/Toggle/Toggle/Toggle.state.ts","../src/components/ToggleGroup/ToggleGroup/ToggleGroup.view.tsx","../src/components/Alert/Alert.tsx","../src/components/AspectRatio/AspectRatio.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Avatar/Avatar/Avatar.state.ts","../src/components/Badge/Badge.tsx","../src/components/Form/Checkbox/Checkbox.tsx","../src/components/Form/CountryPicker/CountryPicker.tsx","../src/components/Form/DatePicker/DatePicker.tsx","../src/components/File/File.tsx","../src/components/Formik/Formik.Checkbox.tsx","../src/components/Formik/Formik.ComboBox.tsx","../src/components/Form/ComboBox/ComboBox/ComboBox.state.ts","../src/components/Formik/Formik.CountryPicker.tsx","../src/components/Formik/Formik.DatePicker.tsx","../src/components/Formik/Formik.Password.tsx","../src/components/Formik/Formik.Select.tsx","../src/components/Formik/Formik.Switch.tsx","../src/components/Formik/Formik.TextArea.tsx","../src/components/Formik/Formik.TextField.tsx","../src/components/Message/Message/Message.layout.tsx","../src/components/Form/Password/Password.tsx","../src/components/Form/Select/Select.tsx","../src/components/Form/Switch/Switch.tsx","../src/components/Form/TextArea/TextArea.tsx","../src/components/Form/TextField/TextField.tsx","../src/components/ToggleGroup/ToggleGroup.tsx","../src/components/ToggleGroup/ToggleGroup/ToggleGroup.state.ts"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'app-studio';\nimport { View as $View } from 'app-studio';\n\nexport const Top = (props: ViewProps) => (\n <$View marginBottom=\"auto\" {...props} />\n);\nexport const Bottom = (props: ViewProps) => (\n <$View marginTop=\"auto\" {...props} />\n);\n\nexport const Left = (props: ViewProps) => (\n <$View marginRight=\"auto\" {...props} />\n);\nexport const Right = (props: ViewProps) => (\n <$View marginLeft=\"auto\" {...props} />\n);\n\nexport const Inline = (props: ViewProps) => (\n <$View display={'inline-flex'} wordBreak=\"break-word\" {...props} />\n);\n\nexport type { ViewProps };\nexport const View = $View;\n","import { Headings } from './Text.type';\n\nexport const HeadingSizes: Record<Headings, Record<string, number | string>> = {\n h1: {\n fontSize: 96,\n lineHeight: 112,\n letterSpacing: -1.5,\n },\n h2: {\n fontSize: 60,\n lineHeight: 71,\n letterSpacing: -0.5,\n },\n h3: {\n fontSize: 48,\n lineHeight: 57,\n letterSpacing: 0,\n },\n h4: {\n fontSize: 34,\n lineHeight: 40,\n letterSpacing: 0.25,\n },\n h5: {\n fontSize: 24,\n lineHeight: 28,\n letterSpacing: 0,\n },\n h6: {\n fontSize: 20,\n lineHeight: 24,\n letterSpacing: 0.15,\n },\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Element, Typography } from 'app-studio';\n\nimport { ContentProps, TextProps, TruncateTextProps } from './Text.props';\nimport { HeadingSizes } from './Text.style';\n\nconst TextContent: React.FC<ContentProps> = ({ children, isSub, isSup }) => (\n <>\n {typeof children === 'string' ? (\n <>\n {isSub && <sup>{children}</sup>}\n {isSup && <sup>{children}</sup>}\n {!isSub && !isSup && <>{children}</>}\n </>\n ) : (\n children\n )}\n </>\n);\n\nconst TruncateText: React.FC<TruncateTextProps> = ({ text, maxLines = 1 }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [truncatedLength, setTruncatedLength] = useState(text.length);\n\n useEffect(() => {\n const textNode = containerRef.current;\n if (!textNode) return;\n\n const updateTruncatedText = () => {\n const comLineHeight = getComputedStyle(textNode).lineHeight;\n const lineHeight =\n comLineHeight !== 'normal' ? parseFloat(comLineHeight) : 20;\n const maxHeight = lineHeight * maxLines;\n\n let start = 0;\n let end = text.length;\n let middle;\n\n while (start <= end) {\n middle = Math.floor((start + end) / 2);\n textNode.innerText = text.substring(0, middle) + '...';\n const currentHeight = textNode.offsetHeight;\n\n if (currentHeight > maxHeight) {\n end = middle - 1;\n } else {\n start = middle + 1;\n }\n }\n\n setTruncatedLength(end);\n };\n\n updateTruncatedText();\n }, [text, maxLines]);\n\n const displayText =\n text.length > truncatedLength\n ? text.substring(0, truncatedLength) + '...'\n : text;\n\n return <div ref={containerRef}>{displayText}</div>;\n};\nconst TextView: React.FC<TextProps> = ({\n children,\n heading,\n maxLines,\n isItalic = false,\n isUnderlined = false,\n isSub = false,\n isSup = false,\n isStriked = false,\n isTruncated = false,\n weight = 'normal',\n size = 'md',\n ...props\n}) => {\n const headingStyles = heading ? HeadingSizes[heading] : {};\n\n const noLineBreak = isSub || isSup ? { display: 'inline' } : {};\n\n const fontSize = Typography.fontSizes[size];\n\n return (\n <Element\n role=\"text\"\n fontSize={fontSize}\n lineHeight={Typography.lineHeights[size]}\n fontStyle={isItalic ? 'italic' : 'normal'}\n fontWeight={Typography.fontWeights[weight]}\n textDecoration={\n isStriked ? 'line-through' : isUnderlined ? 'underline' : 'none'\n }\n {...noLineBreak}\n {...headingStyles}\n {...props}\n >\n {isTruncated && maxLines && typeof children === 'string' ? (\n <TruncateText text={children} maxLines={maxLines} />\n ) : (\n <TextContent isSub={isSub} isSup={isSup} {...props}>\n {children}\n </TextContent>\n )}\n </Element>\n );\n};\n\nexport default TextView;\n","import React from 'react';\n\nimport { TextProps } from './Text/Text.props';\nimport TextView from './Text/Text.view';\n\nconst TextComponent: React.FC<TextProps> = (props) => {\n return <TextView {...props} />;\n};\n\n/**\n * The Text component is a simple component that renders a text string or paragraphs as a DOM element in the UI. It is a <p> tag by default.\n */\nexport const Text = TextComponent;\n","import React from 'react';\nimport { View } from 'app-studio';\nimport { VerticalProps } from './Vertical.props';\n// Defines the functional component VerticalView with props specified by VerticalProps\nconst VerticalView: React.FC<VerticalProps> = ({\n // Sets a default alignment for content within the vertical container to 'flex-start'\n justifyContent = 'flex-start',\n // Determines the direction in which the vertical elements are stacked, default not reversed\n isReversed = false,\n ...props\n}) => (\n <View\n display=\"flex\"\n justifyContent={justifyContent}\n flexDirection={isReversed ? 'column-reverse' : 'column'}\n {...props}\n />\n);\n// Exports the VerticalView component for use in other parts of the application\nexport default VerticalView;\n","import React from 'react';\nimport VerticalView from './Vertical/Vertical.view';\nimport { VerticalProps } from './Vertical/Vertical.props';\n// Defines the VerticalComponent as a functional component with VerticalProps as its props signature.\nconst VerticalComponent: React.FC<VerticalProps> = (props) => (\n // Renders the VerticalView component, passing all of the received props through to it.\n <VerticalView {...props} />\n);\n// Exports the VerticalComponent as Vertical for use in other parts of the application.\nexport const Vertical = VerticalComponent;\n","import React from 'react';\nimport type { ViewProps } from 'app-studio';\nimport { View } from 'app-studio';\n// Defines a functional component 'HorizontalComponent' utilizing 'ViewProps'. It leverages flexbox to create a horizontal view, which can be reversed based on a prop.\nconst HorizontalComponent: React.FC<ViewProps> = (props) => (\n <View\n display=\"flex\"\n flexDirection={props.isReversed ? 'row-reverse' : 'row'}\n {...props}\n />\n);\n// Exports the HorizontalComponent as 'Horizontal', making it available for use in other parts of the application.\nexport const Horizontal = HorizontalComponent;\n","import React from 'react';\nimport { View } from 'app-studio';\nimport { CenterProps } from './Center.props';\n// Defines a React Functional Component named CenterView which centers its children both horizontally and vertically using flexbox.\nconst CenterView: React.FC<CenterProps> = (props: CenterProps) => (\n // Renders a 'View' component with display flex and center alignment applied on both axes, passing all received props.\n <View display=\"flex\" justifyContent=\"center\" alignItems=\"center\" {...props} />\n);\n// Exports the CenterView component for use in other parts of the application.\nexport default CenterView;\n","import React from 'react';\nimport { CenterProps } from './Center/Center.props';\nimport CenterView from './Center/Center.view';\n// Defines a functional component named CenterComponent utilizing React's functional component structure, which expects props of the CenterProps type.\nconst CenterComponent: React.FC<CenterProps> = (props) => (\n // Renders the CenterView component, passing down all the props received by the CenterComponent.\n <CenterView {...props} />\n);\n// Exports CenterComponent as Center, making it available for use in other parts of the application.\nexport const Center = CenterComponent;\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ArrowDownSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg viewBox=\"0 -4.5 20 20\" version=\"1.1\" fill=\"#000000\" {...props}>\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <title>arrow_down [#338]</title> <desc>Created with Sketch.</desc>\n <defs> </defs>\n <g\n id=\"Page-1\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n >\n <g\n id=\"Dribbble-Light-Preview\"\n transform=\"translate(-220.000000, -6684.000000)\"\n fill=\"#000000\"\n >\n <g id=\"icons\" transform=\"translate(56.000000, 160.000000)\">\n <path\n d=\"M164.292308,6524.36583 L164.292308,6524.36583 C163.902564,6524.77071 163.902564,6525.42619 164.292308,6525.83004 L172.555873,6534.39267 C173.33636,6535.20244 174.602528,6535.20244 175.383014,6534.39267 L183.70754,6525.76791 C184.093286,6525.36716 184.098283,6524.71997 183.717533,6524.31405 C183.328789,6523.89985 182.68821,6523.89467 182.29347,6524.30266 L174.676479,6532.19636 C174.285736,6532.60124 173.653152,6532.60124 173.262409,6532.19636 L165.705379,6524.36583 C165.315635,6523.96094 164.683051,6523.96094 164.292308,6524.36583\"\n id=\"arrow_down-[#338]\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ArrowUpSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 -4.5 20 20\"\n version=\"1.1\"\n fill=\"#000000\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <title>arrow_up [#337]</title> <desc>Created with Sketch.</desc>\n <defs> </defs>\n <g\n id=\"Page-1\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n >\n <g\n id=\"Dribbble-Light-Preview\"\n transform=\"translate(-260.000000, -6684.000000)\"\n fill=\"#000000\"\n >\n <g id=\"icons\" transform=\"translate(56.000000, 160.000000)\">\n <path\n d=\"M223.707692,6534.63378 L223.707692,6534.63378 C224.097436,6534.22888 224.097436,6533.57338 223.707692,6533.16951 L215.444127,6524.60657 C214.66364,6523.79781 213.397472,6523.79781 212.616986,6524.60657 L204.29246,6533.23165 C203.906714,6533.6324 203.901717,6534.27962 204.282467,6534.68555 C204.671211,6535.10081 205.31179,6535.10495 205.70653,6534.69695 L213.323521,6526.80297 C213.714264,6526.39807 214.346848,6526.39807 214.737591,6526.80297 L222.294621,6534.63378 C222.684365,6535.03868 223.317949,6535.03868 223.707692,6534.63378\"\n id=\"arrow_up-[#337]\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const CheckSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\" />\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#CCCCCC\"\n strokeWidth=\"0.048\"\n />\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M17.0001 9L10 16L7 13\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const CloseSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"#000000\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n fill={color}\n d=\"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n ></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const CloseEyeSvg: React.FC<SvgProps> = ({\n size = 64,\n color = '#2F4858',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.7071 5.70711C20.0976 5.31658 20.0976 4.68342 19.7071 4.29289C19.3166 3.90237 18.6834 3.90237 18.2929 4.29289L14.032 8.55382C13.4365 8.20193 12.7418 8 12 8C9.79086 8 8 9.79086 8 12C8 12.7418 8.20193 13.4365 8.55382 14.032L4.29289 18.2929C3.90237 18.6834 3.90237 19.3166 4.29289 19.7071C4.68342 20.0976 5.31658 20.0976 5.70711 19.7071L9.96803 15.4462C10.5635 15.7981 11.2582 16 12 16C14.2091 16 16 14.2091 16 12C16 11.2582 15.7981 10.5635 15.4462 9.96803L19.7071 5.70711ZM12.518 10.0677C12.3528 10.0236 12.1792 10 12 10C10.8954 10 10 10.8954 10 12C10 12.1792 10.0236 12.3528 10.0677 12.518L12.518 10.0677ZM11.482 13.9323L13.9323 11.482C13.9764 11.6472 14 11.8208 14 12C14 13.1046 13.1046 14 12 14C11.8208 14 11.6472 13.9764 11.482 13.9323ZM15.7651 4.8207C14.6287 4.32049 13.3675 4 12 4C9.14754 4 6.75717 5.39462 4.99812 6.90595C3.23268 8.42276 2.00757 10.1376 1.46387 10.9698C1.05306 11.5985 1.05306 12.4015 1.46387 13.0302C1.92276 13.7326 2.86706 15.0637 4.21194 16.3739L5.62626 14.9596C4.4555 13.8229 3.61144 12.6531 3.18002 12C3.6904 11.2274 4.77832 9.73158 6.30147 8.42294C7.87402 7.07185 9.81574 6 12 6C12.7719 6 13.5135 6.13385 14.2193 6.36658L15.7651 4.8207ZM12 18C11.2282 18 10.4866 17.8661 9.78083 17.6334L8.23496 19.1793C9.37136 19.6795 10.6326 20 12 20C14.8525 20 17.2429 18.6054 19.002 17.0941C20.7674 15.5772 21.9925 13.8624 22.5362 13.0302C22.947 12.4015 22.947 11.5985 22.5362 10.9698C22.0773 10.2674 21.133 8.93627 19.7881 7.62611L18.3738 9.04043C19.5446 10.1771 20.3887 11.3469 20.8201 12C20.3097 12.7726 19.2218 14.2684 17.6986 15.5771C16.1261 16.9282 14.1843 18 12 18Z\"\n fill={color}\n ></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ExternalLinkSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n fill={color}\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 50 50\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M38.288 10.297l1.414 1.415-14.99 14.99-1.414-1.414z\"></path>\n <path d=\"M40 20h-2v-8h-8v-2h10z\"></path>\n <path d=\"M35 38H15c-1.7 0-3-1.3-3-3V15c0-1.7 1.3-3 3-3h11v2H15c-.6 0-1 .4-1 1v20c0 .6.4 1 1 1h20c.6 0 1-.4 1-1V24h2v11c0 1.7-1.3 3-3 3z\"></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const IndeterminateSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M7 12L17 12\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></path>{' '}\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const OpenEyeSvg: React.FC<SvgProps> = ({\n size = 64,\n color = '#2F4858',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.30147 15.5771C4.77832 14.2684 3.6904 12.7726 3.18002 12C3.6904 11.2274 4.77832 9.73158 6.30147 8.42294C7.87402 7.07185 9.81574 6 12 6C14.1843 6 16.1261 7.07185 17.6986 8.42294C19.2218 9.73158 20.3097 11.2274 20.8201 12C20.3097 12.7726 19.2218 14.2684 17.6986 15.5771C16.1261 16.9282 14.1843 18 12 18C9.81574 18 7.87402 16.9282 6.30147 15.5771ZM12 4C9.14754 4 6.75717 5.39462 4.99812 6.90595C3.23268 8.42276 2.00757 10.1376 1.46387 10.9698C1.05306 11.5985 1.05306 12.4015 1.46387 13.0302C2.00757 13.8624 3.23268 15.5772 4.99812 17.0941C6.75717 18.6054 9.14754 20 12 20C14.8525 20 17.2429 18.6054 19.002 17.0941C20.7674 15.5772 21.9925 13.8624 22.5362 13.0302C22.947 12.4015 22.947 11.5985 22.5362 10.9698C21.9925 10.1376 20.7674 8.42276 19.002 6.90595C17.2429 5.39462 14.8525 4 12 4ZM10 12C10 10.8954 10.8955 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8955 14 10 13.1046 10 12ZM12 8C9.7909 8 8.00004 9.79086 8.00004 12C8.00004 14.2091 9.7909 16 12 16C14.2092 16 16 14.2091 16 12C16 9.79086 14.2092 8 12 8Z\"\n fill={color}\n ></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const WarningSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 192.146 192.146\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <g>\n <path d=\"M108.186,144.372c0,7.054-4.729,12.32-12.037,12.32h-0.254c-7.054,0-11.92-5.266-11.92-12.32 c0-7.298,5.012-12.31,12.174-12.31C103.311,132.062,108.059,137.054,108.186,144.372z M88.44,125.301h15.447l2.951-61.298H85.46 L88.44,125.301z M190.372,177.034c-2.237,3.664-6.214,5.921-10.493,5.921H12.282c-4.426,0-8.51-2.384-10.698-6.233 c-2.159-3.849-2.11-8.549,0.147-12.349l84.111-149.22c2.208-3.722,6.204-5.96,10.522-5.96h0.332 c4.445,0.107,8.441,2.618,10.513,6.546l83.515,149.229C192.717,168.768,192.629,173.331,190.372,177.034z M179.879,170.634 L96.354,21.454L12.292,170.634H179.879z\"></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const SuccessSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 484.8 484.8\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <path\n d=\"M242.4,0C108.6,0,0,108.6,0,242.4S108.6,484.8,242.4,484.8S484.8,376.2,484.8,242.4S376.2,0,242.4,0z M198.4,358.8l-120-120L84,228l114.4,114.4l188-188l28.8,28.8L198.4,358.8z\"\n fill={color}\n />\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const InfoSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 192.146 192.146\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <g>\n <path d=\"M96.073,3.515C43.19,3.515,0,46.705,0,99.587s43.19,96.072,96.073,96.072s96.073-43.19,96.073-96.072 S148.955,3.515,96.073,3.515z M101.468,154.072h-15.447V120.57h15.447V154.072z M101.468,111.875h-15.447V49.54h15.447V111.875z\"></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ErrorSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 510 510\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <path\n d=\"M255,0C114.615,0,0,114.615,0,255s114.615,255,255,255s255-114.615,255-255S395.385,0,255,0z M255,459c-114.75,0-207-92.25-207-207c0-114.75,92.25-207,207-207c114.75,0,207,92.25,207,207C462,366.75,369.75,459,255,459z\"\n fill={color}\n />\n <path\n d=\"M255,140.25c11.05,0,20-8.95,20-20s-8.95-20-20-20s-20,8.95-20,20S243.95,140.25,255,140.25z\"\n fill={color}\n />\n <path\n d=\"M265,357c0,11.05-8.95,20-20,20s-20-8.95-20-20v-175c0-11.05,8.95-20,20-20s20,8.95,20,20V357z\"\n fill={color}\n />\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","// Define a constant object 'Themes' exporting various theme styles.\nexport const Themes = {\n // Start of the 'default' theme definition with style properties.\n default: {\n container: {\n backgroundColor: 'white',\n border: 'color.blackAlpha.800',\n },\n // Defines the content style for the 'default' theme.\n content: {\n color: 'color.blackAlpha.800',\n },\n },\n // The 'info' theme with unique container and content styles.\n info: {\n container: {\n backgroundColor: 'color.blue.200',\n border: 'color.blue.400',\n },\n // Content styles specific to the 'info' theme.\n content: {\n color: '#60a5fa',\n },\n },\n // Specifies the 'success' theme with corresponding container and content styles.\n success: {\n container: {\n backgroundColor: 'color.green.200',\n border: 'color.green.400',\n },\n // Sets the content styling nuances for the 'success' theme.\n content: {\n color: '#22c55e',\n },\n },\n // Start of the 'error' theme with its characteristic styles.\n error: {\n container: {\n backgroundColor: 'color.red.200',\n border: 'color.red.400',\n },\n // Content styling for the 'error' theme.\n content: {\n color: '#ef4444',\n },\n },\n // Introduction of the 'warning' theme styles.\n warning: {\n container: {\n backgroundColor: 'color.orange.200',\n border: 'color.orange.400',\n },\n // Defines color and aesthetics for the 'warning' theme's content.\n content: {\n color: '#f97316',\n },\n },\n};\n","import React from 'react';\nimport { View } from '../../Layout/View/View';\nimport { Text } from '../../Text/Text';\nimport { Vertical } from '../../Layout/Vertical/Vertical';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { WarningSvg } from '../../Svg';\nimport { AlertProps } from './Alert.props';\nimport { Themes } from './Alert.style';\n// Defines AlertView as a functional component using destructuring to extract props.\nexport const AlertView = ({\n icon,\n title,\n styles,\n description,\n // Sets a default variant prop to 'default' if none is provided.\n variant = 'default',\n}: AlertProps) => (\n <Horizontal\n gap={15}\n borderRadius={10}\n borderWidth={1}\n borderStyle=\"solid\"\n padding={16}\n flexWrap=\"nowrap\"\n // borderColor={Themes[variant].container.border}\n {...styles?.container}\n >\n <View alignSelf={'center'}>\n {icon ? (\n icon\n ) : (\n <WarningSvg\n size={24}\n color={styles?.icon.color ?? Themes[variant].content.color}\n />\n )}\n </View>\n <Vertical gap={10}>\n <Text\n fontSize=\"16px\"\n color={Themes[variant].content.color}\n {...styles?.title}\n >\n {title}\n </Text>\n <Text\n fontSize=\"14px\"\n color={Themes[variant].content.color}\n {...styles?.description}\n >\n {description}\n </Text>\n </Vertical>\n </Horizontal>\n);\n","import React from 'react';\nimport { View } from '../../Layout/View/View';\nimport { Center } from '../../Layout/Center/Center';\nimport { AspectRatioProps } from './AspectRatio.props';\n// Declaration of a functional component named AspectRatioView.\nexport const AspectRatioView = ({\n // Set a default aspect ratio of 16:9 if no ratio is provided as a prop.\n ratio = 16 / 9,\n // children prop used to render enclosed components.\n children,\n // Spread the rest of the props to inherit additional properties.\n ...props\n}: AspectRatioProps) => (\n <Center\n width={'100%'}\n position=\"relative\"\n overflow=\"hidden\"\n paddingTop={`${(1 / ratio) * 100}%`}\n borderRadius={8}\n {...props}\n >\n <View position=\"absolute\" top={0} right={0} bottom={0} left={0}>\n {children}\n </View>\n </Center>\n);\n","import { Size } from './Avatar.type';\n// Defines a mapping of avatar sizes to their respective numeric values\nexport const AvatarSizeMap: Record<Size, number> = {\n xs: 24,\n sm: 32,\n md: 48,\n lg: 64,\n xl: 80,\n};\n","import React from 'react';\nimport { Text } from '../../Text/Text';\nimport { Center } from '../../Layout/Center/Center';\nimport { Image } from 'app-studio';\nimport { AvatarViewProps } from './Avatar.props';\nimport { AvatarSizeMap } from './Avatar.style';\n// Declaration of the AvatarView functional component with destructured props from AvatarViewProps.\nexport const AvatarView = ({\n src,\n size = 'md',\n fallback = 'IM',\n styles,\n imageError,\n setImageError,\n}: AvatarViewProps) => {\n // Determines the size of the avatar by mapping the size prop to the predefined AvatarSizeMap.\n const avatarSize = AvatarSizeMap[size];\n // Initiates a style object for the image with an objectFit property and spreads additional image styles if provided.\n const imageStyle: any = {\n objectFit: 'cover',\n ...(styles?.image || {}),\n };\n // Start of the JSX returned by the AvatarView component, which uses the Center component as its root element.\n return (\n <Center\n role=\"avatar\"\n width={avatarSize}\n height={avatarSize}\n borderRadius=\"50%\"\n overflow=\"hidden\"\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={imageError ? 'black' : 'transparent'}\n boxShadow=\"0px 2px 4px rgba(0, 0, 0, 0.25)\"\n {...styles?.container}\n >\n {!imageError ? (\n <Image\n alt=\"IM\"\n src={src}\n style={imageStyle}\n width={avatarSize}\n height={avatarSize}\n onError={() => setImageError(true)}\n />\n ) : (\n <Text size={size} {...styles?.fallback}>\n {fallback}\n </Text>\n )}\n </Center>\n );\n};\n","import { CSSProperties } from 'react';\n\nimport { Shape, Size } from './Badge.type';\n\nexport type BadgeSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport const BadgeSizes: Record<Size, CSSProperties> = {\n xs: {\n minWidth: '20px', // Minimum width to ensure content fits\n height: '20px',\n padding: '0 6px', // Horizontal padding\n },\n sm: {\n minWidth: '24px',\n height: '24px',\n padding: '0 8px',\n },\n md: {\n minWidth: '28px',\n height: '28px',\n padding: '0 10px',\n },\n lg: {\n minWidth: '32px',\n height: '32px',\n padding: '0 12px',\n },\n xl: {\n minWidth: '36px',\n height: '36px',\n padding: '0 14px',\n },\n};\n\nexport const BadgeShapes: Record<Shape, number | string> = {\n sharp: 0,\n rounded: 4,\n pillShaped: 24,\n};\n\nexport const PositionStyles: { [key: string]: React.CSSProperties } = {\n 'top-right': { top: 0, right: 0, position: 'absolute' },\n 'top-left': { top: 0, left: 0, position: 'absolute' },\n 'bottom-right': { bottom: 0, right: 0, position: 'absolute' },\n 'bottom-left': { bottom: 0, left: 0, position: 'absolute' },\n};\n","import React, { CSSProperties } from 'react';\n// Importing React and specific type CSSProperties from the 'react' module.\nimport { BadgeProps } from './Badge.props';\n// Importing BadgeProps for typing the component's expected props.\nimport { BadgeShapes, BadgeSizes, PositionStyles } from './Badge.style';\n// Importing styling constants for badge shapes, sizes, and position styles.\nimport { Variant } from './Badge.type';\n// Importing Variant type enumeration to type badge variants.\nimport { Center } from '../../Layout/Center/Center';\n// Importing Center component to centrally place child component.\nimport { Text } from '../../Text/Text';\n// Importing Text component to display the content text within the badge.\nconst BadgeView: React.FC<BadgeProps> = ({\n // Declaring the functional component BadgeView with BadgeProps as its type for props.\n content,\n // Destructuring props with default values for shape, colorScheme, variant, size, and styles.\n position,\n shape = 'pillShaped',\n colorScheme = 'theme.primary',\n variant = 'filled',\n size = 'md',\n styles,\n // Defining BadgeVariants as a record of CSSProperties based on the variant type and associated stylings.\n}) => {\n const BadgeVariants: Record<Variant, CSSProperties> = {\n filled: {\n backgroundColor: colorScheme,\n color: 'color.white',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'transparent',\n },\n outline: {\n // Combining various style objects along with conditional styles based on props to create the badge's appearance.\n backgroundColor: 'transparent',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colorScheme,\n color: colorScheme,\n },\n link: {\n backgroundColor: 'transparent',\n // Rendering the Badge component using the Center layout component with combinedStyles applied.\n borderWidth: 1,\n // Inserting a Text component into the badge to display the content, with dynamic size and additional text styles.\n borderStyle: 'solid',\n borderColor: 'transparent',\n color: colorScheme,\n // Exporting BadgeView to be used in other parts of the application.\n textDecoration: 'underline',\n },\n ghost: {\n backgroundColor: 'transparent',\n color: colorScheme,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'transparent',\n },\n };\n const combinedStyles: Record<string, any> = {\n width: 'fit-content',\n borderRadius: BadgeShapes[shape],\n ...BadgeSizes[size],\n ...BadgeVariants[variant],\n ...(position ? PositionStyles[position] : {}),\n ...styles?.container,\n };\n return (\n <Center role=\"badge\" {...combinedStyles}>\n <Text role=\"badgeText\" size={size} {...styles?.text}>\n {content}\n </Text>\n </Center>\n );\n};\nexport default BadgeView;\n","import { Size } from './Link.type';\n// Defines a mapping of various size names (from 'xs' to '6xl') to their respective numeric icon sizes, providing a scalable way to reference icon sizes throughout the component.\nexport const IconSizes: Record<Size, number> = {\n xs: 12,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n '2xl': 24,\n '3xl': 30,\n '4xl': 36,\n '5xl': 48,\n '6xl': 64,\n};\n","import React from 'react';\nimport { Element } from 'app-studio';\nimport { Link as ReactRouterLink } from 'react-router-dom';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { ExternalLinkSvg } from '../../Svg';\nimport { LinkViewProps } from './Link.props';\nimport { IconSizes } from './Link.style';\n// Component definition for 'LinkView', a functional component with props defined by 'LinkViewProps'.\nconst LinkView: React.FC<LinkViewProps> = ({\n children,\n // Default href prop set to root '/', used for navigation target.\n href = '/',\n // Default icon size for links, with 'sm' specifying a small-sized icon.\n iconSize = 'sm',\n // Determines the default underline behavior of the link, set to 'default'.\n underline = 'default',\n // State flag indicating whether the link is being hovered over.\n isHovered = false,\n // Boolean indicating if the link leads to an external resource.\n isExternal = false,\n // Custom styles for the icon and text, provided via a styles object.\n styles = { icon: {}, text: {} },\n // Setter function for the hover state, noop function provided by default.\n setIsHovered = () => {},\n ...props\n}) => {\n // Function to handle mouse enter/leave events to toggle hover state.\n const handleHover = () => {\n if (underline === 'hover') setIsHovered(true);\n };\n return (\n <ReactRouterLink to={href} target={isExternal ? '_blank' : '_self'}>\n <Element\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n textDecoration={\n isHovered || underline === 'underline'\n ? 'underline !important'\n : 'none'\n }\n {...styles.text}\n {...props}\n >\n <Horizontal gap={3} alignItems=\"center\" flexWrap=\"nowrap\">\n {children}\n {isExternal && (\n <ExternalLinkSvg size={IconSizes[iconSize]} style={styles.icon} />\n )}\n </Horizontal>\n </Element>\n </ReactRouterLink>\n );\n};\nexport default LinkView;\n","import React from 'react';\nimport { LinkProps } from './Link/Link.props';\nimport { useLinkState } from './Link/Link.state';\nimport LinkView from './Link/Link.view';\n// Defines the 'LinkComponent' as a functional component with props typed to 'LinkProps'\nconst LinkComponent: React.FC<LinkProps> = (props) => {\n // Gets stateful logic and data necessary for the link component via 'useLinkState' hook\n const linkStates = useLinkState();\n // Renders 'LinkView' component passing down link state and props\n return <LinkView {...linkStates} {...props} />;\n};\n// Exports 'LinkComponent' as 'Link' for use in other parts of the application\nexport const Link = LinkComponent;\n","import { useState } from 'react';\n// This function initializes the Link component's state using the useState hook and exposes its state and setter function.\nexport const useLinkState = () => {\n const [isHovered, setIsHovered] = useState(false);\n return { isHovered, setIsHovered };\n};\n","import { CSSProperties } from 'react';\nimport { Shape, Size } from './Button.type';\nexport const ButtonSizes: Record<Size, CSSProperties> = {\n // Defines a constant 'ButtonSizes' as a mapping from 'Size' to corresponding 'CSSProperties'.\n xs: {\n // Establishes style configuration for extra-small (xs) button size.\n width: 79,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 12,\n paddingRight: 12,\n fontWeight: 600,\n fontSize: 'xs',\n lineHeight: 16,\n letterSpacing: 1.25,\n // Establishes style configuration for small (sm) button size.\n },\n sm: {\n width: 128,\n paddingTop: 10,\n paddingBottom: 10,\n paddingLeft: 16,\n paddingRight: 16,\n fontWeight: 600,\n fontSize: 'sm',\n // Establishes style configuration for medium (md) button size.\n lineHeight: 20,\n letterSpacing: 1.25,\n },\n md: {\n width: 144,\n paddingTop: 12,\n paddingBottom: 12,\n paddingLeft: 18,\n paddingRight: 18,\n // Establishes style configuration for large (lg) button size.\n fontWeight: 600,\n fontSize: 'md',\n lineHeight: 24,\n letterSpacing: 1.25,\n },\n lg: {\n width: 178,\n paddingTop: 14,\n paddingBottom: 14,\n // Establishes style configuration for extra-large (xl) button size.\n paddingLeft: 22,\n paddingRight: 22,\n fontWeight: 600,\n fontSize: 'lg',\n lineHeight: 24,\n letterSpacing: 1.25,\n },\n xl: {\n width: 220,\n paddingTop: 16,\n // Defines a constant 'ButtonShapes' with style properties for different button shapes such as 'sharp', 'rounded', and 'pillShaped'.\n paddingBottom: 16,\n // Sets the border-radius for a sharp-edged button shape to '0'.\n paddingLeft: 26,\n // Sets the border-radius for a rounded button shape to '4'.\n paddingRight: 26,\n // Sets the border-radius for a pill-shaped button to '24'.\n fontWeight: 600,\n fontSize: 'xl',\n // Defines a constant 'IconSizes' as a mapping from 'Size' to corresponding 'CSSProperties' for icons.\n lineHeight: 24,\n // Sets the width, height, and padding for icons of extra-small size.\n letterSpacing: 1.25,\n },\n};\nexport const ButtonShapes: Record<Shape, number | string> = {\n // Sets the width, height, and padding for icons of small size.\n sharp: 0,\n rounded: 4,\n pillShaped: 24,\n};\n// Sets the width, height, and padding for icons of medium size.\nexport const IconSizes: Record<Size, CSSProperties> = {\n xs: {\n width: 24,\n height: 24,\n // Sets the width, height, and padding for icons of large size.\n padding: 12,\n },\n sm: {\n width: 24,\n // Sets the width, height, and padding for icons of extra-large size.\n height: 24,\n padding: 15,\n },\n md: {\n width: 36,\n height: 36,\n padding: 15,\n },\n lg: {\n width: 36,\n height: 36,\n padding: 18,\n },\n xl: {\n width: 36,\n height: 36,\n padding: 24,\n },\n};\n","import { Size, Speed } from './Loader.type';\n// Defines a mapping of spinning speed labels to their respective duration in seconds for the Loader component animations.\nexport const DefaultEllipsisSpeeds: Record<Speed, number> = {\n fast: 0.4,\n normal: 0.6,\n slow: 0.8,\n};\n// Sets up a scale of sizes, mapping size labels to numerical values to be used for Loader component dimensions.\nexport const DefaultSizes: Record<Size, number> = {\n xs: 14,\n sm: 18,\n md: 22,\n lg: 26,\n xl: 30,\n '2xl': 40,\n '3xl': 50,\n '4xl': 60,\n '5xl': 70,\n '6xl': 80,\n};\n// Specifies a mapping of spinning speed labels to numerical millisecond values, determining the speed of the Loader component's animation cycles.\nexport const DefaultSpeeds: Record<Speed, number> = {\n fast: 50,\n normal: 100,\n slow: 300,\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTheme } from 'app-studio';\nimport { Center } from '../../Layout/Center/Center';\nimport { View } from '../../Layout/View/View';\n\nimport {\n DefaultSpinnerProps,\n DottedProps,\n LoaderProps,\n QuarterProps,\n} from '../Loader/Loader.props';\n\nimport { DefaultSizes, DefaultSpeeds } from './Loader.style';\n\nconst DefaultSpinner: React.FC<DefaultSpinnerProps> = ({\n size = 'md',\n speed = 'normal',\n color = 'theme.loading',\n ...props\n}) => {\n const theme = useTheme();\n const colorStyle = theme.getColor(color);\n const sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];\n\n const [angle, setAngle] = useState(0);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setAngle((prevAngle) => prevAngle + 45);\n }, DefaultSpeeds[speed]);\n\n return () => clearInterval(intervalId);\n }, [speed]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={`${sizeStyle}px`}\n height={`${sizeStyle}px`}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke={colorStyle}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n style={{ transform: `rotate(${angle}deg)` }}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M21 12a9 9 0 11-6.219-8.56\"></path>\n </g>\n </svg>\n );\n};\n\nconst Dotted: React.FC<DottedProps> = ({\n size = 'md',\n speed = 'normal',\n color = 'theme.loading',\n ...props\n}) => {\n const theme = useTheme();\n const colorStyle = theme.getColor(color);\n const sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];\n\n const [angle, setAngle] = useState(0);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setAngle((prevAngle) => prevAngle + 45);\n }, DefaultSpeeds[speed]);\n\n return () => clearInterval(intervalId);\n }, [speed]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 50 50\"\n width={`${sizeStyle}px`}\n height={`${sizeStyle}px`}\n style={{ transform: `rotate(${angle}deg)` }}\n {...props}\n >\n <circle cx=\"10\" cy=\"25\" r=\"4\" fill={colorStyle} />\n <circle cx=\"25\" cy=\"25\" r=\"4\" fill={colorStyle} />\n <circle cx=\"40\" cy=\"25\" r=\"4\" fill={colorStyle} />\n </svg>\n );\n};\n\nconst Quarter: React.FC<QuarterProps> = ({\n size = 'md',\n speed = 'normal',\n color = 'theme.loading',\n ...props\n}) => {\n const theme = useTheme();\n const colorStyle = theme.getColor(color);\n const sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];\n\n const [angle, setAngle] = useState(0);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setAngle((prevAngle) => prevAngle + 45);\n }, DefaultSpeeds[speed]);\n\n return () => clearInterval(intervalId);\n }, [speed]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 50 50\"\n width={`${sizeStyle}px`}\n height={`${sizeStyle}px`}\n style={{ transform: `rotate(${angle}deg)` }}\n {...props}\n >\n <circle\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={colorStyle}\n strokeWidth=\"5\"\n strokeDasharray=\"1,10\"\n />\n </svg>\n );\n};\nconst LoaderView: React.FC<LoaderProps> = ({\n size,\n children,\n textColor,\n loaderColor,\n type = 'default',\n speed = 'normal',\n textPosition = 'right',\n ...props\n}) => {\n const style = { size, speed, color: loaderColor };\n\n const variants = {\n default: <DefaultSpinner {...style} />,\n dotted: <Dotted {...style} />,\n quarter: <Quarter {...style} />,\n };\n\n return (\n <Center\n gap={10}\n flexDirection={\n textPosition === 'top' || textPosition === 'bottom' ? 'column' : 'row'\n }\n {...props}\n >\n {(textPosition === 'left' || textPosition === 'top') && children && (\n <View color={textColor}>{children}</View>\n )}\n {variants[type]}\n {(textPosition === 'right' || textPosition === 'bottom') && children && (\n <View color={textColor}>{children}</View>\n )}\n </Center>\n );\n};\n\nexport default LoaderView;\n","import React from 'react';\nimport { LoaderProps } from './Loader/Loader.props';\nimport LoaderView from './Loader/Loader.view';\n// Defines a LoaderComponent as a functional component with props defined by LoaderProps and returns the LoaderView component, passing along any received props.\nconst LoaderComponent: React.FC<LoaderProps> = (props) => (\n // Renders the LoaderView component by spreading the received props, which allows for a clean pass-through of properties.\n <LoaderView {...props} />\n);\n// Exports the LoaderComponent as Loader, making it available for use in other parts of the application.\nexport const Loader = LoaderComponent;\n","import React, { CSSProperties } from 'react';\nimport { Element, useTheme } from 'app-studio';\nimport { Link } from './../../Link/Link';\nimport { ButtonProps } from './Button.props';\nimport { ButtonShapes, ButtonSizes, IconSizes } from './Button.style';\nimport { Variant } from './Button.type';\nimport { Loader } from '../../Loader/Loader';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\n\nvar contrast = require('contrast');\n\nconst ButtonView: React.FC<ButtonProps> = ({\n icon,\n shadow,\n children,\n // Defines the functional component ButtonView with its expected props detailed in ButtonProps.\n ariaLabel,\n // Initializes default values for the ButtonProps object; useful for defining states like isAuto, isFilled, etc.\n externalHref,\n isAuto = false,\n // Determines if button should be active based on isDisabled and isLoading properties.\n isFilled = false,\n // Prepares default properties for the native button element based on isActive state.\n isIconRounded = false,\n // Sets button color; defaults to the theme's disabled color if button is not active.\n isLoading = false,\n // Determines if the hover effect shall be applied based on isHovered and effect property.\n isDisabled = false,\n // Determines if the reverse style shall be applied based on isHovered and effect property.\n size = 'md',\n variant = 'filled',\n iconPosition = 'left',\n // Defines CSS properties for 'filled' variant of the button with conditional styles based on reverse state.\n colorScheme = 'theme.primary',\n shape = 'rounded',\n onClick = () => {},\n loaderProps = {},\n loaderPosition = 'left',\n effect = 'default',\n isHovered,\n setIsHovered = () => {},\n ...props\n // Defines CSS properties for 'outline' variant of the button with conditional styles based on reverse state.\n}) => {\n const { getColor } = useTheme();\n const handleHover = () => setIsHovered(!isHovered);\n\n const isActive = !(isDisabled || isLoading);\n const defaultNativeProps = { disabled: !isActive };\n const buttonColor = isActive ? colorScheme : 'theme.disabled';\n const hovering = isHovered && effect === 'hover';\n const reverse = isHovered && effect === 'reverse';\n\n const isLight = contrast(getColor(buttonColor)) == 'light';\n const ButtonVariants: Record<Variant, CSSProperties> = {\n filled: {\n // Defines CSS properties for 'link' variant of the button with conditional styles based on reverse state, includes text decoration.\n backgroundColor: reverse ? 'transparent' : buttonColor,\n color: reverse\n ? isLight\n ? 'white'\n : buttonColor\n : isLight\n ? buttonColor\n : 'white',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: reverse ? buttonColor : 'transparent',\n },\n outline: {\n backgroundColor: reverse ? buttonColor : 'transparent',\n // Defines CSS properties for 'ghost' variant of the button with conditional styles based on reverse state.\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: reverse ? buttonColor : colorScheme,\n // Fetches size-specific styles from ButtonSizes based on the 'size' prop.\n color: reverse ? 'white' : buttonColor,\n // Fetches variant-specific styles from ButtonVariants based on the 'variant' prop.\n },\n // Adjusts button width based on isAuto and isFilled properties, using buttonSizeStyles for fallback width.\n link: {\n backgroundColor: 'transparent',\n // Changes padding for the button based on whether isIconRounded is true or false.\n borderWidth: 1,\n borderStyle: 'solid',\n // Creates the content for the button including loaders and icons positioned based on their respective properties.\n borderColor: reverse ? buttonColor : 'transparent',\n color: buttonColor,\n textDecoration: reverse ? 'none' : 'underline',\n },\n ghost: {\n backgroundColor: reverse ? buttonColor : 'transparent',\n color: reverse ? 'white' : buttonColor,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: reverse ? buttonColor : 'transparent',\n },\n };\n // Executes rendering of the button or a link element based on the variant; applies conditional rendering for externalHref in 'link' variant.\n const buttonSizeStyles = ButtonSizes[size];\n const buttonVariant = ButtonVariants[variant];\n const scaleWidth = {\n width: isAuto ? 'fit-content' : isFilled ? '100%' : buttonSizeStyles.width,\n };\n const changePadding = isIconRounded ? IconSizes[size] : ButtonSizes[size];\n const content = (\n <Horizontal gap={10}>\n {isLoading && loaderPosition === 'left' && <Loader {...loaderProps} />}\n {icon && iconPosition === 'left' && !isLoading && icon}\n {children}\n {icon && iconPosition === 'right' && !isLoading && icon}\n {isLoading && loaderPosition === 'right' && <Loader {...loaderProps} />}\n </Horizontal>\n );\n\n return (\n <Element\n gap={8}\n as=\"button\"\n role=\"button\"\n border=\"none\"\n color=\"color.white\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n aria-label={ariaLabel}\n backgroundColor={buttonColor}\n borderRadius={ButtonShapes[shape]}\n onClick={props.onClick ?? onClick}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n cursor={isActive ? 'pointer' : 'default'}\n filter={hovering ? 'brightness(0.85)' : 'brightness(1)'}\n {...(hovering && !props.isDisabled\n ? { transition: 'transform 0.3s ease', transform: 'translateY(-5px)' }\n : {})}\n // transition={hovering && !props.isDisabled ? : ''}\n // transform={hovering && !props.isDisabled ? : ''}\n {...defaultNativeProps}\n {...buttonSizeStyles}\n {...buttonVariant}\n {...scaleWidth}\n {...(props.padding ||\n props.paddingHorizontal ||\n props.paddingVertical ||\n props.paddingLeft ||\n props.paddingRight ||\n props.paddingTop ||\n props.paddingBottom\n ? {}\n : changePadding)}\n {...shadow}\n {...props}\n >\n {variant === 'link' && externalHref ? (\n <Link\n href={externalHref}\n textDecorationColor={colorScheme}\n colorScheme={colorScheme}\n isExternal\n >\n {content}\n </Link>\n ) : (\n content\n )}\n </Element>\n );\n};\nexport default ButtonView;\n","import React from 'react';\nimport { ButtonProps } from './Button/Button.props';\nimport { useButtonState } from './Button/Button.state';\n// Importing TypeScript type for button properties to ensure the component receives the correct props.\nimport ButtonView from './Button/Button.view';\n// Importing a custom hook to manage the state specific to the button component.\nconst ButtonComponent: React.FC<ButtonProps> = (props: any) => {\n // Importing the view part of the button, which is presumably a presentational component.\n const { isHovered, setIsHovered } = useButtonState();\n // Defining the button component with generic React Functional Component type augmented with ButtonProps type.\n const handleHover = () => setIsHovered(!isHovered);\n // Destructuring the state and state update function from the custom hook for button state management.\n return (\n // Defines a function to toggle the hover state of the button.\n <ButtonView\n isHovered={isHovered}\n // Rendering the ButtonView component and spreading the received props on it.\n setIsHovered={setIsHovered}\n // Passing the isHovered state and the setIsHovered function to the ButtonView.\n onMouseEnter={handleHover}\n // Binding handleHover function to onMouseEnter and onMouseLeave events to toggle hover effect.\n onMouseLeave={handleHover}\n {...props}\n />\n );\n // Exports the Button component for use in other parts of the application.\n};\nexport const Button = ButtonComponent;\n","import React from 'react';\nexport const useButtonState = () => {\n const [isHovered, setIsHovered] = React.useState(false);\n // This custom react hook 'useButtonState' is defined for managing the state of a button, especially for hover interactions.\n return { isHovered, setIsHovered };\n // The 'setIsHovered' function is used to update the value of 'isHovered' state when the hover status of the button changes.\n // A state variable 'isHovered' is declared with its initial value set to 'false', indicating that the button is not hovered by default.\n};\n// The hook returns an object containing 'isHovered' state and the 'setIsHovered' function to enable state management from the consumer component.\n","import React from 'react';\nimport { SelectProps } from './Select.props';\n// Initializes the custom hook 'useSelectState' for managing the state of the Select component\nexport const useSelectState = ({\n placeholder,\n isMulti,\n options,\n}: SelectProps) => {\n // Determines the default value based on the 'placeholder' and 'isMulti' props, setting to an empty array for multi-select or an empty string/single default option\n const defaultValue = placeholder ? (isMulti ? [] : '') : options[0].value;\n // State hook for managing visibility of the Select dropdown, initially set to hidden\n const [hide, setHide] = React.useState(true);\n // State hook for tracking mouse hover status over the Select component\n const [isHovered, setIsHovered] = React.useState(false);\n // State hook for tracking focus status of the Select input field\n const [isFocused, setIsFocused] = React.useState(false);\n // State hook for managing the value(s) selected by the user, initialized with the default value\n const [value, setValue] = React.useState<string | string[]>(defaultValue);\n // State hook for keeping track of the currently highlighted index in the options list\n const [highlightedIndex, setHighlightedIndex] = React.useState<number>(0);\n // Returns an object containing all stateful values and their associated setters to manage the Select component's state\n return {\n value,\n setValue,\n hide,\n setHide,\n isHovered,\n setIsHovered,\n isFocused,\n setIsFocused,\n highlightedIndex,\n setHighlightedIndex,\n };\n};\n// Initializes another custom hook 'useItemState' for managing the hover state of each Select item\nexport const useItemState = () => {\n // State hook for tracking mouse hover status over individual Select item options\n const [isHovered, setIsHovered] = React.useState(false);\n // Returns an object with 'isHovered' state and its associated setter from the 'useItemState' hook, for controlling individual Select item hover state\n return { isHovered, setIsHovered };\n};\n","import React from 'react';\nimport { Text } from '../../../Text/Text';\n\nimport { HelperTextProps } from './HelperText.props';\n\nexport const HelperText: React.FC<HelperTextProps> = ({\n children,\n styles = { helperText: {} },\n ...props\n}) => (\n <Text\n size=\"xs\"\n marginVertical={0}\n marginHorizontal={0}\n color={'theme.text.dark'}\n {...(styles['helperText'] as any)}\n {...props}\n >\n {children}\n </Text>\n);\n","import React from 'react';\n\nimport { HelperText } from '../HelperText/HelperText';\n\nimport { ContainerProps } from './FieldContainer/FieldContainer.props';\nimport { Text } from '../../../Text/Text';\nimport { Vertical } from '../../Vertical/Vertical';\n\nexport const FieldContainer: React.FC<ContainerProps> = ({\n children,\n helperText,\n error = false,\n styles,\n ...props\n}) => (\n <Vertical gap={5} position=\"relative\" {...props}>\n {children}\n {!error && helperText && <HelperText {...styles}>{helperText}</HelperText>}\n {error && (\n <Text\n size=\"xs\"\n marginVertical={0}\n marginHorizontal={0}\n color={'theme.error'}\n >\n {error}\n </Text>\n )}\n </Vertical>\n);\n","import { CSSProperties } from 'react';\n\nimport { Shape, Size, Variant } from './Input.type';\n\nexport const Shapes: Record<Shape, CSSProperties> = {\n default: {\n borderRadius: 0,\n },\n sharp: { borderRadius: 0 },\n rounded: { borderRadius: 4 },\n pillShaped: { borderRadius: 24 },\n};\n\nexport const LabelSizes: Record<Size, number> = {\n xs: 6,\n sm: 8,\n md: 10,\n lg: 12,\n xl: 14,\n};\n\nexport const InputVariants: Record<Variant, CSSProperties> = {\n outline: {\n borderWidth: 1,\n },\n default: {\n borderWidth: 0,\n borderBottomWidth: 1,\n },\n none: {\n border: 'none',\n backgroundColor: 'transparent',\n },\n};\n\nexport const PadddingWithLabel = {\n paddingTop: 14,\n paddingBottom: 0,\n paddingLeft: 16,\n paddingRight: 36,\n};\n\nexport const PaddingWithoutLabel = {\n paddingTop: 10,\n paddingBottom: 4,\n paddingLeft: 16,\n paddingRight: 36,\n};\n","import React from 'react';\nimport { Typography } from 'app-studio';\n\nimport {\n InputVariants,\n PadddingWithLabel,\n PaddingWithoutLabel,\n Shapes,\n} from '../../configs/Input.style';\nimport { Horizontal } from '../../Horizontal/Horizontal';\n\nimport { ContentProps } from './FieldContent/FieldContent.props';\n\nexport const FieldContent: React.FC<ContentProps> = ({\n label,\n shadow,\n children,\n value,\n size = 'md',\n shape = 'default',\n variant = 'default',\n error = false,\n isWithLabel = false,\n isFocused = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n colorScheme = 'theme.primary',\n styles = { pickerBox: {} },\n ...props\n}) => {\n const isInteractive = (isHovered || isFocused) && !isDisabled;\n const color = error ? 'error' : isInteractive ? colorScheme : 'midgray';\n\n return (\n <Horizontal\n gap={10}\n width=\"100%\"\n display=\"flex\"\n flexWrap=\"nowrap\"\n borderStyle=\"solid\"\n alignItems=\"center\"\n borderColor={color}\n backgroundColor=\"color.white\"\n transition=\"padding 0.2s ease\"\n justifyContent=\"space-between\"\n marginBottom={5}\n fontSize={Typography.fontSizes[size]}\n // filter={isHovered ? 'brightness(1)':'brightness(0.97)'}\n cursor={isDisabled ? 'not-allowed' : isReadOnly ? 'auto' : 'pointer'}\n {...(isWithLabel ? PadddingWithLabel : PaddingWithoutLabel)}\n {...shadow}\n {...Shapes[shape]}\n {...InputVariants[variant]}\n {...styles['box']}\n {...props}\n >\n {children}\n </Horizontal>\n );\n};\n","import React from 'react';\nimport { Center } from '../../../Layout/Center/Center';\n\nimport { FieldIconsProps } from './FieldIcons/FieldIcons.props';\n\nexport const FieldIcons: React.FC<FieldIconsProps> = ({\n children,\n ...props\n}) => (\n <Center\n gap={10}\n right={16}\n zIndex={500}\n flexWrap=\"nowrap\"\n position=\"absolute\"\n {...props}\n >\n {children}\n </Center>\n);\n","import { Headings } from './Label.type';\n// Import Headings type definition from Label.type module for type safety and consistency.\nexport const HeadingSizes: Record<Headings, Record<string, number | string>> = {\n // Initialize a constant 'HeadingSizes' to define styles for different heading levels.\n h1: {\n // Use TypeScript's 'Record' utility type to ensure the object matches the shape of 'Headings'.\n fontSize: 96,\n // Define style properties for 'h1' heading tag, including font size, line height, and letter spacing.\n lineHeight: 112,\n letterSpacing: -1.5,\n },\n h2: {\n fontSize: 60,\n // Define style properties for 'h2' heading tag similar to 'h1', but with adjusted values for size and spacing.\n lineHeight: 71,\n letterSpacing: -0.5,\n },\n h3: {\n fontSize: 48,\n // Define style properties for 'h3' heading tag with a standard letter spacing of 0.\n lineHeight: 57,\n letterSpacing: 0,\n },\n h4: {\n fontSize: 34,\n // Provide style properties for 'h4' heading tag, with a slight increase in letter spacing.\n lineHeight: 40,\n letterSpacing: 0.25,\n },\n h5: {\n fontSize: 24,\n // Set the 'h5' heading tag styles, opting for no additional letter spacing.\n lineHeight: 28,\n letterSpacing: 0,\n },\n h6: {\n fontSize: 20,\n // Set the 'h6' heading tag styles, with the smallest font size and a subtle letter spacing.\n lineHeight: 24,\n letterSpacing: 0.15,\n },\n};\n","import React from 'react';\nimport { Element, Typography } from 'app-studio';\nimport { LabelProps } from './Label.props';\nimport { HeadingSizes } from './Label.style';\nconst LabelView: React.FC<LabelProps> = ({\n children,\n // LabelView is a functional component that utilizes the LabelProps interface for its props.\n heading,\n // The component is deconstructing its properties to apply conditional styles and pass them to the underlying Element.\n isItalic = false,\n isUnderlined = false,\n isStriked = false,\n // Creates a dynamic style object based on the 'heading' prop, if provided, selecting the appropriate size from HeadingSizes.\n weight = 'normal',\n // Returns an Element component with the role of a label, styled dynamically based on incoming props.\n size = 'sm',\n ...props\n // The fontSize prop for the Element is determined by the 'size' prop passed to LabelView.\n}) => {\n // The fontStyle prop toggles between 'italic' and 'normal' based on the 'isItalic' boolean prop.\n const headingStyles = heading ? HeadingSizes[heading] : {};\n // fontWeight is derived from the Typography module, ensuring consistent font weighting across the app.\n return (\n // textDecoration conditionally applies 'line-through' or 'underline' based on respective boolean props; defaults to 'none' if both are false.\n <Element\n as=\"label\"\n // Spreads any additional style properties from headingStyles into the Element if a heading size is specified.\n width=\"100%\"\n // Spreads the rest of the props to support extensibility of the LabelView component for future use cases.\n fontSize={size}\n // Includes children elements inside the Element, allowing for nested content within the label.\n fontStyle={isItalic ? 'italic' : 'normal'}\n fontWeight={Typography.fontWeights[weight]}\n textDecoration={\n isStriked ? 'line-through' : isUnderlined ? 'underline' : 'none'\n }\n {...headingStyles}\n {...props}\n >\n {children}\n </Element>\n );\n};\nexport default LabelView;\n","import React from 'react';\nimport { LabelProps } from './Label/Label.props';\nimport LabelView from './Label/Label.view';\n// Import custom type 'LabelProps' to type check the properties passed into the Label component.\nconst LabelComponent: React.FC<LabelProps> = (props) => (\n // Import 'LabelView' as a visual component for the label, separating the view from business logic.\n <LabelView {...props} />\n // Define 'LabelComponent' as a functional component that uses React's FC type for type checking and utilizing React features.\n);\n// Pass all properties received by 'LabelComponent' to 'LabelView' using the spread syntax, ensuring it has all props needed for rendering.\nexport const Label = LabelComponent;\n// Export the 'LabelComponent' as 'Label' to be reused throughout the project.\n","import React from 'react';\nimport { Label } from '../../../Form/Label/Label';\n\nimport { LabelSizes } from '../../configs/Input.style';\n\nimport { LabelProps } from './FieldLabel/FieldLabel.props';\n\nexport const FieldLabel: React.FC<LabelProps> = ({\n children,\n size = 'md',\n error = false,\n color = 'theme.primary',\n styles = { label: {} },\n helperText,\n ...props\n}) => (\n <Label\n top={6}\n zIndex={1000}\n lineHeight={LabelSizes[size]}\n letterSpacing={0.25}\n whiteSpace=\"noWrap\"\n position=\"absolute\"\n color={error ? 'error' : color}\n fontSize={LabelSizes[size]}\n {...styles['label']}\n {...props}\n >\n {children}\n </Label>\n);\n","import React from 'react';\n\nimport { Vertical } from '../../Vertical/Vertical';\n\nimport { WrapperFieldProps } from './FieldWrapper.props';\n\nexport const FieldWrapper: React.FC<WrapperFieldProps> = ({\n children,\n ...props\n}) => (\n <Vertical width=\"100%\" {...props}>\n {children}\n </Vertical>\n);\n","import { CSSProperties } from 'react';\nimport { Size } from './Select.type';\n// Defines a mapping of 'Size' types to their corresponding CSSProperties. This allows different size configurations to be provided for the Select component.\nexport const Sizes: Record<Size, CSSProperties> = {\n xs: { height: 6, width: 6 },\n sm: { height: 12, width: 12 },\n md: { height: 18, width: 18 },\n lg: { height: 24, width: 24 },\n xl: { height: 30, width: 30 },\n};\n// Specifies the pixel sizes of icons associated with the Select component based on the predefined 'Size' types allowing for consistent icon scaling.\nexport const IconSizes: Record<Size, number> = {\n xs: 8,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n};\n","import React, { useCallback } from 'react';\nimport { Element } from 'app-studio';\nimport { Typography } from 'app-studio';\nimport { Horizontal } from '../../../Layout/Horizontal/Horizontal';\nimport { Text } from '../../../Text/Text';\nimport { FieldContainer } from '../../../Layout/Input/FieldContainer/FieldContainer';\nimport { FieldContent } from '../../../Layout/Input/FieldContent/FieldContent';\nimport { FieldIcons } from '../../../Layout/Input/FieldIcons/FieldIcons';\nimport { FieldLabel } from '../../../Layout/Input/FieldLabel/FieldLabel';\nimport { FieldWrapper } from '../../../Layout/Input/FieldWrapper/FieldWrapper';\nimport { ArrowDownSvg, ArrowUpSvg, CloseSvg } from '../../../Svg';\nimport {\n DropDownProps,\n HiddenSelectProps,\n ItemProps,\n MultiSelectProps,\n SelectBoxProps,\n SelectViewProps,\n} from './Select.props';\nimport { useItemState } from './Select.state';\nimport { IconSizes } from './Select.style';\n// Defines a component to render individual selection items within a list.\nconst Item: React.FC<ItemProps> = ({\n isHovered,\n setIsHovered,\n option,\n size = 'md',\n callback = () => {},\n style,\n ...props\n}) => {\n // Handles the click event on an option by invoking the callback with the selected option's value.\n const handleOptionClick = (option: string) => callback(option);\n // Toggles the hover state on the item.\n const handleHover = () => setIsHovered(!isHovered);\n return (\n <Element\n as=\"li\"\n margin={0}\n paddingVertical={10}\n paddingHorizontal={12}\n listStyleType=\"none\"\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n onClick={() => handleOptionClick(option.value)}\n backgroundColor={isHovered ? 'trueGray.100' : 'transparent'}\n {...props}\n >\n <Text fontSize={Typography.fontSizes[size]} {...style}>\n {option.label}\n </Text>\n </Element>\n );\n};\nconst SelectBox: React.FC<SelectBoxProps> = ({\n size = 'md',\n styles = { field: {}, text: {} },\n value,\n isDisabled,\n placeholder,\n removeOption = () => {},\n options,\n}) => {\n const fieldStyles = {\n margin: 0,\n width: '95%',\n heigth: '100%',\n border: 'none',\n paddingVertical: 8,\n paddingHorizontal: 0,\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n ...styles['text'],\n };\n const option = options.find((option) => option.value === value);\n return (\n <Text {...fieldStyles}>\n {(value === '' || (value && value.length === 0)) && !!placeholder ? (\n placeholder\n ) : (\n <>\n {typeof value === 'string'\n ? option?.label ?? value\n : value &&\n value.length > 0 && (\n <Horizontal gap={6}>\n {value.map((option) => (\n <MultiSelect\n key={option}\n option={option}\n removeOption={removeOption}\n />\n ))}\n </Horizontal>\n )}\n </>\n )}\n </Text>\n );\n};\nconst HiddenSelect: React.FC<HiddenSelectProps> = ({\n id,\n name,\n value,\n onChange,\n isMulti = false,\n isDisabled = false,\n isReadOnly = false,\n options = [],\n ...props\n}) => {\n const handleChange = (event: any) => {\n if (onChange) onChange(event);\n };\n return (\n <Element\n id={id}\n name={name}\n as=\"select\"\n opacity={0}\n width={0}\n height={0}\n position=\"absolute\"\n value={value}\n disabled={isDisabled}\n readOnly={isReadOnly}\n onChange={handleChange}\n multiple={isMulti}\n {...props}\n >\n {options.map((option) => {\n return (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n );\n })}\n </Element>\n );\n};\nconst DropDown: React.FC<DropDownProps> = ({\n size,\n styles = { dropDown: {} },\n options,\n callback = () => {},\n highlightedIndex,\n setHighlightedIndex,\n}) => {\n const itemStates = useItemState();\n const handleCallback = (option: string) => callback(option);\n const shadow =\n typeof document !== undefined\n ? {\n boxShadow:\n 'rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px',\n }\n : {\n elevation: 2,\n shadowColor: 'rgba(0, 0, 0, 0.07)',\n shadowOffset: {\n width: 0,\n height: 1,\n },\n shadowOpacity: 1,\n shadowRadius: 1,\n };\n return (\n <Element\n as=\"ul\"\n role=\"dropdown\"\n top=\"100%\"\n width=\"100%\"\n display=\"flex\"\n zIndex={100000}\n overflowY=\"scroll\"\n marginTop={5}\n marginLeft={0}\n marginRight={0}\n marginBottom={0}\n padding={0}\n borderRadius={4}\n position=\"absolute\"\n flexDirection=\"column\"\n backgroundColor=\"white\"\n maxHeight=\"200px\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n }}\n {...shadow}\n {...styles['dropDown']}\n >\n {options.map((option, index) => (\n <Item\n key={option.value}\n size={size}\n style={styles['text']}\n option={option}\n callback={handleCallback}\n backgroundColor={\n index === highlightedIndex ? 'color.gray.100' : 'transparent'\n }\n onMouseEnter={() => setHighlightedIndex(index)}\n {...itemStates}\n />\n ))}\n </Element>\n );\n};\nexport const MultiSelect: React.FC<MultiSelectProps> = ({\n option,\n size = 'md',\n removeOption = () => {},\n ...props\n}) => {\n const handleClick = () => removeOption(option);\n return (\n <Horizontal\n gap={10}\n padding={6}\n borderRadius={4}\n alignItems=\"center\"\n fontSize={Typography.fontSizes[size]}\n backgroundColor=\"color.trueGray.300\"\n onClick={(event: any) => event.stopPropagation()}\n {...props}\n >\n <Text size={size}>{option}</Text>\n <CloseSvg\n role=\"close-button\"\n color=\"inherit\"\n size={IconSizes[size]}\n onClick={handleClick}\n />\n </Horizontal>\n );\n};\nconst SelectView: React.FC<SelectViewProps> = ({\n id,\n name,\n label,\n value,\n placeholder,\n helperText,\n hide = false,\n error = false,\n isMulti = false,\n isFocused = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n options = [],\n shadow = {},\n size = 'md',\n colorScheme = 'theme.primary',\n shape = 'default',\n variant = 'default',\n styles = {\n text: {},\n icon: {},\n dropDown: {},\n selectBox: {},\n label: {},\n helperText: {},\n },\n onChange = () => {},\n setHide = () => {},\n setValue = () => {},\n setIsHovered = () => {},\n setIsFocused = () => {},\n setHighlightedIndex,\n highlightedIndex,\n ...props\n}) => {\n const isWithLabel = !!(isFocused && label);\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => setIsFocused(true);\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (event && event.stopPropagation) event.stopPropagation();\n setHide(!hide);\n setIsFocused(!isFocused);\n };\n const handleCallback = useCallback(\n (option: string) => {\n setHide(!hide);\n if (isMulti && Array.isArray(value)) {\n !value.includes(option) && setValue([...value, option]);\n } else {\n setValue(option);\n }\n if (onChange) onChange(option);\n },\n [hide, isMulti, value]\n );\n const handleRemoveOption = (valueOption: string) => {\n if (Array.isArray(value) && value.includes(valueOption)) {\n const newValue = value.filter((option) => option !== valueOption);\n setValue(newValue.length === 0 ? [] : newValue);\n }\n };\n return (\n <FieldContainer\n role=\"SelectBox\"\n helperText={helperText}\n error={error}\n styles={styles}\n onClick={isDisabled || isReadOnly ? () => {} : handleClick}\n >\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <HiddenSelect\n id={id}\n name={name}\n options={options}\n onChange={onChange}\n value={value}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isMulti={isMulti}\n onFocus={handleFocus}\n {...props}\n />\n <SelectBox\n options={options}\n size={size}\n styles={styles}\n value={value}\n isDisabled={isDisabled}\n placeholder={placeholder}\n removeOption={handleRemoveOption}\n />\n </FieldWrapper>\n <FieldIcons>\n {!isReadOnly && !isDisabled && (\n <>\n {hide ? (\n <ArrowDownSvg\n color=\"inherit\"\n size={IconSizes[size]}\n style={styles.icon}\n />\n ) : (\n <ArrowUpSvg\n color=\"inherit\"\n size={IconSizes[size]}\n style={styles.icon}\n />\n )}\n </>\n )}\n </FieldIcons>\n </FieldContent>\n {!hide && (\n <DropDown\n size={size}\n styles={styles}\n options={options}\n callback={handleCallback}\n highlightedIndex={highlightedIndex}\n setHighlightedIndex={setHighlightedIndex}\n />\n )}\n </FieldContainer>\n );\n};\nexport default SelectView;\n","import React from 'react';\nimport { SwitchProps } from './Switch.props';\n// This file defines a custom hook for managing the state of a Switch component. It allows tracking whether the switch is hovered, and its on/off state based on 'isDisabled' and 'isChecked' properties.\nexport const useSwitchState = ({ isDisabled, isChecked }: SwitchProps) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [on, setOn] = React.useState(isDisabled ? !isDisabled : isChecked);\n return { isHovered, setIsHovered, on, setOn };\n};\n","import { CSSProperties } from 'react';\nimport { Size } from './Switch.type';\n// Defines a mapping of size types to their respective knob style properties, specifying the height and width for various predefined sizes.\nexport const KnobSizes: Record<Size, CSSProperties> = {\n xs: { height: 6, width: 6 },\n sm: { height: 9, width: 9 },\n md: { height: 12, width: 12 },\n lg: { height: 15, width: 15 },\n xl: { height: 18, width: 18 },\n '2xl': { height: 21, width: 21 },\n '3xl': { height: 24, width: 24 },\n '4xl': { height: 27, width: 27 },\n '5xl': { height: 30, width: 30 },\n '6xl': { height: 33, width: 33 },\n};\n// Specifies the dimensions of the switch's slider for each predefined size by mapping them to the height and width CSS properties.\nexport const SliderSizes: Record<Size, CSSProperties> = {\n xs: {\n height: 16,\n width: 28,\n },\n sm: {\n height: 20,\n width: 36,\n },\n md: {\n height: 24,\n width: 44,\n },\n lg: {\n height: 28,\n width: 52,\n },\n xl: {\n height: 32,\n width: 60,\n },\n '2xl': {\n height: 36,\n width: 68,\n },\n '3xl': {\n height: 40,\n width: 76,\n },\n '4xl': {\n height: 44,\n width: 84,\n },\n '5xl': {\n height: 48,\n width: 92,\n },\n '6xl': {\n height: 52,\n width: 100,\n },\n};\n// Associates each size type with corresponding padding values for vertical and horizontal spacing, used to adjust the position of the elements within the switch.\nexport const SliderPadding: Record<Size, Record<string, number>> = {\n xs: { paddingVertical: 0, paddingHorizontal: 2 },\n sm: { paddingVertical: 0, paddingHorizontal: 3 },\n md: { paddingVertical: 0, paddingHorizontal: 5 },\n lg: { paddingVertical: 0, paddingHorizontal: 6 },\n xl: { paddingVertical: 0, paddingHorizontal: 8 },\n '2xl': { paddingVertical: 0, paddingHorizontal: 9 },\n '3xl': { paddingVertical: 0, paddingHorizontal: 10 },\n '4xl': { paddingVertical: 0, paddingHorizontal: 13 },\n '5xl': { paddingVertical: 0, paddingHorizontal: 15 },\n '6xl': { paddingVertical: 0, paddingHorizontal: 16 },\n};\n","import React from 'react';\nimport { Input } from 'app-studio';\nimport { Label } from '../../../Form/Label/Label';\nimport { View } from '../../../Layout/View/View';\nimport { SwitchViewProps } from './Switch.props';\nimport { KnobSizes, SliderPadding, SliderSizes } from './Switch.style';\nconst SwitchContent = (props: any) => <Input type=\"checkbox\" {...props} />;\nconst SwitchView: React.FC<SwitchViewProps> = ({\n id,\n name,\n label,\n inActiveChild,\n activeChild,\n labelPosition = 'right',\n shadow = {},\n size = 'sm',\n colorScheme = 'theme.primary',\n value = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n on,\n setOn,\n onChange,\n setValue = () => {},\n setIsHovered = () => {},\n helperText,\n styles = { slider: {}, circle: {}, label: {} },\n ...props\n}) => {\n const handleToggle = (event: any) => {\n if (!isReadOnly) {\n setValue(!value);\n setOn(!on);\n if (onChange) onChange(event.target.checked);\n }\n };\n const handleHover = () => setIsHovered(!isHovered);\n const switchStyle = {\n container: {\n gap: 10,\n display: 'flex',\n height: 'fit-content',\n width: 'fit-content',\n cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'default' : 'pointer',\n ...styles.label,\n },\n };\n return (\n <Label\n htmlFor={id}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n {...switchStyle.container}\n {...props}\n >\n <SwitchContent\n id={id}\n name={name}\n opacity={0}\n width={0}\n height={0}\n checked={value}\n onChange={handleToggle}\n disabled={isDisabled}\n readOnly={isReadOnly}\n {...props}\n />\n {labelPosition === 'left' && label && <View>{label}</View>}\n <View\n display=\"flex\"\n cursor=\"pointer\"\n alignItems=\"center\"\n borderRadius={24}\n marginBottom={5}\n filter={isHovered && value ? 'brightness(0.9)' : 'brightness(1)'}\n transition=\"justify-content 0.3s cubic-bezier(0.4, 0, 0.2, 1)\"\n backgroundColor={\n isDisabled ? 'disabled' : value ? colorScheme : 'lightgray'\n }\n justifyContent={\n activeChild ? 'space-between' : value ? 'flex-end' : 'flex-start'\n }\n {...shadow}\n {...SliderPadding[size]}\n {...SliderSizes[size]}\n {...styles['slider']}\n >\n {activeChild && value && <View>{activeChild}</View>}\n <View\n borderRadius=\"50%\"\n backgroundColor=\"white\"\n {...KnobSizes[size]}\n {...styles['circle']}\n />\n {inActiveChild && !value && <View>{inActiveChild}</View>}\n </View>\n {labelPosition === 'right' && label && <View>{label}</View>}\n </Label>\n );\n};\nexport default SwitchView;\n","import { useMemo, useState } from 'react';\nimport { TextAreaProps } from './TextArea.props';\n// Declaration of the useTextAreaState custom hook for managing the text area component state.\nexport const useTextAreaState = ({\n label,\n placeholder,\n value: defaultValue,\n}: // Initializes the custom hook with properties from TextAreaProps and returns the text area state management functions and values.\nTextAreaProps) => {\n // State hook for the 'hint' value, displaying either the label or placeholder as guidance within the text area.\n const [hint, setHint] = useState(label ?? placeholder);\n // State hook for tracking whether the text area is hovered over.\n const [isHovered, setIsHovered] = useState(false);\n // State hook to manage the current value of the text area, initialized with the default value or an empty string.\n const [value, setValue] = useState(defaultValue || '');\n // State hook to determine if the text area is currently focused.\n const [isFocused, setIsFocused] = useState(false);\n // Memoized callback that sets the hint based on focus state and value presence to ensure proper label or placeholder visibility.\n useMemo(() => {\n setHint(isFocused && !value ? placeholder ?? '' : label ?? placeholder);\n }, [value, isFocused, label, placeholder]);\n return {\n hint,\n setHint,\n isHovered,\n setIsHovered,\n value,\n setValue,\n isFocused,\n setIsFocused,\n };\n // Export of the useTextAreaState hook for external usage.\n};\n","import React from 'react';\nimport { Element, Typography } from 'app-studio';\nimport {\n FieldContainer,\n FieldContent,\n FieldLabel,\n FieldWrapper,\n} from '../../../Layout/Input';\nimport { TextAreaViewProps } from './TextArea.props';\nconst TextAreaView: React.FC<TextAreaViewProps> = ({\n id,\n name,\n hint,\n error,\n value,\n label,\n shadow,\n helperText,\n placeholder,\n size = 'sm',\n shape = 'default',\n variant = 'default',\n colorScheme = 'theme.primary',\n isHovered = false,\n isFocused = false,\n isEditable = false,\n isReadOnly = false,\n isDisabled = false,\n isAutoFocus = false,\n isMultiline = false,\n maxRows = 3,\n maxCols = 30,\n onBlur = () => {},\n onChange,\n onFocus,\n onChangeText,\n setHint = () => {},\n setValue = () => {},\n setIsFocused = () => {},\n setIsHovered = () => {},\n styles = { box: {}, text: {}, label: {}, helperText: {}, field: {} },\n ...props\n}) => {\n const isWithLabel = !!(isFocused && label);\n const fieldStyles = {\n margin: 0,\n paddingVertical: 8,\n paddingHorizontal: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: {\n focus: {\n outline: 'none',\n },\n },\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n };\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => {\n setIsFocused(true);\n if (onFocus) onFocus();\n };\n const handleBlur = (event: any) => {\n onBlur(event);\n setIsFocused(false);\n };\n const handleChange = (\n event: React.ChangeEvent<HTMLInputElement> | string\n ) => {\n if (typeof event === 'string') {\n setValue(event);\n if (onChangeText) onChangeText(event);\n if (onChange) onChange(event);\n } else {\n setValue(event.target.value);\n if (onChangeText) onChangeText(event.target.value);\n if (onChange) onChange(event.target.value);\n }\n };\n return (\n <FieldContainer helperText={helperText} error={error} styles={styles}>\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <Element\n as=\"textarea\"\n id={id}\n name={name}\n rows={maxRows}\n cols={maxCols}\n value={value}\n readOnly={isReadOnly}\n disabled={isDisabled}\n autoFocus={isAutoFocus}\n editable={isEditable}\n placeholder={hint}\n onBlur={handleBlur}\n onFocus={handleFocus}\n multiline={isMultiline}\n {...fieldStyles}\n {...props}\n onChange={handleChange}\n onChangeText={handleChange}\n />\n </FieldWrapper>\n </FieldContent>\n </FieldContainer>\n );\n};\nexport default TextAreaView;\n","import { useMemo, useState } from 'react';\nimport { TextFieldProps } from './TextField.props';\n// Define a custom hook `useTextFieldState` that creates and manages the state of a text field component based on its properties.\nexport const useTextFieldState = ({\n label,\n placeholder,\n value: defaultValue,\n}: TextFieldProps) => {\n // Initialize `hint` state with either the label or placeholder text, using label as a priority if it exists.\n const [hint, setHint] = useState(label ?? placeholder);\n // Set up a boolean state `isFocused` to track if the text field is focused.\n const [isFocused, setIsFocused] = useState(false);\n // Introduce a boolean state `isHovered` for tracking mouse hover status over the text field.\n const [isHovered, setIsHovered] = useState(false);\n // Manage the `value` state that holds the current value of the text field, initialized with defaultValue.\n const [value, setValue] = useState(defaultValue);\n // Use `useMemo` hook to recompute hint text when any dependency changes, updating it based on focus state and presence of value.\n useMemo(() => {\n // Update the `hint` state depending on whether the text field is focused and if value is not present, falling back to placeholder or label.\n setHint(isFocused && !value ? placeholder ?? '' : label ?? placeholder);\n // Specify the dependencies for the `useMemo` hook - updating the `hint` text when value, isFocused, label, or placeholder changes.\n }, [value, isFocused, label, placeholder]);\n // Return an object exposing the states and state setter functions for consumer components to use and manage the text field's UI and behavior.\n return {\n hint,\n setHint,\n isFocused,\n setIsFocused,\n isHovered,\n setIsHovered,\n setValue,\n value,\n };\n};\n","import React from 'react';\nimport { Input, Typography, useTheme } from 'app-studio';\nimport { FieldContainer } from '../../../Layout/Input/FieldContainer/FieldContainer';\nimport { FieldContent } from '../../../Layout/Input/FieldContent/FieldContent';\nimport { FieldIcons } from '../../../Layout/Input/FieldIcons/FieldIcons';\nimport { FieldLabel } from '../../../Layout/Input/FieldLabel/FieldLabel';\nimport { FieldWrapper } from '../../../Layout/Input/FieldWrapper/FieldWrapper';\nimport { CloseSvg } from '../../../Svg';\nimport { TextFieldViewProps } from './TextField.props';\nconst TextFieldInput = (props: any) => <Input type=\"text\" {...props} />;\nconst TextFieldView: React.FC<TextFieldViewProps> = ({\n id,\n name,\n label,\n hint,\n value,\n onChange,\n leftChild,\n rightChild,\n helperText,\n placeholder,\n onChangeText,\n shadow = {},\n styles = { box: {}, field: {}, label: {}, helperText: {}, text: {} },\n size = 'md',\n shape = 'default',\n variant = 'default',\n colorScheme = 'theme.primary',\n error = false,\n isFocused = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n isClearable = true,\n isAutoFocus = false,\n setHint = () => {},\n setIsFocused = () => {},\n setIsHovered = () => {},\n setValue = () => {},\n onClick = () => {},\n onFocus,\n onBlur = () => {},\n ...props\n}) => {\n const { getColor } = useTheme();\n const IconColor = getColor('color.blueGray.700');\n const isWithLabel = !!(isFocused && label);\n const fieldStyles = {\n margin: 0,\n paddingVertical: 8,\n paddingHorizontal: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: {\n focus: {\n outline: 'none',\n },\n },\n fontSize: Typography.fontSizes[size],\n lineHeight: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n };\n const handleFocus = () => {\n setIsFocused(true);\n if (onFocus) onFocus();\n };\n const handleHover = () => setIsHovered(!isHovered);\n const handleBlur = (event: any) => {\n if (onBlur) onBlur(event);\n setIsFocused(false);\n };\n const handleChange = (\n event: React.ChangeEvent<HTMLInputElement> | string\n ) => {\n if (typeof event === 'string') {\n setValue(event);\n if (onChangeText) onChangeText(event);\n if (onChange) onChange(event);\n } else {\n setValue(event.target.value);\n if (onChangeText) onChangeText(event.target.value);\n if (onChange) onChange(event.target.value);\n }\n };\n const handleClear = () => {\n setValue('');\n if (onChange) {\n onBlur({ target: { name } });\n if (onChangeText) onChangeText('');\n if (onChange) onChange('');\n }\n if (typeof document === 'undefined' && onChangeText) onChangeText('');\n };\n return (\n <FieldContainer helperText={helperText} error={error} styles={styles}>\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n {leftChild}\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <TextFieldInput\n id={id}\n name={name}\n readOnly={isReadOnly}\n disabled={isDisabled}\n autoFocus={isAutoFocus}\n placeholder={hint}\n onFocus={handleFocus}\n onBlur={handleBlur}\n autoComplete=\"off\"\n {...fieldStyles}\n {...props}\n onChange={handleChange}\n value={value}\n />\n </FieldWrapper>\n {(rightChild || (isClearable && value)) && (\n <FieldIcons>\n {isClearable && value && !isReadOnly && !isDisabled && (\n <CloseSvg\n size={Typography.fontSizes[size]}\n color={IconColor}\n onClick={handleClear}\n />\n )}\n {rightChild && <>{rightChild}</>}\n </FieldIcons>\n )}\n </FieldContent>\n </FieldContainer>\n );\n};\nexport default TextFieldView;\n","import React from 'react';\n\nimport { CheckboxProps } from './Checkbox.props';\n\nexport const useCheckboxState = ({\n defaultIsSelected = false,\n}: CheckboxProps) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [isSelected, setIsSelected] =\n React.useState<boolean>(defaultIsSelected);\n\n return {\n isHovered,\n setIsHovered,\n isSelected,\n setIsSelected,\n };\n};\n","import { CSSProperties } from 'react';\n\nimport { Size } from './Checkbox.type';\n\nexport const Sizes: Record<Size, CSSProperties> = {\n xs: { height: 8, width: 8 },\n sm: { height: 12, width: 12 },\n md: { height: 18, width: 18 },\n lg: { height: 24, width: 24 },\n xl: { height: 30, width: 30 },\n '2xl': { height: 36, width: 36 },\n '3xl': { height: 42, width: 42 },\n '4xl': { height: 48, width: 48 },\n '5xl': { height: 54, width: 54 },\n '6xl': { height: 60, width: 60 },\n};\n\nexport const IconSizes: Record<Size, number> = {\n xs: 6,\n sm: 12,\n md: 18,\n lg: 24,\n xl: 30,\n '2xl': 36,\n '3xl': 42,\n '4xl': 48,\n '5xl': 54,\n '6xl': 60,\n};\n","import React from 'react';\nimport { Typography } from 'app-studio';\n\nimport { Center } from '../../../Layout/Center/Center';\nimport { Label } from '../../../Form/Label/Label';\nimport { CheckSvg, IndeterminateSvg } from '../../../Svg';\n\nimport { CheckboxViewProps } from './Checkbox.props';\nimport { IconSizes, Sizes } from './Checkbox.style';\nimport { Text } from '../../../Text/Text';\nimport { Horizontal } from '../../../Layout/Horizontal/Horizontal';\nimport { Vertical } from '../../../Layout/Vertical/Vertical';\n\nconst CheckboxView: React.FC<CheckboxViewProps> = ({\n id,\n icon,\n name,\n label,\n isChecked,\n onChange,\n onValueChange,\n shadow = {},\n labelPosition = 'right',\n size = 'md',\n colorScheme = 'theme.primary',\n error = false,\n isSelected = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n isIndeterminate = false,\n defaultIsSelected = false,\n setIsSelected = () => {},\n setIsHovered = () => {},\n styles = { checkbox: {}, label: {} },\n infoText,\n helperText,\n ...props\n}) => {\n const handleHover = () => setIsHovered(!isHovered);\n\n const handleChange = () => {\n if (!isReadOnly && !isDisabled) {\n if (setIsSelected) setIsSelected(!isSelected);\n if (onChange) onChange(!isChecked);\n if (onValueChange) onValueChange(!isChecked);\n }\n };\n\n const checkboxStyle = {\n container: {\n gap: 10,\n display: 'flex',\n alignItems: 'center',\n height: 'fit-content',\n width: 'fit-content',\n color: error\n ? 'theme.error'\n : isDisabled\n ? 'theme.disabled'\n : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'default' : 'pointer',\n ...styles['label'],\n },\n checkbox: {\n ...(isDisabled\n ? { backgroundColor: 'theme.disabled' }\n : ((isChecked || isSelected) && !isIndeterminate) || isIndeterminate\n ? { backgroundColor: colorScheme }\n : {\n borderWidth: 2,\n borderColor: error\n ? 'theme.error'\n : isHovered\n ? 'color.gray.500'\n : 'color.gray.300',\n borderStyle: 'solid',\n }),\n borderRadius: 3,\n ...(isHovered ? { filter: 'brightness(0.9)' } : {}),\n ...Sizes[size],\n ...shadow,\n ...styles['checkbox'],\n },\n };\n\n return (\n <Label\n htmlFor={id}\n as=\"div\"\n onClick={handleChange}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n size={Typography.fontSizes[size]}\n {...checkboxStyle.container}\n {...props}\n >\n <Vertical gap={8}>\n <Horizontal gap={10} alignItems=\"center\">\n {labelPosition === 'left' && label && (\n <Text size={size} {...styles?.label}>\n {label}\n </Text>\n )}\n <Center {...checkboxStyle.checkbox}>\n {isIndeterminate ? (\n <IndeterminateSvg />\n ) : (\n (isChecked || isSelected) &&\n (icon ?? <CheckSvg size={IconSizes[size]} />)\n )}\n </Center>\n {labelPosition === 'right' && label && (\n <Text size={size} {...styles?.label}>\n {label}\n </Text>\n )}\n </Horizontal>\n {infoText && (\n <Text\n marginLeft={labelPosition === 'left' ? 0 : 27}\n color=\"color.gray.400\"\n size=\"sm\"\n {...styles?.infoText}\n >\n {infoText}\n </Text>\n )}\n </Vertical>\n </Label>\n );\n};\n\nexport default CheckboxView;\n","import React from 'react';\nimport countryList from '../countries.json';\nimport { CountryPickerProps } from './CountryPicker.props';\nimport { Country } from './CountryPicker.type';\n// Defines a custom hook for managing the CountryPicker component's state, including options from a country list, selected value, and UI states for hiding, focus, and hover.\nexport const useCountryPickerState = ({ placeholder }: CountryPickerProps) => {\n const [newOptions, setNewOptions] =\n React.useState<Array<Country>>(countryList);\n const [value, setValue] = React.useState<string>(\n placeholder ?? countryList[0].name\n );\n const [hide, setHide] = React.useState(true);\n const [isFocused, setIsFocused] = React.useState(false);\n const [isHovered, setIsHovered] = React.useState(false);\n return {\n hide,\n setHide,\n newOptions,\n setNewOptions,\n isHovered,\n setIsHovered,\n isFocused,\n setIsFocused,\n value,\n setValue,\n };\n};\n","import { Size } from './CountryPicker.type';\n// Defines the size of icons based on predefined size categories to maintain design consistency.\nexport const IconSizes: Record<Size, number> = {\n xs: 8,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n};\n// Maps predefined size categories to specific numerical values to standardize label sizes throughout the component.\nexport const LabelSizes: Record<Size, number> = {\n xs: 8,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n};\n","import React, { useState } from 'react';\nimport { Element, Input, Typography, useTheme } from 'app-studio';\nimport {\n FieldContainer,\n FieldContent,\n FieldIcons,\n FieldLabel,\n FieldWrapper,\n} from '../../../Layout/Input';\nimport { ArrowDownSvg } from '../../../Svg/ArrowDown';\nimport { ArrowUpSvg } from '../../../Svg/ArrowUp';\nimport countryList from '../countries.json';\nimport {\n CountryPickerViewProps,\n DropDownItemProps,\n DropDownProps,\n} from './CountryPicker.props';\nimport { IconSizes } from './CountryPicker.style';\nimport { Country } from './CountryPicker.type';\nconst CountryList: React.FC<DropDownProps> = ({ size, ...props }) => (\n <Element as=\"ul\" {...props} />\n);\nconst CountrySelector: React.FC<any> = (props) => (\n <Input type=\"country\" {...props} />\n);\nconst CountryItem: React.FC<DropDownItemProps> = ({ size, ...props }) => (\n <Element as=\"li\" {...props} />\n);\nexport const DropDownItem: React.FC<DropDownItemProps> = ({\n option,\n size = 'md',\n callback = () => {},\n styles = { text: {} },\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n const handleOptionClick = (event: any) => {\n if (event && event.stopPropagation) event.stopPropagation();\n callback(option);\n };\n const handleHover = () => setIsHovered(!isHovered);\n return (\n <CountryItem\n margin={0}\n role=\"DropDownItem\"\n listStyleType=\"none\"\n paddingVertical={6}\n paddingHorizontal={12}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n onClick={handleOptionClick}\n fontSize={Typography.fontSizes[size]}\n backgroundColor={isHovered ? 'trueGray.100' : 'transparent'}\n {...styles['text']}\n >\n {option}\n </CountryItem>\n );\n};\nexport const DropDown: React.FC<DropDownProps> = ({\n size,\n styles = { dropDown: {} },\n options,\n callback = () => {},\n}) => {\n const handleCallback = (option: string) => callback(option);\n return (\n <CountryList\n role=\"dropDown\"\n margin={0}\n padding={0}\n top=\"100%\"\n width=\"100%\"\n display=\"flex\"\n zIndex={1000}\n overflow=\"auto\"\n maxHeight=\"300px\"\n borderRadius={4}\n position=\"absolute\"\n flexDirection=\"column\"\n backgroundColor=\"white\"\n boxShadow=\"rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px\"\n {...styles['dropDown']}\n >\n {options.map((option: Country) => (\n <DropDownItem\n key={option.code}\n size={size}\n option={option.name}\n callback={handleCallback}\n {...styles['text']}\n />\n ))}\n </CountryList>\n );\n};\nconst CountryPickerView: React.FC<CountryPickerViewProps> = ({\n id,\n name,\n label,\n value,\n placeholder,\n helperText,\n hide = false,\n error = false,\n isHovered = false,\n isFocused = false,\n isAutoFocus = false,\n isDisabled = false,\n isReadOnly = false,\n shadow = {},\n newOptions = [],\n size = 'md',\n variant = 'default',\n shape = 'default',\n colorScheme = 'theme.primary',\n onChange,\n onBlur = () => {},\n setHide = () => {},\n setNewOptions = () => {},\n setIsHovered = () => {},\n setIsFocused = () => {},\n setValue = () => {},\n styles = {\n text: {},\n icon: {},\n label: {},\n dropDown: {},\n helperText: {},\n box: {},\n },\n ...props\n}) => {\n const { getColor } = useTheme();\n const IconColor = getColor('color.blueGray.700');\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => setIsFocused(true);\n const handleCallback = (option: string) => {\n setHide(!hide);\n setValue(option);\n if (onChange) onChange(option);\n };\n const handleClick = () => {\n if (!isDisabled && !isReadOnly) {\n setHide(!hide);\n }\n };\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueCountry = event.target.value;\n const filteredCountries = countryList.filter((country) =>\n country.name.toLowerCase().startsWith(valueCountry.toLowerCase())\n );\n if (hide) setHide(false);\n setNewOptions(filteredCountries);\n if (onChange) onChange(valueCountry);\n };\n const handleBlur = (event: any) => {\n onBlur(event);\n setIsFocused(false);\n };\n const isWithLabel = !!(isFocused && label);\n const fieldStyles = {\n margin: 0,\n paddingVerical: 8,\n paddingHorizonatl: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: { focus: { outline: 'none' } },\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n };\n return (\n <FieldContainer\n helperText={helperText}\n error={error}\n styles={styles}\n onClick={handleClick}\n >\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <CountrySelector\n id={id}\n name={name}\n placeholder={placeholder}\n readOnly={isReadOnly}\n disabled={isDisabled}\n autoFocus={isAutoFocus}\n onBlur={handleBlur}\n onFocus={handleFocus}\n {...fieldStyles}\n {...props}\n value={value}\n onChange={handleChange}\n />\n </FieldWrapper>\n <FieldIcons>\n {hide ? (\n <ArrowDownSvg\n size={IconSizes[size]}\n color={IconColor}\n style={styles['icon']}\n />\n ) : (\n <ArrowUpSvg\n size={IconSizes[size]}\n color={IconColor}\n style={styles['icon']}\n />\n )}\n </FieldIcons>\n </FieldContent>\n {!hide && (\n <DropDown\n size={size}\n styles={styles}\n options={newOptions}\n callback={handleCallback}\n />\n )}\n </FieldContainer>\n );\n};\nexport default CountryPickerView;\n","import React from 'react';\nimport format from 'date-fns/format';\n\nexport const useDatePickerState = () => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [isFocused, setIsFocused] = React.useState(false);\n const [date, setDate] = React.useState(format(new Date(), 'yyyy-MM-dd'));\n\n return {\n date,\n setDate,\n isHovered,\n setIsHovered,\n isFocused,\n setIsFocused,\n };\n};\n","import React from 'react';\nimport { Input, Typography } from 'app-studio';\nimport { FieldContainer } from '../../../Layout/Input/FieldContainer/FieldContainer';\nimport { FieldContent } from '../../../Layout/Input/FieldContent/FieldContent';\nimport { FieldLabel } from '../../../Layout/Input/FieldLabel/FieldLabel';\nimport { FieldWrapper } from '../../../Layout/Input/FieldWrapper/FieldWrapper';\n\nimport { DatePickerViewProps } from './DatePicker.props';\n\nconst DatePickerContent = (props: any) => <Input type=\"date\" {...props} />;\n\nconst DatePickerView: React.FC<DatePickerViewProps> = ({\n id,\n icon,\n name,\n label,\n date,\n children,\n helperText,\n shadow = {},\n size = 'md',\n variant = 'default',\n shape = 'default',\n colorScheme = 'theme.primary',\n styles = { box: {}, label: {}, helperText: {}, text: {}, field: {} },\n error = false,\n isHovered = false,\n isFocused = false,\n isDisabled = false,\n isReadOnly = false,\n setDate = () => {},\n setIsFocused = () => {},\n setIsHovered = () => {},\n onChange,\n onChangeText,\n ...props\n}) => {\n const isWithLabel = !!(isFocused && label);\n\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => setIsFocused(true);\n\n const handleDateChange = (event: any) => {\n if (typeof event === 'string') {\n setDate(event);\n if (onChangeText) onChangeText(event);\n } else {\n setDate(event.target.value);\n if (onChange) onChange(event.target.value);\n }\n };\n\n const fieldStyles = {\n margin: 0,\n paddingVertical: 8,\n paddingHorizontal: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: {\n focus: {\n outline: 'none',\n backgroundColor: 'transparent',\n },\n },\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'auto' : 'pointer',\n ...styles['field'],\n };\n\n return (\n <FieldContainer helperText={helperText} error={error} styles={styles}>\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={date}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <DatePickerContent\n id={id}\n name={name}\n onFocus={handleFocus}\n disabled={isDisabled}\n readOnly={isReadOnly}\n {...fieldStyles}\n {...props}\n {...(onChangeText && { onChangeText: handleDateChange })}\n onChange={handleDateChange}\n />\n </FieldWrapper>\n </FieldContent>\n </FieldContainer>\n );\n};\n\nexport default DatePickerView;\n","import { useState } from 'react';\nimport { PasswordProps } from './Password.props';\nimport { useTextFieldState } from '../../TextField/TextField/TextField.state';\n\nexport const usePasswordState = (props: PasswordProps) => {\n const textFieldStates = useTextFieldState(props);\n const [isVisible, setIsVisible] = useState(false);\n\n return { isVisible, setIsVisible, ...props, ...textFieldStates };\n};\n","import React, { createContext, useContext, useRef, useEffect } from 'react';\nimport { FormikConfig, useFormikContext } from 'formik';\nimport { Form as $Form } from 'app-studio';\n\ninterface CustomFormProps<T> extends FormikConfig<T> {\n autoFocus?: boolean;\n initFocus?: string;\n}\n\ninterface FocusContextType {\n active: boolean;\n focusNextInput: (name: string) => void;\n setInputRef: (name: string, ref: HTMLInputElement | null) => void;\n handleSubmitEditing: (name: string) => void;\n getReturnKeyType: (name: string) => 'next' | 'done';\n}\n\ninterface CustomFormProps<T> extends FormikConfig<T> {\n autoFocus?: boolean;\n initFocus?: string;\n}\n\ninterface FocusContextType {\n active: boolean;\n focusNextInput: (name: string) => void;\n setInputRef: (name: string, ref: HTMLInputElement | null) => void;\n}\n\nconst FocusContext = createContext<FocusContextType>({\n active: false,\n focusNextInput: () => {},\n setInputRef: () => {},\n handleSubmitEditing: () => {},\n getReturnKeyType: () => 'next',\n});\n\nexport const useFormFocus = () => useContext(FocusContext);\n\nexport const FormikForm = <T extends {}>({\n children,\n autoFocus = false,\n initFocus,\n ...props\n}: CustomFormProps<T> & any) => {\n const formik: any = useFormikContext();\n const inputRefs = useRef<Record<string, HTMLInputElement | null>>({});\n const inputNames = useRef<string[]>([]);\n\n const setInputRef = (name: string, ref: HTMLInputElement | null) => {\n inputRefs.current[name] = ref;\n if (!inputNames.current.includes(name)) {\n inputNames.current.push(name);\n }\n };\n\n const focusNextInput = (currentName: string) => {\n if (autoFocus) {\n const currentIndex = inputNames.current.indexOf(currentName);\n const nextIndex = currentIndex + 1;\n if (nextIndex < inputNames.current.length) {\n inputRefs.current[inputNames.current[nextIndex]]?.focus();\n } else if (formik.onSubmit) {\n formik.onSubmit(formik.values);\n }\n }\n };\n\n const contextValue = {\n active: autoFocus,\n focusNextInput,\n setInputRef,\n handleSubmitEditing: focusNextInput,\n getReturnKeyType: (name: string) =>\n inputNames.current.indexOf(name) === inputNames.current.length - 1\n ? 'done'\n : 'next',\n };\n\n useEffect(() => {\n if (autoFocus) {\n if (initFocus && inputRefs.current[initFocus]) {\n inputRefs.current[initFocus]?.focus();\n } else if (inputNames.current[0]) {\n inputRefs.current[inputNames.current[0]]?.focus();\n }\n }\n }, [autoFocus, initFocus]);\n\n return (\n <FocusContext.Provider value={contextValue}>\n <$Form {...props}>{children}</$Form>\n </FocusContext.Provider>\n );\n};\n","import React from 'react';\nimport { useFormikContext, FormikValues, getIn } from 'formik';\n\nimport { useFormFocus } from './Formik.Form';\n\nconst getInputTypeProps = (type: string) => {\n switch (type) {\n case 'email':\n return {\n autoCorrect: 'off',\n // keyboardType: 'email-address',\n inputMode: 'email',\n autoCapitalize: 'none',\n };\n case 'password':\n return {\n autoCorrect: 'off',\n secureTextEntry: true,\n autoCapitalize: 'none',\n };\n case 'digits':\n return {\n // keyboardType: 'phone-pad',\n inputMode: 'tel',\n };\n case 'numeric':\n return {\n // keyboardType: 'phone-pad',\n inputMode: 'numeric',\n };\n case 'name':\n return {\n autoCorrect: 'off',\n };\n default:\n return {};\n }\n};\n\nexport const useFormikInput = ({ name, type, ...props }: any) => {\n const focus = useFormFocus();\n const {\n touched,\n errors,\n submitCount,\n values,\n setFieldTouched,\n setFieldValue,\n } = useFormikContext<FormikValues>();\n\n const onChangeText = (text: string) => {\n setFieldValue(name, text);\n props.onChangeText?.(text);\n };\n\n const onChange = (value: any) => {\n setFieldValue(name, value);\n props.onChange?.(value);\n };\n\n const handleBlur = () => {\n setFieldTouched(name, true);\n // if(props.onBlur)props.onBlur();\n };\n\n const handleKeyPress = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n focus.focusNextInput(name);\n }\n };\n const isText = ['text', 'password', 'email', 'digits'].includes(type);\n const error =\n getIn(touched, name) || submitCount > 0 ? getIn(errors, name) : undefined;\n const value = getIn(values, name);\n\n return {\n ...getInputTypeProps(type),\n ...props,\n value,\n error,\n onBlur: handleBlur,\n onKeyPress: handleKeyPress,\n ...(isText ? { onChangeText } : { onChange }),\n ...(focus.active ? { handleKeyPress } : {}),\n };\n};\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const TickSvg: React.FC<SvgProps> = ({\n size = 16,\n color = '#c0c0c0',\n ...props\n}) => {\n return (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 -0.5 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n {' '}\n <path\n d=\"M5.5 12.5L10.167 17L19.5 8\"\n stroke=\"#444444\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></path>{' '}\n </g>\n </svg>\n </Center>\n );\n};\n\nexport default TickSvg;\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const SearchLoopSvg: React.FC<SvgProps> = ({\n size = 14,\n color = '#c0c0c0',\n ...props\n}) => {\n return (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n fill=\"#c0c0c0\"\n width={`${size}px`}\n height={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 488.4 488.4\"\n stroke={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"9.279599999999999\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <path d=\"M0,203.25c0,112.1,91.2,203.2,203.2,203.2c51.6,0,98.8-19.4,134.7-51.2l129.5,129.5c2.4,2.4,5.5,3.6,8.7,3.6 s6.3-1.2,8.7-3.6c4.8-4.8,4.8-12.5,0-17.3l-129.6-129.5c31.8-35.9,51.2-83,51.2-134.7c0-112.1-91.2-203.2-203.2-203.2 S0,91.15,0,203.25z M381.9,203.25c0,98.5-80.2,178.7-178.7,178.7s-178.7-80.2-178.7-178.7s80.2-178.7,178.7-178.7 S381.9,104.65,381.9,203.25z\"></path>{' '}\n </g>\n </g>\n </g>\n </svg>\n </Center>\n );\n};\n\nexport default SearchLoopSvg;\n","import React, { useEffect } from 'react';\nimport { View, Horizontal } from '../../../Layout';\nimport { ComboBoxItem, ComboBoxViewProps } from './ComboBox.props';\nimport { Text } from '../../../Text/Text';\nimport TextField from '../../../Form/TextField/TextField/TextField.view';\nimport TickSvg from '../../../Svg/Tick';\nimport SearchLoopSvg from '../../../Svg/Search';\n// Defines the functional component 'ComboBoxView' with destructured props.\nconst ComboBoxView: React.FC<ComboBoxViewProps> = ({\n placeholder,\n items,\n showTick = true,\n onSelect,\n searchEnabled = true,\n left,\n right,\n label,\n filteredItems,\n setSelectedItem,\n selectedItem,\n highlightedIndex,\n setHighlightedIndex,\n searchQuery,\n setSearchQuery,\n setFilteredItems,\n styles,\n isDropdownVisible,\n setIsDropdownVisible,\n // Collects all further props not destructured explicitly.\n ...props\n}) => {\n // Sets up an effect to handle clicking outside the dropdown to close it.\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const path = event.composedPath();\n const isOutside = !path.some(\n (element: any) => element?.id === 'combobox-dropdown'\n );\n if (isOutside) {\n setIsDropdownVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n // Defines 'handleSearch' to filter items based on the user's query.\n const handleSearch = (query: string) => {\n setSearchQuery(query);\n if (query === '') {\n setFilteredItems(items);\n } else {\n const filtered = items.filter((item) =>\n item.label.toLowerCase().includes(query.toLowerCase())\n );\n setFilteredItems(filtered);\n }\n setHighlightedIndex(0);\n };\n // Defines 'handleSelect' to handle item selection and close the dropdown.\n const handleSelect = (item: ComboBoxItem) => {\n setSelectedItem(item);\n onSelect?.(item);\n setIsDropdownVisible(false);\n };\n // Starts the JSX returned by the component representing the combobox.\n return (\n <Horizontal\n role=\"combobox\"\n flexWrap=\"nowrap\"\n gap={15}\n alignItems=\"center\"\n width=\"100%\"\n {...props}\n >\n {label && (\n <Text styles={styles?.label} htmlFor={props.id}>\n {label}\n </Text>\n )}\n <View position=\"relative\">\n <Horizontal\n cursor=\"pointer\"\n backgroundColor=\"white\"\n boxShadow=\"rgba(0, 0, 0, 0.16) 0px 1px 4px\"\n padding=\"12px\"\n display=\"flex\"\n alignItems=\"center\"\n borderRadius=\"4px\"\n justifyContent=\"space-between\"\n minWidth={300}\n flexWrap=\"nowrap\"\n {...styles?.container}\n >\n <Horizontal\n gap={15}\n alignItems=\"center\"\n position=\"relative\"\n width=\"100%\"\n onClick={() => setIsDropdownVisible(!isDropdownVisible)}\n {...styles?.labelContainer}\n >\n {left}\n <Text weight=\"medium\" flexGrow={1} {...styles?.label}>\n {selectedItem.label}\n </Text>\n </Horizontal>\n {right}\n {isDropdownVisible && (\n <View\n id=\"combobox-dropdown\"\n position=\"absolute\"\n backgroundColor=\"white\"\n boxShadow=\"rgba(0, 0 ,0 ,0.16) 0px 1px 4px\"\n width=\"100%\"\n overflowY=\"auto\"\n zIndex={10000}\n bottom={-8}\n left={0}\n transform=\"translateY(100%)\"\n marginTop=\"4px\"\n borderRadius=\"4px\"\n {...styles?.dropdown}\n >\n {searchEnabled && (\n <TextField\n id={props.id}\n name={props.name}\n width=\"100%\"\n type=\"search\"\n value={searchQuery}\n onChange={(value) => handleSearch(value)}\n hint={placeholder}\n isClearable={false}\n leftChild={<SearchLoopSvg size={12} />}\n styles={{\n box: {\n width: '100%',\n padding: '6px 12px',\n borderBottom:\n filteredItems.length > 0\n ? '1px solid #ccc'\n : '1px solid transparent',\n ...styles?.text,\n },\n }}\n />\n )}\n {filteredItems.length > 0 && (\n <View margin={0} padding={4}>\n {filteredItems.map((item, index) => (\n <Horizontal\n justifyContent=\"space-between\"\n key={item.value}\n padding=\"12px\"\n cursor=\"pointer\"\n borderRadius={4}\n backgroundColor={\n index === highlightedIndex\n ? 'color.gray.100'\n : 'transparent'\n }\n onMouseEnter={() => setHighlightedIndex(index)}\n onClick={() => handleSelect(item)}\n {...styles?.item}\n >\n <Text>{item.label}</Text>\n <>\n {item.icon && item.icon}\n {item.value === selectedItem.value &&\n showTick &&\n !item.icon && <TickSvg />}\n </>\n </Horizontal>\n ))}\n </View>\n )}\n </View>\n )}\n </Horizontal>\n </View>\n </Horizontal>\n );\n};\nexport default ComboBoxView;\n","import { create } from 'zustand';\nimport { MessageState } from './Message.props';\nimport { MessageType, ShowMessageType } from './Message.type';\n\n// Create your store with the initial state and actions.\nexport const useMessageStore = create<MessageState>((set) => ({\n // initial state\n visible: false,\n title: '',\n subtitle: '',\n variant: 'info',\n isClosable: false,\n styles: {},\n action: () => {},\n actionText: '',\n showIcon: false,\n timeout: 3000,\n show: (\n variant,\n title = '',\n subtitle = '',\n isClosable,\n styles,\n action,\n actionText,\n showIcon,\n timeout\n ) =>\n set({\n visible: true,\n variant,\n title,\n subtitle,\n isClosable,\n styles,\n action,\n actionText,\n showIcon,\n timeout,\n }),\n\n hide: () => set({ visible: false }),\n}));\n\nexport const showMessage = (\n variant: MessageType,\n title?: string,\n subtitle?: string,\n props?: ShowMessageType\n) => {\n useMessageStore\n .getState()\n .show(\n variant,\n title,\n subtitle,\n props?.isClosable,\n props?.styles,\n props?.action,\n props?.actionText,\n props?.showIcon,\n props?.timeout\n );\n};\n\nexport const hideMessage = () => {\n useMessageStore.getState().hide();\n};\n","import { CSSProperties } from 'react';\n\nimport { MessageType, Shape, Size } from './Message.type';\n\nexport const ContainerShapes: Record<Shape, CSSProperties> = {\n sharp: { borderRadius: 0 },\n rounded: { borderRadius: 4 },\n};\n\nexport const HeaderIconSizes: Record<Size, number> = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n xl: 28,\n};\n\nexport const Themes: Record<MessageType, any> = {\n info: {\n container: {\n backgroundColor: 'color.blue.200',\n border: 'color.blue.400',\n },\n icon: {\n color: 'color.blue.500',\n name: 'InformationSvg',\n },\n content: {\n color: 'color.blue.500',\n },\n close: {\n color: 'color.blue.500',\n name: 'CloseSvg',\n },\n },\n success: {\n container: {\n backgroundColor: 'color.green.200',\n border: 'color.green.400',\n },\n icon: {\n color: 'color.green.500',\n name: 'CheckCircleSvg',\n },\n content: {\n color: 'color.green.500',\n },\n close: {\n color: 'color.green.500',\n name: 'CloseSvg',\n },\n },\n error: {\n container: {\n backgroundColor: 'color.red.200',\n border: 'color.red.400',\n },\n icon: {\n color: 'color.red.500',\n name: 'ErrrorSvg',\n },\n content: {\n color: 'color.red.500',\n },\n close: {\n color: 'color.red.500',\n name: 'CloseSvg',\n },\n },\n warning: {\n container: {\n backgroundColor: 'color.orange.200',\n border: 'color.orange.400',\n },\n icon: {\n color: 'color.orange.500',\n name: 'ErrrorSvg',\n },\n content: {\n color: 'color.orange.500',\n },\n close: {\n color: 'color.orange.500',\n name: 'CloseSvg',\n },\n },\n};\n","import React, { useEffect } from 'react';\nimport { Vertical } from '../../Layout/Vertical/Vertical';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { View } from '../../Layout/View/View';\nimport { Text } from '../../Text/Text';\nimport { Themes } from './Message.style';\nimport { MessageProps } from './Message.props';\nimport { CloseSvg, WarningSvg, SuccessSvg, ErrorSvg, InfoSvg } from '../../Svg';\n\nexport const MessageView = ({\n variant,\n hide,\n title,\n subtitle,\n theme,\n action,\n actionText,\n showIcon = false,\n isClosable = false,\n timeout = 3000,\n styles,\n}: MessageProps) => {\n useEffect(() => {\n if (timeout && !isClosable) {\n const timeId = setTimeout(() => {\n // After 3 seconds set the show value to false\n hide();\n }, timeout);\n\n return () => {\n clearTimeout(timeId);\n };\n }\n\n return;\n }, []);\n\n const Theme = theme ?? Themes;\n const isWithAction = !!(action && actionText);\n\n const containerStyle = {\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 8,\n borderColor: `${Theme[variant].container.border}`,\n };\n\n const iconColor = {\n info: '#3b82f6',\n success: '#4ade80',\n warning: '#f97316',\n error: '#ef4444',\n }[variant];\n\n const iconComponent = {\n info: <InfoSvg size={24} color={iconColor} {...styles?.icon} />,\n success: <SuccessSvg size={24} color={iconColor} {...styles?.icon} />,\n warning: <WarningSvg size={24} color={iconColor} {...styles?.icon} />,\n error: <ErrorSvg size={24} color={iconColor} {...styles?.icon} />,\n }[variant];\n\n const isShowIcon = showIcon && iconComponent;\n\n return (\n <Horizontal\n role=\"messageContent\"\n gap={16}\n width={400}\n // safe={true}\n flexWrap=\"nowrap\"\n position={'relative'}\n alignItems=\"center\"\n padding=\"14px 24px 14px 14px\"\n color={`${Theme[variant].content.color}`}\n backgroundColor={`${Theme[variant].container.backgroundColor}`}\n onClick={\n isClosable\n ? () => {}\n : () => {\n hide();\n }\n }\n {...containerStyle}\n {...styles?.container}\n >\n {isShowIcon && iconComponent}\n <Vertical gap={8} width=\"100%\">\n <Text size=\"md\" weight=\"semiBold\" {...styles?.title}>\n {title}\n </Text>\n {subtitle && (\n <Text size=\"sm\" {...styles?.subtitle}>\n {subtitle}\n </Text>\n )}\n </Vertical>\n {isWithAction && (\n <Text\n marginRight={10}\n onClick={action}\n padding=\"6px 10px\"\n whiteSpace=\"nowrap\"\n {...containerStyle}\n {...styles?.actionText}\n >\n {actionText}\n </Text>\n )}\n {isClosable && (\n <View\n position=\"absolute\"\n zIndex={10000}\n right={8}\n top={6}\n onClick={() => {\n hide();\n }}\n {...styles?.closingIcon?.container}\n >\n <CloseSvg\n size={18}\n color={iconColor}\n {...styles?.closingIcon?.icon}\n />\n </View>\n )}\n </Horizontal>\n );\n};\n","import { create } from 'zustand';\n\nexport interface ModalState {\n modal: string | boolean;\n modalProps: any & { isVisible: boolean };\n overlayProps: any;\n show: (modal: string, modalProps?: any, overlayProps?: any) => void;\n hide: () => void;\n}\n\nexport const useModalStore = create<ModalState>((set) => ({\n modal: false,\n modalProps: { isVisible: false },\n overlayProps: {},\n show: (modal, modalProps = {}, overlayProps = {}) => {\n if (modal) {\n modalProps.isVisible = true;\n }\n set((state: ModalState) => ({\n ...state,\n modal,\n modalProps,\n overlayProps,\n }));\n },\n hide: () => {\n set((state: ModalState) => ({\n ...state,\n modalProps: {\n ...state.modalProps,\n isVisible: false,\n },\n }));\n },\n}));\n\nexport const showModal = (\n modal: string,\n modalProps: any = {},\n overlayProps: any = {}\n) => {\n useModalStore.getState().show(modal, modalProps, overlayProps);\n};\n\nexport const hideModal = () => {\n useModalStore.getState().hide();\n};\n","import { CSSProperties } from 'react';\n\nimport { Position, Shape, Size } from './Modal.type';\n\nexport const ContainerShapes: Record<Shape, CSSProperties> = {\n sharp: { borderRadius: 0 },\n rounded: { borderRadius: 4 },\n};\nexport const OverlayAlignments: Record<Position, CSSProperties> = {\n center: { justifyContent: 'center', alignItems: 'center' },\n top: { justifyContent: 'center' },\n right: { justifyContent: 'flex-end', alignItems: 'center' },\n bottom: { justifyContent: 'center', alignItems: 'flex-end' },\n left: { alignItems: 'center' },\n};\n\nexport const HeaderIconSizes: Record<Size, number> = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n xl: 28,\n};\n","import React from 'react';\nimport { Center } from '../../Layout/Center/Center';\nimport { Vertical } from '../../Layout/Vertical/Vertical';\n\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { Button } from '../../Button/Button';\nimport { View } from '../../Layout/View/View';\nimport { CloseSvg } from '../../Svg';\nimport { hideModal } from './Modal.store';\n\nimport {\n BodyProps,\n ContainerProps,\n FooterProps,\n HeaderProps,\n OverlayProps,\n} from '../Modal/Modal.props';\nimport { ContainerShapes, OverlayAlignments } from '../Modal/Modal.style';\nimport { HeaderIconSizes } from '../Modal/Modal.style';\n\nexport const ModalOverlay: React.FC<OverlayProps> = ({\n children,\n blur,\n isOpen = false,\n isClosePrevented = false,\n onClose = () => {},\n position = 'center',\n ...props\n}) => {\n const handleClick = () => {\n if (!isClosePrevented) onClose();\n };\n\n return (\n <Center\n position=\"fixed\"\n top={0}\n left={0}\n width=\"100%\"\n height=\"100%\"\n zIndex={1000}\n onClick={handleClick}\n visibility={isOpen ? 'visible' : 'hidden'}\n >\n <View\n position=\"absolute\"\n top={0}\n left={0}\n zIndex={1000}\n width=\"100vw\"\n height=\"100vh\"\n display=\"flex\"\n backgroundColor=\"color.blackAlpha.500\"\n backdropFilter={blur ? `blur(${blur}px)` : undefined}\n onClick={handleClick}\n {...OverlayAlignments[position]}\n {...props}\n >\n {children}\n </View>\n </Center>\n );\n};\n\nexport const ModalContainer: React.FC<ContainerProps> = ({\n children,\n shadow,\n isFullScreen = false,\n shape = 'rounded',\n ...props\n}) => {\n const defaultShadow =\n typeof document !== undefined\n ? {\n boxShadow: '0px 2px 8px rgba(0, 0, 0, 0.3)',\n }\n : {\n elevation: 5,\n shadowColor: 'rgba(0, 0, 0, 0.3)',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 1,\n shadowRadius: 8,\n };\n\n const handleClick = (event: any) => {\n if (event && event.stopPropagation) event.stopPropagation();\n };\n return (\n <Vertical\n cursor=\"default\"\n backgroundColor=\"white\"\n width={isFullScreen ? '100%' : 600}\n height={isFullScreen ? '100%' : 'fit-content'}\n onClick={handleClick}\n {...(shadow ? shadow : defaultShadow)}\n {...ContainerShapes[shape]}\n {...props}\n >\n {children}\n </Vertical>\n );\n};\n\nexport const ModalHeader: React.FC<HeaderProps> = ({\n children,\n buttonColor = 'theme.primary',\n iconSize = 'md',\n buttonPosition = 'right',\n ...props\n}) => {\n const onClose = props.onClose ? props.onClose : hideModal;\n\n const buttonIcon = (\n <Button\n onClick={onClose}\n colorScheme=\"transparent\"\n icon={<CloseSvg size={HeaderIconSizes[iconSize]} color={buttonColor} />}\n padding={0}\n margin={0}\n filter=\"none\"\n width={0}\n />\n );\n\n return (\n <Horizontal\n justifyContent={buttonPosition === 'none' ? 'center' : 'space-between'}\n alignItems=\"center\"\n paddingVertical={15}\n paddingHorizontal={20}\n {...props}\n >\n {buttonPosition === 'left' && buttonIcon}\n {children}\n {buttonPosition === 'right' && buttonIcon}\n </Horizontal>\n );\n};\n\nexport const ModalBody: React.FC<BodyProps> = ({ children, ...props }) => {\n const defaultBorder = {\n borderBottomWidth: 2,\n borderTopWidth: 2,\n borderColor: 'rgba(250, 250, 250, 1)',\n borderStyle: 'solid',\n };\n return (\n <View\n paddingVertical={15}\n paddingHorizontal={20}\n {...defaultBorder}\n {...props}\n >\n {children}\n </View>\n );\n};\n\nexport const ModalFooter: React.FC<FooterProps> = ({ children, ...props }) => {\n return (\n <Horizontal\n marginTop=\"auto\"\n alignItems=\"center\"\n justifyContent=\"flex-end\"\n paddingVertical={15}\n paddingHorizontal={20}\n {...props}\n >\n {children}\n </Horizontal>\n );\n};\n","import React from 'react';\n\nimport { ModalType } from './Modal/Modal.props';\nimport {\n ModalBody,\n ModalContainer,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n} from './Modal/Modal.view';\nimport { ModalLayout } from './Modal/Modal.layout';\n\n/**\n * It is a custom content overlay that appears on top of the main screen.\n */\n// eslint-disable-next-line react/prop-types\nexport const Modal: ModalType = ({ children }) => <>{children}</>;\n\nModal.Overlay = ModalOverlay;\nModal.Container = ModalContainer;\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\nModal.Layout = ModalLayout;\n\nexport * from './Modal/Modal.store';\n","import React, { Fragment } from 'react';\n\nimport { ModalState, hideModal, useModalStore } from './Modal.store';\nimport { ModalOverlay } from './Modal.view';\nimport { ModalLayoutProps } from './Modal.props';\n\nexport const ModalLayout = ({ modals }: ModalLayoutProps) => {\n const modalStore = useModalStore(\n ({ modal, modalProps, overlayProps }: ModalState) => ({\n modal,\n modalProps,\n overlayProps,\n })\n );\n if (typeof modalStore.modal === 'boolean') {\n return null;\n }\n\n const Modal = modals[modalStore.modal];\n\n if (!Modal) {\n console.error(modalStore.modal + \" modal doesn't exist\");\n return null;\n }\n\n return (\n <Fragment>\n <ModalOverlay\n isOpen={modalStore.modalProps.isVisible}\n onClose={hideModal}\n blur={10}\n {...modalStore.overlayProps}\n >\n {Modal !== undefined && <Modal {...modalStore.modalProps} />}\n </ModalOverlay>\n </Fragment>\n );\n};\n","import React, { CSSProperties } from 'react';\nexport type TableViewStyles = {\n // Defines a type 'TableViewStyles' which will be used to style components of a table view. This ensures that these styles can be standardized and applied throughout the app.\n table?: CSSProperties;\n thead?: CSSProperties;\n tfoot?: CSSProperties;\n tbody?: CSSProperties;\n tr?: CSSProperties;\n td?: CSSProperties;\n th?: CSSProperties;\n caption?: CSSProperties;\n};\nconst defaultStyles: TableViewStyles = {};\n// Initializes an empty 'defaultStyles' object that will be used as a fallback if no custom styles are provided.\nconst TableStylesContext = React.createContext<TableViewStyles>(defaultStyles);\n// Creates a new Context object for 'TableViewStyles' with the default value set to 'defaultStyles'. This allows the styles to be passed down through the component tree without having to pass props manually.\nexport const TableStylesProvider: React.FC<{\n // Exports 'TableStylesProvider', a functional component which wraps its children with the 'TableStylesContext.Provider'. This Provider will allow nested components to access the style configuration.\n children: React.ReactNode;\n styles?: TableViewStyles;\n}> = ({ children, styles = defaultStyles }) => (\n // The 'styles' prop is optional and defaults to 'defaultStyles' if not provided. When used, 'styles' are propagated down the component hierarchy.\n <TableStylesContext.Provider value={styles}>\n {children}\n </TableStylesContext.Provider>\n // Exports a custom hook 'useTableStyles' that encapsulates the logic for consuming the 'TableStylesContext' and returns its value, which are the current style configurations.\n);\nexport const useTableStyles = (): TableViewStyles =>\n React.useContext(TableStylesContext);\n","import React from 'react';\nimport { Element } from 'app-studio';\nimport { TableViewProps } from './Table.props';\nimport { useTableStyles } from './Table.context';\n\nexport const TableContainer: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"table\"\n borderCollapse=\"collapse\"\n {...styles.table}\n {...props}\n />\n );\n};\n\nexport const TableHead: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"thead\"\n borderBottom=\"0.5px solid #ddd\"\n textAlign=\"left\"\n color=\"color.gray.400\"\n {...styles.thead}\n {...props}\n />\n );\n};\n\nexport const TableHeadCell: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"th\"\n padding=\"14px\"\n whiteSpace=\"nowrap\"\n fontWeight=\"500\"\n {...styles.th}\n {...props}\n />\n );\n};\n\nexport const TableRow: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return <Element as=\"tr\" {...styles.tr} {...props} />;\n};\n\nexport const TableCell: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"td\"\n padding=\"14px\"\n whiteSpace=\"nowrap\"\n fontWeight={props.isFirstColumn ? '400' : '300'}\n {...styles.td}\n {...props}\n />\n );\n};\n\nexport const TableBody: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return <Element as=\"tbody\" {...styles.tbody} {...props} />;\n};\n\nexport const TableFooter: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return <Element as=\"tfoot\" {...styles.tfoot} {...props} />;\n};\n\nexport const TableCaption: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"caption\"\n margin={'10px 0'}\n color=\"color.gray.400\"\n {...styles.caption}\n {...props}\n />\n );\n};\n\nexport const TableView: React.FC<TableViewProps> = ({\n data,\n columns,\n footer,\n caption,\n}) => {\n return (\n <TableContainer role=\"Table\">\n {caption && <TableCaption>{caption}</TableCaption>}\n <TableHead>\n <TableRow>\n {columns.map((column) => (\n <TableHeadCell key={column.field}>{column.title}</TableHeadCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {data.map((row, index) => (\n <TableRow key={index}>\n {columns.map((column, columnIndex) => (\n <TableCell key={column.field} isFirstColumn={columnIndex === 0}>\n {row[column.field]}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n {footer && (\n <TableFooter>\n <TableRow>\n {footer.map((cell, index) => (\n <TableCell key={index} {...cell.props}>\n {cell.value}\n </TableCell>\n ))}\n </TableRow>\n </TableFooter>\n )}\n </TableContainer>\n );\n};\n","import React from 'react';\nimport {\n TableContainer,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n TableFooter,\n TableCaption,\n TableView,\n TableHeadCell,\n} from './Table/Table.view';\nimport { TableStylesProvider } from './Table/Table.context';\nimport { TableLayoutProps } from './Table/Table.props';\n\nexport const Table = ({ children, styles }: TableLayoutProps) => {\n return <TableStylesProvider styles={styles}>{children}</TableStylesProvider>;\n};\n\nTable.Head = TableHead;\nTable.HeadCell = TableHeadCell;\nTable.Body = TableBody;\nTable.Row = TableRow;\nTable.Cell = TableCell;\nTable.Footer = TableFooter;\nTable.Caption = TableCaption;\nTable.Container = TableContainer;\nTable.Template = TableView;\n","import { useState } from 'react';\nimport { Tab } from './Tabs.type';\n// Initializes a custom hook for managing tab states with an array of 'Tab' objects passed as properties.\nexport const useTabsState = (propTabs: Tab[]) => {\n const [isActive, setIsActive] = useState<Tab>(propTabs[0]);\n const [tabsState, setTabsState] = useState<Tab[]>(propTabs);\n return {\n isActive,\n setIsActive,\n tabsState,\n setTabsState,\n };\n};\n","import { Tab } from './Tabs.type';\nimport { TabsViewProps } from './Tabs.props';\nimport React from 'react';\nimport { View } from '../../Layout/View/View';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\n// Defines a functional component 'TabsView' with props of type 'TabsViewProps'.\nexport const TabsView = (props: TabsViewProps) => {\n // Destructures 'tabs', 'styles', 'isActive', 'setIsActive', 'tabsState', and 'setTabsState' from the component props.\n const { tabs, styles, isActive, setIsActive, tabsState, setTabsState } =\n props;\n // Declares a function 'moveSelectedTabToTop' that takes an index and modifies the tabs order.\n const moveSelectedTabToTop = (idx: number) => {\n // Creates a copy of the 'tabs' array from props to be altered.\n const newTabs = [...tabs];\n // Removes the tab at the provided index, effectively selecting this tab.\n const selectedTab = newTabs.splice(idx, 1);\n // Places the selected tab at the start of the 'newTabs' array.\n newTabs.unshift(selectedTab[0]);\n // Updates the state with the reordered tabs.\n setTabsState(newTabs);\n // Sets the active tab to the first tab in the 'newTabs' array.\n setIsActive(newTabs[0]);\n };\n // Defines a function 'isContentActive' that checks if the given tab's content is to be displayed.\n const isContentActive = (tab: Tab) => {\n // Returns a boolean indicating if the given tab is identical to the first tab in 'tabsState'.\n return tab.value === tabsState[0].value;\n };\n return (\n <Horizontal width=\"100w\" height={'100%'} {...styles?.container}>\n <Horizontal marginBottom={20} {...styles?.headerTabs}>\n {tabs.map((tab, idx) => (\n <Button\n key={tab.title}\n onClick={() => {\n moveSelectedTabToTop(idx);\n }}\n variant={isActive.value === tab.value ? 'filled' : 'ghost'}\n shape=\"pillShaped\"\n cursor=\"pointer\"\n isAuto\n {...styles?.tab}\n {...(isActive.value === tab.value ? styles?.activeTab : {})}\n >\n <Text\n {...styles?.title}\n {...(isActive.value === tab.value ? styles?.activeText : {})}\n >\n {tab.title}\n </Text>\n </Button>\n ))}\n </Horizontal>\n <View width={'100%'} height=\"100%\" {...styles?.content}>\n {tabsState.map(\n (tab, idx) =>\n isContentActive(tab) && <View key={idx}>{tab.content}</View>\n )}\n </View>\n </Horizontal>\n );\n};\n","import React from 'react';\nimport { TabsProps } from './Tabs/Tabs.props';\nimport { useTabsState } from './Tabs/Tabs.state';\nimport { TabsView } from './Tabs/Tabs.view';\n\nconst TabsComponent: React.FC<TabsProps> = ({ tabs, styles }) => {\n const { isActive, setIsActive, tabsState, setTabsState } = useTabsState(tabs);\n return (\n <TabsView\n tabs={tabs}\n styles={styles}\n isActive={isActive}\n tabsState={tabsState}\n setTabsState={setTabsState}\n setIsActive={setIsActive}\n />\n );\n};\nexport const Tabs = React.memo(TabsComponent);\n","import { Shape } from './Toggle.type';\nexport const ToggleShapes: Record<Shape, number | string> = {\n sharp: 0,\n rounded: 4,\n pillShaped: 24,\n};\n","import React, { CSSProperties } from 'react';\nimport { ToggleViewProps } from './Toggle.props';\nimport { ToggleShapes } from './Toggle.style';\nimport { Variant } from './Toggle.type';\nimport { Center } from '../../Layout/Center/Center';\nconst ToggleView: React.FC<ToggleViewProps> = ({\n children,\n shape = 'rounded',\n colorScheme = 'color.trueGray.400',\n variant = 'ghost',\n isHovered,\n setIsHovered,\n isDisabled,\n isToggle,\n setIsToggled,\n onToggle,\n ...props\n}) => {\n const toggleColor = !isDisabled ? colorScheme : 'theme.disabled';\n const isActive = !!(isToggle || isHovered);\n const ToggleVariants: Record<Variant, CSSProperties> = {\n outline: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colorScheme,\n },\n link: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: isActive ? toggleColor : 'transparent',\n textDecoration: 'underline',\n },\n ghost: {},\n };\n const handleToggle = () => {\n if (!isDisabled) {\n setIsToggled((prev) => {\n const newState = !prev;\n if (onToggle) {\n onToggle(newState);\n }\n return newState;\n });\n }\n };\n return (\n <Center\n role=\"Toggle\"\n padding={shape === 'pillShaped' ? '10px 12px' : '8px'}\n width=\"fit-content\"\n color={isActive ? 'color.white' : toggleColor}\n backgroundColor={isActive ? toggleColor : 'transparent'}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n cursor={isDisabled ? 'not-allowed' : 'pointer'}\n borderRadius={ToggleShapes[shape]}\n onClick={handleToggle}\n {...ToggleVariants[variant]}\n {...props}\n >\n {children}\n </Center>\n );\n};\nexport default ToggleView;\n","import React, { useEffect } from 'react';\nimport { ToggleProps } from './Toggle/Toggle.props';\nimport { useToggleState } from './Toggle/Toggle.state';\nimport ToggleView from './Toggle/Toggle.view';\n// Destructuring properties from ToggleProps to be used within the ToggleComponent.\nconst ToggleComponent = ({\n children,\n shape,\n colorScheme,\n variant,\n isDisabled,\n // Assigning a default value of false to the isToggled property if none is provided.\n isToggled = false,\n onToggle,\n ...props\n}: ToggleProps) => {\n // Initializing toggle state and set state functions using the custom hook useToggleState.\n const { isHovered, setIsHovered, isToggle, setIsToggled } =\n useToggleState(isToggled);\n // Creating an effect that updates the isToggled state whenever the isToggled prop changes.\n useEffect(() => {\n setIsToggled(isToggled);\n }, [isToggled]);\n // Beginning of the JSX block to render the Toggle view component.\n return (\n <ToggleView\n shape={shape}\n colorScheme={colorScheme}\n variant={variant}\n isDisabled={isDisabled}\n isHovered={isHovered}\n setIsHovered={setIsHovered}\n isToggle={isToggle}\n setIsToggled={setIsToggled}\n onToggle={onToggle}\n {...props}\n >\n {children}\n </ToggleView>\n );\n};\nexport const Toggle = ToggleComponent;\n","import { useState } from 'react';\n// Declares the useToggleState function which takes defaultToggled parameter to initialize the toggle state.\nexport const useToggleState = (defaultToggled: boolean) => {\n // Creates a stateful value isHovered for tracking hover state and a function setIsHovered to update that state, initially false.\n const [isHovered, setIsHovered] = useState(false);\n // Creates a stateful value isToggle to store the current toggle state and a function setIsToggled to modify it, initialized with defaultToggled.\n const [isToggle, setIsToggled] = useState(defaultToggled);\n // Returns an object containing the current states and the functions to update them for external use.\n return { isHovered, setIsHovered, isToggle, setIsToggled };\n};\n","import React, { useCallback } from 'react';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { Toggle } from '../../Toggle/Toggle';\nimport { ToggleGroupViewProps } from './ToggleGroup.props';\n// ToggleGroupView component declaration with destructured properties from props.\nexport const ToggleGroupView = ({\n // Prop 'items' defines the list of toggle elements to be rendered.\n items,\n // Prop 'onToggleChange' is a callback function triggered when the toggle state changes.\n onToggleChange,\n // Prop 'activeToggles' holds the array of active toggle identifiers.\n activeToggles,\n // Prop 'setActiveToggles' is a function to update the active toggle states.\n setActiveToggles,\n // Prop 'shape' with default value 'rounded', determines the shape of the toggle buttons.\n shape = 'rounded',\n // Prop 'variant' with default value 'ghost' represents the visual style variant of the toggles.\n variant = 'ghost',\n // Prop 'colorScheme' with default value 'color.trueGray.400' sets the color theme for toggles.\n colorScheme = 'color.trueGray.400',\n}: ToggleGroupViewProps) => {\n // handleToggle is a memoized callback that handles the toggle state changes.\n const handleToggle = useCallback(\n (id: string, isActive: boolean) => {\n setActiveToggles((prevActiveToggles) => {\n let newActiveToggles;\n if (isActive) {\n newActiveToggles = prevActiveToggles.includes(id)\n ? prevActiveToggles\n : [...prevActiveToggles, id];\n } else {\n newActiveToggles = prevActiveToggles.filter(\n (toggleId) => toggleId !== id\n );\n }\n onToggleChange?.(newActiveToggles);\n return newActiveToggles;\n });\n },\n [onToggleChange, setActiveToggles]\n );\n return (\n <Horizontal role=\"ToggleGroup\" display=\"flex\" gap={5}>\n {items.map((item) => (\n <Toggle\n role={`toggle-${item.id}`}\n key={item.id}\n colorScheme={colorScheme}\n shape={shape}\n variant={variant}\n isToggled={activeToggles.includes(item.id) || item.isActive}\n onToggle={(state) => handleToggle(item.id, state)}\n isDisabled={item.isDisabled}\n >\n {item.value}\n </Toggle>\n ))}\n </Horizontal>\n );\n};\n","import React from 'react';\nimport { AlertView } from './Alert/Alert.view';\nimport { AlertProps } from './Alert/Alert.props';\n// Definition of the AlertComponent functional component with destructured props.\nconst AlertComponent = ({\n icon,\n title,\n styles,\n description,\n variant,\n}: AlertProps) => (\n <AlertView\n icon={icon}\n title={title}\n styles={styles}\n description={description}\n variant={variant}\n />\n);\n// Exporting the AlertComponent as 'Alert' for use in other parts of the application.\nexport const Alert = AlertComponent;\n","import React from 'react';\nimport { AspectRatioProps } from './AspectRatio/AspectRatio.props';\nimport { AspectRatioView } from './AspectRatio/AspectRatio.view';\n// Declaration of the AspectRatioComponent functional component with destructured props.\nconst AspectRatioComponent = ({\n ratio,\n children,\n ...props\n}: // Opening of the functional component's body.\nAspectRatioProps) => {\n // Beginning of the return statement in the functional component.\n return (\n <AspectRatioView ratio={ratio} {...props}>\n {children}\n </AspectRatioView>\n );\n};\nexport const AspectRatio = AspectRatioComponent;\n","import React from 'react';\nimport { AvatarProps } from './Avatar/Avatar.props';\nimport { useAvatarState } from './Avatar/Avatar.state';\nimport { AvatarView } from './Avatar/Avatar.view';\n\n// Defines the AvatarComponent functional component with destructured props from AvatarProps type.\nconst AvatarComponent = ({ src, size, styles, fallback }: AvatarProps) => {\n // Uses custom hook useAvatarState to manage the avatar image loading error state.\n const { imageError, setImageError } = useAvatarState();\n // Begins the JSX return block for rendering the AvatarView component.\n return (\n <AvatarView\n src={src}\n size={size}\n styles={styles}\n fallback={fallback}\n imageError={imageError}\n setImageError={setImageError}\n />\n );\n // AvatarComponent is a functional component that wraps the AvatarView with added state logic.\n};\n// Exports the AvatarComponent as Avatar for use in other parts of the application.\nexport const Avatar = AvatarComponent;\n","import { useState } from 'react';\n// Defines a state hook for managing avatar image error status, initialized as false.\nexport const useAvatarState = () => {\n const [imageError, setImageError] = useState(false);\n // Provides an object containing the image error state and its setter function.\n return { imageError, setImageError };\n};\n","import React from 'react';\nimport { BadgeProps } from './Badge/Badge.props';\nimport BadgeView from './Badge/Badge.view';\n// Importing type definitions for BadgeProps that will be used to type-check the Badge component's props.\nexport const Badge = ({\n // Importing the BadgeView component which is the presentation component for Badge.\n content,\n // Exporting the Badge as a functional component from this module.\n shape,\n // Destructuring the props in the component function parameter list, to directly access individual properties.\n colorScheme,\n // The functional component Badge is implicitly returning the BadgeView component.\n position,\n // Passing all the destructured props to the BadgeView component to maintain the same API surface.\n variant,\n size,\n styles,\n}: BadgeProps) => (\n <BadgeView\n content={content}\n shape={shape}\n colorScheme={colorScheme}\n position={position}\n variant={variant}\n size={size}\n styles={styles}\n />\n);\n","import React from 'react';\n\nimport { CheckboxProps } from './Checkbox/Checkbox.props';\nimport { useCheckboxState } from './Checkbox/Checkbox.state';\nimport CheckboxView from './Checkbox/Checkbox.view';\n\nconst CheckboxComponent: React.FC<CheckboxProps> = (props) => {\n const checkboxStates = useCheckboxState(props);\n\n return <CheckboxView {...checkboxStates} {...props} />;\n};\n\n/**\n * Checkbox allows users to select one or more options from a list of choices.\n */\nexport const Checkbox = CheckboxComponent;\n","import React from 'react';\nimport { CountryPickerProps } from './CountryPicker/CountryPicker.props';\n// Uses the custom hook 'useCountryPickerState' to manage state specific to the CountryPicker component.\nimport { useCountryPickerState } from './CountryPicker/CountryPicker.state';\nimport CountryPickerView from './CountryPicker/CountryPicker.view';\n// Defines the CountryPickerComponent as a functional component with type 'React.FC' that takes 'CountryPickerProps' as props.\nconst CountryPickerComponent: React.FC<CountryPickerProps> = (props) => {\n // Invokes the 'useCountryPickerState' hook to obtain state and methods related to country picking functionality.\n const countryPickerStates = useCountryPickerState(props);\n // Renders the CountryPickerView component passing in state and props for dynamic UI representation.\n return <CountryPickerView {...countryPickerStates} {...props} />;\n};\n// Exports the CountryPickerComponent for use in other parts of the application as 'CountryPicker'.\nexport const CountryPicker = CountryPickerComponent;\n","import React from 'react';\n\nimport { DatePickerProps } from './DatePicker/DatePicker.props';\nimport { useDatePickerState } from './DatePicker/DatePicker.state';\nimport DatePickerView from './DatePicker/DatePicker.view';\n\nconst DatePickerComponent: React.FC<DatePickerProps> = (props) => {\n const datePickerStates = useDatePickerState();\n return <DatePickerView {...datePickerStates} {...props} />;\n};\n\n/**\n * Date picker allows users to select a date from a calendar view.\n */\nexport const DatePicker = DatePickerComponent;\n","import React from 'react';\nimport { useTheme, Image, ViewProps, ImageProps } from 'app-studio';\nimport { Center } from '../Layout/Center/Center';\n\nexport const FileSVG = ({\n src,\n color,\n ...props\n}: {\n src: string;\n color?: string;\n} & ViewProps) => {\n const { getColor } = useTheme();\n\n const Colorprops = color\n ? { fill: getColor(color), stroke: getColor(color) }\n : {};\n\n return (\n <Center {...props}>\n <Image\n {...Colorprops}\n content={'url(\"' + src + '\")'}\n width=\"100%\"\n height=\"100%\"\n />\n </Center>\n );\n};\n\nexport const FileImage = ({\n path,\n ...props\n}: { path: string } & ImageProps) => {\n return <Image src={path} {...props} />;\n};\n","import React from 'react';\n\nimport { CheckboxProps } from '../Form/Checkbox/Checkbox/Checkbox.props';\nimport { useCheckboxState } from '../Form/Checkbox/Checkbox/Checkbox.state';\nimport CheckboxView from '../Form/Checkbox/Checkbox/Checkbox.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst CheckboxComponent: React.FC<CheckboxProps> = (props) => {\n let { value, ...formProps } = useFormikInput(props);\n formProps.isChecked = value;\n const checkboxStates = useCheckboxState(props);\n return <CheckboxView {...checkboxStates} {...formProps} />;\n};\n\n/**\n * Checkbox allows users to select one or more options from a list of choices.\n */\nexport const FormikCheckbox = CheckboxComponent;\n","import React from 'react';\n\nimport { ComboBoxProps } from '../Form/ComboBox/ComboBox/ComboBox.props';\nimport { useComboBoxState } from '../Form/ComboBox/ComboBox/ComboBox.state';\nimport ComboBoxView from '../Form/ComboBox/ComboBox/ComboBox.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst ComboBoxComponent: React.FC<ComboBoxProps> = ({\n items,\n placeholder,\n searchPlaceholder,\n ...props\n}) => {\n const formProps = useFormikInput(props);\n const ComboBoxStates = useComboBoxState(\n items,\n placeholder,\n searchPlaceholder\n );\n\n // Ensure the onChange function from formProps is being called when an item is selected\n const handleSelect = (item: any) => {\n formProps.onChange(item);\n };\n\n return (\n <ComboBoxView {...ComboBoxStates} {...formProps} onSelect={handleSelect} />\n );\n};\n\n/**\n * ComboBox allows users to select one or more options from a list of choices.\n */\nexport const FormikComboBox = ComboBoxComponent;\n","import { useState } from 'react';\nimport { ComboBoxItem, ComboBoxStateActions } from './ComboBox.props';\n// Defines the useComboBoxState hook with parameters for the list of items and optional placeholder texts.\nexport const useComboBoxState = (\n items: ComboBoxItem[],\n placeholder?: string,\n searchPlaceholder?: string\n): ComboBoxStateActions => {\n // State hook for filtered items with initial state set to the items passed to the hook.\n const [filteredItems, setFilteredItems] = useState<ComboBoxItem[]>(items);\n // State hook to track the selected item with an initial state based on the placeholder or the first item.\n const [selectedItem, setSelectedItem] = useState<ComboBoxItem>(\n placeholder ? { value: placeholder, label: placeholder } : items[0]\n );\n // State hook for highlighted index in the dropdown list, initialized to 0.\n const [highlightedIndex, setHighlightedIndex] = useState<number>(0);\n // State hook for search query with an initial state based on the searchPlaceholder or empty string.\n const [searchQuery, setSearchQuery] = useState<string>(\n searchPlaceholder ?? ''\n );\n // State hook to manage dropdown visibility, starts as false (hidden).\n const [isDropdownVisible, setIsDropdownVisible] = useState(false);\n // Start of object returned by the useComboBoxState hook containing all state and state updater functions.\n return {\n filteredItems,\n setFilteredItems,\n selectedItem,\n setSelectedItem,\n highlightedIndex,\n setHighlightedIndex,\n searchQuery,\n setSearchQuery,\n isDropdownVisible,\n setIsDropdownVisible,\n // End of the return statement of the useComboBoxState hook, encapsulating all the state and setState actions for ComboBox.\n };\n};\n","import React from 'react';\n\nimport { CountryPickerProps } from '../Form/CountryPicker/CountryPicker/CountryPicker.props';\nimport { useCountryPickerState } from '../Form/CountryPicker/CountryPicker/CountryPicker.state';\nimport CountryPickerView from '../Form/CountryPicker/CountryPicker/CountryPicker.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst CountryPickerComponent: React.FC<CountryPickerProps> = (props) => {\n const formProps = useFormikInput(props);\n const countryPickerStates = useCountryPickerState(props);\n return <CountryPickerView {...countryPickerStates} {...formProps} />;\n};\n\n/**\n * Country picker allows users to select a country from a dropdown list or search field.\n */\nexport const FormikCountryPicker = CountryPickerComponent;\n","import React from 'react';\n\nimport { DatePickerProps } from '../Form/DatePicker/DatePicker/DatePicker.props';\nimport { useDatePickerState } from '../Form/DatePicker/DatePicker/DatePicker.state';\nimport DatePickerView from '../Form/DatePicker/DatePicker/DatePicker.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst DatePickerComponent: React.FC<DatePickerProps> = (props) => {\n const formProps = useFormikInput(props);\n\n const datePickerStates = useDatePickerState();\n return <DatePickerView {...datePickerStates} {...formProps} />;\n};\n\n/**\n * Date picker allows users to select a date from a calendar view.\n */\nexport const FormikDatePicker = DatePickerComponent;\n","import React from 'react';\n\nimport { PasswordProps } from '../Form/Password/Password/Password.props';\nimport { usePasswordState } from '../Form/Password/Password/Password.state';\nimport { View } from 'app-studio';\nimport { CloseEyeSvg, OpenEyeSvg } from '../Svg';\nimport TextFieldView from '../Form/TextField/TextField/TextField.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst PasswordComponent: React.FC<PasswordProps> = ({\n visibleIcon = <OpenEyeSvg size={14} />,\n hiddenIcon = <CloseEyeSvg size={14} />,\n ...props\n}) => {\n const formProps = useFormikInput(props);\n\n const { isVisible, setIsVisible, ...passwordProps } =\n usePasswordState(formProps);\n\n return (\n <TextFieldView\n {...passwordProps}\n type={isVisible ? 'text' : 'password'}\n isClearable={false}\n rightChild={\n <View\n onClick={() => {\n if (!props.isDisabled) {\n setIsVisible(!isVisible);\n }\n }}\n >\n {isVisible ? visibleIcon : hiddenIcon}\n </View>\n }\n />\n );\n};\n\n/**\n * To allow users to securely enter sensitive information\n */\nexport const FormikPassword = PasswordComponent;\n","import React from 'react';\n\nimport { SelectProps } from '../Form/Select/Select/Select.props';\nimport { useSelectState } from '../Form/Select/Select/Select.state';\nimport SelectView from '../Form/Select/Select/Select.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst SelectComponent: React.FC<SelectProps> = (props) => {\n let formProps = useFormikInput(props);\n formProps.selected = formProps.value;\n const selectStates = useSelectState(props);\n return <SelectView {...selectStates} {...formProps} />;\n};\n\n/**\n * Select provides a dropdown list of options for the user to choose from.\n */\n\nexport const FormikSelect = SelectComponent;\n","import React from 'react';\n\nimport { SwitchProps } from '../Form/Switch/Switch/Switch.props';\nimport { useSwitchState } from '../Form/Switch/Switch/Switch.state';\nimport SwitchView from '../Form/Switch/Switch/Switch.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst SwitchComponent: React.FC<SwitchProps> = (props) => {\n const formProps = useFormikInput(props);\n const switchStates = useSwitchState(props);\n return <SwitchView {...switchStates} {...formProps} />;\n};\n\nexport const FormikSwitch = SwitchComponent;\n","import React from 'react';\n\nimport { TextAreaProps } from '../Form/TextArea/TextArea/TextArea.props';\nimport { useTextAreaState } from '../Form/TextArea/TextArea/TextArea.state';\nimport TextAreaView from '../Form/TextArea/TextArea/TextArea.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst TextAreaComponent: React.FC<TextAreaProps> = (props) => {\n const formProps = useFormikInput(props);\n const textAreaState = useTextAreaState(props);\n return <TextAreaView {...textAreaState} {...formProps} />;\n};\n\n/**\n * Text Area is an component used to create a multi-line input field.\n */\nexport const FormikTextArea = TextAreaComponent;\n","import React from 'react';\n\nimport { TextFieldProps } from '../Form/TextField/TextField/TextField.props';\nimport { useTextFieldState } from '../Form/TextField/TextField/TextField.state';\nimport TextFieldView from '../Form/TextField/TextField/TextField.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst TextFieldComponent: React.FC<TextFieldProps> = (\n props: TextFieldProps\n) => {\n const formProps = useFormikInput(props);\n const { value, ...textFieldStates } = useTextFieldState(props);\n\n return <TextFieldView {...textFieldStates} {...formProps} />;\n};\n/**\n * TextField is used to capture text data from users.\n */\nexport const FormikTextField = TextFieldComponent;\n","import React from 'react';\nimport { hideMessage, useMessageStore } from './Message.store';\nimport { View } from '../../Layout/View/View';\nimport { MessageView } from './Message.view';\nimport { MessageLayoutProps } from './Message.props';\n\nexport const MessageLayout = ({\n container,\n theme,\n position = 'topRight',\n}: MessageLayoutProps) => {\n const {\n visible,\n title,\n variant,\n subtitle,\n isClosable,\n styles,\n action,\n actionText,\n showIcon,\n timeout,\n } = useMessageStore();\n\n const toastPosition = {\n topLeft: {\n top: 6,\n left: 8,\n },\n topRight: {\n top: 6,\n right: 8,\n },\n bottomLeft: {\n bottom: 8,\n left: 6,\n },\n bottomRight: {\n bottom: 8,\n right: 6,\n },\n }[position];\n\n // Crée une fonction pour construire le contenu du message\n const renderMessageContent = () => (\n <MessageView\n variant={variant}\n subtitle={subtitle}\n show={visible}\n title={title}\n theme={theme}\n isClosable={isClosable}\n styles={styles}\n action={action}\n actionText={actionText}\n showIcon={showIcon}\n timeout={timeout}\n hide={() => hideMessage()}\n />\n );\n\n const MessageContainer = container ? (\n React.cloneElement(container, {}, renderMessageContent())\n ) : (\n <View position={'absolute'} zIndex={10000} {...toastPosition}>\n {renderMessageContent()}\n </View>\n );\n\n return visible ? MessageContainer : null;\n};\n","import React from 'react';\n\nimport { PasswordProps } from './Password/Password.props';\nimport { usePasswordState } from './Password/Password.state';\nimport { View } from 'app-studio';\nimport { CloseEyeSvg, OpenEyeSvg } from '../../Svg';\nimport TextFieldView from '../TextField/TextField/TextField.view';\n\nconst PasswordComponent: React.FC<PasswordProps> = ({\n visibleIcon = <OpenEyeSvg size={14} />,\n hiddenIcon = <CloseEyeSvg size={14} />,\n ...props\n}) => {\n const { isVisible, setIsVisible, ...passwordProps } = usePasswordState(props);\n\n return (\n <TextFieldView\n {...passwordProps}\n type={isVisible ? 'text' : 'password'}\n isClearable={false}\n rightChild={\n <View\n onClick={() => {\n if (!props.isDisabled) {\n setIsVisible(!isVisible);\n }\n }}\n >\n {isVisible ? visibleIcon : hiddenIcon}\n </View>\n }\n />\n );\n};\n\n/**\n * To allow users to securely enter sensitive information\n */\nexport const Password = PasswordComponent;\n","import React from 'react';\nimport { SelectProps } from './Select/Select.props';\nimport { useSelectState } from './Select/Select.state';\nimport SelectView from './Select/Select.view';\n// Defines a functional component named 'SelectComponent', which is expected to receive 'SelectProps' as properties.\nconst SelectComponent: React.FC<SelectProps> = (props) => {\n // Invokes the 'useSelectState' hook with props to obtain stateful logic for the Select component.\n const selectStates = useSelectState(props);\n // Renders the 'SelectView' component, passing along any states controlled by 'useSelectState' and all properties passed to 'SelectComponent'.\n return <SelectView {...selectStates} {...props} />;\n};\n// Exports 'SelectComponent' as 'Select', making it available for import in other parts of the application.\nexport const Select = SelectComponent;\n","import React from 'react';\nimport { SwitchProps } from './Switch/Switch.props';\nimport { useSwitchState } from './Switch/Switch.state';\nimport SwitchView from './Switch/Switch.view';\n// Defines the SwitchComponent as a functional component that takes SwitchProps as props.\nconst SwitchComponent: React.FC<SwitchProps> = (props) => {\n // Invokes useSwitchState hook to obtain state for this component, passing props to it.\n const switchStates = useSwitchState(props);\n // Renders the SwitchView component, spreading the switchStates and props to pass all necessary data.\n return <SwitchView {...switchStates} {...props} />;\n};\n// Exports the SwitchComponent as 'Switch' for use in other parts of the application.\nexport const Switch = SwitchComponent;\n","import React from 'react';\nimport { TextAreaProps } from './TextArea/TextArea.props';\nimport { useTextAreaState } from './TextArea/TextArea.state';\nimport TextAreaView from './TextArea/TextArea.view';\n// Defines the TextAreaComponent as a functional component that accepts TextAreaProps for type safety and structure.\nconst TextAreaComponent: React.FC<TextAreaProps> = (props) => {\n // Creates a state for the TextAreaComponent using custom hook useTextAreaState which initializes the state with props.\n const textAreaState = useTextAreaState(props);\n // Renders the TextAreaView component, passing along the state and any received props.\n return <TextAreaView {...textAreaState} {...props} />;\n};\n// Exports the TextAreaComponent as TextArea for use in other parts of the application.\nexport const TextArea = TextAreaComponent;\n","import React from 'react';\nimport { TextFieldProps } from './TextField/TextField.props';\nimport { useTextFieldState } from './TextField/TextField.state';\nimport TextFieldView from './TextField/TextField.view';\nconst TextFieldComponent: React.FC<TextFieldProps> = (\n props: TextFieldProps\n) => {\n // Initializes the 'textFieldStates' with state-management logic and relevant properties from 'useTextFieldState' hook, passing current 'props' as the argument\n const textFieldStates = useTextFieldState(props);\n // Renders the 'TextFieldView' component with the spread attributes from both 'textFieldStates' and 'props' to pass all necessary data\n return <TextFieldView {...textFieldStates} {...props} />;\n};\n// Exports 'TextFieldComponent' as 'TextField' for use in other parts of the application\nexport const TextField = TextFieldComponent;\n","import React from 'react';\nimport { ToggleGroupProps } from './ToggleGroup/ToggleGroup.props';\nimport { useToggleGroupState } from './ToggleGroup/ToggleGroup.state';\nimport { ToggleGroupView } from './ToggleGroup/ToggleGroup.view';\n// Define the functional component with destructured props\nconst ToggleGroupComponent = ({\n // Destructure 'items' prop which represents the group items to toggle\n items,\n // Destructure 'shape' prop to define the shape of the toggle buttons\n shape,\n // Destructure 'colorScheme' prop for toggle button styling\n colorScheme,\n // Destructure 'variant' prop to determine the visual style of the toggle group\n variant,\n // Destructure 'onToggleChange' prop for the callback when toggle state changes\n onToggleChange,\n}: ToggleGroupProps) => {\n // Hook to manage toggle group state, returns active toggles and a setter for it\n const { activeToggles, setActiveToggles } = useToggleGroupState();\n return (\n <ToggleGroupView\n items={items}\n shape={shape}\n colorScheme={colorScheme}\n variant={variant}\n activeToggles={activeToggles}\n setActiveToggles={setActiveToggles}\n onToggleChange={onToggleChange}\n />\n );\n};\n// Expose the ToggleGroupComponent for import into other modules\nexport const ToggleGroup = ToggleGroupComponent;\n","import { useState } from 'react';\n// Define a custom hook for managing ToggleGroup state\nexport const useToggleGroupState = () => {\n const [activeToggles, setActiveToggles] = useState<string[]>([]);\n return { activeToggles, setActiveToggles };\n};\n"],"names":["View","$View","HeadingSizes","h1","fontSize","lineHeight","letterSpacing","h2","h3","h4","h5","h6","TextContent","_ref","children","isSub","isSup","React","TruncateText","_ref2","text","maxLines","containerRef","useRef","truncatedLength","setTruncatedLength","useState","length","useEffect","textNode","current","updateTruncatedText","middle","comLineHeight","getComputedStyle","maxHeight","parseFloat","start","end","Math","floor","innerText","substring","offsetHeight","displayText","ref","TextView","_ref3","heading","isItalic","isUnderlined","isStriked","isTruncated","weight","size","props","_objectWithoutPropertiesLoose","_excluded","Element","role","Typography","fontSizes","lineHeights","fontStyle","fontWeight","fontWeights","textDecoration","display","Text","VerticalView","justifyContent","isReversed","flexDirection","Vertical","Horizontal","CenterView","alignItems","Center","ArrowDownSvg","color","width","height","viewBox","version","fill","id","strokeWidth","strokeLinecap","strokeLinejoin","stroke","fillRule","transform","d","ArrowUpSvg","CheckSvg","xmlns","CloseSvg","CloseEyeSvg","clipRule","ExternalLinkSvg","IndeterminateSvg","OpenEyeSvg","WarningSvg","SuccessSvg","InfoSvg","ErrorSvg","Themes","default","container","backgroundColor","border","content","info","success","error","warning","AlertView","_styles$icon$color","icon","title","styles","description","variant","gap","borderRadius","borderWidth","borderStyle","padding","flexWrap","alignSelf","AspectRatioView","ratio","position","overflow","paddingTop","top","right","bottom","left","AvatarSizeMap","xs","sm","md","lg","xl","AvatarView","src","fallback","imageError","setImageError","avatarSize","imageStyle","Object","assign","objectFit","image","borderColor","boxShadow","Image","alt","style","onError","BadgeSizes","minWidth","BadgeShapes","sharp","rounded","pillShaped","PositionStyles","top-right","top-left","bottom-right","bottom-left","BadgeView","shape","colorScheme","combinedStyles","filled","outline","link","ghost","IconSizes","2xl","3xl","4xl","5xl","6xl","LinkView","href","iconSize","underline","isHovered","isExternal","setIsHovered","handleHover","ReactRouterLink","to","target","onMouseEnter","onMouseLeave","Link","linkStates","useLinkState","ButtonSizes","paddingBottom","paddingLeft","paddingRight","ButtonShapes","DefaultSizes","DefaultSpeeds","fast","normal","slow","DefaultSpinner","speed","colorStyle","useTheme","getColor","sizeStyle","angle","setAngle","intervalId","setInterval","prevAngle","clearInterval","Dotted","_excluded2","cx","cy","r","Quarter","_excluded3","strokeDasharray","LoaderView","_ref4","textColor","loaderColor","type","textPosition","_excluded4","variants","dotted","quarter","Loader","contrast","require","ButtonView","shadow","ariaLabel","externalHref","isAuto","isFilled","isIconRounded","isLoading","isDisabled","iconPosition","onClick","loaderProps","loaderPosition","effect","isActive","defaultNativeProps","disabled","buttonColor","hovering","reverse","isLight","buttonSizeStyles","buttonVariant","scaleWidth","changePadding","as","_props$onClick","cursor","filter","transition","paddingHorizontal","paddingVertical","textDecorationColor","Button","useButtonState","useSelectState","placeholder","isMulti","options","defaultValue","value","hide","setHide","isFocused","setIsFocused","setValue","highlightedIndex","setHighlightedIndex","HelperText","helperText","marginVertical","marginHorizontal","FieldContainer","Shapes","LabelSizes","InputVariants","borderBottomWidth","none","PadddingWithLabel","PaddingWithoutLabel","FieldContent","isWithLabel","isReadOnly","pickerBox","marginBottom","FieldIcons","zIndex","LabelView","Label","FieldLabel","label","whiteSpace","FieldWrapper","Item","option","callback","margin","listStyleType","handleOptionClick","SelectBox","field","removeOption","fieldStyles","heigth","find","_option$label","map","MultiSelect","key","HiddenSelect","name","onChange","opacity","readOnly","event","multiple","DropDown","dropDown","itemStates","useItemState","handleCallback","undefined","document","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","overflowY","marginTop","marginLeft","marginRight","scrollbarWidth","msOverflowStyle","&::-webkit-scrollbar","index","_ref5","stopPropagation","handleClick","SelectView","_ref6","selectBox","useCallback","Array","isArray","includes","htmlFor","onFocus","handleFocus","valueOption","newValue","useSwitchState","isChecked","on","setOn","KnobSizes","SliderSizes","SliderPadding","SwitchContent","Input","SwitchView","inActiveChild","activeChild","labelPosition","slider","circle","switchStyle","checked","useTextAreaState","hint","setHint","useMemo","TextAreaView","isEditable","isAutoFocus","isMultiline","maxRows","maxCols","onBlur","onChangeText","box","focus","handleChange","rows","cols","autoFocus","editable","multiline","useTextFieldState","TextFieldInput","TextFieldView","leftChild","rightChild","isClearable","IconColor","autoComplete","handleClear","useCheckboxState","defaultIsSelected","isSelected","setIsSelected","Sizes","CheckboxView","onValueChange","isIndeterminate","checkbox","infoText","checkboxStyle","useCountryPickerState","newOptions","setNewOptions","countryList","CountryList","CountrySelector","CountryItem","DropDownItem","code","CountryPickerView","paddingVerical","paddingHorizonatl","valueCountry","filteredCountries","country","toLowerCase","startsWith","useDatePickerState","date","setDate","format","Date","DatePickerContent","DatePickerView","handleDateChange","usePasswordState","textFieldStates","isVisible","setIsVisible","FocusContext","createContext","active","focusNextInput","setInputRef","handleSubmitEditing","getReturnKeyType","useFormikInput","useContext","touched","errors","submitCount","values","setFieldTouched","setFieldValue","useFormikContext","handleKeyPress","e","preventDefault","isText","getIn","autoCorrect","inputMode","autoCapitalize","secureTextEntry","getInputTypeProps","handleBlur","onKeyPress","TickSvg","SearchLoopSvg","ComboBoxView","items","showTick","onSelect","searchEnabled","filteredItems","setSelectedItem","selectedItem","searchQuery","setSearchQuery","setFilteredItems","isDropdownVisible","setIsDropdownVisible","handleClickOutside","composedPath","some","element","addEventListener","removeEventListener","labelContainer","flexGrow","dropdown","TextField","query","filtered","item","handleSearch","borderBottom","handleSelect","useMessageStore","create","set","visible","subtitle","isClosable","action","actionText","showIcon","timeout","show","hideMessage","getState","close","MessageView","theme","timeId","setTimeout","clearTimeout","Theme","isWithAction","containerStyle","iconColor","iconComponent","isShowIcon","_styles$closingIcon","closingIcon","_styles$closingIcon2","useModalStore","modal","modalProps","overlayProps","state","hideModal","ContainerShapes","OverlayAlignments","center","HeaderIconSizes","ModalOverlay","blur","isOpen","isClosePrevented","onClose","visibility","backdropFilter","Modal","Overlay","Container","isFullScreen","defaultShadow","Header","buttonPosition","buttonIcon","Body","borderTopWidth","Footer","_excluded5","Layout","modals","modalStore","Fragment","console","defaultStyles","TableStylesContext","TableStylesProvider","Provider","useTableStyles","TableContainer","borderCollapse","table","TableHead","textAlign","thead","TableHeadCell","th","TableRow","tr","TableCell","isFirstColumn","td","TableBody","tbody","TableFooter","tfoot","TableCaption","caption","Table","Head","HeadCell","Row","Cell","Caption","Template","data","columns","footer","column","row","columnIndex","cell","TabsView","tabs","setIsActive","tabsState","setTabsState","headerTabs","tab","idx","newTabs","selectedTab","splice","unshift","moveSelectedTabToTop","activeTab","activeText","isContentActive","Tabs","memo","propTabs","useTabsState","ToggleShapes","ToggleView","isToggle","setIsToggled","onToggle","toggleColor","handleToggle","prev","newState","Toggle","isToggled","defaultToggled","useToggleState","ToggleGroupView","onToggleChange","activeToggles","setActiveToggles","prevActiveToggles","newActiveToggles","toggleId","useAvatarState","checkboxStates","countryPickerStates","datePickerStates","path","Colorprops","_useFormikInput","formProps","searchPlaceholder","ComboBoxStates","useComboBoxState","initFocus","formik","inputRefs","inputNames","currentName","_inputRefs$current$in","nextIndex","indexOf","onSubmit","contextValue","push","_inputRefs$current$in2","_inputRefs$current$in3","$Form","visibleIcon","hiddenIcon","_usePasswordState","passwordProps","selected","selectStates","switchStates","textAreaState","wordBreak","toastPosition","topLeft","topRight","bottomLeft","bottomRight","renderMessageContent","MessageContainer","cloneElement","useToggleGroupState","showMessage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web.cjs.production.min.js","sources":["../src/components/Layout/View/View.tsx","../src/components/Text/Text/Text.style.ts","../src/components/Text/Text/Text.view.tsx","../src/components/Text/Text.tsx","../src/components/Layout/Vertical/Vertical/Vertical.view.tsx","../src/components/Layout/Vertical/Vertical.tsx","../src/components/Layout/Horizontal/Horizontal.tsx","../src/components/Layout/Center/Center/Center.view.tsx","../src/components/Layout/Center/Center.tsx","../src/components/Svg/ArrowDown.tsx","../src/components/Svg/ArrowUp.tsx","../src/components/Svg/Check.tsx","../src/components/Svg/Close.tsx","../src/components/Svg/CloseEye.tsx","../src/components/Svg/ExternalLink.tsx","../src/components/Svg/Indeterminate.tsx","../src/components/Svg/OpenEye.tsx","../src/components/Svg/Warning.tsx","../src/components/Svg/Success.tsx","../src/components/Svg/Info.tsx","../src/components/Svg/Error.tsx","../src/components/Alert/Alert/Alert.style.tsx","../src/components/Alert/Alert/Alert.view.tsx","../src/components/AspectRatio/AspectRatio/AspectRatio.view.tsx","../src/components/Avatar/Avatar/Avatar.style.tsx","../src/components/Avatar/Avatar/Avatar.view.tsx","../src/components/Badge/Badge/Badge.style.tsx","../src/components/Badge/Badge/Badge.view.tsx","../src/components/Link/Link/Link.style.ts","../src/components/Link/Link/Link.view.tsx","../src/components/Link/Link.tsx","../src/components/Link/Link/Link.state.ts","../src/components/Button/Button/Button.style.ts","../src/components/Loader/Loader/Loader.style.ts","../src/components/Loader/Loader/Loader.view.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/Button/Button.view.tsx","../src/components/Button/Button.tsx","../src/components/Button/Button/Button.state.ts","../src/components/Form/Select/Select/Select.state.ts","../src/components/Layout/Input/HelperText/HelperText.tsx","../src/components/Layout/Input/FieldContainer/FieldContainer.tsx","../src/components/Layout/configs/Input.style.ts","../src/components/Layout/Input/FieldContent/FieldContent.tsx","../src/components/Layout/Input/FieldIcons/FieldIcons.tsx","../src/components/Form/Label/Label/Label.style.ts","../src/components/Form/Label/Label/Label.view.tsx","../src/components/Form/Label/Label.tsx","../src/components/Layout/Input/FieldLabel/FieldLabel.tsx","../src/components/Layout/Input/FieldWrapper/FieldWrapper.tsx","../src/components/Form/Select/Select/Select.style.ts","../src/components/Form/Select/Select/Select.view.tsx","../src/components/Form/Switch/Switch/Switch.state.ts","../src/components/Form/Switch/Switch/Switch.style.ts","../src/components/Form/Switch/Switch/Switch.view.tsx","../src/components/Form/TextArea/TextArea/TextArea.state.ts","../src/components/Form/TextArea/TextArea/TextArea.view.tsx","../src/components/Form/TextField/TextField/TextField.state.ts","../src/components/Form/TextField/TextField/TextField.view.tsx","../src/components/Form/Checkbox/Checkbox/Checkbox.state.ts","../src/components/Form/Checkbox/Checkbox/Checkbox.style.ts","../src/components/Form/Checkbox/Checkbox/Checkbox.view.tsx","../src/components/Form/CountryPicker/CountryPicker/CountryPicker.state.ts","../src/components/Form/CountryPicker/CountryPicker/CountryPicker.style.ts","../src/components/Form/CountryPicker/CountryPicker/CountryPicker.view.tsx","../src/components/Form/DatePicker/DatePicker/DatePicker.state.ts","../src/components/Form/DatePicker/DatePicker/DatePicker.view.tsx","../src/components/Form/Password/Password/Password.state.ts","../src/components/Formik/Formik.Form.tsx","../src/components/Formik/Formik.Hook.tsx","../src/components/Svg/Tick.tsx","../src/components/Svg/Search.tsx","../src/components/Form/ComboBox/ComboBox/ComboBox.view.tsx","../src/components/Message/Message/Message.store.tsx","../src/components/Message/Message/Message.style.ts","../src/components/Message/Message/Message.view.tsx","../src/components/Modal/Modal/Modal.store.tsx","../src/components/Modal/Modal/Modal.style.ts","../src/components/Modal/Modal/Modal.view.tsx","../src/components/Modal/Modal.tsx","../src/components/Modal/Modal/Modal.layout.tsx","../src/components/Table/Table/Table.context.tsx","../src/components/Table/Table/Table.view.tsx","../src/components/Table/Table.tsx","../src/components/Tabs/Tabs/Tabs.state.ts","../src/components/Tabs/Tabs/Tabs.view.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Toggle/Toggle/Toggle.style.tsx","../src/components/Toggle/Toggle/Toggle.view.tsx","../src/components/Toggle/Toggle.tsx","../src/components/Toggle/Toggle/Toggle.state.ts","../src/components/ToggleGroup/ToggleGroup/ToggleGroup.view.tsx","../src/components/Alert/Alert.tsx","../src/components/AspectRatio/AspectRatio.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Avatar/Avatar/Avatar.state.ts","../src/components/Badge/Badge.tsx","../src/components/Form/Checkbox/Checkbox.tsx","../src/components/Form/CountryPicker/CountryPicker.tsx","../src/components/Form/DatePicker/DatePicker.tsx","../src/components/File/File.tsx","../src/components/Formik/Formik.Checkbox.tsx","../src/components/Formik/Formik.ComboBox.tsx","../src/components/Form/ComboBox/ComboBox/ComboBox.state.ts","../src/components/Formik/Formik.CountryPicker.tsx","../src/components/Formik/Formik.DatePicker.tsx","../src/components/Formik/Formik.Password.tsx","../src/components/Formik/Formik.Select.tsx","../src/components/Formik/Formik.Switch.tsx","../src/components/Formik/Formik.TextArea.tsx","../src/components/Formik/Formik.TextField.tsx","../src/components/Message/Message/Message.layout.tsx","../src/components/Form/Password/Password.tsx","../src/components/Form/Select/Select.tsx","../src/components/Form/Switch/Switch.tsx","../src/components/Form/TextArea/TextArea.tsx","../src/components/Form/TextField/TextField.tsx","../src/components/ToggleGroup/ToggleGroup.tsx","../src/components/ToggleGroup/ToggleGroup/ToggleGroup.state.ts"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'app-studio';\nimport { View as $View } from 'app-studio';\n\nexport const Top = (props: ViewProps) => (\n <$View marginBottom=\"auto\" {...props} />\n);\nexport const Bottom = (props: ViewProps) => (\n <$View marginTop=\"auto\" {...props} />\n);\n\nexport const Left = (props: ViewProps) => (\n <$View marginRight=\"auto\" {...props} />\n);\nexport const Right = (props: ViewProps) => (\n <$View marginLeft=\"auto\" {...props} />\n);\n\nexport const Inline = (props: ViewProps) => (\n <$View display={'inline-flex'} wordBreak=\"break-word\" {...props} />\n);\n\nexport type { ViewProps };\nexport const View = $View;\n","import { Headings } from './Text.type';\n\nexport const HeadingSizes: Record<Headings, Record<string, number | string>> = {\n h1: {\n fontSize: 96,\n lineHeight: 112,\n letterSpacing: -1.5,\n },\n h2: {\n fontSize: 60,\n lineHeight: 71,\n letterSpacing: -0.5,\n },\n h3: {\n fontSize: 48,\n lineHeight: 57,\n letterSpacing: 0,\n },\n h4: {\n fontSize: 34,\n lineHeight: 40,\n letterSpacing: 0.25,\n },\n h5: {\n fontSize: 24,\n lineHeight: 28,\n letterSpacing: 0,\n },\n h6: {\n fontSize: 20,\n lineHeight: 24,\n letterSpacing: 0.15,\n },\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Element, Typography } from 'app-studio';\n\nimport { ContentProps, TextProps, TruncateTextProps } from './Text.props';\nimport { HeadingSizes } from './Text.style';\n\nconst TextContent: React.FC<ContentProps> = ({ children, isSub, isSup }) => (\n <>\n {typeof children === 'string' ? (\n <>\n {isSub && <sup>{children}</sup>}\n {isSup && <sup>{children}</sup>}\n {!isSub && !isSup && <>{children}</>}\n </>\n ) : (\n children\n )}\n </>\n);\n\nconst TruncateText: React.FC<TruncateTextProps> = ({ text, maxLines = 1 }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [truncatedLength, setTruncatedLength] = useState(text.length);\n\n useEffect(() => {\n const textNode = containerRef.current;\n if (!textNode) return;\n\n const updateTruncatedText = () => {\n const comLineHeight = getComputedStyle(textNode).lineHeight;\n const lineHeight =\n comLineHeight !== 'normal' ? parseFloat(comLineHeight) : 20;\n const maxHeight = lineHeight * maxLines;\n\n let start = 0;\n let end = text.length;\n let middle;\n\n while (start <= end) {\n middle = Math.floor((start + end) / 2);\n textNode.innerText = text.substring(0, middle) + '...';\n const currentHeight = textNode.offsetHeight;\n\n if (currentHeight > maxHeight) {\n end = middle - 1;\n } else {\n start = middle + 1;\n }\n }\n\n setTruncatedLength(end);\n };\n\n updateTruncatedText();\n }, [text, maxLines]);\n\n const displayText =\n text.length > truncatedLength\n ? text.substring(0, truncatedLength) + '...'\n : text;\n\n return <div ref={containerRef}>{displayText}</div>;\n};\nconst TextView: React.FC<TextProps> = ({\n children,\n heading,\n maxLines,\n isItalic = false,\n isUnderlined = false,\n isSub = false,\n isSup = false,\n isStriked = false,\n isTruncated = false,\n weight = 'normal',\n size = 'md',\n ...props\n}) => {\n const headingStyles = heading ? HeadingSizes[heading] : {};\n\n const noLineBreak = isSub || isSup ? { display: 'inline' } : {};\n\n const fontSize = Typography.fontSizes[size];\n\n return (\n <Element\n role=\"text\"\n fontSize={fontSize}\n lineHeight={Typography.lineHeights[size]}\n fontStyle={isItalic ? 'italic' : 'normal'}\n fontWeight={Typography.fontWeights[weight]}\n textDecoration={\n isStriked ? 'line-through' : isUnderlined ? 'underline' : 'none'\n }\n {...noLineBreak}\n {...headingStyles}\n {...props}\n >\n {isTruncated && maxLines && typeof children === 'string' ? (\n <TruncateText text={children} maxLines={maxLines} />\n ) : (\n <TextContent isSub={isSub} isSup={isSup} {...props}>\n {children}\n </TextContent>\n )}\n </Element>\n );\n};\n\nexport default TextView;\n","import React from 'react';\n\nimport { TextProps } from './Text/Text.props';\nimport TextView from './Text/Text.view';\n\nconst TextComponent: React.FC<TextProps> = (props) => {\n return <TextView {...props} />;\n};\n\n/**\n * The Text component is a simple component that renders a text string or paragraphs as a DOM element in the UI. It is a <p> tag by default.\n */\nexport const Text = TextComponent;\n","import React from 'react';\nimport { View } from 'app-studio';\nimport { VerticalProps } from './Vertical.props';\n// Defines the functional component VerticalView with props specified by VerticalProps\nconst VerticalView: React.FC<VerticalProps> = ({\n // Sets a default alignment for content within the vertical container to 'flex-start'\n justifyContent = 'flex-start',\n // Determines the direction in which the vertical elements are stacked, default not reversed\n isReversed = false,\n ...props\n}) => (\n <View\n display=\"flex\"\n justifyContent={justifyContent}\n flexDirection={isReversed ? 'column-reverse' : 'column'}\n {...props}\n />\n);\n// Exports the VerticalView component for use in other parts of the application\nexport default VerticalView;\n","import React from 'react';\nimport VerticalView from './Vertical/Vertical.view';\nimport { VerticalProps } from './Vertical/Vertical.props';\n// Defines the VerticalComponent as a functional component with VerticalProps as its props signature.\nconst VerticalComponent: React.FC<VerticalProps> = (props) => (\n // Renders the VerticalView component, passing all of the received props through to it.\n <VerticalView {...props} />\n);\n// Exports the VerticalComponent as Vertical for use in other parts of the application.\nexport const Vertical = VerticalComponent;\n","import React from 'react';\nimport type { ViewProps } from 'app-studio';\nimport { View } from 'app-studio';\n// Defines a functional component 'HorizontalComponent' utilizing 'ViewProps'. It leverages flexbox to create a horizontal view, which can be reversed based on a prop.\nconst HorizontalComponent: React.FC<ViewProps> = (props) => (\n <View\n display=\"flex\"\n flexDirection={props.isReversed ? 'row-reverse' : 'row'}\n {...props}\n />\n);\n// Exports the HorizontalComponent as 'Horizontal', making it available for use in other parts of the application.\nexport const Horizontal = HorizontalComponent;\n","import React from 'react';\nimport { View } from 'app-studio';\nimport { CenterProps } from './Center.props';\n// Defines a React Functional Component named CenterView which centers its children both horizontally and vertically using flexbox.\nconst CenterView: React.FC<CenterProps> = (props: CenterProps) => (\n // Renders a 'View' component with display flex and center alignment applied on both axes, passing all received props.\n <View display=\"flex\" justifyContent=\"center\" alignItems=\"center\" {...props} />\n);\n// Exports the CenterView component for use in other parts of the application.\nexport default CenterView;\n","import React from 'react';\nimport { CenterProps } from './Center/Center.props';\nimport CenterView from './Center/Center.view';\n// Defines a functional component named CenterComponent utilizing React's functional component structure, which expects props of the CenterProps type.\nconst CenterComponent: React.FC<CenterProps> = (props) => (\n // Renders the CenterView component, passing down all the props received by the CenterComponent.\n <CenterView {...props} />\n);\n// Exports CenterComponent as Center, making it available for use in other parts of the application.\nexport const Center = CenterComponent;\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ArrowDownSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg viewBox=\"0 -4.5 20 20\" version=\"1.1\" fill=\"#000000\" {...props}>\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <title>arrow_down [#338]</title> <desc>Created with Sketch.</desc>\n <defs> </defs>\n <g\n id=\"Page-1\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n >\n <g\n id=\"Dribbble-Light-Preview\"\n transform=\"translate(-220.000000, -6684.000000)\"\n fill=\"#000000\"\n >\n <g id=\"icons\" transform=\"translate(56.000000, 160.000000)\">\n <path\n d=\"M164.292308,6524.36583 L164.292308,6524.36583 C163.902564,6524.77071 163.902564,6525.42619 164.292308,6525.83004 L172.555873,6534.39267 C173.33636,6535.20244 174.602528,6535.20244 175.383014,6534.39267 L183.70754,6525.76791 C184.093286,6525.36716 184.098283,6524.71997 183.717533,6524.31405 C183.328789,6523.89985 182.68821,6523.89467 182.29347,6524.30266 L174.676479,6532.19636 C174.285736,6532.60124 173.653152,6532.60124 173.262409,6532.19636 L165.705379,6524.36583 C165.315635,6523.96094 164.683051,6523.96094 164.292308,6524.36583\"\n id=\"arrow_down-[#338]\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ArrowUpSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 -4.5 20 20\"\n version=\"1.1\"\n fill=\"#000000\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <title>arrow_up [#337]</title> <desc>Created with Sketch.</desc>\n <defs> </defs>\n <g\n id=\"Page-1\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n >\n <g\n id=\"Dribbble-Light-Preview\"\n transform=\"translate(-260.000000, -6684.000000)\"\n fill=\"#000000\"\n >\n <g id=\"icons\" transform=\"translate(56.000000, 160.000000)\">\n <path\n d=\"M223.707692,6534.63378 L223.707692,6534.63378 C224.097436,6534.22888 224.097436,6533.57338 223.707692,6533.16951 L215.444127,6524.60657 C214.66364,6523.79781 213.397472,6523.79781 212.616986,6524.60657 L204.29246,6533.23165 C203.906714,6533.6324 203.901717,6534.27962 204.282467,6534.68555 C204.671211,6535.10081 205.31179,6535.10495 205.70653,6534.69695 L213.323521,6526.80297 C213.714264,6526.39807 214.346848,6526.39807 214.737591,6526.80297 L222.294621,6534.63378 C222.684365,6535.03868 223.317949,6535.03868 223.707692,6534.63378\"\n id=\"arrow_up-[#337]\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const CheckSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\" />\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#CCCCCC\"\n strokeWidth=\"0.048\"\n />\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M17.0001 9L10 16L7 13\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const CloseSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"#000000\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n fill={color}\n d=\"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n ></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const CloseEyeSvg: React.FC<SvgProps> = ({\n size = 64,\n color = '#2F4858',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.7071 5.70711C20.0976 5.31658 20.0976 4.68342 19.7071 4.29289C19.3166 3.90237 18.6834 3.90237 18.2929 4.29289L14.032 8.55382C13.4365 8.20193 12.7418 8 12 8C9.79086 8 8 9.79086 8 12C8 12.7418 8.20193 13.4365 8.55382 14.032L4.29289 18.2929C3.90237 18.6834 3.90237 19.3166 4.29289 19.7071C4.68342 20.0976 5.31658 20.0976 5.70711 19.7071L9.96803 15.4462C10.5635 15.7981 11.2582 16 12 16C14.2091 16 16 14.2091 16 12C16 11.2582 15.7981 10.5635 15.4462 9.96803L19.7071 5.70711ZM12.518 10.0677C12.3528 10.0236 12.1792 10 12 10C10.8954 10 10 10.8954 10 12C10 12.1792 10.0236 12.3528 10.0677 12.518L12.518 10.0677ZM11.482 13.9323L13.9323 11.482C13.9764 11.6472 14 11.8208 14 12C14 13.1046 13.1046 14 12 14C11.8208 14 11.6472 13.9764 11.482 13.9323ZM15.7651 4.8207C14.6287 4.32049 13.3675 4 12 4C9.14754 4 6.75717 5.39462 4.99812 6.90595C3.23268 8.42276 2.00757 10.1376 1.46387 10.9698C1.05306 11.5985 1.05306 12.4015 1.46387 13.0302C1.92276 13.7326 2.86706 15.0637 4.21194 16.3739L5.62626 14.9596C4.4555 13.8229 3.61144 12.6531 3.18002 12C3.6904 11.2274 4.77832 9.73158 6.30147 8.42294C7.87402 7.07185 9.81574 6 12 6C12.7719 6 13.5135 6.13385 14.2193 6.36658L15.7651 4.8207ZM12 18C11.2282 18 10.4866 17.8661 9.78083 17.6334L8.23496 19.1793C9.37136 19.6795 10.6326 20 12 20C14.8525 20 17.2429 18.6054 19.002 17.0941C20.7674 15.5772 21.9925 13.8624 22.5362 13.0302C22.947 12.4015 22.947 11.5985 22.5362 10.9698C22.0773 10.2674 21.133 8.93627 19.7881 7.62611L18.3738 9.04043C19.5446 10.1771 20.3887 11.3469 20.8201 12C20.3097 12.7726 19.2218 14.2684 17.6986 15.5771C16.1261 16.9282 14.1843 18 12 18Z\"\n fill={color}\n ></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ExternalLinkSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n fill={color}\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 50 50\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M38.288 10.297l1.414 1.415-14.99 14.99-1.414-1.414z\"></path>\n <path d=\"M40 20h-2v-8h-8v-2h10z\"></path>\n <path d=\"M35 38H15c-1.7 0-3-1.3-3-3V15c0-1.7 1.3-3 3-3h11v2H15c-.6 0-1 .4-1 1v20c0 .6.4 1 1 1h20c.6 0 1-.4 1-1V24h2v11c0 1.7-1.3 3-3 3z\"></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const IndeterminateSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M7 12L17 12\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></path>{' '}\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const OpenEyeSvg: React.FC<SvgProps> = ({\n size = 64,\n color = '#2F4858',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.30147 15.5771C4.77832 14.2684 3.6904 12.7726 3.18002 12C3.6904 11.2274 4.77832 9.73158 6.30147 8.42294C7.87402 7.07185 9.81574 6 12 6C14.1843 6 16.1261 7.07185 17.6986 8.42294C19.2218 9.73158 20.3097 11.2274 20.8201 12C20.3097 12.7726 19.2218 14.2684 17.6986 15.5771C16.1261 16.9282 14.1843 18 12 18C9.81574 18 7.87402 16.9282 6.30147 15.5771ZM12 4C9.14754 4 6.75717 5.39462 4.99812 6.90595C3.23268 8.42276 2.00757 10.1376 1.46387 10.9698C1.05306 11.5985 1.05306 12.4015 1.46387 13.0302C2.00757 13.8624 3.23268 15.5772 4.99812 17.0941C6.75717 18.6054 9.14754 20 12 20C14.8525 20 17.2429 18.6054 19.002 17.0941C20.7674 15.5772 21.9925 13.8624 22.5362 13.0302C22.947 12.4015 22.947 11.5985 22.5362 10.9698C21.9925 10.1376 20.7674 8.42276 19.002 6.90595C17.2429 5.39462 14.8525 4 12 4ZM10 12C10 10.8954 10.8955 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8955 14 10 13.1046 10 12ZM12 8C9.7909 8 8.00004 9.79086 8.00004 12C8.00004 14.2091 9.7909 16 12 16C14.2092 16 16 14.2091 16 12C16 9.79086 14.2092 8 12 8Z\"\n fill={color}\n ></path>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\n\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const WarningSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 192.146 192.146\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <g>\n <path d=\"M108.186,144.372c0,7.054-4.729,12.32-12.037,12.32h-0.254c-7.054,0-11.92-5.266-11.92-12.32 c0-7.298,5.012-12.31,12.174-12.31C103.311,132.062,108.059,137.054,108.186,144.372z M88.44,125.301h15.447l2.951-61.298H85.46 L88.44,125.301z M190.372,177.034c-2.237,3.664-6.214,5.921-10.493,5.921H12.282c-4.426,0-8.51-2.384-10.698-6.233 c-2.159-3.849-2.11-8.549,0.147-12.349l84.111-149.22c2.208-3.722,6.204-5.96,10.522-5.96h0.332 c4.445,0.107,8.441,2.618,10.513,6.546l83.515,149.229C192.717,168.768,192.629,173.331,190.372,177.034z M179.879,170.634 L96.354,21.454L12.292,170.634H179.879z\"></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const SuccessSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 484.8 484.8\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <path\n d=\"M242.4,0C108.6,0,0,108.6,0,242.4S108.6,484.8,242.4,484.8S484.8,376.2,484.8,242.4S376.2,0,242.4,0z M198.4,358.8l-120-120L84,228l114.4,114.4l188-188l28.8,28.8L198.4,358.8z\"\n fill={color}\n />\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const InfoSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 192.146 192.146\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <g>\n <path d=\"M96.073,3.515C43.19,3.515,0,46.705,0,99.587s43.19,96.072,96.073,96.072s96.073-43.19,96.073-96.072 S148.955,3.515,96.073,3.515z M101.468,154.072h-15.447V120.57h15.447V154.072z M101.468,111.875h-15.447V49.54h15.447V111.875z\"></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const ErrorSvg: React.FC<SvgProps> = ({\n size = 64,\n color = 'white',\n ...props\n}) => (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n height={`${size}px`}\n width={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 510 510\"\n fill={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\"></g>\n <g id=\"SVGRepo_tracerCarrier\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <path\n d=\"M255,0C114.615,0,0,114.615,0,255s114.615,255,255,255s255-114.615,255-255S395.385,0,255,0z M255,459c-114.75,0-207-92.25-207-207c0-114.75,92.25-207,207-207c114.75,0,207,92.25,207,207C462,366.75,369.75,459,255,459z\"\n fill={color}\n />\n <path\n d=\"M255,140.25c11.05,0,20-8.95,20-20s-8.95-20-20-20s-20,8.95-20,20S243.95,140.25,255,140.25z\"\n fill={color}\n />\n <path\n d=\"M265,357c0,11.05-8.95,20-20,20s-20-8.95-20-20v-175c0-11.05,8.95-20,20-20s20,8.95,20,20V357z\"\n fill={color}\n />\n </g>\n </g>\n </g>\n </svg>\n </Center>\n);\n","// Define a constant object 'Themes' exporting various theme styles.\nexport const Themes = {\n // Start of the 'default' theme definition with style properties.\n default: {\n container: {\n backgroundColor: 'white',\n border: 'color.blackAlpha.800',\n },\n // Defines the content style for the 'default' theme.\n content: {\n color: 'color.blackAlpha.800',\n },\n },\n // The 'info' theme with unique container and content styles.\n info: {\n container: {\n backgroundColor: 'color.blue.200',\n border: 'color.blue.400',\n },\n // Content styles specific to the 'info' theme.\n content: {\n color: '#60a5fa',\n },\n },\n // Specifies the 'success' theme with corresponding container and content styles.\n success: {\n container: {\n backgroundColor: 'color.green.200',\n border: 'color.green.400',\n },\n // Sets the content styling nuances for the 'success' theme.\n content: {\n color: '#22c55e',\n },\n },\n // Start of the 'error' theme with its characteristic styles.\n error: {\n container: {\n backgroundColor: 'color.red.200',\n border: 'color.red.400',\n },\n // Content styling for the 'error' theme.\n content: {\n color: '#ef4444',\n },\n },\n // Introduction of the 'warning' theme styles.\n warning: {\n container: {\n backgroundColor: 'color.orange.200',\n border: 'color.orange.400',\n },\n // Defines color and aesthetics for the 'warning' theme's content.\n content: {\n color: '#f97316',\n },\n },\n};\n","import React from 'react';\nimport { View } from '../../Layout/View/View';\nimport { Text } from '../../Text/Text';\nimport { Vertical } from '../../Layout/Vertical/Vertical';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { WarningSvg } from '../../Svg';\nimport { AlertProps } from './Alert.props';\nimport { Themes } from './Alert.style';\n// Defines AlertView as a functional component using destructuring to extract props.\nexport const AlertView = ({\n icon,\n title,\n styles,\n description,\n // Sets a default variant prop to 'default' if none is provided.\n variant = 'default',\n}: AlertProps) => (\n <Horizontal\n gap={15}\n borderRadius={10}\n borderWidth={1}\n borderStyle=\"solid\"\n padding={16}\n flexWrap=\"nowrap\"\n // borderColor={Themes[variant].container.border}\n {...styles?.container}\n >\n <View alignSelf={'center'}>\n {icon ? (\n icon\n ) : (\n <WarningSvg\n size={24}\n color={styles?.icon.color ?? Themes[variant].content.color}\n />\n )}\n </View>\n <Vertical gap={10}>\n <Text\n fontSize=\"16px\"\n color={Themes[variant].content.color}\n {...styles?.title}\n >\n {title}\n </Text>\n <Text\n fontSize=\"14px\"\n color={Themes[variant].content.color}\n {...styles?.description}\n >\n {description}\n </Text>\n </Vertical>\n </Horizontal>\n);\n","import React from 'react';\nimport { View } from '../../Layout/View/View';\nimport { Center } from '../../Layout/Center/Center';\nimport { AspectRatioProps } from './AspectRatio.props';\n// Declaration of a functional component named AspectRatioView.\nexport const AspectRatioView = ({\n // Set a default aspect ratio of 16:9 if no ratio is provided as a prop.\n ratio = 16 / 9,\n // children prop used to render enclosed components.\n children,\n // Spread the rest of the props to inherit additional properties.\n ...props\n}: AspectRatioProps) => (\n <Center\n width={'100%'}\n position=\"relative\"\n overflow=\"hidden\"\n paddingTop={`${(1 / ratio) * 100}%`}\n borderRadius={8}\n {...props}\n >\n <View position=\"absolute\" top={0} right={0} bottom={0} left={0}>\n {children}\n </View>\n </Center>\n);\n","import { Size } from './Avatar.type';\n// Defines a mapping of avatar sizes to their respective numeric values\nexport const AvatarSizeMap: Record<Size, number> = {\n xs: 24,\n sm: 32,\n md: 48,\n lg: 64,\n xl: 80,\n};\n","import React from 'react';\nimport { Text } from '../../Text/Text';\nimport { Center } from '../../Layout/Center/Center';\nimport { Image } from 'app-studio';\nimport { AvatarViewProps } from './Avatar.props';\nimport { AvatarSizeMap } from './Avatar.style';\n// Declaration of the AvatarView functional component with destructured props from AvatarViewProps.\nexport const AvatarView = ({\n src,\n size = 'md',\n fallback = 'IM',\n styles,\n imageError,\n setImageError,\n}: AvatarViewProps) => {\n // Determines the size of the avatar by mapping the size prop to the predefined AvatarSizeMap.\n const avatarSize = AvatarSizeMap[size];\n // Initiates a style object for the image with an objectFit property and spreads additional image styles if provided.\n const imageStyle: any = {\n objectFit: 'cover',\n ...(styles?.image || {}),\n };\n // Start of the JSX returned by the AvatarView component, which uses the Center component as its root element.\n return (\n <Center\n role=\"avatar\"\n width={avatarSize}\n height={avatarSize}\n borderRadius=\"50%\"\n overflow=\"hidden\"\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={imageError ? 'black' : 'transparent'}\n boxShadow=\"0px 2px 4px rgba(0, 0, 0, 0.25)\"\n {...styles?.container}\n >\n {!imageError ? (\n <Image\n alt=\"IM\"\n src={src}\n style={imageStyle}\n width={avatarSize}\n height={avatarSize}\n onError={() => setImageError(true)}\n />\n ) : (\n <Text size={size} {...styles?.fallback}>\n {fallback}\n </Text>\n )}\n </Center>\n );\n};\n","import { CSSProperties } from 'react';\n\nimport { Shape, Size } from './Badge.type';\n\nexport type BadgeSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport const BadgeSizes: Record<Size, CSSProperties> = {\n xs: {\n minWidth: '20px', // Minimum width to ensure content fits\n height: '20px',\n padding: '0 6px', // Horizontal padding\n },\n sm: {\n minWidth: '24px',\n height: '24px',\n padding: '0 8px',\n },\n md: {\n minWidth: '28px',\n height: '28px',\n padding: '0 10px',\n },\n lg: {\n minWidth: '32px',\n height: '32px',\n padding: '0 12px',\n },\n xl: {\n minWidth: '36px',\n height: '36px',\n padding: '0 14px',\n },\n};\n\nexport const BadgeShapes: Record<Shape, number | string> = {\n sharp: 0,\n rounded: 4,\n pillShaped: 24,\n};\n\nexport const PositionStyles: { [key: string]: React.CSSProperties } = {\n 'top-right': { top: 0, right: 0, position: 'absolute' },\n 'top-left': { top: 0, left: 0, position: 'absolute' },\n 'bottom-right': { bottom: 0, right: 0, position: 'absolute' },\n 'bottom-left': { bottom: 0, left: 0, position: 'absolute' },\n};\n","import React, { CSSProperties } from 'react';\n// Importing React and specific type CSSProperties from the 'react' module.\nimport { BadgeProps } from './Badge.props';\n// Importing BadgeProps for typing the component's expected props.\nimport { BadgeShapes, BadgeSizes, PositionStyles } from './Badge.style';\n// Importing styling constants for badge shapes, sizes, and position styles.\nimport { Variant } from './Badge.type';\n// Importing Variant type enumeration to type badge variants.\nimport { Center } from '../../Layout/Center/Center';\n// Importing Center component to centrally place child component.\nimport { Text } from '../../Text/Text';\n// Importing Text component to display the content text within the badge.\nconst BadgeView: React.FC<BadgeProps> = ({\n // Declaring the functional component BadgeView with BadgeProps as its type for props.\n content,\n // Destructuring props with default values for shape, colorScheme, variant, size, and styles.\n position,\n shape = 'pillShaped',\n colorScheme = 'theme.primary',\n variant = 'filled',\n size = 'md',\n styles,\n // Defining BadgeVariants as a record of CSSProperties based on the variant type and associated stylings.\n}) => {\n const BadgeVariants: Record<Variant, CSSProperties> = {\n filled: {\n backgroundColor: colorScheme,\n color: 'color.white',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'transparent',\n },\n outline: {\n // Combining various style objects along with conditional styles based on props to create the badge's appearance.\n backgroundColor: 'transparent',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colorScheme,\n color: colorScheme,\n },\n link: {\n backgroundColor: 'transparent',\n // Rendering the Badge component using the Center layout component with combinedStyles applied.\n borderWidth: 1,\n // Inserting a Text component into the badge to display the content, with dynamic size and additional text styles.\n borderStyle: 'solid',\n borderColor: 'transparent',\n color: colorScheme,\n // Exporting BadgeView to be used in other parts of the application.\n textDecoration: 'underline',\n },\n ghost: {\n backgroundColor: 'transparent',\n color: colorScheme,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'transparent',\n },\n };\n const combinedStyles: Record<string, any> = {\n width: 'fit-content',\n borderRadius: BadgeShapes[shape],\n ...BadgeSizes[size],\n ...BadgeVariants[variant],\n ...(position ? PositionStyles[position] : {}),\n ...styles?.container,\n };\n return (\n <Center role=\"badge\" {...combinedStyles}>\n <Text role=\"badgeText\" size={size} {...styles?.text}>\n {content}\n </Text>\n </Center>\n );\n};\nexport default BadgeView;\n","import { Size } from './Link.type';\n// Defines a mapping of various size names (from 'xs' to '6xl') to their respective numeric icon sizes, providing a scalable way to reference icon sizes throughout the component.\nexport const IconSizes: Record<Size, number> = {\n xs: 12,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n '2xl': 24,\n '3xl': 30,\n '4xl': 36,\n '5xl': 48,\n '6xl': 64,\n};\n","import React from 'react';\nimport { Element } from 'app-studio';\nimport { Link as ReactRouterLink } from 'react-router-dom';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { ExternalLinkSvg } from '../../Svg';\nimport { LinkViewProps } from './Link.props';\nimport { IconSizes } from './Link.style';\n// Component definition for 'LinkView', a functional component with props defined by 'LinkViewProps'.\nconst LinkView: React.FC<LinkViewProps> = ({\n children,\n // Default href prop set to root '/', used for navigation target.\n href = '/',\n // Default icon size for links, with 'sm' specifying a small-sized icon.\n iconSize = 'sm',\n // Determines the default underline behavior of the link, set to 'default'.\n underline = 'default',\n // State flag indicating whether the link is being hovered over.\n isHovered = false,\n // Boolean indicating if the link leads to an external resource.\n isExternal = false,\n // Custom styles for the icon and text, provided via a styles object.\n styles = { icon: {}, text: {} },\n // Setter function for the hover state, noop function provided by default.\n setIsHovered = () => {},\n ...props\n}) => {\n // Function to handle mouse enter/leave events to toggle hover state.\n const handleHover = () => {\n if (underline === 'hover') setIsHovered(true);\n };\n return (\n <ReactRouterLink to={href} target={isExternal ? '_blank' : '_self'}>\n <Element\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n textDecoration={\n isHovered || underline === 'underline'\n ? 'underline !important'\n : 'none'\n }\n {...styles.text}\n {...props}\n >\n <Horizontal gap={3} alignItems=\"center\" flexWrap=\"nowrap\">\n {children}\n {isExternal && (\n <ExternalLinkSvg size={IconSizes[iconSize]} style={styles.icon} />\n )}\n </Horizontal>\n </Element>\n </ReactRouterLink>\n );\n};\nexport default LinkView;\n","import React from 'react';\nimport { LinkProps } from './Link/Link.props';\nimport { useLinkState } from './Link/Link.state';\nimport LinkView from './Link/Link.view';\n// Defines the 'LinkComponent' as a functional component with props typed to 'LinkProps'\nconst LinkComponent: React.FC<LinkProps> = (props) => {\n // Gets stateful logic and data necessary for the link component via 'useLinkState' hook\n const linkStates = useLinkState();\n // Renders 'LinkView' component passing down link state and props\n return <LinkView {...linkStates} {...props} />;\n};\n// Exports 'LinkComponent' as 'Link' for use in other parts of the application\nexport const Link = LinkComponent;\n","import { useState } from 'react';\n// This function initializes the Link component's state using the useState hook and exposes its state and setter function.\nexport const useLinkState = () => {\n const [isHovered, setIsHovered] = useState(false);\n return { isHovered, setIsHovered };\n};\n","import { CSSProperties } from 'react';\nimport { Shape, Size } from './Button.type';\nexport const ButtonSizes: Record<Size, CSSProperties> = {\n // Defines a constant 'ButtonSizes' as a mapping from 'Size' to corresponding 'CSSProperties'.\n xs: {\n // Establishes style configuration for extra-small (xs) button size.\n width: 79,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 12,\n paddingRight: 12,\n fontWeight: 600,\n fontSize: 'xs',\n lineHeight: 16,\n letterSpacing: 1.25,\n // Establishes style configuration for small (sm) button size.\n },\n sm: {\n width: 128,\n paddingTop: 10,\n paddingBottom: 10,\n paddingLeft: 16,\n paddingRight: 16,\n fontWeight: 600,\n fontSize: 'sm',\n // Establishes style configuration for medium (md) button size.\n lineHeight: 20,\n letterSpacing: 1.25,\n },\n md: {\n width: 144,\n paddingTop: 12,\n paddingBottom: 12,\n paddingLeft: 18,\n paddingRight: 18,\n // Establishes style configuration for large (lg) button size.\n fontWeight: 600,\n fontSize: 'md',\n lineHeight: 24,\n letterSpacing: 1.25,\n },\n lg: {\n width: 178,\n paddingTop: 14,\n paddingBottom: 14,\n // Establishes style configuration for extra-large (xl) button size.\n paddingLeft: 22,\n paddingRight: 22,\n fontWeight: 600,\n fontSize: 'lg',\n lineHeight: 24,\n letterSpacing: 1.25,\n },\n xl: {\n width: 220,\n paddingTop: 16,\n // Defines a constant 'ButtonShapes' with style properties for different button shapes such as 'sharp', 'rounded', and 'pillShaped'.\n paddingBottom: 16,\n // Sets the border-radius for a sharp-edged button shape to '0'.\n paddingLeft: 26,\n // Sets the border-radius for a rounded button shape to '4'.\n paddingRight: 26,\n // Sets the border-radius for a pill-shaped button to '24'.\n fontWeight: 600,\n fontSize: 'xl',\n // Defines a constant 'IconSizes' as a mapping from 'Size' to corresponding 'CSSProperties' for icons.\n lineHeight: 24,\n // Sets the width, height, and padding for icons of extra-small size.\n letterSpacing: 1.25,\n },\n};\nexport const ButtonShapes: Record<Shape, number | string> = {\n // Sets the width, height, and padding for icons of small size.\n sharp: 0,\n rounded: 4,\n pillShaped: 24,\n};\n// Sets the width, height, and padding for icons of medium size.\nexport const IconSizes: Record<Size, CSSProperties> = {\n xs: {\n width: 24,\n height: 24,\n // Sets the width, height, and padding for icons of large size.\n padding: 12,\n },\n sm: {\n width: 24,\n // Sets the width, height, and padding for icons of extra-large size.\n height: 24,\n padding: 15,\n },\n md: {\n width: 36,\n height: 36,\n padding: 15,\n },\n lg: {\n width: 36,\n height: 36,\n padding: 18,\n },\n xl: {\n width: 36,\n height: 36,\n padding: 24,\n },\n};\n","import { Size, Speed } from './Loader.type';\n// Defines a mapping of spinning speed labels to their respective duration in seconds for the Loader component animations.\nexport const DefaultEllipsisSpeeds: Record<Speed, number> = {\n fast: 0.4,\n normal: 0.6,\n slow: 0.8,\n};\n// Sets up a scale of sizes, mapping size labels to numerical values to be used for Loader component dimensions.\nexport const DefaultSizes: Record<Size, number> = {\n xs: 14,\n sm: 18,\n md: 22,\n lg: 26,\n xl: 30,\n '2xl': 40,\n '3xl': 50,\n '4xl': 60,\n '5xl': 70,\n '6xl': 80,\n};\n// Specifies a mapping of spinning speed labels to numerical millisecond values, determining the speed of the Loader component's animation cycles.\nexport const DefaultSpeeds: Record<Speed, number> = {\n fast: 50,\n normal: 100,\n slow: 300,\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTheme } from 'app-studio';\nimport { Center } from '../../Layout/Center/Center';\nimport { View } from '../../Layout/View/View';\n\nimport {\n DefaultSpinnerProps,\n DottedProps,\n LoaderProps,\n QuarterProps,\n} from '../Loader/Loader.props';\n\nimport { DefaultSizes, DefaultSpeeds } from './Loader.style';\n\nconst DefaultSpinner: React.FC<DefaultSpinnerProps> = ({\n size = 'md',\n speed = 'normal',\n color = 'theme.loading',\n ...props\n}) => {\n const theme = useTheme();\n const colorStyle = theme.getColor(color);\n const sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];\n\n const [angle, setAngle] = useState(0);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setAngle((prevAngle) => prevAngle + 45);\n }, DefaultSpeeds[speed]);\n\n return () => clearInterval(intervalId);\n }, [speed]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={`${sizeStyle}px`}\n height={`${sizeStyle}px`}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke={colorStyle}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n style={{ transform: `rotate(${angle}deg)` }}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M21 12a9 9 0 11-6.219-8.56\"></path>\n </g>\n </svg>\n );\n};\n\nconst Dotted: React.FC<DottedProps> = ({\n size = 'md',\n speed = 'normal',\n color = 'theme.loading',\n ...props\n}) => {\n const theme = useTheme();\n const colorStyle = theme.getColor(color);\n const sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];\n\n const [angle, setAngle] = useState(0);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setAngle((prevAngle) => prevAngle + 45);\n }, DefaultSpeeds[speed]);\n\n return () => clearInterval(intervalId);\n }, [speed]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 50 50\"\n width={`${sizeStyle}px`}\n height={`${sizeStyle}px`}\n style={{ transform: `rotate(${angle}deg)` }}\n {...props}\n >\n <circle cx=\"10\" cy=\"25\" r=\"4\" fill={colorStyle} />\n <circle cx=\"25\" cy=\"25\" r=\"4\" fill={colorStyle} />\n <circle cx=\"40\" cy=\"25\" r=\"4\" fill={colorStyle} />\n </svg>\n );\n};\n\nconst Quarter: React.FC<QuarterProps> = ({\n size = 'md',\n speed = 'normal',\n color = 'theme.loading',\n ...props\n}) => {\n const theme = useTheme();\n const colorStyle = theme.getColor(color);\n const sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];\n\n const [angle, setAngle] = useState(0);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setAngle((prevAngle) => prevAngle + 45);\n }, DefaultSpeeds[speed]);\n\n return () => clearInterval(intervalId);\n }, [speed]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 50 50\"\n width={`${sizeStyle}px`}\n height={`${sizeStyle}px`}\n style={{ transform: `rotate(${angle}deg)` }}\n {...props}\n >\n <circle\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={colorStyle}\n strokeWidth=\"5\"\n strokeDasharray=\"1,10\"\n />\n </svg>\n );\n};\nconst LoaderView: React.FC<LoaderProps> = ({\n size,\n children,\n textColor,\n loaderColor,\n type = 'default',\n speed = 'normal',\n textPosition = 'right',\n ...props\n}) => {\n const style = { size, speed, color: loaderColor };\n\n const variants = {\n default: <DefaultSpinner {...style} />,\n dotted: <Dotted {...style} />,\n quarter: <Quarter {...style} />,\n };\n\n return (\n <Center\n gap={10}\n flexDirection={\n textPosition === 'top' || textPosition === 'bottom' ? 'column' : 'row'\n }\n {...props}\n >\n {(textPosition === 'left' || textPosition === 'top') && children && (\n <View color={textColor}>{children}</View>\n )}\n {variants[type]}\n {(textPosition === 'right' || textPosition === 'bottom') && children && (\n <View color={textColor}>{children}</View>\n )}\n </Center>\n );\n};\n\nexport default LoaderView;\n","import React from 'react';\nimport { LoaderProps } from './Loader/Loader.props';\nimport LoaderView from './Loader/Loader.view';\n// Defines a LoaderComponent as a functional component with props defined by LoaderProps and returns the LoaderView component, passing along any received props.\nconst LoaderComponent: React.FC<LoaderProps> = (props) => (\n // Renders the LoaderView component by spreading the received props, which allows for a clean pass-through of properties.\n <LoaderView {...props} />\n);\n// Exports the LoaderComponent as Loader, making it available for use in other parts of the application.\nexport const Loader = LoaderComponent;\n","import React, { CSSProperties } from 'react';\nimport { Element, useTheme } from 'app-studio';\nimport { Link } from './../../Link/Link';\nimport { ButtonProps } from './Button.props';\nimport { ButtonShapes, ButtonSizes, IconSizes } from './Button.style';\nimport { Variant } from './Button.type';\nimport { Loader } from '../../Loader/Loader';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\n\nvar contrast = require('contrast');\n\nconst ButtonView: React.FC<ButtonProps> = ({\n icon,\n shadow,\n children,\n // Defines the functional component ButtonView with its expected props detailed in ButtonProps.\n ariaLabel,\n // Initializes default values for the ButtonProps object; useful for defining states like isAuto, isFilled, etc.\n externalHref,\n isAuto = false,\n // Determines if button should be active based on isDisabled and isLoading properties.\n isFilled = false,\n // Prepares default properties for the native button element based on isActive state.\n isIconRounded = false,\n // Sets button color; defaults to the theme's disabled color if button is not active.\n isLoading = false,\n // Determines if the hover effect shall be applied based on isHovered and effect property.\n isDisabled = false,\n // Determines if the reverse style shall be applied based on isHovered and effect property.\n size = 'md',\n variant = 'filled',\n iconPosition = 'left',\n // Defines CSS properties for 'filled' variant of the button with conditional styles based on reverse state.\n colorScheme = 'theme.primary',\n shape = 'rounded',\n onClick = () => {},\n loaderProps = {},\n loaderPosition = 'left',\n effect = 'default',\n isHovered,\n setIsHovered = () => {},\n ...props\n // Defines CSS properties for 'outline' variant of the button with conditional styles based on reverse state.\n}) => {\n const { getColor } = useTheme();\n const handleHover = () => setIsHovered(!isHovered);\n\n const isActive = !(isDisabled || isLoading);\n const defaultNativeProps = { disabled: !isActive };\n const buttonColor = isActive ? colorScheme : 'theme.disabled';\n const hovering = isHovered && effect === 'hover';\n const reverse = isHovered && effect === 'reverse';\n\n const isLight = contrast(getColor(buttonColor)) == 'light';\n const ButtonVariants: Record<Variant, CSSProperties> = {\n filled: {\n // Defines CSS properties for 'link' variant of the button with conditional styles based on reverse state, includes text decoration.\n backgroundColor: reverse ? 'transparent' : buttonColor,\n color: reverse\n ? isLight\n ? 'white'\n : buttonColor\n : isLight\n ? buttonColor\n : 'white',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: reverse ? buttonColor : 'transparent',\n },\n outline: {\n backgroundColor: reverse ? buttonColor : 'transparent',\n // Defines CSS properties for 'ghost' variant of the button with conditional styles based on reverse state.\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: reverse ? buttonColor : colorScheme,\n // Fetches size-specific styles from ButtonSizes based on the 'size' prop.\n color: reverse ? 'white' : buttonColor,\n // Fetches variant-specific styles from ButtonVariants based on the 'variant' prop.\n },\n // Adjusts button width based on isAuto and isFilled properties, using buttonSizeStyles for fallback width.\n link: {\n backgroundColor: 'transparent',\n // Changes padding for the button based on whether isIconRounded is true or false.\n borderWidth: 1,\n borderStyle: 'solid',\n // Creates the content for the button including loaders and icons positioned based on their respective properties.\n borderColor: reverse ? buttonColor : 'transparent',\n color: buttonColor,\n textDecoration: reverse ? 'none' : 'underline',\n },\n ghost: {\n backgroundColor: reverse ? buttonColor : 'transparent',\n color: reverse ? 'white' : buttonColor,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: reverse ? buttonColor : 'transparent',\n },\n };\n // Executes rendering of the button or a link element based on the variant; applies conditional rendering for externalHref in 'link' variant.\n const buttonSizeStyles = ButtonSizes[size];\n const buttonVariant = ButtonVariants[variant];\n const scaleWidth = {\n width: isAuto ? 'fit-content' : isFilled ? '100%' : buttonSizeStyles.width,\n };\n const changePadding = isIconRounded ? IconSizes[size] : ButtonSizes[size];\n const content = (\n <Horizontal gap={10}>\n {isLoading && loaderPosition === 'left' && <Loader {...loaderProps} />}\n {icon && iconPosition === 'left' && !isLoading && icon}\n {children}\n {icon && iconPosition === 'right' && !isLoading && icon}\n {isLoading && loaderPosition === 'right' && <Loader {...loaderProps} />}\n </Horizontal>\n );\n\n return (\n <Element\n gap={8}\n as=\"button\"\n role=\"button\"\n border=\"none\"\n color=\"color.white\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n aria-label={ariaLabel}\n backgroundColor={buttonColor}\n borderRadius={ButtonShapes[shape]}\n onClick={props.onClick ?? onClick}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n cursor={isActive ? 'pointer' : 'default'}\n filter={hovering ? 'brightness(0.85)' : 'brightness(1)'}\n {...(hovering && !props.isDisabled\n ? { transition: 'transform 0.3s ease', transform: 'translateY(-5px)' }\n : {})}\n // transition={hovering && !props.isDisabled ? : ''}\n // transform={hovering && !props.isDisabled ? : ''}\n {...defaultNativeProps}\n {...buttonSizeStyles}\n {...buttonVariant}\n {...scaleWidth}\n {...(props.padding ||\n props.paddingHorizontal ||\n props.paddingVertical ||\n props.paddingLeft ||\n props.paddingRight ||\n props.paddingTop ||\n props.paddingBottom\n ? {}\n : changePadding)}\n {...shadow}\n {...props}\n >\n {variant === 'link' && externalHref ? (\n <Link\n href={externalHref}\n textDecorationColor={colorScheme}\n colorScheme={colorScheme}\n isExternal\n >\n {content}\n </Link>\n ) : (\n content\n )}\n </Element>\n );\n};\nexport default ButtonView;\n","import React from 'react';\nimport { ButtonProps } from './Button/Button.props';\nimport { useButtonState } from './Button/Button.state';\n// Importing TypeScript type for button properties to ensure the component receives the correct props.\nimport ButtonView from './Button/Button.view';\n// Importing a custom hook to manage the state specific to the button component.\nconst ButtonComponent: React.FC<ButtonProps> = (props: any) => {\n // Importing the view part of the button, which is presumably a presentational component.\n const { isHovered, setIsHovered } = useButtonState();\n // Defining the button component with generic React Functional Component type augmented with ButtonProps type.\n const handleHover = () => setIsHovered(!isHovered);\n // Destructuring the state and state update function from the custom hook for button state management.\n return (\n // Defines a function to toggle the hover state of the button.\n <ButtonView\n isHovered={isHovered}\n // Rendering the ButtonView component and spreading the received props on it.\n setIsHovered={setIsHovered}\n // Passing the isHovered state and the setIsHovered function to the ButtonView.\n onMouseEnter={handleHover}\n // Binding handleHover function to onMouseEnter and onMouseLeave events to toggle hover effect.\n onMouseLeave={handleHover}\n {...props}\n />\n );\n // Exports the Button component for use in other parts of the application.\n};\nexport const Button = ButtonComponent;\n","import React from 'react';\nexport const useButtonState = () => {\n const [isHovered, setIsHovered] = React.useState(false);\n // This custom react hook 'useButtonState' is defined for managing the state of a button, especially for hover interactions.\n return { isHovered, setIsHovered };\n // The 'setIsHovered' function is used to update the value of 'isHovered' state when the hover status of the button changes.\n // A state variable 'isHovered' is declared with its initial value set to 'false', indicating that the button is not hovered by default.\n};\n// The hook returns an object containing 'isHovered' state and the 'setIsHovered' function to enable state management from the consumer component.\n","import React from 'react';\nimport { SelectProps } from './Select.props';\n// Initializes the custom hook 'useSelectState' for managing the state of the Select component\nexport const useSelectState = ({\n placeholder,\n isMulti,\n options,\n}: SelectProps) => {\n // Determines the default value based on the 'placeholder' and 'isMulti' props, setting to an empty array for multi-select or an empty string/single default option\n const defaultValue = placeholder ? (isMulti ? [] : '') : options[0].value;\n // State hook for managing visibility of the Select dropdown, initially set to hidden\n const [hide, setHide] = React.useState(true);\n // State hook for tracking mouse hover status over the Select component\n const [isHovered, setIsHovered] = React.useState(false);\n // State hook for tracking focus status of the Select input field\n const [isFocused, setIsFocused] = React.useState(false);\n // State hook for managing the value(s) selected by the user, initialized with the default value\n const [value, setValue] = React.useState<string | string[]>(defaultValue);\n // State hook for keeping track of the currently highlighted index in the options list\n const [highlightedIndex, setHighlightedIndex] = React.useState<number>(0);\n // Returns an object containing all stateful values and their associated setters to manage the Select component's state\n return {\n value,\n setValue,\n hide,\n setHide,\n isHovered,\n setIsHovered,\n isFocused,\n setIsFocused,\n highlightedIndex,\n setHighlightedIndex,\n };\n};\n// Initializes another custom hook 'useItemState' for managing the hover state of each Select item\nexport const useItemState = () => {\n // State hook for tracking mouse hover status over individual Select item options\n const [isHovered, setIsHovered] = React.useState(false);\n // Returns an object with 'isHovered' state and its associated setter from the 'useItemState' hook, for controlling individual Select item hover state\n return { isHovered, setIsHovered };\n};\n","import React from 'react';\nimport { Text } from '../../../Text/Text';\n\nimport { HelperTextProps } from './HelperText.props';\n\nexport const HelperText: React.FC<HelperTextProps> = ({\n children,\n styles = { helperText: {} },\n ...props\n}) => (\n <Text\n size=\"xs\"\n marginVertical={0}\n marginHorizontal={0}\n color={'theme.text.dark'}\n {...(styles['helperText'] as any)}\n {...props}\n >\n {children}\n </Text>\n);\n","import React from 'react';\n\nimport { HelperText } from '../HelperText/HelperText';\n\nimport { ContainerProps } from './FieldContainer/FieldContainer.props';\nimport { Text } from '../../../Text/Text';\nimport { Vertical } from '../../Vertical/Vertical';\n\nexport const FieldContainer: React.FC<ContainerProps> = ({\n children,\n helperText,\n error = false,\n styles,\n ...props\n}) => (\n <Vertical gap={5} position=\"relative\" {...props}>\n {children}\n {!error && helperText && <HelperText {...styles}>{helperText}</HelperText>}\n {error && (\n <Text\n size=\"xs\"\n marginVertical={0}\n marginHorizontal={0}\n color={'theme.error'}\n >\n {error}\n </Text>\n )}\n </Vertical>\n);\n","import { CSSProperties } from 'react';\n\nimport { Shape, Size, Variant } from './Input.type';\n\nexport const Shapes: Record<Shape, CSSProperties> = {\n default: {\n borderRadius: 0,\n },\n sharp: { borderRadius: 0 },\n rounded: { borderRadius: 4 },\n pillShaped: { borderRadius: 24 },\n};\n\nexport const LabelSizes: Record<Size, number> = {\n xs: 6,\n sm: 8,\n md: 10,\n lg: 12,\n xl: 14,\n};\n\nexport const InputVariants: Record<Variant, CSSProperties> = {\n outline: {\n borderWidth: 1,\n },\n default: {\n borderWidth: 0,\n borderBottomWidth: 1,\n },\n none: {\n border: 'none',\n backgroundColor: 'transparent',\n },\n};\n\nexport const PadddingWithLabel = {\n paddingTop: 14,\n paddingBottom: 0,\n paddingLeft: 16,\n paddingRight: 36,\n};\n\nexport const PaddingWithoutLabel = {\n paddingTop: 10,\n paddingBottom: 4,\n paddingLeft: 16,\n paddingRight: 36,\n};\n","import React from 'react';\nimport { Typography } from 'app-studio';\n\nimport {\n InputVariants,\n PadddingWithLabel,\n PaddingWithoutLabel,\n Shapes,\n} from '../../configs/Input.style';\nimport { Horizontal } from '../../Horizontal/Horizontal';\n\nimport { ContentProps } from './FieldContent/FieldContent.props';\n\nexport const FieldContent: React.FC<ContentProps> = ({\n label,\n shadow,\n children,\n value,\n size = 'md',\n shape = 'default',\n variant = 'default',\n error = false,\n isWithLabel = false,\n isFocused = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n colorScheme = 'theme.primary',\n styles = { pickerBox: {} },\n ...props\n}) => {\n const isInteractive = (isHovered || isFocused) && !isDisabled;\n const color = error ? 'error' : isInteractive ? colorScheme : 'midgray';\n\n return (\n <Horizontal\n gap={10}\n width=\"100%\"\n display=\"flex\"\n flexWrap=\"nowrap\"\n borderStyle=\"solid\"\n alignItems=\"center\"\n borderColor={color}\n backgroundColor=\"color.white\"\n transition=\"padding 0.2s ease\"\n justifyContent=\"space-between\"\n marginBottom={5}\n fontSize={Typography.fontSizes[size]}\n // filter={isHovered ? 'brightness(1)':'brightness(0.97)'}\n cursor={isDisabled ? 'not-allowed' : isReadOnly ? 'auto' : 'pointer'}\n {...(isWithLabel ? PadddingWithLabel : PaddingWithoutLabel)}\n {...shadow}\n {...Shapes[shape]}\n {...InputVariants[variant]}\n {...styles['box']}\n {...props}\n >\n {children}\n </Horizontal>\n );\n};\n","import React from 'react';\nimport { Center } from '../../../Layout/Center/Center';\n\nimport { FieldIconsProps } from './FieldIcons/FieldIcons.props';\n\nexport const FieldIcons: React.FC<FieldIconsProps> = ({\n children,\n ...props\n}) => (\n <Center\n gap={10}\n right={16}\n zIndex={500}\n flexWrap=\"nowrap\"\n position=\"absolute\"\n {...props}\n >\n {children}\n </Center>\n);\n","import { Headings } from './Label.type';\n// Import Headings type definition from Label.type module for type safety and consistency.\nexport const HeadingSizes: Record<Headings, Record<string, number | string>> = {\n // Initialize a constant 'HeadingSizes' to define styles for different heading levels.\n h1: {\n // Use TypeScript's 'Record' utility type to ensure the object matches the shape of 'Headings'.\n fontSize: 96,\n // Define style properties for 'h1' heading tag, including font size, line height, and letter spacing.\n lineHeight: 112,\n letterSpacing: -1.5,\n },\n h2: {\n fontSize: 60,\n // Define style properties for 'h2' heading tag similar to 'h1', but with adjusted values for size and spacing.\n lineHeight: 71,\n letterSpacing: -0.5,\n },\n h3: {\n fontSize: 48,\n // Define style properties for 'h3' heading tag with a standard letter spacing of 0.\n lineHeight: 57,\n letterSpacing: 0,\n },\n h4: {\n fontSize: 34,\n // Provide style properties for 'h4' heading tag, with a slight increase in letter spacing.\n lineHeight: 40,\n letterSpacing: 0.25,\n },\n h5: {\n fontSize: 24,\n // Set the 'h5' heading tag styles, opting for no additional letter spacing.\n lineHeight: 28,\n letterSpacing: 0,\n },\n h6: {\n fontSize: 20,\n // Set the 'h6' heading tag styles, with the smallest font size and a subtle letter spacing.\n lineHeight: 24,\n letterSpacing: 0.15,\n },\n};\n","import React from 'react';\nimport { Element, Typography } from 'app-studio';\nimport { LabelProps } from './Label.props';\nimport { HeadingSizes } from './Label.style';\nconst LabelView: React.FC<LabelProps> = ({\n children,\n // LabelView is a functional component that utilizes the LabelProps interface for its props.\n heading,\n // The component is deconstructing its properties to apply conditional styles and pass them to the underlying Element.\n isItalic = false,\n isUnderlined = false,\n isStriked = false,\n // Creates a dynamic style object based on the 'heading' prop, if provided, selecting the appropriate size from HeadingSizes.\n weight = 'normal',\n // Returns an Element component with the role of a label, styled dynamically based on incoming props.\n size = 'sm',\n ...props\n // The fontSize prop for the Element is determined by the 'size' prop passed to LabelView.\n}) => {\n // The fontStyle prop toggles between 'italic' and 'normal' based on the 'isItalic' boolean prop.\n const headingStyles = heading ? HeadingSizes[heading] : {};\n // fontWeight is derived from the Typography module, ensuring consistent font weighting across the app.\n return (\n // textDecoration conditionally applies 'line-through' or 'underline' based on respective boolean props; defaults to 'none' if both are false.\n <Element\n as=\"label\"\n // Spreads any additional style properties from headingStyles into the Element if a heading size is specified.\n width=\"100%\"\n // Spreads the rest of the props to support extensibility of the LabelView component for future use cases.\n fontSize={size}\n // Includes children elements inside the Element, allowing for nested content within the label.\n fontStyle={isItalic ? 'italic' : 'normal'}\n fontWeight={Typography.fontWeights[weight]}\n textDecoration={\n isStriked ? 'line-through' : isUnderlined ? 'underline' : 'none'\n }\n {...headingStyles}\n {...props}\n >\n {children}\n </Element>\n );\n};\nexport default LabelView;\n","import React from 'react';\nimport { LabelProps } from './Label/Label.props';\nimport LabelView from './Label/Label.view';\n// Import custom type 'LabelProps' to type check the properties passed into the Label component.\nconst LabelComponent: React.FC<LabelProps> = (props) => (\n // Import 'LabelView' as a visual component for the label, separating the view from business logic.\n <LabelView {...props} />\n // Define 'LabelComponent' as a functional component that uses React's FC type for type checking and utilizing React features.\n);\n// Pass all properties received by 'LabelComponent' to 'LabelView' using the spread syntax, ensuring it has all props needed for rendering.\nexport const Label = LabelComponent;\n// Export the 'LabelComponent' as 'Label' to be reused throughout the project.\n","import React from 'react';\nimport { Label } from '../../../Form/Label/Label';\n\nimport { LabelSizes } from '../../configs/Input.style';\n\nimport { LabelProps } from './FieldLabel/FieldLabel.props';\n\nexport const FieldLabel: React.FC<LabelProps> = ({\n children,\n size = 'md',\n error = false,\n color = 'theme.primary',\n styles = { label: {} },\n helperText,\n ...props\n}) => (\n <Label\n top={6}\n zIndex={1000}\n lineHeight={LabelSizes[size]}\n letterSpacing={0.25}\n whiteSpace=\"noWrap\"\n position=\"absolute\"\n color={error ? 'error' : color}\n fontSize={LabelSizes[size]}\n {...styles['label']}\n {...props}\n >\n {children}\n </Label>\n);\n","import React from 'react';\n\nimport { Vertical } from '../../Vertical/Vertical';\n\nimport { WrapperFieldProps } from './FieldWrapper.props';\n\nexport const FieldWrapper: React.FC<WrapperFieldProps> = ({\n children,\n ...props\n}) => (\n <Vertical width=\"100%\" {...props}>\n {children}\n </Vertical>\n);\n","import { CSSProperties } from 'react';\nimport { Size } from './Select.type';\n// Defines a mapping of 'Size' types to their corresponding CSSProperties. This allows different size configurations to be provided for the Select component.\nexport const Sizes: Record<Size, CSSProperties> = {\n xs: { height: 6, width: 6 },\n sm: { height: 12, width: 12 },\n md: { height: 18, width: 18 },\n lg: { height: 24, width: 24 },\n xl: { height: 30, width: 30 },\n};\n// Specifies the pixel sizes of icons associated with the Select component based on the predefined 'Size' types allowing for consistent icon scaling.\nexport const IconSizes: Record<Size, number> = {\n xs: 8,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n};\n","import React, { useCallback } from 'react';\nimport { Element } from 'app-studio';\nimport { Typography } from 'app-studio';\nimport { Horizontal } from '../../../Layout/Horizontal/Horizontal';\nimport { Text } from '../../../Text/Text';\nimport { FieldContainer } from '../../../Layout/Input/FieldContainer/FieldContainer';\nimport { FieldContent } from '../../../Layout/Input/FieldContent/FieldContent';\nimport { FieldIcons } from '../../../Layout/Input/FieldIcons/FieldIcons';\nimport { FieldLabel } from '../../../Layout/Input/FieldLabel/FieldLabel';\nimport { FieldWrapper } from '../../../Layout/Input/FieldWrapper/FieldWrapper';\nimport { ArrowDownSvg, ArrowUpSvg, CloseSvg } from '../../../Svg';\nimport {\n DropDownProps,\n HiddenSelectProps,\n ItemProps,\n MultiSelectProps,\n SelectBoxProps,\n SelectViewProps,\n} from './Select.props';\nimport { useItemState } from './Select.state';\nimport { IconSizes } from './Select.style';\n// Defines a component to render individual selection items within a list.\nconst Item: React.FC<ItemProps> = ({\n isHovered,\n setIsHovered,\n option,\n size = 'md',\n callback = () => {},\n style,\n ...props\n}) => {\n // Handles the click event on an option by invoking the callback with the selected option's value.\n const handleOptionClick = (option: string) => callback(option);\n // Toggles the hover state on the item.\n const handleHover = () => setIsHovered(!isHovered);\n return (\n <Element\n as=\"li\"\n margin={0}\n paddingVertical={10}\n paddingHorizontal={12}\n listStyleType=\"none\"\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n onClick={() => handleOptionClick(option.value)}\n backgroundColor={isHovered ? 'trueGray.100' : 'transparent'}\n {...props}\n >\n <Text fontSize={Typography.fontSizes[size]} {...style}>\n {option.label}\n </Text>\n </Element>\n );\n};\nconst SelectBox: React.FC<SelectBoxProps> = ({\n size = 'md',\n styles = { field: {}, text: {} },\n value,\n isDisabled,\n placeholder,\n removeOption = () => {},\n options,\n}) => {\n const fieldStyles = {\n margin: 0,\n width: '95%',\n heigth: '100%',\n border: 'none',\n paddingVertical: 8,\n paddingHorizontal: 0,\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n ...styles['text'],\n };\n const option = options.find((option) => option.value === value);\n return (\n <Text {...fieldStyles}>\n {(value === '' || (value && value.length === 0)) && !!placeholder ? (\n placeholder\n ) : (\n <>\n {typeof value === 'string'\n ? option?.label ?? value\n : value &&\n value.length > 0 && (\n <Horizontal gap={6}>\n {value.map((option) => (\n <MultiSelect\n key={option}\n option={option}\n removeOption={removeOption}\n />\n ))}\n </Horizontal>\n )}\n </>\n )}\n </Text>\n );\n};\nconst HiddenSelect: React.FC<HiddenSelectProps> = ({\n id,\n name,\n value,\n onChange,\n isMulti = false,\n isDisabled = false,\n isReadOnly = false,\n options = [],\n ...props\n}) => {\n const handleChange = (event: any) => {\n if (onChange) onChange(event);\n };\n return (\n <Element\n id={id}\n name={name}\n as=\"select\"\n opacity={0}\n width={0}\n height={0}\n position=\"absolute\"\n value={value}\n disabled={isDisabled}\n readOnly={isReadOnly}\n onChange={handleChange}\n multiple={isMulti}\n {...props}\n >\n {options.map((option) => {\n return (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n );\n })}\n </Element>\n );\n};\nconst DropDown: React.FC<DropDownProps> = ({\n size,\n styles = { dropDown: {} },\n options,\n callback = () => {},\n highlightedIndex,\n setHighlightedIndex,\n}) => {\n const itemStates = useItemState();\n const handleCallback = (option: string) => callback(option);\n const shadow =\n typeof document !== undefined\n ? {\n boxShadow:\n 'rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px',\n }\n : {\n elevation: 2,\n shadowColor: 'rgba(0, 0, 0, 0.07)',\n shadowOffset: {\n width: 0,\n height: 1,\n },\n shadowOpacity: 1,\n shadowRadius: 1,\n };\n return (\n <Element\n as=\"ul\"\n role=\"dropdown\"\n top=\"100%\"\n width=\"100%\"\n display=\"flex\"\n zIndex={100000}\n overflowY=\"scroll\"\n marginTop={5}\n marginLeft={0}\n marginRight={0}\n marginBottom={0}\n padding={0}\n borderRadius={4}\n position=\"absolute\"\n flexDirection=\"column\"\n backgroundColor=\"white\"\n maxHeight=\"200px\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n }}\n {...shadow}\n {...styles['dropDown']}\n >\n {options.map((option, index) => (\n <Item\n key={option.value}\n size={size}\n style={styles['text']}\n option={option}\n callback={handleCallback}\n backgroundColor={\n index === highlightedIndex ? 'color.gray.100' : 'transparent'\n }\n onMouseEnter={() => setHighlightedIndex(index)}\n {...itemStates}\n />\n ))}\n </Element>\n );\n};\nexport const MultiSelect: React.FC<MultiSelectProps> = ({\n option,\n size = 'md',\n removeOption = () => {},\n ...props\n}) => {\n const handleClick = () => removeOption(option);\n return (\n <Horizontal\n gap={10}\n padding={6}\n borderRadius={4}\n alignItems=\"center\"\n fontSize={Typography.fontSizes[size]}\n backgroundColor=\"color.trueGray.300\"\n onClick={(event: any) => event.stopPropagation()}\n {...props}\n >\n <Text size={size}>{option}</Text>\n <CloseSvg\n role=\"close-button\"\n color=\"inherit\"\n size={IconSizes[size]}\n onClick={handleClick}\n />\n </Horizontal>\n );\n};\nconst SelectView: React.FC<SelectViewProps> = ({\n id,\n name,\n label,\n value,\n placeholder,\n helperText,\n hide = false,\n error = false,\n isMulti = false,\n isFocused = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n options = [],\n shadow = {},\n size = 'md',\n colorScheme = 'theme.primary',\n shape = 'default',\n variant = 'default',\n styles = {\n text: {},\n icon: {},\n dropDown: {},\n selectBox: {},\n label: {},\n helperText: {},\n },\n onChange = () => {},\n setHide = () => {},\n setValue = () => {},\n setIsHovered = () => {},\n setIsFocused = () => {},\n setHighlightedIndex,\n highlightedIndex,\n ...props\n}) => {\n const isWithLabel = !!(isFocused && label);\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => setIsFocused(true);\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (event && event.stopPropagation) event.stopPropagation();\n setHide(!hide);\n setIsFocused(!isFocused);\n };\n const handleCallback = useCallback(\n (option: string) => {\n setHide(!hide);\n if (isMulti && Array.isArray(value)) {\n !value.includes(option) && setValue([...value, option]);\n } else {\n setValue(option);\n }\n if (onChange) onChange(option);\n },\n [hide, isMulti, value]\n );\n const handleRemoveOption = (valueOption: string) => {\n if (Array.isArray(value) && value.includes(valueOption)) {\n const newValue = value.filter((option) => option !== valueOption);\n setValue(newValue.length === 0 ? [] : newValue);\n }\n };\n return (\n <FieldContainer\n role=\"SelectBox\"\n helperText={helperText}\n error={error}\n styles={styles}\n onClick={isDisabled || isReadOnly ? () => {} : handleClick}\n >\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <HiddenSelect\n id={id}\n name={name}\n options={options}\n onChange={onChange}\n value={value}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isMulti={isMulti}\n onFocus={handleFocus}\n {...props}\n />\n <SelectBox\n options={options}\n size={size}\n styles={styles}\n value={value}\n isDisabled={isDisabled}\n placeholder={placeholder}\n removeOption={handleRemoveOption}\n />\n </FieldWrapper>\n <FieldIcons>\n {!isReadOnly && !isDisabled && (\n <>\n {hide ? (\n <ArrowDownSvg\n color=\"inherit\"\n size={IconSizes[size]}\n style={styles.icon}\n />\n ) : (\n <ArrowUpSvg\n color=\"inherit\"\n size={IconSizes[size]}\n style={styles.icon}\n />\n )}\n </>\n )}\n </FieldIcons>\n </FieldContent>\n {!hide && (\n <DropDown\n size={size}\n styles={styles}\n options={options}\n callback={handleCallback}\n highlightedIndex={highlightedIndex}\n setHighlightedIndex={setHighlightedIndex}\n />\n )}\n </FieldContainer>\n );\n};\nexport default SelectView;\n","import React from 'react';\nimport { SwitchProps } from './Switch.props';\n// This file defines a custom hook for managing the state of a Switch component. It allows tracking whether the switch is hovered, and its on/off state based on 'isDisabled' and 'isChecked' properties.\nexport const useSwitchState = ({ isDisabled, isChecked }: SwitchProps) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [on, setOn] = React.useState(isDisabled ? !isDisabled : isChecked);\n return { isHovered, setIsHovered, on, setOn };\n};\n","import { CSSProperties } from 'react';\nimport { Size } from './Switch.type';\n// Defines a mapping of size types to their respective knob style properties, specifying the height and width for various predefined sizes.\nexport const KnobSizes: Record<Size, CSSProperties> = {\n xs: { height: 6, width: 6 },\n sm: { height: 9, width: 9 },\n md: { height: 12, width: 12 },\n lg: { height: 15, width: 15 },\n xl: { height: 18, width: 18 },\n '2xl': { height: 21, width: 21 },\n '3xl': { height: 24, width: 24 },\n '4xl': { height: 27, width: 27 },\n '5xl': { height: 30, width: 30 },\n '6xl': { height: 33, width: 33 },\n};\n// Specifies the dimensions of the switch's slider for each predefined size by mapping them to the height and width CSS properties.\nexport const SliderSizes: Record<Size, CSSProperties> = {\n xs: {\n height: 16,\n width: 28,\n },\n sm: {\n height: 20,\n width: 36,\n },\n md: {\n height: 24,\n width: 44,\n },\n lg: {\n height: 28,\n width: 52,\n },\n xl: {\n height: 32,\n width: 60,\n },\n '2xl': {\n height: 36,\n width: 68,\n },\n '3xl': {\n height: 40,\n width: 76,\n },\n '4xl': {\n height: 44,\n width: 84,\n },\n '5xl': {\n height: 48,\n width: 92,\n },\n '6xl': {\n height: 52,\n width: 100,\n },\n};\n// Associates each size type with corresponding padding values for vertical and horizontal spacing, used to adjust the position of the elements within the switch.\nexport const SliderPadding: Record<Size, Record<string, number>> = {\n xs: { paddingVertical: 0, paddingHorizontal: 2 },\n sm: { paddingVertical: 0, paddingHorizontal: 3 },\n md: { paddingVertical: 0, paddingHorizontal: 5 },\n lg: { paddingVertical: 0, paddingHorizontal: 6 },\n xl: { paddingVertical: 0, paddingHorizontal: 8 },\n '2xl': { paddingVertical: 0, paddingHorizontal: 9 },\n '3xl': { paddingVertical: 0, paddingHorizontal: 10 },\n '4xl': { paddingVertical: 0, paddingHorizontal: 13 },\n '5xl': { paddingVertical: 0, paddingHorizontal: 15 },\n '6xl': { paddingVertical: 0, paddingHorizontal: 16 },\n};\n","import React from 'react';\nimport { Input } from 'app-studio';\nimport { Label } from '../../../Form/Label/Label';\nimport { View } from '../../../Layout/View/View';\nimport { SwitchViewProps } from './Switch.props';\nimport { KnobSizes, SliderPadding, SliderSizes } from './Switch.style';\nconst SwitchContent = (props: any) => <Input type=\"checkbox\" {...props} />;\nconst SwitchView: React.FC<SwitchViewProps> = ({\n id,\n name,\n label,\n inActiveChild,\n activeChild,\n labelPosition = 'right',\n shadow = {},\n size = 'sm',\n colorScheme = 'theme.primary',\n value = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n on,\n setOn,\n onChange,\n setValue = () => {},\n setIsHovered = () => {},\n helperText,\n styles = { slider: {}, circle: {}, label: {} },\n ...props\n}) => {\n const handleToggle = (event: any) => {\n if (!isReadOnly) {\n setValue(!value);\n setOn(!on);\n if (onChange) onChange(event.target.checked);\n }\n };\n const handleHover = () => setIsHovered(!isHovered);\n const switchStyle = {\n container: {\n gap: 10,\n display: 'flex',\n height: 'fit-content',\n width: 'fit-content',\n cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'default' : 'pointer',\n ...styles.label,\n },\n };\n return (\n <Label\n htmlFor={id}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n {...switchStyle.container}\n {...props}\n >\n <SwitchContent\n id={id}\n name={name}\n opacity={0}\n width={0}\n height={0}\n checked={value}\n onChange={handleToggle}\n disabled={isDisabled}\n readOnly={isReadOnly}\n {...props}\n />\n {labelPosition === 'left' && label && <View>{label}</View>}\n <View\n display=\"flex\"\n cursor=\"pointer\"\n alignItems=\"center\"\n borderRadius={24}\n marginBottom={5}\n filter={isHovered && value ? 'brightness(0.9)' : 'brightness(1)'}\n transition=\"justify-content 0.3s cubic-bezier(0.4, 0, 0.2, 1)\"\n backgroundColor={\n isDisabled ? 'disabled' : value ? colorScheme : 'lightgray'\n }\n justifyContent={\n activeChild ? 'space-between' : value ? 'flex-end' : 'flex-start'\n }\n {...shadow}\n {...SliderPadding[size]}\n {...SliderSizes[size]}\n {...styles['slider']}\n >\n {activeChild && value && <View>{activeChild}</View>}\n <View\n borderRadius=\"50%\"\n backgroundColor=\"white\"\n {...KnobSizes[size]}\n {...styles['circle']}\n />\n {inActiveChild && !value && <View>{inActiveChild}</View>}\n </View>\n {labelPosition === 'right' && label && <View>{label}</View>}\n </Label>\n );\n};\nexport default SwitchView;\n","import { useMemo, useState } from 'react';\nimport { TextAreaProps } from './TextArea.props';\n// Declaration of the useTextAreaState custom hook for managing the text area component state.\nexport const useTextAreaState = ({\n label,\n placeholder,\n value: defaultValue,\n}: // Initializes the custom hook with properties from TextAreaProps and returns the text area state management functions and values.\nTextAreaProps) => {\n // State hook for the 'hint' value, displaying either the label or placeholder as guidance within the text area.\n const [hint, setHint] = useState(label ?? placeholder);\n // State hook for tracking whether the text area is hovered over.\n const [isHovered, setIsHovered] = useState(false);\n // State hook to manage the current value of the text area, initialized with the default value or an empty string.\n const [value, setValue] = useState(defaultValue || '');\n // State hook to determine if the text area is currently focused.\n const [isFocused, setIsFocused] = useState(false);\n // Memoized callback that sets the hint based on focus state and value presence to ensure proper label or placeholder visibility.\n useMemo(() => {\n setHint(isFocused && !value ? placeholder ?? '' : label ?? placeholder);\n }, [value, isFocused, label, placeholder]);\n return {\n hint,\n setHint,\n isHovered,\n setIsHovered,\n value,\n setValue,\n isFocused,\n setIsFocused,\n };\n // Export of the useTextAreaState hook for external usage.\n};\n","import React from 'react';\nimport { Element, Typography } from 'app-studio';\nimport {\n FieldContainer,\n FieldContent,\n FieldLabel,\n FieldWrapper,\n} from '../../../Layout/Input';\nimport { TextAreaViewProps } from './TextArea.props';\nconst TextAreaView: React.FC<TextAreaViewProps> = ({\n id,\n name,\n hint,\n error,\n value,\n label,\n shadow,\n helperText,\n placeholder,\n size = 'sm',\n shape = 'default',\n variant = 'default',\n colorScheme = 'theme.primary',\n isHovered = false,\n isFocused = false,\n isEditable = false,\n isReadOnly = false,\n isDisabled = false,\n isAutoFocus = false,\n isMultiline = false,\n maxRows = 3,\n maxCols = 30,\n onBlur = () => {},\n onChange,\n onFocus,\n onChangeText,\n setHint = () => {},\n setValue = () => {},\n setIsFocused = () => {},\n setIsHovered = () => {},\n styles = { box: {}, text: {}, label: {}, helperText: {}, field: {} },\n ...props\n}) => {\n const isWithLabel = !!(isFocused && label);\n const fieldStyles = {\n margin: 0,\n paddingVertical: 8,\n paddingHorizontal: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: {\n focus: {\n outline: 'none',\n },\n },\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n };\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => {\n setIsFocused(true);\n if (onFocus) onFocus();\n };\n const handleBlur = (event: any) => {\n onBlur(event);\n setIsFocused(false);\n };\n const handleChange = (\n event: React.ChangeEvent<HTMLInputElement> | string\n ) => {\n if (typeof event === 'string') {\n setValue(event);\n if (onChangeText) onChangeText(event);\n if (onChange) onChange(event);\n } else {\n setValue(event.target.value);\n if (onChangeText) onChangeText(event.target.value);\n if (onChange) onChange(event.target.value);\n }\n };\n return (\n <FieldContainer helperText={helperText} error={error} styles={styles}>\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <Element\n as=\"textarea\"\n id={id}\n name={name}\n rows={maxRows}\n cols={maxCols}\n value={value}\n readOnly={isReadOnly}\n disabled={isDisabled}\n autoFocus={isAutoFocus}\n editable={isEditable}\n placeholder={hint}\n onBlur={handleBlur}\n onFocus={handleFocus}\n multiline={isMultiline}\n {...fieldStyles}\n {...props}\n onChange={handleChange}\n onChangeText={handleChange}\n />\n </FieldWrapper>\n </FieldContent>\n </FieldContainer>\n );\n};\nexport default TextAreaView;\n","import { useMemo, useState } from 'react';\nimport { TextFieldProps } from './TextField.props';\n// Define a custom hook `useTextFieldState` that creates and manages the state of a text field component based on its properties.\nexport const useTextFieldState = ({\n label,\n placeholder,\n value: defaultValue,\n}: TextFieldProps) => {\n // Initialize `hint` state with either the label or placeholder text, using label as a priority if it exists.\n const [hint, setHint] = useState(label ?? placeholder);\n // Set up a boolean state `isFocused` to track if the text field is focused.\n const [isFocused, setIsFocused] = useState(false);\n // Introduce a boolean state `isHovered` for tracking mouse hover status over the text field.\n const [isHovered, setIsHovered] = useState(false);\n // Manage the `value` state that holds the current value of the text field, initialized with defaultValue.\n const [value, setValue] = useState(defaultValue);\n // Use `useMemo` hook to recompute hint text when any dependency changes, updating it based on focus state and presence of value.\n useMemo(() => {\n // Update the `hint` state depending on whether the text field is focused and if value is not present, falling back to placeholder or label.\n setHint(isFocused && !value ? placeholder ?? '' : label ?? placeholder);\n // Specify the dependencies for the `useMemo` hook - updating the `hint` text when value, isFocused, label, or placeholder changes.\n }, [value, isFocused, label, placeholder]);\n // Return an object exposing the states and state setter functions for consumer components to use and manage the text field's UI and behavior.\n return {\n hint,\n setHint,\n isFocused,\n setIsFocused,\n isHovered,\n setIsHovered,\n setValue,\n value,\n };\n};\n","import React from 'react';\nimport { Input, Typography, useTheme } from 'app-studio';\nimport { FieldContainer } from '../../../Layout/Input/FieldContainer/FieldContainer';\nimport { FieldContent } from '../../../Layout/Input/FieldContent/FieldContent';\nimport { FieldIcons } from '../../../Layout/Input/FieldIcons/FieldIcons';\nimport { FieldLabel } from '../../../Layout/Input/FieldLabel/FieldLabel';\nimport { FieldWrapper } from '../../../Layout/Input/FieldWrapper/FieldWrapper';\nimport { CloseSvg } from '../../../Svg';\nimport { TextFieldViewProps } from './TextField.props';\nconst TextFieldInput = (props: any) => <Input type=\"text\" {...props} />;\nconst TextFieldView: React.FC<TextFieldViewProps> = ({\n id,\n name,\n label,\n hint,\n value,\n onChange,\n leftChild,\n rightChild,\n helperText,\n placeholder,\n onChangeText,\n shadow = {},\n styles = { box: {}, field: {}, label: {}, helperText: {}, text: {} },\n size = 'md',\n shape = 'default',\n variant = 'default',\n colorScheme = 'theme.primary',\n error = false,\n isFocused = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n isClearable = true,\n isAutoFocus = false,\n setHint = () => {},\n setIsFocused = () => {},\n setIsHovered = () => {},\n setValue = () => {},\n onClick = () => {},\n onFocus,\n onBlur = () => {},\n ...props\n}) => {\n const { getColor } = useTheme();\n const IconColor = getColor('color.blueGray.700');\n const isWithLabel = !!(isFocused && label);\n const fieldStyles = {\n margin: 0,\n paddingVertical: 8,\n paddingHorizontal: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: {\n focus: {\n outline: 'none',\n },\n },\n fontSize: Typography.fontSizes[size],\n lineHeight: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n };\n const handleFocus = () => {\n setIsFocused(true);\n if (onFocus) onFocus();\n };\n const handleHover = () => setIsHovered(!isHovered);\n const handleBlur = (event: any) => {\n if (onBlur) onBlur(event);\n setIsFocused(false);\n };\n const handleChange = (\n event: React.ChangeEvent<HTMLInputElement> | string\n ) => {\n if (typeof event === 'string') {\n setValue(event);\n if (onChangeText) onChangeText(event);\n if (onChange) onChange(event);\n } else {\n setValue(event.target.value);\n if (onChangeText) onChangeText(event.target.value);\n if (onChange) onChange(event.target.value);\n }\n };\n const handleClear = () => {\n setValue('');\n if (onChange) {\n onBlur({ target: { name } });\n if (onChangeText) onChangeText('');\n if (onChange) onChange('');\n }\n if (typeof document === 'undefined' && onChangeText) onChangeText('');\n };\n return (\n <FieldContainer helperText={helperText} error={error} styles={styles}>\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n {leftChild}\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <TextFieldInput\n id={id}\n name={name}\n readOnly={isReadOnly}\n disabled={isDisabled}\n autoFocus={isAutoFocus}\n placeholder={hint}\n onFocus={handleFocus}\n onBlur={handleBlur}\n autoComplete=\"off\"\n {...fieldStyles}\n {...props}\n onChange={handleChange}\n value={value}\n />\n </FieldWrapper>\n {(rightChild || (isClearable && value)) && (\n <FieldIcons>\n {isClearable && value && !isReadOnly && !isDisabled && (\n <CloseSvg\n size={Typography.fontSizes[size]}\n color={IconColor}\n onClick={handleClear}\n />\n )}\n {rightChild && <>{rightChild}</>}\n </FieldIcons>\n )}\n </FieldContent>\n </FieldContainer>\n );\n};\nexport default TextFieldView;\n","import React from 'react';\n\nimport { CheckboxProps } from './Checkbox.props';\n\nexport const useCheckboxState = ({\n defaultIsSelected = false,\n}: CheckboxProps) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [isSelected, setIsSelected] =\n React.useState<boolean>(defaultIsSelected);\n\n return {\n isHovered,\n setIsHovered,\n isSelected,\n setIsSelected,\n };\n};\n","import { CSSProperties } from 'react';\n\nimport { Size } from './Checkbox.type';\n\nexport const Sizes: Record<Size, CSSProperties> = {\n xs: { height: 8, width: 8 },\n sm: { height: 12, width: 12 },\n md: { height: 18, width: 18 },\n lg: { height: 24, width: 24 },\n xl: { height: 30, width: 30 },\n '2xl': { height: 36, width: 36 },\n '3xl': { height: 42, width: 42 },\n '4xl': { height: 48, width: 48 },\n '5xl': { height: 54, width: 54 },\n '6xl': { height: 60, width: 60 },\n};\n\nexport const IconSizes: Record<Size, number> = {\n xs: 6,\n sm: 12,\n md: 18,\n lg: 24,\n xl: 30,\n '2xl': 36,\n '3xl': 42,\n '4xl': 48,\n '5xl': 54,\n '6xl': 60,\n};\n","import React from 'react';\nimport { Typography } from 'app-studio';\n\nimport { Center } from '../../../Layout/Center/Center';\nimport { Label } from '../../../Form/Label/Label';\nimport { CheckSvg, IndeterminateSvg } from '../../../Svg';\n\nimport { CheckboxViewProps } from './Checkbox.props';\nimport { IconSizes, Sizes } from './Checkbox.style';\nimport { Text } from '../../../Text/Text';\nimport { Horizontal } from '../../../Layout/Horizontal/Horizontal';\nimport { Vertical } from '../../../Layout/Vertical/Vertical';\n\nconst CheckboxView: React.FC<CheckboxViewProps> = ({\n id,\n icon,\n name,\n label,\n isChecked,\n onChange,\n onValueChange,\n shadow = {},\n labelPosition = 'right',\n size = 'md',\n colorScheme = 'theme.primary',\n error = false,\n isSelected = false,\n isHovered = false,\n isDisabled = false,\n isReadOnly = false,\n isIndeterminate = false,\n defaultIsSelected = false,\n setIsSelected = () => {},\n setIsHovered = () => {},\n styles = { checkbox: {}, label: {} },\n infoText,\n helperText,\n ...props\n}) => {\n const handleHover = () => setIsHovered(!isHovered);\n\n const handleChange = () => {\n if (!isReadOnly && !isDisabled) {\n if (setIsSelected) setIsSelected(!isSelected);\n if (onChange) onChange(!isChecked);\n if (onValueChange) onValueChange(!isChecked);\n }\n };\n\n const checkboxStyle = {\n container: {\n gap: 10,\n display: 'flex',\n alignItems: 'center',\n height: 'fit-content',\n width: 'fit-content',\n color: error\n ? 'theme.error'\n : isDisabled\n ? 'theme.disabled'\n : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'default' : 'pointer',\n ...styles['label'],\n },\n checkbox: {\n ...(isDisabled\n ? { backgroundColor: 'theme.disabled' }\n : ((isChecked || isSelected) && !isIndeterminate) || isIndeterminate\n ? { backgroundColor: colorScheme }\n : {\n borderWidth: 2,\n borderColor: error\n ? 'theme.error'\n : isHovered\n ? 'color.gray.500'\n : 'color.gray.300',\n borderStyle: 'solid',\n }),\n borderRadius: 3,\n ...(isHovered ? { filter: 'brightness(0.9)' } : {}),\n ...Sizes[size],\n ...shadow,\n ...styles['checkbox'],\n },\n };\n\n return (\n <Label\n htmlFor={id}\n as=\"div\"\n onClick={handleChange}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n size={Typography.fontSizes[size]}\n {...checkboxStyle.container}\n {...props}\n >\n <Vertical gap={8}>\n <Horizontal gap={10} alignItems=\"center\">\n {labelPosition === 'left' && label && (\n <Text size={size} {...styles?.label}>\n {label}\n </Text>\n )}\n <Center {...checkboxStyle.checkbox}>\n {isIndeterminate ? (\n <IndeterminateSvg />\n ) : (\n (isChecked || isSelected) &&\n (icon ?? <CheckSvg size={IconSizes[size]} />)\n )}\n </Center>\n {labelPosition === 'right' && label && (\n <Text size={size} {...styles?.label}>\n {label}\n </Text>\n )}\n </Horizontal>\n {infoText && (\n <Text\n marginLeft={labelPosition === 'left' ? 0 : 27}\n color=\"color.gray.400\"\n size=\"sm\"\n {...styles?.infoText}\n >\n {infoText}\n </Text>\n )}\n </Vertical>\n </Label>\n );\n};\n\nexport default CheckboxView;\n","import React from 'react';\nimport countryList from '../countries.json';\nimport { CountryPickerProps } from './CountryPicker.props';\nimport { Country } from './CountryPicker.type';\n// Defines a custom hook for managing the CountryPicker component's state, including options from a country list, selected value, and UI states for hiding, focus, and hover.\nexport const useCountryPickerState = ({ placeholder }: CountryPickerProps) => {\n const [newOptions, setNewOptions] =\n React.useState<Array<Country>>(countryList);\n const [value, setValue] = React.useState<string>(\n placeholder ?? countryList[0].name\n );\n const [hide, setHide] = React.useState(true);\n const [isFocused, setIsFocused] = React.useState(false);\n const [isHovered, setIsHovered] = React.useState(false);\n return {\n hide,\n setHide,\n newOptions,\n setNewOptions,\n isHovered,\n setIsHovered,\n isFocused,\n setIsFocused,\n value,\n setValue,\n };\n};\n","import { Size } from './CountryPicker.type';\n// Defines the size of icons based on predefined size categories to maintain design consistency.\nexport const IconSizes: Record<Size, number> = {\n xs: 8,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n};\n// Maps predefined size categories to specific numerical values to standardize label sizes throughout the component.\nexport const LabelSizes: Record<Size, number> = {\n xs: 8,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n};\n","import React, { useState } from 'react';\nimport { Element, Input, Typography, useTheme } from 'app-studio';\nimport {\n FieldContainer,\n FieldContent,\n FieldIcons,\n FieldLabel,\n FieldWrapper,\n} from '../../../Layout/Input';\nimport { ArrowDownSvg } from '../../../Svg/ArrowDown';\nimport { ArrowUpSvg } from '../../../Svg/ArrowUp';\nimport countryList from '../countries.json';\nimport {\n CountryPickerViewProps,\n DropDownItemProps,\n DropDownProps,\n} from './CountryPicker.props';\nimport { IconSizes } from './CountryPicker.style';\nimport { Country } from './CountryPicker.type';\nconst CountryList: React.FC<DropDownProps> = ({ size, ...props }) => (\n <Element as=\"ul\" {...props} />\n);\nconst CountrySelector: React.FC<any> = (props) => (\n <Input type=\"country\" {...props} />\n);\nconst CountryItem: React.FC<DropDownItemProps> = ({ size, ...props }) => (\n <Element as=\"li\" {...props} />\n);\nexport const DropDownItem: React.FC<DropDownItemProps> = ({\n option,\n size = 'md',\n callback = () => {},\n styles = { text: {} },\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n const handleOptionClick = (event: any) => {\n if (event && event.stopPropagation) event.stopPropagation();\n callback(option);\n };\n const handleHover = () => setIsHovered(!isHovered);\n return (\n <CountryItem\n margin={0}\n role=\"DropDownItem\"\n listStyleType=\"none\"\n paddingVertical={6}\n paddingHorizontal={12}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n onClick={handleOptionClick}\n fontSize={Typography.fontSizes[size]}\n backgroundColor={isHovered ? 'trueGray.100' : 'transparent'}\n {...styles['text']}\n >\n {option}\n </CountryItem>\n );\n};\nexport const DropDown: React.FC<DropDownProps> = ({\n size,\n styles = { dropDown: {} },\n options,\n callback = () => {},\n}) => {\n const handleCallback = (option: string) => callback(option);\n return (\n <CountryList\n role=\"dropDown\"\n margin={0}\n padding={0}\n top=\"100%\"\n width=\"100%\"\n display=\"flex\"\n zIndex={1000}\n overflow=\"auto\"\n maxHeight=\"300px\"\n borderRadius={4}\n position=\"absolute\"\n flexDirection=\"column\"\n backgroundColor=\"white\"\n boxShadow=\"rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px\"\n {...styles['dropDown']}\n >\n {options.map((option: Country) => (\n <DropDownItem\n key={option.code}\n size={size}\n option={option.name}\n callback={handleCallback}\n {...styles['text']}\n />\n ))}\n </CountryList>\n );\n};\nconst CountryPickerView: React.FC<CountryPickerViewProps> = ({\n id,\n name,\n label,\n value,\n placeholder,\n helperText,\n hide = false,\n error = false,\n isHovered = false,\n isFocused = false,\n isAutoFocus = false,\n isDisabled = false,\n isReadOnly = false,\n shadow = {},\n newOptions = [],\n size = 'md',\n variant = 'default',\n shape = 'default',\n colorScheme = 'theme.primary',\n onChange,\n onBlur = () => {},\n setHide = () => {},\n setNewOptions = () => {},\n setIsHovered = () => {},\n setIsFocused = () => {},\n setValue = () => {},\n styles = {\n text: {},\n icon: {},\n label: {},\n dropDown: {},\n helperText: {},\n box: {},\n },\n ...props\n}) => {\n const { getColor } = useTheme();\n const IconColor = getColor('color.blueGray.700');\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => setIsFocused(true);\n const handleCallback = (option: string) => {\n setHide(!hide);\n setValue(option);\n if (onChange) onChange(option);\n };\n const handleClick = () => {\n if (!isDisabled && !isReadOnly) {\n setHide(!hide);\n }\n };\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueCountry = event.target.value;\n const filteredCountries = countryList.filter((country) =>\n country.name.toLowerCase().startsWith(valueCountry.toLowerCase())\n );\n if (hide) setHide(false);\n setNewOptions(filteredCountries);\n if (onChange) onChange(valueCountry);\n };\n const handleBlur = (event: any) => {\n onBlur(event);\n setIsFocused(false);\n };\n const isWithLabel = !!(isFocused && label);\n const fieldStyles = {\n margin: 0,\n paddingVerical: 8,\n paddingHorizonatl: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: { focus: { outline: 'none' } },\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : 'auto',\n ...styles['field'],\n };\n return (\n <FieldContainer\n helperText={helperText}\n error={error}\n styles={styles}\n onClick={handleClick}\n >\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={value}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <CountrySelector\n id={id}\n name={name}\n placeholder={placeholder}\n readOnly={isReadOnly}\n disabled={isDisabled}\n autoFocus={isAutoFocus}\n onBlur={handleBlur}\n onFocus={handleFocus}\n {...fieldStyles}\n {...props}\n value={value}\n onChange={handleChange}\n />\n </FieldWrapper>\n <FieldIcons>\n {hide ? (\n <ArrowDownSvg\n size={IconSizes[size]}\n color={IconColor}\n style={styles['icon']}\n />\n ) : (\n <ArrowUpSvg\n size={IconSizes[size]}\n color={IconColor}\n style={styles['icon']}\n />\n )}\n </FieldIcons>\n </FieldContent>\n {!hide && (\n <DropDown\n size={size}\n styles={styles}\n options={newOptions}\n callback={handleCallback}\n />\n )}\n </FieldContainer>\n );\n};\nexport default CountryPickerView;\n","import React from 'react';\nimport format from 'date-fns/format';\n\nexport const useDatePickerState = () => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [isFocused, setIsFocused] = React.useState(false);\n const [date, setDate] = React.useState(format(new Date(), 'yyyy-MM-dd'));\n\n return {\n date,\n setDate,\n isHovered,\n setIsHovered,\n isFocused,\n setIsFocused,\n };\n};\n","import React from 'react';\nimport { Input, Typography } from 'app-studio';\nimport { FieldContainer } from '../../../Layout/Input/FieldContainer/FieldContainer';\nimport { FieldContent } from '../../../Layout/Input/FieldContent/FieldContent';\nimport { FieldLabel } from '../../../Layout/Input/FieldLabel/FieldLabel';\nimport { FieldWrapper } from '../../../Layout/Input/FieldWrapper/FieldWrapper';\n\nimport { DatePickerViewProps } from './DatePicker.props';\n\nconst DatePickerContent = (props: any) => <Input type=\"date\" {...props} />;\n\nconst DatePickerView: React.FC<DatePickerViewProps> = ({\n id,\n icon,\n name,\n label,\n date,\n children,\n helperText,\n shadow = {},\n size = 'md',\n variant = 'default',\n shape = 'default',\n colorScheme = 'theme.primary',\n styles = { box: {}, label: {}, helperText: {}, text: {}, field: {} },\n error = false,\n isHovered = false,\n isFocused = false,\n isDisabled = false,\n isReadOnly = false,\n setDate = () => {},\n setIsFocused = () => {},\n setIsHovered = () => {},\n onChange,\n onChangeText,\n ...props\n}) => {\n const isWithLabel = !!(isFocused && label);\n\n const handleHover = () => setIsHovered(!isHovered);\n const handleFocus = () => setIsFocused(true);\n\n const handleDateChange = (event: any) => {\n if (typeof event === 'string') {\n setDate(event);\n if (onChangeText) onChangeText(event);\n } else {\n setDate(event.target.value);\n if (onChange) onChange(event.target.value);\n }\n };\n\n const fieldStyles = {\n margin: 0,\n paddingVertical: 8,\n paddingHorizontal: 0,\n width: '100%',\n heigth: '100%',\n border: 'none',\n on: {\n focus: {\n outline: 'none',\n backgroundColor: 'transparent',\n },\n },\n fontSize: Typography.fontSizes[size],\n backgroundColor: 'transparent',\n color: isDisabled ? 'color.trueGray.600' : 'color.blueGray.700',\n cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'auto' : 'pointer',\n ...styles['field'],\n };\n\n return (\n <FieldContainer helperText={helperText} error={error} styles={styles}>\n <FieldContent\n label={label}\n size={size}\n error={error}\n shape={shape}\n styles={styles}\n shadow={shadow}\n variant={variant}\n value={date}\n color={colorScheme}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isFocused={isFocused}\n isWithLabel={isWithLabel}\n colorScheme={colorScheme}\n onMouseEnter={handleHover}\n onMouseLeave={handleHover}\n >\n <FieldWrapper>\n {isWithLabel && (\n <FieldLabel\n htmlFor={id}\n color={colorScheme}\n error={error}\n {...styles}\n >\n {label}\n </FieldLabel>\n )}\n <DatePickerContent\n id={id}\n name={name}\n onFocus={handleFocus}\n disabled={isDisabled}\n readOnly={isReadOnly}\n {...fieldStyles}\n {...props}\n {...(onChangeText && { onChangeText: handleDateChange })}\n onChange={handleDateChange}\n />\n </FieldWrapper>\n </FieldContent>\n </FieldContainer>\n );\n};\n\nexport default DatePickerView;\n","import { useState } from 'react';\nimport { PasswordProps } from './Password.props';\nimport { useTextFieldState } from '../../TextField/TextField/TextField.state';\n\nexport const usePasswordState = (props: PasswordProps) => {\n const textFieldStates = useTextFieldState(props);\n const [isVisible, setIsVisible] = useState(false);\n\n return { isVisible, setIsVisible, ...props, ...textFieldStates };\n};\n","import React, { createContext, useContext, useRef, useEffect } from 'react';\nimport { FormikConfig, useFormikContext } from 'formik';\nimport { Form as $Form } from 'app-studio';\n\ninterface CustomFormProps<T> extends FormikConfig<T> {\n autoFocus?: boolean;\n initFocus?: string;\n}\n\ninterface FocusContextType {\n active: boolean;\n focusNextInput: (name: string) => void;\n setInputRef: (name: string, ref: HTMLInputElement | null) => void;\n handleSubmitEditing: (name: string) => void;\n getReturnKeyType: (name: string) => 'next' | 'done';\n}\n\ninterface CustomFormProps<T> extends FormikConfig<T> {\n autoFocus?: boolean;\n initFocus?: string;\n}\n\ninterface FocusContextType {\n active: boolean;\n focusNextInput: (name: string) => void;\n setInputRef: (name: string, ref: HTMLInputElement | null) => void;\n}\n\nconst FocusContext = createContext<FocusContextType>({\n active: false,\n focusNextInput: () => {},\n setInputRef: () => {},\n handleSubmitEditing: () => {},\n getReturnKeyType: () => 'next',\n});\n\nexport const useFormFocus = () => useContext(FocusContext);\n\nexport const FormikForm = <T extends {}>({\n children,\n autoFocus = false,\n initFocus,\n onChange,\n ...props\n}: CustomFormProps<T> & any) => {\n const formik: any = useFormikContext();\n\n useEffect(() => {\n if (onChange) {\n onChange(formik.values);\n }\n }, [formik.values, onChange]);\n\n const inputRefs = useRef<Record<string, HTMLInputElement | null>>({});\n const inputNames = useRef<string[]>([]);\n\n const setInputRef = (name: string, ref: HTMLInputElement | null) => {\n inputRefs.current[name] = ref;\n if (!inputNames.current.includes(name)) {\n inputNames.current.push(name);\n }\n };\n\n const focusNextInput = (currentName: string) => {\n if (autoFocus) {\n const currentIndex = inputNames.current.indexOf(currentName);\n const nextIndex = currentIndex + 1;\n if (nextIndex < inputNames.current.length) {\n inputRefs.current[inputNames.current[nextIndex]]?.focus();\n } else if (formik.onSubmit) {\n formik.onSubmit(formik.values);\n }\n }\n };\n\n const contextValue = {\n active: autoFocus,\n focusNextInput,\n setInputRef,\n handleSubmitEditing: focusNextInput,\n getReturnKeyType: (name: string) =>\n inputNames.current.indexOf(name) === inputNames.current.length - 1\n ? 'done'\n : 'next',\n };\n\n useEffect(() => {\n if (autoFocus) {\n if (initFocus && inputRefs.current[initFocus]) {\n inputRefs.current[initFocus]?.focus();\n } else if (inputNames.current[0]) {\n inputRefs.current[inputNames.current[0]]?.focus();\n }\n }\n }, [autoFocus, initFocus]);\n\n return (\n <FocusContext.Provider value={contextValue}>\n <$Form {...props}>{children}</$Form>\n </FocusContext.Provider>\n );\n};\n","import React from 'react';\nimport { useFormikContext, FormikValues, getIn } from 'formik';\n\nimport { useFormFocus } from './Formik.Form';\n\nconst getInputTypeProps = (type: string) => {\n switch (type) {\n case 'email':\n return {\n autoCorrect: 'off',\n // keyboardType: 'email-address',\n inputMode: 'email',\n autoCapitalize: 'none',\n };\n case 'password':\n return {\n autoCorrect: 'off',\n secureTextEntry: true,\n autoCapitalize: 'none',\n };\n case 'digits':\n return {\n // keyboardType: 'phone-pad',\n inputMode: 'tel',\n };\n case 'numeric':\n return {\n // keyboardType: 'phone-pad',\n inputMode: 'numeric',\n };\n case 'name':\n return {\n autoCorrect: 'off',\n };\n default:\n return {};\n }\n};\nexport const useFormikInput = ({ name, type, ...props }: any) => {\n const focus = useFormFocus();\n const {\n touched,\n errors,\n submitCount,\n values,\n setFieldTouched,\n setFieldValue,\n } = useFormikContext<FormikValues>();\n\n const onChangeText = (text: string) => {\n setFieldValue(name, text);\n props.onChangeText?.(text);\n };\n\n const onChange = (value: any) => {\n setFieldValue(name, value);\n props.onChange?.(value);\n };\n\n const handleBlur = () => {\n setFieldTouched(name, true);\n };\n\n const handleKeyPress = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n focus.focusNextInput(name);\n }\n };\n\n const isText = ['text', 'password', 'email', 'digits'].includes(type);\n const error =\n getIn(touched, name) || submitCount > 0 ? getIn(errors, name) : undefined;\n const value = getIn(values, name);\n\n return {\n ...getInputTypeProps(type),\n ...props,\n value,\n error,\n onBlur: handleBlur,\n onKeyPress: handleKeyPress,\n ...(isText ? { onChangeText } : { onChange }),\n ...(focus.active ? { handleKeyPress } : {}),\n };\n};\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const TickSvg: React.FC<SvgProps> = ({\n size = 16,\n color = '#c0c0c0',\n ...props\n}) => {\n return (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 -0.5 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n {' '}\n <path\n d=\"M5.5 12.5L10.167 17L19.5 8\"\n stroke=\"#444444\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></path>{' '}\n </g>\n </svg>\n </Center>\n );\n};\n\nexport default TickSvg;\n","import React from 'react';\nimport { Center } from '../Layout/Center/Center';\n\nimport { ViewProps } from 'app-studio';\n\ninterface SvgProps extends Omit<ViewProps, 'size'> {\n size?: number;\n color?: string;\n}\n\nexport const SearchLoopSvg: React.FC<SvgProps> = ({\n size = 14,\n color = '#c0c0c0',\n ...props\n}) => {\n return (\n <Center width={`${size}px`} height={`${size}px`}>\n <svg\n fill=\"#c0c0c0\"\n width={`${size}px`}\n height={`${size}px`}\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 488.4 488.4\"\n stroke={color}\n {...props}\n >\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"9.279599999999999\"></g>\n <g\n id=\"SVGRepo_tracerCarrier\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n ></g>\n <g id=\"SVGRepo_iconCarrier\">\n <g>\n <g>\n <path d=\"M0,203.25c0,112.1,91.2,203.2,203.2,203.2c51.6,0,98.8-19.4,134.7-51.2l129.5,129.5c2.4,2.4,5.5,3.6,8.7,3.6 s6.3-1.2,8.7-3.6c4.8-4.8,4.8-12.5,0-17.3l-129.6-129.5c31.8-35.9,51.2-83,51.2-134.7c0-112.1-91.2-203.2-203.2-203.2 S0,91.15,0,203.25z M381.9,203.25c0,98.5-80.2,178.7-178.7,178.7s-178.7-80.2-178.7-178.7s80.2-178.7,178.7-178.7 S381.9,104.65,381.9,203.25z\"></path>{' '}\n </g>\n </g>\n </g>\n </svg>\n </Center>\n );\n};\n\nexport default SearchLoopSvg;\n","import React, { useEffect } from 'react';\nimport { View, Horizontal } from '../../../Layout';\nimport { ComboBoxItem, ComboBoxViewProps } from './ComboBox.props';\nimport { Text } from '../../../Text/Text';\nimport TextField from '../../../Form/TextField/TextField/TextField.view';\nimport TickSvg from '../../../Svg/Tick';\nimport SearchLoopSvg from '../../../Svg/Search';\n// Defines the functional component 'ComboBoxView' with destructured props.\nconst ComboBoxView: React.FC<ComboBoxViewProps> = ({\n placeholder,\n items,\n showTick = true,\n onSelect,\n searchEnabled = true,\n left,\n right,\n label,\n filteredItems,\n setSelectedItem,\n selectedItem,\n highlightedIndex,\n setHighlightedIndex,\n searchQuery,\n setSearchQuery,\n setFilteredItems,\n styles,\n isDropdownVisible,\n setIsDropdownVisible,\n // Collects all further props not destructured explicitly.\n ...props\n}) => {\n // Sets up an effect to handle clicking outside the dropdown to close it.\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const path = event.composedPath();\n const isOutside = !path.some(\n (element: any) => element?.id === 'combobox-dropdown'\n );\n if (isOutside) {\n setIsDropdownVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n // Defines 'handleSearch' to filter items based on the user's query.\n const handleSearch = (query: string) => {\n setSearchQuery(query);\n if (query === '') {\n setFilteredItems(items);\n } else {\n const filtered = items.filter((item) =>\n item.label.toLowerCase().includes(query.toLowerCase())\n );\n setFilteredItems(filtered);\n }\n setHighlightedIndex(0);\n };\n // Defines 'handleSelect' to handle item selection and close the dropdown.\n const handleSelect = (item: ComboBoxItem) => {\n setSelectedItem(item);\n onSelect?.(item);\n setIsDropdownVisible(false);\n };\n // Starts the JSX returned by the component representing the combobox.\n return (\n <Horizontal\n role=\"combobox\"\n flexWrap=\"nowrap\"\n gap={15}\n alignItems=\"center\"\n width=\"100%\"\n {...props}\n >\n {label && (\n <Text styles={styles?.label} htmlFor={props.id}>\n {label}\n </Text>\n )}\n <View position=\"relative\">\n <Horizontal\n cursor=\"pointer\"\n backgroundColor=\"white\"\n boxShadow=\"rgba(0, 0, 0, 0.16) 0px 1px 4px\"\n padding=\"12px\"\n display=\"flex\"\n alignItems=\"center\"\n borderRadius=\"4px\"\n justifyContent=\"space-between\"\n minWidth={300}\n flexWrap=\"nowrap\"\n {...styles?.container}\n >\n <Horizontal\n gap={15}\n alignItems=\"center\"\n position=\"relative\"\n width=\"100%\"\n onClick={() => setIsDropdownVisible(!isDropdownVisible)}\n {...styles?.labelContainer}\n >\n {left}\n <Text weight=\"medium\" flexGrow={1} {...styles?.label}>\n {selectedItem.label}\n </Text>\n </Horizontal>\n {right}\n {isDropdownVisible && (\n <View\n id=\"combobox-dropdown\"\n position=\"absolute\"\n backgroundColor=\"white\"\n boxShadow=\"rgba(0, 0 ,0 ,0.16) 0px 1px 4px\"\n width=\"100%\"\n overflowY=\"auto\"\n zIndex={10000}\n bottom={-8}\n left={0}\n transform=\"translateY(100%)\"\n marginTop=\"4px\"\n borderRadius=\"4px\"\n {...styles?.dropdown}\n >\n {searchEnabled && (\n <TextField\n id={props.id}\n name={props.name}\n width=\"100%\"\n type=\"search\"\n value={searchQuery}\n onChange={(value) => handleSearch(value)}\n hint={placeholder}\n isClearable={false}\n leftChild={<SearchLoopSvg size={12} />}\n styles={{\n box: {\n width: '100%',\n padding: '6px 12px',\n borderBottom:\n filteredItems.length > 0\n ? '1px solid #ccc'\n : '1px solid transparent',\n ...styles?.text,\n },\n }}\n />\n )}\n {filteredItems.length > 0 && (\n <View margin={0} padding={4}>\n {filteredItems.map((item, index) => (\n <Horizontal\n justifyContent=\"space-between\"\n key={item.value}\n padding=\"12px\"\n cursor=\"pointer\"\n borderRadius={4}\n backgroundColor={\n index === highlightedIndex\n ? 'color.gray.100'\n : 'transparent'\n }\n onMouseEnter={() => setHighlightedIndex(index)}\n onClick={() => handleSelect(item)}\n {...styles?.item}\n >\n <Text>{item.label}</Text>\n <>\n {item.icon && item.icon}\n {item.value === selectedItem.value &&\n showTick &&\n !item.icon && <TickSvg />}\n </>\n </Horizontal>\n ))}\n </View>\n )}\n </View>\n )}\n </Horizontal>\n </View>\n </Horizontal>\n );\n};\nexport default ComboBoxView;\n","import { create } from 'zustand';\nimport { MessageState } from './Message.props';\nimport { MessageType, ShowMessageType } from './Message.type';\n\n// Create your store with the initial state and actions.\nexport const useMessageStore = create<MessageState>((set) => ({\n // initial state\n visible: false,\n title: '',\n subtitle: '',\n variant: 'info',\n isClosable: false,\n styles: {},\n action: () => {},\n actionText: '',\n showIcon: false,\n timeout: 3000,\n show: (\n variant,\n title = '',\n subtitle = '',\n isClosable,\n styles,\n action,\n actionText,\n showIcon,\n timeout\n ) =>\n set({\n visible: true,\n variant,\n title,\n subtitle,\n isClosable,\n styles,\n action,\n actionText,\n showIcon,\n timeout,\n }),\n\n hide: () => set({ visible: false }),\n}));\n\nexport const showMessage = (\n variant: MessageType,\n title?: string,\n subtitle?: string,\n props?: ShowMessageType\n) => {\n useMessageStore\n .getState()\n .show(\n variant,\n title,\n subtitle,\n props?.isClosable,\n props?.styles,\n props?.action,\n props?.actionText,\n props?.showIcon,\n props?.timeout\n );\n};\n\nexport const hideMessage = () => {\n useMessageStore.getState().hide();\n};\n","import { CSSProperties } from 'react';\n\nimport { MessageType, Shape, Size } from './Message.type';\n\nexport const ContainerShapes: Record<Shape, CSSProperties> = {\n sharp: { borderRadius: 0 },\n rounded: { borderRadius: 4 },\n};\n\nexport const HeaderIconSizes: Record<Size, number> = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n xl: 28,\n};\n\nexport const Themes: Record<MessageType, any> = {\n info: {\n container: {\n backgroundColor: 'color.blue.200',\n border: 'color.blue.400',\n },\n icon: {\n color: 'color.blue.500',\n name: 'InformationSvg',\n },\n content: {\n color: 'color.blue.500',\n },\n close: {\n color: 'color.blue.500',\n name: 'CloseSvg',\n },\n },\n success: {\n container: {\n backgroundColor: 'color.green.200',\n border: 'color.green.400',\n },\n icon: {\n color: 'color.green.500',\n name: 'CheckCircleSvg',\n },\n content: {\n color: 'color.green.500',\n },\n close: {\n color: 'color.green.500',\n name: 'CloseSvg',\n },\n },\n error: {\n container: {\n backgroundColor: 'color.red.200',\n border: 'color.red.400',\n },\n icon: {\n color: 'color.red.500',\n name: 'ErrrorSvg',\n },\n content: {\n color: 'color.red.500',\n },\n close: {\n color: 'color.red.500',\n name: 'CloseSvg',\n },\n },\n warning: {\n container: {\n backgroundColor: 'color.orange.200',\n border: 'color.orange.400',\n },\n icon: {\n color: 'color.orange.500',\n name: 'ErrrorSvg',\n },\n content: {\n color: 'color.orange.500',\n },\n close: {\n color: 'color.orange.500',\n name: 'CloseSvg',\n },\n },\n};\n","import React, { useEffect } from 'react';\nimport { Vertical } from '../../Layout/Vertical/Vertical';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { View } from '../../Layout/View/View';\nimport { Text } from '../../Text/Text';\nimport { Themes } from './Message.style';\nimport { MessageProps } from './Message.props';\nimport { CloseSvg, WarningSvg, SuccessSvg, ErrorSvg, InfoSvg } from '../../Svg';\n\nexport const MessageView = ({\n variant,\n hide,\n title,\n subtitle,\n theme,\n action,\n actionText,\n showIcon = false,\n isClosable = false,\n timeout = 3000,\n styles,\n}: MessageProps) => {\n useEffect(() => {\n if (timeout && !isClosable) {\n const timeId = setTimeout(() => {\n // After 3 seconds set the show value to false\n hide();\n }, timeout);\n\n return () => {\n clearTimeout(timeId);\n };\n }\n\n return;\n }, []);\n\n const Theme = theme ?? Themes;\n const isWithAction = !!(action && actionText);\n\n const containerStyle = {\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 8,\n borderColor: `${Theme[variant].container.border}`,\n };\n\n const iconColor = {\n info: '#3b82f6',\n success: '#4ade80',\n warning: '#f97316',\n error: '#ef4444',\n }[variant];\n\n const iconComponent = {\n info: <InfoSvg size={24} color={iconColor} {...styles?.icon} />,\n success: <SuccessSvg size={24} color={iconColor} {...styles?.icon} />,\n warning: <WarningSvg size={24} color={iconColor} {...styles?.icon} />,\n error: <ErrorSvg size={24} color={iconColor} {...styles?.icon} />,\n }[variant];\n\n const isShowIcon = showIcon && iconComponent;\n\n return (\n <Horizontal\n role=\"messageContent\"\n gap={16}\n width={400}\n // safe={true}\n flexWrap=\"nowrap\"\n position={'relative'}\n alignItems=\"center\"\n padding=\"14px 24px 14px 14px\"\n color={`${Theme[variant].content.color}`}\n backgroundColor={`${Theme[variant].container.backgroundColor}`}\n onClick={\n isClosable\n ? () => {}\n : () => {\n hide();\n }\n }\n {...containerStyle}\n {...styles?.container}\n >\n {isShowIcon && iconComponent}\n <Vertical gap={8} width=\"100%\">\n <Text size=\"md\" weight=\"semiBold\" {...styles?.title}>\n {title}\n </Text>\n {subtitle && (\n <Text size=\"sm\" {...styles?.subtitle}>\n {subtitle}\n </Text>\n )}\n </Vertical>\n {isWithAction && (\n <Text\n marginRight={10}\n onClick={action}\n padding=\"6px 10px\"\n whiteSpace=\"nowrap\"\n {...containerStyle}\n {...styles?.actionText}\n >\n {actionText}\n </Text>\n )}\n {isClosable && (\n <View\n position=\"absolute\"\n zIndex={10000}\n right={8}\n top={6}\n onClick={() => {\n hide();\n }}\n {...styles?.closingIcon?.container}\n >\n <CloseSvg\n size={18}\n color={iconColor}\n {...styles?.closingIcon?.icon}\n />\n </View>\n )}\n </Horizontal>\n );\n};\n","import { create } from 'zustand';\n\nexport interface ModalState {\n modal: string | boolean;\n modalProps: any & { isVisible: boolean };\n overlayProps: any;\n show: (modal: string, modalProps?: any, overlayProps?: any) => void;\n hide: () => void;\n}\n\nexport const useModalStore = create<ModalState>((set) => ({\n modal: false,\n modalProps: { isVisible: false },\n overlayProps: {},\n show: (modal, modalProps = {}, overlayProps = {}) => {\n if (modal) {\n modalProps.isVisible = true;\n }\n set((state: ModalState) => ({\n ...state,\n modal,\n modalProps,\n overlayProps,\n }));\n },\n hide: () => {\n set((state: ModalState) => ({\n ...state,\n modalProps: {\n ...state.modalProps,\n isVisible: false,\n },\n }));\n },\n}));\n\nexport const showModal = (\n modal: string,\n modalProps: any = {},\n overlayProps: any = {}\n) => {\n useModalStore.getState().show(modal, modalProps, overlayProps);\n};\n\nexport const hideModal = () => {\n useModalStore.getState().hide();\n};\n","import { CSSProperties } from 'react';\n\nimport { Position, Shape, Size } from './Modal.type';\n\nexport const ContainerShapes: Record<Shape, CSSProperties> = {\n sharp: { borderRadius: 0 },\n rounded: { borderRadius: 4 },\n};\nexport const OverlayAlignments: Record<Position, CSSProperties> = {\n center: { justifyContent: 'center', alignItems: 'center' },\n top: { justifyContent: 'center' },\n right: { justifyContent: 'flex-end', alignItems: 'center' },\n bottom: { justifyContent: 'center', alignItems: 'flex-end' },\n left: { alignItems: 'center' },\n};\n\nexport const HeaderIconSizes: Record<Size, number> = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n xl: 28,\n};\n","import React from 'react';\nimport { Center } from '../../Layout/Center/Center';\nimport { Vertical } from '../../Layout/Vertical/Vertical';\n\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { Button } from '../../Button/Button';\nimport { View } from '../../Layout/View/View';\nimport { CloseSvg } from '../../Svg';\nimport { hideModal } from './Modal.store';\n\nimport {\n BodyProps,\n ContainerProps,\n FooterProps,\n HeaderProps,\n OverlayProps,\n} from '../Modal/Modal.props';\nimport { ContainerShapes, OverlayAlignments } from '../Modal/Modal.style';\nimport { HeaderIconSizes } from '../Modal/Modal.style';\n\nexport const ModalOverlay: React.FC<OverlayProps> = ({\n children,\n blur,\n isOpen = false,\n isClosePrevented = false,\n onClose = () => {},\n position = 'center',\n ...props\n}) => {\n const handleClick = () => {\n if (!isClosePrevented) onClose();\n };\n\n return (\n <Center\n position=\"fixed\"\n top={0}\n left={0}\n width=\"100%\"\n height=\"100%\"\n zIndex={1000}\n onClick={handleClick}\n visibility={isOpen ? 'visible' : 'hidden'}\n >\n <View\n position=\"absolute\"\n top={0}\n left={0}\n zIndex={1000}\n width=\"100vw\"\n height=\"100vh\"\n display=\"flex\"\n backgroundColor=\"color.blackAlpha.500\"\n backdropFilter={blur ? `blur(${blur}px)` : undefined}\n onClick={handleClick}\n {...OverlayAlignments[position]}\n {...props}\n >\n {children}\n </View>\n </Center>\n );\n};\n\nexport const ModalContainer: React.FC<ContainerProps> = ({\n children,\n shadow,\n isFullScreen = false,\n shape = 'rounded',\n ...props\n}) => {\n const defaultShadow =\n typeof document !== undefined\n ? {\n boxShadow: '0px 2px 8px rgba(0, 0, 0, 0.3)',\n }\n : {\n elevation: 5,\n shadowColor: 'rgba(0, 0, 0, 0.3)',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 1,\n shadowRadius: 8,\n };\n\n const handleClick = (event: any) => {\n if (event && event.stopPropagation) event.stopPropagation();\n };\n return (\n <Vertical\n cursor=\"default\"\n backgroundColor=\"white\"\n width={isFullScreen ? '100%' : 600}\n height={isFullScreen ? '100%' : 'fit-content'}\n onClick={handleClick}\n {...(shadow ? shadow : defaultShadow)}\n {...ContainerShapes[shape]}\n {...props}\n >\n {children}\n </Vertical>\n );\n};\n\nexport const ModalHeader: React.FC<HeaderProps> = ({\n children,\n buttonColor = 'theme.primary',\n iconSize = 'md',\n buttonPosition = 'right',\n ...props\n}) => {\n const onClose = props.onClose ? props.onClose : hideModal;\n\n const buttonIcon = (\n <Button\n onClick={onClose}\n colorScheme=\"transparent\"\n icon={<CloseSvg size={HeaderIconSizes[iconSize]} color={buttonColor} />}\n padding={0}\n margin={0}\n filter=\"none\"\n width={0}\n />\n );\n\n return (\n <Horizontal\n justifyContent={buttonPosition === 'none' ? 'center' : 'space-between'}\n alignItems=\"center\"\n paddingVertical={15}\n paddingHorizontal={20}\n {...props}\n >\n {buttonPosition === 'left' && buttonIcon}\n {children}\n {buttonPosition === 'right' && buttonIcon}\n </Horizontal>\n );\n};\n\nexport const ModalBody: React.FC<BodyProps> = ({ children, ...props }) => {\n const defaultBorder = {\n borderBottomWidth: 2,\n borderTopWidth: 2,\n borderColor: 'rgba(250, 250, 250, 1)',\n borderStyle: 'solid',\n };\n return (\n <View\n paddingVertical={15}\n paddingHorizontal={20}\n {...defaultBorder}\n {...props}\n >\n {children}\n </View>\n );\n};\n\nexport const ModalFooter: React.FC<FooterProps> = ({ children, ...props }) => {\n return (\n <Horizontal\n marginTop=\"auto\"\n alignItems=\"center\"\n justifyContent=\"flex-end\"\n paddingVertical={15}\n paddingHorizontal={20}\n {...props}\n >\n {children}\n </Horizontal>\n );\n};\n","import React from 'react';\n\nimport { ModalType } from './Modal/Modal.props';\nimport {\n ModalBody,\n ModalContainer,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n} from './Modal/Modal.view';\nimport { ModalLayout } from './Modal/Modal.layout';\n\n/**\n * It is a custom content overlay that appears on top of the main screen.\n */\n// eslint-disable-next-line react/prop-types\nexport const Modal: ModalType = ({ children }) => <>{children}</>;\n\nModal.Overlay = ModalOverlay;\nModal.Container = ModalContainer;\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\nModal.Layout = ModalLayout;\n\nexport * from './Modal/Modal.store';\n","import React, { Fragment } from 'react';\n\nimport { ModalState, hideModal, useModalStore } from './Modal.store';\nimport { ModalOverlay } from './Modal.view';\nimport { ModalLayoutProps } from './Modal.props';\n\nexport const ModalLayout = ({ modals }: ModalLayoutProps) => {\n const modalStore = useModalStore(\n ({ modal, modalProps, overlayProps }: ModalState) => ({\n modal,\n modalProps,\n overlayProps,\n })\n );\n if (typeof modalStore.modal === 'boolean') {\n return null;\n }\n\n const Modal = modals[modalStore.modal];\n\n if (!Modal) {\n console.error(modalStore.modal + \" modal doesn't exist\");\n return null;\n }\n\n return (\n <Fragment>\n <ModalOverlay\n isOpen={modalStore.modalProps.isVisible}\n onClose={hideModal}\n blur={10}\n {...modalStore.overlayProps}\n >\n {Modal !== undefined && <Modal {...modalStore.modalProps} />}\n </ModalOverlay>\n </Fragment>\n );\n};\n","import React, { CSSProperties } from 'react';\nexport type TableViewStyles = {\n // Defines a type 'TableViewStyles' which will be used to style components of a table view. This ensures that these styles can be standardized and applied throughout the app.\n table?: CSSProperties;\n thead?: CSSProperties;\n tfoot?: CSSProperties;\n tbody?: CSSProperties;\n tr?: CSSProperties;\n td?: CSSProperties;\n th?: CSSProperties;\n caption?: CSSProperties;\n};\nconst defaultStyles: TableViewStyles = {};\n// Initializes an empty 'defaultStyles' object that will be used as a fallback if no custom styles are provided.\nconst TableStylesContext = React.createContext<TableViewStyles>(defaultStyles);\n// Creates a new Context object for 'TableViewStyles' with the default value set to 'defaultStyles'. This allows the styles to be passed down through the component tree without having to pass props manually.\nexport const TableStylesProvider: React.FC<{\n // Exports 'TableStylesProvider', a functional component which wraps its children with the 'TableStylesContext.Provider'. This Provider will allow nested components to access the style configuration.\n children: React.ReactNode;\n styles?: TableViewStyles;\n}> = ({ children, styles = defaultStyles }) => (\n // The 'styles' prop is optional and defaults to 'defaultStyles' if not provided. When used, 'styles' are propagated down the component hierarchy.\n <TableStylesContext.Provider value={styles}>\n {children}\n </TableStylesContext.Provider>\n // Exports a custom hook 'useTableStyles' that encapsulates the logic for consuming the 'TableStylesContext' and returns its value, which are the current style configurations.\n);\nexport const useTableStyles = (): TableViewStyles =>\n React.useContext(TableStylesContext);\n","import React from 'react';\nimport { Element } from 'app-studio';\nimport { TableViewProps } from './Table.props';\nimport { useTableStyles } from './Table.context';\n\nexport const TableContainer: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"table\"\n borderCollapse=\"collapse\"\n {...styles.table}\n {...props}\n />\n );\n};\n\nexport const TableHead: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"thead\"\n borderBottom=\"0.5px solid #ddd\"\n textAlign=\"left\"\n color=\"color.gray.400\"\n {...styles.thead}\n {...props}\n />\n );\n};\n\nexport const TableHeadCell: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"th\"\n padding=\"14px\"\n whiteSpace=\"nowrap\"\n fontWeight=\"500\"\n {...styles.th}\n {...props}\n />\n );\n};\n\nexport const TableRow: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return <Element as=\"tr\" {...styles.tr} {...props} />;\n};\n\nexport const TableCell: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"td\"\n padding=\"14px\"\n whiteSpace=\"nowrap\"\n fontWeight={props.isFirstColumn ? '400' : '300'}\n {...styles.td}\n {...props}\n />\n );\n};\n\nexport const TableBody: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return <Element as=\"tbody\" {...styles.tbody} {...props} />;\n};\n\nexport const TableFooter: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return <Element as=\"tfoot\" {...styles.tfoot} {...props} />;\n};\n\nexport const TableCaption: React.FC<any> = (props) => {\n const styles = useTableStyles();\n return (\n <Element\n as=\"caption\"\n margin={'10px 0'}\n color=\"color.gray.400\"\n {...styles.caption}\n {...props}\n />\n );\n};\n\nexport const TableView: React.FC<TableViewProps> = ({\n data,\n columns,\n footer,\n caption,\n}) => {\n return (\n <TableContainer role=\"Table\">\n {caption && <TableCaption>{caption}</TableCaption>}\n <TableHead>\n <TableRow>\n {columns.map((column) => (\n <TableHeadCell key={column.field}>{column.title}</TableHeadCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {data.map((row, index) => (\n <TableRow key={index}>\n {columns.map((column, columnIndex) => (\n <TableCell key={column.field} isFirstColumn={columnIndex === 0}>\n {row[column.field]}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n {footer && (\n <TableFooter>\n <TableRow>\n {footer.map((cell, index) => (\n <TableCell key={index} {...cell.props}>\n {cell.value}\n </TableCell>\n ))}\n </TableRow>\n </TableFooter>\n )}\n </TableContainer>\n );\n};\n","import React from 'react';\nimport {\n TableContainer,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n TableFooter,\n TableCaption,\n TableView,\n TableHeadCell,\n} from './Table/Table.view';\nimport { TableStylesProvider } from './Table/Table.context';\nimport { TableLayoutProps } from './Table/Table.props';\n\nexport const Table = ({ children, styles }: TableLayoutProps) => {\n return <TableStylesProvider styles={styles}>{children}</TableStylesProvider>;\n};\n\nTable.Head = TableHead;\nTable.HeadCell = TableHeadCell;\nTable.Body = TableBody;\nTable.Row = TableRow;\nTable.Cell = TableCell;\nTable.Footer = TableFooter;\nTable.Caption = TableCaption;\nTable.Container = TableContainer;\nTable.Template = TableView;\n","import { useState } from 'react';\nimport { Tab } from './Tabs.type';\n// Initializes a custom hook for managing tab states with an array of 'Tab' objects passed as properties.\nexport const useTabsState = (propTabs: Tab[]) => {\n const [isActive, setIsActive] = useState<Tab>(propTabs[0]);\n const [tabsState, setTabsState] = useState<Tab[]>(propTabs);\n return {\n isActive,\n setIsActive,\n tabsState,\n setTabsState,\n };\n};\n","import { Tab } from './Tabs.type';\nimport { TabsViewProps } from './Tabs.props';\nimport React from 'react';\nimport { View } from '../../Layout/View/View';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\n// Defines a functional component 'TabsView' with props of type 'TabsViewProps'.\nexport const TabsView = (props: TabsViewProps) => {\n // Destructures 'tabs', 'styles', 'isActive', 'setIsActive', 'tabsState', and 'setTabsState' from the component props.\n const { tabs, styles, isActive, setIsActive, tabsState, setTabsState } =\n props;\n // Declares a function 'moveSelectedTabToTop' that takes an index and modifies the tabs order.\n const moveSelectedTabToTop = (idx: number) => {\n // Creates a copy of the 'tabs' array from props to be altered.\n const newTabs = [...tabs];\n // Removes the tab at the provided index, effectively selecting this tab.\n const selectedTab = newTabs.splice(idx, 1);\n // Places the selected tab at the start of the 'newTabs' array.\n newTabs.unshift(selectedTab[0]);\n // Updates the state with the reordered tabs.\n setTabsState(newTabs);\n // Sets the active tab to the first tab in the 'newTabs' array.\n setIsActive(newTabs[0]);\n };\n // Defines a function 'isContentActive' that checks if the given tab's content is to be displayed.\n const isContentActive = (tab: Tab) => {\n // Returns a boolean indicating if the given tab is identical to the first tab in 'tabsState'.\n return tab.value === tabsState[0].value;\n };\n return (\n <Horizontal width=\"100w\" height={'100%'} {...styles?.container}>\n <Horizontal marginBottom={20} {...styles?.headerTabs}>\n {tabs.map((tab, idx) => (\n <Button\n key={tab.title}\n onClick={() => {\n moveSelectedTabToTop(idx);\n }}\n variant={isActive.value === tab.value ? 'filled' : 'ghost'}\n shape=\"pillShaped\"\n cursor=\"pointer\"\n isAuto\n {...styles?.tab}\n {...(isActive.value === tab.value ? styles?.activeTab : {})}\n >\n <Text\n {...styles?.title}\n {...(isActive.value === tab.value ? styles?.activeText : {})}\n >\n {tab.title}\n </Text>\n </Button>\n ))}\n </Horizontal>\n <View width={'100%'} height=\"100%\" {...styles?.content}>\n {tabsState.map(\n (tab, idx) =>\n isContentActive(tab) && <View key={idx}>{tab.content}</View>\n )}\n </View>\n </Horizontal>\n );\n};\n","import React from 'react';\nimport { TabsProps } from './Tabs/Tabs.props';\nimport { useTabsState } from './Tabs/Tabs.state';\nimport { TabsView } from './Tabs/Tabs.view';\n\nconst TabsComponent: React.FC<TabsProps> = ({ tabs, styles }) => {\n const { isActive, setIsActive, tabsState, setTabsState } = useTabsState(tabs);\n return (\n <TabsView\n tabs={tabs}\n styles={styles}\n isActive={isActive}\n tabsState={tabsState}\n setTabsState={setTabsState}\n setIsActive={setIsActive}\n />\n );\n};\nexport const Tabs = React.memo(TabsComponent);\n","import { Shape } from './Toggle.type';\nexport const ToggleShapes: Record<Shape, number | string> = {\n sharp: 0,\n rounded: 4,\n pillShaped: 24,\n};\n","import React, { CSSProperties } from 'react';\nimport { ToggleViewProps } from './Toggle.props';\nimport { ToggleShapes } from './Toggle.style';\nimport { Variant } from './Toggle.type';\nimport { Center } from '../../Layout/Center/Center';\nconst ToggleView: React.FC<ToggleViewProps> = ({\n children,\n shape = 'rounded',\n colorScheme = 'color.trueGray.400',\n variant = 'ghost',\n isHovered,\n setIsHovered,\n isDisabled,\n isToggle,\n setIsToggled,\n onToggle,\n ...props\n}) => {\n const toggleColor = !isDisabled ? colorScheme : 'theme.disabled';\n const isActive = !!(isToggle || isHovered);\n const ToggleVariants: Record<Variant, CSSProperties> = {\n outline: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colorScheme,\n },\n link: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: isActive ? toggleColor : 'transparent',\n textDecoration: 'underline',\n },\n ghost: {},\n };\n const handleToggle = () => {\n if (!isDisabled) {\n setIsToggled((prev) => {\n const newState = !prev;\n if (onToggle) {\n onToggle(newState);\n }\n return newState;\n });\n }\n };\n return (\n <Center\n role=\"Toggle\"\n padding={shape === 'pillShaped' ? '10px 12px' : '8px'}\n width=\"fit-content\"\n color={isActive ? 'color.white' : toggleColor}\n backgroundColor={isActive ? toggleColor : 'transparent'}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n cursor={isDisabled ? 'not-allowed' : 'pointer'}\n borderRadius={ToggleShapes[shape]}\n onClick={handleToggle}\n {...ToggleVariants[variant]}\n {...props}\n >\n {children}\n </Center>\n );\n};\nexport default ToggleView;\n","import React, { useEffect } from 'react';\nimport { ToggleProps } from './Toggle/Toggle.props';\nimport { useToggleState } from './Toggle/Toggle.state';\nimport ToggleView from './Toggle/Toggle.view';\n// Destructuring properties from ToggleProps to be used within the ToggleComponent.\nconst ToggleComponent = ({\n children,\n shape,\n colorScheme,\n variant,\n isDisabled,\n // Assigning a default value of false to the isToggled property if none is provided.\n isToggled = false,\n onToggle,\n ...props\n}: ToggleProps) => {\n // Initializing toggle state and set state functions using the custom hook useToggleState.\n const { isHovered, setIsHovered, isToggle, setIsToggled } =\n useToggleState(isToggled);\n // Creating an effect that updates the isToggled state whenever the isToggled prop changes.\n useEffect(() => {\n setIsToggled(isToggled);\n }, [isToggled]);\n // Beginning of the JSX block to render the Toggle view component.\n return (\n <ToggleView\n shape={shape}\n colorScheme={colorScheme}\n variant={variant}\n isDisabled={isDisabled}\n isHovered={isHovered}\n setIsHovered={setIsHovered}\n isToggle={isToggle}\n setIsToggled={setIsToggled}\n onToggle={onToggle}\n {...props}\n >\n {children}\n </ToggleView>\n );\n};\nexport const Toggle = ToggleComponent;\n","import { useState } from 'react';\n// Declares the useToggleState function which takes defaultToggled parameter to initialize the toggle state.\nexport const useToggleState = (defaultToggled: boolean) => {\n // Creates a stateful value isHovered for tracking hover state and a function setIsHovered to update that state, initially false.\n const [isHovered, setIsHovered] = useState(false);\n // Creates a stateful value isToggle to store the current toggle state and a function setIsToggled to modify it, initialized with defaultToggled.\n const [isToggle, setIsToggled] = useState(defaultToggled);\n // Returns an object containing the current states and the functions to update them for external use.\n return { isHovered, setIsHovered, isToggle, setIsToggled };\n};\n","import React, { useCallback } from 'react';\nimport { Horizontal } from '../../Layout/Horizontal/Horizontal';\nimport { Toggle } from '../../Toggle/Toggle';\nimport { ToggleGroupViewProps } from './ToggleGroup.props';\n// ToggleGroupView component declaration with destructured properties from props.\nexport const ToggleGroupView = ({\n // Prop 'items' defines the list of toggle elements to be rendered.\n items,\n // Prop 'onToggleChange' is a callback function triggered when the toggle state changes.\n onToggleChange,\n // Prop 'activeToggles' holds the array of active toggle identifiers.\n activeToggles,\n // Prop 'setActiveToggles' is a function to update the active toggle states.\n setActiveToggles,\n // Prop 'shape' with default value 'rounded', determines the shape of the toggle buttons.\n shape = 'rounded',\n // Prop 'variant' with default value 'ghost' represents the visual style variant of the toggles.\n variant = 'ghost',\n // Prop 'colorScheme' with default value 'color.trueGray.400' sets the color theme for toggles.\n colorScheme = 'color.trueGray.400',\n}: ToggleGroupViewProps) => {\n // handleToggle is a memoized callback that handles the toggle state changes.\n const handleToggle = useCallback(\n (id: string, isActive: boolean) => {\n setActiveToggles((prevActiveToggles) => {\n let newActiveToggles;\n if (isActive) {\n newActiveToggles = prevActiveToggles.includes(id)\n ? prevActiveToggles\n : [...prevActiveToggles, id];\n } else {\n newActiveToggles = prevActiveToggles.filter(\n (toggleId) => toggleId !== id\n );\n }\n onToggleChange?.(newActiveToggles);\n return newActiveToggles;\n });\n },\n [onToggleChange, setActiveToggles]\n );\n return (\n <Horizontal role=\"ToggleGroup\" display=\"flex\" gap={5}>\n {items.map((item) => (\n <Toggle\n role={`toggle-${item.id}`}\n key={item.id}\n colorScheme={colorScheme}\n shape={shape}\n variant={variant}\n isToggled={activeToggles.includes(item.id) || item.isActive}\n onToggle={(state) => handleToggle(item.id, state)}\n isDisabled={item.isDisabled}\n >\n {item.value}\n </Toggle>\n ))}\n </Horizontal>\n );\n};\n","import React from 'react';\nimport { AlertView } from './Alert/Alert.view';\nimport { AlertProps } from './Alert/Alert.props';\n// Definition of the AlertComponent functional component with destructured props.\nconst AlertComponent = ({\n icon,\n title,\n styles,\n description,\n variant,\n}: AlertProps) => (\n <AlertView\n icon={icon}\n title={title}\n styles={styles}\n description={description}\n variant={variant}\n />\n);\n// Exporting the AlertComponent as 'Alert' for use in other parts of the application.\nexport const Alert = AlertComponent;\n","import React from 'react';\nimport { AspectRatioProps } from './AspectRatio/AspectRatio.props';\nimport { AspectRatioView } from './AspectRatio/AspectRatio.view';\n// Declaration of the AspectRatioComponent functional component with destructured props.\nconst AspectRatioComponent = ({\n ratio,\n children,\n ...props\n}: // Opening of the functional component's body.\nAspectRatioProps) => {\n // Beginning of the return statement in the functional component.\n return (\n <AspectRatioView ratio={ratio} {...props}>\n {children}\n </AspectRatioView>\n );\n};\nexport const AspectRatio = AspectRatioComponent;\n","import React from 'react';\nimport { AvatarProps } from './Avatar/Avatar.props';\nimport { useAvatarState } from './Avatar/Avatar.state';\nimport { AvatarView } from './Avatar/Avatar.view';\n\n// Defines the AvatarComponent functional component with destructured props from AvatarProps type.\nconst AvatarComponent = ({ src, size, styles, fallback }: AvatarProps) => {\n // Uses custom hook useAvatarState to manage the avatar image loading error state.\n const { imageError, setImageError } = useAvatarState();\n // Begins the JSX return block for rendering the AvatarView component.\n return (\n <AvatarView\n src={src}\n size={size}\n styles={styles}\n fallback={fallback}\n imageError={imageError}\n setImageError={setImageError}\n />\n );\n // AvatarComponent is a functional component that wraps the AvatarView with added state logic.\n};\n// Exports the AvatarComponent as Avatar for use in other parts of the application.\nexport const Avatar = AvatarComponent;\n","import { useState } from 'react';\n// Defines a state hook for managing avatar image error status, initialized as false.\nexport const useAvatarState = () => {\n const [imageError, setImageError] = useState(false);\n // Provides an object containing the image error state and its setter function.\n return { imageError, setImageError };\n};\n","import React from 'react';\nimport { BadgeProps } from './Badge/Badge.props';\nimport BadgeView from './Badge/Badge.view';\n// Importing type definitions for BadgeProps that will be used to type-check the Badge component's props.\nexport const Badge = ({\n // Importing the BadgeView component which is the presentation component for Badge.\n content,\n // Exporting the Badge as a functional component from this module.\n shape,\n // Destructuring the props in the component function parameter list, to directly access individual properties.\n colorScheme,\n // The functional component Badge is implicitly returning the BadgeView component.\n position,\n // Passing all the destructured props to the BadgeView component to maintain the same API surface.\n variant,\n size,\n styles,\n}: BadgeProps) => (\n <BadgeView\n content={content}\n shape={shape}\n colorScheme={colorScheme}\n position={position}\n variant={variant}\n size={size}\n styles={styles}\n />\n);\n","import React from 'react';\n\nimport { CheckboxProps } from './Checkbox/Checkbox.props';\nimport { useCheckboxState } from './Checkbox/Checkbox.state';\nimport CheckboxView from './Checkbox/Checkbox.view';\n\nconst CheckboxComponent: React.FC<CheckboxProps> = (props) => {\n const checkboxStates = useCheckboxState(props);\n\n return <CheckboxView {...checkboxStates} {...props} />;\n};\n\n/**\n * Checkbox allows users to select one or more options from a list of choices.\n */\nexport const Checkbox = CheckboxComponent;\n","import React from 'react';\nimport { CountryPickerProps } from './CountryPicker/CountryPicker.props';\n// Uses the custom hook 'useCountryPickerState' to manage state specific to the CountryPicker component.\nimport { useCountryPickerState } from './CountryPicker/CountryPicker.state';\nimport CountryPickerView from './CountryPicker/CountryPicker.view';\n// Defines the CountryPickerComponent as a functional component with type 'React.FC' that takes 'CountryPickerProps' as props.\nconst CountryPickerComponent: React.FC<CountryPickerProps> = (props) => {\n // Invokes the 'useCountryPickerState' hook to obtain state and methods related to country picking functionality.\n const countryPickerStates = useCountryPickerState(props);\n // Renders the CountryPickerView component passing in state and props for dynamic UI representation.\n return <CountryPickerView {...countryPickerStates} {...props} />;\n};\n// Exports the CountryPickerComponent for use in other parts of the application as 'CountryPicker'.\nexport const CountryPicker = CountryPickerComponent;\n","import React from 'react';\n\nimport { DatePickerProps } from './DatePicker/DatePicker.props';\nimport { useDatePickerState } from './DatePicker/DatePicker.state';\nimport DatePickerView from './DatePicker/DatePicker.view';\n\nconst DatePickerComponent: React.FC<DatePickerProps> = (props) => {\n const datePickerStates = useDatePickerState();\n return <DatePickerView {...datePickerStates} {...props} />;\n};\n\n/**\n * Date picker allows users to select a date from a calendar view.\n */\nexport const DatePicker = DatePickerComponent;\n","import React from 'react';\nimport { useTheme, Image, ViewProps, ImageProps } from 'app-studio';\nimport { Center } from '../Layout/Center/Center';\n\nexport const FileSVG = ({\n src,\n color,\n ...props\n}: {\n src: string;\n color?: string;\n} & ViewProps) => {\n const { getColor } = useTheme();\n\n const Colorprops = color\n ? { fill: getColor(color), stroke: getColor(color) }\n : {};\n\n return (\n <Center {...props}>\n <Image\n {...Colorprops}\n content={'url(\"' + src + '\")'}\n width=\"100%\"\n height=\"100%\"\n />\n </Center>\n );\n};\n\nexport const FileImage = ({\n path,\n ...props\n}: { path: string } & ImageProps) => {\n return <Image src={path} {...props} />;\n};\n","import React from 'react';\n\nimport { CheckboxProps } from '../Form/Checkbox/Checkbox/Checkbox.props';\nimport { useCheckboxState } from '../Form/Checkbox/Checkbox/Checkbox.state';\nimport CheckboxView from '../Form/Checkbox/Checkbox/Checkbox.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst CheckboxComponent: React.FC<CheckboxProps> = (props) => {\n let { value, ...formProps } = useFormikInput(props);\n formProps.isChecked = value;\n const checkboxStates = useCheckboxState(props);\n return <CheckboxView {...checkboxStates} {...formProps} />;\n};\n\n/**\n * Checkbox allows users to select one or more options from a list of choices.\n */\nexport const FormikCheckbox = CheckboxComponent;\n","import React from 'react';\n\nimport { ComboBoxProps } from '../Form/ComboBox/ComboBox/ComboBox.props';\nimport { useComboBoxState } from '../Form/ComboBox/ComboBox/ComboBox.state';\nimport ComboBoxView from '../Form/ComboBox/ComboBox/ComboBox.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst ComboBoxComponent: React.FC<ComboBoxProps> = ({\n items,\n placeholder,\n searchPlaceholder,\n ...props\n}) => {\n const formProps = useFormikInput(props);\n const ComboBoxStates = useComboBoxState(\n items,\n placeholder,\n searchPlaceholder\n );\n\n // Ensure the onChange function from formProps is being called when an item is selected\n const handleSelect = (item: any) => {\n formProps.onChange(item);\n };\n\n return (\n <ComboBoxView {...ComboBoxStates} {...formProps} onSelect={handleSelect} />\n );\n};\n\n/**\n * ComboBox allows users to select one or more options from a list of choices.\n */\nexport const FormikComboBox = ComboBoxComponent;\n","import { useState } from 'react';\nimport { ComboBoxItem, ComboBoxStateActions } from './ComboBox.props';\n// Defines the useComboBoxState hook with parameters for the list of items and optional placeholder texts.\nexport const useComboBoxState = (\n items: ComboBoxItem[],\n placeholder?: string,\n searchPlaceholder?: string\n): ComboBoxStateActions => {\n // State hook for filtered items with initial state set to the items passed to the hook.\n const [filteredItems, setFilteredItems] = useState<ComboBoxItem[]>(items);\n // State hook to track the selected item with an initial state based on the placeholder or the first item.\n const [selectedItem, setSelectedItem] = useState<ComboBoxItem>(\n placeholder ? { value: placeholder, label: placeholder } : items[0]\n );\n // State hook for highlighted index in the dropdown list, initialized to 0.\n const [highlightedIndex, setHighlightedIndex] = useState<number>(0);\n // State hook for search query with an initial state based on the searchPlaceholder or empty string.\n const [searchQuery, setSearchQuery] = useState<string>(\n searchPlaceholder ?? ''\n );\n // State hook to manage dropdown visibility, starts as false (hidden).\n const [isDropdownVisible, setIsDropdownVisible] = useState(false);\n // Start of object returned by the useComboBoxState hook containing all state and state updater functions.\n return {\n filteredItems,\n setFilteredItems,\n selectedItem,\n setSelectedItem,\n highlightedIndex,\n setHighlightedIndex,\n searchQuery,\n setSearchQuery,\n isDropdownVisible,\n setIsDropdownVisible,\n // End of the return statement of the useComboBoxState hook, encapsulating all the state and setState actions for ComboBox.\n };\n};\n","import React from 'react';\n\nimport { CountryPickerProps } from '../Form/CountryPicker/CountryPicker/CountryPicker.props';\nimport { useCountryPickerState } from '../Form/CountryPicker/CountryPicker/CountryPicker.state';\nimport CountryPickerView from '../Form/CountryPicker/CountryPicker/CountryPicker.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst CountryPickerComponent: React.FC<CountryPickerProps> = (props) => {\n const formProps = useFormikInput(props);\n const countryPickerStates = useCountryPickerState(props);\n return <CountryPickerView {...countryPickerStates} {...formProps} />;\n};\n\n/**\n * Country picker allows users to select a country from a dropdown list or search field.\n */\nexport const FormikCountryPicker = CountryPickerComponent;\n","import React from 'react';\n\nimport { DatePickerProps } from '../Form/DatePicker/DatePicker/DatePicker.props';\nimport { useDatePickerState } from '../Form/DatePicker/DatePicker/DatePicker.state';\nimport DatePickerView from '../Form/DatePicker/DatePicker/DatePicker.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst DatePickerComponent: React.FC<DatePickerProps> = (props) => {\n const formProps = useFormikInput(props);\n\n const datePickerStates = useDatePickerState();\n return <DatePickerView {...datePickerStates} {...formProps} />;\n};\n\n/**\n * Date picker allows users to select a date from a calendar view.\n */\nexport const FormikDatePicker = DatePickerComponent;\n","import React from 'react';\n\nimport { PasswordProps } from '../Form/Password/Password/Password.props';\nimport { usePasswordState } from '../Form/Password/Password/Password.state';\nimport { View } from 'app-studio';\nimport { CloseEyeSvg, OpenEyeSvg } from '../Svg';\nimport TextFieldView from '../Form/TextField/TextField/TextField.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst PasswordComponent: React.FC<PasswordProps> = ({\n visibleIcon = <OpenEyeSvg size={14} />,\n hiddenIcon = <CloseEyeSvg size={14} />,\n ...props\n}) => {\n const formProps = useFormikInput(props);\n\n const { isVisible, setIsVisible, ...passwordProps } =\n usePasswordState(formProps);\n\n return (\n <TextFieldView\n {...passwordProps}\n type={isVisible ? 'text' : 'password'}\n isClearable={false}\n rightChild={\n <View\n onClick={() => {\n if (!props.isDisabled) {\n setIsVisible(!isVisible);\n }\n }}\n >\n {isVisible ? visibleIcon : hiddenIcon}\n </View>\n }\n />\n );\n};\n\n/**\n * To allow users to securely enter sensitive information\n */\nexport const FormikPassword = PasswordComponent;\n","import React from 'react';\n\nimport { SelectProps } from '../Form/Select/Select/Select.props';\nimport { useSelectState } from '../Form/Select/Select/Select.state';\nimport SelectView from '../Form/Select/Select/Select.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst SelectComponent: React.FC<SelectProps> = (props) => {\n let formProps = useFormikInput(props);\n formProps.selected = formProps.value;\n const selectStates = useSelectState(props);\n return <SelectView {...selectStates} {...formProps} />;\n};\n\n/**\n * Select provides a dropdown list of options for the user to choose from.\n */\n\nexport const FormikSelect = SelectComponent;\n","import React from 'react';\n\nimport { SwitchProps } from '../Form/Switch/Switch/Switch.props';\nimport { useSwitchState } from '../Form/Switch/Switch/Switch.state';\nimport SwitchView from '../Form/Switch/Switch/Switch.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst SwitchComponent: React.FC<SwitchProps> = (props) => {\n const formProps = useFormikInput(props);\n const switchStates = useSwitchState(props);\n return <SwitchView {...switchStates} {...formProps} />;\n};\n\nexport const FormikSwitch = SwitchComponent;\n","import React from 'react';\n\nimport { TextAreaProps } from '../Form/TextArea/TextArea/TextArea.props';\nimport { useTextAreaState } from '../Form/TextArea/TextArea/TextArea.state';\nimport TextAreaView from '../Form/TextArea/TextArea/TextArea.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst TextAreaComponent: React.FC<TextAreaProps> = (props) => {\n const formProps = useFormikInput(props);\n const textAreaState = useTextAreaState(props);\n return <TextAreaView {...textAreaState} {...formProps} />;\n};\n\n/**\n * Text Area is an component used to create a multi-line input field.\n */\nexport const FormikTextArea = TextAreaComponent;\n","import React from 'react';\n\nimport { TextFieldProps } from '../Form/TextField/TextField/TextField.props';\nimport { useTextFieldState } from '../Form/TextField/TextField/TextField.state';\nimport TextFieldView from '../Form/TextField/TextField/TextField.view';\nimport { useFormikInput } from './Formik.Hook';\n\nconst TextFieldComponent: React.FC<TextFieldProps> = (\n props: TextFieldProps\n) => {\n const formProps = useFormikInput(props);\n const { value, ...textFieldStates } = useTextFieldState(props);\n\n return <TextFieldView {...textFieldStates} {...formProps} />;\n};\n/**\n * TextField is used to capture text data from users.\n */\nexport const FormikTextField = TextFieldComponent;\n","import React from 'react';\nimport { hideMessage, useMessageStore } from './Message.store';\nimport { View } from '../../Layout/View/View';\nimport { MessageView } from './Message.view';\nimport { MessageLayoutProps } from './Message.props';\n\nexport const MessageLayout = ({\n container,\n theme,\n position = 'topRight',\n}: MessageLayoutProps) => {\n const {\n visible,\n title,\n variant,\n subtitle,\n isClosable,\n styles,\n action,\n actionText,\n showIcon,\n timeout,\n } = useMessageStore();\n\n const toastPosition = {\n topLeft: {\n top: 6,\n left: 8,\n },\n topRight: {\n top: 6,\n right: 8,\n },\n bottomLeft: {\n bottom: 8,\n left: 6,\n },\n bottomRight: {\n bottom: 8,\n right: 6,\n },\n }[position];\n\n // Crée une fonction pour construire le contenu du message\n const renderMessageContent = () => (\n <MessageView\n variant={variant}\n subtitle={subtitle}\n show={visible}\n title={title}\n theme={theme}\n isClosable={isClosable}\n styles={styles}\n action={action}\n actionText={actionText}\n showIcon={showIcon}\n timeout={timeout}\n hide={() => hideMessage()}\n />\n );\n\n const MessageContainer = container ? (\n React.cloneElement(container, {}, renderMessageContent())\n ) : (\n <View position={'absolute'} zIndex={10000} {...toastPosition}>\n {renderMessageContent()}\n </View>\n );\n\n return visible ? MessageContainer : null;\n};\n","import React from 'react';\n\nimport { PasswordProps } from './Password/Password.props';\nimport { usePasswordState } from './Password/Password.state';\nimport { View } from 'app-studio';\nimport { CloseEyeSvg, OpenEyeSvg } from '../../Svg';\nimport TextFieldView from '../TextField/TextField/TextField.view';\n\nconst PasswordComponent: React.FC<PasswordProps> = ({\n visibleIcon = <OpenEyeSvg size={14} />,\n hiddenIcon = <CloseEyeSvg size={14} />,\n ...props\n}) => {\n const { isVisible, setIsVisible, ...passwordProps } = usePasswordState(props);\n\n return (\n <TextFieldView\n {...passwordProps}\n type={isVisible ? 'text' : 'password'}\n isClearable={false}\n rightChild={\n <View\n onClick={() => {\n if (!props.isDisabled) {\n setIsVisible(!isVisible);\n }\n }}\n >\n {isVisible ? visibleIcon : hiddenIcon}\n </View>\n }\n />\n );\n};\n\n/**\n * To allow users to securely enter sensitive information\n */\nexport const Password = PasswordComponent;\n","import React from 'react';\nimport { SelectProps } from './Select/Select.props';\nimport { useSelectState } from './Select/Select.state';\nimport SelectView from './Select/Select.view';\n// Defines a functional component named 'SelectComponent', which is expected to receive 'SelectProps' as properties.\nconst SelectComponent: React.FC<SelectProps> = (props) => {\n // Invokes the 'useSelectState' hook with props to obtain stateful logic for the Select component.\n const selectStates = useSelectState(props);\n // Renders the 'SelectView' component, passing along any states controlled by 'useSelectState' and all properties passed to 'SelectComponent'.\n return <SelectView {...selectStates} {...props} />;\n};\n// Exports 'SelectComponent' as 'Select', making it available for import in other parts of the application.\nexport const Select = SelectComponent;\n","import React from 'react';\nimport { SwitchProps } from './Switch/Switch.props';\nimport { useSwitchState } from './Switch/Switch.state';\nimport SwitchView from './Switch/Switch.view';\n// Defines the SwitchComponent as a functional component that takes SwitchProps as props.\nconst SwitchComponent: React.FC<SwitchProps> = (props) => {\n // Invokes useSwitchState hook to obtain state for this component, passing props to it.\n const switchStates = useSwitchState(props);\n // Renders the SwitchView component, spreading the switchStates and props to pass all necessary data.\n return <SwitchView {...switchStates} {...props} />;\n};\n// Exports the SwitchComponent as 'Switch' for use in other parts of the application.\nexport const Switch = SwitchComponent;\n","import React from 'react';\nimport { TextAreaProps } from './TextArea/TextArea.props';\nimport { useTextAreaState } from './TextArea/TextArea.state';\nimport TextAreaView from './TextArea/TextArea.view';\n// Defines the TextAreaComponent as a functional component that accepts TextAreaProps for type safety and structure.\nconst TextAreaComponent: React.FC<TextAreaProps> = (props) => {\n // Creates a state for the TextAreaComponent using custom hook useTextAreaState which initializes the state with props.\n const textAreaState = useTextAreaState(props);\n // Renders the TextAreaView component, passing along the state and any received props.\n return <TextAreaView {...textAreaState} {...props} />;\n};\n// Exports the TextAreaComponent as TextArea for use in other parts of the application.\nexport const TextArea = TextAreaComponent;\n","import React from 'react';\nimport { TextFieldProps } from './TextField/TextField.props';\nimport { useTextFieldState } from './TextField/TextField.state';\nimport TextFieldView from './TextField/TextField.view';\nconst TextFieldComponent: React.FC<TextFieldProps> = (\n props: TextFieldProps\n) => {\n // Initializes the 'textFieldStates' with state-management logic and relevant properties from 'useTextFieldState' hook, passing current 'props' as the argument\n const textFieldStates = useTextFieldState(props);\n // Renders the 'TextFieldView' component with the spread attributes from both 'textFieldStates' and 'props' to pass all necessary data\n return <TextFieldView {...textFieldStates} {...props} />;\n};\n// Exports 'TextFieldComponent' as 'TextField' for use in other parts of the application\nexport const TextField = TextFieldComponent;\n","import React from 'react';\nimport { ToggleGroupProps } from './ToggleGroup/ToggleGroup.props';\nimport { useToggleGroupState } from './ToggleGroup/ToggleGroup.state';\nimport { ToggleGroupView } from './ToggleGroup/ToggleGroup.view';\n// Define the functional component with destructured props\nconst ToggleGroupComponent = ({\n // Destructure 'items' prop which represents the group items to toggle\n items,\n // Destructure 'shape' prop to define the shape of the toggle buttons\n shape,\n // Destructure 'colorScheme' prop for toggle button styling\n colorScheme,\n // Destructure 'variant' prop to determine the visual style of the toggle group\n variant,\n // Destructure 'onToggleChange' prop for the callback when toggle state changes\n onToggleChange,\n}: ToggleGroupProps) => {\n // Hook to manage toggle group state, returns active toggles and a setter for it\n const { activeToggles, setActiveToggles } = useToggleGroupState();\n return (\n <ToggleGroupView\n items={items}\n shape={shape}\n colorScheme={colorScheme}\n variant={variant}\n activeToggles={activeToggles}\n setActiveToggles={setActiveToggles}\n onToggleChange={onToggleChange}\n />\n );\n};\n// Expose the ToggleGroupComponent for import into other modules\nexport const ToggleGroup = ToggleGroupComponent;\n","import { useState } from 'react';\n// Define a custom hook for managing ToggleGroup state\nexport const useToggleGroupState = () => {\n const [activeToggles, setActiveToggles] = useState<string[]>([]);\n return { activeToggles, setActiveToggles };\n};\n"],"names":["View","$View","HeadingSizes","h1","fontSize","lineHeight","letterSpacing","h2","h3","h4","h5","h6","TextContent","_ref","children","isSub","isSup","React","TruncateText","_ref2","text","maxLines","containerRef","useRef","truncatedLength","setTruncatedLength","useState","length","useEffect","textNode","current","updateTruncatedText","middle","comLineHeight","getComputedStyle","maxHeight","parseFloat","start","end","Math","floor","innerText","substring","offsetHeight","displayText","ref","TextView","_ref3","heading","isItalic","isUnderlined","isStriked","isTruncated","weight","size","props","_objectWithoutPropertiesLoose","_excluded","Element","role","Typography","fontSizes","lineHeights","fontStyle","fontWeight","fontWeights","textDecoration","display","Text","VerticalView","justifyContent","isReversed","flexDirection","Vertical","Horizontal","CenterView","alignItems","Center","ArrowDownSvg","color","width","height","viewBox","version","fill","id","strokeWidth","strokeLinecap","strokeLinejoin","stroke","fillRule","transform","d","ArrowUpSvg","CheckSvg","xmlns","CloseSvg","CloseEyeSvg","clipRule","ExternalLinkSvg","IndeterminateSvg","OpenEyeSvg","WarningSvg","SuccessSvg","InfoSvg","ErrorSvg","Themes","default","container","backgroundColor","border","content","info","success","error","warning","AlertView","_styles$icon$color","icon","title","styles","description","variant","gap","borderRadius","borderWidth","borderStyle","padding","flexWrap","alignSelf","AspectRatioView","ratio","position","overflow","paddingTop","top","right","bottom","left","AvatarSizeMap","xs","sm","md","lg","xl","AvatarView","src","fallback","imageError","setImageError","avatarSize","imageStyle","Object","assign","objectFit","image","borderColor","boxShadow","Image","alt","style","onError","BadgeSizes","minWidth","BadgeShapes","sharp","rounded","pillShaped","PositionStyles","top-right","top-left","bottom-right","bottom-left","BadgeView","shape","colorScheme","combinedStyles","filled","outline","link","ghost","IconSizes","2xl","3xl","4xl","5xl","6xl","LinkView","href","iconSize","underline","isHovered","isExternal","setIsHovered","handleHover","ReactRouterLink","to","target","onMouseEnter","onMouseLeave","Link","linkStates","useLinkState","ButtonSizes","paddingBottom","paddingLeft","paddingRight","ButtonShapes","DefaultSizes","DefaultSpeeds","fast","normal","slow","DefaultSpinner","speed","colorStyle","useTheme","getColor","sizeStyle","angle","setAngle","intervalId","setInterval","prevAngle","clearInterval","Dotted","_excluded2","cx","cy","r","Quarter","_excluded3","strokeDasharray","LoaderView","_ref4","textColor","loaderColor","type","textPosition","_excluded4","variants","dotted","quarter","Loader","contrast","require","ButtonView","shadow","ariaLabel","externalHref","isAuto","isFilled","isIconRounded","isLoading","isDisabled","iconPosition","onClick","loaderProps","loaderPosition","effect","isActive","defaultNativeProps","disabled","buttonColor","hovering","reverse","isLight","buttonSizeStyles","buttonVariant","scaleWidth","changePadding","as","_props$onClick","cursor","filter","transition","paddingHorizontal","paddingVertical","textDecorationColor","Button","useButtonState","useSelectState","placeholder","isMulti","options","defaultValue","value","hide","setHide","isFocused","setIsFocused","setValue","highlightedIndex","setHighlightedIndex","HelperText","helperText","marginVertical","marginHorizontal","FieldContainer","Shapes","LabelSizes","InputVariants","borderBottomWidth","none","PadddingWithLabel","PaddingWithoutLabel","FieldContent","isWithLabel","isReadOnly","pickerBox","marginBottom","FieldIcons","zIndex","LabelView","Label","FieldLabel","label","whiteSpace","FieldWrapper","Item","option","callback","margin","listStyleType","handleOptionClick","SelectBox","field","removeOption","fieldStyles","heigth","find","_option$label","map","MultiSelect","key","HiddenSelect","name","onChange","opacity","readOnly","event","multiple","DropDown","dropDown","itemStates","useItemState","handleCallback","undefined","document","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","overflowY","marginTop","marginLeft","marginRight","scrollbarWidth","msOverflowStyle","&::-webkit-scrollbar","index","_ref5","stopPropagation","handleClick","SelectView","_ref6","selectBox","useCallback","Array","isArray","includes","htmlFor","onFocus","handleFocus","valueOption","newValue","useSwitchState","isChecked","on","setOn","KnobSizes","SliderSizes","SliderPadding","SwitchContent","Input","SwitchView","inActiveChild","activeChild","labelPosition","slider","circle","switchStyle","checked","useTextAreaState","hint","setHint","useMemo","TextAreaView","isEditable","isAutoFocus","isMultiline","maxRows","maxCols","onBlur","onChangeText","box","focus","handleChange","rows","cols","autoFocus","editable","multiline","useTextFieldState","TextFieldInput","TextFieldView","leftChild","rightChild","isClearable","IconColor","autoComplete","handleClear","useCheckboxState","defaultIsSelected","isSelected","setIsSelected","Sizes","CheckboxView","onValueChange","isIndeterminate","checkbox","infoText","checkboxStyle","useCountryPickerState","newOptions","setNewOptions","countryList","CountryList","CountrySelector","CountryItem","DropDownItem","code","CountryPickerView","paddingVerical","paddingHorizonatl","valueCountry","filteredCountries","country","toLowerCase","startsWith","useDatePickerState","date","setDate","format","Date","DatePickerContent","DatePickerView","handleDateChange","usePasswordState","textFieldStates","isVisible","setIsVisible","FocusContext","createContext","active","focusNextInput","setInputRef","handleSubmitEditing","getReturnKeyType","useFormikInput","useContext","touched","errors","submitCount","values","setFieldTouched","setFieldValue","useFormikContext","handleKeyPress","e","preventDefault","isText","getIn","autoCorrect","inputMode","autoCapitalize","secureTextEntry","getInputTypeProps","handleBlur","onKeyPress","TickSvg","SearchLoopSvg","ComboBoxView","items","showTick","onSelect","searchEnabled","filteredItems","setSelectedItem","selectedItem","searchQuery","setSearchQuery","setFilteredItems","isDropdownVisible","setIsDropdownVisible","handleClickOutside","composedPath","some","element","addEventListener","removeEventListener","labelContainer","flexGrow","dropdown","TextField","query","filtered","item","handleSearch","borderBottom","handleSelect","useMessageStore","create","set","visible","subtitle","isClosable","action","actionText","showIcon","timeout","show","hideMessage","getState","close","MessageView","theme","timeId","setTimeout","clearTimeout","Theme","isWithAction","containerStyle","iconColor","iconComponent","isShowIcon","_styles$closingIcon","closingIcon","_styles$closingIcon2","useModalStore","modal","modalProps","overlayProps","state","hideModal","ContainerShapes","OverlayAlignments","center","HeaderIconSizes","ModalOverlay","blur","isOpen","isClosePrevented","onClose","visibility","backdropFilter","Modal","Overlay","Container","isFullScreen","defaultShadow","Header","buttonPosition","buttonIcon","Body","borderTopWidth","Footer","_excluded5","Layout","modals","modalStore","Fragment","console","defaultStyles","TableStylesContext","TableStylesProvider","Provider","useTableStyles","TableContainer","borderCollapse","table","TableHead","textAlign","thead","TableHeadCell","th","TableRow","tr","TableCell","isFirstColumn","td","TableBody","tbody","TableFooter","tfoot","TableCaption","caption","Table","Head","HeadCell","Row","Cell","Caption","Template","data","columns","footer","column","row","columnIndex","cell","TabsView","tabs","setIsActive","tabsState","setTabsState","headerTabs","tab","idx","newTabs","selectedTab","splice","unshift","moveSelectedTabToTop","activeTab","activeText","isContentActive","Tabs","memo","propTabs","useTabsState","ToggleShapes","ToggleView","isToggle","setIsToggled","onToggle","toggleColor","handleToggle","prev","newState","Toggle","isToggled","defaultToggled","useToggleState","ToggleGroupView","onToggleChange","activeToggles","setActiveToggles","prevActiveToggles","newActiveToggles","toggleId","useAvatarState","checkboxStates","countryPickerStates","datePickerStates","path","Colorprops","_useFormikInput","formProps","searchPlaceholder","ComboBoxStates","useComboBoxState","initFocus","formik","inputRefs","inputNames","currentName","_inputRefs$current$in","nextIndex","indexOf","onSubmit","contextValue","push","_inputRefs$current$in2","_inputRefs$current$in3","$Form","visibleIcon","hiddenIcon","_usePasswordState","passwordProps","selected","selectStates","switchStates","textAreaState","wordBreak","toastPosition","topLeft","topRight","bottomLeft","bottomRight","renderMessageContent","MessageContainer","cloneElement","useToggleGroupState","showMessage"],"mappings":"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"}
|