@dxtmisha/functional 1.15.13 → 1.15.14

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/ai-description.md +7 -7
  3. package/ai-mcp-resources.json +8 -8
  4. package/ai-types.md +1 -1645
  5. package/dist/library.d.ts +3556 -67
  6. package/dist/library.js +281 -311
  7. package/package.json +11 -4
  8. package/dist/classes/design/DesignAbstract.d.ts +0 -61
  9. package/dist/classes/design/DesignAsyncAbstract.d.ts +0 -28
  10. package/dist/classes/design/DesignChanged.d.ts +0 -42
  11. package/dist/classes/design/DesignComp.d.ts +0 -4
  12. package/dist/classes/design/DesignComponents.d.ts +0 -81
  13. package/dist/classes/design/DesignConstructorAbstract.d.ts +0 -150
  14. package/dist/classes/ref/DatetimeRef.d.ts +0 -123
  15. package/dist/classes/ref/EffectScopeGlobal.d.ts +0 -22
  16. package/dist/classes/ref/EventRef.d.ts +0 -22
  17. package/dist/classes/ref/GeoFlagRef.d.ts +0 -82
  18. package/dist/classes/ref/GeoIntlRef.d.ts +0 -220
  19. package/dist/classes/ref/GeoRef.d.ts +0 -82
  20. package/dist/classes/ref/GeoUnitRef.d.ts +0 -153
  21. package/dist/classes/ref/ListDataRef.d.ts +0 -366
  22. package/dist/classes/ref/RouterItemRef.d.ts +0 -61
  23. package/dist/classes/ref/ScrollbarWidthRef.d.ts +0 -22
  24. package/dist/composables/ref/useApiAsyncRef.d.ts +0 -70
  25. package/dist/composables/ref/useApiDelete.d.ts +0 -23
  26. package/dist/composables/ref/useApiGet.d.ts +0 -23
  27. package/dist/composables/ref/useApiManagementAsyncRef.d.ts +0 -58
  28. package/dist/composables/ref/useApiManagementRef.d.ts +0 -161
  29. package/dist/composables/ref/useApiPost.d.ts +0 -23
  30. package/dist/composables/ref/useApiPut.d.ts +0 -23
  31. package/dist/composables/ref/useApiRef.d.ts +0 -159
  32. package/dist/composables/ref/useApiRequest.d.ts +0 -105
  33. package/dist/composables/ref/useBroadcastValueRef.d.ts +0 -11
  34. package/dist/composables/ref/useCookieRef.d.ts +0 -11
  35. package/dist/composables/ref/useFormattersRef.d.ts +0 -21
  36. package/dist/composables/ref/useGeoIntlRef.d.ts +0 -14
  37. package/dist/composables/ref/useGeoUnitRef.d.ts +0 -7
  38. package/dist/composables/ref/useHashRef.d.ts +0 -9
  39. package/dist/composables/ref/useLazyItemByMarginRef.d.ts +0 -24
  40. package/dist/composables/ref/useLazyRef.d.ts +0 -42
  41. package/dist/composables/ref/useLoadingRef.d.ts +0 -7
  42. package/dist/composables/ref/useMeta.d.ts +0 -223
  43. package/dist/composables/ref/useQueryRef.d.ts +0 -9
  44. package/dist/composables/ref/useRouterList.d.ts +0 -28
  45. package/dist/composables/ref/useSearchRef.d.ts +0 -36
  46. package/dist/composables/ref/useSearchValueRef.d.ts +0 -19
  47. package/dist/composables/ref/useSessionRef.d.ts +0 -9
  48. package/dist/composables/ref/useStorageRef.d.ts +0 -10
  49. package/dist/composables/ref/useTranslateRef.d.ts +0 -40
  50. package/dist/flags.d.ts +0 -1
  51. package/dist/functions/basic.d.ts +0 -1
  52. package/dist/functions/computedAsync.d.ts +0 -13
  53. package/dist/functions/computedByLanguage.d.ts +0 -15
  54. package/dist/functions/computedEternity.d.ts +0 -15
  55. package/dist/functions/dxtFunctionalPlugin.d.ts +0 -82
  56. package/dist/functions/executeUse.d.ts +0 -216
  57. package/dist/functions/getInject.d.ts +0 -7
  58. package/dist/functions/getOptions.d.ts +0 -10
  59. package/dist/functions/ref/executeFunctionRef.d.ts +0 -11
  60. package/dist/functions/ref/getApiErrorRef.d.ts +0 -10
  61. package/dist/functions/ref/getBindRef.d.ts +0 -13
  62. package/dist/functions/ref/getRef.d.ts +0 -8
  63. package/dist/functions/ref/render.d.ts +0 -13
  64. package/dist/functions/ref/setRef.d.ts +0 -9
  65. package/dist/functions/ref/toRefItem.d.ts +0 -9
  66. package/dist/functions/render/getBind.d.ts +0 -14
  67. package/dist/functions/render/getClassName.d.ts +0 -8
  68. package/dist/functions/render/getIndexForRender.d.ts +0 -10
  69. package/dist/functions/toBind.d.ts +0 -10
  70. package/dist/functions/toBinds.d.ts +0 -9
  71. package/dist/types/apiTypes.d.ts +0 -74
  72. package/dist/types/constructorTypes.d.ts +0 -126
  73. package/dist/types/listTypes.d.ts +0 -65
  74. package/dist/types/refTypes.d.ts +0 -43
  75. package/dist/types/searchTypes.d.ts +0 -10
package/ai-types.md CHANGED
@@ -1,1646 +1,2 @@
1
- All these methods are in the @dxtmisha/functional (v1.15.13) library.
1
+ All these methods are in the @dxtmisha/functional (v1.15.14) library.
2
2
 
