@lilydesignsystem/angular-headless 0.6.0 → 0.7.0

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.
@@ -1,4 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
+ import { OnInit } from "@angular/core";
2
3
  /**
3
4
  * AccordionCheckbox — a checkbox option that reveals an accordion panel when checked
4
5
  *
@@ -3370,7 +3371,13 @@ export declare class ColorInput {
3370
3371
  */
3371
3372
  export declare class ColorPicker {
3372
3373
  readonly label: import("@angular/core").InputSignal<string>;
3374
+ /** Horizontal position, 0-100 (saturation). Two-way bindable. */
3375
+ readonly x: import("@angular/core").ModelSignal<number>;
3376
+ /** Vertical position, 0-100 (brightness). Two-way bindable. */
3377
+ readonly y: import("@angular/core").ModelSignal<number>;
3378
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
3373
3379
  readonly className: import("@angular/core").InputSignal<string>;
3380
+ protected onKeydown(event: KeyboardEvent): void;
3374
3381
  static ɵfac: i0.ɵɵFactoryDeclaration<ColorPicker, never>;
3375
3382
  static ɵcmp: i0.ɵɵComponentDeclaration<ColorPicker, "lily-color-picker", never, {
3376
3383
  "label": {
@@ -3378,12 +3385,30 @@ export declare class ColorPicker {
3378
3385
  "required": false;
3379
3386
  "isSignal": true;
3380
3387
  };
3388
+ "x": {
3389
+ "alias": "x";
3390
+ "required": false;
3391
+ "isSignal": true;
3392
+ };
3393
+ "y": {
3394
+ "alias": "y";
3395
+ "required": false;
3396
+ "isSignal": true;
3397
+ };
3398
+ "disabled": {
3399
+ "alias": "disabled";
3400
+ "required": false;
3401
+ "isSignal": true;
3402
+ };
3381
3403
  "className": {
3382
3404
  "alias": "className";
3383
3405
  "required": false;
3384
3406
  "isSignal": true;
3385
3407
  };
3386
- }, {}, never, ["*"], true, never>;
3408
+ }, {
3409
+ "x": "xChange";
3410
+ "y": "yChange";
3411
+ }, never, ["*"], true, never>;
3387
3412
  }
3388
3413
  /**
3389
3414
  * ColorPickerButton — a button showing a color swatch in a color picker
@@ -3850,7 +3875,13 @@ export declare class ContentsNav {
3850
3875
  */
3851
3876
  export declare class ContextMenu {
3852
3877
  readonly label: import("@angular/core").InputSignal<string>;
3878
+ /** Whether the menu is visible. Two-way bindable; Escape sets it to false. */
3879
+ readonly open: import("@angular/core").ModelSignal<boolean>;
3853
3880
  readonly className: import("@angular/core").InputSignal<string>;
3881
+ private readonly menu;
3882
+ constructor();
3883
+ /** Roving focus over the `role="menuitem"` descendants (WAI-ARIA APG menu pattern). */
3884
+ protected onKeydown(event: KeyboardEvent): void;
3854
3885
  static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenu, never>;
3855
3886
  static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenu, "lily-context-menu", never, {
3856
3887
  "label": {
@@ -3858,12 +3889,19 @@ export declare class ContextMenu {
3858
3889
  "required": false;
3859
3890
  "isSignal": true;
3860
3891
  };
3892
+ "open": {
3893
+ "alias": "open";
3894
+ "required": false;
3895
+ "isSignal": true;
3896
+ };
3861
3897
  "className": {
3862
3898
  "alias": "className";
3863
3899
  "required": false;
3864
3900
  "isSignal": true;
3865
3901
  };
3866
- }, {}, never, ["*"], true, never>;
3902
+ }, {
3903
+ "open": "openChange";
3904
+ }, never, ["*"], true, never>;
3867
3905
  }
3868
3906
  /**
3869
3907
  * ContextMenuItem — one item in a context menu
@@ -4742,7 +4780,15 @@ export declare class DeutschlandKrankenversichertennummerView {
4742
4780
  */
4743
4781
  export declare class Dial {
4744
4782
  readonly label: import("@angular/core").InputSignal<string>;
4783
+ /** Current value. Two-way bindable. */
4784
+ readonly value: import("@angular/core").ModelSignal<number>;
4785
+ readonly min: import("@angular/core").InputSignal<number>;
4786
+ readonly max: import("@angular/core").InputSignal<number>;
4787
+ readonly step: import("@angular/core").InputSignal<number>;
4788
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
4745
4789
  readonly className: import("@angular/core").InputSignal<string>;
4790
+ private clamp;
4791
+ protected onKeydown(event: KeyboardEvent): void;
4746
4792
  static ɵfac: i0.ɵɵFactoryDeclaration<Dial, never>;
4747
4793
  static ɵcmp: i0.ɵɵComponentDeclaration<Dial, "lily-dial", never, {
4748
4794
  "label": {
@@ -4750,12 +4796,39 @@ export declare class Dial {
4750
4796
  "required": false;
4751
4797
  "isSignal": true;
4752
4798
  };
4799
+ "value": {
4800
+ "alias": "value";
4801
+ "required": false;
4802
+ "isSignal": true;
4803
+ };
4804
+ "min": {
4805
+ "alias": "min";
4806
+ "required": false;
4807
+ "isSignal": true;
4808
+ };
4809
+ "max": {
4810
+ "alias": "max";
4811
+ "required": false;
4812
+ "isSignal": true;
4813
+ };
4814
+ "step": {
4815
+ "alias": "step";
4816
+ "required": false;
4817
+ "isSignal": true;
4818
+ };
4819
+ "disabled": {
4820
+ "alias": "disabled";
4821
+ "required": false;
4822
+ "isSignal": true;
4823
+ };
4753
4824
  "className": {
4754
4825
  "alias": "className";
4755
4826
  "required": false;
4756
4827
  "isSignal": true;
4757
4828
  };
4758
- }, {}, never, ["*"], true, never>;
4829
+ }, {
4830
+ "value": "valueChange";
4831
+ }, never, ["*"], true, never>;
4759
4832
  }
4760
4833
  /**
4761
4834
  * DialGroup — a group of dial components
@@ -4790,8 +4863,12 @@ export declare class DialGroup {
4790
4863
  */
