@design.estate/dees-domtools 5.0.1 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +124 -124
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_bundle/bundle.js.third-party-notices.json +28 -2
- package/dist_bundle/bundle.js.third-party-notices.txt +61 -3
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/domtools.classes.domtools.js +1 -1
- package/dist_ts/domtools.classes.keyboard.js +1 -1
- package/dist_ts/domtools.classes.thememanager.d.ts +32 -3
- package/dist_ts/domtools.classes.thememanager.js +80 -6
- package/dist_ts/domtools.elementbasic.js +1 -1
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +2 -1
- package/package.json +5 -5
- package/readme.md +17 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/domtools.classes.thememanager.ts +86 -5
- package/ts/index.ts +1 -0
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
"name": "@push.rocks/smartmarkdown",
|
|
149
|
-
"version": "3.
|
|
149
|
+
"version": "3.5.0",
|
|
150
150
|
"license": "MIT",
|
|
151
151
|
"files": [
|
|
152
152
|
{
|
|
@@ -555,7 +555,7 @@
|
|
|
555
555
|
{
|
|
556
556
|
"name": "licenses/format.txt",
|
|
557
557
|
"origin": "supplement",
|
|
558
|
-
"suppliedBy": "@push.rocks/smartmarkdown@3.
|
|
558
|
+
"suppliedBy": "@push.rocks/smartmarkdown@3.5.0",
|
|
559
559
|
"sha256": "bd72919be15d45b27ec783873b74178281c70bfa0498f83533e66306f70cb0b7",
|
|
560
560
|
"text": "License\n=======\n\nCopyright 2010 - 2014 Sami Samhuri sami@samhuri.net\n\n[MIT license](http://sjs.mit-license.org)\n\n//\n// format - printf-like string formatting for JavaScript\n// github.com/samsonjs/format\n// @_sjs\n//\n// Copyright 2010 - 2013 Sami Samhuri <sami@samhuri.net>\n//\n// MIT License\n// http://sjs.mit-license.org\n//\n\nThe MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the “Software”), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
|
|
561
561
|
}
|
|
@@ -821,6 +821,19 @@
|
|
|
821
821
|
}
|
|
822
822
|
]
|
|
823
823
|
},
|
|
824
|
+
{
|
|
825
|
+
"name": "mdast-util-newline-to-break",
|
|
826
|
+
"version": "2.0.0",
|
|
827
|
+
"license": "MIT",
|
|
828
|
+
"files": [
|
|
829
|
+
{
|
|
830
|
+
"name": "license",
|
|
831
|
+
"origin": "package",
|
|
832
|
+
"sha256": "d8fc337aaf98fc7a0f5498edc18b47a9df8cdfcc1a0f013519105905722c7a4c",
|
|
833
|
+
"text": "(The MIT License)\n\nCopyright (c) 2017 Titus Wormer <tituswormer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
|
|
834
|
+
}
|
|
835
|
+
]
|
|
836
|
+
},
|
|
824
837
|
{
|
|
825
838
|
"name": "mdast-util-phrasing",
|
|
826
839
|
"version": "4.1.0",
|
|
@@ -1302,6 +1315,19 @@
|
|
|
1302
1315
|
}
|
|
1303
1316
|
]
|
|
1304
1317
|
},
|
|
1318
|
+
{
|
|
1319
|
+
"name": "remark-breaks",
|
|
1320
|
+
"version": "4.0.0",
|
|
1321
|
+
"license": "MIT",
|
|
1322
|
+
"files": [
|
|
1323
|
+
{
|
|
1324
|
+
"name": "license",
|
|
1325
|
+
"origin": "package",
|
|
1326
|
+
"sha256": "d8fc337aaf98fc7a0f5498edc18b47a9df8cdfcc1a0f013519105905722c7a4c",
|
|
1327
|
+
"text": "(The MIT License)\n\nCopyright (c) 2017 Titus Wormer <tituswormer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
|
|
1328
|
+
}
|
|
1329
|
+
]
|
|
1330
|
+
},
|
|
1305
1331
|
{
|
|
1306
1332
|
"name": "remark-frontmatter",
|
|
1307
1333
|
"version": "5.0.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Third-party notices
|
|
2
2
|
|
|
3
3
|
The JavaScript bundle this file accompanies, including its chunks and module workers,
|
|
4
|
-
contains code from the following
|
|
4
|
+
contains code from the following 129 npm package(s). Each entry reproduces
|
|
5
5
|
the license and notice files the package ships, or the license text the project
|
|
6
6
|
or a bundled package supplied for it.
|
|
7
7
|
|
|
@@ -309,7 +309,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
309
309
|
SOFTWARE.
|
|
310
310
|
|
|
311
311
|
================================================================================
|
|
312
|
-
@push.rocks/smartmarkdown@3.
|
|
312
|
+
@push.rocks/smartmarkdown@3.5.0
|
|
313
313
|
License: MIT
|
|
314
314
|
|
|
315
315
|
--- license.md ---
|
|
@@ -1137,7 +1137,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
1137
1137
|
format@0.2.2
|
|
1138
1138
|
License: MIT
|
|
1139
1139
|
|
|
1140
|
-
--- licenses/format.txt (supplied by @push.rocks/smartmarkdown@3.
|
|
1140
|
+
--- licenses/format.txt (supplied by @push.rocks/smartmarkdown@3.5.0) ---
|
|
1141
1141
|
|
|
1142
1142
|
License
|
|
1143
1143
|
=======
|
|
@@ -1749,6 +1749,35 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
|
1749
1749
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
1750
1750
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1751
1751
|
|
|
1752
|
+
================================================================================
|
|
1753
|
+
mdast-util-newline-to-break@2.0.0
|
|
1754
|
+
License: MIT
|
|
1755
|
+
|
|
1756
|
+
--- license ---
|
|
1757
|
+
|
|
1758
|
+
(The MIT License)
|
|
1759
|
+
|
|
1760
|
+
Copyright (c) 2017 Titus Wormer <tituswormer@gmail.com>
|
|
1761
|
+
|
|
1762
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
1763
|
+
a copy of this software and associated documentation files (the
|
|
1764
|
+
'Software'), to deal in the Software without restriction, including
|
|
1765
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
1766
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
1767
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
1768
|
+
the following conditions:
|
|
1769
|
+
|
|
1770
|
+
The above copyright notice and this permission notice shall be
|
|
1771
|
+
included in all copies or substantial portions of the Software.
|
|
1772
|
+
|
|
1773
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
1774
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
1775
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
1776
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
1777
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
1778
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
1779
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1780
|
+
|
|
1752
1781
|
================================================================================
|
|
1753
1782
|
mdast-util-phrasing@4.1.0
|
|
1754
1783
|
License: MIT
|
|
@@ -2793,6 +2822,35 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
|
2793
2822
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
2794
2823
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
2795
2824
|
|
|
2825
|
+
================================================================================
|
|
2826
|
+
remark-breaks@4.0.0
|
|
2827
|
+
License: MIT
|
|
2828
|
+
|
|
2829
|
+
--- license ---
|
|
2830
|
+
|
|
2831
|
+
(The MIT License)
|
|
2832
|
+
|
|
2833
|
+
Copyright (c) 2017 Titus Wormer <tituswormer@gmail.com>
|
|
2834
|
+
|
|
2835
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
2836
|
+
a copy of this software and associated documentation files (the
|
|
2837
|
+
'Software'), to deal in the Software without restriction, including
|
|
2838
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
2839
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
2840
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
2841
|
+
the following conditions:
|
|
2842
|
+
|
|
2843
|
+
The above copyright notice and this permission notice shall be
|
|
2844
|
+
included in all copies or substantial portions of the Software.
|
|
2845
|
+
|
|
2846
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
2847
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
2848
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
2849
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
2850
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
2851
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
2852
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
2853
|
+
|
|
2796
2854
|
================================================================================
|
|
2797
2855
|
remark-frontmatter@5.0.0
|
|
2798
2856
|
License: MIT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-domtools',
|
|
6
|
-
version: '5.0
|
|
6
|
+
version: '5.1.0',
|
|
7
7
|
description: 'A package providing tools to simplify complex CSS structures and web development tasks, featuring TypeScript support and integration with various web technologies.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw4QkFBOEI7SUFDcEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFLQUFxSztDQUNuTCxDQUFBIn0=
|
|
@@ -228,4 +228,4 @@ export class DomTools {
|
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuY2xhc3Nlcy5kb210b29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RvbXRvb2xzLmNsYXNzZXMuZG9tdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQWtCLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTFEOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxVQUE2RCxDQUFDO0FBV2xGLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNELE1BQU0sQ0FBQyxxQkFBcUIsR0FBNkIsSUFBSSxDQUFDO0lBRXRFOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFnQyxFQUFFO1FBQzVFLElBQUksVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEQsTUFBTSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztZQUM3QyxPQUFPLGdCQUFnQixDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLFdBQVcsQ0FBQyxZQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25FLE1BQU0sV0FBVyxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUNyRCxPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFDbEMsQ0FBQztRQUVELElB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
|
|
@@ -520,4 +520,4 @@ export class Keyboard {
|
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuY2xhc3Nlcy5rZXlib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RvbXRvb2xzLmNsYXNzZXMua2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLENBQU4sSUFBWSxHQThIWDtBQTlIRCxXQUFZLEdBQUc7SUFDYix1Q0FBYSxDQUFBO0lBQ2IsMkJBQU8sQ0FBQTtJQUNQLGdDQUFVLENBQUE7SUFDVixnQ0FBVSxDQUFBO0lBQ1YsOEJBQVMsQ0FBQTtJQUNULDRCQUFRLENBQUE7SUFDUiwwQ0FBZSxDQUFBO0lBQ2Ysc0NBQWEsQ0FBQTtJQUNiLGtDQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysa0NBQVcsQ0FBQTtJQUNYLHNDQUFhLENBQUE7SUFDYiw0QkFBUSxDQUFBO0lBQ1IsOEJBQVMsQ0FBQTtJQUVULHdDQUFjLENBQUE7SUFDZCxvQ0FBWSxDQUFBO0lBQ1osMENBQWUsQ0FBQTtJQUNmLHdDQUFjLENBQUE7SUFFZCxrQ0FBVyxDQUFBO0lBQ1gsa0NBQVcsQ0FBQTtJQUVYLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1Isb0RBQXFCLENBQUE7SUFDckIsNEJBQVEsQ0FBQTtJQUNSLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsOEJBQWdCLENBQUE7SUFDaEIsOEJBQVMsQ0FBQTtJQUNULDBDQUFpQixDQUFBO0lBQ2pCLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1IsZ0NBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsZ0NBQVUsQ0FBQTtJQUNWLDhCQUFZLENBQUE7SUFDWixvQ0FBYyxDQUFBO0lBQ2QsOEJBQVMs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
|
|
523
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuY2xhc3Nlcy5rZXlib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RvbXRvb2xzLmNsYXNzZXMua2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLENBQU4sSUFBWSxHQThIWDtBQTlIRCxXQUFZLEdBQUc7SUFDYix1Q0FBYSxDQUFBO0lBQ2IsMkJBQU8sQ0FBQTtJQUNQLGdDQUFVLENBQUE7SUFDVixnQ0FBVSxDQUFBO0lBQ1YsOEJBQVMsQ0FBQTtJQUNULDRCQUFRLENBQUE7SUFDUiwwQ0FBZSxDQUFBO0lBQ2Ysc0NBQWEsQ0FBQTtJQUNiLGtDQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysa0NBQVcsQ0FBQTtJQUNYLHNDQUFhLENBQUE7SUFDYiw0QkFBUSxDQUFBO0lBQ1IsOEJBQVMsQ0FBQTtJQUVULHdDQUFjLENBQUE7SUFDZCxvQ0FBWSxDQUFBO0lBQ1osMENBQWUsQ0FBQTtJQUNmLHdDQUFjLENBQUE7SUFFZCxrQ0FBVyxDQUFBO0lBQ1gsa0NBQVcsQ0FBQTtJQUVYLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1Isb0RBQXFCLENBQUE7SUFDckIsNEJBQVEsQ0FBQTtJQUNSLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsOEJBQWdCLENBQUE7SUFDaEIsOEJBQVMsQ0FBQTtJQUNULDBDQUFpQixDQUFBO0lBQ2pCLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1IsZ0NBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsZ0NBQVUsQ0FBQTtJQUNWLDhCQUFZLENBQUE7SUFDWixvQ0FBYyxDQUFBO0lBQ2QsOEJBQVMs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
|
|
@@ -1,25 +1,54 @@
|
|
|
1
1
|
import { DomTools } from './domtools.classes.domtools.js';
|
|
2
2
|
import * as plugins from './domtools.plugins.js';
|
|
3
|
+
/**
|
|
4
|
+
* Which theme the reader asked for: `'system'` follows `prefers-color-scheme`, `'bright'` and
|
|
5
|
+
* `'dark'` hold that theme whatever the system does.
|
|
6
|
+
*/
|
|
7
|
+
export type TThemePreference = 'system' | 'bright' | 'dark';
|
|
3
8
|
export declare class ThemeManager {
|
|
9
|
+
/**
|
|
10
|
+
* The `localStorage` key a picked preference is kept under, per browser and origin. `'system'` is
|
|
11
|
+
* the absence of the key.
|
|
12
|
+
*/
|
|
13
|
+
static readonly preferenceStorageKey = "dees-domtools:theme-preference";
|
|
4
14
|
domtoolsRef: DomTools;
|
|
5
15
|
goBrightBoolean: boolean;
|
|
16
|
+
/** The reader's preference; the theme follows the system only while it is `'system'`. */
|
|
17
|
+
preference: TThemePreference;
|
|
6
18
|
preferredColorSchemeMediaMatch: MediaQueryList;
|
|
7
19
|
themeObservable: plugins.smartrx.rxjs.ReplaySubject<boolean>;
|
|
8
20
|
private automaticGlobalThemeChangeSubscription;
|
|
9
21
|
private readonly preferredColorSchemeChangeHandler;
|
|
22
|
+
/** Another tab of this origin picked a preference; this page follows it. */
|
|
23
|
+
private readonly storageHandler;
|
|
10
24
|
constructor(domtoolsRefArg: DomTools);
|
|
25
|
+
/**
|
|
26
|
+
* The preference kept in this browser. A browser that does not let the page read its storage, or a
|
|
27
|
+
* value this version does not know, keeps no preference: the theme follows the system.
|
|
28
|
+
*/
|
|
29
|
+
private static storedPreference;
|
|
11
30
|
enableAutomaticGlobalThemeChange(): Promise<void>;
|
|
12
31
|
private updateAllConnectedElements;
|
|
32
|
+
private resolveBright;
|
|
33
|
+
private applyPreference;
|
|
34
|
+
/**
|
|
35
|
+
* Picks the theme and keeps the pick in this browser (`'system'` forgets it), so the next page
|
|
36
|
+
* load starts in it. While the preference is `'bright'` or `'dark'` the system's colour scheme no
|
|
37
|
+
* longer moves the theme. Returns whether the pick was kept: false when the browser refuses the
|
|
38
|
+
* page its storage, in which case it holds for this page only. Throws on a value that is no
|
|
39
|
+
* `TThemePreference`.
|
|
40
|
+
*/
|
|
41
|
+
setPreference(preferenceArg: TThemePreference): boolean;
|
|
13
42
|
/**
|
|
14
|
-
* set the theme of the website to bright
|
|
43
|
+
* set the theme of the website to bright, for now: the preference is unchanged
|
|
15
44
|
*/
|
|
16
45
|
goBright(): void;
|
|
17
46
|
/**
|
|
18
|
-
* set the theme of the website to dark
|
|
47
|
+
* set the theme of the website to dark, for now: the preference is unchanged
|
|
19
48
|
*/
|
|
20
49
|
goDark(): void;
|
|
21
50
|
/**
|
|
22
|
-
* simply toggle between bright and dark
|
|
51
|
+
* simply toggle between bright and dark, for now: the preference is unchanged
|
|
23
52
|
*/
|
|
24
53
|
toggleDarkBright(): void;
|
|
25
54
|
dispose(): void;
|
|
@@ -1,22 +1,59 @@
|
|
|
1
1
|
import { DomTools } from './domtools.classes.domtools.js';
|
|
2
2
|
import * as plugins from './domtools.plugins.js';
|
|
3
|
+
const themePreferences = ['system', 'bright', 'dark'];
|
|
4
|
+
const isThemePreference = (valueArg) => (themePreferences.includes(valueArg));
|
|
3
5
|
export class ThemeManager {
|
|
6
|
+
/**
|
|
7
|
+
* The `localStorage` key a picked preference is kept under, per browser and origin. `'system'` is
|
|
8
|
+
* the absence of the key.
|
|
9
|
+
*/
|
|
10
|
+
static preferenceStorageKey = 'dees-domtools:theme-preference';
|
|
4
11
|
domtoolsRef;
|
|
5
12
|
goBrightBoolean = false;
|
|
13
|
+
/** The reader's preference; the theme follows the system only while it is `'system'`. */
|
|
14
|
+
preference = 'system';
|
|
6
15
|
preferredColorSchemeMediaMatch = window.matchMedia('(prefers-color-scheme: light)');
|
|
7
16
|
themeObservable = new plugins.smartrx.rxjs.ReplaySubject(1);
|
|
8
17
|
automaticGlobalThemeChangeSubscription = null;
|
|
9
18
|
preferredColorSchemeChangeHandler = (eventArg) => {
|
|
19
|
+
if (this.preference !== 'system')
|
|
20
|
+
return;
|
|
10
21
|
this.goBrightBoolean = eventArg.matches;
|
|
11
22
|
this.updateAllConnectedElements();
|
|
12
23
|
};
|
|
24
|
+
/** Another tab of this origin picked a preference; this page follows it. */
|
|
25
|
+
storageHandler = (eventArg) => {
|
|
26
|
+
if (eventArg.storageArea !== window.localStorage)
|
|
27
|
+
return;
|
|
28
|
+
if (eventArg.key !== ThemeManager.preferenceStorageKey && eventArg.key !== null)
|
|
29
|
+
return;
|
|
30
|
+
// A cleared storage (`key` null) forgets the pick as well.
|
|
31
|
+
const value = eventArg.key === null ? null : eventArg.newValue;
|
|
32
|
+
this.applyPreference(isThemePreference(value) ? value : 'system');
|
|
33
|
+
};
|
|
13
34
|
constructor(domtoolsRefArg) {
|
|
14
35
|
this.domtoolsRef = domtoolsRefArg;
|
|
15
|
-
//
|
|
16
|
-
this.
|
|
36
|
+
// The stored preference is read before the first emission, so a page never flashes the system theme.
|
|
37
|
+
this.preference = ThemeManager.storedPreference();
|
|
38
|
+
this.goBrightBoolean = this.resolveBright();
|
|
17
39
|
this.preferredColorSchemeMediaMatch.addEventListener('change', this.preferredColorSchemeChangeHandler);
|
|
40
|
+
window.addEventListener('storage', this.storageHandler);
|
|
18
41
|
this.updateAllConnectedElements();
|
|
19
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* The preference kept in this browser. A browser that does not let the page read its storage, or a
|
|
45
|
+
* value this version does not know, keeps no preference: the theme follows the system.
|
|
46
|
+
*/
|
|
47
|
+
static storedPreference() {
|
|
48
|
+
let stored;
|
|
49
|
+
try {
|
|
50
|
+
stored = window.localStorage.getItem(ThemeManager.preferenceStorageKey);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return 'system';
|
|
54
|
+
}
|
|
55
|
+
return isThemePreference(stored) ? stored : 'system';
|
|
56
|
+
}
|
|
20
57
|
async enableAutomaticGlobalThemeChange() {
|
|
21
58
|
await this.domtoolsRef.domReady.promise;
|
|
22
59
|
if (!this.automaticGlobalThemeChangeSubscription) {
|
|
@@ -33,22 +70,58 @@ export class ThemeManager {
|
|
|
33
70
|
}
|
|
34
71
|
this.themeObservable.next(this.goBrightBoolean);
|
|
35
72
|
}
|
|
73
|
+
resolveBright() {
|
|
74
|
+
return this.preference === 'system'
|
|
75
|
+
? this.preferredColorSchemeMediaMatch.matches
|
|
76
|
+
: this.preference === 'bright';
|
|
77
|
+
}
|
|
78
|
+
applyPreference(preferenceArg) {
|
|
79
|
+
this.preference = preferenceArg;
|
|
80
|
+
const goBright = this.resolveBright();
|
|
81
|
+
if (goBright === this.goBrightBoolean)
|
|
82
|
+
return;
|
|
83
|
+
this.goBrightBoolean = goBright;
|
|
84
|
+
this.updateAllConnectedElements();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Picks the theme and keeps the pick in this browser (`'system'` forgets it), so the next page
|
|
88
|
+
* load starts in it. While the preference is `'bright'` or `'dark'` the system's colour scheme no
|
|
89
|
+
* longer moves the theme. Returns whether the pick was kept: false when the browser refuses the
|
|
90
|
+
* page its storage, in which case it holds for this page only. Throws on a value that is no
|
|
91
|
+
* `TThemePreference`.
|
|
92
|
+
*/
|
|
93
|
+
setPreference(preferenceArg) {
|
|
94
|
+
if (!isThemePreference(preferenceArg)) {
|
|
95
|
+
throw new Error(`Unknown theme preference "${String(preferenceArg)}".`);
|
|
96
|
+
}
|
|
97
|
+
this.applyPreference(preferenceArg);
|
|
98
|
+
try {
|
|
99
|
+
if (preferenceArg === 'system')
|
|
100
|
+
window.localStorage.removeItem(ThemeManager.preferenceStorageKey);
|
|
101
|
+
else
|
|
102
|
+
window.localStorage.setItem(ThemeManager.preferenceStorageKey, preferenceArg);
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
36
109
|
/**
|
|
37
|
-
* set the theme of the website to bright
|
|
110
|
+
* set the theme of the website to bright, for now: the preference is unchanged
|
|
38
111
|
*/
|
|
39
112
|
goBright() {
|
|
40
113
|
this.goBrightBoolean = true;
|
|
41
114
|
this.updateAllConnectedElements();
|
|
42
115
|
}
|
|
43
116
|
/**
|
|
44
|
-
* set the theme of the website to dark
|
|
117
|
+
* set the theme of the website to dark, for now: the preference is unchanged
|
|
45
118
|
*/
|
|
46
119
|
goDark() {
|
|
47
120
|
this.goBrightBoolean = false;
|
|
48
121
|
this.updateAllConnectedElements();
|
|
49
122
|
}
|
|
50
123
|
/**
|
|
51
|
-
* simply toggle between bright and dark
|
|
124
|
+
* simply toggle between bright and dark, for now: the preference is unchanged
|
|
52
125
|
*/
|
|
53
126
|
toggleDarkBright() {
|
|
54
127
|
this.goBrightBoolean = !this.goBrightBoolean;
|
|
@@ -56,9 +129,10 @@ export class ThemeManager {
|
|
|
56
129
|
}
|
|
57
130
|
dispose() {
|
|
58
131
|
this.preferredColorSchemeMediaMatch.removeEventListener('change', this.preferredColorSchemeChangeHandler);
|
|
132
|
+
window.removeEventListener('storage', this.storageHandler);
|
|
59
133
|
this.automaticGlobalThemeChangeSubscription?.unsubscribe();
|
|
60
134
|
this.automaticGlobalThemeChangeSubscription = null;
|
|
61
135
|
this.themeObservable.complete();
|
|
62
136
|
}
|
|
63
137
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuY2xhc3Nlcy50aGVtZW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9kb210b29scy5jbGFzc2VzLnRoZW1lbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQVFqRCxNQUFNLGdCQUFnQixHQUFnQyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFbkYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQWlCLEVBQWdDLEVBQUUsQ0FBQyxDQUM3RSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBNEIsQ0FBQyxDQUN4RCxDQUFDO0FBRUYsTUFBTSxPQUFPLFlBQVk7SUFDdkI7OztPQUdHO0lBQ0ksTUFBTSxDQUFVLG9CQUFvQixHQUFHLGdDQUFnQyxDQUFDO0lBRXhFLFdBQVcsQ0FBVztJQUV0QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLHlGQUF5RjtJQUNsRixVQUFVLEdBQXFCLFFBQVEsQ0FBQztJQUN4Qyw4QkFBOEIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFFcEYsZUFBZSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLHNDQUFzQyxHQUE2QyxJQUFJLENBQUM7SUFDL0UsaUNBQWlDLEdBQUcsQ0FBQyxRQUE2QixFQUFFLEVBQUU7UUFDckYsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDLENBQUM7SUFDRiw0RUFBNEU7SUFD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
|
|
@@ -106,4 +106,4 @@ export const setup = async (elementArg, optionsArg = {}) => {
|
|
|
106
106
|
await domTools.globalStylesReady.promise;
|
|
107
107
|
return domTools;
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuZWxlbWVudGJhc2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvZG9tdG9vbHMuZWxlbWVudGJhc2ljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQW9DLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpGLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRztJQUMvQixHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPO0lBQzNELEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRO0lBQy9ELFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtJQUN0RCxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJO0lBQzlFLElBQUksRUFBRSxPQUFPO0lBQ2IsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU07SUFDcEQsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU07SUFDNUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUs7SUFDcEMsS0FBSztJQUNMLE9B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
|
package/dist_ts/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as breakpoints from './domtools.css.breakpoints.js';
|
|
|
4
4
|
import * as css from './domtools.css.js';
|
|
5
5
|
export { css, breakpoints, elementBasic };
|
|
6
6
|
export { DomTools, type IDomToolsConstructorOptions } from './domtools.classes.domtools.js';
|
|
7
|
+
export { ThemeManager, type TThemePreference } from './domtools.classes.thememanager.js';
|
|
7
8
|
export { TypedRequest } from '@api.global/typedrequest';
|
|
8
9
|
export { type IWebSetupConstructorOptions } from '@push.rocks/websetup';
|
|
9
10
|
import * as plugins from './domtools.pluginexports.js';
|
package/dist_ts/index.js
CHANGED
|
@@ -4,8 +4,9 @@ import * as breakpoints from './domtools.css.breakpoints.js';
|
|
|
4
4
|
import * as css from './domtools.css.js';
|
|
5
5
|
export { css, breakpoints, elementBasic };
|
|
6
6
|
export { DomTools } from './domtools.classes.domtools.js';
|
|
7
|
+
export { ThemeManager } from './domtools.classes.thememanager.js';
|
|
7
8
|
export { TypedRequest } from '@api.global/typedrequest';
|
|
8
9
|
export {} from '@push.rocks/websetup';
|
|
9
10
|
import * as plugins from './domtools.pluginexports.js';
|
|
10
11
|
export { plugins };
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLE9BQU8sS0FBSyxZQUFZLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssR0FBRyxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQW9DLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBeUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFvQyxNQUFNLHNCQUFzQixDQUFDO0FBRXhFLE9BQU8sS0FBSyxPQUFPLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-domtools",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A package providing tools to simplify complex CSS structures and web development tasks, featuring TypeScript support and integration with various web technologies.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"author": "Lossless GmbH",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@git.zone/tsbuild": "^
|
|
13
|
-
"@git.zone/tsbundle": "^3.1
|
|
12
|
+
"@git.zone/tsbuild": "^6.0.2",
|
|
13
|
+
"@git.zone/tsbundle": "^3.2.1",
|
|
14
14
|
"@git.zone/tstest": "^7.2.0",
|
|
15
|
-
"@types/node": "
|
|
15
|
+
"@types/node": "26.6.4",
|
|
16
16
|
"typescript": "^6.0.3"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@design.estate/dees-comms": "^2.0.0",
|
|
21
21
|
"@push.rocks/lik": "^6.4.4",
|
|
22
22
|
"@push.rocks/smartjson": "^6.0.2",
|
|
23
|
-
"@push.rocks/smartmarkdown": "^3.
|
|
23
|
+
"@push.rocks/smartmarkdown": "^3.5.0",
|
|
24
24
|
"@push.rocks/smartpromise": "^4.3.0",
|
|
25
25
|
"@push.rocks/smartrouter": "^1.3.3",
|
|
26
26
|
"@push.rocks/smartrx": "^3.0.12",
|
package/readme.md
CHANGED
|
@@ -17,6 +17,7 @@ pnpm add @design.estate/dees-domtools
|
|
|
17
17
|
## What It Includes
|
|
18
18
|
|
|
19
19
|
- `DomTools` for one-time app bootstrap and shared browser services
|
|
20
|
+
- `ThemeManager` (the class behind `domtools.themeManager`) and its `TThemePreference` type, for a bright/dark theme that follows the system until the reader picks one
|
|
20
21
|
- `breakpoints` helpers for viewport and container-query driven Lit CSS
|
|
21
22
|
- `css.cssGridColumns()` for simple grid-template generation
|
|
22
23
|
- `elementBasic` helpers for Lit base styles and one-time global CSS setup
|
|
@@ -144,6 +145,20 @@ await themeManager.enableAutomaticGlobalThemeChange();
|
|
|
144
145
|
|
|
145
146
|
The theme manager starts from `prefers-color-scheme` and publishes updates through an RxJS `ReplaySubject<boolean>`.
|
|
146
147
|
|
|
148
|
+
### Theme preference
|
|
149
|
+
|
|
150
|
+
A theme toggle sets the reader's preference rather than the theme of the moment:
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
themeManager.preference; // 'system' | 'bright' | 'dark' (TThemePreference)
|
|
154
|
+
themeManager.setPreference(themeManager.goBrightBoolean ? 'dark' : 'bright'); // true when kept
|
|
155
|
+
themeManager.setPreference('system'); // follow prefers-color-scheme again
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
`'system'` follows `prefers-color-scheme`; `'bright'` and `'dark'` hold that theme while the system's scheme changes. A picked preference is kept in `localStorage` under `ThemeManager.preferenceStorageKey` (`dees-domtools:theme-preference`, per browser and origin; `'system'` removes the key) and is read before the theme manager's first emission, so a reload starts in it without showing the system theme first. Another tab's pick reaches every open page of the origin through the `storage` event. `setPreference()` returns `false` when the browser refuses the page its storage: the pick then holds for this page only, and it throws on a value that is no `TThemePreference`. An unknown stored value counts as no pick. `goBright()`, `goDark()` and `toggleDarkBright()` set the theme for now and leave the preference alone.
|
|
159
|
+
|
|
160
|
+
The page's `DomTools` is one instance on `globalThis` shared by every copy of this package, so it is the copy that creates it whose `ThemeManager` serves the page: every copy in a bundle must be a version with `setPreference()` for a toggle to rely on it.
|
|
161
|
+
|
|
147
162
|
`enableAutomaticGlobalThemeChange()` waits for `domReady`, so it is safe to call before `document.body` exists.
|
|
148
163
|
|
|
149
164
|
## Keyboard Shortcuts
|
|
@@ -305,9 +320,10 @@ Repeated callers receive the first result, and repeated failures re-throw the st
|
|
|
305
320
|
## Extra Exports
|
|
306
321
|
|
|
307
322
|
```ts
|
|
308
|
-
import { TypedRequest, plugins } from '@design.estate/dees-domtools';
|
|
323
|
+
import { TypedRequest, ThemeManager, type TThemePreference, plugins } from '@design.estate/dees-domtools';
|
|
309
324
|
```
|
|
310
325
|
|
|
326
|
+
- `ThemeManager` is the class of `domtools.themeManager`, exported for `ThemeManager.preferenceStorageKey` and for typing; use the page's instance rather than constructing one, and `TThemePreference` (`'system' | 'bright' | 'dark'`) for a preference (see Theme preference)
|
|
311
327
|
- `TypedRequest` is re-exported from `@api.global/typedrequest` 9 for typed request flows
|
|
312
328
|
- `plugins` exposes the underlying modules used by the package, including `smartrouter`, `smartstate`, `smartrx`, `smartpromise`, and `typedrequest`
|
|
313
329
|
|