@ziyarago/ui 0.7.0 → 0.8.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 +4 -4
- package/dist/llms-full.txt +104 -2
- package/dist/llms.txt +9 -3
- package/dist/manifest.json +900 -1
- package/package.json +2 -2
- package/src/core/pages.js +7 -1
- package/src/meta/groups.js +1 -1
- package/src/meta/pages.js +72 -0
- package/src/meta/templates.json +701 -0
- package/src/react/index.js +6 -0
- package/src/vue/index.js +1 -1
- package/types/react.d.ts +330 -0
- package/types/vue-global.d.ts +6 -0
- package/types/vue.d.ts +228 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ziyarago/ui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "ZiyaraGo UI — glass design system for Umrah and Hajj products. OKLCH tokens, two palettes, dark and light, RTL, Thmanyah. One framework-neutral core with Vue 3, Nuxt and React adapters,
|
|
3
|
+
"version": "0.8.0",
|
|
4
|
+
"description": "ZiyaraGo UI — glass design system for Umrah and Hajj products. OKLCH tokens, two palettes, dark and light, RTL, Thmanyah. One framework-neutral core with Vue 3, Nuxt and React adapters, 196 components and 29 page templates.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui",
|
|
7
7
|
"design-system",
|
package/src/core/pages.js
CHANGED
|
@@ -43,7 +43,13 @@ const T = Object.fromEntries([
|
|
|
43
43
|
page('PageCheckout', ['header', 'steps', 'items', 'address', 'payment', 'summary'], ['col', 'header', 'steps', ['two', ['items', 'address', 'payment'], ['summary']]]),
|
|
44
44
|
page('PageInbox', ['header', 'filters', 'list', 'thread', 'composer', 'customer'], ['col', 'header', ['wrap', ['filters', 'list'], [['two', ['thread', 'composer'], ['customer']]], 320]]),
|
|
45
45
|
page('PageNotifications', ['header', 'filters', 'feed', 'empty'], ['col', 'header', 'filters', 'feed', 'empty']),
|
|
46
|
-
page('PageAnalytics', ['header', 'period', 'kpis', 'trend', 'breakdown', 'table'], ['col', 'header', 'period', 'kpis', ['auto', 420, 'trend', 'breakdown'], 'table'])
|
|
46
|
+
page('PageAnalytics', ['header', 'period', 'kpis', 'trend', 'breakdown', 'table'], ['col', 'header', 'period', 'kpis', ['auto', 420, 'trend', 'breakdown'], 'table']),
|
|
47
|
+
page('PageCalendar', ['header', 'toolbar', 'grid', 'mini', 'details'], ['col', 'header', 'toolbar', ['two', ['grid'], ['mini', 'details']]]),
|
|
48
|
+
page('PageKanban', ['header', 'filters', 'board', 'detail'], ['col', 'header', 'filters', ['two', ['board'], ['detail']]]),
|
|
49
|
+
page('PageBilling', ['header', 'plan', 'usage', 'invoices', 'methods', 'upgrade'], ['col', 'header', ['two', ['plan', 'usage', 'invoices'], ['methods', 'upgrade']]]),
|
|
50
|
+
page('PageTeam', ['header', 'stats', 'members', 'roles', 'invite'], ['col', 'header', 'stats', ['two', ['members', 'roles'], ['invite']]]),
|
|
51
|
+
page('PageIntegrations', ['header', 'filters', 'connections', 'keys', 'webhooks'], ['col', 'header', 'filters', 'connections', ['auto', 420, 'keys', 'webhooks']]),
|
|
52
|
+
page('PageSearch', ['header', 'search', 'filters', 'results', 'empty'], ['col', 'header', 'search', ['wrap', ['filters'], ['results', 'empty'], 260]])
|
|
47
53
|
]);
|
|
48
54
|
|
|
49
55
|
T.PageAuth = { slots: ['background', 'logo', 'aside', 'form', 'footer'], render: ({ C, h, props: p, slots: s }) => {
|
package/src/meta/groups.js
CHANGED
|
@@ -10,7 +10,7 @@ export const GROUPS = [
|
|
|
10
10
|
{ id: 'navigation', title: 'Navigation', blurb: 'Menus, tabs and paging.', names: ['TopNav', 'SideNav', 'SubNav', 'Tabs', 'PillTabs', 'Breadcrumbs', 'Pagination', 'Accordion'] },
|
|
11
11
|
{ id: 'media', title: 'Media and icons', blurb: 'Avatars, images, maps and icons.', names: ['Avatar', 'Icon', 'LazyImage', 'Gallery', 'Carousel', 'Map', 'ProfileHeader', 'ChatAi'] },
|
|
12
12
|
{ id: 'domain', title: 'Domain', blurb: 'Umrah, Hajj, hotel and CRM blocks.', names: ['HotelCard', 'TourCard', 'PrayerTimes', 'RamadanTracker', 'BookingCard', 'GuestCard', 'RoomGrid', 'RoomCalendar', 'LeadCard', 'DealCard', 'PipelineBoard', 'ContactPanel', 'KanbanColumn', 'KanbanCard', 'CallRow', 'CallCard', 'IncomingCall', 'AuthSplit', 'AuthShowcase', 'SocialAuth'] },
|
|
13
|
-
{ id: 'pages', title: 'Page templates', blurb: 'Ready layouts with named slots.', names: ['PageDashboard', 'PagePatterns', 'PageCrm', 'PageBookings', 'PageCatalog', 'PageDetail', 'PageSettings', 'PageUserList', 'PageProfile', 'PageForm', 'PageOrder', 'PageAccount', 'PagePricing', 'PageFaq', 'PageAnalytics', 'PageNotifications', 'PageInbox', 'PageCheckout', 'PageOnboarding', 'PageLanding', 'PageAuth', 'PageStatus'] },
|
|
13
|
+
{ id: 'pages', title: 'Page templates', blurb: 'Ready layouts with named slots.', names: ['PageDashboard', 'PagePatterns', 'PageCrm', 'PageBookings', 'PageCatalog', 'PageDetail', 'PageSettings', 'PageUserList', 'PageProfile', 'PageForm', 'PageOrder', 'PageAccount', 'PagePricing', 'PageFaq', 'PageAnalytics', 'PageCalendar', 'PageKanban', 'PageBilling', 'PageTeam', 'PageIntegrations', 'PageSearch', 'PageNotifications', 'PageInbox', 'PageCheckout', 'PageOnboarding', 'PageLanding', 'PageAuth', 'PageStatus'] },
|
|
14
14
|
];
|
|
15
15
|
|
|
16
16
|
export const groupOf = name => GROUPS.find(g => g.names.includes(name));
|
package/src/meta/pages.js
CHANGED
|
@@ -267,6 +267,78 @@ export default {
|
|
|
267
267
|
},
|
|
268
268
|
notes: [hdrNote, "Trend and breakdown share a row and wrap on narrow screens. Put Export in the actions slot."],
|
|
269
269
|
},
|
|
270
|
+
PageCalendar: {
|
|
271
|
+
description: "Calendar template: view switch, time grid, mini calendar and event details.",
|
|
272
|
+
props: header,
|
|
273
|
+
slots: {
|
|
274
|
+
...headSlots,
|
|
275
|
+
toolbar: "SegmentedControl, Button, IconButton.",
|
|
276
|
+
grid: "Time grid with events; Card with custom grid, or CalendarView for the month.",
|
|
277
|
+
mini: "Month picker; Calendar.",
|
|
278
|
+
details: "Selected event; Card, Descriptions, Avatar, Button.",
|
|
279
|
+
},
|
|
280
|
+
notes: [hdrNote, "The grid sits beside the mini calendar and details; they stack under 860 px."],
|
|
281
|
+
},
|
|
282
|
+
PageKanban: {
|
|
283
|
+
description: "Kanban template: filters, task board columns and a card detail panel.",
|
|
284
|
+
props: header,
|
|
285
|
+
slots: {
|
|
286
|
+
...headSlots,
|
|
287
|
+
filters: "SearchInput, FilterChips, Select.",
|
|
288
|
+
board: "Columns with cards; KanbanColumn, KanbanCard.",
|
|
289
|
+
detail: "Selected card; Card, Descriptions, Checkbox, Timeline.",
|
|
290
|
+
},
|
|
291
|
+
notes: [hdrNote, "Board scrolls horizontally inside its area; detail goes below it under 860 px."],
|
|
292
|
+
},
|
|
293
|
+
PageBilling: {
|
|
294
|
+
description: "Billing template: current plan, usage meters, invoices, payment methods and an upgrade card.",
|
|
295
|
+
props: header,
|
|
296
|
+
slots: {
|
|
297
|
+
...headSlots,
|
|
298
|
+
plan: "Current plan; Card with Badge and Buttons.",
|
|
299
|
+
usage: "Usage meters; Progress.",
|
|
300
|
+
invoices: "Invoices; DataTable.",
|
|
301
|
+
methods: "Saved cards; Card, IconTile, Badge.",
|
|
302
|
+
upgrade: "Upgrade call to action; Card variant=\"inverse\" or PricingCard.",
|
|
303
|
+
},
|
|
304
|
+
notes: [hdrNote, "Plan, usage and invoices share the main column; methods and upgrade form the side column."],
|
|
305
|
+
},
|
|
306
|
+
PageTeam: {
|
|
307
|
+
description: "Team template: member stats, members table, roles and permissions matrix, and an invite form.",
|
|
308
|
+
props: header,
|
|
309
|
+
slots: {
|
|
310
|
+
...headSlots,
|
|
311
|
+
stats: "Counters; KpiTile, StatsCard.",
|
|
312
|
+
members: "Members; DataTable with UserCell, Select, Badge.",
|
|
313
|
+
roles: "Permissions matrix; DataTable with Checkbox cells.",
|
|
314
|
+
invite: "Invite form; Card, TextField, Select, Button.",
|
|
315
|
+
},
|
|
316
|
+
notes: [hdrNote, "Members and roles share the main column; the invite form is the side column."],
|
|
317
|
+
},
|
|
318
|
+
PageIntegrations: {
|
|
319
|
+
description: "Integrations template: connection cards, API keys and webhooks.",
|
|
320
|
+
props: header,
|
|
321
|
+
slots: {
|
|
322
|
+
...headSlots,
|
|
323
|
+
filters: "SearchInput, FilterChips.",
|
|
324
|
+
connections: "IntegrationCard grid.",
|
|
325
|
+
keys: "Keys; DataTable with CopyButton and IconButton.",
|
|
326
|
+
webhooks: "Webhooks list; Card, Switch, Chip.",
|
|
327
|
+
},
|
|
328
|
+
notes: [hdrNote, "Keys and webhooks share a row and wrap on narrow screens."],
|
|
329
|
+
},
|
|
330
|
+
PageSearch: {
|
|
331
|
+
description: "Search template: query field, filter sidebar, result groups and an empty state.",
|
|
332
|
+
props: header,
|
|
333
|
+
slots: {
|
|
334
|
+
...headSlots,
|
|
335
|
+
search: "SearchInput, Tabs.",
|
|
336
|
+
filters: "Filters; Card, Checkbox, Select.",
|
|
337
|
+
results: "Result groups; Card, Chip, Divider.",
|
|
338
|
+
empty: "Shown only when there are no results; EmptyState.",
|
|
339
|
+
},
|
|
340
|
+
notes: [hdrNote, "Filters sit left of the results and stack above them under 860 px. Fill empty only when there are no results."],
|
|
341
|
+
},
|
|
270
342
|
PageAuth: {
|
|
271
343
|
description: 'Sign-in page template without the app shell, as a centered card or a split layout.',
|
|
272
344
|
props: {
|