@ixfx/components 0.5.2 → 0.5.4
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 +97 -2
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +348 -30
- package/bundle/index.js.map +1 -1
- package/dist/index.d.ts +97 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +326 -8
- package/dist/index.js.map +1 -1
- package/docs-user/tabs.md +95 -1
- package/docs-user/vertical-list.md +44 -4
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -733,6 +733,14 @@ interface CustomCheckboxOptions {
|
|
|
733
733
|
margin?: string;
|
|
734
734
|
width?: string;
|
|
735
735
|
}
|
|
736
|
+
interface AddItemOptions {
|
|
737
|
+
/**
|
|
738
|
+
* In `checked` interaction mode, adds the item without a checkbox column and
|
|
739
|
+
* without the ability to be checked/selected. Equivalent to setting the
|
|
740
|
+
* `not-checked` attribute on the item. Ignored outside `checked` mode.
|
|
741
|
+
*/
|
|
742
|
+
notChecked?: boolean;
|
|
743
|
+
}
|
|
736
744
|
declare class VerticalListElement extends LitElement {
|
|
737
745
|
#private;
|
|
738
746
|
selectionMode: ListSelectionMode;
|
|
@@ -770,7 +778,7 @@ declare class VerticalListElement extends LitElement {
|
|
|
770
778
|
get selectedItem(): Element | undefined;
|
|
771
779
|
/** The full current selection set (read-only). */
|
|
772
780
|
get selectedItems(): ReadonlySet<Element>;
|
|
773
|
-
addItem(item: Element | string): void;
|
|
781
|
+
addItem(item: Element | string, options?: AddItemOptions): void;
|
|
774
782
|
removeItem(item: Element): void;
|
|
775
783
|
clearItems(): void;
|
|
776
784
|
/**
|
|
@@ -798,6 +806,7 @@ declare class VerticalListElement extends LitElement {
|
|
|
798
806
|
private _handleClickSelection;
|
|
799
807
|
private _handleSpaceKey;
|
|
800
808
|
private _getVisibleItems;
|
|
809
|
+
private _isCheckable;
|
|
801
810
|
private _syncItemStates;
|
|
802
811
|
private _syncCheckboxes;
|
|
803
812
|
/**
|
|
@@ -1113,6 +1122,92 @@ declare global {
|
|
|
1113
1122
|
}
|
|
1114
1123
|
}
|
|
1115
1124
|
//#endregion
|
|
1125
|
+
//#region src/tabs/tab-controller.d.ts
|
|
1126
|
+
/** A single tab managed by a {@link TabController}. */
|
|
1127
|
+
type Tab = {
|
|
1128
|
+
/** id of the `ixfx-tab-list-item` */
|
|
1129
|
+
readonly id: string;
|
|
1130
|
+
/** id of the `ixfx-tab-panel` (the item's `for` value) */
|
|
1131
|
+
readonly forId: string;
|
|
1132
|
+
readonly item: TabListItemElement;
|
|
1133
|
+
readonly panel: TabPanelElement;
|
|
1134
|
+
label: string;
|
|
1135
|
+
iconName?: string;
|
|
1136
|
+
};
|
|
1137
|
+
type TabAddOptions = {
|
|
1138
|
+
label: string;
|
|
1139
|
+
/** id for the tab item; derived from the label if omitted */
|
|
1140
|
+
id?: string;
|
|
1141
|
+
/** id for the panel (and the item's `for`); derived from the label if omitted */
|
|
1142
|
+
forId?: string;
|
|
1143
|
+
iconName?: string;
|
|
1144
|
+
description?: string;
|
|
1145
|
+
closeable?: boolean;
|
|
1146
|
+
/** Elements to slot into the tab's `slot="toolbar"` */
|
|
1147
|
+
toolbar?: HTMLElement[];
|
|
1148
|
+
/** Panel content: a node, text, or a callback given the fresh panel element */
|
|
1149
|
+
content?: Node | string | ((panel: TabPanelElement) => void);
|
|
1150
|
+
/** Select the new tab immediately (default `true`) */
|
|
1151
|
+
select?: boolean;
|
|
1152
|
+
/** Insertion index among existing tabs (default: append) */
|
|
1153
|
+
index?: number;
|
|
1154
|
+
};
|
|
1155
|
+
type TabControllerOptions = {
|
|
1156
|
+
/**
|
|
1157
|
+
* When provided, a command is registered per tab (id = tab id). Invoking
|
|
1158
|
+
* `commands.invoke(id)` selects the tab.
|
|
1159
|
+
*/
|
|
1160
|
+
commands?: CommandRegistry;
|
|
1161
|
+
/** Fired after a tab becomes selected (via click or programmatic select) */
|
|
1162
|
+
onSelect?: (tab: Tab, previous: Tab | undefined) => void;
|
|
1163
|
+
onAdd?: (tab: Tab) => void;
|
|
1164
|
+
onRemove?: (tab: Tab) => void;
|
|
1165
|
+
onReorder?: (tabs: Tab[]) => void;
|
|
1166
|
+
};
|
|
1167
|
+
/**
|
|
1168
|
+
* Connects an `ixfx-tab-list` to an `ixfx-tab-panels` container, handling the
|
|
1169
|
+
* wiring between them (header clicks show the matching panel, closing a tab
|
|
1170
|
+
* removes its panel, etc.) and offering an API to select, add, remove, rename
|
|
1171
|
+
* and reorder tabs.
|
|
1172
|
+
*
|
|
1173
|
+
* @example
|
|
1174
|
+
* ```ts
|
|
1175
|
+
* const ctrl = new TabController(
|
|
1176
|
+
* document.querySelector('ixfx-tab-list'),
|
|
1177
|
+
* document.querySelector('ixfx-tab-panels'),
|
|
1178
|
+
* );
|
|
1179
|
+
* ctrl.connect();
|
|
1180
|
+
*
|
|
1181
|
+
* ctrl.addTab({ label: 'Console', content: 'Console panel' });
|
|
1182
|
+
* ctrl.selectTab('Console');
|
|
1183
|
+
* ```
|
|
1184
|
+
*/
|
|
1185
|
+
declare class TabController {
|
|
1186
|
+
#private;
|
|
1187
|
+
constructor(list: TabListElement, panels: TabPanelsElement, options?: TabControllerOptions);
|
|
1188
|
+
connect(): void;
|
|
1189
|
+
disconnect(): void;
|
|
1190
|
+
/**
|
|
1191
|
+
* Select a tab as if it was clicked — activates the header (deactivating the
|
|
1192
|
+
* others) and shows its panel.
|
|
1193
|
+
*
|
|
1194
|
+
* `sel` may be a tab id, the panel id its `for` points at, its label text
|
|
1195
|
+
* (case-insensitive), or the tab item element itself.
|
|
1196
|
+
*
|
|
1197
|
+
* Returns true if a tab was found.
|
|
1198
|
+
*/
|
|
1199
|
+
selectTab(sel: string | TabListItemElement): boolean;
|
|
1200
|
+
selectNext(): boolean;
|
|
1201
|
+
selectPrevious(): boolean;
|
|
1202
|
+
getSelected(): Tab | undefined;
|
|
1203
|
+
getTabs(): Tab[];
|
|
1204
|
+
getTab(id: string): Tab | undefined;
|
|
1205
|
+
addTab(opts: TabAddOptions): Tab;
|
|
1206
|
+
removeTab(sel: string | TabListItemElement): boolean;
|
|
1207
|
+
renameTab(sel: string | TabListItemElement, label: string): boolean;
|
|
1208
|
+
setTabIcon(sel: string | TabListItemElement, iconName?: string): boolean;
|
|
1209
|
+
}
|
|
1210
|
+
//#endregion
|
|
1116
1211
|
//#region src/transitory-label/transitory-label.d.ts
|
|
1117
1212
|
type Effect = `slide-right` | `slide-left` | `slide-up` | `slide-down` | `fade` | `character-swap`;
|
|
1118
1213
|
declare class TransitoryLabelElement extends LitElement {
|
|
@@ -1146,5 +1241,5 @@ declare function monitorIndeterminate(targetElOrQuery: string | HTMLElement, wat
|
|
|
1146
1241
|
//#region src/index.d.ts
|
|
1147
1242
|
declare function init(): void;
|
|
1148
1243
|
//#endregion
|
|
1149
|
-
export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataProviderResult, DisplayTextLogic, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, GridMode, GridResolution, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LaneData, LaneType, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListSelectDetail, type ListSelectEvent, type ListSelectionMode, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupOrientation, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramOrientation, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, type Rect, RectangularSelectEventDetail, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizontalElement, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitLayoutElement, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, TreeListAdapterOptions, TreeListElement, TreeSearchHost, TreeSelectionFilter, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, applyAgeModification, applyHighlights, attachTimelineInteractions, buildHighlightTargets, clearHighlights, collectDataResult, computeColour, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch, createPillRenderer, createTreeListAdapter, createVerticalListAdapter, getIcon, hasIcon, iconBus, init, monitorIndeterminate, parseColourScaleAttr, readBaseColour, registerIcon, resolveCssVars, resolveGrid, svgToDataUri, timelineStyles };
|
|
1244
|
+
export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataProviderResult, DisplayTextLogic, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, GridMode, GridResolution, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LaneData, LaneType, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListSelectDetail, type ListSelectEvent, type ListSelectionMode, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupOrientation, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramOrientation, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, type Rect, RectangularSelectEventDetail, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizontalElement, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitLayoutElement, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, TreeListAdapterOptions, TreeListElement, TreeSearchHost, TreeSelectionFilter, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, applyAgeModification, applyHighlights, attachTimelineInteractions, buildHighlightTargets, clearHighlights, collectDataResult, computeColour, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch, createPillRenderer, createTreeListAdapter, createVerticalListAdapter, getIcon, hasIcon, iconBus, init, monitorIndeterminate, parseColourScaleAttr, readBaseColour, registerIcon, resolveCssVars, resolveGrid, svgToDataUri, timelineStyles };
|
|
1150
1245
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/ac-token/types.ts","../src/ac-token/ac-token.ts","../src/button/radio-group.ts","../src/button/types.ts","../src/button/split-button.ts","../src/common/data-controller.ts","../src/crumbs/crumb-path.ts","../src/crumbs/crumb-path-controller.ts","../src/editable-label/editable-number.ts","../src/form/form-group.ts","../src/form/form-part.ts","../src/form/form.ts","../src/vertical-list/types.ts","../src/grouped-item-lister/types.ts","../src/grouped-item-lister/grouped-item-lister.ts","../src/grouped-item-lister/tree-list-adapter.ts","../src/vertical-list/vertical-list.ts","../src/grouped-item-lister/vertical-list-adapter.ts","../src/notifier/types.ts","../src/notifier/notification-pill.ts","../src/notifier/manager.ts","../src/notifier/pill-renderer.ts","../src/panel/panel-group.ts","../src/range/range-multi.ts","../src/tabs/tab-panel.ts","../src/tabs/tab-panels.ts","../src/transitory-label/transitory-label.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/ac-token/types.ts","../src/ac-token/ac-token.ts","../src/button/radio-group.ts","../src/button/types.ts","../src/button/split-button.ts","../src/common/data-controller.ts","../src/crumbs/crumb-path.ts","../src/crumbs/crumb-path-controller.ts","../src/editable-label/editable-number.ts","../src/form/form-group.ts","../src/form/form-part.ts","../src/form/form.ts","../src/vertical-list/types.ts","../src/grouped-item-lister/types.ts","../src/grouped-item-lister/grouped-item-lister.ts","../src/grouped-item-lister/tree-list-adapter.ts","../src/vertical-list/vertical-list.ts","../src/grouped-item-lister/vertical-list-adapter.ts","../src/notifier/types.ts","../src/notifier/notification-pill.ts","../src/notifier/manager.ts","../src/notifier/pill-renderer.ts","../src/panel/panel-group.ts","../src/range/range-multi.ts","../src/tabs/tab-panel.ts","../src/tabs/tab-panels.ts","../src/tabs/tab-controller.ts","../src/transitory-label/transitory-label.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3495,12 +3495,15 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3495
3495
|
get selectedItems() {
|
|
3496
3496
|
return this._selectedItems;
|
|
3497
3497
|
}
|
|
3498
|
-
addItem(item) {
|
|
3498
|
+
addItem(item, options) {
|
|
3499
|
+
let el;
|
|
3499
3500
|
if (typeof item === `string`) {
|
|
3500
3501
|
const li = document.createElement(`li`);
|
|
3501
3502
|
li.textContent = item;
|
|
3502
|
-
|
|
3503
|
-
} else
|
|
3503
|
+
el = li;
|
|
3504
|
+
} else el = item;
|
|
3505
|
+
if (options?.notChecked) el.setAttribute(`not-checked`, ``);
|
|
3506
|
+
this.appendChild(el);
|
|
3504
3507
|
if (this.interactionMode === `checked`) this._syncCheckboxes();
|
|
3505
3508
|
}
|
|
3506
3509
|
removeItem(item) {
|
|
@@ -3535,7 +3538,7 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3535
3538
|
selectMany(items) {
|
|
3536
3539
|
if (this.selectionMode !== `multiple`) throw new Error(`selectMany requires selectionMode="multiple" (current: "${this.selectionMode}")`);
|
|
3537
3540
|
const previous = this._selectedItems;
|
|
3538
|
-
const next = new Set(items);
|
|
3541
|
+
const next = new Set([...items].filter((el) => this._isCheckable(el)));
|
|
3539
3542
|
if (next.size === 0) return;
|
|
3540
3543
|
this._selectedItems = next;
|
|
3541
3544
|
this.#selectionAnchor = [...next].at(-1);
|
|
@@ -3565,6 +3568,7 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3565
3568
|
}
|
|
3566
3569
|
_replaceSelection(item) {
|
|
3567
3570
|
if (this.selectionMode === `none`) return;
|
|
3571
|
+
if (!this._isCheckable(item)) return;
|
|
3568
3572
|
const previous = this._selectedItems;
|
|
3569
3573
|
const next = /* @__PURE__ */ new Set([item]);
|
|
3570
3574
|
this._selectedItems = next;
|
|
@@ -3576,6 +3580,7 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3576
3580
|
});
|
|
3577
3581
|
}
|
|
3578
3582
|
_toggleItem(item) {
|
|
3583
|
+
if (!this._isCheckable(item)) return;
|
|
3579
3584
|
const effectiveMultiple = this.selectionMode === `multiple` || isMultiMode(this.interactionMode);
|
|
3580
3585
|
if (this.selectionMode === `none` && this.interactionMode !== `checked`) return;
|
|
3581
3586
|
const previous = this._selectedItems;
|
|
@@ -3608,7 +3613,7 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3608
3613
|
const start = Math.min(anchorIdx, targetIdx);
|
|
3609
3614
|
const end = Math.max(anchorIdx, targetIdx);
|
|
3610
3615
|
const previous = this._selectedItems;
|
|
3611
|
-
const next = new Set(visible.slice(start, end + 1));
|
|
3616
|
+
const next = new Set(visible.slice(start, end + 1).filter((el) => this._isCheckable(el)));
|
|
3612
3617
|
this._selectedItems = next;
|
|
3613
3618
|
this._syncItemStates();
|
|
3614
3619
|
this._dispatch(`list-select`, {
|
|
@@ -3630,7 +3635,8 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3630
3635
|
const visible = this._getVisibleItems();
|
|
3631
3636
|
if (visible.length === 0) return;
|
|
3632
3637
|
const previous = this._selectedItems;
|
|
3633
|
-
const next = new Set(visible);
|
|
3638
|
+
const next = new Set(visible.filter((el) => this._isCheckable(el)));
|
|
3639
|
+
if (next.size === 0) return;
|
|
3634
3640
|
this._selectedItems = next;
|
|
3635
3641
|
this._syncItemStates();
|
|
3636
3642
|
this._dispatch(`list-select`, {
|
|
@@ -3669,11 +3675,16 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3669
3675
|
return true;
|
|
3670
3676
|
});
|
|
3671
3677
|
}
|
|
3678
|
+
_isCheckable(item) {
|
|
3679
|
+
if (this.interactionMode !== `checked`) return true;
|
|
3680
|
+
return !(this.#customWrappers.get(item) ?? item).hasAttribute(`not-checked`);
|
|
3681
|
+
}
|
|
3672
3682
|
_syncItemStates() {
|
|
3673
3683
|
for (const el of this.querySelectorAll(ITEM_SELECTOR)) {
|
|
3684
|
+
const item = this.#customWrappers.get(el) ?? el;
|
|
3674
3685
|
el.toggleAttribute(`data-tickled`, this.tickled.isTickled(el));
|
|
3675
3686
|
el.toggleAttribute(`data-selected`, this._selectedItems.has(el));
|
|
3676
|
-
if (this.interactionMode === `checked`) el.toggleAttribute(`data-checked`, this._selectedItems.has(el));
|
|
3687
|
+
if (this.interactionMode === `checked`) el.toggleAttribute(`data-checked`, !item.hasAttribute(`not-checked`) && this._selectedItems.has(el));
|
|
3677
3688
|
else el.removeAttribute(`data-checked`);
|
|
3678
3689
|
}
|
|
3679
3690
|
this.dataset.inputMode = this.tickled.inputMode;
|
|
@@ -3711,6 +3722,10 @@ let VerticalListElement = class VerticalListElement extends LitElement {
|
|
|
3711
3722
|
if (existing) existing.remove();
|
|
3712
3723
|
continue;
|
|
3713
3724
|
}
|
|
3725
|
+
if ((this.#customWrappers.get(el) ?? el).hasAttribute(`not-checked`)) {
|
|
3726
|
+
if (existing) existing.remove();
|
|
3727
|
+
continue;
|
|
3728
|
+
}
|
|
3714
3729
|
const existingIsCustom = existing?.classList.contains(`ixfx-list-checkbox-custom`) ?? false;
|
|
3715
3730
|
if (existing && existingIsCustom !== wantsCustom) existing.remove();
|
|
3716
3731
|
let cb = el.querySelector(`.ixfx-list-checkbox`);
|
|
@@ -5398,6 +5413,309 @@ let TabPanelElement = class TabPanelElement extends LitElement {
|
|
|
5398
5413
|
};
|
|
5399
5414
|
TabPanelElement = __decorate([safeCustomElement(`ixfx-tab-panel`)], TabPanelElement);
|
|
5400
5415
|
//#endregion
|
|
5416
|
+
//#region src/tabs/tab-controller.ts
|
|
5417
|
+
/**
|
|
5418
|
+
* Connects an `ixfx-tab-list` to an `ixfx-tab-panels` container, handling the
|
|
5419
|
+
* wiring between them (header clicks show the matching panel, closing a tab
|
|
5420
|
+
* removes its panel, etc.) and offering an API to select, add, remove, rename
|
|
5421
|
+
* and reorder tabs.
|
|
5422
|
+
*
|
|
5423
|
+
* @example
|
|
5424
|
+
* ```ts
|
|
5425
|
+
* const ctrl = new TabController(
|
|
5426
|
+
* document.querySelector('ixfx-tab-list'),
|
|
5427
|
+
* document.querySelector('ixfx-tab-panels'),
|
|
5428
|
+
* );
|
|
5429
|
+
* ctrl.connect();
|
|
5430
|
+
*
|
|
5431
|
+
* ctrl.addTab({ label: 'Console', content: 'Console panel' });
|
|
5432
|
+
* ctrl.selectTab('Console');
|
|
5433
|
+
* ```
|
|
5434
|
+
*/
|
|
5435
|
+
var TabController = class {
|
|
5436
|
+
#list;
|
|
5437
|
+
#panels;
|
|
5438
|
+
#opts;
|
|
5439
|
+
#tabs = [];
|
|
5440
|
+
#signal;
|
|
5441
|
+
#observer;
|
|
5442
|
+
#commands;
|
|
5443
|
+
#registeredCommands = /* @__PURE__ */ new Set();
|
|
5444
|
+
constructor(list, panels, options = {}) {
|
|
5445
|
+
this.#list = list;
|
|
5446
|
+
this.#panels = panels;
|
|
5447
|
+
this.#opts = options;
|
|
5448
|
+
this.#commands = options.commands;
|
|
5449
|
+
}
|
|
5450
|
+
connect() {
|
|
5451
|
+
this.disconnect();
|
|
5452
|
+
this.#signal = new AbortController();
|
|
5453
|
+
const { signal } = this.#signal;
|
|
5454
|
+
this.#list.addEventListener(`change`, this.#onChange, { signal });
|
|
5455
|
+
this.#list.addEventListener(`reorder`, this.#onReorder, { signal });
|
|
5456
|
+
this.#list.addEventListener(`close`, this.#onClose, { signal });
|
|
5457
|
+
this.#observer = new MutationObserver(() => this.#rebuild());
|
|
5458
|
+
this.#observer.observe(this.#list, { childList: true });
|
|
5459
|
+
this.#observer.observe(this.#panels, { childList: true });
|
|
5460
|
+
this.#rebuild();
|
|
5461
|
+
this.#panels.syncWithList(this.#list);
|
|
5462
|
+
for (const tab of this.#tabs) this.#registerCommand(tab);
|
|
5463
|
+
}
|
|
5464
|
+
disconnect() {
|
|
5465
|
+
this.#signal?.abort();
|
|
5466
|
+
this.#signal = void 0;
|
|
5467
|
+
this.#observer?.disconnect();
|
|
5468
|
+
this.#observer = void 0;
|
|
5469
|
+
for (const tab of this.#tabs) this.#unregisterCommand(tab);
|
|
5470
|
+
this.#registeredCommands.clear();
|
|
5471
|
+
this.#tabs = [];
|
|
5472
|
+
}
|
|
5473
|
+
/**
|
|
5474
|
+
* Select a tab as if it was clicked — activates the header (deactivating the
|
|
5475
|
+
* others) and shows its panel.
|
|
5476
|
+
*
|
|
5477
|
+
* `sel` may be a tab id, the panel id its `for` points at, its label text
|
|
5478
|
+
* (case-insensitive), or the tab item element itself.
|
|
5479
|
+
*
|
|
5480
|
+
* Returns true if a tab was found.
|
|
5481
|
+
*/
|
|
5482
|
+
selectTab(sel) {
|
|
5483
|
+
const tab = this.#resolveTab(sel);
|
|
5484
|
+
if (!tab) return false;
|
|
5485
|
+
const previous = this.getSelected();
|
|
5486
|
+
if (previous?.id === tab.id) {
|
|
5487
|
+
this.#panels.selectPanel(tab.forId);
|
|
5488
|
+
return true;
|
|
5489
|
+
}
|
|
5490
|
+
this.#list.selectElement(tab.item);
|
|
5491
|
+
this.#panels.selectPanel(tab.forId);
|
|
5492
|
+
this.#opts.onSelect?.(tab, previous);
|
|
5493
|
+
return true;
|
|
5494
|
+
}
|
|
5495
|
+
selectNext() {
|
|
5496
|
+
return this.#selectOffset(1);
|
|
5497
|
+
}
|
|
5498
|
+
selectPrevious() {
|
|
5499
|
+
return this.#selectOffset(-1);
|
|
5500
|
+
}
|
|
5501
|
+
getSelected() {
|
|
5502
|
+
return this.#tabs.find((t) => t.item.hasAttribute(`selected`));
|
|
5503
|
+
}
|
|
5504
|
+
getTabs() {
|
|
5505
|
+
return [...this.#tabs];
|
|
5506
|
+
}
|
|
5507
|
+
getTab(id) {
|
|
5508
|
+
return this.#tabs.find((t) => t.id === id);
|
|
5509
|
+
}
|
|
5510
|
+
addTab(opts) {
|
|
5511
|
+
const { id, forId } = this.#idsFor(opts);
|
|
5512
|
+
const item = document.createElement(`ixfx-tab-list-item`);
|
|
5513
|
+
item.id = id;
|
|
5514
|
+
item.setAttribute(`for`, forId);
|
|
5515
|
+
item.closeable = opts.closeable ?? true;
|
|
5516
|
+
item.append(opts.label);
|
|
5517
|
+
if (opts.iconName) item.iconName = opts.iconName;
|
|
5518
|
+
if (opts.description) item.description = opts.description;
|
|
5519
|
+
for (const el of opts.toolbar ?? []) {
|
|
5520
|
+
el.slot = `toolbar`;
|
|
5521
|
+
item.append(el);
|
|
5522
|
+
}
|
|
5523
|
+
const panel = document.createElement(`ixfx-tab-panel`);
|
|
5524
|
+
panel.id = forId;
|
|
5525
|
+
if (opts.content !== void 0) this.#fillContent(panel, opts.content);
|
|
5526
|
+
const index = Math.max(0, Math.min(opts.index ?? this.#tabs.length, this.#tabs.length));
|
|
5527
|
+
this.#insertElement(this.#list, item, index);
|
|
5528
|
+
this.#insertElement(this.#panels, panel, index);
|
|
5529
|
+
const tab = {
|
|
5530
|
+
id,
|
|
5531
|
+
forId,
|
|
5532
|
+
item,
|
|
5533
|
+
panel,
|
|
5534
|
+
label: opts.label,
|
|
5535
|
+
iconName: opts.iconName
|
|
5536
|
+
};
|
|
5537
|
+
this.#tabs.splice(index, 0, tab);
|
|
5538
|
+
this.#registerCommand(tab);
|
|
5539
|
+
this.#opts.onAdd?.(tab);
|
|
5540
|
+
if (opts.select ?? true) this.selectTab(id);
|
|
5541
|
+
return tab;
|
|
5542
|
+
}
|
|
5543
|
+
removeTab(sel) {
|
|
5544
|
+
const tab = this.#resolveTab(sel);
|
|
5545
|
+
if (!tab) return false;
|
|
5546
|
+
const index = this.#tabs.indexOf(tab);
|
|
5547
|
+
const adjacent = tab.item.hasAttribute(`selected`) ? this.#adjacentTab(index) : void 0;
|
|
5548
|
+
tab.item.remove();
|
|
5549
|
+
tab.panel.remove();
|
|
5550
|
+
this.#removeFromIndex(tab);
|
|
5551
|
+
this.#unregisterCommand(tab);
|
|
5552
|
+
this.#opts.onRemove?.(tab);
|
|
5553
|
+
if (adjacent) this.selectTab(adjacent.id);
|
|
5554
|
+
return true;
|
|
5555
|
+
}
|
|
5556
|
+
renameTab(sel, label) {
|
|
5557
|
+
const tab = this.#resolveTab(sel);
|
|
5558
|
+
if (!tab) return false;
|
|
5559
|
+
for (const child of [...tab.item.childNodes]) {
|
|
5560
|
+
if (child.nodeType === Node.ELEMENT_NODE && child.slot === `toolbar`) continue;
|
|
5561
|
+
tab.item.removeChild(child);
|
|
5562
|
+
}
|
|
5563
|
+
tab.item.prepend(label);
|
|
5564
|
+
tab.label = label;
|
|
5565
|
+
this.#reregisterCommand(tab);
|
|
5566
|
+
return true;
|
|
5567
|
+
}
|
|
5568
|
+
setTabIcon(sel, iconName) {
|
|
5569
|
+
const tab = this.#resolveTab(sel);
|
|
5570
|
+
if (!tab) return false;
|
|
5571
|
+
if (iconName) {
|
|
5572
|
+
tab.item.iconName = iconName;
|
|
5573
|
+
tab.iconName = iconName;
|
|
5574
|
+
} else {
|
|
5575
|
+
tab.item.iconName = void 0;
|
|
5576
|
+
tab.item.removeAttribute(`icon-name`);
|
|
5577
|
+
tab.iconName = void 0;
|
|
5578
|
+
}
|
|
5579
|
+
return true;
|
|
5580
|
+
}
|
|
5581
|
+
#onChange = (event) => {
|
|
5582
|
+
const detail = event.detail;
|
|
5583
|
+
this.#panels.selectPanel(detail.for);
|
|
5584
|
+
const tab = this.#tabs.find((t) => t.forId === detail.for);
|
|
5585
|
+
if (!tab) return;
|
|
5586
|
+
const previous = detail.previous ? this.#tabs.find((t) => t.id === detail.previous) : void 0;
|
|
5587
|
+
this.#opts.onSelect?.(tab, previous);
|
|
5588
|
+
};
|
|
5589
|
+
#onReorder = () => {
|
|
5590
|
+
this.#rebuild();
|
|
5591
|
+
this.#opts.onReorder?.(this.#tabs);
|
|
5592
|
+
};
|
|
5593
|
+
#onClose = (event) => {
|
|
5594
|
+
const item = event.target?.closest(`ixfx-tab-list-item`);
|
|
5595
|
+
const tab = item ? this.#tabByItem(item) : void 0;
|
|
5596
|
+
if (!tab) return;
|
|
5597
|
+
const index = this.#tabs.indexOf(tab);
|
|
5598
|
+
const adjacent = tab.item.hasAttribute(`selected`) ? this.#adjacentTab(index) : void 0;
|
|
5599
|
+
tab.panel.remove();
|
|
5600
|
+
this.#removeFromIndex(tab);
|
|
5601
|
+
this.#unregisterCommand(tab);
|
|
5602
|
+
this.#opts.onRemove?.(tab);
|
|
5603
|
+
if (adjacent) this.selectTab(adjacent.id);
|
|
5604
|
+
};
|
|
5605
|
+
#selectOffset(offset) {
|
|
5606
|
+
const tabs = this.#tabs;
|
|
5607
|
+
if (tabs.length === 0) return false;
|
|
5608
|
+
const current = this.getSelected();
|
|
5609
|
+
const next = ((current ? tabs.indexOf(current) : offset === 1 ? -1 : 0) + offset + tabs.length) % tabs.length;
|
|
5610
|
+
return this.selectTab(tabs[next].id);
|
|
5611
|
+
}
|
|
5612
|
+
#resolveTab(sel) {
|
|
5613
|
+
if (typeof sel !== `string`) return this.#tabs.find((t) => t.item === sel);
|
|
5614
|
+
const label = sel.trim().toLowerCase();
|
|
5615
|
+
return this.#tabs.find((t) => t.id === sel) ?? this.#tabs.find((t) => t.forId === sel) ?? this.#tabs.find((t) => t.label.toLowerCase() === label);
|
|
5616
|
+
}
|
|
5617
|
+
#tabByItem(item) {
|
|
5618
|
+
return this.#tabs.find((t) => t.item === item);
|
|
5619
|
+
}
|
|
5620
|
+
#adjacentTab(index) {
|
|
5621
|
+
const tabs = this.#tabs;
|
|
5622
|
+
if (tabs.length <= 1) return void 0;
|
|
5623
|
+
return tabs[index + 1] ?? tabs[index - 1];
|
|
5624
|
+
}
|
|
5625
|
+
#removeFromIndex(tab) {
|
|
5626
|
+
const index = this.#tabs.indexOf(tab);
|
|
5627
|
+
if (index >= 0) this.#tabs.splice(index, 1);
|
|
5628
|
+
}
|
|
5629
|
+
#idsFor(opts) {
|
|
5630
|
+
const base = this.#slug(opts.label) || `tab`;
|
|
5631
|
+
return {
|
|
5632
|
+
id: opts.id ?? this.#uniqueId(`tab-${base}`),
|
|
5633
|
+
forId: opts.forId ?? this.#uniqueId(`panel-${base}`)
|
|
5634
|
+
};
|
|
5635
|
+
}
|
|
5636
|
+
#slug(value) {
|
|
5637
|
+
return value.toLowerCase().replace(/[^a-z0-9]+/g, `-`).replace(/^-+|-+$/g, ``);
|
|
5638
|
+
}
|
|
5639
|
+
#uniqueId(base) {
|
|
5640
|
+
let candidate = base;
|
|
5641
|
+
let n = 2;
|
|
5642
|
+
while (document.getElementById(candidate)) candidate = `${base}-${n++}`;
|
|
5643
|
+
return candidate;
|
|
5644
|
+
}
|
|
5645
|
+
#fillContent(panel, content) {
|
|
5646
|
+
if (typeof content === `function`) {
|
|
5647
|
+
content(panel);
|
|
5648
|
+
return;
|
|
5649
|
+
}
|
|
5650
|
+
if (typeof content === `string`) {
|
|
5651
|
+
panel.append(document.createTextNode(content));
|
|
5652
|
+
return;
|
|
5653
|
+
}
|
|
5654
|
+
panel.append(content);
|
|
5655
|
+
}
|
|
5656
|
+
#insertElement(container, el, index) {
|
|
5657
|
+
const children = Array.from(container.children);
|
|
5658
|
+
container.insertBefore(el, children[index] ?? null);
|
|
5659
|
+
}
|
|
5660
|
+
#rebuild() {
|
|
5661
|
+
const panels = /* @__PURE__ */ new Map();
|
|
5662
|
+
for (const el of this.#panels.querySelectorAll(`ixfx-tab-panel`)) panels.set(el.id, el);
|
|
5663
|
+
const tabs = [];
|
|
5664
|
+
for (const item of this.#list.querySelectorAll(`ixfx-tab-list-item`)) {
|
|
5665
|
+
const forId = item.getAttribute(`for`) ?? ``;
|
|
5666
|
+
const panel = panels.get(forId);
|
|
5667
|
+
if (!panel) continue;
|
|
5668
|
+
tabs.push({
|
|
5669
|
+
id: item.id || forId,
|
|
5670
|
+
forId,
|
|
5671
|
+
item,
|
|
5672
|
+
panel,
|
|
5673
|
+
label: this.#labelOf(item),
|
|
5674
|
+
iconName: item.iconName
|
|
5675
|
+
});
|
|
5676
|
+
}
|
|
5677
|
+
this.#tabs = tabs;
|
|
5678
|
+
}
|
|
5679
|
+
/** The tab's visible label text, excluding any `slot="toolbar"` content. */
|
|
5680
|
+
#labelOf(item) {
|
|
5681
|
+
const clone = item.cloneNode(true);
|
|
5682
|
+
clone.querySelectorAll(`[slot="toolbar"]`).forEach((el) => el.remove());
|
|
5683
|
+
return (clone.textContent ?? ``).trim();
|
|
5684
|
+
}
|
|
5685
|
+
#registerCommand(tab) {
|
|
5686
|
+
if (!this.#commands) return;
|
|
5687
|
+
if (tab.item.commandActive) return;
|
|
5688
|
+
if (this.#commands.has(tab.id)) return;
|
|
5689
|
+
this.#commands.register({
|
|
5690
|
+
id: tab.id,
|
|
5691
|
+
label: tab.label,
|
|
5692
|
+
description: tab.item.description ?? tab.label,
|
|
5693
|
+
icon: tab.iconName,
|
|
5694
|
+
execute: () => {
|
|
5695
|
+
this.selectTab(tab.id);
|
|
5696
|
+
}
|
|
5697
|
+
});
|
|
5698
|
+
this.#registeredCommands.add(tab.id);
|
|
5699
|
+
}
|
|
5700
|
+
#unregisterCommand(tab) {
|
|
5701
|
+
if (!this.#commands) return;
|
|
5702
|
+
if (this.#registeredCommands.has(tab.id)) {
|
|
5703
|
+
this.#commands.unregister(tab.id);
|
|
5704
|
+
this.#registeredCommands.delete(tab.id);
|
|
5705
|
+
}
|
|
5706
|
+
}
|
|
5707
|
+
#reregisterCommand(tab) {
|
|
5708
|
+
if (!this.#commands || !this.#registeredCommands.has(tab.id)) return;
|
|
5709
|
+
const existing = this.#commands.get(tab.id);
|
|
5710
|
+
if (!existing) return;
|
|
5711
|
+
this.#commands.unregister(tab.id);
|
|
5712
|
+
this.#commands.register({
|
|
5713
|
+
...existing,
|
|
5714
|
+
label: tab.label
|
|
5715
|
+
});
|
|
5716
|
+
}
|
|
5717
|
+
};
|
|
5718
|
+
//#endregion
|
|
5401
5719
|
//#region src/tabs/tab-panels.ts
|
|
5402
5720
|
let TabPanelsElement = class TabPanelsElement extends LitElement {
|
|
5403
5721
|
/**
|
|
@@ -5794,6 +6112,6 @@ function init() {
|
|
|
5794
6112
|
console.log(`Init`);
|
|
5795
6113
|
}
|
|
5796
6114
|
//#endregion
|
|
5797
|
-
export { AcTextElement, AcTokenElement, ButtonElement, Checkbox, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DataController, DataDisplayComponent, 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, LedElement, menu_exports as Menu, MillerBaseElement, MillerListElement, MillerTreeController, NarrowedTextElement, NotificationManager, NotificationPillElement, PanelElement, PanelGroupElement, PlotDataSeries, PlotHistogram, PlotMultiAxis, PlotSingleAxis, PlotXyAxis, PolarPad, RadialInputElement, RadioGroup, RangeElement, RangeInput, RangeMultiElement, SelectHorizontalElement, SliderInputElement, SnapContainer, SplitButton, SplitLayoutElement, SwipeElement, TabListElement, TabListItemElement, TabPanelElement, TabPanelsElement, TimelineController, TimelineTrackTabElement, TooltipElement, TransitoryLabelElement, TreeBaseElement, TreeController, TreeDataModel, TreeListElement, VerticalListElement, XyPad, applyAgeModification, applyHighlights, attachTimelineInteractions, buildHighlightTargets, clearHighlights, collectDataResult, computeColour, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch, createPillRenderer, createTreeListAdapter, createVerticalListAdapter, getIcon, hasIcon, iconBus, init, monitorIndeterminate, parseColourScaleAttr, readBaseColour, registerIcon, resolveCssVars, resolveGrid, svgToDataUri, timelineStyles };
|
|
6115
|
+
export { AcTextElement, AcTokenElement, ButtonElement, Checkbox, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DataController, DataDisplayComponent, 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, LedElement, menu_exports as Menu, MillerBaseElement, MillerListElement, MillerTreeController, NarrowedTextElement, NotificationManager, NotificationPillElement, PanelElement, PanelGroupElement, PlotDataSeries, PlotHistogram, PlotMultiAxis, PlotSingleAxis, PlotXyAxis, PolarPad, RadialInputElement, RadioGroup, RangeElement, RangeInput, RangeMultiElement, SelectHorizontalElement, SliderInputElement, SnapContainer, SplitButton, SplitLayoutElement, SwipeElement, TabController, TabListElement, TabListItemElement, TabPanelElement, TabPanelsElement, TimelineController, TimelineTrackTabElement, TooltipElement, TransitoryLabelElement, TreeBaseElement, TreeController, TreeDataModel, TreeListElement, VerticalListElement, XyPad, applyAgeModification, applyHighlights, attachTimelineInteractions, buildHighlightTargets, clearHighlights, collectDataResult, computeColour, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch, createPillRenderer, createTreeListAdapter, createVerticalListAdapter, getIcon, hasIcon, iconBus, init, monitorIndeterminate, parseColourScaleAttr, readBaseColour, registerIcon, resolveCssVars, resolveGrid, svgToDataUri, timelineStyles };
|
|
5798
6116
|
|
|
5799
6117
|
//# sourceMappingURL=index.js.map
|