ng-blatui 1.34.0 → 1.35.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.
@@ -51,6 +51,16 @@ interface BuiLabels {
51
51
  calendarMonth: string;
52
52
  calendarYear: string;
53
53
  calendarNextMonth: string;
54
+ calendarWeek: string;
55
+ datePickerPlaceholder: string;
56
+ dateRangePickerPlaceholder: string;
57
+ dateRangePresetToday: string;
58
+ dateRangePresetLast7Days: string;
59
+ dateRangePresetLast30Days: string;
60
+ dateRangePresetThisMonth: string;
61
+ dateRangePresetLastMonth: string;
62
+ datetimePickerPlaceholder: string;
63
+ datetimePickerTime: string;
54
64
  carouselPrevious: string;
55
65
  carouselNext: string;
56
66
  carouselGoToSlide: string;
@@ -68,8 +78,13 @@ interface BuiLabels {
68
78
  dock: string;
69
79
  fileUploadDropzone: string;
70
80
  fileUploadRemove: string;
81
+ ganttEmpty: string;
82
+ markdownEditorWrite: string;
83
+ markdownEditorPreview: string;
71
84
  miniCartTrigger: string;
72
85
  miniCart: string;
86
+ miniCartTitle: string;
87
+ miniCartSubtotal: string;
73
88
  notificationCenter: string;
74
89
  notificationCenterUnread: string;
75
90
  notificationCenterMarkAllRead: string;
@@ -79,6 +94,7 @@ interface BuiLabels {
79
94
  phoneInputCountry: string;
80
95
  phoneInputNumber: string;
81
96
  productCardWishlist: string;
97
+ productCardAddToCart: string;
82
98
  promptInputAttach: string;
83
99
  promptInputSend: string;
84
100
  quantitySelectorDecrease: string;
@@ -89,6 +105,25 @@ interface BuiLabels {
89
105
  sonner: string;
90
106
  sonnerDismiss: string;
91
107
  themeCustomizer: string;
108
+ themeCustomizerOpen: string;
109
+ themeCustomizerClose: string;
110
+ themeCustomizerTagline: string;
111
+ themeCustomizerReset: string;
112
+ themeCustomizerMode: string;
113
+ themeCustomizerBaseColor: string;
114
+ themeCustomizerAccent: string;
115
+ themeCustomizerRadius: string;
116
+ themeCustomizerInputStyle: string;
117
+ themeCustomizerBodyFont: string;
118
+ themeCustomizerHeadingFont: string;
119
+ themeCustomizerShadow: string;
120
+ themeCustomizerSpacing: string;
121
+ themeCustomizerTracking: string;
122
+ timeField: string;
123
+ timeFieldHours: string;
124
+ timeFieldMinutes: string;
125
+ toolCallArguments: string;
126
+ toolCallResult: string;
92
127
  treeTableToggle: string;
93
128
  treeTableCopy: string;
94
129
  treeTableCopied: string;
@@ -126,6 +161,54 @@ declare function provideBuiLabels(labels: Partial<BuiLabels>): EnvironmentProvid
126
161
  */
127
162
  declare function buiLabel(key: keyof BuiLabels, override: Signal<string | undefined>): Signal<string>;
128
163
 
164
+ /**
165
+ * Resolve the BCP 47 locale a component formats dates in, most-specific wins:
166
+ * per-instance `locale` input → the app's `LOCALE_ID` → `'en-US'` (Angular's own default).
167
+ *
168
+ * Call from an injection context (a component field initializer):
169
+ *
170
+ * ```ts
171
+ * readonly locale = input<string>();
172
+ * protected readonly resolvedLocale = buiLocale(this.locale);
173
+ * ```
174
+ *
175
+ * The input stays a signal on purpose: apps that switch language at runtime (transloco &
176
+ * co.) need the display to reformat, which a statically-injected `LOCALE_ID` cannot do.
177
+ */
178
+ declare function buiLocale(override: Signal<string | undefined>): Signal<string>;
179
+ /**
180
+ * The calendar system ng-blatui's date grids are built on. They are computed from JavaScript
181
+ * `Date`, so they are Gregorian, and every label that describes them is pinned to it — otherwise
182
+ * a locale whose default era is not Gregorian (`th` → Buddhist 2569, `fa` → Persian 1405) would
183
+ * name a month or year the grid is not showing.
184
+ *
185
+ * The pickers apply it as a *default* their `dateFormat` can override: pass
186
+ * `[dateFormat]="{ calendar: 'persian' }"` to display a value in another calendar system.
187
+ */
188
+ declare const BUI_GRID_CALENDAR = "gregory";
189
+ /** Which day starts the week, which days are the weekend, and how week 1 is picked. */
190
+ interface BuiWeekInfo {
191
+ /** First day of the week, `0` = Sunday. */
192
+ firstDay: number;
193
+ /** Days that form the local weekend, `0` = Sunday. */
194
+ weekend: readonly number[];
195
+ /**
196
+ * How many days of January the year's first week must contain: `4` for the ISO-8601 rule most
197
+ * of Europe uses, `1` in the US, where the week containing Jan 1 is always week 1. Comes from
198
+ * a CLDR table, not `Intl` — see {@link ISO_WEEK_REGIONS}.
199
+ */
200
+ minimalDays: number;
201
+ }
202
+ /**
203
+ * The locale's own week conventions, so a calendar is not silently US-shaped: `fr` starts the
204
+ * week on Monday, `ar-EG` on Saturday with a Friday/Saturday weekend, `en-US` on Sunday with a
205
+ * Saturday/Sunday weekend — the last being exactly the library's pre-locale behavior.
206
+ *
207
+ * Falls back to the US convention on engines without week data (rather than throwing), so this
208
+ * only ever adds correctness.
209
+ */
210
+ declare function buiWeekInfo(locale: Signal<string>): Signal<BuiWeekInfo>;
211
+
129
212
  declare const buttonVariants: (props?: ({
130
213
  variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
131
214
  size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
@@ -676,6 +759,20 @@ interface FontOption {
676
759
  declare class BuiThemeCustomizer {
677
760
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
678
761
  protected readonly ariaLabelText: _angular_core.Signal<string>;
762
+ protected readonly openText: _angular_core.Signal<string>;
763
+ protected readonly closeText: _angular_core.Signal<string>;
764
+ protected readonly taglineText: _angular_core.Signal<string>;
765
+ protected readonly resetText: _angular_core.Signal<string>;
766
+ protected readonly modeText: _angular_core.Signal<string>;
767
+ protected readonly baseColorText: _angular_core.Signal<string>;
768
+ protected readonly accentText: _angular_core.Signal<string>;
769
+ protected readonly radiusText: _angular_core.Signal<string>;
770
+ protected readonly inputStyleText: _angular_core.Signal<string>;
771
+ protected readonly bodyFontText: _angular_core.Signal<string>;
772
+ protected readonly headingFontText: _angular_core.Signal<string>;
773
+ protected readonly shadowText: _angular_core.Signal<string>;
774
+ protected readonly spacingText: _angular_core.Signal<string>;
775
+ protected readonly trackingText: _angular_core.Signal<string>;
679
776
  protected readonly theme: ThemeStore;
680
777
  protected readonly open: _angular_core.WritableSignal<boolean>;
681
778
  protected readonly copied: _angular_core.WritableSignal<boolean>;
@@ -2166,6 +2263,15 @@ declare class BuiPrice {
2166
2263
  /** Whether to show the percentage-off discount badge when on sale. */
2167
2264
  readonly showDiscount: _angular_core.InputSignal<boolean>;
2168
2265
  readonly userClass: _angular_core.InputSignal<ClassValue>;
2266
+ /** BCP 47 locale for number formatting. Defaults to the app's `LOCALE_ID`. */
2267
+ readonly locale: _angular_core.InputSignal<string | undefined>;
2268
+ /**
2269
+ * `Intl.NumberFormat` options for the amounts. Replaces the default wholesale — pass
2270
+ * `{ style: 'currency', currency: 'EUR' }` to let ICU place the symbol itself.
2271
+ */
2272
+ readonly numberFormat: _angular_core.InputSignal<Intl.NumberFormatOptions>;
2273
+ private readonly resolvedLocale;
2274
+ private readonly formatter;
2169
2275
  protected readonly onSale: _angular_core.Signal<boolean>;
2170
2276
  protected readonly discount: _angular_core.Signal<number>;
2171
2277
  protected readonly currentClass: _angular_core.Signal<string>;
@@ -2173,7 +2279,7 @@ declare class BuiPrice {
2173
2279
  protected readonly computedClass: _angular_core.Signal<string>;
2174
2280
  protected format(value: number): string;
2175
2281
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiPrice, never>;
2176
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiPrice, "bui-price", never, { "amount": { "alias": "amount"; "required": false; "isSignal": true; }; "compareAt": { "alias": "compareAt"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showDiscount": { "alias": "showDiscount"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2282
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiPrice, "bui-price", never, { "amount": { "alias": "amount"; "required": false; "isSignal": true; }; "compareAt": { "alias": "compareAt"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showDiscount": { "alias": "showDiscount"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "numberFormat": { "alias": "numberFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2177
2283
  }
2178
2284
 
2179
2285
  /** A flexbox stack layout helper (direction, gap, alignment). */
@@ -2554,13 +2660,16 @@ declare class BuiProductCard {
2554
2660
  readonly userClass: _angular_core.InputSignal<ClassValue>;
2555
2661
  /** Accessible label override for the wishlist toggle button. */
2556
2662
  readonly wishlistLabel: _angular_core.InputSignal<string | undefined>;
2663
+ /** Text of the default add-to-cart button. Falls back to `provideBuiLabels`. */
2664
+ readonly addToCartLabel: _angular_core.InputSignal<string | undefined>;
2557
2665
  protected readonly wishlistText: _angular_core.Signal<string>;
2666
+ protected readonly addToCartText: _angular_core.Signal<string>;
2558
2667
  protected readonly wished: _angular_core.WritableSignal<boolean>;
2559
2668
  protected readonly alt: _angular_core.Signal<string>;
2560
2669
  protected readonly badgeClass: _angular_core.Signal<"" | "border-transparent bg-red-700 text-white" | "border-transparent bg-emerald-700 text-white">;
2561
2670
  protected readonly computedClass: _angular_core.Signal<string>;
2562
2671
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiProductCard, never>;
2563
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiProductCard, "bui-product-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "imageAlt": { "alias": "imageAlt"; "required": false; "isSignal": true; }; "price": { "alias": "price"; "required": false; "isSignal": true; }; "compareAt": { "alias": "compareAt"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "category": { "alias": "category"; "required": false; "isSignal": true; }; "rating": { "alias": "rating"; "required": false; "isSignal": true; }; "reviews": { "alias": "reviews"; "required": false; "isSignal": true; }; "wishlist": { "alias": "wishlist"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "wishlistLabel": { "alias": "wishlistLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
2672
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiProductCard, "bui-product-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "imageAlt": { "alias": "imageAlt"; "required": false; "isSignal": true; }; "price": { "alias": "price"; "required": false; "isSignal": true; }; "compareAt": { "alias": "compareAt"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "category": { "alias": "category"; "required": false; "isSignal": true; }; "rating": { "alias": "rating"; "required": false; "isSignal": true; }; "reviews": { "alias": "reviews"; "required": false; "isSignal": true; }; "wishlist": { "alias": "wishlist"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "wishlistLabel": { "alias": "wishlistLabel"; "required": false; "isSignal": true; }; "addToCartLabel": { "alias": "addToCartLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
2564
2673
  }
2565
2674
 
2566
2675
  /**
@@ -2778,7 +2887,22 @@ declare class BuiScrollspy implements OnDestroy {
2778
2887
 
2779
2888
  /** How the time field renders: native input or hour/minute selects. */
2780
2889
  type TimeFieldMode = 'input' | 'select';
2781
- /** A styled time field: a native `<input type="time">`, or hour/minute selects in `select` mode. */
2890
+ /** Which hours the clock runs through. `h12`/`h11` add a day period (AM/PM), `h23`/`h24` do not. */
2891
+ type TimeFieldHourCycle = 'h11' | 'h12' | 'h23' | 'h24';
2892
+ /** An option whose `value` stays the 24-hour data, while `label` is what the locale reads. */
2893
+ interface TimeOption {
2894
+ value: string;
2895
+ label: string;
2896
+ }
2897
+ /**
2898
+ * A styled time field: a native `<input type="time">`, or hour/minute selects in `select` mode.
2899
+ * The value is always 24-hour `HH:mm`, whatever the clock shown.
2900
+ *
2901
+ * **Locale:** `select` mode follows `locale` — it renders the locale's clock (1–12 with AM/PM in
2902
+ * `en-US`, 0–23 in `fr`) and its digits. `input` mode cannot: the browser renders native time
2903
+ * inputs in *its own* UI language, and neither `lang` nor any other attribute overrides that.
2904
+ * Use `mode="select"` when the clock must follow the app's locale rather than the user's browser.
2905
+ */
2782
2906
  declare class BuiTimeField implements ControlValueAccessor {
2783
2907
  /** Selected time as `HH:mm`. Two-way bindable with `[(value)]`. */
2784
2908
  readonly value: _angular_core.ModelSignal<string>;
@@ -2801,14 +2925,37 @@ declare class BuiTimeField implements ControlValueAccessor {
2801
2925
  /** Accessible label for the field. */
2802
2926
  readonly ariaLabel: _angular_core.InputSignal<string>;
2803
2927
  readonly userClass: _angular_core.InputSignal<ClassValue>;
2928
+ /**
2929
+ * BCP 47 locale driving `select` mode's clock and digits. Defaults to the app's `LOCALE_ID`.
2930
+ * It has no effect in `input` mode — see the class docs.
2931
+ */
2932
+ readonly locale: _angular_core.InputSignal<string | undefined>;
2933
+ /** Force a clock instead of the locale's own — `h12` gives 1–12 with AM/PM, `h23` gives 0–23. */
2934
+ readonly hourCycle: _angular_core.InputSignal<TimeFieldHourCycle | undefined>;
2935
+ protected readonly resolvedLocale: _angular_core.Signal<string>;
2936
+ private readonly timeText;
2937
+ private readonly hoursText;
2938
+ private readonly minutesText;
2939
+ protected readonly hoursAria: _angular_core.Signal<string>;
2940
+ protected readonly minutesAria: _angular_core.Signal<string>;
2941
+ /** The locale's clock unless the caller pinned one. */
2942
+ private readonly resolvedHourCycle;
2943
+ private readonly usesDayPeriod;
2944
+ /** Two digits in the locale's own numbering system — `padStart` would mix `0` with `٠`. */
2945
+ private readonly paddedNumber;
2804
2946
  private onChange;
2805
2947
  protected onTouched: () => void;
2806
2948
  protected readonly selectClass = "h-9 rounded-md border border-input bg-background px-2 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50";
2807
2949
  protected readonly hourPart: _angular_core.Signal<string>;
2808
2950
  protected readonly minutePart: _angular_core.Signal<string>;
2809
- protected readonly hours: _angular_core.Signal<string[]>;
2810
- protected readonly minutes: _angular_core.Signal<string[]>;
2951
+ protected readonly hours: _angular_core.Signal<TimeOption[]>;
2952
+ protected readonly minutes: _angular_core.Signal<TimeOption[]>;
2811
2953
  protected readonly computedClass: _angular_core.Signal<string>;
2954
+ /**
2955
+ * "1 PM" / "١ م". Built from parts rather than the plain format so the locale's own literal
2956
+ * (French renders `13 h`) never leaks into a cell that already has its own `:` separator.
2957
+ */
2958
+ private dayPeriodLabel;
2812
2959
  protected onInput(event: Event): void;
2813
2960
  protected setHour(event: Event): void;
2814
2961
  protected setMinute(event: Event): void;
@@ -2817,7 +2964,7 @@ declare class BuiTimeField implements ControlValueAccessor {
2817
2964
  registerOnTouched(callback: () => void): void;
2818
2965
  setDisabledState(isDisabled: boolean): void;
2819
2966
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiTimeField, never>;
2820
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiTimeField, "bui-time-field", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "seconds": { "alias": "seconds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
2967
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiTimeField, "bui-time-field", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "seconds": { "alias": "seconds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "hourCycle": { "alias": "hourCycle"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
2821
2968
  }
2822
2969
 
2823
2970
  type ToggleValue = string | string[] | null;
@@ -3074,10 +3221,16 @@ declare class BuiToolCall {
3074
3221
  /** Whether the arguments/result panel is expanded. Two-way bindable with `[(open)]`. */
3075
3222
  readonly open: _angular_core.ModelSignal<boolean>;
3076
3223
  readonly userClass: _angular_core.InputSignal<ClassValue>;
3224
+ /** Heading of the arguments panel. Falls back to `provideBuiLabels`. */
3225
+ readonly argumentsLabel: _angular_core.InputSignal<string | undefined>;
3226
+ /** Heading of the result panel. Falls back to `provideBuiLabels`. */
3227
+ readonly resultLabel: _angular_core.InputSignal<string | undefined>;
3228
+ protected readonly argumentsText: _angular_core.Signal<string>;
3229
+ protected readonly resultText: _angular_core.Signal<string>;
3077
3230
  protected readonly statusClass: _angular_core.Signal<string>;
3078
3231
  protected readonly computedClass: _angular_core.Signal<string>;
3079
3232
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiToolCall, never>;
3080
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiToolCall, "bui-tool-call", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "args": { "alias": "args"; "required": false; "isSignal": true; }; "result": { "alias": "result"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
3233
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiToolCall, "bui-tool-call", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "args": { "alias": "args"; "required": false; "isSignal": true; }; "result": { "alias": "result"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "argumentsLabel": { "alias": "argumentsLabel"; "required": false; "isSignal": true; }; "resultLabel": { "alias": "resultLabel"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
3081
3234
  }
3082
3235
 
3083
3236
  /** A scrollable conversation log (`role="log"`). Use `bui-chat-message` for bubbles. */
@@ -3371,7 +3524,8 @@ interface CalendarRange {
3371
3524
  }
3372
3525
  interface Day {
3373
3526
  iso: string;
3374
- num: number;
3527
+ /** Day number rendered in the locale's numbering system — `16` in `fr`, `١٦` in `ar-EG`. */
3528
+ num: string;
3375
3529
  inMonth: boolean;
3376
3530
  isToday: boolean;
3377
3531
  disabled: boolean;
@@ -3381,6 +3535,16 @@ interface MonthGrid {
3381
3535
  label: string;
3382
3536
  weeks: Day[][];
3383
3537
  }
3538
+ interface Weekday {
3539
+ /** Day index, `0` = Sunday. Stable across locales, so it is the `@for` track key. */
3540
+ day: number;
3541
+ /** Abbreviation shown in the column header. */
3542
+ label: string;
3543
+ /** Full name, exposed to assistive tech since the abbreviation can be ambiguous. */
3544
+ name: string;
3545
+ }
3546
+ /** How weekday column headers are abbreviated. `short` is each locale's native abbreviation. */
3547
+ type WeekdayFormat = 'narrow' | 'short' | 'long';
3384
3548
  /**
3385
3549
  * A date calendar. Modes: `single` (one day), `range` (start–end), `multiple` (a set of days).
3386
3550
  * Render several months side by side with `months`. SSR-safe.
@@ -3396,15 +3560,18 @@ declare class BuiCalendar implements ControlValueAccessor {
3396
3560
  readonly values: _angular_core.ModelSignal<readonly string[]>;
3397
3561
  /** Number of month grids to render side by side. */
3398
3562
  readonly months: _angular_core.InputSignal<number>;
3399
- /** First day of the week (0 = Sunday). */
3400
- readonly weekStart: _angular_core.InputSignal<number>;
3563
+ /**
3564
+ * First day of the week (0 = Sunday). Defaults to the locale's own convention — Sunday in
3565
+ * `en-US`, Monday in `fr`, Saturday in `ar-EG`.
3566
+ */
3567
+ readonly weekStart: _angular_core.InputSignal<number | undefined>;
3401
3568
  /** Earliest selectable date (`yyyy-mm-dd`). */
3402
3569
  readonly minDate: _angular_core.InputSignal<string>;
3403
3570
  /** Latest selectable date (`yyyy-mm-dd`). */
3404
3571
  readonly maxDate: _angular_core.InputSignal<string>;
3405
3572
  /** Specific ISO dates (yyyy-mm-dd) to disable. */
3406
3573
  readonly disabledDates: _angular_core.InputSignal<readonly string[]>;
3407
- /** Disable Saturdays and Sundays. */
3574
+ /** Disable the locale's weekend days — Saturday/Sunday in `en-US`, Friday/Saturday in `ar-EG`. */
3408
3575
  readonly disableWeekends: _angular_core.InputSignal<boolean>;
3409
3576
  /** Show an ISO week-number column on the left. */
3410
3577
  readonly showWeekNumbers: _angular_core.InputSignal<boolean>;
@@ -3415,6 +3582,20 @@ declare class BuiCalendar implements ControlValueAccessor {
3415
3582
  /** Whether the whole calendar is disabled. Two-way bindable with `[(disabled)]`. */
3416
3583
  readonly disabled: _angular_core.ModelSignal<boolean>;
3417
3584
  readonly userClass: _angular_core.InputSignal<ClassValue>;
3585
+ /** BCP 47 locale used for the month captions. Defaults to the app's `LOCALE_ID`. */
3586
+ readonly locale: _angular_core.InputSignal<string | undefined>;
3587
+ /**
3588
+ * `Intl.DateTimeFormat` options for the month caption. Replaces the default wholesale, so
3589
+ * `{ dateStyle: 'short' }` and `{ month: 'long' }` are both valid (they cannot be mixed).
3590
+ */
3591
+ readonly monthFormat: _angular_core.InputSignal<Intl.DateTimeFormatOptions>;
3592
+ /** How weekday column headers are abbreviated: each locale's own `short` form by default. */
3593
+ readonly weekdayFormat: _angular_core.InputSignal<WeekdayFormat>;
3594
+ /**
3595
+ * Override the weekday column headers outright — 7 entries, **Sunday first**, regardless of
3596
+ * `weekStart`. For when a locale's `Intl` abbreviation is not what your design wants.
3597
+ */
3598
+ readonly weekdayLabels: _angular_core.InputSignal<readonly string[] | undefined>;
3418
3599
  /** Accessible label for the previous-month button. */
3419
3600
  readonly previousMonthLabel: _angular_core.InputSignal<string | undefined>;
3420
3601
  /** Accessible label for the month dropdown. */
@@ -3423,14 +3604,24 @@ declare class BuiCalendar implements ControlValueAccessor {
3423
3604
  readonly yearLabel: _angular_core.InputSignal<string | undefined>;
3424
3605
  /** Accessible label for the next-month button. */
3425
3606
  readonly nextMonthLabel: _angular_core.InputSignal<string | undefined>;
3607
+ /** Accessible label for the week-number column. */
3608
+ readonly weekLabel: _angular_core.InputSignal<string | undefined>;
3426
3609
  protected readonly previousMonthText: _angular_core.Signal<string>;
3427
3610
  protected readonly monthText: _angular_core.Signal<string>;
3428
3611
  protected readonly yearText: _angular_core.Signal<string>;
3429
3612
  protected readonly nextMonthText: _angular_core.Signal<string>;
3613
+ protected readonly weekText: _angular_core.Signal<string>;
3430
3614
  private onChange;
3431
3615
  protected onTouched: () => void;
3432
3616
  private readonly view;
3433
- protected readonly weekdays: _angular_core.Signal<string[]>;
3617
+ protected readonly resolvedLocale: _angular_core.Signal<string>;
3618
+ private readonly weekInfo;
3619
+ /** The locale's first day unless the caller pinned one. */
3620
+ private readonly resolvedWeekStart;
3621
+ protected readonly weekdays: _angular_core.Signal<Weekday[]>;
3622
+ private readonly monthFormatter;
3623
+ /** Day/week/year numbers follow the locale's numbering system; never group a year as "2,026". */
3624
+ private readonly numberFormatter;
3434
3625
  protected readonly monthLabel: _angular_core.Signal<string>;
3435
3626
  protected readonly viewMonth: _angular_core.Signal<number>;
3436
3627
  protected readonly viewYear: _angular_core.Signal<number>;
@@ -3438,10 +3629,17 @@ declare class BuiCalendar implements ControlValueAccessor {
3438
3629
  value: number;
3439
3630
  label: string;
3440
3631
  }[]>;
3441
- protected readonly years: _angular_core.Signal<number[]>;
3632
+ protected readonly years: _angular_core.Signal<{
3633
+ value: number;
3634
+ label: string;
3635
+ }[]>;
3442
3636
  protected readonly monthGrids: _angular_core.Signal<MonthGrid[]>;
3443
3637
  protected readonly computedClass: _angular_core.Signal<string>;
3444
- protected weekNum(iso: string): number;
3638
+ /**
3639
+ * Week number for a row, under the locale's rule and aligned on the same first day as the grid
3640
+ * — a row cannot be labelled with a week it does not span.
3641
+ */
3642
+ protected weekNum(iso: string): string;
3445
3643
  protected changeMonth(delta: number): void;
3446
3644
  protected setMonth(event: Event): void;
3447
3645
  protected setYear(event: Event): void;
@@ -3456,7 +3654,7 @@ declare class BuiCalendar implements ControlValueAccessor {
3456
3654
  private weeksFor;
3457
3655
  private isDisabled;
3458
3656
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiCalendar, never>;
3459
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiCalendar, "bui-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "weekStart": { "alias": "weekStart"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "disableWeekends": { "alias": "disableWeekends"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "hideOutsideDays": { "alias": "hideOutsideDays"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "previousMonthLabel": { "alias": "previousMonthLabel"; "required": false; "isSignal": true; }; "monthSelectLabel": { "alias": "monthSelectLabel"; "required": false; "isSignal": true; }; "yearLabel": { "alias": "yearLabel"; "required": false; "isSignal": true; }; "nextMonthLabel": { "alias": "nextMonthLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; "values": "valuesChange"; "disabled": "disabledChange"; }, never, never, true, never>;
3657
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiCalendar, "bui-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "weekStart": { "alias": "weekStart"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "disableWeekends": { "alias": "disableWeekends"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "hideOutsideDays": { "alias": "hideOutsideDays"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "monthFormat": { "alias": "monthFormat"; "required": false; "isSignal": true; }; "weekdayFormat": { "alias": "weekdayFormat"; "required": false; "isSignal": true; }; "weekdayLabels": { "alias": "weekdayLabels"; "required": false; "isSignal": true; }; "previousMonthLabel": { "alias": "previousMonthLabel"; "required": false; "isSignal": true; }; "monthSelectLabel": { "alias": "monthSelectLabel"; "required": false; "isSignal": true; }; "yearLabel": { "alias": "yearLabel"; "required": false; "isSignal": true; }; "nextMonthLabel": { "alias": "nextMonthLabel"; "required": false; "isSignal": true; }; "weekLabel": { "alias": "weekLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; "values": "valuesChange"; "disabled": "disabledChange"; }, never, never, true, never>;
3460
3658
  }
3461
3659
 
3462
3660
  /** A named shortcut shown beside the calendar, e.g. "Last 7 days". */
@@ -3484,8 +3682,8 @@ declare class BuiDateRangePicker implements ControlValueAccessor {
3484
3682
  readonly minDate: _angular_core.InputSignal<string>;
3485
3683
  /** Latest selectable date (`yyyy-mm-dd`). */
3486
3684
  readonly maxDate: _angular_core.InputSignal<string>;
3487
- /** Text shown on the trigger when nothing is selected. */
3488
- readonly placeholder: _angular_core.InputSignal<string>;
3685
+ /** Text shown on the trigger when nothing is selected. Falls back to `provideBuiLabels`. */
3686
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
3489
3687
  /** Whether the picker is disabled. Two-way bindable with `[(disabled)]`. */
3490
3688
  readonly disabled: _angular_core.ModelSignal<boolean>;
3491
3689
  /** Quick-pick shortcuts. Pass `[]` to hide them; omit for a sensible default set. */
@@ -3493,8 +3691,19 @@ declare class BuiDateRangePicker implements ControlValueAccessor {
3493
3691
  /** Accessible name applied to the trigger. */
3494
3692
  readonly ariaLabel: _angular_core.InputSignal<string>;
3495
3693
  readonly userClass: _angular_core.InputSignal<ClassValue>;
3694
+ /** BCP 47 locale for the trigger text and the calendar. Defaults to the app's `LOCALE_ID`. */
3695
+ readonly locale: _angular_core.InputSignal<string | undefined>;
3696
+ /**
3697
+ * `Intl.DateTimeFormat` options for the trigger text. Replaces the default wholesale, so
3698
+ * `{ dateStyle: 'short' }` renders `16/07/2026` in `fr` (options cannot be mixed with it).
3699
+ */
3700
+ readonly dateFormat: _angular_core.InputSignal<Intl.DateTimeFormatOptions>;
3701
+ protected readonly placeholderText: _angular_core.Signal<string>;
3702
+ private readonly presetText;
3496
3703
  protected readonly open: _angular_core.WritableSignal<boolean>;
3497
3704
  protected readonly popupPositions: ConnectedPosition[];
3705
+ private readonly resolvedLocale;
3706
+ private readonly formatter;
3498
3707
  private onChange;
3499
3708
  private onTouched;
3500
3709
  protected readonly hasValue: _angular_core.Signal<boolean>;
@@ -3511,7 +3720,7 @@ declare class BuiDateRangePicker implements ControlValueAccessor {
3511
3720
  registerOnTouched(callback: () => void): void;
3512
3721
  setDisabledState(isDisabled: boolean): void;
3513
3722
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiDateRangePicker, never>;
3514
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiDateRangePicker, "bui-date-range-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
3723
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiDateRangePicker, "bui-date-range-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
3515
3724
  }
3516
3725
 
3517
3726
  /** A chat composer: an autosizing textarea with a send button. Emits `submitted` on send. */
@@ -4044,14 +4253,29 @@ declare class BuiMiniCart {
4044
4253
  readonly triggerLabel: _angular_core.InputSignal<string | undefined>;
4045
4254
  /** Accessible label override for the cart dropdown dialog. */
4046
4255
  readonly label: _angular_core.InputSignal<string | undefined>;
4256
+ /** Heading shown at the top of the cart panel. Falls back to `provideBuiLabels`. */
4257
+ readonly title: _angular_core.InputSignal<string | undefined>;
4258
+ /** Label for the subtotal row. Falls back to `provideBuiLabels`. */
4259
+ readonly subtotalLabel: _angular_core.InputSignal<string | undefined>;
4260
+ /** BCP 47 locale for number formatting. Defaults to the app's `LOCALE_ID`. */
4261
+ readonly locale: _angular_core.InputSignal<string | undefined>;
4262
+ /**
4263
+ * `Intl.NumberFormat` options for prices and subtotal. Replaces the default wholesale — pass
4264
+ * `{ style: 'currency', currency: 'EUR' }` to let ICU place the symbol itself.
4265
+ */
4266
+ readonly numberFormat: _angular_core.InputSignal<Intl.NumberFormatOptions>;
4267
+ private readonly resolvedLocale;
4268
+ private readonly formatter;
4047
4269
  protected readonly triggerText: _angular_core.Signal<string>;
4048
4270
  protected readonly labelText: _angular_core.Signal<string>;
4271
+ protected readonly titleText: _angular_core.Signal<string>;
4272
+ protected readonly subtotalText: _angular_core.Signal<string>;
4049
4273
  protected readonly count: _angular_core.Signal<number>;
4050
4274
  protected readonly subtotal: _angular_core.Signal<number>;
4051
4275
  protected readonly computedClass: _angular_core.Signal<string>;
4052
4276
  protected format(value: number): string;
4053
4277
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiMiniCart, never>;
4054
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiMiniCart, "bui-mini-cart", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
4278
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiMiniCart, "bui-mini-cart", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtotalLabel": { "alias": "subtotalLabel"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "numberFormat": { "alias": "numberFormat"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
4055
4279
  }
4056
4280
 
4057
4281
  /** An SVG beam connecting two elements (by selector) with a travelling light. SSR-safe. */
@@ -4169,13 +4393,19 @@ declare class BuiMarkdownEditor {
4169
4393
  /** Number of visible rows in the write textarea. */
4170
4394
  readonly rows: _angular_core.InputSignal<number>;
4171
4395
  readonly userClass: _angular_core.InputSignal<ClassValue>;
4396
+ /** Text of the write tab. Falls back to `provideBuiLabels`. */
4397
+ readonly writeLabel: _angular_core.InputSignal<string | undefined>;
4398
+ /** Text of the preview tab. Falls back to `provideBuiLabels`. */
4399
+ readonly previewLabel: _angular_core.InputSignal<string | undefined>;
4400
+ protected readonly writeText: _angular_core.Signal<string>;
4401
+ protected readonly previewText: _angular_core.Signal<string>;
4172
4402
  protected readonly tab: _angular_core.WritableSignal<"write" | "preview">;
4173
4403
  protected readonly rendered: _angular_core.Signal<string>;
4174
4404
  protected readonly computedClass: _angular_core.Signal<string>;
4175
4405
  protected tabClass(name: 'write' | 'preview'): string;
4176
4406
  protected onInput(event: Event): void;
4177
4407
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiMarkdownEditor, never>;
4178
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiMarkdownEditor, "bui-markdown-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
4408
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiMarkdownEditor, "bui-markdown-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "writeLabel": { "alias": "writeLabel"; "required": false; "isSignal": true; }; "previewLabel": { "alias": "previewLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
4179
4409
  }
4180
4410
 
4181
4411
  /**
@@ -4191,14 +4421,14 @@ declare class BuiDatePicker implements ControlValueAccessor {
4191
4421
  readonly range: _angular_core.ModelSignal<CalendarRange>;
4192
4422
  /** Month grids shown in the popover (handy for range). */
4193
4423
  readonly months: _angular_core.InputSignal<number>;
4194
- /** Text shown on the trigger when no date is selected. */
4195
- readonly placeholder: _angular_core.InputSignal<string>;
4424
+ /** Text shown on the trigger when no date is selected. Falls back to `provideBuiLabels`. */
4425
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
4196
4426
  /** Earliest selectable date (`yyyy-mm-dd`). */
4197
4427
  readonly minDate: _angular_core.InputSignal<string>;
4198
4428
  /** Latest selectable date (`yyyy-mm-dd`). */
4199
4429
  readonly maxDate: _angular_core.InputSignal<string>;
4200
- /** First day of the week (0 = Sunday). */
4201
- readonly weekStart: _angular_core.InputSignal<number>;
4430
+ /** First day of the week (0 = Sunday). Defaults to the locale's own convention. */
4431
+ readonly weekStart: _angular_core.InputSignal<number | undefined>;
4202
4432
  /** Specific ISO dates (yyyy-mm-dd) to disable. */
4203
4433
  readonly disabledDates: _angular_core.InputSignal<readonly string[]>;
4204
4434
  /** Disable Saturdays and Sundays. */
@@ -4212,10 +4442,20 @@ declare class BuiDatePicker implements ControlValueAccessor {
4212
4442
  /** Whether the picker is disabled. Two-way bindable with `[(disabled)]`. */
4213
4443
  readonly disabled: _angular_core.ModelSignal<boolean>;
4214
4444
  readonly userClass: _angular_core.InputSignal<ClassValue>;
4445
+ /** BCP 47 locale for the trigger text and the calendar. Defaults to the app's `LOCALE_ID`. */
4446
+ readonly locale: _angular_core.InputSignal<string | undefined>;
4447
+ /**
4448
+ * `Intl.DateTimeFormat` options for the trigger text. Replaces the default wholesale, so
4449
+ * `{ dateStyle: 'short' }` renders `16/07/2026` in `fr` (options cannot be mixed with it).
4450
+ */
4451
+ readonly dateFormat: _angular_core.InputSignal<Intl.DateTimeFormatOptions>;
4452
+ protected readonly placeholderText: _angular_core.Signal<string>;
4215
4453
  private onChange;
4216
4454
  protected onTouched: () => void;
4217
4455
  private readonly host;
4218
4456
  protected readonly open: _angular_core.WritableSignal<boolean>;
4457
+ private readonly resolvedLocale;
4458
+ private readonly formatter;
4219
4459
  protected readonly hasValue: _angular_core.Signal<boolean>;
4220
4460
  protected readonly display: _angular_core.Signal<string>;
4221
4461
  protected readonly popupPositions: ConnectedPosition[];
@@ -4229,7 +4469,7 @@ declare class BuiDatePicker implements ControlValueAccessor {
4229
4469
  registerOnTouched(callback: () => void): void;
4230
4470
  setDisabledState(isDisabled: boolean): void;
4231
4471
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiDatePicker, never>;
4232
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiDatePicker, "bui-date-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "weekStart": { "alias": "weekStart"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "disableWeekends": { "alias": "disableWeekends"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "hideOutsideDays": { "alias": "hideOutsideDays"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; "disabled": "disabledChange"; }, never, never, true, never>;
4472
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiDatePicker, "bui-date-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "weekStart": { "alias": "weekStart"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "disableWeekends": { "alias": "disableWeekends"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "hideOutsideDays": { "alias": "hideOutsideDays"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; "disabled": "disabledChange"; }, never, never, true, never>;
4233
4473
  }
4234
4474
 
4235
4475
  /** Scroll axis of the carousel: left/right or up/down. */
@@ -4537,8 +4777,10 @@ declare class BuiDatetimePicker implements ControlValueAccessor {
4537
4777
  readonly range: _angular_core.ModelSignal<CalendarRange>;
4538
4778
  /** Month grids shown in the popover (handy for range). */
4539
4779
  readonly months: _angular_core.InputSignal<number>;
4540
- /** Text shown on the trigger when nothing is selected. */
4541
- readonly placeholder: _angular_core.InputSignal<string>;
4780
+ /** Text shown on the trigger when nothing is selected. Falls back to `provideBuiLabels`. */
4781
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
4782
+ /** Label for the time field in the popover. Falls back to `provideBuiLabels`. */
4783
+ readonly timeLabel: _angular_core.InputSignal<string | undefined>;
4542
4784
  /** Earliest selectable date (`yyyy-mm-dd`). */
4543
4785
  readonly minDate: _angular_core.InputSignal<string>;
4544
4786
  /** Latest selectable date (`yyyy-mm-dd`). */
@@ -4547,13 +4789,30 @@ declare class BuiDatetimePicker implements ControlValueAccessor {
4547
4789
  readonly captionLayout: _angular_core.InputSignal<"label" | "dropdown">;
4548
4790
  /** Whether to include seconds in the time field. */
4549
4791
  readonly seconds: _angular_core.InputSignal<boolean>;
4792
+ /**
4793
+ * How the popover's time field renders. The default native `input` is drawn by the browser in
4794
+ * *its* language, so it can disagree with a trigger formatted in `locale`; `select` follows
4795
+ * `locale` instead and keeps the whole picker on one clock.
4796
+ */
4797
+ readonly timeMode: _angular_core.InputSignal<TimeFieldMode>;
4550
4798
  /** Whether the picker is disabled. Two-way bindable with `[(disabled)]`. */
4551
4799
  readonly disabled: _angular_core.ModelSignal<boolean>;
4552
4800
  readonly userClass: _angular_core.InputSignal<ClassValue>;
4801
+ /** BCP 47 locale for the trigger text and the calendar. Defaults to the app's `LOCALE_ID`. */
4802
+ readonly locale: _angular_core.InputSignal<string | undefined>;
4803
+ /**
4804
+ * `Intl.DateTimeFormat` options for the trigger text. Replaces the default wholesale, so
4805
+ * `{ dateStyle: 'short', timeStyle: 'short' }` is valid (options cannot be mixed with it).
4806
+ */
4807
+ readonly dateFormat: _angular_core.InputSignal<Intl.DateTimeFormatOptions>;
4808
+ protected readonly placeholderText: _angular_core.Signal<string>;
4809
+ protected readonly timeText: _angular_core.Signal<string>;
4553
4810
  private onChange;
4554
4811
  protected onTouched: () => void;
4555
4812
  private readonly host;
4556
4813
  protected readonly open: _angular_core.WritableSignal<boolean>;
4814
+ private readonly resolvedLocale;
4815
+ private readonly formatter;
4557
4816
  protected readonly datePart: _angular_core.Signal<string>;
4558
4817
  protected readonly timePart: _angular_core.Signal<string>;
4559
4818
  protected readonly calRange: _angular_core.Signal<CalendarRange>;
@@ -4572,7 +4831,7 @@ declare class BuiDatetimePicker implements ControlValueAccessor {
4572
4831
  setDisabledState(isDisabled: boolean): void;
4573
4832
  private todayIso;
4574
4833
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiDatetimePicker, never>;
4575
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiDatetimePicker, "bui-datetime-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "seconds": { "alias": "seconds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; "disabled": "disabledChange"; }, never, never, true, never>;
4834
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiDatetimePicker, "bui-datetime-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "months": { "alias": "months"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "timeLabel": { "alias": "timeLabel"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "seconds": { "alias": "seconds"; "required": false; "isSignal": true; }; "timeMode": { "alias": "timeMode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; "disabled": "disabledChange"; }, never, never, true, never>;
4576
4835
  }
4577
4836
 
4578
4837
  type AutocompleteValue = string | readonly string[];
@@ -4956,6 +5215,18 @@ declare class BuiGantt {
4956
5215
  /** ISO end date overriding the computed range maximum; empty derives it from tasks. */
4957
5216
  readonly end: _angular_core.InputSignal<string>;
4958
5217
  readonly userClass: _angular_core.InputSignal<ClassValue>;
5218
+ /** BCP 47 locale used for the axis bound labels. Defaults to the app's `LOCALE_ID`. */
5219
+ readonly locale: _angular_core.InputSignal<string | undefined>;
5220
+ /**
5221
+ * `Intl.DateTimeFormat` options for the axis bound labels. Replaces the default wholesale, so
5222
+ * `{ dateStyle: 'short' }` is valid (its options cannot be mixed with `month`/`day`).
5223
+ */
5224
+ readonly dateFormat: _angular_core.InputSignal<Intl.DateTimeFormatOptions>;
5225
+ /** Text shown when there are no tasks to plot. Falls back to `provideBuiLabels`. */
5226
+ readonly emptyLabel: _angular_core.InputSignal<string | undefined>;
5227
+ protected readonly emptyText: _angular_core.Signal<string>;
5228
+ private readonly resolvedLocale;
5229
+ private readonly formatter;
4959
5230
  protected readonly milestoneRows: _angular_core.Signal<{
4960
5231
  name: string;
4961
5232
  left: number;
@@ -4965,8 +5236,12 @@ declare class BuiGantt {
4965
5236
  protected readonly rangeStart: _angular_core.Signal<string>;
4966
5237
  protected readonly rangeEnd: _angular_core.Signal<string>;
4967
5238
  protected readonly computedClass: _angular_core.Signal<string>;
5239
+ private label;
5240
+ /** `Intl` throws on an invalid date where `toLocaleDateString` returned "Invalid Date"; an
5241
+ * empty bound (a task with no `start`) is a caller mistake, not a reason to break the chart. */
5242
+ private format;
4968
5243
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuiGantt, never>;
4969
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiGantt, "bui-gantt", never, { "tasks": { "alias": "tasks"; "required": false; "isSignal": true; }; "milestones": { "alias": "milestones"; "required": false; "isSignal": true; }; "start": { "alias": "start"; "required": false; "isSignal": true; }; "end": { "alias": "end"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5244
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuiGantt, "bui-gantt", never, { "tasks": { "alias": "tasks"; "required": false; "isSignal": true; }; "milestones": { "alias": "milestones"; "required": false; "isSignal": true; }; "start": { "alias": "start"; "required": false; "isSignal": true; }; "end": { "alias": "end"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4970
5245
  }
4971
5246
 
4972
5247
  interface SchedulerEvent {
@@ -5225,5 +5500,5 @@ declare class BuiQrCode {
5225
5500
  /** Encode `text` into a QR module matrix (true = dark). Level M, versions 1-10. */
5226
5501
  declare function encodeQr(text: string): boolean[][];
5227
5502
 
5228
- export { BUI_DEFAULT_LABELS, BUI_LABELS, BuiAccent, BuiAccordion, BuiAccordionContent, BuiAccordionItem, BuiAccordionTrigger, BuiAddToCart, BuiAlert, BuiAlertDescription, BuiAlertDialogAction, BuiAlertDialogCancel, BuiAlertDialogContent, BuiAlertDialogDescription, BuiAlertDialogFooter, BuiAlertDialogHeader, BuiAlertDialogTitle, BuiAlertTitle, BuiAnimatedBeam, BuiAspectRatio, BuiAudioPlayer, BuiAurora, BuiAutocomplete, BuiAutosizeTextarea, BuiAvatar, BuiAvatarGroup, BuiBackToTop, BuiBadge, BuiBanner, BuiBentoGrid, BuiBentoItem, BuiBorderBeam, BuiBottomNavigation, BuiBottomNavigationItem, BuiBreadcrumb, BuiBreadcrumbEllipsis, BuiBreadcrumbItem, BuiBreadcrumbLink, BuiBreadcrumbList, BuiBreadcrumbPage, BuiBreadcrumbSeparator, BuiButton, BuiButtonGroup, BuiButtonGroupText, BuiCalendar, BuiCard, BuiCardAction, BuiCardContent, BuiCardDescription, BuiCardFooter, BuiCardHeader, BuiCardTitle, BuiCarousel, BuiChart, BuiChat, BuiChatMessage, BuiCheckbox, BuiCitation, BuiCodeBlock, BuiCollapsible, BuiCollapsibleContent, BuiCollapsibleTrigger, BuiColorPicker, BuiCombobox, BuiCommand, BuiComparisonSlider, BuiComparisonTable, BuiConfetti, BuiContainer, BuiContextMenu, BuiCookieConsent, BuiCopyButton, BuiCountdown, BuiDataTable, BuiDatePicker, BuiDateRangePicker, BuiDatetimePicker, BuiDescriptionItem, BuiDescriptionList, BuiDialogContent, BuiDialogDescription, BuiDialogFooter, BuiDialogHeader, BuiDialogTitle, BuiDiffViewer, BuiDock, BuiDockItem, BuiDotPattern, BuiDrawer, BuiDropdownMenu, BuiDropdownMenuItem, BuiDropdownMenuLabel, BuiDropdownMenuSeparator, BuiEditable, BuiEmpty, BuiEmptyContent, BuiEmptyDescription, BuiEmptyHeader, BuiEmptyMedia, BuiEmptyTitle, BuiField, BuiFieldContent, BuiFieldDescription, BuiFieldError, BuiFieldGroup, BuiFieldLabel, BuiFieldLegend, BuiFieldSeparator, BuiFieldSet, BuiFieldTitle, BuiFileUpload, BuiFlipCard, BuiGallery, BuiGantt, BuiGradientText, BuiGridPattern, BuiHeatmap, BuiHoverCard, BuiHoverCardContent, BuiIconTile, BuiImage, BuiInfiniteScroll, BuiInput, BuiInputField, BuiInputGroup, BuiInputGroupAddon, BuiInputGroupButton, BuiInputGroupInput, BuiInputGroupText, BuiInputMask, BuiInputOtp, BuiItem, BuiItemActions, BuiItemContent, BuiItemDescription, BuiItemGroup, BuiItemMedia, BuiItemTitle, BuiJsonViewer, BuiJsonViewerNode, BuiKanban, BuiKbd, BuiKbdGroup, BuiKnob, BuiLabel, BuiLink, BuiLoadingOverlay, BuiMap, BuiMarkdownEditor, BuiMarquee, BuiMasonry, BuiMentionInput, BuiMenubar, BuiMenubarTrigger, BuiMeteors, BuiMeter, BuiMiniCart, BuiMoneyInput, BuiNavigationMenu, BuiNotificationCenter, BuiNumberInput, BuiNumberTicker, BuiOnboardingTour, BuiOrgChart, BuiOrgChartNode, BuiPageHeader, BuiPagination, BuiPaginationContent, BuiPaginationEllipsis, BuiPaginationItem, BuiPaginationLink, BuiParallax, BuiPasswordStrength, BuiPhoneInput, BuiPopover, BuiPopoverContent, BuiPresence, BuiPrice, BuiProductCard, BuiProgress, BuiPromptInput, BuiQrCode, BuiQuantitySelector, BuiQuote, BuiRadioGroup, BuiRadioGroupItem, BuiRating, BuiReasoning, BuiRepeater, BuiResizableHandle, BuiResizablePanel, BuiResizablePanelGroup, BuiRichTextEditor, BuiScheduler, BuiScrollArea, BuiScrollspy, BuiSegmentedControl, BuiSelect, BuiSeparator, BuiSheet, BuiSidebar, BuiSidebarInset, BuiSidebarMenuButton, BuiSidebarProvider, BuiSidebarState, BuiSidebarTrigger, BuiSignaturePad, BuiSkeleton, BuiSlider, BuiSonner, BuiSparkline, BuiSpeedDial, BuiSpinner, BuiSpotlightCard, BuiStack, BuiStat, BuiStepper, BuiStepperItem, BuiStreamingText, BuiSwitch, BuiTabList, BuiTabPanel, BuiTabTrigger, BuiTable, BuiTableBody, BuiTableCaption, BuiTableCell, BuiTableContainer, BuiTableFooter, BuiTableHead, BuiTableHeader, BuiTableRow, BuiTabs, BuiTagsInput, BuiTerminal, BuiTextReveal, BuiTextarea, BuiThemeCustomizer, BuiTiltCard, BuiTimeField, BuiTimeline, BuiTimelineItem, BuiToaster, BuiToggle, BuiToggleGroup, BuiToggleGroupItem, BuiToolCall, BuiTooltip, BuiTooltipContent, BuiTopProgress, BuiTree, BuiTreeNode, BuiTreeTable, BuiTypewriter, BuiTypography, BuiVariantSelector, BuiVideo, BuiVisuallyHidden, THEME_TOKENS, ThemeStore, buiLabel, buttonVariants, cn, encodeQr, provideBuiLabels, toggleVariants };
5229
- export type { AddToCartSize, AlertTone, AlertVariant, AutocompleteSize, BadgeIntensity, BadgeSize, BadgeTone, BadgeVariant, BuiLabels, ButtonSize, ButtonVariant, CalendarMode, CalendarRange, CardVariant, CarouselOrientation, CartItem, ChartSeries, CheckboxTone, ComboboxOption, CommandGroup, CommandItem, ComparisonRow, ConfettiDirection, ContextMenuItem, CurrencyDisplay, DataTableColumn, DateRangePreset, DialogSize, GalleryImage, GanttMilestone, GanttTask, GroupAvatar, IconTileShape, IconTileSize, IconTileTone, InputSize, KanbanCard, KanbanColumn, Mention, NavMenuItem, NavMenuLink, NotificationItem, NumberInputSize, OrgNode, PhoneCountry, PopoverSide, RepeaterField, SchedulerEvent, ScrollspyItem, SegmentOption, SelectOption, SeparatorOrientation, SpeedDialAction, SwitchSize, TextareaSize, ThemeMode, TimeFieldMode, ToastOptions, ToastTone, TooltipSide, TourStep, TreeItem, TreeTableColumn, TreeTableRow, VariantOption };
5503
+ export { BUI_DEFAULT_LABELS, BUI_GRID_CALENDAR, BUI_LABELS, BuiAccent, BuiAccordion, BuiAccordionContent, BuiAccordionItem, BuiAccordionTrigger, BuiAddToCart, BuiAlert, BuiAlertDescription, BuiAlertDialogAction, BuiAlertDialogCancel, BuiAlertDialogContent, BuiAlertDialogDescription, BuiAlertDialogFooter, BuiAlertDialogHeader, BuiAlertDialogTitle, BuiAlertTitle, BuiAnimatedBeam, BuiAspectRatio, BuiAudioPlayer, BuiAurora, BuiAutocomplete, BuiAutosizeTextarea, BuiAvatar, BuiAvatarGroup, BuiBackToTop, BuiBadge, BuiBanner, BuiBentoGrid, BuiBentoItem, BuiBorderBeam, BuiBottomNavigation, BuiBottomNavigationItem, BuiBreadcrumb, BuiBreadcrumbEllipsis, BuiBreadcrumbItem, BuiBreadcrumbLink, BuiBreadcrumbList, BuiBreadcrumbPage, BuiBreadcrumbSeparator, BuiButton, BuiButtonGroup, BuiButtonGroupText, BuiCalendar, BuiCard, BuiCardAction, BuiCardContent, BuiCardDescription, BuiCardFooter, BuiCardHeader, BuiCardTitle, BuiCarousel, BuiChart, BuiChat, BuiChatMessage, BuiCheckbox, BuiCitation, BuiCodeBlock, BuiCollapsible, BuiCollapsibleContent, BuiCollapsibleTrigger, BuiColorPicker, BuiCombobox, BuiCommand, BuiComparisonSlider, BuiComparisonTable, BuiConfetti, BuiContainer, BuiContextMenu, BuiCookieConsent, BuiCopyButton, BuiCountdown, BuiDataTable, BuiDatePicker, BuiDateRangePicker, BuiDatetimePicker, BuiDescriptionItem, BuiDescriptionList, BuiDialogContent, BuiDialogDescription, BuiDialogFooter, BuiDialogHeader, BuiDialogTitle, BuiDiffViewer, BuiDock, BuiDockItem, BuiDotPattern, BuiDrawer, BuiDropdownMenu, BuiDropdownMenuItem, BuiDropdownMenuLabel, BuiDropdownMenuSeparator, BuiEditable, BuiEmpty, BuiEmptyContent, BuiEmptyDescription, BuiEmptyHeader, BuiEmptyMedia, BuiEmptyTitle, BuiField, BuiFieldContent, BuiFieldDescription, BuiFieldError, BuiFieldGroup, BuiFieldLabel, BuiFieldLegend, BuiFieldSeparator, BuiFieldSet, BuiFieldTitle, BuiFileUpload, BuiFlipCard, BuiGallery, BuiGantt, BuiGradientText, BuiGridPattern, BuiHeatmap, BuiHoverCard, BuiHoverCardContent, BuiIconTile, BuiImage, BuiInfiniteScroll, BuiInput, BuiInputField, BuiInputGroup, BuiInputGroupAddon, BuiInputGroupButton, BuiInputGroupInput, BuiInputGroupText, BuiInputMask, BuiInputOtp, BuiItem, BuiItemActions, BuiItemContent, BuiItemDescription, BuiItemGroup, BuiItemMedia, BuiItemTitle, BuiJsonViewer, BuiJsonViewerNode, BuiKanban, BuiKbd, BuiKbdGroup, BuiKnob, BuiLabel, BuiLink, BuiLoadingOverlay, BuiMap, BuiMarkdownEditor, BuiMarquee, BuiMasonry, BuiMentionInput, BuiMenubar, BuiMenubarTrigger, BuiMeteors, BuiMeter, BuiMiniCart, BuiMoneyInput, BuiNavigationMenu, BuiNotificationCenter, BuiNumberInput, BuiNumberTicker, BuiOnboardingTour, BuiOrgChart, BuiOrgChartNode, BuiPageHeader, BuiPagination, BuiPaginationContent, BuiPaginationEllipsis, BuiPaginationItem, BuiPaginationLink, BuiParallax, BuiPasswordStrength, BuiPhoneInput, BuiPopover, BuiPopoverContent, BuiPresence, BuiPrice, BuiProductCard, BuiProgress, BuiPromptInput, BuiQrCode, BuiQuantitySelector, BuiQuote, BuiRadioGroup, BuiRadioGroupItem, BuiRating, BuiReasoning, BuiRepeater, BuiResizableHandle, BuiResizablePanel, BuiResizablePanelGroup, BuiRichTextEditor, BuiScheduler, BuiScrollArea, BuiScrollspy, BuiSegmentedControl, BuiSelect, BuiSeparator, BuiSheet, BuiSidebar, BuiSidebarInset, BuiSidebarMenuButton, BuiSidebarProvider, BuiSidebarState, BuiSidebarTrigger, BuiSignaturePad, BuiSkeleton, BuiSlider, BuiSonner, BuiSparkline, BuiSpeedDial, BuiSpinner, BuiSpotlightCard, BuiStack, BuiStat, BuiStepper, BuiStepperItem, BuiStreamingText, BuiSwitch, BuiTabList, BuiTabPanel, BuiTabTrigger, BuiTable, BuiTableBody, BuiTableCaption, BuiTableCell, BuiTableContainer, BuiTableFooter, BuiTableHead, BuiTableHeader, BuiTableRow, BuiTabs, BuiTagsInput, BuiTerminal, BuiTextReveal, BuiTextarea, BuiThemeCustomizer, BuiTiltCard, BuiTimeField, BuiTimeline, BuiTimelineItem, BuiToaster, BuiToggle, BuiToggleGroup, BuiToggleGroupItem, BuiToolCall, BuiTooltip, BuiTooltipContent, BuiTopProgress, BuiTree, BuiTreeNode, BuiTreeTable, BuiTypewriter, BuiTypography, BuiVariantSelector, BuiVideo, BuiVisuallyHidden, THEME_TOKENS, ThemeStore, buiLabel, buiLocale, buiWeekInfo, buttonVariants, cn, encodeQr, provideBuiLabels, toggleVariants };
5504
+ export type { AddToCartSize, AlertTone, AlertVariant, AutocompleteSize, BadgeIntensity, BadgeSize, BadgeTone, BadgeVariant, BuiLabels, BuiWeekInfo, ButtonSize, ButtonVariant, CalendarMode, CalendarRange, CardVariant, CarouselOrientation, CartItem, ChartSeries, CheckboxTone, ComboboxOption, CommandGroup, CommandItem, ComparisonRow, ConfettiDirection, ContextMenuItem, CurrencyDisplay, DataTableColumn, DateRangePreset, DialogSize, GalleryImage, GanttMilestone, GanttTask, GroupAvatar, IconTileShape, IconTileSize, IconTileTone, InputSize, KanbanCard, KanbanColumn, Mention, NavMenuItem, NavMenuLink, NotificationItem, NumberInputSize, OrgNode, PhoneCountry, PopoverSide, RepeaterField, SchedulerEvent, ScrollspyItem, SegmentOption, SelectOption, SeparatorOrientation, SpeedDialAction, SwitchSize, TextareaSize, ThemeMode, TimeFieldHourCycle, TimeFieldMode, ToastOptions, ToastTone, TooltipSide, TourStep, TreeItem, TreeTableColumn, TreeTableRow, VariantOption, WeekdayFormat };