@pyreon/rocketstyle 0.2.0 → 0.3.0
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.
- package/lib/index.d.ts +9 -9
- package/lib/index.js +6 -2
- package/package.json +4 -4
package/lib/index.d.ts
CHANGED
|
@@ -145,12 +145,12 @@ type DimensionResult<CT, T = any> = Record<string, boolean | null | DeepPartial<
|
|
|
145
145
|
type DimensionObj<CT, T = any> = DimensionResult<CT, T>;
|
|
146
146
|
type DimensionCb<T, CT> = (theme: T, mode: ThemeModeCallback, css: Css) => DimensionResult<CT, T>;
|
|
147
147
|
type DimensionCallbackParam<T, CT> = DimensionObj<CT, T> | DimensionCb<T, CT>;
|
|
148
|
-
type TDKP = Record<
|
|
148
|
+
type TDKP = Record<string, unknown>;
|
|
149
149
|
type DimensionProps<K extends DimensionValue, D extends Dimensions, P extends CallBackParam, DKP extends TDKP> = { [I in ExtractDimensionKey<D[keyof D]>]: I extends ExtractDimensionKey<K> ? ExtractNullableDimensionKeys<Spread<[DKP[I], NullableKeys<ReturnCbParam<P>>]>> : DKP[I] };
|
|
150
|
-
type DimensionTypesHelper<DKP extends TDKP> = { [I in keyof DKP]: keyof DKP[I] };
|
|
151
|
-
type DimensionObjAttrs<D extends Dimensions, DKP extends TDKP> = { [I in keyof DKP]: ExtractDimensionMulti<D[I]> extends true ? Array<keyof DKP[I]> : keyof DKP[I] };
|
|
152
|
-
type DimensionBooleanAttrs<DKP extends TDKP> = Partial<Record<ValueOf<DimensionTypesHelper<DKP>>, boolean>>;
|
|
153
|
-
type ExtractDimensionProps<D extends Dimensions, DKP extends TDKP, UB extends boolean> = UB extends true ? Partial<ExtractNullableDimensionKeys<DimensionObjAttrs<D, DKP> & DimensionBooleanAttrs<DKP>>> : Partial<ExtractNullableDimensionKeys<DimensionObjAttrs<D, DKP>>>;
|
|
150
|
+
type DimensionTypesHelper<D extends Dimensions, DKP extends TDKP> = { [I in ExtractDimensionKey<D[keyof D]> & keyof DKP]: keyof DKP[I] };
|
|
151
|
+
type DimensionObjAttrs<D extends Dimensions, DKP extends TDKP> = { [I in ExtractDimensionKey<D[keyof D]> & keyof DKP]: ExtractDimensionMulti<D[I & keyof D]> extends true ? Array<keyof DKP[I]> : keyof DKP[I] };
|
|
152
|
+
type DimensionBooleanAttrs<D extends Dimensions, DKP extends TDKP> = Partial<Record<ValueOf<DimensionTypesHelper<D, DKP>>, boolean>>;
|
|
153
|
+
type ExtractDimensionProps<D extends Dimensions, DKP extends TDKP, UB extends boolean> = UB extends true ? Partial<ExtractNullableDimensionKeys<DimensionObjAttrs<D, DKP> & DimensionBooleanAttrs<D, DKP>>> : Partial<ExtractNullableDimensionKeys<DimensionObjAttrs<D, DKP>>>;
|
|
154
154
|
type ExtractDimensions<D extends Dimensions, DKP extends TDKP> = ExtractNullableDimensionKeys<DimensionObjAttrs<D, DKP>>;
|
|
155
155
|
//#endregion
|
|
156
156
|
//#region src/types/config.d.ts
|
|
@@ -173,7 +173,7 @@ type ConfigAttrs<C extends ElementType | unknown, D extends Dimensions, DKP exte
|
|
|
173
173
|
consumer: ConsumerCb<D, DKP>;
|
|
174
174
|
DEBUG: boolean;
|
|
175
175
|
inversed: boolean;
|
|
176
|
-
passProps: UB extends true ? keyof DimensionBooleanAttrs<DKP>[] : never;
|
|
176
|
+
passProps: UB extends true ? keyof DimensionBooleanAttrs<D, DKP>[] : never;
|
|
177
177
|
styled: boolean;
|
|
178
178
|
}>;
|
|
179
179
|
//#endregion
|
|
@@ -242,9 +242,9 @@ interface IRocketStyleComponent<OA extends TObj = {}, EA extends TObj = {}, T ex
|
|
|
242
242
|
inversed,
|
|
243
243
|
passProps
|
|
244
244
|
}: ConfigAttrs<NC, D, DKP, UB>) => NC extends ElementType ? RocketStyleComponent<ExtractProps<NC>, EA, T, CSS, S, HOC, D, UB, DKP> : RocketStyleComponent<OA, EA, T, CSS, S, HOC, D, UB, DKP>;
|
|
245
|
-
attrs: <P extends TObj | unknown = unknown>(param: P extends TObj ? Partial<
|
|
245
|
+
attrs: <P extends TObj | unknown = unknown>(param: P extends TObj ? Partial<DFP & P> | ((props: Partial<DFP & P>, theme: Theme<T>, helpers: any) => Partial<P> & Record<string, unknown>) : Partial<DFP> | AttrsCb<DFP, Theme<T>>, config?: Partial<{
|
|
246
246
|
priority: boolean;
|
|
247
|
-
filter: P extends TObj ? Partial<keyof
|
|
247
|
+
filter: P extends TObj ? Partial<keyof (EA & P)>[] : Partial<keyof EA>[];
|
|
248
248
|
}>) => P extends TObj ? RocketStyleComponent<OA, MergeTypes<[EA, P]>, T, CSS, S, HOC, D, UB, DKP> : RocketStyleComponent<OA, EA, T, CSS, S, HOC, D, UB, DKP>;
|
|
249
249
|
theme: <P extends TObj = TObj>(param: Partial<P> | Partial<Styles<CSS>> | ThemeCb<P, Theme<T>>) => RocketStyleComponent<OA, EA, T, MergeTypes<[CSS, P]>, S, HOC, D, UB, DKP>;
|
|
250
250
|
styles: (param: StylesCb<CSS>) => RocketStyleComponent<OA, EA, T, CSS, S, HOC, D, UB, DKP>;
|
|
@@ -270,7 +270,7 @@ interface IRocketStyleComponent<OA extends TObj = {}, EA extends TObj = {}, T ex
|
|
|
270
270
|
type RocketComponent<C extends ElementType = ElementType, T extends TObj = {}, CSS extends TObj = {}, D extends Dimensions = DefaultDimensions, UB extends boolean = boolean> = (props: Configuration<C, D>) => RocketStyleComponent<ExtractProps<C>, {}, T, CSS, {}, {}, D, UB, {}>;
|
|
271
271
|
//#endregion
|
|
272
272
|
//#region src/init.d.ts
|
|
273
|
-
type Rocketstyle = <D extends Dimensions = DefaultDimensions, UB extends boolean = true>({
|
|
273
|
+
type Rocketstyle = <const D extends Dimensions = DefaultDimensions, UB extends boolean = true>({
|
|
274
274
|
dimensions,
|
|
275
275
|
useBooleans
|
|
276
276
|
}?: {
|
package/lib/index.js
CHANGED
|
@@ -569,6 +569,10 @@ const rocketComponent = (options) => {
|
|
|
569
569
|
context: FinalComponent.meta,
|
|
570
570
|
options: options.statics
|
|
571
571
|
});
|
|
572
|
+
createStaticsEnhancers({
|
|
573
|
+
context: FinalComponent,
|
|
574
|
+
options: options.statics
|
|
575
|
+
});
|
|
572
576
|
Object.assign(FinalComponent, {
|
|
573
577
|
attrs: (attrs, { priority, filter } = {}) => {
|
|
574
578
|
const result = {};
|
|
@@ -624,7 +628,7 @@ const validateInit = (name, component, dimensions) => {
|
|
|
624
628
|
}
|
|
625
629
|
if (!isEmpty(errors)) throw Error(JSON.stringify(errors));
|
|
626
630
|
};
|
|
627
|
-
const rocketstyle = ({ dimensions = DEFAULT_DIMENSIONS, useBooleans = true } = {}) => ({ name, component }) => {
|
|
631
|
+
const rocketstyle = (({ dimensions = DEFAULT_DIMENSIONS, useBooleans = true } = {}) => ({ name, component }) => {
|
|
628
632
|
if (process.env.NODE_ENV !== "production") validateInit(name, component, dimensions);
|
|
629
633
|
return rocketComponent({
|
|
630
634
|
name,
|
|
@@ -637,7 +641,7 @@ const rocketstyle = ({ dimensions = DEFAULT_DIMENSIONS, useBooleans = true } = {
|
|
|
637
641
|
transformKeys: getTransformDimensions(dimensions),
|
|
638
642
|
styled: true
|
|
639
643
|
});
|
|
640
|
-
};
|
|
644
|
+
});
|
|
641
645
|
|
|
642
646
|
//#endregion
|
|
643
647
|
//#region src/isRocketComponent.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pyreon/rocketstyle",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/pyreon/ui-system",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@pyreon/core": ">=0.4.0 <1.0.0",
|
|
45
45
|
"@pyreon/reactivity": ">=0.4.0 <1.0.0",
|
|
46
|
-
"@pyreon/ui-core": ">=0.
|
|
47
|
-
"@pyreon/styler": ">=0.
|
|
46
|
+
"@pyreon/ui-core": ">=0.3.0",
|
|
47
|
+
"@pyreon/styler": ">=0.3.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@vitus-labs/tools-rolldown": "^1.15.3",
|
|
51
|
-
"@
|
|
51
|
+
"@pyreon/typescript": "^0.7.4"
|
|
52
52
|
}
|
|
53
53
|
}
|