@ziyarago/ui 0.8.0 → 0.9.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.
@@ -205,6 +205,13 @@ export const UiPageBilling = C.PageBilling;
205
205
  export const UiPageTeam = C.PageTeam;
206
206
  export const UiPageIntegrations = C.PageIntegrations;
207
207
  export const UiPageSearch = C.PageSearch;
208
+ export const UiPageArticle = C.PageArticle;
209
+ export const UiPageChangelog = C.PageChangelog;
210
+ export const UiPageHelp = C.PageHelp;
211
+ export const UiPageStates = C.PageStates;
212
+ export const UiPageLegal = C.PageLegal;
213
+ export const UiPageLocations = C.PageLocations;
214
+ export const UiPageBookingFlow = C.PageBookingFlow;
208
215
  export const UiPageNotifications = C.PageNotifications;
209
216
  export const UiPageInbox = C.PageInbox;
210
217
  export const UiPageCheckout = C.PageCheckout;
@@ -91,3 +91,6 @@
91
91
  .zg-ash__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 24%,color-mix(in oklch,#fff 55%,transparent) 0,transparent 30%),radial-gradient(circle at 18% 78%,color-mix(in oklch,var(--ash-acc) 70%,transparent) 0,transparent 38%),conic-gradient(from 210deg at 62% 48%,transparent 0 .08turn,color-mix(in oklch,#fff 22%,transparent) .1turn .18turn,transparent .2turn 1turn)}
92
92
  .zg-ash__media[style*="url("]::after{display:none}
93
93
  .zg-ash--light .zg-ash__media{--ash-acc:oklch(.72 .08 80)}
94
+
95
+ /* page templates: sticky region */
96
+ .zg-pg__two--sticky{align-items:stretch}.zg-pg__stick{position:sticky;inset-block-start:16px;align-self:flex-start;width:100%}
package/src/vue/index.js CHANGED
@@ -29,7 +29,7 @@ const wrap = (name, def) => defineComponent({
29
29
  });
30
30
  for (const [name, def] of Object.entries(components)) C[name] = wrap(name, def);
31
31
 
32
- export const { Button: UiButton, IconButton: UiIconButton, Badge: UiBadge, Avatar: UiAvatar, Switch: UiSwitch, Checkbox: UiCheckbox, SegmentedControl: UiSegmentedControl, Tabs: UiTabs, FilterChips: UiFilterChips, TextField: UiTextField, Select: UiSelect, CodeInput: UiCodeInput, Stepper: UiStepper, Card: UiCard, Modal: UiModal, Drawer: UiDrawer, Toast: UiToast, Breadcrumbs: UiBreadcrumbs, Pagination: UiPagination, Progress: UiProgress, Ring: UiRing, KpiTile: UiKpiTile, DataTable: UiDataTable, KanbanColumn: UiKanbanColumn, KanbanCard: UiKanbanCard, Timeline: UiTimeline, TopNav: UiTopNav, SideNav: UiSideNav, AppShell: UiAppShell, PageHeader: UiPageHeader, AuthLayout: UiAuthLayout, LeadCard: UiLeadCard, HotelCard: UiHotelCard, TourCard: UiTourCard, PrayerTimes: UiPrayerTimes, RamadanTracker: UiRamadanTracker, CallRow: UiCallRow, Alert: UiAlert, Banner: UiBanner, Accordion: UiAccordion, Skeleton: UiSkeleton, Spinner: UiSpinner, Divider: UiDivider, EmptyState: UiEmptyState, ErrorPage: UiErrorPage, DataState: UiDataState, LoadingOverlay: UiLoadingOverlay, ConfirmDialog: UiConfirmDialog, Popconfirm: UiPopconfirm, Carousel: UiCarousel, Gallery: UiGallery, Code: UiCode, PricingCard: UiPricingCard, IntegrationCard: UiIntegrationCard, IncomingCall: UiIncomingCall, CallCard: UiCallCard, Dropdown: UiDropdown, Menu: UiMenu, Tooltip: UiTooltip, HoverCard: UiHoverCard, Popover: UiPopover, CopyButton: UiCopyButton, CommandBar: UiCommandBar, CommandPalette: UiCommandPalette, NotificationBell: UiNotificationBell, ToggleGroup: UiToggleGroup, Fab: UiFab, Textarea: UiTextarea, NumberInput: UiNumberInput, PasswordInput: UiPasswordInput, SearchInput: UiSearchInput, RadioGroup: UiRadioGroup, Slider: UiSlider, Rating: UiRating, ChipInput: UiChipInput, InlineEdit: UiInlineEdit, ColorPicker: UiColorPicker, FileUpload: UiFileUpload, Combobox: UiCombobox, MultiSelect: UiMultiSelect, GroupedSelect: UiGroupedSelect, PhoneInput: UiPhoneInput, Calendar: UiCalendar, DatePicker: UiDatePicker, TimePicker: UiTimePicker, FormField: UiFormField, LoginForm: UiLoginForm, StepForm: UiStepForm, Tag: UiTag, Kbd: UiKbd, StatsCard: UiStatsCard, KpiInline: UiKpiInline, MiniChart: UiMiniChart, Descriptions: UiDescriptions, LazyImage: UiLazyImage, SystemStatus: UiSystemStatus, TreeView: UiTreeView, CalendarView: UiCalendarView, SubNav: UiSubNav, ActionRail: UiActionRail, SplitLayout: UiSplitLayout, SettingsSection: UiSettingsSection, ScrollArea: UiScrollArea, DealCard: UiDealCard, PipelineBoard: UiPipelineBoard, ContactPanel: UiContactPanel, SalesFunnel: UiSalesFunnel, BookingCard: UiBookingCard, GuestCard: UiGuestCard, RoomGrid: UiRoomGrid, RoomCalendar: UiRoomCalendar, OccupancyChart: UiOccupancyChart, Chip: UiChip, IconTile: UiIconTile, StatusIcon: UiStatusIcon, UserCell: UiUserCell, StatRow: UiStatRow, CountryRow: UiCountryRow, StatLine: UiStatLine, StatStrip: UiStatStrip, VersusBar: UiVersusBar, SegBar: UiSegBar, HeroBanner: UiHeroBanner, TabTiles: UiTabTiles, PillTabs: UiPillTabs, PillSelect: UiPillSelect, ChartCard: UiChartCard, ActionCard: UiActionCard, Snackbar: UiSnackbar, TourPopover: UiTourPopover, ProfileHeader: UiProfileHeader, AuthSplit: UiAuthSplit, AuthShowcase: UiAuthShowcase, SocialAuth: UiSocialAuth, StatusPage: UiStatusPage, ValidatedField: UiValidatedField, Footer: UiFooter, DataGroup: UiDataGroup, OptionCard: UiOptionCard, OptionCards: UiOptionCards, RichEditor: UiRichEditor, RangeSlider: UiRangeSlider, RangeCalendar: UiRangeCalendar, StepDialog: UiStepDialog, FullscreenDialog: UiFullscreenDialog, PageDashboard: UiPageDashboard, PagePatterns: UiPagePatterns, PageCrm: UiPageCrm, PageBookings: UiPageBookings, PageCatalog: UiPageCatalog, PageDetail: UiPageDetail, PageSettings: UiPageSettings, PageUserList: UiPageUserList, PageProfile: UiPageProfile, PageForm: UiPageForm, PageOrder: UiPageOrder, PageAccount: UiPageAccount, PagePricing: UiPagePricing, PageFaq: UiPageFaq, PageAnalytics: UiPageAnalytics, PageCalendar: UiPageCalendar, PageKanban: UiPageKanban, PageBilling: UiPageBilling, PageTeam: UiPageTeam, PageIntegrations: UiPageIntegrations, PageSearch: UiPageSearch, PageNotifications: UiPageNotifications, PageInbox: UiPageInbox, PageCheckout: UiPageCheckout, PageOnboarding: UiPageOnboarding, PageLanding: UiPageLanding, PageAuth: UiPageAuth, PageStatus: UiPageStatus, TreeSelect: UiTreeSelect, ContextMenu: UiContextMenu, Sortable: UiSortable, Map: UiMap, ImageUpload: UiImageUpload, Screensaver: UiScreensaver, Tour: UiTour, Heading: UiHeading, Text: UiText, Box: UiBox, Center: UiCenter, HStack: UiHStack, VStack: UiVStack, Grid: UiGrid, Link: UiLink, Pressable: UiPressable, Icon: UiIcon, Portal: UiPortal, LiquidGlass: UiLiquidGlass, BottomSheet: UiBottomSheet, Actionsheet: UiActionsheet, ImageViewer: UiImageViewer, ChatAi: UiChatAi } = C;
32
+ export const { Button: UiButton, IconButton: UiIconButton, Badge: UiBadge, Avatar: UiAvatar, Switch: UiSwitch, Checkbox: UiCheckbox, SegmentedControl: UiSegmentedControl, Tabs: UiTabs, FilterChips: UiFilterChips, TextField: UiTextField, Select: UiSelect, CodeInput: UiCodeInput, Stepper: UiStepper, Card: UiCard, Modal: UiModal, Drawer: UiDrawer, Toast: UiToast, Breadcrumbs: UiBreadcrumbs, Pagination: UiPagination, Progress: UiProgress, Ring: UiRing, KpiTile: UiKpiTile, DataTable: UiDataTable, KanbanColumn: UiKanbanColumn, KanbanCard: UiKanbanCard, Timeline: UiTimeline, TopNav: UiTopNav, SideNav: UiSideNav, AppShell: UiAppShell, PageHeader: UiPageHeader, AuthLayout: UiAuthLayout, LeadCard: UiLeadCard, HotelCard: UiHotelCard, TourCard: UiTourCard, PrayerTimes: UiPrayerTimes, RamadanTracker: UiRamadanTracker, CallRow: UiCallRow, Alert: UiAlert, Banner: UiBanner, Accordion: UiAccordion, Skeleton: UiSkeleton, Spinner: UiSpinner, Divider: UiDivider, EmptyState: UiEmptyState, ErrorPage: UiErrorPage, DataState: UiDataState, LoadingOverlay: UiLoadingOverlay, ConfirmDialog: UiConfirmDialog, Popconfirm: UiPopconfirm, Carousel: UiCarousel, Gallery: UiGallery, Code: UiCode, PricingCard: UiPricingCard, IntegrationCard: UiIntegrationCard, IncomingCall: UiIncomingCall, CallCard: UiCallCard, Dropdown: UiDropdown, Menu: UiMenu, Tooltip: UiTooltip, HoverCard: UiHoverCard, Popover: UiPopover, CopyButton: UiCopyButton, CommandBar: UiCommandBar, CommandPalette: UiCommandPalette, NotificationBell: UiNotificationBell, ToggleGroup: UiToggleGroup, Fab: UiFab, Textarea: UiTextarea, NumberInput: UiNumberInput, PasswordInput: UiPasswordInput, SearchInput: UiSearchInput, RadioGroup: UiRadioGroup, Slider: UiSlider, Rating: UiRating, ChipInput: UiChipInput, InlineEdit: UiInlineEdit, ColorPicker: UiColorPicker, FileUpload: UiFileUpload, Combobox: UiCombobox, MultiSelect: UiMultiSelect, GroupedSelect: UiGroupedSelect, PhoneInput: UiPhoneInput, Calendar: UiCalendar, DatePicker: UiDatePicker, TimePicker: UiTimePicker, FormField: UiFormField, LoginForm: UiLoginForm, StepForm: UiStepForm, Tag: UiTag, Kbd: UiKbd, StatsCard: UiStatsCard, KpiInline: UiKpiInline, MiniChart: UiMiniChart, Descriptions: UiDescriptions, LazyImage: UiLazyImage, SystemStatus: UiSystemStatus, TreeView: UiTreeView, CalendarView: UiCalendarView, SubNav: UiSubNav, ActionRail: UiActionRail, SplitLayout: UiSplitLayout, SettingsSection: UiSettingsSection, ScrollArea: UiScrollArea, DealCard: UiDealCard, PipelineBoard: UiPipelineBoard, ContactPanel: UiContactPanel, SalesFunnel: UiSalesFunnel, BookingCard: UiBookingCard, GuestCard: UiGuestCard, RoomGrid: UiRoomGrid, RoomCalendar: UiRoomCalendar, OccupancyChart: UiOccupancyChart, Chip: UiChip, IconTile: UiIconTile, StatusIcon: UiStatusIcon, UserCell: UiUserCell, StatRow: UiStatRow, CountryRow: UiCountryRow, StatLine: UiStatLine, StatStrip: UiStatStrip, VersusBar: UiVersusBar, SegBar: UiSegBar, HeroBanner: UiHeroBanner, TabTiles: UiTabTiles, PillTabs: UiPillTabs, PillSelect: UiPillSelect, ChartCard: UiChartCard, ActionCard: UiActionCard, Snackbar: UiSnackbar, TourPopover: UiTourPopover, ProfileHeader: UiProfileHeader, AuthSplit: UiAuthSplit, AuthShowcase: UiAuthShowcase, SocialAuth: UiSocialAuth, StatusPage: UiStatusPage, ValidatedField: UiValidatedField, Footer: UiFooter, DataGroup: UiDataGroup, OptionCard: UiOptionCard, OptionCards: UiOptionCards, RichEditor: UiRichEditor, RangeSlider: UiRangeSlider, RangeCalendar: UiRangeCalendar, StepDialog: UiStepDialog, FullscreenDialog: UiFullscreenDialog, PageDashboard: UiPageDashboard, PagePatterns: UiPagePatterns, PageCrm: UiPageCrm, PageBookings: UiPageBookings, PageCatalog: UiPageCatalog, PageDetail: UiPageDetail, PageSettings: UiPageSettings, PageUserList: UiPageUserList, PageProfile: UiPageProfile, PageForm: UiPageForm, PageOrder: UiPageOrder, PageAccount: UiPageAccount, PagePricing: UiPagePricing, PageFaq: UiPageFaq, PageAnalytics: UiPageAnalytics, PageCalendar: UiPageCalendar, PageKanban: UiPageKanban, PageBilling: UiPageBilling, PageTeam: UiPageTeam, PageIntegrations: UiPageIntegrations, PageSearch: UiPageSearch, PageArticle: UiPageArticle, PageChangelog: UiPageChangelog, PageHelp: UiPageHelp, PageStates: UiPageStates, PageLegal: UiPageLegal, PageLocations: UiPageLocations, PageBookingFlow: UiPageBookingFlow, PageNotifications: UiPageNotifications, PageInbox: UiPageInbox, PageCheckout: UiPageCheckout, PageOnboarding: UiPageOnboarding, PageLanding: UiPageLanding, PageAuth: UiPageAuth, PageStatus: UiPageStatus, TreeSelect: UiTreeSelect, ContextMenu: UiContextMenu, Sortable: UiSortable, Map: UiMap, ImageUpload: UiImageUpload, Screensaver: UiScreensaver, Tour: UiTour, Heading: UiHeading, Text: UiText, Box: UiBox, Center: UiCenter, HStack: UiHStack, VStack: UiVStack, Grid: UiGrid, Link: UiLink, Pressable: UiPressable, Icon: UiIcon, Portal: UiPortal, LiquidGlass: UiLiquidGlass, BottomSheet: UiBottomSheet, Actionsheet: UiActionsheet, ImageViewer: UiImageViewer, ChatAi: UiChatAi } = C;
33
33
  export const install = app => { for (const [n, c] of Object.entries(C)) app.component('Ui' + n, c); };
34
34
  export { fmt, setIconBase, rules } from '../core/index.js';
35
35
  export { useUiTheme } from '../theme.js';
package/types/react.d.ts CHANGED
@@ -3150,6 +3150,66 @@ export interface UiPageAnalyticsProps {
3150
3150
  }
3151
3151
  export const UiPageAnalytics: ComponentType<UiPageAnalyticsProps>;
3152
3152
 
3153
+ /**
3154
+ * Article template: cover, post body, sticky table of contents, share row and related posts.
3155
+ * Note: Place inside AppShell; fill only the slots you need.
3156
+ * 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.
3157
+ */
3158
+ export interface UiPageArticleProps {
3159
+ /**
3160
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
3161
+ * @remarks Forwarded to the inner element.
3162
+ */
3163
+ title?: string;
3164
+ /**
3165
+ * Caption under the heading.
3166
+ * @remarks Forwarded to the inner element.
3167
+ */
3168
+ subtitle?: string;
3169
+ /**
3170
+ * Breadcrumb trail above the title.
3171
+ * @remarks Forwarded to the inner element.
3172
+ */
3173
+ crumbs?: { label: string; href?: string }[];
3174
+ /**
3175
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
3176
+ * @slot header (React: pass as a prop)
3177
+ */
3178
+ header?: ReactNode;
3179
+ /**
3180
+ * 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).
3181
+ * @slot actions (React: pass as a prop)
3182
+ */
3183
+ actions?: ReactNode;
3184
+ /**
3185
+ * Cover image area with title and author line; a gradient Card or LazyImage.
3186
+ * @slot cover (React: pass as a prop)
3187
+ */
3188
+ cover?: ReactNode;
3189
+ /**
3190
+ * Article text; Heading, Text, Code, Alert.
3191
+ * @slot body (React: pass as a prop)
3192
+ */
3193
+ body?: ReactNode;
3194
+ /**
3195
+ * Sticky table of contents; Card with a list of anchor links.
3196
+ * @slot toc (React: pass as a prop)
3197
+ */
3198
+ toc?: ReactNode;
3199
+ /**
3200
+ * Share and reaction row; Button, IconButton, CopyButton.
3201
+ * @slot share (React: pass as a prop)
3202
+ */
3203
+ share?: ReactNode;
3204
+ /**
3205
+ * Related posts; Card grid.
3206
+ * @slot related (React: pass as a prop)
3207
+ */
3208
+ related?: ReactNode;
3209
+ children?: ReactNode;
3210
+ }
3211
+ export const UiPageArticle: ComponentType<UiPageArticleProps>;
3212
+
3153
3213
  /**
3154
3214
  * Sign-in page template without the app shell, as a centered card or a split layout.
3155
3215
  * Note: Designed for the dark theme and used without AppShell.
@@ -3300,6 +3360,61 @@ export interface UiPageBillingProps {
3300
3360
  }
3301
3361
  export const UiPageBilling: ComponentType<UiPageBillingProps>;
3302
3362
 
3363
+ /**
3364
+ * Booking flow template: stepper, the active step content, back and continue buttons and a sticky summary card.
3365
+ * Note: Place inside AppShell; fill only the slots you need.
3366
+ * Note: Render only the active step in content. The summary stays visible on the right and goes below the step under 860 px.
3367
+ */
3368
+ export interface UiPageBookingFlowProps {
3369
+ /**
3370
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
3371
+ * @remarks Forwarded to the inner element.
3372
+ */
3373
+ title?: string;
3374
+ /**
3375
+ * Caption under the heading.
3376
+ * @remarks Forwarded to the inner element.
3377
+ */
3378
+ subtitle?: string;
3379
+ /**
3380
+ * Breadcrumb trail above the title.
3381
+ * @remarks Forwarded to the inner element.
3382
+ */
3383
+ crumbs?: { label: string; href?: string }[];
3384
+ /**
3385
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
3386
+ * @slot header (React: pass as a prop)
3387
+ */
3388
+ header?: ReactNode;
3389
+ /**
3390
+ * 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).
3391
+ * @slot actions (React: pass as a prop)
3392
+ */
3393
+ actions?: ReactNode;
3394
+ /**
3395
+ * Progress; Stepper.
3396
+ * @slot steps (React: pass as a prop)
3397
+ */
3398
+ steps?: ReactNode;
3399
+ /**
3400
+ * Content of the active step (search, pick, guests, confirm); Card, DatePicker, OptionCards, NumberInput.
3401
+ * @slot content (React: pass as a prop)
3402
+ */
3403
+ content?: ReactNode;
3404
+ /**
3405
+ * Back and Continue buttons.
3406
+ * @slot nav (React: pass as a prop)
3407
+ */
3408
+ nav?: ReactNode;
3409
+ /**
3410
+ * Booking summary; Card, Descriptions.
3411
+ * @slot summary (React: pass as a prop)
3412
+ */
3413
+ summary?: ReactNode;
3414
+ children?: ReactNode;
3415
+ }
3416
+ export const UiPageBookingFlow: ComponentType<UiPageBookingFlowProps>;
3417
+
3303
3418
  /**
3304
3419
  * Bookings list template: stats, toolbar, bulk-action bar, table and pagination.
3305
3420
  * Note: Place inside AppShell; fill only the slots you need.
@@ -3469,6 +3584,56 @@ export interface UiPageCatalogProps {
3469
3584
  }
3470
3585
  export const UiPageCatalog: ComponentType<UiPageCatalogProps>;
3471
3586
 
3587
+ /**
3588
+ * Changelog template: release timeline grouped by version with new, fix and improved tags, a filter and a subscribe card.
3589
+ * Note: Place inside AppShell; fill only the slots you need.
3590
+ * Note: Filters and timeline share the main column; the subscribe card is a sticky side column.
3591
+ */
3592
+ export interface UiPageChangelogProps {
3593
+ /**
3594
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
3595
+ * @remarks Forwarded to the inner element.
3596
+ */
3597
+ title?: string;
3598
+ /**
3599
+ * Caption under the heading.
3600
+ * @remarks Forwarded to the inner element.
3601
+ */
3602
+ subtitle?: string;
3603
+ /**
3604
+ * Breadcrumb trail above the title.
3605
+ * @remarks Forwarded to the inner element.
3606
+ */
3607
+ crumbs?: { label: string; href?: string }[];
3608
+ /**
3609
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
3610
+ * @slot header (React: pass as a prop)
3611
+ */
3612
+ header?: ReactNode;
3613
+ /**
3614
+ * 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).
3615
+ * @slot actions (React: pass as a prop)
3616
+ */
3617
+ actions?: ReactNode;
3618
+ /**
3619
+ * Tag filter; FilterChips, SearchInput.
3620
+ * @slot filters (React: pass as a prop)
3621
+ */
3622
+ filters?: ReactNode;
3623
+ /**
3624
+ * Releases grouped by version; Card, Chip, Divider.
3625
+ * @slot timeline (React: pass as a prop)
3626
+ */
3627
+ timeline?: ReactNode;
3628
+ /**
3629
+ * Sticky subscribe card; Card, TextField, Button.
3630
+ * @slot subscribe (React: pass as a prop)
3631
+ */
3632
+ subscribe?: ReactNode;
3633
+ children?: ReactNode;
3634
+ }
3635
+ export const UiPageChangelog: ComponentType<UiPageChangelogProps>;
3636
+
3472
3637
  /**
3473
3638
  * Checkout template: step indicator, cart items, delivery address, payment and an order summary column.
3474
3639
  * Note: Place inside AppShell; fill only the slots you need.
@@ -3833,6 +3998,61 @@ export interface UiPageHeaderProps {
3833
3998
  }
3834
3999
  export const UiPageHeader: ComponentType<UiPageHeaderProps>;
3835
4000
 
4001
+ /**
4002
+ * Help center home: search, category grid, popular articles and a contact card.
4003
+ * Note: Place inside AppShell; fill only the slots you need.
4004
+ * Note: Popular articles and contact share a row and wrap on narrow screens. For a single question list use PageFaq.
4005
+ */
4006
+ export interface UiPageHelpProps {
4007
+ /**
4008
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
4009
+ * @remarks Forwarded to the inner element.
4010
+ */
4011
+ title?: string;
4012
+ /**
4013
+ * Caption under the heading.
4014
+ * @remarks Forwarded to the inner element.
4015
+ */
4016
+ subtitle?: string;
4017
+ /**
4018
+ * Breadcrumb trail above the title.
4019
+ * @remarks Forwarded to the inner element.
4020
+ */
4021
+ crumbs?: { label: string; href?: string }[];
4022
+ /**
4023
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
4024
+ * @slot header (React: pass as a prop)
4025
+ */
4026
+ header?: ReactNode;
4027
+ /**
4028
+ * 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).
4029
+ * @slot actions (React: pass as a prop)
4030
+ */
4031
+ actions?: ReactNode;
4032
+ /**
4033
+ * Large search field; SearchInput.
4034
+ * @slot search (React: pass as a prop)
4035
+ */
4036
+ search?: ReactNode;
4037
+ /**
4038
+ * Category tiles; Card with IconTile.
4039
+ * @slot categories (React: pass as a prop)
4040
+ */
4041
+ categories?: ReactNode;
4042
+ /**
4043
+ * Popular articles list; Card.
4044
+ * @slot popular (React: pass as a prop)
4045
+ */
4046
+ popular?: ReactNode;
4047
+ /**
4048
+ * Contact options; Card, Button.
4049
+ * @slot contact (React: pass as a prop)
4050
+ */
4051
+ contact?: ReactNode;
4052
+ children?: ReactNode;
4053
+ }
4054
+ export const UiPageHelp: ComponentType<UiPageHelpProps>;
4055
+
3836
4056
  /**
3837
4057
  * Inbox template: filters and conversation list, the open thread with a composer, and a customer panel.
3838
4058
  * Note: Place inside AppShell; fill only the slots you need.
@@ -4042,6 +4262,111 @@ export interface UiPageLandingProps {
4042
4262
  }
4043
4263
  export const UiPageLanding: ComponentType<UiPageLandingProps>;
4044
4264
 
4265
+ /**
4266
+ * Legal document template: last-updated line, sticky table of contents, numbered sections and a contact card.
4267
+ * Note: Place inside AppShell; fill only the slots you need.
4268
+ * Note: The table of contents sits left of the document and stacks above it under 860 px.
4269
+ */
4270
+ export interface UiPageLegalProps {
4271
+ /**
4272
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
4273
+ * @remarks Forwarded to the inner element.
4274
+ */
4275
+ title?: string;
4276
+ /**
4277
+ * Caption under the heading.
4278
+ * @remarks Forwarded to the inner element.
4279
+ */
4280
+ subtitle?: string;
4281
+ /**
4282
+ * Breadcrumb trail above the title.
4283
+ * @remarks Forwarded to the inner element.
4284
+ */
4285
+ crumbs?: { label: string; href?: string }[];
4286
+ /**
4287
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
4288
+ * @slot header (React: pass as a prop)
4289
+ */
4290
+ header?: ReactNode;
4291
+ /**
4292
+ * 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).
4293
+ * @slot actions (React: pass as a prop)
4294
+ */
4295
+ actions?: ReactNode;
4296
+ /**
4297
+ * Version, last-updated date and print or download buttons; Chip, Button.
4298
+ * @slot meta (React: pass as a prop)
4299
+ */
4300
+ meta?: ReactNode;
4301
+ /**
4302
+ * Sticky table of contents; Card with anchor links.
4303
+ * @slot toc (React: pass as a prop)
4304
+ */
4305
+ toc?: ReactNode;
4306
+ /**
4307
+ * Document sections; Card, Heading, Text.
4308
+ * @slot document (React: pass as a prop)
4309
+ */
4310
+ document?: ReactNode;
4311
+ /**
4312
+ * Questions card; Card, Button.
4313
+ * @slot contact (React: pass as a prop)
4314
+ */
4315
+ contact?: ReactNode;
4316
+ children?: ReactNode;
4317
+ }
4318
+ export const UiPageLegal: ComponentType<UiPageLegalProps>;
4319
+
4320
+ /**
4321
+ * Locations template: filters, a scrollable list of places and a sticky map panel.
4322
+ * Note: Place inside AppShell; fill only the slots you need.
4323
+ * Note: The list is a fixed-width column left of the map; under 860 px the map goes below the list.
4324
+ */
4325
+ export interface UiPageLocationsProps {
4326
+ /**
4327
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
4328
+ * @remarks Forwarded to the inner element.
4329
+ */
4330
+ title?: string;
4331
+ /**
4332
+ * Caption under the heading.
4333
+ * @remarks Forwarded to the inner element.
4334
+ */
4335
+ subtitle?: string;
4336
+ /**
4337
+ * Breadcrumb trail above the title.
4338
+ * @remarks Forwarded to the inner element.
4339
+ */
4340
+ crumbs?: { label: string; href?: string }[];
4341
+ /**
4342
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
4343
+ * @slot header (React: pass as a prop)
4344
+ */
4345
+ header?: ReactNode;
4346
+ /**
4347
+ * 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).
4348
+ * @slot actions (React: pass as a prop)
4349
+ */
4350
+ actions?: ReactNode;
4351
+ /**
4352
+ * Search and category filters; SearchInput, FilterChips.
4353
+ * @slot filters (React: pass as a prop)
4354
+ */
4355
+ filters?: ReactNode;
4356
+ /**
4357
+ * Places list; Card rows.
4358
+ * @slot list (React: pass as a prop)
4359
+ */
4360
+ list?: ReactNode;
4361
+ /**
4362
+ * Map panel; Map, or a gradient placeholder.
4363
+ * @slot map (React: pass as a prop)
4364
+ */
4365
+ map?: ReactNode;
4366
+ children?: ReactNode;
4367
+ }
4368
+ export const UiPageLocations: ComponentType<UiPageLocationsProps>;
4369
+
4045
4370
  /**
4046
4371
  * Notifications template: filters, a feed grouped by day and an empty state. Put Mark all read in actions.
4047
4372
  * Note: Place inside AppShell; fill only the slots you need.
@@ -4512,6 +4837,76 @@ export interface UiPageSettingsProps {
4512
4837
  }
4513
4838
  export const UiPageSettings: ComponentType<UiPageSettingsProps>;
4514
4839
 
4840
+ /**
4841
+ * State gallery: empty list, no results, no permission, offline, error with retry, loading and success on one page.
4842
+ * Note: Place inside AppShell; fill only the slots you need.
4843
+ * Note: The first six slots sit in two rows of auto-fit cards; success spans the full width.
4844
+ */
4845
+ export interface UiPageStatesProps {
4846
+ /**
4847
+ * Page heading. The built-in header renders only when title is set and the header slot is empty.
4848
+ * @remarks Forwarded to the inner element.
4849
+ */
4850
+ title?: string;
4851
+ /**
4852
+ * Caption under the heading.
4853
+ * @remarks Forwarded to the inner element.
4854
+ */
4855
+ subtitle?: string;
4856
+ /**
4857
+ * Breadcrumb trail above the title.
4858
+ * @remarks Forwarded to the inner element.
4859
+ */
4860
+ crumbs?: { label: string; href?: string }[];
4861
+ /**
4862
+ * Custom page header; replaces the built-in title/subtitle/crumbs header.
4863
+ * @slot header (React: pass as a prop)
4864
+ */
4865
+ header?: ReactNode;
4866
+ /**
4867
+ * 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).
4868
+ * @slot actions (React: pass as a prop)
4869
+ */
4870
+ actions?: ReactNode;
4871
+ /**
4872
+ * Empty list; EmptyState with a primary action.
4873
+ * @slot empty (React: pass as a prop)
4874
+ */
4875
+ empty?: ReactNode;
4876
+ /**
4877
+ * No search results; EmptyState with a reset action.
4878
+ * @slot noresults (React: pass as a prop)
4879
+ */
4880
+ noresults?: ReactNode;
4881
+ /**
4882
+ * No permission; EmptyState with a request-access action.
4883
+ * @slot forbidden (React: pass as a prop)
4884
+ */
4885
+ forbidden?: ReactNode;
4886
+ /**
4887
+ * Offline; DataState state="offline".
4888
+ * @slot offline (React: pass as a prop)
4889
+ */
4890
+ offline?: ReactNode;
4891
+ /**
4892
+ * Error with retry; DataState state="error".
4893
+ * @slot error (React: pass as a prop)
4894
+ */
4895
+ error?: ReactNode;
4896
+ /**
4897
+ * Loading; Skeleton or DataState state="loading".
4898
+ * @slot loading (React: pass as a prop)
4899
+ */
4900
+ loading?: ReactNode;
4901
+ /**
4902
+ * Success confirmation; Alert tone="success" or EmptyState.
4903
+ * @slot success (React: pass as a prop)
4904
+ */
4905
+ success?: ReactNode;
4906
+ children?: ReactNode;
4907
+ }
4908
+ export const UiPageStates: ComponentType<UiPageStatesProps>;
4909
+
4515
4910
  /**
4516
4911
  * Full-page status screen (404, 401, maintenance, coming soon) with one action.
4517
4912
  * 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.
@@ -103,11 +103,14 @@ declare module 'vue' {
103
103
  UiOptionCards: typeof Ui.UiOptionCards;
104
104
  UiPageAccount: typeof Ui.UiPageAccount;
105
105
  UiPageAnalytics: typeof Ui.UiPageAnalytics;
106
+ UiPageArticle: typeof Ui.UiPageArticle;
106
107
  UiPageAuth: typeof Ui.UiPageAuth;
107
108
  UiPageBilling: typeof Ui.UiPageBilling;
109
+ UiPageBookingFlow: typeof Ui.UiPageBookingFlow;
108
110
  UiPageBookings: typeof Ui.UiPageBookings;
109
111
  UiPageCalendar: typeof Ui.UiPageCalendar;
110
112
  UiPageCatalog: typeof Ui.UiPageCatalog;
113
+ UiPageChangelog: typeof Ui.UiPageChangelog;
111
114
  UiPageCheckout: typeof Ui.UiPageCheckout;
112
115
  UiPageCrm: typeof Ui.UiPageCrm;
113
116
  UiPageDashboard: typeof Ui.UiPageDashboard;
@@ -115,10 +118,13 @@ declare module 'vue' {
115
118
  UiPageFaq: typeof Ui.UiPageFaq;
116
119
  UiPageForm: typeof Ui.UiPageForm;
117
120
  UiPageHeader: typeof Ui.UiPageHeader;
121
+ UiPageHelp: typeof Ui.UiPageHelp;
118
122
  UiPageInbox: typeof Ui.UiPageInbox;
119
123
  UiPageIntegrations: typeof Ui.UiPageIntegrations;
120
124
  UiPageKanban: typeof Ui.UiPageKanban;
121
125
  UiPageLanding: typeof Ui.UiPageLanding;
126
+ UiPageLegal: typeof Ui.UiPageLegal;
127
+ UiPageLocations: typeof Ui.UiPageLocations;
122
128
  UiPageNotifications: typeof Ui.UiPageNotifications;
123
129
  UiPageOnboarding: typeof Ui.UiPageOnboarding;
124
130
  UiPageOrder: typeof Ui.UiPageOrder;
@@ -127,6 +133,7 @@ declare module 'vue' {
127
133
  UiPageProfile: typeof Ui.UiPageProfile;
128
134
  UiPageSearch: typeof Ui.UiPageSearch;
129
135
  UiPageSettings: typeof Ui.UiPageSettings;
136
+ UiPageStates: typeof Ui.UiPageStates;
130
137
  UiPageStatus: typeof Ui.UiPageStatus;
131
138
  UiPageTeam: typeof Ui.UiPageTeam;
132
139
  UiPageUserList: typeof Ui.UiPageUserList;