@vitus-labs/coolgrid 0.15.2 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/analysis/vitus-labs-coolgrid.js.html +1 -1
- package/lib/analysis/vitus-labs-coolgrid.module.js.html +1 -1
- package/lib/analysis/vitus-labs-coolgrid.umd.js.html +1 -1
- package/lib/analysis/vitus-labs-coolgrid.umd.min.js.html +1 -1
- package/lib/types/utils.d.ts +3 -3
- package/lib/vitus-labs-coolgrid.js +6 -8
- package/lib/vitus-labs-coolgrid.js.map +1 -1
- package/lib/vitus-labs-coolgrid.module.js.map +1 -1
- package/lib/vitus-labs-coolgrid.umd.js +8 -10
- package/lib/vitus-labs-coolgrid.umd.js.map +1 -1
- package/lib/vitus-labs-coolgrid.umd.min.js.map +1 -1
- package/package.json +8 -8
|
@@ -7060,7 +7060,7 @@ var drawChart = (function (exports) {
|
|
|
7060
7060
|
</script>
|
|
7061
7061
|
<script>
|
|
7062
7062
|
/*<!--*/
|
|
7063
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.js","children":[{"name":"src","children":[{"uid":"
|
|
7063
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.js","children":[{"name":"src","children":[{"uid":"2d89-1","name":"constants.ts"},{"uid":"2d89-3","name":"utils.ts"},{"name":"context","children":[{"uid":"2d89-5","name":"ContainerContext.ts"},{"uid":"2d89-13","name":"RowContext.ts"}]},{"uid":"2d89-7","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"2d89-9","name":"styled.ts"},{"uid":"2d89-11","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"2d89-15","name":"styled.ts"},{"uid":"2d89-17","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"2d89-19","name":"styled.ts"},{"uid":"2d89-21","name":"component.tsx"}]},{"uid":"2d89-23","name":"theme.ts"},{"uid":"2d89-25","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"2d89-1":{"renderedLength":328,"gzipLength":219,"brotliLength":0,"mainUid":"2d89-0"},"2d89-3":{"renderedLength":261,"gzipLength":172,"brotliLength":0,"mainUid":"2d89-2"},"2d89-5":{"renderedLength":47,"gzipLength":59,"brotliLength":0,"mainUid":"2d89-4"},"2d89-7":{"renderedLength":674,"gzipLength":286,"brotliLength":0,"mainUid":"2d89-6"},"2d89-9":{"renderedLength":510,"gzipLength":312,"brotliLength":0,"mainUid":"2d89-8"},"2d89-11":{"renderedLength":838,"gzipLength":451,"brotliLength":0,"mainUid":"2d89-10"},"2d89-13":{"renderedLength":41,"gzipLength":56,"brotliLength":0,"mainUid":"2d89-12"},"2d89-15":{"renderedLength":1160,"gzipLength":525,"brotliLength":0,"mainUid":"2d89-14"},"2d89-17":{"renderedLength":937,"gzipLength":437,"brotliLength":0,"mainUid":"2d89-16"},"2d89-19":{"renderedLength":1897,"gzipLength":732,"brotliLength":0,"mainUid":"2d89-18"},"2d89-21":{"renderedLength":671,"gzipLength":361,"brotliLength":0,"mainUid":"2d89-20"},"2d89-23":{"renderedLength":344,"gzipLength":176,"brotliLength":0,"mainUid":"2d89-22"},"2d89-25":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"2d89-24"}},"nodeMetas":{"2d89-0":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-1"},"imported":[],"importedBy":[{"uid":"2d89-10"},{"uid":"2d89-16"},{"uid":"2d89-20"},{"uid":"2d89-2"},{"uid":"2d89-6"}]},"2d89-2":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-3"},"imported":[{"uid":"2d89-32"},{"uid":"2d89-0"}],"importedBy":[{"uid":"2d89-10"},{"uid":"2d89-16"},{"uid":"2d89-20"},{"uid":"2d89-14"},{"uid":"2d89-18"}]},"2d89-4":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-5"},"imported":[{"uid":"2d89-30"}],"importedBy":[{"uid":"2d89-10"},{"uid":"2d89-31"}]},"2d89-6":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.js":"2d89-7"},"imported":[{"uid":"2d89-30"},{"uid":"2d89-32"},{"uid":"2d89-26"},{"uid":"2d89-0"}],"importedBy":[{"uid":"2d89-10"},{"uid":"2d89-16"},{"uid":"2d89-20"}]},"2d89-8":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-9"},"imported":[{"uid":"2d89-32"},{"uid":"2d89-26"}],"importedBy":[{"uid":"2d89-10"}]},"2d89-10":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"2d89-11"},"imported":[{"uid":"2d89-30"},{"uid":"2d89-0"},{"uid":"2d89-2"},{"uid":"2d89-4"},{"uid":"2d89-6"},{"uid":"2d89-8"}],"importedBy":[{"uid":"2d89-27"}]},"2d89-12":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-13"},"imported":[{"uid":"2d89-30"}],"importedBy":[{"uid":"2d89-31"}]},"2d89-14":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-15"},"imported":[{"uid":"2d89-32"},{"uid":"2d89-26"},{"uid":"2d89-2"}],"importedBy":[{"uid":"2d89-16"}]},"2d89-16":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"2d89-17"},"imported":[{"uid":"2d89-30"},{"uid":"2d89-0"},{"uid":"2d89-2"},{"uid":"2d89-6"},{"uid":"2d89-31"},{"uid":"2d89-14"}],"importedBy":[{"uid":"2d89-28"}]},"2d89-18":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-19"},"imported":[{"uid":"2d89-32"},{"uid":"2d89-26"},{"uid":"2d89-2"}],"importedBy":[{"uid":"2d89-20"}]},"2d89-20":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.js":"2d89-21"},"imported":[{"uid":"2d89-30"},{"uid":"2d89-0"},{"uid":"2d89-2"},{"uid":"2d89-6"},{"uid":"2d89-31"},{"uid":"2d89-18"}],"importedBy":[{"uid":"2d89-29"}]},"2d89-22":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-23"},"imported":[],"importedBy":[{"uid":"2d89-24"}]},"2d89-24":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.js":"2d89-25"},"imported":[{"uid":"2d89-26"},{"uid":"2d89-27"},{"uid":"2d89-28"},{"uid":"2d89-29"},{"uid":"2d89-22"}],"importedBy":[],"isEntry":true},"2d89-26":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-24"},{"uid":"2d89-6"},{"uid":"2d89-8"},{"uid":"2d89-14"},{"uid":"2d89-18"}],"isExternal":true},"2d89-27":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"2d89-10"}],"importedBy":[{"uid":"2d89-24"}]},"2d89-28":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"2d89-16"}],"importedBy":[{"uid":"2d89-24"}]},"2d89-29":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"2d89-20"}],"importedBy":[{"uid":"2d89-24"}]},"2d89-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-10"},{"uid":"2d89-16"},{"uid":"2d89-20"},{"uid":"2d89-4"},{"uid":"2d89-6"},{"uid":"2d89-12"}],"isExternal":true},"2d89-31":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"2d89-4"},{"uid":"2d89-12"}],"importedBy":[{"uid":"2d89-16"},{"uid":"2d89-20"}]},"2d89-32":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-2"},{"uid":"2d89-6"},{"uid":"2d89-8"},{"uid":"2d89-14"},{"uid":"2d89-18"}],"isExternal":true}},"env":{"rollup":"2.60.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
7064
7064
|
|
|
7065
7065
|
const run = () => {
|
|
7066
7066
|
const width = window.innerWidth;
|
|
@@ -7060,7 +7060,7 @@ var drawChart = (function (exports) {
|
|
|
7060
7060
|
</script>
|
|
7061
7061
|
<script>
|
|
7062
7062
|
/*<!--*/
|
|
7063
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.module.js","children":[{"name":"src","children":[{"uid":"
|
|
7063
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.module.js","children":[{"name":"src","children":[{"uid":"2d89-34","name":"constants.ts"},{"uid":"2d89-36","name":"utils.ts"},{"name":"context","children":[{"uid":"2d89-38","name":"ContainerContext.ts"},{"uid":"2d89-46","name":"RowContext.ts"}]},{"uid":"2d89-40","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"2d89-42","name":"styled.ts"},{"uid":"2d89-44","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"2d89-48","name":"styled.ts"},{"uid":"2d89-50","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"2d89-52","name":"styled.ts"},{"uid":"2d89-54","name":"component.tsx"}]},{"uid":"2d89-56","name":"theme.ts"},{"uid":"2d89-58","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"2d89-34":{"renderedLength":328,"gzipLength":219,"brotliLength":0,"mainUid":"2d89-33"},"2d89-36":{"renderedLength":256,"gzipLength":167,"brotliLength":0,"mainUid":"2d89-35"},"2d89-38":{"renderedLength":41,"gzipLength":53,"brotliLength":0,"mainUid":"2d89-37"},"2d89-40":{"renderedLength":624,"gzipLength":270,"brotliLength":0,"mainUid":"2d89-39"},"2d89-42":{"renderedLength":463,"gzipLength":302,"brotliLength":0,"mainUid":"2d89-41"},"2d89-44":{"renderedLength":798,"gzipLength":436,"brotliLength":0,"mainUid":"2d89-43"},"2d89-46":{"renderedLength":35,"gzipLength":49,"brotliLength":0,"mainUid":"2d89-45"},"2d89-48":{"renderedLength":1094,"gzipLength":509,"brotliLength":0,"mainUid":"2d89-47"},"2d89-50":{"renderedLength":891,"gzipLength":416,"brotliLength":0,"mainUid":"2d89-49"},"2d89-52":{"renderedLength":1822,"gzipLength":717,"brotliLength":0,"mainUid":"2d89-51"},"2d89-54":{"renderedLength":645,"gzipLength":343,"brotliLength":0,"mainUid":"2d89-53"},"2d89-56":{"renderedLength":344,"gzipLength":176,"brotliLength":0,"mainUid":"2d89-55"},"2d89-58":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"2d89-57"}},"nodeMetas":{"2d89-33":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-34"},"imported":[],"importedBy":[{"uid":"2d89-43"},{"uid":"2d89-49"},{"uid":"2d89-53"},{"uid":"2d89-35"},{"uid":"2d89-39"}]},"2d89-35":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-36"},"imported":[{"uid":"2d89-65"},{"uid":"2d89-33"}],"importedBy":[{"uid":"2d89-43"},{"uid":"2d89-49"},{"uid":"2d89-53"},{"uid":"2d89-47"},{"uid":"2d89-51"}]},"2d89-37":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-38"},"imported":[{"uid":"2d89-63"}],"importedBy":[{"uid":"2d89-43"},{"uid":"2d89-64"}]},"2d89-39":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-40"},"imported":[{"uid":"2d89-63"},{"uid":"2d89-65"},{"uid":"2d89-59"},{"uid":"2d89-33"}],"importedBy":[{"uid":"2d89-43"},{"uid":"2d89-49"},{"uid":"2d89-53"}]},"2d89-41":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-42"},"imported":[{"uid":"2d89-65"},{"uid":"2d89-59"}],"importedBy":[{"uid":"2d89-43"}]},"2d89-43":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-44"},"imported":[{"uid":"2d89-63"},{"uid":"2d89-33"},{"uid":"2d89-35"},{"uid":"2d89-37"},{"uid":"2d89-39"},{"uid":"2d89-41"}],"importedBy":[{"uid":"2d89-60"}]},"2d89-45":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-46"},"imported":[{"uid":"2d89-63"}],"importedBy":[{"uid":"2d89-64"}]},"2d89-47":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-48"},"imported":[{"uid":"2d89-65"},{"uid":"2d89-59"},{"uid":"2d89-35"}],"importedBy":[{"uid":"2d89-49"}]},"2d89-49":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-50"},"imported":[{"uid":"2d89-63"},{"uid":"2d89-33"},{"uid":"2d89-35"},{"uid":"2d89-39"},{"uid":"2d89-64"},{"uid":"2d89-47"}],"importedBy":[{"uid":"2d89-61"}]},"2d89-51":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-52"},"imported":[{"uid":"2d89-65"},{"uid":"2d89-59"},{"uid":"2d89-35"}],"importedBy":[{"uid":"2d89-53"}]},"2d89-53":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-54"},"imported":[{"uid":"2d89-63"},{"uid":"2d89-33"},{"uid":"2d89-35"},{"uid":"2d89-39"},{"uid":"2d89-64"},{"uid":"2d89-51"}],"importedBy":[{"uid":"2d89-62"}]},"2d89-55":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-56"},"imported":[],"importedBy":[{"uid":"2d89-57"}]},"2d89-57":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.module.js":"2d89-58"},"imported":[{"uid":"2d89-59"},{"uid":"2d89-60"},{"uid":"2d89-61"},{"uid":"2d89-62"},{"uid":"2d89-55"}],"importedBy":[],"isEntry":true},"2d89-59":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-57"},{"uid":"2d89-39"},{"uid":"2d89-41"},{"uid":"2d89-47"},{"uid":"2d89-51"}],"isExternal":true},"2d89-60":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"2d89-43"}],"importedBy":[{"uid":"2d89-57"}]},"2d89-61":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"2d89-49"}],"importedBy":[{"uid":"2d89-57"}]},"2d89-62":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"2d89-53"}],"importedBy":[{"uid":"2d89-57"}]},"2d89-63":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-43"},{"uid":"2d89-49"},{"uid":"2d89-53"},{"uid":"2d89-37"},{"uid":"2d89-39"},{"uid":"2d89-45"}],"isExternal":true},"2d89-64":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"2d89-37"},{"uid":"2d89-45"}],"importedBy":[{"uid":"2d89-49"},{"uid":"2d89-53"}]},"2d89-65":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-35"},{"uid":"2d89-39"},{"uid":"2d89-41"},{"uid":"2d89-47"},{"uid":"2d89-51"}],"isExternal":true}},"env":{"rollup":"2.60.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
7064
7064
|
|
|
7065
7065
|
const run = () => {
|
|
7066
7066
|
const width = window.innerWidth;
|
|
@@ -7060,7 +7060,7 @@ var drawChart = (function (exports) {
|
|
|
7060
7060
|
</script>
|
|
7061
7061
|
<script>
|
|
7062
7062
|
/*<!--*/
|
|
7063
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.umd.js","children":[{"name":"src","children":[{"uid":"
|
|
7063
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.umd.js","children":[{"name":"src","children":[{"uid":"2d89-67","name":"constants.ts"},{"uid":"2d89-69","name":"utils.ts"},{"name":"context","children":[{"uid":"2d89-71","name":"ContainerContext.ts"},{"uid":"2d89-79","name":"RowContext.ts"}]},{"uid":"2d89-73","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"2d89-75","name":"styled.ts"},{"uid":"2d89-77","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"2d89-81","name":"styled.ts"},{"uid":"2d89-83","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"2d89-85","name":"styled.ts"},{"uid":"2d89-87","name":"component.tsx"}]},{"uid":"2d89-89","name":"theme.ts"},{"uid":"2d89-91","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"2d89-67":{"renderedLength":360,"gzipLength":221,"brotliLength":0,"mainUid":"2d89-66"},"2d89-69":{"renderedLength":269,"gzipLength":172,"brotliLength":0,"mainUid":"2d89-68"},"2d89-71":{"renderedLength":49,"gzipLength":61,"brotliLength":0,"mainUid":"2d89-70"},"2d89-73":{"renderedLength":704,"gzipLength":286,"brotliLength":0,"mainUid":"2d89-72"},"2d89-75":{"renderedLength":467,"gzipLength":297,"brotliLength":0,"mainUid":"2d89-74"},"2d89-77":{"renderedLength":874,"gzipLength":454,"brotliLength":0,"mainUid":"2d89-76"},"2d89-79":{"renderedLength":43,"gzipLength":58,"brotliLength":0,"mainUid":"2d89-78"},"2d89-81":{"renderedLength":1149,"gzipLength":512,"brotliLength":0,"mainUid":"2d89-80"},"2d89-83":{"renderedLength":979,"gzipLength":441,"brotliLength":0,"mainUid":"2d89-82"},"2d89-85":{"renderedLength":1877,"gzipLength":703,"brotliLength":0,"mainUid":"2d89-84"},"2d89-87":{"renderedLength":707,"gzipLength":365,"brotliLength":0,"mainUid":"2d89-86"},"2d89-89":{"renderedLength":384,"gzipLength":178,"brotliLength":0,"mainUid":"2d89-88"},"2d89-91":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"2d89-90"}},"nodeMetas":{"2d89-66":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-67"},"imported":[],"importedBy":[{"uid":"2d89-76"},{"uid":"2d89-82"},{"uid":"2d89-86"},{"uid":"2d89-68"},{"uid":"2d89-72"}]},"2d89-68":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-69"},"imported":[{"uid":"2d89-98"},{"uid":"2d89-66"}],"importedBy":[{"uid":"2d89-76"},{"uid":"2d89-82"},{"uid":"2d89-86"},{"uid":"2d89-80"},{"uid":"2d89-84"}]},"2d89-70":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-71"},"imported":[{"uid":"2d89-96"}],"importedBy":[{"uid":"2d89-76"},{"uid":"2d89-97"}]},"2d89-72":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-73"},"imported":[{"uid":"2d89-96"},{"uid":"2d89-98"},{"uid":"2d89-92"},{"uid":"2d89-66"}],"importedBy":[{"uid":"2d89-76"},{"uid":"2d89-82"},{"uid":"2d89-86"}]},"2d89-74":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-75"},"imported":[{"uid":"2d89-98"},{"uid":"2d89-92"}],"importedBy":[{"uid":"2d89-76"}]},"2d89-76":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-77"},"imported":[{"uid":"2d89-96"},{"uid":"2d89-66"},{"uid":"2d89-68"},{"uid":"2d89-70"},{"uid":"2d89-72"},{"uid":"2d89-74"}],"importedBy":[{"uid":"2d89-93"}]},"2d89-78":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-79"},"imported":[{"uid":"2d89-96"}],"importedBy":[{"uid":"2d89-97"}]},"2d89-80":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-81"},"imported":[{"uid":"2d89-98"},{"uid":"2d89-92"},{"uid":"2d89-68"}],"importedBy":[{"uid":"2d89-82"}]},"2d89-82":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-83"},"imported":[{"uid":"2d89-96"},{"uid":"2d89-66"},{"uid":"2d89-68"},{"uid":"2d89-72"},{"uid":"2d89-97"},{"uid":"2d89-80"}],"importedBy":[{"uid":"2d89-94"}]},"2d89-84":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-85"},"imported":[{"uid":"2d89-98"},{"uid":"2d89-92"},{"uid":"2d89-68"}],"importedBy":[{"uid":"2d89-86"}]},"2d89-86":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-87"},"imported":[{"uid":"2d89-96"},{"uid":"2d89-66"},{"uid":"2d89-68"},{"uid":"2d89-72"},{"uid":"2d89-97"},{"uid":"2d89-84"}],"importedBy":[{"uid":"2d89-95"}]},"2d89-88":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-89"},"imported":[],"importedBy":[{"uid":"2d89-90"}]},"2d89-90":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.umd.js":"2d89-91"},"imported":[{"uid":"2d89-92"},{"uid":"2d89-93"},{"uid":"2d89-94"},{"uid":"2d89-95"},{"uid":"2d89-88"}],"importedBy":[],"isEntry":true},"2d89-92":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-90"},{"uid":"2d89-72"},{"uid":"2d89-74"},{"uid":"2d89-80"},{"uid":"2d89-84"}],"isExternal":true},"2d89-93":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"2d89-76"}],"importedBy":[{"uid":"2d89-90"}]},"2d89-94":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"2d89-82"}],"importedBy":[{"uid":"2d89-90"}]},"2d89-95":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"2d89-86"}],"importedBy":[{"uid":"2d89-90"}]},"2d89-96":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-76"},{"uid":"2d89-82"},{"uid":"2d89-86"},{"uid":"2d89-70"},{"uid":"2d89-72"},{"uid":"2d89-78"}],"isExternal":true},"2d89-97":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"2d89-70"},{"uid":"2d89-78"}],"importedBy":[{"uid":"2d89-82"},{"uid":"2d89-86"}]},"2d89-98":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-68"},{"uid":"2d89-72"},{"uid":"2d89-74"},{"uid":"2d89-80"},{"uid":"2d89-84"}],"isExternal":true}},"env":{"rollup":"2.60.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
7064
7064
|
|
|
7065
7065
|
const run = () => {
|
|
7066
7066
|
const width = window.innerWidth;
|
|
@@ -7060,7 +7060,7 @@ var drawChart = (function (exports) {
|
|
|
7060
7060
|
</script>
|
|
7061
7061
|
<script>
|
|
7062
7062
|
/*<!--*/
|
|
7063
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.umd.min.js","children":[{"name":"src","children":[{"uid":"
|
|
7063
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-coolgrid.umd.min.js","children":[{"name":"src","children":[{"uid":"2d89-100","name":"constants.ts"},{"uid":"2d89-102","name":"utils.ts"},{"name":"context","children":[{"uid":"2d89-104","name":"ContainerContext.ts"},{"uid":"2d89-112","name":"RowContext.ts"}]},{"uid":"2d89-106","name":"useContext.tsx"},{"name":"Container","children":[{"uid":"2d89-108","name":"styled.ts"},{"uid":"2d89-110","name":"component.tsx"}]},{"name":"Row","children":[{"uid":"2d89-114","name":"styled.ts"},{"uid":"2d89-116","name":"component.tsx"}]},{"name":"Col","children":[{"uid":"2d89-118","name":"styled.ts"},{"uid":"2d89-120","name":"component.tsx"}]},{"uid":"2d89-122","name":"theme.ts"},{"uid":"2d89-124","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"2d89-100":{"renderedLength":360,"gzipLength":221,"brotliLength":0,"mainUid":"2d89-99"},"2d89-102":{"renderedLength":269,"gzipLength":172,"brotliLength":0,"mainUid":"2d89-101"},"2d89-104":{"renderedLength":49,"gzipLength":61,"brotliLength":0,"mainUid":"2d89-103"},"2d89-106":{"renderedLength":704,"gzipLength":286,"brotliLength":0,"mainUid":"2d89-105"},"2d89-108":{"renderedLength":467,"gzipLength":297,"brotliLength":0,"mainUid":"2d89-107"},"2d89-110":{"renderedLength":874,"gzipLength":454,"brotliLength":0,"mainUid":"2d89-109"},"2d89-112":{"renderedLength":43,"gzipLength":58,"brotliLength":0,"mainUid":"2d89-111"},"2d89-114":{"renderedLength":1149,"gzipLength":512,"brotliLength":0,"mainUid":"2d89-113"},"2d89-116":{"renderedLength":979,"gzipLength":441,"brotliLength":0,"mainUid":"2d89-115"},"2d89-118":{"renderedLength":1877,"gzipLength":703,"brotliLength":0,"mainUid":"2d89-117"},"2d89-120":{"renderedLength":707,"gzipLength":365,"brotliLength":0,"mainUid":"2d89-119"},"2d89-122":{"renderedLength":384,"gzipLength":178,"brotliLength":0,"mainUid":"2d89-121"},"2d89-124":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"2d89-123"}},"nodeMetas":{"2d89-99":{"id":"/src/constants.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-100"},"imported":[],"importedBy":[{"uid":"2d89-109"},{"uid":"2d89-115"},{"uid":"2d89-119"},{"uid":"2d89-101"},{"uid":"2d89-105"}]},"2d89-101":{"id":"/src/utils.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-102"},"imported":[{"uid":"2d89-131"},{"uid":"2d89-99"}],"importedBy":[{"uid":"2d89-109"},{"uid":"2d89-115"},{"uid":"2d89-119"},{"uid":"2d89-113"},{"uid":"2d89-117"}]},"2d89-103":{"id":"/src/context/ContainerContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-104"},"imported":[{"uid":"2d89-129"}],"importedBy":[{"uid":"2d89-109"},{"uid":"2d89-130"}]},"2d89-105":{"id":"/src/useContext.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-106"},"imported":[{"uid":"2d89-129"},{"uid":"2d89-131"},{"uid":"2d89-125"},{"uid":"2d89-99"}],"importedBy":[{"uid":"2d89-109"},{"uid":"2d89-115"},{"uid":"2d89-119"}]},"2d89-107":{"id":"/src/Container/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-108"},"imported":[{"uid":"2d89-131"},{"uid":"2d89-125"}],"importedBy":[{"uid":"2d89-109"}]},"2d89-109":{"id":"/src/Container/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-110"},"imported":[{"uid":"2d89-129"},{"uid":"2d89-99"},{"uid":"2d89-101"},{"uid":"2d89-103"},{"uid":"2d89-105"},{"uid":"2d89-107"}],"importedBy":[{"uid":"2d89-126"}]},"2d89-111":{"id":"/src/context/RowContext.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-112"},"imported":[{"uid":"2d89-129"}],"importedBy":[{"uid":"2d89-130"}]},"2d89-113":{"id":"/src/Row/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-114"},"imported":[{"uid":"2d89-131"},{"uid":"2d89-125"},{"uid":"2d89-101"}],"importedBy":[{"uid":"2d89-115"}]},"2d89-115":{"id":"/src/Row/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-116"},"imported":[{"uid":"2d89-129"},{"uid":"2d89-99"},{"uid":"2d89-101"},{"uid":"2d89-105"},{"uid":"2d89-130"},{"uid":"2d89-113"}],"importedBy":[{"uid":"2d89-127"}]},"2d89-117":{"id":"/src/Col/styled.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-118"},"imported":[{"uid":"2d89-131"},{"uid":"2d89-125"},{"uid":"2d89-101"}],"importedBy":[{"uid":"2d89-119"}]},"2d89-119":{"id":"/src/Col/component.tsx","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-120"},"imported":[{"uid":"2d89-129"},{"uid":"2d89-99"},{"uid":"2d89-101"},{"uid":"2d89-105"},{"uid":"2d89-130"},{"uid":"2d89-117"}],"importedBy":[{"uid":"2d89-128"}]},"2d89-121":{"id":"/src/theme.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-122"},"imported":[],"importedBy":[{"uid":"2d89-123"}]},"2d89-123":{"id":"/src/index.ts","moduleParts":{"vitus-labs-coolgrid.umd.min.js":"2d89-124"},"imported":[{"uid":"2d89-125"},{"uid":"2d89-126"},{"uid":"2d89-127"},{"uid":"2d89-128"},{"uid":"2d89-121"}],"importedBy":[],"isEntry":true},"2d89-125":{"id":"@vitus-labs/unistyle","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-123"},{"uid":"2d89-105"},{"uid":"2d89-107"},{"uid":"2d89-113"},{"uid":"2d89-117"}],"isExternal":true},"2d89-126":{"id":"/src/Container/index.ts","moduleParts":{},"imported":[{"uid":"2d89-109"}],"importedBy":[{"uid":"2d89-123"}]},"2d89-127":{"id":"/src/Row/index.ts","moduleParts":{},"imported":[{"uid":"2d89-115"}],"importedBy":[{"uid":"2d89-123"}]},"2d89-128":{"id":"/src/Col/index.ts","moduleParts":{},"imported":[{"uid":"2d89-119"}],"importedBy":[{"uid":"2d89-123"}]},"2d89-129":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-109"},{"uid":"2d89-115"},{"uid":"2d89-119"},{"uid":"2d89-103"},{"uid":"2d89-105"},{"uid":"2d89-111"}],"isExternal":true},"2d89-130":{"id":"/src/context/index.ts","moduleParts":{},"imported":[{"uid":"2d89-103"},{"uid":"2d89-111"}],"importedBy":[{"uid":"2d89-115"},{"uid":"2d89-119"}]},"2d89-131":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d89-101"},{"uid":"2d89-105"},{"uid":"2d89-107"},{"uid":"2d89-113"},{"uid":"2d89-117"}],"isExternal":true}},"env":{"rollup":"2.60.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
7064
7064
|
|
|
7065
7065
|
const run = () => {
|
|
7066
7066
|
const width = window.innerWidth;
|
package/lib/types/utils.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { omit } from '@vitus-labs/core';
|
|
2
|
-
declare type BoolFunc = (value:
|
|
2
|
+
declare type BoolFunc = (value: any) => boolean;
|
|
3
3
|
export declare const isNumber: BoolFunc;
|
|
4
4
|
export declare const hasValue: BoolFunc;
|
|
5
5
|
export declare const isVisible: BoolFunc;
|
|
6
|
-
declare type HasWidth = (size:
|
|
6
|
+
declare type HasWidth = (size: any, columns: any) => boolean;
|
|
7
7
|
export declare const hasWidth: HasWidth;
|
|
8
|
-
declare type OmitCtxKeys = (props?: Record<string,
|
|
8
|
+
declare type OmitCtxKeys = (props?: Record<string, any>) => ReturnType<typeof omit>;
|
|
9
9
|
export declare const omitCtxKeys: OmitCtxKeys;
|
|
10
10
|
export {};
|
|
@@ -81,11 +81,11 @@ const Component$2 = ({ children, component, css, width, ...props }) => {
|
|
|
81
81
|
// @ts-ignore
|
|
82
82
|
finalWidth = typeof width === 'function' ? width(containerWidth) : width;
|
|
83
83
|
}
|
|
84
|
-
return (React__default[
|
|
84
|
+
return (React__default["default"].createElement(Styled$2, { ...omitCtxKeys(props), as: component, "$coolgrid": {
|
|
85
85
|
width: finalWidth,
|
|
86
86
|
extraStyles: css,
|
|
87
87
|
} },
|
|
88
|
-
React__default[
|
|
88
|
+
React__default["default"].createElement(ContainerContext.Provider, { value: ctx }, children)));
|
|
89
89
|
};
|
|
90
90
|
const name$2 = `${PKG_NAME}/Container`;
|
|
91
91
|
Component$2.displayName = name$2;
|
|
@@ -151,8 +151,8 @@ const Component$1 = ({ children, component, css, contentAlignX: rowAlignX, ...pr
|
|
|
151
151
|
extraStyles: css || rowCss,
|
|
152
152
|
},
|
|
153
153
|
};
|
|
154
|
-
return (React__default[
|
|
155
|
-
React__default[
|
|
154
|
+
return (React__default["default"].createElement(Styled$1, { ...finalProps },
|
|
155
|
+
React__default["default"].createElement(RowContext.Provider, { value: { ...ctx, columns, gap, gutter } }, children)));
|
|
156
156
|
};
|
|
157
157
|
const name$1 = `${PKG_NAME}/Row`;
|
|
158
158
|
Component$1.displayName = name$1;
|
|
@@ -235,7 +235,7 @@ const Component = ({ children, component, css, ...props }) => {
|
|
|
235
235
|
...parentCtx,
|
|
236
236
|
...props,
|
|
237
237
|
});
|
|
238
|
-
return (React__default[
|
|
238
|
+
return (React__default["default"].createElement(Styled, { ...omitCtxKeys(props), as: component || colComponent, "$coolgrid": {
|
|
239
239
|
columns,
|
|
240
240
|
gap,
|
|
241
241
|
size,
|
|
@@ -271,9 +271,7 @@ var theme = {
|
|
|
271
271
|
|
|
272
272
|
Object.defineProperty(exports, 'Provider', {
|
|
273
273
|
enumerable: true,
|
|
274
|
-
get: function () {
|
|
275
|
-
return unistyle.Provider;
|
|
276
|
-
}
|
|
274
|
+
get: function () { return unistyle.Provider; }
|
|
277
275
|
});
|
|
278
276
|
exports.Col = Component;
|
|
279
277
|
exports.Container = Component$2;
|
|
@@ -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: unknown) => 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: unknown, columns: unknown) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, unknown>) => 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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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"],"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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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"],"mappings":";;;;;;;;;;;;AAAO,MAAM,QAAQ,GAAG,sBAAsB,CAAA;AAE9C;AACO,MAAM,YAAY,GAAG;;;IAG1B,SAAS;IACT,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,cAAc;IACd,eAAe;CAChB;;ACXM,MAAM,QAAQ,GAAa,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5D,MAAM,QAAQ,GAAa,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AAClE,MAAM,SAAS,GAAa,CAAC,KAAK,KACvC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,SAAS,CAAA;AAOlD,MAAM,WAAW,GAAgB,CAAC,KAAK,KAAKA,SAAI,CAAC,KAAK,EAAE,YAAY,CAAC;;ACZ5E,uBAAeC,mBAAa,CAAU,EAAE,CAAC;;ACUzC,MAAM,cAAc,GAAmB,CAAC,KAAK,EAAE,QAAQ,KACrDC,SAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAahB,MAAM,cAAc,GAAmB,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM;IACzE,OAAO,GAAGC,QAAG,CAAC,KAAK,EAAE,SAAS,CAAC;QAC7BA,QAAG,CAAC,KAAK,EAAE,cAAc,CAAC;QAC1BA,QAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAc;IAC9C,cAAc,GAAGA,QAAG,CAAC,KAAK,EAAE,OAAO,CAAC;QAClCA,QAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAC5BA,QAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAA2B;CAC9D,CAAC,CAAA;AAGF,MAAM,cAAc,GAAmB,CAAC,KAAK;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAGC,gBAAU,CAACC,gBAAO,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAgC,CAAC,CAAA;IAE9E,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAA;AACxC,CAAC;;AClCD,MAAMC,QAAM,GAER,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAA;eACzBC,cAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACrCC,kBAAS,CAAC,CAAC,CAAC,WAAW,CAAC;CAC3B,CAAA;AAED,eAAeC,WAAM,CAAC,MAAM,CAACA,WAAM,CAAC,SAAS,CAAC,CAAA;IAG1CA,WAAM,CAAC,GAAG,CAAA;;KAGZ;;;;;;;;IAQEC,yBAAgB,CAAC;IACjB,GAAG,EAAE,WAAW;YAChBJ,QAAM;IACN,GAAG,EAAEG,WAAM,CAAC,GAAG;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;CACH;;MC5BKE,WAAS,GAAoC,CAAC,EAClD,QAAQ,EACR,SAAS,EACT,GAAG,EACH,KAAK,EACL,GAAG,KAAK,EACT;IACC,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAE7D,IAAI,UAAU,GAAG,cAAc,CAAA;IAC/B,IAAI,KAAK,EAAE;;;QAGT,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAA;KACzE;IAED,QACEC,wCAACC,QAAM,OACD,WAAW,CAAC,KAAK,CAAC,EACtB,EAAE,EAAE,SAAS,eACF;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,GAAG;SACjB;QAEDD,wCAACE,gBAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,IAAG,QAAQ,CAAoB,CACpD,EACV;AACH,EAAC;AAED,MAAMC,MAAI,GAAG,GAAG,QAAQ,YAAY,CAAA;AAEpCJ,WAAS,CAAC,WAAW,GAAGI,MAAI,CAAA;AAC5BJ,WAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;AAC5BA,WAAS,CAAC,qBAAqB,GAAGI,MAAI;;ACvCtC,iBAAed,mBAAa,CAAU,EAAE,CAAC;;ACazC,MAAMe,eAAa,GAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;IACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAE7B,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAKT,cAAK,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;IAEpD,MAAM,QAAQ,GAAG,CAAC,GAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAO,GAAG,GAAI,GAAG,CAAC,GAAG,GAAI,GAAG,CAAC,CAAA;IAEjE,OAAOE,WAAM,CAAC,GAAG,CAAA;cACL,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;GACnD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,KAAoC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IAErB,OAAOA,WAAM,CAAC,GAAG,CAAA;uBACIQ,4BAAmB,CAAC,KAAK,CAAC;GAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAMX,QAAM,GAER,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAEzD,OAAO,GAAG,CAAA;MACNU,eAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;MAC5C,YAAY,CAAC,aAAa,CAAC;MAC3BR,kBAAS,CAAC,WAAW,CAAC;GACzB,CAAA;AACH,CAAC,CAAA;AAED,eAAeC,WAAM,CAAC,MAAM,CAACA,WAAM,CAAC,SAAS,CAAC,CAAA;IAG1CA,WAAM,CAAC,GAAG,CAAA;;KAGZ;;;;;;;IAOEC,yBAAgB,CAAC;IACjB,GAAG,EAAE,WAAW;YAChBJ,QAAM;IACN,GAAG,EAAEG,WAAM,CAAC,GAAG;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;CACH;;MC5DKE,WAAS,GAEX,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE;IACnE,MAAM,SAAS,GAAGP,gBAAU,CAAC,gBAAgB,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,EAAE,GACzE,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IAE5C,MAAM,UAAU,GAAG;QACjB,GAAG,WAAW,CAAC,KAAK,CAAC;QACrB,EAAE,EAAE,SAAS,IAAI,YAAY;QAC7B,SAAS,EAAE;YACT,aAAa,EAAE,SAAS,IAAI,aAAa;YACzC,OAAO;YACP,GAAG;YACH,MAAM;YACN,WAAW,EAAE,GAAG,IAAI,MAAM;SAC3B;KACF,CAAA;IAED,QACEQ,wCAACC,QAAM,OAAK,UAAU;QACpBD,wCAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IACzD,QAAQ,CACW,CACf,EACV;AACH,EAAC;AAED,MAAMG,MAAI,GAAG,GAAG,QAAQ,MAAM,CAAA;AAE9BJ,WAAS,CAAC,WAAW,GAAGI,MAAI,CAAA;AAC5BJ,WAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;AAC5BA,WAAS,CAAC,qBAAqB,GAAGI,MAAI;;AC5BtC,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,OAAO,KACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;AAOrC,MAAM,WAAW,GAAgB,CAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,EACrC,EAAE,QAAQ,EAAE;IAEZ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QAC5B,OAAO,EAAE,CAAA;KACV;;IAGD,MAAM,KAAK,GACP,CAAC,IAAK,GAAG,OAAQ,IAAI,GAAG;QACU,CAAA;IAEtC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;;IAG5B,MAAM,GAAG,GACL,MAAM;cACJ,QAAQ,KAAK,OAAO,GAAG,KAAK;cAC5B,GAAG,KAAK,GAAG;QAGR,CAAA;IAET,OAAON,WAAM,CAAC,GAAG,CAAA;;;mBAGAF,cAAK,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;oBACrBA,cAAK,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;KACrC,CAAA;AACL,CAAC,CAAA;AAOD,MAAM,aAAa,GAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;IACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,EAAE,CAAA;KACV;IAED,MAAM,UAAU,GAAG,GAAG,IAAI,KAAKA,cAAK,CAAC,CAAC,KAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAA;IAE9D,OAAOE,WAAM,CAAC,GAAG,CAAA;QACX,UAAU;KACb,CAAA;AACL,CAAC,CAAA;AAED,MAAM,MAAM,GAAwC,CAAC,EACnD,KAAK,EACL,GAAG,EACH,QAAQ,GACT;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IACzE,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAEpC,IAAI,YAAY,EAAE;QAChB,OAAO,GAAG,CAAA;;;QAGN,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;QAChE,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC3C,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC;QACtCD,kBAAS,CAAC,WAAW,CAAC;KACzB,CAAA;KACF;IAED,OAAO,GAAG,CAAA;;;;;GAKT,CAAA;AACH,CAAC,CAAA;AAED,aAAeC,WAAM,CAAC,MAAM,CAACA,WAAM,CAAC,SAAS,CAAC,CAAA;IAG1CA,WAAM,CAAC,GAAG,CAAA;;KAGZ;;;;;;;;;IASEC,yBAAgB,CAAC;IACjB,GAAG,EAAE,WAAW;IAChB,MAAM;IACN,GAAG,EAAED,WAAM,CAAC,GAAG;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;CACH;;MC7GK,SAAS,GAYX,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE;IACzC,MAAM,SAAS,GAAGL,gBAAU,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAC3E,GAAG,SAAS;QACZ,GAAG,KAAK;KACT,CAAC,CAAA;IAEF,QACEQ,wCAAC,MAAM,OACD,WAAW,CAAC,KAAK,CAAC,EACtB,EAAE,EAAE,SAAS,IAAI,YAAY,eAClB;YACT,OAAO;YACP,GAAG;YACH,IAAI;YACJ,OAAO;YACP,WAAW,EAAE,GAAG,IAAI,MAAM;SAC3B,IAEA,QAAQ,CACF,EACV;AACH,EAAC;AAED,MAAM,IAAI,GAAG,GAAG,QAAQ,MAAM,CAAA;AAE9B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;AAC5B,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;AAC5B,SAAS,CAAC,qBAAqB,GAAG,IAAI;;AChDtC,YAAe;IACb,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE;QACX,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,IAAI;KACT;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE;YACT,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,GAAG;YACP,EAAE,EAAE,GAAG;YACP,EAAE,EAAE,GAAG;YACP,EAAE,EAAE,IAAI;SACT;KACF;CACO;;;;;;;;;;;"}
|
|
@@ -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: unknown) => 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: unknown, columns: unknown) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, unknown>) => 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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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":";;;;;AAAO,MAAM,QAAQ,GAAG,sBAAsB,CAAA;AAE9C;AACO,MAAM,YAAY,GAAG;;;IAG1B,SAAS;IACT,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,cAAc;IACd,eAAe;CAChB;;ACXM,MAAM,QAAQ,GAAa,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5D,MAAM,QAAQ,GAAa,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AAClE,MAAM,SAAS,GAAa,CAAC,KAAK,KACvC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,SAAS,CAAA;AAOlD,MAAM,WAAW,GAAgB,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;;ACZ5E,uBAAe,aAAa,CAAU,EAAE,CAAC;;ACUzC,MAAM,cAAc,GAAmB,CAAC,KAAK,EAAE,QAAQ,KACrD,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAahB,MAAM,cAAc,GAAmB,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM;IACzE,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC;QAC7B,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC;QAC1B,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAc;IAC9C,cAAc,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAC5B,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAA2B;CAC9D,CAAC,CAAA;AAGF,MAAM,cAAc,GAAmB,CAAC,KAAK;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAgC,CAAC,CAAA;IAE9E,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAA;AACxC,CAAC;;AClCD,MAAMA,QAAM,GAER,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAA;eACzB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACrC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;CAC3B,CAAA;AAED,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAG1C,MAAM,CAAC,GAAG,CAAA;;KAGZ;;;;;;;;IAQE,gBAAgB,CAAC;IACjB,GAAG,EAAE,WAAW;YAChBA,QAAM;IACN,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;CACH;;MC5BKC,WAAS,GAAoC,CAAC,EAClD,QAAQ,EACR,SAAS,EACT,GAAG,EACH,KAAK,EACL,GAAG,KAAK,EACT;IACC,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAE7D,IAAI,UAAU,GAAG,cAAc,CAAA;IAC/B,IAAI,KAAK,EAAE;;;QAGT,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAA;KACzE;IAED,QACE,oBAACC,QAAM,OACD,WAAW,CAAC,KAAK,CAAC,EACtB,EAAE,EAAE,SAAS,eACF;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,GAAG;SACjB;QAED,oBAACC,gBAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,IAAG,QAAQ,CAAoB,CACpD,EACV;AACH,EAAC;AAED,MAAMC,MAAI,GAAG,GAAG,QAAQ,YAAY,CAAA;AAEpCH,WAAS,CAAC,WAAW,GAAGG,MAAI,CAAA;AAC5BH,WAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;AAC5BA,WAAS,CAAC,qBAAqB,GAAGG,MAAI;;ACvCtC,iBAAe,aAAa,CAAU,EAAE,CAAC;;ACazC,MAAMC,eAAa,GAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;IACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAE7B,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;IAEpD,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IAE9D,OAAO,MAAM,CAAC,GAAG,CAAA;cACL,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;GACnD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,KAAoC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IAErB,OAAO,MAAM,CAAC,GAAG,CAAA;uBACI,mBAAmB,CAAC,KAAK,CAAC;GAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAML,QAAM,GAER,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAEzD,OAAO,GAAG,CAAA;MACNK,eAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;MAC5C,YAAY,CAAC,aAAa,CAAC;MAC3B,SAAS,CAAC,WAAW,CAAC;GACzB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAG1C,MAAM,CAAC,GAAG,CAAA;;KAGZ;;;;;;;IAOE,gBAAgB,CAAC;IACjB,GAAG,EAAE,WAAW;YAChBL,QAAM;IACN,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;CACH;;MC5DKC,WAAS,GAEX,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE;IACnE,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,EAAE,GACzE,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IAE5C,MAAM,UAAU,GAAG;QACjB,GAAG,WAAW,CAAC,KAAK,CAAC;QACrB,EAAE,EAAE,SAAS,IAAI,YAAY;QAC7B,SAAS,EAAE;YACT,aAAa,EAAE,SAAS,IAAI,aAAa;YACzC,OAAO;YACP,GAAG;YACH,MAAM;YACN,WAAW,EAAE,GAAG,IAAI,MAAM;SAC3B;KACF,CAAA;IAED,QACE,oBAACC,QAAM,OAAK,UAAU;QACpB,oBAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IACzD,QAAQ,CACW,CACf,EACV;AACH,EAAC;AAED,MAAME,MAAI,GAAG,GAAG,QAAQ,MAAM,CAAA;AAE9BH,WAAS,CAAC,WAAW,GAAGG,MAAI,CAAA;AAC5BH,WAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;AAC5BA,WAAS,CAAC,qBAAqB,GAAGG,MAAI;;AC5BtC,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,OAAO,KACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;AAOrC,MAAM,WAAW,GAAgB,CAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,EACrC,EAAE,QAAQ,EAAE;IAEZ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QAC5B,OAAO,EAAE,CAAA;KACV;;IAGD,MAAM,KAAK,GACP,CAAC,IAAI,GAAG,OAAO,IAAI,GAAG;QACU,CAAA;IAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;;IAG5B,MAAM,GAAG,GACL,MAAM;cACJ,QAAQ,KAAK,OAAO,GAAG,KAAK;cAC5B,GAAG,KAAK,GAAG;QAGR,CAAA;IAET,OAAO,MAAM,CAAC,GAAG,CAAA;;;mBAGA,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;oBACrB,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;KACrC,CAAA;AACL,CAAC,CAAA;AAOD,MAAM,aAAa,GAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;IACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,EAAE,CAAA;KACV;IAED,MAAM,UAAU,GAAG,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAA;IAE7D,OAAO,MAAM,CAAC,GAAG,CAAA;QACX,UAAU;KACb,CAAA;AACL,CAAC,CAAA;AAED,MAAM,MAAM,GAAwC,CAAC,EACnD,KAAK,EACL,GAAG,EACH,QAAQ,GACT;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IACzE,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAEpC,IAAI,YAAY,EAAE;QAChB,OAAO,GAAG,CAAA;;;QAGN,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;QAChE,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC3C,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC;QACtC,SAAS,CAAC,WAAW,CAAC;KACzB,CAAA;KACF;IAED,OAAO,GAAG,CAAA;;;;;GAKT,CAAA;AACH,CAAC,CAAA;AAED,aAAe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAG1C,MAAM,CAAC,GAAG,CAAA;;KAGZ;;;;;;;;;IASE,gBAAgB,CAAC;IACjB,GAAG,EAAE,WAAW;IAChB,MAAM;IACN,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;CACH;;MC7GK,SAAS,GAYX,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAC3E,GAAG,SAAS;QACZ,GAAG,KAAK;KACT,CAAC,CAAA;IAEF,QACE,oBAAC,MAAM,OACD,WAAW,CAAC,KAAK,CAAC,EACtB,EAAE,EAAE,SAAS,IAAI,YAAY,eAClB;YACT,OAAO;YACP,GAAG;YACH,IAAI;YACJ,OAAO;YACP,WAAW,EAAE,GAAG,IAAI,MAAM;SAC3B,IAEA,QAAQ,CACF,EACV;AACH,EAAC;AAED,MAAM,IAAI,GAAG,GAAG,QAAQ,MAAM,CAAA;AAE9B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;AAC5B,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;AAC5B,SAAS,CAAC,qBAAqB,GAAG,IAAI;;AChDtC,YAAe;IACb,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE;QACX,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,IAAI;KACT;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE;YACT,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,GAAG;YACP,EAAE,EAAE,GAAG;YACP,EAAE,EAAE,GAAG;YACP,EAAE,EAAE,IAAI;SACT;KACF;CACO;;;;"}
|
|
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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@vitus-labs/unistyle'), require('react'), require('@vitus-labs/core')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports', '@vitus-labs/unistyle', 'react', '@vitus-labs/core'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vitusLabsCoolgrid = {}, global.unistyle, global.React, global.core));
|
|
5
|
-
}(this, (function (exports, unistyle, React, core) { 'use strict';
|
|
5
|
+
})(this, (function (exports, unistyle, React, core) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
// @ts-ignore
|
|
78
78
|
finalWidth = typeof width === 'function' ? width(containerWidth) : width;
|
|
79
79
|
}
|
|
80
|
-
return (React__default[
|
|
80
|
+
return (React__default["default"].createElement(Styled$2, { ...omitCtxKeys(props), as: component, "$coolgrid": {
|
|
81
81
|
width: finalWidth,
|
|
82
82
|
extraStyles: css,
|
|
83
83
|
} },
|
|
84
|
-
React__default[
|
|
84
|
+
React__default["default"].createElement(ContainerContext.Provider, { value: ctx }, children)));
|
|
85
85
|
};
|
|
86
86
|
const name$2 = `${PKG_NAME}/Container`;
|
|
87
87
|
Component$2.displayName = name$2;
|
|
@@ -145,8 +145,8 @@
|
|
|
145
145
|
extraStyles: css || rowCss,
|
|
146
146
|
},
|
|
147
147
|
};
|
|
148
|
-
return (React__default[
|
|
149
|
-
React__default[
|
|
148
|
+
return (React__default["default"].createElement(Styled$1, { ...finalProps },
|
|
149
|
+
React__default["default"].createElement(RowContext.Provider, { value: { ...ctx, columns, gap, gutter } }, children)));
|
|
150
150
|
};
|
|
151
151
|
const name$1 = `${PKG_NAME}/Row`;
|
|
152
152
|
Component$1.displayName = name$1;
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
...parentCtx,
|
|
226
226
|
...props,
|
|
227
227
|
});
|
|
228
|
-
return (React__default[
|
|
228
|
+
return (React__default["default"].createElement(Styled, { ...omitCtxKeys(props), as: component || colComponent, "$coolgrid": {
|
|
229
229
|
columns,
|
|
230
230
|
gap,
|
|
231
231
|
size,
|
|
@@ -261,9 +261,7 @@
|
|
|
261
261
|
|
|
262
262
|
Object.defineProperty(exports, 'Provider', {
|
|
263
263
|
enumerable: true,
|
|
264
|
-
get: function () {
|
|
265
|
-
return unistyle.Provider;
|
|
266
|
-
}
|
|
264
|
+
get: function () { return unistyle.Provider; }
|
|
267
265
|
});
|
|
268
266
|
exports.Col = Component;
|
|
269
267
|
exports.Container = Component$2;
|
|
@@ -272,5 +270,5 @@
|
|
|
272
270
|
|
|
273
271
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
274
272
|
|
|
275
|
-
}))
|
|
273
|
+
}));
|
|
276
274
|
//# sourceMappingURL=vitus-labs-coolgrid.umd.js.map
|
|
@@ -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: unknown) => 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: unknown, columns: unknown) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, unknown>) => 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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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"],"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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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"],"mappings":"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"}
|
|
@@ -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: unknown) => 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: unknown, columns: unknown) => boolean\nexport const hasWidth: HasWidth = (size, columns) =>\n !!(hasValue(size) && hasValue(columns))\n\ntype OmitCtxKeys = (props?: Record<string, unknown>) => 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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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","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","import { 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 } 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 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={{ ...ctx, columns, gap, gutter }}>\n {children}\n </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","import { 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 ]\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","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitus-labs/coolgrid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.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.
|
|
65
|
-
"@vitus-labs/tools-babel": "^0.
|
|
66
|
-
"@vitus-labs/tools-rollup": "^0.
|
|
67
|
-
"@vitus-labs/tools-storybook": "^0.
|
|
68
|
-
"@vitus-labs/tools-typescript": "^0.
|
|
69
|
-
"@vitus-labs/unistyle": "^0.
|
|
64
|
+
"@vitus-labs/core": "^0.16.0",
|
|
65
|
+
"@vitus-labs/tools-babel": "^0.19.0",
|
|
66
|
+
"@vitus-labs/tools-rollup": "^0.19.0",
|
|
67
|
+
"@vitus-labs/tools-storybook": "^0.19.0",
|
|
68
|
+
"@vitus-labs/tools-typescript": "^0.19.0",
|
|
69
|
+
"@vitus-labs/unistyle": "^0.16.0"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "5c2c0471f1c6d444227c70609c85075f5440c5a1"
|
|
72
72
|
}
|