@c2n/core 1.0.1 → 1.0.3
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 +1 -1
- package/dist/lit-helper.d.ts +18 -0
- package/dist/lit-helper.d.ts.map +1 -1
- package/dist/lit-helper.js +43 -0
- package/dist/lit-helper.js.map +1 -1
- package/package.json +2 -2
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","../src/context-menu-helper.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","../../../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-element/development/lit-element.d.ts","../../../node_modules/lit/development/index.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","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../src/lit-helper.ts","../src/locale-helper.ts","../src/shortcut-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/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","../src/controllers/virtual-scroll.ts"],"fileIdsList":[[70,71,72,74,75,76,77],[70],[58,70],[58,70,71,73],[71],[62],[58,62],[56,57],[51,58],[51],[49,51],[49,50],[51,55,58,59],[78],[58],[58,78],[60],[52],[55,60],[55,63],[58,60,66]],"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":"cba18c8ebb6b4bc9892d5d157f20ff294f31cbdbcf3bf9a3e52468789add79f5","signature":"13dc936e13a6a5fc717bc46ae2ea35872d753841e3454a0c5706f4ad5a11fa9a"},{"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":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"00355f69398fa5d25778aefb29561e3718687fb930308c7b25bf40d951592152","signature":"06c27bacf3b20a46a0702910aff8d9ad4817681d7b3e14f450f856ba78ea7f76"},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"5bac68e8ed6b3f45c75c2ada20ef7d292401611bbbcb945475529e02e0e90666","signature":"987fdd15284a3e71a0fcb58c8cdb8a82e51227f9ba90edccf57f10bc7c7722dc"},{"version":"3e42659da436c840334cf9e989ab14009e5d3f5f62f75633d1d906c57f8634ab","signature":"a1ffd1c477e4c44624597d5a4232a6f4dc42dcda9f9b74ab2ff85f1819a95f18"},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"e3ae5966ff412fa4b84b44359d356282194623750eadd8e3e20c0763efc6c811","signature":"f0223b66a3c156c00a5815a5853cbaf830636dc53bd6c328ee8389be92eec8e6"},{"version":"6221ced851e47d75063f9c6923c143cd17b53e3e6a2105678cfe2a8200d86420","signature":"61b88d03b239f01ec73f4dbfd0749b81078682abeda0b55a31930990a129eb3c"},{"version":"d313896abf823dc5acd6691234f3c1ac40ec2c332443cb2ca79327aa333f7c94","signature":"ac455106204d69c0399018dc4a8fa48714e8e2c21ca294bfc793ad522ff67146"},{"version":"7455f2d44bbd248413e4ab8c3ff847413d9ce327967dba66f0b51880f60fb653","impliedFormat":99},{"version":"9dd82c87281e106bdcb227550251fcc6b55a6eb555152bec5c6ce408345ffc57","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":"348c8e833a387ff25bdec06826c01c364738982079c2ba1cb390847141721ad1","signature":"a19c051036e9cb67b13b0b536c2ea9c8a8444e8797ece8db8963abd141f05017"}],"root":[48,53,54,61,64,65,[67,69],[79,82]],"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":[[78,1],[71,2],[72,3],[74,4],[77,3],[76,3],[73,5],[63,6],[66,7],[58,8],[59,9],[49,10],[52,11],[51,12],[60,13],[79,14],[80,15],[81,16],[82,17],[53,18],[61,19],[64,20],[67,21]],"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","../src/context-menu-helper.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","../../../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-element/development/lit-element.d.ts","../../../node_modules/lit/development/index.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","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../../../node_modules/lit/development/directive.d.ts","../src/lit-helper.ts","../src/locale-helper.ts","../src/shortcut-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/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","../src/controllers/virtual-scroll.ts"],"fileIdsList":[[71,72,73,75,76,77,78],[71],[58,71],[58,71,72,74],[72],[62],[58,62],[56,57],[51,58],[51],[49,51],[49,50],[49],[51,55,58,59],[79],[58],[58,79],[60],[52],[55,60],[55,63],[58,60,66,67]],"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":"cba18c8ebb6b4bc9892d5d157f20ff294f31cbdbcf3bf9a3e52468789add79f5","signature":"13dc936e13a6a5fc717bc46ae2ea35872d753841e3454a0c5706f4ad5a11fa9a"},{"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":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"00355f69398fa5d25778aefb29561e3718687fb930308c7b25bf40d951592152","signature":"06c27bacf3b20a46a0702910aff8d9ad4817681d7b3e14f450f856ba78ea7f76"},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"5bac68e8ed6b3f45c75c2ada20ef7d292401611bbbcb945475529e02e0e90666","signature":"987fdd15284a3e71a0fcb58c8cdb8a82e51227f9ba90edccf57f10bc7c7722dc"},{"version":"3e42659da436c840334cf9e989ab14009e5d3f5f62f75633d1d906c57f8634ab","signature":"a1ffd1c477e4c44624597d5a4232a6f4dc42dcda9f9b74ab2ff85f1819a95f18"},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"25d5a8f05e1c4225f718beca2610465a2f4d317d3f1344dceb342a29af57a1eb","impliedFormat":99},{"version":"df44975fadced4edfa3e977e2a01d25dcba24aea4c1d6dd0320fb5703e21c9f6","signature":"ffb9961be7cb853405a305102554619e0dfcf97b14c446d5f82cd613beaa01a1"},{"version":"6221ced851e47d75063f9c6923c143cd17b53e3e6a2105678cfe2a8200d86420","signature":"61b88d03b239f01ec73f4dbfd0749b81078682abeda0b55a31930990a129eb3c"},{"version":"d313896abf823dc5acd6691234f3c1ac40ec2c332443cb2ca79327aa333f7c94","signature":"ac455106204d69c0399018dc4a8fa48714e8e2c21ca294bfc793ad522ff67146"},{"version":"7455f2d44bbd248413e4ab8c3ff847413d9ce327967dba66f0b51880f60fb653","impliedFormat":99},{"version":"9dd82c87281e106bdcb227550251fcc6b55a6eb555152bec5c6ce408345ffc57","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":"348c8e833a387ff25bdec06826c01c364738982079c2ba1cb390847141721ad1","signature":"a19c051036e9cb67b13b0b536c2ea9c8a8444e8797ece8db8963abd141f05017"}],"root":[48,53,54,61,64,65,[68,70],[80,83]],"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":[[79,1],[72,2],[73,3],[75,4],[78,3],[77,3],[74,5],[63,6],[66,7],[58,8],[59,9],[49,10],[52,11],[51,12],[67,13],[60,14],[80,15],[81,16],[82,17],[83,18],[53,19],[61,20],[64,21],[68,22]],"latestChangedDtsFile":"./controllers/virtual-scroll.d.ts","version":"6.0.3"}
|
package/dist/lit-helper.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type PropertyDecorator as LitPropertyDecorator } from '@lit/reactive-element/decorators/property.js';
|
|
2
2
|
import type { PropertyDeclaration } from '@lit/reactive-element';
|
|
3
|
+
import { Directive, type ElementPart, type PartInfo } from 'lit/directive.js';
|
|
3
4
|
export { html, svg, nothing } from 'lit';
|
|
4
5
|
export type { TemplateResult, SVGTemplateResult } from 'lit';
|
|
5
6
|
/**
|
|
@@ -50,4 +51,21 @@ export declare const jsonPropertyConverter: {
|
|
|
50
51
|
* it. Import this instead of `property` from `lit/decorators.js` in every c2n component.
|
|
51
52
|
*/
|
|
52
53
|
export declare function property(options?: PropertyDeclaration): LitPropertyDecorator;
|
|
54
|
+
declare class AssignSlotDirective extends Directive {
|
|
55
|
+
constructor(partInfo: PartInfo);
|
|
56
|
+
render(_nodes: readonly (Element | Text)[]): symbol;
|
|
57
|
+
update(part: ElementPart, [nodes]: [readonly (Element | Text)[]]): symbol;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Assigns light-DOM children to the `<slot>` it is placed on, for a shadow root created with
|
|
61
|
+
* `slotAssignment: 'manual'`: `<slot ${assignSlot([item])}></slot>`.
|
|
62
|
+
*
|
|
63
|
+
* A component that routes its children into per-item slots must not write `slot` on them: under server rendering
|
|
64
|
+
* (Next.js, React Router) the element upgrades before React hydrates, and React reports the attribute it never
|
|
65
|
+
* rendered as a hydration mismatch. The assignment is only redone when the slot holds other nodes, so rendering the
|
|
66
|
+
* same items again (every frame of a drag) costs one `assignedNodes()` read per slot. In a named-mode shadow root
|
|
67
|
+
* (declarative shadow DOM always is one) `assign()` has no effect and the component must fall back to `slot`
|
|
68
|
+
* attributes; check `shadowRoot.slotAssignment`.
|
|
69
|
+
*/
|
|
70
|
+
export declare const assignSlot: (_nodes: readonly (Element | Text)[]) => import("lit-html/directive.js").DirectiveResult<typeof AssignSlotDirective>;
|
|
53
71
|
//# sourceMappingURL=lit-helper.d.ts.map
|
package/dist/lit-helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-helper.d.ts","sourceRoot":"","sources":["../src/lit-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAA;AACtI,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACxC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAU5D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB;yBACd,OAAO;2BACL,MAAM,GAAG,IAAI;CACrC,CAAA;AAED,eAAO,MAAM,sBAAsB;yBACZ,MAAM,EAAE;2BAGN,MAAM;0BAGP,OAAO;CAI8B,CAAA;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;yBACX,OAAO;2BAIL,MAAM,GAAG,IAAI;0BAQd,OAAO;CAQ8B,CAAA;AA8B7D;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,oBAAoB,CAY5E"}
|
|
1
|
+
{"version":3,"file":"lit-helper.d.ts","sourceRoot":"","sources":["../src/lit-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAA;AACtI,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAuB,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAElG,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACxC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAU5D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB;yBACd,OAAO;2BACL,MAAM,GAAG,IAAI;CACrC,CAAA;AAED,eAAO,MAAM,sBAAsB;yBACZ,MAAM,EAAE;2BAGN,MAAM;0BAGP,OAAO;CAI8B,CAAA;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;yBACX,OAAO;2BAIL,MAAM,GAAG,IAAI;0BAQd,OAAO;CAQ8B,CAAA;AA8B7D;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,oBAAoB,CAY5E;AAED,cAAM,mBAAoB,SAAQ,SAAS;gBAC7B,QAAQ,EAAE,QAAQ;IAK9B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IAIjC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;CAQ1E;AAUD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,sHAAiC,CAAA"}
|
package/dist/lit-helper.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { property as litProperty } from '@lit/reactive-element/decorators/property.js';
|
|
2
|
+
import { noChange } from 'lit';
|
|
3
|
+
import { Directive, directive, PartType } from 'lit/directive.js';
|
|
2
4
|
export { html, svg, nothing } from 'lit';
|
|
3
5
|
/**
|
|
4
6
|
* Converter for `type: Boolean` properties, replacing Lit's presence-based default.
|
|
@@ -119,4 +121,45 @@ export function property(options) {
|
|
|
119
121
|
return result;
|
|
120
122
|
});
|
|
121
123
|
}
|
|
124
|
+
class AssignSlotDirective extends Directive {
|
|
125
|
+
constructor(partInfo) {
|
|
126
|
+
super(partInfo);
|
|
127
|
+
if (partInfo.type !== PartType.ELEMENT)
|
|
128
|
+
throw new Error('assignSlot() must be placed on a <slot> element.');
|
|
129
|
+
}
|
|
130
|
+
render(_nodes) {
|
|
131
|
+
return noChange;
|
|
132
|
+
}
|
|
133
|
+
update(part, [nodes]) {
|
|
134
|
+
const slot = part.element;
|
|
135
|
+
// A new template instance is still a detached fragment here, and an assignment made before the slot is in the
|
|
136
|
+
// shadow tree does not take effect; Lit inserts the fragment before the microtask runs.
|
|
137
|
+
if (slot.getRootNode() instanceof ShadowRoot)
|
|
138
|
+
assignNodes(slot, nodes);
|
|
139
|
+
else
|
|
140
|
+
queueMicrotask(() => assignNodes(slot, nodes));
|
|
141
|
+
return noChange;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function assignNodes(slot, nodes) {
|
|
145
|
+
// A named-mode root (declarative shadow DOM) routes by `slot` attribute and ignores `assign()`.
|
|
146
|
+
const root = slot.getRootNode();
|
|
147
|
+
if (!(root instanceof ShadowRoot) || root.slotAssignment !== 'manual')
|
|
148
|
+
return;
|
|
149
|
+
const assigned = slot.assignedNodes();
|
|
150
|
+
if (assigned.length !== nodes.length || nodes.some((node, index) => node !== assigned[index]))
|
|
151
|
+
slot.assign(...nodes);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Assigns light-DOM children to the `<slot>` it is placed on, for a shadow root created with
|
|
155
|
+
* `slotAssignment: 'manual'`: `<slot ${assignSlot([item])}></slot>`.
|
|
156
|
+
*
|
|
157
|
+
* A component that routes its children into per-item slots must not write `slot` on them: under server rendering
|
|
158
|
+
* (Next.js, React Router) the element upgrades before React hydrates, and React reports the attribute it never
|
|
159
|
+
* rendered as a hydration mismatch. The assignment is only redone when the slot holds other nodes, so rendering the
|
|
160
|
+
* same items again (every frame of a drag) costs one `assignedNodes()` read per slot. In a named-mode shadow root
|
|
161
|
+
* (declarative shadow DOM always is one) `assign()` has no effect and the component must fall back to `slot`
|
|
162
|
+
* attributes; check `shadowRoot.slotAssignment`.
|
|
163
|
+
*/
|
|
164
|
+
export const assignSlot = directive(AssignSlotDirective);
|
|
122
165
|
//# sourceMappingURL=lit-helper.js.map
|
package/dist/lit-helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-helper.js","sourceRoot":"","sources":["../src/lit-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { property as litProperty, type PropertyDecorator as LitPropertyDecorator } from '@lit/reactive-element/decorators/property.js'\nimport type { PropertyDeclaration } from '@lit/reactive-element'\n\nexport { html, svg, nothing } from 'lit'\nexport type { TemplateResult, SVGTemplateResult } from 'lit'\n\n/**\n * A converter that also understands the value being assigned straight to the property rather than parsed out of\n * the attribute. `fromProperty` is what {@link property} installs a setter for; see its documentation for why.\n */\ninterface StringTolerantConverter {\n fromProperty: (value: unknown) => unknown\n}\n\n/**\n * Converter for `type: Boolean` properties, replacing Lit's presence-based default.\n *\n * Lit's default is `fromAttribute: (value) => value !== null`, so *any* attribute that is present is true —\n * including `disabled=\"false\"`. Frameworks that render a non-boolean attribute name by stringifying its value\n * (Svelte 5 does this for every name outside the HTML boolean list, and so does any server renderer) therefore\n * turn the flag **on** when the application asked for it to be off, silently.\n *\n * The literal strings `\"false\"` and `\"0\"` are read as false; everything else, the empty string included, stays\n * true, so `<c2-button disabled>` and `disabled=\"\"` are unchanged. Reflection matches Lit exactly: true writes\n * an empty attribute, false removes it.\n */\nexport const booleanPropertyConverter = {\n toAttribute: (value: unknown) => (value ? '' : null),\n fromAttribute: (value: string | null) => value !== null && value !== 'false' && value !== '0',\n}\n\nexport const arrayPropertyConverter = {\n toAttribute: (value: string[]) => {\n return Array.isArray(value) ? value.join(';') : ''\n },\n fromAttribute: (value: string) => {\n return value ? value.split(';') : []\n },\n fromProperty: (value: unknown) => {\n if (typeof value !== 'string') return value\n return value ? value.split(';') : []\n },\n} satisfies StringTolerantConverter & Record<string, unknown>\n\n/**\n * Converter for properties whose value is a plain object or array and whose attribute is JSON, so data-driven\n * components (a table's rows and columns, for instance) can be authored in markup as well as from script.\n * Invalid JSON parses to `undefined` rather than throwing, and never round-trips back to the attribute.\n *\n * A JSON **string assigned to the property** is parsed as well, which is what makes such a property survive\n * server rendering. A server writes attributes only, so the application hands the component\n * `JSON.stringify(rows)`; on the client the same binding usually lands as a property assignment instead, and\n * without `fromProperty` that string would simply be stored. A string that is not valid JSON is left alone.\n */\nexport const jsonPropertyConverter = {\n toAttribute: (value: unknown) => {\n if (value === undefined || value === null) return null\n return JSON.stringify(value)\n },\n fromAttribute: (value: string | null) => {\n if (!value) return undefined\n try {\n return JSON.parse(value)\n } catch {\n return undefined\n }\n },\n fromProperty: (value: unknown) => {\n if (typeof value !== 'string') return value\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n },\n} satisfies StringTolerantConverter & Record<string, unknown>\n\n/** The `fromProperty` of a declaration's converter, when it has one. */\nfunction propertyCoercion(options?: PropertyDeclaration): ((value: unknown) => unknown) | undefined {\n const converter = options?.converter\n if (!converter || typeof converter === 'function') return undefined\n return (converter as Partial<StringTolerantConverter>).fromProperty\n}\n\n/**\n * Wraps the accessor Lit installed so the value is coerced before Lit's setter records it and requests an\n * update. Lit's own setter stays the one that calls `requestUpdate`, so reflection and change detection are\n * untouched.\n *\n * Only reachable under experimental decorators, where `createProperty` has already defined the accessor on the\n * prototype by the time the decorator returns. Under standard decorators the accessor does not exist yet and\n * the coercion is skipped; this repository compiles with `experimentalDecorators`.\n */\nfunction wrapPropertySetter(prototype: object, name: PropertyKey, coerce: (value: unknown) => unknown): void {\n const descriptor = Object.getOwnPropertyDescriptor(prototype, name)\n const set = descriptor?.set\n if (!set) return\n Object.defineProperty(prototype, name, {\n ...descriptor,\n set(this: object, value: unknown) {\n set.call(this, coerce(value))\n },\n })\n}\n\n/**\n * `@property`, but with the two conversions a component library needs and Lit's defaults do not provide.\n *\n * - `type: Boolean` gets {@link booleanPropertyConverter}, so `disabled=\"false\"` is false rather than true.\n * - A converter that declares `fromProperty` ({@link jsonPropertyConverter}, {@link arrayPropertyConverter})\n * also parses a string assigned directly to the property, so the same value works as an attribute on the\n * server and as a property on the client.\n *\n * An explicit `converter` always wins, so a property that needs Lit's presence-based boolean can still ask for\n * it. Import this instead of `property` from `lit/decorators.js` in every c2n component.\n */\nexport function property(options?: PropertyDeclaration): LitPropertyDecorator {\n const declaration = options?.type === Boolean && options.converter === undefined ? { ...options, converter: booleanPropertyConverter } : options\n const decorate = litProperty(declaration)\n const coerce = propertyCoercion(declaration)\n if (!coerce) return decorate\n\n const legacyDecorate = decorate as (prototype: object, name: PropertyKey, descriptor?: PropertyDescriptor) => unknown\n return ((prototype: object, name: PropertyKey, descriptor?: PropertyDescriptor) => {\n const result = legacyDecorate(prototype, name, descriptor)\n if (typeof name !== 'object') wrapPropertySetter(prototype, name, coerce)\n return result\n }) as LitPropertyDecorator\n}\n"]}
|
|
1
|
+
{"version":3,"file":"lit-helper.js","sourceRoot":"","sources":["../src/lit-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { property as litProperty, type PropertyDecorator as LitPropertyDecorator } from '@lit/reactive-element/decorators/property.js'\nimport type { PropertyDeclaration } from '@lit/reactive-element'\nimport { noChange } from 'lit'\nimport { Directive, directive, PartType, type ElementPart, type PartInfo } from 'lit/directive.js'\n\nexport { html, svg, nothing } from 'lit'\nexport type { TemplateResult, SVGTemplateResult } from 'lit'\n\n/**\n * A converter that also understands the value being assigned straight to the property rather than parsed out of\n * the attribute. `fromProperty` is what {@link property} installs a setter for; see its documentation for why.\n */\ninterface StringTolerantConverter {\n fromProperty: (value: unknown) => unknown\n}\n\n/**\n * Converter for `type: Boolean` properties, replacing Lit's presence-based default.\n *\n * Lit's default is `fromAttribute: (value) => value !== null`, so *any* attribute that is present is true —\n * including `disabled=\"false\"`. Frameworks that render a non-boolean attribute name by stringifying its value\n * (Svelte 5 does this for every name outside the HTML boolean list, and so does any server renderer) therefore\n * turn the flag **on** when the application asked for it to be off, silently.\n *\n * The literal strings `\"false\"` and `\"0\"` are read as false; everything else, the empty string included, stays\n * true, so `<c2-button disabled>` and `disabled=\"\"` are unchanged. Reflection matches Lit exactly: true writes\n * an empty attribute, false removes it.\n */\nexport const booleanPropertyConverter = {\n toAttribute: (value: unknown) => (value ? '' : null),\n fromAttribute: (value: string | null) => value !== null && value !== 'false' && value !== '0',\n}\n\nexport const arrayPropertyConverter = {\n toAttribute: (value: string[]) => {\n return Array.isArray(value) ? value.join(';') : ''\n },\n fromAttribute: (value: string) => {\n return value ? value.split(';') : []\n },\n fromProperty: (value: unknown) => {\n if (typeof value !== 'string') return value\n return value ? value.split(';') : []\n },\n} satisfies StringTolerantConverter & Record<string, unknown>\n\n/**\n * Converter for properties whose value is a plain object or array and whose attribute is JSON, so data-driven\n * components (a table's rows and columns, for instance) can be authored in markup as well as from script.\n * Invalid JSON parses to `undefined` rather than throwing, and never round-trips back to the attribute.\n *\n * A JSON **string assigned to the property** is parsed as well, which is what makes such a property survive\n * server rendering. A server writes attributes only, so the application hands the component\n * `JSON.stringify(rows)`; on the client the same binding usually lands as a property assignment instead, and\n * without `fromProperty` that string would simply be stored. A string that is not valid JSON is left alone.\n */\nexport const jsonPropertyConverter = {\n toAttribute: (value: unknown) => {\n if (value === undefined || value === null) return null\n return JSON.stringify(value)\n },\n fromAttribute: (value: string | null) => {\n if (!value) return undefined\n try {\n return JSON.parse(value)\n } catch {\n return undefined\n }\n },\n fromProperty: (value: unknown) => {\n if (typeof value !== 'string') return value\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n },\n} satisfies StringTolerantConverter & Record<string, unknown>\n\n/** The `fromProperty` of a declaration's converter, when it has one. */\nfunction propertyCoercion(options?: PropertyDeclaration): ((value: unknown) => unknown) | undefined {\n const converter = options?.converter\n if (!converter || typeof converter === 'function') return undefined\n return (converter as Partial<StringTolerantConverter>).fromProperty\n}\n\n/**\n * Wraps the accessor Lit installed so the value is coerced before Lit's setter records it and requests an\n * update. Lit's own setter stays the one that calls `requestUpdate`, so reflection and change detection are\n * untouched.\n *\n * Only reachable under experimental decorators, where `createProperty` has already defined the accessor on the\n * prototype by the time the decorator returns. Under standard decorators the accessor does not exist yet and\n * the coercion is skipped; this repository compiles with `experimentalDecorators`.\n */\nfunction wrapPropertySetter(prototype: object, name: PropertyKey, coerce: (value: unknown) => unknown): void {\n const descriptor = Object.getOwnPropertyDescriptor(prototype, name)\n const set = descriptor?.set\n if (!set) return\n Object.defineProperty(prototype, name, {\n ...descriptor,\n set(this: object, value: unknown) {\n set.call(this, coerce(value))\n },\n })\n}\n\n/**\n * `@property`, but with the two conversions a component library needs and Lit's defaults do not provide.\n *\n * - `type: Boolean` gets {@link booleanPropertyConverter}, so `disabled=\"false\"` is false rather than true.\n * - A converter that declares `fromProperty` ({@link jsonPropertyConverter}, {@link arrayPropertyConverter})\n * also parses a string assigned directly to the property, so the same value works as an attribute on the\n * server and as a property on the client.\n *\n * An explicit `converter` always wins, so a property that needs Lit's presence-based boolean can still ask for\n * it. Import this instead of `property` from `lit/decorators.js` in every c2n component.\n */\nexport function property(options?: PropertyDeclaration): LitPropertyDecorator {\n const declaration = options?.type === Boolean && options.converter === undefined ? { ...options, converter: booleanPropertyConverter } : options\n const decorate = litProperty(declaration)\n const coerce = propertyCoercion(declaration)\n if (!coerce) return decorate\n\n const legacyDecorate = decorate as (prototype: object, name: PropertyKey, descriptor?: PropertyDescriptor) => unknown\n return ((prototype: object, name: PropertyKey, descriptor?: PropertyDescriptor) => {\n const result = legacyDecorate(prototype, name, descriptor)\n if (typeof name !== 'object') wrapPropertySetter(prototype, name, coerce)\n return result\n }) as LitPropertyDecorator\n}\n\nclass AssignSlotDirective extends Directive {\n constructor(partInfo: PartInfo) {\n super(partInfo)\n if (partInfo.type !== PartType.ELEMENT) throw new Error('assignSlot() must be placed on a <slot> element.')\n }\n\n render(_nodes: readonly (Element | Text)[]) {\n return noChange\n }\n\n override update(part: ElementPart, [nodes]: [readonly (Element | Text)[]]) {\n const slot = part.element as HTMLSlotElement\n // A new template instance is still a detached fragment here, and an assignment made before the slot is in the\n // shadow tree does not take effect; Lit inserts the fragment before the microtask runs.\n if (slot.getRootNode() instanceof ShadowRoot) assignNodes(slot, nodes)\n else queueMicrotask(() => assignNodes(slot, nodes))\n return noChange\n }\n}\n\nfunction assignNodes(slot: HTMLSlotElement, nodes: readonly (Element | Text)[]): void {\n // A named-mode root (declarative shadow DOM) routes by `slot` attribute and ignores `assign()`.\n const root = slot.getRootNode()\n if (!(root instanceof ShadowRoot) || root.slotAssignment !== 'manual') return\n const assigned = slot.assignedNodes()\n if (assigned.length !== nodes.length || nodes.some((node, index) => node !== assigned[index])) slot.assign(...nodes)\n}\n\n/**\n * Assigns light-DOM children to the `<slot>` it is placed on, for a shadow root created with\n * `slotAssignment: 'manual'`: `<slot ${assignSlot([item])}></slot>`.\n *\n * A component that routes its children into per-item slots must not write `slot` on them: under server rendering\n * (Next.js, React Router) the element upgrades before React hydrates, and React reports the attribute it never\n * rendered as a hydration mismatch. The assignment is only redone when the slot holds other nodes, so rendering the\n * same items again (every frame of a drag) costs one `assignedNodes()` read per slot. In a named-mode shadow root\n * (declarative shadow DOM always is one) `assign()` has no effect and the component must fall back to `slot`\n * attributes; check `shadowRoot.slotAssignment`.\n */\nexport const assignSlot = directive(AssignSlotDirective)\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c2n/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "tsc -p tsconfig.json -w",
|
|
6
6
|
"build": "tsc -p tsconfig.json"
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"devDependencies": {
|
|
81
81
|
"@c2n/config": "*"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "743e9e77396d5fd3f6ca41471537b04943d3e64d"
|
|
84
84
|
}
|