hazo_config 1.4.2 → 2.0.2

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 (58) hide show
  1. package/MIGRATION_V2.md +531 -0
  2. package/README.md +201 -10
  3. package/dist/components/app_config.d.ts +1 -1
  4. package/dist/components/app_config.d.ts.map +1 -1
  5. package/dist/components/app_config.js +123 -86
  6. package/dist/components/app_config_list_editor/app_config_list_editor.d.ts +7 -0
  7. package/dist/components/app_config_list_editor/app_config_list_editor.d.ts.map +1 -0
  8. package/dist/components/app_config_list_editor/app_config_list_editor.js +128 -0
  9. package/dist/components/app_config_list_editor/components/color_swatch_picker.d.ts +9 -0
  10. package/dist/components/app_config_list_editor/components/color_swatch_picker.d.ts.map +1 -0
  11. package/dist/components/app_config_list_editor/components/color_swatch_picker.js +15 -0
  12. package/dist/components/app_config_list_editor/components/delete_dialog.d.ts +10 -0
  13. package/dist/components/app_config_list_editor/components/delete_dialog.d.ts.map +1 -0
  14. package/dist/components/app_config_list_editor/components/delete_dialog.js +9 -0
  15. package/dist/components/app_config_list_editor/components/edit_modal.d.ts +19 -0
  16. package/dist/components/app_config_list_editor/components/edit_modal.d.ts.map +1 -0
  17. package/dist/components/app_config_list_editor/components/edit_modal.js +97 -0
  18. package/dist/components/app_config_list_editor/components/empty_state.d.ts +8 -0
  19. package/dist/components/app_config_list_editor/components/empty_state.d.ts.map +1 -0
  20. package/dist/components/app_config_list_editor/components/empty_state.js +8 -0
  21. package/dist/components/app_config_list_editor/components/list_item_row.d.ts +14 -0
  22. package/dist/components/app_config_list_editor/components/list_item_row.d.ts.map +1 -0
  23. package/dist/components/app_config_list_editor/components/list_item_row.js +14 -0
  24. package/dist/components/app_config_list_editor/components/save_status_indicator.d.ts +7 -0
  25. package/dist/components/app_config_list_editor/components/save_status_indicator.d.ts.map +1 -0
  26. package/dist/components/app_config_list_editor/components/save_status_indicator.js +25 -0
  27. package/dist/components/app_config_list_editor/components/search_bar.d.ts +10 -0
  28. package/dist/components/app_config_list_editor/components/search_bar.d.ts.map +1 -0
  29. package/dist/components/app_config_list_editor/components/search_bar.js +8 -0
  30. package/dist/components/app_config_list_editor/index.d.ts +3 -0
  31. package/dist/components/app_config_list_editor/index.d.ts.map +1 -0
  32. package/dist/components/app_config_list_editor/index.js +2 -0
  33. package/dist/components/app_config_list_editor/types.d.ts +93 -0
  34. package/dist/components/app_config_list_editor/types.d.ts.map +1 -0
  35. package/dist/components/app_config_list_editor/types.js +14 -0
  36. package/dist/components/index.d.ts +2 -0
  37. package/dist/components/index.d.ts.map +1 -1
  38. package/dist/components/index.js +2 -0
  39. package/dist/components/ui/alert-dialog.d.ts +21 -0
  40. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  41. package/dist/components/ui/alert-dialog.js +26 -0
  42. package/dist/components/ui/button.d.ts +12 -0
  43. package/dist/components/ui/button.d.ts.map +1 -0
  44. package/dist/components/ui/button.js +33 -0
  45. package/dist/components/ui/dialog.d.ts +20 -0
  46. package/dist/components/ui/dialog.d.ts.map +1 -0
  47. package/dist/components/ui/dialog.js +22 -0
  48. package/dist/components/ui/input.d.ts +4 -0
  49. package/dist/components/ui/input.d.ts.map +1 -0
  50. package/dist/components/ui/input.js +8 -0
  51. package/dist/components/use_app_config.d.ts +3 -4
  52. package/dist/components/use_app_config.d.ts.map +1 -1
  53. package/dist/components/use_app_config.js +51 -17
  54. package/dist/lib/app_config_types.d.ts +19 -17
  55. package/dist/lib/app_config_types.d.ts.map +1 -1
  56. package/dist/lib/index.d.ts +1 -1
  57. package/dist/lib/index.d.ts.map +1 -1
  58. package/package.json +6 -3
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
+ declare const AlertDialog: React.FC<AlertDialogPrimitive.AlertDialogProps>;
4
+ declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const AlertDialogPortal: React.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
6
+ declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const AlertDialogHeader: {
9
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ declare const AlertDialogFooter: {
13
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
+ displayName: string;
15
+ };
16
+ declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
17
+ declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
18
+ declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
19
+ declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
20
+ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };
21
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAKpE,QAAA,MAAM,WAAW,iDAA4B,CAAA;AAE7C,QAAA,MAAM,kBAAkB,wHAA+B,CAAA;AAEvD,QAAA,MAAM,iBAAiB,uDAA8B,CAAA;AAErD,QAAA,MAAM,kBAAkB,wKAYtB,CAAA;AAGF,QAAA,MAAM,kBAAkB,wKAetB,CAAA;AAGF,QAAA,MAAM,iBAAiB;8BAGpB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,iBAAiB;8BAGpB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,gBAAgB,8KASpB,CAAA;AAGF,QAAA,MAAM,sBAAsB,wLAS1B,CAAA;AAIF,QAAA,MAAM,iBAAiB,6KASrB,CAAA;AAGF,QAAA,MAAM,iBAAiB,6KAarB,CAAA;AAGF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { buttonVariants } from "./button.js";
6
+ const AlertDialog = AlertDialogPrimitive.Root;
7
+ const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
8
+ const AlertDialogPortal = AlertDialogPrimitive.Portal;
9
+ const AlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Overlay, { className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props, ref: ref })));
10
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
11
+ const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { ref: ref, className: cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", className), ...props })] })));
12
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
13
+ const AlertDialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props }));
14
+ AlertDialogHeader.displayName = "AlertDialogHeader";
15
+ const AlertDialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
16
+ AlertDialogFooter.displayName = "AlertDialogFooter";
17
+ const AlertDialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Title, { ref: ref, className: cn("text-lg font-semibold", className), ...props })));
18
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
19
+ const AlertDialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Description, { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
20
+ AlertDialogDescription.displayName =
21
+ AlertDialogPrimitive.Description.displayName;
22
+ const AlertDialogAction = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Action, { ref: ref, className: cn(buttonVariants(), className), ...props })));
23
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
24
+ const AlertDialogCancel = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Cancel, { ref: ref, className: cn(buttonVariants({ variant: "outline" }), "mt-2 sm:mt-0", className), ...props })));
25
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
26
+ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
+ } & import("class-variance-authority/dist/types.js").ClassProp) | undefined) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button, buttonVariants };
12
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,cAAc;;;sFA2BnB,CAAA;AAED,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { cva } from "class-variance-authority";
5
+ import { cn } from "../../lib/utils.js";
6
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
10
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
11
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
12
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
13
+ ghost: "hover:bg-accent hover:text-accent-foreground",
14
+ link: "text-primary underline-offset-4 hover:underline",
15
+ },
16
+ size: {
17
+ default: "h-10 px-4 py-2",
18
+ sm: "h-9 rounded-md px-3",
19
+ lg: "h-11 rounded-md px-8",
20
+ icon: "h-10 w-10",
21
+ },
22
+ },
23
+ defaultVariants: {
24
+ variant: "default",
25
+ size: "default",
26
+ },
27
+ });
28
+ const Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
29
+ const Comp = asChild ? Slot : "button";
30
+ return (_jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref: ref, ...props }));
31
+ });
32
+ Button.displayName = "Button";
33
+ export { Button, buttonVariants };
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
4
+ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
6
+ declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const DialogHeader: {
10
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };
13
+ declare const DialogFooter: {
14
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
15
+ displayName: string;
16
+ };
17
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
18
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
19
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
20
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,QAAA,MAAM,MAAM,uCAAuB,CAAA;AAEnC,QAAA,MAAM,aAAa,8GAA0B,CAAA;AAE7C,QAAA,MAAM,YAAY,6CAAyB,CAAA;AAE3C,QAAA,MAAM,WAAW,4GAAwB,CAAA;AAEzC,QAAA,MAAM,aAAa,8JAYjB,CAAA;AAGF,QAAA,MAAM,aAAa,8JAqBjB,CAAA;AAGF,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,WAAW,oKAYf,CAAA;AAGF,QAAA,MAAM,iBAAiB,8KASrB,CAAA;AAGF,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
4
+ import { X } from "lucide-react";
5
+ import { cn } from "../../lib/utils.js";
6
+ const Dialog = DialogPrimitive.Root;
7
+ const DialogTrigger = DialogPrimitive.Trigger;
8
+ const DialogPortal = DialogPrimitive.Portal;
9
+ const DialogClose = DialogPrimitive.Close;
10
+ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props })));
11
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
12
+ const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsx(X, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
13
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
14
+ const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props }));
15
+ DialogHeader.displayName = "DialogHeader";
16
+ const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
17
+ DialogFooter.displayName = "DialogFooter";
18
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props })));
19
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
20
+ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
21
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
22
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ declare const Input: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
3
+ export { Input };
4
+ //# 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,CAAA;AAI9B,QAAA,MAAM,KAAK,8KAcV,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../lib/utils.js";
4
+ const Input = React.forwardRef(({ className, type, ...props }, ref) => {
5
+ return (_jsx("input", { type: type, className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", className), ref: ref, ...props }));
6
+ });
7
+ Input.displayName = "Input";
8
+ export { Input };
@@ -1,12 +1,11 @@
1
- import type { ConfigLevel, AppConfigContext, AppConfigItem, UseAppConfigResult } from '../lib/app_config_types.js';
1
+ import type { AppConfigContext, AppConfigItem, UseAppConfigResult } from '../lib/app_config_types.js';
2
2
  /**
3
3
  * Custom hook for managing database-backed application configuration
4
- * @param level - Configuration level ('org' or 'user')
5
- * @param context - Context containing org_id and optionally user_id
4
+ * @param context - Context containing scope_id and optionally user_id
6
5
  * @param fetch_config - Function to fetch config from database
7
6
  * @param save_config - Function to save config to database
8
7
  * @param delete_config - Function to delete config from database
9
8
  * @returns Object with sections, loading state, error, and CRUD functions
10
9
  */
11
- export declare function useAppConfig(level: ConfigLevel, context: AppConfigContext, fetch_config: (level: ConfigLevel, context: AppConfigContext) => Promise<AppConfigItem[]>, save_config: (item: Omit<AppConfigItem, 'id' | 'created_at' | 'changed_at'>) => Promise<void>, delete_config: (section: string, name: string, level: ConfigLevel, context: AppConfigContext) => Promise<void>): UseAppConfigResult;
10
+ export declare function useAppConfig(context: AppConfigContext, fetch_config: (context: AppConfigContext) => Promise<AppConfigItem[]>, save_config: (item: Omit<AppConfigItem, 'id' | 'created_at' | 'changed_at'>) => Promise<void>, delete_config: (section: string, name: string, context: AppConfigContext) => Promise<void>): UseAppConfigResult;
12
11
  //# sourceMappingURL=use_app_config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use_app_config.d.ts","sourceRoot":"","sources":["../../src/components/use_app_config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAkBnC;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,EACzF,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7F,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7G,kBAAkB,CAuHpB"}
1
+ {"version":3,"file":"use_app_config.d.ts","sourceRoot":"","sources":["../../src/components/use_app_config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAkBnC;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,EACrE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7F,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GACzF,kBAAkB,CA2JpB"}
@@ -10,20 +10,19 @@ function items_to_sections(items) {
10
10
  if (!sections[item.config_section]) {
11
11
  sections[item.config_section] = {};
12
12
  }
13
- sections[item.config_section][item.config_name] = item.config_value;
13
+ sections[item.config_section][item.config_name] = item;
14
14
  }
15
15
  return sections;
16
16
  }
17
17
  /**
18
18
  * Custom hook for managing database-backed application configuration
19
- * @param level - Configuration level ('org' or 'user')
20
- * @param context - Context containing org_id and optionally user_id
19
+ * @param context - Context containing scope_id and optionally user_id
21
20
  * @param fetch_config - Function to fetch config from database
22
21
  * @param save_config - Function to save config to database
23
22
  * @param delete_config - Function to delete config from database
24
23
  * @returns Object with sections, loading state, error, and CRUD functions
25
24
  */
26
- export function useAppConfig(level, context, fetch_config, save_config, delete_config) {
25
+ export function useAppConfig(context, fetch_config, save_config, delete_config) {
27
26
  const [sections, set_sections] = useState({});
28
27
  const [is_loading, set_is_loading] = useState(true);
29
28
  const [error, set_error] = useState(null);
@@ -34,7 +33,7 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
34
33
  set_is_loading(true);
35
34
  set_error(null);
36
35
  try {
37
- const items = await fetch_config(level, context);
36
+ const items = await fetch_config(context);
38
37
  const sections_data = items_to_sections(items);
39
38
  set_sections(sections_data);
40
39
  }
@@ -44,18 +43,20 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
44
43
  finally {
45
44
  set_is_loading(false);
46
45
  }
47
- }, [fetch_config, level, context]);
46
+ }, [fetch_config, context]);
48
47
  /**
49
48
  * Set a configuration value
50
49
  */
51
- const set_value = useCallback(async (section, key, value) => {
50
+ const set_value = useCallback(async (section, key, value, type) => {
52
51
  try {
53
52
  const item = {
54
- org_id: context.org_id,
55
- user_id: level === 'user' ? (context.user_id ?? null) : null,
53
+ scope_id: context.scope_id,
54
+ user_id: context.user_id ?? null,
56
55
  config_section: section,
57
56
  config_name: key,
58
- config_value: value
57
+ config_value_text: type === 'general' ? String(value) : '',
58
+ config_value_json: type === 'json' ? (typeof value === 'string' ? JSON.parse(value) : value) : {},
59
+ config_type: type
59
60
  };
60
61
  await save_config(item);
61
62
  // Update local state optimistically
@@ -63,7 +64,7 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
63
64
  ...prev,
64
65
  [section]: {
65
66
  ...(prev[section] || {}),
66
- [key]: value
67
+ [key]: item
67
68
  }
68
69
  }));
69
70
  }
@@ -71,13 +72,13 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
71
72
  set_error(err instanceof Error ? err : new Error(String(err)));
72
73
  throw err;
73
74
  }
74
- }, [save_config, context, level]);
75
+ }, [save_config, context]);
75
76
  /**
76
77
  * Delete a configuration value
77
78
  */
