@vitus-labs/coolgrid 0.43.0 → 0.46.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-coolgrid.js","children":[{"name":"src","children":[{"uid":"a077-1","name":"constants.ts"},{"uid":"a077-3","name":"utils.ts"},{"name":"context","children":[{"uid":"a077-5","name":"ContainerContext.ts"},{"uid":"a077-13","name":"RowContext.ts"}]},{"uid":"a077-7","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"a077-9","name":"styled.ts"},{"uid":"a077-11","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"a077-15","name":"styled.ts"},{"uid":"a077-17","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"a077-19","name":"styled.ts"},{"uid":"a077-21","name":"component.tsx"}]},{"uid":"a077-23","name":"theme.ts"},{"uid":"a077-25","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"a077-1":{"renderedLength":328,"gzipLength":219,"brotliLength":0,"mainUid":"a077-0"},"a077-3":{"renderedLength":261,"gzipLength":172,"brotliLength":0,"mainUid":"a077-2"},"a077-5":{"renderedLength":47,"gzipLength":59,"brotliLength":0,"mainUid":"a077-4"},"a077-7":{"renderedLength":674,"gzipLength":286,"brotliLength":0,"mainUid":"a077-6"},"a077-9":{"renderedLength":510,"gzipLength":312,"brotliLength":0,"mainUid":"a077-8"},"a077-11":{"renderedLength":838,"gzipLength":451,"brotliLength":0,"mainUid":"a077-10"},"a077-13":{"renderedLength":41,"gzipLength":56,"brotliLength":0,"mainUid":"a077-12"},"a077-15":{"renderedLength":1223,"gzipLength":567,"brotliLength":0,"mainUid":"a077-14"},"a077-17":{"renderedLength":1019,"gzipLength":457,"brotliLength":0,"mainUid":"a077-16"},"a077-19":{"renderedLength":1960,"gzipLength":764,"brotliLength":0,"mainUid":"a077-18"},"a077-21":{"renderedLength":671,"gzipLength":361,"brotliLength":0,"mainUid":"a077-20"},"a077-23":{"renderedLength":344,"gzipLength":176,"brotliLength":0,"mainUid":"a077-22"},"a077-25":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"a077-24"}},"nodeMetas":{"a077-0":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-1"},"imported":[],"importedBy":[{"uid":"a077-10"},{"uid":"a077-16"},{"uid":"a077-20"},{"uid":"a077-2"},{"uid":"a077-6"}]},"a077-2":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-3"},"imported":[{"uid":"a077-32"},{"uid":"a077-0"}],"importedBy":[{"uid":"a077-10"},{"uid":"a077-16"},{"uid":"a077-20"},{"uid":"a077-14"},{"uid":"a077-18"}]},"a077-4":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-5"},"imported":[{"uid":"a077-30"}],"importedBy":[{"uid":"a077-10"},{"uid":"a077-31"}]},"a077-6":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.js":"a077-7"},"imported":[{"uid":"a077-30"},{"uid":"a077-32"},{"uid":"a077-26"},{"uid":"a077-0"}],"importedBy":[{"uid":"a077-10"},{"uid":"a077-16"},{"uid":"a077-20"}]},"a077-8":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-9"},"imported":[{"uid":"a077-32"},{"uid":"a077-26"}],"importedBy":[{"uid":"a077-10"}]},"a077-10":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"a077-11"},"imported":[{"uid":"a077-30"},{"uid":"a077-0"},{"uid":"a077-2"},{"uid":"a077-4"},{"uid":"a077-6"},{"uid":"a077-8"}],"importedBy":[{"uid":"a077-27"}]},"a077-12":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-13"},"imported":[{"uid":"a077-30"}],"importedBy":[{"uid":"a077-31"}]},"a077-14":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-15"},"imported":[{"uid":"a077-32"},{"uid":"a077-26"},{"uid":"a077-2"}],"importedBy":[{"uid":"a077-16"}]},"a077-16":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"a077-17"},"imported":[{"uid":"a077-30"},{"uid":"a077-0"},{"uid":"a077-2"},{"uid":"a077-6"},{"uid":"a077-31"},{"uid":"a077-14"}],"importedBy":[{"uid":"a077-28"}]},"a077-18":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-19"},"imported":[{"uid":"a077-32"},{"uid":"a077-26"},{"uid":"a077-2"}],"importedBy":[{"uid":"a077-20"}]},"a077-20":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"a077-21"},"imported":[{"uid":"a077-30"},{"uid":"a077-0"},{"uid":"a077-2"},{"uid":"a077-6"},{"uid":"a077-31"},{"uid":"a077-18"}],"importedBy":[{"uid":"a077-29"}]},"a077-22":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-23"},"imported":[],"importedBy":[{"uid":"a077-24"}]},"a077-24":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.js":"a077-25"},"imported":[{"uid":"a077-26"},{"uid":"a077-27"},{"uid":"a077-28"},{"uid":"a077-29"},{"uid":"a077-22"}],"importedBy":[],"isEntry":true},"a077-26":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-24"},{"uid":"a077-6"},{"uid":"a077-8"},{"uid":"a077-14"},{"uid":"a077-18"}],"isExternal":true},"a077-27":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"a077-10"}],"importedBy":[{"uid":"a077-24"}]},"a077-28":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"a077-16"}],"importedBy":[{"uid":"a077-24"}]},"a077-29":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"a077-20"}],"importedBy":[{"uid":"a077-24"}]},"a077-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-10"},{"uid":"a077-16"},{"uid":"a077-20"},{"uid":"a077-4"},{"uid":"a077-6"},{"uid":"a077-12"}],"isExternal":true},"a077-31":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"a077-4"},{"uid":"a077-12"}],"importedBy":[{"uid":"a077-16"},{"uid":"a077-20"}]},"a077-32":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-2"},{"uid":"a077-6"},{"uid":"a077-8"},{"uid":"a077-14"},{"uid":"a077-18"}],"isExternal":true}},"env":{"rollup":"2.67.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6427
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.js","children":[{"name":"src","children":[{"uid":"8766-1","name":"constants.ts"},{"uid":"8766-3","name":"utils.ts"},{"name":"context","children":[{"uid":"8766-5","name":"ContainerContext.ts"},{"uid":"8766-13","name":"RowContext.ts"}]},{"uid":"8766-7","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"8766-9","name":"styled.ts"},{"uid":"8766-11","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"8766-15","name":"styled.ts"},{"uid":"8766-17","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"8766-19","name":"styled.ts"},{"uid":"8766-21","name":"component.tsx"}]},{"uid":"8766-23","name":"theme.ts"},{"uid":"8766-25","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"8766-1":{"renderedLength":328,"gzipLength":219,"brotliLength":0,"mainUid":"8766-0"},"8766-3":{"renderedLength":261,"gzipLength":172,"brotliLength":0,"mainUid":"8766-2"},"8766-5":{"renderedLength":47,"gzipLength":59,"brotliLength":0,"mainUid":"8766-4"},"8766-7":{"renderedLength":674,"gzipLength":286,"brotliLength":0,"mainUid":"8766-6"},"8766-9":{"renderedLength":508,"gzipLength":309,"brotliLength":0,"mainUid":"8766-8"},"8766-11":{"renderedLength":838,"gzipLength":451,"brotliLength":0,"mainUid":"8766-10"},"8766-13":{"renderedLength":41,"gzipLength":56,"brotliLength":0,"mainUid":"8766-12"},"8766-15":{"renderedLength":1221,"gzipLength":564,"brotliLength":0,"mainUid":"8766-14"},"8766-17":{"renderedLength":1019,"gzipLength":457,"brotliLength":0,"mainUid":"8766-16"},"8766-19":{"renderedLength":1964,"gzipLength":765,"brotliLength":0,"mainUid":"8766-18"},"8766-21":{"renderedLength":671,"gzipLength":361,"brotliLength":0,"mainUid":"8766-20"},"8766-23":{"renderedLength":344,"gzipLength":176,"brotliLength":0,"mainUid":"8766-22"},"8766-25":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"8766-24"}},"nodeMetas":{"8766-0":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-1"},"imported":[],"importedBy":[{"uid":"8766-10"},{"uid":"8766-16"},{"uid":"8766-20"},{"uid":"8766-2"},{"uid":"8766-6"}]},"8766-2":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-3"},"imported":[{"uid":"8766-32"},{"uid":"8766-0"}],"importedBy":[{"uid":"8766-10"},{"uid":"8766-16"},{"uid":"8766-20"},{"uid":"8766-14"},{"uid":"8766-18"}]},"8766-4":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-5"},"imported":[{"uid":"8766-30"}],"importedBy":[{"uid":"8766-10"},{"uid":"8766-31"}]},"8766-6":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.js":"8766-7"},"imported":[{"uid":"8766-30"},{"uid":"8766-32"},{"uid":"8766-26"},{"uid":"8766-0"}],"importedBy":[{"uid":"8766-10"},{"uid":"8766-16"},{"uid":"8766-20"}]},"8766-8":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-9"},"imported":[{"uid":"8766-32"},{"uid":"8766-26"}],"importedBy":[{"uid":"8766-10"}]},"8766-10":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"8766-11"},"imported":[{"uid":"8766-30"},{"uid":"8766-0"},{"uid":"8766-2"},{"uid":"8766-4"},{"uid":"8766-6"},{"uid":"8766-8"}],"importedBy":[{"uid":"8766-27"}]},"8766-12":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-13"},"imported":[{"uid":"8766-30"}],"importedBy":[{"uid":"8766-31"}]},"8766-14":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-15"},"imported":[{"uid":"8766-32"},{"uid":"8766-26"},{"uid":"8766-2"}],"importedBy":[{"uid":"8766-16"}]},"8766-16":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"8766-17"},"imported":[{"uid":"8766-30"},{"uid":"8766-0"},{"uid":"8766-2"},{"uid":"8766-6"},{"uid":"8766-31"},{"uid":"8766-14"}],"importedBy":[{"uid":"8766-28"}]},"8766-18":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-19"},"imported":[{"uid":"8766-32"},{"uid":"8766-26"},{"uid":"8766-2"}],"importedBy":[{"uid":"8766-20"}]},"8766-20":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"8766-21"},"imported":[{"uid":"8766-30"},{"uid":"8766-0"},{"uid":"8766-2"},{"uid":"8766-6"},{"uid":"8766-31"},{"uid":"8766-18"}],"importedBy":[{"uid":"8766-29"}]},"8766-22":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-23"},"imported":[],"importedBy":[{"uid":"8766-24"}]},"8766-24":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.js":"8766-25"},"imported":[{"uid":"8766-26"},{"uid":"8766-27"},{"uid":"8766-28"},{"uid":"8766-29"},{"uid":"8766-22"}],"importedBy":[],"isEntry":true},"8766-26":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-24"},{"uid":"8766-6"},{"uid":"8766-8"},{"uid":"8766-14"},{"uid":"8766-18"}],"isExternal":true},"8766-27":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"8766-10"}],"importedBy":[{"uid":"8766-24"}]},"8766-28":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"8766-16"}],"importedBy":[{"uid":"8766-24"}]},"8766-29":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"8766-20"}],"importedBy":[{"uid":"8766-24"}]},"8766-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-10"},{"uid":"8766-16"},{"uid":"8766-20"},{"uid":"8766-4"},{"uid":"8766-6"},{"uid":"8766-12"}],"isExternal":true},"8766-31":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"8766-4"},{"uid":"8766-12"}],"importedBy":[{"uid":"8766-16"},{"uid":"8766-20"}]},"8766-32":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-2"},{"uid":"8766-6"},{"uid":"8766-8"},{"uid":"8766-14"},{"uid":"8766-18"}],"isExternal":true}},"env":{"rollup":"2.70.1"},"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-coolgrid.module.js","children":[{"name":"src","children":[{"uid":"a077-34","name":"constants.ts"},{"uid":"a077-36","name":"utils.ts"},{"name":"context","children":[{"uid":"a077-38","name":"ContainerContext.ts"},{"uid":"a077-46","name":"RowContext.ts"}]},{"uid":"a077-40","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"a077-42","name":"styled.ts"},{"uid":"a077-44","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"a077-48","name":"styled.ts"},{"uid":"a077-50","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"a077-52","name":"styled.ts"},{"uid":"a077-54","name":"component.tsx"}]},{"uid":"a077-56","name":"theme.ts"},{"uid":"a077-58","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"a077-34":{"renderedLength":328,"gzipLength":219,"brotliLength":0,"mainUid":"a077-33"},"a077-36":{"renderedLength":256,"gzipLength":167,"brotliLength":0,"mainUid":"a077-35"},"a077-38":{"renderedLength":41,"gzipLength":53,"brotliLength":0,"mainUid":"a077-37"},"a077-40":{"renderedLength":624,"gzipLength":270,"brotliLength":0,"mainUid":"a077-39"},"a077-42":{"renderedLength":463,"gzipLength":302,"brotliLength":0,"mainUid":"a077-41"},"a077-44":{"renderedLength":798,"gzipLength":436,"brotliLength":0,"mainUid":"a077-43"},"a077-46":{"renderedLength":35,"gzipLength":49,"brotliLength":0,"mainUid":"a077-45"},"a077-48":{"renderedLength":1157,"gzipLength":552,"brotliLength":0,"mainUid":"a077-47"},"a077-50":{"renderedLength":967,"gzipLength":439,"brotliLength":0,"mainUid":"a077-49"},"a077-52":{"renderedLength":1885,"gzipLength":750,"brotliLength":0,"mainUid":"a077-51"},"a077-54":{"renderedLength":645,"gzipLength":343,"brotliLength":0,"mainUid":"a077-53"},"a077-56":{"renderedLength":344,"gzipLength":176,"brotliLength":0,"mainUid":"a077-55"},"a077-58":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"a077-57"}},"nodeMetas":{"a077-33":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-34"},"imported":[],"importedBy":[{"uid":"a077-43"},{"uid":"a077-49"},{"uid":"a077-53"},{"uid":"a077-35"},{"uid":"a077-39"}]},"a077-35":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-36"},"imported":[{"uid":"a077-65"},{"uid":"a077-33"}],"importedBy":[{"uid":"a077-43"},{"uid":"a077-49"},{"uid":"a077-53"},{"uid":"a077-47"},{"uid":"a077-51"}]},"a077-37":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-38"},"imported":[{"uid":"a077-63"}],"importedBy":[{"uid":"a077-43"},{"uid":"a077-64"}]},"a077-39":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-40"},"imported":[{"uid":"a077-63"},{"uid":"a077-65"},{"uid":"a077-59"},{"uid":"a077-33"}],"importedBy":[{"uid":"a077-43"},{"uid":"a077-49"},{"uid":"a077-53"}]},"a077-41":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-42"},"imported":[{"uid":"a077-65"},{"uid":"a077-59"}],"importedBy":[{"uid":"a077-43"}]},"a077-43":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-44"},"imported":[{"uid":"a077-63"},{"uid":"a077-33"},{"uid":"a077-35"},{"uid":"a077-37"},{"uid":"a077-39"},{"uid":"a077-41"}],"importedBy":[{"uid":"a077-60"}]},"a077-45":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-46"},"imported":[{"uid":"a077-63"}],"importedBy":[{"uid":"a077-64"}]},"a077-47":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-48"},"imported":[{"uid":"a077-65"},{"uid":"a077-59"},{"uid":"a077-35"}],"importedBy":[{"uid":"a077-49"}]},"a077-49":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-50"},"imported":[{"uid":"a077-63"},{"uid":"a077-33"},{"uid":"a077-35"},{"uid":"a077-39"},{"uid":"a077-64"},{"uid":"a077-47"}],"importedBy":[{"uid":"a077-61"}]},"a077-51":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-52"},"imported":[{"uid":"a077-65"},{"uid":"a077-59"},{"uid":"a077-35"}],"importedBy":[{"uid":"a077-53"}]},"a077-53":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-54"},"imported":[{"uid":"a077-63"},{"uid":"a077-33"},{"uid":"a077-35"},{"uid":"a077-39"},{"uid":"a077-64"},{"uid":"a077-51"}],"importedBy":[{"uid":"a077-62"}]},"a077-55":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-56"},"imported":[],"importedBy":[{"uid":"a077-57"}]},"a077-57":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"a077-58"},"imported":[{"uid":"a077-59"},{"uid":"a077-60"},{"uid":"a077-61"},{"uid":"a077-62"},{"uid":"a077-55"}],"importedBy":[],"isEntry":true},"a077-59":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-57"},{"uid":"a077-39"},{"uid":"a077-41"},{"uid":"a077-47"},{"uid":"a077-51"}],"isExternal":true},"a077-60":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"a077-43"}],"importedBy":[{"uid":"a077-57"}]},"a077-61":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"a077-49"}],"importedBy":[{"uid":"a077-57"}]},"a077-62":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"a077-53"}],"importedBy":[{"uid":"a077-57"}]},"a077-63":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-43"},{"uid":"a077-49"},{"uid":"a077-53"},{"uid":"a077-37"},{"uid":"a077-39"},{"uid":"a077-45"}],"isExternal":true},"a077-64":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"a077-37"},{"uid":"a077-45"}],"importedBy":[{"uid":"a077-49"},{"uid":"a077-53"}]},"a077-65":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-35"},{"uid":"a077-39"},{"uid":"a077-41"},{"uid":"a077-47"},{"uid":"a077-51"}],"isExternal":true}},"env":{"rollup":"2.67.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6427
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.module.js","children":[{"name":"src","children":[{"uid":"8766-34","name":"constants.ts"},{"uid":"8766-36","name":"utils.ts"},{"name":"context","children":[{"uid":"8766-38","name":"ContainerContext.ts"},{"uid":"8766-46","name":"RowContext.ts"}]},{"uid":"8766-40","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"8766-42","name":"styled.ts"},{"uid":"8766-44","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"8766-48","name":"styled.ts"},{"uid":"8766-50","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"8766-52","name":"styled.ts"},{"uid":"8766-54","name":"component.tsx"}]},{"uid":"8766-56","name":"theme.ts"},{"uid":"8766-58","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"8766-34":{"renderedLength":328,"gzipLength":219,"brotliLength":0,"mainUid":"8766-33"},"8766-36":{"renderedLength":256,"gzipLength":167,"brotliLength":0,"mainUid":"8766-35"},"8766-38":{"renderedLength":41,"gzipLength":53,"brotliLength":0,"mainUid":"8766-37"},"8766-40":{"renderedLength":624,"gzipLength":270,"brotliLength":0,"mainUid":"8766-39"},"8766-42":{"renderedLength":461,"gzipLength":297,"brotliLength":0,"mainUid":"8766-41"},"8766-44":{"renderedLength":798,"gzipLength":436,"brotliLength":0,"mainUid":"8766-43"},"8766-46":{"renderedLength":35,"gzipLength":49,"brotliLength":0,"mainUid":"8766-45"},"8766-48":{"renderedLength":1155,"gzipLength":550,"brotliLength":0,"mainUid":"8766-47"},"8766-50":{"renderedLength":967,"gzipLength":439,"brotliLength":0,"mainUid":"8766-49"},"8766-52":{"renderedLength":1889,"gzipLength":751,"brotliLength":0,"mainUid":"8766-51"},"8766-54":{"renderedLength":645,"gzipLength":343,"brotliLength":0,"mainUid":"8766-53"},"8766-56":{"renderedLength":344,"gzipLength":176,"brotliLength":0,"mainUid":"8766-55"},"8766-58":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"8766-57"}},"nodeMetas":{"8766-33":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-34"},"imported":[],"importedBy":[{"uid":"8766-43"},{"uid":"8766-49"},{"uid":"8766-53"},{"uid":"8766-35"},{"uid":"8766-39"}]},"8766-35":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-36"},"imported":[{"uid":"8766-65"},{"uid":"8766-33"}],"importedBy":[{"uid":"8766-43"},{"uid":"8766-49"},{"uid":"8766-53"},{"uid":"8766-47"},{"uid":"8766-51"}]},"8766-37":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-38"},"imported":[{"uid":"8766-63"}],"importedBy":[{"uid":"8766-43"},{"uid":"8766-64"}]},"8766-39":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-40"},"imported":[{"uid":"8766-63"},{"uid":"8766-65"},{"uid":"8766-59"},{"uid":"8766-33"}],"importedBy":[{"uid":"8766-43"},{"uid":"8766-49"},{"uid":"8766-53"}]},"8766-41":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-42"},"imported":[{"uid":"8766-65"},{"uid":"8766-59"}],"importedBy":[{"uid":"8766-43"}]},"8766-43":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-44"},"imported":[{"uid":"8766-63"},{"uid":"8766-33"},{"uid":"8766-35"},{"uid":"8766-37"},{"uid":"8766-39"},{"uid":"8766-41"}],"importedBy":[{"uid":"8766-60"}]},"8766-45":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-46"},"imported":[{"uid":"8766-63"}],"importedBy":[{"uid":"8766-64"}]},"8766-47":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-48"},"imported":[{"uid":"8766-65"},{"uid":"8766-59"},{"uid":"8766-35"}],"importedBy":[{"uid":"8766-49"}]},"8766-49":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-50"},"imported":[{"uid":"8766-63"},{"uid":"8766-33"},{"uid":"8766-35"},{"uid":"8766-39"},{"uid":"8766-64"},{"uid":"8766-47"}],"importedBy":[{"uid":"8766-61"}]},"8766-51":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-52"},"imported":[{"uid":"8766-65"},{"uid":"8766-59"},{"uid":"8766-35"}],"importedBy":[{"uid":"8766-53"}]},"8766-53":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-54"},"imported":[{"uid":"8766-63"},{"uid":"8766-33"},{"uid":"8766-35"},{"uid":"8766-39"},{"uid":"8766-64"},{"uid":"8766-51"}],"importedBy":[{"uid":"8766-62"}]},"8766-55":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-56"},"imported":[],"importedBy":[{"uid":"8766-57"}]},"8766-57":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"8766-58"},"imported":[{"uid":"8766-59"},{"uid":"8766-60"},{"uid":"8766-61"},{"uid":"8766-62"},{"uid":"8766-55"}],"importedBy":[],"isEntry":true},"8766-59":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-57"},{"uid":"8766-39"},{"uid":"8766-41"},{"uid":"8766-47"},{"uid":"8766-51"}],"isExternal":true},"8766-60":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"8766-43"}],"importedBy":[{"uid":"8766-57"}]},"8766-61":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"8766-49"}],"importedBy":[{"uid":"8766-57"}]},"8766-62":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"8766-53"}],"importedBy":[{"uid":"8766-57"}]},"8766-63":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-43"},{"uid":"8766-49"},{"uid":"8766-53"},{"uid":"8766-37"},{"uid":"8766-39"},{"uid":"8766-45"}],"isExternal":true},"8766-64":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"8766-37"},{"uid":"8766-45"}],"importedBy":[{"uid":"8766-49"},{"uid":"8766-53"}]},"8766-65":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-35"},{"uid":"8766-39"},{"uid":"8766-41"},{"uid":"8766-47"},{"uid":"8766-51"}],"isExternal":true}},"env":{"rollup":"2.70.1"},"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-coolgrid.umd.js","children":[{"name":"src","children":[{"uid":"a077-67","name":"constants.ts"},{"uid":"a077-69","name":"utils.ts"},{"name":"context","children":[{"uid":"a077-71","name":"ContainerContext.ts"},{"uid":"a077-79","name":"RowContext.ts"}]},{"uid":"a077-73","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"a077-75","name":"styled.ts"},{"uid":"a077-77","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"a077-81","name":"styled.ts"},{"uid":"a077-83","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"a077-85","name":"styled.ts"},{"uid":"a077-87","name":"component.tsx"}]},{"uid":"a077-89","name":"theme.ts"},{"uid":"a077-91","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"a077-67":{"renderedLength":360,"gzipLength":221,"brotliLength":0,"mainUid":"a077-66"},"a077-69":{"renderedLength":269,"gzipLength":172,"brotliLength":0,"mainUid":"a077-68"},"a077-71":{"renderedLength":49,"gzipLength":61,"brotliLength":0,"mainUid":"a077-70"},"a077-73":{"renderedLength":704,"gzipLength":286,"brotliLength":0,"mainUid":"a077-72"},"a077-75":{"renderedLength":467,"gzipLength":297,"brotliLength":0,"mainUid":"a077-74"},"a077-77":{"renderedLength":874,"gzipLength":454,"brotliLength":0,"mainUid":"a077-76"},"a077-79":{"renderedLength":43,"gzipLength":58,"brotliLength":0,"mainUid":"a077-78"},"a077-81":{"renderedLength":1214,"gzipLength":554,"brotliLength":0,"mainUid":"a077-80"},"a077-83":{"renderedLength":1063,"gzipLength":460,"brotliLength":0,"mainUid":"a077-82"},"a077-85":{"renderedLength":1942,"gzipLength":736,"brotliLength":0,"mainUid":"a077-84"},"a077-87":{"renderedLength":707,"gzipLength":365,"brotliLength":0,"mainUid":"a077-86"},"a077-89":{"renderedLength":384,"gzipLength":178,"brotliLength":0,"mainUid":"a077-88"},"a077-91":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"a077-90"}},"nodeMetas":{"a077-66":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-67"},"imported":[],"importedBy":[{"uid":"a077-76"},{"uid":"a077-82"},{"uid":"a077-86"},{"uid":"a077-68"},{"uid":"a077-72"}]},"a077-68":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-69"},"imported":[{"uid":"a077-98"},{"uid":"a077-66"}],"importedBy":[{"uid":"a077-76"},{"uid":"a077-82"},{"uid":"a077-86"},{"uid":"a077-80"},{"uid":"a077-84"}]},"a077-70":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-71"},"imported":[{"uid":"a077-96"}],"importedBy":[{"uid":"a077-76"},{"uid":"a077-97"}]},"a077-72":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-73"},"imported":[{"uid":"a077-96"},{"uid":"a077-98"},{"uid":"a077-92"},{"uid":"a077-66"}],"importedBy":[{"uid":"a077-76"},{"uid":"a077-82"},{"uid":"a077-86"}]},"a077-74":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-75"},"imported":[{"uid":"a077-98"},{"uid":"a077-92"}],"importedBy":[{"uid":"a077-76"}]},"a077-76":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-77"},"imported":[{"uid":"a077-96"},{"uid":"a077-66"},{"uid":"a077-68"},{"uid":"a077-70"},{"uid":"a077-72"},{"uid":"a077-74"}],"importedBy":[{"uid":"a077-93"}]},"a077-78":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-79"},"imported":[{"uid":"a077-96"}],"importedBy":[{"uid":"a077-97"}]},"a077-80":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-81"},"imported":[{"uid":"a077-98"},{"uid":"a077-92"},{"uid":"a077-68"}],"importedBy":[{"uid":"a077-82"}]},"a077-82":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-83"},"imported":[{"uid":"a077-96"},{"uid":"a077-66"},{"uid":"a077-68"},{"uid":"a077-72"},{"uid":"a077-97"},{"uid":"a077-80"}],"importedBy":[{"uid":"a077-94"}]},"a077-84":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-85"},"imported":[{"uid":"a077-98"},{"uid":"a077-92"},{"uid":"a077-68"}],"importedBy":[{"uid":"a077-86"}]},"a077-86":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-87"},"imported":[{"uid":"a077-96"},{"uid":"a077-66"},{"uid":"a077-68"},{"uid":"a077-72"},{"uid":"a077-97"},{"uid":"a077-84"}],"importedBy":[{"uid":"a077-95"}]},"a077-88":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-89"},"imported":[],"importedBy":[{"uid":"a077-90"}]},"a077-90":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"a077-91"},"imported":[{"uid":"a077-92"},{"uid":"a077-93"},{"uid":"a077-94"},{"uid":"a077-95"},{"uid":"a077-88"}],"importedBy":[],"isEntry":true},"a077-92":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-90"},{"uid":"a077-72"},{"uid":"a077-74"},{"uid":"a077-80"},{"uid":"a077-84"}],"isExternal":true},"a077-93":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"a077-76"}],"importedBy":[{"uid":"a077-90"}]},"a077-94":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"a077-82"}],"importedBy":[{"uid":"a077-90"}]},"a077-95":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"a077-86"}],"importedBy":[{"uid":"a077-90"}]},"a077-96":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-76"},{"uid":"a077-82"},{"uid":"a077-86"},{"uid":"a077-70"},{"uid":"a077-72"},{"uid":"a077-78"}],"isExternal":true},"a077-97":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"a077-70"},{"uid":"a077-78"}],"importedBy":[{"uid":"a077-82"},{"uid":"a077-86"}]},"a077-98":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-68"},{"uid":"a077-72"},{"uid":"a077-74"},{"uid":"a077-80"},{"uid":"a077-84"}],"isExternal":true}},"env":{"rollup":"2.67.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6427
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.umd.js","children":[{"name":"src","children":[{"uid":"8766-67","name":"constants.ts"},{"uid":"8766-69","name":"utils.ts"},{"name":"context","children":[{"uid":"8766-71","name":"ContainerContext.ts"},{"uid":"8766-79","name":"RowContext.ts"}]},{"uid":"8766-73","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"8766-75","name":"styled.ts"},{"uid":"8766-77","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"8766-81","name":"styled.ts"},{"uid":"8766-83","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"8766-85","name":"styled.ts"},{"uid":"8766-87","name":"component.tsx"}]},{"uid":"8766-89","name":"theme.ts"},{"uid":"8766-91","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"8766-67":{"renderedLength":360,"gzipLength":221,"brotliLength":0,"mainUid":"8766-66"},"8766-69":{"renderedLength":269,"gzipLength":172,"brotliLength":0,"mainUid":"8766-68"},"8766-71":{"renderedLength":49,"gzipLength":61,"brotliLength":0,"mainUid":"8766-70"},"8766-73":{"renderedLength":704,"gzipLength":286,"brotliLength":0,"mainUid":"8766-72"},"8766-75":{"renderedLength":465,"gzipLength":294,"brotliLength":0,"mainUid":"8766-74"},"8766-77":{"renderedLength":874,"gzipLength":454,"brotliLength":0,"mainUid":"8766-76"},"8766-79":{"renderedLength":43,"gzipLength":58,"brotliLength":0,"mainUid":"8766-78"},"8766-81":{"renderedLength":1212,"gzipLength":552,"brotliLength":0,"mainUid":"8766-80"},"8766-83":{"renderedLength":1063,"gzipLength":460,"brotliLength":0,"mainUid":"8766-82"},"8766-85":{"renderedLength":1946,"gzipLength":737,"brotliLength":0,"mainUid":"8766-84"},"8766-87":{"renderedLength":707,"gzipLength":365,"brotliLength":0,"mainUid":"8766-86"},"8766-89":{"renderedLength":384,"gzipLength":178,"brotliLength":0,"mainUid":"8766-88"},"8766-91":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"8766-90"}},"nodeMetas":{"8766-66":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-67"},"imported":[],"importedBy":[{"uid":"8766-76"},{"uid":"8766-82"},{"uid":"8766-86"},{"uid":"8766-68"},{"uid":"8766-72"}]},"8766-68":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-69"},"imported":[{"uid":"8766-98"},{"uid":"8766-66"}],"importedBy":[{"uid":"8766-76"},{"uid":"8766-82"},{"uid":"8766-86"},{"uid":"8766-80"},{"uid":"8766-84"}]},"8766-70":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-71"},"imported":[{"uid":"8766-96"}],"importedBy":[{"uid":"8766-76"},{"uid":"8766-97"}]},"8766-72":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-73"},"imported":[{"uid":"8766-96"},{"uid":"8766-98"},{"uid":"8766-92"},{"uid":"8766-66"}],"importedBy":[{"uid":"8766-76"},{"uid":"8766-82"},{"uid":"8766-86"}]},"8766-74":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-75"},"imported":[{"uid":"8766-98"},{"uid":"8766-92"}],"importedBy":[{"uid":"8766-76"}]},"8766-76":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-77"},"imported":[{"uid":"8766-96"},{"uid":"8766-66"},{"uid":"8766-68"},{"uid":"8766-70"},{"uid":"8766-72"},{"uid":"8766-74"}],"importedBy":[{"uid":"8766-93"}]},"8766-78":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-79"},"imported":[{"uid":"8766-96"}],"importedBy":[{"uid":"8766-97"}]},"8766-80":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-81"},"imported":[{"uid":"8766-98"},{"uid":"8766-92"},{"uid":"8766-68"}],"importedBy":[{"uid":"8766-82"}]},"8766-82":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-83"},"imported":[{"uid":"8766-96"},{"uid":"8766-66"},{"uid":"8766-68"},{"uid":"8766-72"},{"uid":"8766-97"},{"uid":"8766-80"}],"importedBy":[{"uid":"8766-94"}]},"8766-84":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-85"},"imported":[{"uid":"8766-98"},{"uid":"8766-92"},{"uid":"8766-68"}],"importedBy":[{"uid":"8766-86"}]},"8766-86":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-87"},"imported":[{"uid":"8766-96"},{"uid":"8766-66"},{"uid":"8766-68"},{"uid":"8766-72"},{"uid":"8766-97"},{"uid":"8766-84"}],"importedBy":[{"uid":"8766-95"}]},"8766-88":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-89"},"imported":[],"importedBy":[{"uid":"8766-90"}]},"8766-90":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"8766-91"},"imported":[{"uid":"8766-92"},{"uid":"8766-93"},{"uid":"8766-94"},{"uid":"8766-95"},{"uid":"8766-88"}],"importedBy":[],"isEntry":true},"8766-92":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-90"},{"uid":"8766-72"},{"uid":"8766-74"},{"uid":"8766-80"},{"uid":"8766-84"}],"isExternal":true},"8766-93":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"8766-76"}],"importedBy":[{"uid":"8766-90"}]},"8766-94":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"8766-82"}],"importedBy":[{"uid":"8766-90"}]},"8766-95":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"8766-86"}],"importedBy":[{"uid":"8766-90"}]},"8766-96":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-76"},{"uid":"8766-82"},{"uid":"8766-86"},{"uid":"8766-70"},{"uid":"8766-72"},{"uid":"8766-78"}],"isExternal":true},"8766-97":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"8766-70"},{"uid":"8766-78"}],"importedBy":[{"uid":"8766-82"},{"uid":"8766-86"}]},"8766-98":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-68"},{"uid":"8766-72"},{"uid":"8766-74"},{"uid":"8766-80"},{"uid":"8766-84"}],"isExternal":true}},"env":{"rollup":"2.70.1"},"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-coolgrid.umd.min.js","children":[{"name":"src","children":[{"uid":"a077-100","name":"constants.ts"},{"uid":"a077-102","name":"utils.ts"},{"name":"context","children":[{"uid":"a077-104","name":"ContainerContext.ts"},{"uid":"a077-112","name":"RowContext.ts"}]},{"uid":"a077-106","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"a077-108","name":"styled.ts"},{"uid":"a077-110","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"a077-114","name":"styled.ts"},{"uid":"a077-116","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"a077-118","name":"styled.ts"},{"uid":"a077-120","name":"component.tsx"}]},{"uid":"a077-122","name":"theme.ts"},{"uid":"a077-124","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"a077-100":{"renderedLength":360,"gzipLength":221,"brotliLength":0,"mainUid":"a077-99"},"a077-102":{"renderedLength":269,"gzipLength":172,"brotliLength":0,"mainUid":"a077-101"},"a077-104":{"renderedLength":49,"gzipLength":61,"brotliLength":0,"mainUid":"a077-103"},"a077-106":{"renderedLength":704,"gzipLength":286,"brotliLength":0,"mainUid":"a077-105"},"a077-108":{"renderedLength":467,"gzipLength":297,"brotliLength":0,"mainUid":"a077-107"},"a077-110":{"renderedLength":874,"gzipLength":454,"brotliLength":0,"mainUid":"a077-109"},"a077-112":{"renderedLength":43,"gzipLength":58,"brotliLength":0,"mainUid":"a077-111"},"a077-114":{"renderedLength":1214,"gzipLength":554,"brotliLength":0,"mainUid":"a077-113"},"a077-116":{"renderedLength":1063,"gzipLength":460,"brotliLength":0,"mainUid":"a077-115"},"a077-118":{"renderedLength":1942,"gzipLength":736,"brotliLength":0,"mainUid":"a077-117"},"a077-120":{"renderedLength":707,"gzipLength":365,"brotliLength":0,"mainUid":"a077-119"},"a077-122":{"renderedLength":384,"gzipLength":178,"brotliLength":0,"mainUid":"a077-121"},"a077-124":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"a077-123"}},"nodeMetas":{"a077-99":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-100"},"imported":[],"importedBy":[{"uid":"a077-109"},{"uid":"a077-115"},{"uid":"a077-119"},{"uid":"a077-101"},{"uid":"a077-105"}]},"a077-101":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-102"},"imported":[{"uid":"a077-131"},{"uid":"a077-99"}],"importedBy":[{"uid":"a077-109"},{"uid":"a077-115"},{"uid":"a077-119"},{"uid":"a077-113"},{"uid":"a077-117"}]},"a077-103":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-104"},"imported":[{"uid":"a077-129"}],"importedBy":[{"uid":"a077-109"},{"uid":"a077-130"}]},"a077-105":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-106"},"imported":[{"uid":"a077-129"},{"uid":"a077-131"},{"uid":"a077-125"},{"uid":"a077-99"}],"importedBy":[{"uid":"a077-109"},{"uid":"a077-115"},{"uid":"a077-119"}]},"a077-107":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-108"},"imported":[{"uid":"a077-131"},{"uid":"a077-125"}],"importedBy":[{"uid":"a077-109"}]},"a077-109":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-110"},"imported":[{"uid":"a077-129"},{"uid":"a077-99"},{"uid":"a077-101"},{"uid":"a077-103"},{"uid":"a077-105"},{"uid":"a077-107"}],"importedBy":[{"uid":"a077-126"}]},"a077-111":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-112"},"imported":[{"uid":"a077-129"}],"importedBy":[{"uid":"a077-130"}]},"a077-113":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-114"},"imported":[{"uid":"a077-131"},{"uid":"a077-125"},{"uid":"a077-101"}],"importedBy":[{"uid":"a077-115"}]},"a077-115":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-116"},"imported":[{"uid":"a077-129"},{"uid":"a077-99"},{"uid":"a077-101"},{"uid":"a077-105"},{"uid":"a077-130"},{"uid":"a077-113"}],"importedBy":[{"uid":"a077-127"}]},"a077-117":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-118"},"imported":[{"uid":"a077-131"},{"uid":"a077-125"},{"uid":"a077-101"}],"importedBy":[{"uid":"a077-119"}]},"a077-119":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-120"},"imported":[{"uid":"a077-129"},{"uid":"a077-99"},{"uid":"a077-101"},{"uid":"a077-105"},{"uid":"a077-130"},{"uid":"a077-117"}],"importedBy":[{"uid":"a077-128"}]},"a077-121":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-122"},"imported":[],"importedBy":[{"uid":"a077-123"}]},"a077-123":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"a077-124"},"imported":[{"uid":"a077-125"},{"uid":"a077-126"},{"uid":"a077-127"},{"uid":"a077-128"},{"uid":"a077-121"}],"importedBy":[],"isEntry":true},"a077-125":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-123"},{"uid":"a077-105"},{"uid":"a077-107"},{"uid":"a077-113"},{"uid":"a077-117"}],"isExternal":true},"a077-126":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"a077-109"}],"importedBy":[{"uid":"a077-123"}]},"a077-127":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"a077-115"}],"importedBy":[{"uid":"a077-123"}]},"a077-128":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"a077-119"}],"importedBy":[{"uid":"a077-123"}]},"a077-129":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-109"},{"uid":"a077-115"},{"uid":"a077-119"},{"uid":"a077-103"},{"uid":"a077-105"},{"uid":"a077-111"}],"isExternal":true},"a077-130":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"a077-103"},{"uid":"a077-111"}],"importedBy":[{"uid":"a077-115"},{"uid":"a077-119"}]},"a077-131":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"a077-101"},{"uid":"a077-105"},{"uid":"a077-107"},{"uid":"a077-113"},{"uid":"a077-117"}],"isExternal":true}},"env":{"rollup":"2.67.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6427
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.umd.min.js","children":[{"name":"src","children":[{"uid":"8766-100","name":"constants.ts"},{"uid":"8766-102","name":"utils.ts"},{"name":"context","children":[{"uid":"8766-104","name":"ContainerContext.ts"},{"uid":"8766-112","name":"RowContext.ts"}]},{"uid":"8766-106","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"8766-108","name":"styled.ts"},{"uid":"8766-110","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"8766-114","name":"styled.ts"},{"uid":"8766-116","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"8766-118","name":"styled.ts"},{"uid":"8766-120","name":"component.tsx"}]},{"uid":"8766-122","name":"theme.ts"},{"uid":"8766-124","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"8766-100":{"renderedLength":360,"gzipLength":221,"brotliLength":0,"mainUid":"8766-99"},"8766-102":{"renderedLength":269,"gzipLength":172,"brotliLength":0,"mainUid":"8766-101"},"8766-104":{"renderedLength":49,"gzipLength":61,"brotliLength":0,"mainUid":"8766-103"},"8766-106":{"renderedLength":704,"gzipLength":286,"brotliLength":0,"mainUid":"8766-105"},"8766-108":{"renderedLength":465,"gzipLength":294,"brotliLength":0,"mainUid":"8766-107"},"8766-110":{"renderedLength":874,"gzipLength":454,"brotliLength":0,"mainUid":"8766-109"},"8766-112":{"renderedLength":43,"gzipLength":58,"brotliLength":0,"mainUid":"8766-111"},"8766-114":{"renderedLength":1212,"gzipLength":552,"brotliLength":0,"mainUid":"8766-113"},"8766-116":{"renderedLength":1063,"gzipLength":460,"brotliLength":0,"mainUid":"8766-115"},"8766-118":{"renderedLength":1946,"gzipLength":737,"brotliLength":0,"mainUid":"8766-117"},"8766-120":{"renderedLength":707,"gzipLength":365,"brotliLength":0,"mainUid":"8766-119"},"8766-122":{"renderedLength":384,"gzipLength":178,"brotliLength":0,"mainUid":"8766-121"},"8766-124":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"8766-123"}},"nodeMetas":{"8766-99":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-100"},"imported":[],"importedBy":[{"uid":"8766-109"},{"uid":"8766-115"},{"uid":"8766-119"},{"uid":"8766-101"},{"uid":"8766-105"}]},"8766-101":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-102"},"imported":[{"uid":"8766-131"},{"uid":"8766-99"}],"importedBy":[{"uid":"8766-109"},{"uid":"8766-115"},{"uid":"8766-119"},{"uid":"8766-113"},{"uid":"8766-117"}]},"8766-103":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-104"},"imported":[{"uid":"8766-129"}],"importedBy":[{"uid":"8766-109"},{"uid":"8766-130"}]},"8766-105":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-106"},"imported":[{"uid":"8766-129"},{"uid":"8766-131"},{"uid":"8766-125"},{"uid":"8766-99"}],"importedBy":[{"uid":"8766-109"},{"uid":"8766-115"},{"uid":"8766-119"}]},"8766-107":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-108"},"imported":[{"uid":"8766-131"},{"uid":"8766-125"}],"importedBy":[{"uid":"8766-109"}]},"8766-109":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-110"},"imported":[{"uid":"8766-129"},{"uid":"8766-99"},{"uid":"8766-101"},{"uid":"8766-103"},{"uid":"8766-105"},{"uid":"8766-107"}],"importedBy":[{"uid":"8766-126"}]},"8766-111":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-112"},"imported":[{"uid":"8766-129"}],"importedBy":[{"uid":"8766-130"}]},"8766-113":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-114"},"imported":[{"uid":"8766-131"},{"uid":"8766-125"},{"uid":"8766-101"}],"importedBy":[{"uid":"8766-115"}]},"8766-115":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-116"},"imported":[{"uid":"8766-129"},{"uid":"8766-99"},{"uid":"8766-101"},{"uid":"8766-105"},{"uid":"8766-130"},{"uid":"8766-113"}],"importedBy":[{"uid":"8766-127"}]},"8766-117":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-118"},"imported":[{"uid":"8766-131"},{"uid":"8766-125"},{"uid":"8766-101"}],"importedBy":[{"uid":"8766-119"}]},"8766-119":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-120"},"imported":[{"uid":"8766-129"},{"uid":"8766-99"},{"uid":"8766-101"},{"uid":"8766-105"},{"uid":"8766-130"},{"uid":"8766-117"}],"importedBy":[{"uid":"8766-128"}]},"8766-121":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-122"},"imported":[],"importedBy":[{"uid":"8766-123"}]},"8766-123":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"8766-124"},"imported":[{"uid":"8766-125"},{"uid":"8766-126"},{"uid":"8766-127"},{"uid":"8766-128"},{"uid":"8766-121"}],"importedBy":[],"isEntry":true},"8766-125":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-123"},{"uid":"8766-105"},{"uid":"8766-107"},{"uid":"8766-113"},{"uid":"8766-117"}],"isExternal":true},"8766-126":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"8766-109"}],"importedBy":[{"uid":"8766-123"}]},"8766-127":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"8766-115"}],"importedBy":[{"uid":"8766-123"}]},"8766-128":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"8766-119"}],"importedBy":[{"uid":"8766-123"}]},"8766-129":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-109"},{"uid":"8766-115"},{"uid":"8766-119"},{"uid":"8766-103"},{"uid":"8766-105"},{"uid":"8766-111"}],"isExternal":true},"8766-130":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"8766-103"},{"uid":"8766-111"}],"importedBy":[{"uid":"8766-115"},{"uid":"8766-119"}]},"8766-131":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"8766-101"},{"uid":"8766-105"},{"uid":"8766-107"},{"uid":"8766-113"},{"uid":"8766-117"}],"isExternal":true}},"env":{"rollup":"2.70.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6428
6428
 
