@vengage/ui 0.1.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 (107) hide show
  1. package/README.md +73 -0
  2. package/dist/components/ChartCard.d.ts +11 -0
  3. package/dist/components/ChartCard.d.ts.map +1 -0
  4. package/dist/components/DataTable.d.ts +38 -0
  5. package/dist/components/DataTable.d.ts.map +1 -0
  6. package/dist/components/Dropdown.d.ts +3 -0
  7. package/dist/components/Dropdown.d.ts.map +1 -0
  8. package/dist/components/EmptyState.d.ts +10 -0
  9. package/dist/components/EmptyState.d.ts.map +1 -0
  10. package/dist/components/FormField.d.ts +14 -0
  11. package/dist/components/FormField.d.ts.map +1 -0
  12. package/dist/components/KPICard.d.ts +10 -0
  13. package/dist/components/KPICard.d.ts.map +1 -0
  14. package/dist/components/Loader.d.ts +7 -0
  15. package/dist/components/Loader.d.ts.map +1 -0
  16. package/dist/components/Modal.d.ts +17 -0
  17. package/dist/components/Modal.d.ts.map +1 -0
  18. package/dist/components/Navbar.d.ts +8 -0
  19. package/dist/components/Navbar.d.ts.map +1 -0
  20. package/dist/components/PageHeader.d.ts +9 -0
  21. package/dist/components/PageHeader.d.ts.map +1 -0
  22. package/dist/components/Sidebar.d.ts +17 -0
  23. package/dist/components/Sidebar.d.ts.map +1 -0
  24. package/dist/components/Skeleton.d.ts +2 -0
  25. package/dist/components/Skeleton.d.ts.map +1 -0
  26. package/dist/components/Toast.d.ts +4 -0
  27. package/dist/components/Toast.d.ts.map +1 -0
  28. package/dist/components/index.d.ts +61 -0
  29. package/dist/components/index.d.ts.map +1 -0
  30. package/dist/components/ui/badge.d.ts +10 -0
  31. package/dist/components/ui/badge.d.ts.map +1 -0
  32. package/dist/components/ui/button.d.ts +14 -0
  33. package/dist/components/ui/button.d.ts.map +1 -0
  34. package/dist/components/ui/card.d.ts +8 -0
  35. package/dist/components/ui/card.d.ts.map +1 -0
  36. package/dist/components/ui/checkbox.d.ts +15 -0
  37. package/dist/components/ui/checkbox.d.ts.map +1 -0
  38. package/dist/components/ui/compact-selection-card.d.ts +10 -0
  39. package/dist/components/ui/compact-selection-card.d.ts.map +1 -0
  40. package/dist/components/ui/date-picker.d.ts +41 -0
  41. package/dist/components/ui/date-picker.d.ts.map +1 -0
  42. package/dist/components/ui/dialog.d.ts +19 -0
  43. package/dist/components/ui/dialog.d.ts.map +1 -0
  44. package/dist/components/ui/dropdown-menu.d.ts +18 -0
  45. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  46. package/dist/components/ui/dropdown-selection-card.d.ts +11 -0
  47. package/dist/components/ui/dropdown-selection-card.d.ts.map +1 -0
  48. package/dist/components/ui/field-border-label.d.ts +16 -0
  49. package/dist/components/ui/field-border-label.d.ts.map +1 -0
  50. package/dist/components/ui/input.d.ts +15 -0
  51. package/dist/components/ui/input.d.ts.map +1 -0
  52. package/dist/components/ui/label.d.ts +4 -0
  53. package/dist/components/ui/label.d.ts.map +1 -0
  54. package/dist/components/ui/radio-group.d.ts +20 -0
  55. package/dist/components/ui/radio-group.d.ts.map +1 -0
  56. package/dist/components/ui/searchable-dropdown.d.ts +46 -0
  57. package/dist/components/ui/searchable-dropdown.d.ts.map +1 -0
  58. package/dist/components/ui/select.d.ts +12 -0
  59. package/dist/components/ui/select.d.ts.map +1 -0
  60. package/dist/components/ui/selection-card.d.ts +8 -0
  61. package/dist/components/ui/selection-card.d.ts.map +1 -0
  62. package/dist/components/ui/sheet.d.ts +42 -0
  63. package/dist/components/ui/sheet.d.ts.map +1 -0
  64. package/dist/components/ui/slot-calendar.d.ts +42 -0
  65. package/dist/components/ui/slot-calendar.d.ts.map +1 -0
  66. package/dist/components/ui/tabs.d.ts +7 -0
  67. package/dist/components/ui/tabs.d.ts.map +1 -0
  68. package/dist/components/ui/toggle.d.ts +18 -0
  69. package/dist/components/ui/toggle.d.ts.map +1 -0
  70. package/dist/components/ui/typography.d.ts +12 -0
  71. package/dist/components/ui/typography.d.ts.map +1 -0
  72. package/dist/favicon.svg +1 -0
  73. package/dist/hooks/index.d.ts +7 -0
  74. package/dist/hooks/index.d.ts.map +1 -0
  75. package/dist/hooks/useDebounce.d.ts +2 -0
  76. package/dist/hooks/useDebounce.d.ts.map +1 -0
  77. package/dist/hooks/useModal.d.ts +8 -0
  78. package/dist/hooks/useModal.d.ts.map +1 -0
  79. package/dist/hooks/usePagination.d.ts +13 -0
  80. package/dist/hooks/usePagination.d.ts.map +1 -0
  81. package/dist/hooks/usePalette.d.ts +5 -0
  82. package/dist/hooks/usePalette.d.ts.map +1 -0
  83. package/dist/hooks/useTheme.d.ts +3 -0
  84. package/dist/hooks/useTheme.d.ts.map +1 -0
  85. package/dist/icons.svg +24 -0
  86. package/dist/index.d.ts +9 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +32722 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/styles.css +1 -0
  91. package/dist/themes/ThemeProvider.d.ts +23 -0
  92. package/dist/themes/ThemeProvider.d.ts.map +1 -0
  93. package/dist/themes/palettes.d.ts +9 -0
  94. package/dist/themes/palettes.d.ts.map +1 -0
  95. package/dist/utils/cn.d.ts +3 -0
  96. package/dist/utils/cn.d.ts.map +1 -0
  97. package/dist/utils/constants.d.ts +6 -0
  98. package/dist/utils/constants.d.ts.map +1 -0
  99. package/dist/utils/dates.d.ts +4 -0
  100. package/dist/utils/dates.d.ts.map +1 -0
  101. package/dist/utils/formatters.d.ts +5 -0
  102. package/dist/utils/formatters.d.ts.map +1 -0
  103. package/dist/utils/helpers.d.ts +4 -0
  104. package/dist/utils/helpers.d.ts.map +1 -0
  105. package/dist/utils/index.d.ts +6 -0
  106. package/dist/utils/index.d.ts.map +1 -0
  107. package/package.json +91 -0
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const inputVariants: (props?: ({
4
+ size?: "xxs" | "xs" | "s" | "m" | "l" | "xl" | "xxl" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof inputVariants> {
7
+ error?: string;
8
+ search?: boolean;
9
+ /** Label text on the top border (outlined field style). */
10
+ labelOnBorder?: string;
11
+ required?: boolean;
12
+ }
13
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
14
+ export {};
15
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,QAAA,MAAM,aAAa;;8EAkBlB,CAAC;AAeF,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAC/D,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,qFA4FjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ export declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
4
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/components/ui/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,KAAK,yJAYhB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ export type ControlSize = "xxs" | "xs" | "s" | "m" | "l" | "xl" | "xxl";
5
+ declare const radioGroupVariants: (props?: ({
6
+ layout?: "horizontal" | "vertical" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export interface RadioGroupProps extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>, VariantProps<typeof radioGroupVariants> {
9
+ size?: ControlSize;
10
+ }
11
+ export declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
12
+ export interface RadioGroupItemProps extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> {
13
+ size?: ControlSize;
14
+ label?: React.ReactNode;
15
+ labelClassName?: string;
16
+ wrapperClassName?: string;
17
+ }
18
+ export declare const RadioGroupItem: React.ForwardRefExoticComponent<RadioGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
19
+ export {};
20
+ //# sourceMappingURL=radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;AAIxE,QAAA,MAAM,kBAAkB;;8EAUtB,CAAC;AA6DH,MAAM,WAAW,eACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,EACrE,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AA0BD,eAAO,MAAM,UAAU,wFAarB,CAAC;AAGH,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,+FA8C1B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const comboboxVariants: (props?: ({
4
+ size?: "xxs" | "xs" | "s" | "m" | "l" | "xl" | "xxl" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface SearchableDropdownOption {
7
+ /** Unique option identifier */
8
+ value: string;
9
+ /** Display label */
10
+ label: string;
11
+ /** Optional description rendered below the label */
12
+ description?: string;
13
+ /** Optional icon rendered to the left of the label */
14
+ icon?: React.ReactNode;
15
+ /** Whether the option is disabled */
16
+ disabled?: boolean;
17
+ }
18
+ export interface SearchableDropdownProps extends VariantProps<typeof comboboxVariants> {
19
+ /** All selectable options */
20
+ options: SearchableDropdownOption[];
21
+ /** Currently selected value(s) */
22
+ value?: string | string[];
23
+ /** Called when selection changes */
24
+ onChange?: (value: string | string[]) => void;
25
+ /** Placeholder text shown when nothing is typed / selected */
26
+ placeholder?: string;
27
+ /** Allow selecting multiple options */
28
+ multiple?: boolean;
29
+ /** Disable the whole control */
30
+ disabled?: boolean;
31
+ /** Validation error message */
32
+ error?: string;
33
+ /** Additional class names on the wrapper */
34
+ className?: string;
35
+ /** Max height of the option list (px) */
36
+ maxHeight?: number;
37
+ /** Message shown when no options match */
38
+ emptyMessage?: string;
39
+ /** Called when the user types in the search field (for async/server-side search). */
40
+ onQueryChange?: (query: string) => void;
41
+ /** When true, options are not filtered locally — parent supplies pre-filtered results. */
42
+ serverSideSearch?: boolean;
43
+ }
44
+ export declare const SearchableDropdown: React.ForwardRefExoticComponent<SearchableDropdownProps & React.RefAttributes<HTMLInputElement>>;
45
+ export {};
46
+ //# sourceMappingURL=searchable-dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchable-dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/ui/searchable-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMlE,QAAA,MAAM,gBAAgB;;8EAoBrB,CAAC;AAKF,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBACf,SAAQ,YAAY,CAAC,OAAO,gBAAgB,CAAC;IAC7C,6BAA6B;IAC7B,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAuCD,eAAO,MAAM,kBAAkB,kGA0V9B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ export declare const Select: React.FC<SelectPrimitive.SelectProps>;
5
+ export declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ export declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
7
+ export declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
8
+ size?: "xxs" | "xs" | "s" | "m" | "l" | "xl" | "xxl" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
10
+ export declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,MAAM,uCAAuB,CAAC;AAC3C,eAAO,MAAM,WAAW,yGAAwB,CAAC;AACjD,eAAO,MAAM,WAAW,0GAAwB,CAAC;AAsBjD,eAAO,MAAM,aAAa;;yHAexB,CAAC;AAGH,eAAO,MAAM,aAAa,8JAkBxB,CAAC;AAGH,eAAO,MAAM,UAAU,2JAmBrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ export interface SelectionCardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ icon?: React.ReactNode;
4
+ title: string;
5
+ active?: boolean;
6
+ }
7
+ export declare const SelectionCard: React.ForwardRefExoticComponent<SelectionCardProps & React.RefAttributes<HTMLDivElement>>;
8
+ //# sourceMappingURL=selection-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/selection-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,2FA0CzB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import * as React from "react";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ declare const Sheet: React.FC<DialogPrimitive.DialogProps>;
5
+ declare const SheetTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const SheetClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SheetPortal: React.FC<DialogPrimitive.DialogPortalProps>;
8
+ declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const sheetVariants: (props?: ({
10
+ side?: "left" | "right" | "bottom" | "top" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ export interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
13
+ side?: "top" | "right" | "bottom" | "left";
14
+ /** Panel width, e.g. `480`, `480px`, `50vw`, `min(480px, 50vw)`. Default: min 480px, max 50vw. */
15
+ width?: string | number;
16
+ hideCloseButton?: boolean;
17
+ }
18
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
19
+ declare const SheetHeader: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
20
+ declare const SheetFooter: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
21
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
22
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
23
+ declare const SheetBody: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
24
+ export interface RightSidebarProps {
25
+ open: boolean;
26
+ onOpenChange: (open: boolean) => void;
27
+ title?: string;
28
+ description?: string;
29
+ children?: React.ReactNode;
30
+ footer?: React.ReactNode;
31
+ /** Shows the top-right close (X) button. Defaults to true. */
32
+ showCloseButton?: boolean;
33
+ width?: string | number;
34
+ className?: string;
35
+ contentClassName?: string;
36
+ headerClassName?: string;
37
+ footerClassName?: string;
38
+ }
39
+ /** Right-edge overlay panel for referral and review flows (not the left nav `Sidebar`). */
40
+ export declare function RightSidebar({ open, onOpenChange, title, description, children, footer, showCloseButton, width, className, contentClassName, headerClassName, footerClassName, }: RightSidebarProps): import("react/jsx-runtime").JSX.Element;
41
+ export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, SheetBody, SheetOverlay, SheetPortal, };
42
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,KAAK,uCAAuB,CAAC;AACnC,QAAA,MAAM,YAAY,8GAA0B,CAAC;AAC7C,QAAA,MAAM,UAAU,4GAAwB,CAAC;AACzC,QAAA,MAAM,WAAW,6CAAyB,CAAC;AAE3C,QAAA,MAAM,YAAY,8JAYhB,CAAC;AAGH,QAAA,MAAM,aAAa;;8EAiBlB,CAAC;AAEF,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EACpE,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,kGAAkG;IAClG,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,YAAY,0FA6BhB,CAAC;AAGH,QAAA,MAAM,WAAW,GAAI,yBAAyB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAEjF,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,yBAAyB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAQjF,CAAC;AAEF,QAAA,MAAM,UAAU,oKASd,CAAC;AAGH,QAAA,MAAM,gBAAgB,8KASpB,CAAC;AAGH,QAAA,MAAM,SAAS,GAAI,yBAAyB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAE/E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,eAAsB,EACtB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,EAAE,iBAAiB,2CAoCnB;AAED,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,CAAC"}
@@ -0,0 +1,42 @@
1
+ import * as React from "react";
2
+ export interface SlotCalendarSlot {
3
+ id: string;
4
+ label: string;
5
+ disabled?: boolean;
6
+ }
7
+ export interface SlotCalendarDay {
8
+ id: string;
9
+ /** e.g. "21 Apr, Tuesday" */
10
+ label: string;
11
+ slots: SlotCalendarSlot[];
12
+ }
13
+ export interface SlotCalendarMonth {
14
+ /** Unique key, e.g. "2026-04" */
15
+ id: string;
16
+ year: number;
17
+ /** 1–12 */
18
+ month: number;
19
+ /** Optional display name; defaults to full month name */
20
+ label?: string;
21
+ days: SlotCalendarDay[];
22
+ }
23
+ export interface SlotCalendarSelection {
24
+ dayId: string;
25
+ /** Consecutive slot ids on that day, in display order (max 5 by default) */
26
+ slotIds: string[];
27
+ }
28
+ export declare const SLOT_CALENDAR_MAX_SELECTION = 5;
29
+ export interface SlotCalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
30
+ months: SlotCalendarMonth[];
31
+ activeMonthId?: string;
32
+ defaultActiveMonthId?: string;
33
+ onActiveMonthChange?: (monthId: string) => void;
34
+ value?: SlotCalendarSelection | null;
35
+ defaultValue?: SlotCalendarSelection | null;
36
+ onChange?: (selection: SlotCalendarSelection | null) => void;
37
+ /** Max consecutive slots per day. Default 5. */
38
+ maxSelection?: number;
39
+ }
40
+ export declare function getSlotCalendarMonthLabel(entry: Pick<SlotCalendarMonth, "month" | "label">): string;
41
+ export declare const SlotCalendar: React.ForwardRefExoticComponent<SlotCalendarProps & React.RefAttributes<HTMLDivElement>>;
42
+ //# sourceMappingURL=slot-calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/slot-calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC;IAC/E,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,UAE1F;AA6ED,eAAO,MAAM,YAAY,0FAgOxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ export declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
4
+ export declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ export declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
+ export declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAGtD,eAAO,MAAM,IAAI,gGAAqB,CAAC;AAEvC,eAAO,MAAM,QAAQ,uJAYnB,CAAC;AAGH,eAAO,MAAM,WAAW,gKAYtB,CAAC;AAGH,eAAO,MAAM,WAAW,0JAStB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import * as SwitchPrimitive from "@radix-ui/react-switch";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ declare const toggleVariants: (props?: ({
5
+ size?: "xxs" | "xs" | "s" | "m" | "l" | "xl" | "xxl" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface ToggleProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>, VariantProps<typeof toggleVariants> {
8
+ label?: React.ReactNode;
9
+ description?: string;
10
+ labelClassName?: string;
11
+ wrapperClassName?: string;
12
+ }
13
+ export declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
14
+ /** @alias Toggle */
15
+ export declare const Switch: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
16
+ export type SwitchProps = ToggleProps;
17
+ export {};
18
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/components/ui/toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;8EAwBnB,CAAC;AAuCF,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,EACjE,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,uFAwDlB,CAAC;AAIF,oBAAoB;AACpB,eAAO,MAAM,MAAM,uFAAS,CAAC;AAC7B,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const typographyVariants: (props?: ({
4
+ variant?: "small" | "p" | "large" | "caption" | "h2" | "h3" | "code" | "h1" | "h4" | "h5" | "h6" | "muted" | "lead" | null | undefined;
5
+ weight?: "bold" | "normal" | "medium" | "light" | "semibold" | "extrabold" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface TypographyProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof typographyVariants> {
8
+ as?: React.ElementType;
9
+ }
10
+ export declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
11
+ export {};
12
+ //# sourceMappingURL=typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../../src/components/ui/typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,kBAAkB;;;8EAgCvB,CAAC;AAoBF,MAAM,WAAW,eACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EACvC,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,qFAWtB,CAAC"}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
@@ -0,0 +1,7 @@
1
+ export { useTheme } from "./useTheme";
2
+ export type { Theme } from "./useTheme";
3
+ export { usePalette } from "./usePalette";
4
+ export { useDebounce } from "./useDebounce";
5
+ export { usePagination } from "./usePagination";
6
+ export { useModal } from "./useModal";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useDebounce<T>(value: T, delay?: number): T;
2
+ //# sourceMappingURL=useDebounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,SAAsB,GAAG,CAAC,CASvE"}
@@ -0,0 +1,8 @@
1
+ export declare function useModal(initialOpen?: boolean): {
2
+ isOpen: boolean;
3
+ open: () => void;
4
+ close: () => void;
5
+ toggle: () => void;
6
+ setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
7
+ };
8
+ //# sourceMappingURL=useModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../src/hooks/useModal.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,WAAW,UAAQ;;;;;;EAQ3C"}
@@ -0,0 +1,13 @@
1
+ export declare function usePagination<T>(items: T[], pageSize?: number): {
2
+ page: number;
3
+ pageSize: number;
4
+ totalPages: number;
5
+ totalItems: number;
6
+ paginatedItems: T[];
7
+ goToPage: (p: number) => void;
8
+ nextPage: () => void;
9
+ prevPage: () => void;
10
+ hasNext: boolean;
11
+ hasPrev: boolean;
12
+ };
13
+ //# sourceMappingURL=usePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,SAA+B;;;;;;kBAYjC,MAAM;;;;;EA0Bb"}
@@ -0,0 +1,5 @@
1
+ export declare function usePalette(): {
2
+ palette: "blue" | "cyan" | "pink" | "violet";
3
+ setPalette: (palette: import("..").PaletteId) => void;
4
+ };
5
+ //# sourceMappingURL=usePalette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePalette.d.ts","sourceRoot":"","sources":["../../src/hooks/usePalette.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU;;;EAGzB"}
@@ -0,0 +1,3 @@
1
+ export { useThemeContext as useTheme } from "../themes/ThemeProvider";
2
+ export type { Theme } from "../themes/ThemeProvider";
3
+ //# sourceMappingURL=useTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/icons.svg ADDED
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
@@ -0,0 +1,9 @@
1
+ import "./styles/globals.css";
2
+ export * from "./components";
3
+ export * from "./hooks";
4
+ export { ThemeProvider } from "./themes/ThemeProvider";
5
+ export type { Theme } from "./themes/ThemeProvider";
6
+ export { DEFAULT_PALETTE_ID, PALETTE_IDS, PALETTE_DATA_ATTRIBUTE, PALETTE_CSS_VAR, isPaletteId, resolvePaletteId, readPaletteIdFromDom, } from "./themes/palettes";
7
+ export type { PaletteId } from "./themes/palettes";
8
+ export * from "./utils";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,cAAc,SAAS,CAAC"}