4791
4864
  export declare class Dialog {
4792
4865
  readonly label: import("@angular/core").InputSignal<string>;
4793
- readonly open: import("@angular/core").InputSignal<boolean>;
4866
+ /** Whether the dialog is visible. Two-way bindable; Escape sets it to false. */
4867
+ readonly open: import("@angular/core").ModelSignal<boolean>;
4868
+ /** Whether the dialog is modal (`aria-modal`). */
4869
+ readonly modal: import("@angular/core").InputSignal<boolean>;
4794
4870
  readonly className: import("@angular/core").InputSignal<string>;
4871
+ protected onKeydown(event: KeyboardEvent): void;
4795
4872
  static ɵfac: i0.ɵɵFactoryDeclaration<Dialog, never>;
4796
4873
  static ɵcmp: i0.ɵɵComponentDeclaration<Dialog, "lily-dialog", never, {
4797
4874
  "label": {
@@ -4804,12 +4881,19 @@ export declare class Dialog {
4804
4881
  "required": false;
4805
4882
  "isSignal": true;
4806
4883
  };
4884
+ "modal": {
4885
+ "alias": "modal";
4886
+ "required": false;
4887
+ "isSignal": true;
4888
+ };
4807
4889
  "className": {
4808
4890
  "alias": "className";
4809
4891
  "required": false;
4810
4892
  "isSignal": true;
4811
4893
  };
4812
- }, {}, never, ["*"], true, never>;
4894
+ }, {
4895
+ "open": "openChange";
4896
+ }, never, ["*"], true, never>;
4813
4897
  }
4814
4898
  /**
4815
4899
  * Diff — a side-by-side comparison of two items
@@ -5073,7 +5157,12 @@ export declare class Draft {
5073
5157
  */
5074
5158
  export declare class Drawer {
5075
5159
  readonly label: import("@angular/core").InputSignal<string>;
5160
+ /** Whether the panel is shown. Two-way bindable; Escape sets it to false. */
5161
+ readonly open: import("@angular/core").ModelSignal<boolean>;
5162
+ /** Edge the panel attaches to; exposed as `data-side`. */
5163
+ readonly side: import("@angular/core").InputSignal<"left" | "right" | "top" | "bottom">;
5076
5164
  readonly className: import("@angular/core").InputSignal<string>;
5165
+ protected onKeydown(event: KeyboardEvent): void;
5077
5166
  static ɵfac: i0.ɵɵFactoryDeclaration<Drawer, never>;
5078
5167
  static ɵcmp: i0.ɵɵComponentDeclaration<Drawer, "lily-drawer", never, {
5079
5168
  "label": {
@@ -5081,12 +5170,24 @@ export declare class Drawer {
5081
5170
  "required": false;
5082
5171
  "isSignal": true;
5083
5172
  };
5173
+ "open": {
5174
+ "alias": "open";
5175
+ "required": false;
5176
+ "isSignal": true;
5177
+ };
5178
+ "side": {
5179
+ "alias": "side";
5180
+ "required": false;
5181
+ "isSignal": true;
5182
+ };
5084
5183
  "className": {
5085
5184
  "alias": "className";
5086
5185
  "required": false;
5087
5186
  "isSignal": true;
5088
5187
  };
5089
- }, {}, never, ["*"], true, never>;
5188
+ }, {
5189
+ "open": "openChange";
5190
+ }, never, ["*"], true, never>;
5090
5191
  }
5091
5192
  /**
5092
5193
  * DropdownMenu — a menu that opens below a trigger button
@@ -5097,7 +5198,13 @@ export declare class Drawer {
5097
5198
  */
5098
5199
  export declare class DropdownMenu {
5099
5200
  readonly label: import("@angular/core").InputSignal<string>;
5201
+ /** Whether the menu is open. Two-way bindable; Escape sets it to false. */
5202
+ readonly open: import("@angular/core").ModelSignal<boolean>;
5100
5203
  readonly className: import("@angular/core").InputSignal<string>;
5204
+ private readonly menu;
5205
+ constructor();
5206
+ /** Roving focus over the `role="menuitem"` descendants (WAI-ARIA APG menu pattern). */
5207
+ protected onKeydown(event: KeyboardEvent): void;
5101
5208
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenu, never>;
5102
5209
  static ɵcmp: i0.ɵɵComponentDeclaration<DropdownMenu, "lily-dropdown-menu", never, {
5103
5210
  "label": {
@@ -5105,12 +5212,19 @@ export declare class DropdownMenu {
5105
5212
  "required": false;
5106
5213
  "isSignal": true;
5107
5214
  };
5215
+ "open": {
5216
+ "alias": "open";
5217
+ "required": false;
5218
+ "isSignal": true;
5219
+ };
5108
5220
  "className": {
5109
5221
  "alias": "className";
5110
5222
  "required": false;
5111
5223
  "isSignal": true;
5112
5224
  };
5113
- }, {}, never, ["*"], true, never>;
5225
+ }, {
5226
+ "open": "openChange";
5227
+ }, never, ["*"], true, never>;
5114
5228
  }
5115
5229
  /**
5116
5230
  * Editable — an inline-editable text element that toggles between view and edit modes
@@ -5121,7 +5235,16 @@ export declare class DropdownMenu {
5121
5235
  */
5122
5236
  export declare class Editable {
5123
5237
  readonly label: import("@angular/core").InputSignal<string>;
5238
+ /** The committed value. Two-way bindable. */
5239
+ readonly value: import("@angular/core").ModelSignal<string>;
5240
+ /** Whether the text field is showing. Two-way bindable. */
5241
+ readonly editing: import("@angular/core").ModelSignal<boolean>;
5242
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
5124
5243
  readonly className: import("@angular/core").InputSignal<string>;
5244
+ protected readonly draft: import("@angular/core").WritableSignal<string>;
5245
+ protected startEditing(): void;
5246
+ protected onDisplayKeydown(event: KeyboardEvent): void;
5247
+ protected onInputKeydown(event: KeyboardEvent): void;
5125
5248
  static ɵfac: i0.ɵɵFactoryDeclaration<Editable, never>;
5126
5249
  static ɵcmp: i0.ɵɵComponentDeclaration<Editable, "lily-editable", never, {
5127
5250
  "label": {
@@ -5129,12 +5252,30 @@ export declare class Editable {
5129
5252
  "required": false;
5130
5253
  "isSignal": true;
5131
5254
  };
5255
+ "value": {
5256
+ "alias": "value";
5257
+ "required": false;
5258
+ "isSignal": true;
5259
+ };
5260
+ "editing": {
5261
+ "alias": "editing";
5262
+ "required": false;
5263
+ "isSignal": true;
5264
+ };
5265
+ "disabled": {
5266
+ "alias": "disabled";
5267
+ "required": false;
5268
+ "isSignal": true;
5269
+ };
5132
5270
  "className": {
5133
5271
  "alias": "className";
5134
5272
  "required": false;
5135
5273
  "isSignal": true;
5136
5274
  };
5137
- }, {}, never, ["*"], true, never>;
5275
+ }, {
5276
+ "value": "valueChange";
5277
+ "editing": "editingChange";
5278
+ }, never, never, true, never>;
5138
5279
  }