6429
6429
  const run = () => {
6430
6430
  const width = window.innerWidth;
@@ -51,7 +51,7 @@ const useGridContext = (props) => {
51
51
  };
52
52
 
53
53
  const styles$2 = ({ theme: t, css, rootSize }) => css `
54
- max-width: ${unistyle.value([t.width], rootSize)};
54
+ max-width: ${unistyle.value(t.width, rootSize)};
55
55
  ${unistyle.extendCss(t.extraStyles)};
56
56
  `;
57
57
  var Styled$2 = core.config.styled(core.config.component) `
@@ -98,7 +98,7 @@ var RowContext = React.createContext({});
98
98
  const spacingStyles$1 = ({ gap, gutter }, { rootSize }) => {
99
99
  if (!isNumber(gap))
100
100
  return '';
101
- const getValue = (param) => unistyle.value([param], rootSize);
101
+ const getValue = (param) => unistyle.value(param, rootSize);
102
102
  const spacingX = (gap / 2) * -1;
103
103
  const spacingY = isNumber(gutter) ? gutter - gap / 2 : gap / 2;
104
104
  return core.config.css `
@@ -179,15 +179,15 @@ const widthStyles = ({ size, columns, gap, RNparentWidth }, { rootSize }) => {
179
179
  return core.config.css `
180
180
  flex-grow: 0;
181
181
  flex-shrink: 0;
182
- max-width: ${unistyle.value([val], rootSize)};
183
- flex-basis: ${unistyle.value([val], rootSize)};
182
+ max-width: ${unistyle.value(val, rootSize)};
183
+ flex-basis: ${unistyle.value(val, rootSize)};
184
184
  `;
185
185
  };
186
186
  const spacingStyles = (type, param, rootSize) => {
187
- if (!isNumber(param)) {
187
+ if (!param || !isNumber(param)) {
188
188
  return '';
189
189
  }
190
- const finalStyle = `${type}: ${unistyle.value([param / 2], rootSize)}`;
190
+ const finalStyle = `${type}: ${unistyle.value(param / 2, rootSize)}`;
191
191
  return core.config.css `
192
192
  ${finalStyle};
193
193
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-coolgrid.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value([t.width], rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value([param], rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value([val], rootSize)};\n flex-basis: ${value([val], rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value([param! / 2], rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["omit","createContext","pick","get","useContext","context","styles","value","extendCss","config","makeItResponsive","Component","React","Styled","Context","name","spacingStyles","ALIGN_CONTENT_MAP_X","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-coolgrid.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value(t.width, rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value(param, rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value(val, rootSize)};\n flex-basis: ${value(val, rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!param || !isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value(param / 2, rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["omit","createContext","pick","get","useContext","context","styles","value","extendCss","config","makeItResponsive","Component","React","Styled","Context","name","spacingStyles","ALIGN_CONTENT_MAP_X","useMemo"],"mappings":"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"}
@@ -44,7 +44,7 @@ const useGridContext = (props) => {
44
44
  };
45
45
 
46
46
  const styles$2 = ({ theme: t, css, rootSize }) => css `
47
- max-width: ${value([t.width], rootSize)};
47
+ max-width: ${value(t.width, rootSize)};
48
48
  ${extendCss(t.extraStyles)};
49
49
  `;
50
50
  var Styled$2 = config.styled(config.component) `
@@ -91,7 +91,7 @@ var RowContext = createContext({});
91
91
  const spacingStyles$1 = ({ gap, gutter }, { rootSize }) => {
92
92
  if (!isNumber(gap))
93
93
  return '';
94
- const getValue = (param) => value([param], rootSize);
94
+ const getValue = (param) => value(param, rootSize);
95
95
  const spacingX = (gap / 2) * -1;
96
96
  const spacingY = isNumber(gutter) ? gutter - gap / 2 : gap / 2;
97
97
  return config.css `
@@ -172,15 +172,15 @@ const widthStyles = ({ size, columns, gap, RNparentWidth }, { rootSize }) => {
172
172
  return config.css `
173
173
  flex-grow: 0;
174
174
  flex-shrink: 0;
175
- max-width: ${value([val], rootSize)};
176
- flex-basis: ${value([val], rootSize)};
175
+ max-width: ${value(val, rootSize)};
176
+ flex-basis: ${value(val, rootSize)};
177
177
  `;
178
178
  };
179
179
  const spacingStyles = (type, param, rootSize) => {
180
- if (!isNumber(param)) {
180
+ if (!param || !isNumber(param)) {
181
181
  return '';
182
182
  }
183
- const finalStyle = `${type}: ${value([param / 2], rootSize)}`;
183
+ const finalStyle = `${type}: ${value(param / 2, rootSize)}`;
184
184
  return config.css `
185
185
  ${finalStyle};
186
186
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-coolgrid.module.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value([t.width], rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value([param], rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value([val], rootSize)};\n flex-basis: ${value([val], rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value([param! / 2], rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["styles","Component","Styled","Context","name","spacingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-coolgrid.module.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value(t.width, rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value(param, rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value(val, rootSize)};\n flex-basis: ${value(val, rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!param || !isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value(param / 2, rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["styles","Component","Styled","Context","name","spacingStyles"],"mappings":"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"}
@@ -49,7 +49,7 @@
49
49
  };
50
50
 
51
51
  const styles$2 = ({ theme: t, css, rootSize }) => css `
52
- max-width: ${unistyle.value([t.width], rootSize)};
52
+ max-width: ${unistyle.value(t.width, rootSize)};
53
53
  ${unistyle.extendCss(t.extraStyles)};
54
54
  `;
55
55
  var Styled$2 = core.config.styled(core.config.component) `
@@ -94,7 +94,7 @@
94
94
  const spacingStyles$1 = ({ gap, gutter }, { rootSize }) => {
95
95
  if (!isNumber(gap))
96
96
  return '';
97
- const getValue = (param) => unistyle.value([param], rootSize);
97
+ const getValue = (param) => unistyle.value(param, rootSize);
98
98
  const spacingX = (gap / 2) * -1;
99
99
  const spacingY = isNumber(gutter) ? gutter - gap / 2 : gap / 2;
100
100
  return core.config.css `
@@ -171,15 +171,15 @@
171
171
  return core.config.css `
172
172
  flex-grow: 0;
173
173
  flex-shrink: 0;
174
- max-width: ${unistyle.value([val], rootSize)};
175
- flex-basis: ${unistyle.value([val], rootSize)};
174
+ max-width: ${unistyle.value(val, rootSize)};
175
+ flex-basis: ${unistyle.value(val, rootSize)};
176
176
  `;
177
177
  };
178
178
  const spacingStyles = (type, param, rootSize) => {
179
- if (!isNumber(param)) {
179
+ if (!param || !isNumber(param)) {
180
180
  return '';
181
181
  }
182
- const finalStyle = `${type}: ${unistyle.value([param / 2], rootSize)}`;
182
+ const finalStyle = `${type}: ${unistyle.value(param / 2, rootSize)}`;
183
183
  return core.config.css `
184
184
  ${finalStyle};
185
185
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-coolgrid.umd.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value([t.width], rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value([param], rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value([val], rootSize)};\n flex-basis: ${value([val], rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value([param! / 2], rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["omit","createContext","pick","get","useContext","context","styles","value","extendCss","config","makeItResponsive","Component","React","Styled","Context","name","spacingStyles","ALIGN_CONTENT_MAP_X","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-coolgrid.umd.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value(t.width, rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value(param, rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value(val, rootSize)};\n flex-basis: ${value(val, rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!param || !isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value(param / 2, rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["omit","createContext","pick","get","useContext","context","styles","value","extendCss","config","makeItResponsive","Component","React","Styled","Context","name","spacingStyles","ALIGN_CONTENT_MAP_X","useMemo"],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  margin-left: auto;
9
9
 
10
10
  ${t.makeItResponsive({key:"$coolgrid",styles:({theme:e,css:o,rootSize:n})=>o`
11
- max-width: ${t.value([e.width],n)};
11
+ max-width: ${t.value(e.width,n)};
12
12
  ${t.extendCss(e.extraStyles)};
13
13
  `,css:n.config.css,normalize:!0})};
14
14
  `;const f=({children:e,component:t,css:o,width:n,...i})=>{const{containerWidth:r={},...c}=g(i);let l=r;return n&&(l="function"==typeof n?n(r):n),s.default.createElement(m,{...u(i),as:t,$coolgrid:{width:l,extraStyles:o}},s.default.createElement(d.Provider,{value:c},e))},p=`${r}/Container`;f.displayName=p,f.pkgName=r,f.VITUS_LABS__COMPONENT=p;var x=o.createContext({});var y=n.config.styled(n.config.component)`
@@ -20,7 +20,7 @@
20
20
  flex-direction: row;
21
21
 
22
22
  ${t.makeItResponsive({key:"$coolgrid",styles:({theme:e,css:o,rootSize:i})=>{const{gap:s,gutter:r,contentAlignX:c,extraStyles:a}=e;return o`
23
- ${(({gap:e,gutter:o},{rootSize:i})=>{if(!l(e))return"";const s=e=>t.value([e],i),r=e/2*-1,c=l(o)?o-e/2:e/2;return n.config.css`
23
+ ${(({gap:e,gutter:o},{rootSize:i})=>{if(!l(e))return"";const s=e=>t.value(e,i),r=e/2*-1,c=l(o)?o-e/2:e/2;return n.config.css`
24
24
  margin: ${s(c)} ${s(r)};
25
25
  `})({gap:s,gutter:r},{rootSize:i})};
26
26
  ${u=c,u?n.config.css`
@@ -31,9 +31,9 @@
31
31
  `;const v=({children:e,component:t,css:n,contentAlignX:i,...r})=>{const c=o.useContext(d),{columns:l,gap:a,gutter:m,rowComponent:f,rowCss:p,contentAlignX:v,...$}=g({...c,...r}),h=o.useMemo((()=>({...$,columns:l,gap:a,gutter:m})),[$,l,a,m]),C={...u(r),as:t||f,$coolgrid:{contentAlignX:i||v,columns:l,gap:a,gutter:m,extraStyles:n||p}};return s.default.createElement(y,{...C},s.default.createElement(x.Provider,{value:h},e))},$=`${r}/Row`;v.displayName=$,v.pkgName=r,v.VITUS_LABS__COMPONENT=$;const h=({size:e,columns:o,gap:i,RNparentWidth:s},{rootSize:r})=>{if(!((e,t)=>a(e)&&a(t))(e,o))return"";const c=s/o*e,l=a(i)?c-i:c;return n.config.css`
32
32
  flex-grow: 0;
33
33
  flex-shrink: 0;
34
- max-width: ${t.value([l],r)};
35
- flex-basis: ${t.value([l],r)};
36
- `},C=(e,o,i)=>{if(!l(o))return"";const s=`${e}: ${t.value([o/2],i)}`;return n.config.css`
34
+ max-width: ${t.value(l,r)};
35
+ flex-basis: ${t.value(l,r)};
36
+ `},C=(e,o,i)=>{if(!o||!l(o))return"";const s=`${e}: ${t.value(o/2,i)}`;return n.config.css`
37
37
  ${s};
38
38
  `};var S=n.config.styled(n.config.component)`
39
39
  ${!1};
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-coolgrid.umd.min.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value([t.width], rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value([param], rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value([val], rootSize)};\n flex-basis: ${value([val], rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value([param! / 2], rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["PKG_NAME","CONTEXT_KEYS","isNumber","value","Number","isFinite","hasValue","omitCtxKeys","props","omit","createContext","useGridContext","theme","useContext","context","ctxProps","keywords","pick","pickThemeProps","columns","get","containerWidth","getGridContext","config","styled","component","makeItResponsive","key","t","css","rootSize","width","extendCss","extraStyles","normalize","Component","children","ctx","finalWidth","React","Styled","as","Context","Provider","name","displayName","pkgName","VITUS_LABS__COMPONENT","gap","gutter","contentAlignX","getValue","param","spacingX","spacingY","spacingStyles","align","ALIGN_CONTENT_MAP_X","rowAlignX","parentCtx","ContainerContext","rowComponent","rowCss","useMemo","finalProps","$coolgrid","RowContext","widthStyles","size","RNparentWidth","hasWidth","val","type","finalStyle","styles","padding","undefined","colCss","colComponent","breakpoints","xs","sm","md","lg","xl","grid","container"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-coolgrid.umd.min.js","sources":["../src/constants.ts","../src/utils.ts","../src/context/ContainerContext.ts","../src/useContext.tsx","../src/Container/styled.ts","../src/Container/component.tsx","../src/context/RowContext.ts","../src/Row/styled.ts","../src/Row/component.tsx","../src/Col/styled.ts","../src/Col/component.tsx","../src/theme.ts"],"sourcesContent":["export const PKG_NAME = '@vitus-labs/coolgrid'\n\n/* eslint-disable import/prefer-default-export */\nexport const CONTEXT_KEYS = [\n // 'breakpoints',\n // 'rootSize',\n 'columns',\n 'size',\n 'gap',\n 'padding',\n 'gutter',\n 'colCss',\n 'colComponent',\n 'rowCss',\n 'rowComponent',\n 'contentAlignX',\n]\n","import { omit } from '@vitus-labs/core'\nimport { CONTEXT_KEYS } from '~/constants'\n\ntype BoolFunc = (value: any) => boolean\n\nexport const isNumber: BoolFunc = (value) => Number.isFinite(value)\nexport const hasValue: BoolFunc = (value) => isNumber(value) && value > 0\nexport const isVisible: BoolFunc = (value) =>\n (isNumber(value) && value !== 0) || value === undefined\n\ntype HasWidth = (size: any, columns: any) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>\nexport const omitCtxKeys: OmitCtxKeys = (props) => omit(props, CONTEXT_KEYS)\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","import { useContext } from 'react'\nimport { get, pick } from '@vitus-labs/core'\nimport { context } from '@vitus-labs/unistyle'\nimport { CONTEXT_KEYS } from '~/constants'\nimport { Obj, ValueType, Context } from '~/types'\n\n// ------------------------------------------\n// pickTheme props\n// ------------------------------------------\nexport type PickThemeProps = <T extends Record<string, unknown>>(\n props: T,\n keywords: Array<keyof T>\n) => ReturnType<typeof pick>\nconst pickThemeProps: PickThemeProps = (props, keywords) =>\n pick(props, keywords)\n\n// ------------------------------------------\n// create grid settings\n// ------------------------------------------\ntype GetGridContext = (\n props: Obj,\n theme: Obj\n) => {\n columns?: ValueType\n containerWidth?: Record<string, number>\n}\n\nexport const getGridContext: GetGridContext = (props = {}, theme = {}) => ({\n columns: (get(props, 'columns') ||\n get(theme, 'grid.columns') ||\n get(theme, 'coolgrid.columns')) as ValueType,\n containerWidth: (get(props, 'width') ||\n get(theme, 'grid.container') ||\n get(theme, 'coolgrid.container')) as Record<string, number>,\n})\n\ntype UseGridContext = (props: Obj) => Context\nconst useGridContext: UseGridContext = (props) => {\n const { theme } = useContext(context)\n const ctxProps = pickThemeProps(props, CONTEXT_KEYS)\n const gridContext = getGridContext(ctxProps, theme as Record<string, unknown>)\n\n return { ...gridContext, ...ctxProps }\n}\n\nexport default useGridContext\n","import { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { StyledTypes } from '~/types'\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'width' | 'extraStyles'>\n> = ({ theme: t, css, rootSize }) => css`\n max-width: ${value(t.width, rootSize)};\n ${extendCss(t.extraStyles)};\n`\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n width: 100%;\n flex-direction: column;\n margin-right: auto;\n margin-left: auto;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport Context from '~/context/ContainerContext'\nimport useGridContext from '~/useContext'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<['containerWidth']> = ({\n children,\n component,\n css,\n width,\n ...props\n}) => {\n const { containerWidth = {}, ...ctx } = useGridContext(props)\n\n let finalWidth = containerWidth\n if (width) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n finalWidth = typeof width === 'function' ? width(containerWidth) : width\n }\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component}\n $coolgrid={{\n width: finalWidth,\n extraStyles: css,\n }}\n >\n <Context.Provider value={ctx}>{children}</Context.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Container`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","import { createContext } from 'react'\nimport type { Context } from '~/types'\n\nexport default createContext<Context>({})\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n ALIGN_CONTENT_MAP_X,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype SpacingStyles = (\n props: Pick<StyledTypes, 'gap' | 'gutter'>,\n { rootSize }: { rootSize?: number }\n) => CssOutput\n\nconst spacingStyles: SpacingStyles = ({ gap, gutter }, { rootSize }) => {\n if (!isNumber(gap)) return ''\n\n const getValue = (param) => value(param, rootSize)\n\n const spacingX = (gap! / 2) * -1\n const spacingY = isNumber(gutter) ? gutter! - gap! / 2 : gap! / 2\n\n return config.css`\n margin: ${getValue(spacingY)} ${getValue(spacingX)};\n `\n}\n\nconst contentAlign = (align?: StyledTypes['contentAlignX']) => {\n if (!align) return ''\n\n return config.css`\n justify-content: ${ALIGN_CONTENT_MAP_X[align]};\n `\n}\n\nconst styles: MakeItResponsiveStyles<\n Pick<StyledTypes, 'gap' | 'gutter' | 'contentAlignX' | 'extraStyles'>\n> = ({ theme, css, rootSize }) => {\n const { gap, gutter, contentAlignX, extraStyles } = theme\n\n return css`\n ${spacingStyles({ gap, gutter }, { rootSize })};\n ${contentAlign(contentAlignX)};\n ${extendCss(extraStyles)};\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n display: flex;\n flex-wrap: wrap;\n align-self: stretch;\n flex-direction: row;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext, useMemo } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { ContainerContext, RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n ['containerWidth', 'width', 'rowComponent', 'rowCss']\n> = ({ children, component, css, contentAlignX: rowAlignX, ...props }) => {\n const parentCtx = useContext(ContainerContext)\n const { columns, gap, gutter, rowComponent, rowCss, contentAlignX, ...ctx } =\n useGridContext({ ...parentCtx, ...props })\n\n const context = useMemo(\n () => ({ ...ctx, columns, gap, gutter }),\n [ctx, columns, gap, gutter]\n )\n\n const finalProps = {\n ...omitCtxKeys(props),\n as: component || rowComponent,\n $coolgrid: {\n contentAlignX: rowAlignX || contentAlignX,\n columns,\n gap,\n gutter,\n extraStyles: css || rowCss,\n },\n }\n\n return (\n <Styled {...finalProps}>\n <RowContext.Provider value={context}>{children}</RowContext.Provider>\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Row`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { config } from '@vitus-labs/core'\nimport {\n makeItResponsive,\n value,\n extendCss,\n MakeItResponsiveStyles,\n} from '@vitus-labs/unistyle'\nimport { hasValue, isVisible, isNumber } from '~/utils'\nimport { CssOutput, StyledTypes } from '~/types'\n\ntype HasWidth = (size?: number, columns?: number) => boolean\n\nconst hasWidth: HasWidth = (size, columns) =>\n hasValue(size) && hasValue(columns)\n\ntype WidthStyles = (\n props: Pick<StyledTypes, 'size' | 'columns' | 'gap' | 'RNparentWidth'>,\n defaults: { rootSize?: number }\n) => CssOutput\n\nconst widthStyles: WidthStyles = (\n { size, columns, gap, RNparentWidth },\n { rootSize }\n) => {\n if (!hasWidth(size, columns)) {\n return ''\n }\n\n // calculate % of width\n const width = __WEB__\n ? (size! / columns!) * 100\n : (RNparentWidth / columns!) * size!\n\n const hasGap = hasValue(gap)\n\n // eslint-disable-next-line no-nested-ternary\n const val = __WEB__\n ? hasGap\n ? `calc(${width}% - ${gap}px)`\n : `${width}%`\n : hasGap\n ? width - gap!\n : width\n\n return config.css`\n flex-grow: 0;\n flex-shrink: 0;\n max-width: ${value(val, rootSize)};\n flex-basis: ${value(val, rootSize)};\n `\n}\n\ntype SpacingStyles = (\n type: 'margin' | 'padding',\n param?: number,\n rootSize?: number\n) => CssOutput\nconst spacingStyles: SpacingStyles = (type, param, rootSize) => {\n if (!param || !isNumber(param)) {\n return ''\n }\n\n const finalStyle = `${type}: ${value(param / 2, rootSize)}`\n\n return config.css`\n ${finalStyle};\n `\n}\n\nconst styles: MakeItResponsiveStyles<StyledTypes> = ({\n theme,\n css,\n rootSize,\n}) => {\n const { size, columns, gap, padding, extraStyles, RNparentWidth } = theme\n const renderStyles = isVisible(size)\n\n if (renderStyles) {\n return css`\n left: initial;\n position: relative;\n ${widthStyles({ size, columns, gap, RNparentWidth }, { rootSize })};\n ${spacingStyles('padding', padding, rootSize)};\n ${spacingStyles('margin', gap, rootSize)};\n ${extendCss(extraStyles)};\n `\n }\n\n return css`\n left: -9999px;\n position: fixed;\n margin: 0;\n padding: 0;\n `\n}\n\nexport default config.styled(config.component)`\n ${\n __WEB__ &&\n config.css`\n box-sizing: border-box;\n `\n };\n\n position: relative;\n display: flex;\n flex-basis: 0;\n flex-grow: 1;\n flex-direction: column;\n justify-content: stretch;\n\n ${makeItResponsive({\n key: '$coolgrid',\n styles,\n css: config.css,\n normalize: true,\n })};\n`\n","import React, { useContext } from 'react'\nimport { PKG_NAME } from '~/constants'\nimport { omitCtxKeys } from '~/utils'\nimport useGridContext from '~/useContext'\nimport { RowContext } from '~/context'\nimport type { ElementType } from '~/types'\nimport Styled from './styled'\n\nconst Component: ElementType<\n [\n 'containerWidth',\n 'width',\n 'rowComponent',\n 'rowCss',\n 'colCss',\n 'colComponent',\n 'columns',\n 'gap',\n 'gutter',\n 'contentAlignX'\n ]\n> = ({ children, component, css, ...props }) => {\n const parentCtx = useContext(RowContext)\n const { colCss, colComponent, columns, gap, size, padding } = useGridContext({\n ...parentCtx,\n ...props,\n })\n\n return (\n <Styled\n {...omitCtxKeys(props)}\n as={component || colComponent}\n $coolgrid={{\n columns,\n gap,\n size,\n padding,\n extraStyles: css || colCss,\n }}\n >\n {children}\n </Styled>\n )\n}\n\nconst name = `${PKG_NAME}/Col`\n\nComponent.displayName = name\nComponent.pkgName = PKG_NAME\nComponent.VITUS_LABS__COMPONENT = name\n\nexport default Component\n","export default {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n },\n grid: {\n columns: 12,\n container: {\n xs: '100%',\n sm: 540,\n md: 720,\n lg: 960,\n xl: 1140,\n },\n },\n} as const\n"],"names":["PKG_NAME","CONTEXT_KEYS","isNumber","value","Number","isFinite","hasValue","omitCtxKeys","props","omit","createContext","useGridContext","theme","useContext","context","ctxProps","keywords","pick","pickThemeProps","columns","get","containerWidth","getGridContext","config","styled","component","makeItResponsive","key","t","css","rootSize","width","extendCss","extraStyles","normalize","Component","children","ctx","finalWidth","React","createElement","Styled","as","$coolgrid","Context","Provider","name","displayName","pkgName","Component$2","VITUS_LABS__COMPONENT","gap","gutter","contentAlignX","getValue","param","spacingX","spacingY","spacingStyles","align","ALIGN_CONTENT_MAP_X","rowAlignX","parentCtx","ContainerContext","rowComponent","rowCss","useMemo","finalProps","RowContext","Component$1","widthStyles","size","RNparentWidth","hasWidth","val","type","finalStyle","styles","padding","undefined","colCss","colComponent","breakpoints","xs","sm","md","lg","xl","grid","container"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/coolgrid",
3
- "version": "0.43.0",
3
+ "version": "0.46.0",
4
4
  "license": "MIT",
5
5
  "author": "Vit Bokisch <vit@bokisch.cz>",
6
6
  "maintainers": [
@@ -61,12 +61,12 @@
61
61
  "react": ">= 16.8"
62
62
  },
63
63
  "devDependencies": {
64
- "@vitus-labs/core": "^0.43.0",
65
- "@vitus-labs/tools-babel": "^0.27.0",
66
- "@vitus-labs/tools-rollup": "^0.27.0",
67
- "@vitus-labs/tools-storybook": "^0.27.0",
68
- "@vitus-labs/tools-typescript": "^0.27.0",
69
- "@vitus-labs/unistyle": "^0.43.0"
64
+ "@vitus-labs/core": "^0.46.0",
65
+ "@vitus-labs/tools-babel": "^0.29.0",
66
+ "@vitus-labs/tools-rollup": "^0.29.0",
67
+ "@vitus-labs/tools-storybook": "^0.29.0",
68
+ "@vitus-labs/tools-typescript": "^0.29.0",
69
+ "@vitus-labs/unistyle": "^0.46.0"
70
70
  },
71
- "gitHead": "6b2421bdc9ddff9831a3e387ddddabe6226371ae"
71
+ "gitHead": "ac5c843a48f47b70783f9b0b73863f49bc441ec3"
72
72
  }