@rjsf/shadcn 6.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +225 -0
- package/dist/blue.css +1 -0
- package/dist/default.css +1 -0
- package/dist/green.css +1 -0
- package/dist/index.js +1521 -0
- package/dist/index.js.map +7 -0
- package/dist/orange.css +1 -0
- package/dist/red.css +1 -0
- package/dist/rjsf-shadcn.esm.js +1540 -0
- package/dist/rjsf-shadcn.esm.js.map +7 -0
- package/dist/rjsf-shadcn.umd.js +1329 -0
- package/dist/rose.css +1 -0
- package/dist/violet.css +1 -0
- package/dist/yellow.css +1 -0
- package/dist/zinc.css +1 -0
- package/lib/AddButton/AddButton.d.ts +6 -0
- package/lib/AddButton/AddButton.js +13 -0
- package/lib/AddButton/AddButton.js.map +1 -0
- package/lib/AddButton/index.d.ts +2 -0
- package/lib/AddButton/index.js +3 -0
- package/lib/AddButton/index.js.map +1 -0
- package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.d.ts +6 -0
- package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js +13 -0
- package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js.map +1 -0
- package/lib/ArrayFieldItemTemplate/index.d.ts +2 -0
- package/lib/ArrayFieldItemTemplate/index.js +3 -0
- package/lib/ArrayFieldItemTemplate/index.js.map +1 -0
- package/lib/ArrayFieldTemplate/ArrayFieldTemplate.d.ts +6 -0
- package/lib/ArrayFieldTemplate/ArrayFieldTemplate.js +18 -0
- package/lib/ArrayFieldTemplate/ArrayFieldTemplate.js.map +1 -0
- package/lib/ArrayFieldTemplate/index.d.ts +2 -0
- package/lib/ArrayFieldTemplate/index.js +3 -0
- package/lib/ArrayFieldTemplate/index.js.map +1 -0
- package/lib/BaseInputTemplate/BaseInputTemplate.d.ts +8 -0
- package/lib/BaseInputTemplate/BaseInputTemplate.js +25 -0
- package/lib/BaseInputTemplate/BaseInputTemplate.js.map +1 -0
- package/lib/BaseInputTemplate/index.d.ts +2 -0
- package/lib/BaseInputTemplate/index.js +3 -0
- package/lib/BaseInputTemplate/index.js.map +1 -0
- package/lib/CheckboxWidget/CheckboxWidget.d.ts +7 -0
- package/lib/CheckboxWidget/CheckboxWidget.js +23 -0
- package/lib/CheckboxWidget/CheckboxWidget.js.map +1 -0
- package/lib/CheckboxWidget/index.d.ts +2 -0
- package/lib/CheckboxWidget/index.js +3 -0
- package/lib/CheckboxWidget/index.js.map +1 -0
- package/lib/CheckboxesWidget/CheckboxesWidget.d.ts +7 -0
- package/lib/CheckboxesWidget/CheckboxesWidget.js +31 -0
- package/lib/CheckboxesWidget/CheckboxesWidget.js.map +1 -0
- package/lib/CheckboxesWidget/index.d.ts +2 -0
- package/lib/CheckboxesWidget/index.js +3 -0
- package/lib/CheckboxesWidget/index.js.map +1 -0
- package/lib/DescriptionField/DescriptionField.d.ts +6 -0
- package/lib/DescriptionField/DescriptionField.js +12 -0
- package/lib/DescriptionField/DescriptionField.js.map +1 -0
- package/lib/DescriptionField/index.d.ts +2 -0
- package/lib/DescriptionField/index.js +3 -0
- package/lib/DescriptionField/index.js.map +1 -0
- package/lib/ErrorList/ErrorList.d.ts +6 -0
- package/lib/ErrorList/ErrorList.js +15 -0
- package/lib/ErrorList/ErrorList.js.map +1 -0
- package/lib/ErrorList/index.d.ts +2 -0
- package/lib/ErrorList/index.js +3 -0
- package/lib/ErrorList/index.js.map +1 -0
- package/lib/FieldErrorTemplate/FieldErrorTemplate.d.ts +6 -0
- package/lib/FieldErrorTemplate/FieldErrorTemplate.js +17 -0
- package/lib/FieldErrorTemplate/FieldErrorTemplate.js.map +1 -0
- package/lib/FieldErrorTemplate/index.d.ts +2 -0
- package/lib/FieldErrorTemplate/index.js +3 -0
- package/lib/FieldErrorTemplate/index.js.map +1 -0
- package/lib/FieldHelpTemplate/FieldHelpTemplate.d.ts +6 -0
- package/lib/FieldHelpTemplate/FieldHelpTemplate.js +16 -0
- package/lib/FieldHelpTemplate/FieldHelpTemplate.js.map +1 -0
- package/lib/FieldHelpTemplate/index.d.ts +2 -0
- package/lib/FieldHelpTemplate/index.js +3 -0
- package/lib/FieldHelpTemplate/index.js.map +1 -0
- package/lib/FieldTemplate/FieldTemplate.d.ts +7 -0
- package/lib/FieldTemplate/FieldTemplate.js +17 -0
- package/lib/FieldTemplate/FieldTemplate.js.map +1 -0
- package/lib/FieldTemplate/index.d.ts +2 -0
- package/lib/FieldTemplate/index.js +3 -0
- package/lib/FieldTemplate/index.js.map +1 -0
- package/lib/Form/Form.d.ts +6 -0
- package/lib/Form/Form.js +7 -0
- package/lib/Form/Form.js.map +1 -0
- package/lib/Form/index.d.ts +2 -0
- package/lib/Form/index.js +3 -0
- package/lib/Form/index.js.map +1 -0
- package/lib/GridTemplate/GridTemplate.d.ts +7 -0
- package/lib/GridTemplate/GridTemplate.js +12 -0
- package/lib/GridTemplate/GridTemplate.js.map +1 -0
- package/lib/GridTemplate/index.d.ts +2 -0
- package/lib/GridTemplate/index.js +3 -0
- package/lib/GridTemplate/index.js.map +1 -0
- package/lib/IconButton/IconButton.d.ts +39 -0
- package/lib/IconButton/IconButton.js +57 -0
- package/lib/IconButton/IconButton.js.map +1 -0
- package/lib/IconButton/index.d.ts +2 -0
- package/lib/IconButton/index.js +3 -0
- package/lib/IconButton/index.js.map +1 -0
- package/lib/ObjectFieldTemplate/ObjectFieldTemplate.d.ts +8 -0
- package/lib/ObjectFieldTemplate/ObjectFieldTemplate.js +17 -0
- package/lib/ObjectFieldTemplate/ObjectFieldTemplate.js.map +1 -0
- package/lib/ObjectFieldTemplate/index.d.ts +2 -0
- package/lib/ObjectFieldTemplate/index.js +3 -0
- package/lib/ObjectFieldTemplate/index.js.map +1 -0
- package/lib/RadioWidget/RadioWidget.d.ts +7 -0
- package/lib/RadioWidget/RadioWidget.js +26 -0
- package/lib/RadioWidget/RadioWidget.js.map +1 -0
- package/lib/RadioWidget/index.d.ts +2 -0
- package/lib/RadioWidget/index.js +3 -0
- package/lib/RadioWidget/index.js.map +1 -0
- package/lib/RangeWidget/RangeWidget.d.ts +15 -0
- package/lib/RangeWidget/RangeWidget.js +39 -0
- package/lib/RangeWidget/RangeWidget.js.map +1 -0
- package/lib/RangeWidget/index.d.ts +2 -0
- package/lib/RangeWidget/index.js +3 -0
- package/lib/RangeWidget/index.js.map +1 -0
- package/lib/SelectWidget/SelectWidget.d.ts +7 -0
- package/lib/SelectWidget/SelectWidget.js +31 -0
- package/lib/SelectWidget/SelectWidget.js.map +1 -0
- package/lib/SelectWidget/index.d.ts +2 -0
- package/lib/SelectWidget/index.js +3 -0
- package/lib/SelectWidget/index.js.map +1 -0
- package/lib/SubmitButton/SubmitButton.d.ts +4 -0
- package/lib/SubmitButton/SubmitButton.js +13 -0
- package/lib/SubmitButton/SubmitButton.js.map +1 -0
- package/lib/SubmitButton/index.d.ts +2 -0
- package/lib/SubmitButton/index.js +3 -0
- package/lib/SubmitButton/index.js.map +1 -0
- package/lib/Templates/Templates.d.ts +4 -0
- package/lib/Templates/Templates.js +41 -0
- package/lib/Templates/Templates.js.map +1 -0
- package/lib/Templates/index.d.ts +2 -0
- package/lib/Templates/index.js +3 -0
- package/lib/Templates/index.js.map +1 -0
- package/lib/TextareaWidget/TextareaWidget.d.ts +10 -0
- package/lib/TextareaWidget/TextareaWidget.js +14 -0
- package/lib/TextareaWidget/TextareaWidget.js.map +1 -0
- package/lib/TextareaWidget/index.d.ts +2 -0
- package/lib/TextareaWidget/index.js +3 -0
- package/lib/TextareaWidget/index.js.map +1 -0
- package/lib/Theme/Theme.d.ts +5 -0
- package/lib/Theme/Theme.js +10 -0
- package/lib/Theme/Theme.js.map +1 -0
- package/lib/Theme/index.d.ts +2 -0
- package/lib/Theme/index.js +3 -0
- package/lib/Theme/index.js.map +1 -0
- package/lib/TitleField/TitleField.d.ts +6 -0
- package/lib/TitleField/TitleField.js +12 -0
- package/lib/TitleField/TitleField.js.map +1 -0
- package/lib/TitleField/index.d.ts +2 -0
- package/lib/TitleField/index.js +3 -0
- package/lib/TitleField/index.js.map +1 -0
- package/lib/Widgets/Widgets.d.ts +4 -0
- package/lib/Widgets/Widgets.js +18 -0
- package/lib/Widgets/Widgets.js.map +1 -0
- package/lib/Widgets/index.d.ts +2 -0
- package/lib/Widgets/index.js +3 -0
- package/lib/Widgets/index.js.map +1 -0
- package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.d.ts +7 -0
- package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js +23 -0
- package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js.map +1 -0
- package/lib/WrapIfAdditionalTemplate/index.d.ts +2 -0
- package/lib/WrapIfAdditionalTemplate/index.js +3 -0
- package/lib/WrapIfAdditionalTemplate/index.js.map +1 -0
- package/lib/components/ui/alert.d.ts +27 -0
- package/lib/components/ui/alert.js +42 -0
- package/lib/components/ui/alert.js.map +1 -0
- package/lib/components/ui/badge.d.ts +26 -0
- package/lib/components/ui/badge.js +33 -0
- package/lib/components/ui/badge.js.map +1 -0
- package/lib/components/ui/button.d.ts +32 -0
- package/lib/components/ui/button.js +49 -0
- package/lib/components/ui/button.js.map +1 -0
- package/lib/components/ui/checkbox.d.ts +11 -0
- package/lib/components/ui/checkbox.js +19 -0
- package/lib/components/ui/checkbox.js.map +1 -0
- package/lib/components/ui/command.d.ts +134 -0
- package/lib/components/ui/command.js +84 -0
- package/lib/components/ui/command.js.map +1 -0
- package/lib/components/ui/dialog.d.ts +71 -0
- package/lib/components/ui/dialog.js +77 -0
- package/lib/components/ui/dialog.js.map +1 -0
- package/lib/components/ui/fancy-multi-select.d.ts +50 -0
- package/lib/components/ui/fancy-multi-select.js +62 -0
- package/lib/components/ui/fancy-multi-select.js.map +1 -0
- package/lib/components/ui/fancy-select.d.ts +50 -0
- package/lib/components/ui/fancy-select.js +41 -0
- package/lib/components/ui/fancy-select.js.map +1 -0
- package/lib/components/ui/input.d.ts +17 -0
- package/lib/components/ui/input.js +18 -0
- package/lib/components/ui/input.js.map +1 -0
- package/lib/components/ui/label.d.ts +12 -0
- package/lib/components/ui/label.js +19 -0
- package/lib/components/ui/label.js.map +1 -0
- package/lib/components/ui/radio-group.d.ts +20 -0
- package/lib/components/ui/radio-group.js +32 -0
- package/lib/components/ui/radio-group.js.map +1 -0
- package/lib/components/ui/select.d.ts +30 -0
- package/lib/components/ui/select.js +46 -0
- package/lib/components/ui/select.js.map +1 -0
- package/lib/components/ui/separator.d.ts +12 -0
- package/lib/components/ui/separator.js +19 -0
- package/lib/components/ui/separator.js.map +1 -0
- package/lib/components/ui/slider.d.ts +10 -0
- package/lib/components/ui/slider.js +17 -0
- package/lib/components/ui/slider.js.map +1 -0
- package/lib/components/ui/textarea.d.ts +16 -0
- package/lib/components/ui/textarea.js +17 -0
- package/lib/components/ui/textarea.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/lib/lib/utils.d.ts +2 -0
- package/lib/lib/utils.js +6 -0
- package/lib/lib/utils.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +121 -0
- package/src/AddButton/AddButton.tsx +23 -0
- package/src/AddButton/index.ts +2 -0
- package/src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx +40 -0
- package/src/ArrayFieldItemTemplate/index.ts +2 -0
- package/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx +84 -0
- package/src/ArrayFieldTemplate/index.ts +2 -0
- package/src/BaseInputTemplate/BaseInputTemplate.tsx +85 -0
- package/src/BaseInputTemplate/index.ts +2 -0
- package/src/CheckboxWidget/CheckboxWidget.tsx +88 -0
- package/src/CheckboxWidget/index.ts +2 -0
- package/src/CheckboxesWidget/CheckboxesWidget.tsx +73 -0
- package/src/CheckboxesWidget/index.ts +2 -0
- package/src/DescriptionField/DescriptionField.tsx +23 -0
- package/src/DescriptionField/index.ts +2 -0
- package/src/ErrorList/ErrorList.tsx +26 -0
- package/src/ErrorList/index.ts +2 -0
- package/src/FieldErrorTemplate/FieldErrorTemplate.tsx +29 -0
- package/src/FieldErrorTemplate/index.ts +2 -0
- package/src/FieldHelpTemplate/FieldHelpTemplate.tsx +24 -0
- package/src/FieldHelpTemplate/index.ts +2 -0
- package/src/FieldTemplate/FieldTemplate.tsx +93 -0
- package/src/FieldTemplate/index.ts +2 -0
- package/src/Form/Form.tsx +16 -0
- package/src/Form/index.ts +2 -0
- package/src/GridTemplate/GridTemplate.tsx +16 -0
- package/src/GridTemplate/index.ts +2 -0
- package/src/IconButton/IconButton.tsx +104 -0
- package/src/IconButton/index.ts +2 -0
- package/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx +89 -0
- package/src/ObjectFieldTemplate/index.ts +2 -0
- package/src/RadioWidget/RadioWidget.tsx +77 -0
- package/src/RadioWidget/index.ts +2 -0
- package/src/RangeWidget/RangeWidget.tsx +64 -0
- package/src/RangeWidget/index.ts +2 -0
- package/src/SelectWidget/SelectWidget.tsx +93 -0
- package/src/SelectWidget/index.ts +2 -0
- package/src/SubmitButton/SubmitButton.tsx +21 -0
- package/src/SubmitButton/index.ts +2 -0
- package/src/Templates/Templates.ts +47 -0
- package/src/Templates/index.ts +2 -0
- package/src/TextareaWidget/TextareaWidget.tsx +59 -0
- package/src/TextareaWidget/index.ts +2 -0
- package/src/Theme/Theme.tsx +18 -0
- package/src/Theme/index.ts +2 -0
- package/src/TitleField/TitleField.tsx +21 -0
- package/src/TitleField/index.ts +2 -0
- package/src/Widgets/Widgets.ts +24 -0
- package/src/Widgets/index.ts +2 -0
- package/src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx +93 -0
- package/src/WrapIfAdditionalTemplate/index.ts +2 -0
- package/src/components/ui/alert.tsx +61 -0
- package/src/components/ui/badge.tsx +46 -0
- package/src/components/ui/button.tsx +65 -0
- package/src/components/ui/checkbox.tsx +35 -0
- package/src/components/ui/command.tsx +183 -0
- package/src/components/ui/dialog.tsx +144 -0
- package/src/components/ui/fancy-multi-select.tsx +232 -0
- package/src/components/ui/fancy-select.tsx +157 -0
- package/src/components/ui/input.tsx +34 -0
- package/src/components/ui/label.tsx +27 -0
- package/src/components/ui/radio-group.tsx +54 -0
- package/src/components/ui/select.tsx +174 -0
- package/src/components/ui/separator.tsx +35 -0
- package/src/components/ui/slider.tsx +28 -0
- package/src/components/ui/textarea.tsx +33 -0
- package/src/css/blue.css +71 -0
- package/src/css/default.css +59 -0
- package/src/css/green.css +71 -0
- package/src/css/orange.css +71 -0
- package/src/css/red.css +70 -0
- package/src/css/rose.css +70 -0
- package/src/css/violet.css +69 -0
- package/src/css/yellow.css +69 -0
- package/src/css/zinc.css +69 -0
- package/src/index.ts +8 -0
- package/src/lib/utils.ts +6 -0
- package/src/tsconfig.json +23 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts", "../src/Form/Form.tsx", "../src/AddButton/AddButton.tsx", "../src/components/ui/button.tsx", "../src/lib/utils.ts", "../src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx", "../src/ArrayFieldTemplate/ArrayFieldTemplate.tsx", "../src/BaseInputTemplate/BaseInputTemplate.tsx", "../src/components/ui/input.tsx", "../src/DescriptionField/DescriptionField.tsx", "../src/ErrorList/ErrorList.tsx", "../src/components/ui/alert.tsx", "../src/FieldErrorTemplate/FieldErrorTemplate.tsx", "../src/FieldHelpTemplate/FieldHelpTemplate.tsx", "../src/FieldTemplate/FieldTemplate.tsx", "../src/GridTemplate/GridTemplate.tsx", "../src/IconButton/IconButton.tsx", "../src/ObjectFieldTemplate/ObjectFieldTemplate.tsx", "../src/SubmitButton/SubmitButton.tsx", "../src/TitleField/TitleField.tsx", "../src/components/ui/separator.tsx", "../src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx", "../src/Templates/Templates.ts", "../src/CheckboxWidget/CheckboxWidget.tsx", "../src/components/ui/checkbox.tsx", "../src/components/ui/label.tsx", "../src/CheckboxesWidget/CheckboxesWidget.tsx", "../src/RadioWidget/RadioWidget.tsx", "../src/components/ui/radio-group.tsx", "../src/RangeWidget/RangeWidget.tsx", "../src/components/ui/slider.tsx", "../src/SelectWidget/SelectWidget.tsx", "../src/components/ui/fancy-multi-select.tsx", "../src/components/ui/badge.tsx", "../src/components/ui/command.tsx", "../src/components/ui/fancy-select.tsx", "../src/TextareaWidget/TextareaWidget.tsx", "../src/components/ui/textarea.tsx", "../src/Widgets/Widgets.ts", "../src/Theme/Theme.tsx"],
|
|
4
|
+
"sourcesContent": ["import Form from './Form/Form';\n\nexport { default as Form, generateForm } from './Form';\nexport { default as Templates, generateTemplates } from './Templates';\nexport { default as Theme, generateTheme } from './Theme';\nexport { default as Widgets, generateWidgets } from './Widgets';\n\nexport default Form;\n", "import { ComponentType } from 'react';\n\nimport { FormProps, withTheme } from '@rjsf/core';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nimport { generateTheme } from '../Theme';\n\nexport function generateForm<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): ComponentType<FormProps<T, S, F>> {\n return withTheme<T, S, F>(generateTheme<T, S, F>());\n}\n\nexport default generateForm();\n", "import { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\nimport { PlusCircle } from 'lucide-react';\n\nimport { Button } from '../components/ui/button';\n\n/**\n * A button component for adding new items in a form\n * @param props - The component properties\n */\nexport default function AddButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n uiSchema,\n registry,\n ...props\n}: IconButtonProps<T, S, F>) {\n const { translateString } = registry;\n return (\n <div className='p-0 m-0'>\n <Button {...props} className='w-fit gap-2' variant='outline' type='button'>\n <PlusCircle size={16} /> {translateString(TranslatableString.AddItemButton)}\n </Button>\n </div>\n );\n}\n", "import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ButtonHTMLAttributes, forwardRef } from 'react';\nimport { cn } from '../../lib/utils';\n\n/**\n * Predefined button variants using class-variance-authority\n * @see https://ui.shadcn.com/docs/components/button\n */\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\n/**\n * Props for the Button component\n * @extends ButtonHTMLAttributes<HTMLButtonElement> - HTML button element attributes\n * @extends VariantProps<typeof buttonVariants> - Button variant props\n */\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n /** Whether to render the button as a child component using Radix UI Slot */\n asChild?: boolean;\n}\n\n/**\n * A button component with multiple style variants and sizes\n *\n * @param props - The props for the Button component\n * @param props.className - Additional CSS classes to apply to the button\n * @param props.variant - The style variant of the button: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'\n * @param props.size - The size variant of the button: 'default' | 'sm' | 'lg' | 'icon'\n * @param props.asChild - Whether to render the button as a child component\n * @param ref - The forwarded ref for the button element\n * @returns A button element with the specified styles and behavior\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n", "import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n", "import {\n ArrayFieldItemTemplateType,\n FormContextType,\n getTemplate,\n getUiOptions,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\n/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.\n *\n * @param props - The `ArrayFieldItemTemplateType` props for the component\n */\nexport default function ArrayFieldItemTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldItemTemplateType<T, S, F>) {\n const { children, buttonsProps, hasToolbar, uiSchema, registry } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldItemButtonsTemplate = getTemplate<'ArrayFieldItemButtonsTemplate', T, S, F>(\n 'ArrayFieldItemButtonsTemplate',\n registry,\n uiOptions,\n );\n return (\n <div>\n <div className='mb-2 flex flex-row flex-wrap'>\n <div className='grow shrink'>{children}</div>\n <div className='flex items-end justify-end p-0.5'>\n {hasToolbar && (\n <div className='flex gap-2'>\n <ArrayFieldItemButtonsTemplate {...buttonsProps} />\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n", "import {\n ArrayFieldItemTemplateType,\n ArrayFieldTemplateProps,\n buttonId,\n FormContextType,\n getTemplate,\n getUiOptions,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\n/** The `ArrayFieldTemplate` component is the template used to render all items in an array.\n *\n * @param props - The `ArrayFieldItemTemplateType` props for the component\n */\nexport default function ArrayFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldTemplateProps<T, S, F>) {\n const { canAdd, disabled, idSchema, uiSchema, items, onAddClick, readonly, registry, required, schema, title } =\n props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldDescriptionTemplate = getTemplate<'ArrayFieldDescriptionTemplate', T, S, F>(\n 'ArrayFieldDescriptionTemplate',\n registry,\n uiOptions,\n );\n const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(\n 'ArrayFieldItemTemplate',\n registry,\n uiOptions,\n );\n const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(\n 'ArrayFieldTitleTemplate',\n registry,\n uiOptions,\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <div>\n <div className='m-0 flex p-0'>\n <div className='m-0 w-full p-0'>\n <ArrayFieldTitleTemplate\n idSchema={idSchema}\n title={uiOptions.title || title}\n schema={schema}\n uiSchema={uiSchema}\n required={required}\n registry={registry}\n />\n <ArrayFieldDescriptionTemplate\n idSchema={idSchema}\n description={uiOptions.description || schema.description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n <div key={`array-item-list-${idSchema.$id}`} className='p-0 m-0 w-full mb-2'>\n {items &&\n items.map(({ key, ...itemProps }: ArrayFieldItemTemplateType<T, S, F>) => (\n <ArrayFieldItemTemplate key={key} {...itemProps} />\n ))}\n {canAdd && (\n <div className='mt-2 flex'>\n <AddButton\n id={buttonId<T>(idSchema, 'add')}\n className='rjsf-array-item-add'\n onClick={onAddClick}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n}\n", "import {\n ariaDescribedByIds,\n BaseInputTemplateProps,\n examplesId,\n FormContextType,\n getInputProps,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\nimport { ChangeEvent, FocusEvent } from 'react';\n\nimport { Input } from '../components/ui/input';\nimport { cn } from '../lib/utils';\n\n/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.\n * It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.\n * It can be customized/overridden for other themes or individual implementations as needed.\n *\n * @param props - The `WidgetProps` for this template\n */\nexport default function BaseInputTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n id,\n placeholder,\n required,\n readonly,\n disabled,\n type,\n value,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n rawErrors = [],\n children,\n extraProps,\n}: BaseInputTemplateProps<T, S, F>) {\n const inputProps = {\n ...extraProps,\n ...getInputProps<T, S, F>(schema, type, options),\n };\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLInputElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.value);\n\n return (\n <div className='p-0.5'>\n <Input\n id={id}\n name={id}\n type={type}\n placeholder={placeholder}\n autoFocus={autofocus}\n required={required}\n disabled={disabled}\n readOnly={readonly}\n className={cn({ 'border-destructive focus-visible:ring-0': rawErrors.length > 0 })}\n list={schema.examples ? examplesId<T>(id) : undefined}\n {...inputProps}\n value={value || value === 0 ? value : ''}\n onChange={onChangeOverride || _onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id, !!schema.examples)}\n />\n {children}\n {Array.isArray(schema.examples) ? (\n <datalist id={examplesId<T>(id)}>\n {(schema.examples as string[])\n .concat(schema.default && !schema.examples.includes(schema.default) ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n ) : null}\n </div>\n );\n}\n", "import { InputHTMLAttributes, forwardRef } from 'react';\nimport { cn } from '../../lib/utils';\n\n/**\n * Props for the Input component\n * @extends InputHTMLAttributes<HTMLInputElement> - HTML input element attributes\n */\nexport type InputProps = InputHTMLAttributes<HTMLInputElement>;\n\n/**\n * An input component with styling and focus states\n *\n * @param props - The props for the Input component\n * @param props.className - Additional CSS classes to apply to the input\n * @param props.type - The type of the input element\n * @param ref - The forwarded ref for the input element\n * @returns An input element with the specified styles and behavior\n */\nconst Input = forwardRef<HTMLInputElement, InputProps>(({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nInput.displayName = 'Input';\n\nexport { Input };\n", "import { DescriptionFieldProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `DescriptionField` is the template to use to render the description of a field\n *\n * @param props - The `DescriptionFieldProps` for this component\n */\nexport default function DescriptionField<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({ id, description }: DescriptionFieldProps<T, S, F>) {\n if (description) {\n return (\n <div>\n <div id={id} className='text-sm text-muted-foreground'>\n {description}\n </div>\n </div>\n );\n }\n\n return null;\n}\n", "import { ErrorListProps, FormContextType, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\nimport { AlertCircle } from 'lucide-react';\n\nimport { Alert, AlertDescription, AlertTitle } from '../components/ui/alert';\n\n/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`\n *\n * @param props - The `ErrorListProps` for this component\n */\nexport default function ErrorList<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n errors,\n registry,\n}: ErrorListProps<T, S, F>) {\n const { translateString } = registry;\n return (\n <Alert variant='destructive' className='mb-2'>\n <AlertCircle className='h-4 w-4' />\n <AlertTitle>{translateString(TranslatableString.ErrorsLabel)}</AlertTitle>\n <AlertDescription className='flex flex-col gap-1'>\n {errors.map((error, i: number) => {\n return <span key={i}>• {error.stack}</span>;\n })}\n </AlertDescription>\n </Alert>\n );\n}\n", "import { cva, type VariantProps } from 'class-variance-authority';\nimport { forwardRef, HTMLAttributes } from 'react';\n\nimport { cn } from '../../lib/utils';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:start-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:ps-7',\n {\n variants: {\n variant: {\n default: 'bg-background text-foreground',\n destructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\n/** A component that displays a brief, important message in a way that attracts the user's attention without interrupting their task.\n *\n * @param props - Component props\n * @param props.variant - 'default' | 'destructive' - Style variant of the alert\n * @param props.className - Additional CSS classes\n * @returns A div element that serves as an alert component\n */\nconst Alert = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>>(\n ({ className, variant, ...props }, ref) => (\n <div ref={ref} role='alert' className={cn(alertVariants({ variant }), className)} {...props} />\n ),\n);\nAlert.displayName = 'Alert';\n\n/** Represents the title content of an Alert component.\n *\n * @param props - Component props\n * @param props.className - Additional CSS classes\n * @returns A heading element for the alert title\n */\nconst AlertTitle = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h5 ref={ref} className={cn('mb-1 font-medium leading-none tracking-tight', className)} {...props} />\n ),\n);\nAlertTitle.displayName = 'AlertTitle';\n\n/** Represents the description content of an Alert component.\n *\n * @param props - Component props\n * @param props.className - Additional CSS classes\n * @returns A div element containing the alert description\n */\nconst AlertDescription = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-sm [&_p]:leading-relaxed', className)} {...props} />\n ),\n);\nAlertDescription.displayName = 'AlertDescription';\n\nexport { Alert, AlertDescription, AlertTitle };\n", "import { FieldErrorProps, FormContextType, RJSFSchema, StrictRJSFSchema, errorId } from '@rjsf/utils';\n\n/** The `FieldErrorTemplate` component renders the errors local to the particular field\n *\n * @param props - The `FieldErrorProps` for the errors being rendered\n */\nexport default function FieldErrorTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldErrorProps<T, S, F>) {\n const { errors = [], idSchema } = props;\n if (errors.length === 0) {\n return null;\n }\n const id = errorId<T>(idSchema);\n\n return (\n <div className='flex flex-col gap-1' id={id}>\n {errors.map((error, i: number) => {\n return (\n <span className={'text-xs font-medium text-destructive mb-1'} key={i}>\n {error}\n </span>\n );\n })}\n </div>\n );\n}\n", "import { FieldHelpProps, FormContextType, RJSFSchema, StrictRJSFSchema, helpId } from '@rjsf/utils';\n\nimport { cn } from '../lib/utils';\n\n/** The `FieldHelpTemplate` component renders any help desired for a field\n *\n * @param props - The `FieldHelpProps` to be rendered\n */\nexport default function FieldHelpTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldHelpProps<T, S, F>) {\n const { idSchema, help, hasErrors } = props;\n if (!help) {\n return null;\n }\n const id = helpId<T>(idSchema);\n return (\n <span className={cn('text-xs font-medium text-muted-foreground', { ' text-destructive': hasErrors })} id={id}>\n {help}\n </span>\n );\n}\n", "import {\n FieldTemplateProps,\n FormContextType,\n getTemplate,\n getUiOptions,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\nimport { cn } from '../lib/utils';\n\n/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field\n * content, (label, description, children, errors and help) inside a `WrapIfAdditional` component.\n *\n * @param props - The `FieldTemplateProps` for this component\n */\nexport default function FieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n id,\n children,\n displayLabel,\n rawErrors = [],\n errors,\n help,\n description,\n rawDescription,\n classNames,\n style,\n disabled,\n label,\n hidden,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n schema,\n uiSchema,\n registry,\n}: FieldTemplateProps<T, S, F>) {\n const uiOptions = getUiOptions(uiSchema);\n const WrapIfAdditionalTemplate = getTemplate<'WrapIfAdditionalTemplate', T, S, F>(\n 'WrapIfAdditionalTemplate',\n registry,\n uiOptions,\n );\n if (hidden) {\n return <div className='hidden'>{children}</div>;\n }\n return (\n <WrapIfAdditionalTemplate\n classNames={classNames}\n style={style}\n disabled={disabled}\n id={id}\n label={label}\n onDropPropertyClick={onDropPropertyClick}\n onKeyChange={onKeyChange}\n readonly={readonly}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n >\n <div className='flex flex-col gap-2'>\n {displayLabel && (\n <label\n className={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n { ' text-destructive': rawErrors.length > 0 },\n )}\n htmlFor={id}\n >\n {label}\n {required ? '*' : null}\n </label>\n )}\n {children}\n {displayLabel && rawDescription && (\n <span\n className={cn('text-xs font-medium text-muted-foreground', { ' text-destructive': rawErrors.length > 0 })}\n >\n {description}\n </span>\n )}\n {errors}\n {help}\n </div>\n </WrapIfAdditionalTemplate>\n );\n}\n", "import { GridTemplateProps } from '@rjsf/utils';\nimport { cn } from '../lib/utils';\n\n/** Renders a `GridTemplate` for mui, which is expecting the column sizing information coming in via the\n * extra props provided by the caller, which are spread directly on the `Grid2`.\n *\n * @param props - The GridTemplateProps, including the extra props containing the mui grid positioning details\n */\nexport default function GridTemplate(props: GridTemplateProps) {\n const { children, column, className, ...rest } = props;\n return (\n <div className={cn('grid gap-2', className)} {...rest}>\n {children}\n </div>\n );\n}\n", "import { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\nimport { ChevronDown, ChevronUp, Copy, Trash2 } from 'lucide-react';\n\nimport { Button, ButtonProps } from '../components/ui/button';\n\n/** Base button component that renders a Shadcn button with an icon for RJSF form actions.\n * This component serves as the foundation for other specialized buttons used in array operations.\n * It combines RJSF's IconButtonProps with Shadcn's ButtonProps to provide a consistent styling\n * and behavior across the form.\n *\n * @param props - The combined props from RJSF IconButtonProps and Shadcn ButtonProps, including icon and event handlers\n */\nexport default function IconButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F> & ButtonProps,\n) {\n const { icon, iconType, className, uiSchema, registry, ...otherProps } = props;\n return (\n <Button size='icon' variant='outline' className={className} {...otherProps} type='button'>\n {icon}\n </Button>\n );\n}\n\n/** Renders a copy button for RJSF array fields that allows users to duplicate array items.\n * The button includes a copy icon and uses the RJSF translation system for the tooltip text.\n * This is used within ArrayField to provide item duplication functionality.\n *\n * @param props - The RJSF icon button properties, including registry for translations and event handlers\n */\nexport function CopyButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <IconButton title={translateString(TranslatableString.CopyButton)} {...props} icon={<Copy className='h-4 w-4' />} />\n );\n}\n\n/** Renders a move down button for RJSF array fields that allows reordering of array items.\n * The button includes a chevron-down icon and uses the RJSF translation system for the tooltip text.\n * This is used within ArrayField to allow moving items to a lower index in the array.\n *\n * @param props - The RJSF icon button properties, including registry for translations and event handlers\n */\nexport function MoveDownButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <IconButton\n title={translateString(TranslatableString.MoveDownButton)}\n {...props}\n icon={<ChevronDown className='h-4 w-4' />}\n />\n );\n}\n\n/** Renders a move up button for RJSF array fields that allows reordering of array items.\n * The button includes a chevron-up icon and uses the RJSF translation system for the tooltip text.\n * This is used within ArrayField to allow moving items to a higher index in the array.\n *\n * @param props - The RJSF icon button properties, including registry for translations and event handlers\n */\nexport function MoveUpButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <IconButton\n title={translateString(TranslatableString.MoveUpButton)}\n {...props}\n icon={<ChevronUp className='h-4 w-4' />}\n />\n );\n}\n\n/** Renders a remove button for RJSF array fields that allows deletion of array items.\n * The button includes a trash icon and uses the RJSF translation system for the tooltip text.\n * It has special styling with destructive colors to indicate its dangerous action.\n * This is used within ArrayField to provide item removal functionality.\n *\n * @param props - The RJSF icon button properties, including registry for translations and event handlers\n */\nexport function RemoveButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <IconButton\n title={translateString(TranslatableString.RemoveButton)}\n {...props}\n className={'border-destructive'}\n icon={<Trash2 className='h-4 w-4 stroke-destructive' />}\n />\n );\n}\n", "import {\n buttonId,\n canExpand,\n descriptionId,\n FormContextType,\n getTemplate,\n getUiOptions,\n ObjectFieldTemplateProps,\n RJSFSchema,\n StrictRJSFSchema,\n titleId,\n} from '@rjsf/utils';\n\n/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the\n * title and description if available. If the object is expandable, then an `AddButton` is also rendered after all\n * the properties.\n *\n * @param props - The `ObjectFieldTemplateProps` for this component\n */\nexport default function ObjectFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n description,\n title,\n properties,\n required,\n uiSchema,\n idSchema,\n schema,\n formData,\n onAddClick,\n disabled,\n readonly,\n registry,\n}: ObjectFieldTemplateProps<T, S, F>) {\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n uiOptions,\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n {title && (\n <TitleFieldTemplate\n id={titleId<T>(idSchema)}\n title={title}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {description && (\n <DescriptionFieldTemplate\n id={descriptionId<T>(idSchema)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <div className='flex flex-col gap-2'>\n {properties.map((element: any, index: number) => (\n <div key={index} className={`${element.hidden ? 'hidden' : ''} flex`}>\n <div className='w-full'> {element.content}</div>\n </div>\n ))}\n {canExpand(schema, uiSchema, formData) ? (\n <AddButton\n id={buttonId<T>(idSchema, 'add')}\n onClick={onAddClick(schema)}\n disabled={disabled || readonly}\n className='rjsf-object-property-expand'\n uiSchema={uiSchema}\n registry={registry}\n />\n ) : null}\n </div>\n </>\n );\n}\n", "import { FormContextType, getSubmitButtonOptions, RJSFSchema, StrictRJSFSchema, SubmitButtonProps } from '@rjsf/utils';\n\nimport { Button } from '../components/ui/button';\n\n/** The `SubmitButton` renders a button that represent the `Submit` action on a form\n */\nexport default function SubmitButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: SubmitButtonProps<T, S, F>,\n) {\n const { submitText, norender, props: submitButtonProps } = getSubmitButtonOptions<T, S, F>(props.uiSchema);\n if (norender) {\n return null;\n }\n return (\n <div>\n <Button type='submit' {...submitButtonProps} className='my-2'>\n {submitText}\n </Button>\n </div>\n );\n}\n", "import { FormContextType, getUiOptions, RJSFSchema, StrictRJSFSchema, TitleFieldProps } from '@rjsf/utils';\n\nimport { Separator } from '../components/ui/separator';\n\n/** The `TitleField` is the template to use to render the title of a field\n *\n * @param props - The `TitleFieldProps` for this component\n */\nexport default function TitleField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n title,\n uiSchema,\n}: TitleFieldProps<T, S, F>) {\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n return (\n <div id={id} className='my-1 flex flex-col gap-0.5'>\n <h5>{uiOptions.title || title}</h5>\n <Separator dir='horizontal' style={{ height: '1px' }} className='my-1' />\n </div>\n );\n}\n", "'use client';\n\nimport { Root } from '@radix-ui/react-separator';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * A separator component for visually dividing content\n *\n * @param props - The props for the Separator component\n * @param props.className - Additional CSS classes to apply to the separator\n * @param props.orientation - The orientation of the separator ('horizontal' | 'vertical')\n * @param props.decorative - Whether the separator is decorative or semantic\n * @param ref - The forwarded ref for the separator element\n * @returns A styled separator element\n */\nconst Separator = forwardRef<ElementRef<typeof Root>, ComponentPropsWithoutRef<typeof Root>>(\n ({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n className,\n )}\n {...props}\n />\n ),\n);\nSeparator.displayName = Root.displayName;\n\nexport { Separator };\n", "import {\n ADDITIONAL_PROPERTY_FLAG,\n buttonId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n TranslatableString,\n WrapIfAdditionalTemplateProps,\n} from '@rjsf/utils';\nimport { FocusEvent } from 'react';\n\nimport { Input } from '../components/ui/input';\nimport { Separator } from '../components/ui/separator';\n\n/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are\n * part of an `additionalProperties` part of a schema.\n *\n * @param props - The `WrapIfAdditionalProps` for this component\n */\nexport default function WrapIfAdditionalTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n classNames,\n style,\n children,\n disabled,\n id,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n schema,\n uiSchema,\n registry,\n}: WrapIfAdditionalTemplateProps<T, S, F>) {\n const { templates, translateString } = registry;\n // Button templates are not overridden in the uiSchema\n const { RemoveButton } = templates.ButtonTemplates;\n const keyLabel = translateString(TranslatableString.KeyLabel, [label]);\n const additional = ADDITIONAL_PROPERTY_FLAG in schema;\n\n if (!additional) {\n return (\n <div className={classNames} style={style}>\n {children}\n </div>\n );\n }\n\n const handleBlur = ({ target }: FocusEvent<HTMLInputElement>) => onKeyChange(target.value);\n const keyId = `${id}-key`;\n\n return (\n <>\n <div className={`flex flex-row items-center gap-2 relative w-full ${classNames}`} style={style}>\n <div className='flex flex-col w-full gap-2 line-clamp-1'>\n <div className='flex-grow'>\n <label htmlFor={keyId} className='pt-2 text-sm font-medium text-muted-foreground mb-4 line-clamp-1'>\n {keyLabel}\n </label>\n <div className='pl-0.5'>\n <Input\n required={required}\n defaultValue={label}\n disabled={disabled || readonly}\n id={keyId}\n name={keyId}\n onBlur={!readonly ? handleBlur : undefined}\n type='text'\n className='mt-1 w-full border shadow-sm'\n />\n </div>\n </div>\n <div className='flex-grow pr-0.5'>{children}</div>\n </div>\n\n <RemoveButton\n id={buttonId<T>(id, 'remove')}\n iconType='block'\n className='rjsf-object-property-remove w-full'\n disabled={disabled || readonly}\n onClick={onDropPropertyClick(label)}\n uiSchema={uiSchema}\n registry={registry}\n />\n </div>\n <Separator dir='horizontal' className='mt-2' />\n </>\n );\n}\n", "import { FormContextType, RJSFSchema, StrictRJSFSchema, TemplatesType } from '@rjsf/utils';\nimport AddButton from '../AddButton';\nimport ArrayFieldItemTemplate from '../ArrayFieldItemTemplate';\nimport ArrayFieldTemplate from '../ArrayFieldTemplate';\nimport BaseInputTemplate from '../BaseInputTemplate/BaseInputTemplate';\nimport DescriptionField from '../DescriptionField';\nimport ErrorList from '../ErrorList';\nimport FieldErrorTemplate from '../FieldErrorTemplate';\nimport FieldHelpTemplate from '../FieldHelpTemplate';\nimport FieldTemplate from '../FieldTemplate';\nimport GridTemplate from '../GridTemplate';\nimport { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } from '../IconButton';\nimport ObjectFieldTemplate from '../ObjectFieldTemplate';\nimport SubmitButton from '../SubmitButton';\nimport TitleField from '../TitleField';\nimport WrapIfAdditionalTemplate from '../WrapIfAdditionalTemplate';\n\nexport function generateTemplates<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): Partial<TemplatesType<T, S, F>> {\n return {\n ArrayFieldItemTemplate,\n ArrayFieldTemplate,\n BaseInputTemplate,\n ButtonTemplates: {\n AddButton,\n CopyButton,\n MoveDownButton,\n MoveUpButton,\n RemoveButton,\n SubmitButton,\n },\n DescriptionFieldTemplate: DescriptionField,\n ErrorListTemplate: ErrorList,\n FieldErrorTemplate,\n FieldHelpTemplate,\n FieldTemplate,\n GridTemplate,\n ObjectFieldTemplate,\n TitleFieldTemplate: TitleField,\n WrapIfAdditionalTemplate,\n };\n}\n\nexport default generateTemplates();\n", "import {\n ariaDescribedByIds,\n descriptionId,\n FormContextType,\n getTemplate,\n labelValue,\n RJSFSchema,\n schemaRequiresTrueValue,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Checkbox } from '../components/ui/checkbox';\nimport { Label } from '../components/ui/label';\n\n/** The `CheckBoxWidget` is a widget for rendering boolean properties.\n * It is typically used to represent a boolean.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WidgetProps<T, S, F>) {\n const {\n id,\n value,\n disabled,\n readonly,\n label,\n hideLabel,\n schema,\n autofocus,\n options,\n onChange,\n onBlur,\n onFocus,\n registry,\n uiSchema,\n } = props;\n // Because an unchecked checkbox will cause html5 validation to fail, only add\n // the \"required\" attribute if the field value must be \"true\", due to the\n // \"const\" or \"enum\" keywords\n const required = schemaRequiresTrueValue<S>(schema);\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n options,\n );\n\n const _onChange = (checked: boolean) => onChange(checked);\n const _onBlur = () => onBlur(id, value);\n const _onFocus = () => onFocus(id, value);\n\n const description = options.description || schema.description;\n return (\n <div\n className={`relative ${disabled || readonly ? 'cursor-not-allowed opacity-50' : ''}`}\n aria-describedby={ariaDescribedByIds<T>(id)}\n >\n {!hideLabel && !!description && (\n <DescriptionFieldTemplate\n id={descriptionId<T>(id)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <div className='flex items-center gap-2 my-2'>\n <Checkbox\n id={id}\n name={id}\n checked={typeof value === 'undefined' ? false : Boolean(value)}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onCheckedChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n />\n <Label className='leading-tight' htmlFor={id}>\n {labelValue(label, hideLabel || !label)}\n </Label>\n </div>\n </div>\n );\n}\n", "'use client';\n\nimport { Indicator, Root } from '@radix-ui/react-checkbox';\nimport { CheckIcon } from '@radix-ui/react-icons';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\nimport { cn } from '../../lib/utils';\n\n/**\n * A checkbox component built on top of Radix UI Checkbox primitive\n * Renders an interactive checkbox that can be either checked or unchecked\n * @see https://ui.shadcn.com/docs/components/checkbox\n *\n * @param props - Props extending Radix UI Checkbox primitive props\n * @param props.className - Additional CSS classes to apply to the checkbox\n * @param ref - Forward ref to access the underlying checkbox element\n */\nconst Checkbox = forwardRef<ElementRef<typeof Root>, ComponentPropsWithoutRef<typeof Root>>(\n ({ className, ...props }, ref) => (\n <Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',\n className,\n )}\n {...props}\n >\n <Indicator className={cn('flex items-center justify-center text-current')}>\n <CheckIcon className='h-4 w-4' />\n </Indicator>\n </Root>\n ),\n);\nCheckbox.displayName = Root.displayName;\n\nexport { Checkbox };\n", "'use client';\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\n\nimport { cn } from '../../lib/utils';\n\nconst labelVariants = cva('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70');\n\n/**\n * A label component with styling variants\n *\n * @param props - The props for the Label component\n * @param props.className - Additional CSS classes to apply to the label\n * @param ref - The forwarded ref for the label element\n * @returns A styled label element\n */\nconst Label = forwardRef<\n ElementRef<typeof LabelPrimitive.Root>,\n ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n", "import {\n ariaDescribedByIds,\n enumOptionsDeselectValue,\n enumOptionsIsSelected,\n enumOptionsSelectValue,\n enumOptionsValueForIndex,\n FormContextType,\n optionId,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { FocusEvent } from 'react';\n\nimport { Checkbox } from '../components/ui/checkbox';\nimport { Label } from '../components/ui/label';\nimport { cn } from '../lib/utils';\n\n/** The `CheckboxesWidget` is a widget for rendering checkbox groups.\n * It is typically used to represent an array of enums.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxesWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({ id, disabled, options, value, autofocus, readonly, required, onChange, onBlur, onFocus }: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, inline, emptyValue } = options;\n const checkboxesValues = Array.isArray(value) ? value : [value];\n\n const _onBlur = ({ target }: FocusEvent<HTMLButtonElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(target && (target as any).value, enumOptions, emptyValue));\n const _onFocus = ({ target }: FocusEvent<HTMLButtonElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(target && (target as any).value, enumOptions, emptyValue));\n\n return (\n <div className={cn({ 'flex flex-col gap-2': !inline, 'flex flex-row gap-4 flex-wrap': inline })}>\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index: number) => {\n const checked = enumOptionsIsSelected<S>(option.value, checkboxesValues);\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n const indexOptionId = optionId(id, index);\n\n return (\n <div className='flex items-center gap-2' key={indexOptionId}>\n <Checkbox\n id={indexOptionId}\n name={id}\n required={required}\n disabled={disabled || itemDisabled || readonly}\n onCheckedChange={(state) => {\n if (state) {\n onChange(enumOptionsSelectValue<S>(index, checkboxesValues, enumOptions));\n } else {\n onChange(enumOptionsDeselectValue<S>(index, checkboxesValues, enumOptions));\n }\n }}\n checked={checked}\n autoFocus={autofocus && index === 0}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n <Label className='leading-tight' htmlFor={optionId(id, index)}>\n {option.label}\n </Label>\n </div>\n );\n })}\n </div>\n );\n}\n", "import {\n ariaDescribedByIds,\n enumOptionsIsSelected,\n enumOptionsValueForIndex,\n FormContextType,\n optionId,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { FocusEvent } from 'react';\n\nimport { Label } from '../components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '../components/ui/radio-group';\nimport { cn } from '../lib/utils';\n\n/** The `RadioWidget` is a widget for rendering a radio group.\n * It is typically used with a string property constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n options,\n value,\n required,\n disabled,\n readonly,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue } = options;\n\n const _onChange = (value: string) => onChange(enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n\n const inline = Boolean(options && options.inline);\n\n return (\n <div className='mb-0'>\n <RadioGroup\n defaultValue={value?.toString()}\n required={required}\n disabled={disabled || readonly}\n onValueChange={(e: string) => {\n _onChange(e);\n }}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n orientation={inline ? 'horizontal' : 'vertical'}\n className={cn('flex flex-wrap', { 'flex-col': !inline })}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index) => {\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n const checked = enumOptionsIsSelected<S>(option.value, value);\n return (\n <div className='flex items-center gap-2' key={optionId(id, index)}>\n <RadioGroupItem\n checked={checked}\n value={index.toString()}\n id={optionId(id, index)}\n disabled={itemDisabled}\n />\n <Label className='leading-tight'>{option.label}</Label>\n </div>\n );\n })}\n </RadioGroup>\n </div>\n );\n}\n", "'use client';\n\nimport { CheckIcon } from '@radix-ui/react-icons';\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * A radio group component for selecting a single option from a list\n *\n * @param props - The props for the RadioGroup component\n * @param props.className - Additional CSS classes to apply to the radio group\n * @param ref - The forwarded ref for the radio group element\n * @returns A radio group container element\n */\nconst RadioGroup = forwardRef<\n ElementRef<typeof RadioGroupPrimitive.Root>,\n ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return <RadioGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={ref} />;\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\n/**\n * An individual radio item within a RadioGroup\n *\n * @param props - The props for the RadioGroupItem component\n * @param props.className - Additional CSS classes to apply to the radio item\n * @param ref - The forwarded ref for the radio item element\n * @returns A styled radio input element\n */\nconst RadioGroupItem = forwardRef<\n ElementRef<typeof RadioGroupPrimitive.Item>,\n ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n 'aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className='flex items-center justify-center'>\n <CheckIcon className='h-3.5 w-3.5 fill-primary' />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n", "import { ariaDescribedByIds, FormContextType, rangeSpec, RJSFSchema, StrictRJSFSchema, WidgetProps } from '@rjsf/utils';\nimport _pick from 'lodash/pick';\n\nimport { Slider } from '../components/ui/slider';\n\nconst allowedProps = [\n 'name',\n 'min',\n 'max',\n 'step',\n 'orientation',\n 'disabled',\n 'defaultValue',\n 'value',\n 'onValueChange',\n 'className',\n 'dir',\n 'inverted',\n 'minStepsBetweenThumbs',\n];\n\n/**\n * A range widget component that renders a slider for number input\n * @param {object} props - The widget properties\n * @param {number} props.value - The current value of the range\n * @param {boolean} props.readonly - Whether the widget is read-only\n * @param {boolean} props.disabled - Whether the widget is disabled\n * @param {object} props.options - Additional options for the widget\n * @param props.schema - The JSON schema for this field\n * @param {(value: any) => void} props.onChange - Callback for when the value changes\n * @param {string} props.label - The label for the range input\n * @param {string} props.id - The unique identifier for the widget\n * @returns {JSX.Element} The rendered range widget\n */\nexport default function RangeWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n value,\n readonly,\n disabled,\n options,\n schema,\n onChange,\n label,\n id,\n}: WidgetProps<T, S, F>): JSX.Element {\n const _onChange = (value: number[]) => onChange(value[0]);\n\n const sliderProps = { value, label, id, ...rangeSpec<S>(schema) };\n const uiProps = { id, ..._pick((options.props as object) || {}, allowedProps) };\n return (\n <>\n <Slider\n disabled={disabled || readonly}\n min={sliderProps.min}\n max={sliderProps.max}\n step={sliderProps.step}\n value={[value as number]}\n onValueChange={_onChange}\n {...uiProps}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n {value}\n </>\n );\n}\n", "'use client';\n\nimport { Range, Root, Thumb, Track } from '@radix-ui/react-slider';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * A slider component for selecting a numeric value within a range\n *\n * @param props - The props for the Slider component\n * @param props.className - Additional CSS classes to apply to the slider\n * @param ref - The forwarded ref for the slider element\n * @returns A slider input element with track and thumb\n */\nconst Slider = forwardRef<ElementRef<typeof Root>, ComponentPropsWithoutRef<typeof Root>>(\n ({ className, ...props }, ref) => (\n <Root ref={ref} className={cn('relative flex w-full touch-none select-none items-center', className)} {...props}>\n <Track className='relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20'>\n <Range className='absolute h-full bg-primary' />\n </Track>\n <Thumb className='block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50' />\n </Root>\n ),\n);\nSlider.displayName = Root.displayName;\n\nexport { Slider };\n", "import {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\nimport { FancyMultiSelect } from '../components/ui/fancy-multi-select';\nimport { FancySelect } from '../components/ui/fancy-select';\nimport { cn } from '../lib/utils';\n\n/** The `SelectWidget` is a widget for rendering dropdowns.\n * It is typically used with string properties constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function SelectWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n id,\n options,\n required,\n disabled,\n readonly,\n value,\n multiple,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n defaultValue,\n placeholder,\n rawErrors = [],\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue: optEmptyValue } = options;\n\n const _onFancyFocus = () => {\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, optEmptyValue));\n };\n\n const _onFancyBlur = () => {\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, optEmptyValue));\n };\n\n const items = (enumOptions as any)?.map(({ value, label }: any, index: number) => ({\n value: multiple ? value : index.toString(),\n label: label,\n index,\n disabled: Array.isArray(enumDisabled) && enumDisabled.includes(value),\n }));\n\n return (\n <div className='p-0.5'>\n {!multiple ? (\n <FancySelect\n items={items}\n selected={enumOptionsIndexForValue<S>(value ?? defaultValue, enumOptions, false) as unknown as string}\n onValueChange={(selectedValue) => {\n onChange(enumOptionsValueForIndex<S>(selectedValue, enumOptions, optEmptyValue));\n }}\n autoFocus={autofocus}\n disabled={disabled || readonly}\n required={required}\n placeholder={placeholder}\n className={cn({ 'border-destructive': rawErrors.length > 0 })}\n onFocus={_onFancyFocus}\n onBlur={_onFancyBlur}\n ariaDescribedby={ariaDescribedByIds<T>(id)}\n />\n ) : (\n <FancyMultiSelect\n id={id}\n autoFocus={autofocus}\n disabled={disabled || readonly}\n multiple\n className={rawErrors.length > 0 ? 'border-destructive' : ''}\n items={items}\n selected={value}\n onValueChange={(values) => {\n onChange(enumOptionsValueForIndex<S>(values, enumOptions, optEmptyValue));\n }}\n onFocus={_onFancyFocus}\n onBlur={_onFancyBlur}\n />\n )}\n </div>\n );\n}\n", "'use client';\n\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { isEqual } from 'lodash';\nimport { X } from 'lucide-react';\nimport {\n FocusEvent,\n FocusEventHandler,\n KeyboardEvent,\n ReactElement,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { cn } from '../../lib/utils';\nimport { Badge } from './badge';\nimport { Command, CommandGroup, CommandItem, CommandList } from './command';\n\n/**\n * Represents an item in the fancy multi-select dropdown\n */\nexport type FancySelectItem = {\n /** The value of the item */\n value: any;\n /** The display label for the item */\n label: string;\n /** The index position of the item */\n index: number;\n /** Whether the item is disabled */\n disabled?: boolean;\n};\n\n/**\n * Props interface for the FancyMultiSelect component\n */\ninterface FancyMultiSelectProps {\n /** Whether multiple items can be selected */\n multiple: boolean;\n /** Array of items to display in the dropdown */\n items?: FancySelectItem[];\n /** Array of selected item values */\n selected: string[];\n /** Callback function when value changes */\n onValueChange?: (value: number[]) => void;\n /** Whether the component should autofocus */\n autoFocus?: boolean;\n /** ID of the element that describes this select */\n ariaDescribedby?: string;\n /** Aria placeholder text */\n ariaPlaceholder?: string;\n /** Additional className for styling */\n className?: string;\n /** Whether the select is disabled */\n disabled?: boolean;\n /** Callback function for blur event */\n onBlur?: FocusEventHandler<HTMLDivElement>;\n /** Callback function for focus event */\n onFocus?: FocusEventHandler<HTMLDivElement>;\n /** Unique identifier for the component */\n id: string;\n}\n\n/**\n * A fancy multi-select component that allows users to select multiple items from a dropdown\n * @param props - The component props\n * @returns A React component that renders a searchable multi-select dropdown with tags\n */\nexport function FancyMultiSelect({\n multiple,\n items = [],\n selected,\n onValueChange,\n autoFocus = false,\n disabled = false,\n ariaDescribedby,\n ariaPlaceholder,\n onFocus,\n onBlur,\n className,\n id,\n}: Readonly<FancyMultiSelectProps>): ReactElement {\n const inputRef = useRef<HTMLInputElement>(null);\n const [open, setOpen] = useState(false);\n const [inputValue, setInputValue] = useState('');\n\n const selectedItems = useMemo(\n () => items.filter((item) => selected.some((selectedValue) => isEqual(item.value, selectedValue))),\n [items, selected],\n );\n\n const selectables = useMemo(\n () => items.filter((framework) => !selectedItems.some((item) => isEqual(item.value, framework.value))),\n [items, selectedItems],\n );\n\n const handleUnselect = useCallback(\n (framework: FancySelectItem) => {\n if (disabled) {\n return;\n }\n const newSelected = selectedItems.filter((s) => !isEqual(s.value, framework.value));\n onValueChange?.(newSelected.map((item) => item.index));\n },\n [selectedItems, onValueChange, disabled],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n if (disabled || !inputRef.current || inputRef.current.value !== '') {\n return;\n }\n\n if (e.key === 'Delete' || e.key === 'Backspace') {\n const newSelected = selectedItems.slice(0, -1);\n onValueChange?.(newSelected.map((item) => item.index));\n } else if (e.key === 'Escape') {\n inputRef.current.blur();\n }\n },\n [selectedItems, onValueChange, disabled],\n );\n\n const handleSelect = useCallback(\n (item: FancySelectItem) => {\n if (disabled) {\n return;\n }\n setInputValue('');\n const newSelected = multiple ? [...selectedItems, item] : [item];\n onValueChange?.(newSelected.map((item) => item.index));\n },\n [multiple, selectedItems, onValueChange, disabled],\n );\n\n const handleFocus = useCallback(\n (e: FocusEvent<HTMLDivElement>) => {\n if (!disabled) {\n setOpen(true);\n }\n onFocus?.(e);\n },\n [disabled, onFocus],\n );\n\n return (\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent', className)}\n autoFocus={autoFocus}\n aria-disabled={disabled}\n onBlur={onBlur}\n onFocus={handleFocus}\n aria-describedby={ariaDescribedby}\n aria-placeholder={ariaPlaceholder}\n >\n <div\n className={cn(\n 'group border border-input px-3 py-2 text-sm ring-offset-background rounded-md focus-within:ring-1 focus-within:ring-ring focus-within:ring-offset-1',\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n <div className='flex gap-1 flex-wrap'>\n {selectedItems.map((item) => (\n <Badge key={item.value} variant='secondary'>\n {item.label}\n <button\n type='button'\n className='rtl:mr-1 ltr:ml-1 ring-offset-background rounded-full outline-none focus:ring-1 focus:ring-ring focus:ring-offset-1'\n onKeyDown={(e) => e.key === 'Enter' && !disabled && handleUnselect(item)}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={() => handleUnselect(item)}\n disabled={disabled}\n >\n <X\n className={cn(\n 'h-3 w-3 text-muted-foreground hover:text-foreground',\n disabled && 'pointer-events-none',\n )}\n />\n </button>\n </Badge>\n ))}\n <CommandPrimitive.Input\n ref={inputRef}\n value={inputValue}\n onValueChange={setInputValue}\n onBlur={() => setOpen(false)}\n onFocus={() => !disabled && setOpen(true)}\n placeholder='Select ...'\n className='rtl:mr-2 ltr:ml-2 bg-transparent outline-none placeholder:text-muted-foreground flex-1'\n disabled={disabled}\n aria-controls={`command-item-input-${id}`}\n aria-labelledby={`command-item-input-${id}`}\n id={`command-item-input-${id}`}\n />\n </div>\n </div>\n {open && !disabled && selectables.length > 0 && (\n <div className='relative mt-2'>\n <div className='absolute w-full z-10 top-0 rounded-md border bg-popover text-popover-foreground shadow-md outline-none animate-in'>\n <CommandGroup className='h-full overflow-auto'>\n <CommandList>\n {selectables.map((item) => (\n <CommandItem\n disabled={item.disabled}\n key={`${item.value}-command-item`}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n aria-controls={`${item.value}-command-item`}\n aria-labelledby={`${item.value}-command-item`}\n id={`${item.value}-command-item`}\n onSelect={() => handleSelect(item)}\n className='cursor-pointer'\n >\n {item.label}\n </CommandItem>\n ))}\n </CommandList>\n </CommandGroup>\n </div>\n </div>\n )}\n </Command>\n );\n}\n", "import { cva, type VariantProps } from 'class-variance-authority';\nimport { HTMLAttributes } from 'react';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Predefined badge variants using class-variance-authority\n * @see https://ui.shadcn.com/docs/components/badge\n */\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive: 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\n/**\n * Props for the Badge component\n * @extends HTMLAttributes<HTMLDivElement> - HTML div element attributes\n * @extends VariantProps<typeof badgeVariants> - Badge variant props\n */\nexport interface BadgeProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\n/**\n * A badge component that displays short status descriptors\n *\n * @param props - The props for the Badge component\n * @param props.className - Additional CSS classes to apply to the badge\n * @param props.variant - The style variant of the badge: 'default' | 'secondary' | 'destructive' | 'outline'\n * @returns A div element that displays as a badge\n */\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n", "'use client';\n\nimport { Dialog, DialogContent, type DialogProps } from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef, HTMLAttributes } from 'react';\nimport { cn } from '../../lib/utils';\n\n/**\n * The root Command component that provides command menu functionality\n * @see https://ui.shadcn.com/docs/components/command\n * @returns A command menu component\n */\nconst Command = forwardRef<ElementRef<typeof CommandPrimitive>, ComponentPropsWithoutRef<typeof CommandPrimitive>>(\n ({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n className,\n )}\n {...props}\n />\n ),\n);\nCommand.displayName = CommandPrimitive.displayName;\n\n/**\n * A dialog wrapper for the Command component to display it in a modal\n *\n * @param props - The props for the CommandDialog component\n * @param props.children - The content of the command dialog\n * @returns A dialog component containing the command menu\n */\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className='overflow-hidden p-0'>\n <Command className='[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\n/**\n * The search input field for the command menu\n *\n * @param props - The props for the CommandInput component\n * @param props.className - Additional CSS classes to apply\n * @returns A search input component for the command menu\n */\nconst CommandInput = forwardRef<\n ElementRef<typeof CommandPrimitive.Input>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className='flex items-center border-b px-3' {...{ 'cmdk-input-wrapper': '' }}>\n <Search className='mr-2 h-4 w-4 shrink-0 opacity-50' />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\n/**\n * Container for the list of command items\n *\n * @param props - The props for the CommandList component\n * @param props.className - Additional CSS classes to apply\n * @returns A container component for command items\n */\nconst CommandList = forwardRef<\n ElementRef<typeof CommandPrimitive.List>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\n/**\n * Displayed when no results are found\n */\nconst CommandEmpty = forwardRef<\n ElementRef<typeof CommandPrimitive.Empty>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => <CommandPrimitive.Empty ref={ref} className='py-6 text-center text-sm' {...props} />);\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\n/**\n * Groups related command items together\n *\n * @param props - The props for the CommandGroup component\n * @param props.className - Additional CSS classes to apply\n * @returns A group container for related command items\n */\nconst CommandGroup = forwardRef<\n ElementRef<typeof CommandPrimitive.Group>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground',\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\n/**\n * Visual separator between command groups or items\n * @returns A separator component for the command menu\n */\nconst CommandSeparator = forwardRef<\n ElementRef<typeof CommandPrimitive.Separator>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\n/**\n * Individual command item that can be selected\n *\n * @param props - The props for the CommandItem component\n * @param props.className - Additional CSS classes to apply\n * @returns A selectable command item component\n */\nconst CommandItem = forwardRef<\n ElementRef<typeof CommandPrimitive.Item>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\n/**\n * Displays keyboard shortcut hints for command items\n *\n * @param props - The props for the CommandShortcut component\n * @param props.className - Additional CSS classes to apply\n * @returns A component displaying keyboard shortcuts\n */\nconst CommandShortcut = ({ className, ...props }: HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ms-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n", "'use client';\n\nimport { Check, ChevronDown } from 'lucide-react';\nimport { FocusEvent, FocusEventHandler, ReactElement, useEffect, useRef, useState } from 'react';\nimport { cn } from '../../lib/utils';\nimport { Command, CommandGroup, CommandItem, CommandList } from './command';\n\n/**\n * Represents an item in the fancy select dropdown\n */\nexport type FancySelectItem = {\n /** The value of the item */\n value: any;\n /** The display label for the item */\n label: string;\n /** The index position of the item */\n index: number;\n /** Whether the item is disabled */\n disabled?: boolean;\n};\n\n/**\n * Props interface for the FancySelect component\n */\ninterface FancySelectInterface {\n /** Array of items to display in the dropdown */\n items: FancySelectItem[] | undefined;\n /** Currently selected item value */\n selected: string;\n /** Callback function when value changes */\n onValueChange?: (value: any) => void;\n /** Whether the component should autofocus */\n autoFocus?: boolean;\n /** ID of the element that describes this select */\n ariaDescribedby?: string;\n /** Aria placeholder text */\n ariaPlaceholder?: string;\n /** Additional className for styling */\n className?: string;\n /** Whether the select is disabled */\n disabled?: boolean;\n /** Callback function for blur event */\n onBlur?: FocusEventHandler<HTMLDivElement> | undefined;\n /** Callback function for focus event */\n onFocus?: FocusEventHandler<HTMLDivElement> | undefined;\n /** Whether the field is required */\n required?: boolean;\n /** Placeholder text when no item is selected */\n placeholder?: string;\n}\n\n/**\n * A fancy select component that provides a styled dropdown with search functionality\n * @param props - The component props\n * @returns A React component that renders a searchable select dropdown\n */\nexport function FancySelect({\n items,\n selected,\n onValueChange,\n autoFocus = false,\n disabled = false,\n required = false,\n placeholder = 'Select...',\n ariaDescribedby,\n ariaPlaceholder,\n onFocus,\n onBlur,\n className,\n}: Readonly<FancySelectInterface>): ReactElement {\n const [open, setOpen] = useState(false);\n const selectedItem = items?.find((item) => item.value === selected);\n const selectedRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && selectedRef.current) {\n requestAnimationFrame(() => {\n selectedRef.current?.scrollIntoView({ block: 'nearest' });\n });\n }\n }, [open]);\n\n const handleBlur = (e: FocusEvent<HTMLDivElement>) => {\n if (containerRef.current && !containerRef.current.contains(e.relatedTarget as Node)) {\n setOpen(false);\n }\n onBlur?.(e);\n };\n\n return (\n <Command\n ref={containerRef}\n className={cn('overflow-visible bg-transparent', className)}\n autoFocus={autoFocus}\n aria-disabled={disabled}\n onBlur={handleBlur}\n onFocus={onFocus}\n aria-describedby={ariaDescribedby}\n aria-placeholder={ariaPlaceholder}\n >\n <div\n onClick={() => !disabled && setOpen(!open)}\n className={cn(\n 'flex h-9 w-full items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n !selectedItem && required && 'border-red-500',\n disabled && 'opacity-50 cursor-not-allowed',\n className,\n )}\n >\n <span className={cn('flex-1 line-clamp-1', !selectedItem && 'text-muted-foreground')}>\n {selectedItem?.label || placeholder}\n </span>\n <ChevronDown className='h-4 w-4 opacity-50' />\n </div>\n <div className='relative'>\n {open && items && items.length > 0 ? (\n <div\n style={{ top: '0.5rem' }}\n className='absolute w-full z-10 rounded-md border bg-popover text-popover-foreground shadow-md outline-none'\n >\n <CommandGroup className='h-full overflow-auto'>\n <CommandList>\n {items.map((item) => (\n <CommandItem\n ref={item.value === selected ? selectedRef : undefined}\n key={item.value}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={() => {\n if (!item.disabled) {\n onValueChange?.(item.value);\n setOpen(false);\n }\n }}\n className={cn(\n 'cursor-pointer relative flex items-center justify-between rounded-sm py-1.5 gap-2 rtl:flex-row-reverse',\n item.value === selected && 'font-semibold',\n item.disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n <span>{item.label}</span>\n <span className='flex h-3.5 w-3.5 items-center justify-center'>\n {item.value === selected && <Check className='h-4 w-4' />}\n </span>\n </CommandItem>\n ))}\n </CommandList>\n </CommandGroup>\n </div>\n ) : null}\n </div>\n </Command>\n );\n}\n", "import { ChangeEvent, FocusEvent } from 'react';\nimport { ariaDescribedByIds, FormContextType, RJSFSchema, StrictRJSFSchema, WidgetProps } from '@rjsf/utils';\n\nimport { Textarea } from '../components/ui/textarea';\n\ntype CustomWidgetProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = WidgetProps<\n T,\n S,\n F\n> & {\n options: any;\n};\n\n/** The `TextareaWidget` is a widget for rendering input fields as textarea.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function TextareaWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n id,\n placeholder,\n value,\n required,\n disabled,\n autofocus,\n readonly,\n onBlur,\n onFocus,\n onChange,\n options,\n}: CustomWidgetProps<T, S, F>) {\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLTextAreaElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target }: FocusEvent<HTMLTextAreaElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLTextAreaElement>) => onFocus(id, target && target.value);\n\n return (\n <div className='flex p-0.5'>\n <Textarea\n id={id}\n name={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readonly}\n value={value ?? ''}\n required={required}\n autoFocus={autofocus}\n rows={options.rows || 5}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n </div>\n );\n}\n", "import { TextareaHTMLAttributes, forwardRef } from 'react';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Props for the Textarea component\n * @extends TextareaHTMLAttributes<HTMLTextAreaElement> - HTML textarea element attributes\n */\nexport type TextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement>;\n\n/**\n * A textarea component with styling and focus states\n *\n * @param props - The props for the Textarea component\n * @param props.className - Additional CSS classes to apply to the textarea\n * @param ref - The forwarded ref for the textarea element\n * @returns A styled textarea element\n */\nconst Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n", "import { FormContextType, RegistryWidgetsType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport CheckboxWidget from '../CheckboxWidget/CheckboxWidget';\nimport CheckboxesWidget from '../CheckboxesWidget/CheckboxesWidget';\nimport RadioWidget from '../RadioWidget/RadioWidget';\nimport RangeWidget from '../RangeWidget/RangeWidget';\nimport SelectWidget from '../SelectWidget/SelectWidget';\nimport TextareaWidget from '../TextareaWidget/TextareaWidget';\n\nexport function generateWidgets<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): RegistryWidgetsType<T, S, F> {\n return {\n CheckboxWidget,\n CheckboxesWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n };\n}\n\nexport default generateWidgets();\n", "import { ThemeProps } from '@rjsf/core';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nimport { generateTemplates } from '../Templates';\nimport { generateWidgets } from '../Widgets';\n\nexport function generateTheme<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): ThemeProps<T, S, F> {\n return {\n templates: generateTemplates<T, S, F>(),\n widgets: generateWidgets<T, S, F>(),\n };\n}\n\nexport default generateTheme();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_utils", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "ArrayFieldItemTemplate", "AddButton", "import_utils", "import_react", "import_jsx_runtime", "import_jsx_runtime", "value", "import_jsx_runtime", "import_utils", "import_lucide_react", "import_class_variance_authority", "import_react", "import_jsx_runtime", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "WrapIfAdditionalTemplate", "import_jsx_runtime", "import_utils", "import_lucide_react", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "AddButton", "import_utils", "import_jsx_runtime", "import_utils", "import_react", "import_jsx_runtime", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "RemoveButton", "import_utils", "import_react", "import_jsx_runtime", "import_class_variance_authority", "import_react", "import_jsx_runtime", "import_jsx_runtime", "import_utils", "import_jsx_runtime", "import_utils", "import_react_icons", "import_react", "import_jsx_runtime", "import_jsx_runtime", "value", "import_utils", "import_react", "import_jsx_runtime", "import_jsx_runtime", "value", "_pick", "import_utils", "import_cmdk", "import_lucide_react", "import_react", "import_class_variance_authority", "import_jsx_runtime", "import_lucide_react", "import_react", "import_jsx_runtime", "CommandPrimitive", "CommandPrimitive", "import_jsx_runtime", "item", "CommandPrimitive", "import_lucide_react", "import_react", "import_jsx_runtime", "import_jsx_runtime", "value", "import_utils", "import_react", "import_jsx_runtime", "import_jsx_runtime", "value"]
|
|
7
|
+
}
|
package/dist/orange.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:20 14.3% 4.1%;--card:0 0% 100%;--card-foreground:20 14.3% 4.1%;--popover:0 0% 100%;--popover-foreground:20 14.3% 4.1%;--primary:24.6 95% 53.1%;--primary-foreground:60 9.1% 97.8%;--secondary:60 4.8% 95.9%;--secondary-foreground:24 9.8% 10%;--muted:60 4.8% 95.9%;--muted-foreground:25 5.3% 44.7%;--accent:60 4.8% 95.9%;--accent-foreground:24 9.8% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:60 9.1% 97.8%;--border:20 5.9% 90%;--input:20 5.9% 90%;--ring:24.6 95% 53.1%;--radius:0.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:20 14.3% 4.1%;--foreground:60 9.1% 97.8%;--card:20 14.3% 4.1%;--card-foreground:60 9.1% 97.8%;--popover:20 14.3% 4.1%;--popover-foreground:60 9.1% 97.8%;--primary:20.5 90.2% 48.2%;--primary-foreground:60 9.1% 97.8%;--secondary:12 6.5% 15.1%;--secondary-foreground:60 9.1% 97.8%;--muted:12 6.5% 15.1%;--muted-foreground:24 5.4% 63.9%;--accent:12 6.5% 15.1%;--accent-foreground:60 9.1% 97.8%;--destructive:0 72.2% 50.6%;--destructive-foreground:60 9.1% 97.8%;--border:12 6.5% 15.1%;--input:12 6.5% 15.1%;--ring:20.5 90.2% 48.2%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.end-2{inset-inline-end:.5rem}.end-4{inset-inline-end:1rem}.left-\[50\%\]{left:50%}.top-0{top:0}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.row-span-1{grid-row:span 1/span 1}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.ms-auto{margin-inline-start:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.line-clamp-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.min-h-\[60px\]{min-height:60px}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary)/.5)}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-primary{fill:hsl(var(--primary))}.stroke-destructive{stroke:hsl(var(--destructive))}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pe-8{padding-inline-end:2rem}.pl-0\.5{padding-left:.125rem}.pr-0\.5{padding-right:.125rem}.ps-2{padding-inline-start:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.duration-200{animation-duration:.2s}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-ring:focus-within{--tw-ring-color:hsl(var(--ring))}.focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-start{text-align:start}}.ltr\:ml-1:where([dir=ltr],[dir=ltr] *){margin-left:.25rem}.ltr\:ml-2:where([dir=ltr],[dir=ltr] *){margin-left:.5rem}.rtl\:mr-1:where([dir=rtl],[dir=rtl] *){margin-right:.25rem}.rtl\:mr-2:where([dir=rtl],[dir=rtl] *){margin-right:.5rem}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:space-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\[\&\>span\]\:line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:start-4>svg{inset-inline-start:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:ps-7>svg~*{padding-inline-start:1.75rem}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
|
package/dist/red.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 72.2% 50.6%;--primary-foreground:0 85.7% 97.3%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 72.2% 50.6%;--radius:0.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 72.2% 50.6%;--primary-foreground:0 85.7% 97.3%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 72.2% 50.6%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.end-2{inset-inline-end:.5rem}.end-4{inset-inline-end:1rem}.left-\[50\%\]{left:50%}.top-0{top:0}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.row-span-1{grid-row:span 1/span 1}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.ms-auto{margin-inline-start:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.line-clamp-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.min-h-\[60px\]{min-height:60px}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary)/.5)}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-primary{fill:hsl(var(--primary))}.stroke-destructive{stroke:hsl(var(--destructive))}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pe-8{padding-inline-end:2rem}.pl-0\.5{padding-left:.125rem}.pr-0\.5{padding-right:.125rem}.ps-2{padding-inline-start:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.duration-200{animation-duration:.2s}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-ring:focus-within{--tw-ring-color:hsl(var(--ring))}.focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-start{text-align:start}}.ltr\:ml-1:where([dir=ltr],[dir=ltr] *){margin-left:.25rem}.ltr\:ml-2:where([dir=ltr],[dir=ltr] *){margin-left:.5rem}.rtl\:mr-1:where([dir=rtl],[dir=rtl] *){margin-right:.25rem}.rtl\:mr-2:where([dir=rtl],[dir=rtl] *){margin-right:.5rem}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:space-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\[\&\>span\]\:line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:start-4>svg{inset-inline-start:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:ps-7>svg~*{padding-inline-start:1.75rem}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
|