cindy-ai-chatbot 1.0.74 → 1.0.76

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 (32) hide show
  1. package/dist/components/AgenticAI/components/Loader.d.ts +1 -0
  2. package/dist/components/AgenticAI/components/MainCard.d.ts +25 -0
  3. package/dist/components/AgenticAI/components/toast.d.ts +11 -0
  4. package/dist/components/ui/button.d.ts +10 -0
  5. package/dist/components/ui/card.d.ts +9 -0
  6. package/dist/components/ui/dialog.d.ts +15 -0
  7. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  8. package/dist/components/ui/input-otp.d.ts +8 -0
  9. package/dist/components/ui/input.d.ts +4 -0
  10. package/dist/components/ui/popover.d.ts +6 -0
  11. package/dist/components/ui/select.d.ts +15 -0
  12. package/dist/components/ui/tabs.d.ts +7 -0
  13. package/dist/components/ui/textarea.d.ts +4 -0
  14. package/dist/components/ui/toast.d.ts +15 -0
  15. package/dist/components/ui/tooltip.d.ts +7 -0
  16. package/dist/esm/types/components/AgenticAI/components/Loader.d.ts +1 -0
  17. package/dist/esm/types/components/AgenticAI/components/MainCard.d.ts +25 -0
  18. package/dist/esm/types/components/AgenticAI/components/toast.d.ts +11 -0
  19. package/dist/esm/types/components/ui/button.d.ts +10 -0
  20. package/dist/esm/types/components/ui/tabs.d.ts +7 -0
  21. package/dist/esm/types/lib/utils.d.ts +2 -0
  22. package/dist/esm/types/utils/toast.d.ts +3 -0
  23. package/dist/images/loading-icon.svg +41 -0
  24. package/dist/index.esm.js +7 -8
  25. package/dist/index.esm.js.map +1 -1
  26. package/dist/index.js +7 -8
  27. package/dist/index.js.LICENSE.txt +18 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/lib/utils.d.ts +2 -0
  30. package/dist/utils/toast.d.ts +3 -0
  31. package/package.json +9 -2
  32. package/dist/esm/types/components/SelfContainedCindyChatBot.d.ts +0 -28
