sprof 0.9.5 → 0.9.7

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.
@@ -27,14 +27,14 @@
27
27
  * его можно использовать в любом vite-конфиге без бандла sprof.
28
28
  */
29
29
  /** Идентификаторы, которые инжектит unplugin-auto-import */
30
- export declare const sprofAutoImportNames: readonly ["PF", "PFM", "useCrud", "useFilters", "usePagination"];
30
+ export declare const sprofAutoImportNames: readonly ["PF", "PFM", "useCrud", "useFilters", "useLoader", "useOptions", "usePagination"];
31
31
  export interface SprofAutoImportsPreset {
32
32
  from: string;
33
33
  imports: string[];
34
34
  }
35
35
  /**
36
36
  * Inline-пресет для unplugin-auto-import (`imports`): PF/PFM (ядерные
37
- * namespace'ы) и композаблы useCrud/useFilters/usePagination.
37
+ * namespace'ы) и композаблы useCrud/useFilters/useLoader/useOptions/usePagination.
38
38
  *
39
39
  * ```ts
40
40
  * AutoImport({ imports: [sprofAutoImports] })
@@ -1,14 +1,14 @@
1
- const e = ["PF", "PFM", "useCrud", "useFilters", "usePagination"], f = {
1
+ const e = ["PF", "PFM", "useCrud", "useFilters", "useLoader", "useOptions", "usePagination"], f = {
2
2
  from: "sprof",
3
3
  imports: [...e]
4
4
  };
5
5
  function p(r = {}) {
6
- const t = r.prefix ?? "P", s = r.from ?? "sprof";
6
+ const s = r.prefix ?? "P", t = r.from ?? "sprof";
7
7
  return {
8
8
  type: "component",
9
9
  resolve: (o) => {
10
- if (o.startsWith(t))
11
- return { name: o, from: s };
10
+ if (o.startsWith(s))
11
+ return { name: o, from: t };
12
12
  }
13
13
  };
14
14
  }
@@ -14,6 +14,15 @@ export default class FileInfo {
14
14
  description: string;
15
15
  order: number;
16
16
  constructor(i?: FileInfo);
17
+ /**
18
+ * Ссылка на файл: `url`, иначе `${StaticUrl}/${fileSystemPath}`.
19
+ *
20
+ * ⚠️ Если ЗАПОЛНЕНО НЕТ (осиротевшая запись `file_infos` без пути и баннера) —
21
+ * возвращаем ПУСТУЮ строку, а НЕ `${StaticUrl}/`. Раньше в этом случае получался
22
+ * `/api/static/` с пустым путём: браузер звал его при каждом рендере `<img>` и
23
+ * получал 404 (на pros — десятки в сутки). Пустая ссылка — сигнал вызывающему коду
24
+ * не рендерить картинку вовсе (см. способы применения: `if (getFileUrl())`).
25
+ */
17
26
  getFileUrl(): string | URL;
