@ixfx/components 0.5.0 → 0.5.2

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/style.css CHANGED
@@ -141,3 +141,83 @@
141
141
  ixfx-grouped-item-lister {
142
142
  display: block;
143
143
  }
144
+ ixfx-form {
145
+ display: block;
146
+ }
147
+
148
+ ixfx-form-group {
149
+ display: block;
150
+ container-type: inline-size;
151
+ }
152
+
153
+ ixfx-form-group fieldset {
154
+ gap: var(--space-m) var(--space-l);
155
+ margin: 0;
156
+ border: 0;
157
+ grid-template-columns: 1fr;
158
+ min-inline-size: 0;
159
+ margin-block-start: var(--space-m);
160
+ margin-block-end: var(--space-m);
161
+ padding: 0;
162
+ display: grid;
163
+ }
164
+
165
+ ixfx-form-group fieldset > legend:empty {
166
+ display: none;
167
+ }
168
+
169
+ ixfx-form-group fieldset > legend {
170
+ font-weight: var(--font-weight-bold);
171
+ grid-column: 1 / -1;
172
+ margin-block-start: var(--space-m);
173
+ margin-block-end: var(--space-s);
174
+ padding: 0;
175
+ }
176
+
177
+ ixfx-form-group fieldset > :not(ixfx-form-part) {
178
+ grid-column: 1 / -1;
179
+ }
180
+
181
+ ixfx-form-part {
182
+ grid-column: 1 / -1;
183
+ grid-template-columns: 1fr;
184
+ align-items: start;
185
+ display: grid;
186
+ }
187
+
188
+ ixfx-form-part > label {
189
+ font-size: var(--ixfx-form-label-font-size, var(--text-s));
190
+ font-weight: var(--ixfx-form-label-font-weight, inherit);
191
+ font-family: var(--ixfx-form-label-font-family, inherit);
192
+ color: var(--ixfx-form-label-color, inherit);
193
+ text-transform: var(--ixfx-form-label-text-transform, uppercase);
194
+ padding-bottom: var(--space-xs);
195
+ grid-area: 1 / 1;
196
+ }
197
+
198
+ ixfx-form-part > input, ixfx-form-part > select, ixfx-form-part > textarea {
199
+ grid-area: 2 / 1;
200
+ }
201
+
202
+ @container (width >= 30rem) {
203
+ ixfx-form-group fieldset {
204
+ grid-template-columns: max-content 1fr;
205
+ }
206
+
207
+ ixfx-form-part {
208
+ grid-column: 1 / -1;
209
+ grid-template-columns: subgrid;
210
+ align-items: baseline;
211
+ display: grid;
212
+ }
213
+
214
+ ixfx-form-part > label {
215
+ padding-right: var(--space-xs);
216
+ grid-area: 1 / 1;
217
+ padding-bottom: 0;
218
+ }
219
+
220
+ ixfx-form-part > input, ixfx-form-part > select, ixfx-form-part > textarea {
221
+ grid-area: 1 / 2;
222
+ }
223
+ }
@@ -21,6 +21,7 @@ const buttonStyles = css`
21
21
  background: var(--surface-4, #ccc);
22
22
  color: var(--surface-3-text, #000);
23
23
  border: var(--border, 1px solid #999);
24
+ outline: var(--ixfx-button-outline, none);
24
25
  border-radius: var(--radius-xl, 8px);
25
26
  corner-shape: superellipse(1);
26
27
  padding: var(--space-m, 8px) var(--space-l, 12px);
@@ -35,6 +36,7 @@ const buttonStyles = css`
35
36
  overflow: hidden;
36
37
  white-space: nowrap;
37
38
  box-shadow:
39
+ var(--ixfx-button-shade, none),
38
40
  inset 1px 1px 1px 1px color-mix(in oklch, var(--surface-4) 30%, transparent), inset -1px -1px 1px 1px color-mix(in oklch, var(--surface-2) 20%, transparent),
39
41
  2px 2px 1px 0px color-mix(in oklch, var(--surface-2) 30%, transparent);
40
42
  transition: background var(--transition, 0.2s), border-color var(--transition, 0.2s);
