@gravionlabs/helix-ui 22.2.4 → 22.2.6

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.
@@ -1798,9 +1798,30 @@ export declare class HxDataTable implements OnInit {
1798
1798
  "expandedRowKeys": "expandedRowKeysChange";
1799
1799
  }, ["cellTemplates", "headerTemplate", "bodyTemplate", "footerTemplate", "captionTemplate", "expansionTemplate", "emptyTemplate"], never, true, never>;
1800
1800
  }
1801
+ type CalendarView = 'day' | 'month' | 'year';
1802
+ interface DisabledRules {
1803
+ min?: Date | null;
1804
+ max?: Date | null;
1805
+ disabledDates?: readonly Date[];
1806
+ }
1807
+ /** `2026-9-5`, the `data-date` of a day button. */
1808
+ declare function dateKey(date: Date): string;
1809
+ /** Whether a day lies outside `min`..`max` (by day) or is one of `disabledDates`. */
1810
+ declare function isDateDisabled(date: Date, rules: DisabledRules): boolean;
1811
+ /** Whether a day lies strictly between the two dates of a complete range. */
1812
+ declare function isInRange(date: Date, selected: readonly Date[], mode: string): boolean;
1813
+ /** The focused day after the previous (`-1`) or next (`1`) button of the header: a month, a year or 12 years. */
1814
+ declare function stepFocus(view: CalendarView, current: Date, direction: 1 | -1): Date;
1815
+ /** The focused day after choosing a month (`0` to `11`) in the month view. */
1816
+ declare function focusMonth(current: Date, month: number): Date;
1817
+ /** The focused day after choosing a year in the year view. */
1818
+ declare function focusYear(current: Date, year: number): Date;
1819
+ /** The 12 years of the page that holds `year`. */
1820
+ declare function decadeOf(year: number): number[];
1821
+ /** The day a key of the day grid moves the focus to, or `null` for a key that does nothing. */
1822
+ declare function dayKeyTarget(key: string, date: Date, firstDayOfWeek: number, shift?: boolean): Date | null;
1801
1823
  type HxDatePickerSelectionMode = 'single' | 'range' | 'multiple';
1802
1824
  type HxDatePickerValue = Date | Date[] | null;
1803
- type CalendarView = 'day' | 'month' | 'year';
1804
1825
  /**
1805
1826
  * A date field that opens a calendar, or with `[inline]="true"` the calendar alone, to choose a day, a range or
1806
1827
  * several days. Typing a date in the field parses it; month and year views are one click on the title. Day, month and weekday names come from `Intl.DateTimeFormat` for the `locale`.
@@ -1829,8 +1850,10 @@ export declare class HxDatePicker implements ControlValueAccessor, FormValueCont
1829
1850
  readonly showIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
1830
1851
  /** Today and Clear buttons under the calendar of the popup. */
1831
1852
  readonly showButtonBar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
1832
- /** `Intl.DateTimeFormat` options of the text in the field (numeric by default, so a typed date parses back). */
1833
- readonly dateFormat: import("@angular/core").InputSignal<Intl.DateTimeFormatOptions>;
1853
+ /**
1854
+ * `Intl.DateTimeFormat` options of the text in the field. By default numeric, so a typed date parses back.
1855
+ */
1856
+ readonly dateFormat: import("@angular/core").InputSignal<Intl.DateTimeFormatOptions | undefined>;
1834
1857
  readonly todayLabel: import("@angular/core").InputSignal<string>;
1835
1858
  readonly clearLabel: import("@angular/core").InputSignal<string>;
1836
1859
  readonly chooseLabel: import("@angular/core").InputSignal<string>;
@@ -1859,21 +1882,14 @@ export declare class HxDatePicker implements ControlValueAccessor, FormValueCont
1859
1882
  protected readonly popupId: string;
1860
1883
  protected readonly positions: ConnectedPosition[];
1861
1884
  private readonly field;
1885
+ private readonly calendar;
1862
1886
  protected readonly view: import("@angular/core").WritableSignal<CalendarView>;
1863
1887
  protected readonly isDisabled: import("@angular/core").Signal<boolean>;
1864
1888
  /** The day with the focus in the grid, and the month the grid shows. */
1865
1889
  protected readonly focusedDate: import("@angular/core").WritableSignal<Date>;
1866
- protected readonly viewYear: import("@angular/core").Signal<number>;
1890
+ protected readonly today: Date;
1867
1891
  protected readonly selectedDates: import("@angular/core").Signal<Date[]>;
1868
1892
  protected readonly text: import("@angular/core").Signal<string>;
1869
- protected readonly monthName: import("@angular/core").Signal<string>;
1870
- protected readonly monthNames: import("@angular/core").Signal<string[]>;
1871
- protected readonly weekdays: import("@angular/core").Signal<{
1872
- short: string;
1873
- long: string;
1874
- }[]>;
1875
- protected readonly weeks: import("@angular/core").Signal<(Date | null)[][]>;
1876
- protected readonly decade: import("@angular/core").Signal<number[]>;
1877
1893
  constructor();
1878
1894
  writeValue(value: HxDatePickerValue): void;
1879
1895
  registerOnChange(fn: (value: HxDatePickerValue) => void): void;
@@ -1881,19 +1897,9 @@ export declare class HxDatePicker implements ControlValueAccessor, FormValueCont
1881
1897
  setDisabledState(disabled: boolean): void;
1882
1898
  /** Focuses the text field, or the day of an inline calendar (signal forms call this to focus the control). */
1883
1899
  focus(): void;
1884
- protected dateKey(date: Date): string;
1885
- protected dayLabel(date: Date): string;
1886
- protected isToday(date: Date): boolean;
1887
- protected isSelected(date: Date): boolean;
1888
- protected isInRange(date: Date): boolean;
1889
1900
  protected isDateDisabled(date: Date): boolean;
1890
- /** One day of the grid takes the tab stop: the focused day, or the first day when the focus is elsewhere. */
1891
- protected isFocusTarget(date: Date): boolean;
1892
- protected step(direction: 1 | -1): void;
1893
- protected chooseMonth(month: number): void;
1894
- protected chooseYear(year: number): void;
1901
+ protected isSelected(date: Date): boolean;
1895
1902
  protected pick(date: Date): void;
