@topvisor/ui 1.5.8-3 → 1.5.8-5

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 (107) hide show
  1. package/.chunks/api-BlIxMRlW.amd.js +2 -0
  2. package/.chunks/api-BlIxMRlW.amd.js.map +1 -0
  3. package/.chunks/{api-Dy2x6A8L.esm.js → api-BlIxMRlW.esm.js} +4 -4
  4. package/.chunks/api-BlIxMRlW.esm.js.map +1 -0
  5. package/.chunks/app-CyODeY0D.amd.js.map +1 -1
  6. package/.chunks/app-CyODeY0D.esm.js.map +1 -1
  7. package/.chunks/dialog-C8fss11q.amd.js.map +1 -1
  8. package/.chunks/dialog-C8fss11q.esm.js.map +1 -1
  9. package/.chunks/forms-LywqKN9I.amd.js.map +1 -1
  10. package/.chunks/forms-LywqKN9I.esm.js.map +1 -1
  11. package/.chunks/{formsExt-C98f2ZvT.amd.js → formsExt-DIG40qsu.amd.js} +2 -2
  12. package/.chunks/{formsExt-C98f2ZvT.amd.js.map → formsExt-DIG40qsu.amd.js.map} +1 -1
  13. package/.chunks/{formsExt-C98f2ZvT.esm.js → formsExt-DIG40qsu.esm.js} +3 -3
  14. package/.chunks/{formsExt-C98f2ZvT.esm.js.map → formsExt-DIG40qsu.esm.js.map} +1 -1
  15. package/.chunks/notice-Dw5ZUJxW.amd.js.map +1 -1
  16. package/.chunks/notice-Dw5ZUJxW.esm.js.map +1 -1
  17. package/.chunks/popup-DWQEHSuw.amd.js +2 -0
  18. package/.chunks/popup-DWQEHSuw.amd.js.map +1 -0
  19. package/.chunks/{popup-BWD4eASc.esm.js → popup-DWQEHSuw.esm.js} +2 -2
  20. package/.chunks/{popup-BWD4eASc.esm.js.map → popup-DWQEHSuw.esm.js.map} +1 -1
  21. package/.chunks/store-DjQAOnrn.amd.js.map +1 -1
  22. package/.chunks/store-DjQAOnrn.esm.js.map +1 -1
  23. package/.chunks/utils-CZnFOkS6.amd.js.map +1 -1
  24. package/.chunks/utils-CZnFOkS6.esm.js.map +1 -1
  25. package/.chunks/utils-ZgQqVN0T.amd.js.map +1 -1
  26. package/.chunks/utils-ZgQqVN0T.esm.js.map +1 -1
  27. package/api/index.amd.js +1 -1
  28. package/api/index.amd.js.map +1 -1
  29. package/api/index.js +1 -1
  30. package/assets/core.css +1 -1
  31. package/assets/schedule.css +1 -1
  32. package/autoload-css-manifest.amd.json +2 -2
  33. package/autoload-css-manifest.json +2 -2
  34. package/formsExt/formsExt.amd.js +1 -1
  35. package/formsExt/formsExt.amd.js.map +1 -1
  36. package/formsExt/formsExt.js +1 -1
  37. package/icomoon/demo-files/demo.amd.js +1 -1
  38. package/icomoon/demo-files/demo.amd.js.map +1 -1
  39. package/icomoon/demo-files/demo.js +2 -2
  40. package/icomoon/demo.amd.js +1 -1
  41. package/icomoon/demo.amd.js.map +1 -1
  42. package/icomoon/demo.js +2 -2
  43. package/package.json +1 -1
  44. package/popup/popup.amd.js +1 -1
  45. package/popup/popup.amd.js.map +1 -1
  46. package/popup/popup.js +1 -1
  47. package/project/project.amd.js +1 -1
  48. package/project/project.amd.js.map +1 -1
  49. package/project/project.js +3 -3
  50. package/project/project.js.map +1 -1
  51. package/schedule/schedule.amd.js +1 -1
  52. package/schedule/schedule.amd.js.map +1 -1
  53. package/schedule/schedule.js +89 -81
  54. package/schedule/schedule.js.map +1 -1
  55. package/src/api/api/types/client/client.d.ts +1 -2
  56. package/src/api/api/types/client/request.d.ts +1 -1
  57. package/src/api/api/types/schema.d.ts +1 -1
  58. package/src/api/api/types/utils.d.ts +1 -1
  59. package/src/api/api/utils/common.d.ts +1 -1
  60. package/src/components/core/notice/types.d.ts +3 -1
  61. package/src/components/core/notice/utils.d.ts +2 -2
  62. package/src/components/dialog/dialog/composables/dialogHandle.d.ts +2 -2
  63. package/src/components/dialog/dialog/page/types.d.ts +4 -4
  64. package/src/components/dialog/dialog/types.d.ts +1 -1
  65. package/src/components/dialog/lib/utils.d.ts +1 -1
  66. package/src/components/dialog/lib/worker.d.ts +1 -1
  67. package/src/components/forms/button/types.d.ts +3 -4
  68. package/src/components/forms/caption/types.d.ts +2 -2
  69. package/src/components/forms/input/types.d.ts +2 -2
  70. package/src/components/forms/inputRange/types.d.ts +1 -0
  71. package/src/components/forms/select/types.d.ts +1 -1
  72. package/src/components/formsExt/editArea/types.d.ts +1 -1
  73. package/src/components/formsExt/info/types.d.ts +2 -2
  74. package/src/components/layout/islandRows/islandRowsRow/types.d.ts +1 -0
  75. package/src/components/layout/islandRows/types.d.ts +2 -2
  76. package/src/components/project/groupSelector/groups/utils.d.ts +14 -2
  77. package/src/components/project/projectSelector/utils.d.ts +2 -2
  78. package/src/components/project/regionSelector/utils/utils.d.ts +1 -1
  79. package/src/components/schedule/schedule/compoents/calendar/types.d.ts +8 -0
  80. package/src/components/schedule/schedule/types.d.ts +2 -2
  81. package/src/components/tabsView/tabsView/types.d.ts +1 -2
  82. package/src/components/tabsView/tabsView/utils.d.ts +1 -1
  83. package/src/core/plugins/core.d.ts +1 -1
  84. package/src/core/utils/route.d.ts +1 -1
  85. package/src/core/utils/store/store.d.ts +1 -1
  86. package/src/core/utils/system.d.ts +2 -2
  87. package/tabsView/tabsView.amd.js +1 -1
  88. package/tabsView/tabsView.amd.js.map +1 -1
  89. package/tabsView/tabsView.js +2 -2
  90. package/tabsView/tabsView.js.map +1 -1
  91. package/utils/route.amd.js +1 -1
  92. package/utils/route.amd.js.map +1 -1
  93. package/utils/route.js +2 -2
  94. package/utils/route.js.map +1 -1
  95. package/utils/searchers.amd.js +1 -1
  96. package/utils/searchers.amd.js.map +1 -1
  97. package/utils/searchers.js +0 -1
  98. package/utils/searchers.js.map +1 -1
  99. package/utils/string.amd.js.map +1 -1
  100. package/utils/string.js.map +1 -1
  101. package/utils/system.amd.js.map +1 -1
  102. package/utils/system.js.map +1 -1
  103. package/.chunks/api-Dy2x6A8L.amd.js +0 -2
  104. package/.chunks/api-Dy2x6A8L.amd.js.map +0 -1
  105. package/.chunks/api-Dy2x6A8L.esm.js.map +0 -1
  106. package/.chunks/popup-BWD4eASc.amd.js +0 -2
  107. package/.chunks/popup-BWD4eASc.amd.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-Dy2x6A8L.esm.js","names":[],"sources":["../../src/api/api/client/request-options.ts","../../src/api/api/utils/common.ts","../../src/api/api/client/request.ts","../../src/api/api/client/client.ts","../../src/api/api/index.ts"],"sourcesContent":["export const createRequestOptions = (requestOptions: Partial<Api.ClientRequestOptions> = {}): Api.ClientRequestOptions => {\n\trequestOptions = { ...requestOptions };\n\trequestOptions.loadingEl ??= globalThis.document?.body;\n\trequestOptions.loadingShowSpinner ??= true;\n\trequestOptions.method ??= 'POST';\n\trequestOptions.accept ??= 'application/json';\n\n\treturn requestOptions as Api.ClientRequestOptions;\n};\n","/**\n * Сгенерировать объект ответа в формате расширения OpenAPI\n *\n * @see Api.Ext\n */\nexport const genExtRes = (\n\tresult: any,\n\terrors?: Api.Ext.Schemas['ResponseError']['errors'],\n\tresponse?: Response,\n): Api.Response<any> => {\n\treturn {\n\t\tresult,\n\t\terrors,\n\t\tresponse,\n\t};\n};\n\n/**\n * Это публичное API, к которому открыт доступ по прямой ссылке через GET\n *\n * Используется для кеширования и генерации файлов через API\n */\nexport const isPublicAPI = (path: Api.PathAbstract) => {\n\treturn path.startsWith('/system_2/common/');\n};\n\n/**\n * Сгенерировать baseUrl на основе текущего домена\n */\nexport const getBaseDomainUrl = (useMainDomain = false, input: string = window.location.href, subdomain?: string) => {\n\tconst { protocol, hostname, port } = new URL(input);\n\n\t/**\n\t * localhost / IP-адреса / одноуровневые домены оставляем как есть\n\t */\n\tconst parts = hostname.split('.');\n\tconst baseHostname = !useMainDomain || parts.length <= 2 || /^[\\d.]+$/.test(hostname) || hostname === 'localhost'\n\t\t? hostname\n\t\t: parts.slice(-2).join('.');\n\n\treturn `${protocol}//${baseHostname}${port ? `:${port}` : ''}`;\n};\n","import type { Client } from './client';\nimport { createRequestOptions } from './request-options';\nimport { genExtRes } from '../utils/common';\n\n/**\n * Проверить передаются ли файлы\n */\nconst checkHasFiles = (data: Record<string, any>): boolean => {\n\treturn Object.values(data).some(value =>\n\t\tvalue instanceof FileList ||\n\t\tvalue instanceof File ||\n\t\tvalue instanceof Blob ||\n\t\tArray.isArray(value) && value.some(item => item instanceof File || item instanceof Blob),\n\t);\n};\n\nexport const createRequest = <\n\tRequestContext extends Api.ClientRequestContext<any, any, any>,\n\tFieldsNarrow extends Api.ParamsFields<RequestContext>,\n>(\n\tclient: Client<RequestContext['Paths'], RequestContext['UseExt']>,\n\tpath: RequestContext['Path'],\n\tfieldsNarrow?: FieldsNarrow,\n): Api.ClientRequest<RequestContext, FieldsNarrow> => {\n\tconst clientRequest: Api.ClientRequest<RequestContext, FieldsNarrow> = {\n\t\tinLoading: false,\n\t\tpath: path as Api.PathAbstract,\n\t\turl: client.options.baseUrl + path,\n\t\toptions: createRequestOptions(client.options.requestOptions),\n\t\tmockerOptions: undefined as Api.Mocker.Options<any, any> | undefined,\n\t\tparams: {} as any, // незаполненное свойство\n\t\tgetInLoading: () => clientRequest.inLoading,\n\n\t\tsetParams: (params) => {\n\t\t\tclientRequest.params = { ...params } as any;\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tchangeParams: (params) => {\n\t\t\tObject.assign(clientRequest.params, params);\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tsetOptions: (options) => {\n\t\t\tObject.assign(clientRequest.options, options);\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tsetMocker: (options) => {\n\t\t\tclientRequest.mockerOptions = options;\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tcall: async (fields?) => {\n\t\t\treturn clientRequest.exec(fields);\n\t\t},\n\n\t\tcallFetch: async (fetchStyle, fields?) => {\n\t\t\treturn clientRequest.exec(fields, fetchStyle);\n\t\t},\n\n\t\tcallInNewWindow: async (fields?) => {\n\t\t\tconst data = clientRequest.genData(fields);\n\n\t\t\tconst middlewareCtx = client.genMiddlewareCtx(clientRequest, data);\n\n\t\t\tclient.options.onPrepareData?.(data, middlewareCtx);\n\n\t\t\tconst { postInWindow } = await import('../utils/lazy');\n\t\t\tvoid postInWindow(clientRequest.url, data, '_blank');\n\t\t},\n\n\t\tcallInSelfWindow: async (fields?) => {\n\t\t\tconst data = clientRequest.genData(fields);\n\n\t\t\tconst middlewareCtx = client.genMiddlewareCtx(clientRequest, data);\n\n\t\t\tclient.options.onPrepareData?.(data, middlewareCtx);\n\n\t\t\tconst { postInWindow } = await import('../utils/lazy');\n\t\t\tvoid postInWindow(clientRequest.url, data, '_self');\n\t\t},\n\n\t\tgenData: (fields?, fetchStyle?) => {\n\t\t\tconst post: any = { ...clientRequest.params };\n\n\t\t\t// в старом коде fields вставлялись в params, оставлено для совместимости\n\t\t\t// delete post.fields;\n\t\t\tdelete post.fetch_style;\n\n\t\t\t// поля, указанные при запуске запроса\n\t\t\tif (fields) {\n\t\t\t\tlet fieldsPrepared = [...fields as any[]];\n\n\t\t\t\t// поля, указанные при создании запроса\n\t\t\t\tif (fieldsNarrow) {\n\t\t\t\t\tfieldsPrepared = fieldsPrepared.filter(field => fieldsNarrow.includes(field));\n\t\t\t\t}\n\n\t\t\t\tpost.fields = fieldsPrepared;\n\t\t\t} else {\n\t\t\t\tif (fieldsNarrow) {\n\t\t\t\t\tpost.fields = fieldsNarrow;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fetchStyle) {\n\t\t\t\tpost.fetch_style = fetchStyle;\n\t\t\t}\n\n\t\t\treturn post;\n\t\t},\n\n\t\tabortByFingerprint: () => {\n\t\t\tif (!clientRequest.options.checkFingerprint) return;\n\n\t\t\tconst fingerprint = clientRequest.path + clientRequest.options.checkFingerprint;\n\n\t\t\tclient.abortControllers[fingerprint]?.abort(\n\t\t\t\tnew DOMException(`Stopped previous request by fingerprint: ${clientRequest.options.checkFingerprint}`, 'AbortError'),\n\t\t\t);\n\n\t\t\tconst controller = new AbortController();\n\n\t\t\tclient.abortControllers[fingerprint] = controller;\n\n\t\t\treturn controller.signal;\n\t\t},\n\n\t\t/**\n\t\t * Общая функция выполнения запросов\n\t\t */\n\t\tasync exec(fields?, fetchStyle?) {\n\t\t\tconst Request = client.options.Request;\n\t\t\tconst fetch = client.options.fetch;\n\n\t\t\tconst data = clientRequest.genData(fields, fetchStyle);\n\n\t\t\tconst middlewareCtxWithoutRequest = client.genMiddlewareCtx(clientRequest, data);\n\n\t\t\tclient.options.onPrepareData?.(data, middlewareCtxWithoutRequest);\n\n\t\t\tconst hasFiles = checkHasFiles(data);\n\t\t\tif (hasFiles && clientRequest.options.method !== 'POST') {\n\t\t\t\tthrow new Error('Files can be sent only in POST requests');\n\t\t\t}\n\n\t\t\tlet url = clientRequest.url;\n\n\t\t\tlet requestInitBody: string | FormData | undefined = undefined;\n\n\t\t\tif (hasFiles) {\n\t\t\t\tif (clientRequest.options.method !== 'POST') {\n\t\t\t\t\tthrow new Error('Files can be sent only in POST requests');\n\t\t\t\t}\n\n\t\t\t\tconst { formDataSerializer } = await import('../utils/lazy');\n\t\t\t\trequestInitBody = formDataSerializer(data);\n\t\t\t} else if (clientRequest.options.method !== 'POST') {\n\t\t\t\turl += '?' + await client.options.querySerializer(data);\n\t\t\t} else {\n\t\t\t\trequestInitBody = client.options.bodySerializer(data);\n\t\t\t}\n\n\t\t\t// checkFingerprint\n\t\t\tconst requestInitSignal = clientRequest.abortByFingerprint();\n\n\t\t\tconst requestInit: RequestInit = {\n\t\t\t\t...client.options,\n\t\t\t\tmethod: clientRequest.options.method,\n\t\t\t\tbody: requestInitBody,\n\t\t\t\tsignal: requestInitSignal,\n\t\t\t};\n\n\t\t\tlet request = new Request(url, requestInit);\n\n\t\t\trequest.headers.set('x-request-id', middlewareCtxWithoutRequest.id);\n\t\t\trequest.headers.set('accept', clientRequest.options.accept);\n\n\t\t\t// при отправке данных в `FormData` `fetch()` сам укажет правильный заголовок `multipart/form-data`\n\t\t\tif (!hasFiles) {\n\t\t\t\trequest.headers.set('content-type', 'application/json');\n\t\t\t}\n\n\t\t\tconst middlewareCtx: Api.MiddlewareCallbackParams = {\n\t\t\t\t...middlewareCtxWithoutRequest,\n\t\t\t\trequest,\n\t\t\t};\n\n\t\t\tclientRequest.inLoading = true;\n\t\t\tclientRequest.options.onLoading?.(clientRequest.inLoading, middlewareCtx);\n\n\t\t\tlet response: Response | undefined = undefined;\n\n\t\t\tconst requestOrResponse = await client.middlewareOnRequest(request, middlewareCtx);\n\n\t\t\tif (requestOrResponse instanceof Response) {\n\t\t\t\tresponse = requestOrResponse;\n\t\t\t} else if (requestOrResponse instanceof Request) {\n\t\t\t\trequest = requestOrResponse;\n\t\t\t}\n\n\t\t\tconst stopLoading = () => {\n\t\t\t\tclientRequest.inLoading = false;\n\t\t\t\tclientRequest.options.onLoading?.(clientRequest.inLoading, middlewareCtx);\n\t\t\t};\n\n\t\t\tif (!response) {\n\t\t\t\ttry {\n\t\t\t\t\tif (clientRequest.mockerOptions) {\n\t\t\t\t\t\tconst { genMockResponse } = await import('../mocker/');\n\n\t\t\t\t\t\tresponse = await genMockResponse(clientRequest.mockerOptions, path, fields, data, requestInitSignal);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresponse = await fetch(request);\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tresponse = await client.middlewareOnError(e, middlewareCtx);\n\t\t\t\t} finally {\n\t\t\t\t\tstopLoading();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstopLoading();\n\t\t\t}\n\n\t\t\tresponse = await client.middlewareOnResponse(response, middlewareCtx);\n\n\t\t\tlet res: any;\n\t\t\tlet responseText: string | undefined;\n\t\t\tlet formatError: undefined | Api.FormatError = undefined;\n\n\t\t\ttry {\n\t\t\t\t// json - стандартные формат, он может быть возвращен в запросах с другим responseType, если в них произошла ошибка\n\t\t\t\tconst isJSON = response.headers.get('content-type')?.includes('application/json');\n\n\t\t\t\tresponseText = await response.text();\n\n\t\t\t\tif (this.options.accept === 'application/json' || isJSON) {\n\t\t\t\t\tres = JSON.parse(responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (client.useExt) {\n\t\t\t\t\t\tres = genExtRes(responseText, undefined, response);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres = responseText;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof SyntaxError || e instanceof TypeError) {\n\t\t\t\t\tformatError = e;\n\t\t\t\t\tformatError.responseText = responseText;\n\t\t\t\t}\n\n\t\t\t\t// если в результате не пришел json, сгенерировать объект результата и добавить информацию об ответе API\n\t\t\t\tif (client.useExt && formatError) {\n\t\t\t\t\tlet errorCode = response.status;\n\t\t\t\t\tlet errorMessage = response.statusText;\n\n\t\t\t\t\tif (errorCode === 200) {\n\t\t\t\t\t\terrorCode = 10000;\n\t\t\t\t\t\terrorMessage = 'Error API response';\n\t\t\t\t\t}\n\n\t\t\t\t\tres = genExtRes(null, [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: errorCode,\n\t\t\t\t\t\t\tstring: errorMessage,\n\t\t\t\t\t\t},\n\t\t\t\t\t], response);\n\n\t\t\t\t\tif (client.options.useApiConsole) console.error(e);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (client.useExt) {\n\t\t\t\tres.response = response;\n\n\t\t\t\tif (res) {\n\t\t\t\t\tclientRequest.options.onApiLoaded?.(res, middlewareCtx, client.options.requestOptions?.onApiLoaded);\n\t\t\t\t}\n\n\t\t\t\tif (res?.errors) {\n\t\t\t\t\tif (client.options.useApiConsole) console.warn(new Error('API error'), { res });\n\n\t\t\t\t\tclientRequest.options.onApiError?.(res, { ...middlewareCtx, formatError }, client.options.requestOptions?.onApiError);\n\t\t\t\t}\n\n\t\t\t\tif (res?.messages) {\n\t\t\t\t\tclientRequest.options.onApiMessage?.(res, middlewareCtx);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn res;\n\t\t},\n\t};\n\n\treturn clientRequest;\n};\n","import { createRequestOptions } from './request-options';\nimport { createRequest } from './request';\n\nexport class Client<paths extends Api.PathsAbstract, UseExt extends Api.Ext.UseExt> {\n\n\treadonly options: Readonly<Api.ClientOptions>;\n\treadonly useExt: UseExt;\n\treadonly middlewares: Api.Middleware[] = [];\n\tprivate mokerByPath = new Map<Api.Path<paths>, Api.Mocker.Options<any, any>>();\n\tabortControllers: Record<string, AbortController> = {};\n\n\tconstructor(clientOptions: Partial<Api.ClientOptions> = {}, useExt: UseExt) {\n\t\tclientOptions.requestOptions = createRequestOptions(clientOptions.requestOptions);\n\t\tclientOptions.useApiConsole ??= true;\n\n\t\tclientOptions.fetch ??= globalThis.fetch;\n\t\tclientOptions.Request ??= globalThis.Request;\n\t\tclientOptions.querySerializer ??= async (params) => {\n\t\t\tconst { querySerializer } = await import('../utils/lazy');\n\n\t\t\treturn querySerializer(params);\n\t\t};\n\t\tclientOptions.bodySerializer ??= (body) => typeof body === 'string' ? body : JSON.stringify(body);\n\n\t\tthis.options = clientOptions as Api.ClientOptions;\n\n\t\tthis.useExt = useExt;\n\t}\n\n\tgenerateUUID() {\n\t\tif (crypto?.randomUUID) {\n\t\t\treturn crypto.randomUUID();\n\t\t}\n\n\t\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n\t\t\tconst r = Math.random() * 16 | 0;\n\t\t\tconst v = c === 'x' ? r : (r & 0x3 | 0x8);\n\t\t\treturn v.toString(16);\n\t\t});\n\t}\n\n\t/**\n\t * Зарегистрировать middleware\n\t */\n\tuse(middleware: Api.Middleware) {\n\t\tthis.middlewares.push(middleware);\n\t}\n\n\t/**\n\t * Создать объект запроса\n\t *\n\t * После создания объекта он заполняется необходимыми данными и выполняет запросы к API с помощью APIRequest2.call();\n\t *\n\t * Опционально generic указывать нельзя, поэтому необходимо дублировать определение fetchStyle, [см.](https://github.com/Microsoft/TypeScript/issues/26242)\n\t *\n\t * @param path Путь метода API\n\t * @param fieldsNarrow Список получаемых полей, для методов API с моделью. Если объект запроса переиспользуется, и список полей меняется, указывайте его непосредственно при вызове `api.call()`\n\t */\n\tgen<\n\t\tPath extends Api.Path<paths>,\n\t\tFieldsNarrow extends Api.ParamsFields<Api.ClientRequestContext<paths, Path, UseExt>>\n\t>(\n\t\tpath: Path,\n\t\tfieldsNarrow?: FieldsNarrow,\n\t): Api.ClientRequest<Api.ClientRequestContext<paths, Path, UseExt>, FieldsNarrow> {\n\t\ttype RequestContext = Api.ClientRequestContext<paths, Path, UseExt>;\n\n\t\treturn createRequest<RequestContext, FieldsNarrow>(this, path, fieldsNarrow);\n\t}\n\n\t/**\n\t * Создать объект запроса, не описанного в OpenAPI\n\t */\n\tgenAny<\n\t\tParams extends Record<string, any>,\n\t\tResult = any,\n\t\tFieldsNarrow extends Api.Ext.Schemas['Fields'] | undefined = undefined\n\t>(path: Api.PathAbstract, fieldsNarrow?: FieldsNarrow): Api.ClientRequestCustom<UseExt, Params, Result> {\n\t\treturn this.gen(path as any, fieldsNarrow as any) as unknown as Api.ClientRequestCustom<UseExt, Params, Result>;\n\t}\n\n\t/**\n\t * Создать контекст выполнения запроса\n\t */\n\tgenMiddlewareCtx(\n\t\tclientRequest: Api.ClientRequest<any, any, any>,\n\t\tdata: Record<string, any>,\n\t): Omit<Api.MiddlewareCallbackParams, 'request'> {\n\t\tconst id = this.generateUUID();\n\n\t\tconst options: Api.BaseOptions = Object.freeze({\n\t\t\tbaseUrl: this.options.baseUrl,\n\t\t\tquerySerializer: this.options.querySerializer,\n\t\t\tbodySerializer: this.options.bodySerializer,\n\t\t\tRequest: this.options.Request,\n\t\t\tfetch: this.options.fetch,\n\t\t});\n\n\t\treturn {\n\t\t\tuseExt: this.useExt,\n\t\t\trequestOptions: clientRequest.options,\n\t\t\tdata,\n\t\t\tmiddlewareData: {},\n\t\t\toptions,\n\t\t\tschemaPath: clientRequest.path,\n\t\t\tid,\n\t\t};\n\t};\n\n\t/**\n\t * Обработчик middleware.onRequest\n\t *\n\t * @param request Запрос для обработки\n\t * @param middlewareCtx Контекст выполнения запроса\n\t * @return Новый экземпляр `Request` или `Response` при модификации запроса, или undefined\n\t */\n\tasync middlewareOnRequest(\n\t\trequest: Request,\n\t\tmiddlewareCtx: Api.MiddlewareCallbackParams,\n\t): Promise<Request | Response | undefined> {\n\t\tfor (const middleware of this.middlewares) {\n\t\t\tconst result = await middleware.onRequest?.({\n\t\t\t\t...middlewareCtx,\n\t\t\t\trequest,\n\t\t\t});\n\n\t\t\tif (result) {\n\t\t\t\tif (result instanceof Request) {\n\t\t\t\t\trequest = result;\n\t\t\t\t} else if (result instanceof Response) {\n\t\t\t\t\treturn result;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error('onRequest: must return new Request() or Response() when modifying the request');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn request;\n\t}\n\n\t/**\n\t * Обработчик middleware.onResponse\n\t *\n\t * @param `error` Ошибка, переданная для обработки\n\t * @param middlewareCtx\n\t * @return Новый экземпляр `Response` при успешной обработке или выбрасывает ошибку\n\t */\n\tasync middlewareOnError(\n\t\terror: Error | unknown,\n\t\tmiddlewareCtx: Api.MiddlewareCallbackParams,\n\t): Promise<Response | never> {\n\t\tlet errorAfterMiddleware = error;\n\n\t\tfor (const middleware of this.middlewares) {\n\t\t\tconst result = await middleware.onError?.({\n\t\t\t\t...middlewareCtx,\n\t\t\t\terror: errorAfterMiddleware,\n\t\t\t});\n\n\t\t\tif (result) {\n\t\t\t\tif (result instanceof Response) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result instanceof Error) {\n\t\t\t\t\terrorAfterMiddleware = result;\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthrow new Error('onError: must return new Response() or instance of Error');\n\t\t\t}\n\t\t}\n\n\t\tthrow errorAfterMiddleware;\n\t}\n\n\t/**\n\t * Обработчик middleware.onResponse\n\t *\n\t * @param response Ответ для обработки\n\t * @param middlewareCtx Контекст выполнения запроса\n\t * @return Новый экземпляр `Response` при модификации ответа, или undefined\n\t */\n\tasync middlewareOnResponse(\n\t\tresponse: Response,\n\t\tmiddlewareCtx: Api.MiddlewareCallbackParams,\n\t): Promise<Response> {\n\t\tfor (const middleware of this.middlewares) {\n\t\t\tconst result = await middleware.onResponse?.({\n\t\t\t\t...middlewareCtx,\n\t\t\t\tresponse,\n\t\t\t});\n\n\t\t\tif (result) {\n\t\t\t\tif (!(result instanceof Response)) {\n\t\t\t\t\tthrow new Error('onResponse: must return new Response() when modifying the response');\n\t\t\t\t}\n\n\t\t\t\tresponse = result;\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\t/**\n\t * Установить генератор данных вместо реальных запросов к серверу для конкретного метода API\n\t */\n\tsetMocker<\n\t\tResult extends Api.Mocker.Result = Api.Mocker.Result,\n\t\tParams extends Api.Mocker.Params = Api.Mocker.Params\n\t>(\n\t\tpath: Api.Path<paths>,\n\t\tmocker: Api.Mocker.Options<Result, Params>,\n\t) {\n\t\tthis.mokerByPath.set(path, mocker);\n\n\t\t// @ts-ignore\n\t\tif (!this.genOriginal) {\n\t\t\t// @ts-ignore\n\t\t\tthis.genOriginal = this.gen.bind(this);\n\n\t\t\tthis.gen = (_path, fieldsNarrow) => {\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst api = this.genOriginal(_path, fieldsNarrow);\n\n\t\t\t\tconst mocker = this.mokerByPath.get(_path);\n\t\t\t\tif (mocker) {\n\t\t\t\t\tapi.setMocker(mocker);\n\t\t\t\t}\n\n\t\t\t\treturn api;\n\t\t\t};\n\t\t}\n\t}\n\n}\n","import { Client } from './client/client';\n\nexport * from './utils/field';\nexport * from './utils/common';\n\nexport const postInWindow: typeof import('./utils/lazy').postInWindow = async (...args) => {\n\tconst { postInWindow } = await import('./utils/lazy');\n\n\treturn postInWindow(...args);\n};\n\nexport const dataToForm: typeof import('./utils/lazy').dataToForm = async (...args) => {\n\tconst { dataToForm } = await import('./utils/lazy');\n\n\treturn dataToForm(...args);\n};\n\n/**\n * Создать API клиент\n *\n * @see Api.Ext.UseExt\n */\nexport const createClient = <\n\tpaths extends Api.PathsAbstract,\n\tUseExt extends Api.Ext.UseExt\n>(\n\tclientOptions: Partial<Api.ClientOptions> = {},\n\tuseExt: UseExt,\n) => {\n\treturn new Client<paths, UseExt>(clientOptions, useExt);\n};\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- define([`require`,`exports`,`./forms-LywqKN9I.amd`,`./worker-a6MSM1uV.amd`,`vue`,`../require/css.amd!../assets/popup.css`],function(e,t,n,r,i){"use strict";if(a===void 0)var a=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.t=t.s=t.r=t.o=t.n=t.i=t.c=t.a=void 0;var o=(0,i.defineComponent)({__name:`opener`,props:{id:{},pos:{default:`3`},notch:{type:Boolean,default:!0},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{default:`fixed`},data:{}},setup(e){let t=e,n=t.id||Math.random()+``,a;function o(e){setTimeout(()=>{a=e.nextElementSibling,a&&s(a)})}(0,i.onUpdated)(()=>{a&&s(a)});function s(e){e.dataset.topPopup=`#`+n;let i=!!e.dataset.topPopupDisabled;if(e.dataset.topPopupId=n,e.dataset.topPopupPos=t.pos,e.dataset.topPopupPosBy=t.posBy,e.dataset.topPopupNotch=t.notch?`true`:``,e.dataset.topPopupOpenByHover=t.openByHover?`true`:``,e.dataset.topPopupDisabled=t.disabled?`true`:``,e.__TopPopupOpenerProps=t,t.openByFocusInput&&e.classList.contains(`top-input`)){let n=e.querySelector(`input`);if(n.onfocus=()=>{e.dataset.topPopupDisabled||r.t.getPopupFromOpener(e)?.vueGetComponent()?.opened||r.t.openByOpener(e)},t.disabled!==i&&n===document.activeElement){let n=r.t.getPopupFromOpener(e);!t.disabled&&!n&&r.t.openByOpener(e),t.disabled&&n&&n.close()}}}return(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,null,[(0,i.createElementVNode)(`template`,{ref:o}),(0,i.renderSlot)(e.$slots,`default`)],64))}}),s={key:0,class:`top-popup_header`},c={key:0,class:`top-as-a closer`},l={key:1,class:`top-popup_widget`},u={key:2,class:`top-popup_content`},d={key:4,class:`top-popup_footer`},f=[`href`],p=(0,i.defineComponent)({__name:`popup`,props:{id:{default:``},class:{},transitionDuration:{},footerSupportLink:{},pos:{default:`3`},notch:{type:Boolean,default:!0},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{default:`fixed`},data:{}},emits:[`open`,`close`,`scrollContentList`],setup(e,{expose:t,emit:a}){let p=e,m=a,h=p.id||`top-popup-id-`+Math.random(),g={id:h,popup:void 0};t(g);let _=(0,i.ref)(null),v=(0,i.ref)(null),y=(0,i.ref)(),b={onOpen:async e=>{e.elPopup&&(_.value=e.elPopup),e.elPopupInner&&(e.elPopupInner.innerText=``,v.value=e.elPopupInner),b.opened=!0,b.popup=e,g.popup=e,y.value=e.el.__TopPopupOpenerProps.data,m(`open`,{elPopup:e.elPopup,elPopupOpener:e.el,data:y.value})},onClose:e=>{v.value=null,b.opened=!1,b.popup=void 0,y.value=void 0,m(`close`,{elPopup:e.elPopup,elPopupOpener:e.el,data:e.el.__TopPopupOpenerProps.data})},classRef:(0,i.toRef)(p,`class`),opened:!1,popup:void 0,transitionDurationRef:(0,i.toRef)(p,`transitionDuration`)};return(0,i.watch)(()=>p.class,(e,t)=>{if(!_.value)return;let n=e?.split(` `)??[],r=(t?.split(` `)??[]).filter(e=>!n.includes(e));_.value.classList.remove(...r),_.value.classList.add(...n)}),r.t.regVueComponent(h,b),(0,i.onUnmounted)(()=>{r.t.unregVueComponent(h)}),(t,r)=>{let a=(0,i.resolveDirective)(`top-scroll-shadow`);return(0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,null,[t.$slots.opener?((0,i.openBlock)(),(0,i.createBlock)(o,{key:0,id:(0,i.unref)(h),pos:e.pos,posBy:e.posBy,notch:e.notch,openByFocusInput:e.openByFocusInput,openByHover:t.$core.state.isMobile||t.$core.state.isMobileUA?!1:e.openByHover,disabled:e.disabled},{default:(0,i.withCtx)(()=>[(0,i.renderSlot)(t.$slots,`opener`)]),_:3},8,[`id`,`pos`,`posBy`,`notch`,`openByFocusInput`,`openByHover`,`disabled`])):(0,i.createCommentVNode)(``,!0),v.value?((0,i.openBlock)(),(0,i.createBlock)(i.Teleport,{key:1,to:v.value},[t.$slots.header||t.$core.state.isMobile?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,s,[t.$core.state.isMobile?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,c,(0,i.toDisplayString)(t.$i18n.Common.Close),1)):(0,i.createCommentVNode)(``,!0),(0,i.renderSlot)(t.$slots,`header`,{data:y.value})])):(0,i.createCommentVNode)(``,!0),t.$slots.widget?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,l,[(0,i.renderSlot)(t.$slots,`widget`)])):(0,i.createCommentVNode)(``,!0),t.$slots.content?(0,i.withDirectives)(((0,i.openBlock)(),(0,i.createElementBlock)(`div`,u,[(0,i.renderSlot)(t.$slots,`content`,{data:y.value})])),[[a]]):(0,i.createCommentVNode)(``,!0),t.$slots.contentList?(0,i.withDirectives)(((0,i.openBlock)(),(0,i.createElementBlock)(`ul`,{key:3,class:`top-popup_content`,onScroll:r[0]||=e=>t.$emit(`scrollContentList`,e)},[(0,i.renderSlot)(t.$slots,`contentList`,{data:y.value})],32)),[[a]]):(0,i.createCommentVNode)(``,!0),t.$slots.footer||e.footerSupportLink?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,d,[e.footerSupportLink?((0,i.openBlock)(),(0,i.createElementBlock)(`a`,{key:0,class:`top-popup_footerSupportLink`,href:e.footerSupportLink,target:`_blank`},[(0,i.createVNode)(n.d,{hint:``})],8,f)):(0,i.createCommentVNode)(``,!0),(0,i.renderSlot)(t.$slots,`footer`,{data:y.value})])):(0,i.createCommentVNode)(``,!0)],8,[`to`])):(0,i.createCommentVNode)(``,!0)],64)}}}),m={class:`top-popup_listItemActionsLabel top-ellipsis1`},h={class:`top-popup_listItemActions`},g=(0,i.defineComponent)({inheritAttrs:!1,__name:`listItem`,props:{type:{default:`button`},closeByClick:{type:Boolean,default:!0},class:{},attrs:{}},setup(e){let t=e;return(n,r)=>((0,i.openBlock)(),(0,i.createElementBlock)(`li`,{class:(0,i.normalizeClass)({"top-popup_liNoSelectable":t.type!==`button`})},[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(n.$attrs.href?`a`:`div`),(0,i.mergeProps)({class:{"top-popup_listItem":!0,[`top-popup_listItem-`+t.type]:!!t.type,"top-popup_liastItem-withActions":n.$slots.actions,"top-popup-noCloser":!e.closeByClick,[t.class??``]:!!t.class,a:t.type===`button`}},{...n.$attrs,...e.attrs}),{default:(0,i.withCtx)(()=>[n.$slots.actions?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:0},[(0,i.createElementVNode)(`div`,m,[(0,i.renderSlot)(n.$slots,`default`)]),(0,i.createElementVNode)(`div`,h,[(0,i.renderSlot)(n.$slots,`actions`)])],64)):(0,i.renderSlot)(n.$slots,`default`,{},void 0,void 0,1)]),_:3},16,[`class`])),(0,i.renderSlot)(n.$slots,`buttons`)],2))}}),_=(0,i.defineComponent)({__name:`widgetInput`,props:(0,i.mergeModels)({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,i.useModel)(e,`modelValue`);return(e,r)=>((0,i.openBlock)(),(0,i.createBlock)(n.c,(0,i.mergeProps)(e.$props,{modificator:`popupWidgetInput`,modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e}),null,16,[`modelValue`]))}}),v=(0,i.defineComponent)({__name:`popupAlert`,props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:[`open`,`close`,`scrollContentList`],setup(e){let{submitText:t,...r}=e;return(e,a)=>((0,i.openBlock)(),(0,i.createBlock)(p,(0,i.mergeProps)({class:`top-popupAlert`},r,{onOpen:a[0]||=t=>e.$emit(`open`,t),onClose:a[1]||=t=>e.$emit(`close`,t),onScrollContentList:a[2]||=(...t)=>e.$emit(`scrollContentList`,...t)}),(0,i.createSlots)({opener:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`opener`)]),footer:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`footer`),(0,i.createVNode)(n.h,null,{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)((0,i.unref)(t)||e.$i18n.Common.Close),1)]),_:1})]),_:2},[e.$slots.header?{name:`header`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`header`)]),key:`0`}:void 0,e.$slots.default?{name:`content`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`default`)]),key:`1`}:void 0]),1040))}}),y=(0,i.defineComponent)({__name:`popupConfirm`,props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:[`open`,`close`,`scrollContentList`,`submit`],setup(e,{emit:t}){let r=e,a=t,o=(0,i.ref)(!1),s=()=>{o.value=!0,a(`submit`)},c=e=>{if(o.value){o.value=!1;return}a(`close`,e)},{submitText:l,cancelText:u,isWarning:d,...f}=r;return(e,t)=>((0,i.openBlock)(),(0,i.createBlock)(p,(0,i.mergeProps)({class:`top-popupConfirm`},f,{onOpen:t[0]||=t=>e.$emit(`open`,t),onClose:t[1]||=e=>c(e),onScrollContentList:t[2]||=(...t)=>e.$emit(`scrollContentList`,...t)}),(0,i.createSlots)({opener:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`opener`)]),footer:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`footer`),(0,i.createVNode)(n.h,{color:`theme`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)((0,i.unref)(u)||e.$i18n.Common.Cancel),1)]),_:1}),(0,i.createVNode)(n.h,{onClick:s,color:(0,i.unref)(d)?`red`:`blue`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)((0,i.unref)(l)||e.$i18n.Common.Continue),1)]),_:1},8,[`color`])]),_:2},[e.$slots.header?{name:`header`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`header`)]),key:`0`}:void 0,e.$slots.default?{name:`content`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`default`)]),key:`1`}:void 0]),1040))}}),b=(0,i.defineComponent)({__name:`popupPrompt`,props:{submitText:{},cancelText:{},defaultValue:{},inputProps:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:[`open`,`close`,`scrollContentList`,`submit`],setup(e,{emit:t}){let r=e,a=t,o=()=>c.value=r.defaultValue??``,s=(0,i.ref)(!1),c=(0,i.ref)();(0,i.watch)(()=>r.defaultValue,()=>o(),{immediate:!0});let l=()=>{s.value=!0},u=e=>{if(s.value){s.value=!1,a(`submit`,c.value),o();return}o(),a(`close`,e)},{submitText:d,cancelText:f,defaultValue:m,inputProps:h,...g}=r;return(e,t)=>((0,i.openBlock)(),(0,i.createBlock)(p,(0,i.mergeProps)({class:`top-popupPrompt`},g,{onOpen:t[1]||=t=>e.$emit(`open`,t),onClose:t[2]||=e=>u(e),onScrollContentList:t[3]||=(...t)=>e.$emit(`scrollContentList`,...t)}),(0,i.createSlots)({opener:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`opener`)]),footer:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`footer`),(0,i.createVNode)(n.h,{color:`theme`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)((0,i.unref)(f)||e.$i18n.Common.Cancel),1)]),_:1}),(0,i.createVNode)(n.h,{onClick:l},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)((0,i.unref)(d)||e.$i18n.Common.OK),1)]),_:1})]),_:2},[e.$slots.header?{name:`header`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`header`)]),key:`0`}:void 0,e.$slots.default?{name:`content`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`default`),(0,i.createVNode)(_,(0,i.mergeProps)({modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,modelModifiers:{trim:!0}},(0,i.unref)(h)),null,16,[`modelValue`])]),key:`1`}:void 0]),1040))}}),x=(0,i.defineComponent)({__name:`popupHint`,props:{hint:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},setup(e){let{hint:t,...r}=e;return(e,a)=>{let o=(0,i.resolveDirective)(`top-tooltip`);return(0,i.openBlock)(),(0,i.createBlock)(p,(0,i.mergeProps)({class:`top-popupHint`},r,{onOpen:a[0]||=t=>e.$emit(`open`,t),onClose:a[1]||=t=>e.$emit(`close`,t),onScrollContentList:a[2]||=(...t)=>e.$emit(`scrollContentList`,...t)}),(0,i.createSlots)({opener:(0,i.withCtx)(()=>[(0,i.withDirectives)((0,i.createVNode)(n.d,{hint:(0,i.unref)(t),class:`top-popupHint_opener`},null,8,[`hint`]),[[o]])]),_:2},[e.$slots.default?{name:`content`,fn:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`default`)]),key:`0`}:void 0]),1040)}}});t.c=o,t.s=p,t.o=g,t.a=_,t.i=v,t.r=y,t.n=b,t.t=x});
2
- //# sourceMappingURL=popup-BWD4eASc.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[".chunks/popup-BWD4eASc.esm.js","../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupHint/popupHint.vue"],"names":["vue","exports","j","vue_1","worker_a6MSM1uV_esm_js_1","M","N","P","F","I","L","R","n","l","u","d","p","m","h","g","v","C","$core","$emit","forms_LywqKN9I_esm_js_1","z","B","V","$slots","$attrs","H","t","U","$i18n","W","i","a","G","_","S","K"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"./forms-LywqKN9I.esm.js\", \"./worker-a6MSM1uV.esm.js\", \"vue\"], function (require, exports, forms_LywqKN9I_esm_js_1, worker_a6MSM1uV_esm_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.t = exports.s = exports.r = exports.o = exports.n = exports.i = exports.c = exports.a = void 0;\n //#endregion\n //#region src/components/popup/popup/opener/opener.vue\n var j = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"opener\",\n props: {\n id: {},\n pos: { default: \"3\" },\n notch: {\n type: Boolean,\n default: !0\n },\n openByFocusInput: { type: Boolean },\n openByHover: { type: Boolean },\n disabled: { type: Boolean },\n posBy: { default: \"fixed\" },\n data: {}\n },\n setup(e) {\n let t = e, n = t.id || Math.random() + \"\", a;\n function o(e) {\n setTimeout(() => {\n a = e.nextElementSibling, a && s(a);\n });\n }\n (0, vue_1.onUpdated)(() => {\n a && s(a);\n });\n function s(e) {\n e.dataset.topPopup = \"#\" + n;\n let i = !!e.dataset.topPopupDisabled;\n if (e.dataset.topPopupId = n, e.dataset.topPopupPos = t.pos, e.dataset.topPopupPosBy = t.posBy, e.dataset.topPopupNotch = t.notch ? \"true\" : \"\", e.dataset.topPopupOpenByHover = t.openByHover ? \"true\" : \"\", e.dataset.topPopupDisabled = t.disabled ? \"true\" : \"\", e.__TopPopupOpenerProps = t, t.openByFocusInput && e.classList.contains(\"top-input\")) {\n let n = e.querySelector(\"input\");\n if (n.onfocus = () => {\n e.dataset.topPopupDisabled || worker_a6MSM1uV_esm_js_1.t.getPopupFromOpener(e)?.vueGetComponent()?.opened || worker_a6MSM1uV_esm_js_1.t.openByOpener(e);\n }, t.disabled !== i && n === document.activeElement) {\n let n = worker_a6MSM1uV_esm_js_1.t.getPopupFromOpener(e);\n !t.disabled && !n && worker_a6MSM1uV_esm_js_1.t.openByOpener(e), t.disabled && n && n.close();\n }\n }\n }\n return (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(vue_1.Fragment, null, [(0, vue_1.createElementVNode)(\"template\", { ref: o }), (0, vue_1.renderSlot)(e.$slots, \"default\")], 64));\n }\n }), M = {\n key: 0,\n class: \"top-popup_header\"\n }, N = {\n key: 0,\n class: \"top-as-a closer\"\n }, P = {\n key: 1,\n class: \"top-popup_widget\"\n }, F = {\n key: 2,\n class: \"top-popup_content\"\n }, I = {\n key: 4,\n class: \"top-popup_footer\"\n }, L = [\"href\"], R = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"popup\",\n props: {\n id: { default: \"\" },\n class: {},\n transitionDuration: {},\n footerSupportLink: {},\n pos: { default: \"3\" },\n notch: {\n type: Boolean,\n default: !0\n },\n openByFocusInput: { type: Boolean },\n openByHover: { type: Boolean },\n disabled: { type: Boolean },\n posBy: { default: \"fixed\" },\n data: {}\n },\n emits: [\n \"open\",\n \"close\",\n \"scrollContentList\"\n ],\n setup(e, { expose: n, emit: l }) {\n let u = e, d = l, p = u.id || \"top-popup-id-\" + Math.random(), m = {\n id: p,\n popup: void 0\n };\n n(m);\n let h = (0, vue_1.ref)(null), g = (0, vue_1.ref)(null), v = (0, vue_1.ref)(), C = {\n onOpen: async (e) => {\n e.elPopup && (h.value = e.elPopup), e.elPopupInner && (e.elPopupInner.innerText = \"\", g.value = e.elPopupInner), C.opened = !0, C.popup = e, m.popup = e, v.value = e.el.__TopPopupOpenerProps.data, d(\"open\", {\n elPopup: e.elPopup,\n elPopupOpener: e.el,\n data: v.value\n });\n },\n onClose: (e) => {\n g.value = null, C.opened = !1, C.popup = void 0, v.value = void 0, d(\"close\", {\n elPopup: e.elPopup,\n elPopupOpener: e.el,\n data: e.el.__TopPopupOpenerProps.data\n });\n },\n classRef: (0, vue_1.toRef)(u, \"class\"),\n opened: !1,\n popup: void 0,\n transitionDurationRef: (0, vue_1.toRef)(u, \"transitionDuration\")\n };\n return (0, vue_1.watch)(() => u.class, (e, t) => {\n if (!h.value)\n return;\n let n = e?.split(\" \") ?? [], r = (t?.split(\" \") ?? []).filter((e) => !n.includes(e));\n h.value.classList.remove(...r), h.value.classList.add(...n);\n }), worker_a6MSM1uV_esm_js_1.t.regVueComponent(p, C), (0, vue_1.onUnmounted)(() => {\n worker_a6MSM1uV_esm_js_1.t.unregVueComponent(p);\n }), (n, r) => {\n let l = (0, vue_1.resolveDirective)(\"top-scroll-shadow\");\n return (0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(vue_1.Fragment, null, [n.$slots.opener ? ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(j, {\n key: 0,\n id: (0, vue_1.unref)(p),\n pos: e.pos,\n posBy: e.posBy,\n notch: e.notch,\n openByFocusInput: e.openByFocusInput,\n openByHover: n.$core.state.isMobile || n.$core.state.isMobileUA ? !1 : e.openByHover,\n disabled: e.disabled\n }, {\n default: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(n.$slots, \"opener\")]),\n _: 3\n }, 8, [\n \"id\",\n \"pos\",\n \"posBy\",\n \"notch\",\n \"openByFocusInput\",\n \"openByHover\",\n \"disabled\"\n ])) : (0, vue_1.createCommentVNode)(\"\", !0), g.value ? ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(vue_1.Teleport, {\n key: 1,\n to: g.value\n }, [\n n.$slots.header || n.$core.state.isMobile ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", M, [n.$core.state.isMobile ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"span\", N, (0, vue_1.toDisplayString)(n.$i18n.Common.Close), 1)) : (0, vue_1.createCommentVNode)(\"\", !0), (0, vue_1.renderSlot)(n.$slots, \"header\", { data: v.value })])) : (0, vue_1.createCommentVNode)(\"\", !0),\n n.$slots.widget ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", P, [(0, vue_1.renderSlot)(n.$slots, \"widget\")])) : (0, vue_1.createCommentVNode)(\"\", !0),\n n.$slots.content ? (0, vue_1.withDirectives)(((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", F, [(0, vue_1.renderSlot)(n.$slots, \"content\", { data: v.value })])), [[l]]) : (0, vue_1.createCommentVNode)(\"\", !0),\n n.$slots.contentList ? (0, vue_1.withDirectives)(((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"ul\", {\n key: 3,\n class: \"top-popup_content\",\n onScroll: r[0] ||= (e) => n.$emit(\"scrollContentList\", e)\n }, [(0, vue_1.renderSlot)(n.$slots, \"contentList\", { data: v.value })], 32)), [[l]]) : (0, vue_1.createCommentVNode)(\"\", !0),\n n.$slots.footer || e.footerSupportLink ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", I, [e.footerSupportLink ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"a\", {\n key: 0,\n class: \"top-popup_footerSupportLink\",\n href: e.footerSupportLink,\n target: \"_blank\"\n }, [(0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.d, { hint: \"\" })], 8, L)) : (0, vue_1.createCommentVNode)(\"\", !0), (0, vue_1.renderSlot)(n.$slots, \"footer\", { data: v.value })])) : (0, vue_1.createCommentVNode)(\"\", !0)\n ], 8, [\"to\"])) : (0, vue_1.createCommentVNode)(\"\", !0)], 64);\n };\n }\n }), z = { class: \"top-popup_listItemActionsLabel top-ellipsis1\" }, B = { class: \"top-popup_listItemActions\" }, V = /* @__PURE__ */ (0, vue_1.defineComponent)({\n inheritAttrs: !1,\n __name: \"listItem\",\n props: {\n type: { default: \"button\" },\n closeByClick: {\n type: Boolean,\n default: !0\n },\n class: {},\n attrs: {}\n },\n setup(e) {\n let t = e;\n return (n, r) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"li\", { class: (0, vue_1.normalizeClass)({ \"top-popup_liNoSelectable\": t.type !== \"button\" }) }, [((0, vue_1.openBlock)(), (0, vue_1.createBlock)((0, vue_1.resolveDynamicComponent)(n.$attrs.href ? \"a\" : \"div\"), (0, vue_1.mergeProps)({ class: {\n \"top-popup_listItem\": !0,\n [\"top-popup_listItem-\" + t.type]: !!t.type,\n \"top-popup_liastItem-withActions\": n.$slots.actions,\n \"top-popup-noCloser\": !e.closeByClick,\n [t.class ?? \"\"]: !!t.class,\n a: t.type === \"button\"\n } }, {\n ...n.$attrs,\n ...e.attrs\n }), {\n default: (0, vue_1.withCtx)(() => [n.$slots.actions ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(vue_1.Fragment, { key: 0 }, [(0, vue_1.createElementVNode)(\"div\", z, [(0, vue_1.renderSlot)(n.$slots, \"default\")]), (0, vue_1.createElementVNode)(\"div\", B, [(0, vue_1.renderSlot)(n.$slots, \"actions\")])], 64)) : (0, vue_1.renderSlot)(n.$slots, \"default\", {}, void 0, void 0, 1)]),\n _: 3\n }, 16, [\"class\"])), (0, vue_1.renderSlot)(n.$slots, \"buttons\")], 2));\n }\n }), H = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"widgetInput\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n modelValue: {},\n name: {},\n disabled: { type: Boolean },\n readonly: { type: Boolean },\n modificator: {},\n size: {},\n styling: {},\n isError: { type: Boolean },\n isLoading: { type: Boolean },\n icon: {},\n icon2: {},\n addCleaner: {\n type: Boolean,\n default: !0\n },\n title: {},\n captionType: {}\n }, {\n modelValue: { default: \"\" },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(t) {\n let n = (0, vue_1.useModel)(t, \"modelValue\");\n return (t, r) => ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(forms_LywqKN9I_esm_js_1.c, (0, vue_1.mergeProps)(t.$props, {\n modificator: \"popupWidgetInput\",\n modelValue: n.value,\n \"onUpdate:modelValue\": r[0] ||= (e) => n.value = e\n }), null, 16, [\"modelValue\"]));\n }\n }), U = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"popupAlert\",\n props: {\n submitText: {},\n id: {},\n class: {},\n transitionDuration: {},\n footerSupportLink: {},\n pos: {},\n notch: { type: Boolean },\n openByFocusInput: { type: Boolean },\n openByHover: { type: Boolean },\n disabled: { type: Boolean },\n posBy: {},\n data: {}\n },\n emits: [\n \"open\",\n \"close\",\n \"scrollContentList\"\n ],\n setup(e) {\n let { submitText: t, ...r } = e;\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(R, (0, vue_1.mergeProps)({ class: \"top-popupAlert\" }, r, {\n onOpen: i[0] ||= (t) => e.$emit(\"open\", t),\n onClose: i[1] ||= (t) => e.$emit(\"close\", t),\n onScrollContentList: i[2] ||= (...t) => e.$emit(\"scrollContentList\", ...t)\n }), (0, vue_1.createSlots)({\n opener: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"opener\")]),\n footer: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"footer\"), (0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.h, null, {\n default: (0, vue_1.withCtx)(() => [(0, vue_1.createTextVNode)((0, vue_1.toDisplayString)((0, vue_1.unref)(t) || e.$i18n.Common.Close), 1)]),\n _: 1\n })]),\n _: 2\n }, [e.$slots.header ? {\n name: \"header\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"header\")]),\n key: \"0\"\n } : void 0, e.$slots.default ? {\n name: \"content\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"default\")]),\n key: \"1\"\n } : void 0]), 1040));\n }\n }), W = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"popupConfirm\",\n props: {\n cancelText: {},\n submitText: {},\n isWarning: { type: Boolean },\n id: {},\n class: {},\n transitionDuration: {},\n footerSupportLink: {},\n pos: {},\n notch: { type: Boolean },\n openByFocusInput: { type: Boolean },\n openByHover: { type: Boolean },\n disabled: { type: Boolean },\n posBy: {},\n data: {}\n },\n emits: [\n \"open\",\n \"close\",\n \"scrollContentList\",\n \"submit\"\n ],\n setup(e, { emit: t }) {\n let r = e, i = t, a = (0, vue_1.ref)(!1), s = () => {\n a.value = !0, i(\"submit\");\n }, c = (e) => {\n if (a.value) {\n a.value = !1;\n return;\n }\n i(\"close\", e);\n }, { submitText: l, cancelText: p, isWarning: m, ...g } = r;\n return (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(R, (0, vue_1.mergeProps)({ class: \"top-popupConfirm\" }, g, {\n onOpen: t[0] ||= (t) => e.$emit(\"open\", t),\n onClose: t[1] ||= (e) => c(e),\n onScrollContentList: t[2] ||= (...t) => e.$emit(\"scrollContentList\", ...t)\n }), (0, vue_1.createSlots)({\n opener: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"opener\")]),\n footer: (0, vue_1.withCtx)(() => [\n (0, vue_1.renderSlot)(e.$slots, \"footer\"),\n (0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.h, { color: \"theme\" }, {\n default: (0, vue_1.withCtx)(() => [(0, vue_1.createTextVNode)((0, vue_1.toDisplayString)((0, vue_1.unref)(p) || e.$i18n.Common.Cancel), 1)]),\n _: 1\n }),\n (0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.h, {\n onClick: s,\n color: (0, vue_1.unref)(m) ? \"red\" : \"blue\"\n }, {\n default: (0, vue_1.withCtx)(() => [(0, vue_1.createTextVNode)((0, vue_1.toDisplayString)((0, vue_1.unref)(l) || e.$i18n.Common.Continue), 1)]),\n _: 1\n }, 8, [\"color\"])\n ]),\n _: 2\n }, [e.$slots.header ? {\n name: \"header\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"header\")]),\n key: \"0\"\n } : void 0, e.$slots.default ? {\n name: \"content\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"default\")]),\n key: \"1\"\n } : void 0]), 1040));\n }\n }), G = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"popupPrompt\",\n props: {\n submitText: {},\n cancelText: {},\n defaultValue: {},\n inputProps: {},\n id: {},\n class: {},\n transitionDuration: {},\n footerSupportLink: {},\n pos: {},\n notch: { type: Boolean },\n openByFocusInput: { type: Boolean },\n openByHover: { type: Boolean },\n disabled: { type: Boolean },\n posBy: {},\n data: {}\n },\n emits: [\n \"open\",\n \"close\",\n \"scrollContentList\",\n \"submit\"\n ],\n setup(e, { emit: t }) {\n let r = e, i = t, a = () => c.value = r.defaultValue ?? \"\", s = (0, vue_1.ref)(!1), c = (0, vue_1.ref)();\n (0, vue_1.watch)(() => r.defaultValue, () => a(), { immediate: !0 });\n let l = () => {\n s.value = !0;\n }, p = (e) => {\n if (s.value) {\n s.value = !1, i(\"submit\", c.value), a();\n return;\n }\n a(), i(\"close\", e);\n }, { submitText: m, cancelText: g, defaultValue: _, inputProps: v, ...S } = r;\n return (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(R, (0, vue_1.mergeProps)({ class: \"top-popupPrompt\" }, S, {\n onOpen: t[1] ||= (t) => e.$emit(\"open\", t),\n onClose: t[2] ||= (e) => p(e),\n onScrollContentList: t[3] ||= (...t) => e.$emit(\"scrollContentList\", ...t)\n }), (0, vue_1.createSlots)({\n opener: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"opener\")]),\n footer: (0, vue_1.withCtx)(() => [\n (0, vue_1.renderSlot)(e.$slots, \"footer\"),\n (0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.h, { color: \"theme\" }, {\n default: (0, vue_1.withCtx)(() => [(0, vue_1.createTextVNode)((0, vue_1.toDisplayString)((0, vue_1.unref)(g) || e.$i18n.Common.Cancel), 1)]),\n _: 1\n }),\n (0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.h, { onClick: l }, {\n default: (0, vue_1.withCtx)(() => [(0, vue_1.createTextVNode)((0, vue_1.toDisplayString)((0, vue_1.unref)(m) || e.$i18n.Common.OK), 1)]),\n _: 1\n })\n ]),\n _: 2\n }, [e.$slots.header ? {\n name: \"header\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"header\")]),\n key: \"0\"\n } : void 0, e.$slots.default ? {\n name: \"content\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"default\"), (0, vue_1.createVNode)(H, (0, vue_1.mergeProps)({\n modelValue: c.value,\n \"onUpdate:modelValue\": t[0] ||= (e) => c.value = e,\n modelModifiers: { trim: !0 }\n }, (0, vue_1.unref)(v)), null, 16, [\"modelValue\"])]),\n key: \"1\"\n } : void 0]), 1040));\n }\n }), K = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"popupHint\",\n props: {\n hint: {},\n id: {},\n class: {},\n transitionDuration: {},\n footerSupportLink: {},\n pos: {},\n notch: { type: Boolean },\n openByFocusInput: { type: Boolean },\n openByHover: { type: Boolean },\n disabled: { type: Boolean },\n posBy: {},\n data: {}\n },\n setup(e) {\n let { hint: n, ...r } = e;\n return (e, i) => {\n let a = (0, vue_1.resolveDirective)(\"top-tooltip\");\n return (0, vue_1.openBlock)(), (0, vue_1.createBlock)(R, (0, vue_1.mergeProps)({ class: \"top-popupHint\" }, r, {\n onOpen: i[0] ||= (t) => e.$emit(\"open\", t),\n onClose: i[1] ||= (t) => e.$emit(\"close\", t),\n onScrollContentList: i[2] ||= (...t) => e.$emit(\"scrollContentList\", ...t)\n }), (0, vue_1.createSlots)({\n opener: (0, vue_1.withCtx)(() => [(0, vue_1.withDirectives)((0, vue_1.createVNode)(forms_LywqKN9I_esm_js_1.d, {\n hint: (0, vue_1.unref)(n),\n class: \"top-popupHint_opener\"\n }, null, 8, [\"hint\"]), [[a]])]),\n _: 2\n }, [e.$slots.default ? {\n name: \"content\",\n fn: (0, vue_1.withCtx)(() => [(0, vue_1.renderSlot)(e.$slots, \"default\")]),\n key: \"0\"\n } : void 0]), 1040);\n };\n }\n });\n exports.c = j;\n exports.s = R;\n exports.o = V;\n exports.a = H;\n exports.i = U;\n exports.r = W;\n exports.n = G;\n exports.t = K;\n});\n//# sourceMappingURL=popup-BWD4eASc.esm.js.map\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\t// фокус при возвращении не должен инициировать повторное открытие popup\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\t\t\tif (popup?.vueGetComponent()?.opened) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\t\t\t\t[props.class ?? '']: !!props.class,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\tinputProps,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput\n\t\t\t\tv-model.trim=\"localValue\"\n\t\t\t\t:=\"inputProps\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n"]}