@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/src/react/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// React 18+ adapter. Usage: import { UiButton, UiAppShell } from '@ziyarago/ui/react'
|
|
3
3
|
import React, { useState, useRef, useEffect, useLayoutEffect, useSyncExternalStore, createElement, cloneElement, isValidElement } from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
|
-
import { components, subscribeUiLocale, getUiVersion } from '../core/index.js';
|
|
5
|
+
import { components, registerComponents, subscribeUiLocale, getUiVersion } from '../core/index.js';
|
|
6
6
|
|
|
7
7
|
const C = {};
|
|
8
8
|
const useIsoLayoutEffect = typeof document === 'undefined' ? useEffect : useLayoutEffect;
|
|
@@ -37,6 +37,13 @@ const wrap = (name, def) => {
|
|
|
37
37
|
return Comp;
|
|
38
38
|
};
|
|
39
39
|
for (const [name, def] of Object.entries(components)) C[name] = wrap(name, def);
|
|
40
|
+
/** Wraps definitions like the built-in ones, registers them in C (cross references work both ways) and returns { UiName: Component }. */
|
|
41
|
+
export function defineUiComponents(defs, { override = false } = {}) {
|
|
42
|
+
registerComponents(defs, { override });
|
|
43
|
+
const out = {};
|
|
44
|
+
for (const [name, def] of Object.entries(defs)) out['Ui' + name] = C[name] = wrap(name, def);
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
40
47
|
|
|
41
48
|
// Explicit named exports (not destructuring): Next.js reads the export names of a 'use client' module statically.
|
|
42
49
|
export const UiButton = C.Button;
|
|
@@ -51,7 +58,6 @@ export const UiFilterChips = C.FilterChips;
|
|
|
51
58
|
export const UiTextField = C.TextField;
|
|
52
59
|
export const UiSelect = C.Select;
|
|
53
60
|
export const UiCodeInput = C.CodeInput;
|
|
54
|
-
export const UiStepper = C.Stepper;
|
|
55
61
|
export const UiCard = C.Card;
|
|
56
62
|
export const UiModal = C.Modal;
|
|
57
63
|
export const UiDrawer = C.Drawer;
|
|
@@ -62,21 +68,12 @@ export const UiProgress = C.Progress;
|
|
|
62
68
|
export const UiRing = C.Ring;
|
|
63
69
|
export const UiKpiTile = C.KpiTile;
|
|
64
70
|
export const UiDataTable = C.DataTable;
|
|
65
|
-
export const UiKanbanColumn = C.KanbanColumn;
|
|
66
|
-
export const UiKanbanCard = C.KanbanCard;
|
|
67
71
|
export const UiTimeline = C.Timeline;
|
|
68
72
|
export const UiTopNav = C.TopNav;
|
|
69
73
|
export const UiSideNav = C.SideNav;
|
|
70
74
|
export const UiAppShell = C.AppShell;
|
|
71
75
|
export const UiPageHeader = C.PageHeader;
|
|
72
76
|
export const UiAuthLayout = C.AuthLayout;
|
|
73
|
-
export const UiLeadCard = C.LeadCard;
|
|
74
|
-
export const UiHotelCard = C.HotelCard;
|
|
75
|
-
export const UiTourCard = C.TourCard;
|
|
76
|
-
export const UiPrayerTimes = C.PrayerTimes;
|
|
77
|
-
export const UiRamadanTracker = C.RamadanTracker;
|
|
78
|
-
export const UiQiblaCompass = C.QiblaCompass;
|
|
79
|
-
export const UiCallRow = C.CallRow;
|
|
80
77
|
export const UiAlert = C.Alert;
|
|
81
78
|
export const UiBanner = C.Banner;
|
|
82
79
|
export const UiAccordion = C.Accordion;
|
|
@@ -89,24 +86,14 @@ export const UiDataState = C.DataState;
|
|
|
89
86
|
export const UiLoadingOverlay = C.LoadingOverlay;
|
|
90
87
|
export const UiConfirmDialog = C.ConfirmDialog;
|
|
91
88
|
export const UiPopconfirm = C.Popconfirm;
|
|
92
|
-
export const UiCarousel = C.Carousel;
|
|
93
|
-
export const UiGallery = C.Gallery;
|
|
94
89
|
export const UiCode = C.Code;
|
|
95
|
-
export const UiPricingCard = C.PricingCard;
|
|
96
|
-
export const UiIntegrationCard = C.IntegrationCard;
|
|
97
|
-
export const UiIncomingCall = C.IncomingCall;
|
|
98
|
-
export const UiCallCard = C.CallCard;
|
|
99
90
|
export const UiDropdown = C.Dropdown;
|
|
100
91
|
export const UiMenu = C.Menu;
|
|
101
92
|
export const UiTooltip = C.Tooltip;
|
|
102
|
-
export const UiHoverCard = C.HoverCard;
|
|
103
93
|
export const UiPopover = C.Popover;
|
|
104
94
|
export const UiCopyButton = C.CopyButton;
|
|
105
|
-
export const UiCommandBar = C.CommandBar;
|
|
106
95
|
export const UiCommandPalette = C.CommandPalette;
|
|
107
|
-
export const UiNotificationBell = C.NotificationBell;
|
|
108
96
|
export const UiToggleGroup = C.ToggleGroup;
|
|
109
|
-
export const UiFab = C.Fab;
|
|
110
97
|
export const UiTextarea = C.Textarea;
|
|
111
98
|
export const UiNumberInput = C.NumberInput;
|
|
112
99
|
export const UiPasswordInput = C.PasswordInput;
|
|
@@ -114,123 +101,41 @@ export const UiSearchInput = C.SearchInput;
|
|
|
114
101
|
export const UiRadioGroup = C.RadioGroup;
|
|
115
102
|
export const UiSlider = C.Slider;
|
|
116
103
|
export const UiRating = C.Rating;
|
|
117
|
-
export const UiChipInput = C.ChipInput;
|
|
118
|
-
export const UiInlineEdit = C.InlineEdit;
|
|
119
|
-
export const UiColorPicker = C.ColorPicker;
|
|
120
104
|
export const UiFileUpload = C.FileUpload;
|
|
121
105
|
export const UiCombobox = C.Combobox;
|
|
122
106
|
export const UiMultiSelect = C.MultiSelect;
|
|
123
|
-
export const UiGroupedSelect = C.GroupedSelect;
|
|
124
107
|
export const UiPhoneInput = C.PhoneInput;
|
|
125
108
|
export const UiCalendar = C.Calendar;
|
|
126
109
|
export const UiDatePicker = C.DatePicker;
|
|
127
110
|
export const UiTimePicker = C.TimePicker;
|
|
128
111
|
export const UiFormField = C.FormField;
|
|
129
112
|
export const UiLoginForm = C.LoginForm;
|
|
130
|
-
export const UiStepForm = C.StepForm;
|
|
131
113
|
export const UiTag = C.Tag;
|
|
132
114
|
export const UiKbd = C.Kbd;
|
|
133
115
|
export const UiStatsCard = C.StatsCard;
|
|
134
|
-
export const UiKpiInline = C.KpiInline;
|
|
135
116
|
export const UiMiniChart = C.MiniChart;
|
|
136
117
|
export const UiDescriptions = C.Descriptions;
|
|
137
118
|
export const UiLazyImage = C.LazyImage;
|
|
138
|
-
export const UiSystemStatus = C.SystemStatus;
|
|
139
|
-
export const UiTreeView = C.TreeView;
|
|
140
|
-
export const UiCalendarView = C.CalendarView;
|
|
141
119
|
export const UiSubNav = C.SubNav;
|
|
142
|
-
export const UiActionRail = C.ActionRail;
|
|
143
120
|
export const UiSplitLayout = C.SplitLayout;
|
|
144
121
|
export const UiSettingsSection = C.SettingsSection;
|
|
145
122
|
export const UiScrollArea = C.ScrollArea;
|
|
146
|
-
export const UiDealCard = C.DealCard;
|
|
147
|
-
export const UiPipelineBoard = C.PipelineBoard;
|
|
148
|
-
export const UiContactPanel = C.ContactPanel;
|
|
149
|
-
export const UiSalesFunnel = C.SalesFunnel;
|
|
150
|
-
export const UiBookingCard = C.BookingCard;
|
|
151
|
-
export const UiGuestCard = C.GuestCard;
|
|
152
|
-
export const UiRoomGrid = C.RoomGrid;
|
|
153
|
-
export const UiRoomCalendar = C.RoomCalendar;
|
|
154
|
-
export const UiOccupancyChart = C.OccupancyChart;
|
|
155
123
|
export const UiChip = C.Chip;
|
|
156
124
|
export const UiIconTile = C.IconTile;
|
|
157
125
|
export const UiStatusIcon = C.StatusIcon;
|
|
158
|
-
export const UiUserCell = C.UserCell;
|
|
159
|
-
export const UiStatRow = C.StatRow;
|
|
160
|
-
export const UiCountryRow = C.CountryRow;
|
|
161
|
-
export const UiStatLine = C.StatLine;
|
|
162
|
-
export const UiStatStrip = C.StatStrip;
|
|
163
|
-
export const UiVersusBar = C.VersusBar;
|
|
164
|
-
export const UiSegBar = C.SegBar;
|
|
165
|
-
export const UiHeroBanner = C.HeroBanner;
|
|
166
|
-
export const UiTabTiles = C.TabTiles;
|
|
167
126
|
export const UiPillTabs = C.PillTabs;
|
|
168
|
-
export const UiPillSelect = C.PillSelect;
|
|
169
|
-
export const UiChartCard = C.ChartCard;
|
|
170
|
-
export const UiActionCard = C.ActionCard;
|
|
171
127
|
export const UiSnackbar = C.Snackbar;
|
|
172
|
-
export const UiTourPopover = C.TourPopover;
|
|
173
|
-
export const UiProfileHeader = C.ProfileHeader;
|
|
174
128
|
export const UiAuthSplit = C.AuthSplit;
|
|
175
|
-
export const UiAuthShowcase = C.AuthShowcase;
|
|
176
129
|
export const UiSocialAuth = C.SocialAuth;
|
|
177
130
|
export const UiStatusPage = C.StatusPage;
|
|
178
|
-
export const UiValidatedField = C.ValidatedField;
|
|
179
131
|
export const UiFooter = C.Footer;
|
|
180
|
-
export const UiDataGroup = C.DataGroup;
|
|
181
|
-
export const UiOptionCard = C.OptionCard;
|
|
182
|
-
export const UiOptionCards = C.OptionCards;
|
|
183
|
-
export const UiRichEditor = C.RichEditor;
|
|
184
|
-
export const UiRangeSlider = C.RangeSlider;
|
|
185
|
-
export const UiRangeCalendar = C.RangeCalendar;
|
|
186
|
-
export const UiStepDialog = C.StepDialog;
|
|
187
|
-
export const UiFullscreenDialog = C.FullscreenDialog;
|
|
188
132
|
export const UiPageDashboard = C.PageDashboard;
|
|
189
|
-
export const UiPagePatterns = C.PagePatterns;
|
|
190
|
-
export const UiPageCrm = C.PageCrm;
|
|
191
|
-
export const UiPageBookings = C.PageBookings;
|
|
192
|
-
export const UiPageCatalog = C.PageCatalog;
|
|
193
|
-
export const UiPageDetail = C.PageDetail;
|
|
194
133
|
export const UiPageSettings = C.PageSettings;
|
|
195
134
|
export const UiPageUserList = C.PageUserList;
|
|
196
|
-
export const UiPageProfile = C.PageProfile;
|
|
197
|
-
export const UiPageForm = C.PageForm;
|
|
198
|
-
export const UiPageOrder = C.PageOrder;
|
|
199
|
-
export const UiPageAccount = C.PageAccount;
|
|
200
135
|
export const UiPagePricing = C.PagePricing;
|
|
201
|
-
export const UiPageFaq = C.PageFaq;
|
|
202
|
-
export const UiPageAnalytics = C.PageAnalytics;
|
|
203
|
-
export const UiPageCalendar = C.PageCalendar;
|
|
204
|
-
export const UiPageKanban = C.PageKanban;
|
|
205
|
-
export const UiPageBilling = C.PageBilling;
|
|
206
|
-
export const UiPageTeam = C.PageTeam;
|
|
207
|
-
export const UiPageIntegrations = C.PageIntegrations;
|
|
208
|
-
export const UiPageSearch = C.PageSearch;
|
|
209
|
-
export const UiPageArticle = C.PageArticle;
|
|
210
|
-
export const UiPageChangelog = C.PageChangelog;
|
|
211
|
-
export const UiPageHelp = C.PageHelp;
|
|
212
|
-
export const UiPageStates = C.PageStates;
|
|
213
|
-
export const UiPageLegal = C.PageLegal;
|
|
214
|
-
export const UiPageLocations = C.PageLocations;
|
|
215
|
-
export const UiPageBookingFlow = C.PageBookingFlow;
|
|
216
|
-
export const UiPageItinerary = C.PageItinerary;
|
|
217
|
-
export const UiPagePrayer = C.PagePrayer;
|
|
218
|
-
export const UiPageGroupManager = C.PageGroupManager;
|
|
219
|
-
export const UiPageTourPublic = C.PageTourPublic;
|
|
220
|
-
export const UiPageNotifications = C.PageNotifications;
|
|
221
|
-
export const UiPageInbox = C.PageInbox;
|
|
222
|
-
export const UiPageCheckout = C.PageCheckout;
|
|
223
|
-
export const UiPageOnboarding = C.PageOnboarding;
|
|
224
|
-
export const UiPageLanding = C.PageLanding;
|
|
225
136
|
export const UiPageAuth = C.PageAuth;
|
|
226
137
|
export const UiPageStatus = C.PageStatus;
|
|
227
|
-
export const UiTreeSelect = C.TreeSelect;
|
|
228
138
|
export const UiContextMenu = C.ContextMenu;
|
|
229
|
-
export const UiSortable = C.Sortable;
|
|
230
|
-
export const UiMap = C.Map;
|
|
231
|
-
export const UiImageUpload = C.ImageUpload;
|
|
232
|
-
export const UiScreensaver = C.Screensaver;
|
|
233
|
-
export const UiTour = C.Tour;
|
|
234
139
|
export const UiHeading = C.Heading;
|
|
235
140
|
export const UiText = C.Text;
|
|
236
141
|
export const UiBox = C.Box;
|
|
@@ -242,10 +147,6 @@ export const UiLink = C.Link;
|
|
|
242
147
|
export const UiPressable = C.Pressable;
|
|
243
148
|
export const UiIcon = C.Icon;
|
|
244
149
|
export const UiPortal = C.Portal;
|
|
245
|
-
export const UiLiquidGlass = C.LiquidGlass;
|
|
246
150
|
export const UiBottomSheet = C.BottomSheet;
|
|
247
|
-
export const UiActionsheet = C.Actionsheet;
|
|
248
|
-
export const UiImageViewer = C.ImageViewer;
|
|
249
|
-
export const UiChatAi = C.ChatAi;
|
|
250
151
|
export { fmt, setIconBase, rules, LOCALES, setUiLocale, getUiLocale, setUiMessages, isRtlLocale } from '../core/index.js';
|
|
251
152
|
export { useUiTheme } from '../theme.js';
|
package/src/resolver.js
CHANGED
|
@@ -3,20 +3,31 @@
|
|
|
3
3
|
// import { ZiyaragoUiResolver } from '@ziyarago/ui/resolver'
|
|
4
4
|
// Components({ resolvers: [ZiyaragoUiResolver()] })
|
|
5
5
|
// Zero dependencies: it only maps <UiButton> to { name: 'UiButton', from: '@ziyarago/ui/vue' }.
|
|
6
|
+
import { createRequire } from 'node:module';
|
|
6
7
|
import { components } from './core/index.js';
|
|
7
8
|
|
|
8
9
|
const NAMES = new Set(Object.keys(components));
|
|
9
10
|
|
|
11
|
+
// Plugin packages (see docs-private/PRO-SPLIT.md, "Plugin contract") export ./names (JSON array of component names without the Ui prefix) and ./vue.
|
|
12
|
+
// A plugin may be a package name or { from, names } for tests and custom setups.
|
|
13
|
+
const loadPlugin = p => {
|
|
14
|
+
if (typeof p !== 'string') return { from: p.from, names: new Set(p.names) };
|
|
15
|
+
const req = createRequire(process.cwd() + '/');
|
|
16
|
+
return { from: p + '/vue', names: new Set(req(p + '/names')) };
|
|
17
|
+
};
|
|
18
|
+
|
|
10
19
|
/**
|
|
11
|
-
* @param {{ prefix?: string, css?: boolean | string, exclude?: string[], from?: string }} [options]
|
|
20
|
+
* @param {{ prefix?: string, css?: boolean | string, exclude?: string[], from?: string, plugins?: Array<string | { from: string, names: string[] }> }} [options]
|
|
12
21
|
* prefix component prefix, default 'Ui' (must match the registered names, which are always Ui*)
|
|
13
22
|
* css true: import '@ziyarago/ui/style.css' as a side effect together with the first resolved component (once per module that uses one);
|
|
14
23
|
* a string: import that path instead (for example your own entry that imports the css inside a Tailwind @layer). Default false.
|
|
15
24
|
* exclude component names (without prefix) that must not be auto-imported, e.g. ['Button'] if you keep your own UiButton.
|
|
16
25
|
* from module the components are imported from, default '@ziyarago/ui/vue'
|
|
26
|
+
* plugins add-on packages whose components auto-import too: ['@ziyarago/ui-pro'] (needs its ./names and ./vue exports) or [{ from, names }]
|
|
17
27
|
*/
|
|
18
28
|
export function ZiyaragoUiResolver(options = {}) {
|
|
19
|
-
const { prefix = 'Ui', css = false, exclude = [], from = '@ziyarago/ui/vue' } = options;
|
|
29
|
+
const { prefix = 'Ui', css = false, exclude = [], from = '@ziyarago/ui/vue', plugins = [] } = options;
|
|
30
|
+
const loaded = plugins.map(loadPlugin);
|
|
20
31
|
const skip = new Set(exclude.map(n => n.replace(/^Ui/, '')));
|
|
21
32
|
const sideEffects = css ? (css === true ? '@ziyarago/ui/style.css' : css) : undefined;
|
|
22
33
|
return {
|
|
@@ -24,8 +35,10 @@ export function ZiyaragoUiResolver(options = {}) {
|
|
|
24
35
|
resolve(name) {
|
|
25
36
|
if (!name.startsWith(prefix)) return;
|
|
26
37
|
const bare = name.slice(prefix.length);
|
|
27
|
-
if (
|
|
28
|
-
|
|
38
|
+
if (skip.has(bare)) return;
|
|
39
|
+
const pl = NAMES.has(bare) ? null : loaded.find(x => x.names.has(bare));
|
|
40
|
+
if (!pl && !NAMES.has(bare)) return;
|
|
41
|
+
return { name: 'Ui' + bare, from: pl ? pl.from : from, ...(sideEffects ? { sideEffects } : {}) };
|
|
29
42
|
},
|
|
30
43
|
};
|
|
31
44
|
}
|
package/src/vue/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Vue 3 adapter. Usage: import { UiButton, UiAppShell } from '@ziyarago/ui/vue'
|
|
2
2
|
import { h, ref, reactive, defineComponent, onMounted, onBeforeUnmount, Teleport, cloneVNode, isVNode } from 'vue';
|
|
3
|
-
import { components, subscribeUiLocale } from '../core/index.js';
|
|
3
|
+
import { components, registerComponents, subscribeUiLocale } from '../core/index.js';
|
|
4
4
|
import { BOOL_PROPS } from '../core/bools.js';
|
|
5
5
|
|
|
6
6
|
const C = {};
|
|
@@ -28,8 +28,15 @@ const wrap = (name, def) => defineComponent({
|
|
|
28
28
|
},
|
|
29
29
|
});
|
|
30
30
|
for (const [name, def] of Object.entries(components)) C[name] = wrap(name, def);
|
|
31
|
+
/** Wraps definitions like the built-in ones, registers them in C (cross references work both ways) and returns { UiName: Component }. */
|
|
32
|
+
export function defineUiComponents(defs, { override = false } = {}) {
|
|
33
|
+
registerComponents(defs, { override });
|
|
34
|
+
const out = {};
|
|
35
|
+
for (const [name, def] of Object.entries(defs)) out['Ui' + name] = C[name] = wrap(name, def);
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
31
38
|
|
|
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,
|
|
39
|
+
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, Card: UiCard, Modal: UiModal, Drawer: UiDrawer, Toast: UiToast, Breadcrumbs: UiBreadcrumbs, Pagination: UiPagination, Progress: UiProgress, Ring: UiRing, KpiTile: UiKpiTile, DataTable: UiDataTable, Timeline: UiTimeline, TopNav: UiTopNav, SideNav: UiSideNav, AppShell: UiAppShell, PageHeader: UiPageHeader, AuthLayout: UiAuthLayout, Alert: UiAlert, Banner: UiBanner, Accordion: UiAccordion, Skeleton: UiSkeleton, Spinner: UiSpinner, Divider: UiDivider, EmptyState: UiEmptyState, ErrorPage: UiErrorPage, DataState: UiDataState, LoadingOverlay: UiLoadingOverlay, ConfirmDialog: UiConfirmDialog, Popconfirm: UiPopconfirm, Code: UiCode, Dropdown: UiDropdown, Menu: UiMenu, Tooltip: UiTooltip, Popover: UiPopover, CopyButton: UiCopyButton, CommandPalette: UiCommandPalette, ToggleGroup: UiToggleGroup, Textarea: UiTextarea, NumberInput: UiNumberInput, PasswordInput: UiPasswordInput, SearchInput: UiSearchInput, RadioGroup: UiRadioGroup, Slider: UiSlider, Rating: UiRating, FileUpload: UiFileUpload, Combobox: UiCombobox, MultiSelect: UiMultiSelect, PhoneInput: UiPhoneInput, Calendar: UiCalendar, DatePicker: UiDatePicker, TimePicker: UiTimePicker, FormField: UiFormField, LoginForm: UiLoginForm, Tag: UiTag, Kbd: UiKbd, StatsCard: UiStatsCard, MiniChart: UiMiniChart, Descriptions: UiDescriptions, LazyImage: UiLazyImage, SubNav: UiSubNav, SplitLayout: UiSplitLayout, SettingsSection: UiSettingsSection, ScrollArea: UiScrollArea, Chip: UiChip, IconTile: UiIconTile, StatusIcon: UiStatusIcon, PillTabs: UiPillTabs, Snackbar: UiSnackbar, AuthSplit: UiAuthSplit, SocialAuth: UiSocialAuth, StatusPage: UiStatusPage, Footer: UiFooter, PageDashboard: UiPageDashboard, PageSettings: UiPageSettings, PageUserList: UiPageUserList, PagePricing: UiPagePricing, PageAuth: UiPageAuth, PageStatus: UiPageStatus, ContextMenu: UiContextMenu, Heading: UiHeading, Text: UiText, Box: UiBox, Center: UiCenter, HStack: UiHStack, VStack: UiVStack, Grid: UiGrid, Link: UiLink, Pressable: UiPressable, Icon: UiIcon, Portal: UiPortal, BottomSheet: UiBottomSheet } = C;
|
|
33
40
|
export const install = app => { for (const [n, c] of Object.entries(C)) app.component('Ui' + n, c); };
|
|
34
41
|
export { fmt, setIconBase, rules } from '../core/index.js';
|
|
35
42
|
export { useUiTheme } from '../theme.js';
|
package/types/core.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
// Core (framework-neutral) entry. Most apps import from '@ziyarago/ui/vue' or '@ziyarago/ui/react' instead.
|
|
2
2
|
export { rules, setIconBase, fmt } from './shared';
|
|
3
3
|
export type * from './shared';
|
|
4
|
+
export interface ComponentDefinition { state?: Record<string, unknown>; slots?: string[]; render: (ctx: any) => unknown }
|
|
5
|
+
/** Extension API for add-on packages: adds definitions to the shared registry. Throws on a name clash with a different definition unless { override: true }. */
|
|
6
|
+
export function registerComponents(defs: Record<string, ComponentDefinition>, options?: { override?: boolean }): Record<string, ComponentDefinition>;
|
|
4
7
|
export const components: Record<string, { state?: Record<string, unknown>; slots?: string[]; render: (ctx: any) => unknown }>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Semi-internal helpers for add-on packages such as @ziyarago/ui-pro. Not a public API: may change in any minor release.
|
|
2
|
+
export const cx: (...a: unknown[]) => string;
|
|
3
|
+
export const pick: (props: Record<string, any>, keys: string[]) => Record<string, any>;
|
|
4
|
+
export const INPUT_ATTRS: string[];
|
|
5
|
+
export const DZ: Record<string, number>;
|
|
6
|
+
export const dzp: (props: any, base: number) => number;
|
|
7
|
+
export const dzf: (n: number) => string;
|
|
8
|
+
export const dzb: (props: any) => string;
|
|
9
|
+
export const ddRef: (close: () => void, options?: Record<string, any>) => (el: any) => void;
|
|
10
|
+
export const icon: (h: any, name: string, size?: number) => any;
|
|
11
|
+
export const fmt: Record<string, (...args: any[]) => string>;
|
|
12
|
+
export const trap: (options?: Record<string, any>) => (el: any) => void;
|
|
13
|
+
export const life: (options?: Record<string, any>) => (el: any) => void;
|
|
14
|
+
export const rove: (selector: string, options?: Record<string, any>) => (e: any) => void;
|
|
15
|
+
export const tabIdx: (items: any[], isOn: (item: any) => boolean) => (i: number) => 0 | -1;
|
|
16
|
+
export const listKeys: (selector: string, options?: Record<string, any>) => (e: any) => void;
|
|
17
|
+
export const openKeys: (isOpen: boolean, open: () => void) => (e: any) => void;
|
|
18
|
+
export const focusIn: (el: any) => void;
|
|
19
|
+
export const toTrigger: (e: any) => void;
|
|
20
|
+
export const trigger: (list: any) => any;
|
|
21
|
+
export const rules: typeof import('./shared').rules;
|
|
22
|
+
/** Page template helper: page(name, slotIds, layoutTree) returns [name, definition]. */
|
|
23
|
+
export function page(name: string, slots: string[], tree: unknown): [string, import('./core').ComponentDefinition];
|
|
24
|
+
export function t(component: string, key: string, params?: Record<string, string | number>): string;
|
|
25
|
+
export function getUiLocale(): string;
|
|
26
|
+
export function intlLocale(): string;
|
|
27
|
+
export function defineMessages(component: string, messages: Record<string, Record<string, string>>): void;
|
|
28
|
+
export function registerComponents(defs: Record<string, import('./core').ComponentDefinition>, options?: { override?: boolean }): Record<string, import('./core').ComponentDefinition>;
|
|
29
|
+
export const components: Record<string, import('./core').ComponentDefinition>;
|
|
30
|
+
export const BOOL_PROPS: Set<string>;
|
package/types/meta.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export interface MetaProp { type: string; values?: string[]; default?: unknown; description?: string; required?: boolean; model?: boolean; forwarded?: boolean }
|
|
2
2
|
export interface ComponentMeta { description: string; props?: Record<string, MetaProp>; slots?: Record<string, string>; events?: Record<string, string>; notes?: string[] }
|
|
3
|
+
export interface MetaGroup { id: string; title?: string; blurb?: string; names: string[] }
|
|
4
|
+
/** Extension API: adds metadata for plugin components. `tiers` are marked as pro, `groups` list them in the manifest. */
|
|
5
|
+
export function registerMeta(extra: Record<string, ComponentMeta>, options?: { tiers?: string[]; groups?: MetaGroup[] }): Record<string, ComponentMeta>;
|
|
3
6
|
export const meta: Record<string, ComponentMeta>;
|
|
4
7
|
export default meta;
|
|
8
|
+
/** Names of the Pro components by group (src/meta/tiers.js). Documented in the public meta, implemented in @ziyarago/ui-pro. */
|
|
9
|
+
export const PRO: Record<string, string[]>;
|
|
10
|
+
export const PRO_NAMES: Set<string>;
|
|
11
|
+
export function isPro(name: string): boolean;
|
|
12
|
+
export const GROUPS: MetaGroup[];
|
package/types/nuxt.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface ModuleOptions {
|
|
2
2
|
css?: boolean;
|
|
3
3
|
prefix?: string;
|
|
4
|
+
/** Add-on packages (for example '@ziyarago/ui-pro'): their components auto-import and their style.css is added after the core css. */
|
|
5
|
+
plugins?: string[];
|
|
4
6
|
theme?: false | { theme?: 'dark' | 'light'; palette?: 'gold' | 'tamam'; dir?: 'ltr' | 'rtl'; bg?: 'none' | 'aurora' | 'sunset' | 'ocean' | 'emerald' | 'rose' | 'mesh' };
|
|
5
7
|
}
|
|
6
8
|
declare const _default: import('@nuxt/schema').NuxtModule<ModuleOptions>;
|