5139
5280
  /**
5140
5281
  * EditableForm — a form wrapper for inline editing of content
@@ -5145,7 +5286,15 @@ export declare class Editable {
5145
5286
  */
5146
5287
  export declare class EditableForm {
5147
5288
  readonly label: import("@angular/core").InputSignal<string>;
5289
+ /** Whether the form is showing. Two-way bindable; submit and Escape set it to false. */
5290
+ readonly editing: import("@angular/core").ModelSignal<boolean>;
5148
5291
  readonly className: import("@angular/core").InputSignal<string>;
5292
+ /** Emitted after the form is submitted (the native submit is prevented). */
5293
+ readonly submitted: import("@angular/core").OutputEmitterRef<SubmitEvent>;
5294
+ /** Emitted when Escape cancels editing. */
5295
+ readonly cancelled: import("@angular/core").OutputEmitterRef<void>;
5296
+ protected onSubmit(event: Event): void;
5297
+ protected onKeydown(event: KeyboardEvent): void;
5149
5298
  static ɵfac: i0.ɵɵFactoryDeclaration<EditableForm, never>;
5150
5299
  static ɵcmp: i0.ɵɵComponentDeclaration<EditableForm, "lily-editable-form", never, {
5151
5300
  "label": {
@@ -5153,12 +5302,21 @@ export declare class EditableForm {
5153
5302
  "required": false;
5154
5303
  "isSignal": true;
5155
5304
  };
5305
+ "editing": {
5306
+ "alias": "editing";
5307
+ "required": false;
5308
+ "isSignal": true;
5309
+ };
5156
5310
  "className": {
5157
5311
  "alias": "className";
5158
5312
  "required": false;
5159
5313
  "isSignal": true;
5160
5314
  };
5161
- }, {}, never, ["*"], true, never>;
5315
+ }, {
5316
+ "editing": "editingChange";
5317
+ "submitted": "submitted";
5318
+ "cancelled": "cancelled";
5319
+ }, never, ["*"], true, never>;
5162
5320
  }
5163
5321
  /**
5164
5322
  * EestiIsikukoodInput — an input for entering Estonia's Isikukood (IK)
@@ -7417,6 +7575,60 @@ export declare class HeatmapChart {
7417
7575
  };
7418
7576
  }, {}, never, ["*", "[dataTable]"], true, never>;
7419
7577
  }
7578
+ /**
7579
+ * HeatmapChartWithYearOfDays — a headless wrapper for a grid chart where cell colour encodes the value.
7580
+ *
7581
+ * Mirrors the Svelte canonical: the consumer supplies the inline <svg> as
7582
+ * projected content; nothing is drawn here. The graphic is a role="img"
7583
+ * wrapper named by `label` (`describedBy` is its aria-describedby). An
7584
+ * element projected with the `dataTable` attribute (`<table dataTable>`)
7585
+ * is rendered in `.heatmap-chart-with-year-of-days-data-table`, a SIBLING of the image wrapper:
7586
+ * role="img" makes descendants presentational, so a table inside it would
7587
+ * be invisible to assistive technology.
7588
+ * Keyboard: none on the graphic; the table follows native table behaviour.
7589
+ * Deviations from Svelte: no rest-props spread (Angular cannot spread onto
7590
+ * an inner element); the data-table wrapper is always rendered (Angular
7591
+ * cannot detect projected content), empty when nothing is projected.
7592
+ */
7593
+ export declare class HeatmapChartWithYearOfDays {
7594
+ /** Accessible name for the chart. */
7595
+ readonly label: import("@angular/core").InputSignal<string>;
7596
+ /** The calendar year shown (data-year). */
7597
+ readonly year: import("@angular/core").InputSignal<number>;
7598
+ /** First weekday row: 0 = Sunday … 6 = Saturday (data-week-start). No default: it is locale-dependent. */
7599
+ readonly weekStart: import("@angular/core").InputSignal<number>;
7600
+ /** Id of a description (aria-describedby on the image wrapper). */
7601
+ readonly describedBy: import("@angular/core").InputSignal<string>;
7602
+ readonly className: import("@angular/core").InputSignal<string>;
7603
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeatmapChartWithYearOfDays, never>;
7604
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeatmapChartWithYearOfDays, "lily-heatmap-chart-with-year-of-days", never, {
7605
+ "label": {
7606
+ "alias": "label";
7607
+ "required": true;
7608
+ "isSignal": true;
7609
+ };
7610
+ "year": {
7611
+ "alias": "year";
7612
+ "required": true;
7613
+ "isSignal": true;
7614
+ };
7615
+ "weekStart": {
7616
+ "alias": "weekStart";
7617
+ "required": true;
7618
+ "isSignal": true;
7619
+ };
7620
+ "describedBy": {
7621
+ "alias": "describedBy";
7622
+ "required": false;
7623
+ "isSignal": true;
7624
+ };
7625
+ "className": {
7626
+ "alias": "className";
7627
+ "required": false;
7628
+ "isSignal": true;
7629
+ };
7630
+ }, {}, never, ["*", "[dataTable]"], true, never>;
7631
+ }
7420
7632
  /**
7421
7633
  * Hero — a large box or image with a title and description
7422
7634
  *
@@ -7547,7 +7759,10 @@ export declare class Hint {
7547
7759
  */
