@dxtmisha/functional 1.9.1 → 1.10.2

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 (3) hide show
  1. package/dist/library.d.ts +170 -14
  2. package/dist/library.js +1175 -2486
  3. package/package.json +3 -2
package/dist/library.d.ts CHANGED
@@ -1,6 +1,8 @@
1
+ import { ApiConfig } from '@dxtmisha/functional-basic';
1
2
  import { ApiData } from '@dxtmisha/functional-basic';
2
3
  import { ApiDefaultValue } from '@dxtmisha/functional-basic';
3
4
  import { ApiFetch } from '@dxtmisha/functional-basic';
5
+ import { ApiInstance } from '@dxtmisha/functional-basic';
4
6
  import { ApiMethodItem } from '@dxtmisha/functional-basic';
5
7
  import { ArrayToItem } from '@dxtmisha/functional-basic';
6
8
  import { ComputedGetter } from 'vue';
@@ -10,6 +12,7 @@ import { Datetime } from '@dxtmisha/functional-basic';
10
12
  import { DebuggerOptions } from 'vue';
11
13
  import { ElementOrString } from '@dxtmisha/functional-basic';
12
14
  import { ElementOrWindow } from '@dxtmisha/functional-basic';
15
+ import { ErrorCenterCauseList } from '@dxtmisha/functional-basic';
13
16
  import { EventItem } from '@dxtmisha/functional-basic';
14
17
  import { EventListenerDetail } from '@dxtmisha/functional-basic';
15
18
  import { EventOptions } from '@dxtmisha/functional-basic';
@@ -24,6 +27,7 @@ import { GeoFlagItem } from '@dxtmisha/functional-basic';
24
27
  import { GeoFlagNational } from '@dxtmisha/functional-basic';
25
28
  import { GeoHours } from '@dxtmisha/functional-basic';
26
29
  import { GeoItemFull } from '@dxtmisha/functional-basic';
30
+ import { IconsConfig } from '@dxtmisha/functional-basic';
27
31
  import { ItemList } from '@dxtmisha/functional-basic';
28
32
  import { ItemValue } from '@dxtmisha/functional-basic';
29
33
  import { Meta } from '@dxtmisha/functional-basic';
@@ -31,6 +35,7 @@ import { MetaRobots } from '@dxtmisha/functional-basic';
31
35
  import { NumberOrString } from '@dxtmisha/functional-basic';
32
36
  import { NumberOrStringOrBoolean } from '@dxtmisha/functional-basic';
33
37
  import { NumberOrStringOrDate } from '@dxtmisha/functional-basic';
38
+ import { Plugin as Plugin_2 } from 'vue';
34
39
  import { PropType } from 'vue';
35
40
  import { Ref } from 'vue';
36
41
  import { RouteLocationRaw } from 'vue-router';
@@ -43,6 +48,8 @@ import { SearchListValue } from '@dxtmisha/functional-basic';
43
48
  import { SearchOptions } from '@dxtmisha/functional-basic';
44
49
  import { ShallowRef } from 'vue';
45
50
  import { ToRefs } from 'vue';
51
+ import { TranslateConfig } from '@dxtmisha/functional-basic';
52
+ import { TranslateInstance } from '@dxtmisha/functional-basic';
46
53
  import { TranslateList } from '@dxtmisha/functional-basic';
47
54
  import { Undefined } from '@dxtmisha/functional-basic';
48
55
  import { VNode } from 'vue';
@@ -746,6 +753,29 @@ export declare abstract class DesignConstructorAbstract<E extends Element, COMP
746
753
  private updateStyles;
747
754
  }
748
755
 
