diff --git a/src/webpack/common/components.ts b/src/webpack/common/components.ts index 8a2807ffe..1a238abab 100644 --- a/src/webpack/common/components.ts +++ b/src/webpack/common/components.ts @@ -49,6 +49,8 @@ export let ScrollerThin: t.ScrollerThin; export let Clickable: t.Clickable; export let Avatar: t.Avatar; export let FocusLock: t.FocusLock; +export let Spinner: t.Spinner; +export let SpinnerType: t.SpinnerType; // token lagger real /** css colour resolver stuff, no clue what exactly this does, just copied usage from Discord */ export let useToken: t.useToken; @@ -82,7 +84,9 @@ waitFor(["FormItem", "Button"], m => { Clickable, Avatar, FocusLock, - Heading + Heading, + Spinner, + SpinnerType, } = m); Forms = m; }); diff --git a/src/webpack/common/types/components.d.ts b/src/webpack/common/types/components.d.ts index 6c7623339..822797a47 100644 --- a/src/webpack/common/types/components.d.ts +++ b/src/webpack/common/types/components.d.ts @@ -502,3 +502,22 @@ export type Avatar = ComponentType; }>>; + +export declare enum SpinnerType { + WANDERING_CUBES = "wanderingCubes", + CHASING_DOTS = "chasingDots", + PULSING_ELLIPSIS = "pulsingEllipsis", + SPINNING_CIRCLE = "spinningCircle", + SPINNING_CIRCLE_SIMPLE = "spinningCircleSimple", + LOW_MOTION = "lowMotion", +} + +export type Spinner = ComponentType<{ + type?: SpinnerType; + animated?: boolean; + className?: string; + itemClassName?: string; + "aria-label"?: string; +}> & { + Type: typeof SpinnerType; +};