Add default as prop type for when as= is not provided
This commit is contained in:
@@ -41,7 +41,7 @@
|
|||||||
type TDialogProps<
|
type TDialogProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
open?: boolean;
|
open?: boolean;
|
||||||
initialFocus?: HTMLElement | null;
|
initialFocus?: HTMLElement | null;
|
||||||
static?: boolean;
|
static?: boolean;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TDialogOverlayProps<
|
type TDialogOverlayProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TDialogTitleProps<
|
type TDialogTitleProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "h2"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
type TDisclosureProps<
|
type TDisclosureProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
defaultOpen?: boolean;
|
defaultOpen?: boolean;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TDisclosureButtonProps<
|
type TDisclosureButtonProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "button"> & {
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
type TDisclosurePanelProps<
|
type TDisclosurePanelProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
unmount?: boolean;
|
unmount?: boolean;
|
||||||
static?: boolean;
|
static?: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
type TListboxProps<
|
type TListboxProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
horizontal?: boolean;
|
horizontal?: boolean;
|
||||||
value?: StateDefinition["value"];
|
value?: StateDefinition["value"];
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TListboxButtonProps<
|
type TListboxButtonProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "button"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TListboxLabelProps<
|
type TListboxLabelProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "label"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TListboxOptionProps<
|
type TListboxOptionProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "li"> & {
|
||||||
value: unknown;
|
value: unknown;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TListboxOptionsProps<
|
type TListboxOptionsProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "ul"> & {
|
||||||
unmount?: boolean;
|
unmount?: boolean;
|
||||||
static?: boolean;
|
static?: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
type TMenuProps<
|
type TMenuProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TMenuButtonProps<
|
type TMenuButtonProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "button"> & {
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TMenuItemProps<
|
type TMenuItemProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "a"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TMenuItemsProps<
|
type TMenuItemsProps<
|
||||||
TSlotProp extends {},
|
TSlotProp extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProp, TAsProp> & {
|
> = TPassThroughProps<TSlotProp, TAsProp, "div"> & {
|
||||||
static?: boolean;
|
static?: boolean;
|
||||||
unmount?: boolean;
|
unmount?: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
type TPopoverProps<
|
type TPopoverProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TPopoverButtonProps<
|
type TPopoverButtonProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "button"> & {
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
type TPopoverGroupProps<
|
type TPopoverGroupProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TPopoverOverlayProps<
|
type TPopoverOverlayProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
type TPopoverPanelProps<
|
type TPopoverPanelProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
focus?: boolean;
|
focus?: boolean;
|
||||||
static?: boolean;
|
static?: boolean;
|
||||||
unmount?: boolean;
|
unmount?: boolean;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
type TRadioGroupProps<
|
type TRadioGroupProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
value: StateDefinition["value"];
|
value: StateDefinition["value"];
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TRadioGroupOptionProps<
|
type TRadioGroupOptionProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
value: unknown;
|
value: unknown;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TSwitchProps<
|
type TSwitchProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "button"> & {
|
||||||
checked: boolean;
|
checked: boolean;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
type TSwitchGroupProps<
|
type TSwitchGroupProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TTabProps<
|
type TTabProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "button"> & {
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
type TTabGroupProps<
|
type TTabGroupProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {
|
||||||
defaultIndex?: number;
|
defaultIndex?: number;
|
||||||
vertical?: boolean;
|
vertical?: boolean;
|
||||||
manual?: boolean;
|
manual?: boolean;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TTabListProps<
|
type TTabListProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TTabPanelProps<
|
type TTabPanelProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
type TTabPanelsProps<
|
type TTabPanelsProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs
|
||||||
> = TPassThroughProps<TSlotProps, TAsProp> & {};
|
> = TPassThroughProps<TSlotProps, TAsProp, "div"> & {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
export type TTransitionChildProps<TAsProp extends SupportedAs> =
|
export type TTransitionChildProps<
|
||||||
TPassThroughProps<{}, TAsProp> & {
|
TAsProp extends SupportedAs,
|
||||||
enter?: string;
|
TDefaultAs
|
||||||
enterFrom?: string;
|
> = TPassThroughProps<{}, TAsProp, TDefaultAs> & {
|
||||||
enterTo?: string;
|
enter?: string;
|
||||||
entered?: string;
|
enterFrom?: string;
|
||||||
leave?: string;
|
enterTo?: string;
|
||||||
leaveFrom?: string;
|
entered?: string;
|
||||||
leaveTo?: string;
|
leave?: string;
|
||||||
unmount?: boolean;
|
leaveFrom?: string;
|
||||||
class?: string;
|
leaveTo?: string;
|
||||||
};
|
unmount?: boolean;
|
||||||
|
class?: string;
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -41,7 +43,7 @@
|
|||||||
|
|
||||||
/***** Props *****/
|
/***** Props *****/
|
||||||
type TAsProp = $$Generic<SupportedAs>;
|
type TAsProp = $$Generic<SupportedAs>;
|
||||||
type $$Props = TTransitionChildProps<TAsProp>;
|
type $$Props = TTransitionChildProps<TAsProp, "div">;
|
||||||
|
|
||||||
export let as: SupportedAs = "div";
|
export let as: SupportedAs = "div";
|
||||||
export let use: HTMLActionArray = [];
|
export let use: HTMLActionArray = [];
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
/***** Props *****/
|
/***** Props *****/
|
||||||
|
|
||||||
type TAsProp = $$Generic<SupportedAs>;
|
type TAsProp = $$Generic<SupportedAs>;
|
||||||
type $$Props = TTransitionRootProps<TAsProp>;
|
type $$Props = TTransitionRootProps<TAsProp, "div">;
|
||||||
|
|
||||||
export let as: SupportedAs = "div";
|
export let as: SupportedAs = "div";
|
||||||
export let use: HTMLActionArray = [];
|
export let use: HTMLActionArray = [];
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
export type TTransitionRootProps<TAsProp extends SupportedAs> =
|
export type TTransitionRootProps<
|
||||||
TTransitionChildProps<TAsProp> & {
|
TAsProp extends SupportedAs,
|
||||||
show?: boolean;
|
TDefaultAs
|
||||||
appear?: boolean;
|
> = TTransitionChildProps<TAsProp, TDefaultAs> & {
|
||||||
};
|
show?: boolean;
|
||||||
|
appear?: boolean;
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -38,7 +40,7 @@
|
|||||||
|
|
||||||
/***** Props *****/
|
/***** Props *****/
|
||||||
type TAsProp = $$Generic<SupportedAs>;
|
type TAsProp = $$Generic<SupportedAs>;
|
||||||
type $$Props = TTransitionRootProps<TAsProp>;
|
type $$Props = TTransitionRootProps<TAsProp, "div">;
|
||||||
|
|
||||||
export let as: SupportedAs = "div";
|
export let as: SupportedAs = "div";
|
||||||
export let use: HTMLActionArray = [];
|
export let use: HTMLActionArray = [];
|
||||||
|
|||||||
@@ -35,10 +35,14 @@
|
|||||||
>
|
>
|
||||||
: {};
|
: {};
|
||||||
|
|
||||||
|
type TResolveAs<TAsProp, TDefaultAs> = SupportedAs extends TAsProp
|
||||||
|
? TDefaultAs
|
||||||
|
: TAsProp;
|
||||||
type TRenderProps<
|
type TRenderProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs,
|
||||||
> = TRestProps<TAsProp> & {
|
TDefaultAs
|
||||||
|
> = TRestProps<TResolveAs<TAsProp, TDefaultAs>> & {
|
||||||
name: string;
|
name: string;
|
||||||
as: TAsProp;
|
as: TAsProp;
|
||||||
slotProps: TSlotProps;
|
slotProps: TSlotProps;
|
||||||
@@ -56,9 +60,10 @@
|
|||||||
|
|
||||||
export type TPassThroughProps<
|
export type TPassThroughProps<
|
||||||
TSlotProps extends {},
|
TSlotProps extends {},
|
||||||
TAsProp extends SupportedAs
|
TAsProp extends SupportedAs,
|
||||||
|
TDefaultAs
|
||||||
> = Omit<
|
> = Omit<
|
||||||
TRenderProps<TSlotProps, TAsProp>,
|
TRenderProps<TSlotProps, TAsProp, TDefaultAs>,
|
||||||
TInternalProps | "as" | "static" | "unmount"
|
TInternalProps | "as" | "static" | "unmount"
|
||||||
> & {
|
> & {
|
||||||
as?: TAsProp;
|
as?: TAsProp;
|
||||||
@@ -72,7 +77,7 @@
|
|||||||
|
|
||||||
type TSlotProps = $$Generic<{}>;
|
type TSlotProps = $$Generic<{}>;
|
||||||
type TAsProp = $$Generic<SupportedAs>;
|
type TAsProp = $$Generic<SupportedAs>;
|
||||||
type $$Props = TRenderProps<TSlotProps, TAsProp>;
|
type $$Props = TRenderProps<TSlotProps, TAsProp, TAsProp>;
|
||||||
|
|
||||||
export let name: string;
|
export let name: string;
|
||||||
export let as: TAsProp;
|
export let as: TAsProp;
|
||||||
|
|||||||
Reference in New Issue
Block a user