756
+ /**
757
+ * Vue plugin for initializing and configuring global functional services
758
+ * (Api, Translate, Icons, Meta).
759
+ *
760
+ * Vue плагин для инициализации и настройки глобальных функциональных сервисов
761
+ * (Api, Translate, Icons, Meta).
762
+ *
763
+ * @example
764
+ * ```typescript
765
+ * import { createApp } from 'vue'
766
+ * import { dxtFunctionalPlugin } from '@dxtmisha/functional'
767
+ * import router from './router'
768
+ *
769
+ * const app = createApp(App)
770
+ * app.use(dxtFunctionalPlugin, {
771
+ * api: { url: 'https://api.example.com' },
772
+ * metaSuffix: ' | My App',
773
+ * router
774
+ * })
775
+ * ```
776
+ */
777
+ export declare const dxtFunctionalPlugin: Plugin_2;
778
+
749
779
  /**
750
780
  * Global effect scope class.
751
781
  *
@@ -930,6 +960,43 @@ export declare enum ExecuteUseType {
930
960
  local = "local"
931
961
  }
932
962
 
963
+ /**
964
+ * Interface for the functional plugin options /
965
+ * Интерфейс для опций функционального плагина
966
+ */
967
+ export declare interface FunctionalPluginOptions {
968
+ /**
969
+ * Configuration for the API client /
970
+ * Конфигурация для API-клиента
971
+ */
972
+ api?: ApiConfig;
973
+ /**
974
+ * Configuration for the translation service /
975
+ * Конфигурация для сервиса переводов
976
+ */
977
+ translate?: TranslateConfig;
978
+ /**
979
+ * Suffix to be appended to all page titles /
980
+ * Суффикс, который будет добавляться ко всем заголовкам страниц
981
+ */
982
+ metaSuffix?: string;
983
+ /**
984
+ * Configuration for the icon management service /
985
+ * Конфигурация для сервиса управления иконками
986
+ */
987
+ icons?: IconsConfig;
988
+ /**
989
+ * Vue Router instance for global navigation state management /
990
+ * Экземпляр Vue Router для глобального управления состоянием навигации
991
+ */
992
+ router?: Router;
993
+ /**
994
+ * Error causes list for error center /
995
+ * Список причин ошибок для центра ошибок
996
+ */
997
+ errorCauses?: ErrorCenterCauseList;
998
+ }
999
+
933
1000
  /**
934
1001
  * Class for working with Flags.
935
1002
  *
@@ -1869,12 +1936,10 @@ export declare class RouterItemRef {
1869
1936
  * Класс для получения ширины скролла в виде реактивного элемента.
1870
1937
  */
1871
1938
  export declare class ScrollbarWidthRef {
1872
- /**
1873
- * Reactive item.
1874
- *
1875
- * Реактивный элемент.
1876
- */
1939
+ /** Reactive item/ Реактивный элемент */
1877
1940
  readonly item: Ref<boolean | undefined, boolean | undefined>;
1941
+ /** Reactive width/ Реактивная ширина */
1942
+ readonly width: Ref<number, number>;
1878
1943
  /**
1879
1944
  * Constructor
1880
1945
  */
@@ -1946,12 +2011,36 @@ export declare function toRefItem<T>(item: RefOrNormal<T>): Ref<T>;
1946
2011
  /** Utility type to convert union types to intersection types/ Утилитарный тип для преобразования объединенных типов в пересеченные */
1947
2012
  export declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
1948
2013
 
1949
- export declare function useApiDelete<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions): {
2014
+ /**
2015
+ * Use API delete request.
2016
+ *
2017
+ * Использование API delete запроса.
2018
+ * @param path Path to the API endpoint / Путь к endpoint API
2019
+ * @param action Action to perform after the request / Действие, выполняемое после запроса
2020
+ * @param transformation Transformation function / Функция трансформации
2021
+ * @param toData Extract 'data' field from response / Извлечь поле 'data' из ответа
2022
+ * @param options Additional request options / Дополнительные опции запроса
2023
+ * @param apiInstance Api instance / Экземпляр Api
2024
+ * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
2025
+ */
2026
+ export declare function useApiDelete<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions, apiInstance?: ApiInstance): {
1950
2027
  loading: Ref<boolean, boolean>;
1951
2028
  send(request?: Request | undefined): Promise<Return | undefined>;
1952
2029
  };
1953
2030
 
1954
- export declare function useApiGet<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions): {
2031
+ /**
2032
+ * Use API get request.
2033
+ *
2034
+ * Использование API get запроса.
2035
+ * @param path Path to the API endpoint / Путь к endpoint API
2036
+ * @param action Action to perform after the request / Действие, выполняемое после запроса
2037
+ * @param transformation Transformation function / Функция трансформации
2038
+ * @param toData Extract 'data' field from response / Извлечь поле 'data' из ответа
2039
+ * @param options Additional request options / Дополнительные опции запроса
2040
+ * @param apiInstance Api instance / Экземпляр Api
2041
+ * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
2042
+ */
2043
+ export declare function useApiGet<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions, apiInstance?: ApiInstance): {
1955
2044
  loading: Ref<boolean, boolean>;
1956
2045
  send(request?: Request | undefined): Promise<Return | undefined>;
1957
2046
  };
@@ -1968,7 +2057,7 @@ export declare function useApiGet<T, Request extends ApiFetch['request'] = ApiFe
1968
2057
  * @param deleteRequest properties for DELETE request / параметры для DELETE запроса
1969
2058
  * @param action additional action to perform on mutations / дополнительное действие при мутациях
1970
2059
  */