1896
- protected onDayKeydown(event: KeyboardEvent, date: Date): void;
1897
1903
  protected show(): void;
1898
1904
  protected toggle(): void;
1899
1905
  protected close(refocus?: boolean): void;
@@ -2015,6 +2021,819 @@ export declare class HxDatePicker implements ControlValueAccessor, FormValueCont
2015
2021
  "touch": "touch";
2016
2022
  }, never, never, true, never>;
2017
2023
  }
2024
+ type TimeUnit = 'hour' | 'minute' | 'second' | 'period';
2025
+ interface TimeColumn {
2026
+ unit: TimeUnit;
2027
+ label: string;
2028
+ now: number;
2029
+ min: number;
2030
+ max: number;
2031
+ text: string;
2032
+ valueText: string;
2033
+ }
2034
+ interface TimeOfDay {
2035
+ hours: number;
2036
+ minutes: number;
2037
+ seconds: number;
2038
+ }
2039
+ interface TimeColumnOptions {
2040
+ hour12: boolean;
2041
+ showMinutes: boolean;
2042
+ showSeconds: boolean;
2043
+ locale?: string;
2044
+ labels: {
2045
+ hour: string;
2046
+ minute: string;
2047
+ second: string;
2048
+ period: string;
2049
+ };
2050
+ }
2051
+ interface TimeSteps {
2052
+ hour: number;
2053
+ minute: number;
2054
+ second: number;
2055
+ }
2056
+ /** The spinbutton columns of a time row: hour, minute, second, AM/PM as the options ask. */
2057
+ declare function buildTimeColumns(time: TimeOfDay, options: TimeColumnOptions): TimeColumn[];
2058
+ /** The values a time unit can take: from its minimum in steps, up to its maximum. */
2059
+ declare function unitValues(column: TimeColumn, steps: TimeSteps): number[];
2060
+ /** The next (`1`) or previous (`-1`) value of a column's steps, wrapping around. */
2061
+ declare function nextUnitValue(column: TimeColumn, steps: TimeSteps, direction: 1 | -1): number;
2062
+ /** The time with one unit set (in the units shown: 1 to 12 with AM/PM). */
2063
+ declare function applyUnit(time: TimeOfDay, unit: TimeUnit, value: number, hour12: boolean): TimeOfDay;
2064
+ /** The value a key of a spinbutton jumps to (Page Up/Down, Home, End), or `null` for another key. */
2065
+ declare function jumpKeyTarget(key: string, column: TimeColumn, steps: TimeSteps): number | null;
2066
+ type HxDateTimePickerValue = Date | null;
2067
+ /**
2068
+ * A date and time field that opens a calendar with a time row under it (hour, minute, optionally second and AM/PM),
2069
+ * or with `[inline]="true"` the calendar and the time row alone. The value is one `Date`; clearing the field gives
2070
+ * `null`. Typing parses `10/09/2026, 14:30` or `10/09/2026 2:30 PM`.
2071
+ *
2072
+ * ```html
2073
+ * <hx-date-time-picker inputId="start" showIcon showButtonBar [stepMinute]="15" [(ngModel)]="start" />
2074
+ * <hx-date-time-picker inline ariaLabel="Start" [(value)]="start" />
2075
+ * ```
2076
+ *
2077
+ * It works with `ngModel`, reactive forms and signal forms (`[formField]`). Choosing a day keeps the time already set;
2078
+ * setting a time with no date takes today. `minDate` and `maxDate` are compared including the time. The popup is a
2079
+ * non-modal dialog that stays open until Escape, the focus leaves the control or a button of the button bar.
2080
+ *
2081
+ * Each time column is a `spinbutton`: Arrow Up and Down change it by the step, Page Up and Page Down by a larger step,
2082
+ * Home and End go to the first and last value. Keyboard in the day grid: arrows move by a day or a week, Home and End
2083
+ * to the start and end of the week, Page Up and Page Down by a month (with Shift by a year), Enter or Space selects.
2084
+ */
2085
+ export declare class HxDateTimePicker implements ControlValueAccessor, FormValueControl<HxDateTimePickerValue> {
2086
+ #private;
2087
+ /** The text field's placeholder. */
2088
+ readonly placeholder: import("@angular/core").InputSignal<string>;
2089
+ /** A calendar button at the end of the field. */
2090
+ readonly showIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2091
+ /** Today and Clear buttons under the time row of the popup. */
2092
+ readonly showButtonBar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2093
+ /**
2094
+ * `Intl.DateTimeFormat` options of the text in the field. By default numeric, so a typed date parses back: day,
2095
+ * month and year, plus hour and minute (and second), with the `hourCycle` of `hourFormat`.
2096
+ */
2097
+ readonly dateFormat: import("@angular/core").InputSignal<Intl.DateTimeFormatOptions | undefined>;
2098
+ readonly todayLabel: import("@angular/core").InputSignal<string>;
2099
+ readonly clearLabel: import("@angular/core").InputSignal<string>;
2100
+ readonly chooseLabel: import("@angular/core").InputSignal<string>;
2101
+ /** Accessible names of the time row and its columns. */
2102
+ readonly timeLabel: import("@angular/core").InputSignal<string>;
2103
+ readonly hourLabel: import("@angular/core").InputSignal<string>;
2104
+ readonly minuteLabel: import("@angular/core").InputSignal<string>;
2105
+ readonly secondLabel: import("@angular/core").InputSignal<string>;
2106
+ readonly periodLabel: import("@angular/core").InputSignal<string>;
2107
+ /** The `id` of the text field, for a `<label for>`. */
2108
+ readonly inputId: import("@angular/core").InputSignal<string | undefined>;
2109
+ /** `'12'` shows hours from 1 to 12 and an AM/PM column. */
2110
+ readonly hourFormat: import("@angular/core").InputSignal<"24" | "12">;
2111
+ /** A minutes column; `false` picks the hour only (minutes and seconds are `0`, `showSeconds` is ignored). */
2112
+ readonly showMinutes: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2113
+ /** A seconds column. */
2114
+ readonly showSeconds: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2115
+ /** Step of the arrow keys and buttons of the hour column. */
2116
+ readonly stepHour: import("@angular/core").InputSignalWithTransform<number, unknown>;
2117
+ /** Step of the minute column. */
2118
+ readonly stepMinute: import("@angular/core").InputSignalWithTransform<number, unknown>;
2119
+ /** Step of the second column. */
2120
+ readonly stepSecond: import("@angular/core").InputSignalWithTransform<number, unknown>;
2121
+ /** Shows the calendar and the time row in the page. */
2122
+ readonly inline: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2123
+ /** The earliest and latest moment that can be chosen, compared including the time. */
2124
+ readonly minDate: import("@angular/core").InputSignal<Date | null>;
2125
+ readonly maxDate: import("@angular/core").InputSignal<Date | null>;
2126
+ /** Days that cannot be chosen. */
2127
+ readonly disabledDates: import("@angular/core").InputSignal<readonly Date[]>;
2128
+ /** `0` Sunday … `6` Saturday. */
2129
+ readonly firstDayOfWeek: import("@angular/core").InputSignalWithTransform<number, unknown>;
2130
+ /** A BCP 47 tag for the names (default: the browser's). */
2131
+ readonly locale: import("@angular/core").InputSignal<string | undefined>;
2132
+ readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
2133
+ readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>;
2134
+ readonly value: import("@angular/core").ModelSignal<HxDateTimePickerValue>;
2135
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2136
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2137
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
2138
+ readonly open: import("@angular/core").WritableSignal<boolean>;
2139
+ protected readonly titleId: string;
2140
+ protected readonly popupId: string;
2141
+ protected readonly positions: ConnectedPosition[];
2142
+ private readonly field;
2143
+ private readonly calendar;
2144
+ protected readonly view: import("@angular/core").WritableSignal<CalendarView>;
2145
+ protected readonly isDisabled: import("@angular/core").Signal<boolean>;
2146
+ /** The day with the focus in the grid, and the month the grid shows. */
2147
+ protected readonly focusedDate: import("@angular/core").WritableSignal<Date>;
2148
+ protected readonly today: Date;
2149
+ protected readonly selectedDate: import("@angular/core").Signal<Date | null>;
2150
+ protected readonly selectedDates: import("@angular/core").Signal<Date[]>;
2151
+ protected readonly hour12: import("@angular/core").Signal<boolean>;
2152
+ /** The time of day shown in the time row: the value's, or midnight while there is none. */
2153
+ protected readonly time: import("@angular/core").Signal<TimeOfDay>;
2154
+ protected readonly text: import("@angular/core").Signal<string>;
2155
+ constructor();
2156
+ writeValue(value: HxDateTimePickerValue): void;
2157
+ registerOnChange(fn: (value: HxDateTimePickerValue) => void): void;
2158
+ registerOnTouched(fn: () => void): void;
2159
+ setDisabledState(disabled: boolean): void;
2160
+ /** Focuses the text field, or the day of an inline calendar (signal forms call this to focus the control). */
2161
+ focus(): void;
2162
+ protected isDateDisabled(date: Date): boolean;
2163
+ /** Chooses a day, keeping the time; `false` when the day is not accepted. */
2164
+ protected pick(date: Date): boolean;
2165
+ /** The time row changed a unit: keep the day, or take today. */
2166
+ protected setTime(time: TimeOfDay): void;
2167
+ protected show(): void;
2168
+ protected toggle(): void;
2169
+ protected close(refocus?: boolean): void;
2170
+ protected onAttach(): void;
2171
+ protected onOverlayKeydown(event: KeyboardEvent): void;
2172
+ protected onOutsideClick(event: MouseEvent): void;
2173
+ protected onFieldKeydown(event: KeyboardEvent): void;
2174
+ protected onTyping(event: Event): void;
2175
+ /** Parses the typed text; an unreadable, disabled or out of range date and time puts the value back. */
2176
+ protected commitTyping(): void;
2177
+ protected selectToday(): void;
2178
+ protected clear(): void;
2179
+ protected onHostFocusOut(event: FocusEvent): void;
2180
+ /** The focus left the popup for something outside the control. */
2181
+ protected onPopupFocusOut(event: FocusEvent): void;
2182
+ /** The focus left an inline calendar and time row for something outside the control. */
2183
+ protected onInlineFocusOut(event: FocusEvent): void;
2184
+ static ɵfac: i0.ɵɵFactoryDeclaration<HxDateTimePicker, never>;
2185
+ static ɵcmp: i0.ɵɵComponentDeclaration<HxDateTimePicker, "hx-date-time-picker", never, {
2186
+ "placeholder": {
2187
+ "alias": "placeholder";
2188
+ "required": false;
2189
+ "isSignal": true;
2190
+ };
2191
+ "showIcon": {
2192
+ "alias": "showIcon";
2193
+ "required": false;
2194
+ "isSignal": true;
2195
+ };
2196
+ "showButtonBar": {
2197
+ "alias": "showButtonBar";
2198
+ "required": false;
2199
+ "isSignal": true;
2200
+ };
2201
+ "dateFormat": {
2202
+ "alias": "dateFormat";
2203
+ "required": false;
2204
+ "isSignal": true;
2205
+ };
2206
+ "todayLabel": {
2207
+ "alias": "todayLabel";
2208
+ "required": false;
2209
+ "isSignal": true;
2210
+ };
2211
+ "clearLabel": {
2212
+ "alias": "clearLabel";
2213
+ "required": false;
2214
+ "isSignal": true;
2215
+ };
2216
+ "chooseLabel": {
2217
+ "alias": "chooseLabel";
2218
+ "required": false;
2219
+ "isSignal": true;
2220
+ };
2221
+ "timeLabel": {
2222
+ "alias": "timeLabel";
2223
+ "required": false;
2224
+ "isSignal": true;
2225
+ };
2226
+ "hourLabel": {
2227
+ "alias": "hourLabel";
2228
+ "required": false;
2229
+ "isSignal": true;
2230
+ };
2231
+ "minuteLabel": {
2232
+ "alias": "minuteLabel";
2233
+ "required": false;
2234
+ "isSignal": true;
2235
+ };
2236
+ "secondLabel": {
2237
+ "alias": "secondLabel";
2238
+ "required": false;
2239
+ "isSignal": true;
2240
+ };
2241
+ "periodLabel": {
2242
+ "alias": "periodLabel";
2243
+ "required": false;
2244
+ "isSignal": true;
2245
+ };
2246
+ "inputId": {
2247
+ "alias": "inputId";
2248
+ "required": false;
2249
+ "isSignal": true;
2250
+ };
2251
+ "hourFormat": {
2252
+ "alias": "hourFormat";
2253
+ "required": false;
2254
+ "isSignal": true;
2255
+ };
2256
+ "showMinutes": {
2257
+ "alias": "showMinutes";
2258
+ "required": false;
2259
+ "isSignal": true;
2260
+ };
2261
+ "showSeconds": {
2262
+ "alias": "showSeconds";
2263
+ "required": false;
2264
+ "isSignal": true;
2265
+ };
2266
+ "stepHour": {
2267
+ "alias": "stepHour";
2268
+ "required": false;
2269
+ "isSignal": true;
2270
+ };
2271
+ "stepMinute": {
2272
+ "alias": "stepMinute";
2273
+ "required": false;
2274
+ "isSignal": true;
2275
+ };
2276
+ "stepSecond": {
2277
+ "alias": "stepSecond";
2278
+ "required": false;
2279
+ "isSignal": true;
2280
+ };
2281
+ "inline": {
2282
+ "alias": "inline";
2283
+ "required": false;
2284
+ "isSignal": true;
2285
+ };
2286
+ "minDate": {
2287
+ "alias": "minDate";
2288
+ "required": false;
2289
+ "isSignal": true;
2290
+ };
2291
+ "maxDate": {
2292
+ "alias": "maxDate";
2293
+ "required": false;
2294
+ "isSignal": true;
2295
+ };
2296
+ "disabledDates": {
2297
+ "alias": "disabledDates";
2298
+ "required": false;
2299
+ "isSignal": true;
2300
+ };
2301
+ "firstDayOfWeek": {
2302
+ "alias": "firstDayOfWeek";
2303
+ "required": false;
2304
+ "isSignal": true;
2305
+ };
2306
+ "locale": {
2307
+ "alias": "locale";
2308
+ "required": false;
2309
+ "isSignal": true;
2310
+ };
2311
+ "ariaLabel": {
2312
+ "alias": "ariaLabel";
2313
+ "required": false;
2314
+ "isSignal": true;
2315
+ };
2316
+ "ariaLabelledby": {
2317
+ "alias": "ariaLabelledby";
2318
+ "required": false;
2319
+ "isSignal": true;
2320
+ };
2321
+ "value": {
2322
+ "alias": "value";
2323
+ "required": false;
2324
+ "isSignal": true;
2325
+ };
2326
+ "disabled": {
2327
+ "alias": "disabled";
2328
+ "required": false;
2329
+ "isSignal": true;
2330
+ };
2331
+ "invalid": {
2332
+ "alias": "invalid";
2333
+ "required": false;
2334
+ "isSignal": true;
2335
+ };
2336
+ }, {
2337
+ "value": "valueChange";
2338
+ "touch": "touch";
2339
+ }, never, never, true, never>;
2340
+ }
2341
+ type HxTimePickerValue = Date | null;
2342
+ /**
2343
+ * A time field that opens a time row (hour, minute, optionally second and AM/PM), or with `[inline]="true"` the
2344
+ * time row alone. The value is a `Date` that is today at the chosen time; clearing the field gives `null`. Typing
2345
+ * parses `14:30`, `2:30 PM` and, with `[showMinutes]="false"`, `14`.
2346
+ *
2347
+ * ```html
2348
+ * <hx-time-picker inputId="alarm" hourFormat="12" showIcon [(ngModel)]="alarm" />
2349
+ * <hx-time-picker [showMinutes]="false" [(value)]="opens" />
2350
+ * <hx-time-picker inline [stepMinute]="15" ariaLabel="Start" [(value)]="start" />
2351
+ * ```
2352
+ *
2353
+ * It works with `ngModel`, reactive forms and signal forms (`[formField]`). Each column is a `spinbutton`: Arrow Up
2354
+ * and Down change it by the step, Page Up and Page Down by a larger step, Home and End go to the first and last
2355
+ * value. `minTime` and `maxTime` limit the time of day (only the time of the dates counts). The popup is a non-modal
2356
+ * dialog that stays open until Escape, the focus leaves the control or a button of the button bar.
2357
+ */
2358
+ export declare class HxTimePicker implements ControlValueAccessor, FormValueControl<HxTimePickerValue> {
2359
+ #private;
2360
+ /** The text field's placeholder. */
2361
+ readonly placeholder: import("@angular/core").InputSignal<string>;
2362
+ /** A clock button at the end of the field. */
2363
+ readonly showIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2364
+ /** Now and Clear buttons under the time row of the popup. */
2365
+ readonly showButtonBar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2366
+ /** `Intl.DateTimeFormat` options of the text in the field (default: numeric hour, minute, second with the `hourCycle`). */
2367
+ readonly dateFormat: import("@angular/core").InputSignal<Intl.DateTimeFormatOptions | undefined>;
2368
+ readonly nowLabel: import("@angular/core").InputSignal<string>;
2369
+ readonly clearLabel: import("@angular/core").InputSignal<string>;
2370
+ readonly chooseLabel: import("@angular/core").InputSignal<string>;
2371
+ /** Accessible names of the time row and its columns. */
2372
+ readonly timeLabel: import("@angular/core").InputSignal<string>;
2373
+ readonly hourLabel: import("@angular/core").InputSignal<string>;
2374
+ readonly minuteLabel: import("@angular/core").InputSignal<string>;
2375
+ readonly secondLabel: import("@angular/core").InputSignal<string>;
2376
+ readonly periodLabel: import("@angular/core").InputSignal<string>;
2377
+ /** The `id` of the text field, for a `<label for>`. */
2378
+ readonly inputId: import("@angular/core").InputSignal<string | undefined>;
2379
+ /** `'12'` shows hours from 1 to 12 and an AM/PM column. */
2380
+ readonly hourFormat: import("@angular/core").InputSignal<"24" | "12">;
2381
+ /** A minutes column; `false` picks the hour only (minutes and seconds are `0`, `showSeconds` is ignored). */
2382
+ readonly showMinutes: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2383
+ /** A seconds column. */
2384
+ readonly showSeconds: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2385
+ readonly stepHour: import("@angular/core").InputSignalWithTransform<number, unknown>;
2386
+ readonly stepMinute: import("@angular/core").InputSignalWithTransform<number, unknown>;
2387
+ readonly stepSecond: import("@angular/core").InputSignalWithTransform<number, unknown>;
2388
+ /** The earliest and latest time of day; only the time of the dates counts. */
2389
+ readonly minTime: import("@angular/core").InputSignal<Date | null>;
2390
+ readonly maxTime: import("@angular/core").InputSignal<Date | null>;
2391
+ /** Shows the time row in the page. */
2392
+ readonly inline: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2393
+ /** A BCP 47 tag for the format and the AM/PM names (default: the browser's). */
2394
+ readonly locale: import("@angular/core").InputSignal<string | undefined>;
2395
+ readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
2396
+ readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>;
2397
+ readonly value: import("@angular/core").ModelSignal<HxTimePickerValue>;
2398
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2399
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2400
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
2401
+ readonly open: import("@angular/core").WritableSignal<boolean>;
2402
+ protected readonly popupId: string;
2403
+ protected readonly positions: ConnectedPosition[];
2404
+ private readonly field;
2405
+ private readonly timeRow;
2406
+ protected readonly isDisabled: import("@angular/core").Signal<boolean>;
2407
+ protected readonly hour12: import("@angular/core").Signal<boolean>;
2408
+ /** The time of day shown in the time row: the value's, or midnight while there is none. */
2409
+ protected readonly time: import("@angular/core").Signal<TimeOfDay>;
2410
+ protected readonly text: import("@angular/core").Signal<string>;
2411
+ writeValue(value: HxTimePickerValue): void;
2412
+ registerOnChange(fn: (value: HxTimePickerValue) => void): void;
2413
+ registerOnTouched(fn: () => void): void;
2414
+ setDisabledState(disabled: boolean): void;
2415
+ /** Focuses the text field, or the first column of an inline time row (signal forms call this to focus the control). */
2416
+ focus(): void;
2417
+ /** The time row changed a unit: today at that time. */
2418
+ protected setTime(time: TimeOfDay): void;
2419
+ protected show(): void;
2420
+ protected toggle(): void;
2421
+ protected close(refocus?: boolean): void;
2422
+ protected onAttach(): void;
2423
+ protected onOverlayKeydown(event: KeyboardEvent): void;
2424
+ protected onOutsideClick(event: MouseEvent): void;
2425
+ protected onFieldKeydown(event: KeyboardEvent): void;
2426
+ protected onTyping(event: Event): void;
2427
+ /** Parses the typed text; an unreadable time or one outside `minTime`..`maxTime` puts the value back. */
2428
+ protected commitTyping(): void;
2429
+ protected selectNow(): void;
2430
+ protected clear(): void;
2431
+ protected onHostFocusOut(event: FocusEvent): void;
2432
+ /** The focus left an inline time row for something outside the control. */
2433
+ protected onInlineFocusOut(event: FocusEvent): void;
2434
+ /** The focus left the popup for something outside the control. */
2435
+ protected onPopupFocusOut(event: FocusEvent): void;
2436
+ static ɵfac: i0.ɵɵFactoryDeclaration<HxTimePicker, never>;
2437
+ static ɵcmp: i0.ɵɵComponentDeclaration<HxTimePicker, "hx-time-picker", never, {
2438
+ "placeholder": {
2439
+ "alias": "placeholder";
2440
+ "required": false;
2441
+ "isSignal": true;
2442
+ };
2443
+ "showIcon": {
2444
+ "alias": "showIcon";
2445
+ "required": false;
2446
+ "isSignal": true;
2447
+ };
2448
+ "showButtonBar": {
2449
+ "alias": "showButtonBar";
2450
+ "required": false;
2451
+ "isSignal": true;
2452
+ };
2453
+ "dateFormat": {
2454
+ "alias": "dateFormat";
2455
+ "required": false;
2456
+ "isSignal": true;
2457
+ };
2458
+ "nowLabel": {
2459
+ "alias": "nowLabel";
2460
+ "required": false;
2461
+ "isSignal": true;
2462
+ };
2463
+ "clearLabel": {
2464
+ "alias": "clearLabel";
2465
+ "required": false;
2466
+ "isSignal": true;
2467
+ };
2468
+ "chooseLabel": {
2469
+ "alias": "chooseLabel";
2470
+ "required": false;
2471
+ "isSignal": true;
2472
+ };
2473
+ "timeLabel": {
2474
+ "alias": "timeLabel";
2475
+ "required": false;
2476
+ "isSignal": true;
2477
+ };
2478
+ "hourLabel": {
2479
+ "alias": "hourLabel";
2480
+ "required": false;
2481
+ "isSignal": true;
2482
+ };
2483
+ "minuteLabel": {
2484
+ "alias": "minuteLabel";
2485
+ "required": false;
2486
+ "isSignal": true;
2487
+ };
2488
+ "secondLabel": {
2489
+ "alias": "secondLabel";
2490
+ "required": false;
2491
+ "isSignal": true;
2492
+ };
2493
+ "periodLabel": {
2494
+ "alias": "periodLabel";
2495
+ "required": false;
2496
+ "isSignal": true;
2497
+ };
2498
+ "inputId": {
2499
+ "alias": "inputId";
2500
+ "required": false;
2501
+ "isSignal": true;
2502
+ };
2503
+ "hourFormat": {
2504
+ "alias": "hourFormat";
2505
+ "required": false;
2506
+ "isSignal": true;
2507
+ };
2508
+ "showMinutes": {
2509
+ "alias": "showMinutes";
2510
+ "required": false;
2511
+ "isSignal": true;
2512
+ };
2513
+ "showSeconds": {
2514
+ "alias": "showSeconds";
2515
+ "required": false;
2516
+ "isSignal": true;
2517
+ };
2518
+ "stepHour": {
2519
+ "alias": "stepHour";
2520
+ "required": false;
2521
+ "isSignal": true;
2522
+ };
2523
+ "stepMinute": {
2524
+ "alias": "stepMinute";
2525
+ "required": false;
2526
+ "isSignal": true;
2527
+ };
2528
+ "stepSecond": {
2529
+ "alias": "stepSecond";
2530
+ "required": false;
2531
+ "isSignal": true;
2532
+ };
2533
+ "minTime": {
2534
+ "alias": "minTime";
2535
+ "required": false;
2536
+ "isSignal": true;
2537
+ };
2538
+ "maxTime": {
2539
+ "alias": "maxTime";
2540
+ "required": false;
2541
+ "isSignal": true;
2542
+ };
2543
+ "inline": {
2544
+ "alias": "inline";
2545
+ "required": false;
2546
+ "isSignal": true;
2547
+ };
2548
+ "locale": {
2549
+ "alias": "locale";
2550
+ "required": false;
2551
+ "isSignal": true;
2552
+ };
2553
+ "ariaLabel": {
2554
+ "alias": "ariaLabel";
2555
+ "required": false;
2556
+ "isSignal": true;
2557
+ };
2558
+ "ariaLabelledby": {
2559
+ "alias": "ariaLabelledby";
2560
+ "required": false;
2561
+ "isSignal": true;
2562
+ };
2563
+ "value": {
2564
+ "alias": "value";
2565
+ "required": false;
2566
+ "isSignal": true;
2567
+ };
2568
+ "disabled": {
2569
+ "alias": "disabled";
2570
+ "required": false;
2571
+ "isSignal": true;
2572
+ };
2573
+ "invalid": {
2574
+ "alias": "invalid";
2575
+ "required": false;
2576
+ "isSignal": true;
2577
+ };
2578
+ }, {
2579
+ "value": "valueChange";
2580
+ "touch": "touch";
2581
+ }, never, never, true, never>;
2582
+ }
2583
+ interface HxDateTimeRangeValue {
2584
+ from: Date | null;
2585
+ to: Date | null;
2586
+ }
2587
+ /**
2588
+ * A from and a to date-time range in one field with one button. The field shows the range as one text
2589
+ * (`1/1/2026 00:00 - 1/2/2026 00:15`); the popup holds one calendar (an inline range `hx-date-picker`) and a time picker for each end,
2590
+ * from and to. The value is `{ from, to }` (`null` while a side is empty); `to` is never before `from`: the `to`
2591
+ * time picker starts at `from` (including the time), the `from` time picker ends at `to`, and a choice that crosses the
2592
+ * other side moves it. The field is read-only; the popup stays open until Escape, an outside click or the focus
2593
+ * leaving it.
2594
+ *
2595
+ * ```html
2596
+ * <hx-date-time-range-picker [stepMinute]="15" [(ngModel)]="shift" />
2597
+ * <hx-date-time-range-picker timeOnly [showMinutes]="false" [(value)]="opening" />
2598
+ * ```
2599
+ *
2600
+ * It works with `ngModel`, reactive forms and signal forms (`[formField]`). The time options are those of
2601
+ * `hx-time-picker`. The popup is a dialog named by `ariaLabel` / `ariaLabelledby`; its time pickers are named
2602
+ * `fromLabel` / `toLabel`.
2603
+ */
2604
+ export declare class HxDateTimeRangePicker implements ControlValueAccessor, FormValueControl<HxDateTimeRangeValue> {
2605
+ #private;
2606
+ /** The names of the two time pickers in the popup. */
2607
+ readonly fromLabel: import("@angular/core").InputSignal<string>;
2608
+ readonly toLabel: import("@angular/core").InputSignal<string>;
2609
+ /** The text between the two dates in the field. */
2610
+ readonly separator: import("@angular/core").InputSignal<string>;
2611
+ readonly placeholder: import("@angular/core").InputSignal<string>;
2612
+ readonly clearLabel: import("@angular/core").InputSignal<string>;
2613
+ readonly cancelLabel: import("@angular/core").InputSignal<string>;
2614
+ readonly submitLabel: import("@angular/core").InputSignal<string>;
2615
+ readonly chooseLabel: import("@angular/core").InputSignal<string>;
2616
+ /** The `id` of the text field, for a `<label for>`. */
2617
+ readonly inputId: import("@angular/core").InputSignal<string | undefined>;
2618
+ /** The time picker options, for both ends. */
2619
+ readonly showTime: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2620
+ readonly timeOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2621
+ readonly hourFormat: import("@angular/core").InputSignal<"24" | "12">;
2622
+ readonly showMinutes: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2623
+ readonly showSeconds: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2624
+ readonly stepHour: import("@angular/core").InputSignalWithTransform<number, unknown>;
2625
+ readonly stepMinute: import("@angular/core").InputSignalWithTransform<number, unknown>;
2626
+ readonly stepSecond: import("@angular/core").InputSignalWithTransform<number, unknown>;
2627
+ readonly dateFormat: import("@angular/core").InputSignal<Intl.DateTimeFormatOptions | undefined>;
2628
+ readonly locale: import("@angular/core").InputSignal<string | undefined>;
2629
+ readonly firstDayOfWeek: import("@angular/core").InputSignalWithTransform<number, unknown>;
2630
+ readonly minDate: import("@angular/core").InputSignal<Date | null>;
2631
+ readonly maxDate: import("@angular/core").InputSignal<Date | null>;
2632
+ readonly disabledDates: import("@angular/core").InputSignal<readonly Date[]>;
2633
+ /** A Clear button next to Cancel and Submit. */
2634
+ readonly showButtonBar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2635
+ readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
2636
+ readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>;
2637
+ readonly value: import("@angular/core").ModelSignal<HxDateTimeRangeValue>;
2638
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2639
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
2640
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
2641
+ readonly open: import("@angular/core").WritableSignal<boolean>;
2642
+ /** The range being edited in the popup; Submit makes it the value, Cancel drops it. */
2643
+ protected readonly draft: import("@angular/core").WritableSignal<HxDateTimeRangeValue>;
2644
+ protected readonly popupId: string;
2645
+ protected readonly positions: ConnectedPosition[];
2646
+ private readonly field;
2647
+ private readonly daysPicker;
2648
+ private readonly timePicker;
2649
+ /** `1/1/2026 00:00 - 1/2/2026 00:15`: the date and the time are separated by a space, not a comma. */
2650
+ protected readonly text: import("@angular/core").Signal<string>;
2651
+ protected readonly isDisabled: import("@angular/core").Signal<boolean>;
2652
+ /** `from` ends at `to`, `to` starts at `from`, each inside `minDate`..`maxDate`. */
2653
+ protected readonly fromMax: import("@angular/core").Signal<Date | null>;
2654
+ protected readonly toMin: import("@angular/core").Signal<Date | null>;
2655
+ /** The values of the two time pickers: a fresh `Date` per draft change (midnight while a side is empty). */
2656
+ protected readonly fromValue: import("@angular/core").Signal<HxTimePickerValue>;
2657
+ protected readonly toValue: import("@angular/core").Signal<HxTimePickerValue>;
2658
+ writeValue(value: HxDateTimeRangeValue | null): void;
2659
+ registerOnChange(fn: (value: HxDateTimeRangeValue) => void): void;
2660
+ registerOnTouched(fn: () => void): void;
2661
+ setDisabledState(disabled: boolean): void;
2662
+ /** Focuses the text field (signal forms call this to focus the control). */
2663
+ focus(): void;
2664
+ protected show(): void;
2665
+ protected toggle(): void;
2666
+ protected close(refocus?: boolean): void;
2667
+ protected onAttach(): void;
2668
+ protected onFieldKeydown(event: KeyboardEvent): void;
2669
+ protected onOverlayKeydown(event: KeyboardEvent): void;
2670
+ protected onOutsideClick(event: MouseEvent): void;
2671
+ protected clear(): void;
2672
+ protected submit(): void;
2673
+ /** The focus left the control (field, button and popup): the popup closes and the control is touched. */
2674
+ protected onHostFocusOut(event: FocusEvent): void;
2675
+ protected onPopupFocusOut(event: FocusEvent): void;
2676
+ /** The days of the calendar: `[from]` while the range is open, `[from, to]` when complete. */
2677
+ protected readonly days: import("@angular/core").Signal<Date[]>;
2678
+ /** A choice in the calendar sets the days and keeps the times already chosen (midnight while there is none). */
2679
+ protected setDays(picked: HxDatePickerValue): void;
2680
+ /** The `from` picker changed: the day of `from` (else of `to`, else today) at the new time, not after `to`. */
2681
+ protected setFromTime(picked: HxTimePickerValue): void;
2682
+ /** The `to` picker changed: the day of `to` (else of `from`, else today) at the new time, not before `from`. */
2683
+ protected setToTime(picked: HxTimePickerValue): void;
2684
+ protected markTouched(): void;
2685
+ static ɵfac: i0.ɵɵFactoryDeclaration<HxDateTimeRangePicker, never>;
2686
+ static ɵcmp: i0.ɵɵComponentDeclaration<HxDateTimeRangePicker, "hx-date-time-range-picker", never, {
2687
+ "fromLabel": {
2688
+ "alias": "fromLabel";
2689
+ "required": false;
2690
+ "isSignal": true;
2691
+ };
2692
+ "toLabel": {
2693
+ "alias": "toLabel";
2694
+ "required": false;
2695
+ "isSignal": true;
2696
+ };
2697
+ "separator": {
2698
+ "alias": "separator";
2699
+ "required": false;
2700
+ "isSignal": true;
2701
+ };
2702
+ "placeholder": {
2703
+ "alias": "placeholder";
2704
+ "required": false;
2705
+ "isSignal": true;
2706
+ };
2707
+ "clearLabel": {
2708
+ "alias": "clearLabel";
2709
+ "required": false;
2710
+ "isSignal": true;
2711
+ };
2712
+ "cancelLabel": {
2713
+ "alias": "cancelLabel";
2714
+ "required": false;
2715
+ "isSignal": true;
2716
+ };
2717
+ "submitLabel": {
2718
+ "alias": "submitLabel";
2719
+ "required": false;
2720
+ "isSignal": true;
2721
+ };
2722
+ "chooseLabel": {
2723
+ "alias": "chooseLabel";
2724
+ "required": false;
2725
+ "isSignal": true;
2726
+ };
2727
+ "inputId": {
2728
+ "alias": "inputId";
2729
+ "required": false;
2730
+ "isSignal": true;
2731
+ };
2732
+ "showTime": {
2733
+ "alias": "showTime";
2734
+ "required": false;
2735
+ "isSignal": true;
2736
+ };
2737
+ "timeOnly": {
2738
+ "alias": "timeOnly";
2739
+ "required": false;
2740
+ "isSignal": true;
2741
+ };
2742
+ "hourFormat": {
2743
+ "alias": "hourFormat";
2744
+ "required": false;
2745
+ "isSignal": true;
2746
+ };
2747
+ "showMinutes": {
2748
+ "alias": "showMinutes";
2749
+ "required": false;
2750
+ "isSignal": true;
2751
+ };
2752
+ "showSeconds": {
2753
+ "alias": "showSeconds";
2754
+ "required": false;
2755
+ "isSignal": true;
2756
+ };
2757
+ "stepHour": {
2758
+ "alias": "stepHour";
2759
+ "required": false;
2760
+ "isSignal": true;
2761
+ };
2762
+ "stepMinute": {
2763
+ "alias": "stepMinute";
2764
+ "required": false;
2765
+ "isSignal": true;
2766
+ };
2767
+ "stepSecond": {
2768
+ "alias": "stepSecond";
2769
+ "required": false;
2770
+ "isSignal": true;
2771
+ };
2772
+ "dateFormat": {
2773
+ "alias": "dateFormat";
2774
+ "required": false;
2775
+ "isSignal": true;
2776
+ };
2777
+ "locale": {
2778
+ "alias": "locale";
2779
+ "required": false;
2780
+ "isSignal": true;
2781
+ };
2782
+ "firstDayOfWeek": {
2783
+ "alias": "firstDayOfWeek";
2784
+ "required": false;
2785
+ "isSignal": true;
2786
+ };
2787
+ "minDate": {
2788
+ "alias": "minDate";
2789
+ "required": false;
2790
+ "isSignal": true;
2791
+ };
2792
+ "maxDate": {
2793
+ "alias": "maxDate";
2794
+ "required": false;
2795
+ "isSignal": true;
2796
+ };
2797
+ "disabledDates": {
2798
+ "alias": "disabledDates";
2799
+ "required": false;
2800
+ "isSignal": true;
2801
+ };
2802
+ "showButtonBar": {
2803
+ "alias": "showButtonBar";
2804
+ "required": false;
2805
+ "isSignal": true;
2806
+ };
2807
+ "ariaLabel": {
2808
+ "alias": "ariaLabel";
2809
+ "required": false;
2810
+ "isSignal": true;
2811
+ };
2812
+ "ariaLabelledby": {
2813
+ "alias": "ariaLabelledby";
2814
+ "required": false;
2815
+ "isSignal": true;
2816
+ };
2817
+ "value": {
2818
+ "alias": "value";
2819
+ "required": false;
2820
+ "isSignal": true;
2821
+ };
2822
+ "disabled": {
2823
+ "alias": "disabled";
2824
+ "required": false;
2825
+ "isSignal": true;
2826
+ };
2827
+ "invalid": {
2828
+ "alias": "invalid";
2829
+ "required": false;
2830
+ "isSignal": true;
2831
+ };
2832
+ }, {
2833
+ "value": "valueChange";
2834
+ "touch": "touch";
2835
+ }, never, never, true, never>;
2836
+ }
2018
2837
  type HxDialogPosition = 'center' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
