@harshshahcg/survey-render 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/components/QuestionListCarousel.d.ts +16 -0
  2. package/dist/components/QuestionMapper.d.ts +3 -1
  3. package/dist/components/{QuestionOverviewPanel/QuestionOverviewPanel.d.ts → QuestionOverviewPanel.d.ts} +1 -2
  4. package/dist/components/QuestionRenderer.d.ts +3 -1
  5. package/dist/components/{SubmissionLoadingOverlay/SubmissionLoadingOverlay.d.ts → SubmissionLoadingOverlay.d.ts} +0 -1
  6. package/dist/components/{SurveyContainer/SurveyContainer.d.ts → SurveyContainer.d.ts} +5 -3
  7. package/dist/components/SurveyProgressBar.d.ts +25 -0
  8. package/dist/components/SurveyRenderer.d.ts +3 -0
  9. package/dist/components/custom/{DatePicker/DatePicker.d.ts → DatePicker.d.ts} +0 -1
  10. package/dist/components/custom/{Dropdown/Dropdown.d.ts → Dropdown.d.ts} +0 -1
  11. package/dist/components/custom/{MCQSelect/MCQSelect.d.ts → MCQSelect.d.ts} +3 -2
  12. package/dist/components/custom/{TabularInput/TabularInput.d.ts → TabularInput.d.ts} +0 -1
  13. package/dist/components/custom/{TextResponse/TextResponse.d.ts → TextResponse.d.ts} +0 -1
  14. package/dist/components/ui/{ErrorMessage/ErrorMessage.d.ts → ErrorMessage.d.ts} +3 -1
  15. package/dist/components/ui/{Alert/Alert.d.ts → alert.d.ts} +5 -11
  16. package/dist/components/ui/badge.d.ts +9 -0
  17. package/dist/components/ui/button-variants.d.ts +4 -0
  18. package/dist/components/ui/{Button/Button.d.ts → button.d.ts} +3 -6
  19. package/dist/components/ui/{Card/Card.d.ts → card.d.ts} +1 -4
  20. package/dist/components/ui/dialog.d.ts +17 -0
  21. package/dist/components/ui/{Input/Input.d.ts → input.d.ts} +0 -1
  22. package/dist/components/ui/{Label/Label.d.ts → label.d.ts} +1 -2
  23. package/dist/components/ui/{Pagination/Pagination.d.ts → pagination.d.ts} +2 -3
  24. package/dist/components/ui/popover.d.ts +7 -0
  25. package/dist/components/ui/progress.d.ts +4 -0
  26. package/dist/components/ui/select.d.ts +15 -0
  27. package/dist/components/ui/tabs.d.ts +7 -0
  28. package/dist/components/ui/{Textarea/Textarea.d.ts → textarea.d.ts} +0 -1
  29. package/dist/index.d.ts +2 -1
  30. package/dist/lib/utils.d.ts +2 -5
  31. package/dist/surveyRender.js +6429 -1803
  32. package/dist/surveyRender.js.map +1 -1
  33. package/dist/surveyRender.umd.cjs +85 -11
  34. package/dist/surveyRender.umd.cjs.map +1 -1
  35. package/dist/utils/themeStatusStyles.d.ts +1 -1
  36. package/package.json +17 -2
  37. package/dist/components/QuestionListCarousel/QuestionListCarousel.d.ts +0 -10
  38. package/dist/components/QuestionListCarousel/index.d.ts +0 -2
  39. package/dist/components/QuestionOverviewPanel/index.d.ts +0 -2
  40. package/dist/components/SubmissionLoadingOverlay/index.d.ts +0 -2
  41. package/dist/components/SurveyContainer/index.d.ts +0 -2
  42. package/dist/components/SurveyProgressBar/SurveyProgressBar.d.ts +0 -16
  43. package/dist/components/SurveyProgressBar/index.d.ts +0 -2
  44. package/dist/components/custom/DatePicker/index.d.ts +0 -2
  45. package/dist/components/custom/Dropdown/index.d.ts +0 -2
  46. package/dist/components/custom/MCQSelect/index.d.ts +0 -2
  47. package/dist/components/custom/TabularInput/index.d.ts +0 -2
  48. package/dist/components/custom/TextResponse/index.d.ts +0 -2
  49. package/dist/components/icons.d.ts +0 -10
  50. package/dist/components/ui/Alert/index.d.ts +0 -1
  51. package/dist/components/ui/Badge/Badge.d.ts +0 -9
  52. package/dist/components/ui/Badge/index.d.ts +0 -1
  53. package/dist/components/ui/Button/index.d.ts +0 -2
  54. package/dist/components/ui/Card/index.d.ts +0 -1
  55. package/dist/components/ui/Dialog/Dialog.d.ts +0 -30
  56. package/dist/components/ui/Dialog/index.d.ts +0 -2
  57. package/dist/components/ui/ErrorMessage/index.d.ts +0 -1
  58. package/dist/components/ui/Input/index.d.ts +0 -1
  59. package/dist/components/ui/Label/index.d.ts +0 -2
  60. package/dist/components/ui/Pagination/index.d.ts +0 -1
  61. package/dist/components/ui/Popover/Popover.d.ts +0 -18
  62. package/dist/components/ui/Popover/index.d.ts +0 -2
  63. package/dist/components/ui/Progress/Progress.d.ts +0 -8
  64. package/dist/components/ui/Progress/index.d.ts +0 -2
  65. package/dist/components/ui/Select/Select.d.ts +0 -38
  66. package/dist/components/ui/Select/index.d.ts +0 -2
  67. package/dist/components/ui/Tabs/Tabs.d.ts +0 -19
  68. package/dist/components/ui/Tabs/index.d.ts +0 -2
  69. package/dist/components/ui/Textarea/index.d.ts +0 -1