78
79
  const delete_value = useCallback(async (section, key) => {
79
80
  try {
80
- await delete_config(section, key, level, context);
81
+ await delete_config(section, key, context);
81
82
  // Update local state optimistically
82
83
  set_sections(prev => {
83
84
  const new_sections = { ...prev };
@@ -99,7 +100,7 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
99
100
  set_error(err instanceof Error ? err : new Error(String(err)));
100
101
  throw err;
101
102
  }
102
- }, [delete_config, level, context]);
103
+ }, [delete_config, context]);
103
104
  /**
104
105
  * Delete an entire section
105
106
  */
@@ -109,7 +110,7 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
109
110
  if (section_data) {
110
111
  // Delete all keys in the section
111
112
  for (const key of Object.keys(section_data)) {
112
- await delete_config(section, key, level, context);
113
+ await delete_config(section, key, context);
113
114
  }
114
115
  }
115
116
  // Update local state optimistically
@@ -123,7 +124,39 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
123
124
  set_error(err instanceof Error ? err : new Error(String(err)));
124
125
  throw err;
125
126
  }
126
- }, [delete_config, sections, level, context]);
127
+ }, [delete_config, sections, context]);
128
+ /**
129
+ * Change the type of a configuration value
130
+ */
131
+ const change_type = useCallback(async (section, key, new_type) => {
132
+ try {
133
+ const current_item = sections[section]?.[key];
134
+ if (!current_item) {
135
+ throw new Error(`Config item ${section}.${key} not found`);
136
+ }
137
+ let new_value;
138
+ if (new_type === 'json') {
139
+ // Convert general → json
140
+ const text = current_item.config_value_text;
141
+ try {
142
+ new_value = JSON.parse(text);
143
+ }
144
+ catch {
145
+ // Fallback: wrap in object
146
+ new_value = { value: text };
147
+ }
148
+ }
149
+ else {
150
+ // Convert json → general
151
+ new_value = JSON.stringify(current_item.config_value_json);
152
+ }
153
+ await set_value(section, key, new_value, new_type);
154
+ }
155
+ catch (err) {
156
+ set_error(err instanceof Error ? err : new Error(String(err)));
157
+ throw err;
158
+ }
159
+ }, [sections, set_value]);
127
160
  // Load config on mount and when dependencies change
