@c2n/core 0.0.11 → 0.0.12

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/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-html/development/directives/class-map.d.ts","../src/css-helper.ts","../src/data-helper.ts","../../../node_modules/lit-html/development/is-server.d.ts","../src/dom-helper.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../src/element-helper.ts","../src/event-helper.ts","../src/lit-helper.ts","../../../node_modules/@lit/context/development/lib/create-context.d.ts","../../../node_modules/@lit/context/development/lib/context-request-event.d.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/@lit/context/development/lib/controllers/context-consumer.d.ts","../../../node_modules/@lit/context/development/lib/value-notifier.d.ts","../../../node_modules/@lit/context/development/lib/controllers/context-provider.d.ts","../../../node_modules/@lit/context/development/lib/context-root.d.ts","../../../node_modules/@lit/context/development/lib/decorators/provide.d.ts","../../../node_modules/@lit/context/development/lib/decorators/consume.d.ts","../../../node_modules/@lit/context/development/index.d.ts","../src/contexts/pager.ts","../src/controllers/breakpoints-observer.ts","../src/controllers/context-consumer.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit/development/index.d.ts","../src/controllers/virtual-scroll.ts"],"fileIdsList":[[61,62,66,68,69,70,71],[61],[61,65],[61,62,65,67],[62],[56],[63,64],[50,65],[50],[48,50],[48,49],[50,54,65,76],[72],[65],[65,72],[77],[51],[54],[57]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9e77270468dc77ee3f0182f377a6022b37cce590cab79205c497cfb964ee2d20","impliedFormat":99},{"version":"f320b8514d20e37f6b957334b715d79c9781baf54fda8f9192c1dc38e16d449b","signature":"bb7529605ce5ea3a70da2155f39510884954a39abd51cf787eb8a303f1e3ca5d"},{"version":"8404c6b0cd89fd85702086ab27d550099cc9ccb1b6670fc6484da5efe71c3c41","signature":"3e18169106207e83a0a2bc59e357d1473584a83a25641474f105ab56fd9490b3"},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"ca2f591a92510b383b9d86cdaabc49be06b9df369b567982041c1a221ea69c39","signature":"523bc35a219d7f85ff3b29a02ff8b8ad4e0685e81448f8395b872981dde6b94e"},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"2a727ebfeec4238aa97bc98f6c6383534a63b88a74ee99209396f7b0cb5498da","signature":"ef5cc85737cd5632eca69b911eb478f6bd9767f51f28ee3770d22fde05294dea"},{"version":"3e42659da436c840334cf9e989ab14009e5d3f5f62f75633d1d906c57f8634ab","signature":"a1ffd1c477e4c44624597d5a4232a6f4dc42dcda9f9b74ab2ff85f1819a95f18"},{"version":"9a626f36942689d75dc9a3b0f30e4f82218edec7daa65f561ee923fbbd322ddb","signature":"b86fc55138b5ae447f6665eb3dfa633bfacd5714e767caafef8ec437f8ea9008"},{"version":"7455f2d44bbd248413e4ab8c3ff847413d9ce327967dba66f0b51880f60fb653","impliedFormat":99},{"version":"9dd82c87281e106bdcb227550251fcc6b55a6eb555152bec5c6ce408345ffc57","affectsGlobalScope":true,"impliedFormat":99},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"38df32d74f5cb92d08a7ace088d631e65fd4ae41fd1098ef74ad8efab03763ac","impliedFormat":99},{"version":"ff169075cb4df455eaa1dc4972416ae6981adca96429ed698a306da3d5a2e241","impliedFormat":99},{"version":"5dd01302b91c8fb2aea381396623c5463c47a41c1b5d675672a075c5d8aa164c","affectsGlobalScope":true,"impliedFormat":99},{"version":"f3731eb0da8be50797a04467e9021082654c55d6cbabaf17a9d505c0ff3033cc","impliedFormat":99},{"version":"6146b370459b8f7e81f61b7dd9022fb06509cc20d34514dc782c9ce538fd8ec9","impliedFormat":99},{"version":"a585baba6d92b7f5052a11c3a5d0bcc73657180bb6066cf70e1b4664df4e8363","impliedFormat":99},{"version":"1aacab8ad3bd52a3a508b9c07bb341d680448fc9ee45591708ded8113c1be517","impliedFormat":99},{"version":"375ccf781ce7f845db6d13839e6085e520dac2a024679528229823d402ba1edc","signature":"4d4573b5fe4e0012638e5faaf0d8f77365359ce60cde1b0bafc62f48400a7e3d"},{"version":"361aaaeedfa37b1da60c8017b07a9968062968f71561c479bc83944063f5804d","signature":"cc8929ab4c4e9be68dd16405c46e97463b36038700f49d070e2d24ee4139c87c"},{"version":"d719146ac4cda335a8e970ba5918cf154be98b83c6f4b3acb4c02f6617cd92f6","signature":"75f5083114303492bddf59e3b81debed86d2a422666bb2d7c69513ad64a61a26"},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"348c8e833a387ff25bdec06826c01c364738982079c2ba1cb390847141721ad1","signature":"a19c051036e9cb67b13b0b536c2ea9c8a8444e8797ece8db8963abd141f05017"}],"root":[52,53,55,[58,60],[73,75],78],"options":{"allowImportingTsExtensions":false,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"experimentalDecorators":true,"inlineSources":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":false,"verbatimModuleSyntax":true},"referencedMap":[[72,1],[62,2],[66,3],[68,4],[71,3],[70,3],[67,5],[57,6],[65,7],[76,8],[48,9],[51,10],[50,11],[77,12],[73,13],[74,14],[75,15],[78,16],[52,17],[55,18],[58,19]],"latestChangedDtsFile":"./controllers/virtual-scroll.d.ts","version":"6.0.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-html/development/directives/class-map.d.ts","../src/css-helper.ts","../src/data-helper.ts","../../../node_modules/lit-html/development/is-server.d.ts","../src/dom-helper.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../src/element-helper.ts","../src/event-helper.ts","../src/lit-helper.ts","../../../node_modules/@lit/context/development/lib/create-context.d.ts","../../../node_modules/@lit/context/development/lib/context-request-event.d.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/@lit/context/development/lib/controllers/context-consumer.d.ts","../../../node_modules/@lit/context/development/lib/value-notifier.d.ts","../../../node_modules/@lit/context/development/lib/controllers/context-provider.d.ts","../../../node_modules/@lit/context/development/lib/context-root.d.ts","../../../node_modules/@lit/context/development/lib/decorators/provide.d.ts","../../../node_modules/@lit/context/development/lib/decorators/consume.d.ts","../../../node_modules/@lit/context/development/index.d.ts","../src/contexts/pager.ts","../src/controllers/breakpoints-observer.ts","../src/controllers/context-consumer.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit/development/index.d.ts","../src/controllers/virtual-scroll.ts"],"fileIdsList":[[61,62,66,68,69,70,71],[61],[61,65],[61,62,65,67],[62],[56],[63,64],[50,65],[50],[48,50],[48,49],[50,54,65,76],[72],[65],[65,72],[77],[51],[54],[57]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9e77270468dc77ee3f0182f377a6022b37cce590cab79205c497cfb964ee2d20","impliedFormat":99},{"version":"f320b8514d20e37f6b957334b715d79c9781baf54fda8f9192c1dc38e16d449b","signature":"bb7529605ce5ea3a70da2155f39510884954a39abd51cf787eb8a303f1e3ca5d"},{"version":"8404c6b0cd89fd85702086ab27d550099cc9ccb1b6670fc6484da5efe71c3c41","signature":"3e18169106207e83a0a2bc59e357d1473584a83a25641474f105ab56fd9490b3"},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"52865298e93dc534cf51bac827c8064311b75eca118256721b7726553e4a3859","signature":"433215f0a8ea23a761650809ab2f6f00596010d56c9dc9e56953dab5fab52d93"},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"2d8757dd5fdb0b2f6c09f327d14f854202db1e3c0abf3e5d35c071055d167b92","signature":"0e50c13d260e97a5961bd202fe17232fb0301f668c3ba420beeecd213b0005e9"},{"version":"3e42659da436c840334cf9e989ab14009e5d3f5f62f75633d1d906c57f8634ab","signature":"a1ffd1c477e4c44624597d5a4232a6f4dc42dcda9f9b74ab2ff85f1819a95f18"},{"version":"9a626f36942689d75dc9a3b0f30e4f82218edec7daa65f561ee923fbbd322ddb","signature":"b86fc55138b5ae447f6665eb3dfa633bfacd5714e767caafef8ec437f8ea9008"},{"version":"7455f2d44bbd248413e4ab8c3ff847413d9ce327967dba66f0b51880f60fb653","impliedFormat":99},{"version":"9dd82c87281e106bdcb227550251fcc6b55a6eb555152bec5c6ce408345ffc57","affectsGlobalScope":true,"impliedFormat":99},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"38df32d74f5cb92d08a7ace088d631e65fd4ae41fd1098ef74ad8efab03763ac","impliedFormat":99},{"version":"ff169075cb4df455eaa1dc4972416ae6981adca96429ed698a306da3d5a2e241","impliedFormat":99},{"version":"5dd01302b91c8fb2aea381396623c5463c47a41c1b5d675672a075c5d8aa164c","affectsGlobalScope":true,"impliedFormat":99},{"version":"f3731eb0da8be50797a04467e9021082654c55d6cbabaf17a9d505c0ff3033cc","impliedFormat":99},{"version":"6146b370459b8f7e81f61b7dd9022fb06509cc20d34514dc782c9ce538fd8ec9","impliedFormat":99},{"version":"a585baba6d92b7f5052a11c3a5d0bcc73657180bb6066cf70e1b4664df4e8363","impliedFormat":99},{"version":"1aacab8ad3bd52a3a508b9c07bb341d680448fc9ee45591708ded8113c1be517","impliedFormat":99},{"version":"375ccf781ce7f845db6d13839e6085e520dac2a024679528229823d402ba1edc","signature":"4d4573b5fe4e0012638e5faaf0d8f77365359ce60cde1b0bafc62f48400a7e3d"},{"version":"361aaaeedfa37b1da60c8017b07a9968062968f71561c479bc83944063f5804d","signature":"cc8929ab4c4e9be68dd16405c46e97463b36038700f49d070e2d24ee4139c87c"},{"version":"d719146ac4cda335a8e970ba5918cf154be98b83c6f4b3acb4c02f6617cd92f6","signature":"75f5083114303492bddf59e3b81debed86d2a422666bb2d7c69513ad64a61a26"},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"348c8e833a387ff25bdec06826c01c364738982079c2ba1cb390847141721ad1","signature":"a19c051036e9cb67b13b0b536c2ea9c8a8444e8797ece8db8963abd141f05017"}],"root":[52,53,55,[58,60],[73,75],78],"options":{"allowImportingTsExtensions":false,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"experimentalDecorators":true,"inlineSources":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":false,"verbatimModuleSyntax":true},"referencedMap":[[72,1],[62,2],[66,3],[68,4],[71,3],[70,3],[67,5],[57,6],[65,7],[76,8],[48,9],[51,10],[50,11],[77,12],[73,13],[74,14],[75,15],[78,16],[52,17],[55,18],[58,19]],"latestChangedDtsFile":"./controllers/virtual-scroll.d.ts","version":"6.0.3"}
@@ -4,6 +4,17 @@ export declare const Breakpoints: {
4
4
  Desktop: string;
5
5
  };
6
6
  export declare function redispatchEvent(host: HTMLElement, event: Event): boolean;
7
+ /**
8
+ * Whether the host has light-DOM content for a slot — the default slot when `name` is omitted — read from its
9
+ * children rather than from `assignedNodes()`, so the answer is available before the first render.
10
+ *
11
+ * A component that hides a row when its slot is empty needs the flag for the first paint. Reading the slots in
12
+ * `firstUpdated` sets state after an update and costs a second render (Lit's `change-in-update` warning), and a
13
+ * server-rendered slot never fires `slotchange`, so the flag cannot start as `false` and wait for the event. Read
14
+ * this in `willUpdate` before the first update instead, and let `slotchange` keep the flag current afterwards.
15
+ * Returns `false` on the server, where the light DOM is not available.
16
+ */
17
+ export declare function hasSlottedContent(host: Element, name?: string): boolean;
7
18
  /**
8
19
  * Counted page-scroll lock, shared by every overlay so nested ones restore in the right order: a sheet that opens a
9
20
  * modal and closes after it must not hand the page back while the modal is still up. Call the returned function to
@@ -1 +1 @@
1
- {"version":3,"file":"dom-helper.d.ts","sourceRoot":"","sources":["../src/dom-helper.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;CAIvB,CAAA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,WAW9D;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,IAAI,CAY3C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,QAkChD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,SAAO,GAAG,MAAM,GAAG,SAAS,CAUtG"}
1
+ {"version":3,"file":"dom-helper.d.ts","sourceRoot":"","sources":["../src/dom-helper.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;CAIvB,CAAA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,WAW9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,SAAK,GAAG,OAAO,CAUnE;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,IAAI,CAY3C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,QAkChD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,SAAO,GAAG,MAAM,GAAG,SAAS,CAUtG"}
@@ -15,6 +15,30 @@ export function redispatchEvent(host, event) {
15
15
  }
16
16
  return dispatched;
17
17
  }
18
+ /**
19
+ * Whether the host has light-DOM content for a slot — the default slot when `name` is omitted — read from its
20
+ * children rather than from `assignedNodes()`, so the answer is available before the first render.
21
+ *
22
+ * A component that hides a row when its slot is empty needs the flag for the first paint. Reading the slots in
23
+ * `firstUpdated` sets state after an update and costs a second render (Lit's `change-in-update` warning), and a
24
+ * server-rendered slot never fires `slotchange`, so the flag cannot start as `false` and wait for the event. Read
25
+ * this in `willUpdate` before the first update instead, and let `slotchange` keep the flag current afterwards.
26
+ * Returns `false` on the server, where the light DOM is not available.
27
+ */
28
+ export function hasSlottedContent(host, name = '') {
29
+ if (isServer)
30
+ return false;
31
+ for (const node of host.childNodes) {
32
+ if (node.nodeType === Node.ELEMENT_NODE) {
33
+ if ((node.getAttribute('slot') ?? '') === name)
34
+ return true;
35
+ }
36
+ else if (name === '' && node.nodeType === Node.TEXT_NODE && (node.textContent ?? '').trim() !== '') {
37
+ return true;
38
+ }
39
+ }
40
+ return false;
41
+ }
18
42
  let scrollLocks = 0;
19
43
  let previousOverflow = '';
20
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dom-helper.js","sourceRoot":"","sources":["../src/dom-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { isServer } from 'lit-html/is-server.js'\n\nexport const Breakpoints = {\n Phone: '(max-width: 599.98px)',\n Tablet: '(min-width: 600px) and (max-width: 959.98px)',\n Desktop: '(min-width: 960px)',\n}\n\nexport function redispatchEvent(host: HTMLElement, event: Event) {\n if (event.bubbles) {\n event.stopPropagation()\n }\n\n const copy = Reflect.construct(event.constructor, [event.type, event])\n const dispatched = host.dispatchEvent(copy)\n if (!dispatched) {\n event.preventDefault()\n }\n return dispatched\n}\n\nlet scrollLocks = 0\nlet previousOverflow = ''\n\n/**\n * Counted page-scroll lock, shared by every overlay so nested ones restore in the right order: a sheet that opens a\n * modal and closes after it must not hand the page back while the modal is still up. Call the returned function to\n * release; releasing twice is a no-op.\n */\nexport function lockPageScroll(): () => void {\n if (isServer) return () => {}\n if (scrollLocks++ === 0) {\n previousOverflow = document.documentElement.style.overflow\n document.documentElement.style.overflow = 'hidden'\n }\n let released = false\n return () => {\n if (released) return\n released = true\n if (--scrollLocks === 0) document.documentElement.style.overflow = previousOverflow\n }\n}\n\nexport function smartFixedPosition(fixed: boolean) {\n if (isServer) return\n const el = document.documentElement\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n if (fixed) {\n el.style.setProperty('--c2n-body-scroll-x', convertToUnit(-el.scrollLeft)!)\n el.style.setProperty('--c2n-body-scroll-y', convertToUnit(-el.scrollTop)!)\n el.style.setProperty('--c2n-scrollbar-offset', convertToUnit(scrollbarWidth)!)\n\n el.style.setProperty('overflow', 'hidden')\n el.style.setProperty('padding-inline-end', 'var(--c2n-scrollbar-offset)')\n el.style.setProperty('position', 'fixed')\n el.style.setProperty('top', 'var(--c2n-body-scroll-y)')\n el.style.setProperty('left', 'var(--c2n-body-scroll-x)')\n el.style.setProperty('width', '100%')\n el.style.setProperty('height', '100%')\n } else if (el.style.getPropertyValue('--c2n-body-scroll-x')) {\n const x = parseFloat(el.style.getPropertyValue('--c2n-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--c2n-body-scroll-y'))\n\n el.style.removeProperty('overflow')\n el.style.removeProperty('padding-inline-end')\n el.style.removeProperty('position')\n el.style.removeProperty('top')\n el.style.removeProperty('left')\n el.style.removeProperty('width')\n el.style.removeProperty('height')\n\n el.style.removeProperty('--c2n-body-scroll-x')\n el.style.removeProperty('--c2n-body-scroll-y')\n el.style.removeProperty('--c2n-scrollbar-offset')\n el.scrollLeft = -x\n el.scrollTop = -y\n }\n}\n\nexport function convertToUnit(str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n"]}
1
+ {"version":3,"file":"dom-helper.js","sourceRoot":"","sources":["../src/dom-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { isServer } from 'lit-html/is-server.js'\n\nexport const Breakpoints = {\n Phone: '(max-width: 599.98px)',\n Tablet: '(min-width: 600px) and (max-width: 959.98px)',\n Desktop: '(min-width: 960px)',\n}\n\nexport function redispatchEvent(host: HTMLElement, event: Event) {\n if (event.bubbles) {\n event.stopPropagation()\n }\n\n const copy = Reflect.construct(event.constructor, [event.type, event])\n const dispatched = host.dispatchEvent(copy)\n if (!dispatched) {\n event.preventDefault()\n }\n return dispatched\n}\n\n/**\n * Whether the host has light-DOM content for a slot — the default slot when `name` is omitted — read from its\n * children rather than from `assignedNodes()`, so the answer is available before the first render.\n *\n * A component that hides a row when its slot is empty needs the flag for the first paint. Reading the slots in\n * `firstUpdated` sets state after an update and costs a second render (Lit's `change-in-update` warning), and a\n * server-rendered slot never fires `slotchange`, so the flag cannot start as `false` and wait for the event. Read\n * this in `willUpdate` before the first update instead, and let `slotchange` keep the flag current afterwards.\n * Returns `false` on the server, where the light DOM is not available.\n */\nexport function hasSlottedContent(host: Element, name = ''): boolean {\n if (isServer) return false\n for (const node of host.childNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n if (((node as Element).getAttribute('slot') ?? '') === name) return true\n } else if (name === '' && node.nodeType === Node.TEXT_NODE && (node.textContent ?? '').trim() !== '') {\n return true\n }\n }\n return false\n}\n\nlet scrollLocks = 0\nlet previousOverflow = ''\n\n/**\n * Counted page-scroll lock, shared by every overlay so nested ones restore in the right order: a sheet that opens a\n * modal and closes after it must not hand the page back while the modal is still up. Call the returned function to\n * release; releasing twice is a no-op.\n */\nexport function lockPageScroll(): () => void {\n if (isServer) return () => {}\n if (scrollLocks++ === 0) {\n previousOverflow = document.documentElement.style.overflow\n document.documentElement.style.overflow = 'hidden'\n }\n let released = false\n return () => {\n if (released) return\n released = true\n if (--scrollLocks === 0) document.documentElement.style.overflow = previousOverflow\n }\n}\n\nexport function smartFixedPosition(fixed: boolean) {\n if (isServer) return\n const el = document.documentElement\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n if (fixed) {\n el.style.setProperty('--c2n-body-scroll-x', convertToUnit(-el.scrollLeft)!)\n el.style.setProperty('--c2n-body-scroll-y', convertToUnit(-el.scrollTop)!)\n el.style.setProperty('--c2n-scrollbar-offset', convertToUnit(scrollbarWidth)!)\n\n el.style.setProperty('overflow', 'hidden')\n el.style.setProperty('padding-inline-end', 'var(--c2n-scrollbar-offset)')\n el.style.setProperty('position', 'fixed')\n el.style.setProperty('top', 'var(--c2n-body-scroll-y)')\n el.style.setProperty('left', 'var(--c2n-body-scroll-x)')\n el.style.setProperty('width', '100%')\n el.style.setProperty('height', '100%')\n } else if (el.style.getPropertyValue('--c2n-body-scroll-x')) {\n const x = parseFloat(el.style.getPropertyValue('--c2n-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--c2n-body-scroll-y'))\n\n el.style.removeProperty('overflow')\n el.style.removeProperty('padding-inline-end')\n el.style.removeProperty('position')\n el.style.removeProperty('top')\n el.style.removeProperty('left')\n el.style.removeProperty('width')\n el.style.removeProperty('height')\n\n el.style.removeProperty('--c2n-body-scroll-x')\n el.style.removeProperty('--c2n-body-scroll-y')\n el.style.removeProperty('--c2n-scrollbar-offset')\n el.scrollLeft = -x\n el.scrollTop = -y\n }\n}\n\nexport function convertToUnit(str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n"]}
@@ -7,7 +7,7 @@ import { type CustomElementDecorator } from '@lit/reactive-element/decorators/cu
7
7
  * micro-frontends, a module graph loaded twice, a dev server's hot reload. Keeping the first definition and
8
8
  * warning leaves the page working; the element still behaves like whichever copy won the race.
9
9
  *
10
- * It also installs a development warning for camelCase attributes that silently do nothing (see
10
+ * It also forwards the lowercased spelling of a camelCase attribute to the real one, with a warning (see
11
11
  * {@link installAttributeCheck}).
12
12
  */
13
13
  export declare const customElement: (tagName: string) => CustomElementDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"element-helper.d.ts","sourceRoot":"","sources":["../src/element-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,oDAAoD,CAAA;AAgEnI;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,GACvB,SAAS,MAAM,KAAG,sBAelB,CAAA"}
1
+ {"version":3,"file":"element-helper.d.ts","sourceRoot":"","sources":["../src/element-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,oDAAoD,CAAA;AAsEnI;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,GACvB,SAAS,MAAM,KAAG,sBAelB,CAAA"}
@@ -11,7 +11,9 @@ function warnOnce(key, message) {
11
11
  * property whose attribute was renamed to kebab-case (`rowkey` for `rowKey`, whose attribute is `row-key`).
12
12
  *
13
13
  * The lowercased spelling is what a framework produces from a *static* attribute in a template — Angular and
14
- * plain HTML both do it — and because the component never observes it, the value is silently dropped.
14
+ * plain HTML both do it, and so does React when it renders a custom element on the server (the prop name is
15
+ * written verbatim and the parser lowercases it; hydration never sets the property). The component does not
16
+ * observe it, so without help the value is silently dropped.
15
17
  */
16
18
  function ambiguousAttributes(elementClass) {
17
19
  const aliases = new Map();
@@ -26,8 +28,9 @@ function ambiguousAttributes(elementClass) {
26
28
  return aliases;
27
29
  }
28
30
  /**
29
- * Warns, once per tag and attribute, when an element carries the lowercased spelling of one of its camelCase
30
- * properties. Installed by {@link customElement} and skipped entirely for components that have none.
31
+ * Forwards the lowercased spelling of a camelCase property to the attribute the component observes, and warns
32
+ * once per tag and attribute so the author can fix the template. The real attribute wins when both are present.
33
+ * Installed by {@link customElement} and skipped entirely for components that have none.
31
34
  */
32
35
  function installAttributeCheck(tagName, elementClass) {
33
36
  const prototype = elementClass.prototype;
@@ -39,11 +42,13 @@ function installAttributeCheck(tagName, elementClass) {
39
42
  aliases ?? (aliases = ambiguousAttributes(elementClass));
40
43
  if (aliases.size === 0 || !this.hasAttributes())
41
44
  return;
42
- for (const { name } of this.attributes) {
45
+ for (const { name, value } of [...this.attributes]) {
43
46
  const attribute = aliases.get(name);
44
- if (attribute) {
45
- warnOnce(`${tagName}:${name}`, `<${tagName} ${name}> is not an attribute of this component — did you mean "${attribute}"? The value was ignored.`);
46
- }
47
+ if (!attribute)
48
+ continue;
49
+ if (!this.hasAttribute(attribute))
50
+ this.setAttribute(attribute, value);
51
+ warnOnce(`${tagName}:${name}`, `<${tagName} ${name}> is not an attribute of this component — did you mean "${attribute}"? The value was forwarded to it; write "${attribute}" so it is read directly.`);
47
52
  }
48
53
  };
49
54
  }
@@ -55,7 +60,7 @@ function installAttributeCheck(tagName, elementClass) {
55
60
  * micro-frontends, a module graph loaded twice, a dev server's hot reload. Keeping the first definition and
56
61
  * warning leaves the page working; the element still behaves like whichever copy won the race.
57
62
  *
58
- * It also installs a development warning for camelCase attributes that silently do nothing (see
63
+ * It also forwards the lowercased spelling of a camelCase attribute to the real one, with a warning (see
59
64
  * {@link installAttributeCheck}).
60
65
  */
61
66
  export const customElement = (tagName) => (target, context) => {
@@ -1 +1 @@
1
- {"version":3,"file":"element-helper.js","sourceRoot":"","sources":["../src/element-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAA+B,MAAM,oDAAoD,CAAA;AAanI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;AAEhC,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAe;IAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,CAAC,CAAA;AAClC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,YAAsC;IACjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,YAAY,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;QACvE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,SAAS,KAAK,KAAK;YAAE,SAAQ;QACzE,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACxG,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACrC,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAE,YAAsC;IACpF,MAAM,SAAS,GAAG,YAAY,CAAC,SAA6D,CAAA;IAC5F,MAAM,SAAS,GAAG,SAAS,CAAC,iBAAiB,CAAA;IAC7C,IAAI,OAAwC,CAAA;IAE5C,SAAS,CAAC,iBAAiB,GAAG;QAC5B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAErB,oGAAoG;QACpG,OAAO,KAAP,OAAO,GAAK,mBAAmB,CAAC,YAAY,CAAC,EAAA;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAM;QAEvD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,IAAI,OAAO,IAAI,IAAI,2DAA2D,SAAS,2BAA2B,CAAC,CAAA;YACpJ,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,OAAe,EAA0B,EAAE,CAC5C,CAAC,MAAoB,EAAE,OAA+B,EAAE,EAAE;IACxD,qBAAqB,CAAC,OAAO,EAAE,MAAkC,CAAC,CAAA;IAElE,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,QAAQ,CACN,UAAU,OAAO,EAAE,EACnB,IAAI,OAAO,4KAA4K,CACxL,CAAA;QACD,OAAM;IACR,CAAC;IAED,4GAA4G;IAC5G,wEAAwE;IACxE,OAAQ,gBAAgB,CAAC,OAAO,CAAqE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACxH,CAAC,CAAA","sourcesContent":["import { customElement as litCustomElement, type CustomElementDecorator } from '@lit/reactive-element/decorators/custom-element.js'\n\ntype ElementClass = Omit<typeof HTMLElement, 'new'>\n\ninterface PropertyDeclarationLike {\n attribute?: boolean | string\n}\n\ninterface ReactiveElementClassLike extends ElementClass {\n elementProperties?: Map<PropertyKey, PropertyDeclarationLike>\n prototype: HTMLElement\n}\n\nconst warned = new Set<string>()\n\nfunction warnOnce(key: string, message: string): void {\n if (warned.has(key)) return\n warned.add(key)\n console.warn(`[c2n] ${message}`)\n}\n\n/**\n * Attributes a consumer is likely to write instead of the real one: the lowercased spelling of a camelCase\n * property whose attribute was renamed to kebab-case (`rowkey` for `rowKey`, whose attribute is `row-key`).\n *\n * The lowercased spelling is what a framework produces from a *static* attribute in a template — Angular and\n * plain HTML both do it — and because the component never observes it, the value is silently dropped.\n */\nfunction ambiguousAttributes(elementClass: ReactiveElementClassLike): Map<string, string> {\n const aliases = new Map<string, string>()\n for (const [name, declaration] of elementClass.elementProperties ?? []) {\n if (typeof name !== 'string' || declaration.attribute === false) continue\n const attribute = typeof declaration.attribute === 'string' ? declaration.attribute : name.toLowerCase()\n const lowercased = name.toLowerCase()\n if (lowercased !== attribute) aliases.set(lowercased, attribute)\n }\n return aliases\n}\n\n/**\n * Warns, once per tag and attribute, when an element carries the lowercased spelling of one of its camelCase\n * properties. Installed by {@link customElement} and skipped entirely for components that have none.\n */\nfunction installAttributeCheck(tagName: string, elementClass: ReactiveElementClassLike): void {\n const prototype = elementClass.prototype as HTMLElement & { connectedCallback?: () => void }\n const connected = prototype.connectedCallback\n let aliases: Map<string, string> | undefined\n\n prototype.connectedCallback = function (this: HTMLElement) {\n connected?.call(this)\n\n // Resolved on the first connect: `elementProperties` is only complete once every decorator has run.\n aliases ??= ambiguousAttributes(elementClass)\n if (aliases.size === 0 || !this.hasAttributes()) return\n\n for (const { name } of this.attributes) {\n const attribute = aliases.get(name)\n if (attribute) {\n warnOnce(`${tagName}:${name}`, `<${tagName} ${name}> is not an attribute of this component — did you mean \"${attribute}\"? The value was ignored.`)\n }\n }\n }\n}\n\n/**\n * `@customElement`, but a duplicate registration warns instead of throwing.\n *\n * `customElements.define` throws `NotSupportedError` when a tag is already taken, which takes down the whole\n * page. That happens for reasons a component library cannot control: two versions of a package in one app, two\n * micro-frontends, a module graph loaded twice, a dev server's hot reload. Keeping the first definition and\n * warning leaves the page working; the element still behaves like whichever copy won the race.\n *\n * It also installs a development warning for camelCase attributes that silently do nothing (see\n * {@link installAttributeCheck}).\n */\nexport const customElement =\n (tagName: string): CustomElementDecorator =>\n (target: ElementClass, context?: ClassDecoratorContext) => {\n installAttributeCheck(tagName, target as ReactiveElementClassLike)\n\n if (customElements.get(tagName)) {\n warnOnce(\n `define:${tagName}`,\n `<${tagName}> is already registered. The first definition is kept; this one is ignored. Two copies of a @c2n package are loaded — check for duplicate versions in the dependency tree.`,\n )\n return\n }\n\n // `context` is `undefined` under experimental decorators and a `ClassDecoratorContext` under standard ones;\n // Lit's decorator handles both, so it is forwarded exactly as received.\n return (litCustomElement(tagName) as (target: ElementClass, context?: ClassDecoratorContext) => void)(target, context)\n }\n"]}
1
+ {"version":3,"file":"element-helper.js","sourceRoot":"","sources":["../src/element-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAA+B,MAAM,oDAAoD,CAAA;AAanI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;AAEhC,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAe;IAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,CAAC,CAAA;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,YAAsC;IACjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,YAAY,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;QACvE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,SAAS,KAAK,KAAK;YAAE,SAAQ;QACzE,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACxG,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACrC,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAE,YAAsC;IACpF,MAAM,SAAS,GAAG,YAAY,CAAC,SAA6D,CAAA;IAC5F,MAAM,SAAS,GAAG,SAAS,CAAC,iBAAiB,CAAA;IAC7C,IAAI,OAAwC,CAAA;IAE5C,SAAS,CAAC,iBAAiB,GAAG;QAC5B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAErB,oGAAoG;QACpG,OAAO,KAAP,OAAO,GAAK,mBAAmB,CAAC,YAAY,CAAC,EAAA;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAM;QAEvD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,CAAC,SAAS;gBAAE,SAAQ;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YACtE,QAAQ,CACN,GAAG,OAAO,IAAI,IAAI,EAAE,EACpB,IAAI,OAAO,IAAI,IAAI,2DAA2D,SAAS,4CAA4C,SAAS,2BAA2B,CACxK,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,OAAe,EAA0B,EAAE,CAC5C,CAAC,MAAoB,EAAE,OAA+B,EAAE,EAAE;IACxD,qBAAqB,CAAC,OAAO,EAAE,MAAkC,CAAC,CAAA;IAElE,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,QAAQ,CACN,UAAU,OAAO,EAAE,EACnB,IAAI,OAAO,4KAA4K,CACxL,CAAA;QACD,OAAM;IACR,CAAC;IAED,4GAA4G;IAC5G,wEAAwE;IACxE,OAAQ,gBAAgB,CAAC,OAAO,CAAqE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACxH,CAAC,CAAA","sourcesContent":["import { customElement as litCustomElement, type CustomElementDecorator } from '@lit/reactive-element/decorators/custom-element.js'\n\ntype ElementClass = Omit<typeof HTMLElement, 'new'>\n\ninterface PropertyDeclarationLike {\n attribute?: boolean | string\n}\n\ninterface ReactiveElementClassLike extends ElementClass {\n elementProperties?: Map<PropertyKey, PropertyDeclarationLike>\n prototype: HTMLElement\n}\n\nconst warned = new Set<string>()\n\nfunction warnOnce(key: string, message: string): void {\n if (warned.has(key)) return\n warned.add(key)\n console.warn(`[c2n] ${message}`)\n}\n\n/**\n * Attributes a consumer is likely to write instead of the real one: the lowercased spelling of a camelCase\n * property whose attribute was renamed to kebab-case (`rowkey` for `rowKey`, whose attribute is `row-key`).\n *\n * The lowercased spelling is what a framework produces from a *static* attribute in a template — Angular and\n * plain HTML both do it, and so does React when it renders a custom element on the server (the prop name is\n * written verbatim and the parser lowercases it; hydration never sets the property). The component does not\n * observe it, so without help the value is silently dropped.\n */\nfunction ambiguousAttributes(elementClass: ReactiveElementClassLike): Map<string, string> {\n const aliases = new Map<string, string>()\n for (const [name, declaration] of elementClass.elementProperties ?? []) {\n if (typeof name !== 'string' || declaration.attribute === false) continue\n const attribute = typeof declaration.attribute === 'string' ? declaration.attribute : name.toLowerCase()\n const lowercased = name.toLowerCase()\n if (lowercased !== attribute) aliases.set(lowercased, attribute)\n }\n return aliases\n}\n\n/**\n * Forwards the lowercased spelling of a camelCase property to the attribute the component observes, and warns\n * once per tag and attribute so the author can fix the template. The real attribute wins when both are present.\n * Installed by {@link customElement} and skipped entirely for components that have none.\n */\nfunction installAttributeCheck(tagName: string, elementClass: ReactiveElementClassLike): void {\n const prototype = elementClass.prototype as HTMLElement & { connectedCallback?: () => void }\n const connected = prototype.connectedCallback\n let aliases: Map<string, string> | undefined\n\n prototype.connectedCallback = function (this: HTMLElement) {\n connected?.call(this)\n\n // Resolved on the first connect: `elementProperties` is only complete once every decorator has run.\n aliases ??= ambiguousAttributes(elementClass)\n if (aliases.size === 0 || !this.hasAttributes()) return\n\n for (const { name, value } of [...this.attributes]) {\n const attribute = aliases.get(name)\n if (!attribute) continue\n if (!this.hasAttribute(attribute)) this.setAttribute(attribute, value)\n warnOnce(\n `${tagName}:${name}`,\n `<${tagName} ${name}> is not an attribute of this component — did you mean \"${attribute}\"? The value was forwarded to it; write \"${attribute}\" so it is read directly.`,\n )\n }\n }\n}\n\n/**\n * `@customElement`, but a duplicate registration warns instead of throwing.\n *\n * `customElements.define` throws `NotSupportedError` when a tag is already taken, which takes down the whole\n * page. That happens for reasons a component library cannot control: two versions of a package in one app, two\n * micro-frontends, a module graph loaded twice, a dev server's hot reload. Keeping the first definition and\n * warning leaves the page working; the element still behaves like whichever copy won the race.\n *\n * It also forwards the lowercased spelling of a camelCase attribute to the real one, with a warning (see\n * {@link installAttributeCheck}).\n */\nexport const customElement =\n (tagName: string): CustomElementDecorator =>\n (target: ElementClass, context?: ClassDecoratorContext) => {\n installAttributeCheck(tagName, target as ReactiveElementClassLike)\n\n if (customElements.get(tagName)) {\n warnOnce(\n `define:${tagName}`,\n `<${tagName}> is already registered. The first definition is kept; this one is ignored. Two copies of a @c2n package are loaded — check for duplicate versions in the dependency tree.`,\n )\n return\n }\n\n // `context` is `undefined` under experimental decorators and a `ClassDecoratorContext` under standard ones;\n // Lit's decorator handles both, so it is forwarded exactly as received.\n return (litCustomElement(tagName) as (target: ElementClass, context?: ClassDecoratorContext) => void)(target, context)\n }\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c2n/core",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "scripts": {
5
5
  "dev": "tsc -p tsconfig.json -w",
6
6
  "build": "tsc -p tsconfig.json"
@@ -67,5 +67,5 @@
67
67
  "devDependencies": {
68
68
  "@c2n/config": "*"
69
69
  },
70
- "gitHead": "bf962fba5e49a0ac7555a082584e262949d323a5"
70
+ "gitHead": "43e38b42ac221ffeef99a773c42dd3356961d26a"
71
71
  }