Commit graph

5 commits

Author SHA1 Message Date
Eric Liu
5f1e8de1e1 Re-work toHierarchy utility
Refactor `toHiearchy` to be more generic, performant

- Use callback to "pick" generic parent ID property instead of requiring that `pid` be hardcoded`
- Account for edge cases of an invalid parent ID
- Use Map to store node children for lookups
- Use one pass instead of removing empty nodes at the very end
- DX: use generics to type `toHierarchy`
- Make `toHierarchy` even more generic (reusable with `RecursiveList`)

Co-Authored-By: Bram <bramhavers@gmail.com>
2024-12-09 12:20:20 -08:00
Eric Liu
8e996dc683 chore: format files with Prettier 3 2024-11-11 21:35:48 -08:00
Eric Liu
242e2fcbdf feat(recursive-list): rename children prop to nodes for Svelte 5 compatibility 2024-11-09 14:50:44 -08:00
Eric Liu
f69b2f15b5 test: use carbon-components-svelte for type imports 2024-11-09 10:07:46 -08:00
Eric Liu
ae27bedf4c
RecursiveList (#717)
* feat(recursive-list): add RecursiveList

* feat(recursive-list): rename items prop to children

* docs(recursive-list): add full examples

* test(recursive-list): add types test

* refactor(recursive-list): remove superfluous nested prop

* docs(recursive-list): update docs

* fix(recursive-list): remove nested prop from type test

* fix(recursive-list): explicitly type restProps
2021-07-05 08:43:48 -07:00