1971
- 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): {
2060
+ 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): {
1972
2061
  /** Is valid data (Computed) / Валидность данных (Computed) */
1973
2062
  isValid: ComputedRef<boolean>;
1974
2063
  /** List data (Computed) / Данные списка (Computed) */
@@ -2032,12 +2121,36 @@ export declare function useApiManagementRef<Return extends ApiManagementValue, F
2032
2121
  sendDelete: (request?: ApiFetch["request"]) => Promise<ApiData<Delete> | undefined>;
2033
2122
  };
2034
2123
 
2035
- export declare function useApiPost<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions): {
2124
+ /**
2125
+ * Use API post request.
2126
+ *
2127
+ * Использование API post запроса.
2128
+ * @param path Path to the API endpoint / Путь к endpoint API
2129
+ * @param action Action to perform after the request / Действие, выполняемое после запроса
2130
+ * @param transformation Transformation function / Функция трансформации
2131
+ * @param toData Extract 'data' field from response / Извлечь поле 'data' из ответа
2132
+ * @param options Additional request options / Дополнительные опции запроса
2133
+ * @param apiInstance Api instance / Экземпляр Api
2134
+ * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
2135
+ */
2136
+ export declare function useApiPost<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions, apiInstance?: ApiInstance): {
2036
2137
  loading: Ref<boolean, boolean>;
2037
2138
  send(request?: Request | undefined): Promise<Return | undefined>;
2038
2139
  };
2039
2140
 
2040
- export declare function useApiPut<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions): {
2141
+ /**
2142
+ * Use API put request.
2143
+ *
2144
+ * Использование API put запроса.
2145
+ * @param path Path to the API endpoint / Путь к endpoint API
2146
+ * @param action Action to perform after the request / Действие, выполняемое после запроса
2147
+ * @param transformation Transformation function / Функция трансформации
2148
+ * @param toData Extract 'data' field from response / Извлечь поле 'data' из ответа
2149
+ * @param options Additional request options / Дополнительные опции запроса
2150
+ * @param apiInstance Api instance / Экземпляр Api
2151
+ * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
2152
+ */
2153
+ export declare function useApiPut<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions, apiInstance?: ApiInstance): {
2041
2154
  loading: Ref<boolean, boolean>;
2042
2155
  send(request?: Request | undefined): Promise<Return | undefined>;
2043
2156
  };