@@ -118,4 +120,4 @@ ButtonElement = __decorate([safeCustomElement(`ixfx-button`)], ButtonElement);
118
120
  //#endregion
119
121
  export { buttonStyles as n, ButtonElement as t };
120
122
 
121
- //# sourceMappingURL=button-DxYee1ZH.js.map
123
+ //# sourceMappingURL=button-CTE8crYn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-CTE8crYn.js","names":["customElement"],"sources":["../src/button/button-styles.ts","../src/button/button.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const buttonStyles = css`\n :host {\n display: inline-flex;\n max-width: 100%;\n vertical-align: middle;\n user-select: none;\n -webkit-user-select: none;\n }\n\n button {\n cursor: pointer;\n appearance: none;\n background: var(--surface-4, #ccc);\n color: var(--surface-3-text, #000);\n border: var(--border, 1px solid #999);\n outline: var(--ixfx-button-outline, none);\n border-radius: var(--radius-xl, 8px);\n corner-shape: superellipse(1);\n padding: var(--space-m, 8px) var(--space-l, 12px);\n font-family: var(--font-family, inherit);\n font-size: var(--text-m, 14px);\n margin: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5em;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n box-shadow: \n var(--ixfx-button-shade, none),\n inset 1px 1px 1px 1px color-mix(in oklch, var(--surface-4) 30%, transparent), inset -1px -1px 1px 1px color-mix(in oklch, var(--surface-2) 20%, transparent),\n 2px 2px 1px 0px color-mix(in oklch, var(--surface-2) 30%, transparent);\n transition: background var(--transition, 0.2s), border-color var(--transition, 0.2s);\n }\n\n button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n button:hover:not(:disabled) {\n background: color-mix(in oklch, var(--surface-4) 80%, transparent);\n border-color: var(--accent, #666);\n box-shadow: \n inset 1px 1px 1px 1px color-mix(in oklch, var(--surface-5) 70%, transparent), \n inset -1px -1px 1px 1px color-mix(in oklch, var(--surface-2) 60%, transparent),\n 2px 2px 1px 0px color-mix(in oklch, var(--surface-2) 90%, transparent);\n }\n\n button:active:not(:disabled) {\n background: var(--surface-2, #aaa);\n transform: translateY(1px);\n box-shadow: inset 1px 1px 0px 0.5px color-mix(in oklch,var(--surface-1),transparent);\n }\n\n .button-icon {\n display: var(--ixfx-button-hide-icon, inline-flex);\n align-items: center;\n flex-shrink: 0;\n }\n\n .button-label {\n white-space: nowrap;\n display: var(--ixfx-button-hide-label, inline);\n }\n\n :host([hide-label]) .button-label {\n display: none;\n }\n\n :host([hide-icon]) .button-icon {\n display: none;\n }\n`;\n","import { html, LitElement, nothing } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { getIcon } from \"../icons/index.js\";\nimport { prominenceStyles } from \"../styles/prominence.js\";\nimport { safeCustomElement as customElement } from \"../util/custom-elements.js\";\nimport { buttonStyles } from \"./button-styles.js\";\n\n@customElement(`ixfx-button`)\nexport class ButtonElement extends LitElement {\n @property({ type: Boolean })\n disabled = false;\n\n @property({ type: String })\n icon?: string;\n\n @property({ type: Boolean, attribute: `hide-icon`, reflect: true })\n hideIcon = false;\n\n @property({ type: Boolean, attribute: `hide-label`, reflect: true })\n hideLabel = false;\n\n protected _renderIcon() {\n if (this.hideIcon || !this.icon)\n return nothing;\n\n if (this.icon.startsWith(`<svg`)) {\n return html`<span class=\"button-icon\">${unsafeHTML(this.icon)}</span>`;\n }\n\n const svg = getIcon(this.icon);\n\n if (!svg)\n return nothing;\n\n return html`<ixfx-icon class=\"button-icon\" name=\"${this.icon}\"></ixfx-icon>`;\n }\n\n protected render() {\n const label = this.hideLabel\n ? nothing\n : html`<span class=\"button-label\"><slot></slot></span>`;\n return html`<button ?disabled=${this.disabled}>${this._renderIcon()}${label}</button>`;\n }\n\n static styles = [\n prominenceStyles,\n buttonStyles,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ixfx-button\": ButtonElement;\n }\n}\n"],"mappings":";;;;;;;;AAEA,MAAa,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOxB,IAAM,gBAAN,MAAM,sBAAsB,WAAW;;;EAEjC,KAAA,WAAA;EAMA,KAAA,WAAA;EAGC,KAAA,YAAA;;CAEZ,cAAwB;EACtB,IAAI,KAAK,YAAY,CAAC,KAAK,MACzB,OAAO;EAET,IAAI,KAAK,KAAK,WAAW,MAAM,GAC7B,OAAO,IAAI,6BAA6B,WAAW,KAAK,IAAI,EAAE;EAKhE,IAAI,CAFQ,QAAQ,KAAK,IAElB,GACL,OAAO;EAET,OAAO,IAAI,wCAAwC,KAAK,KAAK;CAC/D;CAEA,SAAmB;EACjB,MAAM,QAAQ,KAAK,YACf,UACA,IAAI;EACR,OAAO,IAAI,qBAAqB,KAAK,SAAS,GAAG,KAAK,YAAY,IAAI,MAAM;CAC9E;;EAEgB,KAAA,SAAA,CACd,kBACA,YACF;;AACF;AAvCG,WAAA,CAAA,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,cAAA,WAAA,YAAA,KAAA,CAAA;AAG1B,WAAA,CAAA,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,cAAA,WAAA,QAAA,KAAA,CAAA;AAGzB,WAAA,CAAA,SAAS;CAAE,MAAM;CAAS,WAAW;CAAa,SAAS;AAAK,CAAC,CAAA,GAAA,cAAA,WAAA,YAAA,KAAA,CAAA;AAGjE,WAAA,CAAA,SAAS;CAAE,MAAM;CAAS,WAAW;CAAc,SAAS;AAAK,CAAC,CAAA,GAAA,cAAA,WAAA,aAAA,KAAA,CAAA;AAXpEA,gBAAAA,WAAAA,CAAAA,kBAAc,aAAa,CAAA,GAAA,aAAA"}
package/dist/button.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as ButtonElement } from "./button-DxYee1ZH.js";
1
+ import { t as ButtonElement } from "./button-CTE8crYn.js";
2
2
  export { ButtonElement };