128
161
  useEffect(() => {
129
162
  reload();
@@ -135,6 +168,7 @@ export function useAppConfig(level, context, fetch_config, save_config, delete_c
135
168
  reload,
136
169
  set_value,
137
170
  delete_value,
138
- delete_section
171
+ delete_section,
172
+ change_type
139
173
  };
140
174
  }
@@ -5,19 +5,21 @@
5
5
  * configuration in the hazo_app_config database table using hazo_connect.
6
6
  */
7
7
  /**
8
- * Configuration level - determines whether config applies to org or user
8
+ * Configuration type - determines how the value is stored and edited
9
9
  */
10
- export type ConfigLevel = 'org' | 'user';
10
+ export type ConfigType = 'json' | 'general';
11
11
  /**
12
12
  * Single configuration item from the database
13
13
  */
14
14
  export interface AppConfigItem {
15
15
  id?: string;
16
- org_id: string | null;
16
+ scope_id: string | null;
17
17
  user_id: string | null;
18
18
  config_section: string;
19
19
  config_name: string;
20
- config_value: string;
20
+ config_value_text: string;
21
+ config_value_json: object;
22
+ config_type: ConfigType;
21
23
  created_at?: string;
22
24
  changed_at?: string;
23
25
  }
@@ -25,7 +27,7 @@ export interface AppConfigItem {
25
27
  * Context for identifying config ownership
26
28
  */
27
29
  export interface AppConfigContext {
28
- org_id: string;
30
+ scope_id: string;
29
31
  user_id?: string;
30
32
  }
31
33
  /**
@@ -33,18 +35,14 @@ export interface AppConfigContext {
33
35
  */
34
36
  export interface AppConfigProps {
35
37
  /**
36
- * Configuration level - 'org' for organization settings, 'user' for user-specific
37
- */
38
- level: ConfigLevel;
39
- /**
40
- * The context containing org_id and optionally user_id
38
+ * The context containing scope_id and optionally user_id
41
39
  */
42
40
  context: AppConfigContext;
43
41
  /**
44
42
  * Function to fetch config items from the database
45
- * Should return all config items for the given level and context
43
+ * Should return all config items for the given context
46
44
  */
47
- fetch_config: (level: ConfigLevel, context: AppConfigContext) => Promise<AppConfigItem[]>;
45
+ fetch_config: (context: AppConfigContext) => Promise<AppConfigItem[]>;
48
46
  /**
49
47
  * Function to save a config item to the database
50
48
  * Should handle both insert and update
@@ -53,7 +51,7 @@ export interface AppConfigProps {
53
51
  /**
54
52
  * Function to delete a config item from the database
55
53
  */
56
- delete_config: (section: string, name: string, level: ConfigLevel, context: AppConfigContext) => Promise<void>;
54
+ delete_config: (section: string, name: string, context: AppConfigContext) => Promise<void>;
57
55
  /**
58
56
  * Additional CSS classes
59
57
  */
@@ -79,7 +77,7 @@ export interface AppConfigProps {
79
77
  */
80
78
  disable_auto_mask?: boolean;
81
79
  /**
82
- * Title to display (defaults to "Organization Settings" or "User Settings")
80
+ * Title to display
83
81
  */
84
82
  title?: string;
85
83
  }
@@ -88,9 +86,9 @@ export interface AppConfigProps {
88
86
  */
89
87
  export interface UseAppConfigResult {
90
88
  /**
91
- * All configuration sections with their key-value pairs
89
+ * All configuration sections with their items (full AppConfigItem objects)
92
90
  */
93
- sections: Record<string, Record<string, string>>;
91
+ sections: Record<string, Record<string, AppConfigItem>>;
94
92
  /**
95
93
  * Loading state
96
94
  */
@@ -106,7 +104,7 @@ export interface UseAppConfigResult {
106
104
  /**
107
105
  * Set a configuration value
108
106
  */
109
- set_value: (section: string, key: string, value: string) => Promise<void>;
107
+ set_value: (section: string, key: string, value: string | object, type: ConfigType) => Promise<void>;
110
108
  /**
111
109
  * Delete a configuration value
112
110
  */
@@ -115,5 +113,9 @@ export interface UseAppConfigResult {
115
113
  * Delete an entire section
116
114
  */
117
115
  delete_section: (section: string) => Promise<void>;
116
+ /**
117
+ * Change the type of a configuration value
118
+ */
119
+ change_type: (section: string, key: string, new_type: ConfigType) => Promise<void>;
118
120
  }
119
121
  //# sourceMappingURL=app_config_types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app_config_types.d.ts","sourceRoot":"","sources":["../../src/lib/app_config_types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAA;AAExC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,WAAW,CAAA;IAClB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAA;IACzB;;;OAGG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACzF;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F;;OAEG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9G;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE;;OAEG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D;;OAEG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD"}
1
+ {"version":3,"file":"app_config_types.d.ts","sourceRoot":"","sources":["../../src/lib/app_config_types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,UAAU,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAA;IACzB;;;OAGG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACrE;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F;;OAEG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1F;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IACvD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpG;;OAEG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D;;OAEG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD;;OAEG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnF"}
@@ -11,5 +11,5 @@
11
11
  export { MockConfigProvider } from './mock_config_provider.js';
12
12
  export { ConfigErrorCode } from './types.js';
13
13
  export type { ConfigProvider, HazoConfigOptions, Logger, HazoConfigError, LogData } from './types.js';
14
- export type { ConfigLevel, AppConfigItem, AppConfigContext, AppConfigProps, UseAppConfigResult } from './app_config_types.js';
14
+ export type { ConfigType, AppConfigItem, AppConfigContext, AppConfigProps, UseAppConfigResult } from './app_config_types.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,OAAO,EACR,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EACnB,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,OAAO,EACR,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EACnB,MAAM,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_config",
3
- "version": "1.4.2",
3
+ "version": "2.0.2",
4
4
  "description": "Config wrapper with error handling",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -52,10 +52,13 @@
52
52
  },
53
53
  "homepage": "https://github.com/pub12/hazo_config#readme",
54
54
  "dependencies": {
55
+ "@radix-ui/react-alert-dialog": "^1.1.15",
56
+ "@radix-ui/react-dialog": "^1.1.15",
57
+ "@radix-ui/react-slot": "^1.2.4",
55
58
  "class-variance-authority": "^0.7.0",
56
59
  "clsx": "^2.1.0",
57
60
  "ini": "^4.1.0",
58
- "lucide-react": "^0.344.0",
61
+ "lucide-react": "^0.553.0",
59
62
  "server-only": "^0.0.1",
60
63
  "tailwind-merge": "^2.2.0"
61
64
  },
@@ -82,7 +85,7 @@
82
85
  "storybook": "^8.0.0",
83
86
  "tailwindcss": "^3.4.1",
84
87
  "typescript": "^5.3.3",
85
- "vite": "^7.2.4",
88
+ "vite": "^6.0.0",
86
89
  "vitest": "^1.6.1"
87
90
  },
88
91
  "peerDependencies": {