3
- /** Base class for working with design component constructors. @keywords design abstract constructor callback */
4
- export declare abstract class DesignAbstract<T extends Record<string, any>, C extends Record<string, any>> {
5
- /** Constructor @keywords design constructor initialize */
6
- constructor(props: T, callback?: ((event: C) => void) | undefined, changed?: string[]);
7
- /** Calls the callback function. @keywords design make update */
8
- make(compelled?: boolean): this;
9
- /** Calls the callback function. @keywords design callback */
10
- makeCallback(compelled?: boolean): void;
11
- }
12
-
13
- /** Base class for asynchronous design construction. @keywords design async abstract class */
14
- export declare abstract class DesignAsyncAbstract<T extends Record<string, any>, C extends Record<string, any>> extends DesignAbstract<T, C> {
15
- /** Makes design callbacks. @keywords make design async */
16
- make(compelled?: boolean): this;
17
- /** Makes callback asynchronously. @keywords make callback async */
18
- makeCallback(compelled?: boolean): Promise<void>;
19
- /** Initializes event asynchronously. @keywords init event async */
20
- protected abstract initEvent(): Promise<void>;
21
- }
22
-
23
- /** Checks properties for changes. @keywords design changed check update */
24
- export declare class DesignChanged<T extends Record<string, any>> {
25
- /** Creates a changed tracker instance. @keywords constructor create */
26
- constructor(props: T, watch?: string[]);
27
- /** Checks if property changed. @keywords is changed check */
28
- is(name: string | string[]): boolean;
29
- /** Checks if any watched property changed. @keywords is changed */
30
- isChanged(): boolean;
31
- /** Updates cached property values. @keywords update cache */
32
- update(): void;
33
- }
34
-
35
- export declare class DesignComp<COMP extends ConstrComponent, P extends ConstrItem> extends DesignComponents<COMP, P> {
36
- }
37
-
38
- import { ComputedRef, VNode } from 'vue';
39
-
40
- /** Manages and renders connected UI components with modifier support. @keywords design components modification render */
41
- export declare class DesignComponents<COMP extends ConstrComponent, P extends ConstrItem> {
42
- /** Creates a component manager instance. @keywords constructor design components */
43
- constructor(components?: COMP, modification?: ConstrComponentMod<P> | undefined);
44
- /** Checks if a component exists by name. @keywords check component exists */
45
- is<K extends keyof COMP>(name: K): name is K;
46
- /** Retrieves a component by name. @keywords get component */
47
- get<K extends keyof COMP>(name: K): COMP[K];
48
- /** Computes and returns modified component properties. @keywords get modification props */
49
- getModification<K extends keyof P>(index?: K & string | string, props?: P[K] | Record<string, any>): Record<string, any> | undefined;
50
- /** Renders a component and returns an array containing the VNode. @keywords render component array */
51
- render<K extends keyof COMP, PK extends keyof P>(name: K & string, props?: P[PK] & ConstrItem | ConstrItem, children?: RawChildren | RawSlots, index?: PK & string | string): VNode[];
52
- /** Renders a single component VNode. @keywords render one component */
53
- renderOne<K extends keyof COMP, PK extends keyof P>(name: K & string, props?: P[PK] & ConstrItem | ConstrItem, children?: RawChildren | RawSlots, index?: PK & string | string): VNode | undefined;
54
- /** Renders a component and appends it to an array. @keywords render add component */
55
- renderAdd<K extends keyof COMP, PK extends keyof P>(item: any[], name: K & string, props?: P[PK] & ConstrItem | ConstrItem, children?: RawChildren | RawSlots, index?: PK & string | string): this;
56
- /** Computes modifications for a specific component index. @keywords compute modification */
57
- protected computeModification<K extends keyof P>(index: K & string | string): Record<string, any>;
58
- }
59
-
60
- import { ComputedRef, ToRefs, VNode, Ref } from 'vue';
61
- /** Component constructor abstract class. @keywords design constructor abstract component */
62
- export declare abstract class DesignConstructorAbstract<E extends Element, COMP extends ConstrComponent, EMITS extends ConstrItem, EXPOSE extends ConstrItem, SLOTS extends ConstrItem, CLASSES extends ConstrClasses, P extends ConstrItem> {
63
- /** Creates instance of design constructor. @keywords constructor design */
64
- protected constructor(name: string, props: Readonly<P>, options?: ConstrOptions<COMP, EMITS, P> | undefined);
65
- /** Initializes instance properties. @keywords init design */
66
- protected init(): this;
67
- /** Gets full class name. @keywords get name class */
68
- getName(): string;
69
- /** Gets design prefix/name. @keywords get design */
70
- getDesign(): string;
71
- /** Gets sub-class name by levels. @keywords get sub class */
72
- getSubClass(name: string | string[]): string;
73
- /** Gets status modifier class name. @keywords get status class */
74
- getStatusClass(name: string | string[]): string;
75
- /** Gets CSS custom property name. @keywords get style var */
76
- getStyle(name: string | string[]): string;
77
- /** Gets filtered element attributes. @keywords get attrs */
78
- getAttrs(): ConstrItem;
79
- /** Exposes public component properties and element. @keywords expose component */
80
- expose(): ConstrExpose<E, EXPOSE>;
81
- /** Returns component render function. @keywords render function */
82
- render(): () => VNode | (VNode | any)[] | undefined;
83
- /** Initializes exposed context. @keywords init expose */
84
- protected abstract initExpose(): EXPOSE;
85
- /** Initializes computed CSS classes. @keywords init classes */
86
- protected abstract initClasses(): Partial<CLASSES>;
87
- /** Initializes computed inline styles. @keywords init styles */
88
- protected abstract initStyles(): ConstrStyles;
89
- /** Renders component template VNode. @keywords init render */
90
- protected abstract initRender(): VNode | (VNode | any)[] | undefined;
91
- /** Initializes slot content and optionally pushes to children. @keywords init slot */
92
- protected initSlot<K extends keyof SLOTS>(name: K, children?: any[], props?: ConstrItem): VNode | undefined;
93
- /** Normalizes class definition into class object map. @keywords to class */
94
- protected toClass(classes?: ConstrClass): ConstrClassObject;
95
- /** Maps class definition placeholders to component names. @keywords to class name */
96
- protected toClassName<T extends ConstrItem>(classes?: ConstrItem): T;
97
- }
98
-
99
- import { ComputedRef, Ref } from 'vue';
100
- import { Datetime, GeoDate, GeoFirstDay, GeoHours, NumberOrStringOrDate } from '@dxtmisha/functional-basic';
101
-
102
- /** @keywords DatetimeRef, date, reactive, time */
103
- export declare class DatetimeRef {
104
- /** @keywords constructor, init */
105
- constructor(date: RefOrNormal<NumberOrStringOrDate>, type?: RefOrNormal<GeoDate>, code?: RefOrNormal<string>);
106
- /** @keywords getItem, date, ref */
107
- getItem(): Ref<NumberOrStringOrDate>;
108
- /** @keywords getDate, date */
109
- getDate(): Ref<Date>;
110
- /** @keywords getDatetime, datetime */
111
- getDatetime(): Datetime;
112
- /** @keywords getHoursType, hours */
113
- getHoursType(): ComputedRef<GeoHours>;
114
- /** @keywords getFirstDayCode, firstDay */
115
- getFirstDayCode(): ComputedRef<GeoFirstDay>;
116
- /** @keywords getYear, year */
117
- getYear(): ComputedRef<number>;
118
- /** @keywords getMonth, month */
119
- getMonth(): ComputedRef<number>;
120
- /** @keywords getDay, day */
121
- getDay(): ComputedRef<number>;
122
- /** @keywords getHour, hour */
123
- getHour(): ComputedRef<number>;
124
- /** @keywords getMinute, minute */
125
- getMinute(): ComputedRef<number>;
126
- /** @keywords getSecond, second */
127
- getSecond(): ComputedRef<number>;
128
- /** @keywords getMaxDay, maxDay */
129
- getMaxDay(): ComputedRef<number>;
130
- /** @keywords locale, format */
131
- locale(type?: GeoDate, styleOptions?: Intl.DateTimeFormatOptions['month'] | Intl.DateTimeFormatOptions): ComputedRef<string>;
132
- /** @keywords standard, format */
133
- standard(timeZone?: boolean): ComputedRef<string>;
134
- protected updateDate(): this;
135
- }
136
-
137
- /** Global effect scope class. @keywords effect scope global scope */
138
- export declare class EffectScopeGlobal {
139
- /** Runs a function within the global scope. @keywords run execute global scope */
140
- static run<T>(fn: () => T): T | undefined;
141
- /** Gets the global effect scope instance. @keywords get scope instance global */
142
- static getScope(): import("vue").EffectScope;
143
- }
144
-
145
- import { ElementOrString, ElementOrWindow, EventItem, EventListenerDetail, EventOptions } from '@dxtmisha/functional-basic';
146
-
147
- /**
148
- * Class for working with events using reactive references.
149
- * @keywords event_ref event_wrapper reactive_event dom_event
150
- */
151
- export declare class EventRef<E extends ElementOrWindow, O extends Event, D extends Record<string, any> = Record<string, any>> extends EventItem<E, O, D> {
152
- /**
153
- * Creates an instance of EventRef.
154
- * @keywords constructor event_ref_init
155
- */
156
- constructor(elementSelector?: RefOrNormal<ElementOrString<E> | undefined>, elementSelectorControl?: RefOrNormal<ElementOrString<HTMLElement>>, type?: string | string[], listener?: EventListenerDetail<O, D>, options?: EventOptions, detail?: D);
157
- }
158
-
159
- import { ComputedRef } from 'vue';
160
- import { GeoFlagItem, GeoFlagNational } from '@dxtmisha/functional-basic';
161
-
162
- /** Geo flag reactive reference manager. @keywords geo, flag, country, language */
163
- export declare class GeoFlagRef {
164
- /**
165
- * Creates a new GeoFlagRef instance.
166
- * @param code Country or language code
167
- */
168
- constructor(code?: RefOrNormal<string | undefined>);
169
- /** Gets the current country code. @keywords code, get */
170
- getCode(): string;
171
- /** Gets reactive country flag item information. @keywords country, flag, item */
172
- get(code?: RefOrNormal<string>): ComputedRef<GeoFlagItem | undefined>;
173
- /** Gets reactive language flag item information. @keywords language, flag, item */
174
- getLanguage(code?: RefOrNormal<string>): ComputedRef<GeoFlagItem | undefined>;
175
- /** Gets reactive flag image URL or source. @keywords flag, link, image */
176
- getFlag(code?: RefOrNormal<string>): ComputedRef<string | undefined>;
177
- /** Gets a reactive list of country flag items. @keywords list, country, flags */
178
- getList(codes?: RefOrNormal<string[] | undefined>): ComputedRef<GeoFlagItem[]>;
179
- /** Gets a reactive list of language flag items. @keywords list, language, flags */
180
- getListLanguage(codes?: RefOrNormal<string[] | undefined>): ComputedRef<GeoFlagItem[]>;
181
- /** Gets reactive country flag items in national representation. @keywords national, country, list */
182
- getNational(codes?: RefOrNormal<string[] | undefined>): ComputedRef<GeoFlagNational[]>;
183
- /** Gets reactive language flag items in national representation. @keywords national, language, list */
184
- getNationalLanguage(codes?: RefOrNormal<string[] | undefined>): ComputedRef<GeoFlagNational[]>;
185
- }
186
-
187
- import { ComputedRef } from 'vue';
188
- import { GeoDate, ItemValue, NumberOrString, NumberOrStringOrDate } from '@dxtmisha/functional-basic';
189
-
190
- /**
191
- * Reactive class for managing the formatting of numbers and dates.
192
- * @keywords geo intl format reactive number date localize
193
- */
194
- export declare class GeoIntlRef {
195
- /**
196
- * Constructor for GeoIntlRef.
197
- * @keywords constructor initialize geo intl ref
198
- */
199
- constructor(code?: RefOrNormal<string>);
200
-
201
- /**
202
- * Format display names for language, region, and script.
203
- * @keywords display name language region script intl
204
- */
205
- display(value?: RefOrNormal<string>, typeOptions?: Intl.DisplayNamesOptions['type'] | Intl.DisplayNamesOptions): ComputedRef<string>;
206
-
207
- /**
208
- * Get display names of language.
209
- * @keywords language name translate intl
210
- */
211
- languageName(value?: RefOrNormal<string>, style?: Intl.RelativeTimeFormatStyle): ComputedRef<string>;
212
-
213
- /**
214
- * Get display names of region.
215
- * @keywords country region name intl
216
- */
217
- countryName(value?: RefOrNormal<string>, style?: Intl.RelativeTimeFormatStyle): ComputedRef<string>;
218
-
219
- /**
220
- * Format a number value.
221
- * @keywords number format intl digit
222
- */
223
- number(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
224
-
225
- /**
226
- * Get the decimal point symbol.
227
- * @keywords decimal point symbol separator
228
- */
229
- decimal(): ComputedRef<string>;
230
-
231
- /**
232
- * Format a currency value.
233
- * @keywords currency format money price intl
234
- */
235
- currency(value: RefOrNormal<NumberOrString>, currencyOptions?: RefOrNormal<string | Intl.NumberFormatOptions>, numberOnly?: boolean): ComputedRef<string>;
236
-
237
- /**
238
- * Get the currency symbol or code.
239
- * @keywords currency symbol code intl
240
- */
241
- currencySymbol(currency: RefOrNormal<string>, currencyDisplay?: keyof Intl.NumberFormatOptionsCurrencyDisplayRegistry): ComputedRef<string>;
242
-
243
- /**
244
- * Format a unit value.
245
- * @keywords unit format measurement intl
246
- */
247
- unit(value: RefOrNormal<NumberOrString>, unitOptions?: string | Intl.NumberFormatOptions): ComputedRef<string>;
248
-
249
- /**
250
- * Format a file size value.
251
- * @keywords size file bytes megabytes intl
252
- */
253
- sizeFile(value: RefOrNormal<NumberOrString>, unitOptions?: 'byte' | 'kilobyte' | 'megabyte' | 'gigabyte' | 'terabyte' | 'petabyte' | Intl.NumberFormatOptions): ComputedRef<string>;
254
-
255
- /**
256
- * Format a number as a percentage.
257
- * @keywords percent percentage format intl
258
- */
259
- percent(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
260
-
261
- /**
262
- * Format a number as a percentage by 100.
263
- * @keywords percent 100 format intl
264
- */
265
- percentBy100(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
266
-
267
- /**
268
- * Format text based on plural rules and language words.
269
- * @keywords plural rules words format intl
270
- */
271
- plural(value: RefOrNormal<NumberOrString>, words: string, options?: Intl.PluralRulesOptions, optionsNumber?: Intl.NumberFormatOptions): ComputedRef<string>;
272
-
273
- /**
274
- * Format a date and time value.
275
- * @keywords date time format intl calendar
276
- */
277
- date(value: RefOrNormal<NumberOrStringOrDate>, type?: GeoDate, styleOptions?: Intl.DateTimeFormatOptions['month'] | Intl.DateTimeFormatOptions, hour24?: boolean): ComputedRef<string>;
278
-
279
- /**
280
- * Format relative time.
281
- * @keywords relative time ago format intl
282
- */
283
- relative(value: RefOrNormal<NumberOrStringOrDate>, styleOptions?: Intl.RelativeTimeFormatStyle | Intl.RelativeTimeFormatOptions, todayValue?: Date): ComputedRef<string>;
284
-
285
- /**
286
- * Format relative time with a limit falling back to standard date.
287
- * @keywords relative time limit format intl
288
- */
289
- relativeLimit(value: RefOrNormal<NumberOrStringOrDate>, limit: number, todayValue?: Date, relativeOptions?: Intl.RelativeTimeFormatStyle | Intl.RelativeTimeFormatOptions, dateOptions?: Intl.DateTimeFormatOptions['month'] | Intl.DateTimeFormatOptions, type?: GeoDate, hour24?: boolean): ComputedRef<string>;
290
-
291
- /**
292
- * Format relative time by specific unit and value.
293
- * @keywords relative value unit time format intl
294
- */
295
- relativeByValue(value: RefOrNormal<NumberOrString>, unit: Intl.RelativeTimeFormatUnit, styleOptions?: Intl.RelativeTimeFormatStyle | Intl.RelativeTimeFormatOptions): ComputedRef<string>;
296
-
297
- /**
298
- * Get the name of a month.
299
- * @keywords month name date format intl
300
- */
301
- month(value?: RefOrNormal<NumberOrStringOrDate>, style?: Intl.DateTimeFormatOptions['month']): ComputedRef<string>;
302
-
303
- /**
304
- * Get an array of all months.
305
- * @keywords months list array intl
306
- */
307
- months(style?: Intl.DateTimeFormatOptions['month']): ComputedRef<ItemValue<number | undefined>[]>;
308
-
309
- /**
310
- * Get the name of a weekday.
311
- * @keywords weekday name date format intl
312
- */
313
- weekday(value?: RefOrNormal<NumberOrStringOrDate>, style?: Intl.DateTimeFormatOptions['weekday']): ComputedRef<string>;
314
-
315
- /**
316
- * Get an array of all weekdays.
317
- * @keywords weekdays list array intl
318
- */
319
- weekdays(style?: Intl.DateTimeFormatOptions['weekday']): ComputedRef<ItemValue<number | undefined>[]>;
320
-
321
- /**
322
- * Format time.
323
- * @keywords time format intl
324
- */
325
- time(value: RefOrNormal<NumberOrStringOrDate>): ComputedRef<string>;
326
-
327
- /**
328
- * Sort an array of items taking into account locale specifics.
329
- * @keywords sort locale array intl
330
- */
331
- sort<T>(data: RefOrNormal<T[]>, compareFn?: (a: T, b: T) => [string, string]): ComputedRef<T[]>;
332
- }
333
-
334
- import { ComputedRef, Ref } from 'vue';
335
- import { GeoItemFull } from '@dxtmisha/functional-basic';
336
-
337
- /** Geo reference reactive manager class @keywords geo ref country language */
338
- export declare class GeoRef {
339
- /** Get reactive geographic full item @keywords get geo item */
340
- static get(): Ref<GeoItemFull>;
341
- /** Get current country code @keywords country code */
342
- static getCountry(): ComputedRef<string>;
343
- /** Get current language code @keywords language code */
344
- static getLanguage(): ComputedRef<string>;
345
- /** Get standard format string @keywords standard locale */
346
- static getStandard(): ComputedRef<string>;
347
- /** Get first day of the week @keywords first day */
348
- static getFirstDay(): ComputedRef<string>;
349
- /** Get current location string @keywords location */
350
- static getLocation(): ComputedRef<string>;
351
- /** Get country from location @keywords location country */
352
- static getLocationCountry(): ComputedRef<string>;
353
- /** Get language from location @keywords location language */
354
- static getLocationLanguage(): ComputedRef<string>;
355
- /** Set geographic code @keywords set geo */
356
- static set(code: string): void;
357
- /** Set default geographic value @keywords default geo */
358
- static setValueDefault(code?: string | (() => string)): void;
359
- }
360
-
361
- import { ComputedRef, Ref } from 'vue';
362
- import { GeoUnit, NumberOrString } from '@dxtmisha/functional-basic';
363
-
364
- /**
365
- * Reactive class for managing localized unit formatting and automatic conversions.
366
- * @keywords GeoUnitRef, geo, unit, formatting, conversion, localized
367
- */
368
- export declare class GeoUnitRef {
369
- /**
370
- * Creates an instance of GeoUnitRef.
371
- * @keywords constructor, geo, unit
372
- */
373
- constructor(code?: RefOrNormal<string>);
374
-
375
- /**
376
- * Returns the standard location code.
377
- * @keywords getLocation, location, code, standard
378
- */
379
- getLocation(): ComputedRef<string>;
380
-
381
- /**
382
- * Formats millimeter value, converting to inches if overridden by locale unit settings.
383
- * @keywords millimeter, format, length, unit
384
- */
385
- millimeter(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
386
-
387
- /**
388
- * Formats centimeter value, converting to inches if overridden by locale unit settings.
389
- * @keywords centimeter, format, length, unit
390
- */
391
- centimeter(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
392
-
393
- /**
394
- * Formats meter value, converting to feet if overridden by locale unit settings.
395
- * @keywords meter, format, length, unit
396
- */
397
- meter(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
398
-
399
- /**
400
- * Formats kilometer value, converting to miles if overridden by locale unit settings.
401
- * @keywords kilometer, format, length, unit
402
- */
403
- kilometer(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
404
-
405
- /**
406
- * Formats square meter value, converting to square feet if overridden by locale unit settings.
407
- * @keywords squareMeter, format, area, unit
408
- */
409
- squareMeter(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
410
-
411
- /**
412
- * Formats hectare value, converting to acres if overridden by locale unit settings.
413
- * @keywords hectare, format, area, unit
414
- */
415
- hectare(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
416
-
417
- /**
418
- * Formats gram value, converting to ounces if overridden by locale unit settings.
419
- * @keywords gram, format, mass, weight, unit
420
- */
421
- gram(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
422
-
423
- /**
424
- * Formats kilogram value, converting to pounds if overridden by locale unit settings.
425
- * @keywords kilogram, format, mass, weight, unit
426
- */
427
- kilogram(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
428
-
429
- /**
430
- * Formats tonne value, converting to short tons if overridden by locale unit settings.
431
- * @keywords tonne, format, mass, weight, unit
432
- */
433
- tonne(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
434
-
435
- /**
436
- * Formats milliliter value, converting to fluid ounces if overridden by locale unit settings.
437
- * @keywords milliliter, format, volume, unit
438
- */
439
- milliliter(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
440
-
441
- /**
442
- * Formats liter value, converting to gallons if overridden by locale unit settings.
443
- * @keywords liter, format, volume, unit
444
- */
445
- liter(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
446
-
447
- /**
448
- * Formats celsius value, converting to fahrenheit if overridden by locale unit settings.
449
- * @keywords celsius, format, temperature, unit
450
- */
451
- celsius(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
452
-
453
- /**
454
- * Formats kilometer per hour value, converting to miles per hour if overridden by locale unit settings.
455
- * @keywords kilometerPerHour, format, speed, unit
456
- */
457
- kilometerPerHour(value: RefOrNormal<NumberOrString>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
458
-
459
- /**
460
- * Formats the value for the specified unit reactively, converting and formatting it according to the locale.
461
- * @keywords format, unit, conversion, localized
462
- */
463
- format(value: RefOrNormal<NumberOrString>, unit: RefOrNormal<string>, options?: Intl.NumberFormatOptions): ComputedRef<string>;
464
- }
465
-
466
- import { ComputedRef } from 'vue';
467
-
468
- /**
469
- * Class for managing the data list.
470
- * @keywords list data management collection items
471
- */
472
- export declare class ListDataRef {
473
- /**
474
- * Creates an instance of ListData for managing list data.
475
- * @keywords list data constructor initialize
476
- */
477
- constructor(list: RefOrNormal<ListListInput | undefined>, focus?: RefType<ListSelectedItem | undefined> | undefined, highlight?: RefType<string | undefined> | undefined, highlightLengthStart?: RefType<number | undefined> | undefined, filterMode?: RefType<boolean | undefined> | undefined, selected?: RefType<ListSelectedList | undefined> | undefined, keyValue?: RefType<string | undefined> | undefined, keyLabel?: RefType<string | undefined> | undefined, lite?: RefType<number | undefined> | undefined, min?: RefOrNormal<number | string | undefined>, max?: RefOrNormal<number | string | undefined>, parent?: string | undefined);
478
- /**
479
- * Returns a list for forming a list.
480
- * @keywords list items data reactive
481
- */
482
- readonly data: ComputedRef<ListList>;
483
- /**
484
- * Returns a simplified list for quick loading.
485
- * @keywords lite list fast items
486
- */
487
- readonly liteData: ComputedRef<ListList>;
488
- /**
489
- * Returns a list of records with all additional data.
490
- * @keywords full list data items state
491
- */
492
- readonly fullData: ComputedRef<ListDataFull>;
493
- /**
494
- * Returns a flat map of all entries including sublists.
495
- * @keywords map flat list items
496
- */
497
- readonly map: ComputedRef<ListList>;
498
- /**
499
- * Returns a list consisting only of items.
500
- * @keywords map items array
501
- */
502
- readonly mapItems: ComputedRef<ListList>;
503
- /**
504
- * Returns a list consisting only of values for selection.
505
- * @keywords items selection values group menu
506
- */
507
- readonly items: ComputedRef<ListList>;
508
- /**
509
- * Finds the first element that meets the search conditions.
510
- * @keywords highlight first item search index
511
- */
512
- readonly highlightFirstItem: ComputedRef<number>;
513
- /**
514
- * Is there a selected item.
515
- * @keywords is selected boolean state
516
- */
517
- readonly isSelected: ComputedRef<boolean>;
518
- /**
519
- * Is the minimum selection reached.
520
- * @keywords is selected min threshold
521
- */
522
- readonly isSelectedMin: ComputedRef<boolean>;
523
- /**
524
- * Is the maximum selection reached.
525
- * @keywords is selected max threshold
526
- */
527
- readonly isSelectedMax: ComputedRef<boolean>;
528
- /**
529
- * Returns a list of selected items on the map.
530
- * @keywords selected list items
531
- */
532
- readonly selectedList: ComputedRef<ListList>;
533
- /**
534
- * Returns a list of selected items in the current group.
535
- * @keywords selected list group items
536
- */
537
- readonly selectedListInGroup: ComputedRef<ListList>;
538
- /**
539
- * Returns a list of selected labels on the map.
540
- * @keywords selected names labels list
541
- */
542
- readonly selectedNames: ComputedRef<ListNames>;
543
- /**
544
- * Returns a list of selected values on the map.
545
- * @keywords selected values list
546
- */
547
- readonly selectedValues: ComputedRef<any[]>;
548
- /**
549
- * Checks whether it is necessary to first display a simplified version.
550
- * @keywords is lite mode check
551
- */
552
- isLite(): boolean;
553
- /**
554
- * Checks if an element is in focus.
555
- * @keywords is focus check
556
- */
557
- isFocus(): boolean;
558
- /**
559
- * Checks if there is a highlighted item (search results).
560
- * @keywords is highlight check search
561
- */
562
- isHighlight(): boolean;
563
- /**
564
- * Checks if highlighting is active (minimum length reached).
565
- * @keywords is highlight active check
566
- */
567
- isHighlightActive(): boolean;
568
- /**
569
- * Returns the number of records in the current list.
570
- * @keywords get length count list
571
- */
572
- getLength(): number;
573
- /**
574
- * Returns the number of all available records in the map.
575
- * @keywords get length map count
576
- */
577
- getLengthByMap(): number;
578
- /**
579
- * Returns the number of all available records (items).
580
- * @keywords get length items count
581
- */
582
- getLengthByItems(): number;
583
- /**
584
- * Returns the identifier in focus.
585
- * @keywords get focus identifier
586
- */
587
- getFocus(): ListSelectedItem | undefined;
588
- /**
589
- * Returns the item in focus.
590
- * @keywords get focus item data
591
- */
592
- getFocusItem(): ListDataItem | undefined;
593
- /**
594
- * Returns the highlight text.
595
- * @keywords get highlight search text
596
- */
597
- getHighlight(): string | undefined;
598
- /**
599
- * Returns the minimum length for highlight to start.
600
- * @keywords get highlight length start
601
- */
602
- getHighlightLengthStart(): number;
603
- /**
604
- * Returns the selected identifiers list.
605
- * @keywords get selected list
606
- */
607
- getSelected(): ListSelectedList | undefined;
608
- /**
609
- * Returns an item by moving a certain number of steps from the selected item.
610
- * @keywords get selected by step navigation
611
- */
612
- getSelectedByStep(step: number): ListSelectedItem | undefined;
613
- /**
614
- * Returns the next item from the selected one.
615
- * @keywords get selected next item
616
- */
617
- getSelectedNext(): ListSelectedItem | undefined;
618
- /**
619
- * Returns the previous item from the selected one.
620
- * @keywords get selected prev item
621
- */
622
- getSelectedPrev(): ListSelectedItem | undefined;
623
- /**
624
- * Returns an item by moving a certain number of steps from the specified item.
625
- * @keywords get item by step navigation
626
- */
627
- getItemByStep(item: ListDataItem, step: number): ListDataItem | undefined;
628
- /**
629
- * Returns the next item from the specified one.
630
- * @keywords get item next
631
- */
632
- getItemNext(item: ListDataItem): ListDataItem | undefined;
633
- /**
634
- * Returns the previous item from the specified one.
635
- * @keywords get item prev
636
- */
637
- getItemPrev(item: ListDataItem): ListDataItem | undefined;
638
- /**
639
- * Returns an item by moving a certain number of steps from the specified index.
640
- * @keywords get index by step navigation
641
- */
642
- getIndexByStep(index: string, step: number): ListDataItem | undefined;
643
- /**
644
- * Returns the next item from the specified index.
645
- * @keywords get index next
646
- */
647
- getIndexNext(index: string): ListDataItem | undefined;
648
- /**
649
- * Returns the previous item from the specified index.
650
- * @keywords get index prev
651
- */
652
- getIndexPrev(index: string): ListDataItem | undefined;
653
- /**
654
- * Returns an item by its index.
655
- * @keywords get item by index
656
- */
657
- getItemByIndex(index?: string): {
658
- key: number;
659
- item: ListDataItem;
660
- } | undefined;
661
- /**
662
- * Returns an item by its key.
663
- * @keywords get item by key number
664
- */
665
- getItemByKey(key: number): ListDataItem | undefined;
666
- /**
667
- * Returns the first item with the specified parent.
668
- * @keywords get first item by parent
669
- */
670
- getFirstItemByParent(parent: string | undefined): ListDataItem | undefined;
671
- /**
672
- * Returns the last item with the specified parent.
673
- * @keywords get last item by parent
674
- */
675
- getLastItemByParent(parent: string | undefined): ListDataItem | undefined;
676
- /**
677
- * Returns a sublist object for a group item.
678
- * @keywords get sub list group item
679
- */
680
- getSubList(item: ListDataItem): ListDataRef;
681
- }
682
-
683
- import { RouteLocationRaw, Router, _RouterClassic } from 'vue-router';
684
-
685
- /**
686
- * Router management class.
687
- * @keywords router, navigation, ref, link, href
688
- */
689
- export declare class RouterItemRef {
690
- /** Get router instance. @keywords router, get */
691
- static get(): _RouterClassic;
692
- /** Returns the link by name. @keywords router, link, resolve */
693
- static getLink(name: string, params?: any, query?: any): string | undefined;
694
- /** Returns the link property by name. @keywords router, href */
695
- static getHref(name?: string, params?: any, query?: any): ConstrHrefProps;
696
- /** Site path change. @keywords router, push, navigate */
697
- static push(to: string | RouteLocationRaw): void;
698
- /** Set router instance. @keywords router, set */
699
- static set(router: Router): void;
700
- /** Set router instance only once. @keywords router, set, once */
701
- static setOneTime(router: Router): void;
702
- /** Converts the raw route location to href properties. @keywords router, href, raw */
703
- static rawToHref(to?: string | RouteLocationRaw): ConstrHrefProps;
704
- }
705
-
706
- import { Ref, ComputedRef } from 'vue';
707
-
708
- /** Scrollbar width reactive reference utility class @keywords scrollbar, width, reactive, dom */
709
- export declare class ScrollbarWidthRef {
710
- /** Reactive item state @keywords item, state, boolean */
711
- readonly item: Ref<boolean | undefined, boolean | undefined>;
712
- /** Reactive scrollbar width value @keywords width, number, size */
713
- readonly width: Ref<number, number>;
714
- /** Creates a scrollbar width reference instance @keywords constructor, init */
715
- constructor();
716
- /** Computes whether scrollbar width is available @keywords is, computed, check */
717
- readonly is: ComputedRef<boolean>;
718
- }
719
-
720
- import { ApiInstance, ApiData, ApiDataValidation, ApiErrorStorageList } from '@dxtmisha/functional-basic';
721
-
722
- /**
723
- * Asynchronous reactive composable for API requests with built-in SSR support.
724
- * @keywords api, async, ssr, request, fetch
725
- */
726
- export declare function useApiAsyncRef<R, T = R>(path?: RefOrNormal<string | undefined>, options?: ApiOptions, reactivity?: boolean, conditions?: RefType<boolean>, transformation?: (data: T, isResponseContractValid?: ApiDataValidation) => ApiData<R>, validateResponseContract?: (data: T) => ApiDataValidation, errorContract?: ApiErrorStorageList, unmounted?: boolean, apiInstance?: ApiInstance): UseApiRef<R>;
727
-
728
- import { ApiData, ApiFetch } from '@dxtmisha/functional-basic';
729
- import { Ref } from 'vue';
730
-
731
- export interface UseApiDeleteSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> extends Omit<UseApiRequestSetup<T, Request, Return>, 'method'> {
732
- }
733
-
734
- /**
735
- * Executes a DELETE request via the API.
736
- * @keywords api delete request setup composable
737
- */
738
- export declare function useApiDelete<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(setup: UseApiDeleteSetup<T, Request, Return>): {
739
- loading: Ref<boolean, boolean>;
740
- send(request?: Request | undefined): Promise<Return | undefined>;
741
- };
742
-
743
- /** Setup interface for API GET request @keywords api get setup request configuration */
744
- export interface UseApiGetSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> extends Omit<UseApiRequestSetup<T, Request, Return>, 'method'> {
745
- }
746
-
747
- /** Executes an API GET request with loading state and send method @keywords api get request wrapper */
748
- export declare function useApiGet<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(setup: UseApiGetSetup<T, Request, Return>): {
749
- loading: Ref<boolean, boolean>;
750
- send(request?: Request | undefined): Promise<Return | undefined>;
751
- };
752
-
753
- import { ApiInstance, ArrayToItem, FormattersListColumns, FormattersOptionsList, SearchColumns, ApiDataValidation, SearchFormatList, ApiData, ApiErrorItem, ApiFetch } from '@dxtmisha/functional-basic';
754
- import { ComputedRef, Ref } from 'vue';
755
-
756
- /**
757
- * Asynchronous reactive composable for API management requests with SSR support.
758
- * @keywords api management async ssr composable fetch
759
- */
760
- export declare function useApiManagementAsyncRef<Return extends ApiManagementValue, FormattersOptions extends FormattersOptionsList, Post extends Record<string, any>, Put extends Record<string, any>, Delete extends Record<string, any>, Type extends ApiManagementValue = Return, Item extends ArrayToItem<Return> = ArrayToItem<Return>, ItemFormatters extends FormattersListColumns<Item, FormattersOptions>[number] = FormattersListColumns<Item, FormattersOptions>[number], Columns extends SearchColumns<ItemFormatters> = []>(propsGet: ApiManagementGet<Return, Type>, formattersOptions?: FormattersOptions, searchOptions?: ApiManagementSearch<Item, Columns>, postRequest?: ApiManagementRequest<Post>, putRequest?: ApiManagementRequest<Put>, deleteRequest?: ApiManagementRequest<Delete>, action?: () => Promise<void> | void, apiInstance?: ApiInstance): {
761
- isValid: ComputedRef<boolean>;
762
- isResponseContractValid: ComputedRef<boolean>;
763
- responseValidationResult: ComputedRef< ApiDataValidation | undefined>;
764
- list: ComputedRef<SearchFormatList<ItemFormatters, Columns>>;
765
- readonly data: ComputedRef< ApiData<Return> | undefined>;
766
- errorItem: ComputedRef< ApiErrorItem | undefined>;
767
- readonly length: ComputedRef<number>;
768
- lengthData: ComputedRef<number>;
769
- starting: ComputedRef<boolean>;
770
- reading: Ref<boolean, boolean>;
771
- loading: Ref<boolean, boolean>;
772
- loadingSearch: Ref<boolean, boolean> | undefined;
773
- loadingPost: Ref<boolean, boolean> | undefined;
774
- loadingPut: Ref<boolean, boolean> | undefined;
775
- loadingDelete: Ref<boolean, boolean> | undefined;
776
- isSearch: ComputedRef<boolean> | undefined;
777
- search: Ref<string>;
778
- init: () => void;
779
- initSsr: () => void;
780
- reset: () => Promise<void>;
781
- abort: () => void;
782
- sendPost: (request?: ApiFetch["request"]) => Promise< ApiData<Post> | undefined>;
783
- sendPut: (request?: ApiFetch["request"]) => Promise< ApiData<Put> | undefined>;
784
- sendDelete: (request?: ApiFetch["request"]) => Promise< ApiData<Delete> | undefined>;
785
- };
786
-
787
- import { Ref, ComputedRef } from 'vue';
788
- import { FormattersOptionsList, ApiData, ApiInstance, ArrayToItem, SearchColumns, SearchFormatList, FormattersListColumns, ApiFetch, ApiDataValidation, ApiErrorItem, ApiManagementValue, ApiManagementGet, ApiManagementSearch, ApiManagementRequest } from '@dxtmisha/functional-basic';
789
-
790
- /**
791
- * Manages API requests and list operations.
792
- * @keywords api, management, ref, request
793
- */
794
- export declare function useApiManagementRef<Return extends ApiManagementValue, FormattersOptions extends FormattersOptionsList, Post extends Record<string, any>, Put extends Record<string, any>, Delete extends Record<string, any>, Type extends ApiManagementValue = Return, Item extends ArrayToItem<Return> = ArrayToItem<Return>, ItemFormatters extends FormattersListColumns<Item, FormattersOptions>[number] = FormattersListColumns<Item, FormattersOptions>[number], Columns extends SearchColumns<ItemFormatters> = []>(propsGet: ApiManagementGet<Return, Type>, formattersOptions?: FormattersOptions, searchOptions?: ApiManagementSearch<Item, Columns>, postRequest?: ApiManagementRequest<Post>, putRequest?: ApiManagementRequest<Put>, deleteRequest?: ApiManagementRequest<Delete>, action?: () => Promise<void> | void, apiInstance?: ApiInstance): {
795
- isValid: ComputedRef<boolean>;
796
- isResponseContractValid: ComputedRef<boolean>;
797
- responseValidationResult: ComputedRef< ApiDataValidation | undefined>;
798
- list: ComputedRef<SearchFormatList<ItemFormatters, Columns>>;
799
- readonly data: ComputedRef<ApiData<Return> | undefined>;
800
- errorItem: ComputedRef< ApiErrorItem | undefined>;
801
- readonly length: ComputedRef<number>;
802
- lengthData: ComputedRef<number>;
803
- starting: ComputedRef<boolean>;
804
- reading: Ref<boolean, boolean>;
805
- loading: Ref<boolean, boolean>;
806
- loadingSearch: Ref<boolean, boolean> | undefined;
807
- loadingPost: Ref<boolean, boolean> | undefined;
808
- loadingPut: Ref<boolean, boolean> | undefined;
809
- loadingDelete: Ref<boolean, boolean> | undefined;
810
- isSearch: ComputedRef<boolean> | undefined;
811
- search: Ref<string>;
812
- /** Initializes api management. @keywords init, start */
813
- init: () => void;
814
- /** Initializes server-side rendering. @keywords ssr, init */
815
- initSsr: () => void;
816
- /** Resets request state. @keywords reset, clear */
817
- reset: () => Promise<void>;
818
- /** Aborts active request. @keywords abort, cancel */
819
- abort: () => void;
820
- /** Sends POST request. @keywords post, send */
821
- sendPost: (request?: ApiFetch["request"]) => Promise<ApiData<Post> | undefined>;
822
- /** Sends PUT request. @keywords put, send */
823
- sendPut: (request?: ApiFetch["request"]) => Promise<ApiData<Put> | undefined>;
824
- /** Sends DELETE request. @keywords delete, send */
825
- sendDelete: (request?: ApiFetch["request"]) => Promise<ApiData<Delete> | undefined>;
826
- };
827
-
828
- import { ApiData, ApiFetch } from '@dxtmisha/functional-basic';
829
- import { Ref } from 'vue';
830
-
831
- /**
832
- * Setup interface for API POST request.
833
- * @keywords api, post, setup, request
834
- */
835
- export interface UseApiPostSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> extends Omit<UseApiRequestSetup<T, Request, Return>, 'method'> {
836
- }
837
-
838
- /**
839
- * Executes a POST request using the API.
840
- * @keywords api, post, request, send
841
- */
842
- export declare function useApiPost<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(setup: UseApiPostSetup<T, Request, Return>): {
843
- loading: Ref<boolean, boolean>;
844
- send(request?: Request | undefined): Promise<Return | undefined>;
845
- };
846
-
847
- /** Setup interface for API PUT request @keywords useApiPutSetup, api, put */
848
- export interface UseApiPutSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> extends Omit<UseApiRequestSetup<T, Request, Return>, 'method'> {
849
- }
850
- /** Use API PUT request wrapper @keywords useApiPut, api, put, request */
851
- export declare function useApiPut<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(setup: UseApiPutSetup<T, Request, Return>): {
852
- loading: Ref<boolean, boolean>;
853
- send(request?: Request | undefined): Promise<Return | undefined>;
854
- };
855
-
856
- import { ComputedRef, Ref } from 'vue';
857
- import { ApiInstance, ApiData, ApiDataValidation, ApiErrorStorageList, ApiErrorItem } from '@dxtmisha/functional-basic';
858
-
859
- export interface UseApiRef<R> {
860
- /** @keywords data, computed, reactive */
861
- data: ComputedRef<ApiData<R> | undefined>;
862
- /** @keywords item, ref */
863
- item: Ref<ApiData<R> | undefined>;
864
- /** @keywords error, computed, item */
865
- errorItem: ComputedRef<ApiErrorItem | undefined>;
866
- /** @keywords response, contract, valid, status */
867
- isResponseContractValid: ComputedRef<boolean>;
868
- /** @keywords response, validation, result */
869
- responseValidationResult: ComputedRef<ApiDataValidation | undefined>;
870
- /** @keywords length, computed */
871
- length: ComputedRef<number>;
872
- /** @keywords starting, flag */
873
- starting: ComputedRef<boolean>;
874
- /** @keywords loading, ref */
875
- loading: Ref<boolean>;
876
- /** @keywords reading, ref */
877
- reading: Ref<boolean>;
878
- /** @keywords is, starting */
879
- isStarting(): boolean;
880
- /** @keywords is, loading */
881
- isLoading(): boolean;
882
- /** @keywords is, reading */
883
- isReading(): boolean;
884
- /** @keywords get, item */
885
- getItem(): ApiData<R> | undefined;
886
- /** @keywords init */
887
- init(): void;
888
- /** @keywords init, ssr */
889
- initSsr(): void;
890
- /** @keywords reset */
891
- reset(): Promise<void>;
892
- /** @keywords stop */
893
- stop(): void;
894
- /** @keywords abort */
895
- abort(): void;
896
- }
897
-
898
- /** @keywords api, ref, vue, composable */
899
- export declare function useApiRef<R, T = R>(path?: RefOrNormal<string | undefined>, options?: ApiOptions, reactivity?: boolean, conditions?: RefType<boolean>, transformation?: (data: T, isResponseContractValid?: ApiDataValidation) => ApiData<R>, validateResponseContract?: (data: T) => ApiDataValidation, errorContract?: ApiErrorStorageList, unmounted?: boolean, apiInstance?: ApiInstance): UseApiRef<R>;
900
-
901
- /** @keywords set, api, global, conditions */
902
- export declare const setApiRefGlobalConditions: (conditions: RefType<any>) => void;
903
-
904
- import { ApiInstance, ApiMethodItem, ApiData, ApiFetch, ApiErrorStorageList, ApiDataValidation } from '@dxtmisha/functional-basic';
905
- import { Ref } from 'vue';
906
-
907
- /** Setup interface for API request. @keywords useApiRequest setup api request configuration */
908
- export interface UseApiRequestSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> {
909
- /** Path to the API endpoint. @keywords path endpoint api */
910
- path?: RefOrNormal<string | undefined>;
911
- /** HTTP method used for the request. @keywords method http get post */
912
- method?: ApiMethodItem;
913
- /** Action callback after successful completion. @keywords action callback success */
914
- action?: (data: Return | undefined) => Promise<void> | void;
915
- /** Transformation function for response data. @keywords transformation transform response data */
916
- transformation?: (data: T) => Return;
917
- /** Function to validate the request payload contract. @keywords validate request contract payload */
918
- validateRequestContract?: (data: Request) => ApiDataValidation & Return;
919
- /** Function to validate response data contract. @keywords validate response contract schema */
920
- validateResponseContract?: (data: T) => ApiDataValidation & Return;
921
- /** Array of expected error contracts for the request. @keywords error contract list */
922
- errorContract?: ApiErrorStorageList;
923
- /** If true, extracts nested data field. @keywords toData extract response data */
924
- toData?: boolean;
925
- /** Additional request options. @keywords options request headers params */
926
- options?: ApiOptions;
927
- /** Custom Api instance. @keywords apiInstance custom api */
928
- apiInstance?: ApiInstance;
929
- }
930
-
931
- /** Execute an API request with loading states. @keywords useApiRequest request api fetch */
932
- export declare function useApiRequest<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>({ path, method, action, transformation, validateRequestContract, validateResponseContract, errorContract, toData, options, apiInstance }: UseApiRequestSetup<T, Request, Return>): {
933
- /** Loading state flag. @keywords loading state ref */
934
- loading: Ref<boolean, boolean>;
935
- /** Send the API request. @keywords send request api method */
936
- send(request?: Request): Promise<Return | undefined>;
937
- };
938
-
939
- import { Ref } from 'vue';
940
-
941
- type BroadcastValueItem<T> = T | string | undefined;
942
-
943
- /**
944
- * Creates a reactive variable to manage data between browser tabs.
945
- * @keywords broadcast value ref tabs reactive
946
- * @param name value name
947
- * @param defaultValue default value
948
- */
949
- export declare function useBroadcastValueRef<T>(name: string, defaultValue?: T | string | (() => (T | string))): Ref<BroadcastValueItem<T>>;
950
-
951
- export {};
952
-
953
- import { Ref } from 'vue';
954
- import { CookieOptions } from '@dxtmisha/functional-basic';
955
-
956
- /**
957
- * Creates a reactive variable to manage cookies.
958
- * @keywords cookie, ref, reactive, storage, useCookieRef
959
- */
960
- export declare function useCookieRef<T>(name: string, defaultValue?: T | string | (() => (T | string)), options?: CookieOptions): Ref<T | string | undefined>;
961
-
962
- import { FormattersListProp, FormattersOptionsList, FormattersReturn } from '@dxtmisha/functional-basic';
963
- import { ComputedRef } from 'vue';
964
-
965
- /**
966
- * Reactively formats a list of data based on provided formatting options.
967
- * @keywords useFormattersRef formatters list reactive
968
- */
969
- export declare function useFormattersRef<Options extends FormattersOptionsList = FormattersOptionsList, List extends FormattersListProp = FormattersListProp>(list: RefType<List | undefined>, options: Options): {
970
- /** Formatted data list. @keywords list format computed */
971
- listFormat: ComputedRef<FormattersReturn<List, Options>>;
972
- /** Count of records in the formatted list. @keywords length count list */
973
- length: ComputedRef<number>;
974
- };
975
-
976
- /** Returns a class object for working with data formatting. @keywords geo intl format ref */
977
- export declare function useGeoIntlRef(): GeoIntlRef;
978
-
979
- /**
980
- * Returns a class object for working with unit formatting and automatic conversions.
981
- * @keywords useGeoUnitRef, geo, unit, formatting, conversion
982
- */
983
- export declare function useGeoUnitRef(): GeoUnitRef;
984
-
985
- import { ShallowRef } from 'vue';
986
-
987
- /**
988
- * Creates a reactive variable to manage the hash.
989
- * @keywords useHashRef hash reactive variable state url
990
- * @param name value name
991
- * @param defaultValue default value
992
- */
993
- export declare function useHashRef<T>(name: string, defaultValue?: T | (() => T)): ShallowRef<T>;
994
-
995
- export type LazyItemByMargin = {
996
- rootMargin: string;
997
- item: ReturnType<typeof useLazyRef>;
998
- };
999
- /**
1000
- * Hook for tracking element visibility by margin.
1001
- * @keywords useLazyItemByMarginRef, lazy, observer, margin
1002
- */
1003
- export declare const useLazyItemByMarginRef: (element: RefType<HTMLElement | undefined>, rootMargin?: string) => {
1004
- /** Lazy item status */
1005
- lazyItemStatus: ShallowRef<boolean, boolean>;
1006
- /** Tracked lazy item instance */
1007
- readonly lazyItem: LazyItem | undefined;
1008
- };
1009
-
1010
- import { Ref, ShallowRef } from 'vue';
1011
-
1012
- export type LazyItem = {
1013
- status: ShallowRef<boolean>;
1014
- ratio: ShallowRef<number>;
1015
- entry: ShallowRef<IntersectionObserverEntry | undefined>;
1016
- stopWatch: () => void;
1017
- };
1018
-
1019
- export type LazyList = Record<string, LazyItem>;
1020
-
1021
- /**
1022
- * Initializes lazy reference tracking using Intersection Observer.
1023
- * @keywords useLazyRef, lazy, observer, intersection, ref
1024
- */
1025
- export declare const useLazyRef: (options?: IntersectionObserverInit) => {
1026
- intersectionObserver: IntersectionObserver | undefined;
1027
- /**
1028
- * Gets lazy item by element.
1029
- * @keywords getItem, lazy, element
1030
- */
1031
- getItem(element?: HTMLElement): LazyItem | undefined;
1032
- /**
1033
- * Adds an element for lazy tracking.
1034
- * @keywords addLazyItem, lazy, track
1035
- */
1036
- addLazyItem(element: Ref<HTMLElement | undefined>): ShallowRef<boolean, boolean>;
1037
- /**
1038
- * Removes an element from lazy tracking.
1039
- * @keywords removeLazyItem, lazy, remove
1040
- */
1041
- removeLazyItem: (element?: HTMLElement) => void;
1042
- /**
1043
- * Disconnects lazy observer.
1044
- * @keywords disconnectLazy, lazy, observer
1045
- */
1046
- disconnectLazy: () => void | undefined;
1047
- };
1048
-
1049
- import { ShallowRef } from 'vue';
1050
-
1051
- /**
1052
- * Returns the global loading status reference.
1053
- * @keywords useLoadingRef, loading, status, ref
1054
- */
1055
- export declare function useLoadingRef(): ShallowRef<boolean, boolean>;
1056
-
1057
- import { MetaRobots, Meta } from '@dxtmisha/functional-basic';
1058
- import { Ref } from 'vue';
1059
-
1060
- /**
1061
- * Vue composable for reactive meta tags management.
1062
- * @keywords use_meta meta tags management seo vue
1063
- */
1064
- export declare const useMeta: () => Readonly<{
1065
- meta: Meta;
1066
- title: Ref<string, string>;
1067
- keyword: Ref<string, string>;
1068
- description: Ref<string, string>;
1069
- author: Ref<string, string>;
1070
- image: Ref<string, string>;
1071
- canonical: Ref<string, string>;
1072
- robots: Ref<MetaRobots, MetaRobots>;
1073
- siteName: Ref<string, string>;
1074
- /** Generates HTML string for all meta tags. @keywords get_html_meta ssr */
1075
- getHtmlMeta: () => string;
1076
- /** Synchronizes reactive values with MetaStatic. @keywords sync meta */
1077
- sync: () => void;
1078
- /** Updates MetaStatic values with current reactive state. @keywords update meta */
1079
- update: () => void;
1080
- /** Updates MetaStatic values in SSR environment. @keywords update ssr */
1081
- updateSsr: () => void;
1082
- /** Sets the page title. @keywords set title */
1083
- setTitle: (value: string) => void;
1084
- /** Sets the keywords meta tag. @keywords set keywords */
1085
- setKeywords: (value: string) => void;
1086
- /** Sets the description meta tag. @keywords set description */
1087
- setDescription: (value: string) => void;
1088
- /** Sets the author meta tag. @keywords set author */
1089
- setAuthor: (value: string) => void;
1090
- /** Sets the Open Graph / Twitter Card image URL. @keywords set image */
1091
- setImage: (value: string) => void;
1092
- /** Sets the canonical URL. @keywords set canonical */
1093
- setCanonical: (value: string) => void;
1094
- /** Sets the robots meta tag directive. @keywords set robots */
1095
- setRobots: (value: MetaRobots) => void;
1096
- /** Sets the site name for Open Graph and Twitter Card. @keywords set site name */
1097
- setSiteName: (value: string) => void;
1098
- /** Sets the suffix for the page title. @keywords set suffix */
1099
- setSuffix: (suffix: string) => void;
1100
- } & {
1101
- init(): Readonly<{
1102
- meta: Meta;
1103
- title: Ref<string, string>;
1104
- keyword: Ref<string, string>;
1105
- description: Ref<string, string>;
1106
- author: Ref<string, string>;
1107
- image: Ref<string, string>;
1108
- canonical: Ref<string, string>;
1109
- robots: Ref<MetaRobots, MetaRobots>;
1110
- siteName: Ref<string, string>;
1111
- /** Generates HTML string for all meta tags. @keywords get_html_meta ssr */
1112
- getHtmlMeta: () => string;
1113
- /** Synchronizes reactive values with MetaStatic. @keywords sync meta */
1114
- sync: () => void;
1115
- /** Updates MetaStatic values with current reactive state. @keywords update meta */
1116
- update: () => void;
1117
- /** Updates MetaStatic values in SSR environment. @keywords update ssr */
1118
- updateSsr: () => void;
1119
- /** Sets the page title. @keywords set title */
1120
- setTitle: (value: string) => void;
1121
- /** Sets the keywords meta tag. @keywords set keywords */
1122
- setKeywords: (value: string) => void;
1123
- /** Sets the description meta tag. @keywords set description */
1124
- setDescription: (value: string) => void;
1125
- /** Sets the author meta tag. @keywords set author */
1126
- setAuthor: (value: string) => void;
1127
- /** Sets the Open Graph / Twitter Card image URL. @keywords set image */
1128
- setImage: (value: string) => void;
1129
- /** Sets the canonical URL. @keywords set canonical */
1130
- setCanonical: (value: string) => void;
1131
- /** Sets the robots meta tag directive. @keywords set robots */
1132
- setRobots: (value: MetaRobots) => void;
1133
- /** Sets the site name for Open Graph and Twitter Card. @keywords set site name */
1134
- setSiteName: (value: string) => void;
1135
- /** Sets the suffix for the page title. @keywords set suffix */
1136
- setSuffix: (suffix: string) => void;
1137
- }>;
1138
- /** Destroys execution context. @keywords destroy execute */
1139
- destroyExecute?(): void;
1140
- }>;
1141
-
1142
- import { ShallowRef } from 'vue';
1143
-
1144
- /**
1145
- * Creates a reactive variable to manage URL query parameters.
1146
- * @keywords query parameter url ref reactive
1147
- * @param name Parameter name
1148
- * @param defaultValue Default value
1149
- */
1150
- export declare function useQueryRef<T>(name: string, defaultValue?: T | (() => T)): ShallowRef<T>;
1151
-
1152
- import { Ref, ComputedRef } from 'vue';
1153
- import { NumberOrString } from '@dxtmisha/functional-basic';
1154
-
1155
- /**
1156
- * Managing a list of links for the router.
1157
- * @keywords useRouterList router links navigation
1158
- */
1159
- export declare const useRouterList: <T extends ListDataBasic>(list: RefType<ConstrBind<T>[] | undefined>, selected?: Ref<string> | string, hasTo?: boolean) => {
1160
- /** Active router item / Активный элемент роутера */
1161
- item: ComputedRef<T | undefined>;
1162
- /** Selected element / Выбранный элемент */
1163
- selected: Ref<string, string>;
1164
- /** Label of selected element / Метка выбранного элемента */
1165
- label: ComputedRef<NumberOrString>;
1166
- /** List of elements / Список элементов */
1167
- list: ComputedRef<ConstrBind<T>[]>;
1168
- /** Navigate by name / Переход по имени */
1169
- to: (name?: string) => void;
1170
- /** Transition to the main element / Переход к главному элементу */
1171
- toMain(): void;
1172
- };
1173
-
1174
- import { Ref, ComputedRef } from 'vue';
1175
- import { SearchColumns, SearchFormatList, SearchItem, SearchOptions } from '@dxtmisha/functional-basic';
1176
-
1177
- /**
1178
- * Composable for handling search logic with reactive data.
1179
- * @keywords search ref reactive list columns
1180
- */
1181
- export declare function useSearchRef<T extends SearchItem, K extends SearchColumns<T>>(list: SearchListInput<T>, columns?: SearchColumnsInput<T, K>, value?: Ref<string>, options?: SearchOptions): {
1182
- /** Whether search is currently active. @keywords isSearch active */
1183
- isSearch: ComputedRef<boolean>;
1184
- /** Search string reference. @keywords search string */
1185
- search: Ref<string, string>;
1186
- /** Search loading status reference. @keywords loading status */
1187
- loading: Ref<boolean, boolean>;
1188
- /** Formatted search results list. @keywords list search results */
1189
- listSearch: ComputedRef<SearchFormatList<T, K>>;
1190
- /** Length of search results. @keywords length count */
1191
- length: ComputedRef<number>;
1192
- };
1193
-
1194
- import { Ref } from 'vue';
1195
- import { SearchList, SearchColumns, SearchItem } from '@dxtmisha/functional-basic';
1196
-
1197
- /**
1198
- * Manages search value state and handling delays.
1199
- * @keywords useSearchValueRef, search, delay, debounce, loading
1200
- */
1201
- export declare function useSearchValueRef<T extends SearchItem, K extends SearchColumns<T>>(item: SearchList<T, K>, value?: Ref<string>): {
1202
- /** Current search value */
1203
- search: Ref<string, string>;
1204
- /** Search value with applied delay */
1205
- searchDelay: Ref<string, string>;
1206
- /** Loading status during delay */
1207
- loading: Ref<boolean, boolean>;
1208
- };
1209
-
1210
- import { Ref } from 'vue';
1211
-
1212
- /**
1213
- * Creates a reactive variable for session storage.
1214
- * @keywords session ref storage reactive
1215
- */
1216
- export declare function useSessionRef<T>(name: string, defaultValue?: T | (() => T)): Ref<T | undefined>;
1217
-
1218
- import { Ref } from 'vue';
1219
-
1220
- /**
1221
- * Creates a reactive reference to manage browser local storage.
1222
- * @keywords storage, local, reactive, ref
1223
- */
1224
- export declare function useStorageRef<T>(name: string, defaultValue?: T | (() => T), cache?: number): Ref<T | undefined>;
1225
-
1226
- import { ShallowRef } from 'vue';
1227
- import { TranslateInstance, TranslateList } from '@dxtmisha/functional-basic';
1228
-
1229
- /**
1230
- * Gets translated text by key or array of keys.
1231
- * @keywords translate ref localization i18n
1232
- */
1233
- export declare function useTranslateRef<T extends (string | string[])[]>(names: T, translateInstance?: TranslateInstance): ShallowRef<TranslateList<T>>;
1234
-
1235
- /**
1236
- * Shorthand alias for useTranslateRef.
1237
- * @keywords translate t localization i18n shorthand
1238
- */
1239
- export declare const t: <T extends string[]>(names: T) => ShallowRef<TranslateList<T>>;
1240
-
1241
- ```ts
1242
- /** Initializes user interface flags. @keywords ui, flags, initialize */
1243
- export declare const uiMakeFlags: () => void;
1244
- ```
1245
-
1246
- export * from '@dxtmisha/functional-basic';
1247
-
1248
- import { ComputedRef, DebuggerOptions } from 'vue';
1249
-
1250
- /**
1251
- * Creates a computed property that handles asynchronous getters.
1252
- * @keywords computed async reactive vue
1253
- */
1254
- export declare function computedAsync<R>(getter: (() => Promise<R>) | (() => R) | R, initialState?: (() => R) | R, ignore?: R, debugOptions?: DebuggerOptions): ComputedRef<R | undefined>;
1255
-
1256
- import { ComputedGetter, ComputedRef, DebuggerOptions } from 'vue';
1257
-
1258
- /**
1259
- * Creates a language-dependent computed reactive property.
1260
- * @keywords computed language reactive getter
1261
- */
1262
- export declare function computedByLanguage<T, R extends (T | undefined) = T | undefined>(getter: ComputedGetter<R>, getterNone?: R | (() => R), conditions?: () => boolean, debugOptions?: DebuggerOptions): ComputedRef<R>;
1263
-
1264
- /** Computes eternity property on demand with caching @keywords computed eternity cache async */
1265
- export declare function computedEternity<T>(getter: () => Promise<T> | T, initialState?: (() => T) | T): Ref<T, T>;
1266
-
1267
- import { Plugin } from 'vue';
1268
- import { InputSocialIcons } from '@dxtmisha/media';
1269
- import { ApiConfig, ErrorCenterCauseList, ErrorCenterHandlerCallback, ErrorCenterHandlerList, IconsConfig, TranslateConfig } from '@dxtmisha/functional-basic';
1270
- import { Router } from 'vue-router';
1271
-
1272
- export interface FunctionalPluginOptions {
1273
- api?: ApiConfig;
1274
- translate?: TranslateConfig;
1275
- location?: string | (() => string);
1276
- metaSuffix?: string;
1277
- icons?: IconsConfig;
1278
- iconsSocial?: InputSocialIcons;
1279
- router?: Router;
1280
- errorCauses?: ErrorCenterCauseList;
1281
- errorHandlers?: ErrorCenterHandlerList;
1282
- errorCallbacks?: ErrorCenterHandlerCallback[];
1283
- }
1284
-
1285
- /**
1286
- * Vue plugin for initializing and configuring global functional services.
1287
- * @keywords plugin, dxtFunctionalPlugin, functional, vue
1288
- * @example
1289
- * import { createApp } from 'vue'
1290
- * import { dxtFunctionalPlugin } from '@dxtmisha/functional'
1291
- * const app = createApp(App)
1292
- * app.use(dxtFunctionalPlugin, { api: { url: 'https://api.example.com' } })
1293
- */
1294
- export declare const dxtFunctionalPlugin: Plugin;
1295
-
1296
- /** Types of initialization for a singleton @keywords execute, use, type */
1297
- export declare enum ExecuteUseType {
1298
- /** Global application instance @keywords global, singleton */
1299
- global = "global",
1300
- /** Provide/inject shared instance @keywords provide, inject */
1301
- provide = "provide",
1302
- /** Local closure instance @keywords local, closure */
1303
- local = "local"
1304
- }
1305
-
1306
- export type ExecuteUseReturn<R> = Readonly<R & {
1307
- /** Returns raw instance @keywords init, raw */
1308
- init(): Readonly<R>;
1309
- /** Resets cached instance @keywords destroy, reset */
1310
- destroyExecute?(): void;
1311
- }>;
1312
-
1313
- /**
1314
- * Creates a managed singleton with initialization strategies.
1315
- * @keywords execute, use, singleton, factory
1316
- */
1317
- export declare function executeUse<R, O extends any[], RI extends ExecuteUseReturn<R> = ExecuteUseReturn<R>>(callback: (...args: O) => R, type?: ExecuteUseType): ((...args: O) => RI) | (() => RI);
1318
-
1319
- /**
1320
- * Creates a global singleton.
1321
- * @keywords execute, use, global, singleton
1322
- */
1323
- export declare function executeUseGlobal<R>(callback: () => R): (() => Readonly<R & {
1324
- init(): Readonly<R>;
1325
- destroyExecute?(): void;
1326
- }>) | (() => Readonly<R & {
1327
- init(): Readonly<R>;
1328
- destroyExecute?(): void;
1329
- }>);
1330
-
1331
- /**
1332
- * Creates a component-scoped singleton.
1333
- * @keywords execute, use, provide, singleton
1334
- */
1335
- export declare function executeUseProvide<R, O extends any[]>(callback: (...args: O) => R): ((...args: O) => Readonly<R & {
1336
- init(): Readonly<R>;
1337
- destroyExecute?(): void;
1338
- }>) | (() => Readonly<R & {
1339
- init(): Readonly<R>;
1340
- destroyExecute?(): void;
1341
- }>);
1342
-
1343
- /**
1344
- * Creates a local singleton.
1345
- * @keywords execute, use, local, singleton
1346
- */
1347
- export declare function executeUseLocal<R, O extends any[]>(callback: (...args: O) => R): ((...args: O) => Readonly<R & {
1348
- init(): Readonly<R>;
1349
- destroyExecute?(): void;
1350
- }>) | (() => Readonly<R & {
1351
- init(): Readonly<R>;
1352
- destroyExecute?(): void;
1353
- }>);
1354
-
1355
- /**
1356
- * Initializes all global callbacks.
1357
- * @keywords execute, use, global, init
1358
- */
1359
- export declare function executeUseGlobalInit(): void;
1360
-
1361
- /**
1362
- * Get injected value by name.
1363
- * @keywords get_inject dependency injection
1364
- */
1365
- export declare function getInject<T>(name: string): T | undefined;
1366
-
1367
- /** Get request options. @keywords get_options request api */
1368
- export declare const getOptions: (options?: ApiOptions) => RefOrNormal<ApiFetch>;
1369
-
1370
- /**
1371
- * Executes a function if provided and unwraps the resulting Vue Ref.
1372
- * @keywords execute, function, ref, unwrap, reactive
1373
- */
1374
- export declare function executeFunctionRef<T>(data: RefOrNormalOrFunction<T>): T;
1375
-
1376
- import { ComputedRef } from 'vue';
1377
- import { ApiData, ApiErrorItem } from '@dxtmisha/functional-basic';
1378
-
1379
- /**
1380
- * Returns the error item for the Api ref.
1381
- * @keywords api error ref reactive getApiErrorRef
1382
- */
1383
- export declare function getApiErrorRef<R>(data: RefType<ApiData<R> | undefined>): ComputedRef<ApiErrorItem | undefined>;
1384
-
1385
- import { ComputedRef } from 'vue';
1386
- import { ItemList } from '@dxtmisha/functional-basic';
1387
-
1388
- /**
1389
- * Generates a computed reference for subcomponent bindings.
1390
- * @keywords get_bind_ref reactive properties computed binding
1391
- */
1392
- export declare function getBindRef<T, R extends ItemList>(value: RefOrNormal<T | R> | undefined, nameExtra?: RefOrNormal<ItemList> | string, name?: string): ComputedRef<R>;
1393
-
1394
- /** Returns the value of a reactive ref or the value itself if not reactive. @keywords get ref value unwrap */
1395
- export declare function getRef<T>(item: RefOrNormal<T>): T;
1396
-
1397
- import { VNode } from 'vue';
1398
- import { ItemList } from '@dxtmisha/functional-basic';
1399
-
1400
- /** Render virtual node with cached properties. @keywords render, vnode, components */
1401
- export declare function render<T extends ItemList>(name: string | any, props?: T, children?: RawChildren | RawSlots, index?: string): VNode;
1402
-
1403
- import { Ref } from 'vue';
1404
-
1405
- /**
1406
- * Changes the value of a reactive reference.
1407
- * @keywords set ref value update
1408
- */
1409
- export declare function setRef<T>(item: Ref<T>, value: T): void;
1410
-
1411
- /**
1412
- * Returns a reference or wraps the value in a reference.
1413
- * @keywords ref toRefItem wrap reactive variable
1414
- */
1415
- export declare function toRefItem<T>(item: RefOrNormal<T>): Ref<T>;
1416
-
1417
- /**
1418
- * Generates component binding properties.
1419
- * @keywords getBind bind properties component attributes
1420
- */
1421
- export declare function getBind<T, R extends ItemList>(value: T | R | undefined | null, nameExtra?: ItemList | string, name?: string, except?: boolean): ConstrBind<R>;
1422
-
1423
- /**
1424
- * Returns the class name from the provided properties object.
1425
- * @keywords get class name props
1426
- */
1427
- export declare function getClassName<T extends ItemList>(props?: T): string | undefined;
1428
-
1429
- import { ItemList } from '@dxtmisha/functional-basic';
1430
-
1431
- /**
1432
- * Returns or generates a render index string.
1433
- * @keywords render, index, key, generator
1434
- */
1435
- export declare function getIndexForRender<T extends ItemList>(name: string | any, props?: T, index?: string): string | undefined;
1436
-
1437
- /**
1438
- * Merges two objects with properties, taking into account their classes and styles
1439
- * @keywords toBind merge objects class style bind
1440
- */
1441
- export declare function toBind<R extends ItemList = ItemList>(extra: ItemList, value: ItemList): ConstrBind<R>;
1442
-
1443
- /** Merges multiple objects into a single bound object with combined classes and styles. @keywords toBinds merge bind styles classes */
1444
- export declare function toBinds<R extends ItemList = ItemList>(...values: (ItemList | undefined)[]): ConstrBind<R>;
1445
-
1446
-
1447
-
1448
- export type ApiOptions = ApiMethodItem | RefOrNormal<ApiFetch>;
1449
- export type ApiManagementValue = ApiDefaultValue | ApiDefaultValue[];
1450
- export type ApiManagementGet<Return extends ApiManagementValue, Type extends ApiManagementValue = Return> = {
1451
- path?: RefOrNormal<string | undefined>;
1452
- options?: ApiOptions;
1453
- reactivity?: boolean;
1454
- conditions?: RefType<boolean>;
1455
- transformation?: (data: Type, isResponseContractValid?: ApiDataValidation) => ApiData<Return>;
1456
- validateResponseContract?: (data: Type) => ApiDataValidation;
1457
- errorContract?: ApiErrorStorageList;
1458
- typeData?: ((data: Return) => boolean) | any;
1459
- unmounted?: boolean;
1460
- skeleton?: () => Return;
1461
- };
1462
- export type ApiManagementSearch<T extends SearchItem, K extends SearchColumns<T>> = {
1463
- columns: K;
1464
- value?: Ref<string>;
1465
- options?: SearchOptions;
1466
- };
1467
- export type ApiManagementRequest<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> = {
1468
- path?: RefOrNormal<string | undefined>;
1469
- action?: (data: Return | undefined) => Promise<void> | void;
1470
- transformation?: (data: T) => Return;
1471
- validateRequestContract?: (data: Request) => ApiDataValidation & Return;
1472
- validateResponseContract?: (data: T) => ApiDataValidation & Return;
1473
- errorContract?: ApiErrorStorageList;
1474
- toData?: boolean;
1475
- options?: ApiOptions;
1476
- };
1477
-
1478
- export type ConstrItem = Record<string, any>;
1479
- export type ConstrValue<T = any> = {
1480
- value?: T;
1481
- };
1482
- export type ConstrComponent = Record<string, any>;
1483
- export type ConstrComponentMod<P extends ConstrItem> = ConstrItem | {
1484
- [K in keyof P]?: RefOrNormal<P[K]>;
1485
- };
1486
- export type ConstrExpose<E extends Element, EXPOSE extends ConstrItem> = EXPOSE & {
1487
- elementHtml?: ComputedRef<E | undefined>;
1488
- };
1489
- export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
1490
- export type ConstrEmitItem<T extends ConstrItem> = T[keyof T];
1491
- export type ConstrEmit<T extends ConstrItem = ConstrItem> = UnionToIntersection<ConstrEmitItem<{
1492
- [K in keyof T]: (evt: K, ...args: T[K]) => void;
1493
- }>>;
1494
- export type ConstrClassObject = Record<string, boolean | undefined>;
1495
- export type ConstrClass = string | (string | ConstrClass | Undefined)[] | ConstrClassObject;
1496
- export type ConstrClassList = Record<string, ConstrClass>;
1497
- export type ConstrClasses = {
1498
- main: ConstrClass;
1499
- } & ConstrClassList;
1500
- export type ConstrStylesItem = string | null;
1501
- export type ConstrStyles = Record<string, ConstrStylesItem> | ConstrStyles[];
1502
- /** Constructor options for component configuration @keywords options setup component */
1503
- export type ConstrOptions<COMP extends ConstrComponent, EMITS extends ConstrItem, P extends ConstrItem> = {
1504
- components?: COMP;
1505
- compMod?: ConstrComponentMod<P>;
1506
- emits?: ConstrEmit<EMITS>;
1507
- classes?: RefType<ConstrClasses>;
1508
- styles?: RefType<ConstrStyles>;
1509
- };
1510
- /** Constructor setup structure for component initialization @keywords setup initialization */
1511
- export type ConstrSetup<E extends Element, CLASSES extends ConstrClasses, SETUP extends ConstrItem> = {
1512
- name: string;
1513
- element: Ref<E | undefined>;
1514
- classes: RefType<CLASSES>;
1515
- styles: RefType<ConstrStyles>;
1516
- } & SETUP;
1517
- export type ConstrRegistration = {
1518
- flag?: boolean;
1519
- translate?: Record<string, string>;
1520
- };
1521
- /** Constructor bind type with class and style support @keywords bind attributes */
1522
- export type ConstrBind<T> = T & Record<string, any> & {
1523
- key?: string;
1524
- class?: ConstrClass;
1525
- style?: ConstrStyles;
1526
- };
1527
- export type ConstrPropItemOptions<T = any> = {
1528
- type?: PropType<T>;
1529
- required?: boolean;
1530
- default?: any;
1531
- validator?(value: any, props: any): boolean;
1532
- };
1533
- export type ConstrPropItem<T = any> = ConstrPropItemOptions<T> | PropType<T>;
1534
- export type ConstrProps<P = Record<string, any>> = {
1535
- [K in keyof P]: ConstrPropItem<P[K]>;
1536
- };
1537
- /** Hyperlink props definition @keywords href link properties */
1538
- export type ConstrHrefProps = {
1539
- href?: string;
1540
- };
1541
-
1542
- import { NumberOrString, NumberOrStringOrBoolean } from '@dxtmisha/functional-basic';
1543
-
1544
- /** Type of list item @keywords list, type, item */
1545
- export type ListType = 'item' | 'space' | 'line' | 'subtitle' | 'html' | 'menu' | 'menu-group' | 'group';
1546
-
1547
- /** Basic data structure for list item @keywords list, data, basic */
1548
- export type ListDataBasic = {
1549
- label?: NumberOrString;
1550
- value?: any;
1551
- search?: string;
1552
- };
1553
-
1554
- /** Extended list item with type and index @keywords list, item, extended */
1555
- export type ListDataItem<Item extends ListDataBasic = ListDataBasic> = ConstrBind<Item & {
1556
- parent?: string;
1557
- type: ListType;
1558
- index: string;
1559
- disabled?: boolean;
1560
- }>;
1561
-
1562
- /** Array of list data items @keywords list, items, array */
1563
- export type ListList<Item extends ListDataBasic = ListDataBasic> = ListDataItem<Item>[];
1564
-
1565
- /** List or record structure for list data @keywords list, record, structure */
1566
- export type ListRecord<Item extends ListDataBasic = ListDataBasic> = Item[] | Record<string, Item>;
1567
-
1568
- /** Extended list item with additional state properties @keywords list, item, full, state */
1569
- export type ListDataFullItem<Item extends ListDataBasic = ListDataBasic> = ListDataItem<Item> & {
1570
- focus: boolean;
1571
- highlight?: string;
1572
- selected: boolean;
1573
- disabled?: boolean;
1574
- };
1575
-
1576
- /** Array of extended list items with state @keywords list, data, full, state */
1577
- export type ListDataFull<Item extends ListDataBasic = ListDataBasic> = ListDataFullItem<Item>[];
1578
-
1579
- /** Input item for list creation @keywords list, input, item */
1580
- export type ListListInputItem<Item extends ListDataBasic = ListDataBasic> = ConstrBind<Item>;
1581
-
1582
- /** Various input formats for list creation @keywords list, input, formats */
1583
- export type ListListInput<Item extends ListDataBasic = ListDataBasic> = ListListInputItem<Item>[] | string[] | Record<string, ListListInputItem<Item>> | Record<string, string>;
1584
-
1585
- /** Single selected item identifier @keywords list, selected, item */
1586
- export type ListSelectedItem = NumberOrStringOrBoolean;
1587
-
1588
- /** Single or multiple selected items @keywords list, selected, list */
1589
- export type ListSelectedList = ListSelectedItem | ListSelectedItem[];
1590
-
1591
- /** Name of selected list item @keywords list, name */
1592
- export type ListName = string | number | undefined;
1593
-
1594
- /** Array of list item names @keywords list, names, array */
1595
- export type ListNames = ListName[];
1596
-
1597
- import { ComputedRef, Ref, VNode, VNodeArrayChildren } from 'vue';
1598
-
1599
- /**
1600
- * Union type for Vue reactive references (computed or ref)
1601
- * @keywords ref type computed reactive
1602
- */
1603
- export type RefType<T> = ComputedRef<T> | Ref<T>;
1604
-
1605
- /**
1606
- * Union type for Vue reactive references that can be undefined
1607
- * @keywords ref undefined computed reactive
1608
- */
1609
- export type RefUndefined<T> = RefType<T | undefined>;
1610
-
1611
- /**
1612
- * Union type that can be either a Vue reactive reference or a normal value
1613
- * @keywords ref normal value reactive
1614
- */
1615
- export type RefOrNormal<T> = RefType<T> | T;
1616
-
1617
- /**
1618
- * Union type that can be a Vue reactive reference, normal value, or function returning them
1619
- * @keywords ref normal function reactive
1620
- */
1621
- export type RefOrNormalOrFunction<T> = RefOrNormal<T> | (() => RefOrNormal<T>);
1622
-
1623
- /**
1624
- * Union type for Vue raw children content
1625
- * @keywords raw children vnode array
1626
- */
1627
- export type RawChildren = string | number | boolean | VNode | VNodeArrayChildren | (() => any);
1628
-
1629
- /**
1630
- * Type for Vue raw slots with optional stability flag
1631
- * @keywords raw slots stable vue
1632
- */
1633
- export type RawSlots = {
1634
- [name: string]: unknown;
1635
- $stable?: boolean;
1636
- };
1637
-
1638
- import { SearchColumns, SearchItem, SearchListValue } from '@dxtmisha/functional-basic';
1639
- /** Search list value reference @keywords search list value ref */
1640
- export type SearchListValueRef<T extends SearchItem> = RefOrNormal<SearchListValue<T>>;
1641
- /** Search list input configuration @keywords search list input */
1642
- export type SearchListInput<T extends SearchItem> = SearchListValueRef<T> | (() => SearchListValueRef<T>);
1643
- /** Search columns reference @keywords search columns ref */
1644
- export type SearchColumnsRef<T extends SearchItem, K extends SearchColumns<T>> = RefOrNormal<K>;
1645
- /** Search columns input configuration @keywords search columns input */
1646
- export type SearchColumnsInput<T extends SearchItem, K extends SearchColumns<T>> = SearchColumnsRef<T, K> | (() => SearchColumnsRef<T, K>);