package/dist/index.d.ts CHANGED
@@ -471,6 +471,51 @@ declare global {
471
471
  }
472
472
  }
473
473
  //#endregion
474
+ //#region src/form/form-group.d.ts
475
+ declare class FormGroupElement extends LitElement {
476
+ label: string;
477
+ private _fieldset?;
478
+ private _observer?;
479
+ protected createRenderRoot(): this;
480
+ connectedCallback(): void;
481
+ firstUpdated(): void;
482
+ disconnectedCallback(): void;
483
+ private _moveChildren;
484
+ protected render(): import("lit").TemplateResult<1>;
485
+ }
486
+ declare global {
487
+ interface HTMLElementTagNameMap {
488
+ 'ixfx-form-group': FormGroupElement;
489
+ }
490
+ }
491
+ //#endregion
492
+ //#region src/form/form-part.d.ts
493
+ declare class FormPartElement extends LitElement {
494
+ label: string;
495
+ private _id?;
496
+ protected createRenderRoot(): this;
497
+ connectedCallback(): void;
498
+ private _ensureId;
499
+ protected render(): import("lit").TemplateResult<1>;
500
+ }
501
+ declare global {
502
+ interface HTMLElementTagNameMap {
503
+ "ixfx-form-part": FormPartElement;
504
+ }
505
+ }
506
+ //#endregion
507
+ //#region src/form/form.d.ts
508
+ declare class FormElement extends LitElement {
509
+ protected createRenderRoot(): this;
510
+ getValues(): Record<string, unknown>;
511
+ setValues(data: Record<string, unknown>): void;
512
+ }
513
+ declare global {
514
+ interface HTMLElementTagNameMap {
515
+ 'ixfx-form': FormElement;
516
+ }
517
+ }
518
+ //#endregion
474
519
  //#region src/vertical-list/types.d.ts
475
520
  type ListSelectionMode = `none` | `single` | `multiple`;