@@ -0,0 +1,16 @@
1
+ export type QuestionStatus = "completed" | "unanswered" | "required" | "error";
2
+ export type CarouselVariant = "default" | "PLC";
3
+ export interface QuestionListCarouselProps {
4
+ /** Ordered list of visible question IDs (e.g. Q1, Q2, Q6.1) */
5
+ questions: string[];
6
+ /** Currently active question ID (controlled by parent) */
7
+ activeQuestionId: string | undefined;
8
+ /** Called when user selects a question (click card or arrow) */
9
+ onQuestionSelect: (questionId: string) => void;
10
+ /** Optional map of questionId -> status for styling */
11
+ questionStatusMap?: Record<string, QuestionStatus>;
12
+ className?: string;
13
+ /** Visual variant. "PLC" matches the legacy training-app design. Default: "default" */
14
+ variant?: CarouselVariant;
15
+ }
16
+ export declare function QuestionListCarousel({ questions, activeQuestionId, onQuestionSelect, questionStatusMap, className, variant, }: QuestionListCarouselProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,5 @@
1
1
  import type { SurveyQuestion } from "../types/survey.types";
2
+ import { type MCQVariant } from "./custom/MCQSelect";
2
3
  import type { EffectiveMediaConfig } from "../utils/fileUtils";
3
4
  export interface QuestionMapperProps {
4
5
  question: SurveyQuestion;
@@ -9,5 +10,6 @@ export interface QuestionMapperProps {
9
10
  disabled?: boolean;
10
11
  mediaConfig?: EffectiveMediaConfig | null;
11
12
  className?: string;
13
+ variant?: MCQVariant;
12
14
  }
13
- export default function QuestionMapper({ question, value, onChange, error, touched, disabled, mediaConfig, className, }: QuestionMapperProps): import("react/jsx-runtime").JSX.Element;
15
+ export default function QuestionMapper({ question, value, onChange, error, touched, disabled, mediaConfig, className, variant, }: QuestionMapperProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
- import type { SurveyQuestion } from "../../types/survey.types";
2
- import "./QuestionOverviewPanel.css";
1
+ import type { SurveyQuestion } from "../types/survey.types";
3
2
  export interface QuestionOverviewPanelProps {
4
3
  isOpen: boolean;
5
4
  onClose: () => void;
@@ -1,5 +1,6 @@
1
1
  import type { SurveyQuestion } from "../types/survey.types";
2
2
  import type { EffectiveMediaConfig } from "../utils/fileUtils";
3
+ import type { MCQVariant } from "./custom/MCQSelect";
3
4
  export interface QuestionRendererProps {
4
5
  question: SurveyQuestion;
5
6
  value: unknown;
@@ -12,5 +13,6 @@ export interface QuestionRendererProps {
12
13
  }>;
13
14
  mediaConfig?: EffectiveMediaConfig | null;
14
15
  className?: string;
16
+ variant?: MCQVariant;
15
17
  }
16
- export declare function QuestionRenderer({ question, value, onChange, disabled, error, validationErrors, mediaConfig, className, }: QuestionRendererProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function QuestionRenderer({ question, value, onChange, disabled, error, validationErrors, mediaConfig, className, variant, }: QuestionRendererProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- import "./SubmissionLoadingOverlay.css";
2
1
  export interface SubmissionLoadingOverlayProps {
3
2
  show: boolean;
4
3
  }
@@ -1,5 +1,5 @@
1
- import type { SurveyConfig, SurveySubmitPayload } from "../../types/survey.types";
2
- import "./SurveyContainer.css";
1
+ import type { SurveyConfig, SurveySubmitPayload } from "../types/survey.types";
2
+ import type { MCQVariant } from "./custom/MCQSelect";
3
3
  export interface SurveyProgressBarConfig {
4
4
  /** "position" = progress by step index. "completion" = by answered mandatory (FMB logic). Default: "completion" */
5
5
  progressMode?: "position" | "completion";
@@ -28,5 +28,7 @@ export interface SurveyContainerProps {
28
28
  theme?: string;
29
29
  /** Progress bar configuration. Omit to use defaults. Pass false to hide. */
30
30
  progressBar?: SurveyProgressBarConfig | false;
31
+ /** Visual variant for MCQ + carousel. "PLC" uses the legacy training-app design. Default: "default" */
32
+ variant?: MCQVariant;
31
33
  }
32
- export declare function SurveyContainer({ data, onSubmit, onSave, onExit, isSubmitting, className, showHeader, theme, progressBar, }: SurveyContainerProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function SurveyContainer({ data, onSubmit, onSave, onExit, isSubmitting, className, showHeader, theme, progressBar, variant, }: SurveyContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ export type ProgressMode = "position" | "completion";
2
+ export type ProgressBarVariant = "default" | "gradient";
3
+ export interface SurveyProgressBarProps {
4
+ /** Current step index (0-based). */
5
+ currentIndex: number;
6
+ /** Total number of steps. */
7
+ totalSteps: number;
8
+ /** "position" = progress by step index. "completion" = progress by answered mandatory (FMB logic). Default: "completion" */
9
+ progressMode?: ProgressMode;
10
+ /** Progress value 0-100. Used when progressMode is "completion". */
11
+ progressValue?: number;
12
+ /** Show "Question X of Y" label. Default: true */
13
+ showLabel?: boolean;
14
+ /** Show percentage. Default: true */
15
+ showPercentage?: boolean;
16
+ /** Custom label format. Use {current} and {total} placeholders. Default: "Question {current} of {total}" */
17
+ labelFormat?: string;
18
+ /** Max width of the progress bar + percentage (e.g. "240px"). Default: "240px" */
19
+ progressMaxWidth?: string;
20
+ /** "default" = Radix Progress. "gradient" = FMB-style gradient bar. Default: "default" */
21
+ variant?: ProgressBarVariant;
22
+ /** Additional class name for the container. */
23
+ className?: string;
24
+ }
25
+ export declare function SurveyProgressBar({ currentIndex, totalSteps, progressMode, progressValue, showLabel, showPercentage, labelFormat, progressMaxWidth, variant, className, }: SurveyProgressBarProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import type { SurveyConfig, SurveySubmitPayload } from "../types/survey.types";
2
2
  import type { PLCSurveyConfig } from "../converters/types";
3
3
  import type { SurveyProgressBarConfig } from "./SurveyContainer";
4
+ import type { MCQVariant } from "./custom/MCQSelect";
4
5
  /** Survey input: FMB (internal format) or PLC (converted to FMB at runtime). */
5
6
  export type SurveyInputData = SurveyConfig | PLCSurveyConfig;
6
7
  /** Payload passed to onSubmit/onSave: FMB or PLC depending on input data type. */
@@ -20,6 +21,8 @@ export interface SurveyRendererProps {
20
21
  theme?: string;
21
22
  /** Progress bar config. Omit for defaults. Pass false to hide. */
22
23
  progressBar?: SurveyProgressBarConfig | false;
24
+ /** Visual variant for MCQ + carousel. "PLC" uses the legacy training-app design. Default: "default" */
25
+ variant?: MCQVariant;
23
26
  }
24
27
  /**
25
28
  * Main entry component. Renders a full survey from JSON config.
@@ -1,4 +1,3 @@
1
- import "./DatePicker.css";
2
1
  export interface DatePickerProps {
3
2
  selectedDate?: Date;
4
3
  onDateSelect: (date: Date | undefined) => void;
@@ -1,4 +1,3 @@
1
- import "./Dropdown.css";
2
1
  export interface DropdownOption {
3
2
  value: string;
4
3
  label: string;
@@ -1,8 +1,8 @@
1
- import "./MCQSelect.css";
2
1
  export interface MCQOption {
3
2
  id: string;
4
3
  text: string;
5
4
  }
5
+ export type MCQVariant = "default" | "PLC";
6
6
  export interface MCQSelectProps {
7
7
  options: MCQOption[];
8
8
  selectionMode: "single" | "multiple";
@@ -10,5 +10,6 @@ export interface MCQSelectProps {
10
10
  onOptionSelect: (optionId: string | string[]) => void;
11
11
  className?: string;
12
12
  disabled?: boolean;
13
+ variant?: MCQVariant;
13
14
  }
14
- export default function MCQSelect({ options, selectionMode, selectedOptions, onOptionSelect, className, disabled, }: MCQSelectProps): import("react/jsx-runtime").JSX.Element;
15
+ export default function MCQSelect({ options, selectionMode, selectedOptions, onOptionSelect, className, disabled, variant, }: MCQSelectProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- import "./TabularInput.css";
2
1
  export interface TabularInputOption {
3
2
  id: string;
4
3
  text: string;
@@ -1,4 +1,3 @@
1
- import "./TextResponse.css";
2
1
  export interface TextResponseProps {
3
2
  value?: string;
4
3
  onChange: (value: string) => void;
@@ -1,4 +1,6 @@
1
- import "./ErrorMessage.css";
1
+ /**
2
+ * Reusable inline error message for validation feedback.
3
+ */
2
4
  interface ErrorMessageProps {
3
5
  error?: string;
4
6
  className?: string;
@@ -1,15 +1,9 @@
1
1
  import * as React from "react";
2
- import "./Alert.css";
3
- type AlertVariant = "default" | "destructive";
4
- declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & {
5
- variant?: AlertVariant;
6
- }): import("react/jsx-runtime").JSX.Element;
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const alertVariants: (props?: ({
4
+ variant?: "default" | "destructive" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
7
7
  declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
- declare namespace AlertTitle {
9
- var displayName: string;
10
- }
11
8
  declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
- declare namespace AlertDescription {
13
- var displayName: string;
14
- }
15
9
  export { Alert, AlertTitle, AlertDescription };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
7
+ asChild?: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
@@ -0,0 +1,4 @@
1
+ export declare const buttonVariants: (props?: ({
2
+ variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
3
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1,10 +1,7 @@
1
1
  import * as React from "react";
2
- import "./Button.css";
3
- type ButtonVariant = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
4
- type ButtonSize = "default" | "sm" | "lg" | "icon";
5
- export interface ButtonProps extends React.ComponentProps<"button"> {
6
- variant?: ButtonVariant;
7
- size?: ButtonSize;
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { buttonVariants } from "./button-variants";
4
+ interface ButtonProps extends React.ComponentProps<"button">, VariantProps<typeof buttonVariants> {
8
5
  asChild?: boolean;
9
6
  bgColor?: string;
10
7
  textColor?: string;
@@ -1,12 +1,9 @@
1
1
  import * as React from "react";
2
- import "./Card.css";
3
2
  declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
3
  declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
4
  declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
6
5
  declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
6
  declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
7
  declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
- declare function CardFooter({ className, ...props }: React.ComponentProps<"div"> & {
10
- "data-border"?: boolean;
11
- }): import("react/jsx-runtime").JSX.Element;
8
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
9
  export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DialogContent({ className, children, showCloseButton, container, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
+ showCloseButton?: boolean;
10
+ /** Mount portal inside this element so dialog inherits theme (data-theme) */
11
+ container?: HTMLElement | null;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
14
+ declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
15
+ declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
16
+ declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
17
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -1,4 +1,3 @@
1
1
  import * as React from "react";
2
- import "./Input.css";
3
2
  declare function Input({ className, type, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
4
3
  export { Input };
@@ -1,5 +1,4 @@
1
- import * as React from "react";
2
- import "./Label.css";
1
+ import React from "react";
3
2
  export interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
4
3
  className?: string;
5
4
  }
@@ -1,13 +1,12 @@
1
1
  import * as React from "react";
2
- import "./Pagination.css";
3
2
  declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
4
3
  declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
5
- declare function PaginationItem(props: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
4
+ declare function PaginationItem({ ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
6
5
  type PaginationLinkProps = {
7
6
  isActive?: boolean;
8
7
  size?: "default" | "sm" | "lg" | "icon";
9
8
  } & React.ComponentProps<"a">;
10
- declare function PaginationLink({ className, isActive, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
9
+ declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
11
10
  declare function PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>): import("react/jsx-runtime").JSX.Element;
12
11
  declare function PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>): import("react/jsx-runtime").JSX.Element;
13
12
  declare function PaginationEllipsis({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
3
+ declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
6
+ declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): import("react/jsx-runtime").JSX.Element;
7
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
3
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Progress };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: "sm" | "default";
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SelectContent({ className, children, position, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
5
+ declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
@@ -1,4 +1,3 @@
1
1
  import * as React from "react";
2
- import "./Textarea.css";
3
2
  declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
4
3
  export { Textarea };
package/dist/index.d.ts CHANGED
@@ -16,7 +16,8 @@ export { SubmissionLoadingOverlay } from "./components/SubmissionLoadingOverlay"
16
16
  export type { SurveyRendererProps } from "./components/SurveyRenderer";
17
17
  export type { SurveyContainerProps, SurveyProgressBarConfig, } from "./components/SurveyContainer";
18
18
  export type { QuestionRendererProps } from "./components/QuestionRenderer";
19
- export type { QuestionListCarouselProps, QuestionStatus as CarouselQuestionStatus } from "./components/QuestionListCarousel";
19
+ export type { QuestionListCarouselProps, QuestionStatus as CarouselQuestionStatus, CarouselVariant, } from "./components/QuestionListCarousel";
20
+ export type { MCQVariant } from "./components/custom/MCQSelect";
20
21
  export type { QuestionOverviewPanelProps } from "./components/QuestionOverviewPanel";
21
22
  export type { ValidationDialogProps } from "./components/ValidationDialog";
22
23
  export type { ExitConfirmationDialogProps } from "./components/ExitConfirmationDialog";
@@ -1,5 +1,2 @@
1
- /**
2
- * Simple class name merger. Replaces clsx + tailwind-merge.
3
- * Accepts strings and undefined; duplicates are not deduped.
4
- */
5
- export declare function cn(...inputs: (string | undefined | null | false)[]): string;
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;