18
27
  getFileListObject(): {
19
28
  name: string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,556 @@
1
+ import { StoryFn } from '@storybook/vue3';
2
+ declare const _default: {
3
+ title: string;
4
+ component: {
5
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
6
+ loading?: boolean | undefined;
7
+ error?: string | undefined;
8
+ empty?: boolean | undefined;
9
+ loadingText?: string | undefined;
10
+ emptyText?: string | undefined;
11
+ emptyIcon?: string | undefined;
12
+ retryLabel?: string | undefined;
13
+ spinnerSize?: string | undefined;
14
+ iconSize?: string | undefined;
15
+ spinnerColor?: string | undefined;
16
+ inline?: boolean | undefined;
17
+ }> & Readonly<{
18
+ onRetry?: (() => any) | undefined;
19
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
20
+ retry: () => any;
21
+ }, import('vue').PublicProps, {
22
+ error: string;
23
+ iconSize: string;
24
+ spinnerColor: string;
25
+ spinnerSize: string;
26
+ loading: boolean;
27
+ empty: boolean;
28
+ loadingText: string;
29
+ emptyText: string;
30
+ emptyIcon: string;
31
+ retryLabel: string;
32
+ inline: boolean;
33
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
34
+ P: {};
35
+ B: {};
36
+ D: {};
37
+ C: {};
38
+ M: {};
39
+ Defaults: {};
40
+ }, Readonly<{
41
+ loading?: boolean | undefined;
42
+ error?: string | undefined;
43
+ empty?: boolean | undefined;
44
+ loadingText?: string | undefined;
45
+ emptyText?: string | undefined;
46
+ emptyIcon?: string | undefined;
47
+ retryLabel?: string | undefined;
48
+ spinnerSize?: string | undefined;
49
+ iconSize?: string | undefined;
50
+ spinnerColor?: string | undefined;
51
+ inline?: boolean | undefined;
52
+ }> & Readonly<{
53
+ onRetry?: (() => any) | undefined;
54
+ }>, {}, {}, {}, {}, {
55
+ error: string;
56
+ iconSize: string;
57
+ spinnerColor: string;
58
+ spinnerSize: string;
59
+ loading: boolean;
60
+ empty: boolean;
61
+ loadingText: string;
62
+ emptyText: string;
63
+ emptyIcon: string;
64
+ retryLabel: string;
65
+ inline: boolean;
66
+ }>;
67
+ __isFragment?: undefined;
68
+ __isTeleport?: undefined;
69
+ __isSuspense?: undefined;
70
+ } & import('vue').ComponentOptionsBase<Readonly<{
71
+ loading?: boolean | undefined;
72
+ error?: string | undefined;
73
+ empty?: boolean | undefined;
74
+ loadingText?: string | undefined;
75
+ emptyText?: string | undefined;
76
+ emptyIcon?: string | undefined;
77
+ retryLabel?: string | undefined;
78
+ spinnerSize?: string | undefined;
79
+ iconSize?: string | undefined;
80
+ spinnerColor?: string | undefined;
81
+ inline?: boolean | undefined;
82
+ }> & Readonly<{
83
+ onRetry?: (() => any) | undefined;
84
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
85
+ retry: () => any;
86
+ }, string, {
87
+ error: string;
88
+ iconSize: string;
89
+ spinnerColor: string;
90
+ spinnerSize: string;
91
+ loading: boolean;
92
+ empty: boolean;
93
+ loadingText: string;
94
+ emptyText: string;
95
+ emptyIcon: string;
96
+ retryLabel: string;
97
+ inline: boolean;
98
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
99
+ $slots: {
100
+ loading?(_: {}): any;
101
+ error?(_: {
102
+ retry: () => void;
103
+ }): any;
104
+ empty?(_: {}): any;
105
+ default?(_: {}): any;
106
+ };
107
+ });
108
+ tags: string[];
109
+ parameters: {
110
+ docs: {
111
+ description: {
112
+ component: string;
113
+ };
114
+ };
115
+ };
116
+ argTypes: {
117
+ loading: {
118
+ control: string;
119
+ };
120
+ error: {
121
+ control: string;
122
+ };
123
+ empty: {
124
+ control: string;
125
+ };
126
+ loadingText: {
127
+ control: string;
128
+ };
129
+ emptyText: {
130
+ control: string;
131
+ };
132
+ retryLabel: {
133
+ control: string;
134
+ };
135
+ inline: {
136
+ control: string;
137
+ };
138
+ };
139
+ };
140
+ export default _default;
141
+ export declare const Loading: StoryFn<{
142
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
143
+ loading?: boolean | undefined;
144
+ error?: string | undefined;
145
+ empty?: boolean | undefined;
146
+ loadingText?: string | undefined;
147
+ emptyText?: string | undefined;
148
+ emptyIcon?: string | undefined;
149
+ retryLabel?: string | undefined;
150
+ spinnerSize?: string | undefined;
151
+ iconSize?: string | undefined;
152
+ spinnerColor?: string | undefined;
153
+ inline?: boolean | undefined;
154
+ }> & Readonly<{
155
+ onRetry?: (() => any) | undefined;
156
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
157
+ retry: () => any;
158
+ }, import('vue').PublicProps, {
159
+ error: string;
160
+ iconSize: string;
161
+ spinnerColor: string;
162
+ spinnerSize: string;
163
+ loading: boolean;
164
+ empty: boolean;
165
+ loadingText: string;
166
+ emptyText: string;
167
+ emptyIcon: string;
168
+ retryLabel: string;
169
+ inline: boolean;
170
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
171
+ P: {};
172
+ B: {};
173
+ D: {};
174
+ C: {};
175
+ M: {};
176
+ Defaults: {};
177
+ }, Readonly<{
178
+ loading?: boolean | undefined;
179
+ error?: string | undefined;
180
+ empty?: boolean | undefined;
181
+ loadingText?: string | undefined;
182
+ emptyText?: string | undefined;
183
+ emptyIcon?: string | undefined;
184
+ retryLabel?: string | undefined;
185
+ spinnerSize?: string | undefined;
186
+ iconSize?: string | undefined;
187
+ spinnerColor?: string | undefined;
188
+ inline?: boolean | undefined;
189
+ }> & Readonly<{
190
+ onRetry?: (() => any) | undefined;
191
+ }>, {}, {}, {}, {}, {
192
+ error: string;
193
+ iconSize: string;
194
+ spinnerColor: string;
195
+ spinnerSize: string;
196
+ loading: boolean;
197
+ empty: boolean;
198
+ loadingText: string;
199
+ emptyText: string;
200
+ emptyIcon: string;
201
+ retryLabel: string;
202
+ inline: boolean;
203
+ }>;
204
+ __isFragment?: undefined;
205
+ __isTeleport?: undefined;
206
+ __isSuspense?: undefined;
207
+ } & import('vue').ComponentOptionsBase<Readonly<{
208
+ loading?: boolean | undefined;
209
+ error?: string | undefined;
210
+ empty?: boolean | undefined;
211
+ loadingText?: string | undefined;
212
+ emptyText?: string | undefined;
213
+ emptyIcon?: string | undefined;
214
+ retryLabel?: string | undefined;
215
+ spinnerSize?: string | undefined;
216
+ iconSize?: string | undefined;
217
+ spinnerColor?: string | undefined;
218
+ inline?: boolean | undefined;
219
+ }> & Readonly<{
220
+ onRetry?: (() => any) | undefined;
221
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
222
+ retry: () => any;
223
+ }, string, {
224
+ error: string;
225
+ iconSize: string;
226
+ spinnerColor: string;
227
+ spinnerSize: string;
228
+ loading: boolean;
229
+ empty: boolean;
230
+ loadingText: string;
231
+ emptyText: string;
232
+ emptyIcon: string;
233
+ retryLabel: string;
234
+ inline: boolean;
235
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
236
+ $slots: {
237
+ loading?(_: {}): any;
238
+ error?(_: {
239
+ retry: () => void;
240
+ }): any;
241
+ empty?(_: {}): any;
242
+ default?(_: {}): any;
243
+ };
244
+ })>;
245
+ export declare const Error: StoryFn<{
246
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
247
+ loading?: boolean | undefined;
248
+ error?: string | undefined;
249
+ empty?: boolean | undefined;
250
+ loadingText?: string | undefined;
251
+ emptyText?: string | undefined;
252
+ emptyIcon?: string | undefined;
253
+ retryLabel?: string | undefined;
254
+ spinnerSize?: string | undefined;
255
+ iconSize?: string | undefined;
256
+ spinnerColor?: string | undefined;
257
+ inline?: boolean | undefined;
258
+ }> & Readonly<{
259
+ onRetry?: (() => any) | undefined;
260
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
261
+ retry: () => any;
262
+ }, import('vue').PublicProps, {
263
+ error: string;
264
+ iconSize: string;
265
+ spinnerColor: string;
266
+ spinnerSize: string;
267
+ loading: boolean;
268
+ empty: boolean;
269
+ loadingText: string;
270
+ emptyText: string;
271
+ emptyIcon: string;
272
+ retryLabel: string;
273
+ inline: boolean;
274
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
275
+ P: {};
276
+ B: {};
277
+ D: {};
278
+ C: {};
279
+ M: {};
280
+ Defaults: {};
281
+ }, Readonly<{
282
+ loading?: boolean | undefined;
283
+ error?: string | undefined;
284
+ empty?: boolean | undefined;
285
+ loadingText?: string | undefined;
286
+ emptyText?: string | undefined;
287
+ emptyIcon?: string | undefined;
288
+ retryLabel?: string | undefined;
289
+ spinnerSize?: string | undefined;
290
+ iconSize?: string | undefined;
291
+ spinnerColor?: string | undefined;
292
+ inline?: boolean | undefined;
293
+ }> & Readonly<{
294
+ onRetry?: (() => any) | undefined;
295
+ }>, {}, {}, {}, {}, {
296
+ error: string;
297
+ iconSize: string;
298
+ spinnerColor: string;
299
+ spinnerSize: string;
300
+ loading: boolean;
301
+ empty: boolean;
302
+ loadingText: string;
303
+ emptyText: string;
304
+ emptyIcon: string;
305
+ retryLabel: string;
306
+ inline: boolean;
307
+ }>;
308
+ __isFragment?: undefined;
309
+ __isTeleport?: undefined;
310
+ __isSuspense?: undefined;
311
+ } & import('vue').ComponentOptionsBase<Readonly<{
312
+ loading?: boolean | undefined;
313
+ error?: string | undefined;
314
+ empty?: boolean | undefined;
315
+ loadingText?: string | undefined;
316
+ emptyText?: string | undefined;
317
+ emptyIcon?: string | undefined;
318
+ retryLabel?: string | undefined;
319
+ spinnerSize?: string | undefined;
320
+ iconSize?: string | undefined;
321
+ spinnerColor?: string | undefined;
322
+ inline?: boolean | undefined;
323
+ }> & Readonly<{
324
+ onRetry?: (() => any) | undefined;
325
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
326
+ retry: () => any;
327
+ }, string, {
328
+ error: string;
329
+ iconSize: string;
330
+ spinnerColor: string;
331
+ spinnerSize: string;
332
+ loading: boolean;
333
+ empty: boolean;
334
+ loadingText: string;
335
+ emptyText: string;
336
+ emptyIcon: string;
337
+ retryLabel: string;
338
+ inline: boolean;
339
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
340
+ $slots: {
341
+ loading?(_: {}): any;
342
+ error?(_: {
343
+ retry: () => void;
344
+ }): any;
345
+ empty?(_: {}): any;
346
+ default?(_: {}): any;
347
+ };
348
+ })>;
349
+ export declare const Empty: StoryFn<{
350
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
351
+ loading?: boolean | undefined;
352
+ error?: string | undefined;
353
+ empty?: boolean | undefined;
354
+ loadingText?: string | undefined;
355
+ emptyText?: string | undefined;
356
+ emptyIcon?: string | undefined;
357
+ retryLabel?: string | undefined;
358
+ spinnerSize?: string | undefined;
359
+ iconSize?: string | undefined;
360
+ spinnerColor?: string | undefined;
361
+ inline?: boolean | undefined;
362
+ }> & Readonly<{
363
+ onRetry?: (() => any) | undefined;
364
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
365
+ retry: () => any;
366
+ }, import('vue').PublicProps, {
367
+ error: string;
368
+ iconSize: string;
369
+ spinnerColor: string;
370
+ spinnerSize: string;
371
+ loading: boolean;
372
+ empty: boolean;
373
+ loadingText: string;
374
+ emptyText: string;
375
+ emptyIcon: string;
376
+ retryLabel: string;
377
+ inline: boolean;
378
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
379
+ P: {};
380
+ B: {};
381
+ D: {};
382
+ C: {};
383
+ M: {};
384
+ Defaults: {};
385
+ }, Readonly<{
386
+ loading?: boolean | undefined;
387
+ error?: string | undefined;
388
+ empty?: boolean | undefined;
389
+ loadingText?: string | undefined;
390
+ emptyText?: string | undefined;
391
+ emptyIcon?: string | undefined;
392
+ retryLabel?: string | undefined;
393
+ spinnerSize?: string | undefined;
394
+ iconSize?: string | undefined;
395
+ spinnerColor?: string | undefined;
396
+ inline?: boolean | undefined;
397
+ }> & Readonly<{
398
+ onRetry?: (() => any) | undefined;
399
+ }>, {}, {}, {}, {}, {
400
+ error: string;
401
+ iconSize: string;
402
+ spinnerColor: string;
403
+ spinnerSize: string;
404
+ loading: boolean;
405
+ empty: boolean;
406
+ loadingText: string;
407
+ emptyText: string;
408
+ emptyIcon: string;
409
+ retryLabel: string;
410
+ inline: boolean;
411
+ }>;
412
+ __isFragment?: undefined;
413
+ __isTeleport?: undefined;
414
+ __isSuspense?: undefined;
415
+ } & import('vue').ComponentOptionsBase<Readonly<{
416
+ loading?: boolean | undefined;
417
+ error?: string | undefined;
418
+ empty?: boolean | undefined;
419
+ loadingText?: string | undefined;
420
+ emptyText?: string | undefined;
421
+ emptyIcon?: string | undefined;
422
+ retryLabel?: string | undefined;
423
+ spinnerSize?: string | undefined;
424
+ iconSize?: string | undefined;
425
+ spinnerColor?: string | undefined;
426
+ inline?: boolean | undefined;
427
+ }> & Readonly<{
428
+ onRetry?: (() => any) | undefined;
429
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
430
+ retry: () => any;
431
+ }, string, {
432
+ error: string;
433
+ iconSize: string;
434
+ spinnerColor: string;
435
+ spinnerSize: string;
436
+ loading: boolean;
437
+ empty: boolean;
438
+ loadingText: string;
439
+ emptyText: string;
440
+ emptyIcon: string;
441
+ retryLabel: string;
442
+ inline: boolean;
443
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
444
+ $slots: {
445
+ loading?(_: {}): any;
446
+ error?(_: {
447
+ retry: () => void;
448
+ }): any;
449
+ empty?(_: {}): any;
450
+ default?(_: {}): any;
451
+ };
452
+ })>;
453
+ export declare const Ready: StoryFn<{
454
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
455
+ loading?: boolean | undefined;
456
+ error?: string | undefined;
457
+ empty?: boolean | undefined;
458
+ loadingText?: string | undefined;
459
+ emptyText?: string | undefined;
460
+ emptyIcon?: string | undefined;
461
+ retryLabel?: string | undefined;
462
+ spinnerSize?: string | undefined;
463
+ iconSize?: string | undefined;
464
+ spinnerColor?: string | undefined;
465
+ inline?: boolean | undefined;
466
+ }> & Readonly<{
467
+ onRetry?: (() => any) | undefined;
468
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
469
+ retry: () => any;
470
+ }, import('vue').PublicProps, {
471
+ error: string;
472
+ iconSize: string;
473
+ spinnerColor: string;
474
+ spinnerSize: string;
475
+ loading: boolean;
476
+ empty: boolean;
477
+ loadingText: string;
478
+ emptyText: string;
479
+ emptyIcon: string;
480
+ retryLabel: string;
481
+ inline: boolean;
482
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
483
+ P: {};
484
+ B: {};
485
+ D: {};
486
+ C: {};
487
+ M: {};
488
+ Defaults: {};
489
+ }, Readonly<{
490
+ loading?: boolean | undefined;
491
+ error?: string | undefined;
492
+ empty?: boolean | undefined;
493
+ loadingText?: string | undefined;
494
+ emptyText?: string | undefined;
495
+ emptyIcon?: string | undefined;
496
+ retryLabel?: string | undefined;
497
+ spinnerSize?: string | undefined;
498
+ iconSize?: string | undefined;
499
+ spinnerColor?: string | undefined;
500
+ inline?: boolean | undefined;
501
+ }> & Readonly<{
502
+ onRetry?: (() => any) | undefined;
503
+ }>, {}, {}, {}, {}, {
504
+ error: string;
505
+ iconSize: string;
506
+ spinnerColor: string;
507
+ spinnerSize: string;
508
+ loading: boolean;
509
+ empty: boolean;
510
+ loadingText: string;
511
+ emptyText: string;
512
+ emptyIcon: string;
513
+ retryLabel: string;
514
+ inline: boolean;
515
+ }>;
516
+ __isFragment?: undefined;
517
+ __isTeleport?: undefined;
518
+ __isSuspense?: undefined;
519
+ } & import('vue').ComponentOptionsBase<Readonly<{
520
+ loading?: boolean | undefined;
521
+ error?: string | undefined;
522
+ empty?: boolean | undefined;
523
+ loadingText?: string | undefined;
524
+ emptyText?: string | undefined;
525
+ emptyIcon?: string | undefined;
526
+ retryLabel?: string | undefined;
527
+ spinnerSize?: string | undefined;
528
+ iconSize?: string | undefined;
529
+ spinnerColor?: string | undefined;
530
+ inline?: boolean | undefined;
531
+ }> & Readonly<{
532
+ onRetry?: (() => any) | undefined;
533
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
534
+ retry: () => any;
535
+ }, string, {
536
+ error: string;
537
+ iconSize: string;
538
+ spinnerColor: string;
539
+ spinnerSize: string;
540
+ loading: boolean;
541
+ empty: boolean;
542
+ loadingText: string;
543
+ emptyText: string;
544
+ emptyIcon: string;
545
+ retryLabel: string;
546
+ inline: boolean;
547
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
548
+ $slots: {
549
+ loading?(_: {}): any;
550
+ error?(_: {
551
+ retry: () => void;
552
+ }): any;
553
+ empty?(_: {}): any;
554
+ default?(_: {}): any;
555
+ };
556
+ })>;
@@ -0,0 +1,53 @@
1
+ type __VLS_Props = {
2
+ /** Идёт загрузка. */
3
+ loading?: boolean;
4
+ /** Текст ошибки; пустая строка — ошибки нет. */
5
+ error?: string;
6
+ /** Результат пуст (показываем слот `empty`, а не пустоту). */
7
+ empty?: boolean;
8
+ /** Подпись под спиннером. */
9
+ loadingText?: string;
10
+ /** Текст «ничего не найдено». */
11
+ emptyText?: string;
12
+ /** Иконка пустого состояния (Quasar-имя). */
13
+ emptyIcon?: string;
14
+ /** Подпись кнопки повтора; пусто — кнопки нет. */
15
+ retryLabel?: string;
16
+ /** Размер спиннера/иконок. */
17
+ spinnerSize?: string;
18
+ iconSize?: string;
19
+ /** Цвет спиннера (по умолчанию — бренд-акцент, не Material-синий). */
20
+ spinnerColor?: string;
21
+ /** Не растягивать по высоте: для мест внутри строки/карточки. */
22
+ inline?: boolean;
23
+ };
24
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
25
+ retry: () => any;
26
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
27
+ onRetry?: (() => any) | undefined;
28
+ }>, {
29
+ error: string;
30
+ iconSize: string;
31
+ spinnerColor: string;
32
+ spinnerSize: string;
33
+ loading: boolean;
34
+ empty: boolean;
35
+ loadingText: string;
36
+ emptyText: string;
37
+ emptyIcon: string;
38
+ retryLabel: string;
39
+ inline: boolean;
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
41
+ loading?(_: {}): any;
42
+ error?(_: {
43
+ retry: () => void;
44
+ }): any;
45
+ empty?(_: {}): any;
46
+ default?(_: {}): any;
47
+ }>;
48
+ export default _default;
49
+ type __VLS_WithTemplateSlots<T, S> = T & {
50
+ new (): {
51
+ $slots: S;
52
+ };
53
+ };
@@ -13,6 +13,7 @@ import { default as PInputNumber } from './PInputNumber/PInputNumber.vue';
13
13
  import { default as PLeftSlider } from './PLeftSlider/PLeftSlider.vue';
