dark-mode-toggle
_____
dark-mode-toggle | _____ | |
---|---|---|
2 | 8 | |
1,152 | 14 | |
1.0% | - | |
4.9 | 9.8 | |
about 2 months ago | about 2 years ago | |
JavaScript | JavaScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dark-mode-toggle
-
How to quickly Add Dark Mode to your web app in just 3 steps
In this post, we are going to learn quick implementation of the dark mode using dark-mode-toggle in our web apps.
-
[AskJS] Persistent dark-mode, please help me...
This custom element can make it easy for you: https://github.com/GoogleChromeLabs/dark-mode-toggle
_____
-
How I made Google’s data grid scroll 10x faster with one line of CSS
You might need table-layout:fixed and set a column width using colgroup col elements. I think that's what I'm doing on my little table component in this page:https://i5ik.github.io/_____/7guis/
-
Show HN: A work in progress large table virtualization component
-------------------
- It's possible to scroll it now infinitely (and performantly) for the duration of the very large background element.
- Major problem was I initially was listening for intersection of cells individually on each row, but if a row had already travelled off screen due to a vertical scroll, it would not be possible for its cells to 'intersect' with the viewport element (the window, in Intersection Observer API parlance, the "root"), and so no intersection for that cell would occur, and so cells in that row would not be updated. And if they were not updated, they would not be onscreen when the row was in future removed from the pool and positioned back on screen, and so its cells could no longer be updated, as there would be no cells within that scroll viewport to intersect anymore. The solution to this was to create a logical grouping of cells into columns, and handle any intersection observations for any cell in a column, at once, and apply them to all cells in a column. So the whole column would be updated. Before I fixed this, repeated scrolling (particularly in opposite diagonal directions) would erode the cells present, gradually decreasing their number, and throwing many out of their column alignments.
- Also performance was another issue that's now mostly resolved tho I think I can do better. Basically too much work was happening on handling each Intersection record and we were not ignoring records that triggered the same work to be redone (such as intersection events from each cell in a column). These redundant records are now ignored (but mostly in a haphazard manner that could cause browser dependent bugs).
Next steps
----------
- Add all of the outstanding features (scroll snap, row / col size dragging) from the table component.
- Style it to make it look nice
- Fix the outstanding border 'off by 1' bugs.
- Sync up the 'view portal' with a 'data portal' (movable portal over a very large set of data), and print the correct data corresponding to the current scroll position in the table
- Add the row and column headers using CSS sticky.
This is the only comment I'll make in this thread, thanks for reading, and hit me up with questions at my email if you want: [email protected]
[bt]: https://i5ik.github.io/_____/7guis/ (scroll down to the last 7GUIs component)
[bp]: https://github.com/palantir/blueprint/issues/390
[ft]: https://fulmicoton.com/fattable/index2.html
[sc]: https://showcase.sproutcore.com/#demos/Big%20Data%20Lists
[ct]: https://canvas-datagrid.js.org/demo.html
[mi]: https://developer.mozilla.org/en-US/docs/Web/API/Intersectio...
[other]:
https://js.devexpress.com/Demos/Widgetsgallery/Demo/DataGrid...
https://codepen.io/enigmatic/pen/JGvwEv
https://www.htmlelements.com/demos/grid/overview/
- 7GUIs in Web Components
- Show HN: 7GUIs in Web Components
- Show HN: Bang
- Show HN: Using shadow DOM, HTML comments to make a React-like view without JSX
- Custom Elements with a Bang
- Show HN: BANG! – A custom element framework with min diffs and async templates
What are some alternatives?
hexo-theme-obsidian - 🎨 A dark Hexo theme, it's responsive, simple but elegant.
svelte-webcomponents - A ready-to-use project template to build custom elements (web components) with Svelte 3 with support and examples for web components, jest, sass, nested components with props, eslinting, stylelinting, Github actions, propagating custom events from shadow-DOM to real-DOM etc.
text-expander-element - Activates a suggestion menu to expand text snippets as you type.
atomico - Atomico a micro-library for creating webcomponents using only functions, hooks and virtual-dom.
emoji-picker-element - A lightweight emoji picker for the modern web
bang - A custom element framework for the new age: async templating, smooth syntax, and <!void-elements /> [Moved to: https://github.com/i5ik/_____]
auto-check-element - An input element that validates its value with a server endpoint.
webcomponent-patreon-box - My Patreon Tier Box with avatars and link from rest/json api.
vue-custom-element - Vue Custom Element - Web Components' Custom Elements for Vue.js
office-ui-fabric-core - The front-end CSS framework for building experiences for Office and Microsoft 365.
eOS-DarkModeStopGap - elementaryOS's Pantheon leaves things to be desired when it comes to the universal application of the dark theme. This Node.js script tries to fill those gaps using workarounds.
open-ui - Maintain an open standard for UI and promote its adherence and adoption.