7548
7760
  export declare class HorizontalScroller {
7549
7761
  readonly label: import("@angular/core").InputSignal<string>;
7762
+ /** Pixels scrolled by ArrowLeft / ArrowRight. */
7763
+ readonly step: import("@angular/core").InputSignal<number>;
7550
7764
  readonly className: import("@angular/core").InputSignal<string>;
7765
+ protected onKeydown(event: KeyboardEvent): void;
7551
7766
  static ɵfac: i0.ɵɵFactoryDeclaration<HorizontalScroller, never>;
7552
7767
  static ɵcmp: i0.ɵɵComponentDeclaration<HorizontalScroller, "lily-horizontal-scroller", never, {
7553
7768
  "label": {
@@ -7555,6 +7770,11 @@ export declare class HorizontalScroller {
7555
7770
  "required": false;
7556
7771
  "isSignal": true;
7557
7772
  };
7773
+ "step": {
7774
+ "alias": "step";
7775
+ "required": false;
7776
+ "isSignal": true;
7777
+ };
7558
7778
  "className": {
7559
7779
  "alias": "className";
7560
7780
  "required": false;
@@ -10104,6 +10324,8 @@ export declare class MentionsInput {
10104
10324
  export declare class Menu {
10105
10325
  readonly label: import("@angular/core").InputSignal<string>;
10106
10326
  readonly className: import("@angular/core").InputSignal<string>;
10327
+ /** Roving focus over the `role="menuitem"` descendants (WAI-ARIA APG menu pattern). */
10328
+ protected onKeydown(event: KeyboardEvent): void;
10107
10329
  static ɵfac: i0.ɵɵFactoryDeclaration<Menu, never>;
10108
10330
  static ɵcmp: i0.ɵɵComponentDeclaration<Menu, "lily-menu", never, {
10109
10331
  "label": {
@@ -10128,6 +10350,8 @@ export declare class Menu {
10128
10350
  export declare class MenuBar {
10129
10351
  readonly label: import("@angular/core").InputSignal<string>;
10130
10352
  readonly className: import("@angular/core").InputSignal<string>;
10353
+ /** Roving focus left/right over the `role="menuitem"` descendants. */
10354
+ protected onKeydown(event: KeyboardEvent): void;
10131
10355
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuBar, never>;
10132
10356
  static ɵcmp: i0.ɵɵComponentDeclaration<MenuBar, "lily-menu-bar", never, {
10133
10357
  "label": {
@@ -10340,6 +10564,89 @@ export declare class MexicoClaveUnicaDeRegistroDePoblacionView {
10340
10564
  };
10341
10565
  }, {}, never, never, true, never>;
10342
10566
  }
10567
+ /**
10568
+ * Middle truncation: shorten a string to fit a width by cutting out the middle, keeping the start and the end ("report-fi…q3.pdf").
10569
+ * Pure and framework-neutral: the caller supplies `measure`, so the module reads no DOM and is tested without a browser.
10570
+ *
10571
+ * Works on grapheme clusters (Intl.Segmenter, falling back to code points), so it never splits a surrogate pair, a combining
10572
+ * sequence or an emoji. The width search is binary, so it measures O(log n) candidate strings.
10573
+ *
10574
+ * Strategies:
10575
+ * "even" the start and the end share what fits, the end taking the extra cluster when the count is odd.
10576
+ * "fixed-end" exactly `end` clusters are kept at the end; the start takes all the remaining room.
10577
+ * "min-end" an even split, but at least `end` clusters are kept at the end (a file extension, a domain suffix).
10578
+ */
10579
+ export type TruncationStrategy = "even" | "fixed-end" | "min-end";
10580
+ export interface TruncateMiddleOptions {
10581
+ /** The ellipsis string. Required: the module has no default text (internationalisation). */
10582
+ ellipsis: string;
10583
+ /** The width available to the whole result, in the unit `measure` returns. */
10584
+ maxWidth: number;
10585
+ /** Width of a string in the same unit as `maxWidth`. */
10586
+ measure: (text: string) => number;
10587
+ strategy?: TruncationStrategy;
10588
+ /** Clusters kept at the end for "fixed-end" and "min-end". Ignored by "even". */
10589
+ end?: number;
10590
+ }
10591
+ /** Split into user-perceived characters. */
10592
+ declare function splitGraphemes(text: string): string[];
10593
+ /** The text shortened to fit `maxWidth`, or unchanged when it already fits. */
10594
+ declare function truncateMiddle(text: string, options: TruncateMiddleOptions): string;
10595
+ /**
10596
+ * MiddleTruncation — a string shortened in the middle to fit its width, keeping the start and the end.
10597
+ *
10598
+ * Mirrors the Svelte canonical: the width is measured in the browser (canvas text metrics in the element's own font)
10599
+ * and re-measured when the container resizes; until then, and on the server, the full text is shown. The shortened string
10600
+ * is aria-hidden and the whole text sits in `.middle-truncation-full`, which the consumer visually hides, so assistive
10601
+ * technology, find-in-page and copy get the real text.
10602
+ *
10603
+ * Inputs: `text` (required), `ellipsis` (required, no default), `strategy` ("even" | "fixed-end" | "min-end"), `end`, `className`.
10604
+ * Keyboard: none.
10605
+ * Deviation from Svelte: no rest-props spread (Angular cannot spread onto an inner element).
10606
+ */
10607
+ export declare class MiddleTruncation {
10608
+ readonly className: import("@angular/core").InputSignal<string>;
10609
+ /** The full text. */
10610
+ readonly text: import("@angular/core").InputSignal<string>;
10611
+ /** The cut marker; no default. */
10612
+ readonly ellipsis: import("@angular/core").InputSignal<string>;
10613
+ /** How the room is shared between start and end. */
10614
+ readonly strategy: import("@angular/core").InputSignal<TruncationStrategy>;
10615
+ /** Characters kept at the end for "fixed-end" and "min-end". */
10616
+ readonly end: import("@angular/core").InputSignal<number | undefined>;
10617
+ private readonly root;
10618
+ protected readonly shown: import("@angular/core").WritableSignal<string | null>;
10619
+ private context;
10620
+ constructor();
10621
+ static ɵfac: i0.ɵɵFactoryDeclaration<MiddleTruncation, never>;
10622
+ static ɵcmp: i0.ɵɵComponentDeclaration<MiddleTruncation, "lily-middle-truncation", never, {
10623
+ "className": {
10624
+ "alias": "className";
10625
+ "required": false;
10626
+ "isSignal": true;
10627
+ };
10628
+ "text": {
10629
+ "alias": "text";
10630
+ "required": true;
10631
+ "isSignal": true;
10632
+ };
10633
+ "ellipsis": {
10634
+ "alias": "ellipsis";
10635
+ "required": true;
10636
+ "isSignal": true;
10637
+ };
10638
+ "strategy": {
10639
+ "alias": "strategy";
10640
+ "required": false;
10641
+ "isSignal": true;
10642
+ };
10643
+ "end": {
10644
+ "alias": "end";
10645
+ "required": false;
10646
+ "isSignal": true;
10647
+ };
10648
+ }, {}, never, never, true, never>;
10649
+ }
10343
10650
  /**
10344
10651
  * MisrAlRaqmAlQawmiInput — an input for entering Egypt's الرقم القومي (National Number)
10345
10652
  *
@@ -12136,9 +12443,25 @@ export declare class PilipinasPhilhealthIdentificationNumberView {
12136
12443
  * kebab-case class hook `pin-input-div` and the consumer-provided `className`.
12137
12444
  * Ships zero CSS; the consumer styles via the class hook.
12138
12445
  */
12139
- export declare class PinInputDiv {
12446
+ export declare class PinInputDiv implements OnInit {
12140
12447
  readonly label: import("@angular/core").InputSignal<string>;
12448
+ readonly length: import("@angular/core").InputSignal<number>;
12449
+ /** Accessible name of one box, e.g. `(n, total) => ...`. Falls back to `label`. */
12450
+ readonly digitLabel: import("@angular/core").InputSignal<((position: number, length: number) => string) | undefined>;
12451
+ /** The digits entered so far, as one string. Two-way bindable. */
12452
+ readonly value: import("@angular/core").ModelSignal<string>;
12453
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
12141
12454
  readonly className: import("@angular/core").InputSignal<string>;
12455
+ protected readonly digits: import("@angular/core").WritableSignal<string[]>;
12456
+ protected readonly indexes: import("@angular/core").Signal<number[]>;
12457
+ private readonly inputs;
12458
+ private initialDigits;
12459
+ private readonly host;
12460
+ constructor();
12461
+ ngOnInit(): void;
12462
+ protected digitName(index: number): string | null;
12463
+ protected onInput(index: number, event: Event): void;
12464
+ protected onKeydown(index: number, event: KeyboardEvent): void;
12142
12465
  static ɵfac: i0.ɵɵFactoryDeclaration<PinInputDiv, never>;
12143
12466
  static ɵcmp: i0.ɵɵComponentDeclaration<PinInputDiv, "lily-pin-input-div", never, {
12144
12467
  "label": {
@@ -12146,12 +12469,34 @@ export declare class PinInputDiv {
12146
12469
  "required": false;
12147
12470
  "isSignal": true;
12148
12471
  };
12472
+ "length": {
12473
+ "alias": "length";
12474
+ "required": false;
12475
+ "isSignal": true;
12476
+ };
12477
+ "digitLabel": {
12478
+ "alias": "digitLabel";
12479
+ "required": false;
12480
+ "isSignal": true;
12481
+ };
12482
+ "value": {
12483
+ "alias": "value";
12484
+ "required": false;
12485
+ "isSignal": true;
12486
+ };
12487
+ "disabled": {
12488
+ "alias": "disabled";
12489
+ "required": false;
12490
+ "isSignal": true;
12491
+ };
12149
12492
  "className": {
12150
12493
  "alias": "className";
12151
12494
  "required": false;
12152
12495
  "isSignal": true;
12153
12496
  };
12154
- }, {}, never, ["*"], true, never>;
12497
+ }, {
12498
+ "value": "valueChange";
12499
+ }, never, never, true, never>;
12155
12500
  }
12156
12501
  /**
12157
12502
  * Place — a place component that contains other place-related information
@@ -14334,7 +14679,12 @@ export declare class SharePage {
14334
14679
  */
14335
14680
  export declare class Sheet {
14336
14681
  readonly label: import("@angular/core").InputSignal<string>;
14682
+ /** Whether the panel is shown. Two-way bindable; Escape sets it to false. */
14683
+ readonly open: import("@angular/core").ModelSignal<boolean>;
14684
+ /** Edge the panel attaches to; exposed as `data-side`. */
14685
+ readonly side: import("@angular/core").InputSignal<"left" | "right" | "top" | "bottom">;
14337
14686
  readonly className: import("@angular/core").InputSignal<string>;
14687
+ protected onKeydown(event: KeyboardEvent): void;
14338
14688
  static ɵfac: i0.ɵɵFactoryDeclaration<Sheet, never>;
14339
14689
  static ɵcmp: i0.ɵɵComponentDeclaration<Sheet, "lily-sheet", never, {
14340
14690
  "label": {
@@ -14342,12 +14692,24 @@ export declare class Sheet {
14342
14692
  "required": false;
14343
14693
  "isSignal": true;
14344
14694
  };
14695
+ "open": {
14696
+ "alias": "open";
14697
+ "required": false;
14698
+ "isSignal": true;
14699
+ };
14700
+ "side": {
14701
+ "alias": "side";
14702
+ "required": false;
14703
+ "isSignal": true;
14704
+ };
14345
14705
  "className": {
14346
14706
  "alias": "className";
14347
14707
  "required": false;
14348
14708
  "isSignal": true;
14349
14709
  };
14350
- }, {}, never, ["*"], true, never>;
14710
+ }, {
14711
+ "open": "openChange";
14712
+ }, never, ["*"], true, never>;
14351
14713
  }
14352
14714
  /**
14353
14715
  * ShowMore — a content region clamped to a shorter height with a button that reveals the rest
@@ -14587,7 +14949,10 @@ export declare class SkipLink {
14587
14949
  */
14588
14950
  export declare class SlideOutDrawer {
14589
14951
  readonly label: import("@angular/core").InputSignal<string>;
14952
+ /** Whether the panel is shown. Two-way bindable; Escape sets it to false. */
14953
+ readonly open: import("@angular/core").ModelSignal<boolean>;
14590
14954
  readonly className: import("@angular/core").InputSignal<string>;
14955
+ protected onKeydown(event: KeyboardEvent): void;
14591
14956
  static ɵfac: i0.ɵɵFactoryDeclaration<SlideOutDrawer, never>;
14592
14957
  static ɵcmp: i0.ɵɵComponentDeclaration<SlideOutDrawer, "lily-slide-out-drawer", never, {
14593
14958
  "label": {
@@ -14595,12 +14960,19 @@ export declare class SlideOutDrawer {
14595
14960
  "required": false;
14596
14961
  "isSignal": true;
14597
14962
  };
14963
+ "open": {
14964
+ "alias": "open";
14965
+ "required": false;
14966
+ "isSignal": true;
14967
+ };
14598
14968
  "className": {
14599
14969
  "alias": "className";
14600
14970
  "required": false;
14601
14971
  "isSignal": true;
14602
14972
  };
14603
- }, {}, never, ["*"], true, never>;
14973
+ }, {
14974
+ "open": "openChange";
14975
+ }, never, ["*"], true, never>;
14604
14976
  }
14605
14977
  /**
14606
14978
  * Slider — a draggable control for selecting a value along a track
@@ -15666,10 +16038,16 @@ export declare class SverigePersonnummerView {
15666
16038
  * Ships zero CSS; the consumer styles via the class hook.
15667
16039
  */
15668
16040
  export declare class SwitchButton {
15669
- /** Optional aria-label override. */
15670
16041
  readonly label: import("@angular/core").InputSignal<string>;
15671
- /** Extra CSS classes appended to the base class. */
16042
+ /** Whether the control is on. Two-way bindable. */
16043
+ readonly checked: import("@angular/core").ModelSignal<boolean>;
16044
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
15672
16045
  readonly className: import("@angular/core").InputSignal<string>;
16046
+ /**
16047
+ * Space and Enter activate a native <button> through `click`, so no key handler is
16048
+ * needed (and none can double-toggle).
16049
+ */
16050
+ protected toggle(): void;
15673
16051
  static ɵfac: i0.ɵɵFactoryDeclaration<SwitchButton, never>;
15674
16052
  static ɵcmp: i0.ɵɵComponentDeclaration<SwitchButton, "lily-switch-button", never, {
15675
16053
  "label": {
@@ -15677,12 +16055,24 @@ export declare class SwitchButton {
15677
16055
  "required": false;
15678
16056
  "isSignal": true;
15679
16057
  };
16058
+ "checked": {
16059
+ "alias": "checked";
16060
+ "required": false;
16061
+ "isSignal": true;
16062
+ };
16063
+ "disabled": {
16064
+ "alias": "disabled";
16065
+ "required": false;
16066
+ "isSignal": true;
16067
+ };
15680
16068
  "className": {
15681
16069
  "alias": "className";
15682
16070
  "required": false;
15683
16071
  "isSignal": true;
15684
16072
  };
15685
- }, {}, never, ["*"], true, never>;
16073
+ }, {
16074
+ "checked": "checkedChange";
16075
+ }, never, ["*"], true, never>;
15686
16076
  }
15687
16077
  /**
15688
16078
  * TabBar — a group of tabs for switching between content panels
@@ -15694,6 +16084,8 @@ export declare class SwitchButton {
15694
16084
  export declare class TabBar {
15695
16085
  readonly label: import("@angular/core").InputSignal<string>;
15696
16086
  readonly className: import("@angular/core").InputSignal<string>;
16087
+ /** Roving focus over the `role="tab"` descendants (left/right, wrapping; Home/End). */
16088
+ protected onKeydown(event: KeyboardEvent): void;
15697
16089
  static ɵfac: i0.ɵɵFactoryDeclaration<TabBar, never>;
15698
16090
  static ɵcmp: i0.ɵɵComponentDeclaration<TabBar, "lily-tab-bar", never, {
15699
16091
  "label": {
@@ -15718,6 +16110,10 @@ export declare class TabBar {
15718
16110
  export declare class TabBarButton {
15719
16111
  /** Optional aria-label override. */
15720
16112
  readonly label: import("@angular/core").InputSignal<string>;
16113
+ /** Whether this tab is the selected one (roving tabindex: only it is tabbable). */
16114
+ readonly selected: import("@angular/core").InputSignal<boolean>;
16115
+ /** Id of the tab panel this tab controls. */
16116
+ readonly controls: import("@angular/core").InputSignal<string>;
15721
16117
  /** Extra CSS classes appended to the base class. */
15722
16118
  readonly className: import("@angular/core").InputSignal<string>;
15723
16119
  static ɵfac: i0.ɵɵFactoryDeclaration<TabBarButton, never>;
@@ -15727,6 +16123,16 @@ export declare class TabBarButton {
15727
16123
  "required": false;
15728
16124
  "isSignal": true;
15729
16125
  };
16126
+ "selected": {
16127
+ "alias": "selected";
16128
+ "required": false;
16129
+ "isSignal": true;
16130
+ };
16131
+ "controls": {
16132
+ "alias": "controls";
16133
+ "required": false;
16134
+ "isSignal": true;
16135
+ };
15730
16136
  "className": {
15731
16137
  "alias": "className";
15732
16138
  "required": false;
@@ -16040,6 +16446,8 @@ export declare class TagInput {
16040
16446
  export declare class TaskBar {
16041
16447
  readonly label: import("@angular/core").InputSignal<string>;
16042
16448
  readonly className: import("@angular/core").InputSignal<string>;
16449
+ /** Roving focus over buttons and tabindex descendants (left/right, wrapping; Home/End). */
16450
+ protected onKeydown(event: KeyboardEvent): void;
16043
16451
  static ɵfac: i0.ɵɵFactoryDeclaration<TaskBar, never>;
16044
16452
  static ɵcmp: i0.ɵɵComponentDeclaration<TaskBar, "lily-task-bar", never, {
16045
16453
  "label": {
@@ -16542,6 +16950,12 @@ export declare class Tile {
16542
16950
  export declare class TileMap {
16543
16951
  readonly label: import("@angular/core").InputSignal<string>;
16544
16952
  readonly className: import("@angular/core").InputSignal<string>;
16953
+ /**
16954
+ * Arrow keys move focus between `[data-tile]` descendants (left/right by order, up/down to the
16955
+ * nearest tile in the row above or below); Enter / Space fire a bubbling `tile-activate` event
16956
+ * on the focused tile; Escape blurs it.
16957
+ */
16958
+ protected onKeydown(event: KeyboardEvent): void;
16545
16959
  static ɵfac: i0.ɵɵFactoryDeclaration<TileMap, never>;
16546
16960
  static ɵcmp: i0.ɵɵComponentDeclaration<TileMap, "lily-tile-map", never, {
16547
16961
  "label": {
@@ -16813,10 +17227,16 @@ export declare class Toast {
16813
17227
  * Ships zero CSS; the consumer styles via the class hook.
16814
17228
  */
16815
17229
  export declare class ToggleButton {
16816
- /** Optional aria-label override. */
16817
17230
  readonly label: import("@angular/core").InputSignal<string>;
16818
- /** Extra CSS classes appended to the base class. */
17231
+ /** Whether the control is on. Two-way bindable. */
17232
+ readonly pressed: import("@angular/core").ModelSignal<boolean>;
17233
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
16819
17234
  readonly className: import("@angular/core").InputSignal<string>;
17235
+ /**
17236
+ * Space and Enter activate a native <button> through `click`, so no key handler is
17237
+ * needed (and none can double-toggle).
17238
+ */
17239
+ protected toggle(): void;
16820
17240
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleButton, never>;
16821
17241
  static ɵcmp: i0.ɵɵComponentDeclaration<ToggleButton, "lily-toggle-button", never, {
16822
17242
  "label": {
@@ -16824,12 +17244,24 @@ export declare class ToggleButton {
16824
17244
  "required": false;
16825
17245
  "isSignal": true;
16826
17246
  };
17247
+ "pressed": {
17248
+ "alias": "pressed";
17249
+ "required": false;
17250
+ "isSignal": true;
17251
+ };
17252
+ "disabled": {
17253
+ "alias": "disabled";
17254
+ "required": false;
17255
+ "isSignal": true;
17256
+ };
16827
17257
  "className": {
16828
17258
  "alias": "className";
16829
17259
  "required": false;
16830
17260
  "isSignal": true;
16831
17261
  };
16832
- }, {}, never, ["*"], true, never>;
17262
+ }, {
17263
+ "pressed": "pressedChange";
17264
+ }, never, ["*"], true, never>;
16833
17265
  }
16834
17266
  /**
16835
17267
  * ToggleGroup — a group of toggle buttons for selecting options
@@ -16865,6 +17297,8 @@ export declare class ToggleGroup {
16865
17297
  export declare class ToolBar {
16866
17298
  readonly label: import("@angular/core").InputSignal<string>;
16867
17299
  readonly className: import("@angular/core").InputSignal<string>;
17300
+ /** Roving focus over buttons and tabindex descendants (left/right, wrapping; Home/End). */
17301
+ protected onKeydown(event: KeyboardEvent): void;
16868
17302
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolBar, never>;
16869
17303
  static ɵcmp: i0.ɵɵComponentDeclaration<ToolBar, "lily-tool-bar", never, {
16870
17304
  "label": {
@@ -17085,7 +17519,10 @@ export declare class Tooltip {
17085
17519
  */
17086
17520
  export declare class Tour {
17087
17521
  readonly label: import("@angular/core").InputSignal<string>;
17522
+ /** Whether the tour is showing. Two-way bindable; Escape sets it to false. */
17523
+ readonly active: import("@angular/core").ModelSignal<boolean>;
17088
17524
  readonly className: import("@angular/core").InputSignal<string>;
17525
+ protected onKeydown(event: KeyboardEvent): void;
17089
17526
  static ɵfac: i0.ɵɵFactoryDeclaration<Tour, never>;
17090
17527
  static ɵcmp: i0.ɵɵComponentDeclaration<Tour, "lily-tour", never, {
17091
17528
  "label": {
@@ -17093,12 +17530,19 @@ export declare class Tour {
17093
17530
  "required": false;
17094
17531
  "isSignal": true;
17095
17532
  };
17533
+ "active": {
17534
+ "alias": "active";
17535
+ "required": false;
17536
+ "isSignal": true;
17537
+ };
17096
17538
  "className": {
17097
17539
  "alias": "className";
17098
17540
  "required": false;
17099
17541
  "isSignal": true;
17100
17542
  };
17101
- }, {}, never, ["*"], true, never>;
17543
+ }, {
17544
+ "active": "activeChange";
17545
+ }, never, ["*"], true, never>;
17102
17546
  }
17103
17547
  /**
17104
17548
  * TourList — an ordered list of tour guide steps
@@ -17109,7 +17553,10 @@ export declare class Tour {
17109
17553
  */
17110
17554
  export declare class TourList {
17111
17555
  readonly label: import("@angular/core").InputSignal<string>;
17556
+ /** Whether the tour is showing. Two-way bindable; Escape sets it to false. */
17557
+ readonly active: import("@angular/core").ModelSignal<boolean>;
17112
17558
  readonly className: import("@angular/core").InputSignal<string>;
17559
+ protected onKeydown(event: KeyboardEvent): void;
17113
17560
  static ɵfac: i0.ɵɵFactoryDeclaration<TourList, never>;
17114
17561
  static ɵcmp: i0.ɵɵComponentDeclaration<TourList, "lily-tour-list", never, {
17115
17562
  "label": {
@@ -17117,12 +17564,19 @@ export declare class TourList {
17117
17564
  "required": false;
17118
17565
  "isSignal": true;
17119
17566
  };
17567
+ "active": {
17568
+ "alias": "active";
17569
+ "required": false;
17570
+ "isSignal": true;
17571
+ };
17120
17572
  "className": {
17121
17573
  "alias": "className";
17122
17574
  "required": false;
17123
17575
  "isSignal": true;
17124
17576
  };
17125
- }, {}, never, ["*"], true, never>;
17577
+ }, {
17578
+ "active": "activeChange";
17579
+ }, never, ["*"], true, never>;
17126
17580
  }
17127
17581
  /**
17128
17582
  * TourListItem — one step in a tour guide list
@@ -17211,6 +17665,8 @@ export declare class TreeLink {
17211
17665
  export declare class TreeList {
17212
17666
  readonly label: import("@angular/core").InputSignal<string>;
17213
17667
  readonly className: import("@angular/core").InputSignal<string>;
17668
+ /** Focus moves over the `role="treeitem"` descendants (up/down, wrapping; Home/End). */
17669
+ protected onKeydown(event: KeyboardEvent): void;
17214
17670
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeList, never>;
17215
17671
  static ɵcmp: i0.ɵɵComponentDeclaration<TreeList, "lily-tree-list", never, {
17216
17672
  "label": {
@@ -17239,6 +17695,9 @@ export declare class TreeList {
17239
17695
  */
17240
17696
  export declare class TreeListItem {
17241
17697
  readonly className: import("@angular/core").InputSignal<string>;
17698
+ /** Expanded state, two-way bindable. Leave undefined for a leaf (no aria-expanded). */
17699
+ readonly expanded: import("@angular/core").ModelSignal<boolean | undefined>;
17700
+ protected onKeydown(event: KeyboardEvent): void;
17242
17701
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeListItem, never>;
17243
17702
  static ɵcmp: i0.ɵɵComponentDeclaration<TreeListItem, "li[lily-tree-list-item]", never, {
17244
17703
  "className": {
@@ -17246,7 +17705,14 @@ export declare class TreeListItem {
17246
17705
  "required": false;
17247
17706
  "isSignal": true;
17248
17707
  };
17249
- }, {}, never, ["*"], true, never>;
17708
+ "expanded": {
17709
+ "alias": "expanded";
17710
+ "required": false;
17711
+ "isSignal": true;
17712
+ };
17713
+ }, {
17714
+ "expanded": "expandedChange";
17715
+ }, never, ["*"], true, never>;
17250
17716
  }
17251
17717
  /**
17252
17718
  * TreeMenu — a hierarchical tree menu with expandable branches
@@ -18061,6 +18527,131 @@ export declare class WeekInput {
18061
18527
  "value": "valueChange";
18062
18528
  }, never, never, true, never>;
18063
18529
  }
18530
+ /**
18531
+ * Keyboard model for a wheel picker: a single-select listbox where the selection follows the cursor (APG listbox, "selection
18532
+ * follows focus"), so moving the cursor IS choosing. Pure and framework-neutral, tested without a browser.
18533
+ *
18534
+ * Disabled options are skipped by every move. Arrows wrap only when `loop` is set; Home, End, PageUp and PageDown never wrap.
18535
+ */
18536
+ export interface WheelOption {
18537
+ value: string;
18538
+ label: string;
18539
+ disabled?: boolean;
18540
+ }
18541
+ export type WheelMoveKey = "ArrowUp" | "ArrowDown" | "Home" | "End" | "PageUp" | "PageDown";
18542
+ declare const WHEEL_MOVE_KEYS: readonly string[];
18543
+ export interface WheelMoveOptions {
18544
+ /** Arrow keys wrap from the last enabled option to the first and back. Default false. */
18545
+ loop?: boolean;
18546
+ /** Enabled options PageUp / PageDown move by. Default 5. */
18547
+ pageSize?: number;
18548
+ }
18549
+ /**
18550
+ * The index to select after `key`, or -1 when no option can be selected. `current` is the selected index, or -1 for none.
18551
+ * With nothing selected, ArrowDown / PageDown / Home choose the first enabled option and ArrowUp / PageUp / End the last.
18552
+ */
18553
+ declare function nextWheelIndex(options: readonly WheelOption[], current: number, key: WheelMoveKey, move?: WheelMoveOptions): number;
18554
+ declare const WHEEL_TYPEAHEAD_RESET_MS = 700;
18555
+ export interface WheelTypeahead {
18556
+ prefix: string;
18557
+ at: number;
18558
+ }
18559
+ /** The prefix after `key` at time `now`: it grows while presses are within the reset time, else starts over. */
18560
+ declare function nextWheelPrefix(previous: WheelTypeahead, key: string, now: number, resetMs?: number): WheelTypeahead;
18561
+ /** Whether a key press is a type-ahead character: one printable character other than space, no Ctrl, Alt or Meta. */
18562
+ declare function isWheelTypeaheadKey(event: {
18563
+ key: string;
18564
+ ctrlKey?: boolean;
18565
+ altKey?: boolean;
18566
+ metaKey?: boolean;
18567
+ }): boolean;
18568
+ /**
18569
+ * The enabled option to move to for the typed `prefix`, or -1. Searches from the option after `current` and wraps; a prefix of one
18570
+ * repeated letter ("ss") counts as that single letter, so pressing it again steps through the options that start with it.
18571
+ */
18572
+ declare function wheelTypeaheadIndex(options: readonly WheelOption[], current: number, prefix: string): number;
18573
+ /**
18574
+ * WheelPicker — a vertical single-select listbox where the selection follows the cursor.
18575
+ *
18576
+ * Mirrors the Svelte canonical: moving with the arrow keys, typing, or clicking an option chooses it. The component owns
18577
+ * the roles and the keys; the wheel LOOK (scroll snapping, fading) is the consumer's CSS. `value` is a two-way `model`
18578
+ * (`[(value)]`); the listbox is `.wheel-picker-list` (`role="listbox"`, vertical, `aria-activedescendant`), each option
18579
+ * `.wheel-picker-option` (`role="option"`, `aria-selected`, `aria-disabled`). Keyboard (APG listbox, selection follows
18580
+ * focus): ArrowDown / ArrowUp, Home / End, PageDown / PageUp, type-ahead over the labels; disabled options are skipped.
18581
+ *
18582
+ * Inputs: `label` (required), `options` (required), `value` (model), `loop`, `pageSize`, `disabled`, `name`, `className`.
18583
+ * Deviation from Svelte: no rest-props spread (Angular cannot spread onto an inner element).
18584
+ */
18585
+ export declare class WheelPicker {
18586
+ readonly className: import("@angular/core").InputSignal<string>;
18587
+ /** Accessible name. */
18588
+ readonly label: import("@angular/core").InputSignal<string>;
18589
+ /** The choices. */
18590
+ readonly options: import("@angular/core").InputSignal<WheelOption[]>;
18591
+ /** The selected option's value; two-way. */
18592
+ readonly value: import("@angular/core").ModelSignal<string>;
18593
+ /** Arrow keys wrap at the ends. */
18594
+ readonly loop: import("@angular/core").InputSignal<boolean>;
18595
+ /** Enabled options PageUp / PageDown move by. */
18596
+ readonly pageSize: import("@angular/core").InputSignal<number>;
18597
+ /** Ignores keys and clicks. */
18598
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
18599
+ /** Form field name for a hidden input. */
18600
+ readonly name: import("@angular/core").InputSignal<string | undefined>;
18601
+ protected readonly uid: string;
18602
+ private readonly list;
18603
+ private typeahead;
18604
+ protected selectedIndex(): number;
18605
+ constructor();
18606
+ private select;
18607
+ protected onKeydown(event: KeyboardEvent): void;
18608
+ protected onClick(event: MouseEvent): void;
18609
+ static ɵfac: i0.ɵɵFactoryDeclaration<WheelPicker, never>;
18610
+ static ɵcmp: i0.ɵɵComponentDeclaration<WheelPicker, "lily-wheel-picker", never, {
18611
+ "className": {
18612
+ "alias": "className";
18613
+ "required": false;
18614
+ "isSignal": true;
18615
+ };
18616
+ "label": {
18617
+ "alias": "label";
18618
+ "required": true;
18619
+ "isSignal": true;
18620
+ };
18621
+ "options": {
18622
+ "alias": "options";
18623
+ "required": true;
18624
+ "isSignal": true;
18625
+ };
18626
+ "value": {
18627
+ "alias": "value";
18628
+ "required": false;
18629
+ "isSignal": true;
18630
+ };
18631
+ "loop": {
18632
+ "alias": "loop";
18633
+ "required": false;
18634
+ "isSignal": true;
18635
+ };
18636
+ "pageSize": {
18637
+ "alias": "pageSize";
18638
+ "required": false;
18639
+ "isSignal": true;
18640
+ };
18641
+ "disabled": {
18642
+ "alias": "disabled";
18643
+ "required": false;
18644
+ "isSignal": true;
18645
+ };
18646
+ "name": {
18647
+ "alias": "name";
18648
+ "required": false;
18649
+ "isSignal": true;
18650
+ };
18651
+ }, {
18652
+ "value": "valueChange";
18653
+ }, never, never, true, never>;
18654
+ }
18064
18655
  /**
18065
18656
  * YisraelTeudatZehutInput — an input for entering Israel's Teudat Zehut (תעודת זהות)
18066
18657
  *