2019
2838
  /**
2020
2839
  * The box of a dialog: a title (the `header`, plus content marked `hxDialogHeader`), the content, a footer (content
@@ -5881,4 +6700,4 @@ export declare class HxTree {
5881
6700
  "nodeCollapse": "nodeCollapse";
5882
6701
  }, ["template"], never, true, never>;
5883
6702
  }
5884
- export type { HxAccordionValue, HxAutoCompleteEvent, HxAutoCompleteSize, HxAvatarShape, HxAvatarSize, HxBadgeSeverity, HxBadgeSize, HxBreadcrumbItem, HxButtonSeverity, HxButtonSize, HxButtonVariant, HxCarouselItemContext, HxCarouselOrientation, HxCarouselResponsiveOption, HxCellContext, HxChartInstance, HxChartModule, HxChartSelectEvent, HxChartType, HxCheckboxSize, HxColumn, HxColumnAlign, HxConfirmation, HxDatePickerSelectionMode, HxDatePickerValue, HxDialogConfig, HxDialogPosition, HxDividerAlign, HxDividerLayout, HxDividerType, HxDrawerPosition, HxFileUploadMode, HxFloatLabelVariant, HxGalleriaItem, HxGalleriaItemContext, HxGalleriaThumbnailsPosition, HxIconPosition, HxInputNumberButtonLayout, HxInputNumberMode, HxInputNumberSize, HxInputNumberVariant, HxInputSize, HxInputVariant, HxLazyLoadEvent, HxMenuItem, HxMenuItemCommandEvent, HxMessageSeverity, HxMessageSize, HxMessageVariant, HxMultiSelectDisplay, HxMultiSelectSize, HxMultiSelectVariant, HxPageEvent, HxPrimaryColor, HxProgressMode, HxRadioSize, HxSelectButtonSize, HxSelectItem, HxSelectSize, HxSelectVariant, HxSelectionMode, HxSkeletonAnimation, HxSkeletonShape, HxSliderOrientation, HxSliderValue, HxSortFunction, HxSortMeta, HxSortMode, HxStepContentContext, HxStepValue, HxSurface, HxTableColumnsContext, HxTableRowContext, HxTableSize, HxTagSeverity, HxThemeOptions, HxTimelineAlign, HxTimelineContext, HxTimelineLayout, HxToastMessage, HxToastMessageInput, HxToastPosition, HxToastSeverity, HxToggleButtonSize, HxTooltipEvent, HxTooltipPosition, HxTreeFilterMode, HxTreeNode, HxTreeNodeContext, HxTreeNodeEvent, HxTreeSelection, HxTreeSelectionMode };
6703
+ export type { HxAccordionValue, HxAutoCompleteEvent, HxAutoCompleteSize, HxAvatarShape, HxAvatarSize, HxBadgeSeverity, HxBadgeSize, HxBreadcrumbItem, HxButtonSeverity, HxButtonSize, HxButtonVariant, HxCarouselItemContext, HxCarouselOrientation, HxCarouselResponsiveOption, HxCellContext, HxChartInstance, HxChartModule, HxChartSelectEvent, HxChartType, HxCheckboxSize, HxColumn, HxColumnAlign, HxConfirmation, HxDatePickerSelectionMode, HxDatePickerValue, HxDateTimePickerValue, HxDateTimeRangeValue, HxDialogConfig, HxDialogPosition, HxDividerAlign, HxDividerLayout, HxDividerType, HxDrawerPosition, HxFileUploadMode, HxFloatLabelVariant, HxGalleriaItem, HxGalleriaItemContext, HxGalleriaThumbnailsPosition, HxIconPosition, HxInputNumberButtonLayout, HxInputNumberMode, HxInputNumberSize, HxInputNumberVariant, HxInputSize, HxInputVariant, HxLazyLoadEvent, HxMenuItem, HxMenuItemCommandEvent, HxMessageSeverity, HxMessageSize, HxMessageVariant, HxMultiSelectDisplay, HxMultiSelectSize, HxMultiSelectVariant, HxPageEvent, HxPrimaryColor, HxProgressMode, HxRadioSize, HxSelectButtonSize, HxSelectItem, HxSelectSize, HxSelectVariant, HxSelectionMode, HxSkeletonAnimation, HxSkeletonShape, HxSliderOrientation, HxSliderValue, HxSortFunction, HxSortMeta, HxSortMode, HxStepContentContext, HxStepValue, HxSurface, HxTableColumnsContext, HxTableRowContext, HxTableSize, HxTagSeverity, HxThemeOptions, HxTimePickerValue, HxTimelineAlign, HxTimelineContext, HxTimelineLayout, HxToastMessage, HxToastMessageInput, HxToastPosition, HxToastSeverity, HxToggleButtonSize, HxTooltipEvent, HxTooltipPosition, HxTreeFilterMode, HxTreeNode, HxTreeNodeContext, HxTreeNodeEvent, HxTreeSelection, HxTreeSelectionMode };