carbon-components-svelte/types
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
..
Accordion fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
AspectRatio fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Breadcrumb fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Breakpoint chore: re-run npm run build:docs (#2051) 2024-11-12 10:27:38 -08:00
Button fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Checkbox fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
CodeSnippet fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ComboBox chore(deps-dev): upgrade sveld to v0.22 (#2048) 2024-11-10 15:35:29 -08:00
ComposedModal fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ContentSwitcher fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ContextMenu fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
CopyButton fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
DataTable chore: re-run npm run build:docs (#2051) 2024-11-12 10:27:38 -08:00
DatePicker fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Dropdown chore(deps-dev): upgrade sveld to v0.22 (#2048) 2024-11-10 15:35:29 -08:00
FileUploader fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
FluidForm fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Form fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
FormGroup fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
FormItem fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
FormLabel fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Grid fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ImageLoader fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
InlineLoading fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Link fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ListBox fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ListItem fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Loading fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
LocalStorage fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Modal fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
MultiSelect chore(deps-dev): upgrade sveld to v0.22 (#2048) 2024-11-10 15:35:29 -08:00
Notification fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
NumberInput fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
OrderedList fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
OverflowMenu fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Pagination fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
PaginationNav fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Popover fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ProgressBar fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
ProgressIndicator fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
RadioButton fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
RadioButtonGroup fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
RecursiveList feat(recursive-list): rename children prop to nodes for Svelte 5 compatibility 2024-11-09 14:50:44 -08:00
Search fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Select fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
SkeletonPlaceholder fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
SkeletonText fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Slider fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
StructuredList fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Tabs fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Tag fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
TextArea fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
TextInput fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Theme fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Tile fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
TimePicker fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Toggle fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
Tooltip fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
TooltipDefinition fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
TooltipIcon fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
TreeView Re-work toHierarchy utility 2024-12-09 12:20:20 -08:00
Truncate chore: re-run npm run build:docs (#2051) 2024-11-12 10:27:38 -08:00
UIShell fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
UnorderedList fix(types): use type alias instead of interface for $$restProps 2024-11-09 14:41:28 -08:00
utils Re-work toHierarchy utility 2024-12-09 12:20:20 -08:00
index.d.ts Re-work toHierarchy utility 2024-12-09 12:20:20 -08:00