@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 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<ExtractDimensionKey<Dimensions[keyof Dimensions]>, Record<string, boolean | never | Record<string, boolean>> | unknown>;
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<MergeTypes<[DFP, P]>> | AttrsCb<MergeTypes<[DFP, P]>, Theme<T>> : Partial<DFP> | AttrsCb<DFP, Theme<T>>, config?: 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 MergeTypes<[EA, P]>>[] : Partial<keyof EA>[];
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.2.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.2.0",
47
- "@pyreon/styler": ">=0.2.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
- "@vitus-labs/tools-typescript": "^1.15.3"
51
+ "@pyreon/typescript": "^0.7.4"
52
52
  }
53
53
  }