476
521
  /**
@@ -683,6 +728,11 @@ type TreeListAdapterOptions<T> = {
683
728
  declare function createTreeListAdapter<T>(toTreeItem: (item: T) => Omit<TreeItem, `data`>, options?: TreeListAdapterOptions<T>): HTMLElement & IGroupedSubComponent<T>;
684
729
  //#endregion
685
730
  //#region src/vertical-list/vertical-list.d.ts
731
+ interface CustomCheckboxOptions {
732
+ renderer: (checked: boolean) => unknown;
733
+ margin?: string;
734
+ width?: string;
735
+ }
686
736
  declare class VerticalListElement extends LitElement {
687
737
  #private;
688
738
  selectionMode: ListSelectionMode;
@@ -706,7 +756,7 @@ declare class VerticalListElement extends LitElement {
706
756
  * </svg>`
707
757
  * : html``;
708
758
  */
709
- checkboxRenderer: ((checked: boolean) => unknown) | undefined;
759
+ checkboxRenderer: ((checked: boolean) => unknown) | CustomCheckboxOptions | undefined;
710
760
  private _selectedItems;
711
761
  private _searchVisible;
712
762
  private _searchQuery;
@@ -1039,6 +1089,22 @@ declare class TabPanelsElement extends LitElement {
1039
1089
  getSelectedElement(): TabPanelElement | undefined;
1040
1090
  syncWithList(el: TabListElement): void;
1041
1091
  selectPanel(id: string): boolean | undefined;
1092
+ /**
1093
+ * Select a tab as if the user clicked it — activates the matching header in
1094
+ * the associated `ixfx-tab-list` (deactivating the others) and shows its
1095
+ * panel.
1096
+ *
1097
+ * `nameOrTitle` may be the label text of a tab (e.g. `'Home'`, matched
1098
+ * case-insensitively) or the panel id its `for` attribute points at
1099
+ * (e.g. `'panel-home'`). If no tab matches, `nameOrTitle` is tried directly
1100
+ * as a panel id.
1101
+ *
1102
+ * The tab list must first be associated via `syncWithList()` for the header
1103
+ * to be activated; panel selection works regardless.
1104
+ *
1105
+ * Returns true if a panel was found and selected.
1106
+ */
1107
+ selectTab(nameOrTitle: string): boolean;
1042
1108
  static styles: import("lit").CSSResult;
1043
1109
  }
1044
1110
  declare global {
@@ -1080,5 +1146,5 @@ declare function monitorIndeterminate(targetElOrQuery: string | HTMLElement, wat
1080
1146
  //#region src/index.d.ts
1081
1147
  declare function init(): void;
1082
1148
  //#endregion
1083
- 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, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataProviderResult, DisplayTextLogic, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, Endpoints, EntryMode, 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 };
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 };
1084
1150
  //# sourceMappingURL=index.d.ts.map
