@ixfx/components 0.7.2 → 0.7.3
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 +198 -1
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +123 -8
- package/bundle/index.js.map +1 -1
- package/dist/ac-text.d.ts +1 -1
- package/dist/{ac-token--_vCHXWw.d.ts → ac-token-TCLAZeVg.d.ts} +2 -2
- package/dist/{ac-token--_vCHXWw.d.ts.map → ac-token-TCLAZeVg.d.ts.map} +1 -1
- package/dist/ac-token.d.ts +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/button.d.ts.map +1 -1
- package/dist/colour-picker.d.ts +1 -1
- package/dist/crumbs.d.ts +1 -1
- package/dist/{data-grid-Bh4YrQGK.d.ts → data-grid-Db4QpnII.d.ts} +2 -2
- package/dist/{data-grid-Bh4YrQGK.d.ts.map → data-grid-Db4QpnII.d.ts.map} +1 -1
- package/dist/data-grid.d.ts +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/{grouped-item-lister-DnWB-eFT.d.ts → grouped-item-lister-BWlC9S4e.d.ts} +2 -2
- package/dist/{grouped-item-lister-DnWB-eFT.d.ts.map → grouped-item-lister-BWlC9S4e.d.ts.map} +1 -1
- package/dist/grouped-item-lister.d.ts +1 -1
- package/dist/{icon-CDGprSdE.d.ts → icon-DR_3rSyZ.d.ts} +2 -2
- package/dist/icon-DR_3rSyZ.d.ts.map +1 -0
- package/dist/icons.d.ts +2 -2
- package/dist/{index-tq6f8007.d.ts → index-BOUaDIW-.d.ts} +2 -2
- package/dist/{index-tq6f8007.d.ts.map → index-BOUaDIW-.d.ts.map} +1 -1
- package/dist/{index-CoqtMSd9.d.ts → index-BUB5SICW.d.ts} +2 -2
- package/dist/{index-CoqtMSd9.d.ts.map → index-BUB5SICW.d.ts.map} +1 -1
- package/dist/{index-9AhaHIT2.d.ts → index-C59-JEPl.d.ts} +3 -3
- package/dist/{index-9AhaHIT2.d.ts.map → index-C59-JEPl.d.ts.map} +1 -1
- package/dist/{index-UvnoZUAo.d.ts → index-CJ5fshD3.d.ts} +2 -2
- package/dist/{index-UvnoZUAo.d.ts.map → index-CJ5fshD3.d.ts.map} +1 -1
- package/dist/{index-CS9yM8L-.d.ts → index-DsjpDksO.d.ts} +2 -2
- package/dist/{index-CS9yM8L-.d.ts.map → index-DsjpDksO.d.ts.map} +1 -1
- package/dist/index.d.ts +212 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -6
- package/dist/index.js.map +1 -1
- package/dist/{labelled-input-base-DiTme1JO.d.ts → labelled-input-base-Dp_9KP0G.d.ts} +2 -2
- package/dist/{labelled-input-base-DiTme1JO.d.ts.map → labelled-input-base-Dp_9KP0G.d.ts.map} +1 -1
- package/dist/labelled-radial-input.d.ts +2 -2
- package/dist/labelled-radial-input.d.ts.map +1 -1
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-slider-input.d.ts +1 -1
- package/dist/{menu-CXDFJxNm.js → menu-DMzjkVnK.js} +5 -5
- package/dist/menu-DMzjkVnK.js.map +1 -0
- package/dist/{menu-item-CZi9vy5O.d.ts → menu-item-ZmkXNjek.d.ts} +2 -2
- package/dist/{menu-item-CZi9vy5O.d.ts.map → menu-item-ZmkXNjek.d.ts.map} +1 -1
- package/dist/menu.d.ts +2 -2
- package/dist/menu.js +1 -1
- package/dist/miller.d.ts +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/{split-layout-JK3xWVX2.d.ts → split-layout-C5SYbDrq.d.ts} +2 -2
- package/dist/{split-layout-JK3xWVX2.d.ts.map → split-layout-C5SYbDrq.d.ts.map} +1 -1
- package/dist/split-layout.d.ts +1 -1
- package/dist/{tab-list-CGyPt07Z.d.ts → tab-list-DbMIL520.d.ts} +2 -2
- package/dist/{tab-list-CGyPt07Z.d.ts.map → tab-list-DbMIL520.d.ts.map} +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/{tickled-controller-CRzdIEjJ.d.ts → tickled-controller-Ds1DMyG7.d.ts} +2 -2
- package/dist/{tickled-controller-CRzdIEjJ.d.ts.map → tickled-controller-Ds1DMyG7.d.ts.map} +1 -1
- package/dist/{titlebar-Bj5pfdw_.d.ts → titlebar-B23MrIbI.d.ts} +2 -2
- package/dist/{titlebar-Bj5pfdw_.d.ts.map → titlebar-B23MrIbI.d.ts.map} +1 -1
- package/dist/titlebar.d.ts +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/{vertical-list-ClnqTkF3.js → vertical-list-B4w_ksJk.js} +2 -2
- package/dist/{vertical-list-ClnqTkF3.js.map → vertical-list-B4w_ksJk.js.map} +1 -1
- package/dist/vertical-list.js +1 -1
- package/docs-user/README.md +1 -0
- package/docs-user/detail-list.md +42 -15
- package/docs-user/index.json +6 -2
- package/docs-user/infra-tickled.md +163 -0
- package/docs-user/llms.txt +1 -0
- package/llms.txt +1 -0
- package/package.json +1 -1
- package/dist/icon-CDGprSdE.d.ts.map +0 -1
- package/dist/menu-CXDFJxNm.js.map +0 -1
package/bundle/index.js
CHANGED
|
@@ -4048,6 +4048,99 @@ var ListSelectionController = class {
|
|
|
4048
4048
|
}
|
|
4049
4049
|
};
|
|
4050
4050
|
//#endregion
|
|
4051
|
+
//#region src/interaction/tree-keyboard-controller.ts
|
|
4052
|
+
var TreeKeyboardNavController = class {
|
|
4053
|
+
constructor(host, tickled, config) {
|
|
4054
|
+
this.handleKeyDown = (event) => {
|
|
4055
|
+
if (this.disableKeyboardNavigation()) return;
|
|
4056
|
+
const { key } = event;
|
|
4057
|
+
if ([
|
|
4058
|
+
`ArrowDown`,
|
|
4059
|
+
`ArrowUp`,
|
|
4060
|
+
`ArrowLeft`,
|
|
4061
|
+
`ArrowRight`,
|
|
4062
|
+
`Enter`,
|
|
4063
|
+
`Escape`
|
|
4064
|
+
].includes(key)) this.tickled.setInputMode(`keyboard`);
|
|
4065
|
+
switch (key) {
|
|
4066
|
+
case `ArrowDown`:
|
|
4067
|
+
event.preventDefault();
|
|
4068
|
+
this.#handleArrowDown();
|
|
4069
|
+
break;
|
|
4070
|
+
case `ArrowUp`:
|
|
4071
|
+
event.preventDefault();
|
|
4072
|
+
this.#handleArrowUp();
|
|
4073
|
+
break;
|
|
4074
|
+
case `ArrowRight`:
|
|
4075
|
+
event.preventDefault();
|
|
4076
|
+
this.#handleArrowRight();
|
|
4077
|
+
break;
|
|
4078
|
+
case `ArrowLeft`:
|
|
4079
|
+
event.preventDefault();
|
|
4080
|
+
this.#handleArrowLeft();
|
|
4081
|
+
break;
|
|
4082
|
+
case `Enter`:
|
|
4083
|
+
event.preventDefault();
|
|
4084
|
+
this.#handleEnter();
|
|
4085
|
+
break;
|
|
4086
|
+
case `Escape`:
|
|
4087
|
+
event.preventDefault();
|
|
4088
|
+
this.callbacks.onEscape?.();
|
|
4089
|
+
}
|
|
4090
|
+
};
|
|
4091
|
+
this.host = host;
|
|
4092
|
+
this.tickled = tickled;
|
|
4093
|
+
this.callbacks = config.callbacks;
|
|
4094
|
+
this.disableKeyboardNavigation = config.disableKeyboardNavigation ?? (() => false);
|
|
4095
|
+
host.addController(this);
|
|
4096
|
+
}
|
|
4097
|
+
hostConnected() {}
|
|
4098
|
+
hostDisconnected() {}
|
|
4099
|
+
#handleArrowDown() {
|
|
4100
|
+
this.tickled.handleKeyboardNavigation(`next`);
|
|
4101
|
+
}
|
|
4102
|
+
#handleArrowUp() {
|
|
4103
|
+
this.tickled.handleKeyboardNavigation(`previous`);
|
|
4104
|
+
}
|
|
4105
|
+
#handleArrowRight() {
|
|
4106
|
+
const currentId = this.tickled.tickledId;
|
|
4107
|
+
if (!currentId) return;
|
|
4108
|
+
if (this.callbacks.isLeaf(currentId)) return;
|
|
4109
|
+
if (!this.callbacks.isExpanded(currentId)) {
|
|
4110
|
+
this.callbacks.onExpand(currentId);
|
|
4111
|
+
this.tickled.setTickled(currentId);
|
|
4112
|
+
} else {
|
|
4113
|
+
const items = this.callbacks.getItems();
|
|
4114
|
+
const currentIdx = items.findIndex((item) => item.id === currentId);
|
|
4115
|
+
if (currentIdx !== -1 && currentIdx + 1 < items.length) {
|
|
4116
|
+
const nextItem = items[currentIdx + 1];
|
|
4117
|
+
if (nextItem.enabled !== false) this.tickled.setTickled(nextItem.id);
|
|
4118
|
+
}
|
|
4119
|
+
}
|
|
4120
|
+
}
|
|
4121
|
+
#handleArrowLeft() {
|
|
4122
|
+
const currentId = this.tickled.tickledId;
|
|
4123
|
+
if (!currentId) return;
|
|
4124
|
+
if (this.callbacks.isLeaf(currentId)) {
|
|
4125
|
+
const parentId = this.callbacks.getParentId?.(currentId);
|
|
4126
|
+
if (parentId) {
|
|
4127
|
+
this.tickled.setTickled(parentId);
|
|
4128
|
+
if (this.callbacks.isExpanded(parentId)) this.callbacks.onCollapse(parentId);
|
|
4129
|
+
}
|
|
4130
|
+
} else if (this.callbacks.isExpanded(currentId)) this.callbacks.onCollapse(currentId);
|
|
4131
|
+
else {
|
|
4132
|
+
const parentId = this.callbacks.getParentId?.(currentId);
|
|
4133
|
+
if (parentId) this.tickled.setTickled(parentId);
|
|
4134
|
+
}
|
|
4135
|
+
}
|
|
4136
|
+
#handleEnter() {
|
|
4137
|
+
const currentId = this.tickled.tickledId;
|
|
4138
|
+
if (!currentId) return;
|
|
4139
|
+
this.callbacks.onActivate(currentId);
|
|
4140
|
+
this.callbacks.onSelect?.(currentId);
|
|
4141
|
+
}
|
|
4142
|
+
};
|
|
4143
|
+
//#endregion
|
|
4051
4144
|
//#region src/menu/menu-container.ts
|
|
4052
4145
|
let MenuContainer = class MenuContainer extends i {
|
|
4053
4146
|
constructor(..._args) {
|
|
@@ -10018,8 +10111,8 @@ let MenuCheckItem = class MenuCheckItem extends i {
|
|
|
10018
10111
|
}
|
|
10019
10112
|
|
|
10020
10113
|
.check {
|
|
10021
|
-
width:
|
|
10022
|
-
margin-
|
|
10114
|
+
width: 1em;
|
|
10115
|
+
margin-left: var(--space-xs);
|
|
10023
10116
|
font-size: var(--text-m);
|
|
10024
10117
|
color: var(--accent);
|
|
10025
10118
|
}
|
|
@@ -10539,8 +10632,8 @@ let MenuRadioItem = class MenuRadioItem extends i {
|
|
|
10539
10632
|
}
|
|
10540
10633
|
|
|
10541
10634
|
.radio {
|
|
10542
|
-
width:
|
|
10543
|
-
margin-
|
|
10635
|
+
width: 1em;
|
|
10636
|
+
margin-left: var(--space-xs);
|
|
10544
10637
|
font-size: var(--text-m);
|
|
10545
10638
|
color: var(--accent);
|
|
10546
10639
|
}
|
|
@@ -12497,6 +12590,28 @@ let DetailListElement = class DetailListElement extends i {
|
|
|
12497
12590
|
return true;
|
|
12498
12591
|
});
|
|
12499
12592
|
}
|
|
12593
|
+
/**
|
|
12594
|
+
* Set the column width to fit the widest visible item.
|
|
12595
|
+
*
|
|
12596
|
+
* This is opt-in; detail lists continue to use `--detail-list-column-width`
|
|
12597
|
+
* (or its 220px fallback) until this method is called. The measured value is
|
|
12598
|
+
* set directly on this element, so it takes precedence over an inherited
|
|
12599
|
+
* value. Returns the applied width in pixels, or 0 when there are no items.
|
|
12600
|
+
*/
|
|
12601
|
+
async fitColumnWidth() {
|
|
12602
|
+
await this.updateComplete;
|
|
12603
|
+
const items = this._getVisibleItems();
|
|
12604
|
+
if (items.length === 0) return 0;
|
|
12605
|
+
const previousWidth = this.style.getPropertyValue(`--detail-list-column-width`);
|
|
12606
|
+
const previousPriority = this.style.getPropertyPriority(`--detail-list-column-width`);
|
|
12607
|
+
this.style.setProperty(`--detail-list-column-width`, `max-content`);
|
|
12608
|
+
const width = Math.ceil(Math.max(...items.map((item) => item.getBoundingClientRect().width)));
|
|
12609
|
+
if (previousWidth) this.style.setProperty(`--detail-list-column-width`, previousWidth, previousPriority);
|
|
12610
|
+
else this.style.removeProperty(`--detail-list-column-width`);
|
|
12611
|
+
this.style.setProperty(`--detail-list-column-width`, `${width}px`);
|
|
12612
|
+
this.#scheduleGeometry();
|
|
12613
|
+
return width;
|
|
12614
|
+
}
|
|
12500
12615
|
_isCheckable(item) {
|
|
12501
12616
|
if (this.interactionMode !== `checked`) return true;
|
|
12502
12617
|
return !item.hasAttribute(`not-checked`);
|
|
@@ -12658,8 +12773,8 @@ let DetailListElement = class DetailListElement extends i {
|
|
|
12658
12773
|
overflow: hidden;
|
|
12659
12774
|
box-sizing: border-box;
|
|
12660
12775
|
outline: none;
|
|
12661
|
-
--
|
|
12662
|
-
var(--ixfx-detail-list-item-padding, var(--detail-list-item-padding, 0 var(--space-
|
|
12776
|
+
--_detail-list-item-padding:
|
|
12777
|
+
var(--ixfx-detail-list-item-padding, var(--detail-list-item-padding, 0 var(--space-xs, 3px)));
|
|
12663
12778
|
}
|
|
12664
12779
|
|
|
12665
12780
|
:host(:focus-visible) {
|
|
@@ -12706,7 +12821,7 @@ let DetailListElement = class DetailListElement extends i {
|
|
|
12706
12821
|
flex: none;
|
|
12707
12822
|
width: var(--detail-list-column-width, 220px);
|
|
12708
12823
|
height: var(--detail-list-item-height, 28px);
|
|
12709
|
-
padding: var(--
|
|
12824
|
+
padding: var(--_detail-list-item-padding);
|
|
12710
12825
|
cursor: pointer;
|
|
12711
12826
|
user-select: none;
|
|
12712
12827
|
transition: background var(--transition, 0.1s ease-out),
|
|
@@ -36516,6 +36631,6 @@ function init() {
|
|
|
36516
36631
|
console.log(`Init`);
|
|
36517
36632
|
}
|
|
36518
36633
|
//#endregion
|
|
36519
|
-
export { AcTextElement, AcTokenElement, ButtonElement, Checkbox, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DataController, DataDisplayComponent, DataGridElement, DetailListElement, DockHostElement, DockPanelElement, EditableLabel, EditableNumber, FormElement, FormGroupElement, FormPartElement, GroupedItemListerElement, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, IxfxHexEditorElement, IxfxIconElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LedElement, menu_exports as Menu, MillerBaseElement, MillerListElement, MillerTreeController, NarrowedTextElement, NotificationManager, NotificationPillElement, PanelElement, PanelGroupElement, PlotDataSeries, PlotHistogram, PlotMultiAxis, PlotSingleAxis, PlotXyAxis, PolarPad, RadialInputElement, RadioGroup, RangeElement, RangeInput, RangeMultiElement, RatingElement, SelectHorizElement, SliderInputElement, SlidingNumberElement, SnackbarElement, SnapContainer, SplitButton, SplitLayoutElement, SplitPanelElement, SwipeElement, TabController, TabListElement, TabListItemElement, TabPanelElement, TabPanelsElement, TextShimmerElement, TimelineController, TimelineTrackTabElement, TitlebarElement, ToolbarElement, ToolbarGroupElement, TooltipElement, TransitoryLabelElement, TreeBaseElement, TreeController, TreeDataModel, TreeListElement, TwoSplitLayoutElement, VerticalListElement, XyPad, addPanelToStack, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createElementIncrSearch, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isSplit, isStack, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, parseColourScaleAttr, parseLayout, pointerOverAnyHost, readBaseColour, registerFontIcon, registerIcon, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, timelineStyles, toSnapshot, walk, wrapRoot };
|
|
36634
|
+
export { AcTextElement, AcTokenElement, ButtonElement, Checkbox, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DataController, DataDisplayComponent, DataGridElement, DetailListElement, DockHostElement, DockPanelElement, EditableLabel, EditableNumber, FormElement, FormGroupElement, FormPartElement, GroupedItemListerElement, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, IxfxHexEditorElement, IxfxIconElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LedElement, ListSelectionController, menu_exports as Menu, MillerBaseElement, MillerListElement, MillerTreeController, NarrowedTextElement, NotificationManager, NotificationPillElement, PanelElement, PanelGroupElement, PlotDataSeries, PlotHistogram, PlotMultiAxis, PlotSingleAxis, PlotXyAxis, PolarPad, RadialInputElement, RadioGroup, RangeElement, RangeInput, RangeMultiElement, RatingElement, SelectHorizElement, 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, TreeKeyboardNavController, TreeListElement, TwoSplitLayoutElement, VerticalListElement, XyPad, addPanelToStack, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createElementIncrSearch, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, parseColourScaleAttr, parseLayout, pointerOverAnyHost, readBaseColour, registerFontIcon, registerIcon, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
|
|
36520
36635
|
|
|
36521
36636
|
//# sourceMappingURL=index.js.map
|