@@ -0,0 +1 @@
1
+ export declare const Loader: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export type MessageType = {
3
+ id: string;
4
+ content: string;
5
+ timestamp: Date;
6
+ type: 'user' | 'assistant';
7
+ };
8
+ export type SecurityCard = {
9
+ id: string;
10
+ title: string;
11
+ description: string;
12
+ query: string;
13
+ icon?: string;
14
+ category: 'vulnerabilities' | 'scans' | 'compliance' | 'comparison' | 'general';
15
+ };
16
+ export type AgentType = 'devops' | 'secops' | 'sreops';
17
+ export interface SecurityAssistantProps {
18
+ setMessage: (message: string) => void;
19
+ onSendMessage: () => void;
20
+ type: string;
21
+ quickActions?: SecurityCard[];
22
+ className?: string;
23
+ }
24
+ export declare const SecurityAssistant: React.FC<SecurityAssistantProps>;
25
+ export default SecurityAssistant;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type ToastType = 'success' | 'error' | 'warn' | 'info';
3
+ interface ToastConfig {
4
+ severity: ToastType;
5
+ summary: string;
6
+ detail: string;
7
+ life?: number;
8
+ }
9
+ declare const CustomToast: React.FC;
10
+ export declare const showToast: (config: ToastConfig) => void;
11
+ export default CustomToast;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "link" | "secondary" | "default" | "outline" | "destructive" | "ghost" | null | undefined;
5
+ size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
6
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
+ asChild?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export { Button, buttonVariants };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
3
+ declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
+ declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
6
+ declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
+ declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
+ showCloseButton?: boolean;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
+ declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
+ declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
14
+ declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
15
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
+ declare const DropdownMenu: React.FC<DropdownMenuPrimitive.DropdownMenuProps>;
4
+ declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const DropdownMenuPortal: React.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
7
+ declare const DropdownMenuSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
8
+ declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
9
+ declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
10
+ inset?: boolean;
11
+ } & React.RefAttributes<HTMLDivElement>>;
12
+ declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
+ declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
15
+ inset?: boolean;
16
+ } & React.RefAttributes<HTMLDivElement>>;
17
+ declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
+ declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
20
+ inset?: boolean;
21
+ } & React.RefAttributes<HTMLDivElement>>;
22
+ declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ declare const DropdownMenuShortcut: {
24
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ export interface InputOTPProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> {
3
+ value?: string;
4
+ onChange?: (value: string) => void;
5
+ length?: number;
6
+ }
7
+ declare const InputOTP: React.ForwardRefExoticComponent<InputOTPProps & React.RefAttributes<HTMLInputElement>>;
8
+ export { InputOTP };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ export type InputProps = React.InputHTMLAttributes<HTMLInputElement>;
3
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
4
+ export { Input };
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
3
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ export { Popover, PopoverTrigger, PopoverContent };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: "sm" | "default";
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
5
+ declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ export type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
3
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
4
+ export { Textarea };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as ToastPrimitives from "@radix-ui/react-toast";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ declare const ToastProvider: React.FC<ToastPrimitives.ToastProviderProps>;
5
+ declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
6
+ declare const Toast: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
7
+ variant?: "default" | "destructive" | null | undefined;
8
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLLIElement>>;
9
+ declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
10
+ declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
11
+ declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
14
+ type ToastActionElement = React.ReactElement<typeof ToastAction>;
15
+ export { type ToastProps, type ToastActionElement, ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
4
+ declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
5
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -0,0 +1 @@
1
+ export declare const Loader: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export type MessageType = {
3
+ id: string;
4
+ content: string;
5
+ timestamp: Date;
6
+ type: 'user' | 'assistant';
7
+ };
8
+ export type SecurityCard = {
9
+ id: string;
10
+ title: string;
11
+ description: string;
12
+ query: string;
13
+ icon?: string;
14
+ category: 'vulnerabilities' | 'scans' | 'compliance' | 'comparison' | 'general';
15
+ };
16
+ export type AgentType = 'devops' | 'secops' | 'sreops';
17
+ export interface SecurityAssistantProps {
18
+ setMessage: (message: string) => void;
19
+ onSendMessage: () => void;
20
+ type: string;
21
+ quickActions?: SecurityCard[];
22
+ className?: string;
23
+ }
24
+ export declare const SecurityAssistant: React.FC<SecurityAssistantProps>;
25
+ export default SecurityAssistant;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type ToastType = 'success' | 'error' | 'warn' | 'info';
3
+ interface ToastConfig {
4
+ severity: ToastType;
5
+ summary: string;
6
+ detail: string;
7
+ life?: number;
8
+ }
9
+ declare const CustomToast: React.FC;
10
+ export declare const showToast: (config: ToastConfig) => void;
11
+ export default CustomToast;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "secondary" | "link" | "default" | "destructive" | "outline" | "ghost" | null | undefined;
5
+ size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
6
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
+ asChild?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export { Button, buttonVariants };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
5
+ declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,3 @@
1
+ export declare const useToastFallback: () => {
2
+ show: (config: any) => void;
3
+ };
@@ -0,0 +1,41 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="200" height="200" style="shape-rendering: auto; display: block; background: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g transform="rotate(0 50 50)">
2
+ <rect fill="#01339d10" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
3
+ <animate repeatCount="indefinite" begin="-0.9s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
4
+ </rect>
5
+ </g><g transform="rotate(36 50 50)">
6
+ <rect fill="#01339d20" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
7
+ <animate repeatCount="indefinite" begin="-0.8s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
8
+ </rect>
9
+ </g><g transform="rotate(72 50 50)">
10
+ <rect fill="#01339d30" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
11
+ <animate repeatCount="indefinite" begin="-0.7s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
12
+ </rect>
13
+ </g><g transform="rotate(108 50 50)">
14
+ <rect fill="#01339d40" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
15
+ <animate repeatCount="indefinite" begin="-0.6s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
16
+ </rect>
17
+ </g><g transform="rotate(144 50 50)">
18
+ <rect fill="#01339d50" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
19
+ <animate repeatCount="indefinite" begin="-0.5s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
20
+ </rect>
21
+ </g><g transform="rotate(180 50 50)">
22
+ <rect fill="#01339d60" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
23
+ <animate repeatCount="indefinite" begin="-0.4s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
24
+ </rect>
25
+ </g><g transform="rotate(216 50 50)">
26
+ <rect fill="#01339d70" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
27
+ <animate repeatCount="indefinite" begin="-0.3s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
28
+ </rect>
29
+ </g><g transform="rotate(252 50 50)">
30
+ <rect fill="#01339d80" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
31
+ <animate repeatCount="indefinite" begin="-0.2s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
32
+ </rect>
33
+ </g><g transform="rotate(288 50 50)">
34
+ <rect fill="#01339d90" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
35
+ <animate repeatCount="indefinite" begin="-0.1s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
36
+ </rect>
37
+ </g><g transform="rotate(324 50 50)">
38
+ <rect fill="#01339d" height="12" width="5" ry="3.48" rx="2.5" y="24" x="47.5">
39
+ <animate repeatCount="indefinite" begin="0s" dur="1s" keyTimes="0;1" values="1;0" attributeName="opacity"></animate>
40
+ </rect>
41
+ </g><g></g></g><!-- [ldio] generated by https://loading.io --></svg>