@ixfx/components 0.15.4 → 0.15.5
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/bundle/index.d.ts +307 -5
- package/bundle/index.js +283 -114
- package/dist/ac-text.d.ts +1 -1
- package/dist/{ac-token-Cq7lsYf-.d.ts → ac-token-qEs3FsQv.d.ts} +1 -1
- package/dist/ac-token.d.ts +1 -1
- package/dist/colour-picker.d.ts +1 -1
- package/dist/crumbs.d.ts +1 -1
- package/dist/{data-grid-Dx3l3dxw.js → data-grid-C1sZX6n9.js} +37 -9
- package/dist/{data-grid-CbiubdG2.d.ts → data-grid-D7qzmMMp.d.ts} +14 -7
- package/dist/data-grid.d.ts +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/{detail-list-ClkMV0SN.d.ts → detail-list-CKIKlszv.d.ts} +3 -3
- package/dist/detail-list.d.ts +2 -2
- package/dist/{flat-list-0xTZdXzh.d.ts → flat-list-DXMyDiSH.d.ts} +2 -2
- package/dist/flat-list.d.ts +1 -1
- package/dist/{grid-list-BnWJUIBC.d.ts → grid-list-0e7snW6t.d.ts} +1 -1
- package/dist/grid-list.d.ts +1 -1
- package/dist/{grouped-item-lister-Bhyo-dkH.d.ts → grouped-item-lister-DETte0Dh.d.ts} +1 -1
- package/dist/grouped-item-lister.d.ts +1 -1
- package/dist/{icon-DR_3rSyZ.d.ts → icon-CDGprSdE.d.ts} +1 -1
- package/dist/icons.d.ts +2 -2
- package/dist/incr-search.d.ts +1 -1
- package/dist/{index-garxxqgV.d.ts → index-CYndvTWH.d.ts} +1 -1
- package/dist/{index-BUB5SICW.d.ts → index-CoqtMSd9.d.ts} +1 -1
- package/dist/{index-BAuqR9El.d.ts → index-DEVyVIn8.d.ts} +1 -1
- package/dist/{index-Bz3loIAf.d.ts → index-DN2BWctP.d.ts} +1 -1
- package/dist/{index-cnaRPQPp.d.ts → index-DxyyVqzA.d.ts} +2 -2
- package/dist/{index-BPTuCRGb.d.ts → index-KN2MW_xD.d.ts} +1 -1
- package/dist/{index-CJ5fshD3.d.ts → index-UvnoZUAo.d.ts} +1 -1
- package/dist/index.d.ts +56 -20
- package/dist/index.js +3 -2
- package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-DiTme1JO.d.ts} +1 -1
- package/dist/labelled-radial-input.d.ts +2 -2
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-slider-input.d.ts +1 -1
- package/dist/list-group-header.d.ts +1 -1
- package/dist/{menu-item-B0zqw2xp.d.ts → menu-item-bF6narIz.d.ts} +1 -1
- package/dist/menu.d.ts +2 -2
- package/dist/miller.d.ts +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/{split-layout-C5SYbDrq.d.ts → split-layout-JK3xWVX2.d.ts} +1 -1
- package/dist/split-layout.d.ts +1 -1
- package/dist/sunburst-tree.d.ts +2 -0
- package/dist/sunburst-tree.js +2 -0
- package/dist/sunbursttree-list--Z0uyh8O.d.ts +266 -0
- package/dist/sunbursttree-list-yXwS-uEI.js +1337 -0
- package/dist/{tab-list-wC0xNz1b.d.ts → tab-list-Df371rqw.d.ts} +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/{titlebar-B5zSTZnF.d.ts → titlebar-Tqu-VvMU.d.ts} +1 -1
- package/dist/titlebar.d.ts +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/{vertical-list-B8FoU-pU.d.ts → vertical-list-D8MksoTp.d.ts} +1 -1
- package/dist/vertical-list.d.ts +1 -1
- package/docs-user/README.md +1 -0
- package/docs-user/data-grid.md +11 -4
- package/docs-user/index.json +7 -2
- package/docs-user/llms.txt +1 -0
- package/docs-user/sunburst-tree.md +193 -0
- package/docs-user/tree.md +1 -1
- package/llms.txt +1 -0
- package/package.json +5 -1
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ import { NarrowedTextElement } from "./narrowed-text.js";
|
|
|
32
32
|
import { CrumbNavigationElement } from "./crumbs.js";
|
|
33
33
|
import { DataDisplayComponent } from "./data-display.js";
|
|
34
34
|
import { t as createDragGhost } from "./drag-ghost-DtSDvjri.js";
|
|
35
|
-
import { t as DataGridElement } from "./data-grid-
|
|
35
|
+
import { t as DataGridElement } from "./data-grid-C1sZX6n9.js";
|
|
36
36
|
import { a as menuFromTreeToElements, t as menu_exports } from "./menu-CU9KAm8s.js";
|
|
37
37
|
import { t as PanTextElement } from "./pan-text-CqtvjPyK.js";
|
|
38
38
|
import { t as DetailListElement } from "./detail-list-q8bs67BM.js";
|
|
@@ -64,6 +64,7 @@ import { RangeElement } from "./range.js";
|
|
|
64
64
|
import { SelectHorizElement } from "./select-horiz.js";
|
|
65
65
|
import { SnackbarElement } from "./snackbar.js";
|
|
66
66
|
import { SnapContainer } from "./snap-container.js";
|
|
67
|
+
import { a as findSunburstId, c as sunburstChildId, d as sunburstParentId, f as sunburstPathToId, i as defaultSunburstValueAccessor, l as sunburstHasChildren, n as computeSunburstLayout, o as findSunburstNodeById, p as SUNBURST_PATH_SEPARATOR, r as createValueResolver, s as isSunburstAncestorId, t as SunburstTreeListElement, u as sunburstIdToPath } from "./sunbursttree-list-yXwS-uEI.js";
|
|
67
68
|
import { SwipeElement } from "./swipe.js";
|
|
68
69
|
import { a as resolveCssVars, i as attachTimelineInteractions, n as TimelineTrackTabElement, o as resolveGrid, r as timelineStyles, s as TimelineController, t as IxfxTimelineElement } from "./timeline-BP1Ux2EV.js";
|
|
69
70
|
import { TransitoryLabelElement } from "./transitory-label.js";
|
|
@@ -16266,4 +16267,4 @@ function init() {
|
|
|
16266
16267
|
console.log(`Init`);
|
|
16267
16268
|
}
|
|
16268
16269
|
//#endregion
|
|
16269
|
-
export { AcTextElement, AcTokenElement, BottomDrawerElement, ButtonElement, Checkbox, CheckedSelect, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DEFAULT_SIBLING_SPACING, DataController, DataDisplayComponent, DataGridElement, DataTableElement, DetailListElement, DockHostElement, DockPanelElement, EMPTY_GROUP_LABEL, EditableLabel, EditableNumber, FlatListElement, FormElement, FormGroupElement, FormOptionsElement, FormPartElement, FormRowElement, GridListElement, GroupedItemListerElement, HyperbolicTreeListElement, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IcicleTreeListElement, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, IxfxHexEditorElement, IxfxIconElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LedElement, ListDragSelectController, ListGroupHeaderElement, ListNativeDragController, ListSearchController, ListSelectionController, menu_exports as Menu, MillerBaseElement, MillerListElement, MillerTreeController, MulticolListElement, NarrowedTextElement, NotificationManager, NotificationPillElement, PanTextElement, PanelElement, PanelGroupElement, PlotDataSeries, PlotHistogram, PlotMultiAxis, PlotSingleAxis, PlotXyAxis, PolarPad, RadialInputElement, RadioGroup, RangeElement, RangeInput, RangeMultiElement, RatingElement, SelectHorizElement, ShapefillValueElement, SliderInputElement, SlidingNumberElement, SnackbarElement, SnapContainer, SplitButton, SplitLayoutElement, SplitPanelElement, SwipeElement, TabController, TabListElement, TabListItemElement, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, TimelineController, TimelineTrackTabElement, TitlebarElement, ToolbarElement, ToolbarGroupElement, TooltipElement, TransitoryLabelElement, TreeBaseElement, TreeController, TreeDataModel, TreeDropController, TreeKeyboardNavController, TreeListElement, TreemapListElement, TwoSplitLayoutElement, VerticalListElement, XyPad, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applyIsometry, applySnapshot, applyTreeDrop, attachTimelineInteractions, bottomDrawerCommandId, buildHighlightTargets, buildModel, captionForEntry, clampToDisk, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, composeIsometry, computeCanonicalPositions, computeColour, computeHyperbolicLayout, computeIcicleLayout, computeLeafGeoms, computeTreemapLayout, createAcCompletionProvider, createDataListSearchAdapter, createDefaultListDragPreview, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, decomposeViewIsometry, defaultGroupLabel, distribute, dropTargetFor, euclideanRadiusForHyperbolicDistance, extractStack, findEmptiedStacks, findHyperbolicIdOf, findHyperbolicKeyPath, findHyperbolicNode, findHyperbolicPath, findHyperbolicPathById, findIcicleNode, findIciclePath, findNode, findPanelNode, findParentOf, findStackOf, findStackPathByName, findTreemapNode, findTreemapPath, geodesicInterpolate, geodesicPath, geodesicSegment, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, hyperbolicBranchId, hyperbolicChildIds, hyperbolicDistanceForEuclideanRadius, hyperbolicIdDepth, hyperbolicRelativeFrame, iconBus, identityIsometry, init, insertBeside, invertIsometry, isDragging, isHyperbolicDescendantId, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, mobiusAdd, mobiusFromOrigin, mobiusToOrigin, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, norm, normalise, normaliseValue, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, partitionByGroup, poincareDistance, pointerOverAnyHost, prefersReducedMotion, preserveRestoreWeights, pruneDraggedDescendants, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveGroupKey, resolveLeafPath, resolveTracks, rotationIsometry, serializeLayout, setActive, setIconFont, setPanelRestoreWeight, snapshotNonEmptyStacks, startListItemOutAnimation, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toGroupKey, toSnapshot, toggleInSet, toolbarGapIndex, translationFromOrigin, viewIsometry, walk, wrapRoot };
|
|
16270
|
+
export { AcTextElement, AcTokenElement, BottomDrawerElement, ButtonElement, Checkbox, CheckedSelect, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DEFAULT_SIBLING_SPACING, DataController, DataDisplayComponent, DataGridElement, DataTableElement, DetailListElement, DockHostElement, DockPanelElement, EMPTY_GROUP_LABEL, EditableLabel, EditableNumber, FlatListElement, FormElement, FormGroupElement, FormOptionsElement, FormPartElement, FormRowElement, GridListElement, GroupedItemListerElement, HyperbolicTreeListElement, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IcicleTreeListElement, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, IxfxHexEditorElement, IxfxIconElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LedElement, ListDragSelectController, ListGroupHeaderElement, ListNativeDragController, ListSearchController, ListSelectionController, menu_exports as Menu, MillerBaseElement, MillerListElement, MillerTreeController, MulticolListElement, NarrowedTextElement, NotificationManager, NotificationPillElement, PanTextElement, PanelElement, PanelGroupElement, PlotDataSeries, PlotHistogram, PlotMultiAxis, PlotSingleAxis, PlotXyAxis, PolarPad, RadialInputElement, RadioGroup, RangeElement, RangeInput, RangeMultiElement, RatingElement, SUNBURST_PATH_SEPARATOR, SelectHorizElement, ShapefillValueElement, SliderInputElement, SlidingNumberElement, SnackbarElement, SnapContainer, SplitButton, SplitLayoutElement, SplitPanelElement, SunburstTreeListElement, SwipeElement, TabController, TabListElement, TabListItemElement, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, TimelineController, TimelineTrackTabElement, TitlebarElement, ToolbarElement, ToolbarGroupElement, TooltipElement, TransitoryLabelElement, TreeBaseElement, TreeController, TreeDataModel, TreeDropController, TreeKeyboardNavController, TreeListElement, TreemapListElement, TwoSplitLayoutElement, VerticalListElement, XyPad, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applyIsometry, applySnapshot, applyTreeDrop, attachTimelineInteractions, bottomDrawerCommandId, buildHighlightTargets, buildModel, captionForEntry, clampToDisk, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, composeIsometry, computeCanonicalPositions, computeColour, computeHyperbolicLayout, computeIcicleLayout, computeLeafGeoms, computeSunburstLayout, computeTreemapLayout, createAcCompletionProvider, createDataListSearchAdapter, createDefaultListDragPreview, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createValueResolver, createVerticalListAdapter, decomposeViewIsometry, defaultGroupLabel, defaultSunburstValueAccessor, distribute, dropTargetFor, euclideanRadiusForHyperbolicDistance, extractStack, findEmptiedStacks, findHyperbolicIdOf, findHyperbolicKeyPath, findHyperbolicNode, findHyperbolicPath, findHyperbolicPathById, findIcicleNode, findIciclePath, findNode, findPanelNode, findParentOf, findStackOf, findStackPathByName, findSunburstId, findSunburstNodeById, findTreemapNode, findTreemapPath, geodesicInterpolate, geodesicPath, geodesicSegment, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, hyperbolicBranchId, hyperbolicChildIds, hyperbolicDistanceForEuclideanRadius, hyperbolicIdDepth, hyperbolicRelativeFrame, iconBus, identityIsometry, init, insertBeside, invertIsometry, isDragging, isHyperbolicDescendantId, isMultiMode, isSplit, isStack, isSunburstAncestorId, keyForElement, listItemFadeKeyframes, listSearchStyles, mobiusAdd, mobiusFromOrigin, mobiusToOrigin, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, norm, normalise, normaliseValue, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, partitionByGroup, poincareDistance, pointerOverAnyHost, prefersReducedMotion, preserveRestoreWeights, pruneDraggedDescendants, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveGroupKey, resolveLeafPath, resolveTracks, rotationIsometry, serializeLayout, setActive, setIconFont, setPanelRestoreWeight, snapshotNonEmptyStacks, startListItemOutAnimation, sunburstChildId, sunburstHasChildren, sunburstIdToPath, sunburstParentId, sunburstPathToId, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toGroupKey, toSnapshot, toggleInSet, toolbarGapIndex, translationFromOrigin, viewIsometry, walk, wrapRoot };
|
|
@@ -33,7 +33,7 @@ declare abstract class LabelledInputBase extends LitElement {
|
|
|
33
33
|
value: number;
|
|
34
34
|
}>) => void;
|
|
35
35
|
protected _syncValue(v: number): void;
|
|
36
|
-
protected _renderEditableNumber(): import("lit").TemplateResult<1
|
|
36
|
+
protected _renderEditableNumber(): typeof nothing | import("lit").TemplateResult<1>;
|
|
37
37
|
updated(changedProperties: Map<string, unknown>): void;
|
|
38
38
|
}
|
|
39
39
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as LabelledInputBase } from "./labelled-input-base-
|
|
1
|
+
import { t as LabelledInputBase } from "./labelled-input-base-DiTme1JO.js";
|
|
2
2
|
import { i as MarkerStyle, l as ValueMode } from "./radial-input-DU6t2hYO.js";
|
|
3
3
|
import { CSSResultGroup, nothing } from "lit";
|
|
4
4
|
//#region src/labelled-radial-input/labelled-radial-input.d.ts
|
|
@@ -19,7 +19,7 @@ declare class LabelledRadialInput extends LabelledInputBase {
|
|
|
19
19
|
private _isWide;
|
|
20
20
|
private _getEffectivePrecision;
|
|
21
21
|
protected _handleResize(entries: ResizeObserverEntry[]): void;
|
|
22
|
-
protected _renderEditableNumber(): import("lit").TemplateResult<1
|
|
22
|
+
protected _renderEditableNumber(): typeof nothing | import("lit").TemplateResult<1>;
|
|
23
23
|
render(): import("lit").TemplateResult<1>;
|
|
24
24
|
private _getTooltipValue;
|
|
25
25
|
static styles: CSSResultGroup;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as LabelledRangeInput } from "./index-
|
|
1
|
+
import { t as LabelledRangeInput } from "./index-CoqtMSd9.js";
|
|
2
2
|
export { LabelledRangeInput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as LabelledSliderInput } from "./index-
|
|
1
|
+
import { t as LabelledSliderInput } from "./index-UvnoZUAo.js";
|
|
2
2
|
export { LabelledSliderInput };
|
package/dist/menu.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-
|
|
2
|
-
import { a as menuFromTree, c as MenuSeparator, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuSubTrigger, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuHeader, u as MenuCommandController } from "./index-
|
|
1
|
+
import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-bF6narIz.js";
|
|
2
|
+
import { a as menuFromTree, c as MenuSeparator, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuSubTrigger, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuHeader, u as MenuCommandController } from "./index-DxyyVqzA.js";
|
|
3
3
|
export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, type MenuFromTreeOptions, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
|
package/dist/miller.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as TreeTickleEvent, D as TreeSelectDetail, E as TreeSearchHost, O as TreeSelectEvent, a as TreeComponent, b as TreeItemClickDetail, i as TreeCollapseEvent, j as TreeDataModel, k as TreeTickleDetail, n as TreeActivateEvent, o as TreeComponentEventMap, r as TreeCollapseDetail, t as TreeActivateDetail, v as TreeExpandDetail, w as TreeNavigateOptions, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-C6UHO-w9.js";
|
|
2
2
|
import { a as TreeItem, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
|
|
3
|
-
import { S as ListSearchController } from "./index-
|
|
3
|
+
import { S as ListSearchController } from "./index-KN2MW_xD.js";
|
|
4
4
|
import { n as TickledController } from "./tickled-controller-DodxD3eQ.js";
|
|
5
5
|
import { LitElement, PropertyValues, TemplateResult, nothing } from "lit";
|
|
6
6
|
import { CommandRegistry } from "@clinth/ui-commands";
|
package/dist/panel.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, o as TitlebarToggleEvent, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-
|
|
1
|
+
import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, o as TitlebarToggleEvent, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-Tqu-VvMU.js";
|
|
2
2
|
import { LitElement } from "lit";
|
|
3
3
|
//#region src/panel/panel.d.ts
|
|
4
4
|
/** Backwards-compatible aliases: canonical types now live in `../titlebar/titlebar.js`. */
|
|
@@ -156,7 +156,7 @@ declare class SplitLayoutElement extends LitElement {
|
|
|
156
156
|
private _onPointerUp;
|
|
157
157
|
private _emitResize;
|
|
158
158
|
private _emitChange;
|
|
159
|
-
protected render(): import("lit").TemplateResult<1
|
|
159
|
+
protected render(): typeof nothing | import("lit").TemplateResult<1>;
|
|
160
160
|
private _getTrackSizes;
|
|
161
161
|
private _resolveTracks;
|
|
162
162
|
private _renderGutter;
|
package/dist/split-layout.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SplitLayoutElement } from "./split-layout-
|
|
1
|
+
import { t as SplitLayoutElement } from "./split-layout-JK3xWVX2.js";
|
|
2
2
|
export { SplitLayoutElement };
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { A as TreeTickleEvent, C as TreeItemDblClickEvent, E as TreeSearchHost, O as TreeSelectEvent, a as TreeComponent, i as TreeCollapseEvent, j as TreeDataModel, n as TreeActivateEvent, o as TreeComponentEventMap, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-C6UHO-w9.js";
|
|
2
|
+
import { a as TreeItem, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
|
|
3
|
+
import { S as ListSearchController } from "./index-KN2MW_xD.js";
|
|
4
|
+
import { LitElement, PropertyValues } from "lit";
|
|
5
|
+
import { CommandRegistry } from "@clinth/ui-commands";
|
|
6
|
+
//#region src/sunburst-tree/types.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Value accessor — returns the magnitude of a node, branches included.
|
|
9
|
+
*
|
|
10
|
+
* A child's arc is its share of its parent's value:
|
|
11
|
+
* `child / max(parent, Σ siblings)`. When children sum to less than their
|
|
12
|
+
* parent, the remainder shows as an unfilled gap — which is what makes
|
|
13
|
+
* progressively-arriving data fill in visibly. When they sum to more, they're
|
|
14
|
+
* scaled to fit.
|
|
15
|
+
*
|
|
16
|
+
* Return `undefined` (or a negative / non-finite number) for "unknown": the
|
|
17
|
+
* node then uses the sum of its loaded children's values, or `1` for a leaf
|
|
18
|
+
* or not-yet-loaded node.
|
|
19
|
+
*
|
|
20
|
+
* Default: `item => item.weight`.
|
|
21
|
+
*/
|
|
22
|
+
type SunburstValueAccessor = (item: TreeItem, node: TreeNode) => number | undefined;
|
|
23
|
+
/** Formats a node's value for the centre readout. */
|
|
24
|
+
type SunburstValueFormatter = (value: number, node: TreeNode) => string;
|
|
25
|
+
/**
|
|
26
|
+
* Pointer/keyboard gesture mapping (subset of `TreeInteractionMode`).
|
|
27
|
+
* - `'implicit'` — click selects + zooms; single selection follows the pointer.
|
|
28
|
+
* - `'standard'` — click selects + zooms; Ctrl/Cmd+click toggles, Shift+click range-selects.
|
|
29
|
+
* - `'manual'` — click only zooms; selection is driven via `select()`/`deselect()`/`clearSelection()`.
|
|
30
|
+
*
|
|
31
|
+
* `checked` is deliberately unsupported — a checkbox per arc does not hold up
|
|
32
|
+
* at small arc sizes.
|
|
33
|
+
*/
|
|
34
|
+
type SunburstInteractionMode = `implicit` | `standard` | `manual`;
|
|
35
|
+
/**
|
|
36
|
+
* A node positioned in the absolute (unzoomed) layout produced by
|
|
37
|
+
* `computeSunburstLayout()`. Angles are fractions of a full turn, clockwise
|
|
38
|
+
* from 12 o'clock; the true root spans `0..1`.
|
|
39
|
+
*/
|
|
40
|
+
type SunburstLayoutNode = {
|
|
41
|
+
/** Key path from the true root, joined with {@link SUNBURST_PATH_SEPARATOR}. */
|
|
42
|
+
readonly id: string;
|
|
43
|
+
readonly node: TreeNode;
|
|
44
|
+
readonly parentId: string | undefined;
|
|
45
|
+
/** Depth from the true root (root is `0`). */
|
|
46
|
+
readonly depth: number;
|
|
47
|
+
/** Start angle, fraction of a turn (0–1). */
|
|
48
|
+
readonly x0: number;
|
|
49
|
+
/** End angle, fraction of a turn (0–1). */
|
|
50
|
+
readonly x1: number;
|
|
51
|
+
/** Resolved value (accessor result, or fallback). */
|
|
52
|
+
readonly value: number;
|
|
53
|
+
/** 0-based position among siblings. */
|
|
54
|
+
readonly index: number;
|
|
55
|
+
/** Number of siblings (for `aria-setsize`). */
|
|
56
|
+
readonly setSize: number;
|
|
57
|
+
readonly hasChildren: boolean;
|
|
58
|
+
};
|
|
59
|
+
/** Absolute layout, keyed by id, in ring-major (breadth-first) order. */
|
|
60
|
+
type SunburstLayout = ReadonlyMap<string, SunburstLayoutNode>;
|
|
61
|
+
type ComputeSunburstLayoutOptions = {
|
|
62
|
+
valueAccessor?: SunburstValueAccessor;
|
|
63
|
+
/**
|
|
64
|
+
* Deepest absolute depth (root is `0`) to lay out. Nodes below it get no
|
|
65
|
+
* position. Defaults to no limit.
|
|
66
|
+
*/
|
|
67
|
+
maxDepth?: number;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* The zoom window the absolute layout is projected through: the zoom node's
|
|
71
|
+
* angular span becomes the full circle, and its depth becomes the centre.
|
|
72
|
+
*/
|
|
73
|
+
type SunburstView = {
|
|
74
|
+
readonly x0: number;
|
|
75
|
+
readonly x1: number;
|
|
76
|
+
/** Absolute depth of the zoom node. */
|
|
77
|
+
readonly depth: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Everything that's animated about one arc, in screen terms. Interpolated
|
|
81
|
+
* per frame between the displayed state and the target state.
|
|
82
|
+
*/
|
|
83
|
+
type SunburstArcVisual = {
|
|
84
|
+
/** Start angle, fraction of a turn (0–1) of the zoomed view. */
|
|
85
|
+
readonly a0: number;
|
|
86
|
+
/** End angle, fraction of a turn (0–1) of the zoomed view. */
|
|
87
|
+
readonly a1: number;
|
|
88
|
+
/**
|
|
89
|
+
* Ring index relative to the zoom node: `0` is the first ring, `-1` the
|
|
90
|
+
* centre disc, `≤ -2` collapsed into the centre. Fractional mid-animation.
|
|
91
|
+
*/
|
|
92
|
+
readonly depth: number;
|
|
93
|
+
/** Hue offset in degrees (added to `--sunbursttree-hue-start`). */
|
|
94
|
+
readonly hue: number;
|
|
95
|
+
/** Sibling-position tone offset, `-0.5..0.5`. */
|
|
96
|
+
readonly shade: number;
|
|
97
|
+
readonly opacity: number;
|
|
98
|
+
};
|
|
99
|
+
/** Ring geometry in SVG user units (CSS px). */
|
|
100
|
+
type SunburstRings = {
|
|
101
|
+
/** Radius of the centre disc. */
|
|
102
|
+
readonly center: number;
|
|
103
|
+
/** Width of each ring. */
|
|
104
|
+
readonly ring: number;
|
|
105
|
+
};
|
|
106
|
+
/** Where to draw an arc's label, if it fits. */
|
|
107
|
+
type SunburstLabelPlacement = {
|
|
108
|
+
readonly kind: `straight`;
|
|
109
|
+
readonly x: number;
|
|
110
|
+
readonly y: number;
|
|
111
|
+
/** Rotation in degrees, applied about (x, y). */
|
|
112
|
+
readonly rotate: number;
|
|
113
|
+
readonly text: string;
|
|
114
|
+
} | {
|
|
115
|
+
readonly kind: `curved`;
|
|
116
|
+
/** Guide path for `<textPath>`: an arc along the ring's middle, drawn so text reads upright. */
|
|
117
|
+
readonly path: string;
|
|
118
|
+
readonly text: string;
|
|
119
|
+
};
|
|
120
|
+
/** Ids are key paths; keys only need to be unique among siblings. */
|
|
121
|
+
declare const SUNBURST_PATH_SEPARATOR = "";
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/sunburst-tree/sunbursttree-list.d.ts
|
|
124
|
+
/** Fired when the zoom root changes. `node` is `undefined` on zoom-out to the full tree. */
|
|
125
|
+
type SunburstZoomDetail = {
|
|
126
|
+
readonly node: TreeNode | undefined;
|
|
127
|
+
/** Absolute depth of the zoom node (root's children are depth 0); `-1` when fully zoomed out. */
|
|
128
|
+
readonly depth: number;
|
|
129
|
+
};
|
|
130
|
+
type SunburstZoomEvent = CustomEvent<SunburstZoomDetail>;
|
|
131
|
+
interface SunburstTreeListElementEventMap extends TreeComponentEventMap {
|
|
132
|
+
'select': TreeSelectEvent;
|
|
133
|
+
'tickle': TreeTickleEvent;
|
|
134
|
+
'activate': TreeActivateEvent;
|
|
135
|
+
'item-click': TreeItemClickEvent;
|
|
136
|
+
'item-dblclick': TreeItemDblClickEvent;
|
|
137
|
+
'expand': TreeExpandEvent;
|
|
138
|
+
'collapse': TreeCollapseEvent;
|
|
139
|
+
'zoom': SunburstZoomEvent;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* `ixfx-sunbursttree-list` — a zoomable sunburst over weighted tree data.
|
|
143
|
+
*
|
|
144
|
+
* The zoom node is the centre disc; each ring outward is one generation,
|
|
145
|
+
* each arc's angle its share of its parent's value. Every data, weighting or
|
|
146
|
+
* zoom change animates from what's on screen to the new layout. Hues come
|
|
147
|
+
* from the ring around the centre; descendants take tones of their
|
|
148
|
+
* first-ring ancestor's hue.
|
|
149
|
+
*
|
|
150
|
+
* Implements `TreeComponent`. Deliberate differences from `ixfx-tree-list`:
|
|
151
|
+
* - **Expand/collapse is reinterpreted as zoom.** `expand` fires on zoom-in,
|
|
152
|
+
* `collapse` on zoom-out.
|
|
153
|
+
* - **`interactionMode` drops `checked`**; **`exclusivity` is ignored**.
|
|
154
|
+
* - **`filterPredicate` dims** non-matching arcs instead of hiding them.
|
|
155
|
+
* - **Reassigning `root` keeps zoom and selection** where the same key paths
|
|
156
|
+
* still exist, so streamed or immutably-rebuilt data animates in place.
|
|
157
|
+
*/
|
|
158
|
+
declare class SunburstTreeListElement extends LitElement implements TreeComponent, TreeSearchHost {
|
|
159
|
+
#private;
|
|
160
|
+
static shadowRootOptions: {
|
|
161
|
+
delegatesFocus: boolean;
|
|
162
|
+
clonable?: boolean;
|
|
163
|
+
customElementRegistry?: CustomElementRegistry | null;
|
|
164
|
+
mode: ShadowRootMode;
|
|
165
|
+
serializable?: boolean;
|
|
166
|
+
slotAssignment?: SlotAssignmentMode;
|
|
167
|
+
};
|
|
168
|
+
root: TreeNode | undefined;
|
|
169
|
+
model: TreeDataModel | undefined;
|
|
170
|
+
/** Callback to lazily load children for a node. Superseded by `model` when both are set. */
|
|
171
|
+
loadChildren: LoadChildrenCallback | undefined;
|
|
172
|
+
/** Accepted for `TreeComponent` compatibility but ignored. */
|
|
173
|
+
exclusivity: TreeExclusivity;
|
|
174
|
+
selectionFilter: TreeSelectionFilter;
|
|
175
|
+
/** Gesture mapping. `checked` is unsupported. */
|
|
176
|
+
interactionMode: SunburstInteractionMode;
|
|
177
|
+
/** How many rings render around the centre. */
|
|
178
|
+
maxDepth: number;
|
|
179
|
+
/** Radius of the centre disc as a fraction of the overall radius (0–0.9). */
|
|
180
|
+
centerRatio: number;
|
|
181
|
+
/** Arcs whose outer edge is shorter than this (px) aren't drawn. */
|
|
182
|
+
minArcLength: number;
|
|
183
|
+
/** Hide in-arc labels (the centre readout still shows). */
|
|
184
|
+
disableLabels: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Curve labels to follow their ring (`<textPath>`) instead of drawing them
|
|
187
|
+
* straight. Arcs too narrow for that still get straight radial labels.
|
|
188
|
+
*/
|
|
189
|
+
curvedLabels: boolean;
|
|
190
|
+
/** Duration (ms) of data, weighting and zoom transitions. `0` snaps. Respects `prefers-reduced-motion`. */
|
|
191
|
+
animationDuration: number;
|
|
192
|
+
/**
|
|
193
|
+
* Node value. Swap it to change weighting scheme — the chart animates to
|
|
194
|
+
* the new layout without rebuilding anything. Default: `item.weight`.
|
|
195
|
+
* See `SunburstValueAccessor` for how missing values fall back.
|
|
196
|
+
*/
|
|
197
|
+
valueAccessor: SunburstValueAccessor;
|
|
198
|
+
/** Formats values for the centre readout. */
|
|
199
|
+
valueFormatter: SunburstValueFormatter;
|
|
200
|
+
selectedNode: TreeNode | undefined;
|
|
201
|
+
private _selectedNodes;
|
|
202
|
+
get selectedNodes(): ReadonlySet<TreeNode>;
|
|
203
|
+
filterPredicate: TreeFilterPredicate | undefined;
|
|
204
|
+
disableKeyboardNavigation: boolean;
|
|
205
|
+
registry: CommandRegistry<unknown> | undefined;
|
|
206
|
+
/** Space-separated subset of `navigate select filter`. See `docs/infra-incremental.md`. */
|
|
207
|
+
searchModes: string | undefined;
|
|
208
|
+
/** Current zoom root. `undefined` when showing the full tree. Pure view-state. */
|
|
209
|
+
get focusedNode(): TreeNode | undefined;
|
|
210
|
+
/** Id (key path) of the zoom node; `undefined` = the true root. */
|
|
211
|
+
private _zoomId;
|
|
212
|
+
private _size;
|
|
213
|
+
readonly search: ListSearchController<{
|
|
214
|
+
node: TreeNode;
|
|
215
|
+
depth: number;
|
|
216
|
+
}>;
|
|
217
|
+
private tickled;
|
|
218
|
+
/** Set by every update request except animation frames — triggers a re-layout. */
|
|
219
|
+
private _layoutDirty;
|
|
220
|
+
private _ticking;
|
|
221
|
+
requestUpdate(...args: Parameters<LitElement[`requestUpdate`]>): void;
|
|
222
|
+
connectedCallback(): void;
|
|
223
|
+
disconnectedCallback(): void;
|
|
224
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
225
|
+
protected updated(changed: PropertyValues): void;
|
|
226
|
+
select(node: TreeNode): void;
|
|
227
|
+
deselect(node: TreeNode): void;
|
|
228
|
+
clearSelection(): void;
|
|
229
|
+
selectAll(): void;
|
|
230
|
+
deselectAll(): void;
|
|
231
|
+
selectMany(nodes: Iterable<TreeNode>): void;
|
|
232
|
+
/**
|
|
233
|
+
* Zoom so `node` becomes the centre, its children the first ring. Fires
|
|
234
|
+
* `zoom` and `expand` (or `collapse` when `node` is an ancestor of the
|
|
235
|
+
* current centre). Pure view-state — `root` is never mutated.
|
|
236
|
+
*/
|
|
237
|
+
zoomTo(node: TreeNode): void;
|
|
238
|
+
/** Zoom out one level: the centre's parent becomes the centre. */
|
|
239
|
+
zoomUp(): void;
|
|
240
|
+
/** Zoom all the way out to the full tree. */
|
|
241
|
+
zoomOut(): void;
|
|
242
|
+
/** Zoom to reveal the node at `keys` (path from the root's children), then select it. */
|
|
243
|
+
navigateTo(keys: readonly string[]): boolean;
|
|
244
|
+
/** Zoom + select the first node (depth-first) matching `predicate`. */
|
|
245
|
+
navigateToNode(predicate: (node: TreeNode) => boolean): boolean;
|
|
246
|
+
/** Zoom to reveal the first node with `key` and move the cursor to it, without selecting. */
|
|
247
|
+
revealKey(key: string): boolean;
|
|
248
|
+
/** Arcs currently drawn (centre excluded), ring-major, depth from the root's children. */
|
|
249
|
+
getNodes(): ReadonlyArray<{
|
|
250
|
+
node: TreeNode;
|
|
251
|
+
depth: number;
|
|
252
|
+
}>;
|
|
253
|
+
protected render(): import("lit").TemplateResult<1>;
|
|
254
|
+
static styles: import("lit").CSSResult[];
|
|
255
|
+
}
|
|
256
|
+
declare global {
|
|
257
|
+
interface HTMLElementTagNameMap {
|
|
258
|
+
'ixfx-sunbursttree-list': SunburstTreeListElement;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
interface SunburstTreeListElement {
|
|
262
|
+
addEventListener: (<K extends keyof SunburstTreeListElementEventMap>(type: K, listener: (this: SunburstTreeListElement, event: SunburstTreeListElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
|
|
263
|
+
removeEventListener: (<K extends keyof SunburstTreeListElementEventMap>(type: K, listener: (this: SunburstTreeListElement, event: SunburstTreeListElementEventMap[K]) => void, options?: boolean | EventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => void);
|
|
264
|
+
}
|
|
265
|
+
//#endregion
|
|
266
|
+
export { ComputeSunburstLayoutOptions as a, SunburstInteractionMode as c, SunburstLayoutNode as d, SunburstRings as f, SunburstView as h, SunburstZoomEvent as i, SunburstLabelPlacement as l, SunburstValueFormatter as m, SunburstTreeListElementEventMap as n, SUNBURST_PATH_SEPARATOR as o, SunburstValueAccessor as p, SunburstZoomDetail as r, SunburstArcVisual as s, SunburstTreeListElement as t, SunburstLayout as u };
|