@vitus-labs/rocketstyle 1.3.2 → 1.3.3
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 +2 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +5 -5
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { config, context, render } from "@vitus-labs/core";
|
|
2
|
-
import { ComponentType, FC, FocusEventHandler, ForwardRefExoticComponent,
|
|
2
|
+
import { ComponentType, FC, FocusEventHandler, ForwardRefExoticComponent, MouseEventHandler, ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/context/context.d.ts
|
|
5
5
|
type Theme$1 = {
|
|
@@ -191,12 +191,8 @@ type GenericHoc = (component: ElementType) => ElementType;
|
|
|
191
191
|
type ComposeParam = Record<string, GenericHoc | null | undefined | false>;
|
|
192
192
|
//#endregion
|
|
193
193
|
//#region src/types/rocketstyle.d.ts
|
|
194
|
-
type InnerComponentProps = {
|
|
195
|
-
$rocketstyleRef?: ForwardedRef<unknown>;
|
|
196
|
-
'data-rocketstyle': string;
|
|
197
|
-
};
|
|
198
194
|
interface ExoticComponent<P = {}> {
|
|
199
|
-
(props: P):
|
|
195
|
+
(props: P): ReactNode;
|
|
200
196
|
readonly $$typeof: symbol;
|
|
201
197
|
}
|
|
202
198
|
type RocketStyleComponent<OA extends TObj = {}, EA extends TObj = {}, T extends TObj = {}, CSS extends TObj = {}, S extends TObj = {}, HOC extends TObj = {}, D extends Dimensions = Dimensions, UB extends boolean = boolean, DKP extends TDKP = TDKP> = IRocketStyleComponent<OA, EA, T, CSS, S, HOC, D, UB, DKP> & { [I in keyof D]: <K extends DimensionValue = D[I], P extends DimensionCallbackParam<Theme<T>, Styles<CSS>> = DimensionCallbackParam<Theme<T>, Styles<CSS>>>(param: P) => P extends DimensionCallbackParam<Theme<T>, Styles<CSS>> ? RocketStyleComponent<OA, EA, T, CSS, S, HOC, D, UB, DimensionProps<K, D, P, DKP>> : RocketStyleComponent<OA, EA, T, CSS, S, HOC, D, UB, DKP> };
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.d.ts","names":[],"sources":["../src/context/context.tsx","../src/constants/defaultDimensions.ts","../src/types/utils.ts","../src/types/styles.ts","../src/constants/index.ts","../src/types/theme.ts","../src/types/dimensions.ts","../src/types/pseudo.ts","../src/types/config.ts","../src/types/configuration.ts","../src/types/attrs.ts","../src/types/hoc.ts","../src/types/rocketstyle.ts","../src/types/rocketComponent.ts","../src/init.ts","../src/isRocketComponent.tsx"],"mappings":";;;;KAIK,OAAA;EACH,QAAA;EACA,WAAA,GAAc,MAAA;EACd,cAAA;AAAA,IACE,MAAA;AAAA,KAEQ,SAAA;EACV,QAAA,EAAU,SAAA;EACV,KAAA,GAAQ,OAAA;EACR,IAAA;EACA,QAAA;EACA,QAAA,GAAW,aAAA;AAAA;;AALb;;;;cAaM,QAAA,EAAU,EAAA,CAAG,SAAA;;;;;;;AAtB4D;cCIzE,kBAAA;EAAA;;;;;;;;KAUM,iBAAA,UAA2B,kBAAA;;;KCb3B,IAAA,GAAO,MAAA;AAAA,KACP,GAAA,OAAU,IAAA;AAAA,KACV,aAAA,GAAgB,IAAA,GAAO,GAAA;AAAA,KAGvB,WAAA,WAAsB,IAAA,qBAC7B,aAAA,CAAc,CAAA,IAAK,OAAA;EAAA,CAAW,GAAA;AAAA,OAC9B,yBAAA,CAA0B,CAAA;EAAA,CAAQ,GAAA;AAAA;AAAA,KAE3B,OAAA,MAAa,CAAA,OAAQ,CAAA;AAAA,KAErB,aAAA,MAAmB,CAAA,OAAQ,CAAA;AAAA,KAE3B,WAAA,MAAiB,KAAA,OAAY,CAAA;AAAA,KAQpC,iBAAA,MAAuB,CAAA;AAAA,KAChB,YAAA,oBAAgC,CAAA,GAAI,iBAAA,CAAkB,CAAA,CAAE,CAAA;AAAA,KAExD,aAAA,WAAwB,GAAA,GAAM,IAAA,IAAQ,CAAA,SAAU,GAAA,GACxD,UAAA,CAAW,CAAA,IACX,CAAA;AAAA,KAGC,EAAA,MAAQ,CAAA,iCAAkC,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAEhD,KAAA,oBAAyB,CAAA;AAAA,KAEzB,mBAAA,oBACS,CAAA,IAAK,KAAA,CAAM,CAAA,CAAE,CAAA,kBACrB,CAAA,IACC,CAAA,CAAE,CAAA,8BAEA,CAAA,CAAE,CAAA,wCAED,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAGX,SAAA,SAAkB,EAAA,CAAG,IAAA,CAAK,CAAA,EAAG,OAAA,OAAc,CAAA,QAAS,CAAA,KAAM,CAAA;AAAA,KAEnD,MAAA,gCAAsC,CAAA,iCAI9C,SAAA,CAAU,CAAA,EAAG,MAAA,CAAO,CAAA;AAAA,KAGZ,UAAA,gCAA0C,mBAAA,CACpD,MAAA,CAAO,CAAA;AAAA,KAIG,YAAA,uBACV,kBAAA,SAA2B,aAAA,iBACvB,MAAA,GACA,kBAAA,SAA2B,yBAAA,iBACzB,MAAA,GACA,kBAAA;;;UC5DS,aAAA;AAAA,KAEL,MAAA,MAAY,CAAA,mBACpB,aAAA,GACA,UAAA,EAAY,aAAA,EAAe,CAAA;AAAA,KAEnB,GAAA,UAAa,MAAA,CAAO,GAAA;AAAA,KAIpB,QAAA,IAAY,GAAA,EAAK,GAAA,KAAQ,UAAA,CAAW,GAAA;AAAA,KACpC,aAAA,GAAgB,QAAA;;;;cCLf,WAAA;EAAA,SAGH,KAAA;EAAA,SAAA,IAAA;AAAA;;;UCRO,YAAA;AAAA,KAEL,KAAA,MAAW,CAAA,mBACnB,YAAA,GACA,UAAA,EAAY,YAAA,EAAc,CAAA;AAAA,KAElB,aAAA,gBAA6B,WAAA;AAAA,KAE7B,iBAAA,sBACV,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,CAAA,MACF,IAAA,uBAA2B,CAAA,GAAI,CAAA;AAAA,KAEzB,SAAA,sBAA+B,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,CAAA,KAAM,CAAA,GAAI,CAAA;AAAA,KAEzD,OAAA,YACV,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,iBAAA,EACN,GAAA,EAAK,GAAA,KACF,OAAA,CAAQ,GAAA;;;KCVD,4BAAA,oBACE,CAAA,IAAK,CAAA,CAAE,CAAA,0BAA2B,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAG1C,mBAAA,WAA8B,cAAA,IACxC,CAAA,SAAU,iBAAA,GAAoB,CAAA,eAAgB,CAAA;AAAA,KAEpC,qBAAA,WAAgC,cAAA,IAC1C,CAAA,SAAU,iBAAA;AAAA,KAMA,uBAAA;AAAA,KACA,iBAAA;EACV,QAAA;EACA,KAAA;AAAA;AAAA,KAGU,cAAA,GAAiB,uBAAA,GAA0B,iBAAA;AAAA,KAC3C,UAAA,GAAa,MAAA,SAAe,cAAA;AAAA,KAE5B,SAAA,WAAoB,UAAA,GAAa,UAAA,IAAc,OAAA,CACzD,MAAA,CAAO,mBAAA,CAAoB,CAAA,OAAQ,CAAA;AAAA,KAGzB,eAAA,OAAsB,MAAA,0BAAgC,OAAA,CAAQ,EAAA;AAAA,KAC9D,YAAA,OAAmB,eAAA,CAAgB,EAAA;AAAA,KAEnC,WAAA,WACV,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,iBAAA,EACN,GAAA,EAAK,GAAA,KACF,eAAA,CAAgB,EAAA;AAAA,KAET,sBAAA,UACR,YAAA,CAAa,EAAA,IACb,WAAA,CAAY,CAAA,EAAG,EAAA;AAAA,KAIP,IAAA,GAAO,MAAA,CACjB,mBAAA,CAAoB,UAAA,OAAiB,UAAA,IACrC,MAAA,2BAAiC,MAAA;AAAA,KAGvB,cAAA,WACA,cAAA,YACA,UAAA,YACA,aAAA,cACE,IAAA,YAEN,mBAAA,CAAoB,CAAA,OAAQ,CAAA,KAAM,CAAA,SAAU,mBAAA,CAAoB,CAAA,IAClE,4BAAA,CACE,MAAA,EAAQ,GAAA,CAAI,CAAA,GAAI,YAAA,CAAa,aAAA,CAAc,CAAA,QAE7C,GAAA,CAAI,CAAA;AAAA,KAGL,oBAAA,aAAiC,IAAA,kBACxB,GAAA,SAAY,GAAA,CAAI,CAAA;AAAA,KAGlB,iBAAA,WAA4B,UAAA,cAAwB,IAAA,kBAElD,GAAA,GAAM,qBAAA,CAAsB,CAAA,CAAE,CAAA,kBACtC,KAAA,OAAY,GAAA,CAAI,CAAA,WACV,GAAA,CAAI,CAAA;AAAA,KAGJ,qBAAA,aAAkC,IAAA,IAAQ,OAAA,CACpD,MAAA,CAAO,OAAA,CAAQ,oBAAA,CAAqB,GAAA;AAAA,KAG1B,qBAAA,WACA,UAAA,cACE,IAAA,wBAEV,EAAA,gBACA,OAAA,CACE,4BAAA,CACE,iBAAA,CAAkB,CAAA,EAAG,GAAA,IAAO,qBAAA,CAAsB,GAAA,MAGtD,OAAA,CAAQ,4BAAA,CAA6B,iBAAA,CAAkB,CAAA,EAAG,GAAA;AAAA,KAElD,iBAAA,WACA,UAAA,cACE,IAAA,IACV,4BAAA,CAA6B,iBAAA,CAAkB,CAAA,EAAG,GAAA;;;KCtG1C,aAAA;EACV,YAAA,EAAc,iBAAA;EACd,YAAA,EAAc,iBAAA;EACd,WAAA,EAAa,iBAAA;EACb,SAAA,EAAW,iBAAA;EACX,OAAA,EAAS,iBAAA;EACT,MAAA,EAAQ,iBAAA;AAAA;AAAA,KAGE,WAAA;EACV,MAAA;EACA,KAAA;EACA,KAAA;EACA,OAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,KAGU,WAAA,GAAc,OAAA,CAAQ,WAAA,GAAc,aAAA;;;KCRpC,mBAAA,GAAsB,WAAA;EAChC,cAAA;EACA,aAAA,EAAe,MAAA;AAAA;AAAA,KAGL,mBAAA,WACA,mBAAA,GAAsB,IAAA,wBAC9B,CAAA,SAAU,mBAAA,GACV,OAAA,CAAQ,CAAA;EAAwB,MAAA,EAAQ,WAAA;AAAA,IACxC,CAAA;AAAA,KAEQ,kBAAA,WACA,mBAAA,YACA,UAAA,cACE,IAAA,KAEZ,KAAA,EAAO,mBAAA,CAAoB,CAAA,MACxB,GAAA,SAAY,IAAA,GACb,OAAA,CAAQ,iBAAA,CAAkB,CAAA,EAAG,GAAA;EAAS,MAAA,EAAQ,WAAA;AAAA,KAC9C,IAAA;AAAA,KAEQ,aAAA,WAAwB,UAAA,cAAwB,IAAA,GAAO,IAAA,eACvD,mBAAA,EAEV,KAAA,EAAO,kBAAA,CAAmB,CAAA,EAAG,CAAA,EAAG,GAAA,MAC7B,UAAA,CAAW,kBAAA,CAAmB,CAAA,EAAG,CAAA,EAAG,GAAA;AAAA,KAE7B,UAAA,WAAqB,UAAA,cAAwB,IAAA,GAAO,IAAA,KAC9D,GAAA,EAAK,aAAA,CAAc,CAAA,EAAG,GAAA,MACnB,UAAA,CAAW,aAAA,CAAc,CAAA,EAAG,GAAA;AAAA,KAErB,WAAA,WACA,WAAA,sBACA,UAAA,cACE,IAAA,wBAEV,OAAA;EACF,IAAA;EACA,SAAA,EAAW,CAAA;EACX,QAAA;EACA,QAAA,EAAU,UAAA,CAAW,CAAA,EAAG,GAAA;EACxB,KAAA;EACA,QAAA;EACA,SAAA,EAAW,EAAA,sBAAwB,qBAAA,CAAsB,GAAA;EACzD,MAAA;AAAA;;;KC3CU,UAAA,OAAiB,GAAA,gBAAmB,MAAA;AAAA,KAEpC,iBAAA;EACV,IAAA;EACA,SAAA,EAAW,CAAA;EACX,WAAA;EACA,UAAA,EAAY,CAAA;EACZ,aAAA,EAAe,WAAA,CAAY,CAAA;EAC3B,eAAA,EAAiB,aAAA,CAAc,CAAA;EAC/B,SAAA,EAAW,SAAA;AAAA;AAAA,KAGD,aAAA,KACN,WAAA,sBACM,UAAA,GAAa,UAAA,IACrB,iBAAA,CAAkB,CAAA,EAAG,CAAA;EACvB,QAAA;EACA,QAAA,GAAW,UAAA,CAAW,CAAA;EACtB,KAAA;EACA,QAAA;EACA,SAAA;EACA,MAAA;EAGA,KAAA,EAAO,UAAA;EACP,aAAA,EAAe,UAAA;EACf,WAAA;EACA,KAAA,EAAO,UAAA;EACP,MAAA,EAAQ,aAAA;EACR,OAAA,EAAS,MAAA,SAAe,GAAA;EACxB,OAAA,EAAS,MAAA;AAAA,IACP,MAAA;AAAA,KAuBQ,YAAA,GAAe,OAAA,CAAQ,WAAA;;;KChEvB,OAAA,UACV,KAAA,EAAO,OAAA,CAAQ,CAAA,GACf,KAAA,EAAO,CAAA,EACP,OAAA;EACE,IAAA,GAAO,aAAA;EACP,MAAA;EACA,OAAA;EACA,aAAA,SAAsB,MAAA;AAAA,MAErB,OAAA,CAAQ,CAAA;;;KCVD,UAAA,IAAc,SAAA,EAAW,WAAA,KAAgB,WAAA;AAAA,KAEzC,YAAA,GAAe,MAAA,SAAe,UAAA;;;KCe9B,mBAAA;EACV,eAAA,GAAkB,YAAA;EAClB,kBAAA;AAAA;AAAA,UAGe,eAAA;EAAA,CACd,KAAA,EAAO,CAAA,GAAI,YAAA,CAAa,CAAA,GAAI,mBAAA;EAAA,SACpB,QAAA;AAAA;AAAA,KAGC,oBAAA,YACC,IAAA,kBACA,IAAA,iBACD,IAAA,mBACE,IAAA,iBACF,IAAA,mBACE,IAAA,iBACF,UAAA,GAAa,UAAA,4CAEX,IAAA,GAAO,IAAA,IACjB,qBAAA,CAAsB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA,kBAC3C,CAAA,cACA,cAAA,GAAiB,CAAA,CAAE,CAAA,aACnB,sBAAA,CACR,KAAA,CAAM,CAAA,GACN,MAAA,CAAO,GAAA,KACL,sBAAA,CAAuB,KAAA,CAAM,CAAA,GAAI,MAAA,CAAO,GAAA,IAE5C,KAAA,EAAO,CAAA,KACJ,CAAA,SAAU,sBAAA,CAAuB,KAAA,CAAM,CAAA,GAAI,MAAA,CAAO,GAAA,KACnD,oBAAA,CACE,EAAA,EACA,EAAA,EACA,CAAA,EACA,GAAA,EACA,CAAA,EACA,GAAA,EACA,CAAA,EACA,EAAA,EACA,cAAA,CAAe,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAA,KAE1B,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;;;;;;;;;;;;UAczC,qBAAA,YAEJ,IAAA,kBAEA,IAAA,iBAED,IAAA,mBAEE,IAAA,iBAEF,IAAA,mBAEE,IAAA,iBAEF,UAAA,GAAa,UAAA,4CAIX,IAAA,GAAO,IAAA,QAEb,UAAA,EAAY,EAAA,EAAI,EAAA,EAAI,YAAA,EAAc,qBAAA,CAAsB,CAAA,EAAG,GAAA,EAAK,EAAA,aAC9D,eAAA,CAAgB,GAAA;EZhFA;AACzB;;;;;;;;;;;;;;;;;;;;ACDD;;;;;;;;ACbA;;;;;AACA;;;;;AACA;;;;;AAGA;;;;;;;;;;;;;;;;;;EUyJE,MAAA,cAAoB,WAAA;IAClB,IAAA;IACA,SAAA,EAAW,EAAA;IACX,QAAA;IACA,QAAA;IACA,KAAA;IACA,QAAA;IACA;EAAA,GACC,WAAA,CAAY,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,EAAA,MAAQ,EAAA,SAAW,WAAA,GAC1C,oBAAA,CAAqB,YAAA,CAAa,EAAA,GAAK,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA,IAClE,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;EVjKnB;;;AAEvC;;;;;;;;;AAEA;;;;;;;;;AAEA;;;EUuLE,KAAA,aAAkB,IAAA,sBAChB,KAAA,EAAO,CAAA,SAAU,IAAA,GACb,OAAA,CAAQ,UAAA,EAAY,GAAA,EAAK,CAAA,MAAO,OAAA,CAAQ,UAAA,EAAY,GAAA,EAAK,CAAA,IAAK,KAAA,CAAM,CAAA,KACpE,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAK,KAAA,CAAM,CAAA,IACtC,MAAA,GAAS,OAAA;IV3LW;;;;IUgMlB,QAAA;IVxLD;;;IU4LC,MAAA,EAAQ,CAAA,SAAU,IAAA,GACd,OAAA,OAAc,UAAA,EAAY,EAAA,EAAI,CAAA,QAC9B,OAAA,OAAc,EAAA;EAAA,OAEjB,CAAA,SAAU,IAAA,GACX,oBAAA,CAAqB,EAAA,EAAI,UAAA,EAAY,EAAA,EAAI,CAAA,IAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA,IACrE,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;EVjM9C;;;;;;;;;;;;;;;;;AAEZ;;;;;;;;;;;;;;EUkOE,KAAA,aAAkB,IAAA,sBAChB,KAAA,EAAO,CAAA,SAAU,IAAA,GAET,OAAA,CAAQ,UAAA,EAAY,MAAA,CAAO,GAAA,GAAM,CAAA,MACjC,OAAA,CAAQ,UAAA,EAAY,MAAA,CAAO,GAAA,GAAM,CAAA,IAAK,KAAA,CAAM,CAAA,KAChD,OAAA,CAAQ,MAAA,CAAO,GAAA,KAAQ,OAAA,CAAQ,MAAA,CAAO,GAAA,GAAM,KAAA,CAAM,CAAA,OACnD,CAAA,SAAU,IAAA,GACX,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,UAAA,EAAY,GAAA,EAAK,CAAA,IAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA,IACrE,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;EV1OR;;;;;;;AAE7C;;;;;EUwPH,MAAA,GACE,KAAA,EAAO,QAAA,KACJ,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;EVvPN;;;;;;;;;;;;AAAC;;;;;AAEvB;;;;;;;;;;;;;;EUwR7B,OAAA,aAAoB,YAAA,EAClB,KAAA,EAAO,CAAA,KACJ,CAAA,SAAU,IAAA,GACX,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,UAAA,EAAY,GAAA,EAAK,CAAA,IAAK,CAAA,EAAG,EAAA,EAAI,GAAA,IACrE,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;EVnRzC;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;EUyTf,OAAA,aAAoB,IAAA,sBAClB,KAAA,EAAO,CAAA,KACJ,CAAA,SAAU,IAAA,GACX,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,UAAA,EAAY,CAAA,EAAG,CAAA,IAAK,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA,IACrE,oBAAA,CAAqB,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,GAAA;EV1TxB;;;;;;AAElC;;;;;;;;;;;EU2UE,IAAA,EAAM,CAAA;EAEN,mBAAA,GAAsB,KAAA,EAAO,IAAA;IAC3B,UAAA,EAAY,GAAA;IACZ,WAAA,EAAa,EAAA;IACb,SAAA,EAAW,SAAA,CAAU,CAAA;EAAA;EAGvB,eAAA,GAAkB,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,IAAA,EAAM,aAAA,KAAkB,IAAA;EV/U7C;;AAGzB;;;;;;;;;;;EAHyB,SU8Vd,aAAA,EAAe,iBAAA,CAAkB,CAAA,EAAG,GAAA;EV1VrC;;AAIV;;;;;;;;;;;;EAJU,SUyWC,aAAA,EAAe,EAAA;EVpWuB;;;;;;;;;;;;ACxDjD;;;;EDwDiD,SUqXtC,eAAA,EAAiB,EAAA;ET3ahB;;;;;;;;;;;;;;;EAAA,SS2bD,OAAA,EAAS,GAAA;ETzbY;;AAEhC;ES2bE,cAAA;;;;ATvbF;;;;;;;;ESmcE,WAAA;AAAA;;;KC5cU,eAAA,WACA,WAAA,GAAc,WAAA,YACd,IAAA,mBACE,IAAA,iBACF,UAAA,GAAa,iBAAA,mCAEpB,KAAA,EAAO,aAAA,CAAc,CAAA,EAAG,CAAA,MAAO,oBAAA,CAElC,YAAA,CAAa,CAAA,OAGb,CAAA,EACA,GAAA,UAGA,CAAA,EACA,EAAA;;;KCPU,WAAA,cACA,UAAA,GAAa,iBAAA;EAGvB,UAAA;EACA;AAAA;EAEA,UAAA,GAAa,CAAA;EACb,WAAA,GAAc,EAAA;AAAA,iBACC,WAAA;EACf,IAAA;EACA;AAAA;EAEA,IAAA;EACA,SAAA,EAAW,CAAA;AAAA,MACP,UAAA,CAAW,eAAA,CAAgB,CAAA,UAAW,CAAA,EAAG,EAAA;AAAA,cAgDzC,WAAA,EAAa,WAAA;;;KC7EP,iBAAA,OAAwB,SAAA,EAAW,CAAA;AAAA,cAEzC,iBAAA,EAAmB,iBAAA"}
|
|
1
|
+
{"version":3,"file":"index2.d.ts","names":[],"sources":["../src/context/context.tsx","../src/constants/defaultDimensions.ts","../src/types/utils.ts","../src/types/styles.ts","../src/constants/index.ts","../src/types/theme.ts","../src/types/dimensions.ts","../src/types/pseudo.ts","../src/types/config.ts","../src/types/configuration.ts","../src/types/attrs.ts","../src/types/hoc.ts","../src/types/rocketstyle.ts","../src/types/rocketComponent.ts","../src/init.ts","../src/isRocketComponent.tsx"],"mappings":"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"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CoreProvider","context","useTheme","createLocalProvider","ThemeManager","LocalThemeManager","rocketstyleAttrsHoc","useRef","useTheme","defaultDimensions"],"sources":["../src/constants/index.ts","../src/context/context.tsx","../src/constants/defaultDimensions.ts","../src/cache/LocalThemeManager.ts","../src/hooks/usePseudoState.tsx","../src/hooks/useRef.ts","../src/hooks/useTheme.tsx","../src/context/localContext.tsx","../src/context/createLocalProvider.tsx","../src/utils/attrs.ts","../src/hoc/rocketstyleAttrsHoc.tsx","../src/utils/chaining.ts","../src/utils/compose.ts","../src/utils/dimensions.ts","../src/utils/statics.ts","../src/utils/styles.ts","../src/utils/collection.ts","../src/utils/theme.ts","../src/rocketstyle.tsx","../src/init.ts","../src/isRocketComponent.tsx","../src/index.ts"],"sourcesContent":["/** Default theme mode used when no mode is provided via context. */\nexport const MODE_DEFAULT = 'light'\n\n/** Pseudo-state interaction keys tracked for styling (hover, active, focus, pressed). */\nexport const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'] as const\n\n/** Meta pseudo-state keys representing non-interactive states (disabled, readOnly). */\nexport const PSEUDO_META_KEYS = ['disabled', 'readOnly'] as const\n\n/** Supported theme mode flags. */\nexport const THEME_MODES = {\n light: true,\n dark: true,\n} as const\n\n/** Maps each theme mode to its inverse (light -> dark, dark -> light). */\nexport const THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n} as const\n\n/** Reserved configuration keys accepted by the `.config()` chaining method. */\nexport const CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n] as const\n\n/** Keys for theme and styles chaining methods. */\nexport const STYLING_KEYS = ['theme', 'styles'] as const\nexport const STATIC_KEYS = [...STYLING_KEYS, 'compose'] as const\n\n/** Union of all reserved keys that cannot be used as dimension names. */\nexport const ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n 'attrs',\n] as const\n","import { Provider as CoreProvider, context } from '@vitus-labs/core'\nimport { type ComponentType, type FC, type ReactNode, useContext } from 'react'\nimport { MODE_DEFAULT, THEME_MODES_INVERSED } from '~/constants'\n\ntype Theme = {\n rootSize: number\n breakpoints?: Record<string, number>\n __VITUS_LABS__?: never\n} & Record<string, unknown>\n\nexport type TProvider = {\n children: ReactNode\n theme?: Theme\n mode?: 'light' | 'dark'\n inversed?: boolean\n provider?: ComponentType<any>\n}\n\n/**\n * Top-level theme and mode provider for rocketstyle components.\n * Reads the parent context, merges incoming props, and resolves\n * the active mode (with optional inversion for nested dark/light switching).\n */\nconst Provider: FC<TProvider> = ({\n provider = CoreProvider,\n inversed,\n ...props\n}) => {\n const ctx = useContext<TProvider>(context)\n\n const {\n theme,\n mode,\n provider: RocketstyleProvider,\n children,\n } = { ...ctx, ...props, provider }\n\n let newMode = MODE_DEFAULT\n\n if (mode) {\n newMode = inversed ? THEME_MODES_INVERSED[mode] : mode\n }\n\n return (\n <RocketstyleProvider\n mode={newMode}\n isDark={newMode === 'dark'}\n isLight={newMode === 'light'}\n theme={theme}\n provider={provider}\n >\n {children}\n </RocketstyleProvider>\n )\n}\n\nexport { context }\n\nexport default Provider\n","/**\n * Default dimension configuration for rocketstyle components.\n * Defines four built-in dimensions: `states`, `sizes`, `variants`,\n * and `multiple` (a multi-select dimension).\n */\nconst DEFAULT_DIMENSIONS = {\n states: 'state',\n sizes: 'size',\n variants: 'variant',\n multiple: {\n propName: 'multiple',\n multi: true,\n },\n} as const\n\nexport type DefaultDimensions = typeof DEFAULT_DIMENSIONS\n\nexport default DEFAULT_DIMENSIONS\n","/**\n * WeakMap-based multi-tier cache for computed theme objects.\n * Maintains separate caches for base themes, dimension themes,\n * and their light/dark mode variants to avoid recalculation on re-renders.\n */\nexport default class ThemeManager {\n baseTheme = new WeakMap()\n\n dimensionsThemes = new WeakMap()\n\n modeBaseTheme = { light: new WeakMap(), dark: new WeakMap() }\n\n modeDimensionTheme = { light: new WeakMap(), dark: new WeakMap() }\n}\n","import {\n type FocusEventHandler,\n type MouseEventHandler,\n useCallback,\n useState,\n} from 'react'\nimport type { PseudoActions, PseudoState } from '~/types/pseudo'\n\ntype UsePseudoState = ({\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onMouseUp,\n onFocus,\n onBlur,\n}: Partial<PseudoActions>) => {\n state: Pick<PseudoState, 'hover' | 'focus' | 'pressed'>\n events: PseudoActions\n}\n\n/**\n * Tracks hover, focus, and pressed pseudo-states via mouse and focus\n * event handlers. Returns the current state flags and wrapped event\n * callbacks that preserve any user-provided handlers.\n */\nconst usePseudoState: UsePseudoState = ({\n onBlur,\n onFocus,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n}) => {\n const [hover, setHover] = useState(false)\n const [focus, setFocus] = useState(false)\n const [pressed, setPressed] = useState(false)\n\n const handleOnMouseEnter: MouseEventHandler = useCallback(\n (e) => {\n setHover(true)\n if (onMouseEnter) onMouseEnter(e)\n },\n [onMouseEnter],\n )\n\n const handleOnMouseLeave: MouseEventHandler = useCallback(\n (e) => {\n setHover(false)\n setPressed(false)\n if (onMouseLeave) onMouseLeave(e)\n },\n [onMouseLeave],\n )\n\n const handleOnMouseDown: MouseEventHandler = useCallback(\n (e) => {\n setPressed(true)\n if (onMouseDown) onMouseDown(e)\n },\n [onMouseDown],\n )\n\n const handleOnMouseUp: MouseEventHandler = useCallback(\n (e) => {\n setPressed(false)\n if (onMouseUp) onMouseUp(e)\n },\n [onMouseUp],\n )\n\n const handleOnFocus: FocusEventHandler = useCallback(\n (e) => {\n setFocus(true)\n if (onFocus) onFocus(e)\n },\n [onFocus],\n )\n\n const handleOnBlur: FocusEventHandler = useCallback(\n (e) => {\n setFocus(false)\n if (onBlur) onBlur(e)\n },\n [onBlur],\n )\n\n return {\n state: {\n hover,\n focus,\n pressed,\n },\n events: {\n onMouseEnter: handleOnMouseEnter,\n onMouseLeave: handleOnMouseLeave,\n onMouseDown: handleOnMouseDown,\n onMouseUp: handleOnMouseUp,\n onFocus: handleOnFocus,\n onBlur: handleOnBlur,\n },\n }\n}\n\nexport default usePseudoState\n","import { type ForwardedRef, useImperativeHandle, useRef } from 'react'\n\ntype UseRocketstyleRef = (props: {\n $rocketstyleRef?: ForwardedRef<unknown>\n ref?: ForwardedRef<unknown>\n}) => ForwardedRef<unknown>\n\n/**\n * Unifies two forwarded refs (the outer consumer ref and the internal\n * rocketstyle HOC ref) into a single internal ref using `useImperativeHandle`,\n * so both callers receive the same underlying DOM node.\n */\nconst useRocketstyleRef: UseRocketstyleRef = ({ $rocketstyleRef, ref }) => {\n const internalRef = useRef(null)\n\n useImperativeHandle($rocketstyleRef, () => internalRef.current)\n useImperativeHandle(ref, () => internalRef.current)\n\n return internalRef\n}\n\nexport default useRocketstyleRef\n","import { useContext } from 'react'\nimport { THEME_MODES_INVERSED } from '~/constants'\nimport { context } from '~/context/context'\nimport type { ThemeModeKeys } from '~/types/theme'\n\ntype Context = {\n theme: Record<string, unknown>\n mode: ThemeModeKeys\n isDark: boolean\n isLight: boolean\n}\n\ntype UseThemeAttrs = ({ inversed }: { inversed?: boolean }) => Context\n\n/**\n * Retrieves the current theme object and resolved mode from context.\n * Supports mode inversion so nested components can flip between\n * light and dark without a new provider.\n */\nconst useThemeAttrs: UseThemeAttrs = ({ inversed }) => {\n const {\n theme = {},\n mode: ctxMode = 'light',\n isDark: ctxDark,\n } = useContext<Context>(context) || {}\n\n const mode = inversed ? THEME_MODES_INVERSED[ctxMode] : ctxMode\n const isDark = inversed ? !ctxDark : ctxDark\n const isLight = !isDark\n\n return { theme, mode, isDark, isLight }\n}\n\nexport default useThemeAttrs\n","import { createContext, useContext } from 'react'\nimport type { PseudoState } from '~/types/pseudo'\n\ntype LocalContext = Partial<\n {\n pseudo: PseudoState\n } & Record<string, string>\n>\n\n/**\n * Local context for propagating pseudo-state (hover, focus, pressed)\n * and additional styling attributes from a parent provider component\n * to its rocketstyle children.\n */\nconst context = createContext<LocalContext>({})\n\n/**\n * Retrieves the local pseudo-state context. When a consumer callback\n * is provided, it transforms the raw context; otherwise returns defaults.\n */\ntype UseLocalContext = (consumer: any) => LocalContext\nexport const useLocalContext: UseLocalContext = (consumer) => {\n const ctx = useContext(context)\n\n if (!consumer) return { pseudo: {} }\n\n const result = consumer((callback: any) => callback(ctx))\n return { pseudo: {}, ...result }\n}\n\nexport const LocalProvider = context.Provider\n\nexport default context\n","import {\n type ComponentType,\n type ForwardRefExoticComponent,\n forwardRef,\n useMemo,\n} from 'react'\nimport { usePseudoState } from '~/hooks'\nimport type { PseudoProps } from '~/types/pseudo'\nimport { LocalProvider } from './localContext'\n\ntype Props = PseudoProps & Record<string, any>\n\ntype HOC = (\n WrappedComponent: ComponentType<Props>,\n) => ForwardRefExoticComponent<Props>\n\n/**\n * Higher-order component that wraps a component with a LocalProvider,\n * detecting pseudo-states (hover, focus, pressed) via mouse/focus events\n * and broadcasting them through local context to child rocketstyle components.\n */\nconst RocketStyleProviderComponent: HOC = (WrappedComponent) =>\n forwardRef(\n (\n {\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onFocus,\n onBlur,\n $rocketstate,\n ...props\n },\n ref,\n ) => {\n // pseudo hook to detect states hover / pressed / focus\n const pseudo = usePseudoState({\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onFocus,\n onBlur,\n })\n\n const updatedState = useMemo(\n () => ({\n ...$rocketstate,\n pseudo: { ...$rocketstate.pseudo, ...pseudo.state },\n }),\n [$rocketstate, pseudo],\n )\n\n return (\n <LocalProvider value={updatedState}>\n <WrappedComponent\n {...props}\n {...pseudo.events}\n ref={ref}\n $rocketstate={updatedState}\n />\n </LocalProvider>\n )\n },\n )\n\nexport default RocketStyleProviderComponent\n","import { isEmpty } from '@vitus-labs/core'\nimport type { MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// remove undefined props\n// --------------------------------------------------------\n/** Strips keys with `undefined` values so they don't shadow default props during merging. */\ntype RemoveUndefinedProps = <T extends Record<string, any>>(\n props: T,\n) => Partial<T>\n\nexport const removeUndefinedProps: RemoveUndefinedProps = (props) =>\n Object.keys(props).reduce((acc, key) => {\n const currentValue = props[key]\n if (currentValue !== undefined) return { ...acc, [key]: currentValue }\n return acc\n }, {})\n\n// --------------------------------------------------------\n// pick styled props\n// --------------------------------------------------------\n/** Picks only the props whose keys exist in the dimension keywords lookup and have truthy values. */\ntype PickStyledAttrs = <\n T extends Record<string, any>,\n K extends { [I in keyof T]?: true },\n>(\n props: T,\n keywords: K,\n // @ts-expect-error\n) => { [I in keyof K]: T[I] }\n\nexport const pickStyledAttrs: PickStyledAttrs = (props, keywords) =>\n Object.keys(props).reduce((acc, key) => {\n if (keywords[key] && props[key]) acc[key] = props[key]\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\n/**\n * Returns a curried function that evaluates an array of `.attrs()` callbacks,\n * spreading each result into a single merged props object via `Object.assign`.\n */\ntype OptionFunc<A> = (...arg: A[]) => Record<string, unknown>\ntype CalculateChainOptions = <A>(\n options?: OptionFunc<A>[],\n) => (args: A[]) => ReturnType<OptionFunc<A>>\n\nexport const calculateChainOptions: CalculateChainOptions =\n (options) => (args) => {\n const result = {}\n if (isEmpty(options)) return result\n\n // @ts-expect-error\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {})\n }\n\n// --------------------------------------------------------\n// get style attributes\n// --------------------------------------------------------\n/**\n * Resolves the active value for each styling dimension from component props.\n * First checks for explicit prop values (string, number, or array for multi-keys),\n * then falls back to boolean shorthand props when `useBooleans` is enabled.\n */\ntype CalculateStylingAttrs = ({\n useBooleans,\n multiKeys,\n}: {\n useBooleans?: boolean\n multiKeys?: MultiKeys\n}) => ({\n props,\n dimensions,\n}: {\n props: Record<string, unknown>\n dimensions: Record<string, unknown>\n}) => Record<string, any>\nexport const calculateStylingAttrs: CalculateStylingAttrs =\n ({ useBooleans, multiKeys }) =>\n ({ props, dimensions }) => {\n const result: Record<string, any> = {}\n\n // (1) find dimension keys values & initialize\n // object with possible options\n Object.keys(dimensions).forEach((item) => {\n const pickedProp = props[item]\n const valueTypes = ['number', 'string']\n\n // if the property is multi key, allow assign array as well\n if (multiKeys?.[item] && Array.isArray(pickedProp)) {\n result[item] = pickedProp\n }\n // assign when it's only a string or number otherwise it's considered\n // as invalid param\n else if (valueTypes.includes(typeof pickedProp)) {\n result[item] = pickedProp\n } else {\n result[item] = undefined\n }\n })\n\n // (2) if booleans are being used let's find the rest\n if (useBooleans) {\n const propsKeys = Object.keys(props).reverse()\n\n Object.entries(result).forEach(([key, value]) => {\n // @ts-expect-error\n const isMultiKey = multiKeys[key]\n\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue: string | string[] | undefined\n const keywords = Object.keys(dimensions[key] as any)\n\n if (isMultiKey) {\n newDimensionValue = propsKeys.filter((key) =>\n keywords.includes(key),\n )\n } else {\n // reverse props to guarantee the last one will have\n // a priority over previous ones\n newDimensionValue = propsKeys.find((key) => {\n if (keywords.includes(key) && props[key]) return key\n return false\n })\n }\n\n result[key] = newDimensionValue\n }\n })\n }\n\n return result\n }\n","import { render } from '@vitus-labs/core'\nimport {\n type ComponentType,\n type ForwardRefExoticComponent,\n forwardRef,\n} from 'react'\nimport { useTheme } from '~/hooks'\nimport type { Configuration } from '~/types/configuration'\nimport { calculateChainOptions, removeUndefinedProps } from '~/utils/attrs'\n\nexport type RocketStyleHOC = ({\n inversed,\n attrs,\n priorityAttrs,\n}: Pick<Configuration, 'inversed' | 'attrs' | 'priorityAttrs'>) => (\n WrappedComponent: ComponentType<any>,\n) => ForwardRefExoticComponent<any>\n\n/**\n * HOC that resolves the `.attrs()` chain before the inner component renders.\n * Evaluates both regular and priority attrs callbacks with the current theme\n * and mode, then merges the results with explicit props (priority attrs\n * are applied first, regular attrs can be overridden by direct props).\n */\nconst rocketStyleHOC: RocketStyleHOC = ({ inversed, attrs, priorityAttrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const calculateAttrs = calculateChainOptions(attrs)\n const calculatePriorityAttrs = calculateChainOptions(priorityAttrs)\n\n const Enhanced = (WrappedComponent: ComponentType<any>) =>\n forwardRef<any, any>((props, ref) => {\n const { theme, mode, isDark, isLight } = useTheme({\n inversed,\n })\n\n const callbackParams = [theme, { render, mode, isDark, isLight }]\n\n // --------------------------------------------------\n // remove undefined props not to override potential default props\n // only props with value (e.g. `null`) should override default props\n // --------------------------------------------------\n const filteredProps = removeUndefinedProps(props)\n\n const prioritizedAttrs = calculatePriorityAttrs([\n filteredProps,\n ...callbackParams,\n ])\n\n const finalAttrs = calculateAttrs([\n {\n ...prioritizedAttrs,\n ...filteredProps,\n },\n ...callbackParams,\n ])\n\n return (\n <WrappedComponent\n $rocketstyleRef={ref}\n {...prioritizedAttrs}\n {...finalAttrs}\n {...filteredProps}\n />\n )\n })\n\n return Enhanced\n}\n\nexport default rocketStyleHOC\n","type Func = (...args: any) => Record<string, unknown>\ntype Obj = Record<string, unknown>\n\n// --------------------------------------------------------\n// Chain Options\n// --------------------------------------------------------\n/**\n * Appends a new option (function or plain object) to an existing chain\n * of option callbacks. Objects are wrapped in a thunk for uniform handling.\n */\ntype ChainOptions = (\n opts: Obj | Func | undefined,\n defaultOpts: Func[],\n) => Func[]\n\nexport const chainOptions: ChainOptions = (opts, defaultOpts = []) => {\n const result = [...defaultOpts]\n\n if (typeof opts === 'function') result.push(opts)\n else if (typeof opts === 'object') result.push(() => opts)\n\n return result\n}\n\n// --------------------------------------------------------\n// Chain Or Options\n// --------------------------------------------------------\n/**\n * For each key, picks the new value if truthy, otherwise falls back\n * to the default. Used for config keys that replace rather than merge.\n */\ntype ChainOrOptions = (\n keys: readonly string[],\n opts: Obj,\n defaultOpts: Obj,\n) => Record<string, unknown>\n\nexport const chainOrOptions: ChainOrOptions = (keys, opts, defaultOpts) =>\n keys.reduce(\n (acc, item) => ({ ...acc, [item]: opts[item] || defaultOpts[item] }),\n {},\n )\n\n// --------------------------------------------------------\n// Chain Reserved Options\n// --------------------------------------------------------\n/**\n * Chains option callbacks for reserved dimension and styling keys,\n * delegating to `chainOptions` for each key individually.\n */\ntype ChainReservedKeyOptions = (\n keys: readonly string[],\n opts: Record<string, Obj | Func>,\n defaultOpts: Record<string, Func[]>,\n) => Record<string, ReturnType<typeof chainOptions>>\n\nexport const chainReservedKeyOptions: ChainReservedKeyOptions = (\n keys,\n opts,\n defaultOpts,\n) =>\n keys.reduce(\n (acc, item) => ({\n ...acc,\n [item]: chainOptions(opts[item], defaultOpts[item]!),\n }),\n {},\n )\n","/**\n * Extracts HOC functions from the compose configuration object,\n * filters out non-function entries, and reverses them so the\n * outermost HOC in the chain wraps first (inside-out composition).\n */\ntype CalculateHocsFuncs = (\n options: Record<string, any>,\n) => ((arg: any) => any)[]\n\nexport const calculateHocsFuncs: CalculateHocsFuncs = (options = {}) =>\n Object.values(options)\n .filter((item) => typeof item === 'function')\n .reverse()\n","import { get, isEmpty, set } from '@vitus-labs/core'\nimport type { Dimensions, DimensionValue, MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// Is value a valid key\n// --------------------------------------------------------\n/** Checks whether a dimension value is defined and not explicitly disabled (false). */\ntype IsValidKey = (value: any) => boolean\nexport const isValidKey: IsValidKey = (value) =>\n value !== undefined && value !== null && value !== false\n\n// --------------------------------------------------------\n// Is value a multi key\n// --------------------------------------------------------\n/** Determines if a dimension value is a multi-key config object, returning [isMulti, propName]. */\ntype IsMultiKey = (value: string | Record<string, unknown>) => [boolean, string]\nexport const isMultiKey: IsMultiKey = (value) => {\n if (typeof value === 'object' && value !== null)\n return [true, get(value, 'propName') as string]\n return [false, value]\n}\n\n// --------------------------------------------------------\n// calculate dimensions map\n// --------------------------------------------------------\n/**\n * Builds a two-level map (`keysMap`) of dimension -> option -> true,\n * and a flat `keywords` lookup of all prop names reserved by dimensions\n * (including boolean shorthand keys when `useBooleans` is enabled).\n */\ntype GetDimensionsMap = <T extends Record<string, any>>({\n themes,\n useBooleans,\n}: {\n themes: T\n useBooleans?: boolean\n}) => { keysMap: Record<string, any>; keywords: Record<string, any> }\n\nexport const getDimensionsMap: GetDimensionsMap = ({ themes, useBooleans }) => {\n const result = {\n keysMap: {} as Record<string, any>,\n keywords: {} as Record<string, any>,\n }\n\n if (isEmpty(themes)) return result\n\n return Object.entries(themes).reduce((accumulator, [key, value]) => {\n const { keysMap, keywords } = accumulator\n keywords[key] = true\n\n Object.entries(value).forEach(([itemKey, itemValue]) => {\n if (!isValidKey(itemValue)) return\n\n if (useBooleans) {\n keywords[itemKey] = true\n }\n\n set(keysMap, [key, itemKey], true)\n })\n\n return accumulator\n }, result)\n}\n\n// --------------------------------------------------------\n// simple object getters\n// --------------------------------------------------------\n/** Returns the keys of an object with proper typing. */\ntype GetKeys = <T extends Record<string, unknown>>(obj: T) => Array<keyof T>\nexport const getKeys: GetKeys = (obj) => Object.keys(obj)\n\ntype GetValues = <T extends Record<string, unknown>, K extends keyof T>(\n obj: T,\n) => T[K][]\nexport const getValues: GetValues = (obj) => Object.values(obj) as any\n\n// --------------------------------------------------------\n// get dimensions values array\n// --------------------------------------------------------\n/** Extracts the prop name from each dimension value, unwrapping multi-key config objects. */\ntype ValueType<T> = T extends string ? T : T[][0]\ntype GetDimensionsValues = <T extends Dimensions, K extends keyof T>(\n obj: T,\n) => ValueType<T[K]>[]\n\nexport const getDimensionsValues: GetDimensionsValues = (obj) =>\n getValues(obj).map((item: DimensionValue) => {\n if (typeof item === 'object') {\n return item.propName as any\n }\n\n return item\n })\n\n// --------------------------------------------------------\n// get multiple dimensions map\n// --------------------------------------------------------\n/** Builds a lookup of dimension prop names that accept multiple simultaneous values. */\ntype GetMultipleDimensions = <T extends Dimensions>(obj: T) => MultiKeys<T>\n\nexport const getMultipleDimensions: GetMultipleDimensions = (obj) =>\n getValues(obj).reduce(\n (accumulator, value: DimensionValue) => {\n if (typeof value === 'object') {\n if (value.multi === true) accumulator[value.propName] = true\n }\n\n return accumulator\n },\n {} as Record<string, any>,\n )\n","import { isEmpty } from '@vitus-labs/core'\nimport { STATIC_KEYS } from '~/constants'\n\n// --------------------------------------------------------\n// helpers for create statics chaining methods on component\n// --------------------------------------------------------\n/**\n * Attaches chaining static methods (e.g. `.states()`, `.sizes()`, `.theme()`)\n * to a component. Each method calls `cloneAndEnhance` with the corresponding key.\n */\ntype CreateStaticsChainingEnhancers = <\n O extends Record<string, any>,\n DK extends string[],\n>(props: {\n context: Record<string, any>\n dimensionKeys: DK\n func: (defaultOpts: O, opts: any) => void\n options: O\n}) => void\n\nexport const createStaticsChainingEnhancers: CreateStaticsChainingEnhancers = ({\n context,\n dimensionKeys,\n func,\n options,\n}) => {\n const keys = [...dimensionKeys, ...STATIC_KEYS]\n\n keys.forEach((item) => {\n context[item] = (props: any) => func(options, { [item]: props })\n })\n}\n\n// --------------------------------------------------------\n// helpers for create statics on component\n// --------------------------------------------------------\n/** Copies user-defined static properties onto the component's `meta` object. */\ntype CreateStaticsEnhancers = (params: {\n context: Record<string, any>\n options: Record<string, any>\n}) => void\n\nexport const createStaticsEnhancers: CreateStaticsEnhancers = ({\n context,\n options,\n}) => {\n if (!isEmpty(options)) {\n Object.assign(context, options)\n }\n}\n","import { config } from '@vitus-labs/core'\nimport type { StylesCbArray } from '~/types/styles'\n\n// --------------------------------------------------------\n// Calculate styles\n// --------------------------------------------------------\n/**\n * Evaluates an array of style callback functions with the configured\n * `css` tagged-template helper, producing the final CSS interpolations\n * to be passed into the styled-component template literal.\n */\ntype CalculateStyles = (\n styles: StylesCbArray | undefined,\n) => ReturnType<StylesCbArray[number]>[]\n\nexport const calculateStyles: CalculateStyles = (styles) => {\n if (!styles) return []\n\n return styles.map((item) => item(config.css))\n}\n","// --------------------------------------------------------\n// Remove Nullable values\n// --------------------------------------------------------\n/** Filters out entries with `null`, `undefined`, or `false` values from an object. */\ntype RemoveNullableValues = (obj: Record<string, any>) => Record<string, any>\nexport const removeNullableValues: RemoveNullableValues = (obj) =>\n Object.entries(obj)\n .filter(([, v]) => v != null && v !== false)\n .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})\n\n// --------------------------------------------------------\n// Remove All Empty Values\n// --------------------------------------------------------\n// type RemoveAllEmptyValues = (obj: Record<string, any>) => Record<string, any>\n// export const removeAllEmptyValues: RemoveAllEmptyValues = (obj) =>\n// Object.entries(obj)\n// .filter(([, v]) => v != null)\n// .reduce(\n// (acc, [k, v]) => ({\n// ...acc,\n// [k]: typeof v === 'object' ? removeAllEmptyValues(v) : v,\n// }),\n// {}\n// )\n","import { config, isEmpty, merge } from '@vitus-labs/core'\nimport type { ThemeModeCallback } from '~/types/theme'\nimport { removeNullableValues } from './collection'\nimport { isMultiKey } from './dimensions'\n\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\n/** Creates a mode-switching function that returns the light or dark value based on the active mode. */\nexport const themeModeCallback: ThemeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light') return light\n return dark\n}\n\n// --------------------------------------------------------\n// Theme Mode Callback Check\n// --------------------------------------------------------\n/** Detects whether a value is a `themeModeCallback` function by comparing stringified signatures. */\ntype IsModeCallback = (value: any) => boolean\nconst isModeCallback: IsModeCallback = (value: any) =>\n typeof value === 'function' &&\n //@ts-expect-error\n value.toString() === themeModeCallback().toString()\n\n// --------------------------------------------------------\n// Get Theme From Chain\n// --------------------------------------------------------\n/** Reduces an array of chained `.theme()` callbacks into a single merged theme object. */\ntype OptionFunc = (...arg: any) => Record<string, unknown>\ntype GetThemeFromChain = (\n options: OptionFunc[] | undefined | null,\n theme: Record<string, any>,\n) => ReturnType<OptionFunc>\n\nexport const getThemeFromChain: GetThemeFromChain = (options, theme) => {\n const result = {}\n if (!options || isEmpty(options)) return result\n\n return options.reduce(\n (acc, item) => merge(acc, item(theme, themeModeCallback, config.css)),\n result,\n )\n}\n\n// --------------------------------------------------------\n// calculate dimension themes\n// --------------------------------------------------------\n/**\n * Computes the theme object for each dimension by evaluating its\n * chained callbacks against the global theme, then strips nullable values.\n */\ntype GetDimensionThemes = (\n theme: Record<string, any>,\n options: Record<string, any>,\n) => Record<string, any>\n\nexport const getDimensionThemes: GetDimensionThemes = (theme, options) => {\n const result = {}\n\n if (isEmpty(options.dimensions)) return result\n\n return Object.entries(options.dimensions).reduce(\n (acc, [key, value]) => {\n const [, dimension] = isMultiKey(value as any)\n\n const helper = options[key]\n\n if (Array.isArray(helper) && helper.length > 0) {\n const finalDimensionThemes = getThemeFromChain(helper, theme)\n\n acc[dimension] = removeNullableValues(finalDimensionThemes)\n }\n\n return acc\n },\n result as Record<string, any>,\n )\n}\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\n/** Reduces an array of option callbacks by calling each with the given args and deep-merging results. */\ntype CalculateChainOptions = (\n options: OptionFunc[] | undefined | null,\n args: any[],\n) => Record<string, any>\n\nexport const calculateChainOptions: CalculateChainOptions = (options, args) => {\n const result = {}\n if (!options || isEmpty(options)) return result\n\n return options.reduce((acc, item) => merge(acc, item(...args)), result)\n}\n\n// --------------------------------------------------------\n// generate theme\n// --------------------------------------------------------\n/**\n * Generates the final theme object by starting with the base theme\n * and merging in dimension-specific theme slices based on the current\n * rocketstate (active dimension values). Supports multi-key dimensions.\n */\nexport type GetTheme = (params: {\n rocketstate: Record<string, string | string[]>\n themes: Record<string, Record<string, any>>\n baseTheme: Record<string, any>\n}) => Record<string, unknown>\n\nexport const getTheme: GetTheme = ({ rocketstate, themes, baseTheme }) => {\n // generate final theme which will be passed to styled component\n let finalTheme = { ...baseTheme }\n\n Object.entries(rocketstate).forEach(\n ([key, value]: [string, string | string[]]) => {\n const keyTheme: Record<string, any> = themes[key]!\n\n if (Array.isArray(value)) {\n value.forEach((item) => {\n finalTheme = merge({}, finalTheme, keyTheme[item])\n })\n } else {\n finalTheme = merge({}, finalTheme, keyTheme[value])\n }\n },\n )\n\n return finalTheme\n}\n\n// --------------------------------------------------------\n// resolve theme by mode\n// --------------------------------------------------------\n/**\n * Recursively traverses a theme object and resolves any `themeModeCallback`\n * functions to their concrete light or dark values for the given mode.\n */\nexport type GetThemeByMode = (\n object: Record<string, any>,\n mode: 'light' | 'dark',\n) => Partial<{\n baseTheme: Record<string, unknown>\n themes: Record<string, unknown>\n}>\n\nexport const getThemeByMode: GetThemeByMode = (object, mode) =>\n Object.keys(object).reduce(\n (acc, key) => {\n const value = object[key]\n\n if (typeof value === 'object' && value !== null) {\n acc[key] = getThemeByMode(value, mode)\n } else if (isModeCallback(value)) {\n acc[key] = value(mode)\n } else {\n acc[key] = value\n }\n\n return acc\n },\n {} as Record<string, any>,\n )\n","import {\n compose,\n config,\n hoistNonReactStatics,\n omit,\n pick,\n render,\n} from '@vitus-labs/core'\nimport { forwardRef, useMemo } from 'react'\nimport { LocalThemeManager } from '~/cache'\nimport {\n CONFIG_KEYS,\n PSEUDO_KEYS,\n PSEUDO_META_KEYS,\n STYLING_KEYS,\n} from '~/constants'\nimport createLocalProvider from '~/context/createLocalProvider'\nimport { useLocalContext } from '~/context/localContext'\nimport { rocketstyleAttrsHoc } from '~/hoc'\nimport { useRef, useTheme } from '~/hooks'\nimport type {\n Configuration,\n ExtendedConfiguration,\n} from '~/types/configuration'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type {\n ExoticComponent,\n InnerComponentProps,\n RocketStyleComponent,\n} from '~/types/rocketstyle'\nimport {\n calculateChainOptions,\n calculateStylingAttrs,\n pickStyledAttrs,\n} from '~/utils/attrs'\nimport {\n chainOptions,\n chainOrOptions,\n chainReservedKeyOptions,\n} from '~/utils/chaining'\nimport { calculateHocsFuncs } from '~/utils/compose'\nimport { getDimensionsMap } from '~/utils/dimensions'\nimport {\n createStaticsChainingEnhancers,\n createStaticsEnhancers,\n} from '~/utils/statics'\nimport { calculateStyles } from '~/utils/styles'\nimport {\n getDimensionThemes,\n getTheme,\n getThemeByMode,\n getThemeFromChain,\n} from '~/utils/theme'\n\n/**\n * Core rocketstyle component factory. Creates a fully-featured React component\n * that integrates theme management (with light/dark mode support), multi-tier\n * WeakMap caching, dimension-based styling props, pseudo-state detection, and\n * chainable static methods (`.attrs()`, `.theme()`, `.styles()`, `.config()`, etc.).\n * @module rocketstyle\n */\n\n// --------------------------------------------------------\n// cloneAndEnhance\n// helper function which allows function chaining\n// always returns rocketComponent with static functions\n// assigned\n// --------------------------------------------------------\ntype CloneAndEnhance = (\n defaultOpts: Configuration,\n opts: Partial<ExtendedConfiguration>,\n) => ReturnType<typeof rocketComponent>\n\n/** Clones the current configuration and merges new options, returning a fresh rocketComponent. */\nconst cloneAndEnhance: CloneAndEnhance = (defaultOpts, opts) =>\n // @ts-expect-error\n rocketComponent({\n ...defaultOpts,\n attrs: chainOptions(opts.attrs, defaultOpts.attrs),\n filterAttrs: [\n ...(defaultOpts.filterAttrs ?? []),\n ...(opts.filterAttrs ?? []),\n ],\n priorityAttrs: chainOptions(opts.priorityAttrs, defaultOpts.priorityAttrs),\n statics: { ...defaultOpts.statics, ...opts.statics },\n compose: { ...defaultOpts.compose, ...opts.compose },\n ...chainOrOptions(CONFIG_KEYS, opts, defaultOpts),\n ...chainReservedKeyOptions(\n [...defaultOpts.dimensionKeys, ...STYLING_KEYS],\n opts,\n defaultOpts,\n ),\n })\n\n// --------------------------------------------------------\n// styleComponent\n// helper function which allows function chaining\n// always returns a valid React component with static functions\n// assigned, so it can be even rendered as a valid component\n// or styles can be extended via its statics\n// --------------------------------------------------------\n/**\n * Builds the final renderable React component with theme resolution,\n * dimension mapping, pseudo-state context, HOC composition, and\n * chainable static enhancers attached to the returned component.\n */\n// @ts-expect-error\nconst rocketComponent: RocketComponent = (options) => {\n const { component, styles } = options\n const { styled } = config\n\n const _calculateStylingAttrs = calculateStylingAttrs({\n multiKeys: options.multiKeys,\n useBooleans: options.useBooleans,\n })\n\n const componentName =\n options.name ?? options.component.displayName ?? options.component.name\n\n // create styled component with all options.styles if available\n const STYLED_COMPONENT =\n (component.IS_ROCKETSTYLE ?? options.styled !== true)\n ? component\n : styled(component)`\n ${calculateStyles(styles)};\n `\n\n // --------------------------------------------------------\n // COMPONENT - Final component to be rendered\n // --------------------------------------------------------\n const RenderComponent = options.provider\n ? createLocalProvider(STYLED_COMPONENT)\n : STYLED_COMPONENT\n\n // --------------------------------------------------------\n // THEME - Cached & Calculated theme(s)\n // --------------------------------------------------------\n const ThemeManager = new LocalThemeManager()\n\n // --------------------------------------------------------\n // COMPOSE - high-order components\n // --------------------------------------------------------\n const hocsFuncs = [\n rocketstyleAttrsHoc(options),\n ...calculateHocsFuncs(options.compose),\n ]\n\n // --------------------------------------------------------\n // ENHANCED COMPONENT (returned component)\n // --------------------------------------------------------\n // .attrs() chaining option is calculated in HOC and passed as props already\n // @ts-expect-error\n const EnhancedComponent: ExoticComponent<InnerComponentProps> = forwardRef(\n (\n {\n $rocketstyleRef, // it's forwarded from HOC which is always on top of all hocs\n ...props\n },\n ref,\n ) => {\n // --------------------------------------------------\n // handle refs\n // (1) one is passed from inner HOC - $rocketstyleRef\n // (2) second one is used to be used directly (e.g. inside hocs)\n // --------------------------------------------------\n const internalRef = useRef({ $rocketstyleRef, ref })\n\n // --------------------------------------------------\n // hover - focus - pressed state passed via context from parent component\n // --------------------------------------------------\n const localCtx = useLocalContext(options.consumer)\n\n // --------------------------------------------------\n // general theme and theme mode dark / light passed in context\n // --------------------------------------------------\n const { theme, mode } = useTheme(options)\n\n // --------------------------------------------------\n // calculate themes for all defined styling dimensions\n // .theme(...) + defined dimensions like .states(...), .sizes(...), etc.\n // --------------------------------------------------\n\n // --------------------------------------------------\n // BASE / DEFAULT THEME Object\n // --------------------------------------------------\n const baseTheme = useMemo(\n () => {\n const helper = ThemeManager.baseTheme\n\n if (!helper.has(theme)) {\n helper.set(theme, getThemeFromChain(options.theme, theme))\n }\n\n return helper.get(theme)\n },\n // recalculate this only when theme mode changes dark / light\n [theme],\n )\n\n // --------------------------------------------------\n // DIMENSION(S) THEMES Object\n // --------------------------------------------------\n const themes = useMemo(\n () => {\n const helper = ThemeManager.dimensionsThemes\n\n if (!helper.has(theme)) {\n helper.set(theme, getDimensionThemes(theme, options))\n }\n\n return helper.get(theme)\n },\n // recalculate this only when theme object changes\n [theme],\n )\n\n // --------------------------------------------------\n // BASE / DEFAULT MODE THEME Object\n // --------------------------------------------------\n const currentModeBaseTheme = useMemo(\n () => {\n const helper = ThemeManager.modeBaseTheme[mode]\n\n if (!helper.has(baseTheme)) {\n helper.set(baseTheme, getThemeByMode(baseTheme, mode))\n }\n\n return helper.get(baseTheme)\n },\n // recalculate this only when theme mode changes dark / light\n [mode, baseTheme],\n )\n\n // --------------------------------------------------\n // DIMENSION(S) MODE THEMES Object\n // --------------------------------------------------\n const currentModeThemes = useMemo(\n () => {\n const helper = ThemeManager.modeDimensionTheme[mode]\n\n if (!helper.has(themes)) {\n helper.set(themes, getThemeByMode(themes, mode))\n }\n\n return helper.get(themes)\n },\n // recalculate this only when theme mode changes dark / light\n [mode, themes],\n )\n\n // --------------------------------------------------\n // calculate reserved Keys defined in dimensions as styling keys\n // there is no need to calculate this each time - keys are based on\n // dimensions definitions\n // --------------------------------------------------\n const { keysMap: dimensions, keywords: reservedPropNames } = useMemo(\n () =>\n getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n }),\n [themes],\n )\n\n const RESERVED_STYLING_PROPS_KEYS = useMemo(\n () => Object.keys(reservedPropNames),\n [reservedPropNames],\n )\n\n // --------------------------------------------------\n // get final props which are (latest has the highest priority):\n // (1) merged styling from context,\n // (2) `attrs` chaining method, and from\n // (3) passing them directly to component\n // --------------------------------------------------\n const { pseudo, ...mergeProps } = {\n ...localCtx,\n ...props,\n }\n\n // --------------------------------------------------\n // pseudo rocket state\n // calculate final component pseudo state including pseudo state\n // from props and override by pseudo props from context\n // --------------------------------------------------\n const pseudoRocketstate = {\n ...pseudo,\n ...pick(props, [...PSEUDO_KEYS, ...PSEUDO_META_KEYS]),\n }\n\n // --------------------------------------------------\n // rocketstate\n // calculate final component state including pseudo state\n // passed as $rocketstate prop\n // --------------------------------------------------\n const rocketstate = _calculateStylingAttrs({\n props: pickStyledAttrs(mergeProps, reservedPropNames),\n dimensions,\n })\n\n const finalRocketstate = { ...rocketstate, pseudo: pseudoRocketstate }\n\n // --------------------------------------------------\n // rocketstyle\n // calculated (based on styling props) final theme which will be passed\n // to our styled component\n // passed as $rocketstyle prop\n // --------------------------------------------------\n const rocketstyle = getTheme({\n rocketstate,\n themes: currentModeThemes,\n baseTheme: currentModeBaseTheme,\n })\n\n // --------------------------------------------------\n // final props\n // final props passed to WrappedComponent\n // excluding: styling props\n // including: $rocketstyle, $rocketstate\n // --------------------------------------------------\n const finalProps: Record<string, any> = {\n // this removes styling state from props and passes its state\n // under rocketstate key only\n ...omit(mergeProps, [\n ...RESERVED_STYLING_PROPS_KEYS,\n ...PSEUDO_KEYS,\n ...options.filterAttrs,\n ]),\n // if enforced to pass styling props, we pass them directly\n ...(options.passProps ? pick(mergeProps, options.passProps) : {}),\n ref: (ref ?? $rocketstyleRef) ? internalRef : undefined,\n // state props passed to styled component only, therefore the `$` symbol\n $rocketstyle: rocketstyle,\n $rocketstate: finalRocketstate,\n }\n\n // all the development stuff injected\n if (process.env.NODE_ENV !== 'production') {\n finalProps['data-rocketstyle'] = componentName\n\n if (options.DEBUG) {\n const debugPayload = {\n component: componentName,\n rocketstate: finalRocketstate,\n rocketstyle,\n dimensions,\n mode,\n reservedPropNames: RESERVED_STYLING_PROPS_KEYS,\n filteredAttrs: options.filterAttrs,\n }\n\n // biome-ignore lint/suspicious/noConsole: debug logging controlled by DEBUG option\n console.debug(`[rocketstyle] ${componentName} render:`, debugPayload)\n }\n }\n\n return <RenderComponent {...finalProps} />\n },\n )\n\n // ------------------------------------------------------\n // This will hoist and generate dynamically next static methods\n // for all dimensions available in configuration\n // ------------------------------------------------------\n const RocketComponent: RocketStyleComponent = compose(...hocsFuncs)(\n EnhancedComponent,\n )\n RocketComponent.IS_ROCKETSTYLE = true\n RocketComponent.displayName = componentName\n\n hoistNonReactStatics(RocketComponent as any, options.component)\n\n // ------------------------------------------------------\n // enhance for chaining methods\n // ------------------------------------------------------\n createStaticsChainingEnhancers({\n context: RocketComponent,\n dimensionKeys: options.dimensionKeys,\n func: cloneAndEnhance,\n options,\n })\n\n // ------------------------------------------------------\n RocketComponent.IS_ROCKETSTYLE = true\n RocketComponent.displayName = componentName\n RocketComponent.meta = {}\n // ------------------------------------------------------\n\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.meta,\n options: options.statics,\n })\n\n // @ts-expect-error\n RocketComponent.attrs = (attrs, { priority, filter } = {}) => {\n const result: Record<string, any> = {}\n\n if (filter) {\n result.filterAttrs = filter\n }\n\n if (priority) {\n result.priorityAttrs = attrs as ExtendedConfiguration['priorityAttrs']\n\n return cloneAndEnhance(options, result)\n }\n\n result.attrs = attrs as ExtendedConfiguration['attrs']\n\n return cloneAndEnhance(options, result)\n }\n\n // @ts-expect-error\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS) as ExtendedConfiguration\n\n return cloneAndEnhance(options, result)\n }\n\n RocketComponent.statics = (opts) =>\n // @ts-expect-error\n cloneAndEnhance(options, { statics: opts })\n\n RocketComponent.getStaticDimensions = (theme) => {\n const themes = getDimensionThemes(theme, options)\n\n const { keysMap, keywords } = getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n })\n\n return {\n dimensions: keysMap,\n keywords,\n useBooleans: options.useBooleans,\n multiKeys: options.multiKeys,\n }\n }\n\n RocketComponent.getDefaultAttrs = (props, theme, mode) =>\n calculateChainOptions(options.attrs)([\n props,\n theme,\n {\n render,\n mode,\n isDark: mode === 'light',\n isLight: mode === 'dark',\n },\n ])\n\n return RocketComponent\n}\n\nexport default rocketComponent\n","// @ts-nocheck\nimport { isEmpty } from '@vitus-labs/core'\nimport { ALL_RESERVED_KEYS } from '~/constants'\nimport defaultDimensions from '~/constants/defaultDimensions'\nimport rocketComponent from '~/rocketstyle'\nimport type { DefaultDimensions, Dimensions } from '~/types/dimensions'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type { ElementType } from '~/types/utils'\nimport {\n getDimensionsValues,\n getKeys,\n getMultipleDimensions,\n} from '~/utils/dimensions'\n\nexport type Rocketstyle = <\n D extends Dimensions = DefaultDimensions,\n UB extends boolean = true,\n>({\n dimensions,\n useBooleans,\n}?: {\n dimensions?: D\n useBooleans?: UB\n}) => <C extends ElementType>({\n name,\n component,\n}: {\n name: string\n component: C\n}) => ReturnType<RocketComponent<C, {}, {}, D, UB>>\n\n/**\n * Factory initializer for rocketstyle components. Validates dimension\n * configurations against reserved keys, then delegates to the core\n * `rocketComponent` builder with pre-computed dimension metadata.\n */\ntype InitErrors = Partial<{\n component: string\n name: string\n dimensions: string\n invalidDimensions: string\n}>\n\nconst validateInit = (\n name: string,\n component: unknown,\n dimensions: Dimensions,\n) => {\n const errors: InitErrors = {}\n\n if (!component) {\n errors.component = 'Parameter `component` is missing in params!'\n }\n\n if (!name) {\n errors.name = 'Parameter `name` is missing in params!'\n }\n\n if (isEmpty(dimensions)) {\n errors.dimensions = 'Parameter `dimensions` is missing in params!'\n } else {\n const definedDimensions = getKeys(dimensions)\n const invalidDimension = ALL_RESERVED_KEYS.some((item) =>\n definedDimensions.includes(item as any),\n )\n\n if (invalidDimension) {\n errors.invalidDimensions = `Some of your \\`dimensions\\` is invalid and uses reserved static keys which are\n ${defaultDimensions.toString()}`\n }\n }\n\n if (!isEmpty(errors)) {\n throw Error(JSON.stringify(errors))\n }\n}\n\nconst rocketstyle: Rocketstyle =\n ({ dimensions = defaultDimensions, useBooleans = true } = {}) =>\n ({ name, component }) => {\n if (process.env.NODE_ENV !== 'production') {\n validateInit(name, component, dimensions)\n }\n\n return rocketComponent({\n name,\n component,\n useBooleans,\n dimensions,\n dimensionKeys: getKeys(dimensions),\n dimensionValues: getDimensionsValues(dimensions),\n multiKeys: getMultipleDimensions(dimensions),\n styled: true,\n })\n }\n\nexport default rocketstyle\n","export type IsRocketComponent = <T>(component: T) => boolean\n\nconst isRocketComponent: IsRocketComponent = (component) => {\n if (\n component &&\n typeof component === 'object' &&\n component !== null &&\n Object.hasOwn(component, 'IS_ROCKETSTYLE')\n ) {\n return true\n }\n\n return false\n}\n\nexport default isRocketComponent\n","import type { TProvider } from '~/context/context'\nimport Provider, { context } from '~/context/context'\nimport type { Rocketstyle } from '~/init'\nimport rocketstyle from '~/init'\nimport type { IsRocketComponent } from '~/isRocketComponent'\nimport isRocketComponent from '~/isRocketComponent'\nimport type { AttrsCb } from '~/types/attrs'\nimport type {\n ConfigAttrs,\n ConsumerCb,\n ConsumerCtxCBValue,\n ConsumerCtxCb,\n RocketComponentType,\n RocketProviderState,\n} from '~/types/config'\nimport type { DefaultProps } from '~/types/configuration'\nimport type {\n DimensionCallbackParam,\n DimensionProps,\n Dimensions,\n DimensionValue,\n ExtractDimensionProps,\n ExtractDimensions,\n TDKP,\n} from '~/types/dimensions'\nimport type { ComposeParam, GenericHoc } from '~/types/hoc'\nimport type {\n IRocketStyleComponent,\n RocketStyleComponent,\n} from '~/types/rocketstyle'\nimport type { StylesCb, StylesDefault } from '~/types/styles'\nimport type {\n ThemeCb,\n ThemeDefault,\n ThemeMode,\n ThemeModeCallback,\n ThemeModeKeys,\n} from '~/types/theme'\nimport type { ElementType, ExtractProps, MergeTypes, TObj } from '~/types/utils'\n\nexport type {\n StylesDefault,\n ThemeDefault,\n RocketStyleComponent,\n IRocketStyleComponent,\n Rocketstyle,\n TProvider,\n RocketComponentType,\n RocketProviderState,\n ConsumerCtxCBValue,\n ConsumerCtxCb,\n ConsumerCb,\n TObj,\n ElementType,\n MergeTypes,\n ExtractProps,\n Dimensions,\n DimensionValue,\n DimensionCallbackParam,\n ExtractDimensionProps,\n TDKP,\n DimensionProps,\n ExtractDimensions,\n StylesCb,\n ConfigAttrs,\n AttrsCb,\n ThemeCb,\n ThemeModeCallback,\n ThemeModeKeys,\n GenericHoc,\n ComposeParam,\n DefaultProps,\n IsRocketComponent,\n ThemeMode,\n}\n\nexport { rocketstyle, context, Provider, isRocketComponent }\nexport default rocketstyle\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["CoreProvider","context","useTheme","createLocalProvider","ThemeManager","LocalThemeManager","rocketstyleAttrsHoc","useRef","useTheme","defaultDimensions"],"sources":["../src/constants/index.ts","../src/context/context.tsx","../src/constants/defaultDimensions.ts","../src/cache/LocalThemeManager.ts","../src/hooks/usePseudoState.tsx","../src/hooks/useRef.ts","../src/hooks/useTheme.tsx","../src/context/localContext.tsx","../src/context/createLocalProvider.tsx","../src/utils/attrs.ts","../src/hoc/rocketstyleAttrsHoc.tsx","../src/utils/chaining.ts","../src/utils/compose.ts","../src/utils/dimensions.ts","../src/utils/statics.ts","../src/utils/styles.ts","../src/utils/collection.ts","../src/utils/theme.ts","../src/rocketstyle.tsx","../src/init.ts","../src/isRocketComponent.tsx","../src/index.ts"],"sourcesContent":["/** Default theme mode used when no mode is provided via context. */\nexport const MODE_DEFAULT = 'light'\n\n/** Pseudo-state interaction keys tracked for styling (hover, active, focus, pressed). */\nexport const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'] as const\n\n/** Meta pseudo-state keys representing non-interactive states (disabled, readOnly). */\nexport const PSEUDO_META_KEYS = ['disabled', 'readOnly'] as const\n\n/** Supported theme mode flags. */\nexport const THEME_MODES = {\n light: true,\n dark: true,\n} as const\n\n/** Maps each theme mode to its inverse (light -> dark, dark -> light). */\nexport const THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n} as const\n\n/** Reserved configuration keys accepted by the `.config()` chaining method. */\nexport const CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n] as const\n\n/** Keys for theme and styles chaining methods. */\nexport const STYLING_KEYS = ['theme', 'styles'] as const\nexport const STATIC_KEYS = [...STYLING_KEYS, 'compose'] as const\n\n/** Union of all reserved keys that cannot be used as dimension names. */\nexport const ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n 'attrs',\n] as const\n","import { Provider as CoreProvider, context } from '@vitus-labs/core'\nimport { type ComponentType, type FC, type ReactNode, useContext } from 'react'\nimport { MODE_DEFAULT, THEME_MODES_INVERSED } from '~/constants'\n\ntype Theme = {\n rootSize: number\n breakpoints?: Record<string, number>\n __VITUS_LABS__?: never\n} & Record<string, unknown>\n\nexport type TProvider = {\n children: ReactNode\n theme?: Theme\n mode?: 'light' | 'dark'\n inversed?: boolean\n provider?: ComponentType<any>\n}\n\n/**\n * Top-level theme and mode provider for rocketstyle components.\n * Reads the parent context, merges incoming props, and resolves\n * the active mode (with optional inversion for nested dark/light switching).\n */\nconst Provider: FC<TProvider> = ({\n provider = CoreProvider,\n inversed,\n ...props\n}) => {\n const ctx = useContext<TProvider>(context)\n\n const {\n theme,\n mode,\n provider: RocketstyleProvider,\n children,\n } = { ...ctx, ...props, provider }\n\n let newMode = MODE_DEFAULT\n\n if (mode) {\n newMode = inversed ? THEME_MODES_INVERSED[mode] : mode\n }\n\n return (\n <RocketstyleProvider\n mode={newMode}\n isDark={newMode === 'dark'}\n isLight={newMode === 'light'}\n theme={theme}\n provider={provider}\n >\n {children}\n </RocketstyleProvider>\n )\n}\n\nexport { context }\n\nexport default Provider\n","/**\n * Default dimension configuration for rocketstyle components.\n * Defines four built-in dimensions: `states`, `sizes`, `variants`,\n * and `multiple` (a multi-select dimension).\n */\nconst DEFAULT_DIMENSIONS = {\n states: 'state',\n sizes: 'size',\n variants: 'variant',\n multiple: {\n propName: 'multiple',\n multi: true,\n },\n} as const\n\nexport type DefaultDimensions = typeof DEFAULT_DIMENSIONS\n\nexport default DEFAULT_DIMENSIONS\n","/**\n * WeakMap-based multi-tier cache for computed theme objects.\n * Maintains separate caches for base themes, dimension themes,\n * and their light/dark mode variants to avoid recalculation on re-renders.\n */\nexport default class ThemeManager {\n baseTheme = new WeakMap()\n\n dimensionsThemes = new WeakMap()\n\n modeBaseTheme = { light: new WeakMap(), dark: new WeakMap() }\n\n modeDimensionTheme = { light: new WeakMap(), dark: new WeakMap() }\n}\n","import {\n type FocusEventHandler,\n type MouseEventHandler,\n useCallback,\n useState,\n} from 'react'\nimport type { PseudoActions, PseudoState } from '~/types/pseudo'\n\ntype UsePseudoState = ({\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onMouseUp,\n onFocus,\n onBlur,\n}: Partial<PseudoActions>) => {\n state: Pick<PseudoState, 'hover' | 'focus' | 'pressed'>\n events: PseudoActions\n}\n\n/**\n * Tracks hover, focus, and pressed pseudo-states via mouse and focus\n * event handlers. Returns the current state flags and wrapped event\n * callbacks that preserve any user-provided handlers.\n */\nconst usePseudoState: UsePseudoState = ({\n onBlur,\n onFocus,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n}) => {\n const [hover, setHover] = useState(false)\n const [focus, setFocus] = useState(false)\n const [pressed, setPressed] = useState(false)\n\n const handleOnMouseEnter: MouseEventHandler = useCallback(\n (e) => {\n setHover(true)\n if (onMouseEnter) onMouseEnter(e)\n },\n [onMouseEnter],\n )\n\n const handleOnMouseLeave: MouseEventHandler = useCallback(\n (e) => {\n setHover(false)\n setPressed(false)\n if (onMouseLeave) onMouseLeave(e)\n },\n [onMouseLeave],\n )\n\n const handleOnMouseDown: MouseEventHandler = useCallback(\n (e) => {\n setPressed(true)\n if (onMouseDown) onMouseDown(e)\n },\n [onMouseDown],\n )\n\n const handleOnMouseUp: MouseEventHandler = useCallback(\n (e) => {\n setPressed(false)\n if (onMouseUp) onMouseUp(e)\n },\n [onMouseUp],\n )\n\n const handleOnFocus: FocusEventHandler = useCallback(\n (e) => {\n setFocus(true)\n if (onFocus) onFocus(e)\n },\n [onFocus],\n )\n\n const handleOnBlur: FocusEventHandler = useCallback(\n (e) => {\n setFocus(false)\n if (onBlur) onBlur(e)\n },\n [onBlur],\n )\n\n return {\n state: {\n hover,\n focus,\n pressed,\n },\n events: {\n onMouseEnter: handleOnMouseEnter,\n onMouseLeave: handleOnMouseLeave,\n onMouseDown: handleOnMouseDown,\n onMouseUp: handleOnMouseUp,\n onFocus: handleOnFocus,\n onBlur: handleOnBlur,\n },\n }\n}\n\nexport default usePseudoState\n","import { type ForwardedRef, useImperativeHandle, useRef } from 'react'\n\ntype UseRocketstyleRef = (props: {\n $rocketstyleRef?: ForwardedRef<unknown>\n ref?: ForwardedRef<unknown>\n}) => ForwardedRef<unknown>\n\n/**\n * Unifies two forwarded refs (the outer consumer ref and the internal\n * rocketstyle HOC ref) into a single internal ref using `useImperativeHandle`,\n * so both callers receive the same underlying DOM node.\n */\nconst useRocketstyleRef: UseRocketstyleRef = ({ $rocketstyleRef, ref }) => {\n const internalRef = useRef(null)\n\n useImperativeHandle($rocketstyleRef, () => internalRef.current)\n useImperativeHandle(ref, () => internalRef.current)\n\n return internalRef\n}\n\nexport default useRocketstyleRef\n","import { useContext } from 'react'\nimport { THEME_MODES_INVERSED } from '~/constants'\nimport { context } from '~/context/context'\nimport type { ThemeModeKeys } from '~/types/theme'\n\ntype Context = {\n theme: Record<string, unknown>\n mode: ThemeModeKeys\n isDark: boolean\n isLight: boolean\n}\n\ntype UseThemeAttrs = ({ inversed }: { inversed?: boolean }) => Context\n\n/**\n * Retrieves the current theme object and resolved mode from context.\n * Supports mode inversion so nested components can flip between\n * light and dark without a new provider.\n */\nconst useThemeAttrs: UseThemeAttrs = ({ inversed }) => {\n const {\n theme = {},\n mode: ctxMode = 'light',\n isDark: ctxDark,\n } = useContext<Context>(context) || {}\n\n const mode = inversed ? THEME_MODES_INVERSED[ctxMode] : ctxMode\n const isDark = inversed ? !ctxDark : ctxDark\n const isLight = !isDark\n\n return { theme, mode, isDark, isLight }\n}\n\nexport default useThemeAttrs\n","import { createContext, useContext } from 'react'\nimport type { PseudoState } from '~/types/pseudo'\n\ntype LocalContext = Partial<\n {\n pseudo: PseudoState\n } & Record<string, string>\n>\n\n/**\n * Local context for propagating pseudo-state (hover, focus, pressed)\n * and additional styling attributes from a parent provider component\n * to its rocketstyle children.\n */\nconst context = createContext<LocalContext>({})\n\n/**\n * Retrieves the local pseudo-state context. When a consumer callback\n * is provided, it transforms the raw context; otherwise returns defaults.\n */\ntype UseLocalContext = (consumer: any) => LocalContext\nexport const useLocalContext: UseLocalContext = (consumer) => {\n const ctx = useContext(context)\n\n if (!consumer) return { pseudo: {} }\n\n const result = consumer((callback: any) => callback(ctx))\n return { pseudo: {}, ...result }\n}\n\nexport const LocalProvider = context.Provider\n\nexport default context\n","import {\n type ComponentType,\n type ForwardRefExoticComponent,\n forwardRef,\n useMemo,\n} from 'react'\nimport { usePseudoState } from '~/hooks'\nimport type { PseudoProps } from '~/types/pseudo'\nimport { LocalProvider } from './localContext'\n\ntype Props = PseudoProps & Record<string, any>\n\ntype HOC = (\n WrappedComponent: ComponentType<Props>,\n) => ForwardRefExoticComponent<Props>\n\n/**\n * Higher-order component that wraps a component with a LocalProvider,\n * detecting pseudo-states (hover, focus, pressed) via mouse/focus events\n * and broadcasting them through local context to child rocketstyle components.\n */\nconst RocketStyleProviderComponent: HOC = (WrappedComponent) =>\n forwardRef(\n (\n {\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onFocus,\n onBlur,\n $rocketstate,\n ...props\n },\n ref,\n ) => {\n // pseudo hook to detect states hover / pressed / focus\n const pseudo = usePseudoState({\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onFocus,\n onBlur,\n })\n\n const updatedState = useMemo(\n () => ({\n ...$rocketstate,\n pseudo: { ...$rocketstate.pseudo, ...pseudo.state },\n }),\n [$rocketstate, pseudo],\n )\n\n return (\n <LocalProvider value={updatedState}>\n <WrappedComponent\n {...props}\n {...pseudo.events}\n ref={ref}\n $rocketstate={updatedState}\n />\n </LocalProvider>\n )\n },\n )\n\nexport default RocketStyleProviderComponent\n","import { isEmpty } from '@vitus-labs/core'\nimport type { MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// remove undefined props\n// --------------------------------------------------------\n/** Strips keys with `undefined` values so they don't shadow default props during merging. */\ntype RemoveUndefinedProps = <T extends Record<string, any>>(\n props: T,\n) => Partial<T>\n\nexport const removeUndefinedProps: RemoveUndefinedProps = (props) =>\n Object.keys(props).reduce((acc, key) => {\n const currentValue = props[key]\n if (currentValue !== undefined) return { ...acc, [key]: currentValue }\n return acc\n }, {})\n\n// --------------------------------------------------------\n// pick styled props\n// --------------------------------------------------------\n/** Picks only the props whose keys exist in the dimension keywords lookup and have truthy values. */\ntype PickStyledAttrs = <\n T extends Record<string, any>,\n K extends { [I in keyof T]?: true },\n>(\n props: T,\n keywords: K,\n // @ts-expect-error\n) => { [I in keyof K]: T[I] }\n\nexport const pickStyledAttrs: PickStyledAttrs = (props, keywords) =>\n Object.keys(props).reduce((acc, key) => {\n if (keywords[key] && props[key]) acc[key] = props[key]\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\n/**\n * Returns a curried function that evaluates an array of `.attrs()` callbacks,\n * spreading each result into a single merged props object via `Object.assign`.\n */\ntype OptionFunc<A> = (...arg: A[]) => Record<string, unknown>\ntype CalculateChainOptions = <A>(\n options?: OptionFunc<A>[],\n) => (args: A[]) => ReturnType<OptionFunc<A>>\n\nexport const calculateChainOptions: CalculateChainOptions =\n (options) => (args) => {\n const result = {}\n if (isEmpty(options)) return result\n\n // @ts-expect-error\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {})\n }\n\n// --------------------------------------------------------\n// get style attributes\n// --------------------------------------------------------\n/**\n * Resolves the active value for each styling dimension from component props.\n * First checks for explicit prop values (string, number, or array for multi-keys),\n * then falls back to boolean shorthand props when `useBooleans` is enabled.\n */\ntype CalculateStylingAttrs = ({\n useBooleans,\n multiKeys,\n}: {\n useBooleans?: boolean\n multiKeys?: MultiKeys\n}) => ({\n props,\n dimensions,\n}: {\n props: Record<string, unknown>\n dimensions: Record<string, unknown>\n}) => Record<string, any>\nexport const calculateStylingAttrs: CalculateStylingAttrs =\n ({ useBooleans, multiKeys }) =>\n ({ props, dimensions }) => {\n const result: Record<string, any> = {}\n\n // (1) find dimension keys values & initialize\n // object with possible options\n Object.keys(dimensions).forEach((item) => {\n const pickedProp = props[item]\n const valueTypes = ['number', 'string']\n\n // if the property is multi key, allow assign array as well\n if (multiKeys?.[item] && Array.isArray(pickedProp)) {\n result[item] = pickedProp\n }\n // assign when it's only a string or number otherwise it's considered\n // as invalid param\n else if (valueTypes.includes(typeof pickedProp)) {\n result[item] = pickedProp\n } else {\n result[item] = undefined\n }\n })\n\n // (2) if booleans are being used let's find the rest\n if (useBooleans) {\n const propsKeys = Object.keys(props).reverse()\n\n Object.entries(result).forEach(([key, value]) => {\n // @ts-expect-error\n const isMultiKey = multiKeys[key]\n\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue: string | string[] | undefined\n const keywords = Object.keys(dimensions[key] as any)\n\n if (isMultiKey) {\n newDimensionValue = propsKeys.filter((key) =>\n keywords.includes(key),\n )\n } else {\n // reverse props to guarantee the last one will have\n // a priority over previous ones\n newDimensionValue = propsKeys.find((key) => {\n if (keywords.includes(key) && props[key]) return key\n return false\n })\n }\n\n result[key] = newDimensionValue\n }\n })\n }\n\n return result\n }\n","import { render } from '@vitus-labs/core'\nimport {\n type ComponentType,\n type ForwardRefExoticComponent,\n forwardRef,\n} from 'react'\nimport { useTheme } from '~/hooks'\nimport type { Configuration } from '~/types/configuration'\nimport { calculateChainOptions, removeUndefinedProps } from '~/utils/attrs'\n\nexport type RocketStyleHOC = ({\n inversed,\n attrs,\n priorityAttrs,\n}: Pick<Configuration, 'inversed' | 'attrs' | 'priorityAttrs'>) => (\n WrappedComponent: ComponentType<any>,\n) => ForwardRefExoticComponent<any>\n\n/**\n * HOC that resolves the `.attrs()` chain before the inner component renders.\n * Evaluates both regular and priority attrs callbacks with the current theme\n * and mode, then merges the results with explicit props (priority attrs\n * are applied first, regular attrs can be overridden by direct props).\n */\nconst rocketStyleHOC: RocketStyleHOC = ({ inversed, attrs, priorityAttrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const calculateAttrs = calculateChainOptions(attrs)\n const calculatePriorityAttrs = calculateChainOptions(priorityAttrs)\n\n const Enhanced = (WrappedComponent: ComponentType<any>) =>\n forwardRef<any, any>((props, ref) => {\n const { theme, mode, isDark, isLight } = useTheme({\n inversed,\n })\n\n const callbackParams = [theme, { render, mode, isDark, isLight }]\n\n // --------------------------------------------------\n // remove undefined props not to override potential default props\n // only props with value (e.g. `null`) should override default props\n // --------------------------------------------------\n const filteredProps = removeUndefinedProps(props)\n\n const prioritizedAttrs = calculatePriorityAttrs([\n filteredProps,\n ...callbackParams,\n ])\n\n const finalAttrs = calculateAttrs([\n {\n ...prioritizedAttrs,\n ...filteredProps,\n },\n ...callbackParams,\n ])\n\n return (\n <WrappedComponent\n $rocketstyleRef={ref}\n {...prioritizedAttrs}\n {...finalAttrs}\n {...filteredProps}\n />\n )\n })\n\n return Enhanced\n}\n\nexport default rocketStyleHOC\n","type Func = (...args: any) => Record<string, unknown>\ntype Obj = Record<string, unknown>\n\n// --------------------------------------------------------\n// Chain Options\n// --------------------------------------------------------\n/**\n * Appends a new option (function or plain object) to an existing chain\n * of option callbacks. Objects are wrapped in a thunk for uniform handling.\n */\ntype ChainOptions = (\n opts: Obj | Func | undefined,\n defaultOpts: Func[],\n) => Func[]\n\nexport const chainOptions: ChainOptions = (opts, defaultOpts = []) => {\n const result = [...defaultOpts]\n\n if (typeof opts === 'function') result.push(opts)\n else if (typeof opts === 'object') result.push(() => opts)\n\n return result\n}\n\n// --------------------------------------------------------\n// Chain Or Options\n// --------------------------------------------------------\n/**\n * For each key, picks the new value if truthy, otherwise falls back\n * to the default. Used for config keys that replace rather than merge.\n */\ntype ChainOrOptions = (\n keys: readonly string[],\n opts: Obj,\n defaultOpts: Obj,\n) => Record<string, unknown>\n\nexport const chainOrOptions: ChainOrOptions = (keys, opts, defaultOpts) =>\n keys.reduce(\n (acc, item) => ({ ...acc, [item]: opts[item] || defaultOpts[item] }),\n {},\n )\n\n// --------------------------------------------------------\n// Chain Reserved Options\n// --------------------------------------------------------\n/**\n * Chains option callbacks for reserved dimension and styling keys,\n * delegating to `chainOptions` for each key individually.\n */\ntype ChainReservedKeyOptions = (\n keys: readonly string[],\n opts: Record<string, Obj | Func>,\n defaultOpts: Record<string, Func[]>,\n) => Record<string, ReturnType<typeof chainOptions>>\n\nexport const chainReservedKeyOptions: ChainReservedKeyOptions = (\n keys,\n opts,\n defaultOpts,\n) =>\n keys.reduce(\n (acc, item) => ({\n ...acc,\n [item]: chainOptions(opts[item], defaultOpts[item]!),\n }),\n {},\n )\n","/**\n * Extracts HOC functions from the compose configuration object,\n * filters out non-function entries, and reverses them so the\n * outermost HOC in the chain wraps first (inside-out composition).\n */\ntype CalculateHocsFuncs = (\n options: Record<string, any>,\n) => ((arg: any) => any)[]\n\nexport const calculateHocsFuncs: CalculateHocsFuncs = (options = {}) =>\n Object.values(options)\n .filter((item) => typeof item === 'function')\n .reverse()\n","import { get, isEmpty, set } from '@vitus-labs/core'\nimport type { Dimensions, DimensionValue, MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// Is value a valid key\n// --------------------------------------------------------\n/** Checks whether a dimension value is defined and not explicitly disabled (false). */\ntype IsValidKey = (value: any) => boolean\nexport const isValidKey: IsValidKey = (value) =>\n value !== undefined && value !== null && value !== false\n\n// --------------------------------------------------------\n// Is value a multi key\n// --------------------------------------------------------\n/** Determines if a dimension value is a multi-key config object, returning [isMulti, propName]. */\ntype IsMultiKey = (value: string | Record<string, unknown>) => [boolean, string]\nexport const isMultiKey: IsMultiKey = (value) => {\n if (typeof value === 'object' && value !== null)\n return [true, get(value, 'propName') as string]\n return [false, value]\n}\n\n// --------------------------------------------------------\n// calculate dimensions map\n// --------------------------------------------------------\n/**\n * Builds a two-level map (`keysMap`) of dimension -> option -> true,\n * and a flat `keywords` lookup of all prop names reserved by dimensions\n * (including boolean shorthand keys when `useBooleans` is enabled).\n */\ntype GetDimensionsMap = <T extends Record<string, any>>({\n themes,\n useBooleans,\n}: {\n themes: T\n useBooleans?: boolean\n}) => { keysMap: Record<string, any>; keywords: Record<string, any> }\n\nexport const getDimensionsMap: GetDimensionsMap = ({ themes, useBooleans }) => {\n const result = {\n keysMap: {} as Record<string, any>,\n keywords: {} as Record<string, any>,\n }\n\n if (isEmpty(themes)) return result\n\n return Object.entries(themes).reduce((accumulator, [key, value]) => {\n const { keysMap, keywords } = accumulator\n keywords[key] = true\n\n Object.entries(value).forEach(([itemKey, itemValue]) => {\n if (!isValidKey(itemValue)) return\n\n if (useBooleans) {\n keywords[itemKey] = true\n }\n\n set(keysMap, [key, itemKey], true)\n })\n\n return accumulator\n }, result)\n}\n\n// --------------------------------------------------------\n// simple object getters\n// --------------------------------------------------------\n/** Returns the keys of an object with proper typing. */\ntype GetKeys = <T extends Record<string, unknown>>(obj: T) => Array<keyof T>\nexport const getKeys: GetKeys = (obj) => Object.keys(obj)\n\ntype GetValues = <T extends Record<string, unknown>, K extends keyof T>(\n obj: T,\n) => T[K][]\nexport const getValues: GetValues = (obj) => Object.values(obj) as any\n\n// --------------------------------------------------------\n// get dimensions values array\n// --------------------------------------------------------\n/** Extracts the prop name from each dimension value, unwrapping multi-key config objects. */\ntype ValueType<T> = T extends string ? T : T[][0]\ntype GetDimensionsValues = <T extends Dimensions, K extends keyof T>(\n obj: T,\n) => ValueType<T[K]>[]\n\nexport const getDimensionsValues: GetDimensionsValues = (obj) =>\n getValues(obj).map((item: DimensionValue) => {\n if (typeof item === 'object') {\n return item.propName as any\n }\n\n return item\n })\n\n// --------------------------------------------------------\n// get multiple dimensions map\n// --------------------------------------------------------\n/** Builds a lookup of dimension prop names that accept multiple simultaneous values. */\ntype GetMultipleDimensions = <T extends Dimensions>(obj: T) => MultiKeys<T>\n\nexport const getMultipleDimensions: GetMultipleDimensions = (obj) =>\n getValues(obj).reduce(\n (accumulator, value: DimensionValue) => {\n if (typeof value === 'object') {\n if (value.multi === true) accumulator[value.propName] = true\n }\n\n return accumulator\n },\n {} as Record<string, any>,\n )\n","import { isEmpty } from '@vitus-labs/core'\nimport { STATIC_KEYS } from '~/constants'\n\n// --------------------------------------------------------\n// helpers for create statics chaining methods on component\n// --------------------------------------------------------\n/**\n * Attaches chaining static methods (e.g. `.states()`, `.sizes()`, `.theme()`)\n * to a component. Each method calls `cloneAndEnhance` with the corresponding key.\n */\ntype CreateStaticsChainingEnhancers = <\n O extends Record<string, any>,\n DK extends string[],\n>(props: {\n context: Record<string, any>\n dimensionKeys: DK\n func: (defaultOpts: O, opts: any) => void\n options: O\n}) => void\n\nexport const createStaticsChainingEnhancers: CreateStaticsChainingEnhancers = ({\n context,\n dimensionKeys,\n func,\n options,\n}) => {\n const keys = [...dimensionKeys, ...STATIC_KEYS]\n\n keys.forEach((item) => {\n context[item] = (props: any) => func(options, { [item]: props })\n })\n}\n\n// --------------------------------------------------------\n// helpers for create statics on component\n// --------------------------------------------------------\n/** Copies user-defined static properties onto the component's `meta` object. */\ntype CreateStaticsEnhancers = (params: {\n context: Record<string, any>\n options: Record<string, any>\n}) => void\n\nexport const createStaticsEnhancers: CreateStaticsEnhancers = ({\n context,\n options,\n}) => {\n if (!isEmpty(options)) {\n Object.assign(context, options)\n }\n}\n","import { config } from '@vitus-labs/core'\nimport type { StylesCbArray } from '~/types/styles'\n\n// --------------------------------------------------------\n// Calculate styles\n// --------------------------------------------------------\n/**\n * Evaluates an array of style callback functions with the configured\n * `css` tagged-template helper, producing the final CSS interpolations\n * to be passed into the styled-component template literal.\n */\ntype CalculateStyles = (\n styles: StylesCbArray | undefined,\n) => ReturnType<StylesCbArray[number]>[]\n\nexport const calculateStyles: CalculateStyles = (styles) => {\n if (!styles) return []\n\n return styles.map((item) => item(config.css))\n}\n","// --------------------------------------------------------\n// Remove Nullable values\n// --------------------------------------------------------\n/** Filters out entries with `null`, `undefined`, or `false` values from an object. */\ntype RemoveNullableValues = (obj: Record<string, any>) => Record<string, any>\nexport const removeNullableValues: RemoveNullableValues = (obj) =>\n Object.entries(obj)\n .filter(([, v]) => v != null && v !== false)\n .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})\n\n// --------------------------------------------------------\n// Remove All Empty Values\n// --------------------------------------------------------\n// type RemoveAllEmptyValues = (obj: Record<string, any>) => Record<string, any>\n// export const removeAllEmptyValues: RemoveAllEmptyValues = (obj) =>\n// Object.entries(obj)\n// .filter(([, v]) => v != null)\n// .reduce(\n// (acc, [k, v]) => ({\n// ...acc,\n// [k]: typeof v === 'object' ? removeAllEmptyValues(v) : v,\n// }),\n// {}\n// )\n","import { config, isEmpty, merge } from '@vitus-labs/core'\nimport type { ThemeModeCallback } from '~/types/theme'\nimport { removeNullableValues } from './collection'\nimport { isMultiKey } from './dimensions'\n\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\n/** Creates a mode-switching function that returns the light or dark value based on the active mode. */\nexport const themeModeCallback: ThemeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light') return light\n return dark\n}\n\n// --------------------------------------------------------\n// Theme Mode Callback Check\n// --------------------------------------------------------\n/** Detects whether a value is a `themeModeCallback` function by comparing stringified signatures. */\ntype IsModeCallback = (value: any) => boolean\nconst isModeCallback: IsModeCallback = (value: any) =>\n typeof value === 'function' &&\n //@ts-expect-error\n value.toString() === themeModeCallback().toString()\n\n// --------------------------------------------------------\n// Get Theme From Chain\n// --------------------------------------------------------\n/** Reduces an array of chained `.theme()` callbacks into a single merged theme object. */\ntype OptionFunc = (...arg: any) => Record<string, unknown>\ntype GetThemeFromChain = (\n options: OptionFunc[] | undefined | null,\n theme: Record<string, any>,\n) => ReturnType<OptionFunc>\n\nexport const getThemeFromChain: GetThemeFromChain = (options, theme) => {\n const result = {}\n if (!options || isEmpty(options)) return result\n\n return options.reduce(\n (acc, item) => merge(acc, item(theme, themeModeCallback, config.css)),\n result,\n )\n}\n\n// --------------------------------------------------------\n// calculate dimension themes\n// --------------------------------------------------------\n/**\n * Computes the theme object for each dimension by evaluating its\n * chained callbacks against the global theme, then strips nullable values.\n */\ntype GetDimensionThemes = (\n theme: Record<string, any>,\n options: Record<string, any>,\n) => Record<string, any>\n\nexport const getDimensionThemes: GetDimensionThemes = (theme, options) => {\n const result = {}\n\n if (isEmpty(options.dimensions)) return result\n\n return Object.entries(options.dimensions).reduce(\n (acc, [key, value]) => {\n const [, dimension] = isMultiKey(value as any)\n\n const helper = options[key]\n\n if (Array.isArray(helper) && helper.length > 0) {\n const finalDimensionThemes = getThemeFromChain(helper, theme)\n\n acc[dimension] = removeNullableValues(finalDimensionThemes)\n }\n\n return acc\n },\n result as Record<string, any>,\n )\n}\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\n/** Reduces an array of option callbacks by calling each with the given args and deep-merging results. */\ntype CalculateChainOptions = (\n options: OptionFunc[] | undefined | null,\n args: any[],\n) => Record<string, any>\n\nexport const calculateChainOptions: CalculateChainOptions = (options, args) => {\n const result = {}\n if (!options || isEmpty(options)) return result\n\n return options.reduce((acc, item) => merge(acc, item(...args)), result)\n}\n\n// --------------------------------------------------------\n// generate theme\n// --------------------------------------------------------\n/**\n * Generates the final theme object by starting with the base theme\n * and merging in dimension-specific theme slices based on the current\n * rocketstate (active dimension values). Supports multi-key dimensions.\n */\nexport type GetTheme = (params: {\n rocketstate: Record<string, string | string[]>\n themes: Record<string, Record<string, any>>\n baseTheme: Record<string, any>\n}) => Record<string, unknown>\n\nexport const getTheme: GetTheme = ({ rocketstate, themes, baseTheme }) => {\n // generate final theme which will be passed to styled component\n let finalTheme = { ...baseTheme }\n\n Object.entries(rocketstate).forEach(\n ([key, value]: [string, string | string[]]) => {\n const keyTheme: Record<string, any> = themes[key]!\n\n if (Array.isArray(value)) {\n value.forEach((item) => {\n finalTheme = merge({}, finalTheme, keyTheme[item])\n })\n } else {\n finalTheme = merge({}, finalTheme, keyTheme[value])\n }\n },\n )\n\n return finalTheme\n}\n\n// --------------------------------------------------------\n// resolve theme by mode\n// --------------------------------------------------------\n/**\n * Recursively traverses a theme object and resolves any `themeModeCallback`\n * functions to their concrete light or dark values for the given mode.\n */\nexport type GetThemeByMode = (\n object: Record<string, any>,\n mode: 'light' | 'dark',\n) => Partial<{\n baseTheme: Record<string, unknown>\n themes: Record<string, unknown>\n}>\n\nexport const getThemeByMode: GetThemeByMode = (object, mode) =>\n Object.keys(object).reduce(\n (acc, key) => {\n const value = object[key]\n\n if (typeof value === 'object' && value !== null) {\n acc[key] = getThemeByMode(value, mode)\n } else if (isModeCallback(value)) {\n acc[key] = value(mode)\n } else {\n acc[key] = value\n }\n\n return acc\n },\n {} as Record<string, any>,\n )\n","import {\n compose,\n config,\n hoistNonReactStatics,\n omit,\n pick,\n render,\n} from '@vitus-labs/core'\nimport { forwardRef, useMemo } from 'react'\nimport { LocalThemeManager } from '~/cache'\nimport {\n CONFIG_KEYS,\n PSEUDO_KEYS,\n PSEUDO_META_KEYS,\n STYLING_KEYS,\n} from '~/constants'\nimport createLocalProvider from '~/context/createLocalProvider'\nimport { useLocalContext } from '~/context/localContext'\nimport { rocketstyleAttrsHoc } from '~/hoc'\nimport { useRef, useTheme } from '~/hooks'\nimport type {\n Configuration,\n ExtendedConfiguration,\n} from '~/types/configuration'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type {\n ExoticComponent,\n InnerComponentProps,\n RocketStyleComponent,\n} from '~/types/rocketstyle'\nimport {\n calculateChainOptions,\n calculateStylingAttrs,\n pickStyledAttrs,\n} from '~/utils/attrs'\nimport {\n chainOptions,\n chainOrOptions,\n chainReservedKeyOptions,\n} from '~/utils/chaining'\nimport { calculateHocsFuncs } from '~/utils/compose'\nimport { getDimensionsMap } from '~/utils/dimensions'\nimport {\n createStaticsChainingEnhancers,\n createStaticsEnhancers,\n} from '~/utils/statics'\nimport { calculateStyles } from '~/utils/styles'\nimport {\n getDimensionThemes,\n getTheme,\n getThemeByMode,\n getThemeFromChain,\n} from '~/utils/theme'\n\n/**\n * Core rocketstyle component factory. Creates a fully-featured React component\n * that integrates theme management (with light/dark mode support), multi-tier\n * WeakMap caching, dimension-based styling props, pseudo-state detection, and\n * chainable static methods (`.attrs()`, `.theme()`, `.styles()`, `.config()`, etc.).\n * @module rocketstyle\n */\n\n// --------------------------------------------------------\n// cloneAndEnhance\n// helper function which allows function chaining\n// always returns rocketComponent with static functions\n// assigned\n// --------------------------------------------------------\ntype CloneAndEnhance = (\n defaultOpts: Configuration,\n opts: Partial<ExtendedConfiguration>,\n) => ReturnType<typeof rocketComponent>\n\n/** Clones the current configuration and merges new options, returning a fresh rocketComponent. */\nconst cloneAndEnhance: CloneAndEnhance = (defaultOpts, opts) =>\n // @ts-expect-error\n rocketComponent({\n ...defaultOpts,\n attrs: chainOptions(opts.attrs, defaultOpts.attrs),\n filterAttrs: [\n ...(defaultOpts.filterAttrs ?? []),\n ...(opts.filterAttrs ?? []),\n ],\n priorityAttrs: chainOptions(opts.priorityAttrs, defaultOpts.priorityAttrs),\n statics: { ...defaultOpts.statics, ...opts.statics },\n compose: { ...defaultOpts.compose, ...opts.compose },\n ...chainOrOptions(CONFIG_KEYS, opts, defaultOpts),\n ...chainReservedKeyOptions(\n [...defaultOpts.dimensionKeys, ...STYLING_KEYS],\n opts,\n defaultOpts,\n ),\n })\n\n// --------------------------------------------------------\n// styleComponent\n// helper function which allows function chaining\n// always returns a valid React component with static functions\n// assigned, so it can be even rendered as a valid component\n// or styles can be extended via its statics\n// --------------------------------------------------------\n/**\n * Builds the final renderable React component with theme resolution,\n * dimension mapping, pseudo-state context, HOC composition, and\n * chainable static enhancers attached to the returned component.\n */\n// @ts-expect-error\nconst rocketComponent: RocketComponent = (options) => {\n const { component, styles } = options\n const { styled } = config\n\n const _calculateStylingAttrs = calculateStylingAttrs({\n multiKeys: options.multiKeys,\n useBooleans: options.useBooleans,\n })\n\n const componentName =\n options.name ?? options.component.displayName ?? options.component.name\n\n // create styled component with all options.styles if available\n const STYLED_COMPONENT =\n (component.IS_ROCKETSTYLE ?? options.styled !== true)\n ? component\n : styled(component)`\n ${calculateStyles(styles)};\n `\n\n // --------------------------------------------------------\n // COMPONENT - Final component to be rendered\n // --------------------------------------------------------\n const RenderComponent = options.provider\n ? createLocalProvider(STYLED_COMPONENT)\n : STYLED_COMPONENT\n\n // --------------------------------------------------------\n // THEME - Cached & Calculated theme(s)\n // --------------------------------------------------------\n const ThemeManager = new LocalThemeManager()\n\n // --------------------------------------------------------\n // COMPOSE - high-order components\n // --------------------------------------------------------\n const hocsFuncs = [\n rocketstyleAttrsHoc(options),\n ...calculateHocsFuncs(options.compose),\n ]\n\n // --------------------------------------------------------\n // ENHANCED COMPONENT (returned component)\n // --------------------------------------------------------\n // .attrs() chaining option is calculated in HOC and passed as props already\n const EnhancedComponent: ExoticComponent<InnerComponentProps> = forwardRef(\n (\n {\n $rocketstyleRef, // it's forwarded from HOC which is always on top of all hocs\n ...props\n },\n ref,\n ) => {\n // --------------------------------------------------\n // handle refs\n // (1) one is passed from inner HOC - $rocketstyleRef\n // (2) second one is used to be used directly (e.g. inside hocs)\n // --------------------------------------------------\n const internalRef = useRef({ $rocketstyleRef, ref })\n\n // --------------------------------------------------\n // hover - focus - pressed state passed via context from parent component\n // --------------------------------------------------\n const localCtx = useLocalContext(options.consumer)\n\n // --------------------------------------------------\n // general theme and theme mode dark / light passed in context\n // --------------------------------------------------\n const { theme, mode } = useTheme(options)\n\n // --------------------------------------------------\n // calculate themes for all defined styling dimensions\n // .theme(...) + defined dimensions like .states(...), .sizes(...), etc.\n // --------------------------------------------------\n\n // --------------------------------------------------\n // BASE / DEFAULT THEME Object\n // --------------------------------------------------\n const baseTheme = useMemo(\n () => {\n const helper = ThemeManager.baseTheme\n\n if (!helper.has(theme)) {\n helper.set(theme, getThemeFromChain(options.theme, theme))\n }\n\n return helper.get(theme)\n },\n // recalculate this only when theme mode changes dark / light\n [theme],\n )\n\n // --------------------------------------------------\n // DIMENSION(S) THEMES Object\n // --------------------------------------------------\n const themes = useMemo(\n () => {\n const helper = ThemeManager.dimensionsThemes\n\n if (!helper.has(theme)) {\n helper.set(theme, getDimensionThemes(theme, options))\n }\n\n return helper.get(theme)\n },\n // recalculate this only when theme object changes\n [theme],\n )\n\n // --------------------------------------------------\n // BASE / DEFAULT MODE THEME Object\n // --------------------------------------------------\n const currentModeBaseTheme = useMemo(\n () => {\n const helper = ThemeManager.modeBaseTheme[mode]\n\n if (!helper.has(baseTheme)) {\n helper.set(baseTheme, getThemeByMode(baseTheme, mode))\n }\n\n return helper.get(baseTheme)\n },\n // recalculate this only when theme mode changes dark / light\n [mode, baseTheme],\n )\n\n // --------------------------------------------------\n // DIMENSION(S) MODE THEMES Object\n // --------------------------------------------------\n const currentModeThemes = useMemo(\n () => {\n const helper = ThemeManager.modeDimensionTheme[mode]\n\n if (!helper.has(themes)) {\n helper.set(themes, getThemeByMode(themes, mode))\n }\n\n return helper.get(themes)\n },\n // recalculate this only when theme mode changes dark / light\n [mode, themes],\n )\n\n // --------------------------------------------------\n // calculate reserved Keys defined in dimensions as styling keys\n // there is no need to calculate this each time - keys are based on\n // dimensions definitions\n // --------------------------------------------------\n const { keysMap: dimensions, keywords: reservedPropNames } = useMemo(\n () =>\n getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n }),\n [themes],\n )\n\n const RESERVED_STYLING_PROPS_KEYS = useMemo(\n () => Object.keys(reservedPropNames),\n [reservedPropNames],\n )\n\n // --------------------------------------------------\n // get final props which are (latest has the highest priority):\n // (1) merged styling from context,\n // (2) `attrs` chaining method, and from\n // (3) passing them directly to component\n // --------------------------------------------------\n const { pseudo, ...mergeProps } = {\n ...localCtx,\n ...props,\n }\n\n // --------------------------------------------------\n // pseudo rocket state\n // calculate final component pseudo state including pseudo state\n // from props and override by pseudo props from context\n // --------------------------------------------------\n const pseudoRocketstate = {\n ...pseudo,\n ...pick(props, [...PSEUDO_KEYS, ...PSEUDO_META_KEYS]),\n }\n\n // --------------------------------------------------\n // rocketstate\n // calculate final component state including pseudo state\n // passed as $rocketstate prop\n // --------------------------------------------------\n const rocketstate = _calculateStylingAttrs({\n props: pickStyledAttrs(mergeProps, reservedPropNames),\n dimensions,\n })\n\n const finalRocketstate = { ...rocketstate, pseudo: pseudoRocketstate }\n\n // --------------------------------------------------\n // rocketstyle\n // calculated (based on styling props) final theme which will be passed\n // to our styled component\n // passed as $rocketstyle prop\n // --------------------------------------------------\n const rocketstyle = getTheme({\n rocketstate,\n themes: currentModeThemes,\n baseTheme: currentModeBaseTheme,\n })\n\n // --------------------------------------------------\n // final props\n // final props passed to WrappedComponent\n // excluding: styling props\n // including: $rocketstyle, $rocketstate\n // --------------------------------------------------\n const finalProps: Record<string, any> = {\n // this removes styling state from props and passes its state\n // under rocketstate key only\n ...omit(mergeProps, [\n ...RESERVED_STYLING_PROPS_KEYS,\n ...PSEUDO_KEYS,\n ...options.filterAttrs,\n ]),\n // if enforced to pass styling props, we pass them directly\n ...(options.passProps ? pick(mergeProps, options.passProps) : {}),\n ref: (ref ?? $rocketstyleRef) ? internalRef : undefined,\n // state props passed to styled component only, therefore the `$` symbol\n $rocketstyle: rocketstyle,\n $rocketstate: finalRocketstate,\n }\n\n // all the development stuff injected\n if (process.env.NODE_ENV !== 'production') {\n finalProps['data-rocketstyle'] = componentName\n\n if (options.DEBUG) {\n const debugPayload = {\n component: componentName,\n rocketstate: finalRocketstate,\n rocketstyle,\n dimensions,\n mode,\n reservedPropNames: RESERVED_STYLING_PROPS_KEYS,\n filteredAttrs: options.filterAttrs,\n }\n\n // biome-ignore lint/suspicious/noConsole: debug logging controlled by DEBUG option\n console.debug(`[rocketstyle] ${componentName} render:`, debugPayload)\n }\n }\n\n return <RenderComponent {...finalProps} />\n },\n )\n\n // ------------------------------------------------------\n // This will hoist and generate dynamically next static methods\n // for all dimensions available in configuration\n // ------------------------------------------------------\n const RocketComponent: RocketStyleComponent = compose(...hocsFuncs)(\n EnhancedComponent,\n )\n RocketComponent.IS_ROCKETSTYLE = true\n RocketComponent.displayName = componentName\n\n hoistNonReactStatics(RocketComponent as any, options.component)\n\n // ------------------------------------------------------\n // enhance for chaining methods\n // ------------------------------------------------------\n createStaticsChainingEnhancers({\n context: RocketComponent,\n dimensionKeys: options.dimensionKeys,\n func: cloneAndEnhance,\n options,\n })\n\n // ------------------------------------------------------\n RocketComponent.IS_ROCKETSTYLE = true\n RocketComponent.displayName = componentName\n RocketComponent.meta = {}\n // ------------------------------------------------------\n\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.meta,\n options: options.statics,\n })\n\n // @ts-expect-error\n RocketComponent.attrs = (attrs, { priority, filter } = {}) => {\n const result: Record<string, any> = {}\n\n if (filter) {\n result.filterAttrs = filter\n }\n\n if (priority) {\n result.priorityAttrs = attrs as ExtendedConfiguration['priorityAttrs']\n\n return cloneAndEnhance(options, result)\n }\n\n result.attrs = attrs as ExtendedConfiguration['attrs']\n\n return cloneAndEnhance(options, result)\n }\n\n // @ts-expect-error\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS) as ExtendedConfiguration\n\n return cloneAndEnhance(options, result)\n }\n\n RocketComponent.statics = (opts) =>\n // @ts-expect-error\n cloneAndEnhance(options, { statics: opts })\n\n RocketComponent.getStaticDimensions = (theme) => {\n const themes = getDimensionThemes(theme, options)\n\n const { keysMap, keywords } = getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n })\n\n return {\n dimensions: keysMap,\n keywords,\n useBooleans: options.useBooleans,\n multiKeys: options.multiKeys,\n }\n }\n\n RocketComponent.getDefaultAttrs = (props, theme, mode) =>\n calculateChainOptions(options.attrs)([\n props,\n theme,\n {\n render,\n mode,\n isDark: mode === 'light',\n isLight: mode === 'dark',\n },\n ])\n\n return RocketComponent\n}\n\nexport default rocketComponent\n","// @ts-nocheck\nimport { isEmpty } from '@vitus-labs/core'\nimport { ALL_RESERVED_KEYS } from '~/constants'\nimport defaultDimensions from '~/constants/defaultDimensions'\nimport rocketComponent from '~/rocketstyle'\nimport type { DefaultDimensions, Dimensions } from '~/types/dimensions'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type { ElementType } from '~/types/utils'\nimport {\n getDimensionsValues,\n getKeys,\n getMultipleDimensions,\n} from '~/utils/dimensions'\n\nexport type Rocketstyle = <\n D extends Dimensions = DefaultDimensions,\n UB extends boolean = true,\n>({\n dimensions,\n useBooleans,\n}?: {\n dimensions?: D\n useBooleans?: UB\n}) => <C extends ElementType>({\n name,\n component,\n}: {\n name: string\n component: C\n}) => ReturnType<RocketComponent<C, {}, {}, D, UB>>\n\n/**\n * Factory initializer for rocketstyle components. Validates dimension\n * configurations against reserved keys, then delegates to the core\n * `rocketComponent` builder with pre-computed dimension metadata.\n */\ntype InitErrors = Partial<{\n component: string\n name: string\n dimensions: string\n invalidDimensions: string\n}>\n\nconst validateInit = (\n name: string,\n component: unknown,\n dimensions: Dimensions,\n) => {\n const errors: InitErrors = {}\n\n if (!component) {\n errors.component = 'Parameter `component` is missing in params!'\n }\n\n if (!name) {\n errors.name = 'Parameter `name` is missing in params!'\n }\n\n if (isEmpty(dimensions)) {\n errors.dimensions = 'Parameter `dimensions` is missing in params!'\n } else {\n const definedDimensions = getKeys(dimensions)\n const invalidDimension = ALL_RESERVED_KEYS.some((item) =>\n definedDimensions.includes(item as any),\n )\n\n if (invalidDimension) {\n errors.invalidDimensions = `Some of your \\`dimensions\\` is invalid and uses reserved static keys which are\n ${defaultDimensions.toString()}`\n }\n }\n\n if (!isEmpty(errors)) {\n throw Error(JSON.stringify(errors))\n }\n}\n\nconst rocketstyle: Rocketstyle =\n ({ dimensions = defaultDimensions, useBooleans = true } = {}) =>\n ({ name, component }) => {\n if (process.env.NODE_ENV !== 'production') {\n validateInit(name, component, dimensions)\n }\n\n return rocketComponent({\n name,\n component,\n useBooleans,\n dimensions,\n dimensionKeys: getKeys(dimensions),\n dimensionValues: getDimensionsValues(dimensions),\n multiKeys: getMultipleDimensions(dimensions),\n styled: true,\n })\n }\n\nexport default rocketstyle\n","export type IsRocketComponent = <T>(component: T) => boolean\n\nconst isRocketComponent: IsRocketComponent = (component) => {\n if (\n component &&\n typeof component === 'object' &&\n component !== null &&\n Object.hasOwn(component, 'IS_ROCKETSTYLE')\n ) {\n return true\n }\n\n return false\n}\n\nexport default isRocketComponent\n","import type { TProvider } from '~/context/context'\nimport Provider, { context } from '~/context/context'\nimport type { Rocketstyle } from '~/init'\nimport rocketstyle from '~/init'\nimport type { IsRocketComponent } from '~/isRocketComponent'\nimport isRocketComponent from '~/isRocketComponent'\nimport type { AttrsCb } from '~/types/attrs'\nimport type {\n ConfigAttrs,\n ConsumerCb,\n ConsumerCtxCBValue,\n ConsumerCtxCb,\n RocketComponentType,\n RocketProviderState,\n} from '~/types/config'\nimport type { DefaultProps } from '~/types/configuration'\nimport type {\n DimensionCallbackParam,\n DimensionProps,\n Dimensions,\n DimensionValue,\n ExtractDimensionProps,\n ExtractDimensions,\n TDKP,\n} from '~/types/dimensions'\nimport type { ComposeParam, GenericHoc } from '~/types/hoc'\nimport type {\n IRocketStyleComponent,\n RocketStyleComponent,\n} from '~/types/rocketstyle'\nimport type { StylesCb, StylesDefault } from '~/types/styles'\nimport type {\n ThemeCb,\n ThemeDefault,\n ThemeMode,\n ThemeModeCallback,\n ThemeModeKeys,\n} from '~/types/theme'\nimport type { ElementType, ExtractProps, MergeTypes, TObj } from '~/types/utils'\n\nexport type {\n StylesDefault,\n ThemeDefault,\n RocketStyleComponent,\n IRocketStyleComponent,\n Rocketstyle,\n TProvider,\n RocketComponentType,\n RocketProviderState,\n ConsumerCtxCBValue,\n ConsumerCtxCb,\n ConsumerCb,\n TObj,\n ElementType,\n MergeTypes,\n ExtractProps,\n Dimensions,\n DimensionValue,\n DimensionCallbackParam,\n ExtractDimensionProps,\n TDKP,\n DimensionProps,\n ExtractDimensions,\n StylesCb,\n ConfigAttrs,\n AttrsCb,\n ThemeCb,\n ThemeModeCallback,\n ThemeModeKeys,\n GenericHoc,\n ComposeParam,\n DefaultProps,\n IsRocketComponent,\n ThemeMode,\n}\n\nexport { rocketstyle, context, Provider, isRocketComponent }\nexport default rocketstyle\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitus-labs/rocketstyle",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Vit Bokisch <vit@bokisch.cz>",
|
|
6
6
|
"maintainers": [
|
|
@@ -60,12 +60,12 @@
|
|
|
60
60
|
"react": ">= 19"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@vitus-labs/core": "1.3.
|
|
64
|
-
"@vitus-labs/elements": "1.3.
|
|
63
|
+
"@vitus-labs/core": "1.3.3",
|
|
64
|
+
"@vitus-labs/elements": "1.3.3",
|
|
65
65
|
"@vitus-labs/tools-rolldown": "^1.6.0",
|
|
66
66
|
"@vitus-labs/tools-storybook": "^1.6.0",
|
|
67
67
|
"@vitus-labs/tools-typescript": "^1.6.0",
|
|
68
|
-
"@vitus-labs/unistyle": "1.3.
|
|
68
|
+
"@vitus-labs/unistyle": "1.3.3"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "1f1b5be1389a89c41626db181d28018cc978d3ab"
|
|
71
71
|
}
|