@vitus-labs/rocketstyle 0.60.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6424,7 +6424,7 @@ var drawChart = (function (exports) {
6424
6424
  </script>
6425
6425
  <script>
6426
6426
  /*<!--*/
6427
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-rocketstyle.js","children":[{"name":"src","children":[{"name":"constants","children":[{"uid":"249b-1","name":"index.ts"},{"uid":"249b-37","name":"defaultDimensions.ts"}]},{"name":"context","children":[{"uid":"249b-3","name":"localContext.tsx"},{"uid":"249b-13","name":"createLocalProvider.tsx"}]},{"name":"hooks","children":[{"uid":"249b-5","name":"usePseudoState.tsx"},{"uid":"249b-7","name":"useRef.ts"},{"uid":"249b-11","name":"useTheme.tsx"}]},{"uid":"249b-9","name":"context.tsx"},{"name":"cache/LocalThemeManager.ts","uid":"249b-15"},{"name":"utils","children":[{"uid":"249b-17","name":"attrs.ts"},{"uid":"249b-21","name":"statics.ts"},{"uid":"249b-23","name":"collection.ts"},{"uid":"249b-25","name":"dimensions.ts"},{"uid":"249b-27","name":"theme.ts"},{"uid":"249b-29","name":"chaining.ts"},{"uid":"249b-31","name":"compose.ts"},{"uid":"249b-33","name":"styles.ts"}]},{"name":"hoc/rocketstyleAttrsHoc.tsx","uid":"249b-19"},{"uid":"249b-35","name":"rocketstyle.tsx"},{"uid":"249b-39","name":"init.ts"},{"uid":"249b-41","name":"isRocketComponent.tsx"},{"uid":"249b-43","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"249b-1":{"renderedLength":566,"gzipLength":296,"brotliLength":0,"mainUid":"249b-0"},"249b-3":{"renderedLength":300,"gzipLength":182,"brotliLength":0,"mainUid":"249b-2"},"249b-5":{"renderedLength":1875,"gzipLength":446,"brotliLength":0,"mainUid":"249b-4"},"249b-7":{"renderedLength":271,"gzipLength":150,"brotliLength":0,"mainUid":"249b-6"},"249b-9":{"renderedLength":464,"gzipLength":261,"brotliLength":0,"mainUid":"249b-8"},"249b-11":{"renderedLength":346,"gzipLength":213,"brotliLength":0,"mainUid":"249b-10"},"249b-13":{"renderedLength":824,"gzipLength":379,"brotliLength":0,"mainUid":"249b-12"},"249b-15":{"renderedLength":235,"gzipLength":120,"brotliLength":0,"mainUid":"249b-14"},"249b-17":{"renderedLength":2552,"gzipLength":893,"brotliLength":0,"mainUid":"249b-16"},"249b-19":{"renderedLength":1013,"gzipLength":440,"brotliLength":0,"mainUid":"249b-18"},"249b-21":{"renderedLength":459,"gzipLength":270,"brotliLength":0,"mainUid":"249b-20"},"249b-23":{"renderedLength":756,"gzipLength":316,"brotliLength":0,"mainUid":"249b-22"},"249b-25":{"renderedLength":1509,"gzipLength":542,"brotliLength":0,"mainUid":"249b-24"},"249b-27":{"renderedLength":2352,"gzipLength":780,"brotliLength":0,"mainUid":"249b-26"},"249b-29":{"renderedLength":564,"gzipLength":253,"brotliLength":0,"mainUid":"249b-28"},"249b-31":{"renderedLength":135,"gzipLength":129,"brotliLength":0,"mainUid":"249b-30"},"249b-33":{"renderedLength":187,"gzipLength":157,"brotliLength":0,"mainUid":"249b-32"},"249b-35":{"renderedLength":12209,"gzipLength":2736,"brotliLength":0,"mainUid":"249b-34"},"249b-37":{"renderedLength":178,"gzipLength":128,"brotliLength":0,"mainUid":"249b-36"},"249b-39":{"renderedLength":1553,"gzipLength":562,"brotliLength":0,"mainUid":"249b-38"},"249b-41":{"renderedLength":267,"gzipLength":184,"brotliLength":0,"mainUid":"249b-40"},"249b-43":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"249b-42"}},"nodeMetas":{"249b-0":{"id":"/src/constants/index.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-1"},"imported":[],"importedBy":[{"uid":"249b-38"},{"uid":"249b-34"},{"uid":"249b-20"},{"uid":"249b-10"}]},"249b-2":{"id":"/src/context/localContext.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-3"},"imported":[{"uid":"249b-45"}],"importedBy":[{"uid":"249b-34"},{"uid":"249b-12"}]},"249b-4":{"id":"/src/hooks/usePseudoState.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-5"},"imported":[{"uid":"249b-45"}],"importedBy":[{"uid":"249b-48"}]},"249b-6":{"id":"/src/hooks/useRef.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-7"},"imported":[{"uid":"249b-45"}],"importedBy":[{"uid":"249b-48"}]},"249b-8":{"id":"/src/context.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-9"},"imported":[{"uid":"249b-45"},{"uid":"249b-44"}],"importedBy":[{"uid":"249b-42"},{"uid":"249b-10"}]},"249b-10":{"id":"/src/hooks/useTheme.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-11"},"imported":[{"uid":"249b-45"},{"uid":"249b-8"},{"uid":"249b-0"}],"importedBy":[{"uid":"249b-48"}]},"249b-12":{"id":"/src/context/createLocalProvider.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-13"},"imported":[{"uid":"249b-45"},{"uid":"249b-48"},{"uid":"249b-2"}],"importedBy":[{"uid":"249b-34"}]},"249b-14":{"id":"/src/cache/LocalThemeManager.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-15"},"imported":[],"importedBy":[{"uid":"249b-47"}]},"249b-16":{"id":"/src/utils/attrs.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-17"},"imported":[{"uid":"249b-44"}],"importedBy":[{"uid":"249b-34"},{"uid":"249b-18"}]},"249b-18":{"id":"/src/hoc/rocketstyleAttrsHoc.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-19"},"imported":[{"uid":"249b-45"},{"uid":"249b-44"},{"uid":"249b-16"},{"uid":"249b-48"}],"importedBy":[{"uid":"249b-49"}]},"249b-20":{"id":"/src/utils/statics.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-21"},"imported":[{"uid":"249b-44"},{"uid":"249b-0"}],"importedBy":[{"uid":"249b-34"}]},"249b-22":{"id":"/src/utils/collection.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-23"},"imported":[],"importedBy":[{"uid":"249b-26"}]},"249b-24":{"id":"/src/utils/dimensions.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-25"},"imported":[{"uid":"249b-44"}],"importedBy":[{"uid":"249b-38"},{"uid":"249b-34"},{"uid":"249b-26"}]},"249b-26":{"id":"/src/utils/theme.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-27"},"imported":[{"uid":"249b-44"},{"uid":"249b-22"},{"uid":"249b-24"}],"importedBy":[{"uid":"249b-34"}]},"249b-28":{"id":"/src/utils/chaining.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-29"},"imported":[],"importedBy":[{"uid":"249b-34"}]},"249b-30":{"id":"/src/utils/compose.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-31"},"imported":[],"importedBy":[{"uid":"249b-34"}]},"249b-32":{"id":"/src/utils/styles.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-33"},"imported":[{"uid":"249b-44"}],"importedBy":[{"uid":"249b-34"}]},"249b-34":{"id":"/src/rocketstyle.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-35"},"imported":[{"uid":"249b-45"},{"uid":"249b-46"},{"uid":"249b-44"},{"uid":"249b-0"},{"uid":"249b-2"},{"uid":"249b-12"},{"uid":"249b-47"},{"uid":"249b-48"},{"uid":"249b-49"},{"uid":"249b-20"},{"uid":"249b-26"},{"uid":"249b-28"},{"uid":"249b-30"},{"uid":"249b-32"},{"uid":"249b-24"},{"uid":"249b-16"}],"importedBy":[{"uid":"249b-38"}]},"249b-36":{"id":"/src/constants/defaultDimensions.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-37"},"imported":[],"importedBy":[{"uid":"249b-38"}]},"249b-38":{"id":"/src/init.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-39"},"imported":[{"uid":"249b-44"},{"uid":"249b-34"},{"uid":"249b-24"},{"uid":"249b-0"},{"uid":"249b-36"}],"importedBy":[{"uid":"249b-42"}]},"249b-40":{"id":"/src/isRocketComponent.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"249b-41"},"imported":[],"importedBy":[{"uid":"249b-42"}]},"249b-42":{"id":"/src/index.ts","moduleParts":{"vitus-labs-rocketstyle.js":"249b-43"},"imported":[{"uid":"249b-38"},{"uid":"249b-8"},{"uid":"249b-40"}],"importedBy":[],"isEntry":true},"249b-44":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"249b-38"},{"uid":"249b-8"},{"uid":"249b-34"},{"uid":"249b-24"},{"uid":"249b-20"},{"uid":"249b-26"},{"uid":"249b-32"},{"uid":"249b-16"},{"uid":"249b-18"}],"isExternal":true},"249b-45":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"249b-8"},{"uid":"249b-34"},{"uid":"249b-2"},{"uid":"249b-12"},{"uid":"249b-4"},{"uid":"249b-6"},{"uid":"249b-10"},{"uid":"249b-18"}],"isExternal":true},"249b-46":{"id":"hoist-non-react-statics","moduleParts":{},"imported":[],"importedBy":[{"uid":"249b-34"}],"isExternal":true},"249b-47":{"id":"/src/cache/index.ts","moduleParts":{},"imported":[{"uid":"249b-14"}],"importedBy":[{"uid":"249b-34"}]},"249b-48":{"id":"/src/hooks/index.ts","moduleParts":{},"imported":[{"uid":"249b-4"},{"uid":"249b-6"},{"uid":"249b-10"}],"importedBy":[{"uid":"249b-34"},{"uid":"249b-12"},{"uid":"249b-18"}]},"249b-49":{"id":"/src/hoc/index.ts","moduleParts":{},"imported":[{"uid":"249b-18"}],"importedBy":[{"uid":"249b-34"}]}},"env":{"rollup":"2.72.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6427
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-rocketstyle.js","children":[{"name":"src","children":[{"name":"constants","children":[{"uid":"debd-1","name":"index.ts"},{"uid":"debd-37","name":"defaultDimensions.ts"}]},{"name":"context","children":[{"uid":"debd-3","name":"localContext.tsx"},{"uid":"debd-9","name":"context.tsx"},{"uid":"debd-13","name":"createLocalProvider.tsx"}]},{"name":"hooks","children":[{"uid":"debd-5","name":"usePseudoState.tsx"},{"uid":"debd-7","name":"useRef.ts"},{"uid":"debd-11","name":"useTheme.tsx"}]},{"name":"cache/LocalThemeManager.ts","uid":"debd-15"},{"name":"utils","children":[{"uid":"debd-17","name":"attrs.ts"},{"uid":"debd-21","name":"statics.ts"},{"uid":"debd-23","name":"collection.ts"},{"uid":"debd-25","name":"dimensions.ts"},{"uid":"debd-27","name":"theme.ts"},{"uid":"debd-29","name":"chaining.ts"},{"uid":"debd-31","name":"compose.ts"},{"uid":"debd-33","name":"styles.ts"}]},{"name":"hoc/rocketstyleAttrsHoc.tsx","uid":"debd-19"},{"uid":"debd-35","name":"rocketstyle.tsx"},{"uid":"debd-39","name":"init.ts"},{"uid":"debd-41","name":"isRocketComponent.tsx"},{"uid":"debd-43","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"debd-1":{"renderedLength":597,"gzipLength":309,"brotliLength":0,"mainUid":"debd-0"},"debd-3":{"renderedLength":300,"gzipLength":182,"brotliLength":0,"mainUid":"debd-2"},"debd-5":{"renderedLength":1875,"gzipLength":446,"brotliLength":0,"mainUid":"debd-4"},"debd-7":{"renderedLength":271,"gzipLength":150,"brotliLength":0,"mainUid":"debd-6"},"debd-9":{"renderedLength":547,"gzipLength":315,"brotliLength":0,"mainUid":"debd-8"},"debd-11":{"renderedLength":346,"gzipLength":213,"brotliLength":0,"mainUid":"debd-10"},"debd-13":{"renderedLength":824,"gzipLength":379,"brotliLength":0,"mainUid":"debd-12"},"debd-15":{"renderedLength":235,"gzipLength":120,"brotliLength":0,"mainUid":"debd-14"},"debd-17":{"renderedLength":2552,"gzipLength":893,"brotliLength":0,"mainUid":"debd-16"},"debd-19":{"renderedLength":1013,"gzipLength":440,"brotliLength":0,"mainUid":"debd-18"},"debd-21":{"renderedLength":459,"gzipLength":270,"brotliLength":0,"mainUid":"debd-20"},"debd-23":{"renderedLength":756,"gzipLength":316,"brotliLength":0,"mainUid":"debd-22"},"debd-25":{"renderedLength":1509,"gzipLength":542,"brotliLength":0,"mainUid":"debd-24"},"debd-27":{"renderedLength":2352,"gzipLength":780,"brotliLength":0,"mainUid":"debd-26"},"debd-29":{"renderedLength":564,"gzipLength":253,"brotliLength":0,"mainUid":"debd-28"},"debd-31":{"renderedLength":135,"gzipLength":129,"brotliLength":0,"mainUid":"debd-30"},"debd-33":{"renderedLength":187,"gzipLength":157,"brotliLength":0,"mainUid":"debd-32"},"debd-35":{"renderedLength":12209,"gzipLength":2736,"brotliLength":0,"mainUid":"debd-34"},"debd-37":{"renderedLength":178,"gzipLength":128,"brotliLength":0,"mainUid":"debd-36"},"debd-39":{"renderedLength":1553,"gzipLength":562,"brotliLength":0,"mainUid":"debd-38"},"debd-41":{"renderedLength":267,"gzipLength":184,"brotliLength":0,"mainUid":"debd-40"},"debd-43":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"debd-42"}},"nodeMetas":{"debd-0":{"id":"/src/constants/index.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-1"},"imported":[],"importedBy":[{"uid":"debd-38"},{"uid":"debd-8"},{"uid":"debd-34"},{"uid":"debd-20"},{"uid":"debd-10"}]},"debd-2":{"id":"/src/context/localContext.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-3"},"imported":[{"uid":"debd-45"}],"importedBy":[{"uid":"debd-34"},{"uid":"debd-12"}]},"debd-4":{"id":"/src/hooks/usePseudoState.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-5"},"imported":[{"uid":"debd-45"}],"importedBy":[{"uid":"debd-48"}]},"debd-6":{"id":"/src/hooks/useRef.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-7"},"imported":[{"uid":"debd-45"}],"importedBy":[{"uid":"debd-48"}]},"debd-8":{"id":"/src/context/context.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-9"},"imported":[{"uid":"debd-45"},{"uid":"debd-44"},{"uid":"debd-0"}],"importedBy":[{"uid":"debd-42"},{"uid":"debd-10"}]},"debd-10":{"id":"/src/hooks/useTheme.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-11"},"imported":[{"uid":"debd-45"},{"uid":"debd-8"},{"uid":"debd-0"}],"importedBy":[{"uid":"debd-48"}]},"debd-12":{"id":"/src/context/createLocalProvider.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-13"},"imported":[{"uid":"debd-45"},{"uid":"debd-48"},{"uid":"debd-2"}],"importedBy":[{"uid":"debd-34"}]},"debd-14":{"id":"/src/cache/LocalThemeManager.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-15"},"imported":[],"importedBy":[{"uid":"debd-47"}]},"debd-16":{"id":"/src/utils/attrs.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-17"},"imported":[{"uid":"debd-44"}],"importedBy":[{"uid":"debd-34"},{"uid":"debd-18"}]},"debd-18":{"id":"/src/hoc/rocketstyleAttrsHoc.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-19"},"imported":[{"uid":"debd-45"},{"uid":"debd-44"},{"uid":"debd-16"},{"uid":"debd-48"}],"importedBy":[{"uid":"debd-49"}]},"debd-20":{"id":"/src/utils/statics.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-21"},"imported":[{"uid":"debd-44"},{"uid":"debd-0"}],"importedBy":[{"uid":"debd-34"}]},"debd-22":{"id":"/src/utils/collection.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-23"},"imported":[],"importedBy":[{"uid":"debd-26"}]},"debd-24":{"id":"/src/utils/dimensions.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-25"},"imported":[{"uid":"debd-44"}],"importedBy":[{"uid":"debd-38"},{"uid":"debd-34"},{"uid":"debd-26"}]},"debd-26":{"id":"/src/utils/theme.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-27"},"imported":[{"uid":"debd-44"},{"uid":"debd-22"},{"uid":"debd-24"}],"importedBy":[{"uid":"debd-34"}]},"debd-28":{"id":"/src/utils/chaining.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-29"},"imported":[],"importedBy":[{"uid":"debd-34"}]},"debd-30":{"id":"/src/utils/compose.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-31"},"imported":[],"importedBy":[{"uid":"debd-34"}]},"debd-32":{"id":"/src/utils/styles.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-33"},"imported":[{"uid":"debd-44"}],"importedBy":[{"uid":"debd-34"}]},"debd-34":{"id":"/src/rocketstyle.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-35"},"imported":[{"uid":"debd-45"},{"uid":"debd-46"},{"uid":"debd-44"},{"uid":"debd-0"},{"uid":"debd-2"},{"uid":"debd-12"},{"uid":"debd-47"},{"uid":"debd-48"},{"uid":"debd-49"},{"uid":"debd-20"},{"uid":"debd-26"},{"uid":"debd-28"},{"uid":"debd-30"},{"uid":"debd-32"},{"uid":"debd-24"},{"uid":"debd-16"}],"importedBy":[{"uid":"debd-38"}]},"debd-36":{"id":"/src/constants/defaultDimensions.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-37"},"imported":[],"importedBy":[{"uid":"debd-38"}]},"debd-38":{"id":"/src/init.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-39"},"imported":[{"uid":"debd-44"},{"uid":"debd-34"},{"uid":"debd-24"},{"uid":"debd-0"},{"uid":"debd-36"}],"importedBy":[{"uid":"debd-42"}]},"debd-40":{"id":"/src/isRocketComponent.tsx","moduleParts":{"vitus-labs-rocketstyle.js":"debd-41"},"imported":[],"importedBy":[{"uid":"debd-42"}]},"debd-42":{"id":"/src/index.ts","moduleParts":{"vitus-labs-rocketstyle.js":"debd-43"},"imported":[{"uid":"debd-38"},{"uid":"debd-8"},{"uid":"debd-40"}],"importedBy":[],"isEntry":true},"debd-44":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"debd-38"},{"uid":"debd-8"},{"uid":"debd-34"},{"uid":"debd-24"},{"uid":"debd-20"},{"uid":"debd-26"},{"uid":"debd-32"},{"uid":"debd-16"},{"uid":"debd-18"}],"isExternal":true},"debd-45":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"debd-8"},{"uid":"debd-34"},{"uid":"debd-2"},{"uid":"debd-12"},{"uid":"debd-4"},{"uid":"debd-6"},{"uid":"debd-10"},{"uid":"debd-18"}],"isExternal":true},"debd-46":{"id":"hoist-non-react-statics","moduleParts":{},"imported":[],"importedBy":[{"uid":"debd-34"}],"isExternal":true},"debd-47":{"id":"/src/cache/index.ts","moduleParts":{},"imported":[{"uid":"debd-14"}],"importedBy":[{"uid":"debd-34"}]},"debd-48":{"id":"/src/hooks/index.ts","moduleParts":{},"imported":[{"uid":"debd-4"},{"uid":"debd-6"},{"uid":"debd-10"}],"importedBy":[{"uid":"debd-34"},{"uid":"debd-12"},{"uid":"debd-18"}]},"debd-49":{"id":"/src/hoc/index.ts","moduleParts":{},"imported":[{"uid":"debd-18"}],"importedBy":[{"uid":"debd-34"}]}},"env":{"rollup":"2.72.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6428
6428
 
6429
6429
  const run = () => {
6430
6430
  const width = window.innerWidth;
@@ -6424,7 +6424,7 @@ var drawChart = (function (exports) {
6424
6424
  </script>
6425
6425
  <script>
6426
6426
  /*<!--*/
6427
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-rocketstyle.module.js","children":[{"name":"src","children":[{"name":"constants","children":[{"uid":"249b-51","name":"index.ts"},{"uid":"249b-87","name":"defaultDimensions.ts"}]},{"name":"context","children":[{"uid":"249b-53","name":"localContext.tsx"},{"uid":"249b-63","name":"createLocalProvider.tsx"}]},{"name":"hooks","children":[{"uid":"249b-55","name":"usePseudoState.tsx"},{"uid":"249b-57","name":"useRef.ts"},{"uid":"249b-61","name":"useTheme.tsx"}]},{"uid":"249b-59","name":"context.tsx"},{"name":"cache/LocalThemeManager.ts","uid":"249b-65"},{"name":"utils","children":[{"uid":"249b-67","name":"attrs.ts"},{"uid":"249b-71","name":"statics.ts"},{"uid":"249b-73","name":"collection.ts"},{"uid":"249b-75","name":"dimensions.ts"},{"uid":"249b-77","name":"theme.ts"},{"uid":"249b-79","name":"chaining.ts"},{"uid":"249b-81","name":"compose.ts"},{"uid":"249b-83","name":"styles.ts"}]},{"name":"hoc/rocketstyleAttrsHoc.tsx","uid":"249b-69"},{"uid":"249b-85","name":"rocketstyle.tsx"},{"uid":"249b-89","name":"init.ts"},{"uid":"249b-91","name":"isRocketComponent.tsx"},{"uid":"249b-93","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"249b-51":{"renderedLength":566,"gzipLength":296,"brotliLength":0,"mainUid":"249b-50"},"249b-53":{"renderedLength":288,"gzipLength":177,"brotliLength":0,"mainUid":"249b-52"},"249b-55":{"renderedLength":1821,"gzipLength":441,"brotliLength":0,"mainUid":"249b-54"},"249b-57":{"renderedLength":253,"gzipLength":146,"brotliLength":0,"mainUid":"249b-56"},"249b-59":{"renderedLength":432,"gzipLength":247,"brotliLength":0,"mainUid":"249b-58"},"249b-61":{"renderedLength":337,"gzipLength":210,"brotliLength":0,"mainUid":"249b-60"},"249b-63":{"renderedLength":772,"gzipLength":360,"brotliLength":0,"mainUid":"249b-62"},"249b-65":{"renderedLength":235,"gzipLength":120,"brotliLength":0,"mainUid":"249b-64"},"249b-67":{"renderedLength":2547,"gzipLength":889,"brotliLength":0,"mainUid":"249b-66"},"249b-69":{"renderedLength":974,"gzipLength":418,"brotliLength":0,"mainUid":"249b-68"},"249b-71":{"renderedLength":454,"gzipLength":266,"brotliLength":0,"mainUid":"249b-70"},"249b-73":{"renderedLength":756,"gzipLength":316,"brotliLength":0,"mainUid":"249b-72"},"249b-75":{"renderedLength":1494,"gzipLength":535,"brotliLength":0,"mainUid":"249b-74"},"249b-77":{"renderedLength":2322,"gzipLength":773,"brotliLength":0,"mainUid":"249b-76"},"249b-79":{"renderedLength":564,"gzipLength":253,"brotliLength":0,"mainUid":"249b-78"},"249b-81":{"renderedLength":135,"gzipLength":129,"brotliLength":0,"mainUid":"249b-80"},"249b-83":{"renderedLength":182,"gzipLength":154,"brotliLength":0,"mainUid":"249b-82"},"249b-85":{"renderedLength":12084,"gzipLength":2697,"brotliLength":0,"mainUid":"249b-84"},"249b-87":{"renderedLength":178,"gzipLength":128,"brotliLength":0,"mainUid":"249b-86"},"249b-89":{"renderedLength":1543,"gzipLength":559,"brotliLength":0,"mainUid":"249b-88"},"249b-91":{"renderedLength":267,"gzipLength":184,"brotliLength":0,"mainUid":"249b-90"},"249b-93":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"249b-92"}},"nodeMetas":{"249b-50":{"id":"/src/constants/index.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-51"},"imported":[],"importedBy":[{"uid":"249b-88"},{"uid":"249b-84"},{"uid":"249b-70"},{"uid":"249b-60"}]},"249b-52":{"id":"/src/context/localContext.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-53"},"imported":[{"uid":"249b-95"}],"importedBy":[{"uid":"249b-84"},{"uid":"249b-62"}]},"249b-54":{"id":"/src/hooks/usePseudoState.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-55"},"imported":[{"uid":"249b-95"}],"importedBy":[{"uid":"249b-98"}]},"249b-56":{"id":"/src/hooks/useRef.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-57"},"imported":[{"uid":"249b-95"}],"importedBy":[{"uid":"249b-98"}]},"249b-58":{"id":"/src/context.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-59"},"imported":[{"uid":"249b-95"},{"uid":"249b-94"}],"importedBy":[{"uid":"249b-92"},{"uid":"249b-60"}]},"249b-60":{"id":"/src/hooks/useTheme.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-61"},"imported":[{"uid":"249b-95"},{"uid":"249b-58"},{"uid":"249b-50"}],"importedBy":[{"uid":"249b-98"}]},"249b-62":{"id":"/src/context/createLocalProvider.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-63"},"imported":[{"uid":"249b-95"},{"uid":"249b-98"},{"uid":"249b-52"}],"importedBy":[{"uid":"249b-84"}]},"249b-64":{"id":"/src/cache/LocalThemeManager.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-65"},"imported":[],"importedBy":[{"uid":"249b-97"}]},"249b-66":{"id":"/src/utils/attrs.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-67"},"imported":[{"uid":"249b-94"}],"importedBy":[{"uid":"249b-84"},{"uid":"249b-68"}]},"249b-68":{"id":"/src/hoc/rocketstyleAttrsHoc.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-69"},"imported":[{"uid":"249b-95"},{"uid":"249b-94"},{"uid":"249b-66"},{"uid":"249b-98"}],"importedBy":[{"uid":"249b-99"}]},"249b-70":{"id":"/src/utils/statics.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-71"},"imported":[{"uid":"249b-94"},{"uid":"249b-50"}],"importedBy":[{"uid":"249b-84"}]},"249b-72":{"id":"/src/utils/collection.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-73"},"imported":[],"importedBy":[{"uid":"249b-76"}]},"249b-74":{"id":"/src/utils/dimensions.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-75"},"imported":[{"uid":"249b-94"}],"importedBy":[{"uid":"249b-88"},{"uid":"249b-84"},{"uid":"249b-76"}]},"249b-76":{"id":"/src/utils/theme.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-77"},"imported":[{"uid":"249b-94"},{"uid":"249b-72"},{"uid":"249b-74"}],"importedBy":[{"uid":"249b-84"}]},"249b-78":{"id":"/src/utils/chaining.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-79"},"imported":[],"importedBy":[{"uid":"249b-84"}]},"249b-80":{"id":"/src/utils/compose.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-81"},"imported":[],"importedBy":[{"uid":"249b-84"}]},"249b-82":{"id":"/src/utils/styles.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-83"},"imported":[{"uid":"249b-94"}],"importedBy":[{"uid":"249b-84"}]},"249b-84":{"id":"/src/rocketstyle.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-85"},"imported":[{"uid":"249b-95"},{"uid":"249b-96"},{"uid":"249b-94"},{"uid":"249b-50"},{"uid":"249b-52"},{"uid":"249b-62"},{"uid":"249b-97"},{"uid":"249b-98"},{"uid":"249b-99"},{"uid":"249b-70"},{"uid":"249b-76"},{"uid":"249b-78"},{"uid":"249b-80"},{"uid":"249b-82"},{"uid":"249b-74"},{"uid":"249b-66"}],"importedBy":[{"uid":"249b-88"}]},"249b-86":{"id":"/src/constants/defaultDimensions.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-87"},"imported":[],"importedBy":[{"uid":"249b-88"}]},"249b-88":{"id":"/src/init.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-89"},"imported":[{"uid":"249b-94"},{"uid":"249b-84"},{"uid":"249b-74"},{"uid":"249b-50"},{"uid":"249b-86"}],"importedBy":[{"uid":"249b-92"}]},"249b-90":{"id":"/src/isRocketComponent.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-91"},"imported":[],"importedBy":[{"uid":"249b-92"}]},"249b-92":{"id":"/src/index.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"249b-93"},"imported":[{"uid":"249b-88"},{"uid":"249b-58"},{"uid":"249b-90"}],"importedBy":[],"isEntry":true},"249b-94":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"249b-88"},{"uid":"249b-58"},{"uid":"249b-84"},{"uid":"249b-74"},{"uid":"249b-70"},{"uid":"249b-76"},{"uid":"249b-82"},{"uid":"249b-66"},{"uid":"249b-68"}],"isExternal":true},"249b-95":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"249b-58"},{"uid":"249b-84"},{"uid":"249b-52"},{"uid":"249b-62"},{"uid":"249b-54"},{"uid":"249b-56"},{"uid":"249b-60"},{"uid":"249b-68"}],"isExternal":true},"249b-96":{"id":"hoist-non-react-statics","moduleParts":{},"imported":[],"importedBy":[{"uid":"249b-84"}],"isExternal":true},"249b-97":{"id":"/src/cache/index.ts","moduleParts":{},"imported":[{"uid":"249b-64"}],"importedBy":[{"uid":"249b-84"}]},"249b-98":{"id":"/src/hooks/index.ts","moduleParts":{},"imported":[{"uid":"249b-54"},{"uid":"249b-56"},{"uid":"249b-60"}],"importedBy":[{"uid":"249b-84"},{"uid":"249b-62"},{"uid":"249b-68"}]},"249b-99":{"id":"/src/hoc/index.ts","moduleParts":{},"imported":[{"uid":"249b-68"}],"importedBy":[{"uid":"249b-84"}]}},"env":{"rollup":"2.72.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6427
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-rocketstyle.module.js","children":[{"name":"src","children":[{"name":"constants","children":[{"uid":"debd-51","name":"index.ts"},{"uid":"debd-87","name":"defaultDimensions.ts"}]},{"name":"context","children":[{"uid":"debd-53","name":"localContext.tsx"},{"uid":"debd-59","name":"context.tsx"},{"uid":"debd-63","name":"createLocalProvider.tsx"}]},{"name":"hooks","children":[{"uid":"debd-55","name":"usePseudoState.tsx"},{"uid":"debd-57","name":"useRef.ts"},{"uid":"debd-61","name":"useTheme.tsx"}]},{"name":"cache/LocalThemeManager.ts","uid":"debd-65"},{"name":"utils","children":[{"uid":"debd-67","name":"attrs.ts"},{"uid":"debd-71","name":"statics.ts"},{"uid":"debd-73","name":"collection.ts"},{"uid":"debd-75","name":"dimensions.ts"},{"uid":"debd-77","name":"theme.ts"},{"uid":"debd-79","name":"chaining.ts"},{"uid":"debd-81","name":"compose.ts"},{"uid":"debd-83","name":"styles.ts"}]},{"name":"hoc/rocketstyleAttrsHoc.tsx","uid":"debd-69"},{"uid":"debd-85","name":"rocketstyle.tsx"},{"uid":"debd-89","name":"init.ts"},{"uid":"debd-91","name":"isRocketComponent.tsx"},{"uid":"debd-93","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"debd-51":{"renderedLength":597,"gzipLength":309,"brotliLength":0,"mainUid":"debd-50"},"debd-53":{"renderedLength":288,"gzipLength":177,"brotliLength":0,"mainUid":"debd-52"},"debd-55":{"renderedLength":1821,"gzipLength":441,"brotliLength":0,"mainUid":"debd-54"},"debd-57":{"renderedLength":253,"gzipLength":146,"brotliLength":0,"mainUid":"debd-56"},"debd-59":{"renderedLength":515,"gzipLength":301,"brotliLength":0,"mainUid":"debd-58"},"debd-61":{"renderedLength":337,"gzipLength":210,"brotliLength":0,"mainUid":"debd-60"},"debd-63":{"renderedLength":772,"gzipLength":360,"brotliLength":0,"mainUid":"debd-62"},"debd-65":{"renderedLength":235,"gzipLength":120,"brotliLength":0,"mainUid":"debd-64"},"debd-67":{"renderedLength":2547,"gzipLength":889,"brotliLength":0,"mainUid":"debd-66"},"debd-69":{"renderedLength":974,"gzipLength":418,"brotliLength":0,"mainUid":"debd-68"},"debd-71":{"renderedLength":454,"gzipLength":266,"brotliLength":0,"mainUid":"debd-70"},"debd-73":{"renderedLength":756,"gzipLength":316,"brotliLength":0,"mainUid":"debd-72"},"debd-75":{"renderedLength":1494,"gzipLength":535,"brotliLength":0,"mainUid":"debd-74"},"debd-77":{"renderedLength":2322,"gzipLength":773,"brotliLength":0,"mainUid":"debd-76"},"debd-79":{"renderedLength":564,"gzipLength":253,"brotliLength":0,"mainUid":"debd-78"},"debd-81":{"renderedLength":135,"gzipLength":129,"brotliLength":0,"mainUid":"debd-80"},"debd-83":{"renderedLength":182,"gzipLength":154,"brotliLength":0,"mainUid":"debd-82"},"debd-85":{"renderedLength":12084,"gzipLength":2697,"brotliLength":0,"mainUid":"debd-84"},"debd-87":{"renderedLength":178,"gzipLength":128,"brotliLength":0,"mainUid":"debd-86"},"debd-89":{"renderedLength":1543,"gzipLength":559,"brotliLength":0,"mainUid":"debd-88"},"debd-91":{"renderedLength":267,"gzipLength":184,"brotliLength":0,"mainUid":"debd-90"},"debd-93":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"debd-92"}},"nodeMetas":{"debd-50":{"id":"/src/constants/index.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-51"},"imported":[],"importedBy":[{"uid":"debd-88"},{"uid":"debd-58"},{"uid":"debd-84"},{"uid":"debd-70"},{"uid":"debd-60"}]},"debd-52":{"id":"/src/context/localContext.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-53"},"imported":[{"uid":"debd-95"}],"importedBy":[{"uid":"debd-84"},{"uid":"debd-62"}]},"debd-54":{"id":"/src/hooks/usePseudoState.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-55"},"imported":[{"uid":"debd-95"}],"importedBy":[{"uid":"debd-98"}]},"debd-56":{"id":"/src/hooks/useRef.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-57"},"imported":[{"uid":"debd-95"}],"importedBy":[{"uid":"debd-98"}]},"debd-58":{"id":"/src/context/context.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-59"},"imported":[{"uid":"debd-95"},{"uid":"debd-94"},{"uid":"debd-50"}],"importedBy":[{"uid":"debd-92"},{"uid":"debd-60"}]},"debd-60":{"id":"/src/hooks/useTheme.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-61"},"imported":[{"uid":"debd-95"},{"uid":"debd-58"},{"uid":"debd-50"}],"importedBy":[{"uid":"debd-98"}]},"debd-62":{"id":"/src/context/createLocalProvider.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-63"},"imported":[{"uid":"debd-95"},{"uid":"debd-98"},{"uid":"debd-52"}],"importedBy":[{"uid":"debd-84"}]},"debd-64":{"id":"/src/cache/LocalThemeManager.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-65"},"imported":[],"importedBy":[{"uid":"debd-97"}]},"debd-66":{"id":"/src/utils/attrs.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-67"},"imported":[{"uid":"debd-94"}],"importedBy":[{"uid":"debd-84"},{"uid":"debd-68"}]},"debd-68":{"id":"/src/hoc/rocketstyleAttrsHoc.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-69"},"imported":[{"uid":"debd-95"},{"uid":"debd-94"},{"uid":"debd-66"},{"uid":"debd-98"}],"importedBy":[{"uid":"debd-99"}]},"debd-70":{"id":"/src/utils/statics.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-71"},"imported":[{"uid":"debd-94"},{"uid":"debd-50"}],"importedBy":[{"uid":"debd-84"}]},"debd-72":{"id":"/src/utils/collection.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-73"},"imported":[],"importedBy":[{"uid":"debd-76"}]},"debd-74":{"id":"/src/utils/dimensions.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-75"},"imported":[{"uid":"debd-94"}],"importedBy":[{"uid":"debd-88"},{"uid":"debd-84"},{"uid":"debd-76"}]},"debd-76":{"id":"/src/utils/theme.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-77"},"imported":[{"uid":"debd-94"},{"uid":"debd-72"},{"uid":"debd-74"}],"importedBy":[{"uid":"debd-84"}]},"debd-78":{"id":"/src/utils/chaining.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-79"},"imported":[],"importedBy":[{"uid":"debd-84"}]},"debd-80":{"id":"/src/utils/compose.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-81"},"imported":[],"importedBy":[{"uid":"debd-84"}]},"debd-82":{"id":"/src/utils/styles.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-83"},"imported":[{"uid":"debd-94"}],"importedBy":[{"uid":"debd-84"}]},"debd-84":{"id":"/src/rocketstyle.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-85"},"imported":[{"uid":"debd-95"},{"uid":"debd-96"},{"uid":"debd-94"},{"uid":"debd-50"},{"uid":"debd-52"},{"uid":"debd-62"},{"uid":"debd-97"},{"uid":"debd-98"},{"uid":"debd-99"},{"uid":"debd-70"},{"uid":"debd-76"},{"uid":"debd-78"},{"uid":"debd-80"},{"uid":"debd-82"},{"uid":"debd-74"},{"uid":"debd-66"}],"importedBy":[{"uid":"debd-88"}]},"debd-86":{"id":"/src/constants/defaultDimensions.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-87"},"imported":[],"importedBy":[{"uid":"debd-88"}]},"debd-88":{"id":"/src/init.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-89"},"imported":[{"uid":"debd-94"},{"uid":"debd-84"},{"uid":"debd-74"},{"uid":"debd-50"},{"uid":"debd-86"}],"importedBy":[{"uid":"debd-92"}]},"debd-90":{"id":"/src/isRocketComponent.tsx","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-91"},"imported":[],"importedBy":[{"uid":"debd-92"}]},"debd-92":{"id":"/src/index.ts","moduleParts":{"vitus-labs-rocketstyle.module.js":"debd-93"},"imported":[{"uid":"debd-88"},{"uid":"debd-58"},{"uid":"debd-90"}],"importedBy":[],"isEntry":true},"debd-94":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"debd-88"},{"uid":"debd-58"},{"uid":"debd-84"},{"uid":"debd-74"},{"uid":"debd-70"},{"uid":"debd-76"},{"uid":"debd-82"},{"uid":"debd-66"},{"uid":"debd-68"}],"isExternal":true},"debd-95":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"debd-58"},{"uid":"debd-84"},{"uid":"debd-52"},{"uid":"debd-62"},{"uid":"debd-54"},{"uid":"debd-56"},{"uid":"debd-60"},{"uid":"debd-68"}],"isExternal":true},"debd-96":{"id":"hoist-non-react-statics","moduleParts":{},"imported":[],"importedBy":[{"uid":"debd-84"}],"isExternal":true},"debd-97":{"id":"/src/cache/index.ts","moduleParts":{},"imported":[{"uid":"debd-64"}],"importedBy":[{"uid":"debd-84"}]},"debd-98":{"id":"/src/hooks/index.ts","moduleParts":{},"imported":[{"uid":"debd-54"},{"uid":"debd-56"},{"uid":"debd-60"}],"importedBy":[{"uid":"debd-84"},{"uid":"debd-62"},{"uid":"debd-68"}]},"debd-99":{"id":"/src/hoc/index.ts","moduleParts":{},"imported":[{"uid":"debd-68"}],"importedBy":[{"uid":"debd-84"}]}},"env":{"rollup":"2.72.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6428
6428
 
6429
6429
  const run = () => {
6430
6430
  const width = window.innerWidth;
@@ -1,5 +1,5 @@
1
1
  import rocketstyle, { Rocketstyle } from "./init";
2
- import Provider, { context, TProvider } from "./context";
2
+ import Provider, { context, TProvider } from "./context/context";
3
3
  import isRocketComponent, { IsRocketComponent } from "./isRocketComponent";
4
4
  import type { ConfigAttrs, RocketComponentType, RocketProviderState, ConsumerCtxCBValue, ConsumerCtxCb, ConsumerCb } from "./types/config";
5
5
  import type { TObj, ElementType, MergeTypes, ExtractProps } from "./types/utils";
@@ -11,6 +11,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
  var hoistNonReactStatics__default = /*#__PURE__*/_interopDefaultLegacy(hoistNonReactStatics);
13
13
 
14
+ const MODE_DEFAULT = 'light';
14
15
  const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'];
15
16
  const THEME_MODES = {
16
17
  light: true,
@@ -115,11 +116,14 @@ const useRocketstyleRef = ({ $rocketstyleRef, ref }) => {
115
116
  return internalRef;
116
117
  };
117
118
 
118
- const Provider = ({ provider = core.Provider, ...props }) => {
119
+ const Provider = ({ provider = core.Provider, inversed, ...props }) => {
119
120
  const ctx = React.useContext(core.context);
120
- const { theme, mode, inversed, provider: RocketstyleProvider, children, } = { ...ctx, ...props, provider };
121
- const isDark = inversed ? mode !== 'dark' : mode === 'dark';
122
- return (React__default["default"].createElement(RocketstyleProvider, { mode: mode, isDark: isDark, isLight: !isDark, theme: theme, provider: provider }, children));
121
+ const { theme, mode, provider: RocketstyleProvider, children, } = { ...ctx, ...props, provider };
122
+ let newMode = MODE_DEFAULT;
123
+ if (mode) {
124
+ newMode = inversed ? THEME_MODES_INVERSED[mode] : mode;
125
+ }
126
+ return (React__default["default"].createElement(RocketstyleProvider, { mode: newMode, isDark: newMode === 'dark', isLight: newMode === 'light', theme: theme, provider: provider }, children));
123
127
  };
124
128
 
125
129
  const useThemeAttrs = ({ inversed }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-rocketstyle.js","sources":["../src/constants/index.ts","../src/context/localContext.tsx","../src/hooks/usePseudoState.tsx","../src/hooks/useRef.ts","../src/context.tsx","../src/hooks/useTheme.tsx","../src/context/createLocalProvider.tsx","../src/cache/LocalThemeManager.ts","../src/utils/attrs.ts","../src/hoc/rocketstyleAttrsHoc.tsx","../src/utils/statics.ts","../src/utils/collection.ts","../src/utils/dimensions.ts","../src/utils/theme.ts","../src/utils/chaining.ts","../src/utils/compose.ts","../src/utils/styles.ts","../src/rocketstyle.tsx","../src/constants/defaultDimensions.ts","../src/init.ts","../src/isRocketComponent.tsx"],"sourcesContent":["export const MODE_DEFAULT = 'light'\n\nexport const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'] as const\n\nexport const THEME_MODES = {\n light: true,\n dark: true,\n} as const\n\nexport const THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n} as const\n\nexport const CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n] as const\n\nexport const STYLING_KEYS = ['theme', 'attrs', 'styles'] as const\nexport const STATIC_KEYS = [...STYLING_KEYS, 'compose'] as const\n\nexport const ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n] as const\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\nconst context = createContext<LocalContext>({})\n\ntype UseLocalContext = (context: any) => LocalContext\nexport const useLocalContext: UseLocalContext = (consumer) => {\n const ctx = consumer ? useContext(context) : {}\n const result = consumer ? consumer((callback: any) => callback(ctx)) : {}\n\n return { pseudo: {}, ...result }\n}\n\nexport const LocalProvider = context.Provider\n\nexport default context\n","import {\n useState,\n useCallback,\n SyntheticEvent,\n MouseEventHandler,\n FocusEventHandler,\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: Omit<PseudoState, 'active'>\n events: PseudoActions\n}\n\nconst handleEvent = (e: SyntheticEvent) => {\n e.preventDefault()\n e.stopPropagation()\n}\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 handleEvent(e)\n setHover(true)\n if (onMouseEnter) onMouseEnter(e)\n },\n [onMouseEnter]\n )\n\n const handleOnMouseLeave: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(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 handleEvent(e)\n setPressed(true)\n if (onMouseDown) onMouseDown(e)\n },\n [onMouseDown]\n )\n\n const handleOnMouseUp: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setPressed(false)\n if (onMouseUp) onMouseUp(e)\n },\n [onMouseUp]\n )\n\n const handleOnFocus: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setFocus(true)\n if (onFocus) onFocus(e)\n },\n [onFocus]\n )\n\n const handleOnBlur: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(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 { useRef, useImperativeHandle, ForwardedRef } from 'react'\n\ntype UseRocketstyleRef = (props: {\n $rocketstyleRef?: ForwardedRef<unknown>\n ref?: ForwardedRef<unknown>\n}) => ForwardedRef<unknown>\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 React, { useContext, ReactNode, FC, ComponentType } from 'react'\nimport { Provider as CoreProvider, context } from '@vitus-labs/core'\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\nconst Provider: FC<TProvider> = ({ provider = CoreProvider, ...props }) => {\n const ctx = useContext<TProvider>(context)\n\n const {\n theme,\n mode,\n inversed,\n provider: RocketstyleProvider,\n children,\n } = { ...ctx, ...props, provider }\n\n const isDark = inversed ? mode !== 'dark' : mode === 'dark'\n\n return (\n <RocketstyleProvider\n mode={mode}\n isDark={isDark}\n isLight={!isDark}\n theme={theme}\n provider={provider}\n >\n {children}\n </RocketstyleProvider>\n )\n}\n\nexport { context }\n\nexport default Provider\n","import { useContext } from 'react'\nimport { context } from '~/context'\nimport { THEME_MODES_INVERSED } from '~/constants'\nimport { 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\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 React, {\n forwardRef,\n useMemo,\n ComponentType,\n ForwardRefExoticComponent,\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\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","export 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","/* eslint-disable no-param-reassign */\nimport { isEmpty } from '@vitus-labs/core'\nimport { MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// pick styled props\n// --------------------------------------------------------\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-ignore\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]) acc[key] = props[key]\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype OptionFunc<A> = (...arg: Array<A>) => Record<string, unknown>\ntype CalculateChainOptions = <A>(\n options?: Array<OptionFunc<A>>\n) => (args: Array<A>) => ReturnType<OptionFunc<A>>\n\nexport const calculateChainOptions: CalculateChainOptions =\n (options) => (args) => {\n const result = {}\n if (isEmpty(options)) return result\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {})\n }\n\n// --------------------------------------------------------\n// get style attributes\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 mutli key, allow assign array as well\n if (multiKeys && 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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const isMultiKey = multiKeys[key]\n\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue\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","/* eslint-disable no-underscore-dangle */\nimport React, {\n forwardRef,\n ForwardRefExoticComponent,\n ComponentType,\n} from 'react'\nimport { render } from '@vitus-labs/core'\nimport { calculateChainOptions } from '~/utils/attrs'\nimport { useTheme } from '~/hooks'\nimport type { OptionFunc } from '~/types/configuration'\n\nexport type RocketStyleHOC = ({\n inversed,\n attrs,\n}: {\n inversed?: boolean\n attrs?: Array<OptionFunc>\n}) => (WrappedComponent: ComponentType<any>) => ForwardRefExoticComponent<any>\n\nconst rocketStyleHOC: RocketStyleHOC = ({ inversed, attrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const _calculateChainOptions = calculateChainOptions(attrs)\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 calculatedAttrs = _calculateChainOptions([\n props,\n theme,\n {\n render,\n mode,\n isDark,\n isLight,\n },\n ])\n\n return (\n <WrappedComponent\n $rocketstyleRef={ref}\n {...calculatedAttrs}\n {...props}\n />\n )\n })\n\n return Enhanced\n}\n\nexport default rocketStyleHOC\n","import { isEmpty } from '@vitus-labs/core'\nimport { STATIC_KEYS } from '~/constants'\n\n// --------------------------------------------------------\n// helpers for create statics chainin methods on component\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: (param: any, param2: O) => 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 // eslint-disable-next-line no-param-reassign\n context[item] = (props: any) => func({ [item]: props }, options)\n })\n}\n\n// --------------------------------------------------------\n// helpers for create statics on component\n// --------------------------------------------------------\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","/* eslint-disable import/prefer-default-export */\n\n// --------------------------------------------------------\n// Remove Nullable values\n// --------------------------------------------------------\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 { get, isEmpty, set } from '@vitus-labs/core'\nimport { Dimensions, DimensionValue, MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// Is value a valid key\n// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\ntype ValueType<T> = T extends string ? T : Array<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// --------------------------------------------------------\ntype GetMultipleDimensions = <T extends Dimensions>(obj: T) => MultiKeys<T>\n\nexport const getMultipleDimensions: GetMultipleDimensions = (obj) =>\n getValues(obj).reduce((accumulator, value: DimensionValue) => {\n if (typeof value === 'object') {\n // eslint-disable-next-line no-param-reassign\n if (value.multi === true) accumulator[value.propName] = true\n }\n\n return accumulator\n }, {} as Record<string, any>)\n","/* eslint-disable no-param-reassign */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { config, isEmpty, merge } from '@vitus-labs/core'\nimport { ThemeModeCallback } from '~/types/theme'\nimport { removeNullableValues } from './collection'\nimport { isMultiKey } from './dimensions'\n\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\nexport const themeModeCallback: ThemeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light') return light\n return dark\n}\n\nthemeModeCallback.isMode = true\n\n// --------------------------------------------------------\n// Theme Mode Callback Check\n// --------------------------------------------------------\ntype IsModeCallback = (value: any) => boolean\nconst isModeCallback: IsModeCallback = (value) =>\n typeof value === 'function' &&\n // @ts-ignore\n value.toString() === themeModeCallback().toString()\n\n// --------------------------------------------------------\n// Get Theme From Chain\n// --------------------------------------------------------\ntype OptionFunc = (...arg: any) => Record<string, unknown>\ntype GetThemeFromChain = (\n options: Array<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// --------------------------------------------------------\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((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 // eslint-disable-next-line no-param-reassign\n acc[dimension] = removeNullableValues(finalDimensionThemes)\n }\n\n return acc\n }, result as Record<string, any>)\n}\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype CalculateChainOptions = (\n options: Array<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// --------------------------------------------------------\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 | Array<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// generate theme\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((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 }, {} as Record<string, any>)\n","type Func = (...args: any) => Record<string, unknown>\ntype Obj = Record<string, unknown>\n\n// --------------------------------------------------------\n// Chain Options\n// --------------------------------------------------------\ntype ChainOptions = (opts: Obj | Func, defaultOpts: Func[]) => 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// --------------------------------------------------------\ntype ChainOrOptions = (\n keys: ReadonlyArray<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// --------------------------------------------------------\ntype ChainReservedKeyOptions = (\n keys: ReadonlyArray<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","/* eslint-disable import/prefer-default-export */\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","/* eslint-disable import/prefer-default-export */\nimport { config } from '@vitus-labs/core'\nimport type { StylesCbArray } from '~/types/styles'\n\n// --------------------------------------------------------\n// Calculate styles\n// --------------------------------------------------------\ntype CalculateStyles = (\n styles: StylesCbArray | undefined\n) => Array<ReturnType<StylesCbArray[number]>>\n\nexport const calculateStyles: CalculateStyles = (styles) => {\n if (!styles) return []\n\n return styles.map((item) => item(config.css))\n}\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo, forwardRef } from 'react'\nimport hoistNonReactStatics from 'hoist-non-react-statics'\nimport { config, omit, pick, compose, render } from '@vitus-labs/core'\nimport { PSEUDO_KEYS, CONFIG_KEYS, STYLING_KEYS } from '~/constants'\nimport { useLocalContext } from '~/context/localContext'\nimport createLocalProvider from '~/context/createLocalProvider'\nimport { LocalThemeManager } from '~/cache'\nimport { useRef, useTheme } from '~/hooks'\nimport { rocketstyleAttrsHoc } from '~/hoc'\nimport {\n createStaticsChainingEnhancers,\n createStaticsEnhancers,\n} from '~/utils/statics'\nimport {\n getThemeFromChain,\n getDimensionThemes,\n getTheme,\n getThemeByMode,\n} from '~/utils/theme'\nimport { chainOrOptions, chainReservedKeyOptions } from '~/utils/chaining'\nimport { calculateHocsFuncs } from '~/utils/compose'\nimport { calculateStyles } from '~/utils/styles'\nimport { getDimensionsMap } from '~/utils/dimensions'\nimport {\n pickStyledAttrs,\n calculateStylingAttrs,\n calculateChainOptions,\n} from '~/utils/attrs'\nimport type { RocketStyleComponent, ExoticComponent } from '~/types/rocketstyle'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type { Configuration } from '~/types/configuration'\n\n// --------------------------------------------------------\n// cloneAndEnhance\n// helper function which allows function chaining\n// always returns rocketComponent with static functions\n// assigned\n// --------------------------------------------------------\ntype CloneAndEnhance = (\n opts: Partial<Configuration>,\n defaultOpts: Configuration\n) => ReturnType<typeof rocketComponent>\n\nconst cloneAndEnhance: CloneAndEnhance = (opts, defaultOpts) =>\n // @ts-ignore\n rocketComponent({\n ...defaultOpts,\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// @ts-ignore\nconst rocketComponent: RocketComponent = (options) => {\n const { component, styles } = options\n const { styled } = config\n\n // const _calculateChainOptions = calculateChainOptions(options.attrs)\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 - Cahed & 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 = 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),\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, [...RESERVED_STYLING_PROPS_KEYS, ...PSEUDO_KEYS]),\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\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.is = {}\n // ------------------------------------------------------\n\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.is,\n options: options.statics,\n })\n\n // @ts-ignore\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS)\n\n return cloneAndEnhance(result, options)\n }\n\n RocketComponent.statics = (opts) =>\n cloneAndEnhance({ statics: opts }, options) as any\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","const 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","// @ts-nocheck\n/* eslint-disable @typescript-eslint/ban-types */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { isEmpty } from '@vitus-labs/core'\nimport rocketComponent from '~/rocketstyle'\nimport {\n getKeys,\n getMultipleDimensions,\n getDimensionsValues,\n} from '~/utils/dimensions'\nimport { ALL_RESERVED_KEYS } from '~/constants'\nimport defaultDimensions from '~/constants/defaultDimensions'\n\nimport type { ElementType } from '~/types/utils'\nimport type { Dimensions, DefaultDimensions } from '~/types/dimensions'\nimport type { RocketComponent } from '~/types/rocketComponent'\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\nconst rocketstyle: Rocketstyle =\n ({ dimensions = defaultDimensions, useBooleans = true } = {}) =>\n ({ name, component }) => {\n // --------------------------------------------------------\n // handle ERRORS in development mode\n // --------------------------------------------------------\n if (process.env.NODE_ENV !== 'production') {\n type Errors = Partial<{\n component: string\n name: string\n dimensions: string\n invalidDimensions: string\n }>\n\n const errors: Errors = {}\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\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.prototype.hasOwnProperty.call(component, 'IS_ROCKETSTYLE')\n ) {\n return true\n }\n\n return false\n}\n\nexport default isRocketComponent\n"],"names":["createContext","useContext","useState","useCallback","useRef","useImperativeHandle","CoreProvider","context","React","forwardRef","useMemo","isEmpty","useTheme","render","get","set","merge","config","createLocalProvider","ThemeManager","LocalThemeManager","rocketstyleAttrsHoc","pick","omit","compose","hoistNonReactStatics","defaultDimensions"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-rocketstyle.js","sources":["../src/constants/index.ts","../src/context/localContext.tsx","../src/hooks/usePseudoState.tsx","../src/hooks/useRef.ts","../src/context/context.tsx","../src/hooks/useTheme.tsx","../src/context/createLocalProvider.tsx","../src/cache/LocalThemeManager.ts","../src/utils/attrs.ts","../src/hoc/rocketstyleAttrsHoc.tsx","../src/utils/statics.ts","../src/utils/collection.ts","../src/utils/dimensions.ts","../src/utils/theme.ts","../src/utils/chaining.ts","../src/utils/compose.ts","../src/utils/styles.ts","../src/rocketstyle.tsx","../src/constants/defaultDimensions.ts","../src/init.ts","../src/isRocketComponent.tsx"],"sourcesContent":["export const MODE_DEFAULT = 'light'\n\nexport const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'] as const\n\nexport const THEME_MODES = {\n light: true,\n dark: true,\n} as const\n\nexport const THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n} as const\n\nexport const CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n] as const\n\nexport const STYLING_KEYS = ['theme', 'attrs', 'styles'] as const\nexport const STATIC_KEYS = [...STYLING_KEYS, 'compose'] as const\n\nexport const ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n] as const\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\nconst context = createContext<LocalContext>({})\n\ntype UseLocalContext = (context: any) => LocalContext\nexport const useLocalContext: UseLocalContext = (consumer) => {\n const ctx = consumer ? useContext(context) : {}\n const result = consumer ? consumer((callback: any) => callback(ctx)) : {}\n\n return { pseudo: {}, ...result }\n}\n\nexport const LocalProvider = context.Provider\n\nexport default context\n","import {\n useState,\n useCallback,\n SyntheticEvent,\n MouseEventHandler,\n FocusEventHandler,\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: Omit<PseudoState, 'active'>\n events: PseudoActions\n}\n\nconst handleEvent = (e: SyntheticEvent) => {\n e.preventDefault()\n e.stopPropagation()\n}\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 handleEvent(e)\n setHover(true)\n if (onMouseEnter) onMouseEnter(e)\n },\n [onMouseEnter]\n )\n\n const handleOnMouseLeave: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(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 handleEvent(e)\n setPressed(true)\n if (onMouseDown) onMouseDown(e)\n },\n [onMouseDown]\n )\n\n const handleOnMouseUp: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setPressed(false)\n if (onMouseUp) onMouseUp(e)\n },\n [onMouseUp]\n )\n\n const handleOnFocus: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setFocus(true)\n if (onFocus) onFocus(e)\n },\n [onFocus]\n )\n\n const handleOnBlur: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(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 { useRef, useImperativeHandle, ForwardedRef } from 'react'\n\ntype UseRocketstyleRef = (props: {\n $rocketstyleRef?: ForwardedRef<unknown>\n ref?: ForwardedRef<unknown>\n}) => ForwardedRef<unknown>\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 React, { useContext, ReactNode, FC, ComponentType } from 'react'\nimport { Provider as CoreProvider, context } from '@vitus-labs/core'\nimport { THEME_MODES_INVERSED, MODE_DEFAULT } 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\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","import { useContext } from 'react'\nimport { context } from '~/context/context'\nimport { THEME_MODES_INVERSED } from '~/constants'\nimport { 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\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 React, {\n forwardRef,\n useMemo,\n ComponentType,\n ForwardRefExoticComponent,\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\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","export 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","/* eslint-disable no-param-reassign */\nimport { isEmpty } from '@vitus-labs/core'\nimport { MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// pick styled props\n// --------------------------------------------------------\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-ignore\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]) acc[key] = props[key]\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype OptionFunc<A> = (...arg: Array<A>) => Record<string, unknown>\ntype CalculateChainOptions = <A>(\n options?: Array<OptionFunc<A>>\n) => (args: Array<A>) => ReturnType<OptionFunc<A>>\n\nexport const calculateChainOptions: CalculateChainOptions =\n (options) => (args) => {\n const result = {}\n if (isEmpty(options)) return result\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {})\n }\n\n// --------------------------------------------------------\n// get style attributes\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 mutli key, allow assign array as well\n if (multiKeys && 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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const isMultiKey = multiKeys[key]\n\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue\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","/* eslint-disable no-underscore-dangle */\nimport React, {\n forwardRef,\n ForwardRefExoticComponent,\n ComponentType,\n} from 'react'\nimport { render } from '@vitus-labs/core'\nimport { calculateChainOptions } from '~/utils/attrs'\nimport { useTheme } from '~/hooks'\nimport type { OptionFunc } from '~/types/configuration'\n\nexport type RocketStyleHOC = ({\n inversed,\n attrs,\n}: {\n inversed?: boolean\n attrs?: Array<OptionFunc>\n}) => (WrappedComponent: ComponentType<any>) => ForwardRefExoticComponent<any>\n\nconst rocketStyleHOC: RocketStyleHOC = ({ inversed, attrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const _calculateChainOptions = calculateChainOptions(attrs)\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 calculatedAttrs = _calculateChainOptions([\n props,\n theme,\n {\n render,\n mode,\n isDark,\n isLight,\n },\n ])\n\n return (\n <WrappedComponent\n $rocketstyleRef={ref}\n {...calculatedAttrs}\n {...props}\n />\n )\n })\n\n return Enhanced\n}\n\nexport default rocketStyleHOC\n","import { isEmpty } from '@vitus-labs/core'\nimport { STATIC_KEYS } from '~/constants'\n\n// --------------------------------------------------------\n// helpers for create statics chainin methods on component\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: (param: any, param2: O) => 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 // eslint-disable-next-line no-param-reassign\n context[item] = (props: any) => func({ [item]: props }, options)\n })\n}\n\n// --------------------------------------------------------\n// helpers for create statics on component\n// --------------------------------------------------------\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","/* eslint-disable import/prefer-default-export */\n\n// --------------------------------------------------------\n// Remove Nullable values\n// --------------------------------------------------------\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 { get, isEmpty, set } from '@vitus-labs/core'\nimport { Dimensions, DimensionValue, MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// Is value a valid key\n// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\ntype ValueType<T> = T extends string ? T : Array<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// --------------------------------------------------------\ntype GetMultipleDimensions = <T extends Dimensions>(obj: T) => MultiKeys<T>\n\nexport const getMultipleDimensions: GetMultipleDimensions = (obj) =>\n getValues(obj).reduce((accumulator, value: DimensionValue) => {\n if (typeof value === 'object') {\n // eslint-disable-next-line no-param-reassign\n if (value.multi === true) accumulator[value.propName] = true\n }\n\n return accumulator\n }, {} as Record<string, any>)\n","/* eslint-disable no-param-reassign */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { config, isEmpty, merge } from '@vitus-labs/core'\nimport { ThemeModeCallback } from '~/types/theme'\nimport { removeNullableValues } from './collection'\nimport { isMultiKey } from './dimensions'\n\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\nexport const themeModeCallback: ThemeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light') return light\n return dark\n}\n\nthemeModeCallback.isMode = true\n\n// --------------------------------------------------------\n// Theme Mode Callback Check\n// --------------------------------------------------------\ntype IsModeCallback = (value: any) => boolean\nconst isModeCallback: IsModeCallback = (value) =>\n typeof value === 'function' &&\n // @ts-ignore\n value.toString() === themeModeCallback().toString()\n\n// --------------------------------------------------------\n// Get Theme From Chain\n// --------------------------------------------------------\ntype OptionFunc = (...arg: any) => Record<string, unknown>\ntype GetThemeFromChain = (\n options: Array<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// --------------------------------------------------------\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((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 // eslint-disable-next-line no-param-reassign\n acc[dimension] = removeNullableValues(finalDimensionThemes)\n }\n\n return acc\n }, result as Record<string, any>)\n}\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype CalculateChainOptions = (\n options: Array<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// --------------------------------------------------------\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 | Array<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// generate theme\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((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 }, {} as Record<string, any>)\n","type Func = (...args: any) => Record<string, unknown>\ntype Obj = Record<string, unknown>\n\n// --------------------------------------------------------\n// Chain Options\n// --------------------------------------------------------\ntype ChainOptions = (opts: Obj | Func, defaultOpts: Func[]) => 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// --------------------------------------------------------\ntype ChainOrOptions = (\n keys: ReadonlyArray<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// --------------------------------------------------------\ntype ChainReservedKeyOptions = (\n keys: ReadonlyArray<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","/* eslint-disable import/prefer-default-export */\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","/* eslint-disable import/prefer-default-export */\nimport { config } from '@vitus-labs/core'\nimport type { StylesCbArray } from '~/types/styles'\n\n// --------------------------------------------------------\n// Calculate styles\n// --------------------------------------------------------\ntype CalculateStyles = (\n styles: StylesCbArray | undefined\n) => Array<ReturnType<StylesCbArray[number]>>\n\nexport const calculateStyles: CalculateStyles = (styles) => {\n if (!styles) return []\n\n return styles.map((item) => item(config.css))\n}\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo, forwardRef } from 'react'\nimport hoistNonReactStatics from 'hoist-non-react-statics'\nimport { config, omit, pick, compose, render } from '@vitus-labs/core'\nimport { PSEUDO_KEYS, CONFIG_KEYS, STYLING_KEYS } from '~/constants'\nimport { useLocalContext } from '~/context/localContext'\nimport createLocalProvider from '~/context/createLocalProvider'\nimport { LocalThemeManager } from '~/cache'\nimport { useRef, useTheme } from '~/hooks'\nimport { rocketstyleAttrsHoc } from '~/hoc'\nimport {\n createStaticsChainingEnhancers,\n createStaticsEnhancers,\n} from '~/utils/statics'\nimport {\n getThemeFromChain,\n getDimensionThemes,\n getTheme,\n getThemeByMode,\n} from '~/utils/theme'\nimport { chainOrOptions, chainReservedKeyOptions } from '~/utils/chaining'\nimport { calculateHocsFuncs } from '~/utils/compose'\nimport { calculateStyles } from '~/utils/styles'\nimport { getDimensionsMap } from '~/utils/dimensions'\nimport {\n pickStyledAttrs,\n calculateStylingAttrs,\n calculateChainOptions,\n} from '~/utils/attrs'\nimport type { RocketStyleComponent, ExoticComponent } from '~/types/rocketstyle'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type { Configuration } from '~/types/configuration'\n\n// --------------------------------------------------------\n// cloneAndEnhance\n// helper function which allows function chaining\n// always returns rocketComponent with static functions\n// assigned\n// --------------------------------------------------------\ntype CloneAndEnhance = (\n opts: Partial<Configuration>,\n defaultOpts: Configuration\n) => ReturnType<typeof rocketComponent>\n\nconst cloneAndEnhance: CloneAndEnhance = (opts, defaultOpts) =>\n // @ts-ignore\n rocketComponent({\n ...defaultOpts,\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// @ts-ignore\nconst rocketComponent: RocketComponent = (options) => {\n const { component, styles } = options\n const { styled } = config\n\n // const _calculateChainOptions = calculateChainOptions(options.attrs)\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 - Cahed & 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 = 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),\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, [...RESERVED_STYLING_PROPS_KEYS, ...PSEUDO_KEYS]),\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\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.is = {}\n // ------------------------------------------------------\n\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.is,\n options: options.statics,\n })\n\n // @ts-ignore\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS)\n\n return cloneAndEnhance(result, options)\n }\n\n RocketComponent.statics = (opts) =>\n cloneAndEnhance({ statics: opts }, options) as any\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","const 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","// @ts-nocheck\n/* eslint-disable @typescript-eslint/ban-types */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { isEmpty } from '@vitus-labs/core'\nimport rocketComponent from '~/rocketstyle'\nimport {\n getKeys,\n getMultipleDimensions,\n getDimensionsValues,\n} from '~/utils/dimensions'\nimport { ALL_RESERVED_KEYS } from '~/constants'\nimport defaultDimensions from '~/constants/defaultDimensions'\n\nimport type { ElementType } from '~/types/utils'\nimport type { Dimensions, DefaultDimensions } from '~/types/dimensions'\nimport type { RocketComponent } from '~/types/rocketComponent'\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\nconst rocketstyle: Rocketstyle =\n ({ dimensions = defaultDimensions, useBooleans = true } = {}) =>\n ({ name, component }) => {\n // --------------------------------------------------------\n // handle ERRORS in development mode\n // --------------------------------------------------------\n if (process.env.NODE_ENV !== 'production') {\n type Errors = Partial<{\n component: string\n name: string\n dimensions: string\n invalidDimensions: string\n }>\n\n const errors: Errors = {}\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\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.prototype.hasOwnProperty.call(component, 'IS_ROCKETSTYLE')\n ) {\n return true\n }\n\n return false\n}\n\nexport default isRocketComponent\n"],"names":["createContext","useContext","useState","useCallback","useRef","useImperativeHandle","CoreProvider","context","React","forwardRef","useMemo","isEmpty","useTheme","render","get","set","merge","config","createLocalProvider","ThemeManager","LocalThemeManager","rocketstyleAttrsHoc","pick","omit","compose","hoistNonReactStatics","defaultDimensions"],"mappings":"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"}
@@ -3,6 +3,7 @@ export { context } from '@vitus-labs/core';
3
3
  import React, { createContext, useContext, useState, useCallback, useRef, useImperativeHandle, forwardRef, useMemo } from 'react';
4
4
  import hoistNonReactStatics from 'hoist-non-react-statics';
5
5
 
6
+ const MODE_DEFAULT = 'light';
6
7
  const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'];
7
8
  const THEME_MODES = {
8
9
  light: true,
@@ -107,11 +108,14 @@ const useRocketstyleRef = ({ $rocketstyleRef, ref }) => {
107
108
  return internalRef;
108
109
  };
109
110
 
110
- const Provider = ({ provider = Provider$1, ...props }) => {
111
+ const Provider = ({ provider = Provider$1, inversed, ...props }) => {
111
112
  const ctx = useContext(context$1);
112
- const { theme, mode, inversed, provider: RocketstyleProvider, children, } = { ...ctx, ...props, provider };
113
- const isDark = inversed ? mode !== 'dark' : mode === 'dark';
114
- return (React.createElement(RocketstyleProvider, { mode: mode, isDark: isDark, isLight: !isDark, theme: theme, provider: provider }, children));
113
+ const { theme, mode, provider: RocketstyleProvider, children, } = { ...ctx, ...props, provider };
114
+ let newMode = MODE_DEFAULT;
115
+ if (mode) {
116
+ newMode = inversed ? THEME_MODES_INVERSED[mode] : mode;
117
+ }
118
+ return (React.createElement(RocketstyleProvider, { mode: newMode, isDark: newMode === 'dark', isLight: newMode === 'light', theme: theme, provider: provider }, children));
115
119
  };
116
120
 
117
121
  const useThemeAttrs = ({ inversed }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-rocketstyle.module.js","sources":["../src/constants/index.ts","../src/context/localContext.tsx","../src/hooks/usePseudoState.tsx","../src/hooks/useRef.ts","../src/context.tsx","../src/hooks/useTheme.tsx","../src/context/createLocalProvider.tsx","../src/cache/LocalThemeManager.ts","../src/utils/attrs.ts","../src/hoc/rocketstyleAttrsHoc.tsx","../src/utils/statics.ts","../src/utils/collection.ts","../src/utils/dimensions.ts","../src/utils/theme.ts","../src/utils/chaining.ts","../src/utils/compose.ts","../src/utils/styles.ts","../src/rocketstyle.tsx","../src/constants/defaultDimensions.ts","../src/init.ts","../src/isRocketComponent.tsx"],"sourcesContent":["export const MODE_DEFAULT = 'light'\n\nexport const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'] as const\n\nexport const THEME_MODES = {\n light: true,\n dark: true,\n} as const\n\nexport const THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n} as const\n\nexport const CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n] as const\n\nexport const STYLING_KEYS = ['theme', 'attrs', 'styles'] as const\nexport const STATIC_KEYS = [...STYLING_KEYS, 'compose'] as const\n\nexport const ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n] as const\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\nconst context = createContext<LocalContext>({})\n\ntype UseLocalContext = (context: any) => LocalContext\nexport const useLocalContext: UseLocalContext = (consumer) => {\n const ctx = consumer ? useContext(context) : {}\n const result = consumer ? consumer((callback: any) => callback(ctx)) : {}\n\n return { pseudo: {}, ...result }\n}\n\nexport const LocalProvider = context.Provider\n\nexport default context\n","import {\n useState,\n useCallback,\n SyntheticEvent,\n MouseEventHandler,\n FocusEventHandler,\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: Omit<PseudoState, 'active'>\n events: PseudoActions\n}\n\nconst handleEvent = (e: SyntheticEvent) => {\n e.preventDefault()\n e.stopPropagation()\n}\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 handleEvent(e)\n setHover(true)\n if (onMouseEnter) onMouseEnter(e)\n },\n [onMouseEnter]\n )\n\n const handleOnMouseLeave: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(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 handleEvent(e)\n setPressed(true)\n if (onMouseDown) onMouseDown(e)\n },\n [onMouseDown]\n )\n\n const handleOnMouseUp: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setPressed(false)\n if (onMouseUp) onMouseUp(e)\n },\n [onMouseUp]\n )\n\n const handleOnFocus: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setFocus(true)\n if (onFocus) onFocus(e)\n },\n [onFocus]\n )\n\n const handleOnBlur: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(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 { useRef, useImperativeHandle, ForwardedRef } from 'react'\n\ntype UseRocketstyleRef = (props: {\n $rocketstyleRef?: ForwardedRef<unknown>\n ref?: ForwardedRef<unknown>\n}) => ForwardedRef<unknown>\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 React, { useContext, ReactNode, FC, ComponentType } from 'react'\nimport { Provider as CoreProvider, context } from '@vitus-labs/core'\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\nconst Provider: FC<TProvider> = ({ provider = CoreProvider, ...props }) => {\n const ctx = useContext<TProvider>(context)\n\n const {\n theme,\n mode,\n inversed,\n provider: RocketstyleProvider,\n children,\n } = { ...ctx, ...props, provider }\n\n const isDark = inversed ? mode !== 'dark' : mode === 'dark'\n\n return (\n <RocketstyleProvider\n mode={mode}\n isDark={isDark}\n isLight={!isDark}\n theme={theme}\n provider={provider}\n >\n {children}\n </RocketstyleProvider>\n )\n}\n\nexport { context }\n\nexport default Provider\n","import { useContext } from 'react'\nimport { context } from '~/context'\nimport { THEME_MODES_INVERSED } from '~/constants'\nimport { 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\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 React, {\n forwardRef,\n useMemo,\n ComponentType,\n ForwardRefExoticComponent,\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\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","export 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","/* eslint-disable no-param-reassign */\nimport { isEmpty } from '@vitus-labs/core'\nimport { MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// pick styled props\n// --------------------------------------------------------\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-ignore\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]) acc[key] = props[key]\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype OptionFunc<A> = (...arg: Array<A>) => Record<string, unknown>\ntype CalculateChainOptions = <A>(\n options?: Array<OptionFunc<A>>\n) => (args: Array<A>) => ReturnType<OptionFunc<A>>\n\nexport const calculateChainOptions: CalculateChainOptions =\n (options) => (args) => {\n const result = {}\n if (isEmpty(options)) return result\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {})\n }\n\n// --------------------------------------------------------\n// get style attributes\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 mutli key, allow assign array as well\n if (multiKeys && 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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const isMultiKey = multiKeys[key]\n\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue\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","/* eslint-disable no-underscore-dangle */\nimport React, {\n forwardRef,\n ForwardRefExoticComponent,\n ComponentType,\n} from 'react'\nimport { render } from '@vitus-labs/core'\nimport { calculateChainOptions } from '~/utils/attrs'\nimport { useTheme } from '~/hooks'\nimport type { OptionFunc } from '~/types/configuration'\n\nexport type RocketStyleHOC = ({\n inversed,\n attrs,\n}: {\n inversed?: boolean\n attrs?: Array<OptionFunc>\n}) => (WrappedComponent: ComponentType<any>) => ForwardRefExoticComponent<any>\n\nconst rocketStyleHOC: RocketStyleHOC = ({ inversed, attrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const _calculateChainOptions = calculateChainOptions(attrs)\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 calculatedAttrs = _calculateChainOptions([\n props,\n theme,\n {\n render,\n mode,\n isDark,\n isLight,\n },\n ])\n\n return (\n <WrappedComponent\n $rocketstyleRef={ref}\n {...calculatedAttrs}\n {...props}\n />\n )\n })\n\n return Enhanced\n}\n\nexport default rocketStyleHOC\n","import { isEmpty } from '@vitus-labs/core'\nimport { STATIC_KEYS } from '~/constants'\n\n// --------------------------------------------------------\n// helpers for create statics chainin methods on component\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: (param: any, param2: O) => 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 // eslint-disable-next-line no-param-reassign\n context[item] = (props: any) => func({ [item]: props }, options)\n })\n}\n\n// --------------------------------------------------------\n// helpers for create statics on component\n// --------------------------------------------------------\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","/* eslint-disable import/prefer-default-export */\n\n// --------------------------------------------------------\n// Remove Nullable values\n// --------------------------------------------------------\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 { get, isEmpty, set } from '@vitus-labs/core'\nimport { Dimensions, DimensionValue, MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// Is value a valid key\n// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\ntype ValueType<T> = T extends string ? T : Array<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// --------------------------------------------------------\ntype GetMultipleDimensions = <T extends Dimensions>(obj: T) => MultiKeys<T>\n\nexport const getMultipleDimensions: GetMultipleDimensions = (obj) =>\n getValues(obj).reduce((accumulator, value: DimensionValue) => {\n if (typeof value === 'object') {\n // eslint-disable-next-line no-param-reassign\n if (value.multi === true) accumulator[value.propName] = true\n }\n\n return accumulator\n }, {} as Record<string, any>)\n","/* eslint-disable no-param-reassign */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { config, isEmpty, merge } from '@vitus-labs/core'\nimport { ThemeModeCallback } from '~/types/theme'\nimport { removeNullableValues } from './collection'\nimport { isMultiKey } from './dimensions'\n\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\nexport const themeModeCallback: ThemeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light') return light\n return dark\n}\n\nthemeModeCallback.isMode = true\n\n// --------------------------------------------------------\n// Theme Mode Callback Check\n// --------------------------------------------------------\ntype IsModeCallback = (value: any) => boolean\nconst isModeCallback: IsModeCallback = (value) =>\n typeof value === 'function' &&\n // @ts-ignore\n value.toString() === themeModeCallback().toString()\n\n// --------------------------------------------------------\n// Get Theme From Chain\n// --------------------------------------------------------\ntype OptionFunc = (...arg: any) => Record<string, unknown>\ntype GetThemeFromChain = (\n options: Array<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// --------------------------------------------------------\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((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 // eslint-disable-next-line no-param-reassign\n acc[dimension] = removeNullableValues(finalDimensionThemes)\n }\n\n return acc\n }, result as Record<string, any>)\n}\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype CalculateChainOptions = (\n options: Array<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// --------------------------------------------------------\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 | Array<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// generate theme\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((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 }, {} as Record<string, any>)\n","type Func = (...args: any) => Record<string, unknown>\ntype Obj = Record<string, unknown>\n\n// --------------------------------------------------------\n// Chain Options\n// --------------------------------------------------------\ntype ChainOptions = (opts: Obj | Func, defaultOpts: Func[]) => 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// --------------------------------------------------------\ntype ChainOrOptions = (\n keys: ReadonlyArray<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// --------------------------------------------------------\ntype ChainReservedKeyOptions = (\n keys: ReadonlyArray<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","/* eslint-disable import/prefer-default-export */\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","/* eslint-disable import/prefer-default-export */\nimport { config } from '@vitus-labs/core'\nimport type { StylesCbArray } from '~/types/styles'\n\n// --------------------------------------------------------\n// Calculate styles\n// --------------------------------------------------------\ntype CalculateStyles = (\n styles: StylesCbArray | undefined\n) => Array<ReturnType<StylesCbArray[number]>>\n\nexport const calculateStyles: CalculateStyles = (styles) => {\n if (!styles) return []\n\n return styles.map((item) => item(config.css))\n}\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo, forwardRef } from 'react'\nimport hoistNonReactStatics from 'hoist-non-react-statics'\nimport { config, omit, pick, compose, render } from '@vitus-labs/core'\nimport { PSEUDO_KEYS, CONFIG_KEYS, STYLING_KEYS } from '~/constants'\nimport { useLocalContext } from '~/context/localContext'\nimport createLocalProvider from '~/context/createLocalProvider'\nimport { LocalThemeManager } from '~/cache'\nimport { useRef, useTheme } from '~/hooks'\nimport { rocketstyleAttrsHoc } from '~/hoc'\nimport {\n createStaticsChainingEnhancers,\n createStaticsEnhancers,\n} from '~/utils/statics'\nimport {\n getThemeFromChain,\n getDimensionThemes,\n getTheme,\n getThemeByMode,\n} from '~/utils/theme'\nimport { chainOrOptions, chainReservedKeyOptions } from '~/utils/chaining'\nimport { calculateHocsFuncs } from '~/utils/compose'\nimport { calculateStyles } from '~/utils/styles'\nimport { getDimensionsMap } from '~/utils/dimensions'\nimport {\n pickStyledAttrs,\n calculateStylingAttrs,\n calculateChainOptions,\n} from '~/utils/attrs'\nimport type { RocketStyleComponent, ExoticComponent } from '~/types/rocketstyle'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type { Configuration } from '~/types/configuration'\n\n// --------------------------------------------------------\n// cloneAndEnhance\n// helper function which allows function chaining\n// always returns rocketComponent with static functions\n// assigned\n// --------------------------------------------------------\ntype CloneAndEnhance = (\n opts: Partial<Configuration>,\n defaultOpts: Configuration\n) => ReturnType<typeof rocketComponent>\n\nconst cloneAndEnhance: CloneAndEnhance = (opts, defaultOpts) =>\n // @ts-ignore\n rocketComponent({\n ...defaultOpts,\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// @ts-ignore\nconst rocketComponent: RocketComponent = (options) => {\n const { component, styles } = options\n const { styled } = config\n\n // const _calculateChainOptions = calculateChainOptions(options.attrs)\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 - Cahed & 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 = 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),\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, [...RESERVED_STYLING_PROPS_KEYS, ...PSEUDO_KEYS]),\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\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.is = {}\n // ------------------------------------------------------\n\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.is,\n options: options.statics,\n })\n\n // @ts-ignore\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS)\n\n return cloneAndEnhance(result, options)\n }\n\n RocketComponent.statics = (opts) =>\n cloneAndEnhance({ statics: opts }, options) as any\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","const 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","// @ts-nocheck\n/* eslint-disable @typescript-eslint/ban-types */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { isEmpty } from '@vitus-labs/core'\nimport rocketComponent from '~/rocketstyle'\nimport {\n getKeys,\n getMultipleDimensions,\n getDimensionsValues,\n} from '~/utils/dimensions'\nimport { ALL_RESERVED_KEYS } from '~/constants'\nimport defaultDimensions from '~/constants/defaultDimensions'\n\nimport type { ElementType } from '~/types/utils'\nimport type { Dimensions, DefaultDimensions } from '~/types/dimensions'\nimport type { RocketComponent } from '~/types/rocketComponent'\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\nconst rocketstyle: Rocketstyle =\n ({ dimensions = defaultDimensions, useBooleans = true } = {}) =>\n ({ name, component }) => {\n // --------------------------------------------------------\n // handle ERRORS in development mode\n // --------------------------------------------------------\n if (process.env.NODE_ENV !== 'production') {\n type Errors = Partial<{\n component: string\n name: string\n dimensions: string\n invalidDimensions: string\n }>\n\n const errors: Errors = {}\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\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.prototype.hasOwnProperty.call(component, 'IS_ROCKETSTYLE')\n ) {\n return true\n }\n\n return false\n}\n\nexport default isRocketComponent\n"],"names":["CoreProvider","context","useTheme","createLocalProvider","ThemeManager","LocalThemeManager","rocketstyleAttrsHoc","useRef","defaultDimensions"],"mappings":";;;;;AAEO,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAU,CAAA;AAEpE,MAAM,WAAW,GAAG;AACzB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,IAAI,EAAE,IAAI;CACF,CAAA;AAEH,MAAM,oBAAoB,GAAG;AAClC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,KAAK,EAAE,MAAM;CACL,CAAA;AAEH,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,WAAW;IACX,UAAU;IACV,WAAW;IACX,QAAQ;CACA,CAAA;AAEH,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAA;AAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,SAAS,CAAU,CAAA;AAEzD,MAAM,iBAAiB,GAAG;AAC/B,IAAA,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3B,IAAA,GAAG,WAAW;AACd,IAAA,GAAG,WAAW;CACN;;ACvBV,MAAM,OAAO,GAAG,aAAa,CAAe,EAAE,CAAC,CAAA;AAGxC,MAAM,eAAe,GAAoB,CAAC,QAAQ,KAAI;AAC3D,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAC/C,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,QAAa,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;IAEzE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAA;AAClC,CAAC,CAAA;AAEM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ;;ACE7C,MAAM,WAAW,GAAG,CAAC,CAAiB,KAAI;IACxC,CAAC,CAAC,cAAc,EAAE,CAAA;IAClB,CAAC,CAAC,eAAe,EAAE,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,cAAc,GAAmB,CAAC,EACtC,MAAM,EACN,OAAO,EACP,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,KAAI;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE7C,IAAA,MAAM,kBAAkB,GAAsB,WAAW,CACvD,CAAC,CAAC,KAAI;QACJ,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,QAAQ,CAAC,IAAI,CAAC,CAAA;AACd,QAAA,IAAI,YAAY;YAAE,YAAY,CAAC,CAAC,CAAC,CAAA;AACnC,KAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;AAED,IAAA,MAAM,kBAAkB,GAAsB,WAAW,CACvD,CAAC,CAAC,KAAI;QACJ,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,QAAQ,CAAC,KAAK,CAAC,CAAA;QACf,UAAU,CAAC,KAAK,CAAC,CAAA;AACjB,QAAA,IAAI,YAAY;YAAE,YAAY,CAAC,CAAC,CAAC,CAAA;AACnC,KAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;AAED,IAAA,MAAM,iBAAiB,GAAsB,WAAW,CACtD,CAAC,CAAC,KAAI;QACJ,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,UAAU,CAAC,IAAI,CAAC,CAAA;AAChB,QAAA,IAAI,WAAW;YAAE,WAAW,CAAC,CAAC,CAAC,CAAA;AACjC,KAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;AAED,IAAA,MAAM,eAAe,GAAsB,WAAW,CACpD,CAAC,CAAC,KAAI;QACJ,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,UAAU,CAAC,KAAK,CAAC,CAAA;AACjB,QAAA,IAAI,SAAS;YAAE,SAAS,CAAC,CAAC,CAAC,CAAA;AAC7B,KAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAA;AAED,IAAA,MAAM,aAAa,GAAsB,WAAW,CAClD,CAAC,CAAC,KAAI;QACJ,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,QAAQ,CAAC,IAAI,CAAC,CAAA;AACd,QAAA,IAAI,OAAO;YAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AACzB,KAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;AAED,IAAA,MAAM,YAAY,GAAsB,WAAW,CACjD,CAAC,CAAC,KAAI;QACJ,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,QAAQ,CAAC,KAAK,CAAC,CAAA;AACf,QAAA,IAAI,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AACvB,KAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,OAAO;AACL,QAAA,KAAK,EAAE;YACL,KAAK;YACL,KAAK;YACL,OAAO;AACR,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,YAAY,EAAE,kBAAkB;AAChC,YAAA,YAAY,EAAE,kBAAkB;AAChC,YAAA,WAAW,EAAE,iBAAiB;AAC9B,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,MAAM,EAAE,YAAY;AACrB,SAAA;KACF,CAAA;AACH,CAAC;;ACrGD,MAAM,iBAAiB,GAAsB,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,KAAI;AACxE,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEhC,mBAAmB,CAAC,eAAe,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;IAC/D,mBAAmB,CAAC,GAAG,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;AAEnD,IAAA,OAAO,WAAW,CAAA;AACpB,CAAC;;ACGD,MAAM,QAAQ,GAAkB,CAAC,EAAE,QAAQ,GAAGA,UAAY,EAAE,GAAG,KAAK,EAAE,KAAI;AACxE,IAAA,MAAM,GAAG,GAAG,UAAU,CAAYC,SAAO,CAAC,CAAA;IAE1C,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,GACT,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAA;AAElC,IAAA,MAAM,MAAM,GAAG,QAAQ,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,KAAK,MAAM,CAAA;AAE3D,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,mBAAmB,EAAA,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAEjB,EAAA,QAAQ,CACW,EACvB;AACH;;AC3BA,MAAM,aAAa,GAAkB,CAAC,EAAE,QAAQ,EAAE,KAAI;IACpD,MAAM,EACJ,KAAK,EACL,IAAI,EAAE,OAAO,GAAG,OAAO,EACvB,MAAM,EAAE,OAAO,GAChB,GAAG,UAAU,CAAUA,SAAO,CAAC,IAAI,EAAE,CAAA;AAEtC,IAAA,MAAM,IAAI,GAAG,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;AAC/D,IAAA,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;AAC5C,IAAA,MAAM,OAAO,GAAG,CAAC,MAAM,CAAA;IAEvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC;;ACVD,MAAM,4BAA4B,GAAQ,CAAC,gBAAgB,KACzD,UAAU,CACR,CACE,EACE,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,KAAK,EACT,EACD,GAAG,KACD;;IAEF,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,WAAW;QACX,OAAO;QACP,MAAM;AACP,KAAA,CAAC,CAAA;AAEF,IAAA,MAAM,YAAY,GAAG,OAAO,CAC1B,OAAO;AACL,QAAA,GAAG,YAAY;QACf,MAAM,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;AACpD,KAAA,CAAC,EACF,CAAC,YAAY,EAAE,MAAM,CAAC,CACvB,CAAA;AAED,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,aAAa,EAAC,EAAA,KAAK,EAAE,YAAY,EAAA;AAChC,QAAA,KAAA,CAAA,aAAA,CAAC,gBAAgB,EACX,EAAA,GAAA,KAAK,EACL,GAAA,MAAM,CAAC,MAAM,EACjB,GAAG,EAAE,GAAG,EACM,cAAA,EAAA,YAAY,EAC1B,CAAA,CACY,EACjB;AACH,CAAC,CACF;;AC5DW,MAAO,YAAY,CAAA;AAC/B,IAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAA;AAEzB,IAAA,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAA;AAEhC,IAAA,aAAa,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,EAAE,CAAA;AAE7D,IAAA,kBAAkB,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,EAAE,CAAA;AACnE;;ACRD;AAgBO,MAAM,eAAe,GAAoB,CAAC,KAAK,EAAE,QAAQ,KAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;IACrC,IAAI,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;AACxC,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC,EAAE,EAAS,CAAC,CAAA;AAUR,MAAM,qBAAqB,GAChC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAI;IACpB,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,IAAI,OAAO,CAAC,OAAO,CAAC;AAAE,QAAA,OAAO,MAAM,CAAA;;;IAInC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7E,CAAC,CAAA;AAkBI,MAAM,qBAAqB,GAChC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAC3B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAI;IACxB,MAAM,MAAM,GAAwB,EAAE,CAAA;;;IAItC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACvC,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;AAC9B,QAAA,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;;AAGvC,QAAA,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC7D,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAA;AAC1B,SAAA;;;AAGI,aAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC,EAAE;AAC/C,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAA;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;AACzB,SAAA;AACH,KAAC,CAAC,CAAA;;AAGF,IAAA,IAAI,WAAW,EAAE;QACf,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;AAE9C,QAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;;;AAG9C,YAAA,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;;YAGjC,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,IAAI,iBAAiB,CAAA;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAQ,CAAC,CAAA;AAEpD,gBAAA,IAAI,UAAU,EAAE;AACd,oBAAA,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,KACvC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CACvB,CAAA;AACF,iBAAA;AAAM,qBAAA;;;oBAGL,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;wBACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;AAAE,4BAAA,OAAO,GAAG,CAAA;AACpD,wBAAA,OAAO,KAAK,CAAA;AACd,qBAAC,CAAC,CAAA;AACH,iBAAA;AAED,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAA;AAChC,aAAA;AACH,SAAC,CAAC,CAAA;AACH,KAAA;AAED,IAAA,OAAO,MAAM,CAAA;AACf,CAAC;;ACjHH;AAmBA,MAAM,cAAc,GAAmB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAI;;;;;;AAM7D,IAAA,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAE3D,IAAA,MAAM,QAAQ,GAAG,CAAC,gBAAoC,KACpD,UAAU,CAAW,CAAC,KAAK,EAAE,GAAG,KAAI;QAClC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAGC,aAAQ,CAAC;YAChD,QAAQ;AACT,SAAA,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,sBAAsB,CAAC;YAC7C,KAAK;YACL,KAAK;AACL,YAAA;gBACE,MAAM;gBACN,IAAI;gBACJ,MAAM;gBACN,OAAO;AACR,aAAA;AACF,SAAA,CAAC,CAAA;QAEF,QACE,KAAC,CAAA,aAAA,CAAA,gBAAgB,EACE,EAAA,iBAAA,EAAA,GAAG,EAChB,GAAA,eAAe,EACf,GAAA,KAAK,EACT,CAAA,EACH;AACH,KAAC,CAAC,CAAA;AAEJ,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;;ACtCM,MAAM,8BAA8B,GAAmC,CAAC,EAC7E,OAAO,EACP,aAAa,EACb,IAAI,EACJ,OAAO,GACR,KAAI;IACH,MAAM,IAAI,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,CAAA;AAE/C,IAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;;QAEpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAU,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;AAClE,KAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAUM,MAAM,sBAAsB,GAA2B,CAAC,EAC7D,OAAO,EACP,OAAO,GACR,KAAI;AACH,IAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACrB,QAAA,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChC,KAAA;AACH,CAAC;;AC7CD;AAMO,MAAM,oBAAoB,GAAyB,CAAC,GAAG,KAC5D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AAChB,KAAA,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;KAC3C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBO,MAAM,UAAU,GAAe,CAAC,KAAK,KAC1C,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAA;AAMnD,MAAM,UAAU,GAAe,CAAC,KAAK,KAAI;AAC9C,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC7C,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAW,CAAC,CAAA;AACjD,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvB,CAAC,CAAA;AAaM,MAAM,gBAAgB,GAAqB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAI;AAC5E,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,OAAO,EAAE,EAAyB;AAClC,QAAA,QAAQ,EAAE,EAAyB;KACpC,CAAA;IAED,IAAI,OAAO,CAAC,MAAM,CAAC;AAAE,QAAA,OAAO,MAAM,CAAA;AAElC,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AACjE,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;AACzC,QAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;AAEpB,QAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,KAAI;AACrD,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAM;AAElC,YAAA,IAAI,WAAW,EAAE;AACf,gBAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;AACzB,aAAA;YAED,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;AACpC,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,WAAW,CAAA;KACnB,EAAE,MAAM,CAAC,CAAA;AACZ,CAAC,CAAA;AAMM,MAAM,OAAO,GAAY,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAKlD,MAAM,SAAS,GAAc,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAQ,CAAA;AAU/D,MAAM,mBAAmB,GAAwB,CAAC,GAAG,KAC1D,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAoB,KAAI;AAC1C,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAC,QAAe,CAAA;AAC5B,KAAA;AAED,IAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA;AAOG,MAAM,qBAAqB,GAA0B,CAAC,GAAG,KAC9D,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAqB,KAAI;AAC3D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;;AAE7B,QAAA,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;AAAE,YAAA,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;AAC7D,KAAA;AAED,IAAA,OAAO,WAAW,CAAA;AACpB,CAAC,EAAE,EAAyB,CAAC;;AClG/B;AAOA;AACA;AACA;AACO,MAAM,iBAAiB,GAAsB,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,KAAI;AAC5E,IAAA,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,OAAO;AAAE,QAAA,OAAO,KAAK,CAAA;AAC3C,IAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAA;AAM/B,MAAM,cAAc,GAAmB,CAAC,KAAK,KAC3C,OAAO,KAAK,KAAK,UAAU;;IAE3B,KAAK,CAAC,QAAQ,EAAE,KAAK,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAA;AAW9C,MAAM,iBAAiB,GAAsB,CAAC,OAAO,EAAE,KAAK,KAAI;IACrE,MAAM,MAAM,GAAG,EAAE,CAAA;AACjB,IAAA,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;AAAE,QAAA,OAAO,MAAM,CAAA;AAE/C,IAAA,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EACrE,MAAM,CACP,CAAA;AACH,CAAC,CAAA;AAUM,MAAM,kBAAkB,GAAuB,CAAC,KAAK,EAAE,OAAO,KAAI;IACvE,MAAM,MAAM,GAAG,EAAE,CAAA;AAEjB,IAAA,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;AAAE,QAAA,OAAO,MAAM,CAAA;IAE9C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;QACrE,MAAM,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC,KAAY,CAAC,CAAA;AAE9C,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAE3B,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;;YAG7D,GAAG,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAA;AAC5D,SAAA;AAED,QAAA,OAAO,GAAG,CAAA;KACX,EAAE,MAA6B,CAAC,CAAA;AACnC,CAAC,CAAA;AA0BM,MAAM,QAAQ,GAAa,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAI;;AAEvE,IAAA,IAAI,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,CAAA;AAEjC,IAAA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CACjC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAmC,KAAI;AACjD,QAAA,MAAM,QAAQ,GAAwB,MAAM,CAAC,GAAG,CAAC,CAAA;AAEjD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACrB,gBAAA,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AACpD,aAAC,CAAC,CAAA;AACH,SAAA;AAAM,aAAA;AACL,YAAA,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AACpD,SAAA;AACH,KAAC,CACF,CAAA;AAED,IAAA,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAaM,MAAM,cAAc,GAAmB,CAAC,MAAM,EAAE,IAAI,KACzD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AACtC,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACvC,KAAA;AAAM,SAAA,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;QAChC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;AACvB,KAAA;AAAM,SAAA;AACL,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACjB,KAAA;AAED,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC,EAAE,EAAyB,CAAC;;ACvIxB,MAAM,YAAY,GAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,EAAE,KAAI;AACnE,IAAA,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAA;IAE/B,IAAI,OAAO,IAAI,KAAK,UAAU;AAAE,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;AAE1D,IAAA,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAWM,MAAM,cAAc,GAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,KACpE,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EACpE,EAAE,CACH,CAAA;AAWI,MAAM,uBAAuB,GAA4B,CAC9D,IAAI,EACJ,IAAI,EACJ,WAAW,KAEX,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,IAAI,MAAM;AACd,IAAA,GAAG,GAAG;AACN,IAAA,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC,EACF,EAAE,CACH;;AC/CI,MAAM,kBAAkB,GAAuB,CAAC,OAAO,GAAG,EAAE,KACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;KACnB,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,UAAU,CAAC;AAC5C,KAAA,OAAO,EAAE;;ACRd;AAWO,MAAM,eAAe,GAAoB,CAAC,MAAM,KAAI;AACzD,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE,CAAA;AAEtB,IAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/C,CAAC;;ACfD;AA6CA,MAAM,eAAe,GAAoB,CAAC,IAAI,EAAE,WAAW;AACzD;AACA,eAAe,CAAC;AACd,IAAA,GAAG,WAAW;IACd,OAAO,EAAE,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;IACpD,OAAO,EAAE,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AACpD,IAAA,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC;AACjD,IAAA,GAAG,uBAAuB,CACxB,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,YAAY,CAAC,EAC/C,IAAI,EACJ,WAAW,CACZ;AACF,CAAA,CAAC,CAAA;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,eAAe,GAAoB,CAAC,OAAO,KAAI;AACnD,IAAA,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;AACrC,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;;IAGzB,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;QACnD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;AACjC,KAAA,CAAC,CAAA;AAEF,IAAA,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAA;;IAGzE,MAAM,gBAAgB,GACpB,SAAS,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;AACjD,UAAE,SAAS;AACX,UAAE,MAAM,CAAC,SAAS,CAAC,CAAA,CAAA;YACb,eAAe,CAAC,MAAM,CAAC,CAAA;SAC1B,CAAA;;;;AAKP,IAAA,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ;AACtC,UAAEC,4BAAmB,CAAC,gBAAgB,CAAC;UACrC,gBAAgB,CAAA;;;;AAKpB,IAAA,MAAMC,cAAY,GAAG,IAAIC,YAAiB,EAAE,CAAA;;;;AAK5C,IAAA,MAAM,SAAS,GAAG;QAChBC,cAAmB,CAAC,OAAO,CAAC;AAC5B,QAAA,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;KACvC,CAAA;;;;;IAMD,MAAM,iBAAiB,GAAoB,UAAU,CACnD,CACE,EACE,eAAe;AACf,IAAA,GAAG,KAAK,EACT,EACD,GAAG,KACD;;;;;;QAMF,MAAM,WAAW,GAAGC,iBAAM,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAA;;;;QAKpD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;;;;QAKlD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAGL,aAAQ,CAAC,OAAO,CAAC,CAAA;;;;;;;;AAUzC,QAAA,MAAM,SAAS,GAAG,OAAO,CACvB,MAAK;AACH,YAAA,MAAM,MAAM,GAAGE,cAAY,CAAC,SAAS,CAAA;AAErC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACtB,gBAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAC3D,aAAA;AAED,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;SACzB;;QAED,CAAC,KAAK,CAAC,CACR,CAAA;;;;AAKD,QAAA,MAAM,MAAM,GAAG,OAAO,CACpB,MAAK;AACH,YAAA,MAAM,MAAM,GAAGA,cAAY,CAAC,gBAAgB,CAAA;AAE5C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACtB,gBAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACtD,aAAA;AAED,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;SACzB;;QAED,CAAC,KAAK,CAAC,CACR,CAAA;;;;AAKD,QAAA,MAAM,oBAAoB,GAAG,OAAO,CAClC,MAAK;YACH,MAAM,MAAM,GAAGA,cAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAE/C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AAC1B,gBAAA,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;AACvD,aAAA;AAED,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;SAC7B;;AAED,QAAA,CAAC,IAAI,EAAE,SAAS,CAAC,CAClB,CAAA;;;;AAKD,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAC/B,MAAK;YACH,MAAM,MAAM,GAAGA,cAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAEpD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACvB,gBAAA,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AACjD,aAAA;AAED,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;SAC1B;;AAED,QAAA,CAAC,IAAI,EAAE,MAAM,CAAC,CACf,CAAA;;;;;;AAOD,QAAA,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAClE,MACE,gBAAgB,CAAC;YACf,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,WAAW;AACjC,SAAA,CAAC,EACJ,CAAC,MAAM,CAAC,CACT,CAAA;AAED,QAAA,MAAM,2BAA2B,GAAG,OAAO,CACzC,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EACpC,CAAC,iBAAiB,CAAC,CACpB,CAAA;;;;;;;AAQD,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG;AAChC,YAAA,GAAG,QAAQ;AACX,YAAA,GAAG,KAAK;SACT,CAAA;;;;;;AAOD,QAAA,MAAM,iBAAiB,GAAG;AACxB,YAAA,GAAG,MAAM;AACT,YAAA,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;SAC5B,CAAA;;;;;;QAOD,MAAM,WAAW,GAAG,sBAAsB,CAAC;AACzC,YAAA,KAAK,EAAE,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC;YACrD,UAAU;AACX,SAAA,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;;;;;;;QAQtE,MAAM,WAAW,GAAG,QAAQ,CAAC;YAC3B,WAAW;AACX,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,SAAS,EAAE,oBAAoB;AAChC,SAAA,CAAC,CAAA;;;;;;;AAQF,QAAA,MAAM,UAAU,GAAwB;;;YAGtC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,2BAA2B,EAAE,GAAG,WAAW,CAAC,CAAC;;AAErE,YAAA,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACjE,GAAG,EAAE,GAAG,IAAI,eAAe,GAAG,WAAW,GAAG,SAAS;;AAErD,YAAA,YAAY,EAAE,WAAW;AACzB,YAAA,YAAY,EAAE,gBAAgB;SAC/B,CAAA;;AAGD,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACzC,YAAA,UAAU,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAA;AAC/C,SAAA;AAED,QAAA,OAAO,KAAC,CAAA,aAAA,CAAA,eAAe,EAAK,EAAA,GAAA,UAAU,GAAI,CAAA;AAC5C,KAAC,CACF,CAAA;;;;;IAMD,MAAM,eAAe,GAAyB,OAAO,CAAC,GAAG,SAAS,CAAC,CACjE,iBAAiB,CAClB,CAAA;AACD,IAAA,eAAe,CAAC,cAAc,GAAG,IAAI,CAAA;AACrC,IAAA,eAAe,CAAC,WAAW,GAAG,aAAa,CAAA;AAE3C,IAAA,oBAAoB,CAAC,eAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;;;;AAK/D,IAAA,8BAA8B,CAAC;AAC7B,QAAA,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,OAAO,CAAC,aAAa;AACpC,QAAA,IAAI,EAAE,eAAe;QACrB,OAAO;AACR,KAAA,CAAC,CAAA;;AAGF,IAAA,eAAe,CAAC,cAAc,GAAG,IAAI,CAAA;AACrC,IAAA,eAAe,CAAC,WAAW,GAAG,aAAa,CAAA;AAC3C,IAAA,eAAe,CAAC,EAAE,GAAG,EAAE,CAAA;;;;;AAMvB,IAAA,sBAAsB,CAAC;QACrB,OAAO,EAAE,eAAe,CAAC,EAAE;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,KAAA,CAAC,CAAA;;IAGF,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,KAAI;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;AAEtC,QAAA,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACzC,KAAC,CAAA;AAED,IAAA,eAAe,CAAC,OAAO,GAAG,CAAC,IAAI,KAC7B,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAQ,CAAA;AAEpD,IAAA,eAAe,CAAC,mBAAmB,GAAG,CAAC,KAAK,KAAI;QAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAEjD,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;YAC7C,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,WAAW;AACjC,SAAA,CAAC,CAAA;QAEF,OAAO;AACL,YAAA,UAAU,EAAE,OAAO;YACnB,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAA;AACH,KAAC,CAAA;AAED,IAAA,eAAe,CAAC,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,KACnD,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK;QACL,KAAK;AACL,QAAA;YACE,MAAM;YACN,IAAI;YACJ,MAAM,EAAE,IAAI,KAAK,OAAO;YACxB,OAAO,EAAE,IAAI,KAAK,MAAM;AACzB,SAAA;AACF,KAAA,CAAC,CAAA;AAEJ,IAAA,OAAO,eAAe,CAAA;AACxB,CAAC;;ACxXD,MAAM,kBAAkB,GAAG;AACzB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,QAAQ,EAAE;AACR,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;CACO;;ACRV;AAkCM,MAAA,WAAW,GACf,CAAC,EAAE,UAAU,GAAGI,kBAAiB,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,KAC5D,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAI;;;;AAItB,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QAQzC,MAAM,MAAM,GAAW,EAAE,CAAA;QACzB,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,MAAM,CAAC,SAAS,GAAG,6CAA6C,CAAA;AACjE,SAAA;QAED,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,IAAI,GAAG,wCAAwC,CAAA;AACvD,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;AACvB,YAAA,MAAM,CAAC,UAAU,GAAG,8CAA8C,CAAA;AACnE,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAC7C,YAAA,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,KACnD,iBAAiB,CAAC,QAAQ,CAAC,IAAW,CAAC,CACxC,CAAA;AAED,YAAA,IAAI,gBAAgB,EAAE;gBACpB,MAAM,CAAC,iBAAiB,GAAG,CAAA;AACzB,UAAA,EAAAA,kBAAiB,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAA;AACjC,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;AACpC,SAAA;AACF,KAAA;AAED,IAAA,OAAO,eAAe,CAAC;QACrB,IAAI;QACJ,SAAS;QACT,WAAW;QACX,UAAU;AACV,QAAA,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC;AAClC,QAAA,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC;AAChD,QAAA,SAAS,EAAE,qBAAqB,CAAC,UAAU,CAAC;AAC5C,QAAA,MAAM,EAAE,IAAI;AACb,KAAA,CAAC,CAAA;AACJ;;ACpFF,MAAM,iBAAiB,GAAsB,CAAC,SAAS,KAAI;AACzD,IAAA,IACE,SAAS;QACT,OAAO,SAAS,KAAK,QAAQ;AAC7B,QAAA,SAAS,KAAK,IAAI;QAClB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACjE;AACA,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAED,IAAA,OAAO,KAAK,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"vitus-labs-rocketstyle.module.js","sources":["../src/constants/index.ts","../src/context/localContext.tsx","../src/hooks/usePseudoState.tsx","../src/hooks/useRef.ts","../src/context/context.tsx","../src/hooks/useTheme.tsx","../src/context/createLocalProvider.tsx","../src/cache/LocalThemeManager.ts","../src/utils/attrs.ts","../src/hoc/rocketstyleAttrsHoc.tsx","../src/utils/statics.ts","../src/utils/collection.ts","../src/utils/dimensions.ts","../src/utils/theme.ts","../src/utils/chaining.ts","../src/utils/compose.ts","../src/utils/styles.ts","../src/rocketstyle.tsx","../src/constants/defaultDimensions.ts","../src/init.ts","../src/isRocketComponent.tsx"],"sourcesContent":["export const MODE_DEFAULT = 'light'\n\nexport const PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'] as const\n\nexport const THEME_MODES = {\n light: true,\n dark: true,\n} as const\n\nexport const THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n} as const\n\nexport const CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n] as const\n\nexport const STYLING_KEYS = ['theme', 'attrs', 'styles'] as const\nexport const STATIC_KEYS = [...STYLING_KEYS, 'compose'] as const\n\nexport const ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n] as const\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\nconst context = createContext<LocalContext>({})\n\ntype UseLocalContext = (context: any) => LocalContext\nexport const useLocalContext: UseLocalContext = (consumer) => {\n const ctx = consumer ? useContext(context) : {}\n const result = consumer ? consumer((callback: any) => callback(ctx)) : {}\n\n return { pseudo: {}, ...result }\n}\n\nexport const LocalProvider = context.Provider\n\nexport default context\n","import {\n useState,\n useCallback,\n SyntheticEvent,\n MouseEventHandler,\n FocusEventHandler,\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: Omit<PseudoState, 'active'>\n events: PseudoActions\n}\n\nconst handleEvent = (e: SyntheticEvent) => {\n e.preventDefault()\n e.stopPropagation()\n}\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 handleEvent(e)\n setHover(true)\n if (onMouseEnter) onMouseEnter(e)\n },\n [onMouseEnter]\n )\n\n const handleOnMouseLeave: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(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 handleEvent(e)\n setPressed(true)\n if (onMouseDown) onMouseDown(e)\n },\n [onMouseDown]\n )\n\n const handleOnMouseUp: MouseEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setPressed(false)\n if (onMouseUp) onMouseUp(e)\n },\n [onMouseUp]\n )\n\n const handleOnFocus: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(e)\n setFocus(true)\n if (onFocus) onFocus(e)\n },\n [onFocus]\n )\n\n const handleOnBlur: FocusEventHandler = useCallback(\n (e) => {\n handleEvent(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 { useRef, useImperativeHandle, ForwardedRef } from 'react'\n\ntype UseRocketstyleRef = (props: {\n $rocketstyleRef?: ForwardedRef<unknown>\n ref?: ForwardedRef<unknown>\n}) => ForwardedRef<unknown>\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 React, { useContext, ReactNode, FC, ComponentType } from 'react'\nimport { Provider as CoreProvider, context } from '@vitus-labs/core'\nimport { THEME_MODES_INVERSED, MODE_DEFAULT } 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\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","import { useContext } from 'react'\nimport { context } from '~/context/context'\nimport { THEME_MODES_INVERSED } from '~/constants'\nimport { 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\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 React, {\n forwardRef,\n useMemo,\n ComponentType,\n ForwardRefExoticComponent,\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\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","export 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","/* eslint-disable no-param-reassign */\nimport { isEmpty } from '@vitus-labs/core'\nimport { MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// pick styled props\n// --------------------------------------------------------\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-ignore\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]) acc[key] = props[key]\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype OptionFunc<A> = (...arg: Array<A>) => Record<string, unknown>\ntype CalculateChainOptions = <A>(\n options?: Array<OptionFunc<A>>\n) => (args: Array<A>) => ReturnType<OptionFunc<A>>\n\nexport const calculateChainOptions: CalculateChainOptions =\n (options) => (args) => {\n const result = {}\n if (isEmpty(options)) return result\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {})\n }\n\n// --------------------------------------------------------\n// get style attributes\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 mutli key, allow assign array as well\n if (multiKeys && 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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const isMultiKey = multiKeys[key]\n\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue\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","/* eslint-disable no-underscore-dangle */\nimport React, {\n forwardRef,\n ForwardRefExoticComponent,\n ComponentType,\n} from 'react'\nimport { render } from '@vitus-labs/core'\nimport { calculateChainOptions } from '~/utils/attrs'\nimport { useTheme } from '~/hooks'\nimport type { OptionFunc } from '~/types/configuration'\n\nexport type RocketStyleHOC = ({\n inversed,\n attrs,\n}: {\n inversed?: boolean\n attrs?: Array<OptionFunc>\n}) => (WrappedComponent: ComponentType<any>) => ForwardRefExoticComponent<any>\n\nconst rocketStyleHOC: RocketStyleHOC = ({ inversed, attrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const _calculateChainOptions = calculateChainOptions(attrs)\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 calculatedAttrs = _calculateChainOptions([\n props,\n theme,\n {\n render,\n mode,\n isDark,\n isLight,\n },\n ])\n\n return (\n <WrappedComponent\n $rocketstyleRef={ref}\n {...calculatedAttrs}\n {...props}\n />\n )\n })\n\n return Enhanced\n}\n\nexport default rocketStyleHOC\n","import { isEmpty } from '@vitus-labs/core'\nimport { STATIC_KEYS } from '~/constants'\n\n// --------------------------------------------------------\n// helpers for create statics chainin methods on component\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: (param: any, param2: O) => 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 // eslint-disable-next-line no-param-reassign\n context[item] = (props: any) => func({ [item]: props }, options)\n })\n}\n\n// --------------------------------------------------------\n// helpers for create statics on component\n// --------------------------------------------------------\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","/* eslint-disable import/prefer-default-export */\n\n// --------------------------------------------------------\n// Remove Nullable values\n// --------------------------------------------------------\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 { get, isEmpty, set } from '@vitus-labs/core'\nimport { Dimensions, DimensionValue, MultiKeys } from '~/types/dimensions'\n\n// --------------------------------------------------------\n// Is value a valid key\n// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\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// --------------------------------------------------------\ntype ValueType<T> = T extends string ? T : Array<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// --------------------------------------------------------\ntype GetMultipleDimensions = <T extends Dimensions>(obj: T) => MultiKeys<T>\n\nexport const getMultipleDimensions: GetMultipleDimensions = (obj) =>\n getValues(obj).reduce((accumulator, value: DimensionValue) => {\n if (typeof value === 'object') {\n // eslint-disable-next-line no-param-reassign\n if (value.multi === true) accumulator[value.propName] = true\n }\n\n return accumulator\n }, {} as Record<string, any>)\n","/* eslint-disable no-param-reassign */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { config, isEmpty, merge } from '@vitus-labs/core'\nimport { ThemeModeCallback } from '~/types/theme'\nimport { removeNullableValues } from './collection'\nimport { isMultiKey } from './dimensions'\n\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\nexport const themeModeCallback: ThemeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light') return light\n return dark\n}\n\nthemeModeCallback.isMode = true\n\n// --------------------------------------------------------\n// Theme Mode Callback Check\n// --------------------------------------------------------\ntype IsModeCallback = (value: any) => boolean\nconst isModeCallback: IsModeCallback = (value) =>\n typeof value === 'function' &&\n // @ts-ignore\n value.toString() === themeModeCallback().toString()\n\n// --------------------------------------------------------\n// Get Theme From Chain\n// --------------------------------------------------------\ntype OptionFunc = (...arg: any) => Record<string, unknown>\ntype GetThemeFromChain = (\n options: Array<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// --------------------------------------------------------\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((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 // eslint-disable-next-line no-param-reassign\n acc[dimension] = removeNullableValues(finalDimensionThemes)\n }\n\n return acc\n }, result as Record<string, any>)\n}\n\n// --------------------------------------------------------\n// combine values\n// --------------------------------------------------------\ntype CalculateChainOptions = (\n options: Array<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// --------------------------------------------------------\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 | Array<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// generate theme\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((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 }, {} as Record<string, any>)\n","type Func = (...args: any) => Record<string, unknown>\ntype Obj = Record<string, unknown>\n\n// --------------------------------------------------------\n// Chain Options\n// --------------------------------------------------------\ntype ChainOptions = (opts: Obj | Func, defaultOpts: Func[]) => 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// --------------------------------------------------------\ntype ChainOrOptions = (\n keys: ReadonlyArray<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// --------------------------------------------------------\ntype ChainReservedKeyOptions = (\n keys: ReadonlyArray<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","/* eslint-disable import/prefer-default-export */\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","/* eslint-disable import/prefer-default-export */\nimport { config } from '@vitus-labs/core'\nimport type { StylesCbArray } from '~/types/styles'\n\n// --------------------------------------------------------\n// Calculate styles\n// --------------------------------------------------------\ntype CalculateStyles = (\n styles: StylesCbArray | undefined\n) => Array<ReturnType<StylesCbArray[number]>>\n\nexport const calculateStyles: CalculateStyles = (styles) => {\n if (!styles) return []\n\n return styles.map((item) => item(config.css))\n}\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo, forwardRef } from 'react'\nimport hoistNonReactStatics from 'hoist-non-react-statics'\nimport { config, omit, pick, compose, render } from '@vitus-labs/core'\nimport { PSEUDO_KEYS, CONFIG_KEYS, STYLING_KEYS } from '~/constants'\nimport { useLocalContext } from '~/context/localContext'\nimport createLocalProvider from '~/context/createLocalProvider'\nimport { LocalThemeManager } from '~/cache'\nimport { useRef, useTheme } from '~/hooks'\nimport { rocketstyleAttrsHoc } from '~/hoc'\nimport {\n createStaticsChainingEnhancers,\n createStaticsEnhancers,\n} from '~/utils/statics'\nimport {\n getThemeFromChain,\n getDimensionThemes,\n getTheme,\n getThemeByMode,\n} from '~/utils/theme'\nimport { chainOrOptions, chainReservedKeyOptions } from '~/utils/chaining'\nimport { calculateHocsFuncs } from '~/utils/compose'\nimport { calculateStyles } from '~/utils/styles'\nimport { getDimensionsMap } from '~/utils/dimensions'\nimport {\n pickStyledAttrs,\n calculateStylingAttrs,\n calculateChainOptions,\n} from '~/utils/attrs'\nimport type { RocketStyleComponent, ExoticComponent } from '~/types/rocketstyle'\nimport type { RocketComponent } from '~/types/rocketComponent'\nimport type { Configuration } from '~/types/configuration'\n\n// --------------------------------------------------------\n// cloneAndEnhance\n// helper function which allows function chaining\n// always returns rocketComponent with static functions\n// assigned\n// --------------------------------------------------------\ntype CloneAndEnhance = (\n opts: Partial<Configuration>,\n defaultOpts: Configuration\n) => ReturnType<typeof rocketComponent>\n\nconst cloneAndEnhance: CloneAndEnhance = (opts, defaultOpts) =>\n // @ts-ignore\n rocketComponent({\n ...defaultOpts,\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// @ts-ignore\nconst rocketComponent: RocketComponent = (options) => {\n const { component, styles } = options\n const { styled } = config\n\n // const _calculateChainOptions = calculateChainOptions(options.attrs)\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 - Cahed & 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 = 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),\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, [...RESERVED_STYLING_PROPS_KEYS, ...PSEUDO_KEYS]),\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\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.is = {}\n // ------------------------------------------------------\n\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.is,\n options: options.statics,\n })\n\n // @ts-ignore\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS)\n\n return cloneAndEnhance(result, options)\n }\n\n RocketComponent.statics = (opts) =>\n cloneAndEnhance({ statics: opts }, options) as any\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","const 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","// @ts-nocheck\n/* eslint-disable @typescript-eslint/ban-types */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport { isEmpty } from '@vitus-labs/core'\nimport rocketComponent from '~/rocketstyle'\nimport {\n getKeys,\n getMultipleDimensions,\n getDimensionsValues,\n} from '~/utils/dimensions'\nimport { ALL_RESERVED_KEYS } from '~/constants'\nimport defaultDimensions from '~/constants/defaultDimensions'\n\nimport type { ElementType } from '~/types/utils'\nimport type { Dimensions, DefaultDimensions } from '~/types/dimensions'\nimport type { RocketComponent } from '~/types/rocketComponent'\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\nconst rocketstyle: Rocketstyle =\n ({ dimensions = defaultDimensions, useBooleans = true } = {}) =>\n ({ name, component }) => {\n // --------------------------------------------------------\n // handle ERRORS in development mode\n // --------------------------------------------------------\n if (process.env.NODE_ENV !== 'production') {\n type Errors = Partial<{\n component: string\n name: string\n dimensions: string\n invalidDimensions: string\n }>\n\n const errors: Errors = {}\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\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.prototype.hasOwnProperty.call(component, 'IS_ROCKETSTYLE')\n ) {\n return true\n }\n\n return false\n}\n\nexport default isRocketComponent\n"],"names":["CoreProvider","context","useTheme","createLocalProvider","ThemeManager","LocalThemeManager","rocketstyleAttrsHoc","useRef","defaultDimensions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/rocketstyle",
3
- "version": "0.60.0",
3
+ "version": "0.61.0",
4
4
  "license": "MIT",
5
5
  "author": "Vit Bokisch <vit@bokisch.cz>",
6
6
  "maintainers": [
@@ -63,13 +63,13 @@
63
63
  "devDependencies": {
64
64
  "@emotion/css": "^11.9.0",
65
65
  "@emotion/styled": "^11.8.1",
66
- "@vitus-labs/core": "^0.60.0",
67
- "@vitus-labs/elements": "^0.60.0",
66
+ "@vitus-labs/core": "^0.61.0",
67
+ "@vitus-labs/elements": "^0.61.0",
68
68
  "@vitus-labs/tools-babel": "^0.33.0",
69
69
  "@vitus-labs/tools-rollup": "^0.33.0",
70
70
  "@vitus-labs/tools-storybook": "^0.33.0",
71
71
  "@vitus-labs/tools-typescript": "^0.33.0",
72
- "@vitus-labs/unistyle": "^0.60.0"
72
+ "@vitus-labs/unistyle": "^0.61.0"
73
73
  },
74
- "gitHead": "9ff496efc9cd9b8585ac36c5ea49992dd59e7662"
74
+ "gitHead": "22e65497d4f272a9f036a8a236f93dec8d913ca7"
75
75
  }
@@ -1,17 +0,0 @@
1
- import { ReactNode, FC, ComponentType } from 'react';
2
- import { context } from '@vitus-labs/core';
3
- declare type Theme = {
4
- rootSize: number;
5
- breakpoints?: Record<string, number>;
6
- __VITUS_LABS__?: never;
7
- } & Record<string, unknown>;
8
- export declare type TProvider = {
9
- children: ReactNode;
10
- theme?: Theme;
11
- mode?: 'light' | 'dark';
12
- inversed?: boolean;
13
- provider?: ComponentType<any>;
14
- };
15
- declare const Provider: FC<TProvider>;
16
- export { context };
17
- export default Provider;