@algorithm-shift/design-system 1.2.191 → 1.2.202
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/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/components/ui/button.tsx","../src/lib/utils.ts","../src/components/Layout/Flex.tsx","../src/components/Layout/Grid.tsx","../src/components/Basic/Typography/Typography.tsx","../src/components/Basic/Shape/Shape.tsx","../src/components/Basic/Image/Image.tsx","../src/components/Inputs/TextInput/TextInput.tsx","../src/components/ui/input.tsx","../src/components/Inputs/NumberInput/NumberInput.tsx","../node_modules/shared/src/utils.ts","../node_modules/lucide-react/src/defaultAttributes.ts","../node_modules/lucide-react/src/Icon.ts","../node_modules/lucide-react/src/createLucideIcon.ts","../node_modules/lucide-react/src/icons/calculator.ts","../node_modules/lucide-react/src/icons/calendar.ts","../node_modules/lucide-react/src/icons/check.ts","../node_modules/lucide-react/src/icons/chevron-down.ts","../node_modules/lucide-react/src/icons/chevron-left.ts","../node_modules/lucide-react/src/icons/chevron-right.ts","../node_modules/lucide-react/src/icons/chevron-up.ts","../node_modules/lucide-react/src/icons/circle.ts","../node_modules/lucide-react/src/icons/mail.ts","../node_modules/lucide-react/src/icons/scan-eye.ts","../node_modules/lucide-react/src/icons/search.ts","../src/components/Inputs/EmailInput/EmailInput.tsx","../src/components/Inputs/PasswordInput/PasswordInput.tsx","../src/components/Inputs/Textarea/Textarea.tsx","../src/components/ui/textarea.tsx","../src/components/Inputs/UrlInput/UrlInput.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/label.tsx","../src/components/Inputs/Checkbox/Checkbox.tsx","../src/components/ui/radio-group.tsx","../src/components/Inputs/RadioInput/RadioInput.tsx","../src/components/Inputs/MultiCheckbox/MultiCheckbox.tsx","../src/components/Global/TinyMceEditor.tsx","../src/components/Inputs/RichText/RichText.tsx","../src/components/Inputs/Dropdown/Dropdown.tsx","../src/components/ui/select.tsx","../src/components/Global/SelectDropdown.tsx","../src/components/ui/switch.tsx","../src/components/Inputs/SwitchToggle/SwitchToggle.tsx","../src/components/Inputs/PhoneInput/PhoneInput.tsx","../src/components/Inputs/SearchInput/SearchInput.tsx","../src/components/Inputs/FileInput/FileInput.tsx","../src/components/Inputs/DatePicker/DatePicker.tsx","../src/components/Inputs/DateRange/DateRange.tsx","../src/components/ui/calendar.tsx","../src/components/ui/popover.tsx","../src/components/ui/data-table.tsx","../src/components/ui/table.tsx","../src/components/DataDisplay/Table/Table.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/Navigation/Tabs/Tabs.tsx","../src/components/Navigation/Stages/Stages.tsx","../src/components/Navigation/Spacer/Spacer.tsx","../src/components/Navigation/Profile/Profile.tsx","../src/components/Navigation/Notification/Notification.tsx","../src/components/Navigation/Logo/Logo.tsx"],"sourcesContent":["import './global.css'\r\n\r\nexport * from \"@/components\";\r\nexport * from \"@/lib/utils\";\r\n","import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst buttonVariants = cva(\r\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\r\n destructive:\r\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\r\n outline:\r\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\r\n secondary:\r\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\r\n ghost:\r\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\r\n link: \"text-primary underline-offset-4 hover:underline\",\r\n },\r\n size: {\r\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\r\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\r\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\r\n icon: \"size-9\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"default\",\r\n },\r\n }\r\n)\r\n\r\nfunction Button({\r\n className,\r\n variant,\r\n size,\r\n asChild = false,\r\n ...props\r\n}: React.ComponentProps<\"button\"> &\r\n VariantProps<typeof buttonVariants> & {\r\n asChild?: boolean\r\n }) {\r\n const Comp = asChild ? Slot : \"button\"\r\n\r\n return (\r\n <Comp\r\n data-slot=\"button\"\r\n className={cn(buttonVariants({ variant, size, className }))}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Button, buttonVariants }\r\n","import { clsx, type ClassValue } from \"clsx\"\r\nimport { twMerge } from \"tailwind-merge\"\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}","import { ElementProps } from \"@/types/global\";\r\n\r\nconst Flex = ({\r\n children, className, style\r\n}: ElementProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Flex;\r\n","import { ElementProps } from \"@/types/global\";\r\n\r\nconst Grid = ({\r\n children, className, style\r\n}: ElementProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Grid;\r\n","import React from 'react';\r\n\r\nimport { cn } from '@/lib/utils';\r\nimport { TypographyProps } from '@/types/global';\r\n\r\nconst Typography = ({\r\n className,\r\n style,\r\n tagName,\r\n textContent,\r\n}: TypographyProps) => {\r\n\r\n const Tag = tagName || 'h1';\r\n\r\n return React.createElement(\r\n Tag,\r\n {\r\n style,\r\n className: cn(className, 'pointer-events-auto'),\r\n },\r\n [\r\n React.createElement('span', {\r\n key: 'html',\r\n className: 'pointer-events-none',\r\n dangerouslySetInnerHTML: { __html: textContent },\r\n })\r\n ]\r\n );\r\n};\r\n\r\nexport default Typography;\r\n","import { ElementProps } from '@/types/global';\r\n\r\nconst Shape = ({\r\n children,\r\n className, \r\n style\r\n}: ElementProps) => {\r\n\r\n return (\r\n <div className={className} style={style}>\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Shape;\r\n","import { cn } from '@/lib/utils';\r\nimport { ImageProps } from '@/types/global';\r\nimport placeholder from \"../../../assets/image-placeholder.png\";\r\n\r\nconst ImageControl = ({\r\n className,\r\n style, \r\n imageUrl,\r\n imageUrlExternal,\r\n altText = 'Preview',\r\n}: ImageProps) => {\r\n\r\n const imageClass = cn(\r\n 'h-[200px] w-[200px] border-1',\r\n 'border-2 border-dashed border-gray-400 flex items-center justify-center cursor-pointer hover:border-blue-500 transition',\r\n );\r\n\r\n const defaultImgClass = cn(\r\n 'w-full h-full',\r\n className\r\n );\r\n console.log(imageUrl, imageUrlExternal);\r\n if (!imageUrl && !imageUrlExternal) {\r\n <div className={imageClass}>\r\n <img src={placeholder} alt={altText} className=\"opacity-50\" width={50} height={50} />\r\n </div>\r\n }\r\n\r\n const url = imageUrlExternal || imageUrl || '';\r\n\r\n console.log(url);\r\n\r\n return (\r\n <img src={url} alt={altText} className={defaultImgClass} style={style} />\r\n );\r\n};\r\n\r\nexport default ImageControl;\r\n","import * as React from 'react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { TextInputProps } from '@/types/global';\r\n\r\nconst TextInput = ({ className, style, ...props }: TextInputProps) => {\r\n\r\n const placeholder = props.placeholder || 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <Input\r\n type=\"text\"\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { TextInput };","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","import * as React from 'react';\r\n\r\nimport { Calculator } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { NumberInputProps } from '@/types/global';\r\n\r\nconst NumberInput = ({ className, style, ...props }: NumberInputProps) => {\r\n\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Calculator className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"number\"\r\n id={'number-field'}\r\n value={value}\r\n className={className}\r\n style={style}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { NumberInput };","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '16', height: '20', x: '4', y: '2', rx: '2', key: '1nb95v' }],\n ['line', { x1: '8', x2: '16', y1: '6', y2: '6', key: 'x4nwl0' }],\n ['line', { x1: '16', x2: '16', y1: '14', y2: '18', key: 'wjye3r' }],\n ['path', { d: 'M16 10h.01', key: '1m94wz' }],\n ['path', { d: 'M12 10h.01', key: '1nrarc' }],\n ['path', { d: 'M8 10h.01', key: '19clt8' }],\n ['path', { d: 'M12 14h.01', key: '1etili' }],\n ['path', { d: 'M8 14h.01', key: '6423bh' }],\n ['path', { d: 'M12 18h.01', key: 'mhygvu' }],\n ['path', { d: 'M8 18h.01', key: 'lrp35t' }],\n];\n\n/**\n * @component @name Calculator\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/calculator\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Calculator = createLucideIcon('calculator', __iconNode);\n\nexport default Calculator;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M8 2v4', key: '1cmpym' }],\n ['path', { d: 'M16 2v4', key: '4m81vk' }],\n ['rect', { width: '18', height: '18', x: '3', y: '4', rx: '2', key: '1hopcy' }],\n ['path', { d: 'M3 10h18', key: '8toen8' }],\n];\n\n/**\n * @component @name Calendar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/calendar\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Calendar = createLucideIcon('calendar', __iconNode);\n\nexport default Calendar;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]];\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('chevron-left', __iconNode);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]];\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('chevron-right', __iconNode);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm18 15-6-6-6 6', key: '153udz' }]];\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-up\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronUp = createLucideIcon('chevron-up', __iconNode);\n\nexport default ChevronUp;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7', key: '132q7q' }],\n ['rect', { x: '2', y: '4', width: '20', height: '16', rx: '2', key: 'izxlao' }],\n];\n\n/**\n * @component @name Mail\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/mail\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Mail = createLucideIcon('mail', __iconNode);\n\nexport default Mail;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M3 7V5a2 2 0 0 1 2-2h2', key: 'aa7l1z' }],\n ['path', { d: 'M17 3h2a2 2 0 0 1 2 2v2', key: '4qcy5o' }],\n ['path', { d: 'M21 17v2a2 2 0 0 1-2 2h-2', key: '6vwrx8' }],\n ['path', { d: 'M7 21H5a2 2 0 0 1-2-2v-2', key: 'ioqczr' }],\n ['circle', { cx: '12', cy: '12', r: '1', key: '41hilf' }],\n [\n 'path',\n {\n d: 'M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0',\n key: '11ak4c',\n },\n ],\n];\n\n/**\n * @component @name ScanEye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/scan-eye\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ScanEye = createLucideIcon('scan-eye', __iconNode);\n\nexport default ScanEye;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm21 21-4.34-4.34', key: '14j7rj' }],\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n];\n\n/**\n * @component @name Search\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/search\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Search = createLucideIcon('search', __iconNode);\n\nexport default Search;\n","import * as React from 'react';\r\n\r\nimport { Mail } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { EmailInputProps } from '@/types/global';\r\n\r\nconst EmailInput = ({ className, style, ...props }: EmailInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Mail className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"email\"\r\n value={value}\r\n className={className}\r\n style={style}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { EmailInput };","import * as React from 'react';\r\n\r\nimport { ScanEye } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { PasswordInputProps } from '@/types/global';\r\n\r\nconst PasswordInput = ({ className, style, ...props }: PasswordInputProps) => {\r\n\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <ScanEye className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"password\"\r\n id={'password-field'}\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { PasswordInput };","import * as React from 'react';\r\n\r\nimport { Textarea as TextareaInput } from '@/components/ui/textarea';\r\nimport { TextAreaProps } from '@/types/global';\r\n\r\nconst Textarea = ({ className, style, ...props }: TextAreaProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <TextareaInput\r\n id={'textarea-field'}\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n />\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { Textarea };","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","\r\nimport * as React from 'react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { UrlInputProps } from '@/types/global';\r\n\r\nconst UrlInput = ({ className, style, ...props }: UrlInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <div className=\"bg-[#E9E9E9] absolute px-10 text-center top-1/2 h-full justify-center items-center flex w-10 -translate-y-1/2 text-[#383838] font-[500] text-[12px]\">\r\n https://\r\n </div>\r\n <Input\r\n type=\"url\"\r\n className={className}\r\n style={style}\r\n id={'url-field'}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { UrlInput };","import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { CheckIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","import { Checkbox } from '@/components/ui/checkbox';\r\nimport { Label } from '@/components/ui/label';\r\nimport { CheckboxInputProps } from '@/types/global';\r\n\r\nconst CheckboxInput = ({ className, style, ...props }: CheckboxInputProps) => {\r\n const text = props.text ? props.text : 'Subscribe';\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <div className=\"flex items-center space-x-2\">\r\n <Checkbox id=\"newsletter\" />\r\n <Label htmlFor=\"newsletter\">{text}</Label>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport { CheckboxInput };","import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { CircleIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n","import { Label } from '@/components/ui/label';\r\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\r\nimport { RadioInputProps } from '@/types/global';\r\n\r\nconst RadioInput = ({ className, style, ...props }: RadioInputProps) => {\r\n const text = Array.isArray(props.text)\r\n ? props.text\r\n : [props.text ?? 'Subscribe'];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <RadioGroup defaultValue=\"option-1\">\r\n {text?.map((item: string, index: number) => (\r\n <div className=\"flex items-center space-x-2\" key={index}>\r\n <RadioGroupItem value={item} id={`r${index}`} />\r\n <Label htmlFor={`r${index}`}>{item}</Label>\r\n </div>\r\n ))}\r\n </RadioGroup>\r\n </div>\r\n );\r\n}\r\n\r\nexport { RadioInput };","import { Checkbox } from '@/components/ui/checkbox';\r\nimport { Label } from '@/components/ui/label';\r\nimport { MultiCheckboxInputProps } from '@/types/global';\r\n\r\nconst MultiCheckbox = ({ className, style, ...props }: MultiCheckboxInputProps) => {\r\n const text = Array.isArray(props.text)\r\n ? props.text\r\n : [props.text ?? 'Subscribe'];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <div className=\"flex gap-3 flex-col\">\r\n {text?.map((item: string, index: number) => (\r\n <div className=\"flex items-center space-x-2\" key={index}>\r\n <Checkbox id={`newsletter-${index}`} />\r\n <Label htmlFor={`newsletter-${index}`}>{item}</Label>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport { MultiCheckbox };","'use client';\r\n\r\nimport { useMemo, useRef } from 'react';\r\n\r\nimport { Editor } from '@tinymce/tinymce-react';\r\n\r\nexport default function MyEditor({\r\n value,\r\n onChange,\r\n isDefault\r\n}: {\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n isDefault?: boolean;\r\n}) {\r\n const editorRef = useRef<any>(null);\r\n\r\n function stripOuterP(html: string): string {\r\n const trimmedHtml = html.trim();\r\n if (!trimmedHtml) return '';\r\n const div = document.createElement('div');\r\n div.innerHTML = trimmedHtml;\r\n const firstChild = div.firstElementChild;\r\n if (div.childElementCount === 1 && firstChild?.tagName === 'P') {\r\n return firstChild.innerHTML;\r\n }\r\n return trimmedHtml;\r\n }\r\n\r\n const isDefaultToolbar = useMemo(() => {\r\n let toolbar = 'undo redo | formatselect | bold italic forecolor';\r\n if (isDefault) {\r\n toolbar = 'undo redo | blocks | ' +\r\n 'bold italic forecolor | alignleft aligncenter ' +\r\n 'alignright alignjustify | bullist numlist outdent indent | ' +\r\n 'removeformat | help';\r\n }\r\n return toolbar;\r\n }, [isDefault]);\r\n\r\n return (\r\n <Editor\r\n apiKey={process.env.NEXT_PUBLIC_TINYMCE_API_KEY}\r\n tinymceScriptSrc={process.env.NEXT_PUBLIC_TINYMCE_SCRIPT_SRC}\r\n onInit={(_evt, editor) => (editorRef.current = editor)}\r\n value={value}\r\n licenseKey='gpl'\r\n init={{\r\n height: 300,\r\n menubar: false,\r\n forced_root_block: false,\r\n plugins: [\r\n 'advlist',\r\n 'autolink',\r\n 'lists',\r\n 'link',\r\n 'image',\r\n 'charmap',\r\n 'preview',\r\n 'anchor',\r\n 'searchreplace',\r\n 'visualblocks',\r\n 'code',\r\n 'fullscreen',\r\n 'insertdatetime',\r\n 'media',\r\n 'table',\r\n 'help',\r\n 'wordcount',\r\n ],\r\n toolbar: isDefaultToolbar,\r\n content_style: `\r\n body {\r\n outline: none;\r\n }\r\n `,\r\n }}\r\n onEditorChange={(content) => onChange?.(stripOuterP(content))}\r\n />\r\n );\r\n}\r\n","import TinyMceEditor from '@/components/Global/TinyMceEditor';\r\nimport { RichTextInputProps } from '@/types/global';\r\n\r\nexport default function RichText({ className, style }: RichTextInputProps) {\r\n return (\r\n <div className={className} style={style}>\r\n <TinyMceEditor isDefault={true} />\r\n </div>\r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\nimport SelectDropdown from '@/components/Global/SelectDropdown';\r\nimport { SelectDropdownInputProps } from '@/types/global';\r\n\r\nconst Dropdown = ({ className, style, ...props }: SelectDropdownInputProps) => {\r\n const text = Array.isArray(props.text) ? props.text : [props.text ?? 'Default'];\r\n const placeholder = props.placeholder ? props.placeholder : 'Placeholder text';\r\n const formatList = text.map((item: any) => ({\r\n label: item || 'value1',\r\n value: item\r\n }));\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (val: string) => {\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex gap-3 flex-col\">\r\n <SelectDropdown\r\n options={formatList}\r\n placeholder={placeholder}\r\n id={'select-field'}\r\n value={value}\r\n className={className}\r\n style={style}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { Dropdown };","import * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","'use client';\r\n\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '@/components/ui/select';\r\n\r\ninterface Option {\r\n label: string;\r\n value: string;\r\n}\r\n\r\ninterface SelectDropdownProps {\r\n options: Option[];\r\n placeholder?: string;\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n className?: string;\r\n style?: React.CSSProperties;\r\n id?: string;\r\n autoComplete?: string;\r\n disabled?: boolean;\r\n readOnly?: boolean;\r\n required?: boolean;\r\n pattern?: string;\r\n}\r\n\r\nexport default function SelectDropdown({\r\n options,\r\n placeholder = 'Select an option',\r\n value,\r\n onChange,\r\n className,\r\n id,\r\n disabled,\r\n readOnly,\r\n style\r\n}: SelectDropdownProps) {\r\n return (\r\n <Select value={value} onValueChange={onChange} disabled={disabled}>\r\n <SelectTrigger\r\n id={id}\r\n className={className}\r\n style={style ?? {}}\r\n aria-readonly={readOnly}\r\n >\r\n <SelectValue placeholder={placeholder} />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {options.map((opt) => (\r\n <SelectItem key={opt.value} value={opt.value}>\r\n {opt.label}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n );\r\n}\r\n","import * as React from \"react\"\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n \"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n","import { Label } from '@/components/ui/label';\r\nimport { Switch } from '@/components/ui/switch';\r\nimport { SwitchToggleInputProps } from '@/types/global';\r\n\r\nconst SwitchToggle = ({ className, style, ...props }: SwitchToggleInputProps) => {\r\n const text = Array.isArray(props.text)\r\n ? props.text\r\n : [props.text ?? 'Subscribe'];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n {text?.map((item: string, index: number) => (\r\n <div className=\"flex items-center space-x-2 mb-2\" key={index}>\r\n <Switch id={`switch-${index}`} />\r\n <Label htmlFor={`switch-${index}`}>{item}</Label>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport { SwitchToggle }","import { PhoneInputProps } from '@/types/global';\r\nimport * as React from 'react';\r\n\r\nimport { PhoneInput as PhoneInputField } from 'react-international-phone';\r\nimport 'react-international-phone/style.css';\r\n\r\nconst PhoneInput = ({ className, style, ...props }: PhoneInputProps) => {\r\n const placeholder = props.placeholder ?? 'Enter phone number';\r\n\r\n const [value, setValue] = React.useState('');\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (val: any) => {\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <PhoneInputField\r\n defaultCountry=\"in\"\r\n value={value}\r\n onChange={(phone: string) => handleChange(phone)}\r\n inputProps={{\r\n id: 'phone-field',\r\n required: isRequired,\r\n }}\r\n placeholder={placeholder}\r\n disabled={isDisabled || !isEditable}\r\n required={isRequired}\r\n className={className}\r\n style={style}\r\n />\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { PhoneInput };","import * as React from 'react';\r\n\r\nimport { Search } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { SearchInputProps } from '@/types/global';\r\n\r\nconst SearchInput = ({ className, style, ...props }: SearchInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"text\"\r\n id={'text-field'}\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { SearchInput };","import { Input } from '@/components/ui/input';\r\nimport { FileInputProps } from '@/types/global';\r\n\r\nconst FileInput = ({ className, style, ...props }: FileInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n return (\r\n <div className=\"d-flex items-center relative align-middle\">\r\n <div className=\"bg-[#E9E9E9] absolute px-10 text-center top-1/2 h-full justify-center items-center flex w-10 -translate-y-1/2 text-[#383838] font-[500] text-[11px]\">\r\n Browse\r\n </div>\r\n <Input\r\n type=\"file\"\r\n id=\"file\"\r\n autoComplete=\"off\"\r\n placeholder={placeholder}\r\n className={className}\r\n style={style}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport { FileInput };","'use client';\r\nimport React from 'react';\r\n\r\nimport { Calendar } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { DatePickerInputProps } from '@/types/global';\r\n\r\nexport default function DatePicker({ className, style, ...props }: DatePickerInputProps) {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls (now option objects)\r\n const minimumDate = props.minimumDate ?? 'none';\r\n const customMinimumDate = props.customMinimumDate ?? '';\r\n\r\n const maximumDate = props.maximumDate ?? 'none';\r\n const customMaximumDate = props.customMaximumDate ?? '';\r\n\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const resolveDate = (option: any, customOption?: any): string | undefined => {\r\n if (!option) return undefined;\r\n\r\n switch (option) {\r\n case 'today':\r\n return new Date().toISOString().split('T')[0];\r\n case 'custom':\r\n return customOption ?? undefined;\r\n case 'none':\r\n default:\r\n return undefined;\r\n }\r\n };\r\n\r\n const minDate = resolveDate(minimumDate, customMinimumDate);\r\n const maxDate = resolveDate(maximumDate, customMaximumDate);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n setValue(val);\r\n\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Calendar className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"date\"\r\n id=\"date\"\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n value={value}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n placeholder={placeholder}\r\n min={minDate}\r\n max={maxDate}\r\n className={className}\r\n style={style}\r\n />\r\n </div>\r\n\r\n {error && <p className=\"mt-1 text-xs text-red-500\">{error}</p>}\r\n </>\r\n );\r\n}\r\n","\r\n'use client';\r\nimport * as React from 'react';\r\n\r\nimport { addDays, format } from 'date-fns';\r\nimport { DateRange as DateRangeProps } from 'react-day-picker';\r\n\r\nimport { Button } from '@/components/ui/button';\r\nimport { Calendar } from '@/components/ui/calendar';\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from '@/components/ui/popover';\r\nimport { cn } from '@/lib/utils';\r\nimport { DateRangeInputProps } from '@/types/global';\r\n\r\nconst DateRange = ({ className, style }: DateRangeInputProps) => {\r\n const [date, setDate] = React.useState<DateRangeProps | undefined>({\r\n from: new Date(),\r\n to: addDays(new Date(), 7),\r\n });\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n id=\"date\"\r\n variant={'outline'}\r\n className={cn(\r\n 'w-[300px] justify-start text-left font-normal text-[11px]',\r\n !date && 'text-muted-foreground'\r\n )}\r\n >\r\n {date?.from ? (\r\n date.to ? (\r\n <>\r\n {format(date.from, 'LLL dd, y')} -{' '}\r\n {format(date.to, 'LLL dd, y')}\r\n </>\r\n ) : (\r\n format(date.from, 'LLL dd, y')\r\n )\r\n ) : (\r\n <span>Pick a date range</span>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n <Calendar\r\n mode=\"range\"\r\n defaultMonth={date?.from}\r\n selected={date}\r\n onSelect={setDate}\r\n numberOfMonths={2}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n </div>\r\n );\r\n}\r\n\r\nexport default DateRange;","import * as React from \"react\"\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\"\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button, buttonVariants } from \"@/components/ui/button\"\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n )\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n )\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n )\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n","import * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n","'use client';\r\nimport {\r\n ColumnDef,\r\n flexRender,\r\n getCoreRowModel,\r\n useReactTable,\r\n} from '@tanstack/react-table';\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n} from '@/components/ui/table';\r\n\r\ninterface DataTableProps<TData, TValue> {\r\n columns: ColumnDef<TData, TValue>[]\r\n data: TData[],\r\n rowActions: { header: string; onClick: (row: TData) => void }[],\r\n loading?: boolean,\r\n getRowSelection?: (rowSelection: Record<string, boolean>) => void,\r\n onCellClick?: (cellData: TData, columnId: string) => void;\r\n cellClickEnabled?: (cellData: TData, columnId: string) => boolean;\r\n}\r\n\r\nexport function DataTable<TData, TValue>({\r\n columns,\r\n rowActions,\r\n data,\r\n loading,\r\n getRowSelection,\r\n onCellClick,\r\n cellClickEnabled = () => false,\r\n}: DataTableProps<TData, TValue>) {\r\n const table = useReactTable({\r\n data,\r\n columns,\r\n enableRowSelection: true,\r\n onRowSelectionChange: getRowSelection\r\n ? (updaterOrValue) => {\r\n const value =\r\n typeof updaterOrValue === 'function'\r\n ? updaterOrValue(table.getState().rowSelection)\r\n : updaterOrValue;\r\n getRowSelection(value);\r\n }\r\n : undefined,\r\n getCoreRowModel: getCoreRowModel(),\r\n });\r\n\r\n const handleCellClick = (rowData: TData, columnId: string) => {\r\n if (onCellClick) {\r\n onCellClick(rowData, columnId);\r\n }\r\n };\r\n\r\n return (\r\n <div className=\"overflow-hidden rounded-md border w-full\">\r\n <Table>\r\n <TableHeader>\r\n {table.getHeaderGroups().map((headerGroup) => (\r\n <TableRow key={headerGroup.id}>\r\n {headerGroup.headers.map((header) => {\r\n return (\r\n <TableHead key={header.id}>\r\n {header.isPlaceholder\r\n ? null\r\n : flexRender(\r\n header.column.columnDef.header,\r\n header.getContext()\r\n )}\r\n </TableHead>\r\n );\r\n })}\r\n </TableRow>\r\n ))}\r\n </TableHeader>\r\n <TableBody>\r\n {loading ? (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} className=\"h-24 text-center\">\r\n Loading...\r\n </TableCell>\r\n </TableRow>\r\n ) : (\r\n <>\r\n {table.getRowModel().rows?.length ? (\r\n table.getRowModel().rows.map((row) => (\r\n <TableRow\r\n key={row.id}\r\n data-state={row.getIsSelected() && 'selected'}\r\n className='relative group'\r\n >\r\n {row.getVisibleCells().map((cell) => {\r\n const isCellClickable = cellClickEnabled(row.original, cell.column.id);\r\n const dynamicClass = (cell.column.columnDef.meta as any)?.cellClass || '';\r\n const dynamicStyle = (cell.column.columnDef.meta as any)?.cellStyle || {};\r\n\r\n return (\r\n <TableCell\r\n key={cell.id}\r\n className={`${dynamicClass} ${isCellClickable ? 'underline cursor-pointer' : ''}`}\r\n style={dynamicStyle}\r\n onClick={() => {\r\n if (isCellClickable) {\r\n handleCellClick(row.original, cell.column.id);\r\n }\r\n }}\r\n >\r\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\r\n </TableCell>\r\n );\r\n })}\r\n {rowActions.length > 0 && (\r\n <div className='absolute top-0 right-0 bg-white py-3 min-w-[100px] z-50 shadow-md flex items-center justify-center gap-3 p-2 opacity-0 group-hover:opacity-100 duration-300 h-full'>\r\n {rowActions.map((action, index) => (\r\n <p key={index} className='text-[#383838] text-[12px] cursor-pointer font-[400]'>{action.header}</p>\r\n ))}\r\n </div>\r\n )}\r\n </TableRow>\r\n ))\r\n ) : (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} className=\"h-24 text-center\">\r\n No results.\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n );\r\n}","\r\nimport * as React from 'react';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\r\n return (\r\n <div\r\n data-slot=\"table-container\"\r\n className=\"relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white\"\r\n >\r\n <table\r\n data-slot=\"table\"\r\n className={cn('w-full text-sm', className)}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\r\n return (\r\n <thead\r\n data-slot=\"table-header\"\r\n className={cn(\r\n 'bg-gray-100 text-gray-700 [&>tr]:border-b [&>tr]:border-gray-200 [&>tr>th]:border-r [&>tr>th]:border-gray-200 [&>tr>th]:last:border-r-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\r\n return (\r\n <tbody\r\n data-slot=\"table-body\"\r\n className={cn(\r\n '[&>tr]:border-b [&>tr]:border-gray-200 [&>tr:last-child]:border-0 [&>tr>td]:border-r [&>tr>td]:border-gray-200 [&>tr>td]:last:border-r-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\r\n return (\r\n <tfoot\r\n data-slot=\"table-footer\"\r\n className={cn(\r\n 'bg-gray-50 border-t border-gray-200 font-medium [&>tr]:last:border-b-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\r\n return (\r\n <tr\r\n data-slot=\"table-row\"\r\n className={cn(\r\n 'border-b border-gray-200 hover:bg-gray-50 transition-colors',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\r\n return (\r\n <th\r\n data-slot=\"table-head\"\r\n className={cn(\r\n 'h-12 px-6 text-left align-middle font-semibold whitespace-nowrap',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\r\n return (\r\n <td\r\n data-slot=\"table-cell\"\r\n className={cn(\r\n 'px-6 py-4 align-middle text-gray-700',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableCaption({\r\n className,\r\n ...props\r\n}: React.ComponentProps<'caption'>) {\r\n return (\r\n <caption\r\n data-slot=\"table-caption\"\r\n className={cn('mt-4 text-sm text-gray-500', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Table,\r\n TableHeader,\r\n TableBody,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableCaption,\r\n};\r\n","\r\nimport { DataTable } from '@/components/ui/data-table';\r\nimport { TableProps } from '@/types/global';\r\n\r\nconst Table = ({ columns, data, rowActions, className, style }: TableProps) => {\r\n const rawColumns = Array.isArray(columns) ? columns : [];\r\n const rawData = Array.isArray(data) ? data : [];\r\n const rawRowActions = Array.isArray(rowActions) ? rowActions : [];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <DataTable columns={rawColumns} data={rawData} rowActions={rawRowActions} />\r\n </div>\r\n );\r\n};\r\n\r\nexport default Table;\r\n","'use client';\r\n\r\nimport * as React from 'react';\r\n\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\nfunction DropdownMenu({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\r\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\r\n}\r\n\r\nfunction DropdownMenuPortal({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\r\n return (\r\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\r\n );\r\n}\r\n\r\nfunction DropdownMenuTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\r\n return (\r\n <DropdownMenuPrimitive.Trigger\r\n data-slot=\"dropdown-menu-trigger\"\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuContent({\r\n className,\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\r\n return (\r\n <DropdownMenuPrimitive.Portal>\r\n <DropdownMenuPrimitive.Content\r\n data-slot=\"dropdown-menu-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </DropdownMenuPrimitive.Portal>\r\n );\r\n}\r\n\r\nfunction DropdownMenuGroup({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\r\n return (\r\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\r\n );\r\n}\r\n\r\nfunction DropdownMenuItem({\r\n className,\r\n inset,\r\n variant = 'default',\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\r\n inset?: boolean\r\n variant?: 'default' | 'destructive'\r\n}) {\r\n return (\r\n <DropdownMenuPrimitive.Item\r\n data-slot=\"dropdown-menu-item\"\r\n data-inset={inset}\r\n data-variant={variant}\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*=\\'text-\\'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuCheckboxItem({\r\n className,\r\n children,\r\n checked,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\r\n return (\r\n <DropdownMenuPrimitive.CheckboxItem\r\n data-slot=\"dropdown-menu-checkbox-item\"\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\r\n className\r\n )}\r\n checked={checked}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <DropdownMenuPrimitive.ItemIndicator>\r\n <CheckIcon className=\"size-4\" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </DropdownMenuPrimitive.CheckboxItem>\r\n );\r\n}\r\n\r\nfunction DropdownMenuRadioGroup({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\r\n return (\r\n <DropdownMenuPrimitive.RadioGroup\r\n data-slot=\"dropdown-menu-radio-group\"\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuRadioItem({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\r\n return (\r\n <DropdownMenuPrimitive.RadioItem\r\n data-slot=\"dropdown-menu-radio-item\"\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <DropdownMenuPrimitive.ItemIndicator>\r\n <CircleIcon className=\"size-2 fill-current\" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </DropdownMenuPrimitive.RadioItem>\r\n );\r\n}\r\n\r\nfunction DropdownMenuLabel({\r\n className,\r\n inset,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\r\n inset?: boolean\r\n}) {\r\n return (\r\n <DropdownMenuPrimitive.Label\r\n data-slot=\"dropdown-menu-label\"\r\n data-inset={inset}\r\n className={cn(\r\n 'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\r\n return (\r\n <DropdownMenuPrimitive.Separator\r\n data-slot=\"dropdown-menu-separator\"\r\n className={cn('bg-border -mx-1 my-1 h-px', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<'span'>) {\r\n return (\r\n <span\r\n data-slot=\"dropdown-menu-shortcut\"\r\n className={cn(\r\n 'text-muted-foreground ml-auto text-xs tracking-widest',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuSub({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\r\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\r\n}\r\n\r\nfunction DropdownMenuSubTrigger({\r\n className,\r\n inset,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\r\n inset?: boolean\r\n}) {\r\n return (\r\n <DropdownMenuPrimitive.SubTrigger\r\n data-slot=\"dropdown-menu-sub-trigger\"\r\n data-inset={inset}\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronRightIcon className=\"ml-auto size-4\" />\r\n </DropdownMenuPrimitive.SubTrigger>\r\n );\r\n}\r\n\r\nfunction DropdownMenuSubContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\r\n return (\r\n <DropdownMenuPrimitive.SubContent\r\n data-slot=\"dropdown-menu-sub-content\"\r\n className={cn(\r\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n DropdownMenu,\r\n DropdownMenuPortal,\r\n DropdownMenuTrigger,\r\n DropdownMenuContent,\r\n DropdownMenuGroup,\r\n DropdownMenuLabel,\r\n DropdownMenuItem,\r\n DropdownMenuCheckboxItem,\r\n DropdownMenuRadioGroup,\r\n DropdownMenuRadioItem,\r\n DropdownMenuSeparator,\r\n DropdownMenuShortcut,\r\n DropdownMenuSub,\r\n DropdownMenuSubTrigger,\r\n DropdownMenuSubContent,\r\n};\r\n","'use client';\r\n\r\nimport { ChevronDown } from 'lucide-react';\r\n\r\nimport {\r\n DropdownMenu,\r\n DropdownMenuContent,\r\n DropdownMenuItem,\r\n DropdownMenuTrigger,\r\n} from '@/components/ui/dropdown-menu';\r\nimport { TabsProps } from '@/types/global';\r\n\r\nconst Tabs = ({ tabs, className, style, pathname, LinkComponent }: TabsProps) => {\r\n const rawTabs = Array.isArray(tabs) ? tabs : [];\r\n const baseClasses =\r\n 'text-[12px] text-[#E9E9E9] p-2 text-center rounded-md transition-colors border-none outline-none focus:outline-none focus:ring-0 focus:ring-offset-0 cursor-pointer select-none ';\r\n const activeClasses = 'bg-white/10 text-white';\r\n const hoverClasses = 'hover:bg-white/5';\r\n\r\n const isActive = (path?: string) => {\r\n if (!path) return false;\r\n return pathname === path || (path !== '/' && pathname?.startsWith(path));\r\n };\r\n\r\n return (\r\n <div className={className} style={style}>\r\n {rawTabs.map((tab: any, index: number) => {\r\n const finalClasses = [\r\n baseClasses,\r\n isActive(tab.href) ? activeClasses : hoverClasses,\r\n tab.className || '',\r\n ].join(' ');\r\n\r\n const hasDropdown = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;\r\n\r\n if (hasDropdown) {\r\n return (\r\n <DropdownMenu key={index}>\r\n <DropdownMenuTrigger\r\n className={`${finalClasses} inline-flex items-center gap-1`}\r\n >\r\n {tab.header}\r\n <ChevronDown className=\"h-4 w-4 opacity-80\" />\r\n </DropdownMenuTrigger>\r\n\r\n <DropdownMenuContent\r\n align=\"start\"\r\n sideOffset={6}\r\n className=\"z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg\"\r\n >\r\n {tab.children.map((item: any) => (\r\n <DropdownMenuItem\r\n key={item.id}\r\n asChild\r\n className=\"cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100\"\r\n >\r\n {LinkComponent ? (\r\n <LinkComponent href={item.href || '#'}>{item.header}</LinkComponent>\r\n ) : (\r\n item.header\r\n )}\r\n </DropdownMenuItem>\r\n ))}\r\n </DropdownMenuContent>\r\n </DropdownMenu>\r\n );\r\n }\r\n\r\n return tab.url && LinkComponent ? (\r\n <LinkComponent key={index} href={tab.url} className={finalClasses} style={style}>\r\n {tab.header}\r\n </LinkComponent>\r\n ) : (\r\n <div key={index} className={finalClasses} style={style} role=\"button\" tabIndex={0}>\r\n {tab.header}\r\n </div>\r\n );\r\n })}\r\n\r\n </div>\r\n );\r\n};\r\n\r\nexport default Tabs;\r\n","'use client';\r\n\r\nimport { StagesProps } from '@/types/global';\r\nimport React from 'react';\r\n\r\nconst StagesComponent = ({ stages, isShowBtn, buttonText, className, style }: StagesProps) => {\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <div className=\"flex items-center justify-between bg-gray-50 p-2 rounded-lg border border-gray-200 w-full\">\r\n <div className=\"flex items-center\">\r\n <button className=\"p-2 hover:bg-gray-100 rounded\">\r\n <svg className=\"w-4 h-4 text-gray-600\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <div className=\"flex items-center flex-1 px-2\">\r\n {stages?.length > 0 && stages?.map((stage: any, index: number) => (\r\n <React.Fragment key={stage.id}>\r\n <button\r\n className={`\r\n min-w-[120px] px-4 py-2 rounded-full text-sm font-medium transition-colors duration-200 whitespace-nowrap ${stage.isActive ? 'bg-[#034486] text-white shadow-md' : 'bg-white text-gray-700 hover:bg-gray-100 border border-gray-200'}`}\r\n >\r\n {stage.header}\r\n </button>\r\n\r\n {index < stages.length - 1 && (\r\n <div className=\"flex-shrink-0 w-3 h-px bg-gray-300\"></div>\r\n )}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n\r\n {isShowBtn && (\r\n <div className=\"flex items-center\">\r\n <button className=\"bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm\">\r\n {buttonText}\r\n </button>\r\n </div>\r\n )}\r\n\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default StagesComponent;\r\n","'use client';\r\n\r\nimport { ElementProps } from \"@/types/global\";\r\n\r\nconst Spacer = ({ className, style }: ElementProps) => {\r\n return (\r\n <div className={`${className}`} style={style} />\r\n );\r\n};\r\n\r\nexport default Spacer;\r\n","'use client';\r\n\r\nimport { ProfileProps } from \"@/types/global\";\r\n\r\nconst Profile = ({ profileType, showName, userName, className, style }: ProfileProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n <div className='flex gap-2 items-center justify-between w-30 cursor-pointer'>\r\n {showName && (\r\n <h4 className='text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0'>{userName}</h4>\r\n )}\r\n {profileType === 'avatar' ? (\r\n <img\r\n src='https://builder.development.algorithmshift.ai/images/toolset/profile.svg' alt=\"auto\" width={24} height={24}\r\n />\r\n ) : (\r\n <div className='w-6 h-6 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center'>A</div>\r\n )}\r\n\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Profile;\r\n","'use client';\r\n\r\nimport { NotificationProps } from \"@/types/global\";\r\n\r\nconst Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhenZero }: NotificationProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n <div className='w-[34px] h-[34px] bg-[#E9E9E9] rounded-md text-center flex items-center justify-center relative'>\r\n <img\r\n src='https://builder.development.algorithmshift.ai/images/toolset/notification.svg' alt=\"auto\" width={18} height={18}\r\n />\r\n {badgeType === 'number' && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? (\r\n <span className='text-[10px] text-[#fff] bg-[#FF4A4A] w-[20px] h-[20px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]'>{badgeCount}</span>\r\n ) : <span className='bg-[#FF4A4A] w-[10px] h-[10px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]'></span>}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Notification;\r\n","import { cn } from '@/lib/utils';\r\nimport { LogoProps } from '@/types/global';\r\nimport placeholder from \"../../../assets/logo_placeholder.png\";\r\n\r\nconst Logo = ({\r\n className,\r\n style,\r\n imageUrl,\r\n altText = 'Preview',\r\n}: LogoProps) => {\r\n\r\n if (!imageUrl) {\r\n return (\r\n <div\r\n className={cn(\r\n className, 'p-0'\r\n )} style={style}\r\n >\r\n <img src={placeholder} alt={altText} className=\"opacity-50\" width={150} height={80} />\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <img src={imageUrl} alt={altText} className={className} style={style} />\r\n );\r\n};\r\n\r\nexport default Logo;\r\n"],"mappings":"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","names":["Textarea","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","React","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","Textarea","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","PhoneInputField","React","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","React","React","React","import_jsx_runtime","Calendar","className","props","import_jsx_runtime","import_jsx_runtime","Calendar","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Table","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/ui/button.tsx","../src/lib/utils.ts","../src/components/Layout/Flex.tsx","../src/components/Layout/Grid.tsx","../src/components/Basic/Typography/Typography.tsx","../src/components/Basic/Shape/Shape.tsx","../src/components/Basic/Image/Image.tsx","../src/components/Inputs/TextInput/TextInput.tsx","../src/components/ui/input.tsx","../src/components/Inputs/NumberInput/NumberInput.tsx","../node_modules/shared/src/utils.ts","../node_modules/lucide-react/src/defaultAttributes.ts","../node_modules/lucide-react/src/Icon.ts","../node_modules/lucide-react/src/createLucideIcon.ts","../node_modules/lucide-react/src/icons/calculator.ts","../node_modules/lucide-react/src/icons/calendar.ts","../node_modules/lucide-react/src/icons/check.ts","../node_modules/lucide-react/src/icons/chevron-down.ts","../node_modules/lucide-react/src/icons/chevron-left.ts","../node_modules/lucide-react/src/icons/chevron-right.ts","../node_modules/lucide-react/src/icons/chevron-up.ts","../node_modules/lucide-react/src/icons/circle.ts","../node_modules/lucide-react/src/icons/mail.ts","../node_modules/lucide-react/src/icons/scan-eye.ts","../node_modules/lucide-react/src/icons/search.ts","../src/components/Inputs/EmailInput/EmailInput.tsx","../src/components/Inputs/PasswordInput/PasswordInput.tsx","../src/components/Inputs/Textarea/Textarea.tsx","../src/components/ui/textarea.tsx","../src/components/Inputs/UrlInput/UrlInput.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/label.tsx","../src/components/Inputs/Checkbox/Checkbox.tsx","../src/components/ui/radio-group.tsx","../src/components/Inputs/RadioInput/RadioInput.tsx","../src/components/Inputs/MultiCheckbox/MultiCheckbox.tsx","../src/components/Global/TinyMceEditor.tsx","../src/components/Inputs/RichText/RichText.tsx","../src/components/Inputs/Dropdown/Dropdown.tsx","../src/components/ui/select.tsx","../src/components/Global/SelectDropdown.tsx","../src/components/ui/switch.tsx","../src/components/Inputs/SwitchToggle/SwitchToggle.tsx","../src/components/Inputs/PhoneInput/PhoneInput.tsx","../src/components/Inputs/SearchInput/SearchInput.tsx","../src/components/Inputs/FileInput/FileInput.tsx","../src/components/Inputs/DatePicker/DatePicker.tsx","../src/components/Inputs/DateRange/DateRange.tsx","../src/components/ui/calendar.tsx","../src/components/ui/popover.tsx","../src/components/ui/data-table.tsx","../src/components/ui/table.tsx","../src/components/DataDisplay/Table/Table.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/Navigation/Tabs/Tabs.tsx","../src/components/Navigation/Stages/Stages.tsx","../src/components/Navigation/Spacer/Spacer.tsx","../src/components/Navigation/Profile/Profile.tsx","../src/components/Navigation/Notification/Notification.tsx","../src/components/Navigation/Logo/Logo.tsx"],"sourcesContent":["import './global.css'\r\n\r\nexport * from \"@/components\";\r\nexport * from \"@/lib/utils\";\r\n","import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst buttonVariants = cva(\r\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\r\n destructive:\r\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\r\n outline:\r\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\r\n secondary:\r\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\r\n ghost:\r\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\r\n link: \"text-primary underline-offset-4 hover:underline\",\r\n },\r\n size: {\r\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\r\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\r\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\r\n icon: \"size-9\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"default\",\r\n },\r\n }\r\n)\r\n\r\nfunction Button({\r\n className,\r\n variant,\r\n size,\r\n asChild = false,\r\n ...props\r\n}: React.ComponentProps<\"button\"> &\r\n VariantProps<typeof buttonVariants> & {\r\n asChild?: boolean\r\n }) {\r\n const Comp = asChild ? Slot : \"button\"\r\n\r\n return (\r\n <Comp\r\n data-slot=\"button\"\r\n className={cn(buttonVariants({ variant, size, className }))}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Button, buttonVariants }\r\n","import { clsx, type ClassValue } from \"clsx\"\r\nimport { twMerge } from \"tailwind-merge\"\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}","import { ElementProps } from \"@/types/global\";\r\n\r\nconst Flex = ({\r\n children, className, style\r\n}: ElementProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Flex;\r\n","import { ElementProps } from \"@/types/global\";\r\n\r\nconst Grid = ({\r\n children, className, style\r\n}: ElementProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Grid;\r\n","import React from 'react';\r\n\r\nimport { cn } from '@/lib/utils';\r\nimport { TypographyProps } from '@/types/global';\r\n\r\nconst Typography = ({\r\n className,\r\n style,\r\n tagName,\r\n textContent,\r\n}: TypographyProps) => {\r\n\r\n const Tag = tagName || 'h1';\r\n\r\n return React.createElement(\r\n Tag,\r\n {\r\n style,\r\n className: cn(className, 'pointer-events-auto'),\r\n },\r\n [\r\n React.createElement('span', {\r\n key: 'html',\r\n className: 'pointer-events-none',\r\n dangerouslySetInnerHTML: { __html: textContent },\r\n })\r\n ]\r\n );\r\n};\r\n\r\nexport default Typography;\r\n","import { ElementProps } from '@/types/global';\r\n\r\nconst Shape = ({\r\n children,\r\n className, \r\n style\r\n}: ElementProps) => {\r\n\r\n return (\r\n <div className={className} style={style}>\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Shape;\r\n","import { cn } from '@/lib/utils';\r\nimport { ImageProps } from '@/types/global';\r\nimport placeholder from \"../../../assets/image-placeholder.png\";\r\n\r\nconst ImageControl = ({\r\n className,\r\n style, \r\n imageUrl,\r\n imageUrlExternal,\r\n altText = 'Preview',\r\n}: ImageProps) => {\r\n\r\n const imageClass = cn(\r\n 'h-[200px] w-[200px] border-1',\r\n 'border-2 border-dashed border-gray-400 flex items-center justify-center cursor-pointer hover:border-blue-500 transition',\r\n );\r\n\r\n const defaultImgClass = cn(\r\n 'w-full h-full',\r\n className\r\n );\r\n\r\n if (!imageUrl && !imageUrlExternal) {\r\n return (\r\n <div className={imageClass}>\r\n <img src={placeholder} alt={altText} className=\"opacity-50\" width={50} height={50} />\r\n </div>\r\n )\r\n }\r\n\r\n const url = imageUrlExternal || imageUrl;\r\n\r\n return (\r\n <img src={url} alt={altText} className={defaultImgClass} style={style} />\r\n );\r\n};\r\n\r\nexport default ImageControl;\r\n","import * as React from 'react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { TextInputProps } from '@/types/global';\r\n\r\nconst TextInput = ({ className, style, ...props }: TextInputProps) => {\r\n\r\n const placeholder = props.placeholder || 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <Input\r\n type=\"text\"\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { TextInput };","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","import * as React from 'react';\r\n\r\nimport { Calculator } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { NumberInputProps } from '@/types/global';\r\n\r\nconst NumberInput = ({ className, style, ...props }: NumberInputProps) => {\r\n\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Calculator className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"number\"\r\n id={'number-field'}\r\n value={value}\r\n className={className}\r\n style={style}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { NumberInput };","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '16', height: '20', x: '4', y: '2', rx: '2', key: '1nb95v' }],\n ['line', { x1: '8', x2: '16', y1: '6', y2: '6', key: 'x4nwl0' }],\n ['line', { x1: '16', x2: '16', y1: '14', y2: '18', key: 'wjye3r' }],\n ['path', { d: 'M16 10h.01', key: '1m94wz' }],\n ['path', { d: 'M12 10h.01', key: '1nrarc' }],\n ['path', { d: 'M8 10h.01', key: '19clt8' }],\n ['path', { d: 'M12 14h.01', key: '1etili' }],\n ['path', { d: 'M8 14h.01', key: '6423bh' }],\n ['path', { d: 'M12 18h.01', key: 'mhygvu' }],\n ['path', { d: 'M8 18h.01', key: 'lrp35t' }],\n];\n\n/**\n * @component @name Calculator\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/calculator\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Calculator = createLucideIcon('calculator', __iconNode);\n\nexport default Calculator;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M8 2v4', key: '1cmpym' }],\n ['path', { d: 'M16 2v4', key: '4m81vk' }],\n ['rect', { width: '18', height: '18', x: '3', y: '4', rx: '2', key: '1hopcy' }],\n ['path', { d: 'M3 10h18', key: '8toen8' }],\n];\n\n/**\n * @component @name Calendar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/calendar\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Calendar = createLucideIcon('calendar', __iconNode);\n\nexport default Calendar;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]];\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('chevron-left', __iconNode);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]];\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('chevron-right', __iconNode);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm18 15-6-6-6 6', key: '153udz' }]];\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-up\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronUp = createLucideIcon('chevron-up', __iconNode);\n\nexport default ChevronUp;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7', key: '132q7q' }],\n ['rect', { x: '2', y: '4', width: '20', height: '16', rx: '2', key: 'izxlao' }],\n];\n\n/**\n * @component @name Mail\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/mail\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Mail = createLucideIcon('mail', __iconNode);\n\nexport default Mail;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M3 7V5a2 2 0 0 1 2-2h2', key: 'aa7l1z' }],\n ['path', { d: 'M17 3h2a2 2 0 0 1 2 2v2', key: '4qcy5o' }],\n ['path', { d: 'M21 17v2a2 2 0 0 1-2 2h-2', key: '6vwrx8' }],\n ['path', { d: 'M7 21H5a2 2 0 0 1-2-2v-2', key: 'ioqczr' }],\n ['circle', { cx: '12', cy: '12', r: '1', key: '41hilf' }],\n [\n 'path',\n {\n d: 'M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0',\n key: '11ak4c',\n },\n ],\n];\n\n/**\n * @component @name ScanEye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/scan-eye\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ScanEye = createLucideIcon('scan-eye', __iconNode);\n\nexport default ScanEye;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm21 21-4.34-4.34', key: '14j7rj' }],\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n];\n\n/**\n * @component @name Search\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/search\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Search = createLucideIcon('search', __iconNode);\n\nexport default Search;\n","import * as React from 'react';\r\n\r\nimport { Mail } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { EmailInputProps } from '@/types/global';\r\n\r\nconst EmailInput = ({ className, style, ...props }: EmailInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Mail className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"email\"\r\n value={value}\r\n className={className}\r\n style={style}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { EmailInput };","import * as React from 'react';\r\n\r\nimport { ScanEye } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { PasswordInputProps } from '@/types/global';\r\n\r\nconst PasswordInput = ({ className, style, ...props }: PasswordInputProps) => {\r\n\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <ScanEye className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"password\"\r\n id={'password-field'}\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { PasswordInput };","import * as React from 'react';\r\n\r\nimport { Textarea as TextareaInput } from '@/components/ui/textarea';\r\nimport { TextAreaProps } from '@/types/global';\r\n\r\nconst Textarea = ({ className, style, ...props }: TextAreaProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <TextareaInput\r\n id={'textarea-field'}\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n />\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { Textarea };","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","\r\nimport * as React from 'react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { UrlInputProps } from '@/types/global';\r\n\r\nconst UrlInput = ({ className, style, ...props }: UrlInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <div className=\"bg-[#E9E9E9] absolute px-10 text-center top-1/2 h-full justify-center items-center flex w-10 -translate-y-1/2 text-[#383838] font-[500] text-[12px]\">\r\n https://\r\n </div>\r\n <Input\r\n type=\"url\"\r\n className={className}\r\n style={style}\r\n id={'url-field'}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { UrlInput };","import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { CheckIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","import { Checkbox } from '@/components/ui/checkbox';\r\nimport { Label } from '@/components/ui/label';\r\nimport { CheckboxInputProps } from '@/types/global';\r\n\r\nconst CheckboxInput = ({ className, style, ...props }: CheckboxInputProps) => {\r\n const text = props.text ? props.text : 'Subscribe';\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <div className=\"flex items-center space-x-2\">\r\n <Checkbox id=\"newsletter\" />\r\n <Label htmlFor=\"newsletter\">{text}</Label>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport { CheckboxInput };","import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { CircleIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n","import { Label } from '@/components/ui/label';\r\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\r\nimport { RadioInputProps } from '@/types/global';\r\n\r\nconst RadioInput = ({ className, style, ...props }: RadioInputProps) => {\r\n const text = Array.isArray(props.text)\r\n ? props.text\r\n : [props.text ?? 'Subscribe'];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <RadioGroup defaultValue=\"option-1\">\r\n {text?.map((item: string, index: number) => (\r\n <div className=\"flex items-center space-x-2\" key={index}>\r\n <RadioGroupItem value={item} id={`r${index}`} />\r\n <Label htmlFor={`r${index}`}>{item}</Label>\r\n </div>\r\n ))}\r\n </RadioGroup>\r\n </div>\r\n );\r\n}\r\n\r\nexport { RadioInput };","import { Checkbox } from '@/components/ui/checkbox';\r\nimport { Label } from '@/components/ui/label';\r\nimport { MultiCheckboxInputProps } from '@/types/global';\r\n\r\nconst MultiCheckbox = ({ className, style, ...props }: MultiCheckboxInputProps) => {\r\n const text = Array.isArray(props.text)\r\n ? props.text\r\n : [props.text ?? 'Subscribe'];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <div className=\"flex gap-3 flex-col\">\r\n {text?.map((item: string, index: number) => (\r\n <div className=\"flex items-center space-x-2\" key={index}>\r\n <Checkbox id={`newsletter-${index}`} />\r\n <Label htmlFor={`newsletter-${index}`}>{item}</Label>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport { MultiCheckbox };","'use client';\r\n\r\nimport { useMemo, useRef } from 'react';\r\n\r\nimport { Editor } from '@tinymce/tinymce-react';\r\n\r\nexport default function MyEditor({\r\n value,\r\n onChange,\r\n isDefault\r\n}: {\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n isDefault?: boolean;\r\n}) {\r\n const editorRef = useRef<any>(null);\r\n\r\n function stripOuterP(html: string): string {\r\n const trimmedHtml = html.trim();\r\n if (!trimmedHtml) return '';\r\n const div = document.createElement('div');\r\n div.innerHTML = trimmedHtml;\r\n const firstChild = div.firstElementChild;\r\n if (div.childElementCount === 1 && firstChild?.tagName === 'P') {\r\n return firstChild.innerHTML;\r\n }\r\n return trimmedHtml;\r\n }\r\n\r\n const isDefaultToolbar = useMemo(() => {\r\n let toolbar = 'undo redo | formatselect | bold italic forecolor';\r\n if (isDefault) {\r\n toolbar = 'undo redo | blocks | ' +\r\n 'bold italic forecolor | alignleft aligncenter ' +\r\n 'alignright alignjustify | bullist numlist outdent indent | ' +\r\n 'removeformat | help';\r\n }\r\n return toolbar;\r\n }, [isDefault]);\r\n\r\n return (\r\n <Editor\r\n apiKey={process.env.NEXT_PUBLIC_TINYMCE_API_KEY}\r\n tinymceScriptSrc={process.env.NEXT_PUBLIC_TINYMCE_SCRIPT_SRC}\r\n onInit={(_evt, editor) => (editorRef.current = editor)}\r\n value={value}\r\n licenseKey='gpl'\r\n init={{\r\n height: 300,\r\n menubar: false,\r\n forced_root_block: false,\r\n plugins: [\r\n 'advlist',\r\n 'autolink',\r\n 'lists',\r\n 'link',\r\n 'image',\r\n 'charmap',\r\n 'preview',\r\n 'anchor',\r\n 'searchreplace',\r\n 'visualblocks',\r\n 'code',\r\n 'fullscreen',\r\n 'insertdatetime',\r\n 'media',\r\n 'table',\r\n 'help',\r\n 'wordcount',\r\n ],\r\n toolbar: isDefaultToolbar,\r\n content_style: `\r\n body {\r\n outline: none;\r\n }\r\n `,\r\n }}\r\n onEditorChange={(content) => onChange?.(stripOuterP(content))}\r\n />\r\n );\r\n}\r\n","import TinyMceEditor from '@/components/Global/TinyMceEditor';\r\nimport { RichTextInputProps } from '@/types/global';\r\n\r\nexport default function RichText({ className, style }: RichTextInputProps) {\r\n return (\r\n <div className={className} style={style}>\r\n <TinyMceEditor isDefault={true} />\r\n </div>\r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\nimport SelectDropdown from '@/components/Global/SelectDropdown';\r\nimport { SelectDropdownInputProps } from '@/types/global';\r\n\r\nconst Dropdown = ({ className, style, ...props }: SelectDropdownInputProps) => {\r\n const text = Array.isArray(props.text) ? props.text : [props.text ?? 'Default'];\r\n const placeholder = props.placeholder ? props.placeholder : 'Placeholder text';\r\n const formatList = text.map((item: any) => ({\r\n label: item || 'value1',\r\n value: item\r\n }));\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (val: string) => {\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex gap-3 flex-col\">\r\n <SelectDropdown\r\n options={formatList}\r\n placeholder={placeholder}\r\n id={'select-field'}\r\n value={value}\r\n className={className}\r\n style={style}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { Dropdown };","import * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","'use client';\r\n\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '@/components/ui/select';\r\n\r\ninterface Option {\r\n label: string;\r\n value: string;\r\n}\r\n\r\ninterface SelectDropdownProps {\r\n options: Option[];\r\n placeholder?: string;\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n className?: string;\r\n style?: React.CSSProperties;\r\n id?: string;\r\n autoComplete?: string;\r\n disabled?: boolean;\r\n readOnly?: boolean;\r\n required?: boolean;\r\n pattern?: string;\r\n}\r\n\r\nexport default function SelectDropdown({\r\n options,\r\n placeholder = 'Select an option',\r\n value,\r\n onChange,\r\n className,\r\n id,\r\n disabled,\r\n readOnly,\r\n style\r\n}: SelectDropdownProps) {\r\n return (\r\n <Select value={value} onValueChange={onChange} disabled={disabled}>\r\n <SelectTrigger\r\n id={id}\r\n className={className}\r\n style={style ?? {}}\r\n aria-readonly={readOnly}\r\n >\r\n <SelectValue placeholder={placeholder} />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {options.map((opt) => (\r\n <SelectItem key={opt.value} value={opt.value}>\r\n {opt.label}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n );\r\n}\r\n","import * as React from \"react\"\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n \"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n","import { Label } from '@/components/ui/label';\r\nimport { Switch } from '@/components/ui/switch';\r\nimport { SwitchToggleInputProps } from '@/types/global';\r\n\r\nconst SwitchToggle = ({ className, style, ...props }: SwitchToggleInputProps) => {\r\n const text = Array.isArray(props.text)\r\n ? props.text\r\n : [props.text ?? 'Subscribe'];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n {text?.map((item: string, index: number) => (\r\n <div className=\"flex items-center space-x-2 mb-2\" key={index}>\r\n <Switch id={`switch-${index}`} />\r\n <Label htmlFor={`switch-${index}`}>{item}</Label>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport { SwitchToggle }","import { PhoneInputProps } from '@/types/global';\r\nimport * as React from 'react';\r\n\r\nimport { PhoneInput as PhoneInputField } from 'react-international-phone';\r\nimport 'react-international-phone/style.css';\r\n\r\nconst PhoneInput = ({ className, style, ...props }: PhoneInputProps) => {\r\n const placeholder = props.placeholder ?? 'Enter phone number';\r\n\r\n const [value, setValue] = React.useState('');\r\n\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (val: any) => {\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <PhoneInputField\r\n defaultCountry=\"in\"\r\n value={value}\r\n onChange={(phone: string) => handleChange(phone)}\r\n inputProps={{\r\n id: 'phone-field',\r\n required: isRequired,\r\n }}\r\n placeholder={placeholder}\r\n disabled={isDisabled || !isEditable}\r\n required={isRequired}\r\n className={className}\r\n style={style}\r\n />\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { PhoneInput };","import * as React from 'react';\r\n\r\nimport { Search } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { SearchInputProps } from '@/types/global';\r\n\r\nconst SearchInput = ({ className, style, ...props }: SearchInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n // Controls\r\n const regexPattern = props.regexPattern ?? '';\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const noOfCharacters = props.noOfCharacters ?? 100;\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n if (val.length > noOfCharacters) return;\r\n setValue(val);\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else if (regexPattern && !new RegExp(regexPattern).test(val)) {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"text\"\r\n id={'text-field'}\r\n className={className}\r\n style={style}\r\n value={value}\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n placeholder={placeholder}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n maxLength={noOfCharacters}\r\n pattern={regexPattern || undefined}\r\n />\r\n </div>\r\n\r\n {error && (\r\n <p className=\"mt-1 text-xs text-red-500\">{error}</p>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport { SearchInput };","import { Input } from '@/components/ui/input';\r\nimport { FileInputProps } from '@/types/global';\r\n\r\nconst FileInput = ({ className, style, ...props }: FileInputProps) => {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n return (\r\n <div className=\"d-flex items-center relative align-middle\">\r\n <div className=\"bg-[#E9E9E9] absolute px-10 text-center top-1/2 h-full justify-center items-center flex w-10 -translate-y-1/2 text-[#383838] font-[500] text-[11px]\">\r\n Browse\r\n </div>\r\n <Input\r\n type=\"file\"\r\n id=\"file\"\r\n autoComplete=\"off\"\r\n placeholder={placeholder}\r\n className={className}\r\n style={style}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport { FileInput };","'use client';\r\nimport React from 'react';\r\n\r\nimport { Calendar } from 'lucide-react';\r\n\r\nimport { Input } from '@/components/ui/input';\r\nimport { DatePickerInputProps } from '@/types/global';\r\n\r\nexport default function DatePicker({ className, style, ...props }: DatePickerInputProps) {\r\n const placeholder = props.placeholder ?? 'Placeholder text';\r\n\r\n // Controls (now option objects)\r\n const minimumDate = props.minimumDate ?? 'none';\r\n const customMinimumDate = props.customMinimumDate ?? '';\r\n\r\n const maximumDate = props.maximumDate ?? 'none';\r\n const customMaximumDate = props.customMaximumDate ?? '';\r\n\r\n const errorMessage = props.errorMessage ?? 'Required';\r\n const isRequired = props.isRequired ?? false;\r\n const isEditable = props.isEditable ?? true;\r\n const isDisabled = props.isDisabled ?? false;\r\n const isReadonly = props.isReadonly ?? false;\r\n const isAutocomplete = props.isAutocomplete ?? false;\r\n\r\n const [value, setValue] = React.useState('');\r\n const [error, setError] = React.useState<string | null>(null);\r\n\r\n const resolveDate = (option: any, customOption?: any): string | undefined => {\r\n if (!option) return undefined;\r\n\r\n switch (option) {\r\n case 'today':\r\n return new Date().toISOString().split('T')[0];\r\n case 'custom':\r\n return customOption ?? undefined;\r\n case 'none':\r\n default:\r\n return undefined;\r\n }\r\n };\r\n\r\n const minDate = resolveDate(minimumDate, customMinimumDate);\r\n const maxDate = resolveDate(maximumDate, customMaximumDate);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val = e.target.value;\r\n setValue(val);\r\n\r\n if (isRequired && val.trim() === '') {\r\n setError(errorMessage);\r\n } else {\r\n setError(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-start items-center relative\">\r\n <Calendar className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]\" />\r\n <Input\r\n type=\"date\"\r\n id=\"date\"\r\n autoComplete={isAutocomplete ? 'on' : 'off'}\r\n onChange={handleChange}\r\n disabled={isDisabled || !isEditable}\r\n value={value}\r\n readOnly={isReadonly}\r\n required={isRequired}\r\n placeholder={placeholder}\r\n min={minDate}\r\n max={maxDate}\r\n className={className}\r\n style={style}\r\n />\r\n </div>\r\n\r\n {error && <p className=\"mt-1 text-xs text-red-500\">{error}</p>}\r\n </>\r\n );\r\n}\r\n","\r\n'use client';\r\nimport * as React from 'react';\r\n\r\nimport { addDays, format } from 'date-fns';\r\nimport { DateRange as DateRangeProps } from 'react-day-picker';\r\n\r\nimport { Button } from '@/components/ui/button';\r\nimport { Calendar } from '@/components/ui/calendar';\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from '@/components/ui/popover';\r\nimport { cn } from '@/lib/utils';\r\nimport { DateRangeInputProps } from '@/types/global';\r\n\r\nconst DateRange = ({ className, style }: DateRangeInputProps) => {\r\n const [date, setDate] = React.useState<DateRangeProps | undefined>({\r\n from: new Date(),\r\n to: addDays(new Date(), 7),\r\n });\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n id=\"date\"\r\n variant={'outline'}\r\n className={cn(\r\n 'w-[300px] justify-start text-left font-normal text-[11px]',\r\n !date && 'text-muted-foreground'\r\n )}\r\n >\r\n {date?.from ? (\r\n date.to ? (\r\n <>\r\n {format(date.from, 'LLL dd, y')} -{' '}\r\n {format(date.to, 'LLL dd, y')}\r\n </>\r\n ) : (\r\n format(date.from, 'LLL dd, y')\r\n )\r\n ) : (\r\n <span>Pick a date range</span>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n <Calendar\r\n mode=\"range\"\r\n defaultMonth={date?.from}\r\n selected={date}\r\n onSelect={setDate}\r\n numberOfMonths={2}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n </div>\r\n );\r\n}\r\n\r\nexport default DateRange;","import * as React from \"react\"\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\"\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button, buttonVariants } from \"@/components/ui/button\"\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n )\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n )\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n )\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n","import * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n","'use client';\r\nimport {\r\n ColumnDef,\r\n flexRender,\r\n getCoreRowModel,\r\n useReactTable,\r\n} from '@tanstack/react-table';\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n} from '@/components/ui/table';\r\n\r\ninterface DataTableProps<TData, TValue> {\r\n columns: ColumnDef<TData, TValue>[]\r\n data: TData[],\r\n rowActions: { header: string; onClick: (row: TData) => void }[],\r\n loading?: boolean,\r\n getRowSelection?: (rowSelection: Record<string, boolean>) => void,\r\n onCellClick?: (cellData: TData, columnId: string) => void;\r\n cellClickEnabled?: (cellData: TData, columnId: string) => boolean;\r\n}\r\n\r\nexport function DataTable<TData, TValue>({\r\n columns,\r\n rowActions,\r\n data,\r\n loading,\r\n getRowSelection,\r\n onCellClick,\r\n cellClickEnabled = () => false,\r\n}: DataTableProps<TData, TValue>) {\r\n const table = useReactTable({\r\n data,\r\n columns,\r\n enableRowSelection: true,\r\n onRowSelectionChange: getRowSelection\r\n ? (updaterOrValue) => {\r\n const value =\r\n typeof updaterOrValue === 'function'\r\n ? updaterOrValue(table.getState().rowSelection)\r\n : updaterOrValue;\r\n getRowSelection(value);\r\n }\r\n : undefined,\r\n getCoreRowModel: getCoreRowModel(),\r\n });\r\n\r\n const handleCellClick = (rowData: TData, columnId: string) => {\r\n if (onCellClick) {\r\n onCellClick(rowData, columnId);\r\n }\r\n };\r\n\r\n return (\r\n <div className=\"overflow-hidden rounded-md border w-full\">\r\n <Table>\r\n <TableHeader>\r\n {table.getHeaderGroups().map((headerGroup) => (\r\n <TableRow key={headerGroup.id}>\r\n {headerGroup.headers.map((header) => {\r\n return (\r\n <TableHead key={header.id}>\r\n {header.isPlaceholder\r\n ? null\r\n : flexRender(\r\n header.column.columnDef.header,\r\n header.getContext()\r\n )}\r\n </TableHead>\r\n );\r\n })}\r\n </TableRow>\r\n ))}\r\n </TableHeader>\r\n <TableBody>\r\n {loading ? (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} className=\"h-24 text-center\">\r\n Loading...\r\n </TableCell>\r\n </TableRow>\r\n ) : (\r\n <>\r\n {table.getRowModel().rows?.length ? (\r\n table.getRowModel().rows.map((row) => (\r\n <TableRow\r\n key={row.id}\r\n data-state={row.getIsSelected() && 'selected'}\r\n className='relative group'\r\n >\r\n {row.getVisibleCells().map((cell) => {\r\n const isCellClickable = cellClickEnabled(row.original, cell.column.id);\r\n const dynamicClass = (cell.column.columnDef.meta as any)?.cellClass || '';\r\n const dynamicStyle = (cell.column.columnDef.meta as any)?.cellStyle || {};\r\n\r\n return (\r\n <TableCell\r\n key={cell.id}\r\n className={`${dynamicClass} ${isCellClickable ? 'underline cursor-pointer' : ''}`}\r\n style={dynamicStyle}\r\n onClick={() => {\r\n if (isCellClickable) {\r\n handleCellClick(row.original, cell.column.id);\r\n }\r\n }}\r\n >\r\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\r\n </TableCell>\r\n );\r\n })}\r\n {rowActions.length > 0 && (\r\n <div className='absolute top-0 right-0 bg-white py-3 min-w-[100px] z-50 shadow-md flex items-center justify-center gap-3 p-2 opacity-0 group-hover:opacity-100 duration-300 h-full'>\r\n {rowActions.map((action, index) => (\r\n <p key={index} className='text-[#383838] text-[12px] cursor-pointer font-[400]'>{action.header}</p>\r\n ))}\r\n </div>\r\n )}\r\n </TableRow>\r\n ))\r\n ) : (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} className=\"h-24 text-center\">\r\n No results.\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n );\r\n}","\r\nimport * as React from 'react';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\r\n return (\r\n <div\r\n data-slot=\"table-container\"\r\n className=\"relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white\"\r\n >\r\n <table\r\n data-slot=\"table\"\r\n className={cn('w-full text-sm', className)}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\r\n return (\r\n <thead\r\n data-slot=\"table-header\"\r\n className={cn(\r\n 'bg-gray-100 text-gray-700 [&>tr]:border-b [&>tr]:border-gray-200 [&>tr>th]:border-r [&>tr>th]:border-gray-200 [&>tr>th]:last:border-r-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\r\n return (\r\n <tbody\r\n data-slot=\"table-body\"\r\n className={cn(\r\n '[&>tr]:border-b [&>tr]:border-gray-200 [&>tr:last-child]:border-0 [&>tr>td]:border-r [&>tr>td]:border-gray-200 [&>tr>td]:last:border-r-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\r\n return (\r\n <tfoot\r\n data-slot=\"table-footer\"\r\n className={cn(\r\n 'bg-gray-50 border-t border-gray-200 font-medium [&>tr]:last:border-b-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\r\n return (\r\n <tr\r\n data-slot=\"table-row\"\r\n className={cn(\r\n 'border-b border-gray-200 hover:bg-gray-50 transition-colors',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\r\n return (\r\n <th\r\n data-slot=\"table-head\"\r\n className={cn(\r\n 'h-12 px-6 text-left align-middle font-semibold whitespace-nowrap',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\r\n return (\r\n <td\r\n data-slot=\"table-cell\"\r\n className={cn(\r\n 'px-6 py-4 align-middle text-gray-700',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction TableCaption({\r\n className,\r\n ...props\r\n}: React.ComponentProps<'caption'>) {\r\n return (\r\n <caption\r\n data-slot=\"table-caption\"\r\n className={cn('mt-4 text-sm text-gray-500', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Table,\r\n TableHeader,\r\n TableBody,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableCaption,\r\n};\r\n","\r\nimport { DataTable } from '@/components/ui/data-table';\r\nimport { TableProps } from '@/types/global';\r\n\r\nconst Table = ({ columns, data, rowActions, className, style }: TableProps) => {\r\n const rawColumns = Array.isArray(columns) ? columns : [];\r\n const rawData = Array.isArray(data) ? data : [];\r\n const rawRowActions = Array.isArray(rowActions) ? rowActions : [];\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <DataTable columns={rawColumns} data={rawData} rowActions={rawRowActions} />\r\n </div>\r\n );\r\n};\r\n\r\nexport default Table;\r\n","'use client';\r\n\r\nimport * as React from 'react';\r\n\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\nfunction DropdownMenu({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\r\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\r\n}\r\n\r\nfunction DropdownMenuPortal({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\r\n return (\r\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\r\n );\r\n}\r\n\r\nfunction DropdownMenuTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\r\n return (\r\n <DropdownMenuPrimitive.Trigger\r\n data-slot=\"dropdown-menu-trigger\"\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuContent({\r\n className,\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\r\n return (\r\n <DropdownMenuPrimitive.Portal>\r\n <DropdownMenuPrimitive.Content\r\n data-slot=\"dropdown-menu-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </DropdownMenuPrimitive.Portal>\r\n );\r\n}\r\n\r\nfunction DropdownMenuGroup({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\r\n return (\r\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\r\n );\r\n}\r\n\r\nfunction DropdownMenuItem({\r\n className,\r\n inset,\r\n variant = 'default',\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\r\n inset?: boolean\r\n variant?: 'default' | 'destructive'\r\n}) {\r\n return (\r\n <DropdownMenuPrimitive.Item\r\n data-slot=\"dropdown-menu-item\"\r\n data-inset={inset}\r\n data-variant={variant}\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*=\\'text-\\'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuCheckboxItem({\r\n className,\r\n children,\r\n checked,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\r\n return (\r\n <DropdownMenuPrimitive.CheckboxItem\r\n data-slot=\"dropdown-menu-checkbox-item\"\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\r\n className\r\n )}\r\n checked={checked}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <DropdownMenuPrimitive.ItemIndicator>\r\n <CheckIcon className=\"size-4\" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </DropdownMenuPrimitive.CheckboxItem>\r\n );\r\n}\r\n\r\nfunction DropdownMenuRadioGroup({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\r\n return (\r\n <DropdownMenuPrimitive.RadioGroup\r\n data-slot=\"dropdown-menu-radio-group\"\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuRadioItem({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\r\n return (\r\n <DropdownMenuPrimitive.RadioItem\r\n data-slot=\"dropdown-menu-radio-item\"\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <DropdownMenuPrimitive.ItemIndicator>\r\n <CircleIcon className=\"size-2 fill-current\" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </DropdownMenuPrimitive.RadioItem>\r\n );\r\n}\r\n\r\nfunction DropdownMenuLabel({\r\n className,\r\n inset,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\r\n inset?: boolean\r\n}) {\r\n return (\r\n <DropdownMenuPrimitive.Label\r\n data-slot=\"dropdown-menu-label\"\r\n data-inset={inset}\r\n className={cn(\r\n 'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\r\n return (\r\n <DropdownMenuPrimitive.Separator\r\n data-slot=\"dropdown-menu-separator\"\r\n className={cn('bg-border -mx-1 my-1 h-px', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<'span'>) {\r\n return (\r\n <span\r\n data-slot=\"dropdown-menu-shortcut\"\r\n className={cn(\r\n 'text-muted-foreground ml-auto text-xs tracking-widest',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DropdownMenuSub({\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\r\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\r\n}\r\n\r\nfunction DropdownMenuSubTrigger({\r\n className,\r\n inset,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\r\n inset?: boolean\r\n}) {\r\n return (\r\n <DropdownMenuPrimitive.SubTrigger\r\n data-slot=\"dropdown-menu-sub-trigger\"\r\n data-inset={inset}\r\n className={cn(\r\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronRightIcon className=\"ml-auto size-4\" />\r\n </DropdownMenuPrimitive.SubTrigger>\r\n );\r\n}\r\n\r\nfunction DropdownMenuSubContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\r\n return (\r\n <DropdownMenuPrimitive.SubContent\r\n data-slot=\"dropdown-menu-sub-content\"\r\n className={cn(\r\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n DropdownMenu,\r\n DropdownMenuPortal,\r\n DropdownMenuTrigger,\r\n DropdownMenuContent,\r\n DropdownMenuGroup,\r\n DropdownMenuLabel,\r\n DropdownMenuItem,\r\n DropdownMenuCheckboxItem,\r\n DropdownMenuRadioGroup,\r\n DropdownMenuRadioItem,\r\n DropdownMenuSeparator,\r\n DropdownMenuShortcut,\r\n DropdownMenuSub,\r\n DropdownMenuSubTrigger,\r\n DropdownMenuSubContent,\r\n};\r\n","'use client';\r\n\r\nimport { ChevronDown } from 'lucide-react';\r\n\r\nimport {\r\n DropdownMenu,\r\n DropdownMenuContent,\r\n DropdownMenuItem,\r\n DropdownMenuTrigger,\r\n} from '@/components/ui/dropdown-menu';\r\nimport { TabsProps } from '@/types/global';\r\n\r\nconst Tabs = ({ tabs, className, style, pathname, LinkComponent }: TabsProps) => {\r\n const rawTabs = Array.isArray(tabs) ? tabs : [];\r\n const baseClasses =\r\n 'text-[12px] text-[#E9E9E9] p-2 text-center rounded-md transition-colors border-none outline-none focus:outline-none focus:ring-0 focus:ring-offset-0 cursor-pointer select-none ';\r\n const activeClasses = 'bg-white/10 text-white';\r\n const hoverClasses = 'hover:bg-white/5';\r\n\r\n const isActive = (path?: string) => {\r\n if (!path) return false;\r\n return pathname === path || (path !== '/' && pathname?.startsWith(path));\r\n };\r\n\r\n return (\r\n <div className={className} style={style}>\r\n {rawTabs.map((tab: any, index: number) => {\r\n const finalClasses = [\r\n baseClasses,\r\n isActive(tab.href) ? activeClasses : hoverClasses,\r\n tab.className || '',\r\n ].join(' ');\r\n\r\n const hasDropdown = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;\r\n\r\n if (hasDropdown) {\r\n return (\r\n <DropdownMenu key={index}>\r\n <DropdownMenuTrigger\r\n className={`${finalClasses} inline-flex items-center gap-1`}\r\n >\r\n {tab.header}\r\n <ChevronDown className=\"h-4 w-4 opacity-80\" />\r\n </DropdownMenuTrigger>\r\n\r\n <DropdownMenuContent\r\n align=\"start\"\r\n sideOffset={6}\r\n className=\"z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg\"\r\n >\r\n {tab.children.map((item: any) => (\r\n <DropdownMenuItem\r\n key={item.id}\r\n asChild\r\n className=\"cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100\"\r\n >\r\n {LinkComponent ? (\r\n <LinkComponent href={item.href || '#'}>{item.header}</LinkComponent>\r\n ) : (\r\n item.header\r\n )}\r\n </DropdownMenuItem>\r\n ))}\r\n </DropdownMenuContent>\r\n </DropdownMenu>\r\n );\r\n }\r\n\r\n return tab.url && LinkComponent ? (\r\n <LinkComponent key={index} href={tab.url} className={finalClasses} style={style}>\r\n {tab.header}\r\n </LinkComponent>\r\n ) : (\r\n <div key={index} className={finalClasses} style={style} role=\"button\" tabIndex={0}>\r\n {tab.header}\r\n </div>\r\n );\r\n })}\r\n\r\n </div>\r\n );\r\n};\r\n\r\nexport default Tabs;\r\n","'use client';\r\n\r\nimport { StagesProps } from '@/types/global';\r\nimport React from 'react';\r\n\r\nconst StagesComponent = ({ stages, isShowBtn, buttonText, className, style }: StagesProps) => {\r\n\r\n return (\r\n <div className={className} style={style}>\r\n <div className=\"flex items-center justify-between bg-gray-50 p-2 rounded-lg border border-gray-200 w-full\">\r\n <div className=\"flex items-center\">\r\n <button className=\"p-2 hover:bg-gray-100 rounded\">\r\n <svg className=\"w-4 h-4 text-gray-600\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <div className=\"flex items-center flex-1 px-2\">\r\n {stages?.length > 0 && stages?.map((stage: any, index: number) => (\r\n <React.Fragment key={stage.id}>\r\n <button\r\n className={`\r\n min-w-[120px] px-4 py-2 rounded-full text-sm font-medium transition-colors duration-200 whitespace-nowrap ${stage.isActive ? 'bg-[#034486] text-white shadow-md' : 'bg-white text-gray-700 hover:bg-gray-100 border border-gray-200'}`}\r\n >\r\n {stage.header}\r\n </button>\r\n\r\n {index < stages.length - 1 && (\r\n <div className=\"flex-shrink-0 w-3 h-px bg-gray-300\"></div>\r\n )}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n\r\n {isShowBtn && (\r\n <div className=\"flex items-center\">\r\n <button className=\"bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm\">\r\n {buttonText}\r\n </button>\r\n </div>\r\n )}\r\n\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default StagesComponent;\r\n","'use client';\r\n\r\nimport { ElementProps } from \"@/types/global\";\r\n\r\nconst Spacer = ({ className, style }: ElementProps) => {\r\n return (\r\n <div className={`${className}`} style={style} />\r\n );\r\n};\r\n\r\nexport default Spacer;\r\n","'use client';\r\n\r\nimport { ProfileProps } from \"@/types/global\";\r\n\r\nconst Profile = ({ profileType, showName, userName, className, style }: ProfileProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n <div className='flex gap-2 items-center justify-between w-30 cursor-pointer'>\r\n {showName && (\r\n <h4 className='text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0'>{userName}</h4>\r\n )}\r\n {profileType === 'avatar' ? (\r\n <img\r\n src='https://builder.development.algorithmshift.ai/images/toolset/profile.svg' alt=\"auto\" width={24} height={24}\r\n />\r\n ) : (\r\n <div className='w-6 h-6 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center'>A</div>\r\n )}\r\n\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Profile;\r\n","'use client';\r\n\r\nimport { NotificationProps } from \"@/types/global\";\r\n\r\nconst Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhenZero }: NotificationProps) => {\r\n return (\r\n <div className={className} style={style}>\r\n <div className='w-[34px] h-[34px] bg-[#E9E9E9] rounded-md text-center flex items-center justify-center relative'>\r\n <img\r\n src='https://builder.development.algorithmshift.ai/images/toolset/notification.svg' alt=\"auto\" width={18} height={18}\r\n />\r\n {badgeType === 'number' && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? (\r\n <span className='text-[10px] text-[#fff] bg-[#FF4A4A] w-[20px] h-[20px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]'>{badgeCount}</span>\r\n ) : <span className='bg-[#FF4A4A] w-[10px] h-[10px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]'></span>}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Notification;\r\n","import { cn } from '@/lib/utils';\r\nimport { LogoProps } from '@/types/global';\r\nimport placeholder from \"../../../assets/logo_placeholder.png\";\r\n\r\nconst Logo = ({\r\n className,\r\n style,\r\n imageUrl,\r\n altText = 'Preview',\r\n}: LogoProps) => {\r\n\r\n if (!imageUrl) {\r\n return (\r\n <div\r\n className={cn(\r\n className, 'p-0'\r\n )} style={style}\r\n >\r\n <img src={placeholder} alt={altText} className=\"opacity-50\" width={150} height={80} />\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <img src={imageUrl} alt={altText} className={className} style={style} />\r\n );\r\n};\r\n\r\nexport default Logo;\r\n"],"mappings":"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","names":["Textarea","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","React","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","Textarea","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","PhoneInputField","React","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","React","React","React","import_jsx_runtime","Calendar","className","props","import_jsx_runtime","import_jsx_runtime","Calendar","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Table","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
|