@@ -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/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/transitory-label/transitory-label.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import { a as createFuzzySearch, i as createAcCompletionProvider, n as IncrSearc
9
9
  import { i as ICON_CLOSE, n as ICON_CHECK, r as ICON_CHEVRON_DOWN, t as ICON_CARET_RIGHT } from "./defaults-DcE8RQJc.js";
10
10
  import "./icons.js";
11
11
  import { t as prominenceStyles } from "./prominence-DlFShic3.js";
12
- import { n as buttonStyles, t as ButtonElement } from "./button-DxYee1ZH.js";
12
+ import { n as buttonStyles, t as ButtonElement } from "./button-CTE8crYn.js";
13
13
  import { t as popupSurfaceStyles } from "./popup-DiWMxsWj.js";
14
14
  import "./menu-item-NUKwJ4s5.js";
15
15
  import { Checkbox } from "./checkbox.js";
@@ -2863,6 +2863,132 @@ __decorate([property({
2863
2863
  __decorate([property({ type: Number })], EditableNumber.prototype, "precision", void 0);
2864
2864
  EditableNumber = __decorate([safeCustomElement(`ixfx-editable-number`)], EditableNumber);
2865
2865
  //#endregion
2866
+ //#region src/form/form-group.ts
2867
+ let FormGroupElement = class FormGroupElement extends LitElement {
2868
+ constructor(..._args) {
2869
+ super(..._args);
2870
+ this.label = ``;
2871
+ }
2872
+ createRenderRoot() {
2873
+ return this;
2874
+ }
2875
+ connectedCallback() {
2876
+ super.connectedCallback();
2877
+ this._observer = new MutationObserver(() => this._moveChildren());
2878
+ }
2879
+ firstUpdated() {
2880
+ this._fieldset = this.querySelector(`fieldset`) ?? void 0;
2881
+ if (this._fieldset) {
2882
+ this._observer?.observe(this, { childList: true });
2883
+ this._moveChildren();
2884
+ }
2885
+ }
2886
+ disconnectedCallback() {
2887
+ super.disconnectedCallback();
2888
+ this._observer?.disconnect();
2889
+ }
2890
+ _moveChildren() {
2891
+ if (!this._fieldset) return;
2892
+ Array.from(this.children).filter((el) => el.tagName !== `FIELDSET`).forEach((el) => {
2893
+ this._fieldset.appendChild(el);
2894
+ });
2895
+ }
2896
+ render() {
2897
+ return html`<fieldset><legend>${this.label}</legend></fieldset>`;
2898
+ }
2899
+ };
2900
+ __decorate([property({ type: String })], FormGroupElement.prototype, "label", void 0);
2901
+ FormGroupElement = __decorate([safeCustomElement(`ixfx-form-group`)], FormGroupElement);
2902
+ //#endregion
2903
+ //#region src/form/form-part.ts
2904
+ let idCounter = 0;
2905
+ let FormPartElement = class FormPartElement extends LitElement {
2906
+ constructor(..._args) {
2907
+ super(..._args);
2908
+ this.label = ``;
2909
+ }
2910
+ createRenderRoot() {
2911
+ return this;
2912
+ }
2913
+ connectedCallback() {
2914
+ super.connectedCallback();
2915
+ this._ensureId();
2916
+ }
2917
+ _ensureId() {
2918
+ const control = this.querySelector(`input, select, textarea, [name]`);
2919
+ if (!control) return;
2920
+ if (!control.id) {
2921
+ this._id = `ixfx-form-part-${++idCounter}`;
2922
+ control.id = this._id;
2923
+ } else this._id = control.id;
2924
+ }
2925
+ render() {
2926
+ if (!this._id) this._ensureId();
2927
+ return html`<label for=${this._id ?? ``}>${this.label}</label>`;
2928
+ }
2929
+ };
2930
+ __decorate([property({ type: String })], FormPartElement.prototype, "label", void 0);
2931
+ FormPartElement = __decorate([safeCustomElement(`ixfx-form-part`)], FormPartElement);
2932
+ //#endregion
2933
+ //#region src/form/form-values.ts
2934
+ function collectFormValues(root) {
2935
+ const values = {};
2936
+ root.querySelectorAll(`[name]`).forEach((el) => {
2937
+ const name = el.getAttribute(`name`);
2938
+ if (!name) return;
2939
+ if (el instanceof HTMLInputElement) {
2940
+ if (el.type === `radio`) {
2941
+ if (el.checked) values[name] = el.value;
2942
+ } else if (el.type === `checkbox`) values[name] = el.checked;
2943
+ else values[name] = el.value;
2944
+ } else if (el instanceof HTMLSelectElement) {
2945
+ if (el.multiple) values[name] = Array.from(el.selectedOptions).map((opt) => opt.value);
2946
+ else values[name] = el.value;
2947
+ } else if (el instanceof HTMLTextAreaElement) values[name] = el.value;
2948
+ else if (`value` in el) values[name] = el.value;
2949
+ });
2950
+ return values;
2951
+ }
2952
+ function applyFormValues(root, data) {
2953
+ root.querySelectorAll(`[name]`).forEach((el) => {
2954
+ const name = el.getAttribute(`name`);
2955
+ if (!name || !(name in data)) return;
2956
+ const value = data[name];
2957
+ if (el instanceof HTMLInputElement) {
2958
+ if (el.type === `radio`) el.checked = el.value === value;
2959
+ else if (el.type === `checkbox`) el.checked = Boolean(value);
2960
+ else el.value = String(value ?? ``);
2961
+ el.dispatchEvent(new Event(`input`, { bubbles: true }));
2962
+ el.dispatchEvent(new Event(`change`, { bubbles: true }));
2963
+ } else if (el instanceof HTMLSelectElement) {
2964
+ if (el.multiple && Array.isArray(value)) Array.from(el.options).forEach((opt) => {
2965
+ opt.selected = value.includes(opt.value);
2966
+ });
2967
+ else el.value = String(value ?? ``);
2968
+ el.dispatchEvent(new Event(`input`, { bubbles: true }));
2969
+ el.dispatchEvent(new Event(`change`, { bubbles: true }));
2970
+ } else if (el instanceof HTMLTextAreaElement) {
2971
+ el.value = String(value ?? ``);
2972
+ el.dispatchEvent(new Event(`input`, { bubbles: true }));
2973
+ el.dispatchEvent(new Event(`change`, { bubbles: true }));
2974
+ } else if (`value` in el) el.value = value;
2975
+ });
2976
+ }
2977
+ //#endregion
2978
+ //#region src/form/form.ts
2979
+ let FormElement = class FormElement extends LitElement {
2980
+ createRenderRoot() {
2981
+ return this;
2982
+ }
2983
+ getValues() {
2984
+ return collectFormValues(this);
2985
+ }
2986
+ setValues(data) {
2987
+ applyFormValues(this, data);
2988
+ }
2989
+ };
2990
+ FormElement = __decorate([safeCustomElement(`ixfx-form`)], FormElement);
2991
+ //#endregion
2866
2992
  //#region src/grouped-item-lister/grouped-item-lister.ts
2867
2993
  const UNGROUPED_KEY = `__ungrouped__`;
2868
2994
  let GroupedItemListerElement = class GroupedItemListerElement extends LitElement {
@@ -3589,14 +3715,22 @@ let VerticalListElement = class VerticalListElement extends LitElement {
3589
3715
  if (existing && existingIsCustom !== wantsCustom) existing.remove();
3590
3716
  let cb = el.querySelector(`.ixfx-list-checkbox`);
3591
3717
  if (!cb) {
3592
- cb = wantsCustom ? this._createCustomCheckbox(el) : this._createNativeCheckboxCell(el);
3718
+ if (wantsCustom) {
3719
+ const opts = this.checkboxRenderer;
3720
+ const margin = opts.margin ?? `0`;
3721
+ const width = opts.width ?? `24px`;
3722
+ cb = this._createCustomCheckbox(el, margin, width);
3723
+ } else cb = this._createNativeCheckboxCell(el);
3593
3724
  el.prepend(cb);
3594
3725
  }
3595
3726
  const checked = this._selectedItems.has(el);
3596
3727
  if (wantsCustom) {
3597
3728
  cb.setAttribute(`aria-checked`, String(checked));
3598
3729
  cb.toggleAttribute(`data-checked`, checked);
3599
- if (this.checkboxRenderer) render(this.checkboxRenderer(checked), cb);
3730
+ if (this.checkboxRenderer) {
3731
+ const renderer = typeof this.checkboxRenderer === `function` ? this.checkboxRenderer : this.checkboxRenderer.renderer;
3732
+ render(renderer(checked), cb);
3733
+ }
3600
3734
  } else {
3601
3735
  const input = cb.querySelector(`input.ixfx-list-checkbox`);
3602
3736
  if (input) input.checked = checked;
@@ -3631,10 +3765,10 @@ let VerticalListElement = class VerticalListElement extends LitElement {
3631
3765
  * Custom checkbox cell: same shape as the native cell (a stretching span)
3632
3766
  * so behaviour is identical. The renderer's content goes inside.
3633
3767
  */
3634
- _createCustomCheckbox(el) {
3768
+ _createCustomCheckbox(el, margin, width) {
3635
3769
  const span = document.createElement(`span`);
3636
3770
  span.className = `ixfx-list-checkbox ixfx-list-checkbox-custom`;
3637
- span.style.cssText = `display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:24px;margin:0 6px 0 0;cursor:pointer;pointer-events:auto`;
3771
+ span.style.cssText = `display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:${width};margin:${margin};cursor:pointer;pointer-events:auto`;
3638
3772
  span.tabIndex = -1;
3639
3773
  span.setAttribute(`role`, `checkbox`);
3640
3774
  span.setAttribute(`part`, `checkbox`);
@@ -5266,6 +5400,11 @@ TabPanelElement = __decorate([safeCustomElement(`ixfx-tab-panel`)], TabPanelElem
5266
5400
  //#endregion
5267
5401
  //#region src/tabs/tab-panels.ts
5268
5402
  let TabPanelsElement = class TabPanelsElement extends LitElement {
5403
+ /**
5404
+ * The `ixfx-tab-list` this panels element is associated with, established by
5405
+ * `syncWithList()`. Used by `selectTab()` to activate the matching header.
5406
+ */
5407
+ #list;
5269
5408
  render() {
5270
5409
  return html`<slot></slot>`;
5271
5410
  }
@@ -5285,6 +5424,7 @@ let TabPanelsElement = class TabPanelsElement extends LitElement {
5285
5424
  if (this.onSelectedPanel) this.onSelectedPanel(el.id, el);
5286
5425
  }
5287
5426
  syncWithList(el) {
5427
+ this.#list = el;
5288
5428
  const doSync = () => {
5289
5429
  const t = el.getSelectedElement();
5290
5430
  if (!t) return;
@@ -5306,6 +5446,43 @@ let TabPanelsElement = class TabPanelsElement extends LitElement {
5306
5446
  }
5307
5447
  return found;
5308
5448
  }
5449
+ /**
5450
+ * Select a tab as if the user clicked it — activates the matching header in
5451
+ * the associated `ixfx-tab-list` (deactivating the others) and shows its
5452
+ * panel.
5453
+ *
5454
+ * `nameOrTitle` may be the label text of a tab (e.g. `'Home'`, matched
5455
+ * case-insensitively) or the panel id its `for` attribute points at
5456
+ * (e.g. `'panel-home'`). If no tab matches, `nameOrTitle` is tried directly
5457
+ * as a panel id.
5458
+ *
5459
+ * The tab list must first be associated via `syncWithList()` for the header
5460
+ * to be activated; panel selection works regardless.
5461
+ *
5462
+ * Returns true if a panel was found and selected.
5463
+ */
5464
+ selectTab(nameOrTitle) {
5465
+ const item = this.#findTabItem(nameOrTitle);
5466
+ if (item) {
5467
+ this.#list?.selectElement(item);
5468
+ return this.selectPanel(item.getAttribute(`for`) ?? ``) === true;
5469
+ }
5470
+ return this.selectPanel(nameOrTitle) === true;
5471
+ }
5472
+ #findTabItem(nameOrTitle) {
5473
+ const list = this.#list;
5474
+ if (!list) return void 0;
5475
+ const items = Array.from(list.querySelectorAll(`ixfx-tab-list-item`));
5476
+ for (const item of items) if (item.getAttribute(`for`) === nameOrTitle) return item;
5477
+ const label = nameOrTitle.trim().toLowerCase();
5478
+ for (const item of items) if (this.#labelOf(item).toLowerCase() === label) return item;
5479
+ }
5480
+ /** The tab's visible label text, excluding any `slot="toolbar"` content. */
5481
+ #labelOf(item) {
5482
+ const clone = item.cloneNode(true);
5483
+ clone.querySelectorAll(`[slot="toolbar"]`).forEach((el) => el.remove());
5484
+ return (clone.textContent ?? ``).trim();
5485
+ }
5309
5486
  static {
5310
5487
  this.styles = css`
5311
5488
  :host {
@@ -5617,6 +5794,6 @@ function init() {
5617
5794
  console.log(`Init`);
5618
5795
  }
5619
5796
  //#endregion
5620
- export { AcTextElement, AcTokenElement, ButtonElement, Checkbox, ColourPicker, ColourPickerPopup, CrumbNavigationElement, CrumbPathController, CrumbPathElement, DataController, DataDisplayComponent, EditableLabel, EditableNumber, 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 };
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 };
5621
5798
 
5622
5799
  //# sourceMappingURL=index.js.map