myoperator-mcp 0.2.29 → 0.2.30

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 (2) hide show
  1. package/dist/index.js +201 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3723,6 +3723,189 @@ const TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(
3723
3723
  TextField.displayName = "TextField";
3724
3724
 
3725
3725
  export { TextField, textFieldContainerVariants, textFieldInputVariants };
3726
+ `,
3727
+ "toast": `import { Toaster as SonnerToaster, toast } from "sonner";
3728
+
3729
+ import { cn } from "@/lib/utils";
3730
+
3731
+ /**
3732
+ * Position options for the toast container.
3733
+ */
3734
+ export type ToastPosition =
3735
+ | "top-left"
3736
+ | "top-center"
3737
+ | "top-right"
3738
+ | "bottom-left"
3739
+ | "bottom-center"
3740
+ | "bottom-right";
3741
+
3742
+ /**
3743
+ * Props for the Toaster component.
3744
+ */
3745
+ export interface ToasterProps {
3746
+ /** Position of the toast container (default: "bottom-right") */
3747
+ position?: ToastPosition;
3748
+ /** Whether to show the close button on toasts (default: true) */
3749
+ closeButton?: boolean;
3750
+ /** Duration in milliseconds before toast auto-dismisses (default: 4000) */
3751
+ duration?: number;
3752
+ /** Gap between toasts in pixels (default: 8) */
3753
+ gap?: number;
3754
+ /** Offset from the edge of the screen in pixels (default: 16) */
3755
+ offset?: number | string;
3756
+ /** Whether to expand toasts on hover (default: true) */
3757
+ expand?: boolean;
3758
+ /** Whether toasts are visually stacked (default: true) */
3759
+ visibleToasts?: number;
3760
+ /** Custom class name for the toaster container */
3761
+ className?: string;
3762
+ /** Rich colors mode - uses more vibrant background colors */
3763
+ richColors?: boolean;
3764
+ }
3765
+
3766
+ /**
3767
+ * Toast container component that renders toast notifications.
3768
+ * Place this component once at the root of your app (e.g., in App.tsx or layout).
3769
+ *
3770
+ * @example
3771
+ * \`\`\`tsx
3772
+ * // In your App.tsx or layout
3773
+ * import { Toaster } from "@/components/ui/toast"
3774
+ *
3775
+ * function App() {
3776
+ * return (
3777
+ * <>
3778
+ * <YourApp />
3779
+ * <Toaster />
3780
+ * </>
3781
+ * )
3782
+ * }
3783
+ * \`\`\`
3784
+ */
3785
+ function Toaster({
3786
+ position = "bottom-right",
3787
+ closeButton = true,
3788
+ duration = 4000,
3789
+ gap = 8,
3790
+ offset = 16,
3791
+ expand = true,
3792
+ visibleToasts = 3,
3793
+ className,
3794
+ richColors = true,
3795
+ ...props
3796
+ }: ToasterProps) {
3797
+ return (
3798
+ <SonnerToaster
3799
+ position={position}
3800
+ closeButton={closeButton}
3801
+ duration={duration}
3802
+ gap={gap}
3803
+ offset={offset}
3804
+ expand={expand}
3805
+ visibleToasts={visibleToasts}
3806
+ richColors={richColors}
3807
+ className={cn("toaster group", className)}
3808
+ toastOptions={{
3809
+ classNames: {
3810
+ toast: cn(
3811
+ "group toast",
3812
+ "group-[.toaster]:bg-white group-[.toaster]:text-[#181D27]",
3813
+ "group-[.toaster]:border group-[.toaster]:border-[#E9EAEB]",
3814
+ "group-[.toaster]:shadow-lg group-[.toaster]:rounded-lg",
3815
+ "group-[.toaster]:p-4"
3816
+ ),
3817
+ title: "group-[.toast]:font-semibold group-[.toast]:text-[#181D27]",
3818
+ description: "group-[.toast]:text-sm group-[.toast]:text-[#717680]",
3819
+ actionButton: cn(
3820
+ "group-[.toast]:bg-[#4275D6] group-[.toast]:text-white",
3821
+ "group-[.toast]:rounded group-[.toast]:px-3 group-[.toast]:py-1.5",
3822
+ "group-[.toast]:text-sm group-[.toast]:font-medium"
3823
+ ),
3824
+ cancelButton: cn(
3825
+ "group-[.toast]:bg-[#F5F5F5] group-[.toast]:text-[#181D27]",
3826
+ "group-[.toast]:rounded group-[.toast]:px-3 group-[.toast]:py-1.5",
3827
+ "group-[.toast]:text-sm group-[.toast]:font-medium"
3828
+ ),
3829
+ closeButton: cn(
3830
+ "group-[.toast]:text-[#717680]",
3831
+ "group-[.toast]:hover:text-[#181D27]",
3832
+ "group-[.toast]:border-[#E9EAEB]",
3833
+ "group-[.toast]:bg-white"
3834
+ ),
3835
+ // Variant-specific styles (when richColors is true)
3836
+ success: cn(
3837
+ "group-[.toaster]:bg-[#ECFDF3] group-[.toaster]:border-[#17B26A]/20",
3838
+ "group-[.toaster]:text-[#067647]",
3839
+ "[&_[data-icon]]:text-[#17B26A]"
3840
+ ),
3841
+ error: cn(
3842
+ "group-[.toaster]:bg-[#FEF3F2] group-[.toaster]:border-[#F04438]/20",
3843
+ "group-[.toaster]:text-[#B42318]",
3844
+ "[&_[data-icon]]:text-[#F04438]"
3845
+ ),
3846
+ warning: cn(
3847
+ "group-[.toaster]:bg-[#FFFAEB] group-[.toaster]:border-[#F79009]/20",
3848
+ "group-[.toaster]:text-[#B54708]",
3849
+ "[&_[data-icon]]:text-[#F79009]"
3850
+ ),
3851
+ info: cn(
3852
+ "group-[.toaster]:bg-[#EBF5FF] group-[.toaster]:border-[#4275D6]/20",
3853
+ "group-[.toaster]:text-[#1849A9]",
3854
+ "[&_[data-icon]]:text-[#4275D6]"
3855
+ ),
3856
+ },
3857
+ }}
3858
+ {...props}
3859
+ />
3860
+ );
3861
+ }
3862
+
3863
+ // Re-export toast function with our custom types
3864
+ export { Toaster, toast };
3865
+
3866
+ /**
3867
+ * Convenience functions for common toast types.
3868
+ *
3869
+ * @example
3870
+ * \`\`\`tsx
3871
+ * import { toast } from "@/components/ui/toast"
3872
+ *
3873
+ * // Simple message
3874
+ * toast("Event has been created")
3875
+ *
3876
+ * // With description
3877
+ * toast.success("Success!", {
3878
+ * description: "Your changes have been saved."
3879
+ * })
3880
+ *
3881
+ * // Error toast
3882
+ * toast.error("Error", {
3883
+ * description: "Something went wrong. Please try again."
3884
+ * })
3885
+ *
3886
+ * // With action button
3887
+ * toast("Event created", {
3888
+ * action: {
3889
+ * label: "Undo",
3890
+ * onClick: () => console.log("Undo clicked")
3891
+ * }
3892
+ * })
3893
+ *
3894
+ * // Promise toast (shows loading, then success/error)
3895
+ * toast.promise(saveData(), {
3896
+ * loading: "Saving...",
3897
+ * success: "Saved successfully!",
3898
+ * error: "Failed to save"
3899
+ * })
3900
+ *
3901
+ * // Dismiss a specific toast
3902
+ * const toastId = toast("Message")
3903
+ * toast.dismiss(toastId)
3904
+ *
3905
+ * // Dismiss all toasts
3906
+ * toast.dismiss()
3907
+ * \`\`\`
3908
+ */
3726
3909
  `,
3727
3910
  "tooltip": `import * as React from "react";
3728
3911
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
@@ -4931,6 +5114,24 @@ var componentMetadata = {
4931
5114
  }
4932
5115
  ]
4933
5116
  },
5117
+ "toast": {
5118
+ "name": "Toast",
5119
+ "description": "A toast component.",
5120
+ "dependencies": [
5121
+ "class-variance-authority",
5122
+ "clsx",
5123
+ "tailwind-merge"
5124
+ ],
5125
+ "props": [],
5126
+ "variants": [],
5127
+ "examples": [
5128
+ {
5129
+ "title": "Basic Toast",
5130
+ "code": "<Toast>Content</Toast>",
5131
+ "description": "Simple toast usage"
5132
+ }
5133
+ ]
5134
+ },
4934
5135
  "tooltip": {
4935
5136
  "name": "Tooltip",
4936
5137
  "description": "A tooltip component.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myoperator-mcp",
3
- "version": "0.2.29",
3
+ "version": "0.2.30",
4
4
  "description": "MCP server for myOperator UI components - enables AI assistants to access component metadata, examples, and design tokens",
5
5
  "type": "module",
6
6
  "bin": "./dist/index.js",