Socket
Socket
Sign inDemoInstall

@polymorphic-factory/solid

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@polymorphic-factory/solid - npm Package Compare versions

Comparing version 0.0.0-rc-20230401140823 to 0.0.0-rc-20230401170648

20

dist/index.d.ts

@@ -1,2 +0,2 @@

import { ComponentProps, ValidComponent, JSX, Component } from 'solid-js';
import { ComponentProps, JSX, Component } from 'solid-js';

@@ -16,3 +16,3 @@ type DOMElements = keyof JSX.IntrinsicElements;

type Assign<A, B> = DistributiveOmit<A, keyof B> & B;
type MergeWithAs<Default extends ValidComponent, Component extends ValidComponent, PermanentProps extends Record<never, never>, DefaultProps extends Record<never, never>, ComponentProps extends Record<never, never>> =
type MergeWithAs<Default extends ElementType, Component extends ElementType, PermanentProps extends Record<never, never>, DefaultProps extends Record<never, never>, ComponentProps extends Record<never, never>> =
/**

@@ -28,8 +28,8 @@ * The following code is copied from the library react-polymorphed by nasheomirro.

any extends Component ? Assign<DefaultProps, PermanentProps & {
as?: Default;
as?: Default | ElementType;
}> | Assign<ComponentProps, PermanentProps & {
as?: Component;
}> : never;
type ComponentWithAs<Component extends ValidComponent, Props extends Record<never, never> = Record<never, never>> = {
<AsComponent extends ValidComponent = Component>(props: MergeWithAs<Component, AsComponent, Props, ComponentProps<Component>, ComponentProps<AsComponent>>): JSX.Element;
type ComponentWithAs<Component extends ElementType, Props extends Record<never, never> = Record<never, never>> = {
<AsComponent extends ElementType = Component>(props: MergeWithAs<Component, AsComponent, Props, ComponentProps<Component>, ComponentProps<AsComponent>>): JSX.Element;
};

@@ -39,9 +39,9 @@ type HTMLPolymorphicComponents<Props extends Record<never, never> = Record<never, never>> = {

};
type HTMLPolymorphicProps<T extends ValidComponent> = Omit<ComponentProps<T>, 'ref'> & {
as?: ValidComponent;
type HTMLPolymorphicProps<T extends ElementType> = Omit<ComponentProps<T>, 'ref'> & {
as?: ElementType;
};
type PolymorphFactory<Props extends Record<never, never> = Record<never, never>, Options = never> = {
<T extends ValidComponent, P extends Record<never, never> = Props>(component: T, option?: Options): ComponentWithAs<T, P>;
<T extends ElementType, P extends Record<never, never> = Props>(component: T, option?: Options): ComponentWithAs<T, P>;
};
interface PolyFactoryParam<Component extends ValidComponent, Props extends Record<never, never>, Options> {
interface PolyFactoryParam<Component extends ElementType, Props extends Record<never, never>, Options> {
styled?: (component: Component, options?: Options) => ComponentWithAs<Component, Props>;

@@ -58,4 +58,4 @@ }

*/
declare function polymorphicFactory<Props extends Record<never, never>, Options = never, Component extends ValidComponent = ValidComponent>({ styled }?: PolyFactoryParam<Component, Props, Options>): PolymorphFactory<Props, Options> & HTMLPolymorphicComponents<Props>;
declare function polymorphicFactory<Props extends Record<never, never>, Options = never, Component extends ElementType = ElementType>({ styled }?: PolyFactoryParam<Component, Props, Options>): PolymorphFactory<Props, Options> & HTMLPolymorphicComponents<Props>;
export { Assign, ComponentWithAs, HTMLPolymorphicComponents, HTMLPolymorphicProps, PropsOf, polymorphicFactory };
{
"name": "@polymorphic-factory/solid",
"version": "0.0.0-rc-20230401140823",
"version": "0.0.0-rc-20230401170648",
"description": "",

@@ -5,0 +5,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc