{"_id":"@haijindev/o-css","_rev":"8-b7ce945c1fbe254153a2738837523a1f","name":"@haijindev/o-css","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@haijindev/o-css","version":"1.0.0","description":"Client side css compiler","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/css","devDependencies":{"o-testing-toolbox":"^1.0.1","chai":"^4.2.0","eslint":"^7.4.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"1.1.0"},"gitHead":"2a30b8dafa1fcd92028fc9e168ee605b8c7be254","_id":"@haijindev/o-css@1.0.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RoP44cLjXKAzDWWmQF7nvfshYgVZrqKViZGxr2iVBbvazM1UYVbEX2fi1Y9S99mqoJFj3LzCkWHKowd8svmOyw==","shasum":"55793707b28b2803ea506f3872d3dccc47091c09","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.0.tgz","fileCount":6,"unpackedSize":11395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAH9YCRA9TVsSAnZWagAAFZ0P/jthYsY23C/PwGtlPnbs\nXgMfOsbtW+3Y8CV7h0AAuEdXQPC+6SeFGNNbmbutalYuxse3LkonhPOfT2CO\nPenm/WIojQcW5SUMOqPrXubVinreRbMDjBaY8IgFIt/yFueuEJuorBrN+rGH\nRdRy7DUfzdisUZV/asdLA0D0xLH1A2PQs5aBe7fwJEl8buFTaCuXCdxTlNkZ\nYKcW2FbbWwFkm9ISCnlQDDLZ/ThE5Wq+nLSCbTVTJ5/VcQn8b6vH+yzXOLby\nCHcKbAx77L9duBSNmuK/d873U0yOBD4WxfpP2f1crbiHp90Tela91J1esvja\nzrMl1zZ06Qr7QfLCGiXxZ90j/nCdjSHfvmnuv2Hum6Y5Jw7e367qdFjr0yTF\nN+ZSAvm3AD/Lo0M4P+EzcAHvEkQZSckJ+HZuvUotZCB556Lj/GmLhnZGZr+y\n0pL7Z3I3Kwb4IX2m8u5ibx0tCAe5iNYKyza98jebLHBZI1qFJtf6ocFtdD9V\n/0bVFiisDfT4h6cQZkH5hvLaYeie0B2QL7qPxTMuguJBxS1b+rfvxkMnjB8h\nPgOC5rRi5oN5o5bWAELjOl0pkdu60Bh/LYUtDuCTDLfA/FZd2Ie5bUB2BPPB\n/Vhh8MF4HqZHGzlnA34Dz6r2Yxol7fNwTMsVYfDIgJu2e0M0hvrIW6Fa9/+C\nINL4\r\n=4FuW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICv796Ya6u1LZEQy4Y9bKmh5f13U8869ZUJfp43E3YsvAiBlAB0VI7gONe38RJTtU3Duyr7K++Xx55mGJg5hOtAIag=="}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.0_1593868120053_0.4561509380858526"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"},"1.0.1":{"name":"@haijindev/o-css","version":"1.0.1","description":"Client side css compiler","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/css","devDependencies":{"o-testing-toolbox":"^2.0.0","chai":"^4.2.0","eslint":"^7.11.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"2.0.0"},"gitHead":"c3d46dac2827d845433a012cc53025c3a03e7592","_id":"@haijindev/o-css@1.0.1","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Otpyjp0lD9GF3LO8OypnblwLEBuYZt8y74r43gQtPY3bjsOL4YKpTeG5arwXEhuGgdj3NhfBJdfdFZu+Q6eP6Q==","shasum":"ac9a6bfcbaa52d109364b72443d9d994107db4fb","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.1.tgz","fileCount":6,"unpackedSize":11396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfizT9CRA9TVsSAnZWagAAIKgP/24GEDkgfTjfWTTn7p6t\nFuWIUC9sY/0aGC8wB1pdF8bQEkFDJPpOcGHsEdlm/3nLgTbU7sb1v/pROKYd\n5GxiA77oANs0HZw1D4X0ENxx748xrd7zsJ4iLqZLK0XcdoOei6B/zQ3R9am1\nNmB5yGF/ZKrWn2aYzcsJss8oY2+PWIMqnvkjSr3zXUjfSvVEu5RJQU3GQxLo\nOPL1+v3v+B8BzAZQ/JwCVbpuLxmMndSdT8EII5ck1/YWzHx5LS35RwBEV6nl\n5mcTp7TzTiJMAenBQ2ULdinYjaXjtH5rbB0tlomPbY+6MDUc1AEordmwH9AR\nOnxD76Fby1IR4GM57E/wMrrzS7rKzU6jye/qbsFzkqFCvR0JCf3pbxNTRLKI\nNspBGysBNh78dl3oWCjazblgbX7QYqLMKsk2LDtVy7JVVtSOfium93/PFGbL\nZ+ogfoGhIFMn5jFN9ZKLinUX4azp42GNVIkjcAMupTuL1727vHFIzltd8RCb\nRD1T45TdQ7I9DEpjyjHg8ROPhaqEmrqOZTvstziTfhv11x4j1HMxLzahCDnr\ntsMxBijpxCqqCKcD5NqpkKtcZxWKE59980uXSkSyxkLbw8/V3DRrdGFrlQGE\nlgeB2Arpqd8jy+7sl8d6lJdDFjrcD7kODVBQ2brleQwpnnYChX7xndzzClQf\nd78A\r\n=LsDI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUVdSTVJEMeMPkOwHIgBXHJ9yi6lJ8kTOBIkXMddVooQIhAJrGNQq84oOwidn5y3viVk/WEWlkS/OXR0sWrA9NwM+C"}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.1_1602958589277_0.9261821842889661"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"},"1.0.2":{"name":"@haijindev/o-css","version":"1.0.2","description":"Client side css compiler","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/css","devDependencies":{"o-testing-toolbox":"^2.0.0","chai":"^4.2.0","eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.2","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^2.1.0"},"gitHead":"dac5734319d6d92b789428fa9c83b9979b81e03c","_id":"@haijindev/o-css@1.0.2","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-C43y+zSHqG4W6NjjmqWr4Zpex9giEMvgpqjFLkkVMMLTF+X7hFasgRHe/cGzMsPukcLY18VGnUEo9YSuLbDu3g==","shasum":"565cc0551617e75a7a440eceb132f9f95ae6f22e","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.2.tgz","fileCount":6,"unpackedSize":11397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqD0/CRA9TVsSAnZWagAAefkP/2z/CViE6xVsiPzL0tYG\nloxuMPHbH7NwOhmqOgmh1d3WDvO912E2fxt5mHuaHngiPWLy/RpRFTHYms2s\nRbFmZzkTH3qbaztL/XwksGto1Yw1pYjynEyZxn2dxVACbsVqw22D5TpjPpDi\nz7H7o3VFJIediLtuB4Qud9PnoA5UktRKMKDSYfdH/bK5k0pqUMoFV3DPXK4O\nxvbUnmEH9L3mge1LrXDrYc91D6M2sktKk5gjopRWFAqYc812/wdBEc37fNjI\nRtnmZ0i2ObKHL5YqJwckGqYLFqmAvKeYI0RI2ZG0hyJRgoTz6wqX7xdVrinh\nrVMwkUz6RLevaf+Yo84zU80oRkgX5FnrB8wwY84UdF+GJXf5jR9oz7x3QnXw\nbWx1tHM4pqb3qbuTCUwht7eXyCDKrq8NgDX7/bXFoYXTYUma6HhuuF3G6/SJ\ntt/MylY7fki1pM3tsAKPUqVd4KwNg1klRSjffaTpPDsxTcgghlnD7aCjbpAa\nBZU7jnEcdhCfVji0LLHcNb9tT8w3ibDBNI8oy6XM6Kb3ZL8P/OgIfKp4Lv6S\nHNdYVkYGH1gBNHdhNb2wlMYz2Gog/REVlEbBpp1PZRpRa7S6kb6ULNPxxDme\nG2rMrALBSPzIzkS4H0qPBw33d8ddsU6xIJhVJZCt392WFTvoPioOibaa7xMn\ntNaB\r\n=PuAT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCriMcXcpCkUTI/m0GQMtsv+pwFEerwC3TRFAG5Zbee9gIhAJNaZ407GA2FHUa2u6e/dmnAhgZKbVcGJbfMjJ8yi27z"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.2_1604861247228_0.09326144723412089"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"},"1.0.3":{"name":"@haijindev/o-css","version":"1.0.3","description":"Client side css compiler","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/css","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.1.0","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^3.0.0"},"gitHead":"3eebd5a2c633e18ba980df11ab1b6583c39a3aa6","_id":"@haijindev/o-css@1.0.3","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-NA9adf0rVpnm0PtABtRB7Yj++MglPwuf0pnZ+mqwn8KQzGr1+nylIvETtVc0gzrCTLaAdKRcFXmcYZNVHqmE+g==","shasum":"99d04607e2b713c51c90b5559c7d74ca21c2f101","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.3.tgz","fileCount":6,"unpackedSize":11397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsBKaCRA9TVsSAnZWagAAI+YP/1zWDtIKJqwmRmf1aFig\n2HuVn+DhrhxFjOKBy+cgzU5jdzrG3nCOCU/zBy1bij62R5t2zt6UlE1JPUmG\nP2v7RjEgkGjfQmpjhGSXM7IYC61YZ5njujO/kqlxDjOAHZNgSgSZ8cQBR65j\n+vLY9cUKtN2ZXmIJw5JkmHhXhfYW4Rzed5MpI4SvbPf3Ko4Jjn3SXWMlJwMa\n//S4DIaaWPd2zFcINSk/C9KqEEVErWRJk0I/m6+MZ8phiuaDFmd8R+pt/V6j\niyPxZgDu7laq60Cm29l/8yO10leb4aHEYvcMG8RxOt4qxqhHcsbp/NrZnlh1\nZ/9NlESTEL4FlxknXQgrwK39J5GHd/wuInbhHBiIYxQg4z0AHXpimJXQDnUw\nYijp/9c4HIFM2n6ylGO961whEbJF88v4/a9wh5wdyGs2aPL2MSRMECOMXyHC\nPTmZCpLf1InTcFVXfJeY3WT791Ik7RVnGr9MIsI2MfPbgqP/qJ9qhwSQScMZ\nWktpnu5XbmUogO8bShfB1mGIGSN7vAbWEM+K4P35Vxx3qfLSeU2Ag+AyMtqj\nqn/euCSyx7KPs80c75G3MadfYYofXUU2jGi303INUzGoFegw4OqlZ9hQ3pOR\nFdBE5lXbVzePBT+WcppMBw79mlbG1mMVQdSj8Pe9u52gRRhhu1SAK30stIG2\nPpEE\r\n=lWuC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAcUuiAd5/xKISo0oWteSph656BmvqaNRr/LGJ69D90AIhALmIyK7Cpb3ZTvKf4NqG5FLid5vfxiY57TiXZavv7EOg"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.3_1605374617928_0.7210521915780626"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"},"1.0.4":{"name":"@haijindev/o-css","version":"1.0.4","description":"Client side css compiler","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm -f package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/css","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^4.0.0"},"gitHead":"e9839f859e3e92b364c9fc466206e214ae90e549","_id":"@haijindev/o-css@1.0.4","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hseqch7w/S1OsGeZpFqV7HPTksyljPic4aNtI8r0ZeU+d0YZb5wRuTtpu/269Azt+9EJIGEUPqA+7dPkROBZcQ==","shasum":"973f4239853538fec79c377c0ddb20ba53d5e721","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.4.tgz","fileCount":7,"unpackedSize":11514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf51sFCRA9TVsSAnZWagAAgskP+wdxjNKNa94RQkjYAUq8\ngz7Q+RVfJh4cecombnOz92yEziKRy+ecYHnMk548jMsnEz5mKal4Pxi/lz2U\nHmN8opn4vimIKbKvS5f5Iq5A1qyxyjDvwXJE8QHNT2hNt0NouQoWZGE+Zrv9\nE+e/R0Y4d8Y14Iz1N9LecqKK88JNGrWOAeuAUk+fxU74WP1xQFSoZjpkwitz\nk6BJ47hVZvCLCHGiAKDa54owe6p5MZYPFpCk9+uqS+i5KICp4BkQWo2yiDS+\nOTA2Xnqzy1JKHfVi/XwM+DuOT6Xa78TVsQqXstAanyeXE+Cws3ABbNaOlMxx\nlcRy5M+0y1MNXmgmdUBOYTYH7B0Ae19FKXx2lxG5yKSdPYZjHW/Ky8OE7GYB\nMo5+0uIU7MeY0r7FcxBtrffh5gxZLQrQcIGeVUq3pVOfpWSiAkZP7YqC3TVf\nDRtgywIbKF0cshYGPTXwqFW7l0CvH27X3Cb+Axr5aIiW/z8rva3Q7s+xbXVd\nrd5gZzbQ8Onx7KoLiE56rmOt5qXzbmfaoH+NjAegjxGtnZ8kUHpk2CngRAw9\n0lESizLfQAs0HQ3FqM3Rmd29JdIDytIEfDYLE/IpjCiPCKHu6dvzOsC686pj\nz1mIyLQmAAt/hRdAgeDKYzlK6Uzgu58LGS/fAiIQuJ3kUOAetJ0apnvWkHMH\n+LDr\r\n=CAHc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2kCvtNm+JUJhhD1nJhE0MnyEinvEdQ0dYqYvRgMm3bAiEA0+9Fw6hsLE1wFe71+aX3QWng3k/2AidS1ewxAhLyLr8="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.4_1608997636518_0.029868079048316343"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"},"1.0.5":{"name":"@haijindev/o-css","version":"1.0.5","description":"Client side css compiler","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm -f package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/css","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","eslint":"^7.17.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^5.0.0"},"gitHead":"a32078d3e89e68b9fbf56311bbc19f53812e0a3d","_id":"@haijindev/o-css@1.0.5","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-D3MXe9RI6ORimQWO5kShEi+7yf3lrmjJGoiXMCORzYOpHCn70wfr1lj15BRdQXSz1rKdN1w6pE5zkioEazfE1Q==","shasum":"05664fddc652eb616d216bcf905f0a0d329d2adc","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.5.tgz","fileCount":8,"unpackedSize":11783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8fq0CRA9TVsSAnZWagAAxPoP/06eLto+WOvnbo6H4XTE\nwvUw+oGbkaqO2oPHmIEzNjjRpeT72ayR8euayuqHsBgPT+hOPf+SMywWdv1J\nsUdd+VyQXJhoZjkPXPApNUIo4GtN1OWYU9+ktFpCh6py9CwF9Xy9Wpn7OWdx\nTR+ULcBIfapHSxXzKswWJoVlat3vQ/5CxEbkbtPoIKYwYfs7bJfcCZOI/IAv\ndFHbEo0jmP0joR0WAoirFRlKsYEkYB2lG8HDHp/hcsGqMia1rORkPn//2CaK\nhUXxyk1ErPuR7dvx3DBv9cF+QRb9YRCKGvymAVTTeHV5rgftXGjFY41OCk3C\nv5XMqRn75yWESTiZT8/m70CgoR+UeFtfP3UIvrScRVsMHE6zOcGOJMUz74YJ\nRU6bfjeGQBEPaW0dikR/v3J7T/l8+cjZ/zOjXT8u/k3AWxVP5Mvfb2RP9Psa\nThUrTIay7e0bYz9MKDsWJyBnY/tMqbGPrGBlmD5KK6CekjDBq8+QrCkQVbXH\nmfcz/xDzBw3lzXEuQOZR5RRYCf41mYU9Nf6HrCTuSp4sVLdkCgYUcAbM2qnB\nJ/u4qe/rdIK71hY/xROyeq0WJB/9/QtZQSfzhgU6iNu3zfK+yc2ga9VEc8XI\nL/e/4qcuYowIi26Ojn5xJgDuafXSgZjO72Evk8Q9teLTuRxwe2nSAA07A7II\nfaRq\r\n=MCXu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQ3n1jibDM0dIyzgFUIYTVE8jiHZL3NE54jG4y8tXT5AiAh7nofgPqR/MmLF/hBUvLeRSMGMSl6nSCcsLGT2iIlAQ=="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.5_1609693876194_0.7455572183028691"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"},"1.0.6":{"name":"@haijindev/o-css","version":"1.0.6","description":"Client side css compiler","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm -f package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","eslint":"^7.17.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^5.0.0"},"gitHead":"814358e80258b0a30cc3e50bf44981f658a0e52b","_id":"@haijindev/o-css@1.0.6","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vDgdF1GAh2pHaCcym9AN+pERVNnXe9aXxBoCtYpqw22rMNK1g6iZ+hh/JNIGiQT+aWQm9LUrtIeGA1CqKiWjRw==","shasum":"1939ed96d407a2d522edfc97be22191aa8f93843","tarball":"https://registry.npmjs.org/@haijindev/o-css/-/o-css-1.0.6.tgz","fileCount":8,"unpackedSize":11957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9MFtCRA9TVsSAnZWagAA7kgP/0u4ldWr/6s2nRVuBF2d\nYdP3d5SKXS2lBTKQSEAgZ/aV4kohpIIKDSVrpmz3DgAZ0/I7ThQqFfU6hxHu\n13nfCmldn20OoN/2VChge93DtusqqPCF3u/yQbBKlhu6HBD9aBM9nnN0+FVz\nRoL0VU7UVQgSkCAkwJLi3DrSUlUqzvuO7Y0ctJcqKuKNf/tqWg7pJiu3rcO5\nO+IX8n7+U+8JLKTiTYFbeiMIfHuzxwXzXx7ifR+bRxa7uwoucx9tr99/ZPUx\nLDRfRecB7kCOX7XfasUjZpnQrVTEQ5zUreFF2ibHnOAVn0OC1YxpgLGQBa+T\njg3aVtYN3cZE7SPhNj/T4+DOUwixk3ULqK/boH5fWhzBQZVcEUaVER5ios3V\nd/b4lEqLV9retYvFV2zKIw9k6Xwtq5stwBnD+Rp2qk4UXT1GyE/YsllJrnYl\nflTBXf1lXtYPBAxzQwARKAvUTRW4kpz9T84h1z3zYd+9BdL6HmVRfg2mg2qP\n9QPsiCECMm77lKjhWEHPhE5wspihkbbCYUlm2JzKTdp2xPvlceWmunI+IxHb\net0JrEyCWiCp5QSiYDq1tv0lWJnYPugMUesX7n9X6EJX88wF0QJmdAYQpdxS\nZyo4Tqqc+nKxfg/E5WcDLwN9oLOSlpWCYx8knS+D6TfZQCf23BazjdD4rbjg\ni85S\r\n=LCW0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICwLXznoeTS5mH9n9PU+CNbssj+RB8OiyYgZMXD8SyWgAiBrMcixA0waao3hJj5Q8xUWO46dqJVAeQ+NsK6TRKOSFw=="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-css_1.0.6_1609875820616_0.316556375783855"},"_hasShrinkwrap":false,"deprecated":"@haijindev/o-css is deprecated, in favor of o-stylist. Please, migrate to o-stylist"}},"time":{"created":"2020-07-04T13:08:40.015Z","1.0.0":"2020-07-04T13:08:40.174Z","modified":"2022-04-05T16:42:23.082Z","1.0.1":"2020-10-17T18:16:29.452Z","1.0.2":"2020-11-08T18:47:27.350Z","1.0.3":"2020-11-14T17:23:38.102Z","1.0.4":"2020-12-26T15:47:16.691Z","1.0.5":"2021-01-03T17:11:16.290Z","1.0.6":"2021-01-05T19:43:40.760Z"},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"description":"Client side css compiler","homepage":"http://o-programming-language.org","keywords":["css","assets","react","dsl"],"author":{"name":"Martin Rubi"},"license":"ISC","readme":"# @haijindev/o-css\n\nJavascript css builder\n\n## Documentation\n\n[http://o-programming-language.org/](http://o-programming-language.org/)\n\n### What does `@haijindev/o-css` do?\n\nHistorically the workflow of the css styles of an application consisted in\n\n* define or read a pseudo-css input file on the server side\n* process it to generate a standard css file that a browser understands. For example replace variables by values, mix css classes o compile nested selectors\n* expect the client to request for the compiled css file\n* respond the css file to the client\n\nFrameworks like `React` can dramatically change the workflow with a more dynamic, light and adaptable one.\n\nThis library provides a javascript DSL to declare css styles and implement the workflow that follows\n\n* declare the styles the app uses in regular javascript sintax\n* send to the client the declared styles as a regular js module in your `React` application\n* make the client application to process the declared styles and convert them to the css the browser understands\n* load the css compiled client side in the browser\n\nIt is also possible to use this DSL to compile the css server side using regular function calls\nin Node.\n\n## Installation\n\n```\nnpm install @haijindev/o-css\n```\n\n## Usage\n\nFirst define one or more styles to load.\n\nEach style is a regular js class with a method call `injectInto(css)`\n\n\n```javascript\nclass AppStyle {\n  injectInto(css) {\n    // styles definition goes here\n  }\n}\n```\n\nThe parameter `css` is the css compiler and supports the following protocol\n\n\n```javascript\nclass AppStyle {\n  injectInto(css) {\n    // Define the given cssSelector\n    css.selector(\n      '.row', {\n        // ... css attributes\n      }\n    )\n\n    // Define the given styles as children of the given cssSelector\n    css.namespace('#container', () => {\n      // child styles\n    })\n\n    // Append the styles defined in the given styleClass\n    css.inject(anotherStyleClass)\n\n    // Merge the styles defined in the given styleClass in the given cssSelector\n    css.selector(\n      '.row', {\n        _import: anotherStyleClass,\n        // ...\n      }\n    )\n\n    // Merge the styles defined in the given styleClasses in the given cssSelector\n    css.selector(\n      '.row', {\n        _import: [anotherStyleClass1, anotherStyleClass2],\n        // ...\n      }\n    )\n  }\n}\n```\n\nOnce you have a style object the application must load it into the DOM document using any of the following methods\n\n```javascript\nconst {Css} = require('@haijindev/o-css')\nconst AppStyle = require('./AppStyle')\n\nconst style = new AppStyle()\nCss.insertStyle({ style, document, element: document.head })\n\n// And load the app like usual\nReactDOM.render(\n  <MainComponent />,\n  document.getElementById('root')\n)\n```\n\nor first compile the styles to a css string and then load the string\n\n```javascript\nconst {Css} = require('@haijindev/o-css')\nconst AppStyle = require('./AppStyle')\n\nconst cssString = Css.fromStyle(style)\nCss.insertCss({ cssString, document, element: document.head })\n\n// And load the app like usual\nReactDOM.render(\n  <MainComponent app={ app } />,\n  document.getElementById('root')\n)\n```\n\nThe styles can also be compiled to a file server side with\n\n```javascript\nconst {Css} = require('@haijindev/o-css')\nconst fs = require('fs')\nconst AppStyle = require('./AppStyle')\n\nconst style = new AppStyle()\nconst cssString = Css.fromStyle(style)\n\nfs.writeFileSync('public/main.css', cssString)\n```\n\n## Css definition\n\nDefine the class with the css definitions\n\n```javascript\nclass AComponentStyle {\n  injectInto(css) {\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\nThen use any of the following definitions\n\n### Define attributes to a css selector\n\n```javascript\nclass AComponentStyle {\n  injectInto(css) {\n    css.selector('.btn', {\n      'width': '10px',\n      'height': '10px'\n    })\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\n### Define attributes to many css selectors\n\n```javascript\nclass AComponentStyle {\n  injectInto(css) {\n    css.selector('.btn', {\n      'width': '10px',\n      'height': '10px'\n    })\n\n    css.selector('.btn:hover', {\n      'height': '10px'\n    })\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\n### Define nested selectors\n\n```javascript\nclass AComponentStyle {\n  injectInto(css) {\n    css.selector('.row', {\n      'width': '10px'\n    })\n\n    css.selector('.row .col', {\n      'height': '10px'\n    })\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\n### Define nested selectors using namespaces\n\nUseful to override selectors for a specific element\n\n```javascript\nclass AComponentStyle {\n  injectInto(css) {\n    css.namespace('#main', () => {\n      css.selector('.row', {\n        'width': '10px'\n      })\n    })\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\n### Import (merge) attributes from another Style\n\nUseful to reuse css values in different elements\n\n```javascript\nclass CommonStyle {\n  injectInto(css) {\n    css.selector('common', {\n      'color': 'blue'\n    })\n  }\n}\n\nmodule.exports = CommonStyle\n```\n\n```javascript\nconst CommonStyle = require('./CommonStyle')\n\nclass AComponentStyle {\n  injectInto(css) {\n    css.selector('.row', {\n      _import: new CommonStyle(),\n      'width': '10px'\n    })\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\n### Import (merge) attributes from many other Styles\n\n```javascript\nconst CommonStyle1 = require('./CommonStyle1')\nconst CommonStyle2 = require('./CommonStyle2')\n\nclass AComponentStyle {\n  injectInto(css) {\n    css.selector('.row', {\n      _import: [new CommonStyle1(), new CommonStyle2()],\n      'width': '10px'\n    })\n  }\n}\n\nmodule.exports = AComponentStyle\n```\n\n### Bundle many Styles into a single Style\n\nUseful to export and load a single Style class\n\n```javascript\nclass Style1 {\n  injectInto(css) {\n    css.selector('.row', {\n      'width': '10px'\n    })\n  }\n}\n\nmodule.exports = Style1\n```\n\n```javascript\nclass Style2 {\n  injectInto(css) {\n    css.selector('.btn', {\n      'height': '10px'\n    })\n  }\n}\n\nmodule.exports = Style2\n```\n\n```javascript\nconst Style1 = require('./Style1')\nconst Style2 = require('./Style2')\n\nclass MainStyle {\n  injectInto(css) {\n    new Style1().injectInto(css)\n    new Style2().injectInto(css)\n  }\n}\n\nmodule.exports = MainStyle\n```\n\n### Dynamic css values\n\n```javascript\nconst width = 10\n\nclass Style2 {\n  injectInto(css) {\n    css.selector('.btn', {\n      'width': `${width}px`,\n      'height': `${width/3}px`\n    })\n  }\n}\n\nmodule.exports = Style2\n```\n\n### Css parametrised values\n\n```javascript\nclass Style {\n  constructor({color}) {\n    this.color = color\n  }\n\n  injectInto(css) {\n    css.selector('.btn', {\n      'width': `${width}px`,\n      'color': this.color\n    })\n  }\n}\n\nmodule.exports = Style\n```\n\n```javascript\nnew Style({color: 'blue'})\n```\n\n### Themed styles\n\n```javascript\nconst theme = {\n  color: 'blue'\n}\nmodule.exports = theme\n```\n\n```javascript\nclass Component1 {\n  constructor(theme) {\n    this.theme = theme\n  }\n  injectInto(css) {\n    css.selector('#id1', {\n      'color': this.theme.color\n    })\n  }\n}\n\nmodule.exports = Component1\n```\n\n```javascript\nclass Component2 {\n  constructor(theme) {\n    this.theme = theme\n  }\n  injectInto(css) {\n    css.selector('#id2', {\n      'color': this.theme.color\n    })\n  }\n}\n\nmodule.exports = Component2\n```\n\n```javascript\nconst theme = require('./theme')\nconst Component1 = require('./Component1')\nconst Component2 = require('./Component2')\n\nclass MainStyle {\n  injectInto(css) {\n    new Component1(theme).injectInto(css)\n    new Component2(theme).injectInto(css)\n  }\n}\n\nmodule.exports = MainStyle\n```\n\n### Change the application theme on the fly\n\n```javascript\nconst {Css} = require('@haijindev/o-css')\nconst MainStyle = require('./MainStyle')\n\nfunction updateStyles(selectedTheme) {\n  const styleElement = document.querySelector('head style')\n  if (styleElement) { styleElement.remove() }\n\n  const newStyle = new MainStyle(selectedTheme)\n  Css.insertStyle({newStyle, document, element: document.head })\n}\n\nupdateStyles(newTheme)\n```","readmeFilename":"README.md"}