14
14
  import { default as PList } from './PList/PList.vue';
15
15
  import { default as PListItem } from './PListItem/PListItem.vue';
16
+ import { default as PLoader } from './PLoader/PLoader.vue';
16
17
  import { default as POptionsListSingle } from './POptionsListSingle/POptionsListSingle.vue';
17
18
  import { default as POpts } from './POpts/POpts.vue';
18
19
  import { default as PRadio } from './PRadio/PRadio.vue';
@@ -28,4 +29,4 @@ import { default as PTopSlider } from './PTopSlider/PTopSlider.vue';
28
29
  export default function install(app: {
29
30
  component: (a: string, b: unknown) => void;
30
31
  }): void;
31
- export { PBadge, PButton, PCheckBox, PChip, PDateInput, PDateTimeInput, PDialog, PFlex, PForm, PHint, PInput, PInputNumber, PLeftSlider, PList, PListItem, POptionsListSingle, POpts, PRadio, PRightSlider, PSelect, PSticky, PString, PTableToggle, PTextarea, PToggle, PTooltip, PTopSlider, };
32
+ export { PBadge, PButton, PCheckBox, PChip, PDateInput, PDateTimeInput, PDialog, PFlex, PForm, PHint, PInput, PInputNumber, PLeftSlider, PList, PListItem, PLoader, POptionsListSingle, POpts, PRadio, PRightSlider, PSelect, PSticky, PString, PTableToggle, PTextarea, PToggle, PTooltip, PTopSlider, };