@ziyarago/ui 0.13.0 → 0.15.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.
- package/CHANGELOG.md +12 -0
- package/README.md +5 -5
- package/dist/llms-full.txt +3 -3
- package/dist/llms.txt +2 -2
- package/dist/manifest.json +316 -2
- package/docs/INTEGRATION.md +14 -0
- package/package.json +10 -25
- package/src/core/components.js +0 -11
- package/src/core/components2.js +1 -71
- package/src/core/components3.js +2 -44
- package/src/core/components4.js +0 -38
- package/src/core/components6.js +0 -50
- package/src/core/components7.js +0 -34
- package/src/core/index.js +6 -0
- package/src/core/pages.js +2 -36
- package/src/i18n/components/index.js +0 -72
- package/src/internal.js +10 -0
- package/src/meta/index.js +15 -0
- package/src/meta/pages.js +1 -1
- package/src/nuxt/module.mjs +9 -1
- package/src/react/index.js +8 -107
- package/src/resolver.js +17 -4
- package/src/vue/index.js +9 -2
- package/types/core.d.ts +3 -0
- package/types/internal.d.ts +30 -0
- package/types/meta.d.ts +8 -0
- package/types/nuxt.d.ts +2 -0
- package/types/react.d.ts +138 -4143
- package/types/resolver.d.ts +2 -0
- package/types/vue-global.d.ts +0 -106
- package/types/vue.d.ts +147 -3598
- package/docs/MIGRATION.md +0 -455
- package/src/compat/index.js +0 -469
- package/src/compat/map.js +0 -282
- package/src/compat/resolver.js +0 -22
- package/src/compat/vite.js +0 -29
- package/src/i18n/components/ActionCard.js +0 -5
- package/src/i18n/components/Actionsheet.js +0 -5
- package/src/i18n/components/CallCard.js +0 -5
- package/src/i18n/components/CallRow.js +0 -5
- package/src/i18n/components/Carousel.js +0 -5
- package/src/i18n/components/ChartCard.js +0 -5
- package/src/i18n/components/ChatAi.js +0 -5
- package/src/i18n/components/ChipInput.js +0 -5
- package/src/i18n/components/ContactPanel.js +0 -5
- package/src/i18n/components/DataGroup.js +0 -5
- package/src/i18n/components/DealCard.js +0 -5
- package/src/i18n/components/FullscreenDialog.js +0 -5
- package/src/i18n/components/Gallery.js +0 -5
- package/src/i18n/components/GuestCard.js +0 -5
- package/src/i18n/components/ImageUpload.js +0 -5
- package/src/i18n/components/ImageViewer.js +0 -5
- package/src/i18n/components/IncomingCall.js +0 -5
- package/src/i18n/components/InlineEdit.js +0 -5
- package/src/i18n/components/IntegrationCard.js +0 -5
- package/src/i18n/components/Map.js +0 -5
- package/src/i18n/components/NotificationBell.js +0 -5
- package/src/i18n/components/PricingCard.js +0 -5
- package/src/i18n/components/QiblaCompass.js +0 -5
- package/src/i18n/components/RamadanTracker.js +0 -5
- package/src/i18n/components/RangeCalendar.js +0 -5
- package/src/i18n/components/RangeSlider.js +0 -5
- package/src/i18n/components/RichEditor.js +0 -5
- package/src/i18n/components/Screensaver.js +0 -5
- package/src/i18n/components/Sortable.js +0 -5
- package/src/i18n/components/StepDialog.js +0 -5
- package/src/i18n/components/StepForm.js +0 -5
- package/src/i18n/components/TabTiles.js +0 -5
- package/src/i18n/components/Tour.js +0 -5
- package/src/i18n/components/TourCard.js +0 -5
- package/src/i18n/components/TourPopover.js +0 -5
- package/src/i18n/components/TreeSelect.js +0 -5
- package/types/compat-resolver.d.ts +0 -12
- package/types/compat-vite.d.ts +0 -11
- package/types/compat.d.ts +0 -176
package/types/react.d.ts
CHANGED
|
@@ -22,108 +22,6 @@ export interface UiAccordionProps {
|
|
|
22
22
|
}
|
|
23
23
|
export const UiAccordion: ComponentType<UiAccordionProps>;
|
|
24
24
|
|
|
25
|
-
/**
|
|
26
|
-
* Card with a title and built-in collapse, refresh and remove controls.
|
|
27
|
-
* Note: With collapsed set, update it from the collapse event, otherwise the card will not toggle.
|
|
28
|
-
* Note: Removing hides the card until the component is remounted; also remove it from your data on the remove event.
|
|
29
|
-
*/
|
|
30
|
-
export interface UiActionCardProps {
|
|
31
|
-
/** Card title. */
|
|
32
|
-
title: string;
|
|
33
|
-
/** Text under the title. */
|
|
34
|
-
subtitle?: string;
|
|
35
|
-
/** Controlled collapsed state. When omitted the card keeps it internally. */
|
|
36
|
-
collapsed?: boolean;
|
|
37
|
-
/** Controlled refresh spinner. When omitted, Refresh shows the spinner for 1.8s by itself. */
|
|
38
|
-
loading?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Card padding and font size.
|
|
41
|
-
* @default 'md'
|
|
42
|
-
*/
|
|
43
|
-
size?: Size;
|
|
44
|
-
/**
|
|
45
|
-
* Called with the new collapsed boolean when the collapse button is clicked.
|
|
46
|
-
* @event collapse
|
|
47
|
-
*/
|
|
48
|
-
onCollapse?: (collapsed: boolean) => void;
|
|
49
|
-
/**
|
|
50
|
-
* Refresh button clicked. Pass loading to show your own spinner.
|
|
51
|
-
* @event refresh
|
|
52
|
-
*/
|
|
53
|
-
onRefresh?: () => void;
|
|
54
|
-
/**
|
|
55
|
-
* Remove button clicked; the card hides itself afterwards.
|
|
56
|
-
* @event remove
|
|
57
|
-
*/
|
|
58
|
-
onRemove?: () => void;
|
|
59
|
-
children?: ReactNode;
|
|
60
|
-
}
|
|
61
|
-
export const UiActionCard: ComponentType<UiActionCardProps>;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Floating vertical or horizontal rail of icon buttons with a highlighted active item.
|
|
65
|
-
* Note: Items other than the active one are shown as ghost buttons; label is the accessible name.
|
|
66
|
-
*/
|
|
67
|
-
export interface UiActionRailProps {
|
|
68
|
-
/**
|
|
69
|
-
* Rail entries. An item with separator: true renders a divider instead of a button.
|
|
70
|
-
* @default []
|
|
71
|
-
*/
|
|
72
|
-
items: { value?: string; icon?: string; label?: string; separator?: boolean }[];
|
|
73
|
-
/** Value of the active item. Changed via the change event. */
|
|
74
|
-
value?: string;
|
|
75
|
-
/**
|
|
76
|
-
* Button size inside the rail.
|
|
77
|
-
* @default 'md'
|
|
78
|
-
*/
|
|
79
|
-
size?: Size;
|
|
80
|
-
/**
|
|
81
|
-
* Called with the value of the clicked item.
|
|
82
|
-
* @event change
|
|
83
|
-
*/
|
|
84
|
-
onChange?: (value: string) => void;
|
|
85
|
-
children?: ReactNode;
|
|
86
|
-
}
|
|
87
|
-
export const UiActionRail: ComponentType<UiActionRailProps>;
|
|
88
|
-
|
|
89
|
-
/** Bottom sheet with a list of actions and a Cancel button; use for mobile "more actions" menus. */
|
|
90
|
-
export interface UiActionsheetProps {
|
|
91
|
-
/**
|
|
92
|
-
* Shows the sheet when true; renders nothing when false.
|
|
93
|
-
* @default false
|
|
94
|
-
*/
|
|
95
|
-
open?: boolean;
|
|
96
|
-
/** Optional heading. */
|
|
97
|
-
title?: string;
|
|
98
|
-
/**
|
|
99
|
-
* Actions. Each item runs its own onClick, then select, then the sheet closes. Tone "danger" colors it red.
|
|
100
|
-
* @default []
|
|
101
|
-
*/
|
|
102
|
-
items?: { label: string; icon?: string; tone?: 'danger'; disabled?: boolean; onClick?: () => void }[];
|
|
103
|
-
/**
|
|
104
|
-
* Text of the cancel row.
|
|
105
|
-
* @default 'Cancel'
|
|
106
|
-
*/
|
|
107
|
-
cancelLabel?: string;
|
|
108
|
-
/**
|
|
109
|
-
* Scale of sheet width and padding.
|
|
110
|
-
* @default 'md'
|
|
111
|
-
*/
|
|
112
|
-
size?: Size;
|
|
113
|
-
/**
|
|
114
|
-
* Called with the whole clicked item after its onClick.
|
|
115
|
-
* @event select
|
|
116
|
-
*/
|
|
117
|
-
onSelect?: (item: NonNullable<UiActionsheetProps['items']>[number]) => void;
|
|
118
|
-
/**
|
|
119
|
-
* Called after any item is chosen, on Cancel, on the Escape key and on a scrim click.
|
|
120
|
-
* @event close
|
|
121
|
-
*/
|
|
122
|
-
onClose?: () => void;
|
|
123
|
-
children?: ReactNode;
|
|
124
|
-
}
|
|
125
|
-
export const UiActionsheet: ComponentType<UiActionsheetProps>;
|
|
126
|
-
|
|
127
25
|
/**
|
|
128
26
|
* Inline message block with a tone icon, optional title and close button; use for form errors, notices and results inside a page.
|
|
129
27
|
* Note: Has role="alert", so screen readers announce it when it appears.
|
|
@@ -236,44 +134,6 @@ export interface UiAuthLayoutProps {
|
|
|
236
134
|
}
|
|
237
135
|
export const UiAuthLayout: ComponentType<UiAuthLayoutProps>;
|
|
238
136
|
|
|
239
|
-
/**
|
|
240
|
-
* Sign-in layout with a media panel: dark photo card with floating avatars, light gradient card with a social-proof pill, or a tinted panel with a glass caption. The default slot is the form.
|
|
241
|
-
* Note: logo, footer, image, people are props in both Vue and React. The media panel is hidden below the form on narrow screens (stacks under it).
|
|
242
|
-
*/
|
|
243
|
-
export interface UiAuthShowcaseProps {
|
|
244
|
-
/**
|
|
245
|
-
* 'photo': one framed card, media on the left. 'light': gradient form card, proof pill below, glass caption on the media. 'tint': like light, with a coloured panel, a heading on the media and cyan accent.
|
|
246
|
-
* @default 'photo'
|
|
247
|
-
*/
|
|
248
|
-
variant?: 'photo' | 'light' | 'tint';
|
|
249
|
-
/** Form heading. */
|
|
250
|
-
title: string;
|
|
251
|
-
/** Text under the heading. */
|
|
252
|
-
subtitle?: string;
|
|
253
|
-
/** Logo node above the heading. */
|
|
254
|
-
logo?: ReactNode;
|
|
255
|
-
/** Content under the fields, for example "No account? Sign up". */
|
|
256
|
-
footer?: ReactNode;
|
|
257
|
-
/** URL of the media image. Without it the panel shows an accent gradient. */
|
|
258
|
-
image?: string;
|
|
259
|
-
/** Large text on the media panel (photo and tint). */
|
|
260
|
-
headline?: string;
|
|
261
|
-
/** Small text on the media panel (photo) or inside the glass bar (light, tint). */
|
|
262
|
-
caption?: string;
|
|
263
|
-
/** Line at the bottom of the media panel; photo only. */
|
|
264
|
-
quote?: string;
|
|
265
|
-
/** Pill labels inside the glass bar; light and tint. */
|
|
266
|
-
chips?: string[];
|
|
267
|
-
/** Avatars: floating on the photo, stacked in the proof pill. */
|
|
268
|
-
people?: { name: string; src?: string }[];
|
|
269
|
-
/** Social-proof title, e.g. "Join 20k+ users"; light and tint. Shows the pill under the form. */
|
|
270
|
-
proof?: string;
|
|
271
|
-
/** Second line of the proof pill. */
|
|
272
|
-
proofHint?: string;
|
|
273
|
-
children?: ReactNode;
|
|
274
|
-
}
|
|
275
|
-
export const UiAuthShowcase: ComponentType<UiAuthShowcaseProps>;
|
|
276
|
-
|
|
277
137
|
/**
|
|
278
138
|
* Two-column sign-in layout with a brand panel on the left and the form on the right.
|
|
279
139
|
* Note: logo and aside are props in both Vue and React (pass a VNode / element).
|
|
@@ -384,29 +244,6 @@ export interface UiBannerProps {
|
|
|
384
244
|
}
|
|
385
245
|
export const UiBanner: ComponentType<UiBannerProps>;
|
|
386
246
|
|
|
387
|
-
/** Compact booking summary: code, status, guest, hotel, dates and total. */
|
|
388
|
-
export interface UiBookingCardProps {
|
|
389
|
-
/** Booking reference, monospaced. */
|
|
390
|
-
code: string;
|
|
391
|
-
/** Status text. Confirmed is green, Pending amber, Cancelled red; any other value gets a neutral badge. */
|
|
392
|
-
status?: 'Confirmed' | 'Pending' | 'Cancelled' | string;
|
|
393
|
-
/** Guest name, also drives the avatar initials. */
|
|
394
|
-
guest?: string;
|
|
395
|
-
/** Hotel name under the guest. */
|
|
396
|
-
hotel?: string;
|
|
397
|
-
/** Preformatted date range, e.g. "12-19 Mar". */
|
|
398
|
-
dates?: string;
|
|
399
|
-
/** Total, formatted as "SAR 1 200". */
|
|
400
|
-
amount?: number;
|
|
401
|
-
/**
|
|
402
|
-
* Scales padding, text and avatars.
|
|
403
|
-
* @default 'md'
|
|
404
|
-
*/
|
|
405
|
-
size?: Size;
|
|
406
|
-
children?: ReactNode;
|
|
407
|
-
}
|
|
408
|
-
export const UiBookingCard: ComponentType<UiBookingCardProps>;
|
|
409
|
-
|
|
410
247
|
/**
|
|
411
248
|
* Panel anchored to the bottom of the screen with a grab handle; use for mobile pickers and short forms.
|
|
412
249
|
* Note: The handle is decorative: it does not support dragging.
|
|
@@ -584,106 +421,6 @@ export interface UiCalendarProps {
|
|
|
584
421
|
}
|
|
585
422
|
export const UiCalendar: ComponentType<UiCalendarProps>;
|
|
586
423
|
|
|
587
|
-
/** Month calendar that marks days with events, wrapping Calendar with a list-style events prop. */
|
|
588
|
-
export interface UiCalendarViewProps {
|
|
589
|
-
/**
|
|
590
|
-
* Marked days. date is "YYYY-MM-DD"; label shows as the day tooltip.
|
|
591
|
-
* @default []
|
|
592
|
-
*/
|
|
593
|
-
events?: { date: string; label: string }[];
|
|
594
|
-
/**
|
|
595
|
-
* Selected date. Vue v-model, React modelValue + onChange.
|
|
596
|
-
* @remarks Forwarded to the inner element.
|
|
597
|
-
*/
|
|
598
|
-
modelValue?: string | number | Date;
|
|
599
|
-
/**
|
|
600
|
-
* BCP 47 locale for month and weekday names.
|
|
601
|
-
* @default 'en-GB'
|
|
602
|
-
* @remarks Forwarded to the inner element.
|
|
603
|
-
*/
|
|
604
|
-
locale?: string;
|
|
605
|
-
/**
|
|
606
|
-
* First day of the week, 0 is Sunday and 1 is Monday.
|
|
607
|
-
* @default 1
|
|
608
|
-
* @remarks Forwarded to the inner element.
|
|
609
|
-
*/
|
|
610
|
-
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
611
|
-
/**
|
|
612
|
-
* Called with the clicked Date (local time). Forwarded to Calendar.
|
|
613
|
-
* @event change
|
|
614
|
-
*/
|
|
615
|
-
onChange?: (date: Date) => void;
|
|
616
|
-
children?: ReactNode;
|
|
617
|
-
}
|
|
618
|
-
export const UiCalendarView: ComponentType<UiCalendarViewProps>;
|
|
619
|
-
|
|
620
|
-
/** Call recording card with status badge, a playback progress bar and duration. */
|
|
621
|
-
export interface UiCallCardProps {
|
|
622
|
-
/** Caller name. */
|
|
623
|
-
name: string;
|
|
624
|
-
/** Phone number. */
|
|
625
|
-
phone?: string;
|
|
626
|
-
/** Badge text. Known statuses (case-insensitive): Answered green, Missed and Declined red, Voicemail and Busy amber, Ringing blue. Any other value is neutral. The badge is hidden when empty. */
|
|
627
|
-
status?: 'Answered' | 'Missed' | 'Voicemail' | 'Busy' | 'Declined' | string;
|
|
628
|
-
/** Extra or overriding status to tone mapping, e.g. { "No answer": "warning" }. */
|
|
629
|
-
statusTones?: Record<string, 'success' | 'danger' | 'warning' | 'info' | 'brand'>;
|
|
630
|
-
/**
|
|
631
|
-
* Playback progress 0-100.
|
|
632
|
-
* @default 0
|
|
633
|
-
*/
|
|
634
|
-
progress?: number;
|
|
635
|
-
/** Duration in seconds. */
|
|
636
|
-
duration?: number;
|
|
637
|
-
/**
|
|
638
|
-
* Minute and second unit labels for the duration.
|
|
639
|
-
* @default { m: 'm', s: 's' }
|
|
640
|
-
*/
|
|
641
|
-
durUnits?: { m?: string; s?: string };
|
|
642
|
-
/** Override built-in English strings. play is the aria-label of the play button. */
|
|
643
|
-
labels?: { play?: string };
|
|
644
|
-
/**
|
|
645
|
-
* Scales padding, text and avatars.
|
|
646
|
-
* @default 'md'
|
|
647
|
-
*/
|
|
648
|
-
size?: Size;
|
|
649
|
-
/**
|
|
650
|
-
* Called with no arguments when the play button is clicked.
|
|
651
|
-
* @event play
|
|
652
|
-
*/
|
|
653
|
-
onPlay?: () => void;
|
|
654
|
-
children?: ReactNode;
|
|
655
|
-
}
|
|
656
|
-
export const UiCallCard: ComponentType<UiCallCardProps>;
|
|
657
|
-
|
|
658
|
-
/** One-line call log row with avatar, status, duration and a play button. */
|
|
659
|
-
export interface UiCallRowProps {
|
|
660
|
-
/** Caller name. */
|
|
661
|
-
name: string;
|
|
662
|
-
/** Status text before the duration, e.g. "Answered". */
|
|
663
|
-
status?: string;
|
|
664
|
-
/** Duration in seconds, formatted as "3 m 05 s" (units from durUnits); shows a dash when missing. */
|
|
665
|
-
duration?: number;
|
|
666
|
-
/**
|
|
667
|
-
* Minute and second unit labels for localized durations, e.g. { m: "min", s: "sec" }.
|
|
668
|
-
* @default { m: 'm', s: 's' }
|
|
669
|
-
*/
|
|
670
|
-
durUnits?: { m?: string; s?: string };
|
|
671
|
-
/** Override built-in English strings. play is the aria-label of the play button. */
|
|
672
|
-
labels?: { play?: string };
|
|
673
|
-
/**
|
|
674
|
-
* Scales padding, text and avatars.
|
|
675
|
-
* @default 'md'
|
|
676
|
-
*/
|
|
677
|
-
size?: Size;
|
|
678
|
-
/**
|
|
679
|
-
* Called with no arguments when the play button is clicked.
|
|
680
|
-
* @event play
|
|
681
|
-
*/
|
|
682
|
-
onPlay?: () => void;
|
|
683
|
-
children?: ReactNode;
|
|
684
|
-
}
|
|
685
|
-
export const UiCallRow: ComponentType<UiCallRowProps>;
|
|
686
|
-
|
|
687
424
|
/**
|
|
688
425
|
* Glass surface container with an optional title header, used to group related content.
|
|
689
426
|
* Note: Vue slot names are React props (actions) and children (default).
|
|
@@ -738,42 +475,6 @@ export interface UiCardProps {
|
|
|
738
475
|
}
|
|
739
476
|
export const UiCard: ComponentType<UiCardProps>;
|
|
740
477
|
|
|
741
|
-
/**
|
|
742
|
-
* Slideshow of image slides with captions, arrows and dot pagination.
|
|
743
|
-
* Note: Arrows wrap around at both ends and are hidden with fewer than 2 slides; an empty items array renders an empty frame.
|
|
744
|
-
* Note: Autoplay has no visible pause button; hover or focus pauses it. Prefer a manual carousel for essential content.
|
|
745
|
-
*/
|
|
746
|
-
export interface UiCarouselProps {
|
|
747
|
-
/**
|
|
748
|
-
* Slides. title and sub form the caption over the image.
|
|
749
|
-
* @default []
|
|
750
|
-
*/
|
|
751
|
-
items: { image?: string; title: string; sub?: string }[];
|
|
752
|
-
/** Controlled active slide index. When set, the carousel only changes slide when you update it from onChange; when omitted it keeps its own state starting at 0. */
|
|
753
|
-
index?: number;
|
|
754
|
-
/** Advance automatically every N milliseconds (true = 5000). Starts only in the browser, pauses while the pointer is over or focus is inside the carousel and while the tab is hidden, and is disabled for prefers-reduced-motion and data-motion="off". Needs at least 2 slides. */
|
|
755
|
-
autoplay?: number | boolean;
|
|
756
|
-
/** Accessible name of the carousel region. */
|
|
757
|
-
label?: string;
|
|
758
|
-
/**
|
|
759
|
-
* Override the aria-labels of the arrows and dots.
|
|
760
|
-
* @default { prev: 'Previous', next: 'Next', slide: 'Slide' }
|
|
761
|
-
*/
|
|
762
|
-
labels?: { prev?: string; next?: string; slide?: string };
|
|
763
|
-
/**
|
|
764
|
-
* Slide aspect ratio and caption size: xs 16/6, sm 16/7, md 16/8, lg 16/9, xl 16/10.
|
|
765
|
-
* @default 'md'
|
|
766
|
-
*/
|
|
767
|
-
size?: Size;
|
|
768
|
-
/**
|
|
769
|
-
* Called with the new slide index on arrow, dot, keyboard (left and right arrows) and autoplay changes.
|
|
770
|
-
* @event change
|
|
771
|
-
*/
|
|
772
|
-
onChange?: (index: number) => void;
|
|
773
|
-
children?: ReactNode;
|
|
774
|
-
}
|
|
775
|
-
export const UiCarousel: ComponentType<UiCarouselProps>;
|
|
776
|
-
|
|
777
478
|
/** Centers its children horizontally and vertically. */
|
|
778
479
|
export interface UiCenterProps {
|
|
779
480
|
/**
|
|
@@ -787,64 +488,6 @@ export interface UiCenterProps {
|
|
|
787
488
|
}
|
|
788
489
|
export const UiCenter: ComponentType<UiCenterProps>;
|
|
789
490
|
|
|
790
|
-
/** Card shell for a chart with title, subtitle and an optional overflow menu; put the chart in the default slot. */
|
|
791
|
-
export interface UiChartCardProps {
|
|
792
|
-
/** Card title. */
|
|
793
|
-
title: string;
|
|
794
|
-
/** Muted line under the title. */
|
|
795
|
-
subtitle?: string;
|
|
796
|
-
/** Labels of overflow menu items shown behind a three-dot button. An item named "Delete" is styled as danger. */
|
|
797
|
-
menu?: string[];
|
|
798
|
-
/**
|
|
799
|
-
* Padding, gap and title size.
|
|
800
|
-
* @default 'md'
|
|
801
|
-
*/
|
|
802
|
-
size?: Size;
|
|
803
|
-
/**
|
|
804
|
-
* Called with the clicked menu item label (the string from menu); the menu closes afterwards.
|
|
805
|
-
* @event menu
|
|
806
|
-
*/
|
|
807
|
-
onMenu?: (label: string) => void;
|
|
808
|
-
children?: ReactNode;
|
|
809
|
-
}
|
|
810
|
-
export const UiChartCard: ComponentType<UiChartCardProps>;
|
|
811
|
-
|
|
812
|
-
/**
|
|
813
|
-
* Chat panel with message bubbles, a typing indicator and an input, for AI assistant UIs.
|
|
814
|
-
* Note: Append the user message and the reply to messages yourself; set loading while waiting.
|
|
815
|
-
*/
|
|
816
|
-
export interface UiChatAiProps {
|
|
817
|
-
/**
|
|
818
|
-
* Conversation in order. Any role other than "user" renders as an assistant bubble.
|
|
819
|
-
* @default []
|
|
820
|
-
*/
|
|
821
|
-
messages: { role: 'user' | 'ai'; text: string }[];
|
|
822
|
-
/**
|
|
823
|
-
* Shows the typing dots and disables sending.
|
|
824
|
-
* @default false
|
|
825
|
-
*/
|
|
826
|
-
loading?: boolean;
|
|
827
|
-
/**
|
|
828
|
-
* Header title; also the aria-label. The header renders only when set.
|
|
829
|
-
* @default 'Assistant'
|
|
830
|
-
*/
|
|
831
|
-
title?: string;
|
|
832
|
-
/** Muted text next to the title. */
|
|
833
|
-
subtitle?: string;
|
|
834
|
-
/**
|
|
835
|
-
* Input placeholder.
|
|
836
|
-
* @default Ask anything…
|
|
837
|
-
*/
|
|
838
|
-
placeholder?: string;
|
|
839
|
-
/**
|
|
840
|
-
* Called with the trimmed message text when the user presses Enter or the send button. The component does not append it to messages.
|
|
841
|
-
* @event send
|
|
842
|
-
*/
|
|
843
|
-
onSend?: (text: string) => void;
|
|
844
|
-
children?: ReactNode;
|
|
845
|
-
}
|
|
846
|
-
export const UiChatAi: ComponentType<UiChatAiProps>;
|
|
847
|
-
|
|
848
491
|
/**
|
|
849
492
|
* Boolean checkbox with an inline label. Use for opt-ins and independent yes/no choices.
|
|
850
493
|
* Note: Rendered as a button with role="checkbox". When disabled it is dimmed, shows a not-allowed cursor and ignores clicks.
|
|
@@ -923,49 +566,6 @@ export interface UiChipProps {
|
|
|
923
566
|
}
|
|
924
567
|
export const UiChip: ComponentType<UiChipProps>;
|
|
925
568
|
|
|
926
|
-
/**
|
|
927
|
-
* Input that turns typed text into removable chips. Use for tags, keywords and email lists.
|
|
928
|
-
* Note: Enter or comma adds a chip, Backspace on empty input removes the last one. Duplicates are ignored.
|
|
929
|
-
*/
|
|
930
|
-
export interface UiChipInputProps {
|
|
931
|
-
/**
|
|
932
|
-
* Current chips.
|
|
933
|
-
* @default []
|
|
934
|
-
*/
|
|
935
|
-
modelValue?: string[];
|
|
936
|
-
/** Maximum number of chips. Extra entries are ignored. */
|
|
937
|
-
maxItems?: number;
|
|
938
|
-
/**
|
|
939
|
-
* Label shown above the control.
|
|
940
|
-
* @remarks Forwarded to the inner element.
|
|
941
|
-
*/
|
|
942
|
-
label?: string;
|
|
943
|
-
/** Placeholder, shown only while there are no chips. */
|
|
944
|
-
placeholder?: string;
|
|
945
|
-
/**
|
|
946
|
-
* Helper text under the control. Hidden while error is set.
|
|
947
|
-
* @remarks Forwarded to the inner element.
|
|
948
|
-
*/
|
|
949
|
-
hint?: string;
|
|
950
|
-
/**
|
|
951
|
-
* Error message under the control. Turns the control red and is announced with role="alert".
|
|
952
|
-
* @remarks Forwarded to the inner element.
|
|
953
|
-
*/
|
|
954
|
-
error?: string;
|
|
955
|
-
/**
|
|
956
|
-
* Control height, font and padding scale.
|
|
957
|
-
* @default 'md'
|
|
958
|
-
*/
|
|
959
|
-
size?: Size;
|
|
960
|
-
/**
|
|
961
|
-
* Called with the new array when a chip is added or removed.
|
|
962
|
-
* @event change
|
|
963
|
-
*/
|
|
964
|
-
onChange?: (value: string[]) => void;
|
|
965
|
-
children?: ReactNode;
|
|
966
|
-
}
|
|
967
|
-
export const UiChipInput: ComponentType<UiChipInputProps>;
|
|
968
|
-
|
|
969
569
|
/**
|
|
970
570
|
* Code block with a header (title or language) and a copy button; use for snippets and commands.
|
|
971
571
|
* Note: The header falls back to the text "code" when neither title nor language is set.
|
|
@@ -1026,37 +626,6 @@ export interface UiCodeInputProps {
|
|
|
1026
626
|
}
|
|
1027
627
|
export const UiCodeInput: ComponentType<UiCodeInputProps>;
|
|
1028
628
|
|
|
1029
|
-
/**
|
|
1030
|
-
* Swatch row for choosing a color from presets. Use for tags, labels and theme accents.
|
|
1031
|
-
* Note: Preset-only: there is no free color input.
|
|
1032
|
-
*/
|
|
1033
|
-
export interface UiColorPickerProps {
|
|
1034
|
-
/** Selected color, same string as in presets. */
|
|
1035
|
-
modelValue?: string;
|
|
1036
|
-
/**
|
|
1037
|
-
* CSS colors offered as swatches.
|
|
1038
|
-
* @default ['#BC926A', '#5FAACC', '#3FD13F', '#E26E5F', '#E8B964', '#A98BD6', '#1B1919']
|
|
1039
|
-
*/
|
|
1040
|
-
presets?: string[];
|
|
1041
|
-
/**
|
|
1042
|
-
* Label shown above the control.
|
|
1043
|
-
* @remarks Forwarded to the inner element.
|
|
1044
|
-
*/
|
|
1045
|
-
label?: string;
|
|
1046
|
-
/**
|
|
1047
|
-
* Swatch size.
|
|
1048
|
-
* @default 'md'
|
|
1049
|
-
*/
|
|
1050
|
-
size?: Size;
|
|
1051
|
-
/**
|
|
1052
|
-
* Called with the clicked color string.
|
|
1053
|
-
* @event change
|
|
1054
|
-
*/
|
|
1055
|
-
onChange?: (value: string) => void;
|
|
1056
|
-
children?: ReactNode;
|
|
1057
|
-
}
|
|
1058
|
-
export const UiColorPicker: ComponentType<UiColorPickerProps>;
|
|
1059
|
-
|
|
1060
629
|
/**
|
|
1061
630
|
* Searchable single-choice dropdown. Use for long option lists where typing to filter is faster than scrolling.
|
|
1062
631
|
* Note: Selecting from the list is the only way to set a value: free text is never emitted.
|
|
@@ -1118,27 +687,6 @@ export interface UiComboboxProps {
|
|
|
1118
687
|
}
|
|
1119
688
|
export const UiCombobox: ComponentType<UiComboboxProps>;
|
|
1120
689
|
|
|
1121
|
-
/** Floating glass toolbar of icon buttons; use for selection actions or editor tools. */
|
|
1122
|
-
export interface UiCommandBarProps {
|
|
1123
|
-
/**
|
|
1124
|
-
* Buttons. label is the tooltip and aria-label, icon defaults to "circle", separator true draws a divider.
|
|
1125
|
-
* @default []
|
|
1126
|
-
*/
|
|
1127
|
-
items?: { id: string; icon?: string; label: string; disabled?: boolean; separator?: boolean }[];
|
|
1128
|
-
/**
|
|
1129
|
-
* Scale of button size and padding.
|
|
1130
|
-
* @default 'md'
|
|
1131
|
-
*/
|
|
1132
|
-
size?: Size;
|
|
1133
|
-
/**
|
|
1134
|
-
* Called with the item id when a button is clicked.
|
|
1135
|
-
* @event action
|
|
1136
|
-
*/
|
|
1137
|
-
onAction?: (id: string) => void;
|
|
1138
|
-
children?: ReactNode;
|
|
1139
|
-
}
|
|
1140
|
-
export const UiCommandBar: ComponentType<UiCommandBarProps>;
|
|
1141
|
-
|
|
1142
690
|
/**
|
|
1143
691
|
* Searchable list of commands in a top-aligned dialog; use for a Cmd+K launcher.
|
|
1144
692
|
* Note: Keyboard: ArrowDown/ArrowUp move the active command (wraps around, aria-selected), Enter runs it, Escape closes. The active item resets to the first one when the query changes.
|
|
@@ -1233,41 +781,6 @@ export interface UiConfirmDialogProps {
|
|
|
1233
781
|
}
|
|
1234
782
|
export const UiConfirmDialog: ComponentType<UiConfirmDialogProps>;
|
|
1235
783
|
|
|
1236
|
-
/** Contact detail card with avatar, role, contact fields and Call / Message buttons. */
|
|
1237
|
-
export interface UiContactPanelProps {
|
|
1238
|
-
/** Contact name. */
|
|
1239
|
-
name: string;
|
|
1240
|
-
/** Role or company under the name. */
|
|
1241
|
-
role?: string;
|
|
1242
|
-
/** Phone row. */
|
|
1243
|
-
phone?: string;
|
|
1244
|
-
/** Telegram handle row. */
|
|
1245
|
-
telegram?: string;
|
|
1246
|
-
/** Email row. */
|
|
1247
|
-
email?: string;
|
|
1248
|
-
/** City row. */
|
|
1249
|
-
city?: string;
|
|
1250
|
-
/** Override built-in English strings. */
|
|
1251
|
-
labels?: { call?: string; message?: string };
|
|
1252
|
-
/**
|
|
1253
|
-
* Scales padding, text and avatars.
|
|
1254
|
-
* @default 'md'
|
|
1255
|
-
*/
|
|
1256
|
-
size?: Size;
|
|
1257
|
-
/**
|
|
1258
|
-
* Called with no arguments when Call is clicked.
|
|
1259
|
-
* @event call
|
|
1260
|
-
*/
|
|
1261
|
-
onCall?: () => void;
|
|
1262
|
-
/**
|
|
1263
|
-
* Called with no arguments when Message is clicked.
|
|
1264
|
-
* @event message
|
|
1265
|
-
*/
|
|
1266
|
-
onMessage?: () => void;
|
|
1267
|
-
children?: ReactNode;
|
|
1268
|
-
}
|
|
1269
|
-
export const UiContactPanel: ComponentType<UiContactPanelProps>;
|
|
1270
|
-
|
|
1271
784
|
/**
|
|
1272
785
|
* Wraps an area and shows a menu at the cursor on right click; use for row and canvas actions.
|
|
1273
786
|
* Note: The native context menu is prevented inside the area. Clicking outside, right-clicking again or pressing Escape closes it.
|
|
@@ -1326,46 +839,6 @@ export interface UiCopyButtonProps {
|
|
|
1326
839
|
}
|
|
1327
840
|
export const UiCopyButton: ComponentType<UiCopyButtonProps>;
|
|
1328
841
|
|
|
1329
|
-
/** Row with a country code badge, amount, country name and a percentage change. */
|
|
1330
|
-
export interface UiCountryRowProps {
|
|
1331
|
-
/** Short code shown in the circle, such as "UZ". */
|
|
1332
|
-
code: string;
|
|
1333
|
-
/** Country name. */
|
|
1334
|
-
name: string;
|
|
1335
|
-
/** Formatted amount shown in bold. */
|
|
1336
|
-
amount: string | number;
|
|
1337
|
-
/** Percentage change such as "+8%" or "-2%". */
|
|
1338
|
-
pct?: string;
|
|
1339
|
-
children?: ReactNode;
|
|
1340
|
-
}
|
|
1341
|
-
export const UiCountryRow: ComponentType<UiCountryRowProps>;
|
|
1342
|
-
|
|
1343
|
-
/**
|
|
1344
|
-
* Table whose rows are collapsed into labeled groups, with optional per-row expandable details.
|
|
1345
|
-
* Note: Open/collapsed state is internal; groups start expanded.
|
|
1346
|
-
*/
|
|
1347
|
-
export interface UiDataGroupProps {
|
|
1348
|
-
/**
|
|
1349
|
-
* Column definitions, same shape as DataTable without sorting.
|
|
1350
|
-
* @default []
|
|
1351
|
-
*/
|
|
1352
|
-
columns: { key: string; label: string; num?: boolean; render?: (value: any, row: any) => ReactNode | string }[];
|
|
1353
|
-
/**
|
|
1354
|
-
* Groups shown as collapsible header rows with a row count. Group labels must be unique.
|
|
1355
|
-
* @default []
|
|
1356
|
-
*/
|
|
1357
|
-
groups: { label: string; rows: ({ id: string | number; [key: string]: any })[] }[];
|
|
1358
|
-
/** Renders the detail panel under a row. When set, an expand chevron column appears. */
|
|
1359
|
-
expand?: (row: any) => ReactNode | string;
|
|
1360
|
-
/**
|
|
1361
|
-
* Row density and font size.
|
|
1362
|
-
* @default 'md'
|
|
1363
|
-
*/
|
|
1364
|
-
size?: Size;
|
|
1365
|
-
children?: ReactNode;
|
|
1366
|
-
}
|
|
1367
|
-
export const UiDataGroup: ComponentType<UiDataGroupProps>;
|
|
1368
|
-
|
|
1369
842
|
/** Switches between loading, empty, error, offline and the real content based on one state value; wrap any data-driven block with it. */
|
|
1370
843
|
export interface UiDataStateProps {
|
|
1371
844
|
/**
|
|
@@ -1530,37 +1003,6 @@ export interface UiDatePickerProps {
|
|
|
1530
1003
|
}
|
|
1531
1004
|
export const UiDatePicker: ComponentType<UiDatePickerProps>;
|
|
1532
1005
|
|
|
1533
|
-
/** CRM deal card with stage badge, amount, win probability and owner; the card type inside PipelineBoard. */
|
|
1534
|
-
export interface UiDealCardProps {
|
|
1535
|
-
/** Deal title. */
|
|
1536
|
-
title: string;
|
|
1537
|
-
/** Stage badge text; no badge when omitted. */
|
|
1538
|
-
stage?: string;
|
|
1539
|
-
/**
|
|
1540
|
-
* Badge tone for the stage.
|
|
1541
|
-
* @default 'info'
|
|
1542
|
-
*/
|
|
1543
|
-
tone?: 'default' | 'brand' | 'success' | 'warning' | 'danger' | 'info';
|
|
1544
|
-
/** Large amount, rendered as given. */
|
|
1545
|
-
amount?: string | number;
|
|
1546
|
-
/**
|
|
1547
|
-
* Win probability 0-100, shown as a progress bar and percent.
|
|
1548
|
-
* @default 0
|
|
1549
|
-
*/
|
|
1550
|
-
probability?: number;
|
|
1551
|
-
/** Owner name with avatar. */
|
|
1552
|
-
owner?: string;
|
|
1553
|
-
/** Due date caption, right aligned. */
|
|
1554
|
-
due?: string;
|
|
1555
|
-
/**
|
|
1556
|
-
* Scales padding, text and avatars.
|
|
1557
|
-
* @default 'md'
|
|
1558
|
-
*/
|
|
1559
|
-
size?: Size;
|
|
1560
|
-
children?: ReactNode;
|
|
1561
|
-
}
|
|
1562
|
-
export const UiDealCard: ComponentType<UiDealCardProps>;
|
|
1563
|
-
|
|
1564
1006
|
/** Definition list of label and value pairs for record details. */
|
|
1565
1007
|
export interface UiDescriptionsProps {
|
|
1566
1008
|
/**
|
|
@@ -1705,32 +1147,6 @@ export interface UiErrorPageProps {
|
|
|
1705
1147
|
}
|
|
1706
1148
|
export const UiErrorPage: ComponentType<UiErrorPageProps>;
|
|
1707
1149
|
|
|
1708
|
-
/**
|
|
1709
|
-
* Floating action button for the main action of a screen; extended when a label is given.
|
|
1710
|
-
* Note: Always pass label: it is the accessible name. Without it the button falls back to the icon name as aria-label (for example "plus"), which is rarely a good description.
|
|
1711
|
-
*/
|
|
1712
|
-
export interface UiFabProps {
|
|
1713
|
-
/**
|
|
1714
|
-
* Icon name.
|
|
1715
|
-
* @default 'plus'
|
|
1716
|
-
*/
|
|
1717
|
-
icon?: string;
|
|
1718
|
-
/** Text next to the icon (extended FAB) and the accessible name. */
|
|
1719
|
-
label?: string;
|
|
1720
|
-
/**
|
|
1721
|
-
* Button height: xs 36px, sm 44px, md 56px, lg 64px, xl 72px.
|
|
1722
|
-
* @default 'md'
|
|
1723
|
-
*/
|
|
1724
|
-
size?: Size;
|
|
1725
|
-
/**
|
|
1726
|
-
* Native click event.
|
|
1727
|
-
* @event click
|
|
1728
|
-
*/
|
|
1729
|
-
onClick?: (event: MouseEvent<HTMLElement>) => void;
|
|
1730
|
-
children?: ReactNode;
|
|
1731
|
-
}
|
|
1732
|
-
export const UiFab: ComponentType<UiFabProps>;
|
|
1733
|
-
|
|
1734
1150
|
/**
|
|
1735
1151
|
* Drop-zone style file picker. Use for documents and attachments.
|
|
1736
1152
|
* Note: Click, Enter or Space opens the picker; files can also be dropped onto the zone, which highlights while dragging.
|
|
@@ -1873,73 +1289,6 @@ export interface UiFormFieldProps {
|
|
|
1873
1289
|
}
|
|
1874
1290
|
export const UiFormField: ComponentType<UiFormFieldProps>;
|
|
1875
1291
|
|
|
1876
|
-
/**
|
|
1877
|
-
* Full-screen dialog with a close button, title and Save action in the header; use for long editing flows on mobile.
|
|
1878
|
-
* Note: Has aria-modal. Escape calls close; on open focus moves into the dialog, Tab is trapped inside it and focus returns to the previously focused element on close.
|
|
1879
|
-
*/
|
|
1880
|
-
export interface UiFullscreenDialogProps {
|
|
1881
|
-
/**
|
|
1882
|
-
* Shows the dialog when true; renders nothing when false.
|
|
1883
|
-
* @default false
|
|
1884
|
-
*/
|
|
1885
|
-
open?: boolean;
|
|
1886
|
-
/** Header text and aria-label. */
|
|
1887
|
-
title?: string;
|
|
1888
|
-
/**
|
|
1889
|
-
* Text of the save button in the header.
|
|
1890
|
-
* @default 'Save'
|
|
1891
|
-
*/
|
|
1892
|
-
saveLabel?: string;
|
|
1893
|
-
/**
|
|
1894
|
-
* Called on the close icon button or the Escape key.
|
|
1895
|
-
* @event close
|
|
1896
|
-
*/
|
|
1897
|
-
onClose?: () => void;
|
|
1898
|
-
/**
|
|
1899
|
-
* Called on the header save button.
|
|
1900
|
-
* @event save
|
|
1901
|
-
*/
|
|
1902
|
-
onSave?: () => void;
|
|
1903
|
-
children?: ReactNode;
|
|
1904
|
-
}
|
|
1905
|
-
export const UiFullscreenDialog: ComponentType<UiFullscreenDialogProps>;
|
|
1906
|
-
|
|
1907
|
-
/**
|
|
1908
|
-
* Large image with a counter and a thumbnail strip for browsing a set of photos.
|
|
1909
|
-
* Note: An empty or missing images array renders an empty frame (no counter, no thumbnails). Invalid index values are clamped to the available range.
|
|
1910
|
-
*/
|
|
1911
|
-
export interface UiGalleryProps {
|
|
1912
|
-
/**
|
|
1913
|
-
* Image URLs. The first one is shown initially; clicking a thumbnail switches the main image.
|
|
1914
|
-
* @default []
|
|
1915
|
-
*/
|
|
1916
|
-
images: string[];
|
|
1917
|
-
/**
|
|
1918
|
-
* Accessible description of the main image.
|
|
1919
|
-
* @default ''
|
|
1920
|
-
*/
|
|
1921
|
-
alt?: string;
|
|
1922
|
-
/** Controlled active image index. When set, the gallery only changes image when you update it from onChange; when omitted it keeps its own state starting at 0. */
|
|
1923
|
-
index?: number;
|
|
1924
|
-
/**
|
|
1925
|
-
* Override the thumbnail aria-label prefix.
|
|
1926
|
-
* @default { photo: 'Photo' }
|
|
1927
|
-
*/
|
|
1928
|
-
labels?: { photo?: string };
|
|
1929
|
-
/**
|
|
1930
|
-
* Thumbnail strip size.
|
|
1931
|
-
* @default 'md'
|
|
1932
|
-
*/
|
|
1933
|
-
size?: Size;
|
|
1934
|
-
/**
|
|
1935
|
-
* Called with the new image index when a thumbnail is clicked.
|
|
1936
|
-
* @event change
|
|
1937
|
-
*/
|
|
1938
|
-
onChange?: (index: number) => void;
|
|
1939
|
-
children?: ReactNode;
|
|
1940
|
-
}
|
|
1941
|
-
export const UiGallery: ComponentType<UiGalleryProps>;
|
|
1942
|
-
|
|
1943
1292
|
/** CSS grid with a fixed column count or auto-fit columns of a minimum width. */
|
|
1944
1293
|
export interface UiGridProps {
|
|
1945
1294
|
/** Fixed number of equal columns. When set, min is ignored. */
|
|
@@ -1965,71 +1314,6 @@ export interface UiGridProps {
|
|
|
1965
1314
|
}
|
|
1966
1315
|
export const UiGrid: ComponentType<UiGridProps>;
|
|
1967
1316
|
|
|
1968
|
-
/**
|
|
1969
|
-
* Single-choice dropdown with option groups under headings. Use for long lists that have natural categories.
|
|
1970
|
-
* Note: The popup closes on outside click and on Escape.
|
|
1971
|
-
*/
|
|
1972
|
-
export interface UiGroupedSelectProps {
|
|
1973
|
-
/** Value of the selected option. */
|
|
1974
|
-
modelValue?: string | number;
|
|
1975
|
-
/**
|
|
1976
|
-
* Groups with a heading and their options. Option values must be unique across groups. An option with disabled: true cannot be chosen.
|
|
1977
|
-
* @default []
|
|
1978
|
-
*/
|
|
1979
|
-
groups?: { label: string; options: { value: string | number; label: string; disabled?: boolean }[] }[];
|
|
1980
|
-
/**
|
|
1981
|
-
* Label shown above the control.
|
|
1982
|
-
* @remarks Forwarded to the inner element.
|
|
1983
|
-
*/
|
|
1984
|
-
label?: string;
|
|
1985
|
-
/** Shown when nothing is selected. Defaults to "—". */
|
|
1986
|
-
placeholder?: string;
|
|
1987
|
-
/**
|
|
1988
|
-
* Disables the control.
|
|
1989
|
-
* @default false
|
|
1990
|
-
*/
|
|
1991
|
-
disabled?: boolean;
|
|
1992
|
-
/**
|
|
1993
|
-
* Control height, font and padding scale.
|
|
1994
|
-
* @default 'md'
|
|
1995
|
-
*/
|
|
1996
|
-
size?: Size;
|
|
1997
|
-
/**
|
|
1998
|
-
* Called with the value of the chosen option.
|
|
1999
|
-
* @event change
|
|
2000
|
-
*/
|
|
2001
|
-
onChange?: (value: string | number) => void;
|
|
2002
|
-
children?: ReactNode;
|
|
2003
|
-
}
|
|
2004
|
-
export const UiGroupedSelect: ComponentType<UiGroupedSelectProps>;
|
|
2005
|
-
|
|
2006
|
-
/** Guest profile card with avatar, country, stay length and tags. */
|
|
2007
|
-
export interface UiGuestCardProps {
|
|
2008
|
-
/** Guest name. */
|
|
2009
|
-
name: string;
|
|
2010
|
-
/** Country shown in the subtitle. */
|
|
2011
|
-
country?: string;
|
|
2012
|
-
/** Number of nights, shown as "N nights". */
|
|
2013
|
-
nights?: number;
|
|
2014
|
-
/**
|
|
2015
|
-
* Shows a VIP badge.
|
|
2016
|
-
* @default false
|
|
2017
|
-
*/
|
|
2018
|
-
vip?: boolean;
|
|
2019
|
-
/**
|
|
2020
|
-
* Preference tags, e.g. "Halal", "Late check-in".
|
|
2021
|
-
* @default []
|
|
2022
|
-
*/
|
|
2023
|
-
tags?: string[];
|
|
2024
|
-
/**
|
|
2025
|
-
* Scales padding, text and avatars.
|
|
2026
|
-
* @default 'md'
|
|
2027
|
-
*/
|
|
2028
|
-
size?: Size;
|
|
2029
|
-
children?: ReactNode;
|
|
2030
|
-
}
|
|
2031
|
-
export const UiGuestCard: ComponentType<UiGuestCardProps>;
|
|
2032
|
-
|
|
2033
1317
|
/** Horizontal flex row with a configurable gap. */
|
|
2034
1318
|
export interface UiHStackProps {
|
|
2035
1319
|
/**
|
|
@@ -2093,83 +1377,6 @@ export interface UiHeadingProps {
|
|
|
2093
1377
|
}
|
|
2094
1378
|
export const UiHeading: ComponentType<UiHeadingProps>;
|
|
2095
1379
|
|
|
2096
|
-
/** Wide promotional banner with title, text, a big value, optional action and a background image. */
|
|
2097
|
-
export interface UiHeroBannerProps {
|
|
2098
|
-
/** Banner heading. */
|
|
2099
|
-
title: string;
|
|
2100
|
-
/** Supporting paragraph. */
|
|
2101
|
-
text?: string;
|
|
2102
|
-
/** Large number or price shown under the text. */
|
|
2103
|
-
value?: string | number;
|
|
2104
|
-
/** Label of the primary button. The button renders only when set. */
|
|
2105
|
-
cta?: string;
|
|
2106
|
-
/** Image URL shown on the right side. */
|
|
2107
|
-
image?: string;
|
|
2108
|
-
/**
|
|
2109
|
-
* Called when the call-to-action button is clicked.
|
|
2110
|
-
* @event cta
|
|
2111
|
-
*/
|
|
2112
|
-
onCta?: () => void;
|
|
2113
|
-
children?: ReactNode;
|
|
2114
|
-
}
|
|
2115
|
-
export const UiHeroBanner: ComponentType<UiHeroBannerProps>;
|
|
2116
|
-
|
|
2117
|
-
/**
|
|
2118
|
-
* Hotel listing card with photo, tags, stars, distance, rating and nightly price; use in catalogs and search results.
|
|
2119
|
-
* Note: Currency is hard-coded to SAR.
|
|
2120
|
-
* Note: Wrap in a clickable element yourself; the card has no click handler.
|
|
2121
|
-
*/
|
|
2122
|
-
export interface UiHotelCardProps {
|
|
2123
|
-
/** Hotel name. */
|
|
2124
|
-
name: string;
|
|
2125
|
-
/** Photo URL, used as the card background image. */
|
|
2126
|
-
image?: string;
|
|
2127
|
-
/**
|
|
2128
|
-
* Brand badges over the photo, e.g. "Haram view".
|
|
2129
|
-
* @default []
|
|
2130
|
-
*/
|
|
2131
|
-
tags?: string[];
|
|
2132
|
-
/**
|
|
2133
|
-
* Star class 0-5, rendered as repeated stars.
|
|
2134
|
-
* @default 0
|
|
2135
|
-
*/
|
|
2136
|
-
stars?: number;
|
|
2137
|
-
/** Distance caption next to the stars, e.g. "120 m to the Haram". */
|
|
2138
|
-
distance?: string;
|
|
2139
|
-
/** Guest rating shown in a green badge, e.g. 9.2. */
|
|
2140
|
-
rating?: string | number;
|
|
2141
|
-
/** Price per unit, formatted with thousand separators; the currency label is fixed to SAR. */
|
|
2142
|
-
price?: number;
|
|
2143
|
-
/**
|
|
2144
|
-
* Unit after "SAR /", e.g. "night".
|
|
2145
|
-
* @default 'night'
|
|
2146
|
-
*/
|
|
2147
|
-
night?: string;
|
|
2148
|
-
/**
|
|
2149
|
-
* Scales padding, text and avatars.
|
|
2150
|
-
* @default 'md'
|
|
2151
|
-
*/
|
|
2152
|
-
size?: Size;
|
|
2153
|
-
children?: ReactNode;
|
|
2154
|
-
}
|
|
2155
|
-
export const UiHotelCard: ComponentType<UiHotelCardProps>;
|
|
2156
|
-
|
|
2157
|
-
/**
|
|
2158
|
-
* Rich card shown on hover or keyboard focus of a trigger; use for previews of users, links or entities.
|
|
2159
|
-
* Note: The wrapper is focusable (tabIndex 0), so the card also opens on focus.
|
|
2160
|
-
*/
|
|
2161
|
-
export interface UiHoverCardProps {
|
|
2162
|
-
/** Content that triggers the card. */
|
|
2163
|
-
trigger?: string | ReactNode;
|
|
2164
|
-
/**
|
|
2165
|
-
* Scale of card width (200 to 400 px) and padding.
|
|
2166
|
-
* @default 'md'
|
|
2167
|
-
*/
|
|
2168
|
-
size?: Size;
|
|
2169
|
-
children?: ReactNode;
|
|
2170
|
-
}
|
|
2171
|
-
export const UiHoverCard: ComponentType<UiHoverCardProps>;
|
|
2172
|
-
|
|
2173
1380
|
/**
|
|
2174
1381
|
* Renders a named icon from the library at a chosen size.
|
|
2175
1382
|
* Note: The icon is aria-hidden; add a label on the surrounding control for accessibility.
|
|
@@ -2242,298 +1449,68 @@ export interface UiIconTileProps {
|
|
|
2242
1449
|
export const UiIconTile: ComponentType<UiIconTileProps>;
|
|
2243
1450
|
|
|
2244
1451
|
/**
|
|
2245
|
-
*
|
|
2246
|
-
* Note:
|
|
1452
|
+
* Keyboard key cap for shortcuts such as Ctrl or K.
|
|
1453
|
+
* Note: Render one Kbd per key and combine them in a row for chords.
|
|
2247
1454
|
*/
|
|
2248
|
-
export interface
|
|
2249
|
-
/** Image URL or data URL to show before the user picks a new file. */
|
|
2250
|
-
modelValue?: string;
|
|
2251
|
-
/**
|
|
2252
|
-
* circle gives a round avatar-style crop, otherwise rounded corners.
|
|
2253
|
-
* @default 'square'
|
|
2254
|
-
*/
|
|
2255
|
-
shape?: 'square' | 'circle';
|
|
1455
|
+
export interface UiKbdProps {
|
|
2256
1456
|
/**
|
|
2257
|
-
*
|
|
2258
|
-
* @default '
|
|
1457
|
+
* Key cap size.
|
|
1458
|
+
* @default 'md'
|
|
2259
1459
|
*/
|
|
2260
|
-
|
|
1460
|
+
size?: Size;
|
|
1461
|
+
children?: ReactNode;
|
|
1462
|
+
}
|
|
1463
|
+
export const UiKbd: ComponentType<UiKbdProps>;
|
|
1464
|
+
|
|
1465
|
+
/** Key metric tile with a label, large value and optional delta, for dashboards. */
|
|
1466
|
+
export interface UiKpiTileProps {
|
|
1467
|
+
/** Metric name. */
|
|
1468
|
+
label: string;
|
|
1469
|
+
/** Main value, shown large. */
|
|
1470
|
+
value: string | number;
|
|
1471
|
+
/** Small text next to the delta. */
|
|
1472
|
+
sub?: string;
|
|
1473
|
+
/** Change indicator such as "+12%" or "-3.4%". A leading "-" renders as a decrease, anything else as an increase. */
|
|
1474
|
+
delta?: string;
|
|
1475
|
+
/** Filled brand tile or dark inverse tile. Omit for the default glass tile. */
|
|
1476
|
+
variant?: 'brand' | 'inverse';
|
|
2261
1477
|
/**
|
|
2262
|
-
*
|
|
2263
|
-
* @default '
|
|
1478
|
+
* Padding and value size.
|
|
1479
|
+
* @default 'md'
|
|
2264
1480
|
*/
|
|
2265
|
-
|
|
1481
|
+
size?: Size;
|
|
1482
|
+
children?: ReactNode;
|
|
1483
|
+
}
|
|
1484
|
+
export const UiKpiTile: ComponentType<UiKpiTileProps>;
|
|
1485
|
+
|
|
1486
|
+
/** Image box with a fixed aspect ratio and rounded corners, rendered as a background image. */
|
|
1487
|
+
export interface UiLazyImageProps {
|
|
1488
|
+
/** Image URL. An empty placeholder is shown without it. */
|
|
1489
|
+
src?: string;
|
|
2266
1490
|
/**
|
|
2267
|
-
*
|
|
2268
|
-
* @
|
|
1491
|
+
* Accessible description, exposed as aria-label on role="img".
|
|
1492
|
+
* @default ''
|
|
2269
1493
|
*/
|
|
2270
|
-
|
|
1494
|
+
alt?: string;
|
|
2271
1495
|
/**
|
|
2272
|
-
*
|
|
2273
|
-
* @default '
|
|
1496
|
+
* CSS aspect-ratio value such as "1/1" or "4/3".
|
|
1497
|
+
* @default '16/9'
|
|
2274
1498
|
*/
|
|
2275
|
-
|
|
1499
|
+
aspectRatio?: string;
|
|
2276
1500
|
/**
|
|
2277
|
-
*
|
|
2278
|
-
* @
|
|
1501
|
+
* Corner radius in px.
|
|
1502
|
+
* @default 20
|
|
2279
1503
|
*/
|
|
2280
|
-
|
|
1504
|
+
rounded?: number;
|
|
2281
1505
|
children?: ReactNode;
|
|
2282
1506
|
}
|
|
2283
|
-
export const
|
|
1507
|
+
export const UiLazyImage: ComponentType<UiLazyImageProps>;
|
|
2284
1508
|
|
|
2285
1509
|
/**
|
|
2286
|
-
*
|
|
2287
|
-
* Note:
|
|
1510
|
+
* Styled anchor for in-text and standalone links, with optional external-link behavior.
|
|
1511
|
+
* Note: Without href the link points to "#"; for SPA routing use onClick and prevent default.
|
|
2288
1512
|
*/
|
|
2289
|
-
export interface
|
|
2290
|
-
/**
|
|
2291
|
-
* Shows the viewer when true; renders nothing when false.
|
|
2292
|
-
* @default false
|
|
2293
|
-
*/
|
|
2294
|
-
open?: boolean;
|
|
2295
|
-
/**
|
|
2296
|
-
* Image URLs.
|
|
2297
|
-
* @default []
|
|
2298
|
-
*/
|
|
2299
|
-
images?: string[];
|
|
2300
|
-
/**
|
|
2301
|
-
* Index of the image to start on.
|
|
2302
|
-
* @default 0
|
|
2303
|
-
*/
|
|
2304
|
-
index?: number;
|
|
2305
|
-
/** Alt text of the image and aria-label of the dialog (default "Image viewer"). */
|
|
2306
|
-
alt?: string;
|
|
2307
|
-
/**
|
|
2308
|
-
* Called on the close button or a click on the backdrop.
|
|
2309
|
-
* @event close
|
|
2310
|
-
*/
|
|
2311
|
-
onClose?: () => void;
|
|
2312
|
-
children?: ReactNode;
|
|
2313
|
-
}
|
|
2314
|
-
export const UiImageViewer: ComponentType<UiImageViewerProps>;
|
|
2315
|
-
|
|
2316
|
-
/** Glass banner for an incoming call with Decline and Answer buttons. */
|
|
2317
|
-
export interface UiIncomingCallProps {
|
|
2318
|
-
/** Caller name. */
|
|
2319
|
-
name: string;
|
|
2320
|
-
/** Caller number. */
|
|
2321
|
-
phone?: string;
|
|
2322
|
-
/**
|
|
2323
|
-
* Caption above the name.
|
|
2324
|
-
* @default Incoming call
|
|
2325
|
-
*/
|
|
2326
|
-
label?: string;
|
|
2327
|
-
/** Decline button click. */
|
|
2328
|
-
onDecline?: () => void;
|
|
2329
|
-
/** Answer button click. */
|
|
2330
|
-
onAnswer?: () => void;
|
|
2331
|
-
/**
|
|
2332
|
-
* Scales padding, text and avatars.
|
|
2333
|
-
* @default 'md'
|
|
2334
|
-
*/
|
|
2335
|
-
size?: Size;
|
|
2336
|
-
children?: ReactNode;
|
|
2337
|
-
}
|
|
2338
|
-
export const UiIncomingCall: ComponentType<UiIncomingCallProps>;
|
|
2339
|
-
|
|
2340
|
-
/** Text that turns into an input on click. Use for renaming and quick edits without a form. */
|
|
2341
|
-
export interface UiInlineEditProps {
|
|
2342
|
-
/**
|
|
2343
|
-
* Current text.
|
|
2344
|
-
* @default ''
|
|
2345
|
-
*/
|
|
2346
|
-
modelValue?: string;
|
|
2347
|
-
/**
|
|
2348
|
-
* Shown when the value is empty.
|
|
2349
|
-
* @default Click to edit
|
|
2350
|
-
*/
|
|
2351
|
-
emptyText?: string;
|
|
2352
|
-
/**
|
|
2353
|
-
* Control height, font and padding scale.
|
|
2354
|
-
* @default 'md'
|
|
2355
|
-
*/
|
|
2356
|
-
size?: Size;
|
|
2357
|
-
/**
|
|
2358
|
-
* Called with the edited text on Enter or on the save button. Escape cancels.
|
|
2359
|
-
* @event change
|
|
2360
|
-
*/
|
|
2361
|
-
onChange?: (value: string) => void;
|
|
2362
|
-
children?: ReactNode;
|
|
2363
|
-
}
|
|
2364
|
-
export const UiInlineEdit: ComponentType<UiInlineEditProps>;
|
|
2365
|
-
|
|
2366
|
-
/**
|
|
2367
|
-
* Card for a third-party integration showing its connection status and a connect or manage button.
|
|
2368
|
-
* Note: Translate badge and button texts with labels.
|
|
2369
|
-
* Note: Unknown status values behave as "off".
|
|
2370
|
-
*/
|
|
2371
|
-
export interface UiIntegrationCardProps {
|
|
2372
|
-
/** Integration name. */
|
|
2373
|
-
name: string;
|
|
2374
|
-
/** Short explanation under the name. */
|
|
2375
|
-
description?: string;
|
|
2376
|
-
/**
|
|
2377
|
-
* Connection state. Sets the badge (Connected, Error, Not linked) and button (Manage, Reconnect, Link).
|
|
2378
|
-
* @default 'off'
|
|
2379
|
-
*/
|
|
2380
|
-
status?: 'connected' | 'error' | 'off';
|
|
2381
|
-
/**
|
|
2382
|
-
* Badge and button texts per status; missing keys keep the English defaults.
|
|
2383
|
-
* @default { connected: 'Connected', error: 'Error', off: 'Not linked', manage: 'Manage', reconnect: 'Reconnect', link: 'Link' }
|
|
2384
|
-
*/
|
|
2385
|
-
labels?: { connected?: string; error?: string; off?: string; manage?: string; reconnect?: string; link?: string };
|
|
2386
|
-
/**
|
|
2387
|
-
* Card padding and title size.
|
|
2388
|
-
* @default 'md'
|
|
2389
|
-
*/
|
|
2390
|
-
size?: Size;
|
|
2391
|
-
/**
|
|
2392
|
-
* Called when the button is clicked, for connecting, reconnecting or managing.
|
|
2393
|
-
* @event toggle
|
|
2394
|
-
*/
|
|
2395
|
-
onToggle?: () => void;
|
|
2396
|
-
children?: ReactNode;
|
|
2397
|
-
}
|
|
2398
|
-
export const UiIntegrationCard: ComponentType<UiIntegrationCardProps>;
|
|
2399
|
-
|
|
2400
|
-
/** Simple kanban card with title, subtitle, free content and an optional tag. */
|
|
2401
|
-
export interface UiKanbanCardProps {
|
|
2402
|
-
/** Card title. */
|
|
2403
|
-
title: string;
|
|
2404
|
-
/** Subtitle under the title. */
|
|
2405
|
-
sub?: string;
|
|
2406
|
-
/** Badge at the bottom. */
|
|
2407
|
-
tag?: string;
|
|
2408
|
-
/** Badge tone for tag. */
|
|
2409
|
-
tone?: 'default' | 'brand' | 'success' | 'warning' | 'danger' | 'info';
|
|
2410
|
-
/**
|
|
2411
|
-
* Scales padding, text and avatars.
|
|
2412
|
-
* @default 'md'
|
|
2413
|
-
*/
|
|
2414
|
-
size?: Size;
|
|
2415
|
-
children?: ReactNode;
|
|
2416
|
-
}
|
|
2417
|
-
export const UiKanbanCard: ComponentType<UiKanbanCardProps>;
|
|
2418
|
-
|
|
2419
|
-
/** Single kanban column with a title, count badge and stacked cards. */
|
|
2420
|
-
export interface UiKanbanColumnProps {
|
|
2421
|
-
/** Column heading. */
|
|
2422
|
-
title: string;
|
|
2423
|
-
/** Count badge; defaults to the number of children. */
|
|
2424
|
-
count?: number;
|
|
2425
|
-
/**
|
|
2426
|
-
* Scales padding, text and avatars.
|
|
2427
|
-
* @default 'md'
|
|
2428
|
-
*/
|
|
2429
|
-
size?: Size;
|
|
2430
|
-
children?: ReactNode;
|
|
2431
|
-
}
|
|
2432
|
-
export const UiKanbanColumn: ComponentType<UiKanbanColumnProps>;
|
|
2433
|
-
|
|
2434
|
-
/**
|
|
2435
|
-
* Keyboard key cap for shortcuts such as Ctrl or K.
|
|
2436
|
-
* Note: Render one Kbd per key and combine them in a row for chords.
|
|
2437
|
-
*/
|
|
2438
|
-
export interface UiKbdProps {
|
|
2439
|
-
/**
|
|
2440
|
-
* Key cap size.
|
|
2441
|
-
* @default 'md'
|
|
2442
|
-
*/
|
|
2443
|
-
size?: Size;
|
|
2444
|
-
children?: ReactNode;
|
|
2445
|
-
}
|
|
2446
|
-
export const UiKbd: ComponentType<UiKbdProps>;
|
|
2447
|
-
|
|
2448
|
-
/** Compact inline metric with a label, value and delta, for toolbars and card headers. */
|
|
2449
|
-
export interface UiKpiInlineProps {
|
|
2450
|
-
/** Metric name. */
|
|
2451
|
-
label: string;
|
|
2452
|
-
/** Main value. */
|
|
2453
|
-
value: string | number;
|
|
2454
|
-
/** Change indicator such as "+12%" or "-3.4%". A leading "-" renders as a decrease, anything else as an increase. */
|
|
2455
|
-
delta?: string;
|
|
2456
|
-
/**
|
|
2457
|
-
* Value font size.
|
|
2458
|
-
* @default 'md'
|
|
2459
|
-
*/
|
|
2460
|
-
size?: Size;
|
|
2461
|
-
children?: ReactNode;
|
|
2462
|
-
}
|
|
2463
|
-
export const UiKpiInline: ComponentType<UiKpiInlineProps>;
|
|
2464
|
-
|
|
2465
|
-
/** Key metric tile with a label, large value and optional delta, for dashboards. */
|
|
2466
|
-
export interface UiKpiTileProps {
|
|
2467
|
-
/** Metric name. */
|
|
2468
|
-
label: string;
|
|
2469
|
-
/** Main value, shown large. */
|
|
2470
|
-
value: string | number;
|
|
2471
|
-
/** Small text next to the delta. */
|
|
2472
|
-
sub?: string;
|
|
2473
|
-
/** Change indicator such as "+12%" or "-3.4%". A leading "-" renders as a decrease, anything else as an increase. */
|
|
2474
|
-
delta?: string;
|
|
2475
|
-
/** Filled brand tile or dark inverse tile. Omit for the default glass tile. */
|
|
2476
|
-
variant?: 'brand' | 'inverse';
|
|
2477
|
-
/**
|
|
2478
|
-
* Padding and value size.
|
|
2479
|
-
* @default 'md'
|
|
2480
|
-
*/
|
|
2481
|
-
size?: Size;
|
|
2482
|
-
children?: ReactNode;
|
|
2483
|
-
}
|
|
2484
|
-
export const UiKpiTile: ComponentType<UiKpiTileProps>;
|
|
2485
|
-
|
|
2486
|
-
/** Image box with a fixed aspect ratio and rounded corners, rendered as a background image. */
|
|
2487
|
-
export interface UiLazyImageProps {
|
|
2488
|
-
/** Image URL. An empty placeholder is shown without it. */
|
|
2489
|
-
src?: string;
|
|
2490
|
-
/**
|
|
2491
|
-
* Accessible description, exposed as aria-label on role="img".
|
|
2492
|
-
* @default ''
|
|
2493
|
-
*/
|
|
2494
|
-
alt?: string;
|
|
2495
|
-
/**
|
|
2496
|
-
* CSS aspect-ratio value such as "1/1" or "4/3".
|
|
2497
|
-
* @default '16/9'
|
|
2498
|
-
*/
|
|
2499
|
-
aspectRatio?: string;
|
|
2500
|
-
/**
|
|
2501
|
-
* Corner radius in px.
|
|
2502
|
-
* @default 20
|
|
2503
|
-
*/
|
|
2504
|
-
rounded?: number;
|
|
2505
|
-
children?: ReactNode;
|
|
2506
|
-
}
|
|
2507
|
-
export const UiLazyImage: ComponentType<UiLazyImageProps>;
|
|
2508
|
-
|
|
2509
|
-
/** CRM lead card with avatar, code, phone and amount. */
|
|
2510
|
-
export interface UiLeadCardProps {
|
|
2511
|
-
/** Lead name. */
|
|
2512
|
-
name: string;
|
|
2513
|
-
/** Lead or deal code under the name, monospaced. */
|
|
2514
|
-
code?: string;
|
|
2515
|
-
/** Optional badge text, e.g. a source or status. */
|
|
2516
|
-
tag?: string;
|
|
2517
|
-
/** Badge tone for tag; neutral when omitted. */
|
|
2518
|
-
tone?: 'default' | 'brand' | 'success' | 'warning' | 'danger' | 'info';
|
|
2519
|
-
/** Phone number with a phone icon. */
|
|
2520
|
-
phone?: string;
|
|
2521
|
-
/** Amount shown on the right, rendered as given (format it yourself). */
|
|
2522
|
-
amount?: string | number;
|
|
2523
|
-
/**
|
|
2524
|
-
* Scales padding, text and avatars.
|
|
2525
|
-
* @default 'md'
|
|
2526
|
-
*/
|
|
2527
|
-
size?: Size;
|
|
2528
|
-
children?: ReactNode;
|
|
2529
|
-
}
|
|
2530
|
-
export const UiLeadCard: ComponentType<UiLeadCardProps>;
|
|
2531
|
-
|
|
2532
|
-
/**
|
|
2533
|
-
* Styled anchor for in-text and standalone links, with optional external-link behavior.
|
|
2534
|
-
* Note: Without href the link points to "#"; for SPA routing use onClick and prevent default.
|
|
2535
|
-
*/
|
|
2536
|
-
export interface UiLinkProps {
|
|
1513
|
+
export interface UiLinkProps {
|
|
2537
1514
|
/**
|
|
2538
1515
|
* Link target.
|
|
2539
1516
|
* @default '#'
|
|
@@ -2563,30 +1540,6 @@ export interface UiLinkProps {
|
|
|
2563
1540
|
}
|
|
2564
1541
|
export const UiLink: ComponentType<UiLinkProps>;
|
|
2565
1542
|
|
|
2566
|
-
/**
|
|
2567
|
-
* Frosted liquid-glass panel with adjustable corner radius and blur.
|
|
2568
|
-
* Note: Backdrop blur is visible only over a colorful or image background.
|
|
2569
|
-
*/
|
|
2570
|
-
export interface UiLiquidGlassProps {
|
|
2571
|
-
/**
|
|
2572
|
-
* Corner radius. Numbers are pixels.
|
|
2573
|
-
* @default 24
|
|
2574
|
-
*/
|
|
2575
|
-
radius?: number | string;
|
|
2576
|
-
/**
|
|
2577
|
-
* Backdrop blur radius. Numbers are pixels.
|
|
2578
|
-
* @default 18
|
|
2579
|
-
*/
|
|
2580
|
-
blur?: number | string;
|
|
2581
|
-
/**
|
|
2582
|
-
* Inner padding.
|
|
2583
|
-
* @default 'md'
|
|
2584
|
-
*/
|
|
2585
|
-
size?: Size;
|
|
2586
|
-
children?: ReactNode;
|
|
2587
|
-
}
|
|
2588
|
-
export const UiLiquidGlass: ComponentType<UiLiquidGlassProps>;
|
|
2589
|
-
|
|
2590
1543
|
/** Wrapper that dims its content and shows a spinner on top while loading; use over cards, tables or forms during a refresh. */
|
|
2591
1544
|
export interface UiLoadingOverlayProps {
|
|
2592
1545
|
/**
|
|
@@ -2652,76 +1605,6 @@ export interface UiLoginFormProps {
|
|
|
2652
1605
|
}
|
|
2653
1606
|
export const UiLoginForm: ComponentType<UiLoginFormProps>;
|
|
2654
1607
|
|
|
2655
|
-
/**
|
|
2656
|
-
* Interactive raster map with panning, zoom buttons and clickable markers, using OpenStreetMap data via CARTO tiles.
|
|
2657
|
-
* Note: The center and zoom props are initial values; user panning and zooming is kept in internal state. Listen to move/zoom to track it.
|
|
2658
|
-
* Note: Drag or touch to pan, wheel or double click to zoom around the pointer. The tile theme follows the page data-theme after mount (light tiles on the server render) unless theme or style is set.
|
|
2659
|
-
* Note: Tiles come from a third-party CDN, so it needs network access.
|
|
2660
|
-
*/
|
|
2661
|
-
export interface UiMapProps {
|
|
2662
|
-
/**
|
|
2663
|
-
* Initial center latitude.
|
|
2664
|
-
* @default 21.4225
|
|
2665
|
-
*/
|
|
2666
|
-
lat?: number;
|
|
2667
|
-
/**
|
|
2668
|
-
* Initial center longitude.
|
|
2669
|
-
* @default 39.8262
|
|
2670
|
-
*/
|
|
2671
|
-
lon?: number;
|
|
2672
|
-
/**
|
|
2673
|
-
* Initial zoom level; the zoom buttons clamp it to 3..18.
|
|
2674
|
-
* @default 14
|
|
2675
|
-
*/
|
|
2676
|
-
zoom?: number;
|
|
2677
|
-
/**
|
|
2678
|
-
* Pins. label is the tooltip, icon defaults to "map-pin".
|
|
2679
|
-
* @default []
|
|
2680
|
-
*/
|
|
2681
|
-
markers?: { lat: number; lon: number; label?: string; icon?: string; tone?: 'brand' | 'sky' | 'success' | 'warning' | 'danger' | 'neutral' }[];
|
|
2682
|
-
/**
|
|
2683
|
-
* Pixel width used to compute which tiles to load; the map element itself fills its container.
|
|
2684
|
-
* @default 640
|
|
2685
|
-
*/
|
|
2686
|
-
width?: number;
|
|
2687
|
-
/**
|
|
2688
|
-
* Height in px.
|
|
2689
|
-
* @default 360
|
|
2690
|
-
*/
|
|
2691
|
-
height?: number;
|
|
2692
|
-
/** Tile theme. If omitted, dark is used when the page is inside a dark data-theme. */
|
|
2693
|
-
theme?: 'light' | 'dark';
|
|
2694
|
-
/** CARTO tile style path, for example "light_all" or "dark_all". Overrides theme. */
|
|
2695
|
-
style?: string;
|
|
2696
|
-
/**
|
|
2697
|
-
* aria-label of the map region.
|
|
2698
|
-
* @default 'Map'
|
|
2699
|
-
*/
|
|
2700
|
-
label?: string;
|
|
2701
|
-
/**
|
|
2702
|
-
* Accessible names of the zoom buttons.
|
|
2703
|
-
* @default { zoomIn: 'Zoom in', zoomOut: 'Zoom out' }
|
|
2704
|
-
*/
|
|
2705
|
-
labels?: { zoomIn?: string; zoomOut?: string };
|
|
2706
|
-
/**
|
|
2707
|
-
* Called with the marker object when a marker is clicked.
|
|
2708
|
-
* @event select
|
|
2709
|
-
*/
|
|
2710
|
-
onSelect?: (marker: NonNullable<UiMapProps['markers']>[number]) => void;
|
|
2711
|
-
/**
|
|
2712
|
-
* Called with { lat, lon, zoom } while the user pans or zooms (drag, touch, wheel, double click or the +/- buttons).
|
|
2713
|
-
* @event move
|
|
2714
|
-
*/
|
|
2715
|
-
onMove?: () => void;
|
|
2716
|
-
/**
|
|
2717
|
-
* Called with the new zoom level when it changes.
|
|
2718
|
-
* @event zoom
|
|
2719
|
-
*/
|
|
2720
|
-
onZoom?: () => void;
|
|
2721
|
-
children?: ReactNode;
|
|
2722
|
-
}
|
|
2723
|
-
export const UiMap: ComponentType<UiMapProps>;
|
|
2724
|
-
|
|
2725
1608
|
/**
|
|
2726
1609
|
* Static vertical list of actions rendered inline; use in sidebars and custom popovers.
|
|
2727
1610
|
* Note: Always visible unless open is set. For a self-toggling menu use Dropdown, for a right-click menu use ContextMenu.
|
|
@@ -2877,41 +1760,6 @@ export interface UiMultiSelectProps {
|
|
|
2877
1760
|
}
|
|
2878
1761
|
export const UiMultiSelect: ComponentType<UiMultiSelectProps>;
|
|
2879
1762
|
|
|
2880
|
-
/**
|
|
2881
|
-
* Bell icon button with an unread counter and a dropdown list of notifications.
|
|
2882
|
-
* Note: If you handle read or markAllRead the component is controlled: it trusts only the read flags in items, so update them in your state. Without these handlers it marks items read internally.
|
|
2883
|
-
* Note: The dropdown opens and closes internally, and closes on outside click or Escape.
|
|
2884
|
-
*/
|
|
2885
|
-
export interface UiNotificationBellProps {
|
|
2886
|
-
/**
|
|
2887
|
-
* Notifications. Items without read: true count as unread and show a dot.
|
|
2888
|
-
* @default []
|
|
2889
|
-
*/
|
|
2890
|
-
items?: { id: string | number; title: string; message?: string; time?: string; read?: boolean }[];
|
|
2891
|
-
/**
|
|
2892
|
-
* Bell button size.
|
|
2893
|
-
* @default 'md'
|
|
2894
|
-
*/
|
|
2895
|
-
size?: Size;
|
|
2896
|
-
/**
|
|
2897
|
-
* Called with the item id when an unread item is clicked.
|
|
2898
|
-
* @event read
|
|
2899
|
-
*/
|
|
2900
|
-
onRead?: (id: string | number) => void;
|
|
2901
|
-
/**
|
|
2902
|
-
* Called when "Mark all read" is clicked (shown while something is unread).
|
|
2903
|
-
* @event markAllRead
|
|
2904
|
-
*/
|
|
2905
|
-
onMarkAllRead?: () => void;
|
|
2906
|
-
/**
|
|
2907
|
-
* Called with the item when any item is clicked.
|
|
2908
|
-
* @event select
|
|
2909
|
-
*/
|
|
2910
|
-
onSelect?: (item: NonNullable<UiNotificationBellProps['items']>[number]) => void;
|
|
2911
|
-
children?: ReactNode;
|
|
2912
|
-
}
|
|
2913
|
-
export const UiNotificationBell: ComponentType<UiNotificationBellProps>;
|
|
2914
|
-
|
|
2915
1763
|
/**
|
|
2916
1764
|
* Numeric stepper with minus and plus buttons and a typed value. Use for quantities, guest counts and small integers.
|
|
2917
1765
|
* Note: The field can be fully cleared (null); the + and - buttons start from 0 when empty.
|
|
@@ -2960,285 +1808,30 @@ export interface UiNumberInputProps {
|
|
|
2960
1808
|
}
|
|
2961
1809
|
export const UiNumberInput: ComponentType<UiNumberInputProps>;
|
|
2962
1810
|
|
|
2963
|
-
/**
|
|
2964
|
-
|
|
1811
|
+
/**
|
|
1812
|
+
* Sign-in page template without the app shell, as a centered card or a split layout.
|
|
1813
|
+
* Note: Designed for the dark theme and used without AppShell.
|
|
1814
|
+
*/
|
|
1815
|
+
export interface UiPageAuthProps {
|
|
2965
1816
|
/**
|
|
2966
|
-
*
|
|
2967
|
-
* @default
|
|
1817
|
+
* 'split' uses AuthSplit with a side panel. 'photo', 'light' and 'tint' use AuthShowcase with a media panel (Pro: needs @ziyarago/ui-pro, otherwise they fall back to the centered card). Anything else renders a centered AuthLayout card over the background.
|
|
1818
|
+
* @default 'card'
|
|
1819
|
+
* @remarks Forwarded to the inner element.
|
|
2968
1820
|
*/
|
|
2969
|
-
|
|
1821
|
+
layout?: 'card' | 'split' | 'photo' | 'light' | 'tint';
|
|
2970
1822
|
/**
|
|
2971
|
-
*
|
|
2972
|
-
* @
|
|
1823
|
+
* Media image URL; photo, light and tint layouts.
|
|
1824
|
+
* @remarks Forwarded to the inner element.
|
|
2973
1825
|
*/
|
|
2974
|
-
labels?: string[];
|
|
2975
|
-
children?: ReactNode;
|
|
2976
|
-
}
|
|
2977
|
-
export const UiOccupancyChart: ComponentType<UiOccupancyChartProps>;
|
|
2978
|
-
|
|
2979
|
-
/** Selectable card with title, description, price and optional image or icon. Usually rendered by OptionCards. */
|
|
2980
|
-
export interface UiOptionCardProps {
|
|
2981
|
-
/** Main text. */
|
|
2982
|
-
title?: string;
|
|
2983
|
-
/** Secondary text under the title. */
|
|
2984
|
-
desc?: string;
|
|
2985
|
-
/** Right-aligned price or value text. */
|
|
2986
|
-
price?: string;
|
|
2987
|
-
/** Image URL shown on the left. Takes priority over icon. */
|
|
2988
1826
|
image?: string;
|
|
2989
|
-
/** Icon name shown in a tile on the left. */
|
|
2990
|
-
icon?: string;
|
|
2991
1827
|
/**
|
|
2992
|
-
*
|
|
2993
|
-
* @
|
|
1828
|
+
* Large text on the media panel; photo and tint.
|
|
1829
|
+
* @remarks Forwarded to the inner element.
|
|
2994
1830
|
*/
|
|
2995
|
-
|
|
1831
|
+
headline?: string;
|
|
2996
1832
|
/**
|
|
2997
|
-
*
|
|
2998
|
-
* @
|
|
2999
|
-
*/
|
|
3000
|
-
multiple?: boolean;
|
|
3001
|
-
/**
|
|
3002
|
-
* Control height, font and padding scale.
|
|
3003
|
-
* @default 'md'
|
|
3004
|
-
*/
|
|
3005
|
-
size?: Size;
|
|
3006
|
-
/**
|
|
3007
|
-
* Called when the card is pressed. Toggle checked yourself.
|
|
3008
|
-
* @event click
|
|
3009
|
-
*/
|
|
3010
|
-
onClick?: (event: MouseEvent<HTMLElement>) => void;
|
|
3011
|
-
children?: ReactNode;
|
|
3012
|
-
}
|
|
3013
|
-
export const UiOptionCard: ComponentType<UiOptionCardProps>;
|
|
3014
|
-
|
|
3015
|
-
/** Grid of selectable OptionCards, single or multiple choice. Use for plans, room types and delivery options. */
|
|
3016
|
-
export interface UiOptionCardsProps {
|
|
3017
|
-
/** Selected value, or an array of values when multiple is true. */
|
|
3018
|
-
modelValue?: string | number | (string | number)[];
|
|
3019
|
-
/**
|
|
3020
|
-
* Cards to show. Fields are passed to OptionCard.
|
|
3021
|
-
* @default []
|
|
3022
|
-
*/
|
|
3023
|
-
options?: { value: string | number; title: string; desc?: string; price?: string; image?: string; icon?: string }[];
|
|
3024
|
-
/**
|
|
3025
|
-
* Allow several selected cards. modelValue becomes an array.
|
|
3026
|
-
* @default false
|
|
3027
|
-
*/
|
|
3028
|
-
multiple?: boolean;
|
|
3029
|
-
/**
|
|
3030
|
-
* Minimum card width in px before the grid wraps.
|
|
3031
|
-
* @default 220
|
|
3032
|
-
*/
|
|
3033
|
-
min?: number;
|
|
3034
|
-
/**
|
|
3035
|
-
* Label shown above the control.
|
|
3036
|
-
* @remarks Forwarded to the inner element.
|
|
3037
|
-
*/
|
|
3038
|
-
label?: string;
|
|
3039
|
-
/**
|
|
3040
|
-
* Control height, font and padding scale.
|
|
3041
|
-
* @default 'md'
|
|
3042
|
-
*/
|
|
3043
|
-
size?: Size;
|
|
3044
|
-
/**
|
|
3045
|
-
* Called with the value (single) or the new array of values (multiple).
|
|
3046
|
-
* @event change
|
|
3047
|
-
*/
|
|
3048
|
-
onChange?: (value: string | number | (string | number)[]) => void;
|
|
3049
|
-
children?: ReactNode;
|
|
3050
|
-
}
|
|
3051
|
-
export const UiOptionCards: ComponentType<UiOptionCardsProps>;
|
|
3052
|
-
|
|
3053
|
-
/**
|
|
3054
|
-
* Account settings template with pill tabs and a swappable panel.
|
|
3055
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3056
|
-
* Note: The template does not switch panels by itself: keep the active tab in your own state (PillTabs v-model) and render only that tab content in the panel slot.
|
|
3057
|
-
*/
|
|
3058
|
-
export interface UiPageAccountProps {
|
|
3059
|
-
/**
|
|
3060
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3061
|
-
* @remarks Forwarded to the inner element.
|
|
3062
|
-
*/
|
|
3063
|
-
title?: string;
|
|
3064
|
-
/**
|
|
3065
|
-
* Caption under the heading.
|
|
3066
|
-
* @remarks Forwarded to the inner element.
|
|
3067
|
-
*/
|
|
3068
|
-
subtitle?: string;
|
|
3069
|
-
/**
|
|
3070
|
-
* Breadcrumb trail above the title.
|
|
3071
|
-
* @remarks Forwarded to the inner element.
|
|
3072
|
-
*/
|
|
3073
|
-
crumbs?: { label: string; href?: string }[];
|
|
3074
|
-
/**
|
|
3075
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3076
|
-
* @slot header (React: pass as a prop)
|
|
3077
|
-
*/
|
|
3078
|
-
header?: ReactNode;
|
|
3079
|
-
/**
|
|
3080
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3081
|
-
* @slot actions (React: pass as a prop)
|
|
3082
|
-
*/
|
|
3083
|
-
actions?: ReactNode;
|
|
3084
|
-
/**
|
|
3085
|
-
* Section tabs (account, security, billing, notifications); PillTabs.
|
|
3086
|
-
* @slot tabs (React: pass as a prop)
|
|
3087
|
-
*/
|
|
3088
|
-
tabs?: ReactNode;
|
|
3089
|
-
/**
|
|
3090
|
-
* Content of the active tab; Card or SettingsSection with Switch and TextField.
|
|
3091
|
-
* @slot panel (React: pass as a prop)
|
|
3092
|
-
*/
|
|
3093
|
-
panel?: ReactNode;
|
|
3094
|
-
children?: ReactNode;
|
|
3095
|
-
}
|
|
3096
|
-
export const UiPageAccount: ComponentType<UiPageAccountProps>;
|
|
3097
|
-
|
|
3098
|
-
/**
|
|
3099
|
-
* Analytics template: period picker, KPI strip, trend charts, a breakdown block and a table. Put Export in actions.
|
|
3100
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3101
|
-
* Note: Trend and breakdown share a row and wrap on narrow screens. Put Export in the actions slot.
|
|
3102
|
-
*/
|
|
3103
|
-
export interface UiPageAnalyticsProps {
|
|
3104
|
-
/**
|
|
3105
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3106
|
-
* @remarks Forwarded to the inner element.
|
|
3107
|
-
*/
|
|
3108
|
-
title?: string;
|
|
3109
|
-
/**
|
|
3110
|
-
* Caption under the heading.
|
|
3111
|
-
* @remarks Forwarded to the inner element.
|
|
3112
|
-
*/
|
|
3113
|
-
subtitle?: string;
|
|
3114
|
-
/**
|
|
3115
|
-
* Breadcrumb trail above the title.
|
|
3116
|
-
* @remarks Forwarded to the inner element.
|
|
3117
|
-
*/
|
|
3118
|
-
crumbs?: { label: string; href?: string }[];
|
|
3119
|
-
/**
|
|
3120
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3121
|
-
* @slot header (React: pass as a prop)
|
|
3122
|
-
*/
|
|
3123
|
-
header?: ReactNode;
|
|
3124
|
-
/**
|
|
3125
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3126
|
-
* @slot actions (React: pass as a prop)
|
|
3127
|
-
*/
|
|
3128
|
-
actions?: ReactNode;
|
|
3129
|
-
/**
|
|
3130
|
-
* Period presets and compare toggle; SegmentedControl, Select, Switch.
|
|
3131
|
-
* @slot period (React: pass as a prop)
|
|
3132
|
-
*/
|
|
3133
|
-
period?: ReactNode;
|
|
3134
|
-
/**
|
|
3135
|
-
* Headline numbers with deltas; KpiTile, StatLine.
|
|
3136
|
-
* @slot kpis (React: pass as a prop)
|
|
3137
|
-
*/
|
|
3138
|
-
kpis?: ReactNode;
|
|
3139
|
-
/**
|
|
3140
|
-
* Main time series; ChartCard with MiniChart.
|
|
3141
|
-
* @slot trend (React: pass as a prop)
|
|
3142
|
-
*/
|
|
3143
|
-
trend?: ReactNode;
|
|
3144
|
-
/**
|
|
3145
|
-
* Split by channel or country; ChartCard with SegBar and CountryRow.
|
|
3146
|
-
* @slot breakdown (React: pass as a prop)
|
|
3147
|
-
*/
|
|
3148
|
-
breakdown?: ReactNode;
|
|
3149
|
-
/**
|
|
3150
|
-
* Rows behind the numbers; DataTable.
|
|
3151
|
-
* @slot table (React: pass as a prop)
|
|
3152
|
-
*/
|
|
3153
|
-
table?: ReactNode;
|
|
3154
|
-
children?: ReactNode;
|
|
3155
|
-
}
|
|
3156
|
-
export const UiPageAnalytics: ComponentType<UiPageAnalyticsProps>;
|
|
3157
|
-
|
|
3158
|
-
/**
|
|
3159
|
-
* Article template: cover, post body, sticky table of contents, share row and related posts.
|
|
3160
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3161
|
-
* Note: Body, share and related share the main column; the table of contents stays visible on the right while the body scrolls and drops under the body below 860 px.
|
|
3162
|
-
*/
|
|
3163
|
-
export interface UiPageArticleProps {
|
|
3164
|
-
/**
|
|
3165
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3166
|
-
* @remarks Forwarded to the inner element.
|
|
3167
|
-
*/
|
|
3168
|
-
title?: string;
|
|
3169
|
-
/**
|
|
3170
|
-
* Caption under the heading.
|
|
3171
|
-
* @remarks Forwarded to the inner element.
|
|
3172
|
-
*/
|
|
3173
|
-
subtitle?: string;
|
|
3174
|
-
/**
|
|
3175
|
-
* Breadcrumb trail above the title.
|
|
3176
|
-
* @remarks Forwarded to the inner element.
|
|
3177
|
-
*/
|
|
3178
|
-
crumbs?: { label: string; href?: string }[];
|
|
3179
|
-
/**
|
|
3180
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3181
|
-
* @slot header (React: pass as a prop)
|
|
3182
|
-
*/
|
|
3183
|
-
header?: ReactNode;
|
|
3184
|
-
/**
|
|
3185
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3186
|
-
* @slot actions (React: pass as a prop)
|
|
3187
|
-
*/
|
|
3188
|
-
actions?: ReactNode;
|
|
3189
|
-
/**
|
|
3190
|
-
* Cover image area with title and author line; a gradient Card or LazyImage.
|
|
3191
|
-
* @slot cover (React: pass as a prop)
|
|
3192
|
-
*/
|
|
3193
|
-
cover?: ReactNode;
|
|
3194
|
-
/**
|
|
3195
|
-
* Article text; Heading, Text, Code, Alert.
|
|
3196
|
-
* @slot body (React: pass as a prop)
|
|
3197
|
-
*/
|
|
3198
|
-
body?: ReactNode;
|
|
3199
|
-
/**
|
|
3200
|
-
* Sticky table of contents; Card with a list of anchor links.
|
|
3201
|
-
* @slot toc (React: pass as a prop)
|
|
3202
|
-
*/
|
|
3203
|
-
toc?: ReactNode;
|
|
3204
|
-
/**
|
|
3205
|
-
* Share and reaction row; Button, IconButton, CopyButton.
|
|
3206
|
-
* @slot share (React: pass as a prop)
|
|
3207
|
-
*/
|
|
3208
|
-
share?: ReactNode;
|
|
3209
|
-
/**
|
|
3210
|
-
* Related posts; Card grid.
|
|
3211
|
-
* @slot related (React: pass as a prop)
|
|
3212
|
-
*/
|
|
3213
|
-
related?: ReactNode;
|
|
3214
|
-
children?: ReactNode;
|
|
3215
|
-
}
|
|
3216
|
-
export const UiPageArticle: ComponentType<UiPageArticleProps>;
|
|
3217
|
-
|
|
3218
|
-
/**
|
|
3219
|
-
* Sign-in page template without the app shell, as a centered card or a split layout.
|
|
3220
|
-
* Note: Designed for the dark theme and used without AppShell.
|
|
3221
|
-
*/
|
|
3222
|
-
export interface UiPageAuthProps {
|
|
3223
|
-
/**
|
|
3224
|
-
* 'split' uses AuthSplit with a side panel. 'photo', 'light' and 'tint' use AuthShowcase with a media panel. Anything else renders a centered AuthLayout card over the background.
|
|
3225
|
-
* @default 'card'
|
|
3226
|
-
* @remarks Forwarded to the inner element.
|
|
3227
|
-
*/
|
|
3228
|
-
layout?: 'card' | 'split' | 'photo' | 'light' | 'tint';
|
|
3229
|
-
/**
|
|
3230
|
-
* Media image URL; photo, light and tint layouts.
|
|
3231
|
-
* @remarks Forwarded to the inner element.
|
|
3232
|
-
*/
|
|
3233
|
-
image?: string;
|
|
3234
|
-
/**
|
|
3235
|
-
* Large text on the media panel; photo and tint.
|
|
3236
|
-
* @remarks Forwarded to the inner element.
|
|
3237
|
-
*/
|
|
3238
|
-
headline?: string;
|
|
3239
|
-
/**
|
|
3240
|
-
* Small text on the media panel or glass bar.
|
|
3241
|
-
* @remarks Forwarded to the inner element.
|
|
1833
|
+
* Small text on the media panel or glass bar.
|
|
1834
|
+
* @remarks Forwarded to the inner element.
|
|
3242
1835
|
*/
|
|
3243
1836
|
caption?: string;
|
|
3244
1837
|
/**
|
|
@@ -3306,71 +1899,11 @@ export interface UiPageAuthProps {
|
|
|
3306
1899
|
export const UiPageAuth: ComponentType<UiPageAuthProps>;
|
|
3307
1900
|
|
|
3308
1901
|
/**
|
|
3309
|
-
*
|
|
3310
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3311
|
-
* Note: Plan, usage and invoices share the main column; methods and upgrade form the side column.
|
|
3312
|
-
*/
|
|
3313
|
-
export interface UiPageBillingProps {
|
|
3314
|
-
/**
|
|
3315
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3316
|
-
* @remarks Forwarded to the inner element.
|
|
3317
|
-
*/
|
|
3318
|
-
title?: string;
|
|
3319
|
-
/**
|
|
3320
|
-
* Caption under the heading.
|
|
3321
|
-
* @remarks Forwarded to the inner element.
|
|
3322
|
-
*/
|
|
3323
|
-
subtitle?: string;
|
|
3324
|
-
/**
|
|
3325
|
-
* Breadcrumb trail above the title.
|
|
3326
|
-
* @remarks Forwarded to the inner element.
|
|
3327
|
-
*/
|
|
3328
|
-
crumbs?: { label: string; href?: string }[];
|
|
3329
|
-
/**
|
|
3330
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3331
|
-
* @slot header (React: pass as a prop)
|
|
3332
|
-
*/
|
|
3333
|
-
header?: ReactNode;
|
|
3334
|
-
/**
|
|
3335
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3336
|
-
* @slot actions (React: pass as a prop)
|
|
3337
|
-
*/
|
|
3338
|
-
actions?: ReactNode;
|
|
3339
|
-
/**
|
|
3340
|
-
* Current plan; Card with Badge and Buttons.
|
|
3341
|
-
* @slot plan (React: pass as a prop)
|
|
3342
|
-
*/
|
|
3343
|
-
plan?: ReactNode;
|
|
3344
|
-
/**
|
|
3345
|
-
* Usage meters; Progress.
|
|
3346
|
-
* @slot usage (React: pass as a prop)
|
|
3347
|
-
*/
|
|
3348
|
-
usage?: ReactNode;
|
|
3349
|
-
/**
|
|
3350
|
-
* Invoices; DataTable.
|
|
3351
|
-
* @slot invoices (React: pass as a prop)
|
|
3352
|
-
*/
|
|
3353
|
-
invoices?: ReactNode;
|
|
3354
|
-
/**
|
|
3355
|
-
* Saved cards; Card, IconTile, Badge.
|
|
3356
|
-
* @slot methods (React: pass as a prop)
|
|
3357
|
-
*/
|
|
3358
|
-
methods?: ReactNode;
|
|
3359
|
-
/**
|
|
3360
|
-
* Upgrade call to action; Card variant="inverse" or PricingCard.
|
|
3361
|
-
* @slot upgrade (React: pass as a prop)
|
|
3362
|
-
*/
|
|
3363
|
-
upgrade?: ReactNode;
|
|
3364
|
-
children?: ReactNode;
|
|
3365
|
-
}
|
|
3366
|
-
export const UiPageBilling: ComponentType<UiPageBillingProps>;
|
|
3367
|
-
|
|
3368
|
-
/**
|
|
3369
|
-
* Booking flow template: stepper, the active step content, back and continue buttons and a sticky summary card.
|
|
1902
|
+
* Dashboard template: greeting hero, KPI tiles, occupancy chart, sales funnel, top list and activity feed.
|
|
3370
1903
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
3371
|
-
* Note:
|
|
1904
|
+
* Note: hero and kpis share a row, as do occupancy/funnel and top/activity; they wrap on narrow screens.
|
|
3372
1905
|
*/
|
|
3373
|
-
export interface
|
|
1906
|
+
export interface UiPageDashboardProps {
|
|
3374
1907
|
/**
|
|
3375
1908
|
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3376
1909
|
* @remarks Forwarded to the inner element.
|
|
@@ -3397,1523 +1930,66 @@ export interface UiPageBookingFlowProps {
|
|
|
3397
1930
|
*/
|
|
3398
1931
|
actions?: ReactNode;
|
|
3399
1932
|
/**
|
|
3400
|
-
*
|
|
3401
|
-
* @slot
|
|
3402
|
-
*/
|
|
3403
|
-
steps?: ReactNode;
|
|
3404
|
-
/**
|
|
3405
|
-
* Content of the active step (search, pick, guests, confirm); Card, DatePicker, OptionCards, NumberInput.
|
|
3406
|
-
* @slot content (React: pass as a prop)
|
|
3407
|
-
*/
|
|
3408
|
-
content?: ReactNode;
|
|
3409
|
-
/**
|
|
3410
|
-
* Back and Continue buttons.
|
|
3411
|
-
* @slot nav (React: pass as a prop)
|
|
3412
|
-
*/
|
|
3413
|
-
nav?: ReactNode;
|
|
3414
|
-
/**
|
|
3415
|
-
* Booking summary; Card, Descriptions.
|
|
3416
|
-
* @slot summary (React: pass as a prop)
|
|
3417
|
-
*/
|
|
3418
|
-
summary?: ReactNode;
|
|
3419
|
-
children?: ReactNode;
|
|
3420
|
-
}
|
|
3421
|
-
export const UiPageBookingFlow: ComponentType<UiPageBookingFlowProps>;
|
|
3422
|
-
|
|
3423
|
-
/**
|
|
3424
|
-
* Bookings list template: stats, toolbar, bulk-action bar, table and pagination.
|
|
3425
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3426
|
-
*/
|
|
3427
|
-
export interface UiPageBookingsProps {
|
|
3428
|
-
/**
|
|
3429
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3430
|
-
* @remarks Forwarded to the inner element.
|
|
1933
|
+
* Large greeting/plan block; Card variant="inverse" with Ring and a Button.
|
|
1934
|
+
* @slot hero (React: pass as a prop)
|
|
3431
1935
|
*/
|
|
3432
|
-
|
|
1936
|
+
hero?: ReactNode;
|
|
3433
1937
|
/**
|
|
3434
|
-
*
|
|
3435
|
-
* @
|
|
1938
|
+
* Four key figures; KpiTile, StatsCard or KpiInline.
|
|
1939
|
+
* @slot kpis (React: pass as a prop)
|
|
3436
1940
|
*/
|
|
3437
|
-
|
|
1941
|
+
kpis?: ReactNode;
|
|
3438
1942
|
/**
|
|
3439
|
-
*
|
|
3440
|
-
* @
|
|
3441
|
-
*/
|
|
3442
|
-
crumbs?: { label: string; href?: string }[];
|
|
3443
|
-
/**
|
|
3444
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3445
|
-
* @slot header (React: pass as a prop)
|
|
3446
|
-
*/
|
|
3447
|
-
header?: ReactNode;
|
|
3448
|
-
/**
|
|
3449
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3450
|
-
* @slot actions (React: pass as a prop)
|
|
3451
|
-
*/
|
|
3452
|
-
actions?: ReactNode;
|
|
3453
|
-
/**
|
|
3454
|
-
* Booking figures for the period; StatsCard.
|
|
3455
|
-
* @slot stats (React: pass as a prop)
|
|
3456
|
-
*/
|
|
3457
|
-
stats?: ReactNode;
|
|
3458
|
-
/**
|
|
3459
|
-
* Search, quick filters and export menu above the table; SearchInput, FilterChips, Dropdown.
|
|
3460
|
-
* @slot toolbar (React: pass as a prop)
|
|
3461
|
-
*/
|
|
3462
|
-
toolbar?: ReactNode;
|
|
3463
|
-
/**
|
|
3464
|
-
* Selection bar shown when rows are selected; Alert with Buttons. Render it conditionally.
|
|
3465
|
-
* @slot bulk (React: pass as a prop)
|
|
3466
|
-
*/
|
|
3467
|
-
bulk?: ReactNode;
|
|
3468
|
-
/**
|
|
3469
|
-
* Sortable, selectable table; DataTable.
|
|
3470
|
-
* @slot table (React: pass as a prop)
|
|
3471
|
-
*/
|
|
3472
|
-
table?: ReactNode;
|
|
3473
|
-
/**
|
|
3474
|
-
* Page numbers below the table; Pagination.
|
|
3475
|
-
* @slot pager (React: pass as a prop)
|
|
3476
|
-
*/
|
|
3477
|
-
pager?: ReactNode;
|
|
3478
|
-
children?: ReactNode;
|
|
3479
|
-
}
|
|
3480
|
-
export const UiPageBookings: ComponentType<UiPageBookingsProps>;
|
|
3481
|
-
|
|
3482
|
-
/**
|
|
3483
|
-
* Calendar template: view switch, time grid, mini calendar and event details.
|
|
3484
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3485
|
-
* Note: The grid sits beside the mini calendar and details; they stack under 860 px.
|
|
3486
|
-
*/
|
|
3487
|
-
export interface UiPageCalendarProps {
|
|
3488
|
-
/**
|
|
3489
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3490
|
-
* @remarks Forwarded to the inner element.
|
|
3491
|
-
*/
|
|
3492
|
-
title?: string;
|
|
3493
|
-
/**
|
|
3494
|
-
* Caption under the heading.
|
|
3495
|
-
* @remarks Forwarded to the inner element.
|
|
3496
|
-
*/
|
|
3497
|
-
subtitle?: string;
|
|
3498
|
-
/**
|
|
3499
|
-
* Breadcrumb trail above the title.
|
|
3500
|
-
* @remarks Forwarded to the inner element.
|
|
3501
|
-
*/
|
|
3502
|
-
crumbs?: { label: string; href?: string }[];
|
|
3503
|
-
/**
|
|
3504
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3505
|
-
* @slot header (React: pass as a prop)
|
|
3506
|
-
*/
|
|
3507
|
-
header?: ReactNode;
|
|
3508
|
-
/**
|
|
3509
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3510
|
-
* @slot actions (React: pass as a prop)
|
|
3511
|
-
*/
|
|
3512
|
-
actions?: ReactNode;
|
|
3513
|
-
/**
|
|
3514
|
-
* SegmentedControl, Button, IconButton.
|
|
3515
|
-
* @slot toolbar (React: pass as a prop)
|
|
3516
|
-
*/
|
|
3517
|
-
toolbar?: ReactNode;
|
|
3518
|
-
/**
|
|
3519
|
-
* Time grid with events; Card with custom grid, or CalendarView for the month.
|
|
3520
|
-
* @slot grid (React: pass as a prop)
|
|
3521
|
-
*/
|
|
3522
|
-
grid?: ReactNode;
|
|
3523
|
-
/**
|
|
3524
|
-
* Month picker; Calendar.
|
|
3525
|
-
* @slot mini (React: pass as a prop)
|
|
3526
|
-
*/
|
|
3527
|
-
mini?: ReactNode;
|
|
3528
|
-
/**
|
|
3529
|
-
* Selected event; Card, Descriptions, Avatar, Button.
|
|
3530
|
-
* @slot details (React: pass as a prop)
|
|
3531
|
-
*/
|
|
3532
|
-
details?: ReactNode;
|
|
3533
|
-
children?: ReactNode;
|
|
3534
|
-
}
|
|
3535
|
-
export const UiPageCalendar: ComponentType<UiPageCalendarProps>;
|
|
3536
|
-
|
|
3537
|
-
/**
|
|
3538
|
-
* Catalog template with a filter sidebar and a card grid (hotels, tours).
|
|
3539
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3540
|
-
* Note: The filter column is 260 px wide; on phones put filters in a Drawer yourself.
|
|
3541
|
-
*/
|
|
3542
|
-
export interface UiPageCatalogProps {
|
|
3543
|
-
/**
|
|
3544
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3545
|
-
* @remarks Forwarded to the inner element.
|
|
3546
|
-
*/
|
|
3547
|
-
title?: string;
|
|
3548
|
-
/**
|
|
3549
|
-
* Caption under the heading.
|
|
3550
|
-
* @remarks Forwarded to the inner element.
|
|
3551
|
-
*/
|
|
3552
|
-
subtitle?: string;
|
|
3553
|
-
/**
|
|
3554
|
-
* Breadcrumb trail above the title.
|
|
3555
|
-
* @remarks Forwarded to the inner element.
|
|
3556
|
-
*/
|
|
3557
|
-
crumbs?: { label: string; href?: string }[];
|
|
3558
|
-
/**
|
|
3559
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3560
|
-
* @slot header (React: pass as a prop)
|
|
3561
|
-
*/
|
|
3562
|
-
header?: ReactNode;
|
|
3563
|
-
/**
|
|
3564
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3565
|
-
* @slot actions (React: pass as a prop)
|
|
3566
|
-
*/
|
|
3567
|
-
actions?: ReactNode;
|
|
3568
|
-
/**
|
|
3569
|
-
* Left filter column (price, rating, services); Slider, Rating, RadioGroup, Checkbox.
|
|
3570
|
-
* @slot filters (React: pass as a prop)
|
|
3571
|
-
*/
|
|
3572
|
-
filters?: ReactNode;
|
|
3573
|
-
/**
|
|
3574
|
-
* Search, view switch and sort above the grid; SearchInput, ToggleGroup, Select.
|
|
3575
|
-
* @slot toolbar (React: pass as a prop)
|
|
3576
|
-
*/
|
|
3577
|
-
toolbar?: ReactNode;
|
|
3578
|
-
/**
|
|
3579
|
-
* Responsive grid of cards; HotelCard or TourCard.
|
|
3580
|
-
* @slot grid (React: pass as a prop)
|
|
3581
|
-
*/
|
|
3582
|
-
grid?: ReactNode;
|
|
3583
|
-
/**
|
|
3584
|
-
* Pagination at the bottom; Pagination.
|
|
3585
|
-
* @slot pager (React: pass as a prop)
|
|
3586
|
-
*/
|
|
3587
|
-
pager?: ReactNode;
|
|
3588
|
-
children?: ReactNode;
|
|
3589
|
-
}
|
|
3590
|
-
export const UiPageCatalog: ComponentType<UiPageCatalogProps>;
|
|
3591
|
-
|
|
3592
|
-
/**
|
|
3593
|
-
* Changelog template: release timeline grouped by version with new, fix and improved tags, a filter and a subscribe card.
|
|
3594
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3595
|
-
* Note: Filters and timeline share the main column; the subscribe card is a sticky side column.
|
|
3596
|
-
*/
|
|
3597
|
-
export interface UiPageChangelogProps {
|
|
3598
|
-
/**
|
|
3599
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3600
|
-
* @remarks Forwarded to the inner element.
|
|
3601
|
-
*/
|
|
3602
|
-
title?: string;
|
|
3603
|
-
/**
|
|
3604
|
-
* Caption under the heading.
|
|
3605
|
-
* @remarks Forwarded to the inner element.
|
|
3606
|
-
*/
|
|
3607
|
-
subtitle?: string;
|
|
3608
|
-
/**
|
|
3609
|
-
* Breadcrumb trail above the title.
|
|
3610
|
-
* @remarks Forwarded to the inner element.
|
|
3611
|
-
*/
|
|
3612
|
-
crumbs?: { label: string; href?: string }[];
|
|
3613
|
-
/**
|
|
3614
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3615
|
-
* @slot header (React: pass as a prop)
|
|
3616
|
-
*/
|
|
3617
|
-
header?: ReactNode;
|
|
3618
|
-
/**
|
|
3619
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3620
|
-
* @slot actions (React: pass as a prop)
|
|
3621
|
-
*/
|
|
3622
|
-
actions?: ReactNode;
|
|
3623
|
-
/**
|
|
3624
|
-
* Tag filter; FilterChips, SearchInput.
|
|
3625
|
-
* @slot filters (React: pass as a prop)
|
|
3626
|
-
*/
|
|
3627
|
-
filters?: ReactNode;
|
|
3628
|
-
/**
|
|
3629
|
-
* Releases grouped by version; Card, Chip, Divider.
|
|
3630
|
-
* @slot timeline (React: pass as a prop)
|
|
3631
|
-
*/
|
|
3632
|
-
timeline?: ReactNode;
|
|
3633
|
-
/**
|
|
3634
|
-
* Sticky subscribe card; Card, TextField, Button.
|
|
3635
|
-
* @slot subscribe (React: pass as a prop)
|
|
3636
|
-
*/
|
|
3637
|
-
subscribe?: ReactNode;
|
|
3638
|
-
children?: ReactNode;
|
|
3639
|
-
}
|
|
3640
|
-
export const UiPageChangelog: ComponentType<UiPageChangelogProps>;
|
|
3641
|
-
|
|
3642
|
-
/**
|
|
3643
|
-
* Checkout template: step indicator, cart items, delivery address, payment and an order summary column.
|
|
3644
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3645
|
-
* Note: Summary sits in the side column and drops below the form on narrow screens.
|
|
3646
|
-
*/
|
|
3647
|
-
export interface UiPageCheckoutProps {
|
|
3648
|
-
/**
|
|
3649
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3650
|
-
* @remarks Forwarded to the inner element.
|
|
3651
|
-
*/
|
|
3652
|
-
title?: string;
|
|
3653
|
-
/**
|
|
3654
|
-
* Caption under the heading.
|
|
3655
|
-
* @remarks Forwarded to the inner element.
|
|
3656
|
-
*/
|
|
3657
|
-
subtitle?: string;
|
|
3658
|
-
/**
|
|
3659
|
-
* Breadcrumb trail above the title.
|
|
3660
|
-
* @remarks Forwarded to the inner element.
|
|
3661
|
-
*/
|
|
3662
|
-
crumbs?: { label: string; href?: string }[];
|
|
3663
|
-
/**
|
|
3664
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3665
|
-
* @slot header (React: pass as a prop)
|
|
3666
|
-
*/
|
|
3667
|
-
header?: ReactNode;
|
|
3668
|
-
/**
|
|
3669
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3670
|
-
* @slot actions (React: pass as a prop)
|
|
3671
|
-
*/
|
|
3672
|
-
actions?: ReactNode;
|
|
3673
|
-
/**
|
|
3674
|
-
* Checkout steps above the content; Stepper.
|
|
3675
|
-
* @slot steps (React: pass as a prop)
|
|
3676
|
-
*/
|
|
3677
|
-
steps?: ReactNode;
|
|
3678
|
-
/**
|
|
3679
|
-
* Cart lines with quantity and price; Card with NumberInput.
|
|
3680
|
-
* @slot items (React: pass as a prop)
|
|
3681
|
-
*/
|
|
3682
|
-
items?: ReactNode;
|
|
3683
|
-
/**
|
|
3684
|
-
* Contact and delivery fields; Card with TextField and Select.
|
|
3685
|
-
* @slot address (React: pass as a prop)
|
|
3686
|
-
*/
|
|
3687
|
-
address?: ReactNode;
|
|
3688
|
-
/**
|
|
3689
|
-
* Payment method and card fields; OptionCards, TextField.
|
|
3690
|
-
* @slot payment (React: pass as a prop)
|
|
3691
|
-
*/
|
|
3692
|
-
payment?: ReactNode;
|
|
3693
|
-
/**
|
|
3694
|
-
* Totals, promo code and the pay button; Card, Descriptions, Button.
|
|
3695
|
-
* @slot summary (React: pass as a prop)
|
|
3696
|
-
*/
|
|
3697
|
-
summary?: ReactNode;
|
|
3698
|
-
children?: ReactNode;
|
|
3699
|
-
}
|
|
3700
|
-
export const UiPageCheckout: ComponentType<UiPageCheckoutProps>;
|
|
3701
|
-
|
|
3702
|
-
/**
|
|
3703
|
-
* CRM template: summary tiles, filters, pipeline board and call queue.
|
|
3704
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3705
|
-
*/
|
|
3706
|
-
export interface UiPageCrmProps {
|
|
3707
|
-
/**
|
|
3708
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3709
|
-
* @remarks Forwarded to the inner element.
|
|
3710
|
-
*/
|
|
3711
|
-
title?: string;
|
|
3712
|
-
/**
|
|
3713
|
-
* Caption under the heading.
|
|
3714
|
-
* @remarks Forwarded to the inner element.
|
|
3715
|
-
*/
|
|
3716
|
-
subtitle?: string;
|
|
3717
|
-
/**
|
|
3718
|
-
* Breadcrumb trail above the title.
|
|
3719
|
-
* @remarks Forwarded to the inner element.
|
|
3720
|
-
*/
|
|
3721
|
-
crumbs?: { label: string; href?: string }[];
|
|
3722
|
-
/**
|
|
3723
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3724
|
-
* @slot header (React: pass as a prop)
|
|
3725
|
-
*/
|
|
3726
|
-
header?: ReactNode;
|
|
3727
|
-
/**
|
|
3728
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3729
|
-
* @slot actions (React: pass as a prop)
|
|
3730
|
-
*/
|
|
3731
|
-
actions?: ReactNode;
|
|
3732
|
-
/**
|
|
3733
|
-
* Tiles above the board (leads, amount, conversion, overdue); StatsCard or KpiTile.
|
|
3734
|
-
* @slot summary (React: pass as a prop)
|
|
3735
|
-
*/
|
|
3736
|
-
summary?: ReactNode;
|
|
3737
|
-
/**
|
|
3738
|
-
* Status tabs, search and period switch; Tabs, SearchInput, SegmentedControl, FilterChips.
|
|
3739
|
-
* @slot filters (React: pass as a prop)
|
|
3740
|
-
*/
|
|
3741
|
-
filters?: ReactNode;
|
|
3742
|
-
/**
|
|
3743
|
-
* Stage columns with deal cards; PipelineBoard, KanbanColumn, DealCard.
|
|
3744
|
-
* @slot board (React: pass as a prop)
|
|
3745
|
-
*/
|
|
3746
|
-
board?: ReactNode;
|
|
3747
|
-
/**
|
|
3748
|
-
* Recent call queue; CallRow, CallCard, IncomingCall.
|
|
3749
|
-
* @slot calls (React: pass as a prop)
|
|
3750
|
-
*/
|
|
3751
|
-
calls?: ReactNode;
|
|
3752
|
-
children?: ReactNode;
|
|
3753
|
-
}
|
|
3754
|
-
export const UiPageCrm: ComponentType<UiPageCrmProps>;
|
|
3755
|
-
|
|
3756
|
-
/**
|
|
3757
|
-
* Dashboard template: greeting hero, KPI tiles, occupancy chart, sales funnel, top list and activity feed.
|
|
3758
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3759
|
-
* Note: hero and kpis share a row, as do occupancy/funnel and top/activity; they wrap on narrow screens.
|
|
3760
|
-
*/
|
|
3761
|
-
export interface UiPageDashboardProps {
|
|
3762
|
-
/**
|
|
3763
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3764
|
-
* @remarks Forwarded to the inner element.
|
|
3765
|
-
*/
|
|
3766
|
-
title?: string;
|
|
3767
|
-
/**
|
|
3768
|
-
* Caption under the heading.
|
|
3769
|
-
* @remarks Forwarded to the inner element.
|
|
3770
|
-
*/
|
|
3771
|
-
subtitle?: string;
|
|
3772
|
-
/**
|
|
3773
|
-
* Breadcrumb trail above the title.
|
|
3774
|
-
* @remarks Forwarded to the inner element.
|
|
3775
|
-
*/
|
|
3776
|
-
crumbs?: { label: string; href?: string }[];
|
|
3777
|
-
/**
|
|
3778
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3779
|
-
* @slot header (React: pass as a prop)
|
|
3780
|
-
*/
|
|
3781
|
-
header?: ReactNode;
|
|
3782
|
-
/**
|
|
3783
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3784
|
-
* @slot actions (React: pass as a prop)
|
|
3785
|
-
*/
|
|
3786
|
-
actions?: ReactNode;
|
|
3787
|
-
/**
|
|
3788
|
-
* Large greeting/plan block; Card variant="inverse" with Ring and a Button.
|
|
3789
|
-
* @slot hero (React: pass as a prop)
|
|
3790
|
-
*/
|
|
3791
|
-
hero?: ReactNode;
|
|
3792
|
-
/**
|
|
3793
|
-
* Four key figures; KpiTile, StatsCard or KpiInline.
|
|
3794
|
-
* @slot kpis (React: pass as a prop)
|
|
3795
|
-
*/
|
|
3796
|
-
kpis?: ReactNode;
|
|
3797
|
-
/**
|
|
3798
|
-
* Per-day occupancy chart; OccupancyChart or MiniChart.
|
|
3799
|
-
* @slot occupancy (React: pass as a prop)
|
|
3800
|
-
*/
|
|
3801
|
-
occupancy?: ReactNode;
|
|
3802
|
-
/**
|
|
3803
|
-
* Inquiry-to-payment funnel; SalesFunnel.
|
|
3804
|
-
* @slot funnel (React: pass as a prop)
|
|
3805
|
-
*/
|
|
3806
|
-
funnel?: ReactNode;
|
|
3807
|
-
/**
|
|
3808
|
-
* Revenue leaderboard; DataTable with Progress share bars.
|
|
3809
|
-
* @slot top (React: pass as a prop)
|
|
3810
|
-
*/
|
|
3811
|
-
top?: ReactNode;
|
|
3812
|
-
/**
|
|
3813
|
-
* Recent actions, newest first; Timeline.
|
|
3814
|
-
* @slot activity (React: pass as a prop)
|
|
3815
|
-
*/
|
|
3816
|
-
activity?: ReactNode;
|
|
3817
|
-
children?: ReactNode;
|
|
3818
|
-
}
|
|
3819
|
-
export const UiPageDashboard: ComponentType<UiPageDashboardProps>;
|
|
3820
|
-
|
|
3821
|
-
/**
|
|
3822
|
-
* Detail page template (hotel, tour): gallery, summary, tabs, history and a booking side card.
|
|
3823
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3824
|
-
* Note: gallery, summary, tabs and history are the main column; booking is the side column.
|
|
3825
|
-
*/
|
|
3826
|
-
export interface UiPageDetailProps {
|
|
3827
|
-
/**
|
|
3828
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3829
|
-
* @remarks Forwarded to the inner element.
|
|
3830
|
-
*/
|
|
3831
|
-
title?: string;
|
|
3832
|
-
/**
|
|
3833
|
-
* Caption under the heading.
|
|
3834
|
-
* @remarks Forwarded to the inner element.
|
|
3835
|
-
*/
|
|
3836
|
-
subtitle?: string;
|
|
3837
|
-
/**
|
|
3838
|
-
* Breadcrumb trail above the title.
|
|
3839
|
-
* @remarks Forwarded to the inner element.
|
|
3840
|
-
*/
|
|
3841
|
-
crumbs?: { label: string; href?: string }[];
|
|
3842
|
-
/**
|
|
3843
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3844
|
-
* @slot header (React: pass as a prop)
|
|
3845
|
-
*/
|
|
3846
|
-
header?: ReactNode;
|
|
3847
|
-
/**
|
|
3848
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3849
|
-
* @slot actions (React: pass as a prop)
|
|
3850
|
-
*/
|
|
3851
|
-
actions?: ReactNode;
|
|
3852
|
-
/**
|
|
3853
|
-
* Main photo with thumbnails; Gallery, Carousel, LazyImage.
|
|
3854
|
-
* @slot gallery (React: pass as a prop)
|
|
3855
|
-
*/
|
|
3856
|
-
gallery?: ReactNode;
|
|
3857
|
-
/**
|
|
3858
|
-
* Name, stars, rating, badges; Card with Badge and Rating.
|
|
3859
|
-
* @slot summary (React: pass as a prop)
|
|
3860
|
-
*/
|
|
3861
|
-
summary?: ReactNode;
|
|
3862
|
-
/**
|
|
3863
|
-
* Description, amenities, reviews; Tabs with Descriptions or Accordion.
|
|
3864
|
-
* @slot tabs (React: pass as a prop)
|
|
3865
|
-
*/
|
|
3866
|
-
tabs?: ReactNode;
|
|
3867
|
-
/**
|
|
3868
|
-
* What changed (status, notes, price); Timeline.
|
|
3869
|
-
* @slot history (React: pass as a prop)
|
|
3870
|
-
*/
|
|
3871
|
-
history?: ReactNode;
|
|
3872
|
-
/**
|
|
3873
|
-
* Right-hand booking card with dates, guests, price and CTA; Card, Select, NumberInput, Button.
|
|
3874
|
-
* @slot booking (React: pass as a prop)
|
|
3875
|
-
*/
|
|
3876
|
-
booking?: ReactNode;
|
|
3877
|
-
children?: ReactNode;
|
|
3878
|
-
}
|
|
3879
|
-
export const UiPageDetail: ComponentType<UiPageDetailProps>;
|
|
3880
|
-
|
|
3881
|
-
/**
|
|
3882
|
-
* Help center template: search, categories, answers accordion and a contact block.
|
|
3883
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3884
|
-
*/
|
|
3885
|
-
export interface UiPageFaqProps {
|
|
3886
|
-
/**
|
|
3887
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3888
|
-
* @remarks Forwarded to the inner element.
|
|
3889
|
-
*/
|
|
3890
|
-
title?: string;
|
|
3891
|
-
/**
|
|
3892
|
-
* Caption under the heading.
|
|
3893
|
-
* @remarks Forwarded to the inner element.
|
|
3894
|
-
*/
|
|
3895
|
-
subtitle?: string;
|
|
3896
|
-
/**
|
|
3897
|
-
* Breadcrumb trail above the title.
|
|
3898
|
-
* @remarks Forwarded to the inner element.
|
|
3899
|
-
*/
|
|
3900
|
-
crumbs?: { label: string; href?: string }[];
|
|
3901
|
-
/**
|
|
3902
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3903
|
-
* @slot header (React: pass as a prop)
|
|
3904
|
-
*/
|
|
3905
|
-
header?: ReactNode;
|
|
3906
|
-
/**
|
|
3907
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
3908
|
-
* @slot actions (React: pass as a prop)
|
|
3909
|
-
*/
|
|
3910
|
-
actions?: ReactNode;
|
|
3911
|
-
/**
|
|
3912
|
-
* Large search field; SearchInput.
|
|
3913
|
-
* @slot search (React: pass as a prop)
|
|
3914
|
-
*/
|
|
3915
|
-
search?: ReactNode;
|
|
3916
|
-
/**
|
|
3917
|
-
* Category list on the left; vertical PillTabs.
|
|
3918
|
-
* @slot cats (React: pass as a prop)
|
|
3919
|
-
*/
|
|
3920
|
-
cats?: ReactNode;
|
|
3921
|
-
/**
|
|
3922
|
-
* Answers on the right; Accordion.
|
|
3923
|
-
* @slot answers (React: pass as a prop)
|
|
3924
|
-
*/
|
|
3925
|
-
answers?: ReactNode;
|
|
3926
|
-
/**
|
|
3927
|
-
* Contact cards below; Card, IconTile, Button.
|
|
3928
|
-
* @slot contact (React: pass as a prop)
|
|
3929
|
-
*/
|
|
3930
|
-
contact?: ReactNode;
|
|
3931
|
-
children?: ReactNode;
|
|
3932
|
-
}
|
|
3933
|
-
export const UiPageFaq: ComponentType<UiPageFaqProps>;
|
|
3934
|
-
|
|
3935
|
-
/**
|
|
3936
|
-
* Create/edit form template: main column, media, side column and header actions.
|
|
3937
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3938
|
-
*/
|
|
3939
|
-
export interface UiPageFormProps {
|
|
3940
|
-
/**
|
|
3941
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3942
|
-
* @remarks Forwarded to the inner element.
|
|
3943
|
-
*/
|
|
3944
|
-
title?: string;
|
|
3945
|
-
/**
|
|
3946
|
-
* Caption under the heading.
|
|
3947
|
-
* @remarks Forwarded to the inner element.
|
|
3948
|
-
*/
|
|
3949
|
-
subtitle?: string;
|
|
3950
|
-
/**
|
|
3951
|
-
* Breadcrumb trail above the title.
|
|
3952
|
-
* @remarks Forwarded to the inner element.
|
|
3953
|
-
*/
|
|
3954
|
-
crumbs?: { label: string; href?: string }[];
|
|
3955
|
-
/**
|
|
3956
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
3957
|
-
* @slot header (React: pass as a prop)
|
|
3958
|
-
*/
|
|
3959
|
-
header?: ReactNode;
|
|
3960
|
-
/**
|
|
3961
|
-
* Discard, Save draft and Publish buttons in the top-right of the built-in header; Button. Rendered right-aligned on their own when title is not set.
|
|
3962
|
-
* @slot actions (React: pass as a prop)
|
|
3963
|
-
*/
|
|
3964
|
-
actions?: ReactNode;
|
|
3965
|
-
/**
|
|
3966
|
-
* Main column cards (info, options); Card, TextField, Textarea.
|
|
3967
|
-
* @slot main (React: pass as a prop)
|
|
3968
|
-
*/
|
|
3969
|
-
main?: ReactNode;
|
|
3970
|
-
/**
|
|
3971
|
-
* Below main; upload dropzone; FileUpload or Gallery.
|
|
3972
|
-
* @slot media (React: pass as a prop)
|
|
3973
|
-
*/
|
|
3974
|
-
media?: ReactNode;
|
|
3975
|
-
/**
|
|
3976
|
-
* Side column cards (price, status, tags); Card, NumberInput, Select, ChipInput.
|
|
3977
|
-
* @slot side (React: pass as a prop)
|
|
3978
|
-
*/
|
|
3979
|
-
side?: ReactNode;
|
|
3980
|
-
children?: ReactNode;
|
|
3981
|
-
}
|
|
3982
|
-
export const UiPageForm: ComponentType<UiPageFormProps>;
|
|
3983
|
-
|
|
3984
|
-
/**
|
|
3985
|
-
* Group manager template: trip summary, pilgrims table with document and visa status, bulk actions, rooming and a sticky payments summary.
|
|
3986
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
3987
|
-
* Note: The payments card stays visible on the right and goes below the table under 860 px.
|
|
3988
|
-
*/
|
|
3989
|
-
export interface UiPageGroupManagerProps {
|
|
3990
|
-
/**
|
|
3991
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3992
|
-
* @remarks Forwarded to the inner element.
|
|
3993
|
-
*/
|
|
3994
|
-
title?: string;
|
|
3995
|
-
/**
|
|
3996
|
-
* Caption under the heading.
|
|
3997
|
-
* @remarks Forwarded to the inner element.
|
|
3998
|
-
*/
|
|
3999
|
-
subtitle?: string;
|
|
4000
|
-
/**
|
|
4001
|
-
* Breadcrumb trail above the title.
|
|
4002
|
-
* @remarks Forwarded to the inner element.
|
|
4003
|
-
*/
|
|
4004
|
-
crumbs?: { label: string; href?: string }[];
|
|
4005
|
-
/**
|
|
4006
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4007
|
-
* @slot header (React: pass as a prop)
|
|
4008
|
-
*/
|
|
4009
|
-
header?: ReactNode;
|
|
4010
|
-
/**
|
|
4011
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4012
|
-
* @slot actions (React: pass as a prop)
|
|
4013
|
-
*/
|
|
4014
|
-
actions?: ReactNode;
|
|
4015
|
-
/**
|
|
4016
|
-
* Trip header with dates, route and counters; Card, StatStrip, Progress.
|
|
4017
|
-
* @slot trip (React: pass as a prop)
|
|
4018
|
-
*/
|
|
4019
|
-
trip?: ReactNode;
|
|
4020
|
-
/**
|
|
4021
|
-
* Search and status filters; SearchInput, FilterChips.
|
|
4022
|
-
* @slot toolbar (React: pass as a prop)
|
|
4023
|
-
*/
|
|
4024
|
-
toolbar?: ReactNode;
|
|
4025
|
-
/**
|
|
4026
|
-
* Actions for the selected pilgrims; Button, Badge.
|
|
4027
|
-
* @slot bulk (React: pass as a prop)
|
|
4028
|
-
*/
|
|
4029
|
-
bulk?: ReactNode;
|
|
4030
|
-
/**
|
|
4031
|
-
* Pilgrims table with documents and visa; Card, DataTable, Badge.
|
|
4032
|
-
* @slot pilgrims (React: pass as a prop)
|
|
4033
|
-
*/
|
|
4034
|
-
pilgrims?: ReactNode;
|
|
4035
|
-
/**
|
|
4036
|
-
* Rooming assignment; Card, RoomGrid.
|
|
4037
|
-
* @slot rooms (React: pass as a prop)
|
|
4038
|
-
*/
|
|
4039
|
-
rooms?: ReactNode;
|
|
4040
|
-
/**
|
|
4041
|
-
* Payments summary and manager contact; Card, Progress, ContactPanel.
|
|
4042
|
-
* @slot payments (React: pass as a prop)
|
|
4043
|
-
*/
|
|
4044
|
-
payments?: ReactNode;
|
|
4045
|
-
children?: ReactNode;
|
|
4046
|
-
}
|
|
4047
|
-
export const UiPageGroupManager: ComponentType<UiPageGroupManagerProps>;
|
|
4048
|
-
|
|
4049
|
-
/** Page title block with optional breadcrumbs, subtitle and an actions area. */
|
|
4050
|
-
export interface UiPageHeaderProps {
|
|
4051
|
-
/** Page title (rendered as h1). */
|
|
4052
|
-
title: string;
|
|
4053
|
-
/** Secondary text below the title. */
|
|
4054
|
-
subtitle?: string;
|
|
4055
|
-
/** Breadcrumb items shown above the title. */
|
|
4056
|
-
crumbs?: { label: string; href?: string }[];
|
|
4057
|
-
/**
|
|
4058
|
-
* Title and subtitle size.
|
|
4059
|
-
* @default 'md'
|
|
4060
|
-
*/
|
|
4061
|
-
size?: Size;
|
|
4062
|
-
/**
|
|
4063
|
-
* Right side of the header, usually buttons.
|
|
4064
|
-
* @slot actions (React: pass as a prop)
|
|
4065
|
-
*/
|
|
4066
|
-
actions?: ReactNode;
|
|
4067
|
-
children?: ReactNode;
|
|
4068
|
-
}
|
|
4069
|
-
export const UiPageHeader: ComponentType<UiPageHeaderProps>;
|
|
4070
|
-
|
|
4071
|
-
/**
|
|
4072
|
-
* Help center home: search, category grid, popular articles and a contact card.
|
|
4073
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4074
|
-
* Note: Popular articles and contact share a row and wrap on narrow screens. For a single question list use PageFaq.
|
|
4075
|
-
*/
|
|
4076
|
-
export interface UiPageHelpProps {
|
|
4077
|
-
/**
|
|
4078
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4079
|
-
* @remarks Forwarded to the inner element.
|
|
4080
|
-
*/
|
|
4081
|
-
title?: string;
|
|
4082
|
-
/**
|
|
4083
|
-
* Caption under the heading.
|
|
4084
|
-
* @remarks Forwarded to the inner element.
|
|
4085
|
-
*/
|
|
4086
|
-
subtitle?: string;
|
|
4087
|
-
/**
|
|
4088
|
-
* Breadcrumb trail above the title.
|
|
4089
|
-
* @remarks Forwarded to the inner element.
|
|
4090
|
-
*/
|
|
4091
|
-
crumbs?: { label: string; href?: string }[];
|
|
4092
|
-
/**
|
|
4093
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4094
|
-
* @slot header (React: pass as a prop)
|
|
4095
|
-
*/
|
|
4096
|
-
header?: ReactNode;
|
|
4097
|
-
/**
|
|
4098
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4099
|
-
* @slot actions (React: pass as a prop)
|
|
4100
|
-
*/
|
|
4101
|
-
actions?: ReactNode;
|
|
4102
|
-
/**
|
|
4103
|
-
* Large search field; SearchInput.
|
|
4104
|
-
* @slot search (React: pass as a prop)
|
|
4105
|
-
*/
|
|
4106
|
-
search?: ReactNode;
|
|
4107
|
-
/**
|
|
4108
|
-
* Category tiles; Card with IconTile.
|
|
4109
|
-
* @slot categories (React: pass as a prop)
|
|
4110
|
-
*/
|
|
4111
|
-
categories?: ReactNode;
|
|
4112
|
-
/**
|
|
4113
|
-
* Popular articles list; Card.
|
|
4114
|
-
* @slot popular (React: pass as a prop)
|
|
4115
|
-
*/
|
|
4116
|
-
popular?: ReactNode;
|
|
4117
|
-
/**
|
|
4118
|
-
* Contact options; Card, Button.
|
|
4119
|
-
* @slot contact (React: pass as a prop)
|
|
4120
|
-
*/
|
|
4121
|
-
contact?: ReactNode;
|
|
4122
|
-
children?: ReactNode;
|
|
4123
|
-
}
|
|
4124
|
-
export const UiPageHelp: ComponentType<UiPageHelpProps>;
|
|
4125
|
-
|
|
4126
|
-
/**
|
|
4127
|
-
* Inbox template: filters and conversation list, the open thread with a composer, and a customer panel.
|
|
4128
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4129
|
-
* Note: List, thread and customer panel sit side by side and stack in that order at 860px and below. Keep the selected conversation in your own state.
|
|
4130
|
-
*/
|
|
4131
|
-
export interface UiPageInboxProps {
|
|
4132
|
-
/**
|
|
4133
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4134
|
-
* @remarks Forwarded to the inner element.
|
|
4135
|
-
*/
|
|
4136
|
-
title?: string;
|
|
4137
|
-
/**
|
|
4138
|
-
* Caption under the heading.
|
|
4139
|
-
* @remarks Forwarded to the inner element.
|
|
4140
|
-
*/
|
|
4141
|
-
subtitle?: string;
|
|
4142
|
-
/**
|
|
4143
|
-
* Breadcrumb trail above the title.
|
|
4144
|
-
* @remarks Forwarded to the inner element.
|
|
4145
|
-
*/
|
|
4146
|
-
crumbs?: { label: string; href?: string }[];
|
|
4147
|
-
/**
|
|
4148
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4149
|
-
* @slot header (React: pass as a prop)
|
|
4150
|
-
*/
|
|
4151
|
-
header?: ReactNode;
|
|
4152
|
-
/**
|
|
4153
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4154
|
-
* @slot actions (React: pass as a prop)
|
|
4155
|
-
*/
|
|
4156
|
-
actions?: ReactNode;
|
|
4157
|
-
/**
|
|
4158
|
-
* Search and folder chips above the list; SearchInput, FilterChips.
|
|
4159
|
-
* @slot filters (React: pass as a prop)
|
|
4160
|
-
*/
|
|
4161
|
-
filters?: ReactNode;
|
|
4162
|
-
/**
|
|
4163
|
-
* Conversation rows with unread marks; Card, Avatar, Badge.
|
|
4164
|
-
* @slot list (React: pass as a prop)
|
|
4165
|
-
*/
|
|
4166
|
-
list?: ReactNode;
|
|
4167
|
-
/**
|
|
4168
|
-
* Messages of the open conversation; Card, Avatar.
|
|
4169
|
-
* @slot thread (React: pass as a prop)
|
|
4170
|
-
*/
|
|
4171
|
-
thread?: ReactNode;
|
|
4172
|
-
/**
|
|
4173
|
-
* Reply field and send button; Textarea, Button.
|
|
4174
|
-
* @slot composer (React: pass as a prop)
|
|
4175
|
-
*/
|
|
4176
|
-
composer?: ReactNode;
|
|
4177
|
-
/**
|
|
4178
|
-
* Customer details; ContactPanel, Descriptions, Tag.
|
|
4179
|
-
* @slot customer (React: pass as a prop)
|
|
4180
|
-
*/
|
|
4181
|
-
customer?: ReactNode;
|
|
4182
|
-
children?: ReactNode;
|
|
4183
|
-
}
|
|
4184
|
-
export const UiPageInbox: ComponentType<UiPageInboxProps>;
|
|
4185
|
-
|
|
4186
|
-
/**
|
|
4187
|
-
* Integrations template: connection cards, API keys and webhooks.
|
|
4188
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4189
|
-
* Note: Keys and webhooks share a row and wrap on narrow screens.
|
|
4190
|
-
*/
|
|
4191
|
-
export interface UiPageIntegrationsProps {
|
|
4192
|
-
/**
|
|
4193
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4194
|
-
* @remarks Forwarded to the inner element.
|
|
4195
|
-
*/
|
|
4196
|
-
title?: string;
|
|
4197
|
-
/**
|
|
4198
|
-
* Caption under the heading.
|
|
4199
|
-
* @remarks Forwarded to the inner element.
|
|
4200
|
-
*/
|
|
4201
|
-
subtitle?: string;
|
|
4202
|
-
/**
|
|
4203
|
-
* Breadcrumb trail above the title.
|
|
4204
|
-
* @remarks Forwarded to the inner element.
|
|
4205
|
-
*/
|
|
4206
|
-
crumbs?: { label: string; href?: string }[];
|
|
4207
|
-
/**
|
|
4208
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4209
|
-
* @slot header (React: pass as a prop)
|
|
4210
|
-
*/
|
|
4211
|
-
header?: ReactNode;
|
|
4212
|
-
/**
|
|
4213
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4214
|
-
* @slot actions (React: pass as a prop)
|
|
4215
|
-
*/
|
|
4216
|
-
actions?: ReactNode;
|
|
4217
|
-
/**
|
|
4218
|
-
* SearchInput, FilterChips.
|
|
4219
|
-
* @slot filters (React: pass as a prop)
|
|
4220
|
-
*/
|
|
4221
|
-
filters?: ReactNode;
|
|
4222
|
-
/**
|
|
4223
|
-
* IntegrationCard grid.
|
|
4224
|
-
* @slot connections (React: pass as a prop)
|
|
4225
|
-
*/
|
|
4226
|
-
connections?: ReactNode;
|
|
4227
|
-
/**
|
|
4228
|
-
* Keys; DataTable with CopyButton and IconButton.
|
|
4229
|
-
* @slot keys (React: pass as a prop)
|
|
4230
|
-
*/
|
|
4231
|
-
keys?: ReactNode;
|
|
4232
|
-
/**
|
|
4233
|
-
* Webhooks list; Card, Switch, Chip.
|
|
4234
|
-
* @slot webhooks (React: pass as a prop)
|
|
4235
|
-
*/
|
|
4236
|
-
webhooks?: ReactNode;
|
|
4237
|
-
children?: ReactNode;
|
|
4238
|
-
}
|
|
4239
|
-
export const UiPageIntegrations: ComponentType<UiPageIntegrationsProps>;
|
|
4240
|
-
|
|
4241
|
-
/**
|
|
4242
|
-
* Itinerary template: day tabs, a timeline of stops for the chosen day, transport and hotel blocks and a sticky trip summary card.
|
|
4243
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4244
|
-
* Note: Render only the active day in timeline, transport and hotel. The summary stays visible on the right and goes below the day under 860 px.
|
|
4245
|
-
*/
|
|
4246
|
-
export interface UiPageItineraryProps {
|
|
4247
|
-
/**
|
|
4248
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4249
|
-
* @remarks Forwarded to the inner element.
|
|
4250
|
-
*/
|
|
4251
|
-
title?: string;
|
|
4252
|
-
/**
|
|
4253
|
-
* Caption under the heading.
|
|
4254
|
-
* @remarks Forwarded to the inner element.
|
|
4255
|
-
*/
|
|
4256
|
-
subtitle?: string;
|
|
4257
|
-
/**
|
|
4258
|
-
* Breadcrumb trail above the title.
|
|
4259
|
-
* @remarks Forwarded to the inner element.
|
|
4260
|
-
*/
|
|
4261
|
-
crumbs?: { label: string; href?: string }[];
|
|
4262
|
-
/**
|
|
4263
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4264
|
-
* @slot header (React: pass as a prop)
|
|
4265
|
-
*/
|
|
4266
|
-
header?: ReactNode;
|
|
4267
|
-
/**
|
|
4268
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4269
|
-
* @slot actions (React: pass as a prop)
|
|
4270
|
-
*/
|
|
4271
|
-
actions?: ReactNode;
|
|
4272
|
-
/**
|
|
4273
|
-
* Day switcher; Tabs or PillTabs.
|
|
4274
|
-
* @slot days (React: pass as a prop)
|
|
4275
|
-
*/
|
|
4276
|
-
days?: ReactNode;
|
|
4277
|
-
/**
|
|
4278
|
-
* Stops of the active day with times and places; Card, Timeline, StatRow.
|
|
4279
|
-
* @slot timeline (React: pass as a prop)
|
|
4280
|
-
*/
|
|
4281
|
-
timeline?: ReactNode;
|
|
4282
|
-
/**
|
|
4283
|
-
* Flights, buses and transfers of the day; Card, StatRow.
|
|
4284
|
-
* @slot transport (React: pass as a prop)
|
|
4285
|
-
*/
|
|
4286
|
-
transport?: ReactNode;
|
|
4287
|
-
/**
|
|
4288
|
-
* Where the group stays that night; Card, Badge, IconTile.
|
|
4289
|
-
* @slot hotel (React: pass as a prop)
|
|
4290
|
-
*/
|
|
4291
|
-
hotel?: ReactNode;
|
|
4292
|
-
/**
|
|
4293
|
-
* Trip summary; Card, Descriptions, Progress.
|
|
4294
|
-
* @slot summary (React: pass as a prop)
|
|
4295
|
-
*/
|
|
4296
|
-
summary?: ReactNode;
|
|
4297
|
-
children?: ReactNode;
|
|
4298
|
-
}
|
|
4299
|
-
export const UiPageItinerary: ComponentType<UiPageItineraryProps>;
|
|
4300
|
-
|
|
4301
|
-
/**
|
|
4302
|
-
* Kanban template: filters, task board columns and a card detail panel.
|
|
4303
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4304
|
-
* Note: Board scrolls horizontally inside its area; detail goes below it under 860 px.
|
|
4305
|
-
*/
|
|
4306
|
-
export interface UiPageKanbanProps {
|
|
4307
|
-
/**
|
|
4308
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4309
|
-
* @remarks Forwarded to the inner element.
|
|
4310
|
-
*/
|
|
4311
|
-
title?: string;
|
|
4312
|
-
/**
|
|
4313
|
-
* Caption under the heading.
|
|
4314
|
-
* @remarks Forwarded to the inner element.
|
|
4315
|
-
*/
|
|
4316
|
-
subtitle?: string;
|
|
4317
|
-
/**
|
|
4318
|
-
* Breadcrumb trail above the title.
|
|
4319
|
-
* @remarks Forwarded to the inner element.
|
|
4320
|
-
*/
|
|
4321
|
-
crumbs?: { label: string; href?: string }[];
|
|
4322
|
-
/**
|
|
4323
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4324
|
-
* @slot header (React: pass as a prop)
|
|
4325
|
-
*/
|
|
4326
|
-
header?: ReactNode;
|
|
4327
|
-
/**
|
|
4328
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4329
|
-
* @slot actions (React: pass as a prop)
|
|
4330
|
-
*/
|
|
4331
|
-
actions?: ReactNode;
|
|
4332
|
-
/**
|
|
4333
|
-
* SearchInput, FilterChips, Select.
|
|
4334
|
-
* @slot filters (React: pass as a prop)
|
|
4335
|
-
*/
|
|
4336
|
-
filters?: ReactNode;
|
|
4337
|
-
/**
|
|
4338
|
-
* Columns with cards; KanbanColumn, KanbanCard.
|
|
4339
|
-
* @slot board (React: pass as a prop)
|
|
4340
|
-
*/
|
|
4341
|
-
board?: ReactNode;
|
|
4342
|
-
/**
|
|
4343
|
-
* Selected card; Card, Descriptions, Checkbox, Timeline.
|
|
4344
|
-
* @slot detail (React: pass as a prop)
|
|
4345
|
-
*/
|
|
4346
|
-
detail?: ReactNode;
|
|
4347
|
-
children?: ReactNode;
|
|
4348
|
-
}
|
|
4349
|
-
export const UiPageKanban: ComponentType<UiPageKanbanProps>;
|
|
4350
|
-
|
|
4351
|
-
/**
|
|
4352
|
-
* Landing template: hero, logo strip, features, social proof, pricing teaser, call to action and footer. Used without the app shell.
|
|
4353
|
-
* Note: Landing does not use the app shell: render it on its own page. Blocks stack in one column; each block may use its own grid and wraps on narrow screens.
|
|
4354
|
-
*/
|
|
4355
|
-
export interface UiPageLandingProps {
|
|
4356
|
-
/**
|
|
4357
|
-
* Hero block; HeroBanner, Card, Button.
|
|
4358
|
-
* @slot hero (React: pass as a prop)
|
|
4359
|
-
*/
|
|
4360
|
-
hero?: ReactNode;
|
|
4361
|
-
/**
|
|
4362
|
-
* Partner row; Chip or Text.
|
|
4363
|
-
* @slot logos (React: pass as a prop)
|
|
4364
|
-
*/
|
|
4365
|
-
logos?: ReactNode;
|
|
4366
|
-
/**
|
|
4367
|
-
* Feature cards; Card, IconTile.
|
|
4368
|
-
* @slot features (React: pass as a prop)
|
|
4369
|
-
*/
|
|
4370
|
-
features?: ReactNode;
|
|
4371
|
-
/**
|
|
4372
|
-
* Numbers and quotes; StatStrip, Card, Avatar.
|
|
4373
|
-
* @slot proof (React: pass as a prop)
|
|
4374
|
-
*/
|
|
4375
|
-
proof?: ReactNode;
|
|
4376
|
-
/**
|
|
4377
|
-
* Plan cards; PricingCard.
|
|
4378
|
-
* @slot pricing (React: pass as a prop)
|
|
4379
|
-
*/
|
|
4380
|
-
pricing?: ReactNode;
|
|
4381
|
-
/**
|
|
4382
|
-
* Closing block; Card variant="gradient", Button.
|
|
4383
|
-
* @slot cta (React: pass as a prop)
|
|
4384
|
-
*/
|
|
4385
|
-
cta?: ReactNode;
|
|
4386
|
-
/**
|
|
4387
|
-
* Page footer; Footer.
|
|
4388
|
-
* @slot footer (React: pass as a prop)
|
|
4389
|
-
*/
|
|
4390
|
-
footer?: ReactNode;
|
|
4391
|
-
children?: ReactNode;
|
|
4392
|
-
}
|
|
4393
|
-
export const UiPageLanding: ComponentType<UiPageLandingProps>;
|
|
4394
|
-
|
|
4395
|
-
/**
|
|
4396
|
-
* Legal document template: last-updated line, sticky table of contents, numbered sections and a contact card.
|
|
4397
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4398
|
-
* Note: The table of contents sits left of the document and stacks above it under 860 px.
|
|
4399
|
-
*/
|
|
4400
|
-
export interface UiPageLegalProps {
|
|
4401
|
-
/**
|
|
4402
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4403
|
-
* @remarks Forwarded to the inner element.
|
|
4404
|
-
*/
|
|
4405
|
-
title?: string;
|
|
4406
|
-
/**
|
|
4407
|
-
* Caption under the heading.
|
|
4408
|
-
* @remarks Forwarded to the inner element.
|
|
4409
|
-
*/
|
|
4410
|
-
subtitle?: string;
|
|
4411
|
-
/**
|
|
4412
|
-
* Breadcrumb trail above the title.
|
|
4413
|
-
* @remarks Forwarded to the inner element.
|
|
4414
|
-
*/
|
|
4415
|
-
crumbs?: { label: string; href?: string }[];
|
|
4416
|
-
/**
|
|
4417
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4418
|
-
* @slot header (React: pass as a prop)
|
|
4419
|
-
*/
|
|
4420
|
-
header?: ReactNode;
|
|
4421
|
-
/**
|
|
4422
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4423
|
-
* @slot actions (React: pass as a prop)
|
|
4424
|
-
*/
|
|
4425
|
-
actions?: ReactNode;
|
|
4426
|
-
/**
|
|
4427
|
-
* Version, last-updated date and print or download buttons; Chip, Button.
|
|
4428
|
-
* @slot meta (React: pass as a prop)
|
|
4429
|
-
*/
|
|
4430
|
-
meta?: ReactNode;
|
|
4431
|
-
/**
|
|
4432
|
-
* Sticky table of contents; Card with anchor links.
|
|
4433
|
-
* @slot toc (React: pass as a prop)
|
|
4434
|
-
*/
|
|
4435
|
-
toc?: ReactNode;
|
|
4436
|
-
/**
|
|
4437
|
-
* Document sections; Card, Heading, Text.
|
|
4438
|
-
* @slot document (React: pass as a prop)
|
|
4439
|
-
*/
|
|
4440
|
-
document?: ReactNode;
|
|
4441
|
-
/**
|
|
4442
|
-
* Questions card; Card, Button.
|
|
4443
|
-
* @slot contact (React: pass as a prop)
|
|
4444
|
-
*/
|
|
4445
|
-
contact?: ReactNode;
|
|
4446
|
-
children?: ReactNode;
|
|
4447
|
-
}
|
|
4448
|
-
export const UiPageLegal: ComponentType<UiPageLegalProps>;
|
|
4449
|
-
|
|
4450
|
-
/**
|
|
4451
|
-
* Locations template: filters, a scrollable list of places and a sticky map panel.
|
|
4452
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4453
|
-
* Note: The list is a fixed-width column left of the map; under 860 px the map goes below the list.
|
|
4454
|
-
*/
|
|
4455
|
-
export interface UiPageLocationsProps {
|
|
4456
|
-
/**
|
|
4457
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4458
|
-
* @remarks Forwarded to the inner element.
|
|
4459
|
-
*/
|
|
4460
|
-
title?: string;
|
|
4461
|
-
/**
|
|
4462
|
-
* Caption under the heading.
|
|
4463
|
-
* @remarks Forwarded to the inner element.
|
|
4464
|
-
*/
|
|
4465
|
-
subtitle?: string;
|
|
4466
|
-
/**
|
|
4467
|
-
* Breadcrumb trail above the title.
|
|
4468
|
-
* @remarks Forwarded to the inner element.
|
|
4469
|
-
*/
|
|
4470
|
-
crumbs?: { label: string; href?: string }[];
|
|
4471
|
-
/**
|
|
4472
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4473
|
-
* @slot header (React: pass as a prop)
|
|
4474
|
-
*/
|
|
4475
|
-
header?: ReactNode;
|
|
4476
|
-
/**
|
|
4477
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4478
|
-
* @slot actions (React: pass as a prop)
|
|
4479
|
-
*/
|
|
4480
|
-
actions?: ReactNode;
|
|
4481
|
-
/**
|
|
4482
|
-
* Search and category filters; SearchInput, FilterChips.
|
|
4483
|
-
* @slot filters (React: pass as a prop)
|
|
4484
|
-
*/
|
|
4485
|
-
filters?: ReactNode;
|
|
4486
|
-
/**
|
|
4487
|
-
* Places list; Card rows.
|
|
4488
|
-
* @slot list (React: pass as a prop)
|
|
4489
|
-
*/
|
|
4490
|
-
list?: ReactNode;
|
|
4491
|
-
/**
|
|
4492
|
-
* Map panel; Map, or a gradient placeholder.
|
|
4493
|
-
* @slot map (React: pass as a prop)
|
|
4494
|
-
*/
|
|
4495
|
-
map?: ReactNode;
|
|
4496
|
-
children?: ReactNode;
|
|
4497
|
-
}
|
|
4498
|
-
export const UiPageLocations: ComponentType<UiPageLocationsProps>;
|
|
4499
|
-
|
|
4500
|
-
/**
|
|
4501
|
-
* Notifications template: filters, a feed grouped by day and an empty state. Put Mark all read in actions.
|
|
4502
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4503
|
-
* Note: Fill empty only when the feed has no rows. Mark all read goes in the actions slot.
|
|
4504
|
-
*/
|
|
4505
|
-
export interface UiPageNotificationsProps {
|
|
4506
|
-
/**
|
|
4507
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4508
|
-
* @remarks Forwarded to the inner element.
|
|
4509
|
-
*/
|
|
4510
|
-
title?: string;
|
|
4511
|
-
/**
|
|
4512
|
-
* Caption under the heading.
|
|
4513
|
-
* @remarks Forwarded to the inner element.
|
|
4514
|
-
*/
|
|
4515
|
-
subtitle?: string;
|
|
4516
|
-
/**
|
|
4517
|
-
* Breadcrumb trail above the title.
|
|
4518
|
-
* @remarks Forwarded to the inner element.
|
|
4519
|
-
*/
|
|
4520
|
-
crumbs?: { label: string; href?: string }[];
|
|
4521
|
-
/**
|
|
4522
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4523
|
-
* @slot header (React: pass as a prop)
|
|
4524
|
-
*/
|
|
4525
|
-
header?: ReactNode;
|
|
4526
|
-
/**
|
|
4527
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4528
|
-
* @slot actions (React: pass as a prop)
|
|
4529
|
-
*/
|
|
4530
|
-
actions?: ReactNode;
|
|
4531
|
-
/**
|
|
4532
|
-
* Filter chips such as all, unread and mentions; FilterChips.
|
|
4533
|
-
* @slot filters (React: pass as a prop)
|
|
4534
|
-
*/
|
|
4535
|
-
filters?: ReactNode;
|
|
4536
|
-
/**
|
|
4537
|
-
* Notification rows grouped by day; Card, IconTile, Badge, Divider.
|
|
4538
|
-
* @slot feed (React: pass as a prop)
|
|
4539
|
-
*/
|
|
4540
|
-
feed?: ReactNode;
|
|
4541
|
-
/**
|
|
4542
|
-
* Shown instead of the feed when nothing matches; EmptyState.
|
|
4543
|
-
* @slot empty (React: pass as a prop)
|
|
4544
|
-
*/
|
|
4545
|
-
empty?: ReactNode;
|
|
4546
|
-
children?: ReactNode;
|
|
4547
|
-
}
|
|
4548
|
-
export const UiPageNotifications: ComponentType<UiPageNotificationsProps>;
|
|
4549
|
-
|
|
4550
|
-
/**
|
|
4551
|
-
* Onboarding template: progress block, active step content, setup checklist and a column of tips.
|
|
4552
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4553
|
-
* Note: Keep the active step in your own state; the template does not switch steps. Steps and checklist share the main column, tips go to the side and stack below it on narrow screens.
|
|
4554
|
-
*/
|
|
4555
|
-
export interface UiPageOnboardingProps {
|
|
4556
|
-
/**
|
|
4557
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4558
|
-
* @remarks Forwarded to the inner element.
|
|
4559
|
-
*/
|
|
4560
|
-
title?: string;
|
|
4561
|
-
/**
|
|
4562
|
-
* Caption under the heading.
|
|
4563
|
-
* @remarks Forwarded to the inner element.
|
|
4564
|
-
*/
|
|
4565
|
-
subtitle?: string;
|
|
4566
|
-
/**
|
|
4567
|
-
* Breadcrumb trail above the title.
|
|
4568
|
-
* @remarks Forwarded to the inner element.
|
|
4569
|
-
*/
|
|
4570
|
-
crumbs?: { label: string; href?: string }[];
|
|
4571
|
-
/**
|
|
4572
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4573
|
-
* @slot header (React: pass as a prop)
|
|
4574
|
-
*/
|
|
4575
|
-
header?: ReactNode;
|
|
4576
|
-
/**
|
|
4577
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4578
|
-
* @slot actions (React: pass as a prop)
|
|
4579
|
-
*/
|
|
4580
|
-
actions?: ReactNode;
|
|
4581
|
-
/**
|
|
4582
|
-
* Stepper and a completion bar above the content; Stepper, Progress.
|
|
4583
|
-
* @slot progress (React: pass as a prop)
|
|
4584
|
-
*/
|
|
4585
|
-
progress?: ReactNode;
|
|
4586
|
-
/**
|
|
4587
|
-
* Content of the active step; Card with form fields.
|
|
4588
|
-
* @slot steps (React: pass as a prop)
|
|
4589
|
-
*/
|
|
4590
|
-
steps?: ReactNode;
|
|
4591
|
-
/**
|
|
4592
|
-
* Remaining setup tasks; Card with Checkbox rows.
|
|
4593
|
-
* @slot checklist (React: pass as a prop)
|
|
4594
|
-
*/
|
|
4595
|
-
checklist?: ReactNode;
|
|
4596
|
-
/**
|
|
4597
|
-
* Side column with help cards; Card, IconTile, Button.
|
|
4598
|
-
* @slot tips (React: pass as a prop)
|
|
4599
|
-
*/
|
|
4600
|
-
tips?: ReactNode;
|
|
4601
|
-
children?: ReactNode;
|
|
4602
|
-
}
|
|
4603
|
-
export const UiPageOnboarding: ComponentType<UiPageOnboardingProps>;
|
|
4604
|
-
|
|
4605
|
-
/**
|
|
4606
|
-
* Order/booking details template: status chips, items table, timeline and side info cards.
|
|
4607
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4608
|
-
*/
|
|
4609
|
-
export interface UiPageOrderProps {
|
|
4610
|
-
/**
|
|
4611
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4612
|
-
* @remarks Forwarded to the inner element.
|
|
4613
|
-
*/
|
|
4614
|
-
title?: string;
|
|
4615
|
-
/**
|
|
4616
|
-
* Caption under the heading.
|
|
4617
|
-
* @remarks Forwarded to the inner element.
|
|
4618
|
-
*/
|
|
4619
|
-
subtitle?: string;
|
|
4620
|
-
/**
|
|
4621
|
-
* Breadcrumb trail above the title.
|
|
4622
|
-
* @remarks Forwarded to the inner element.
|
|
4623
|
-
*/
|
|
4624
|
-
crumbs?: { label: string; href?: string }[];
|
|
4625
|
-
/**
|
|
4626
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4627
|
-
* @slot header (React: pass as a prop)
|
|
4628
|
-
*/
|
|
4629
|
-
header?: ReactNode;
|
|
4630
|
-
/**
|
|
4631
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4632
|
-
* @slot actions (React: pass as a prop)
|
|
4633
|
-
*/
|
|
4634
|
-
actions?: ReactNode;
|
|
4635
|
-
/**
|
|
4636
|
-
* Payment and fulfillment chips; Chip (tone success, warning, danger).
|
|
4637
|
-
* @slot status (React: pass as a prop)
|
|
4638
|
-
*/
|
|
4639
|
-
status?: ReactNode;
|
|
4640
|
-
/**
|
|
4641
|
-
* Items table with totals; DataTable.
|
|
4642
|
-
* @slot items (React: pass as a prop)
|
|
4643
|
-
*/
|
|
4644
|
-
items?: ReactNode;
|
|
4645
|
-
/**
|
|
4646
|
-
* Event timeline; Timeline.
|
|
4647
|
-
* @slot shipping (React: pass as a prop)
|
|
4648
|
-
*/
|
|
4649
|
-
shipping?: ReactNode;
|
|
4650
|
-
/**
|
|
4651
|
-
* Customer, address and payment cards; UserCell, Descriptions, Button.
|
|
4652
|
-
* @slot side (React: pass as a prop)
|
|
4653
|
-
*/
|
|
4654
|
-
side?: ReactNode;
|
|
4655
|
-
children?: ReactNode;
|
|
4656
|
-
}
|
|
4657
|
-
export const UiPageOrder: ComponentType<UiPageOrderProps>;
|
|
4658
|
-
|
|
4659
|
-
/**
|
|
4660
|
-
* Showcase template combining twelve recurring dashboard card patterns (banner, strips, stat lines, charts, lists).
|
|
4661
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4662
|
-
*/
|
|
4663
|
-
export interface UiPagePatternsProps {
|
|
4664
|
-
/**
|
|
4665
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4666
|
-
* @remarks Forwarded to the inner element.
|
|
4667
|
-
*/
|
|
4668
|
-
title?: string;
|
|
4669
|
-
/**
|
|
4670
|
-
* Caption under the heading.
|
|
4671
|
-
* @remarks Forwarded to the inner element.
|
|
4672
|
-
*/
|
|
4673
|
-
subtitle?: string;
|
|
4674
|
-
/**
|
|
4675
|
-
* Breadcrumb trail above the title.
|
|
4676
|
-
* @remarks Forwarded to the inner element.
|
|
4677
|
-
*/
|
|
4678
|
-
crumbs?: { label: string; href?: string }[];
|
|
4679
|
-
/**
|
|
4680
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4681
|
-
* @slot header (React: pass as a prop)
|
|
4682
|
-
*/
|
|
4683
|
-
header?: ReactNode;
|
|
4684
|
-
/**
|
|
4685
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4686
|
-
* @slot actions (React: pass as a prop)
|
|
4687
|
-
*/
|
|
4688
|
-
actions?: ReactNode;
|
|
4689
|
-
/**
|
|
4690
|
-
* Large banner; HeroBanner.
|
|
4691
|
-
* @slot hero (React: pass as a prop)
|
|
4692
|
-
*/
|
|
4693
|
-
hero?: ReactNode;
|
|
4694
|
-
/**
|
|
4695
|
-
* One card with four metrics; StatStrip with IconTile.
|
|
4696
|
-
* @slot strip (React: pass as a prop)
|
|
4697
|
-
*/
|
|
4698
|
-
strip?: ReactNode;
|
|
4699
|
-
/**
|
|
4700
|
-
* Row of toned stat lines; StatLine (tone brand, sky, success, warning, danger).
|
|
4701
|
-
* @slot statlines (React: pass as a prop)
|
|
4702
|
-
*/
|
|
4703
|
-
statlines?: ReactNode;
|
|
4704
|
-
/**
|
|
4705
|
-
* Titled chart with menu and period select; ChartCard with PillSelect and OccupancyChart or MiniChart.
|
|
4706
|
-
* @slot chartcard (React: pass as a prop)
|
|
4707
|
-
*/
|
|
4708
|
-
chartcard?: ReactNode;
|
|
4709
|
-
/**
|
|
4710
|
-
* Selectable tiles plus an add tile; TabTiles.
|
|
4711
|
-
* @slot tiles (React: pass as a prop)
|
|
4712
|
-
*/
|
|
4713
|
-
tiles?: ReactNode;
|
|
4714
|
-
/**
|
|
4715
|
-
* Icon, title and value rows; StatRow.
|
|
4716
|
-
* @slot listrows (React: pass as a prop)
|
|
4717
|
-
*/
|
|
4718
|
-
listrows?: ReactNode;
|
|
4719
|
-
/**
|
|
4720
|
-
* Country amount rows; CountryRow.
|
|
4721
|
-
* @slot countries (React: pass as a prop)
|
|
4722
|
-
*/
|
|
4723
|
-
countries?: ReactNode;
|
|
4724
|
-
/**
|
|
4725
|
-
* Two values with a share bar; VersusBar.
|
|
4726
|
-
* @slot versus (React: pass as a prop)
|
|
4727
|
-
*/
|
|
4728
|
-
versus?: ReactNode;
|
|
4729
|
-
/**
|
|
4730
|
-
* Composition bar with legend; SegBar.
|
|
4731
|
-
* @slot segbar (React: pass as a prop)
|
|
4732
|
-
*/
|
|
4733
|
-
segbar?: ReactNode;
|
|
4734
|
-
/**
|
|
4735
|
-
* Timeline of events; Timeline.
|
|
4736
|
-
* @slot activity (React: pass as a prop)
|
|
4737
|
-
*/
|
|
4738
|
-
activity?: ReactNode;
|
|
4739
|
-
/**
|
|
4740
|
-
* Card with collapse, refresh and close actions; ActionCard.
|
|
4741
|
-
* @slot actioncard (React: pass as a prop)
|
|
4742
|
-
*/
|
|
4743
|
-
actioncard?: ReactNode;
|
|
4744
|
-
children?: ReactNode;
|
|
4745
|
-
}
|
|
4746
|
-
export const UiPagePatterns: ComponentType<UiPagePatternsProps>;
|
|
4747
|
-
|
|
4748
|
-
/**
|
|
4749
|
-
* Prayer times template: a location picker, today's times with the next prayer highlighted, a month table and a sticky Qibla compass.
|
|
4750
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4751
|
-
* Note: The Qibla card stays visible on the right and goes below the times under 860 px.
|
|
4752
|
-
*/
|
|
4753
|
-
export interface UiPagePrayerProps {
|
|
4754
|
-
/**
|
|
4755
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4756
|
-
* @remarks Forwarded to the inner element.
|
|
4757
|
-
*/
|
|
4758
|
-
title?: string;
|
|
4759
|
-
/**
|
|
4760
|
-
* Caption under the heading.
|
|
4761
|
-
* @remarks Forwarded to the inner element.
|
|
4762
|
-
*/
|
|
4763
|
-
subtitle?: string;
|
|
4764
|
-
/**
|
|
4765
|
-
* Breadcrumb trail above the title.
|
|
4766
|
-
* @remarks Forwarded to the inner element.
|
|
4767
|
-
*/
|
|
4768
|
-
crumbs?: { label: string; href?: string }[];
|
|
4769
|
-
/**
|
|
4770
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4771
|
-
* @slot header (React: pass as a prop)
|
|
4772
|
-
*/
|
|
4773
|
-
header?: ReactNode;
|
|
4774
|
-
/**
|
|
4775
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4776
|
-
* @slot actions (React: pass as a prop)
|
|
4777
|
-
*/
|
|
4778
|
-
actions?: ReactNode;
|
|
4779
|
-
/**
|
|
4780
|
-
* City and method pickers; Select, PillSelect, SegmentedControl.
|
|
4781
|
-
* @slot location (React: pass as a prop)
|
|
4782
|
-
*/
|
|
4783
|
-
location?: ReactNode;
|
|
4784
|
-
/**
|
|
4785
|
-
* Today's prayers and the countdown to the next one; Card, PrayerTimes.
|
|
4786
|
-
* @slot today (React: pass as a prop)
|
|
4787
|
-
*/
|
|
4788
|
-
today?: ReactNode;
|
|
4789
|
-
/**
|
|
4790
|
-
* Prayer times for the whole month; Card, DataTable.
|
|
4791
|
-
* @slot month (React: pass as a prop)
|
|
4792
|
-
*/
|
|
4793
|
-
month?: ReactNode;
|
|
4794
|
-
/**
|
|
4795
|
-
* Qibla direction; Card, QiblaCompass.
|
|
4796
|
-
* @slot qibla (React: pass as a prop)
|
|
4797
|
-
*/
|
|
4798
|
-
qibla?: ReactNode;
|
|
4799
|
-
children?: ReactNode;
|
|
4800
|
-
}
|
|
4801
|
-
export const UiPagePrayer: ComponentType<UiPagePrayerProps>;
|
|
4802
|
-
|
|
4803
|
-
/**
|
|
4804
|
-
* Pricing template: billing-period toggle, plan cards and an FAQ.
|
|
4805
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4806
|
-
*/
|
|
4807
|
-
export interface UiPagePricingProps {
|
|
4808
|
-
/**
|
|
4809
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4810
|
-
* @remarks Forwarded to the inner element.
|
|
4811
|
-
*/
|
|
4812
|
-
title?: string;
|
|
4813
|
-
/**
|
|
4814
|
-
* Caption under the heading.
|
|
4815
|
-
* @remarks Forwarded to the inner element.
|
|
4816
|
-
*/
|
|
4817
|
-
subtitle?: string;
|
|
4818
|
-
/**
|
|
4819
|
-
* Breadcrumb trail above the title.
|
|
4820
|
-
* @remarks Forwarded to the inner element.
|
|
4821
|
-
*/
|
|
4822
|
-
crumbs?: { label: string; href?: string }[];
|
|
4823
|
-
/**
|
|
4824
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4825
|
-
* @slot header (React: pass as a prop)
|
|
4826
|
-
*/
|
|
4827
|
-
header?: ReactNode;
|
|
4828
|
-
/**
|
|
4829
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4830
|
-
* @slot actions (React: pass as a prop)
|
|
4831
|
-
*/
|
|
4832
|
-
actions?: ReactNode;
|
|
4833
|
-
/**
|
|
4834
|
-
* Monthly/annual switch with a savings badge; Switch, Chip.
|
|
4835
|
-
* @slot toggle (React: pass as a prop)
|
|
4836
|
-
*/
|
|
4837
|
-
toggle?: ReactNode;
|
|
4838
|
-
/**
|
|
4839
|
-
* Plan cards, one marked featured; PricingCard.
|
|
4840
|
-
* @slot plans (React: pass as a prop)
|
|
4841
|
-
*/
|
|
4842
|
-
plans?: ReactNode;
|
|
4843
|
-
/**
|
|
4844
|
-
* Questions accordion; Accordion.
|
|
4845
|
-
* @slot faq (React: pass as a prop)
|
|
4846
|
-
*/
|
|
4847
|
-
faq?: ReactNode;
|
|
4848
|
-
children?: ReactNode;
|
|
4849
|
-
}
|
|
4850
|
-
export const UiPagePricing: ComponentType<UiPagePricingProps>;
|
|
4851
|
-
|
|
4852
|
-
/**
|
|
4853
|
-
* User profile template: cover header, tabs and two columns of about, activity and plan cards.
|
|
4854
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
4855
|
-
*/
|
|
4856
|
-
export interface UiPageProfileProps {
|
|
4857
|
-
/**
|
|
4858
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4859
|
-
* @remarks Forwarded to the inner element.
|
|
4860
|
-
*/
|
|
4861
|
-
title?: string;
|
|
4862
|
-
/**
|
|
4863
|
-
* Caption under the heading.
|
|
4864
|
-
* @remarks Forwarded to the inner element.
|
|
4865
|
-
*/
|
|
4866
|
-
subtitle?: string;
|
|
4867
|
-
/**
|
|
4868
|
-
* Breadcrumb trail above the title.
|
|
4869
|
-
* @remarks Forwarded to the inner element.
|
|
4870
|
-
*/
|
|
4871
|
-
crumbs?: { label: string; href?: string }[];
|
|
4872
|
-
/**
|
|
4873
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
4874
|
-
* @slot header (React: pass as a prop)
|
|
4875
|
-
*/
|
|
4876
|
-
header?: ReactNode;
|
|
4877
|
-
/**
|
|
4878
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
4879
|
-
* @slot actions (React: pass as a prop)
|
|
4880
|
-
*/
|
|
4881
|
-
actions?: ReactNode;
|
|
4882
|
-
/**
|
|
4883
|
-
* Cover with avatar, name and meta; ProfileHeader.
|
|
4884
|
-
* @slot profile (React: pass as a prop)
|
|
1943
|
+
* Per-day occupancy chart; OccupancyChart or MiniChart.
|
|
1944
|
+
* @slot occupancy (React: pass as a prop)
|
|
4885
1945
|
*/
|
|
4886
|
-
|
|
1946
|
+
occupancy?: ReactNode;
|
|
4887
1947
|
/**
|
|
4888
|
-
*
|
|
4889
|
-
* @slot
|
|
1948
|
+
* Inquiry-to-payment funnel; SalesFunnel.
|
|
1949
|
+
* @slot funnel (React: pass as a prop)
|
|
4890
1950
|
*/
|
|
4891
|
-
|
|
1951
|
+
funnel?: ReactNode;
|
|
4892
1952
|
/**
|
|
4893
|
-
*
|
|
4894
|
-
* @slot
|
|
1953
|
+
* Revenue leaderboard; DataTable with Progress share bars.
|
|
1954
|
+
* @slot top (React: pass as a prop)
|
|
4895
1955
|
*/
|
|
4896
|
-
|
|
1956
|
+
top?: ReactNode;
|
|
4897
1957
|
/**
|
|
4898
|
-
*
|
|
1958
|
+
* Recent actions, newest first; Timeline.
|
|
4899
1959
|
* @slot activity (React: pass as a prop)
|
|
4900
1960
|
*/
|
|
4901
1961
|
activity?: ReactNode;
|
|
1962
|
+
children?: ReactNode;
|
|
1963
|
+
}
|
|
1964
|
+
export const UiPageDashboard: ComponentType<UiPageDashboardProps>;
|
|
1965
|
+
|
|
1966
|
+
/** Page title block with optional breadcrumbs, subtitle and an actions area. */
|
|
1967
|
+
export interface UiPageHeaderProps {
|
|
1968
|
+
/** Page title (rendered as h1). */
|
|
1969
|
+
title: string;
|
|
1970
|
+
/** Secondary text below the title. */
|
|
1971
|
+
subtitle?: string;
|
|
1972
|
+
/** Breadcrumb items shown above the title. */
|
|
1973
|
+
crumbs?: { label: string; href?: string }[];
|
|
1974
|
+
/**
|
|
1975
|
+
* Title and subtitle size.
|
|
1976
|
+
* @default 'md'
|
|
1977
|
+
*/
|
|
1978
|
+
size?: Size;
|
|
4902
1979
|
/**
|
|
4903
|
-
* Right
|
|
4904
|
-
* @slot
|
|
1980
|
+
* Right side of the header, usually buttons.
|
|
1981
|
+
* @slot actions (React: pass as a prop)
|
|
4905
1982
|
*/
|
|
4906
|
-
|
|
1983
|
+
actions?: ReactNode;
|
|
4907
1984
|
children?: ReactNode;
|
|
4908
1985
|
}
|
|
4909
|
-
export const
|
|
1986
|
+
export const UiPageHeader: ComponentType<UiPageHeaderProps>;
|
|
4910
1987
|
|
|
4911
1988
|
/**
|
|
4912
|
-
*
|
|
1989
|
+
* Pricing template: billing-period toggle, plan cards and an FAQ.
|
|
4913
1990
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
4914
|
-
* Note: Filters sit left of the results and stack above them under 860 px. Fill empty only when there are no results.
|
|
4915
1991
|
*/
|
|
4916
|
-
export interface
|
|
1992
|
+
export interface UiPagePricingProps {
|
|
4917
1993
|
/**
|
|
4918
1994
|
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4919
1995
|
* @remarks Forwarded to the inner element.
|
|
@@ -4940,28 +2016,23 @@ export interface UiPageSearchProps {
|
|
|
4940
2016
|
*/
|
|
4941
2017
|
actions?: ReactNode;
|
|
4942
2018
|
/**
|
|
4943
|
-
*
|
|
4944
|
-
* @slot
|
|
4945
|
-
*/
|
|
4946
|
-
search?: ReactNode;
|
|
4947
|
-
/**
|
|
4948
|
-
* Filters; Card, Checkbox, Select.
|
|
4949
|
-
* @slot filters (React: pass as a prop)
|
|
2019
|
+
* Monthly/annual switch with a savings badge; Switch, Chip.
|
|
2020
|
+
* @slot toggle (React: pass as a prop)
|
|
4950
2021
|
*/
|
|
4951
|
-
|
|
2022
|
+
toggle?: ReactNode;
|
|
4952
2023
|
/**
|
|
4953
|
-
*
|
|
4954
|
-
* @slot
|
|
2024
|
+
* Plan cards, one marked featured; PricingCard.
|
|
2025
|
+
* @slot plans (React: pass as a prop)
|
|
4955
2026
|
*/
|
|
4956
|
-
|
|
2027
|
+
plans?: ReactNode;
|
|
4957
2028
|
/**
|
|
4958
|
-
*
|
|
4959
|
-
* @slot
|
|
2029
|
+
* Questions accordion; Accordion.
|
|
2030
|
+
* @slot faq (React: pass as a prop)
|
|
4960
2031
|
*/
|
|
4961
|
-
|
|
2032
|
+
faq?: ReactNode;
|
|
4962
2033
|
children?: ReactNode;
|
|
4963
2034
|
}
|
|
4964
|
-
export const
|
|
2035
|
+
export const UiPagePricing: ComponentType<UiPagePricingProps>;
|
|
4965
2036
|
|
|
4966
2037
|
/**
|
|
4967
2038
|
* Settings template with a section sub-navigation and stacked settings sections.
|
|
@@ -5022,76 +2093,6 @@ export interface UiPageSettingsProps {
|
|
|
5022
2093
|
}
|
|
5023
2094
|
export const UiPageSettings: ComponentType<UiPageSettingsProps>;
|
|
5024
2095
|
|
|
5025
|
-
/**
|
|
5026
|
-
* State gallery: empty list, no results, no permission, offline, error with retry, loading and success on one page.
|
|
5027
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
5028
|
-
* Note: The first six slots sit in two rows of auto-fit cards; success spans the full width.
|
|
5029
|
-
*/
|
|
5030
|
-
export interface UiPageStatesProps {
|
|
5031
|
-
/**
|
|
5032
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
5033
|
-
* @remarks Forwarded to the inner element.
|
|
5034
|
-
*/
|
|
5035
|
-
title?: string;
|
|
5036
|
-
/**
|
|
5037
|
-
* Caption under the heading.
|
|
5038
|
-
* @remarks Forwarded to the inner element.
|
|
5039
|
-
*/
|
|
5040
|
-
subtitle?: string;
|
|
5041
|
-
/**
|
|
5042
|
-
* Breadcrumb trail above the title.
|
|
5043
|
-
* @remarks Forwarded to the inner element.
|
|
5044
|
-
*/
|
|
5045
|
-
crumbs?: { label: string; href?: string }[];
|
|
5046
|
-
/**
|
|
5047
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
5048
|
-
* @slot header (React: pass as a prop)
|
|
5049
|
-
*/
|
|
5050
|
-
header?: ReactNode;
|
|
5051
|
-
/**
|
|
5052
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
5053
|
-
* @slot actions (React: pass as a prop)
|
|
5054
|
-
*/
|
|
5055
|
-
actions?: ReactNode;
|
|
5056
|
-
/**
|
|
5057
|
-
* Empty list; EmptyState with a primary action.
|
|
5058
|
-
* @slot empty (React: pass as a prop)
|
|
5059
|
-
*/
|
|
5060
|
-
empty?: ReactNode;
|
|
5061
|
-
/**
|
|
5062
|
-
* No search results; EmptyState with a reset action.
|
|
5063
|
-
* @slot noresults (React: pass as a prop)
|
|
5064
|
-
*/
|
|
5065
|
-
noresults?: ReactNode;
|
|
5066
|
-
/**
|
|
5067
|
-
* No permission; EmptyState with a request-access action.
|
|
5068
|
-
* @slot forbidden (React: pass as a prop)
|
|
5069
|
-
*/
|
|
5070
|
-
forbidden?: ReactNode;
|
|
5071
|
-
/**
|
|
5072
|
-
* Offline; DataState state="offline".
|
|
5073
|
-
* @slot offline (React: pass as a prop)
|
|
5074
|
-
*/
|
|
5075
|
-
offline?: ReactNode;
|
|
5076
|
-
/**
|
|
5077
|
-
* Error with retry; DataState state="error".
|
|
5078
|
-
* @slot error (React: pass as a prop)
|
|
5079
|
-
*/
|
|
5080
|
-
error?: ReactNode;
|
|
5081
|
-
/**
|
|
5082
|
-
* Loading; Skeleton or DataState state="loading".
|
|
5083
|
-
* @slot loading (React: pass as a prop)
|
|
5084
|
-
*/
|
|
5085
|
-
loading?: ReactNode;
|
|
5086
|
-
/**
|
|
5087
|
-
* Success confirmation; Alert tone="success" or EmptyState.
|
|
5088
|
-
* @slot success (React: pass as a prop)
|
|
5089
|
-
*/
|
|
5090
|
-
success?: ReactNode;
|
|
5091
|
-
children?: ReactNode;
|
|
5092
|
-
}
|
|
5093
|
-
export const UiPageStates: ComponentType<UiPageStatesProps>;
|
|
5094
|
-
|
|
5095
2096
|
/**
|
|
5096
2097
|
* Full-page status screen (404, 401, maintenance, coming soon) with one action.
|
|
5097
2098
|
* Note: Slots replace only their own part: fill message and the preset code and button remain; kind, title, description, onAction and actionLabel apply to the parts whose slot is empty.
|
|
@@ -5157,126 +2158,6 @@ export interface UiPageStatusProps {
|
|
|
5157
2158
|
}
|
|
5158
2159
|
export const UiPageStatus: ComponentType<UiPageStatusProps>;
|
|
5159
2160
|
|
|
5160
|
-
/**
|
|
5161
|
-
* Team template: member stats, members table, roles and permissions matrix, and an invite form.
|
|
5162
|
-
* Note: Place inside AppShell; fill only the slots you need.
|
|
5163
|
-
* Note: Members and roles share the main column; the invite form is the side column.
|
|
5164
|
-
*/
|
|
5165
|
-
export interface UiPageTeamProps {
|
|
5166
|
-
/**
|
|
5167
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
5168
|
-
* @remarks Forwarded to the inner element.
|
|
5169
|
-
*/
|
|
5170
|
-
title?: string;
|
|
5171
|
-
/**
|
|
5172
|
-
* Caption under the heading.
|
|
5173
|
-
* @remarks Forwarded to the inner element.
|
|
5174
|
-
*/
|
|
5175
|
-
subtitle?: string;
|
|
5176
|
-
/**
|
|
5177
|
-
* Breadcrumb trail above the title.
|
|
5178
|
-
* @remarks Forwarded to the inner element.
|
|
5179
|
-
*/
|
|
5180
|
-
crumbs?: { label: string; href?: string }[];
|
|
5181
|
-
/**
|
|
5182
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
5183
|
-
* @slot header (React: pass as a prop)
|
|
5184
|
-
*/
|
|
5185
|
-
header?: ReactNode;
|
|
5186
|
-
/**
|
|
5187
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
5188
|
-
* @slot actions (React: pass as a prop)
|
|
5189
|
-
*/
|
|
5190
|
-
actions?: ReactNode;
|
|
5191
|
-
/**
|
|
5192
|
-
* Counters; KpiTile, StatsCard.
|
|
5193
|
-
* @slot stats (React: pass as a prop)
|
|
5194
|
-
*/
|
|
5195
|
-
stats?: ReactNode;
|
|
5196
|
-
/**
|
|
5197
|
-
* Members; DataTable with UserCell, Select, Badge.
|
|
5198
|
-
* @slot members (React: pass as a prop)
|
|
5199
|
-
*/
|
|
5200
|
-
members?: ReactNode;
|
|
5201
|
-
/**
|
|
5202
|
-
* Permissions matrix; DataTable with Checkbox cells.
|
|
5203
|
-
* @slot roles (React: pass as a prop)
|
|
5204
|
-
*/
|
|
5205
|
-
roles?: ReactNode;
|
|
5206
|
-
/**
|
|
5207
|
-
* Invite form; Card, TextField, Select, Button.
|
|
5208
|
-
* @slot invite (React: pass as a prop)
|
|
5209
|
-
*/
|
|
5210
|
-
invite?: ReactNode;
|
|
5211
|
-
children?: ReactNode;
|
|
5212
|
-
}
|
|
5213
|
-
export const UiPageTeam: ComponentType<UiPageTeamProps>;
|
|
5214
|
-
|
|
5215
|
-
/**
|
|
5216
|
-
* Public tour page: header, gradient gallery area, highlights, itinerary accordion, included and excluded lists, reviews and a sticky price and booking card. Has no shell and follows the theme.
|
|
5217
|
-
* Note: Render the page on its own, without AppShell: it supplies its own width and padding in your layout.
|
|
5218
|
-
* Note: The booking card stays visible on the right and goes below the content under 860 px.
|
|
5219
|
-
*/
|
|
5220
|
-
export interface UiPageTourPublicProps {
|
|
5221
|
-
/**
|
|
5222
|
-
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
5223
|
-
* @remarks Forwarded to the inner element.
|
|
5224
|
-
*/
|
|
5225
|
-
title?: string;
|
|
5226
|
-
/**
|
|
5227
|
-
* Caption under the heading.
|
|
5228
|
-
* @remarks Forwarded to the inner element.
|
|
5229
|
-
*/
|
|
5230
|
-
subtitle?: string;
|
|
5231
|
-
/**
|
|
5232
|
-
* Breadcrumb trail above the title.
|
|
5233
|
-
* @remarks Forwarded to the inner element.
|
|
5234
|
-
*/
|
|
5235
|
-
crumbs?: { label: string; href?: string }[];
|
|
5236
|
-
/**
|
|
5237
|
-
* Custom page header; replaces the built-in title/subtitle/crumbs header.
|
|
5238
|
-
* @slot header (React: pass as a prop)
|
|
5239
|
-
*/
|
|
5240
|
-
header?: ReactNode;
|
|
5241
|
-
/**
|
|
5242
|
-
* Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).
|
|
5243
|
-
* @slot actions (React: pass as a prop)
|
|
5244
|
-
*/
|
|
5245
|
-
actions?: ReactNode;
|
|
5246
|
-
/**
|
|
5247
|
-
* Hero area made of gradients or photos; Gallery, Card.
|
|
5248
|
-
* @slot gallery (React: pass as a prop)
|
|
5249
|
-
*/
|
|
5250
|
-
gallery?: ReactNode;
|
|
5251
|
-
/**
|
|
5252
|
-
* Key facts and highlights; StatStrip, IconTile.
|
|
5253
|
-
* @slot highlights (React: pass as a prop)
|
|
5254
|
-
*/
|
|
5255
|
-
highlights?: ReactNode;
|
|
5256
|
-
/**
|
|
5257
|
-
* Day by day program; Accordion.
|
|
5258
|
-
* @slot itinerary (React: pass as a prop)
|
|
5259
|
-
*/
|
|
5260
|
-
itinerary?: ReactNode;
|
|
5261
|
-
/**
|
|
5262
|
-
* What the price includes and excludes; Card, Descriptions.
|
|
5263
|
-
* @slot included (React: pass as a prop)
|
|
5264
|
-
*/
|
|
5265
|
-
included?: ReactNode;
|
|
5266
|
-
/**
|
|
5267
|
-
* Pilgrim reviews; Card, Rating, Avatar.
|
|
5268
|
-
* @slot reviews (React: pass as a prop)
|
|
5269
|
-
*/
|
|
5270
|
-
reviews?: ReactNode;
|
|
5271
|
-
/**
|
|
5272
|
-
* Price, dates, seats and the booking button; Card, Button.
|
|
5273
|
-
* @slot booking (React: pass as a prop)
|
|
5274
|
-
*/
|
|
5275
|
-
booking?: ReactNode;
|
|
5276
|
-
children?: ReactNode;
|
|
5277
|
-
}
|
|
5278
|
-
export const UiPageTourPublic: ComponentType<UiPageTourPublicProps>;
|
|
5279
|
-
|
|
5280
2161
|
/**
|
|
5281
2162
|
* User or customer list template: stats, filters, toolbar, table and a right-hand add/edit drawer.
|
|
5282
2163
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -5490,41 +2371,6 @@ export interface UiPhoneInputProps {
|
|
|
5490
2371
|
}
|
|
5491
2372
|
export const UiPhoneInput: ComponentType<UiPhoneInputProps>;
|
|
5492
2373
|
|
|
5493
|
-
/**
|
|
5494
|
-
* Small pill-shaped dropdown button. Use for inline filters and sort controls in toolbars.
|
|
5495
|
-
* Note: The menu closes on outside click and on Escape.
|
|
5496
|
-
*/
|
|
5497
|
-
export interface UiPillSelectProps {
|
|
5498
|
-
/** Value of the selected option. */
|
|
5499
|
-
modelValue?: string | number;
|
|
5500
|
-
/** Alias of modelValue, used when modelValue is not set. */
|
|
5501
|
-
value?: string | number;
|
|
5502
|
-
/**
|
|
5503
|
-
* Available options. A missing list renders an empty menu. An option with disabled: true cannot be chosen.
|
|
5504
|
-
* @default []
|
|
5505
|
-
*/
|
|
5506
|
-
options?: { value: string | number; label: string; disabled?: boolean }[];
|
|
5507
|
-
/** Shown when value matches no option. */
|
|
5508
|
-
placeholder?: string;
|
|
5509
|
-
/**
|
|
5510
|
-
* Disables the control.
|
|
5511
|
-
* @default false
|
|
5512
|
-
*/
|
|
5513
|
-
disabled?: boolean;
|
|
5514
|
-
/**
|
|
5515
|
-
* Pill height and font size.
|
|
5516
|
-
* @default 'md'
|
|
5517
|
-
*/
|
|
5518
|
-
size?: Size;
|
|
5519
|
-
/**
|
|
5520
|
-
* Called with the value of the chosen option.
|
|
5521
|
-
* @event change
|
|
5522
|
-
*/
|
|
5523
|
-
onChange?: (value: string | number) => void;
|
|
5524
|
-
children?: ReactNode;
|
|
5525
|
-
}
|
|
5526
|
-
export const UiPillSelect: ComponentType<UiPillSelectProps>;
|
|
5527
|
-
|
|
5528
2374
|
/**
|
|
5529
2375
|
* Pill-style tab buttons with optional icons, horizontal or vertical; use for settings and profile sections.
|
|
5530
2376
|
* Note: Renders only the tab buttons; you show the matching panel yourself.
|
|
@@ -5556,32 +2402,6 @@ export interface UiPillTabsProps {
|
|
|
5556
2402
|
}
|
|
5557
2403
|
export const UiPillTabs: ComponentType<UiPillTabsProps>;
|
|
5558
2404
|
|
|
5559
|
-
/**
|
|
5560
|
-
* Horizontally scrolling kanban pipeline of stage columns filled with DealCards.
|
|
5561
|
-
* Note: Drag and drop is enabled only when a move handler is passed; without it the board renders and behaves as before.
|
|
5562
|
-
* Note: Uses HTML5 drag and drop (mouse and desktop browsers); there is no keyboard alternative, so also offer a stage select on the card if you need one.
|
|
5563
|
-
* Note: Cards are fixed to DealCard; for custom cards compose KanbanColumn and KanbanCard.
|
|
5564
|
-
*/
|
|
5565
|
-
export interface UiPipelineBoardProps {
|
|
5566
|
-
/**
|
|
5567
|
-
* Columns in order; cards take the DealCard props (title, stage, tone, amount, probability, owner, due). The column count badge is cards.length. Give cards an id so onMove can report which one moved (the index is used otherwise).
|
|
5568
|
-
* @default []
|
|
5569
|
-
*/
|
|
5570
|
-
stages?: { id: string | number; title: string; cards: UiDealCardProps[] }[];
|
|
5571
|
-
/**
|
|
5572
|
-
* Scales padding, text and avatars.
|
|
5573
|
-
* @default 'md'
|
|
5574
|
-
*/
|
|
5575
|
-
size?: Size;
|
|
5576
|
-
/**
|
|
5577
|
-
* Called with { id, from, to } (card id, source stage id, target stage id) when a card is dropped on another stage. The board does not reorder itself: update stages in your state.
|
|
5578
|
-
* @event move
|
|
5579
|
-
*/
|
|
5580
|
-
onMove?: (move: { id: string | number; from: string | number; to: string | number }) => void;
|
|
5581
|
-
children?: ReactNode;
|
|
5582
|
-
}
|
|
5583
|
-
export const UiPipelineBoard: ComponentType<UiPipelineBoardProps>;
|
|
5584
|
-
|
|
5585
2405
|
/**
|
|
5586
2406
|
* Button that opens a small confirmation popover with cancel/confirm buttons (No/Yes by default); use for quick inline confirmation of a single action.
|
|
5587
2407
|
* Note: Open state is internal. The popover closes on outside click and on Escape.
|
|
@@ -5647,105 +2467,31 @@ export interface UiPortalProps {
|
|
|
5647
2467
|
}
|
|
5648
2468
|
export const UiPortal: ComponentType<UiPortalProps>;
|
|
5649
2469
|
|
|
5650
|
-
/** Row of daily prayer times with the upcoming prayer highlighted. */
|
|
5651
|
-
export interface UiPrayerTimesProps {
|
|
5652
|
-
/**
|
|
5653
|
-
* Prayers in display order; time is shown as-is, e.g. "05:12".
|
|
5654
|
-
* @default []
|
|
5655
|
-
*/
|
|
5656
|
-
items?: { name: string; time: string }[];
|
|
5657
|
-
/** Index in items of the next prayer; sets aria-current on it. */
|
|
5658
|
-
next?: number;
|
|
5659
|
-
/**
|
|
5660
|
-
* Scales padding, text and avatars.
|
|
5661
|
-
* @default 'md'
|
|
5662
|
-
*/
|
|
5663
|
-
size?: Size;
|
|
5664
|
-
children?: ReactNode;
|
|
5665
|
-
}
|
|
5666
|
-
export const UiPrayerTimes: ComponentType<UiPrayerTimesProps>;
|
|
5667
|
-
|
|
5668
2470
|
/**
|
|
5669
2471
|
* Unstyled pressable wrapper that makes any content a button with press feedback.
|
|
5670
2472
|
* Note: For a non-button tag add role and keyboard handling yourself.
|
|
5671
2473
|
*/
|
|
5672
2474
|
export interface UiPressableProps {
|
|
5673
2475
|
/**
|
|
5674
|
-
* HTML tag. type="button" is set only when this is button.
|
|
5675
|
-
* @default 'button'
|
|
5676
|
-
*/
|
|
5677
|
-
as?: string;
|
|
5678
|
-
/** Accessible name (aria-label). */
|
|
5679
|
-
label?: string;
|
|
5680
|
-
/**
|
|
5681
|
-
* Blocks interaction.
|
|
5682
|
-
* @default false
|
|
5683
|
-
*/
|
|
5684
|
-
disabled?: boolean;
|
|
5685
|
-
/**
|
|
5686
|
-
* Native click event.
|
|
5687
|
-
* @event click
|
|
5688
|
-
*/
|
|
5689
|
-
onClick?: (event: MouseEvent<HTMLElement>) => void;
|
|
5690
|
-
children?: ReactNode;
|
|
5691
|
-
}
|
|
5692
|
-
export const UiPressable: ComponentType<UiPressableProps>;
|
|
5693
|
-
|
|
5694
|
-
/** Pricing plan card with price, feature list and a select button. */
|
|
5695
|
-
export interface UiPricingCardProps {
|
|
5696
|
-
/** Plan name. */
|
|
5697
|
-
name: string;
|
|
5698
|
-
/** Price text, shown large. */
|
|
5699
|
-
price: string | number;
|
|
5700
|
-
/** Suffix after the price, such as "/mo". */
|
|
5701
|
-
period?: string;
|
|
5702
|
-
/**
|
|
5703
|
-
* Feature bullets with check icons.
|
|
5704
|
-
* @default []
|
|
5705
|
-
*/
|
|
5706
|
-
features?: string[];
|
|
5707
|
-
/** Brand badge next to the name, such as "Popular". */
|
|
5708
|
-
badge?: string;
|
|
5709
|
-
/**
|
|
5710
|
-
* Highlights the card and makes the button primary.
|
|
5711
|
-
* @default false
|
|
5712
|
-
*/
|
|
5713
|
-
featured?: boolean;
|
|
5714
|
-
/**
|
|
5715
|
-
* Button label.
|
|
5716
|
-
* @default 'Choose'
|
|
5717
|
-
*/
|
|
5718
|
-
cta?: string;
|
|
5719
|
-
/**
|
|
5720
|
-
* Card padding and title size.
|
|
5721
|
-
* @default 'md'
|
|
2476
|
+
* HTML tag. type="button" is set only when this is button.
|
|
2477
|
+
* @default 'button'
|
|
5722
2478
|
*/
|
|
5723
|
-
|
|
2479
|
+
as?: string;
|
|
2480
|
+
/** Accessible name (aria-label). */
|
|
2481
|
+
label?: string;
|
|
5724
2482
|
/**
|
|
5725
|
-
*
|
|
5726
|
-
* @
|
|
2483
|
+
* Blocks interaction.
|
|
2484
|
+
* @default false
|
|
5727
2485
|
*/
|
|
5728
|
-
|
|
5729
|
-
children?: ReactNode;
|
|
5730
|
-
}
|
|
5731
|
-
export const UiPricingCard: ComponentType<UiPricingCardProps>;
|
|
5732
|
-
|
|
5733
|
-
/** Profile card with a cover image, large avatar, name and a row of meta items. */
|
|
5734
|
-
export interface UiProfileHeaderProps {
|
|
5735
|
-
/** Person or organization name. */
|
|
5736
|
-
name: string;
|
|
5737
|
-
/** Avatar image URL; initials are shown without it. */
|
|
5738
|
-
src?: string;
|
|
5739
|
-
/** Cover image URL. */
|
|
5740
|
-
cover?: string;
|
|
2486
|
+
disabled?: boolean;
|
|
5741
2487
|
/**
|
|
5742
|
-
*
|
|
5743
|
-
* @
|
|
2488
|
+
* Native click event.
|
|
2489
|
+
* @event click
|
|
5744
2490
|
*/
|
|
5745
|
-
|
|
2491
|
+
onClick?: (event: MouseEvent<HTMLElement>) => void;
|
|
5746
2492
|
children?: ReactNode;
|
|
5747
2493
|
}
|
|
5748
|
-
export const
|
|
2494
|
+
export const UiPressable: ComponentType<UiPressableProps>;
|
|
5749
2495
|
|
|
5750
2496
|
/**
|
|
5751
2497
|
* Horizontal progress bar with optional label and meta text; use for uploads, quotas and completion.
|
|
@@ -5772,32 +2518,6 @@ export interface UiProgressProps {
|
|
|
5772
2518
|
}
|
|
5773
2519
|
export const UiProgress: ComponentType<UiProgressProps>;
|
|
5774
2520
|
|
|
5775
|
-
/**
|
|
5776
|
-
* Compass dial with a Kaaba marker pointing to the Qibla and the bearing in degrees below it.
|
|
5777
|
-
* Note: Exposed as role="img" with a label that states the bearing. Compute the bearing and heading yourself (geolocation and DeviceOrientation); the component only draws them.
|
|
5778
|
-
*/
|
|
5779
|
-
export interface UiQiblaCompassProps {
|
|
5780
|
-
/**
|
|
5781
|
-
* Qibla bearing in degrees clockwise from true north, 0 to 360; other values wrap.
|
|
5782
|
-
* @default 0
|
|
5783
|
-
*/
|
|
5784
|
-
bearing: number;
|
|
5785
|
-
/**
|
|
5786
|
-
* Direction the device points to, in degrees. The dial turns against it so the marker follows the real Qibla; 0 keeps north up.
|
|
5787
|
-
* @default 0
|
|
5788
|
-
*/
|
|
5789
|
-
heading?: number;
|
|
5790
|
-
/** Optional small caption under the bearing, such as "4 210 km to the Kaaba". */
|
|
5791
|
-
distance?: string;
|
|
5792
|
-
/**
|
|
5793
|
-
* Diameter: xs 120, sm 160, md 200, lg 250, xl 300 px; a number is used as px.
|
|
5794
|
-
* @default 'md'
|
|
5795
|
-
*/
|
|
5796
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
5797
|
-
children?: ReactNode;
|
|
5798
|
-
}
|
|
5799
|
-
export const UiQiblaCompass: ComponentType<UiQiblaCompassProps>;
|
|
5800
|
-
|
|
5801
2521
|
/** Group of radio options with optional hints. Use for a short single-choice list that should stay visible. */
|
|
5802
2522
|
export interface UiRadioGroupProps {
|
|
5803
2523
|
/** Value of the selected option. */
|
|
@@ -5846,95 +2566,6 @@ export interface UiRadioGroupProps {
|
|
|
5846
2566
|
}
|
|
5847
2567
|
export const UiRadioGroup: ComponentType<UiRadioGroupProps>;
|
|
5848
2568
|
|
|
5849
|
-
/**
|
|
5850
|
-
* Thirty-day Ramadan progress strip; the last ten days and odd nights are marked.
|
|
5851
|
-
* Note: Exposed as role="img" with aria-label "Day N of 30".
|
|
5852
|
-
*/
|
|
5853
|
-
export interface UiRamadanTrackerProps {
|
|
5854
|
-
/** Current day 1-30. Earlier days render as past, later days as upcoming. */
|
|
5855
|
-
day: number;
|
|
5856
|
-
/**
|
|
5857
|
-
* Scales padding, text and avatars.
|
|
5858
|
-
* @default 'md'
|
|
5859
|
-
*/
|
|
5860
|
-
size?: Size;
|
|
5861
|
-
children?: ReactNode;
|
|
5862
|
-
}
|
|
5863
|
-
export const UiRamadanTracker: ComponentType<UiRamadanTrackerProps>;
|
|
5864
|
-
|
|
5865
|
-
/**
|
|
5866
|
-
* Month grid for picking a date range with hover preview. Use for stays, trips and report periods.
|
|
5867
|
-
* Note: Pass modelValue to control the selection; pick a date earlier than the start to restart the range.
|
|
5868
|
-
*/
|
|
5869
|
-
export interface UiRangeCalendarProps {
|
|
5870
|
-
/** Controlled range [start, end]; either end may be null. Date-only ISO strings are read as local dates. When omitted the selection is kept internally. */
|
|
5871
|
-
modelValue?: [Date | string | number | null, Date | string | number | null];
|
|
5872
|
-
/** Month to show initially when no range is set. Does not preselect a range. */
|
|
5873
|
-
start?: Date | string | number;
|
|
5874
|
-
/**
|
|
5875
|
-
* BCP 47 locale for month and weekday names.
|
|
5876
|
-
* @default 'en-GB'
|
|
5877
|
-
*/
|
|
5878
|
-
locale?: string;
|
|
5879
|
-
/**
|
|
5880
|
-
* First day of the week: 0 = Sunday, 1 = Monday.
|
|
5881
|
-
* @default 1
|
|
5882
|
-
*/
|
|
5883
|
-
weekStartsOn?: number;
|
|
5884
|
-
/**
|
|
5885
|
-
* Day cell and header size.
|
|
5886
|
-
* @default 'md'
|
|
5887
|
-
*/
|
|
5888
|
-
size?: Size;
|
|
5889
|
-
/**
|
|
5890
|
-
* Called with [start, end] Date objects. In controlled mode (modelValue set) it also fires after the first click with [start, null]; uncontrolled it fires once the second date is picked.
|
|
5891
|
-
* @event change
|
|
5892
|
-
*/
|
|
5893
|
-
onChange?: (range: [Date | null, Date | null]) => void;
|
|
5894
|
-
children?: ReactNode;
|
|
5895
|
-
}
|
|
5896
|
-
export const UiRangeCalendar: ComponentType<UiRangeCalendarProps>;
|
|
5897
|
-
|
|
5898
|
-
/** Two-handle slider for a min-max range. Use for price, duration or date-number filters. */
|
|
5899
|
-
export interface UiRangeSliderProps {
|
|
5900
|
-
/** Tuple [from, to]. Defaults to [min, max]. */
|
|
5901
|
-
modelValue?: [number, number];
|
|
5902
|
-
/**
|
|
5903
|
-
* Lowest value.
|
|
5904
|
-
* @default 0
|
|
5905
|
-
*/
|
|
5906
|
-
min?: number;
|
|
5907
|
-
/**
|
|
5908
|
-
* Highest value.
|
|
5909
|
-
* @default 100
|
|
5910
|
-
*/
|
|
5911
|
-
max?: number;
|
|
5912
|
-
/**
|
|
5913
|
-
* Step between values.
|
|
5914
|
-
* @default 1
|
|
5915
|
-
*/
|
|
5916
|
-
step?: number;
|
|
5917
|
-
/** Formats both ends in the readout. */
|
|
5918
|
-
formatValue?: (value: number) => string;
|
|
5919
|
-
/**
|
|
5920
|
-
* Label shown above the control.
|
|
5921
|
-
* @remarks Forwarded to the inner element.
|
|
5922
|
-
*/
|
|
5923
|
-
label?: string;
|
|
5924
|
-
/**
|
|
5925
|
-
* Track and thumb size.
|
|
5926
|
-
* @default 'md'
|
|
5927
|
-
*/
|
|
5928
|
-
size?: Size;
|
|
5929
|
-
/**
|
|
5930
|
-
* Called with a new [from, to] tuple; the handles cannot cross.
|
|
5931
|
-
* @event change
|
|
5932
|
-
*/
|
|
5933
|
-
onChange?: (value: [number, number]) => void;
|
|
5934
|
-
children?: ReactNode;
|
|
5935
|
-
}
|
|
5936
|
-
export const UiRangeSlider: ComponentType<UiRangeSliderProps>;
|
|
5937
|
-
|
|
5938
2569
|
/** Star rating input. Use for reviews and quick feedback. */
|
|
5939
2570
|
export interface UiRatingProps {
|
|
5940
2571
|
/**
|
|
@@ -5971,44 +2602,6 @@ export interface UiRatingProps {
|
|
|
5971
2602
|
}
|
|
5972
2603
|
export const UiRating: ComponentType<UiRatingProps>;
|
|
5973
2604
|
|
|
5974
|
-
/**
|
|
5975
|
-
* Rich text editor with a formatting toolbar, built on contenteditable. Use for formatted descriptions and notes.
|
|
5976
|
-
* Note: The editor only rewrites its content when modelValue differs from what is already in the DOM, so the caret is kept while typing.
|
|
5977
|
-
* Note: sanitize is a best-effort allowlist, not a full XSS guarantee: sanitize on the server too before storing or rendering the HTML elsewhere.
|
|
5978
|
-
* Note: Toolbar: bold, italic, underline, strikethrough, alignment, lists, quote and code block.
|
|
5979
|
-
*/
|
|
5980
|
-
export interface UiRichEditorProps {
|
|
5981
|
-
/**
|
|
5982
|
-
* HTML string.
|
|
5983
|
-
* @default ''
|
|
5984
|
-
*/
|
|
5985
|
-
modelValue?: string;
|
|
5986
|
-
/**
|
|
5987
|
-
* Label above the editor. Also the accessible name.
|
|
5988
|
-
* @default 'Editor'
|
|
5989
|
-
*/
|
|
5990
|
-
label?: string;
|
|
5991
|
-
/** Placeholder shown when empty. Defaults to "Write something…". */
|
|
5992
|
-
placeholder?: string;
|
|
5993
|
-
/**
|
|
5994
|
-
* Strip script, style, iframe, object, embed and similar tags plus on* and javascript: attributes from the emitted HTML, using a small allowlist sanitizer.
|
|
5995
|
-
* @default false
|
|
5996
|
-
*/
|
|
5997
|
-
sanitize?: boolean;
|
|
5998
|
-
/**
|
|
5999
|
-
* Control height, font and padding scale.
|
|
6000
|
-
* @default 'md'
|
|
6001
|
-
*/
|
|
6002
|
-
size?: Size;
|
|
6003
|
-
/**
|
|
6004
|
-
* Called with the editor innerHTML on every edit or toolbar action (sanitized when sanitize is set).
|
|
6005
|
-
* @event change
|
|
6006
|
-
*/
|
|
6007
|
-
onChange?: (value: string) => void;
|
|
6008
|
-
children?: ReactNode;
|
|
6009
|
-
}
|
|
6010
|
-
export const UiRichEditor: ComponentType<UiRichEditorProps>;
|
|
6011
|
-
|
|
6012
2605
|
/** Circular progress gauge with a percentage in the center and a tick scale around it. */
|
|
6013
2606
|
export interface UiRingProps {
|
|
6014
2607
|
/**
|
|
@@ -6041,106 +2634,6 @@ export interface UiRingProps {
|
|
|
6041
2634
|
}
|
|
6042
2635
|
export const UiRing: ComponentType<UiRingProps>;
|
|
6043
2636
|
|
|
6044
|
-
/**
|
|
6045
|
-
* Gantt-style occupancy calendar: rooms as rows, days as columns, bookings as bars.
|
|
6046
|
-
* Note: Day headers are plain numbers 1..days; offset them yourself for a month view.
|
|
6047
|
-
*/
|
|
6048
|
-
export interface UiRoomCalendarProps {
|
|
6049
|
-
/**
|
|
6050
|
-
* Rooms with their bookings; from is the zero-based day index of check-in, nights its length. guest is the cell tooltip.
|
|
6051
|
-
* @default []
|
|
6052
|
-
*/
|
|
6053
|
-
rooms?: { no: string; bookings?: { from: number; nights: number; guest: string }[] }[];
|
|
6054
|
-
/**
|
|
6055
|
-
* Number of day columns, labelled 1..days.
|
|
6056
|
-
* @default 14
|
|
6057
|
-
*/
|
|
6058
|
-
days?: number;
|
|
6059
|
-
/**
|
|
6060
|
-
* Scales padding, text and avatars.
|
|
6061
|
-
* @default 'md'
|
|
6062
|
-
*/
|
|
6063
|
-
size?: Size;
|
|
6064
|
-
children?: ReactNode;
|
|
6065
|
-
}
|
|
6066
|
-
export const UiRoomCalendar: ComponentType<UiRoomCalendarProps>;
|
|
6067
|
-
|
|
6068
|
-
/**
|
|
6069
|
-
* Tile grid of rooms colored by housekeeping status; use for front-desk room selection.
|
|
6070
|
-
* Note: Each tile is a button; status is conveyed by color only, so add a legend.
|
|
6071
|
-
*/
|
|
6072
|
-
export interface UiRoomGridProps {
|
|
6073
|
-
/**
|
|
6074
|
-
* Rooms; no is the room number and the unique key, type is the room class label, status sets the tile color (any other value renders neutral).
|
|
6075
|
-
* @default []
|
|
6076
|
-
*/
|
|
6077
|
-
rooms?: { no: string; type: string; status: "occupied" | "clean" | "dirty" | "blocked" }[];
|
|
6078
|
-
/**
|
|
6079
|
-
* Maps a room status to a tile tone. Merged over the defaults, so you can add custom statuses (e.g. { maintenance: "sky" }) or recolor known ones. Statuses without a tone render neutral.
|
|
6080
|
-
* @default { occupied: 'brand', clean: 'success', dirty: 'warning', blocked: 'danger' }
|
|
6081
|
-
*/
|
|
6082
|
-
statusTones?: Record<string, 'brand' | 'sky' | 'success' | 'warning' | 'danger' | 'neutral'>;
|
|
6083
|
-
/**
|
|
6084
|
-
* Scales padding, text and avatars.
|
|
6085
|
-
* @default 'md'
|
|
6086
|
-
*/
|
|
6087
|
-
size?: Size;
|
|
6088
|
-
/**
|
|
6089
|
-
* Called with the room number (room.no) of the clicked tile.
|
|
6090
|
-
* @event select
|
|
6091
|
-
*/
|
|
6092
|
-
onSelect?: (no: string) => void;
|
|
6093
|
-
children?: ReactNode;
|
|
6094
|
-
}
|
|
6095
|
-
export const UiRoomGrid: ComponentType<UiRoomGridProps>;
|
|
6096
|
-
|
|
6097
|
-
/** Horizontal funnel of steps with bars scaled to the largest value, for conversion flows. */
|
|
6098
|
-
export interface UiSalesFunnelProps {
|
|
6099
|
-
/**
|
|
6100
|
-
* Steps from top to bottom. Bars scale to the max value; the last step is highlighted in brand color.
|
|
6101
|
-
* @default []
|
|
6102
|
-
*/
|
|
6103
|
-
steps: { label: string; value: number }[];
|
|
6104
|
-
children?: ReactNode;
|
|
6105
|
-
}
|
|
6106
|
-
export const UiSalesFunnel: ComponentType<UiSalesFunnelProps>;
|
|
6107
|
-
|
|
6108
|
-
/**
|
|
6109
|
-
* Full-screen idle screen with a large clock, date and the brand mark; show it after inactivity.
|
|
6110
|
-
* Note: The clock re-renders from one interval created when the screensaver opens and cleared when it closes; the idle timer is re-armed on each interaction. Nothing runs during server rendering.
|
|
6111
|
-
*/
|
|
6112
|
-
export interface UiScreensaverProps {
|
|
6113
|
-
/**
|
|
6114
|
-
* Shows the screensaver when true; renders nothing when false.
|
|
6115
|
-
* @default false
|
|
6116
|
-
*/
|
|
6117
|
-
open?: boolean;
|
|
6118
|
-
/**
|
|
6119
|
-
* BCP 47 locale for the date line.
|
|
6120
|
-
* @default 'en-GB'
|
|
6121
|
-
*/
|
|
6122
|
-
locale?: string;
|
|
6123
|
-
/** Small hint under the date, e.g. "Tap to continue". */
|
|
6124
|
-
hint?: string;
|
|
6125
|
-
/**
|
|
6126
|
-
* When greater than 0 and the screensaver is closed, a hidden sentinel listens for pointer, key, wheel and touch activity and calls idle after this many milliseconds without any. 0 disables it.
|
|
6127
|
-
* @default 0
|
|
6128
|
-
*/
|
|
6129
|
-
idleMs?: number;
|
|
6130
|
-
/**
|
|
6131
|
-
* Called on click or any key (including Escape) while open.
|
|
6132
|
-
* @event close
|
|
6133
|
-
*/
|
|
6134
|
-
onClose?: () => void;
|
|
6135
|
-
/**
|
|
6136
|
-
* Called once the idleMs period passes without activity while closed; set open to true in the handler.
|
|
6137
|
-
* @event idle
|
|
6138
|
-
*/
|
|
6139
|
-
onIdle?: () => void;
|
|
6140
|
-
children?: ReactNode;
|
|
6141
|
-
}
|
|
6142
|
-
export const UiScreensaver: ComponentType<UiScreensaverProps>;
|
|
6143
|
-
|
|
6144
2637
|
/** Vertically scrollable container with a max height and styled scrollbar. */
|
|
6145
2638
|
export interface UiScrollAreaProps {
|
|
6146
2639
|
/**
|
|
@@ -6183,17 +2676,6 @@ export interface UiSearchInputProps {
|
|
|
6183
2676
|
}
|
|
6184
2677
|
export const UiSearchInput: ComponentType<UiSearchInputProps>;
|
|
6185
2678
|
|
|
6186
|
-
/** Single stacked bar split into proportional segments with a legend, for distributions. */
|
|
6187
|
-
export interface UiSegBarProps {
|
|
6188
|
-
/**
|
|
6189
|
-
* Segments; widths are value / sum of values. color is any CSS color; the default cycles brand, sky, green, amber, red.
|
|
6190
|
-
* @default []
|
|
6191
|
-
*/
|
|
6192
|
-
segments: { label: string; value: number; color?: string }[];
|
|
6193
|
-
children?: ReactNode;
|
|
6194
|
-
}
|
|
6195
|
-
export const UiSegBar: ComponentType<UiSegBarProps>;
|
|
6196
|
-
|
|
6197
2679
|
/** Segmented switch for choosing exactly one of a few options. */
|
|
6198
2680
|
export interface UiSegmentedControlProps {
|
|
6199
2681
|
/**
|
|
@@ -6503,33 +2985,6 @@ export interface UiSocialAuthProps {
|
|
|
6503
2985
|
}
|
|
6504
2986
|
export const UiSocialAuth: ComponentType<UiSocialAuthProps>;
|
|
6505
2987
|
|
|
6506
|
-
/**
|
|
6507
|
-
* Drag-and-drop reorderable list with grip handles and up/down buttons.
|
|
6508
|
-
* Note: Controlled: the parent must store the array from change and pass it back as items.
|
|
6509
|
-
* Note: Keyboard-friendly reordering is available through the up/down buttons.
|
|
6510
|
-
*/
|
|
6511
|
-
export interface UiSortableProps {
|
|
6512
|
-
/**
|
|
6513
|
-
* Items in current order. id is used as the key, falling back to the index.
|
|
6514
|
-
* @default []
|
|
6515
|
-
*/
|
|
6516
|
-
items: { id?: string | number; label: string }[];
|
|
6517
|
-
/** Custom item renderer. Defaults to the bold item label. */
|
|
6518
|
-
render?: (item: any, index: any) => ReactNode;
|
|
6519
|
-
/**
|
|
6520
|
-
* Row padding, gap and font size.
|
|
6521
|
-
* @default 'md'
|
|
6522
|
-
*/
|
|
6523
|
-
size?: Size;
|
|
6524
|
-
/**
|
|
6525
|
-
* Called with the reordered items array after a drop or up/down click.
|
|
6526
|
-
* @event change
|
|
6527
|
-
*/
|
|
6528
|
-
onChange?: (items: any[]) => void;
|
|
6529
|
-
children?: ReactNode;
|
|
6530
|
-
}
|
|
6531
|
-
export const UiSortable: ComponentType<UiSortableProps>;
|
|
6532
|
-
|
|
6533
2988
|
/**
|
|
6534
2989
|
* Inline loading indicator; use inside buttons, cards or next to a loading label.
|
|
6535
2990
|
* Note: Has role="status" and aria-label="Loading".
|
|
@@ -6551,88 +3006,22 @@ export const UiSpinner: ComponentType<UiSpinnerProps>;
|
|
|
6551
3006
|
export interface UiSplitLayoutProps {
|
|
6552
3007
|
/**
|
|
6553
3008
|
* CSS grid-template-columns value, for example "280px 1fr".
|
|
6554
|
-
* @default 1fr 1fr
|
|
6555
|
-
*/
|
|
6556
|
-
columns?: string;
|
|
6557
|
-
/**
|
|
6558
|
-
* First column. Falls back to the first child.
|
|
6559
|
-
* @slot left (React: pass as a prop)
|
|
6560
|
-
*/
|
|
6561
|
-
left?: ReactNode;
|
|
6562
|
-
/**
|
|
6563
|
-
* Second column. Falls back to the second child.
|
|
6564
|
-
* @slot right (React: pass as a prop)
|
|
6565
|
-
*/
|
|
6566
|
-
right?: ReactNode;
|
|
6567
|
-
children?: ReactNode;
|
|
6568
|
-
}
|
|
6569
|
-
export const UiSplitLayout: ComponentType<UiSplitLayoutProps>;
|
|
6570
|
-
|
|
6571
|
-
/** Card with a large value, icon tile, label and an accent bar, for a single headline number. */
|
|
6572
|
-
export interface UiStatLineProps {
|
|
6573
|
-
/** Metric name under the value. */
|
|
6574
|
-
label: string;
|
|
6575
|
-
/** Main value. */
|
|
6576
|
-
value: string | number;
|
|
6577
|
-
/** Icon name for the tile. */
|
|
6578
|
-
icon?: string;
|
|
6579
|
-
/**
|
|
6580
|
-
* Accent color of the tile and bar. Unknown values fall back to brand.
|
|
6581
|
-
* @default 'brand'
|
|
6582
|
-
*/
|
|
6583
|
-
tone?: Tone;
|
|
6584
|
-
/** Change indicator such as "+12%" or "-3.4%". A leading "-" renders as a decrease, anything else as an increase. */
|
|
6585
|
-
delta?: string;
|
|
6586
|
-
/**
|
|
6587
|
-
* Icon tile size. Named sizes map to 28/34/40/48/56 px; a number is used in px.
|
|
6588
|
-
* @default 'md'
|
|
6589
|
-
*/
|
|
6590
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
6591
|
-
children?: ReactNode;
|
|
6592
|
-
}
|
|
6593
|
-
export const UiStatLine: ComponentType<UiStatLineProps>;
|
|
6594
|
-
|
|
6595
|
-
/** List row with an icon tile, title, subtitle and a right-aligned value with delta. */
|
|
6596
|
-
export interface UiStatRowProps {
|
|
6597
|
-
/** Primary text. */
|
|
6598
|
-
title: string;
|
|
6599
|
-
/** Muted secondary text. */
|
|
6600
|
-
sub?: string;
|
|
6601
|
-
/** Right-aligned value. */
|
|
6602
|
-
value?: string | number;
|
|
6603
|
-
/** Change shown under the value. A leading "-" is a decrease; the sign is stripped and an arrow added. */
|
|
6604
|
-
delta?: string;
|
|
6605
|
-
/** Icon name for the leading tile. */
|
|
6606
|
-
icon?: string;
|
|
6607
|
-
/**
|
|
6608
|
-
* Color of the icon tile. Unknown values fall back to brand.
|
|
6609
|
-
* @default 'brand'
|
|
6610
|
-
*/
|
|
6611
|
-
tone?: Tone;
|
|
6612
|
-
/**
|
|
6613
|
-
* Row height and icon tile size. Named sizes map to a 28/34/40/48/56 px tile; a number is used as the tile size in px.
|
|
6614
|
-
* @default 'md'
|
|
6615
|
-
*/
|
|
6616
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
6617
|
-
children?: ReactNode;
|
|
6618
|
-
}
|
|
6619
|
-
export const UiStatRow: ComponentType<UiStatRowProps>;
|
|
6620
|
-
|
|
6621
|
-
/** Horizontal strip of several icon, value and label stats in one card. */
|
|
6622
|
-
export interface UiStatStripProps {
|
|
3009
|
+
* @default 1fr 1fr
|
|
3010
|
+
*/
|
|
3011
|
+
columns?: string;
|
|
6623
3012
|
/**
|
|
6624
|
-
*
|
|
6625
|
-
* @
|
|
3013
|
+
* First column. Falls back to the first child.
|
|
3014
|
+
* @slot left (React: pass as a prop)
|
|
6626
3015
|
*/
|
|
6627
|
-
|
|
3016
|
+
left?: ReactNode;
|
|
6628
3017
|
/**
|
|
6629
|
-
*
|
|
6630
|
-
* @
|
|
3018
|
+
* Second column. Falls back to the second child.
|
|
3019
|
+
* @slot right (React: pass as a prop)
|
|
6631
3020
|
*/
|
|
6632
|
-
|
|
3021
|
+
right?: ReactNode;
|
|
6633
3022
|
children?: ReactNode;
|
|
6634
3023
|
}
|
|
6635
|
-
export const
|
|
3024
|
+
export const UiSplitLayout: ComponentType<UiSplitLayoutProps>;
|
|
6636
3025
|
|
|
6637
3026
|
/** Metric card with an optional icon, value and an up or down trend. */
|
|
6638
3027
|
export interface UiStatsCardProps {
|
|
@@ -6730,97 +3119,6 @@ export interface UiStatusPageProps {
|
|
|
6730
3119
|
}
|
|
6731
3120
|
export const UiStatusPage: ComponentType<UiStatusPageProps>;
|
|
6732
3121
|
|
|
6733
|
-
/**
|
|
6734
|
-
* Wide Modal with a vertical step list on the left and Previous/Next buttons; use for multi-step wizards.
|
|
6735
|
-
* Note: You own the current index: update it in the back and next handlers.
|
|
6736
|
-
* Note: Has aria-modal. Escape calls close; on open focus moves into the dialog, Tab is trapped inside it and focus returns to the previously focused element on close.
|
|
6737
|
-
*/
|
|
6738
|
-
export interface UiStepDialogProps {
|
|
6739
|
-
/**
|
|
6740
|
-
* Shows the dialog when true; renders nothing when false.
|
|
6741
|
-
* @default false
|
|
6742
|
-
*/
|
|
6743
|
-
open?: boolean;
|
|
6744
|
-
/** Header text and aria-label. */
|
|
6745
|
-
title?: string;
|
|
6746
|
-
/**
|
|
6747
|
-
* Steps in the left rail; sub is a hint under the title.
|
|
6748
|
-
* @default []
|
|
6749
|
-
*/
|
|
6750
|
-
steps?: { title: string; sub?: string }[];
|
|
6751
|
-
/** Zero-based index of the active step. Earlier steps are shown as done. */
|
|
6752
|
-
current?: number;
|
|
6753
|
-
/**
|
|
6754
|
-
* Scale of dialog width (640 to 1100 px) and padding.
|
|
6755
|
-
* @default 'md'
|
|
6756
|
-
*/
|
|
6757
|
-
size?: Size;
|
|
6758
|
-
/**
|
|
6759
|
-
* Previous button; disabled on the first step.
|
|
6760
|
-
* @event back
|
|
6761
|
-
*/
|
|
6762
|
-
onBack?: () => void;
|
|
6763
|
-
/**
|
|
6764
|
-
* Next button; labelled "Submit" on the last step, so also handle submit here.
|
|
6765
|
-
* @event next
|
|
6766
|
-
*/
|
|
6767
|
-
onNext?: () => void;
|
|
6768
|
-
/**
|
|
6769
|
-
* Close icon, scrim click or the Escape key.
|
|
6770
|
-
* @event close
|
|
6771
|
-
*/
|
|
6772
|
-
onClose?: () => void;
|
|
6773
|
-
children?: ReactNode;
|
|
6774
|
-
}
|
|
6775
|
-
export const UiStepDialog: ComponentType<UiStepDialogProps>;
|
|
6776
|
-
|
|
6777
|
-
/**
|
|
6778
|
-
* Multi-step form shell: stepper, current step content and Back/Next buttons. Use for wizards and onboarding.
|
|
6779
|
-
* Note: The current step is internal; Next never validates, so guard the content yourself.
|
|
6780
|
-
*/
|
|
6781
|
-
export interface UiStepFormProps {
|
|
6782
|
-
/**
|
|
6783
|
-
* Steps in order. content is rendered while the step is active.
|
|
6784
|
-
* @default []
|
|
6785
|
-
*/
|
|
6786
|
-
steps?: { label: string; content: ReactNode }[];
|
|
6787
|
-
/**
|
|
6788
|
-
* Text of the Next button on the last step.
|
|
6789
|
-
* @default 'Finish'
|
|
6790
|
-
*/
|
|
6791
|
-
finishLabel?: string;
|
|
6792
|
-
/**
|
|
6793
|
-
* Also sets the size of the Back/Next buttons.
|
|
6794
|
-
* @default 'md'
|
|
6795
|
-
*/
|
|
6796
|
-
size?: Size;
|
|
6797
|
-
/**
|
|
6798
|
-
* Called when Next is pressed on the last step.
|
|
6799
|
-
* @event finish
|
|
6800
|
-
*/
|
|
6801
|
-
onFinish?: () => void;
|
|
6802
|
-
children?: ReactNode;
|
|
6803
|
-
}
|
|
6804
|
-
export const UiStepForm: ComponentType<UiStepFormProps>;
|
|
6805
|
-
|
|
6806
|
-
/** Horizontal progress indicator with numbered steps. Use to show position in a multi-step flow. */
|
|
6807
|
-
export interface UiStepperProps {
|
|
6808
|
-
/**
|
|
6809
|
-
* Step labels in order.
|
|
6810
|
-
* @default []
|
|
6811
|
-
*/
|
|
6812
|
-
steps?: string[];
|
|
6813
|
-
/** Zero-based index of the active step. Earlier steps show a check mark. */
|
|
6814
|
-
current: number;
|
|
6815
|
-
/**
|
|
6816
|
-
* Step circle and label size.
|
|
6817
|
-
* @default 'md'
|
|
6818
|
-
*/
|
|
6819
|
-
size?: Size;
|
|
6820
|
-
children?: ReactNode;
|
|
6821
|
-
}
|
|
6822
|
-
export const UiStepper: ComponentType<UiStepperProps>;
|
|
6823
|
-
|
|
6824
3122
|
/** Compact vertical list of sections with an optional title; use for settings and secondary page navigation. */
|
|
6825
3123
|
export interface UiSubNavProps {
|
|
6826
3124
|
/** Small heading above the list; also the aria-label. */
|
|
@@ -6886,48 +3184,6 @@ export interface UiSwitchProps {
|
|
|
6886
3184
|
}
|
|
6887
3185
|
export const UiSwitch: ComponentType<UiSwitchProps>;
|
|
6888
3186
|
|
|
6889
|
-
/** List of services with a status dot and a value such as uptime or latency. */
|
|
6890
|
-
export interface UiSystemStatusProps {
|
|
6891
|
-
/**
|
|
6892
|
-
* Services. state sets the color: ok green (default), warn amber, down red.
|
|
6893
|
-
* @default []
|
|
6894
|
-
*/
|
|
6895
|
-
items: { name: string; value: string; state?: 'ok' | 'warn' | 'down' }[];
|
|
6896
|
-
children?: ReactNode;
|
|
6897
|
-
}
|
|
6898
|
-
export const UiSystemStatus: ComponentType<UiSystemStatusProps>;
|
|
6899
|
-
|
|
6900
|
-
/**
|
|
6901
|
-
* Row of icon tiles that work as tabs, with an optional add button.
|
|
6902
|
-
* Note: Active state is exposed as aria-pressed on buttons, not as a tablist.
|
|
6903
|
-
*/
|
|
6904
|
-
export interface UiTabTilesProps {
|
|
6905
|
-
/**
|
|
6906
|
-
* Tiles. icon defaults to circle.
|
|
6907
|
-
* @default []
|
|
6908
|
-
*/
|
|
6909
|
-
items: { value: string; label: string; icon?: string }[];
|
|
6910
|
-
/** Value of the active tile. Controlled; change it in the change handler. */
|
|
6911
|
-
value?: string;
|
|
6912
|
-
/**
|
|
6913
|
-
* Shows a trailing plus tile that fires the add event.
|
|
6914
|
-
* @default false
|
|
6915
|
-
*/
|
|
6916
|
-
addable?: boolean;
|
|
6917
|
-
/**
|
|
6918
|
-
* Called with the value of the clicked tile.
|
|
6919
|
-
* @event change
|
|
6920
|
-
*/
|
|
6921
|
-
onChange?: (value: string) => void;
|
|
6922
|
-
/**
|
|
6923
|
-
* Called when the plus tile is clicked.
|
|
6924
|
-
* @event add
|
|
6925
|
-
*/
|
|
6926
|
-
onAdd?: () => void;
|
|
6927
|
-
children?: ReactNode;
|
|
6928
|
-
}
|
|
6929
|
-
export const UiTabTiles: ComponentType<UiTabTilesProps>;
|
|
6930
|
-
|
|
6931
3187
|
/**
|
|
6932
3188
|
* Underlined tab strip for switching between views of the same page.
|
|
6933
3189
|
* Note: Renders only the tab buttons (role="tablist"); you show the matching panel yourself.
|
|
@@ -7434,188 +3690,6 @@ export interface UiTopNavProps {
|
|
|
7434
3690
|
}
|
|
7435
3691
|
export const UiTopNav: ComponentType<UiTopNavProps>;
|
|
7436
3692
|
|
|
7437
|
-
/**
|
|
7438
|
-
* Guided product tour that dims the page, highlights a target element and shows a step popover.
|
|
7439
|
-
* Note: Keyboard: ArrowRight/ArrowLeft go to the next/previous step (reversed in RTL), Escape closes. Focus is not moved, so the page stays usable.
|
|
7440
|
-
* Note: Targets are looked up with document.querySelector and scrolled into view.
|
|
7441
|
-
* Note: The internal step resets to 0 whenever the tour closes.
|
|
7442
|
-
*/
|
|
7443
|
-
export interface UiTourProps {
|
|
7444
|
-
/**
|
|
7445
|
-
* Shows the tour when true; renders nothing when false.
|
|
7446
|
-
* @default false
|
|
7447
|
-
*/
|
|
7448
|
-
open?: boolean;
|
|
7449
|
-
/**
|
|
7450
|
-
* Steps. target is a CSS selector of the element to highlight; without it the step is shown centered over a full dim.
|
|
7451
|
-
* @default []
|
|
7452
|
-
*/
|
|
7453
|
-
steps?: { target?: string; title: string; text: string }[];
|
|
7454
|
-
/** Controlled zero-based step index. When omitted the tour keeps it internally (reset to 0 on close). Update it from the step event. */
|
|
7455
|
-
step?: number;
|
|
7456
|
-
/**
|
|
7457
|
-
* Called on the close icon, the Escape key and after Finish on the last step.
|
|
7458
|
-
* @event close
|
|
7459
|
-
*/
|
|
7460
|
-
onClose?: () => void;
|
|
7461
|
-
/**
|
|
7462
|
-
* Called with the new zero-based step index on Next, Back and the arrow keys.
|
|
7463
|
-
* @event step
|
|
7464
|
-
*/
|
|
7465
|
-
onStep?: (index: number) => void;
|
|
7466
|
-
children?: ReactNode;
|
|
7467
|
-
}
|
|
7468
|
-
export const UiTour: ComponentType<UiTourProps>;
|
|
7469
|
-
|
|
7470
|
-
/**
|
|
7471
|
-
* Tour or virtual-tour card with session count and a seat-occupancy bar.
|
|
7472
|
-
* Note: A fixed "360°" badge is always shown.
|
|
7473
|
-
* Note: With seats = 0 or missing the bar is empty (0%) and the meta reads "0/0".
|
|
7474
|
-
*/
|
|
7475
|
-
export interface UiTourCardProps {
|
|
7476
|
-
/** Tour title. */
|
|
7477
|
-
name: string;
|
|
7478
|
-
/** City shown in the subtitle. */
|
|
7479
|
-
city?: string;
|
|
7480
|
-
/** Number of sessions, shown as "N sessions". */
|
|
7481
|
-
sessions?: number;
|
|
7482
|
-
/** Seats already booked. */
|
|
7483
|
-
booked: number;
|
|
7484
|
-
/** Total seats; the bar shows booked / seats. */
|
|
7485
|
-
seats: number;
|
|
7486
|
-
/**
|
|
7487
|
-
* Scales padding, text and avatars.
|
|
7488
|
-
* @default 'md'
|
|
7489
|
-
*/
|
|
7490
|
-
size?: Size;
|
|
7491
|
-
/**
|
|
7492
|
-
* Footer actions, usually Buttons.
|
|
7493
|
-
* @slot actions (React: pass as a prop)
|
|
7494
|
-
*/
|
|
7495
|
-
actions?: ReactNode;
|
|
7496
|
-
children?: ReactNode;
|
|
7497
|
-
}
|
|
7498
|
-
export const UiTourCard: ComponentType<UiTourCardProps>;
|
|
7499
|
-
|
|
7500
|
-
/** Step card of a tour with title, text, step counter and Back/Next buttons; used by Tour and usable standalone. */
|
|
7501
|
-
export interface UiTourPopoverProps {
|
|
7502
|
-
/** Step heading. */
|
|
7503
|
-
title?: string;
|
|
7504
|
-
/** Step body text. */
|
|
7505
|
-
text?: string;
|
|
7506
|
-
/** Counter text such as "2 / 5". */
|
|
7507
|
-
step?: string;
|
|
7508
|
-
/**
|
|
7509
|
-
* Changes the Next button label to "Finish".
|
|
7510
|
-
* @default false
|
|
7511
|
-
*/
|
|
7512
|
-
last?: boolean;
|
|
7513
|
-
/**
|
|
7514
|
-
* Back button; the button is rendered only when this handler is set.
|
|
7515
|
-
* @event back
|
|
7516
|
-
*/
|
|
7517
|
-
onBack?: () => void;
|
|
7518
|
-
/**
|
|
7519
|
-
* Next or Finish button.
|
|
7520
|
-
* @event next
|
|
7521
|
-
*/
|
|
7522
|
-
onNext?: () => void;
|
|
7523
|
-
/**
|
|
7524
|
-
* Close icon.
|
|
7525
|
-
* @event close
|
|
7526
|
-
*/
|
|
7527
|
-
onClose?: () => void;
|
|
7528
|
-
children?: ReactNode;
|
|
7529
|
-
}
|
|
7530
|
-
export const UiTourPopover: ComponentType<UiTourPopoverProps>;
|
|
7531
|
-
|
|
7532
|
-
/**
|
|
7533
|
-
* Dropdown with a searchable tree. Use for hierarchical choices such as regions, categories or org units.
|
|
7534
|
-
* Note: Typing in the search box expands all matching branches.
|
|
7535
|
-
* Note: The popup closes on outside click and on Escape.
|
|
7536
|
-
*/
|
|
7537
|
-
export interface UiTreeSelectProps {
|
|
7538
|
-
/** id of the selected node. */
|
|
7539
|
-
modelValue?: string | number;
|
|
7540
|
-
/**
|
|
7541
|
-
* Tree nodes. A node with disabled: true cannot be clicked. Top level is expanded by default.
|
|
7542
|
-
* @default []
|
|
7543
|
-
*/
|
|
7544
|
-
nodes?: { id: string | number; label: string; children?: any[]; disabled?: boolean }[];
|
|
7545
|
-
/**
|
|
7546
|
-
* Allow selecting nodes that have children. By default clicking a parent only expands it.
|
|
7547
|
-
* @default false
|
|
7548
|
-
*/
|
|
7549
|
-
selectGroups?: boolean;
|
|
7550
|
-
/**
|
|
7551
|
-
* Label shown above the control.
|
|
7552
|
-
* @remarks Forwarded to the inner element.
|
|
7553
|
-
*/
|
|
7554
|
-
label?: string;
|
|
7555
|
-
/** Shown when nothing is selected. Defaults to "—". */
|
|
7556
|
-
placeholder?: string;
|
|
7557
|
-
/**
|
|
7558
|
-
* Disables the control.
|
|
7559
|
-
* @default false
|
|
7560
|
-
*/
|
|
7561
|
-
disabled?: boolean;
|
|
7562
|
-
/**
|
|
7563
|
-
* Control height, font and padding scale.
|
|
7564
|
-
* @default 'md'
|
|
7565
|
-
*/
|
|
7566
|
-
size?: Size;
|
|
7567
|
-
/**
|
|
7568
|
-
* Called with the id of the chosen node.
|
|
7569
|
-
* @event change
|
|
7570
|
-
*/
|
|
7571
|
-
onChange?: (value: string | number) => void;
|
|
7572
|
-
children?: ReactNode;
|
|
7573
|
-
}
|
|
7574
|
-
export const UiTreeSelect: ComponentType<UiTreeSelectProps>;
|
|
7575
|
-
|
|
7576
|
-
/**
|
|
7577
|
-
* Expandable tree of nodes for hierarchies such as folders, categories or regions.
|
|
7578
|
-
* Note: The first level is open by default; deeper levels start collapsed.
|
|
7579
|
-
*/
|
|
7580
|
-
export interface UiTreeViewProps {
|
|
7581
|
-
/**
|
|
7582
|
-
* Root nodes. children nest recursively; icon is an icon name. Ids must be unique.
|
|
7583
|
-
* @default []
|
|
7584
|
-
*/
|
|
7585
|
-
nodes: { id: string; label: string; icon?: string; children?: any[] }[];
|
|
7586
|
-
/** Id of the highlighted node. */
|
|
7587
|
-
selected?: string;
|
|
7588
|
-
/**
|
|
7589
|
-
* Row height and font size.
|
|
7590
|
-
* @default 'md'
|
|
7591
|
-
*/
|
|
7592
|
-
size?: Size;
|
|
7593
|
-
/**
|
|
7594
|
-
* Called with the node id when a node is clicked. Nodes with children also toggle open.
|
|
7595
|
-
* @event select
|
|
7596
|
-
*/
|
|
7597
|
-
onSelect?: (id: string | number) => void;
|
|
7598
|
-
children?: ReactNode;
|
|
7599
|
-
}
|
|
7600
|
-
export const UiTreeView: ComponentType<UiTreeViewProps>;
|
|
7601
|
-
|
|
7602
|
-
/** Avatar with a name and optional subtitle, for table cells and lists of people. */
|
|
7603
|
-
export interface UiUserCellProps {
|
|
7604
|
-
/** Display name, also used for avatar initials. */
|
|
7605
|
-
name: string;
|
|
7606
|
-
/** Muted line under the name, such as an email or role. */
|
|
7607
|
-
sub?: string;
|
|
7608
|
-
/** Avatar image URL. Initials are shown without it. */
|
|
7609
|
-
src?: string;
|
|
7610
|
-
/**
|
|
7611
|
-
* Avatar diameter: xs 24, sm 30, md 36, lg 44, xl 56 px; a number is used as px.
|
|
7612
|
-
* @default 'md'
|
|
7613
|
-
*/
|
|
7614
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
7615
|
-
children?: ReactNode;
|
|
7616
|
-
}
|
|
7617
|
-
export const UiUserCell: ComponentType<UiUserCellProps>;
|
|
7618
|
-
|
|
7619
3693
|
/** Vertical flex column with a configurable gap. */
|
|
7620
3694
|
export interface UiVStackProps {
|
|
7621
3695
|
/**
|
|
@@ -7655,87 +3729,8 @@ export interface UiVStackProps {
|
|
|
7655
3729
|
}
|
|
7656
3730
|
export const UiVStack: ComponentType<UiVStackProps>;
|
|
7657
3731
|
|
|
7658
|
-
/**
|
|
7659
|
-
* TextField (or PasswordInput) with built-in validation rules. Use for simple client-side validation without a form library.
|
|
7660
|
-
* Note: Rules start running after the first edit, so an untouched field shows no error.
|
|
7661
|
-
* Note: All other props are forwarded to TextField / PasswordInput.
|
|
7662
|
-
*/
|
|
7663
|
-
export interface UiValidatedFieldProps {
|
|
7664
|
-
/**
|
|
7665
|
-
* Current value.
|
|
7666
|
-
* @default ''
|
|
7667
|
-
*/
|
|
7668
|
-
modelValue?: string;
|
|
7669
|
-
/**
|
|
7670
|
-
* Validators run in order; return true when valid or an error message. The first failure is shown.
|
|
7671
|
-
* @default []
|
|
7672
|
-
*/
|
|
7673
|
-
rules?: ((value: string) => true | string)[];
|
|
7674
|
-
/**
|
|
7675
|
-
* "password" renders PasswordInput, any other value is passed to TextField as the input type.
|
|
7676
|
-
* @default 'text'
|
|
7677
|
-
*/
|
|
7678
|
-
type?: 'text' | 'password' | string;
|
|
7679
|
-
/** External error. Takes priority over rules. */
|
|
7680
|
-
error?: string;
|
|
7681
|
-
/**
|
|
7682
|
-
* Label shown above the control.
|
|
7683
|
-
* @remarks Forwarded to the inner element.
|
|
7684
|
-
*/
|
|
7685
|
-
label?: string;
|
|
7686
|
-
/**
|
|
7687
|
-
* Placeholder text.
|
|
7688
|
-
* @remarks Forwarded to the inner element.
|
|
7689
|
-
*/
|
|
7690
|
-
placeholder?: string;
|
|
7691
|
-
/**
|
|
7692
|
-
* Helper text under the control. Hidden while error is set.
|
|
7693
|
-
* @remarks Forwarded to the inner element.
|
|
7694
|
-
*/
|
|
7695
|
-
hint?: string;
|
|
7696
|
-
/**
|
|
7697
|
-
* Leading icon name (TextField only).
|
|
7698
|
-
* @remarks Forwarded to the inner element.
|
|
7699
|
-
*/
|
|
7700
|
-
icon?: string;
|
|
7701
|
-
/**
|
|
7702
|
-
* Disables the control.
|
|
7703
|
-
* @default false
|
|
7704
|
-
* @remarks Forwarded to the inner element.
|
|
7705
|
-
*/
|
|
7706
|
-
disabled?: boolean;
|
|
7707
|
-
/**
|
|
7708
|
-
* Control height, font and padding scale.
|
|
7709
|
-
* @default 'md'
|
|
7710
|
-
*/
|
|
7711
|
-
size?: Size;
|
|
7712
|
-
/**
|
|
7713
|
-
* Called with the new string on every keystroke.
|
|
7714
|
-
* @event change
|
|
7715
|
-
*/
|
|
7716
|
-
onChange?: (value: string) => void;
|
|
7717
|
-
children?: ReactNode;
|
|
7718
|
-
}
|
|
7719
|
-
export const UiValidatedField: ComponentType<UiValidatedFieldProps>;
|
|
7720
|
-
|
|
7721
|
-
/**
|
|
7722
|
-
* Head-to-head comparison of two values with a proportional two-color bar.
|
|
7723
|
-
* Note: A missing side renders an empty label and 0; with both at 0 the bar is split with no brand share.
|
|
7724
|
-
*/
|
|
7725
|
-
export interface UiVersusBarProps {
|
|
7726
|
-
/** Left side. Its share of the bar is value / (left.value + right.value) in the brand color. */
|
|
7727
|
-
left: { label: string; value: number };
|
|
7728
|
-
/** Right side, filling the remainder of the bar in sky. */
|
|
7729
|
-
right: { label: string; value: number };
|
|
7730
|
-
/**
|
|
7731
|
-
* Value font size and bar thickness.
|
|
7732
|
-
* @default 'md'
|
|
7733
|
-
*/
|
|
7734
|
-
size?: Size;
|
|
7735
|
-
children?: ReactNode;
|
|
7736
|
-
}
|
|
7737
|
-
export const UiVersusBar: ComponentType<UiVersusBarProps>;
|
|
7738
|
-
|
|
7739
3732
|
export const rules: typeof import('./shared').rules;
|
|
7740
3733
|
export { useUiTheme } from './theme';
|
|
7741
3734
|
export { fmt, setIconBase } from './shared';
|
|
3735
|
+
/** Extension API: wraps plugin component definitions like the built-in ones, registers them (C.Name cross references work) and returns { UiName: Component }. */
|
|
3736
|
+
export function defineUiComponents(defs: Record<string, import('./core').ComponentDefinition>, options?: { override?: boolean }): Record<string, ComponentType<any>>;
|