@ziyarago/ui 0.9.0 → 0.10.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 +6 -0
- package/README.md +7 -7
- package/THIRD_PARTY_NOTICES.md +2 -2
- package/assets/fonts/jetbrains-mono/jetbrains-mono-cyrillic-ext.woff2 +0 -0
- package/assets/fonts/jetbrains-mono/jetbrains-mono-cyrillic.woff2 +0 -0
- package/assets/fonts/jetbrains-mono/jetbrains-mono-latin-ext.woff2 +0 -0
- package/assets/fonts/jetbrains-mono/jetbrains-mono-latin.woff2 +0 -0
- package/assets/fonts/manrope/manrope-cyrillic-ext.woff2 +0 -0
- package/assets/fonts/manrope/manrope-cyrillic.woff2 +0 -0
- package/assets/fonts/manrope/manrope-latin-ext.woff2 +0 -0
- package/assets/fonts/manrope/manrope-latin.woff2 +0 -0
- package/dist/llms-full.txt +89 -2
- package/dist/llms.txt +8 -3
- package/dist/manifest.json +745 -1
- package/dist/style.css +30 -5
- package/docs/INTEGRATION.md +3 -3
- package/docs/MIGRATION.md +3 -1
- package/package.json +2 -2
- package/src/compat/index.js +3 -2
- package/src/compat/vite.js +1 -1
- package/src/core/bools.js +1 -1
- package/src/core/components2.js +3 -3
- package/src/core/components7.js +13 -0
- package/src/core/pages.js +5 -1
- package/src/i18n/components/QiblaCompass.js +5 -0
- package/src/i18n/components/index.js +2 -0
- package/src/meta/domain.js +10 -0
- package/src/meta/forms.js +4 -0
- package/src/meta/groups.js +2 -2
- package/src/meta/pages.js +53 -0
- package/src/meta/templates.json +549 -1
- package/src/react/index.js +5 -0
- package/src/styles/components5.css +1 -1
- package/src/styles/components8.css +17 -1
- package/src/styles/effects.css +2 -1
- package/src/styles/fonts.css +9 -1
- package/src/vue/index.js +1 -1
- package/types/react.d.ts +291 -0
- package/types/vue-global.d.ts +5 -0
- package/types/vue.d.ts +208 -0
package/types/react.d.ts
CHANGED
|
@@ -2618,6 +2618,11 @@ export interface UiLoginFormProps {
|
|
|
2618
2618
|
* @default true
|
|
2619
2619
|
*/
|
|
2620
2620
|
showForgot?: boolean;
|
|
2621
|
+
/**
|
|
2622
|
+
* Show the "Remember device" checkbox. Hide it when your backend has no such option; the submit payload then keeps remember: true.
|
|
2623
|
+
* @default true
|
|
2624
|
+
*/
|
|
2625
|
+
showRemember?: boolean;
|
|
2621
2626
|
/**
|
|
2622
2627
|
* Submit button text. Wins over labels.submit.
|
|
2623
2628
|
* @default Sign in
|
|
@@ -3976,6 +3981,71 @@ export interface UiPageFormProps {
|
|
|
3976
3981
|
}
|
|
3977
3982
|
export const UiPageForm: ComponentType<UiPageFormProps>;
|
|
3978
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
|
+
|
|
3979
4049
|
/** Page title block with optional breadcrumbs, subtitle and an actions area. */
|
|
3980
4050
|
export interface UiPageHeaderProps {
|
|
3981
4051
|
/** Page title (rendered as h1). */
|
|
@@ -4168,6 +4238,66 @@ export interface UiPageIntegrationsProps {
|
|
|
4168
4238
|
}
|
|
4169
4239
|
export const UiPageIntegrations: ComponentType<UiPageIntegrationsProps>;
|
|
4170
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
|
+
|
|
4171
4301
|
/**
|
|
4172
4302
|
* Kanban template: filters, task board columns and a card detail panel.
|
|
4173
4303
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -4615,6 +4745,61 @@ export interface UiPagePatternsProps {
|
|
|
4615
4745
|
}
|
|
4616
4746
|
export const UiPagePatterns: ComponentType<UiPagePatternsProps>;
|
|
4617
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
|
+
|
|
4618
4803
|
/**
|
|
4619
4804
|
* Pricing template: billing-period toggle, plan cards and an FAQ.
|
|
4620
4805
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -5027,6 +5212,71 @@ export interface UiPageTeamProps {
|
|
|
5027
5212
|
}
|
|
5028
5213
|
export const UiPageTeam: ComponentType<UiPageTeamProps>;
|
|
5029
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
|
+
|
|
5030
5280
|
/**
|
|
5031
5281
|
* User or customer list template: stats, filters, toolbar, table and a right-hand add/edit drawer.
|
|
5032
5282
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -5160,6 +5410,21 @@ export interface UiPasswordInputProps {
|
|
|
5160
5410
|
* @remarks Forwarded to the inner element.
|
|
5161
5411
|
*/
|
|
5162
5412
|
error?: string;
|
|
5413
|
+
/**
|
|
5414
|
+
* Adds a red asterisk to the label and the native required attribute.
|
|
5415
|
+
* @default false
|
|
5416
|
+
*/
|
|
5417
|
+
required?: boolean;
|
|
5418
|
+
/**
|
|
5419
|
+
* Native name attribute of the input.
|
|
5420
|
+
* @remarks Forwarded to the inner element.
|
|
5421
|
+
*/
|
|
5422
|
+
name?: string;
|
|
5423
|
+
/**
|
|
5424
|
+
* Focuses the input on mount.
|
|
5425
|
+
* @remarks Forwarded to the inner element.
|
|
5426
|
+
*/
|
|
5427
|
+
autofocus?: boolean;
|
|
5163
5428
|
/**
|
|
5164
5429
|
* Native autocomplete token. Use "new-password" on sign-up and password-change forms so managers offer to generate one.
|
|
5165
5430
|
* @default 'current-password'
|
|
@@ -5507,6 +5772,32 @@ export interface UiProgressProps {
|
|
|
5507
5772
|
}
|
|
5508
5773
|
export const UiProgress: ComponentType<UiProgressProps>;
|
|
5509
5774
|
|
|
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
|
+
|
|
5510
5801
|
/** Group of radio options with optional hints. Use for a short single-choice list that should stay visible. */
|
|
5511
5802
|
export interface UiRadioGroupProps {
|
|
5512
5803
|
/** Value of the selected option. */
|
package/types/vue-global.d.ts
CHANGED
|
@@ -117,10 +117,12 @@ declare module 'vue' {
|
|
|
117
117
|
UiPageDetail: typeof Ui.UiPageDetail;
|
|
118
118
|
UiPageFaq: typeof Ui.UiPageFaq;
|
|
119
119
|
UiPageForm: typeof Ui.UiPageForm;
|
|
120
|
+
UiPageGroupManager: typeof Ui.UiPageGroupManager;
|
|
120
121
|
UiPageHeader: typeof Ui.UiPageHeader;
|
|
121
122
|
UiPageHelp: typeof Ui.UiPageHelp;
|
|
122
123
|
UiPageInbox: typeof Ui.UiPageInbox;
|
|
123
124
|
UiPageIntegrations: typeof Ui.UiPageIntegrations;
|
|
125
|
+
UiPageItinerary: typeof Ui.UiPageItinerary;
|
|
124
126
|
UiPageKanban: typeof Ui.UiPageKanban;
|
|
125
127
|
UiPageLanding: typeof Ui.UiPageLanding;
|
|
126
128
|
UiPageLegal: typeof Ui.UiPageLegal;
|
|
@@ -129,6 +131,7 @@ declare module 'vue' {
|
|
|
129
131
|
UiPageOnboarding: typeof Ui.UiPageOnboarding;
|
|
130
132
|
UiPageOrder: typeof Ui.UiPageOrder;
|
|
131
133
|
UiPagePatterns: typeof Ui.UiPagePatterns;
|
|
134
|
+
UiPagePrayer: typeof Ui.UiPagePrayer;
|
|
132
135
|
UiPagePricing: typeof Ui.UiPagePricing;
|
|
133
136
|
UiPageProfile: typeof Ui.UiPageProfile;
|
|
134
137
|
UiPageSearch: typeof Ui.UiPageSearch;
|
|
@@ -136,6 +139,7 @@ declare module 'vue' {
|
|
|
136
139
|
UiPageStates: typeof Ui.UiPageStates;
|
|
137
140
|
UiPageStatus: typeof Ui.UiPageStatus;
|
|
138
141
|
UiPageTeam: typeof Ui.UiPageTeam;
|
|
142
|
+
UiPageTourPublic: typeof Ui.UiPageTourPublic;
|
|
139
143
|
UiPageUserList: typeof Ui.UiPageUserList;
|
|
140
144
|
UiPagination: typeof Ui.UiPagination;
|
|
141
145
|
UiPasswordInput: typeof Ui.UiPasswordInput;
|
|
@@ -151,6 +155,7 @@ declare module 'vue' {
|
|
|
151
155
|
UiPricingCard: typeof Ui.UiPricingCard;
|
|
152
156
|
UiProfileHeader: typeof Ui.UiProfileHeader;
|
|
153
157
|
UiProgress: typeof Ui.UiProgress;
|
|
158
|
+
UiQiblaCompass: typeof Ui.UiQiblaCompass;
|
|
154
159
|
UiRadioGroup: typeof Ui.UiRadioGroup;
|
|
155
160
|
UiRamadanTracker: typeof Ui.UiRamadanTracker;
|
|
156
161
|
UiRangeCalendar: typeof Ui.UiRangeCalendar;
|
package/types/vue.d.ts
CHANGED
|
@@ -2728,6 +2728,11 @@ export interface UiLoginFormProps {
|
|
|
2728
2728
|
* @default true
|
|
2729
2729
|
*/
|
|
2730
2730
|
showForgot?: boolean;
|
|
2731
|
+
/**
|
|
2732
|
+
* Show the "Remember device" checkbox. Hide it when your backend has no such option; the submit payload then keeps remember: true.
|
|
2733
|
+
* @default true
|
|
2734
|
+
*/
|
|
2735
|
+
showRemember?: boolean;
|
|
2731
2736
|
/**
|
|
2732
2737
|
* Submit button text. Wins over labels.submit.
|
|
2733
2738
|
* @default Sign in
|
|
@@ -3815,6 +3820,48 @@ export interface UiPageFormSlots {
|
|
|
3815
3820
|
}
|
|
3816
3821
|
export const UiPageForm: UiVueComponent<UiPageFormProps, UiPageFormSlots>;
|
|
3817
3822
|
|
|
3823
|
+
/**
|
|
3824
|
+
* Group manager template: trip summary, pilgrims table with document and visa status, bulk actions, rooming and a sticky payments summary.
|
|
3825
|
+
* Note: Place inside AppShell; fill only the slots you need.
|
|
3826
|
+
* Note: The payments card stays visible on the right and goes below the table under 860 px.
|
|
3827
|
+
*/
|
|
3828
|
+
export interface UiPageGroupManagerProps {
|
|
3829
|
+
/**
|
|
3830
|
+
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
3831
|
+
* @remarks Forwarded to the inner element.
|
|
3832
|
+
*/
|
|
3833
|
+
title?: string;
|
|
3834
|
+
/**
|
|
3835
|
+
* Caption under the heading.
|
|
3836
|
+
* @remarks Forwarded to the inner element.
|
|
3837
|
+
*/
|
|
3838
|
+
subtitle?: string;
|
|
3839
|
+
/**
|
|
3840
|
+
* Breadcrumb trail above the title.
|
|
3841
|
+
* @remarks Forwarded to the inner element.
|
|
3842
|
+
*/
|
|
3843
|
+
crumbs?: { label: string; href?: string }[];
|
|
3844
|
+
}
|
|
3845
|
+
export interface UiPageGroupManagerSlots {
|
|
3846
|
+
/** Custom page header; replaces the built-in title/subtitle/crumbs header. */
|
|
3847
|
+
header?: () => any;
|
|
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
|
+
actions?: () => any;
|
|
3850
|
+
/** Trip header with dates, route and counters; Card, StatStrip, Progress. */
|
|
3851
|
+
trip?: () => any;
|
|
3852
|
+
/** Search and status filters; SearchInput, FilterChips. */
|
|
3853
|
+
toolbar?: () => any;
|
|
3854
|
+
/** Actions for the selected pilgrims; Button, Badge. */
|
|
3855
|
+
bulk?: () => any;
|
|
3856
|
+
/** Pilgrims table with documents and visa; Card, DataTable, Badge. */
|
|
3857
|
+
pilgrims?: () => any;
|
|
3858
|
+
/** Rooming assignment; Card, RoomGrid. */
|
|
3859
|
+
rooms?: () => any;
|
|
3860
|
+
/** Payments summary and manager contact; Card, Progress, ContactPanel. */
|
|
3861
|
+
payments?: () => any;
|
|
3862
|
+
}
|
|
3863
|
+
export const UiPageGroupManager: UiVueComponent<UiPageGroupManagerProps, UiPageGroupManagerSlots>;
|
|
3864
|
+
|
|
3818
3865
|
/** Page title block with optional breadcrumbs, subtitle and an actions area. */
|
|
3819
3866
|
export interface UiPageHeaderProps {
|
|
3820
3867
|
/** Page title (rendered as h1). */
|
|
@@ -3951,6 +3998,46 @@ export interface UiPageIntegrationsSlots {
|
|
|
3951
3998
|
}
|
|
3952
3999
|
export const UiPageIntegrations: UiVueComponent<UiPageIntegrationsProps, UiPageIntegrationsSlots>;
|
|
3953
4000
|
|
|
4001
|
+
/**
|
|
4002
|
+
* Itinerary template: day tabs, a timeline of stops for the chosen day, transport and hotel blocks and a sticky trip summary card.
|
|
4003
|
+
* Note: Place inside AppShell; fill only the slots you need.
|
|
4004
|
+
* 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.
|
|
4005
|
+
*/
|
|
4006
|
+
export interface UiPageItineraryProps {
|
|
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
|
+
export interface UiPageItinerarySlots {
|
|
4024
|
+
/** Custom page header; replaces the built-in title/subtitle/crumbs header. */
|
|
4025
|
+
header?: () => any;
|
|
4026
|
+
/** 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). */
|
|
4027
|
+
actions?: () => any;
|
|
4028
|
+
/** Day switcher; Tabs or PillTabs. */
|
|
4029
|
+
days?: () => any;
|
|
4030
|
+
/** Stops of the active day with times and places; Card, Timeline, StatRow. */
|
|
4031
|
+
timeline?: () => any;
|
|
4032
|
+
/** Flights, buses and transfers of the day; Card, StatRow. */
|
|
4033
|
+
transport?: () => any;
|
|
4034
|
+
/** Where the group stays that night; Card, Badge, IconTile. */
|
|
4035
|
+
hotel?: () => any;
|
|
4036
|
+
/** Trip summary; Card, Descriptions, Progress. */
|
|
4037
|
+
summary?: () => any;
|
|
4038
|
+
}
|
|
4039
|
+
export const UiPageItinerary: UiVueComponent<UiPageItineraryProps, UiPageItinerarySlots>;
|
|
4040
|
+
|
|
3954
4041
|
/**
|
|
3955
4042
|
* Kanban template: filters, task board columns and a card detail panel.
|
|
3956
4043
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -4248,6 +4335,44 @@ export interface UiPagePatternsSlots {
|
|
|
4248
4335
|
}
|
|
4249
4336
|
export const UiPagePatterns: UiVueComponent<UiPagePatternsProps, UiPagePatternsSlots>;
|
|
4250
4337
|
|
|
4338
|
+
/**
|
|
4339
|
+
* Prayer times template: a location picker, today's times with the next prayer highlighted, a month table and a sticky Qibla compass.
|
|
4340
|
+
* Note: Place inside AppShell; fill only the slots you need.
|
|
4341
|
+
* Note: The Qibla card stays visible on the right and goes below the times under 860 px.
|
|
4342
|
+
*/
|
|
4343
|
+
export interface UiPagePrayerProps {
|
|
4344
|
+
/**
|
|
4345
|
+
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4346
|
+
* @remarks Forwarded to the inner element.
|
|
4347
|
+
*/
|
|
4348
|
+
title?: string;
|
|
4349
|
+
/**
|
|
4350
|
+
* Caption under the heading.
|
|
4351
|
+
* @remarks Forwarded to the inner element.
|
|
4352
|
+
*/
|
|
4353
|
+
subtitle?: string;
|
|
4354
|
+
/**
|
|
4355
|
+
* Breadcrumb trail above the title.
|
|
4356
|
+
* @remarks Forwarded to the inner element.
|
|
4357
|
+
*/
|
|
4358
|
+
crumbs?: { label: string; href?: string }[];
|
|
4359
|
+
}
|
|
4360
|
+
export interface UiPagePrayerSlots {
|
|
4361
|
+
/** Custom page header; replaces the built-in title/subtitle/crumbs header. */
|
|
4362
|
+
header?: () => any;
|
|
4363
|
+
/** 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). */
|
|
4364
|
+
actions?: () => any;
|
|
4365
|
+
/** City and method pickers; Select, PillSelect, SegmentedControl. */
|
|
4366
|
+
location?: () => any;
|
|
4367
|
+
/** Today's prayers and the countdown to the next one; Card, PrayerTimes. */
|
|
4368
|
+
today?: () => any;
|
|
4369
|
+
/** Prayer times for the whole month; Card, DataTable. */
|
|
4370
|
+
month?: () => any;
|
|
4371
|
+
/** Qibla direction; Card, QiblaCompass. */
|
|
4372
|
+
qibla?: () => any;
|
|
4373
|
+
}
|
|
4374
|
+
export const UiPagePrayer: UiVueComponent<UiPagePrayerProps, UiPagePrayerSlots>;
|
|
4375
|
+
|
|
4251
4376
|
/**
|
|
4252
4377
|
* Pricing template: billing-period toggle, plan cards and an FAQ.
|
|
4253
4378
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -4538,6 +4663,48 @@ export interface UiPageTeamSlots {
|
|
|
4538
4663
|
}
|
|
4539
4664
|
export const UiPageTeam: UiVueComponent<UiPageTeamProps, UiPageTeamSlots>;
|
|
4540
4665
|
|
|
4666
|
+
/**
|
|
4667
|
+
* 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.
|
|
4668
|
+
* Note: Render the page on its own, without AppShell: it supplies its own width and padding in your layout.
|
|
4669
|
+
* Note: The booking card stays visible on the right and goes below the content under 860 px.
|
|
4670
|
+
*/
|
|
4671
|
+
export interface UiPageTourPublicProps {
|
|
4672
|
+
/**
|
|
4673
|
+
* Page heading. The built-in header renders only when title is set and the header slot is empty.
|
|
4674
|
+
* @remarks Forwarded to the inner element.
|
|
4675
|
+
*/
|
|
4676
|
+
title?: string;
|
|
4677
|
+
/**
|
|
4678
|
+
* Caption under the heading.
|
|
4679
|
+
* @remarks Forwarded to the inner element.
|
|
4680
|
+
*/
|
|
4681
|
+
subtitle?: string;
|
|
4682
|
+
/**
|
|
4683
|
+
* Breadcrumb trail above the title.
|
|
4684
|
+
* @remarks Forwarded to the inner element.
|
|
4685
|
+
*/
|
|
4686
|
+
crumbs?: { label: string; href?: string }[];
|
|
4687
|
+
}
|
|
4688
|
+
export interface UiPageTourPublicSlots {
|
|
4689
|
+
/** Custom page header; replaces the built-in title/subtitle/crumbs header. */
|
|
4690
|
+
header?: () => any;
|
|
4691
|
+
/** 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). */
|
|
4692
|
+
actions?: () => any;
|
|
4693
|
+
/** Hero area made of gradients or photos; Gallery, Card. */
|
|
4694
|
+
gallery?: () => any;
|
|
4695
|
+
/** Key facts and highlights; StatStrip, IconTile. */
|
|
4696
|
+
highlights?: () => any;
|
|
4697
|
+
/** Day by day program; Accordion. */
|
|
4698
|
+
itinerary?: () => any;
|
|
4699
|
+
/** What the price includes and excludes; Card, Descriptions. */
|
|
4700
|
+
included?: () => any;
|
|
4701
|
+
/** Pilgrim reviews; Card, Rating, Avatar. */
|
|
4702
|
+
reviews?: () => any;
|
|
4703
|
+
/** Price, dates, seats and the booking button; Card, Button. */
|
|
4704
|
+
booking?: () => any;
|
|
4705
|
+
}
|
|
4706
|
+
export const UiPageTourPublic: UiVueComponent<UiPageTourPublicProps, UiPageTourPublicSlots>;
|
|
4707
|
+
|
|
4541
4708
|
/**
|
|
4542
4709
|
* User or customer list template: stats, filters, toolbar, table and a right-hand add/edit drawer.
|
|
4543
4710
|
* Note: Place inside AppShell; fill only the slots you need.
|
|
@@ -4651,6 +4818,21 @@ export interface UiPasswordInputProps {
|
|
|
4651
4818
|
* @remarks Forwarded to the inner element.
|
|
4652
4819
|
*/
|
|
4653
4820
|
error?: string;
|
|
4821
|
+
/**
|
|
4822
|
+
* Adds a red asterisk to the label and the native required attribute.
|
|
4823
|
+
* @default false
|
|
4824
|
+
*/
|
|
4825
|
+
required?: boolean;
|
|
4826
|
+
/**
|
|
4827
|
+
* Native name attribute of the input.
|
|
4828
|
+
* @remarks Forwarded to the inner element.
|
|
4829
|
+
*/
|
|
4830
|
+
name?: string;
|
|
4831
|
+
/**
|
|
4832
|
+
* Focuses the input on mount.
|
|
4833
|
+
* @remarks Forwarded to the inner element.
|
|
4834
|
+
*/
|
|
4835
|
+
autofocus?: boolean;
|
|
4654
4836
|
/**
|
|
4655
4837
|
* Native autocomplete token. Use "new-password" on sign-up and password-change forms so managers offer to generate one.
|
|
4656
4838
|
* @default 'current-password'
|
|
@@ -5016,6 +5198,32 @@ export interface UiProgressProps {
|
|
|
5016
5198
|
export interface UiProgressSlots {}
|
|
5017
5199
|
export const UiProgress: UiVueComponent<UiProgressProps, UiProgressSlots>;
|
|
5018
5200
|
|
|
5201
|
+
/**
|
|
5202
|
+
* Compass dial with a Kaaba marker pointing to the Qibla and the bearing in degrees below it.
|
|
5203
|
+
* 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.
|
|
5204
|
+
*/
|
|
5205
|
+
export interface UiQiblaCompassProps {
|
|
5206
|
+
/**
|
|
5207
|
+
* Qibla bearing in degrees clockwise from true north, 0 to 360; other values wrap.
|
|
5208
|
+
* @default 0
|
|
5209
|
+
*/
|
|
5210
|
+
bearing: number;
|
|
5211
|
+
/**
|
|
5212
|
+
* Direction the device points to, in degrees. The dial turns against it so the marker follows the real Qibla; 0 keeps north up.
|
|
5213
|
+
* @default 0
|
|
5214
|
+
*/
|
|
5215
|
+
heading?: number;
|
|
5216
|
+
/** Optional small caption under the bearing, such as "4 210 km to the Kaaba". */
|
|
5217
|
+
distance?: string;
|
|
5218
|
+
/**
|
|
5219
|
+
* Diameter: xs 120, sm 160, md 200, lg 250, xl 300 px; a number is used as px.
|
|
5220
|
+
* @default 'md'
|
|
5221
|
+
*/
|
|
5222
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
5223
|
+
}
|
|
5224
|
+
export interface UiQiblaCompassSlots {}
|
|
5225
|
+
export const UiQiblaCompass: UiVueComponent<UiQiblaCompassProps, UiQiblaCompassSlots>;
|
|
5226
|
+
|
|
5019
5227
|
/** Group of radio options with optional hints. Use for a short single-choice list that should stay visible. */
|
|
5020
5228
|
export interface UiRadioGroupProps {
|
|
5021
5229
|
/** Value of the selected option. */
|