@@ -2116,8 +2229,9 @@ export declare interface UseApiRef<R> {
2116
2229
  * @param conditions conditions for executing the request/ условия выполнения запроса
2117
2230
  * @param transformation transforms the received request/ преобразовывает полученный запрос
2118
2231
  * @param unmounted delete data from the cache/ удалить ли данные из кеша
2232
+ * @param apiInstance Api instance / Экземпляр Api
2119
2233
  */
2120
- export declare function useApiRef<R, T = R>(path?: RefOrNormal<string | undefined>, options?: ApiOptions, reactivity?: boolean, conditions?: RefType<boolean>, transformation?: (data: T) => ApiData<R>, unmounted?: boolean): UseApiRef<R>;
2234
+ export declare function useApiRef<R, T = R>(path?: RefOrNormal<string | undefined>, options?: ApiOptions, reactivity?: boolean, conditions?: RefType<boolean>, transformation?: (data: T) => ApiData<R>, unmounted?: boolean, apiInstance?: ApiInstance): UseApiRef<R>;
2121
2235
 
2122
2236
  /**
2123
2237
  * Use api request.
@@ -2129,9 +2243,10 @@ export declare function useApiRef<R, T = R>(path?: RefOrNormal<string | undefine
2129
2243
  * @param transformation Transformation function / Функция трансформации
2130
2244
  * @param toData Extract 'data' field from response / Извлечь поле 'data' из ответа
2131
2245
  * @param options Additional request options / Дополнительные опции запроса
2246
+ * @param apiInstance Api instance / Экземпляр Api
2132
2247
  * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
2133
2248
  */
2134
- export declare function useApiRequest<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, method?: ApiMethodItem, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions): {
2249
+ export declare function useApiRequest<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(path?: RefOrNormal<string | undefined>, method?: ApiMethodItem, action?: (data: Return | undefined) => Promise<void> | void, transformation?: (data: T) => Return, toData?: boolean, options?: ApiOptions, apiInstance?: ApiInstance): {
2135
2250
  loading: Ref<boolean, boolean>;
2136
2251
  /**
2137
2252
  * Send request.
@@ -2228,7 +2343,7 @@ export declare const useLazyRef: (options?: IntersectionObserverInit) => {
2228
2343
  * Получение отслеживаемого элемента.
2229
2344
  * @param element tracked element/ отслеживаемый элемент
2230
2345
  */
2231
- getItem(element: HTMLElement): LazyItem | undefined;
2346
+ getItem(element: HTMLElement): LazyItem;
2232
2347
  /**
2233
2348
  * Adding an element for tracking.
2234
2349
  *
@@ -2266,27 +2381,67 @@ export declare function useLoadingRef(): ShallowRef<boolean, boolean>;
2266
2381
  */
2267
2382
  export declare const useMeta: () => Readonly<{
2268
2383
  meta: Meta;
2384
+ /** Reactive page title (without suffix) / Реактивный заголовок страницы (без суффикса) */
2269
2385
  title: Ref<string, string>;
2386
+ /** Reactive keywords meta tag / Реактивный мета-тег keywords */
2270
2387
  keyword: Ref<string, string>;
2388
+ /** Reactive description meta tag / Реактивный мета-тег description */
2271
2389
  description: Ref<string, string>;
2390
+ /** Reactive author meta tag / Реактивный мета-тег author */
2272
2391
  author: Ref<string, string>;
2392
+ /** Reactive Open Graph / Twitter Card image URL / Реактивный URL изображения для Open Graph / Twitter Card */
2273
2393
  image: Ref<string, string>;
2394
+ /** Reactive canonical URL / Реактивный канонический URL */
2274
2395
  canonical: Ref<string, string>;
2396
+ /** Reactive robots meta tag directive / Реактивная директива мета-тега robots */
2275
2397
  robots: Ref<MetaRobots, MetaRobots>;
2398
+ /** Reactive site name for Open Graph and Twitter Card / Реактивное название сайта для Open Graph и Twitter Card */
2276
2399
  siteName: Ref<string, string>;
2400
+ /**
2401
+ * Generates HTML string for all meta tags (for SSR).
2402
+ *
2403
+ * Генерирует HTML-строку для всех мета-тегов (для SSR).
2404
+ */
2277
2405
  getHtmlMeta: () => string;
2406
+ /**
2407
+ * Sets the suffix for the page title.
2408
+ *
2409
+ * Устанавливает суффикс для заголовка страницы.
2410
+ * @param suffix Suffix to set / Суффикс для установки
2411
+ */
2412
+ setSuffix: (suffix: string) => void;
2278
2413
  } & {
2279
2414
  init(): Readonly<{
2280
2415
  meta: Meta;
2416
+ /** Reactive page title (without suffix) / Реактивный заголовок страницы (без суффикса) */
2281
2417
  title: Ref<string, string>;
2418
+ /** Reactive keywords meta tag / Реактивный мета-тег keywords */
2282
2419
  keyword: Ref<string, string>;
2420
+ /** Reactive description meta tag / Реактивный мета-тег description */
2283
2421
  description: Ref<string, string>;
2422
+ /** Reactive author meta tag / Реактивный мета-тег author */
2284
2423
  author: Ref<string, string>;
2424
+ /** Reactive Open Graph / Twitter Card image URL / Реактивный URL изображения для Open Graph / Twitter Card */
2285
2425
  image: Ref<string, string>;
2426
+ /** Reactive canonical URL / Реактивный канонический URL */
2286
2427
  canonical: Ref<string, string>;
2428
+ /** Reactive robots meta tag directive / Реактивная директива мета-тега robots */
2287
2429
  robots: Ref<MetaRobots, MetaRobots>;
2430
+ /** Reactive site name for Open Graph and Twitter Card / Реактивное название сайта для Open Graph и Twitter Card */
2288
2431
  siteName: Ref<string, string>;
2432
+ /**
2433
+ * Generates HTML string for all meta tags (for SSR).
2434
+ *
2435
+ * Генерирует HTML-строку для всех мета-тегов (для SSR).
2436
+ */
2289
2437
  getHtmlMeta: () => string;
2438
+ /**
2439
+ * Sets the suffix for the page title.
2440
+ *
2441
+ * Устанавливает суффикс для заголовка страницы.
2442
+ * @param suffix Suffix to set / Суффикс для установки
2443
+ */
2444
+ setSuffix: (suffix: string) => void;
2290
2445
  }>;
2291
2446
  destroyExecute?(): void;
2292
2447
  }>;
@@ -2391,8 +2546,9 @@ export declare function useStorageRef<T>(name: string, defaultValue?: T | (() =>
2391
2546
  *
2392
2547
  * Получение переведенного текста по массиву ключей или строке с ключом.
2393
2548
  * @param names a string or an array with keys/ строка или массив с ключами
2549
+ * @param translateInstance a translate instance/ экземпляр перевода
2394
2550
  */
2395
- export declare function useTranslateRef<T extends (string | string[])[]>(names: T): ShallowRef<TranslateList<T>>;
2551
+ export declare function useTranslateRef<T extends (string | string[])[]>(names: T, translateInstance?: TranslateInstance): ShallowRef<TranslateList<T>>;
2396
2552
 
2397
2553
 
2398
2554
  export * from "@dxtmisha/functional-basic";