@bigbinary/neeto-github-frontend 3.0.1 → 3.0.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.
- package/app/javascript/src/translations/en.json +1 -0
- package/dist/.ready +1 -1
- package/dist/cjs/v2/NeetoGithubNanoContainer.js +186 -119
- package/dist/cjs/v2/NeetoGithubNanoContainer.js.map +1 -1
- package/dist/cjs/v2/NeetoGithubNanoPane.js +2 -2
- package/dist/cjs/v2/NeetoGithubRepositoryConnectionCard.js +3 -2
- package/dist/cjs/v2/NeetoGithubRepositoryConnectionCard.js.map +1 -1
- package/dist/cjs/v2/index.js +2 -2
- package/dist/v2/NeetoGithubNanoContainer.js +187 -120
- package/dist/v2/NeetoGithubNanoContainer.js.map +1 -1
- package/dist/v2/NeetoGithubNanoPane.js +2 -2
- package/dist/v2/NeetoGithubRepositoryConnectionCard.js +3 -2
- package/dist/v2/NeetoGithubRepositoryConnectionCard.js.map +1 -1
- package/dist/v2/index.js +2 -2
- package/package.json +1 -1
package/dist/.ready
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Built at 2026-05-
|
|
1
|
+
Built at 2026-05-21T17:05:01.708Z
|
|
@@ -4,12 +4,12 @@ var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
6
6
|
var useGithubAccountsApi = require('../../useGithubAccountsApi-CBlDaBkA.js');
|
|
7
|
-
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
8
|
-
var Github = require('@bigbinary/neeto-icons/misc/Github');
|
|
9
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
10
7
|
var Building = require('@bigbinary/neeto-icons/Building');
|
|
8
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
11
9
|
var Plus = require('@bigbinary/neeto-icons/Plus');
|
|
12
10
|
var Settings = require('@bigbinary/neeto-icons/Settings');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
var Github = require('@bigbinary/neeto-icons/misc/Github');
|
|
13
13
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
14
14
|
var react = require('react');
|
|
15
15
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
@@ -27,89 +27,83 @@ require('ramda');
|
|
|
27
27
|
require('axios');
|
|
28
28
|
require('@bigbinary/neeto-commons-frontend/constants');
|
|
29
29
|
|
|
30
|
-
var Header = reactUtils.withT(function (_ref) {
|
|
31
|
-
var t = _ref.t;
|
|
32
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
33
|
-
className: "neeto-ui-text-gray-800 mb-1 flex w-full flex-row items-center space-x-2 font-sans text-lg font-medium leading-6 antialiased",
|
|
34
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Github, {
|
|
35
|
-
size: 20
|
|
36
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
37
|
-
className: "text-lg font-medium",
|
|
38
|
-
variant: "h4",
|
|
39
|
-
children: t("neetoGithub.github")
|
|
40
|
-
})]
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
|
|
44
30
|
var Configure = reactUtils.withT(function (_ref) {
|
|
45
31
|
var t = _ref.t,
|
|
46
32
|
isConnected = _ref.isConnected,
|
|
47
33
|
installationUrl = _ref.installationUrl;
|
|
48
34
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49
|
-
className: "
|
|
35
|
+
className: "shrink-0",
|
|
50
36
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
51
37
|
href: installationUrl,
|
|
52
38
|
icon: isConnected ? Settings : Plus,
|
|
53
39
|
iconPosition: "left",
|
|
54
40
|
size: "sm",
|
|
55
41
|
variant: "link",
|
|
56
|
-
children: isConnected ? t("neetoGithub.
|
|
42
|
+
children: isConnected ? t("neetoGithub.configure") : t("neetoGithub.connect")
|
|
57
43
|
})
|
|
58
44
|
});
|
|
59
45
|
});
|
|
60
46
|
|
|
47
|
+
var Header = reactUtils.withT(function (_ref) {
|
|
48
|
+
var t = _ref.t;
|
|
49
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
50
|
+
className: "mb-1 flex w-full flex-row items-center space-x-2",
|
|
51
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Github, {
|
|
52
|
+
size: 20
|
|
53
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
54
|
+
variant: "h5",
|
|
55
|
+
weight: "medium",
|
|
56
|
+
children: t("neetoGithub.github")
|
|
57
|
+
})]
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
61
|
var List$1 = reactUtils.withT(function (_ref) {
|
|
62
62
|
var t = _ref.t,
|
|
63
63
|
accounts = _ref.accounts,
|
|
64
64
|
isConnected = _ref.isConnected,
|
|
65
|
-
installationUrl = _ref.installationUrl
|
|
66
|
-
isPane = _ref.isPane;
|
|
65
|
+
installationUrl = _ref.installationUrl;
|
|
67
66
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
68
|
-
className:
|
|
69
|
-
|
|
70
|
-
"flex-col"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
67
|
+
className: "border-border flex flex-col justify-between gap-3 border-b pb-4 pt-2",
|
|
68
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
69
|
+
className: "flex flex-col gap-x-4 gap-y-2",
|
|
70
|
+
children: accounts.map(function (_ref2) {
|
|
71
|
+
var id = _ref2.id,
|
|
72
|
+
name = _ref2.name,
|
|
73
|
+
avatarUrl = _ref2.avatarUrl,
|
|
74
|
+
type = _ref2.type,
|
|
75
|
+
profileUrl = _ref2.profileUrl,
|
|
76
|
+
count = _ref2.count;
|
|
77
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
78
|
+
className: "flex items-center space-x-2",
|
|
79
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
80
|
+
className: "flex items-center gap-1",
|
|
81
|
+
children: [type === "Organization" ? /*#__PURE__*/jsxRuntime.jsx(Building, {
|
|
82
|
+
className: "text-muted-foreground",
|
|
83
|
+
size: 20
|
|
84
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
|
|
85
|
+
size: "sm",
|
|
86
|
+
user: {
|
|
87
|
+
imageUrl: avatarUrl
|
|
88
|
+
}
|
|
89
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
90
|
+
href: profileUrl,
|
|
91
|
+
label: "@".concat(name),
|
|
92
|
+
rel: "noopener noreferrer",
|
|
93
|
+
target: "_blank",
|
|
94
|
+
variant: "link"
|
|
95
|
+
})]
|
|
96
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
97
|
+
className: "bg-muted-foreground h-1 w-1 rounded-full"
|
|
91
98
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
92
|
-
|
|
99
|
+
color: "muted",
|
|
93
100
|
variant: "body2",
|
|
94
|
-
children:
|
|
95
|
-
|
|
96
|
-
label: "@".concat(name),
|
|
97
|
-
variant: "link",
|
|
98
|
-
onClick: function onClick() {
|
|
99
|
-
return window.open(profileUrl, "_blank");
|
|
100
|
-
}
|
|
101
|
+
children: t("neetoGithub.countOf.repos", {
|
|
102
|
+
count: count
|
|
101
103
|
})
|
|
102
104
|
})]
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
106
|
-
className: "neeto-ui-text-black",
|
|
107
|
-
variant: "body2",
|
|
108
|
-
children: t("neetoGithub.countOf.repos", {
|
|
109
|
-
count: count
|
|
110
|
-
})
|
|
111
|
-
})]
|
|
112
|
-
}, id);
|
|
105
|
+
}, id);
|
|
106
|
+
})
|
|
113
107
|
}), /*#__PURE__*/jsxRuntime.jsx(Configure, {
|
|
114
108
|
installationUrl: installationUrl,
|
|
115
109
|
isConnected: isConnected
|
|
@@ -117,17 +111,64 @@ var List$1 = reactUtils.withT(function (_ref) {
|
|
|
117
111
|
});
|
|
118
112
|
});
|
|
119
113
|
|
|
120
|
-
var
|
|
121
|
-
var
|
|
122
|
-
accounts = _ref.accounts,
|
|
114
|
+
var PaneAccounts = function PaneAccounts(_ref) {
|
|
115
|
+
var accounts = _ref.accounts,
|
|
123
116
|
isConnected = _ref.isConnected,
|
|
124
|
-
onConnect = _ref.onConnect,
|
|
125
117
|
installationUrl = _ref.installationUrl;
|
|
118
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
119
|
+
className: "border-border bg-muted/30 mb-3 flex items-center justify-between gap-3 rounded-md border p-3",
|
|
120
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
121
|
+
className: "flex flex-wrap items-center gap-x-4 gap-y-2",
|
|
122
|
+
children: accounts.map(function (_ref2) {
|
|
123
|
+
var id = _ref2.id,
|
|
124
|
+
name = _ref2.name,
|
|
125
|
+
avatarUrl = _ref2.avatarUrl,
|
|
126
|
+
type = _ref2.type,
|
|
127
|
+
profileUrl = _ref2.profileUrl;
|
|
128
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
129
|
+
className: "flex items-center gap-2",
|
|
130
|
+
children: [type === "Organization" ? /*#__PURE__*/jsxRuntime.jsx(Building, {
|
|
131
|
+
className: "text-muted-foreground",
|
|
132
|
+
size: 28
|
|
133
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
|
|
134
|
+
size: "md",
|
|
135
|
+
user: {
|
|
136
|
+
imageUrl: avatarUrl
|
|
137
|
+
}
|
|
138
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
139
|
+
href: profileUrl,
|
|
140
|
+
label: "@".concat(name),
|
|
141
|
+
rel: "noopener noreferrer",
|
|
142
|
+
target: "_blank",
|
|
143
|
+
variant: "link"
|
|
144
|
+
})]
|
|
145
|
+
}, id);
|
|
146
|
+
})
|
|
147
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Configure, {
|
|
148
|
+
installationUrl: installationUrl,
|
|
149
|
+
isConnected: isConnected
|
|
150
|
+
})]
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
var Accounts = function Accounts(_ref3) {
|
|
154
|
+
var isPane = _ref3.isPane,
|
|
155
|
+
accounts = _ref3.accounts,
|
|
156
|
+
isConnected = _ref3.isConnected,
|
|
157
|
+
onConnect = _ref3.onConnect,
|
|
158
|
+
installationUrl = _ref3.installationUrl;
|
|
159
|
+
if (isPane) {
|
|
160
|
+
if (!isConnected) return null;
|
|
161
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
162
|
+
className: "order-1 flex w-full flex-col",
|
|
163
|
+
children: /*#__PURE__*/jsxRuntime.jsx(PaneAccounts, {
|
|
164
|
+
accounts: accounts,
|
|
165
|
+
installationUrl: installationUrl,
|
|
166
|
+
isConnected: isConnected
|
|
167
|
+
})
|
|
168
|
+
});
|
|
169
|
+
}
|
|
126
170
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
127
|
-
className: classnames("flex w-full flex-col border border-solid
|
|
128
|
-
"order-1": isPane,
|
|
129
|
-
"md:order-2 md:max-w-72 lg:max-w-sm lg:px-6": !isPane
|
|
130
|
-
}),
|
|
171
|
+
className: classnames("border-transparent flex w-full flex-col border border-solid py-2", "md:order-2 md:max-w-72 lg:max-w-sm lg:px-6"),
|
|
131
172
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
132
173
|
className: "mb-2",
|
|
133
174
|
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {}), /*#__PURE__*/jsxRuntime.jsx(List$1, {
|
|
@@ -154,20 +195,18 @@ var NoRepositories = reactUtils.withT(function (_ref) {
|
|
|
154
195
|
children: t("neetoGithub.noReposDescription")
|
|
155
196
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
156
197
|
href: installationUrl,
|
|
157
|
-
icon: Github,
|
|
158
|
-
iconPosition: "left",
|
|
159
198
|
label: t("neetoGithub.connectRepository"),
|
|
160
199
|
variant: "default"
|
|
161
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
162
|
-
|
|
200
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
201
|
+
variant: "caption",
|
|
163
202
|
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
164
203
|
i18nKey: t("neetoGithub.troubleshoot"),
|
|
165
204
|
components: {
|
|
166
|
-
troubleshootLink: /*#__PURE__*/jsxRuntime.jsx(
|
|
167
|
-
className: "text-indigo-600 underline",
|
|
205
|
+
troubleshootLink: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
168
206
|
href: troubleshootUrl,
|
|
169
207
|
rel: "noopener noreferrer",
|
|
170
|
-
target: "_blank"
|
|
208
|
+
target: "_blank",
|
|
209
|
+
variant: "link"
|
|
171
210
|
})
|
|
172
211
|
}
|
|
173
212
|
})
|
|
@@ -178,6 +217,7 @@ var NoRepositories = reactUtils.withT(function (_ref) {
|
|
|
178
217
|
|
|
179
218
|
var RepositoryTile = function RepositoryTile(_ref) {
|
|
180
219
|
var isConnecting = _ref.isConnecting,
|
|
220
|
+
isPane = _ref.isPane,
|
|
181
221
|
onConnect = _ref.onConnect,
|
|
182
222
|
repository = _ref.repository;
|
|
183
223
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -190,8 +230,9 @@ var RepositoryTile = function RepositoryTile(_ref) {
|
|
|
190
230
|
fullName = repository.fullName,
|
|
191
231
|
isPrivate = repository.isPrivate,
|
|
192
232
|
updatedAt = repository.updatedAt;
|
|
233
|
+
var displayName = isPane && fullName !== null && fullName !== void 0 && fullName.includes("/") ? fullName.split("/").pop() : fullName;
|
|
193
234
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
194
|
-
className: "connect-repo__row
|
|
235
|
+
className: "connect-repo__row border-border flex flex-col justify-between gap-3 border-b border-solid py-3 ps-3 pe-3 last:border-b-0 md:flex-row md:items-center md:ps-5",
|
|
195
236
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
196
237
|
className: "connect-repo__info flex min-w-0 items-center space-x-2",
|
|
197
238
|
children: [/*#__PURE__*/jsxRuntime.jsx(Github, {
|
|
@@ -200,24 +241,29 @@ var RepositoryTile = function RepositoryTile(_ref) {
|
|
|
200
241
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
201
242
|
className: "truncate",
|
|
202
243
|
variant: "body2",
|
|
203
|
-
children:
|
|
244
|
+
children: displayName
|
|
204
245
|
}), isPrivate && /*#__PURE__*/jsxRuntime.jsx(Lock, {
|
|
205
246
|
className: "shrink-0",
|
|
206
247
|
size: 16
|
|
207
248
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
208
249
|
className: "hidden shrink-0 items-center gap-2 whitespace-nowrap lg:inline-flex",
|
|
209
250
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
210
|
-
className: "bg-foreground h-1 w-1
|
|
211
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
212
|
-
|
|
251
|
+
className: "bg-muted-foreground h-1 w-1 rounded-full"
|
|
252
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
253
|
+
color: "muted",
|
|
254
|
+
variant: "caption",
|
|
255
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DateFormat.FromNow, {
|
|
256
|
+
date: updatedAt
|
|
257
|
+
})
|
|
213
258
|
})]
|
|
214
259
|
})]
|
|
215
260
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
216
261
|
className: "w-max",
|
|
217
262
|
disabled: isConnecting,
|
|
218
263
|
loading: isLoading,
|
|
264
|
+
size: "sm",
|
|
219
265
|
type: "button",
|
|
220
|
-
variant: "
|
|
266
|
+
variant: "outline",
|
|
221
267
|
onClick: function onClick() {
|
|
222
268
|
return onConnect({
|
|
223
269
|
repoType: "private",
|
|
@@ -237,17 +283,24 @@ var List = reactUtils.withT(function (_ref) {
|
|
|
237
283
|
isConnecting = _ref.isConnecting,
|
|
238
284
|
onConnect = _ref.onConnect,
|
|
239
285
|
installationUrl = _ref.installationUrl,
|
|
240
|
-
troubleshootUrl = _ref.troubleshootUrl
|
|
286
|
+
troubleshootUrl = _ref.troubleshootUrl,
|
|
287
|
+
isPane = _ref.isPane;
|
|
241
288
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
242
|
-
className:
|
|
289
|
+
className: classnames({
|
|
290
|
+
"px-0 pb-0": isPane,
|
|
291
|
+
"h-full overflow-y-auto px-4 pb-4 md:px-6 md:pb-6": !isPane
|
|
292
|
+
}),
|
|
243
293
|
children: neetoCist.isPresent(repositories) ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
244
|
-
className: "
|
|
245
|
-
|
|
294
|
+
className: classnames("flex w-full flex-col overflow-hidden", {
|
|
295
|
+
"border-border rounded-md border": !isPane
|
|
296
|
+
}),
|
|
297
|
+
children: neetoCist.isPresent(filteredRepositories) ? filteredRepositories.map(function (repository) {
|
|
246
298
|
return /*#__PURE__*/react.createElement(RepositoryTile, {
|
|
247
299
|
isConnecting: isConnecting,
|
|
300
|
+
isPane: isPane,
|
|
248
301
|
onConnect: onConnect,
|
|
249
302
|
repository: repository,
|
|
250
|
-
key:
|
|
303
|
+
key: repository.id
|
|
251
304
|
});
|
|
252
305
|
}) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
253
306
|
className: "flex h-full w-full items-center justify-center py-6",
|
|
@@ -277,8 +330,6 @@ var NotConnected = function NotConnected(_ref) {
|
|
|
277
330
|
appName: initializers.globalProps.appName
|
|
278
331
|
})
|
|
279
332
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
280
|
-
icon: Github,
|
|
281
|
-
iconPosition: "left",
|
|
282
333
|
label: t("neetoGithub.connectGithub"),
|
|
283
334
|
loading: isLoading,
|
|
284
335
|
variant: "default",
|
|
@@ -297,7 +348,8 @@ var Private = function Private(_ref) {
|
|
|
297
348
|
repositories = _ref.repositories,
|
|
298
349
|
onConnect = _ref.onConnect,
|
|
299
350
|
installationUrl = _ref.installationUrl,
|
|
300
|
-
troubleshootUrl = _ref.troubleshootUrl
|
|
351
|
+
troubleshootUrl = _ref.troubleshootUrl,
|
|
352
|
+
isPane = _ref.isPane;
|
|
301
353
|
var _useTranslation = reactI18next.useTranslation(),
|
|
302
354
|
t = _useTranslation.t;
|
|
303
355
|
var _useState = react.useState(repositories),
|
|
@@ -315,42 +367,56 @@ var Private = function Private(_ref) {
|
|
|
315
367
|
});
|
|
316
368
|
setFilteredRepositories(filteredRepositories);
|
|
317
369
|
};
|
|
370
|
+
var searchRow = neetoCist.isPresent(repositories) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
371
|
+
className: classnames("flex w-full items-center gap-3", {
|
|
372
|
+
"border-border border-b p-3": isPane
|
|
373
|
+
}),
|
|
374
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Search, {
|
|
375
|
+
onSearch: onSearch,
|
|
376
|
+
className: "flex-1",
|
|
377
|
+
unlimitedChars: false
|
|
378
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
379
|
+
className: "whitespace-nowrap",
|
|
380
|
+
color: "muted",
|
|
381
|
+
variant: "body2",
|
|
382
|
+
children: t("neetoGithub.countOf.repos", {
|
|
383
|
+
count: filteredRepositories.length
|
|
384
|
+
})
|
|
385
|
+
})]
|
|
386
|
+
});
|
|
387
|
+
var listElement = /*#__PURE__*/jsxRuntime.jsx(List, {
|
|
388
|
+
filteredRepositories: filteredRepositories,
|
|
389
|
+
installationUrl: installationUrl,
|
|
390
|
+
isConnecting: isConnecting,
|
|
391
|
+
isPane: isPane,
|
|
392
|
+
onConnect: onConnect,
|
|
393
|
+
repositories: repositories,
|
|
394
|
+
troubleshootUrl: troubleshootUrl
|
|
395
|
+
});
|
|
318
396
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
319
397
|
className: "connect-repo flex h-full flex-col",
|
|
320
|
-
children: isConnected ? /*#__PURE__*/jsxRuntime.jsxs(
|
|
398
|
+
children: isConnected ? isPane ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
399
|
+
className: "border-border flex max-h-[60vh] flex-col overflow-hidden rounded-md border",
|
|
400
|
+
children: [searchRow, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
401
|
+
className: "min-h-0 flex-1 overflow-y-auto",
|
|
402
|
+
children: listElement
|
|
403
|
+
})]
|
|
404
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
321
405
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
322
406
|
className: "space-y-3 p-4 md:p-6",
|
|
323
407
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
324
|
-
|
|
325
|
-
|
|
408
|
+
as: "h2",
|
|
409
|
+
className: "shrink-0",
|
|
410
|
+
variant: "h5",
|
|
411
|
+
weight: "medium",
|
|
326
412
|
children: t("neetoGithub.connectARepo")
|
|
327
|
-
}),
|
|
328
|
-
className: "flex w-full items-center gap-3",
|
|
329
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Search, {
|
|
330
|
-
onSearch: onSearch,
|
|
331
|
-
className: "flex-1",
|
|
332
|
-
unlimitedChars: false
|
|
333
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
334
|
-
className: "whitespace-nowrap neeto-ui-text-gray-700",
|
|
335
|
-
variant: "body2",
|
|
336
|
-
children: t("neetoGithub.countOf.repos", {
|
|
337
|
-
count: filteredRepositories.length
|
|
338
|
-
})
|
|
339
|
-
})]
|
|
340
|
-
})]
|
|
413
|
+
}), searchRow]
|
|
341
414
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
342
415
|
className: "flex min-h-0 w-full grow flex-col space-y-6",
|
|
343
|
-
children:
|
|
344
|
-
filteredRepositories: filteredRepositories,
|
|
345
|
-
installationUrl: installationUrl,
|
|
346
|
-
isConnecting: isConnecting,
|
|
347
|
-
onConnect: onConnect,
|
|
348
|
-
repositories: repositories,
|
|
349
|
-
troubleshootUrl: troubleshootUrl
|
|
350
|
-
})
|
|
416
|
+
children: listElement
|
|
351
417
|
})]
|
|
352
418
|
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
353
|
-
className: "
|
|
419
|
+
className: "text-foreground grow",
|
|
354
420
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
355
421
|
className: "flex h-full flex-col items-center justify-center p-4",
|
|
356
422
|
children: /*#__PURE__*/jsxRuntime.jsx(NotConnected, {
|
|
@@ -370,14 +436,15 @@ var Repositories = function Repositories(_ref) {
|
|
|
370
436
|
troubleshootUrl = _ref.troubleshootUrl,
|
|
371
437
|
isPane = _ref.isPane;
|
|
372
438
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
373
|
-
className: classnames("
|
|
439
|
+
className: classnames("flex h-full w-full flex-col space-y-6 overflow-hidden", {
|
|
374
440
|
"order-2": isPane,
|
|
375
|
-
"order-1": !isPane
|
|
441
|
+
"border-border order-1 rounded-md border border-solid": !isPane
|
|
376
442
|
}),
|
|
377
443
|
children: /*#__PURE__*/jsxRuntime.jsx(Private, {
|
|
378
444
|
installationUrl: installationUrl,
|
|
379
445
|
isConnected: isConnected,
|
|
380
446
|
isConnecting: isConnecting,
|
|
447
|
+
isPane: isPane,
|
|
381
448
|
onConnect: onConnect,
|
|
382
449
|
repositories: repositories,
|
|
383
450
|
troubleshootUrl: troubleshootUrl
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoGithubNanoContainer.js","sources":["../../../app/javascript/src/v2/components/commons/Accounts/Header.jsx","../../../app/javascript/src/v2/components/commons/Accounts/Configure.jsx","../../../app/javascript/src/v2/components/commons/Accounts/List.jsx","../../../app/javascript/src/v2/components/commons/Accounts/index.jsx","../../../app/javascript/src/v2/components/commons/Repositories/NoRepositories.jsx","../../../app/javascript/src/v2/components/commons/Repositories/RepositoryTile.jsx","../../../app/javascript/src/v2/components/commons/Repositories/List.jsx","../../../app/javascript/src/v2/components/commons/Repositories/NotConnected.jsx","../../../app/javascript/src/v2/components/commons/Repositories/Private.jsx","../../../app/javascript/src/v2/components/commons/Repositories/index.jsx","../../../app/javascript/src/v2/components/NeetoGithubNanoContainer/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Github } from \"neetoicons/misc\";\n\nconst Header = withT(({ t }) => (\n <div className=\"neeto-ui-text-gray-800 mb-1 flex w-full flex-row items-center space-x-2 font-sans text-lg font-medium leading-6 antialiased\">\n <Github size={20} />\n <Typography className=\"text-lg font-medium\" variant=\"h4\">\n {t(\"neetoGithub.github\")}\n </Typography>\n </div>\n));\n\nexport default Header;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Plus, Settings } from \"neetoicons\";\n\nconst Configure = withT(({ t, isConnected, installationUrl }) => (\n <div className=\"neeto-ui-text-gray-900 shrink-0 font-sans text-sm font-normal leading-6 antialiased\">\n <Button\n href={installationUrl}\n icon={isConnected ? Settings : Plus}\n iconPosition=\"left\"\n size=\"sm\"\n variant=\"link\"\n >\n {isConnected\n ? t(\"neetoGithub.configureAccount\")\n : t(\"neetoGithub.connectAccount\")}\n </Button>\n </div>\n));\n\nexport default Configure;\n","import { Avatar, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Building } from \"neetoicons\";\n\nimport Configure from \"./Configure\";\n\nconst List = withT(({ t, accounts, isConnected, installationUrl, isPane }) => (\n <div\n className={classnames(\n \"neeto-ui-border-gray-300 flex justify-between gap-3 border-b pb-4 pt-2\",\n { \"flex-col md:flex-row\": isPane, \"flex-col\": !isPane }\n )}\n >\n {accounts.map(({ id, name, avatarUrl, type, profileUrl, count }) => (\n <div className=\"flex w-full items-center space-x-2\" key={id}>\n <div className=\"flex items-center gap-1\">\n {type === \"Organization\" ? (\n <Building className=\"neeto-ui-text-gray-600\" size={24} />\n ) : (\n <Avatar size=\"sm\" user={{ imageUrl: avatarUrl }} />\n )}\n <Typography className=\"neeto-ui-text-gray-800\" variant=\"body2\">\n <Button\n className=\"neeto-ui-text-gray-800\"\n label={`@${name}`}\n variant=\"link\"\n onClick={() => window.open(profileUrl, \"_blank\")}\n />\n </Typography>\n </div>\n <span className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1\" />\n <Typography className=\"neeto-ui-text-black\" variant=\"body2\">\n {t(\"neetoGithub.countOf.repos\", { count })}\n </Typography>\n </div>\n ))}\n <Configure {...{ installationUrl, isConnected }} />\n </div>\n));\n\nexport default List;\n","import classnames from \"classnames\";\n\nimport Header from \"./Header\";\nimport List from \"./List\";\n\nconst Accounts = ({\n isPane,\n accounts,\n isConnected,\n onConnect,\n installationUrl,\n}) => (\n <div\n className={classnames(\n \"flex w-full flex-col border border-solid border-transparent px-0 py-2\",\n {\n \"order-1\": isPane,\n \"md:order-2 md:max-w-72 lg:max-w-sm lg:px-6\": !isPane,\n }\n )}\n >\n <div className=\"mb-2\">\n <Header />\n <List\n {...{ accounts, installationUrl, isConnected, isPane, onConnect }}\n />\n </div>\n </div>\n);\n\nexport default Accounts;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Github } from \"neetoicons/misc\";\nimport { Trans } from \"react-i18next\";\n\nconst NoRepositories = withT(({ t, installationUrl, troubleshootUrl }) => (\n <div className=\"flex items-center justify-center py-6\">\n <div className=\"mx-auto flex w-full max-w-sm flex-col items-center justify-center space-y-4 py-4 text-center\">\n <Typography variant=\"body2\">\n {t(\"neetoGithub.noReposDescription\")}\n </Typography>\n <Button\n href={installationUrl}\n icon={Github}\n iconPosition=\"left\"\n label={t(\"neetoGithub.connectRepository\")}\n variant=\"default\"\n />\n <div className=\"text-xs\">\n <Trans\n i18nKey={t(\"neetoGithub.troubleshoot\")}\n components={{\n troubleshootLink: (\n <a\n className=\"text-indigo-600 underline\"\n href={troubleshootUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n </div>\n </div>\n));\n\nexport default NoRepositories;\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Lock } from \"neetoicons\";\nimport { Github } from \"neetoicons/misc\";\nimport DateFormat from \"neetomolecules/v2/DateFormat\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/repository-tile.css\";\n\nconst RepositoryTile = ({ isConnecting, onConnect, repository }) => {\n const { t } = useTranslation();\n\n const [isLoading, setIsLoading] = useState(false);\n const { id, fullName, isPrivate, updatedAt } = repository;\n\n return (\n <div\n className=\"connect-repo__row neeto-ui-border-gray-300 flex flex-col justify-between gap-3 border-b border-solid py-3 ps-3 pe-3 last:border-b-0 md:flex-row md:items-center md:ps-5\"\n key={id}\n >\n <div className=\"connect-repo__info flex min-w-0 items-center space-x-2\">\n <Github className=\"shrink-0\" size={20} />\n <Typography className=\"truncate\" variant=\"body2\">\n {fullName}\n </Typography>\n {isPrivate && <Lock className=\"shrink-0\" size={16} />}\n <div className=\"hidden shrink-0 items-center gap-2 whitespace-nowrap lg:inline-flex\">\n <span className=\"bg-foreground h-1 w-1 neeto-ui-rounded-full\" />\n <DateFormat.FromNow date={updatedAt} />\n </div>\n </div>\n <Button\n className=\"w-max\"\n disabled={isConnecting}\n loading={isLoading}\n type=\"button\"\n variant=\"default\"\n onClick={() =>\n onConnect({ repoType: \"private\", repository, setIsLoading })\n }\n >\n {t(\"neetoGithub.connect\")}\n </Button>\n </div>\n );\n};\n\nexport default RepositoryTile;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport NoRepositories from \"./NoRepositories\";\nimport RepositoryTile from \"./RepositoryTile\";\n\nconst List = withT(\n ({\n t,\n filteredRepositories,\n repositories,\n isConnecting,\n onConnect,\n installationUrl,\n troubleshootUrl,\n }) => (\n <div className=\"h-full overflow-y-auto px-4 pb-4 md:px-6 md:pb-6\">\n {isPresent(repositories) ? (\n <div className=\"neeto-ui-border-gray-300 neeto-ui-rounded-md flex w-full flex-col border\">\n {isPresent(filteredRepositories) ? (\n filteredRepositories.map((repository, index) => (\n <RepositoryTile\n {...{ isConnecting, onConnect, repository }}\n key={index}\n />\n ))\n ) : (\n <Typography\n className=\"flex h-full w-full items-center justify-center py-6\"\n variant=\"body2\"\n >\n {t(\"neetoGithub.noRepos\")}\n </Typography>\n )}\n </div>\n ) : (\n <NoRepositories {...{ installationUrl, troubleshootUrl }} />\n )}\n </div>\n )\n);\n\nexport default List;\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { isMetaKeyPressed } from \"neetocommons/v2/react-utils\";\nimport { Github } from \"neetoicons/misc\";\nimport { useTranslation } from \"react-i18next\";\n\nconst NotConnected = ({ installationUrl }) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const { t } = useTranslation();\n\n return (\n <div className=\"flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center\">\n <Typography variant=\"body2\">\n {t(\"neetoGithub.notConnectedDescription\", {\n appName: globalProps.appName,\n })}\n </Typography>\n <Button\n icon={Github}\n iconPosition=\"left\"\n label={t(\"neetoGithub.connectGithub\")}\n loading={isLoading}\n variant=\"default\"\n onClick={event => {\n setIsLoading(true);\n const target = isMetaKeyPressed(event) ? \"_blank\" : \"_self\";\n window.open(installationUrl, target);\n }}\n />\n </div>\n );\n};\n\nexport default NotConnected;\n","import { useState } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { useTranslation } from \"react-i18next\";\n\nimport List from \"./List\";\nimport NotConnected from \"./NotConnected\";\n\nconst Private = ({\n isConnected,\n isConnecting,\n repositories,\n onConnect,\n installationUrl,\n troubleshootUrl,\n}) => {\n const { t } = useTranslation();\n\n const [filteredRepositories, setFilteredRepositories] =\n useState(repositories);\n\n const onSearch = searchTerm => {\n if (!isPresent(searchTerm)) {\n setFilteredRepositories(repositories);\n\n return;\n }\n\n const filteredRepositories = repositories.filter(({ fullName }) =>\n fullName.toLowerCase().includes(searchTerm.toLowerCase())\n );\n setFilteredRepositories(filteredRepositories);\n };\n\n return (\n <div className=\"connect-repo flex h-full flex-col\">\n {isConnected ? (\n <>\n <div className=\"space-y-3 p-4 md:p-6\">\n <Typography className=\"shrink-0 text-lg font-medium\" variant=\"h2\">\n {t(\"neetoGithub.connectARepo\")}\n </Typography>\n {isPresent(repositories) && (\n <div className=\"flex w-full items-center gap-3\">\n <Search\n {...{ onSearch }}\n className=\"flex-1\"\n unlimitedChars={false}\n />\n <Typography\n className=\"whitespace-nowrap neeto-ui-text-gray-700\"\n variant=\"body2\"\n >\n {t(\"neetoGithub.countOf.repos\", {\n count: filteredRepositories.length,\n })}\n </Typography>\n </div>\n )}\n </div>\n <div className=\"flex min-h-0 w-full grow flex-col space-y-6\">\n <List\n {...{\n filteredRepositories,\n installationUrl,\n isConnecting,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n </>\n ) : (\n <div className=\"neeto-ui-text-gray-900 grow font-sans text-sm font-normal leading-6 antialiased\">\n <div className=\"flex h-full flex-col items-center justify-center p-4\">\n <NotConnected {...{ installationUrl }} />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Private;\n","import classnames from \"classnames\";\n\nimport Private from \"./Private\";\n\nconst Repositories = ({\n isConnected,\n isConnecting,\n repositories,\n onConnect,\n installationUrl,\n troubleshootUrl,\n isPane,\n}) => (\n <div\n className={classnames(\n \"neeto-ui-rounded-md neeto-ui-border-gray-300 flex h-full w-full flex-col space-y-6 overflow-hidden border border-solid\",\n { \"order-2\": isPane, \"order-1\": !isPane }\n )}\n >\n <Private\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n);\n\nexport default Repositories;\n","import { Spinner } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\n\nimport { useFetchGithubRepositories } from \"hooks/reactQuery/useGithubAccountsApi\";\nimport Accounts from \"v2/components/commons/Accounts\";\nimport Repositories from \"v2/components/commons/Repositories\";\n\nconst NeetoGithubNanoContainer = ({\n isPaneLoading = false,\n shouldFetchRepositories = true,\n paneAccounts = [],\n installationUrl,\n isConnected,\n isConnecting = false,\n onConnect,\n paneRepositories = [],\n troubleshootUrl,\n isPane = false,\n}) => {\n const {\n data: {\n repositories: containerRepositories = [],\n accounts: containerAccounts = [],\n } = {},\n isLoading: isContainerLoading,\n } = useFetchGithubRepositories({\n isConnected: shouldFetchRepositories && globalProps.isGithubIntegrated,\n });\n\n const repositories = shouldFetchRepositories\n ? containerRepositories\n : paneRepositories;\n const accounts = shouldFetchRepositories ? containerAccounts : paneAccounts;\n\n const isLoading = shouldFetchRepositories\n ? isContainerLoading\n : isPaneLoading;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"flex min-h-0 w-full grow flex-col\", {\n \"flex-col\": isPane,\n \"gap-3 md:flex-row md:gap-6\": !isPane,\n })}\n >\n <Accounts\n {...{ accounts, installationUrl, isConnected, isPane, onConnect }}\n />\n <Repositories\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n isPane,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n );\n};\n\nexport default NeetoGithubNanoContainer;\n"],"names":["Header","withT","_ref","t","_jsxs","className","children","_jsx","Github","size","Typography","variant","Configure","isConnected","installationUrl","Button","href","icon","Settings","Plus","iconPosition","List","accounts","isPane","classnames","map","_ref2","id","name","avatarUrl","type","profileUrl","count","Building","Avatar","user","imageUrl","label","concat","onClick","window","open","Accounts","onConnect","NoRepositories","troubleshootUrl","Trans","i18nKey","components","troubleshootLink","rel","target","RepositoryTile","isConnecting","repository","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","fullName","isPrivate","updatedAt","Lock","DateFormat","FromNow","date","disabled","loading","repoType","filteredRepositories","repositories","isPresent","index","_createElement","key","NotConnected","appName","globalProps","event","isMetaKeyPressed","Private","setFilteredRepositories","onSearch","searchTerm","filter","toLowerCase","includes","_Fragment","Search","unlimitedChars","length","Repositories","NeetoGithubNanoContainer","_ref$isPaneLoading","isPaneLoading","_ref$shouldFetchRepos","shouldFetchRepositories","_ref$paneAccounts","paneAccounts","_ref$isConnecting","_ref$paneRepositories","paneRepositories","_ref$isPane","_useFetchGithubReposi","useFetchGithubRepositories","isGithubIntegrated","_useFetchGithubReposi2","data","_useFetchGithubReposi3","_useFetchGithubReposi4","containerRepositories","_useFetchGithubReposi5","containerAccounts","isContainerLoading","Spinner","classNames"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeetoGithubNanoContainer.js","sources":["../../../app/javascript/src/v2/components/commons/Accounts/Configure.jsx","../../../app/javascript/src/v2/components/commons/Accounts/Header.jsx","../../../app/javascript/src/v2/components/commons/Accounts/List.jsx","../../../app/javascript/src/v2/components/commons/Accounts/index.jsx","../../../app/javascript/src/v2/components/commons/Repositories/NoRepositories.jsx","../../../app/javascript/src/v2/components/commons/Repositories/RepositoryTile.jsx","../../../app/javascript/src/v2/components/commons/Repositories/List.jsx","../../../app/javascript/src/v2/components/commons/Repositories/NotConnected.jsx","../../../app/javascript/src/v2/components/commons/Repositories/Private.jsx","../../../app/javascript/src/v2/components/commons/Repositories/index.jsx","../../../app/javascript/src/v2/components/NeetoGithubNanoContainer/index.jsx"],"sourcesContent":["import { Button } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Plus, Settings } from \"neetoicons\";\n\nconst Configure = withT(({ t, isConnected, installationUrl }) => (\n <div className=\"shrink-0\">\n <Button\n href={installationUrl}\n icon={isConnected ? Settings : Plus}\n iconPosition=\"left\"\n size=\"sm\"\n variant=\"link\"\n >\n {isConnected ? t(\"neetoGithub.configure\") : t(\"neetoGithub.connect\")}\n </Button>\n </div>\n));\n\nexport default Configure;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Github } from \"neetoicons/misc\";\n\nconst Header = withT(({ t }) => (\n <div className=\"mb-1 flex w-full flex-row items-center space-x-2\">\n <Github size={20} />\n <Typography variant=\"h5\" weight=\"medium\">\n {t(\"neetoGithub.github\")}\n </Typography>\n </div>\n));\n\nexport default Header;\n","import { Avatar, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Building } from \"neetoicons\";\n\nimport Configure from \"./Configure\";\n\nconst List = withT(({ t, accounts, isConnected, installationUrl }) => (\n <div className=\"border-border flex flex-col justify-between gap-3 border-b pb-4 pt-2\">\n <div className=\"flex flex-col gap-x-4 gap-y-2\">\n {accounts.map(({ id, name, avatarUrl, type, profileUrl, count }) => (\n <div className=\"flex items-center space-x-2\" key={id}>\n <div className=\"flex items-center gap-1\">\n {type === \"Organization\" ? (\n <Building className=\"text-muted-foreground\" size={20} />\n ) : (\n <Avatar size=\"sm\" user={{ imageUrl: avatarUrl }} />\n )}\n <Button\n href={profileUrl}\n label={`@${name}`}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n </div>\n <span className=\"bg-muted-foreground h-1 w-1 rounded-full\" />\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoGithub.countOf.repos\", { count })}\n </Typography>\n </div>\n ))}\n </div>\n <Configure {...{ installationUrl, isConnected }} />\n </div>\n));\n\nexport default List;\n","import { Avatar, Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Building } from \"neetoicons\";\n\nimport Configure from \"./Configure\";\nimport Header from \"./Header\";\nimport List from \"./List\";\n\nconst PaneAccounts = ({ accounts, isConnected, installationUrl }) => (\n <div className=\"border-border bg-muted/30 mb-3 flex items-center justify-between gap-3 rounded-md border p-3\">\n <div className=\"flex flex-wrap items-center gap-x-4 gap-y-2\">\n {accounts.map(({ id, name, avatarUrl, type, profileUrl }) => (\n <div className=\"flex items-center gap-2\" key={id}>\n {type === \"Organization\" ? (\n <Building className=\"text-muted-foreground\" size={28} />\n ) : (\n <Avatar size=\"md\" user={{ imageUrl: avatarUrl }} />\n )}\n <Button\n href={profileUrl}\n label={`@${name}`}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n </div>\n ))}\n </div>\n <Configure {...{ installationUrl, isConnected }} />\n </div>\n);\n\nconst Accounts = ({\n isPane,\n accounts,\n isConnected,\n onConnect,\n installationUrl,\n}) => {\n if (isPane) {\n if (!isConnected) return null;\n\n return (\n <div className=\"order-1 flex w-full flex-col\">\n <PaneAccounts {...{ accounts, installationUrl, isConnected }} />\n </div>\n );\n }\n\n return (\n <div\n className={classnames(\n \"border-transparent flex w-full flex-col border border-solid py-2\",\n \"md:order-2 md:max-w-72 lg:max-w-sm lg:px-6\"\n )}\n >\n <div className=\"mb-2\">\n <Header />\n <List\n {...{ accounts, installationUrl, isConnected, isPane, onConnect }}\n />\n </div>\n </div>\n );\n};\n\nexport default Accounts;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { Trans } from \"react-i18next\";\n\nconst NoRepositories = withT(({ t, installationUrl, troubleshootUrl }) => (\n <div className=\"flex items-center justify-center py-6\">\n <div className=\"mx-auto flex w-full max-w-sm flex-col items-center justify-center space-y-4 py-4 text-center\">\n <Typography variant=\"body2\">\n {t(\"neetoGithub.noReposDescription\")}\n </Typography>\n <Button\n href={installationUrl}\n label={t(\"neetoGithub.connectRepository\")}\n variant=\"default\"\n />\n <Typography variant=\"caption\">\n <Trans\n i18nKey={t(\"neetoGithub.troubleshoot\")}\n components={{\n troubleshootLink: (\n <Button\n href={troubleshootUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n));\n\nexport default NoRepositories;\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Lock } from \"neetoicons\";\nimport { Github } from \"neetoicons/misc\";\nimport DateFormat from \"neetomolecules/v2/DateFormat\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/repository-tile.css\";\n\nconst RepositoryTile = ({ isConnecting, isPane, onConnect, repository }) => {\n const { t } = useTranslation();\n\n const [isLoading, setIsLoading] = useState(false);\n const { id, fullName, isPrivate, updatedAt } = repository;\n\n const displayName =\n isPane && fullName?.includes(\"/\") ? fullName.split(\"/\").pop() : fullName;\n\n return (\n <div\n className=\"connect-repo__row border-border flex flex-col justify-between gap-3 border-b border-solid py-3 ps-3 pe-3 last:border-b-0 md:flex-row md:items-center md:ps-5\"\n key={id}\n >\n <div className=\"connect-repo__info flex min-w-0 items-center space-x-2\">\n <Github className=\"shrink-0\" size={20} />\n <Typography className=\"truncate\" variant=\"body2\">\n {displayName}\n </Typography>\n {isPrivate && <Lock className=\"shrink-0\" size={16} />}\n <div className=\"hidden shrink-0 items-center gap-2 whitespace-nowrap lg:inline-flex\">\n <span className=\"bg-muted-foreground h-1 w-1 rounded-full\" />\n <Typography color=\"muted\" variant=\"caption\">\n <DateFormat.FromNow date={updatedAt} />\n </Typography>\n </div>\n </div>\n <Button\n className=\"w-max\"\n disabled={isConnecting}\n loading={isLoading}\n size=\"sm\"\n type=\"button\"\n variant=\"outline\"\n onClick={() =>\n onConnect({ repoType: \"private\", repository, setIsLoading })\n }\n >\n {t(\"neetoGithub.connect\")}\n </Button>\n </div>\n );\n};\n\nexport default RepositoryTile;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport NoRepositories from \"./NoRepositories\";\nimport RepositoryTile from \"./RepositoryTile\";\n\nconst List = withT(\n ({\n t,\n filteredRepositories,\n repositories,\n isConnecting,\n onConnect,\n installationUrl,\n troubleshootUrl,\n isPane,\n }) => (\n <div\n className={classnames({\n \"px-0 pb-0\": isPane,\n \"h-full overflow-y-auto px-4 pb-4 md:px-6 md:pb-6\": !isPane,\n })}\n >\n {isPresent(repositories) ? (\n <div\n className={classnames(\"flex w-full flex-col overflow-hidden\", {\n \"border-border rounded-md border\": !isPane,\n })}\n >\n {isPresent(filteredRepositories) ? (\n filteredRepositories.map(repository => (\n <RepositoryTile\n {...{ isConnecting, isPane, onConnect, repository }}\n key={repository.id}\n />\n ))\n ) : (\n <Typography\n className=\"flex h-full w-full items-center justify-center py-6\"\n variant=\"body2\"\n >\n {t(\"neetoGithub.noRepos\")}\n </Typography>\n )}\n </div>\n ) : (\n <NoRepositories {...{ installationUrl, troubleshootUrl }} />\n )}\n </div>\n )\n);\n\nexport default List;\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { isMetaKeyPressed } from \"neetocommons/v2/react-utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst NotConnected = ({ installationUrl }) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const { t } = useTranslation();\n\n return (\n <div className=\"flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center\">\n <Typography variant=\"body2\">\n {t(\"neetoGithub.notConnectedDescription\", {\n appName: globalProps.appName,\n })}\n </Typography>\n <Button\n label={t(\"neetoGithub.connectGithub\")}\n loading={isLoading}\n variant=\"default\"\n onClick={event => {\n setIsLoading(true);\n const target = isMetaKeyPressed(event) ? \"_blank\" : \"_self\";\n window.open(installationUrl, target);\n }}\n />\n </div>\n );\n};\n\nexport default NotConnected;\n","import { useState } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { useTranslation } from \"react-i18next\";\n\nimport List from \"./List\";\nimport NotConnected from \"./NotConnected\";\n\nconst Private = ({\n isConnected,\n isConnecting,\n repositories,\n onConnect,\n installationUrl,\n troubleshootUrl,\n isPane,\n}) => {\n const { t } = useTranslation();\n\n const [filteredRepositories, setFilteredRepositories] =\n useState(repositories);\n\n const onSearch = searchTerm => {\n if (!isPresent(searchTerm)) {\n setFilteredRepositories(repositories);\n\n return;\n }\n\n const filteredRepositories = repositories.filter(({ fullName }) =>\n fullName.toLowerCase().includes(searchTerm.toLowerCase())\n );\n setFilteredRepositories(filteredRepositories);\n };\n\n const searchRow = isPresent(repositories) && (\n <div\n className={classnames(\"flex w-full items-center gap-3\", {\n \"border-border border-b p-3\": isPane,\n })}\n >\n <Search {...{ onSearch }} className=\"flex-1\" unlimitedChars={false} />\n <Typography className=\"whitespace-nowrap\" color=\"muted\" variant=\"body2\">\n {t(\"neetoGithub.countOf.repos\", {\n count: filteredRepositories.length,\n })}\n </Typography>\n </div>\n );\n\n const listElement = (\n <List\n {...{\n filteredRepositories,\n installationUrl,\n isConnecting,\n isPane,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n );\n\n return (\n <div className=\"connect-repo flex h-full flex-col\">\n {isConnected ? (\n isPane ? (\n <div className=\"border-border flex max-h-[60vh] flex-col overflow-hidden rounded-md border\">\n {searchRow}\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{listElement}</div>\n </div>\n ) : (\n <>\n <div className=\"space-y-3 p-4 md:p-6\">\n <Typography\n as=\"h2\"\n className=\"shrink-0\"\n variant=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoGithub.connectARepo\")}\n </Typography>\n {searchRow}\n </div>\n <div className=\"flex min-h-0 w-full grow flex-col space-y-6\">\n {listElement}\n </div>\n </>\n )\n ) : (\n <div className=\"text-foreground grow\">\n <div className=\"flex h-full flex-col items-center justify-center p-4\">\n <NotConnected {...{ installationUrl }} />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Private;\n","import classnames from \"classnames\";\n\nimport Private from \"./Private\";\n\nconst Repositories = ({\n isConnected,\n isConnecting,\n repositories,\n onConnect,\n installationUrl,\n troubleshootUrl,\n isPane,\n}) => (\n <div\n className={classnames(\n \"flex h-full w-full flex-col space-y-6 overflow-hidden\",\n {\n \"order-2\": isPane,\n \"border-border order-1 rounded-md border border-solid\": !isPane,\n }\n )}\n >\n <Private\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n isPane,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n);\n\nexport default Repositories;\n","import { Spinner } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\n\nimport { useFetchGithubRepositories } from \"hooks/reactQuery/useGithubAccountsApi\";\nimport Accounts from \"v2/components/commons/Accounts\";\nimport Repositories from \"v2/components/commons/Repositories\";\n\nconst NeetoGithubNanoContainer = ({\n isPaneLoading = false,\n shouldFetchRepositories = true,\n paneAccounts = [],\n installationUrl,\n isConnected,\n isConnecting = false,\n onConnect,\n paneRepositories = [],\n troubleshootUrl,\n isPane = false,\n}) => {\n const {\n data: {\n repositories: containerRepositories = [],\n accounts: containerAccounts = [],\n } = {},\n isLoading: isContainerLoading,\n } = useFetchGithubRepositories({\n isConnected: shouldFetchRepositories && globalProps.isGithubIntegrated,\n });\n\n const repositories = shouldFetchRepositories\n ? containerRepositories\n : paneRepositories;\n const accounts = shouldFetchRepositories ? containerAccounts : paneAccounts;\n\n const isLoading = shouldFetchRepositories\n ? isContainerLoading\n : isPaneLoading;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"flex min-h-0 w-full grow flex-col\", {\n \"flex-col\": isPane,\n \"gap-3 md:flex-row md:gap-6\": !isPane,\n })}\n >\n <Accounts\n {...{ accounts, installationUrl, isConnected, isPane, onConnect }}\n />\n <Repositories\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n isPane,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n );\n};\n\nexport default NeetoGithubNanoContainer;\n"],"names":["Configure","withT","_ref","t","isConnected","installationUrl","_jsx","className","children","Button","href","icon","Settings","Plus","iconPosition","size","variant","Header","_jsxs","Github","Typography","weight","List","accounts","map","_ref2","id","name","avatarUrl","type","profileUrl","count","Building","Avatar","user","imageUrl","label","concat","rel","target","color","PaneAccounts","Accounts","_ref3","isPane","onConnect","classnames","NoRepositories","troubleshootUrl","Trans","i18nKey","components","troubleshootLink","RepositoryTile","isConnecting","repository","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","fullName","isPrivate","updatedAt","displayName","includes","split","pop","Lock","DateFormat","FromNow","date","disabled","loading","onClick","repoType","filteredRepositories","repositories","isPresent","_createElement","key","NotConnected","appName","globalProps","event","isMetaKeyPressed","window","open","Private","setFilteredRepositories","onSearch","searchTerm","filter","toLowerCase","searchRow","Search","unlimitedChars","length","listElement","_Fragment","as","Repositories","NeetoGithubNanoContainer","_ref$isPaneLoading","isPaneLoading","_ref$shouldFetchRepos","shouldFetchRepositories","_ref$paneAccounts","paneAccounts","_ref$isConnecting","_ref$paneRepositories","paneRepositories","_ref$isPane","_useFetchGithubReposi","useFetchGithubRepositories","isGithubIntegrated","_useFetchGithubReposi2","data","_useFetchGithubReposi3","_useFetchGithubReposi4","containerRepositories","_useFetchGithubReposi5","containerAccounts","isContainerLoading","Spinner","classNames"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,SAAS,GAAGC,gBAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,eAAe,GAAAH,IAAA,CAAfG,eAAe;AAAA,EAAA,oBACxDC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;IAAAC,QAAA,eACvBF,cAAA,CAACG,iBAAM,EAAA;AACLC,MAAAA,IAAI,EAAEL,eAAgB;AACtBM,MAAAA,IAAI,EAAEP,WAAW,GAAGQ,QAAQ,GAAGC,IAAK;AACpCC,MAAAA,YAAY,EAAC,MAAM;AACnBC,MAAAA,IAAI,EAAC,IAAI;AACTC,MAAAA,OAAO,EAAC,MAAM;MAAAR,QAAA,EAEbJ,WAAW,GAAGD,CAAC,CAAC,uBAAuB,CAAC,GAAGA,CAAC,CAAC,qBAAqB;KAC7D;AAAC,GACN,CAAC;AAAA,CACP,CAAC;;ACZF,IAAMc,MAAM,GAAGhB,gBAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;AAAA,EAAA,oBACvBe,eAAA,CAAA,KAAA,EAAA;AAAKX,IAAAA,SAAS,EAAC,kDAAkD;IAAAC,QAAA,EAAA,cAC/DF,cAAA,CAACa,MAAM,EAAA;AAACJ,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC,eACpBT,cAAA,CAACc,qBAAU,EAAA;AAACJ,MAAAA,OAAO,EAAC,IAAI;AAACK,MAAAA,MAAM,EAAC,QAAQ;MAAAb,QAAA,EACrCL,CAAC,CAAC,oBAAoB;AAAC,KACd,CAAC;AAAA,GACV,CAAC;AAAA,CACP,CAAC;;ACLF,IAAMmB,MAAI,GAAGrB,gBAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEoB,QAAQ,GAAArB,IAAA,CAARqB,QAAQ;IAAEnB,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,eAAe,GAAAH,IAAA,CAAfG,eAAe;AAAA,EAAA,oBAC7Da,eAAA,CAAA,KAAA,EAAA;AAAKX,IAAAA,SAAS,EAAC,sEAAsE;AAAAC,IAAAA,QAAA,gBACnFF,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,+BAA+B;AAAAC,MAAAA,QAAA,EAC3Ce,QAAQ,CAACC,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,QAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;UAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;UAAEC,SAAS,GAAAH,KAAA,CAATG,SAAS;UAAEC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;UAAEC,UAAU,GAAAL,KAAA,CAAVK,UAAU;UAAEC,KAAK,GAAAN,KAAA,CAALM,KAAK;AAAA,QAAA,oBAC3Db,eAAA,CAAA,KAAA,EAAA;AAAKX,UAAAA,SAAS,EAAC,6BAA6B;AAAAC,UAAAA,QAAA,gBAC1CU,eAAA,CAAA,KAAA,EAAA;AAAKX,YAAAA,SAAS,EAAC,yBAAyB;AAAAC,YAAAA,QAAA,GACrCqB,IAAI,KAAK,cAAc,gBACtBvB,cAAA,CAAC0B,QAAQ,EAAA;AAACzB,cAAAA,SAAS,EAAC,uBAAuB;AAACQ,cAAAA,IAAI,EAAE;AAAG,aAAE,CAAC,gBAExDT,cAAA,CAAC2B,iBAAM,EAAA;AAAClB,cAAAA,IAAI,EAAC,IAAI;AAACmB,cAAAA,IAAI,EAAE;AAAEC,gBAAAA,QAAQ,EAAEP;AAAU;AAAE,aAAE,CACnD,eACDtB,cAAA,CAACG,iBAAM,EAAA;AACLC,cAAAA,IAAI,EAAEoB,UAAW;AACjBM,cAAAA,KAAK,EAAA,GAAA,CAAAC,MAAA,CAAMV,IAAI,CAAG;AAClBW,cAAAA,GAAG,EAAC,qBAAqB;AACzBC,cAAAA,MAAM,EAAC,QAAQ;AACfvB,cAAAA,OAAO,EAAC;AAAM,aACf,CAAC;WACC,CAAC,eACNV,cAAA,CAAA,MAAA,EAAA;AAAMC,YAAAA,SAAS,EAAC;AAA0C,WAAE,CAAC,eAC7DD,cAAA,CAACc,qBAAU,EAAA;AAACoB,YAAAA,KAAK,EAAC,OAAO;AAACxB,YAAAA,OAAO,EAAC,OAAO;AAAAR,YAAAA,QAAA,EACtCL,CAAC,CAAC,2BAA2B,EAAE;AAAE4B,cAAAA,KAAK,EAALA;aAAO;AAAC,WAChC,CAAC;AAAA,SAAA,EAlBmCL,EAmB7C,CAAC;MAAA,CACP;AAAC,KACC,CAAC,eACNpB,cAAA,CAACN,SAAS,EAAA;AAAOK,MAAAA,eAAe,EAAfA,eAAe;AAAED,MAAAA,WAAW,EAAXA;AAAW,KAAK,CAAC;AAAA,GAChD,CAAC;AAAA,CACP,CAAC;;AC1BF,IAAMqC,YAAY,GAAG,SAAfA,YAAYA,CAAAvC,IAAA,EAAA;AAAA,EAAA,IAAMqB,QAAQ,GAAArB,IAAA,CAARqB,QAAQ;IAAEnB,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,eAAe,GAAAH,IAAA,CAAfG,eAAe;AAAA,EAAA,oBAC5Da,eAAA,CAAA,KAAA,EAAA;AAAKX,IAAAA,SAAS,EAAC,8FAA8F;AAAAC,IAAAA,QAAA,gBAC3GF,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,6CAA6C;AAAAC,MAAAA,QAAA,EACzDe,QAAQ,CAACC,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,QAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;UAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;UAAEC,SAAS,GAAAH,KAAA,CAATG,SAAS;UAAEC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;UAAEC,UAAU,GAAAL,KAAA,CAAVK,UAAU;AAAA,QAAA,oBACpDZ,eAAA,CAAA,KAAA,EAAA;AAAKX,UAAAA,SAAS,EAAC,yBAAyB;AAAAC,UAAAA,QAAA,GACrCqB,IAAI,KAAK,cAAc,gBACtBvB,cAAA,CAAC0B,QAAQ,EAAA;AAACzB,YAAAA,SAAS,EAAC,uBAAuB;AAACQ,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC,gBAExDT,cAAA,CAAC2B,iBAAM,EAAA;AAAClB,YAAAA,IAAI,EAAC,IAAI;AAACmB,YAAAA,IAAI,EAAE;AAAEC,cAAAA,QAAQ,EAAEP;AAAU;AAAE,WAAE,CACnD,eACDtB,cAAA,CAACG,iBAAM,EAAA;AACLC,YAAAA,IAAI,EAAEoB,UAAW;AACjBM,YAAAA,KAAK,EAAA,GAAA,CAAAC,MAAA,CAAMV,IAAI,CAAG;AAClBW,YAAAA,GAAG,EAAC,qBAAqB;AACzBC,YAAAA,MAAM,EAAC,QAAQ;AACfvB,YAAAA,OAAO,EAAC;AAAM,WACf,CAAC;AAAA,SAAA,EAZ0CU,EAazC,CAAC;MAAA,CACP;AAAC,KACC,CAAC,eACNpB,cAAA,CAACN,SAAS,EAAA;AAAOK,MAAAA,eAAe,EAAfA,eAAe;AAAED,MAAAA,WAAW,EAAXA;AAAW,KAAK,CAAC;AAAA,GAChD,CAAC;AAAA,CACP;AAED,IAAMsC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,KAAA,EAMR;AAAA,EAAA,IALJC,MAAM,GAAAD,KAAA,CAANC,MAAM;IACNrB,QAAQ,GAAAoB,KAAA,CAARpB,QAAQ;IACRnB,WAAW,GAAAuC,KAAA,CAAXvC,WAAW;IACXyC,SAAS,GAAAF,KAAA,CAATE,SAAS;IACTxC,eAAe,GAAAsC,KAAA,CAAftC,eAAe;AAEf,EAAA,IAAIuC,MAAM,EAAE;AACV,IAAA,IAAI,CAACxC,WAAW,EAAE,OAAO,IAAI;AAE7B,IAAA,oBACEE,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,8BAA8B;MAAAC,QAAA,eAC3CF,cAAA,CAACmC,YAAY,EAAA;AAAOlB,QAAAA,QAAQ,EAARA,QAAQ;AAAElB,QAAAA,eAAe,EAAfA,eAAe;AAAED,QAAAA,WAAW,EAAXA;OAAgB;AAAC,KAC7D,CAAC;AAEV,EAAA;AAEA,EAAA,oBACEE,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEuC,UAAU,CACnB,kEAAkE,EAClE,4CACF,CAAE;AAAAtC,IAAAA,QAAA,eAEFU,eAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,MAAM;MAAAC,QAAA,EAAA,cACnBF,cAAA,CAACW,MAAM,IAAE,CAAC,eACVX,cAAA,CAACgB,MAAI,EAAA;AACGC,QAAAA,QAAQ,EAARA,QAAQ;AAAElB,QAAAA,eAAe,EAAfA,eAAe;AAAED,QAAAA,WAAW,EAAXA,WAAW;AAAEwC,QAAAA,MAAM,EAANA,MAAM;AAAEC,QAAAA,SAAS,EAATA;AAAS,OAChE,CAAC;KACC;AAAC,GACH,CAAC;AAEV,CAAC;;AC5DD,IAAME,cAAc,GAAG9C,gBAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEE,eAAe,GAAAH,IAAA,CAAfG,eAAe;IAAE2C,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;AAAA,EAAA,oBACjE1C,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uCAAuC;AAAAC,IAAAA,QAAA,eACpDU,eAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,8FAA8F;MAAAC,QAAA,EAAA,cAC3GF,cAAA,CAACc,qBAAU,EAAA;AAACJ,QAAAA,OAAO,EAAC,OAAO;QAAAR,QAAA,EACxBL,CAAC,CAAC,gCAAgC;AAAC,OAC1B,CAAC,eACbG,cAAA,CAACG,iBAAM,EAAA;AACLC,QAAAA,IAAI,EAAEL,eAAgB;AACtB+B,QAAAA,KAAK,EAAEjC,CAAC,CAAC,+BAA+B,CAAE;AAC1Ca,QAAAA,OAAO,EAAC;AAAS,OAClB,CAAC,eACFV,cAAA,CAACc,qBAAU,EAAA;AAACJ,QAAAA,OAAO,EAAC,SAAS;QAAAR,QAAA,eAC3BF,cAAA,CAAC2C,kBAAK,EAAA;AACJC,UAAAA,OAAO,EAAE/C,CAAC,CAAC,0BAA0B,CAAE;AACvCgD,UAAAA,UAAU,EAAE;YACVC,gBAAgB,eACd9C,cAAA,CAACG,iBAAM,EAAA;AACLC,cAAAA,IAAI,EAAEsC,eAAgB;AACtBV,cAAAA,GAAG,EAAC,qBAAqB;AACzBC,cAAAA,MAAM,EAAC,QAAQ;AACfvB,cAAAA,OAAO,EAAC;aACT;AAEL;SACD;AAAC,OACQ,CAAC;KACV;AAAC,GACH,CAAC;AAAA,CACP,CAAC;;ACrBF,IAAMqC,cAAc,GAAG,SAAjBA,cAAcA,CAAAnD,IAAA,EAAwD;AAAA,EAAA,IAAlDoD,YAAY,GAAApD,IAAA,CAAZoD,YAAY;IAAEV,MAAM,GAAA1C,IAAA,CAAN0C,MAAM;IAAEC,SAAS,GAAA3C,IAAA,CAAT2C,SAAS;IAAEU,UAAU,GAAArD,IAAA,CAAVqD,UAAU;AACnE,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBtD,CAAC,GAAAqD,eAAA,CAADrD,CAAC;AAET,EAAA,IAAAuD,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAQlC,EAAE,GAAqC6B,UAAU,CAAjD7B,EAAE;IAAEsC,QAAQ,GAA2BT,UAAU,CAA7CS,QAAQ;IAAEC,SAAS,GAAgBV,UAAU,CAAnCU,SAAS;IAAEC,SAAS,GAAKX,UAAU,CAAxBW,SAAS;EAE1C,IAAMC,WAAW,GACfvB,MAAM,IAAIoB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAEI,QAAQ,CAAC,GAAG,CAAC,GAAGJ,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,GAAGN,QAAQ;AAE1E,EAAA,oBACE9C,eAAA,CAAA,KAAA,EAAA;AACEX,IAAAA,SAAS,EAAC,8JAA8J;AAAAC,IAAAA,QAAA,gBAGxKU,eAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,wDAAwD;MAAAC,QAAA,EAAA,cACrEF,cAAA,CAACa,MAAM,EAAA;AAACZ,QAAAA,SAAS,EAAC,UAAU;AAACQ,QAAAA,IAAI,EAAE;AAAG,OAAE,CAAC,eACzCT,cAAA,CAACc,qBAAU,EAAA;AAACb,QAAAA,SAAS,EAAC,UAAU;AAACS,QAAAA,OAAO,EAAC,OAAO;AAAAR,QAAAA,QAAA,EAC7C2D;AAAW,OACF,CAAC,EACZF,SAAS,iBAAI3D,cAAA,CAACiE,IAAI,EAAA;AAAChE,QAAAA,SAAS,EAAC,UAAU;AAACQ,QAAAA,IAAI,EAAE;OAAK,CAAC,eACrDG,eAAA,CAAA,KAAA,EAAA;AAAKX,QAAAA,SAAS,EAAC,qEAAqE;AAAAC,QAAAA,QAAA,gBAClFF,cAAA,CAAA,MAAA,EAAA;AAAMC,UAAAA,SAAS,EAAC;AAA0C,SAAE,CAAC,eAC7DD,cAAA,CAACc,qBAAU,EAAA;AAACoB,UAAAA,KAAK,EAAC,OAAO;AAACxB,UAAAA,OAAO,EAAC,SAAS;AAAAR,UAAAA,QAAA,eACzCF,cAAA,CAACkE,UAAU,CAACC,OAAO,EAAA;AAACC,YAAAA,IAAI,EAAER;WAAY;AAAC,SAC7B,CAAC;AAAA,OACV,CAAC;AAAA,KACH,CAAC,eACN5D,cAAA,CAACG,iBAAM,EAAA;AACLF,MAAAA,SAAS,EAAC,OAAO;AACjBoE,MAAAA,QAAQ,EAAErB,YAAa;AACvBsB,MAAAA,OAAO,EAAEd,SAAU;AACnB/C,MAAAA,IAAI,EAAC,IAAI;AACTc,MAAAA,IAAI,EAAC,QAAQ;AACbb,MAAAA,OAAO,EAAC,SAAS;MACjB6D,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OACLhC,SAAS,CAAC;AAAEiC,UAAAA,QAAQ,EAAE,SAAS;AAAEvB,UAAAA,UAAU,EAAVA,UAAU;AAAEQ,UAAAA,YAAY,EAAZA;AAAa,SAAC,CAAC;MAAA,CAC7D;MAAAvD,QAAA,EAEAL,CAAC,CAAC,qBAAqB;AAAC,KACnB,CAAC;AAAA,GAAA,EA3BJuB,EA4BF,CAAC;AAEV,CAAC;;AC7CD,IAAMJ,IAAI,GAAGrB,gBAAK,CAChB,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEC,CAAC,GAAAD,IAAA,CAADC,CAAC;IACD4E,oBAAoB,GAAA7E,IAAA,CAApB6E,oBAAoB;IACpBC,YAAY,GAAA9E,IAAA,CAAZ8E,YAAY;IACZ1B,YAAY,GAAApD,IAAA,CAAZoD,YAAY;IACZT,SAAS,GAAA3C,IAAA,CAAT2C,SAAS;IACTxC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACf2C,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfJ,MAAM,GAAA1C,IAAA,CAAN0C,MAAM;AAAA,EAAA,oBAENtC,cAAA,CAAA,KAAA,EAAA;IACEC,SAAS,EAAEuC,UAAU,CAAC;AACpB,MAAA,WAAW,EAAEF,MAAM;AACnB,MAAA,kDAAkD,EAAE,CAACA;AACvD,KAAC,CAAE;AAAApC,IAAAA,QAAA,EAEFyE,mBAAS,CAACD,YAAY,CAAC,gBACtB1E,cAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,SAAS,EAAEuC,UAAU,CAAC,sCAAsC,EAAE;AAC5D,QAAA,iCAAiC,EAAE,CAACF;AACtC,OAAC,CAAE;MAAApC,QAAA,EAEFyE,mBAAS,CAACF,oBAAoB,CAAC,GAC9BA,oBAAoB,CAACvD,GAAG,CAAC,UAAA+B,UAAU,EAAA;QAAA,oBACjC2B,mBAAA,CAAC7B,cAAc,EAAA;AACPC,UAAAA,YAAY,EAAZA,YAAY;AAAEV,UAAAA,MAAM,EAANA,MAAM;AAAEC,UAAAA,SAAS,EAATA,SAAS;AAAEU,UAAAA,UAAU,EAAVA,UAAU;UACjD4B,GAAG,EAAE5B,UAAU,CAAC7B;AAAG,SACpB,CAAC;AAAA,MAAA,CACH,CAAC,gBAEFpB,cAAA,CAACc,qBAAU,EAAA;AACTb,QAAAA,SAAS,EAAC,qDAAqD;AAC/DS,QAAAA,OAAO,EAAC,OAAO;QAAAR,QAAA,EAEdL,CAAC,CAAC,qBAAqB;OACd;AACb,KACE,CAAC,gBAENG,cAAA,CAACyC,cAAc,EAAA;AAAO1C,MAAAA,eAAe,EAAfA,eAAe;AAAE2C,MAAAA,eAAe,EAAfA;KAAoB;AAC5D,GACE,CAAC;AAAA,CAEV,CAAC;;AC7CD,IAAMoC,YAAY,GAAG,SAAfA,YAAYA,CAAAlF,IAAA,EAA4B;AAAA,EAAA,IAAtBG,eAAe,GAAAH,IAAA,CAAfG,eAAe;AACrC,EAAA,IAAAqD,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAAJ,eAAA,GAAcC,2BAAc,EAAE;IAAtBtD,CAAC,GAAAqD,eAAA,CAADrD,CAAC;AAET,EAAA,oBACEe,eAAA,CAAA,KAAA,EAAA;AAAKX,IAAAA,SAAS,EAAC,iFAAiF;IAAAC,QAAA,EAAA,cAC9FF,cAAA,CAACc,qBAAU,EAAA;AAACJ,MAAAA,OAAO,EAAC,OAAO;AAAAR,MAAAA,QAAA,EACxBL,CAAC,CAAC,qCAAqC,EAAE;QACxCkF,OAAO,EAAEC,wBAAW,CAACD;OACtB;AAAC,KACQ,CAAC,eACb/E,cAAA,CAACG,iBAAM,EAAA;AACL2B,MAAAA,KAAK,EAAEjC,CAAC,CAAC,2BAA2B,CAAE;AACtCyE,MAAAA,OAAO,EAAEd,SAAU;AACnB9C,MAAAA,OAAO,EAAC,SAAS;AACjB6D,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEU,KAAK,EAAI;QAChBxB,YAAY,CAAC,IAAI,CAAC;QAClB,IAAMxB,MAAM,GAAGiD,2BAAgB,CAACD,KAAK,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC3DE,QAAAA,MAAM,CAACC,IAAI,CAACrF,eAAe,EAAEkC,MAAM,CAAC;AACtC,MAAA;AAAE,KACH,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;;ACpBD,IAAMoD,OAAO,GAAG,SAAVA,OAAOA,CAAAzF,IAAA,EAQP;AAAA,EAAA,IAPJE,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXkD,YAAY,GAAApD,IAAA,CAAZoD,YAAY;IACZ0B,YAAY,GAAA9E,IAAA,CAAZ8E,YAAY;IACZnC,SAAS,GAAA3C,IAAA,CAAT2C,SAAS;IACTxC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACf2C,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfJ,MAAM,GAAA1C,IAAA,CAAN0C,MAAM;AAEN,EAAA,IAAAY,eAAA,GAAcC,2BAAc,EAAE;IAAtBtD,CAAC,GAAAqD,eAAA,CAADrD,CAAC;AAET,EAAA,IAAAuD,SAAA,GACEC,cAAQ,CAACqB,YAAY,CAAC;IAAApB,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADjBqB,IAAAA,oBAAoB,GAAAnB,UAAA,CAAA,CAAA,CAAA;AAAEgC,IAAAA,uBAAuB,GAAAhC,UAAA,CAAA,CAAA,CAAA;AAGpD,EAAA,IAAMiC,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,UAAU,EAAI;AAC7B,IAAA,IAAI,CAACb,mBAAS,CAACa,UAAU,CAAC,EAAE;MAC1BF,uBAAuB,CAACZ,YAAY,CAAC;AAErC,MAAA;AACF,IAAA;AAEA,IAAA,IAAMD,oBAAoB,GAAGC,YAAY,CAACe,MAAM,CAAC,UAAAtE,KAAA,EAAA;AAAA,MAAA,IAAGuC,QAAQ,GAAAvC,KAAA,CAARuC,QAAQ;AAAA,MAAA,OAC1DA,QAAQ,CAACgC,WAAW,EAAE,CAAC5B,QAAQ,CAAC0B,UAAU,CAACE,WAAW,EAAE,CAAC;AAAA,IAAA,CAC3D,CAAC;IACDJ,uBAAuB,CAACb,oBAAoB,CAAC;EAC/C,CAAC;AAED,EAAA,IAAMkB,SAAS,GAAGhB,mBAAS,CAACD,YAAY,CAAC,iBACvC9D,eAAA,CAAA,KAAA,EAAA;AACEX,IAAAA,SAAS,EAAEuC,UAAU,CAAC,gCAAgC,EAAE;AACtD,MAAA,4BAA4B,EAAEF;AAChC,KAAC,CAAE;IAAApC,QAAA,EAAA,cAEHF,cAAA,CAAC4F,MAAM,EAAA;AAAOL,MAAAA,QAAQ,EAARA,QAAQ;AAAItF,MAAAA,SAAS,EAAC,QAAQ;AAAC4F,MAAAA,cAAc,EAAE;AAAM,KAAE,CAAC,eACtE7F,cAAA,CAACc,qBAAU,EAAA;AAACb,MAAAA,SAAS,EAAC,mBAAmB;AAACiC,MAAAA,KAAK,EAAC,OAAO;AAACxB,MAAAA,OAAO,EAAC,OAAO;AAAAR,MAAAA,QAAA,EACpEL,CAAC,CAAC,2BAA2B,EAAE;QAC9B4B,KAAK,EAAEgD,oBAAoB,CAACqB;OAC7B;AAAC,KACQ,CAAC;AAAA,GACV,CACN;AAED,EAAA,IAAMC,WAAW,gBACf/F,cAAA,CAACgB,IAAI,EAAA;AAEDyD,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpB1E,IAAAA,eAAe,EAAfA,eAAe;AACfiD,IAAAA,YAAY,EAAZA,YAAY;AACZV,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,SAAS,EAATA,SAAS;AACTmC,IAAAA,YAAY,EAAZA,YAAY;AACZhC,IAAAA,eAAe,EAAfA;AAAe,GAElB,CACF;AAED,EAAA,oBACE1C,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,mCAAmC;AAAAC,IAAAA,QAAA,EAC/CJ,WAAW,GACVwC,MAAM,gBACJ1B,eAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,4EAA4E;MAAAC,QAAA,EAAA,CACxFyF,SAAS,eACV3F,cAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,gCAAgC;AAAAC,QAAAA,QAAA,EAAE6F;AAAW,OAAM,CAAC;AAAA,KAChE,CAAC,gBAENnF,eAAA,CAAAoF,mBAAA,EAAA;AAAA9F,MAAAA,QAAA,gBACEU,eAAA,CAAA,KAAA,EAAA;AAAKX,QAAAA,SAAS,EAAC,sBAAsB;QAAAC,QAAA,EAAA,cACnCF,cAAA,CAACc,qBAAU,EAAA;AACTmF,UAAAA,EAAE,EAAC,IAAI;AACPhG,UAAAA,SAAS,EAAC,UAAU;AACpBS,UAAAA,OAAO,EAAC,IAAI;AACZK,UAAAA,MAAM,EAAC,QAAQ;UAAAb,QAAA,EAEdL,CAAC,CAAC,0BAA0B;SACnB,CAAC,EACZ8F,SAAS;OACP,CAAC,eACN3F,cAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,6CAA6C;AAAAC,QAAAA,QAAA,EACzD6F;AAAW,OACT,CAAC;KACN,CACH,gBAED/F,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,sBAAsB;AAAAC,MAAAA,QAAA,eACnCF,cAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,sDAAsD;QAAAC,QAAA,eACnEF,cAAA,CAAC8E,YAAY,EAAA;AAAO/E,UAAAA,eAAe,EAAfA;SAAoB;OACrC;KACF;AACN,GACE,CAAC;AAEV,CAAC;;AClGD,IAAMmG,YAAY,GAAG,SAAfA,YAAYA,CAAAtG,IAAA,EAAA;AAAA,EAAA,IAChBE,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXkD,YAAY,GAAApD,IAAA,CAAZoD,YAAY;IACZ0B,YAAY,GAAA9E,IAAA,CAAZ8E,YAAY;IACZnC,SAAS,GAAA3C,IAAA,CAAT2C,SAAS;IACTxC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACf2C,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfJ,MAAM,GAAA1C,IAAA,CAAN0C,MAAM;AAAA,EAAA,oBAENtC,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEuC,UAAU,CACnB,uDAAuD,EACvD;AACE,MAAA,SAAS,EAAEF,MAAM;AACjB,MAAA,sDAAsD,EAAE,CAACA;AAC3D,KACF,CAAE;IAAApC,QAAA,eAEFF,cAAA,CAACqF,OAAO,EAAA;AAEJtF,MAAAA,eAAe,EAAfA,eAAe;AACfD,MAAAA,WAAW,EAAXA,WAAW;AACXkD,MAAAA,YAAY,EAAZA,YAAY;AACZV,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,SAAS,EAATA,SAAS;AACTmC,MAAAA,YAAY,EAAZA,YAAY;AACZhC,MAAAA,eAAe,EAAfA;KAEH;AAAC,GACC,CAAC;AAAA,CACP;;AC1BD,IAAMyD,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAvG,IAAA,EAWxB;AAAA,EAAA,IAAAwG,kBAAA,GAAAxG,IAAA,CAVJyG,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;IAAAE,qBAAA,GAAA1G,IAAA,CACrB2G,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,iBAAA,GAAA5G,IAAA,CAC9B6G,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IACjBzG,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfD,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAA4G,iBAAA,GAAA9G,IAAA,CACXoD,YAAY;AAAZA,IAAAA,YAAY,GAAA0D,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IACpBnE,SAAS,GAAA3C,IAAA,CAAT2C,SAAS;IAAAoE,qBAAA,GAAA/G,IAAA,CACTgH,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACrBjE,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IAAAmE,WAAA,GAAAjH,IAAA,CACf0C,MAAM;AAANA,IAAAA,MAAM,GAAAuE,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;EAEd,IAAAC,qBAAA,GAMIC,+CAA0B,CAAC;AAC7BjH,MAAAA,WAAW,EAAEyG,uBAAuB,IAAIvB,wBAAW,CAACgC;AACtD,KAAC,CAAC;IAAAC,sBAAA,GAAAH,qBAAA,CAPAI,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,sBAAA,KAAA,MAAA,GAGA,EAAE,GAAAA,sBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAFJzC,YAAY;AAAE2C,IAAAA,qBAAqB,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CACxClG,QAAQ;AAAEsG,IAAAA,iBAAiB,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAEvBE,kBAAkB,GAAAV,qBAAA,CAA7BtD,SAAS;AAKX,EAAA,IAAMkB,YAAY,GAAG6B,uBAAuB,GACxCc,qBAAqB,GACrBT,gBAAgB;AACpB,EAAA,IAAM3F,QAAQ,GAAGsF,uBAAuB,GAAGgB,iBAAiB,GAAGd,YAAY;AAE3E,EAAA,IAAMjD,SAAS,GAAG+C,uBAAuB,GACrCiB,kBAAkB,GAClBnB,aAAa;AAEjB,EAAA,IAAI7C,SAAS,EAAE;AACb,IAAA,oBACExD,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DF,cAAA,CAACyH,kBAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;AAEA,EAAA,oBACE7G,eAAA,CAAA,KAAA,EAAA;AACEX,IAAAA,SAAS,EAAEyH,UAAU,CAAC,mCAAmC,EAAE;AACzD,MAAA,UAAU,EAAEpF,MAAM;AAClB,MAAA,4BAA4B,EAAE,CAACA;AACjC,KAAC,CAAE;IAAApC,QAAA,EAAA,cAEHF,cAAA,CAACoC,QAAQ,EAAA;AACDnB,MAAAA,QAAQ,EAARA,QAAQ;AAAElB,MAAAA,eAAe,EAAfA,eAAe;AAAED,MAAAA,WAAW,EAAXA,WAAW;AAAEwC,MAAAA,MAAM,EAANA,MAAM;AAAEC,MAAAA,SAAS,EAATA;AAAS,KAChE,CAAC,eACFvC,cAAA,CAACkG,YAAY,EAAA;AAETnG,MAAAA,eAAe,EAAfA,eAAe;AACfD,MAAAA,WAAW,EAAXA,WAAW;AACXkD,MAAAA,YAAY,EAAZA,YAAY;AACZV,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,SAAS,EAATA,SAAS;AACTmC,MAAAA,YAAY,EAAZA,YAAY;AACZhC,MAAAA,eAAe,EAAfA;AAAe,KAElB,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
|