@bigbinary/neeto-github-frontend 1.0.7 → 1.0.8

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/dist/index.js CHANGED
@@ -1,105 +1,544 @@
1
1
  import React, { useState, useRef } from 'react';
2
- import { isPresent, noop } from '@bigbinary/neeto-cist';
3
- import { Button, Typography, Input, Pane } from '@bigbinary/neetoui';
4
- import { Trans, useTranslation } from 'react-i18next';
5
- import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
6
- import require$$0 from 'util';
7
2
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
8
3
  import { Settings, Plus, Building, User, CannedResponses, Lock } from '@bigbinary/neeto-icons';
4
+ import { Button, Typography, Input, Pane } from '@bigbinary/neetoui';
9
5
  import { Github } from '@bigbinary/neeto-icons/misc';
10
6
  import classNames from 'classnames';
7
+ import { isPresent, noop } from '@bigbinary/neeto-cist';
11
8
  import Search from '@bigbinary/neeto-molecules/Search';
9
+ import { Trans, useTranslation } from 'react-i18next';
12
10
  import Scrollable from '@bigbinary/neeto-molecules/Scrollable';
13
11
  import DateFormat from '@bigbinary/neeto-molecules/DateFormat';
12
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
13
+ import require$$0 from 'util';
14
14
 
15
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
16
-
17
- /* eslint complexity: [2, 18], max-statements: [2, 33] */
18
- var shams = function hasSymbols() {
19
- if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
20
- if (typeof Symbol.iterator === 'symbol') { return true; }
21
-
22
- var obj = {};
23
- var sym = Symbol('test');
24
- var symObj = Object(sym);
25
- if (typeof sym === 'string') { return false; }
26
-
27
- if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
28
- if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
29
-
30
- // temp disabled per https://github.com/ljharb/object.assign/issues/17
31
- // if (sym instanceof Symbol) { return false; }
32
- // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
33
- // if (!(symObj instanceof Symbol)) { return false; }
34
-
35
- // if (typeof Symbol.prototype.toString !== 'function') { return false; }
36
- // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
37
-
38
- var symVal = 42;
39
- obj[sym] = symVal;
40
- for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
41
- if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
42
-
43
- if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
44
-
45
- var syms = Object.getOwnPropertySymbols(obj);
46
- if (syms.length !== 1 || syms[0] !== sym) { return false; }
47
-
48
- if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
49
-
50
- if (typeof Object.getOwnPropertyDescriptor === 'function') {
51
- var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
52
- if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
53
- }
54
-
55
- return true;
56
- };
15
+ var Configure = withT(function (_ref) {
16
+ var t = _ref.t,
17
+ isConnected = _ref.isConnected,
18
+ installationUrl = _ref.installationUrl;
19
+ return /*#__PURE__*/React.createElement("div", {
20
+ className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
21
+ }, /*#__PURE__*/React.createElement(Button, {
22
+ className: "mt-1 text-indigo-600 xl:mt-3",
23
+ href: installationUrl,
24
+ icon: isConnected ? Settings : Plus,
25
+ iconPosition: "left",
26
+ iconSize: 20,
27
+ size: "small",
28
+ style: "text"
29
+ }, isConnected ? t("neetoGithub.configureAccount") : t("neetoGithub.connectAccount")));
30
+ });
57
31
 
58
- var origSymbol = typeof Symbol !== 'undefined' && Symbol;
59
- var hasSymbolSham = shams;
32
+ var Header = withT(function (_ref) {
33
+ var t = _ref.t;
34
+ return /*#__PURE__*/React.createElement("div", {
35
+ 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"
36
+ }, /*#__PURE__*/React.createElement(Github, {
37
+ size: 16
38
+ }), /*#__PURE__*/React.createElement(Typography, {
39
+ style: "h4"
40
+ }, t("neetoGithub.github")));
41
+ });
60
42
 
61
- var hasSymbols$1 = function hasNativeSymbols() {
62
- if (typeof origSymbol !== 'function') { return false; }
63
- if (typeof Symbol !== 'function') { return false; }
64
- if (typeof origSymbol('foo') !== 'symbol') { return false; }
65
- if (typeof Symbol('bar') !== 'symbol') { return false; }
43
+ var List$1 = withT(function (_ref) {
44
+ var t = _ref.t,
45
+ accounts = _ref.accounts;
46
+ return accounts.map(function (_ref2) {
47
+ var id = _ref2.id,
48
+ name = _ref2.name,
49
+ avatarUrl = _ref2.avatarUrl,
50
+ type = _ref2.type,
51
+ profileUrl = _ref2.profileUrl,
52
+ count = _ref2.count;
53
+ return /*#__PURE__*/React.createElement("div", {
54
+ className: "neeto-ui-border-gray-300 flex w-full items-center space-x-2 border-b border-l-0 border-r-0 border-t-0 border-solid p-2",
55
+ key: id
56
+ }, type === "Organization" ? /*#__PURE__*/React.createElement(Building, {
57
+ className: "neeto-ui-text-gray-600",
58
+ size: 16
59
+ }) : /*#__PURE__*/React.createElement(User, {
60
+ className: "neeto-ui-text-gray-600",
61
+ size: 16
62
+ }), /*#__PURE__*/React.createElement(Typography, {
63
+ className: "neeto-ui-text-gray-900",
64
+ style: "body2"
65
+ }, "@", name), /*#__PURE__*/React.createElement("img", {
66
+ alt: name,
67
+ className: "neeto-ui-rounded-full h-4 w-4",
68
+ src: avatarUrl
69
+ }), /*#__PURE__*/React.createElement(Button, {
70
+ className: "text-indigo-600",
71
+ icon: CannedResponses,
72
+ iconPosition: "left",
73
+ iconSize: 16,
74
+ size: "small",
75
+ style: "text",
76
+ onClick: function onClick() {
77
+ return window.open(profileUrl, "_blank");
78
+ }
79
+ }), /*#__PURE__*/React.createElement(Typography, {
80
+ className: "neeto-ui-text-gray-900 mx-2 text-sm",
81
+ component: "span",
82
+ style: "h3"
83
+ }, "\u2022"), /*#__PURE__*/React.createElement(Typography, {
84
+ style: "body2"
85
+ }, t("neetoGithub.countOf.repos", {
86
+ count: count
87
+ })));
88
+ });
89
+ });
66
90
 
67
- return hasSymbolSham();
91
+ var Accounts = function Accounts(_ref) {
92
+ var isPane = _ref.isPane,
93
+ accounts = _ref.accounts,
94
+ isConnected = _ref.isConnected,
95
+ onConnect = _ref.onConnect,
96
+ installationUrl = _ref.installationUrl;
97
+ return /*#__PURE__*/React.createElement("div", {
98
+ className: classNames("flex w-full flex-col border border-solid border-transparent px-0 py-2", {
99
+ "2xl:max-w-sm 2xl:px-8": isPane,
100
+ "xl:max-w-sm xl:px-8": !isPane
101
+ })
102
+ }, /*#__PURE__*/React.createElement("div", {
103
+ className: "mb-2"
104
+ }, /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(List$1, {
105
+ accounts: accounts,
106
+ isConnected: isConnected
107
+ }), /*#__PURE__*/React.createElement(Configure, {
108
+ installationUrl: installationUrl,
109
+ isConnected: isConnected,
110
+ onConnect: onConnect
111
+ })));
68
112
  };
69
113
 
70
- var test = {
71
- foo: {}
72
- };
114
+ function _arrayWithHoles(arr) {
115
+ if (Array.isArray(arr)) return arr;
116
+ }
73
117
 
74
- var $Object = Object;
118
+ function _iterableToArrayLimit(arr, i) {
119
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
120
+ if (null != _i) {
121
+ var _s,
122
+ _e,
123
+ _x,
124
+ _r,
125
+ _arr = [],
126
+ _n = !0,
127
+ _d = !1;
128
+ try {
129
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
130
+ if (Object(_i) !== _i) return;
131
+ _n = !1;
132
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
133
+ } catch (err) {
134
+ _d = !0, _e = err;
135
+ } finally {
136
+ try {
137
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
138
+ } finally {
139
+ if (_d) throw _e;
140
+ }
141
+ }
142
+ return _arr;
143
+ }
144
+ }
75
145
 
76
- var hasProto$1 = function hasProto() {
77
- return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
78
- };
146
+ function _arrayLikeToArray(arr, len) {
147
+ if (len == null || len > arr.length) len = arr.length;
148
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
149
+ return arr2;
150
+ }
79
151
 
80
- /* eslint no-invalid-this: 1 */
152
+ function _unsupportedIterableToArray(o, minLen) {
153
+ if (!o) return;
154
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
155
+ var n = Object.prototype.toString.call(o).slice(8, -1);
156
+ if (n === "Object" && o.constructor) n = o.constructor.name;
157
+ if (n === "Map" || n === "Set") return Array.from(o);
158
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
159
+ }
81
160
 
82
- var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
83
- var toStr$1 = Object.prototype.toString;
84
- var max = Math.max;
85
- var funcType = '[object Function]';
161
+ function _nonIterableRest() {
162
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
163
+ }
86
164
 
87
- var concatty = function concatty(a, b) {
88
- var arr = [];
165
+ function _slicedToArray(arr, i) {
166
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
167
+ }
89
168
 
90
- for (var i = 0; i < a.length; i += 1) {
91
- arr[i] = a[i];
92
- }
93
- for (var j = 0; j < b.length; j += 1) {
94
- arr[j + a.length] = b[j];
169
+ var NoRepositories = withT(function (_ref) {
170
+ var t = _ref.t,
171
+ installationUrl = _ref.installationUrl,
172
+ troubleshootUrl = _ref.troubleshootUrl;
173
+ return /*#__PURE__*/React.createElement("div", {
174
+ className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
175
+ }, /*#__PURE__*/React.createElement(Typography, {
176
+ style: "body2"
177
+ }, t("neetoGithub.noReposDescription")), /*#__PURE__*/React.createElement(Button, {
178
+ href: installationUrl,
179
+ icon: Github,
180
+ iconPosition: "left",
181
+ label: t("neetoGithub.connectRepository"),
182
+ size: "medium",
183
+ style: "primary"
184
+ }), /*#__PURE__*/React.createElement("div", {
185
+ className: "text-xs"
186
+ }, /*#__PURE__*/React.createElement(Trans, {
187
+ i18nKey: "troubleshoot",
188
+ components: {
189
+ troubleshootLink: /*#__PURE__*/React.createElement("a", {
190
+ className: "text-indigo-600 underline",
191
+ href: troubleshootUrl,
192
+ rel: "noopener noreferrer",
193
+ target: "_blank"
194
+ })
95
195
  }
196
+ })));
197
+ });
96
198
 
97
- return arr;
98
- };
99
-
100
- var slicy = function slicy(arrLike, offset) {
101
- var arr = [];
102
- for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
199
+ var RepositoryTile = function RepositoryTile(_ref) {
200
+ var onConnect = _ref.onConnect,
201
+ repository = _ref.repository;
202
+ var _useTranslation = useTranslation(),
203
+ t = _useTranslation.t;
204
+ var id = repository.id,
205
+ fullName = repository.fullName,
206
+ isPrivate = repository.isPrivate,
207
+ updatedAt = repository.updatedAt;
208
+ return /*#__PURE__*/React.createElement("div", {
209
+ className: "neeto-ui-border-gray-300 flex items-center justify-between border-b border-l-0 border-r-0 border-t-0 border-solid py-3 pl-5 pr-3",
210
+ key: id
211
+ }, /*#__PURE__*/React.createElement("div", {
212
+ className: "width-calc flex items-center space-x-2"
213
+ }, /*#__PURE__*/React.createElement(Github, {
214
+ size: 16
215
+ }), /*#__PURE__*/React.createElement(Typography, {
216
+ style: "body2"
217
+ }, fullName), isPrivate && /*#__PURE__*/React.createElement(Lock, {
218
+ size: 16
219
+ }), /*#__PURE__*/React.createElement("div", {
220
+ className: "hidden md:inline-block"
221
+ }, /*#__PURE__*/React.createElement(Typography, {
222
+ className: "neeto-ui-text-gray-900 mx-2 text-sm",
223
+ component: "span",
224
+ style: "h3"
225
+ }, "\u2022"), /*#__PURE__*/React.createElement(DateFormat.FromNow, {
226
+ date: updatedAt
227
+ }))), /*#__PURE__*/React.createElement(Button, {
228
+ style: "primary",
229
+ type: "button",
230
+ onClick: function onClick() {
231
+ return onConnect({
232
+ repoType: "private",
233
+ repository: repository
234
+ });
235
+ }
236
+ }, t("neetoGithub.connect")));
237
+ };
238
+
239
+ var List = withT(function (_ref) {
240
+ var t = _ref.t,
241
+ isPublicRepoAllowed = _ref.isPublicRepoAllowed,
242
+ filteredRepositories = _ref.filteredRepositories,
243
+ repositories = _ref.repositories,
244
+ onConnect = _ref.onConnect,
245
+ installationUrl = _ref.installationUrl,
246
+ troubleshootUrl = _ref.troubleshootUrl;
247
+ return /*#__PURE__*/React.createElement("div", {
248
+ className: classNames("neeto-ui-border-gray-300 neeto-ui-rounded-md m-0 flex flex-col items-center justify-center border border-solid p-0 2xl:h-96", {
249
+ "h-52": isPublicRepoAllowed,
250
+ "h-72": !isPublicRepoAllowed
251
+ })
252
+ }, isPresent(repositories) ? /*#__PURE__*/React.createElement(Scrollable, {
253
+ className: "m-0 h-full w-full overflow-y-scroll p-0 shadow-inner"
254
+ }, isPresent(filteredRepositories) ? filteredRepositories.map(function (repository) {
255
+ return /*#__PURE__*/React.createElement(RepositoryTile, {
256
+ onConnect: onConnect,
257
+ repository: repository
258
+ });
259
+ }) : /*#__PURE__*/React.createElement(Typography, {
260
+ className: "flex h-full w-full items-center justify-center",
261
+ style: "body2"
262
+ }, t("neetoGithub.noRepos"))) : /*#__PURE__*/React.createElement(NoRepositories, {
263
+ installationUrl: installationUrl,
264
+ troubleshootUrl: troubleshootUrl
265
+ }));
266
+ });
267
+
268
+ var NotConnected = withT(function (_ref) {
269
+ var t = _ref.t,
270
+ installationUrl = _ref.installationUrl;
271
+ return /*#__PURE__*/React.createElement("div", {
272
+ className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
273
+ }, /*#__PURE__*/React.createElement(Typography, {
274
+ style: "body2"
275
+ }, t("neetoGithub.notConnectedDescription")), /*#__PURE__*/React.createElement(Button, {
276
+ href: installationUrl,
277
+ icon: Github,
278
+ iconPosition: "left",
279
+ label: t("neetoGithub.connectGithub"),
280
+ size: "medium",
281
+ style: "primary"
282
+ }));
283
+ });
284
+
285
+ var Private = function Private(_ref) {
286
+ var isConnected = _ref.isConnected,
287
+ isPublicRepoAllowed = _ref.isPublicRepoAllowed,
288
+ repositories = _ref.repositories,
289
+ onConnect = _ref.onConnect,
290
+ installationUrl = _ref.installationUrl,
291
+ troubleshootUrl = _ref.troubleshootUrl;
292
+ var _useTranslation = useTranslation(),
293
+ t = _useTranslation.t;
294
+ var _useState = useState(repositories),
295
+ _useState2 = _slicedToArray(_useState, 2),
296
+ filteredRepositories = _useState2[0],
297
+ setFilteredRepositories = _useState2[1];
298
+ var onSearch = function onSearch(searchTerm) {
299
+ if (!isPresent(searchTerm)) {
300
+ setFilteredRepositories(repositories);
301
+ return;
302
+ }
303
+ var filteredRepositories = repositories.filter(function (_ref2) {
304
+ var fullName = _ref2.fullName;
305
+ return fullName.toLowerCase().includes(searchTerm.toLowerCase());
306
+ });
307
+ setFilteredRepositories(filteredRepositories);
308
+ };
309
+ return /*#__PURE__*/React.createElement("div", {
310
+ className: "connect-repo neeto-ui-rounded-md neeto-ui-border-gray-300 border border-solid px-8 py-7"
311
+ }, /*#__PURE__*/React.createElement(Typography, {
312
+ className: "mb-2 pb-5 text-lg font-medium",
313
+ style: "h2"
314
+ }, t("neetoGithub.connectARepo")), isConnected ? /*#__PURE__*/React.createElement("div", {
315
+ className: "flex w-full flex-col space-y-6"
316
+ }, /*#__PURE__*/React.createElement(Search, {
317
+ onSearch: onSearch,
318
+ className: "w-full",
319
+ suffix: /*#__PURE__*/React.createElement(Typography, {
320
+ style: "body2"
321
+ }, t("neetoGithub.countOf.repos", {
322
+ count: filteredRepositories.length
323
+ }))
324
+ }), /*#__PURE__*/React.createElement(List, {
325
+ isPublicRepoAllowed: isPublicRepoAllowed,
326
+ filteredRepositories: filteredRepositories,
327
+ installationUrl: installationUrl,
328
+ onConnect: onConnect,
329
+ repositories: repositories,
330
+ troubleshootUrl: troubleshootUrl
331
+ })) : /*#__PURE__*/React.createElement("div", {
332
+ className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
333
+ }, /*#__PURE__*/React.createElement("div", {
334
+ className: "neeto-ui-rounded-md neeto-ui-border-gray-300 m-0 flex h-[366px] flex-col items-center justify-center border border-solid p-4 shadow-inner"
335
+ }, /*#__PURE__*/React.createElement(NotConnected, {
336
+ installationUrl: installationUrl
337
+ }))));
338
+ };
339
+
340
+ var Public = function Public(_ref) {
341
+ var onConnect = _ref.onConnect;
342
+ var _useTranslation = useTranslation(),
343
+ t = _useTranslation.t;
344
+ var _useState = useState(""),
345
+ _useState2 = _slicedToArray(_useState, 2),
346
+ publicRepoUrl = _useState2[0],
347
+ setPublicRepoUrl = _useState2[1];
348
+ return /*#__PURE__*/React.createElement("div", {
349
+ className: "transition-drop-shadow neeto-ui-border-gray-300 neeto-ui-rounded-md border border-solid px-8 py-7 font-sans transition-colors"
350
+ }, /*#__PURE__*/React.createElement("div", {
351
+ className: "mb-2 pb-5"
352
+ }, /*#__PURE__*/React.createElement("div", {
353
+ className: "flex justify-between"
354
+ }, /*#__PURE__*/React.createElement("div", {
355
+ className: "pr-4"
356
+ }, /*#__PURE__*/React.createElement(Typography, {
357
+ className: "text-lg font-medium",
358
+ style: "h2"
359
+ }, t("neetoGithub.publicGitRepo")), /*#__PURE__*/React.createElement("div", {
360
+ className: "neeto-ui-text-gray-900 mt-2 flex max-w-xl space-x-1 font-sans text-sm font-normal leading-6 antialiased"
361
+ }, /*#__PURE__*/React.createElement(Typography, {
362
+ style: "body2"
363
+ }, t("neetoGithub.publicGitRepoDescription")))))), /*#__PURE__*/React.createElement("div", {
364
+ className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
365
+ }, /*#__PURE__*/React.createElement("div", {
366
+ className: "flex"
367
+ }, /*#__PURE__*/React.createElement("div", {
368
+ className: "z-0 flex-1"
369
+ }, /*#__PURE__*/React.createElement("div", {
370
+ className: "w-full"
371
+ }, /*#__PURE__*/React.createElement(Input, {
372
+ nakedInput: true,
373
+ autocomplete: "false",
374
+ className: "relative rounded-b rounded-l rounded-r-none rounded-t border-b border-l border-r-0 border-t border-solid px-2",
375
+ placeholder: t("neetoGithub.publicGitRepoPlaceholder"),
376
+ size: "large",
377
+ spellcheck: "false",
378
+ type: "text",
379
+ value: publicRepoUrl,
380
+ onChange: function onChange(e) {
381
+ return setPublicRepoUrl(e.target.value);
382
+ }
383
+ }))), /*#__PURE__*/React.createElement("div", {
384
+ className: "relative"
385
+ }, /*#__PURE__*/React.createElement(Button, {
386
+ className: "rounded-b rounded-l-none rounded-r rounded-t",
387
+ disabled: !isPresent(publicRepoUrl),
388
+ size: "large",
389
+ style: "primary",
390
+ type: "button",
391
+ onClick: function onClick() {
392
+ return onConnect({
393
+ repoType: "public",
394
+ repository: {
395
+ fullName: publicRepoUrl
396
+ }
397
+ });
398
+ }
399
+ }, t("neetoGithub.continue"))))));
400
+ };
401
+
402
+ var Repositories = function Repositories(_ref) {
403
+ var isConnected = _ref.isConnected,
404
+ isPublicRepoAllowed = _ref.isPublicRepoAllowed,
405
+ repositories = _ref.repositories,
406
+ onConnect = _ref.onConnect,
407
+ installationUrl = _ref.installationUrl,
408
+ troubleshootUrl = _ref.troubleshootUrl;
409
+ return /*#__PURE__*/React.createElement("div", {
410
+ className: "w-full space-y-6"
411
+ }, /*#__PURE__*/React.createElement(Private, {
412
+ isPublicRepoAllowed: isPublicRepoAllowed,
413
+ installationUrl: installationUrl,
414
+ isConnected: isConnected,
415
+ onConnect: onConnect,
416
+ repositories: repositories,
417
+ troubleshootUrl: troubleshootUrl
418
+ }), isPublicRepoAllowed && /*#__PURE__*/React.createElement(Public, {
419
+ onConnect: onConnect
420
+ }));
421
+ };
422
+
423
+ var NeetoGithubNanoContainer = function NeetoGithubNanoContainer(_ref) {
424
+ var _ref$accounts = _ref.accounts,
425
+ accounts = _ref$accounts === void 0 ? [] : _ref$accounts,
426
+ installationUrl = _ref.installationUrl,
427
+ isConnected = _ref.isConnected,
428
+ _ref$isPublicRepoAllo = _ref.isPublicRepoAllowed,
429
+ isPublicRepoAllowed = _ref$isPublicRepoAllo === void 0 ? false : _ref$isPublicRepoAllo,
430
+ onConnect = _ref.onConnect,
431
+ _ref$repositories = _ref.repositories,
432
+ repositories = _ref$repositories === void 0 ? [] : _ref$repositories,
433
+ troubleshootUrl = _ref.troubleshootUrl,
434
+ _ref$isPane = _ref.isPane,
435
+ isPane = _ref$isPane === void 0 ? false : _ref$isPane;
436
+ return /*#__PURE__*/React.createElement("div", {
437
+ className: "flex w-full flex-col-reverse 2xl:flex-row"
438
+ }, /*#__PURE__*/React.createElement(Repositories, {
439
+ installationUrl: installationUrl,
440
+ isConnected: isConnected,
441
+ isPublicRepoAllowed: isPublicRepoAllowed,
442
+ onConnect: onConnect,
443
+ repositories: repositories,
444
+ troubleshootUrl: troubleshootUrl
445
+ }), /*#__PURE__*/React.createElement(Accounts, {
446
+ accounts: accounts,
447
+ installationUrl: installationUrl,
448
+ isConnected: isConnected,
449
+ onConnect: onConnect,
450
+ isPane: isPane
451
+ }));
452
+ };
453
+
454
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
455
+
456
+ /* eslint complexity: [2, 18], max-statements: [2, 33] */
457
+ var shams = function hasSymbols() {
458
+ if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
459
+ if (typeof Symbol.iterator === 'symbol') { return true; }
460
+
461
+ var obj = {};
462
+ var sym = Symbol('test');
463
+ var symObj = Object(sym);
464
+ if (typeof sym === 'string') { return false; }
465
+
466
+ if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
467
+ if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
468
+
469
+ // temp disabled per https://github.com/ljharb/object.assign/issues/17
470
+ // if (sym instanceof Symbol) { return false; }
471
+ // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
472
+ // if (!(symObj instanceof Symbol)) { return false; }
473
+
474
+ // if (typeof Symbol.prototype.toString !== 'function') { return false; }
475
+ // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
476
+
477
+ var symVal = 42;
478
+ obj[sym] = symVal;
479
+ for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
480
+ if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
481
+
482
+ if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
483
+
484
+ var syms = Object.getOwnPropertySymbols(obj);
485
+ if (syms.length !== 1 || syms[0] !== sym) { return false; }
486
+
487
+ if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
488
+
489
+ if (typeof Object.getOwnPropertyDescriptor === 'function') {
490
+ var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
491
+ if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
492
+ }
493
+
494
+ return true;
495
+ };
496
+
497
+ var origSymbol = typeof Symbol !== 'undefined' && Symbol;
498
+ var hasSymbolSham = shams;
499
+
500
+ var hasSymbols$1 = function hasNativeSymbols() {
501
+ if (typeof origSymbol !== 'function') { return false; }
502
+ if (typeof Symbol !== 'function') { return false; }
503
+ if (typeof origSymbol('foo') !== 'symbol') { return false; }
504
+ if (typeof Symbol('bar') !== 'symbol') { return false; }
505
+
506
+ return hasSymbolSham();
507
+ };
508
+
509
+ var test = {
510
+ foo: {}
511
+ };
512
+
513
+ var $Object = Object;
514
+
515
+ var hasProto$1 = function hasProto() {
516
+ return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
517
+ };
518
+
519
+ /* eslint no-invalid-this: 1 */
520
+
521
+ var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
522
+ var toStr$1 = Object.prototype.toString;
523
+ var max = Math.max;
524
+ var funcType = '[object Function]';
525
+
526
+ var concatty = function concatty(a, b) {
527
+ var arr = [];
528
+
529
+ for (var i = 0; i < a.length; i += 1) {
530
+ arr[i] = a[i];
531
+ }
532
+ for (var j = 0; j < b.length; j += 1) {
533
+ arr[j + a.length] = b[j];
534
+ }
535
+
536
+ return arr;
537
+ };
538
+
539
+ var slicy = function slicy(arrLike, offset) {
540
+ var arr = [];
541
+ for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
103
542
  arr[j] = arrLike[i];
104
543
  }
105
544
  return arr;
@@ -1928,787 +2367,348 @@ var stringify_1 = function (object, opts) {
1928
2367
  arrayFormat = opts.arrayFormat;
1929
2368
  } else if (opts && 'indices' in opts) {
1930
2369
  arrayFormat = opts.indices ? 'indices' : 'repeat';
1931
- } else {
1932
- arrayFormat = 'indices';
1933
- }
1934
-
1935
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
1936
- if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
1937
- throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
1938
- }
1939
- var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;
1940
-
1941
- if (!objKeys) {
1942
- objKeys = Object.keys(obj);
1943
- }
1944
-
1945
- if (options.sort) {
1946
- objKeys.sort(options.sort);
1947
- }
1948
-
1949
- var sideChannel = getSideChannel();
1950
- for (var i = 0; i < objKeys.length; ++i) {
1951
- var key = objKeys[i];
1952
-
1953
- if (options.skipNulls && obj[key] === null) {
1954
- continue;
1955
- }
1956
- pushToArray(keys, stringify$1(
1957
- obj[key],
1958
- key,
1959
- generateArrayPrefix,
1960
- commaRoundTrip,
1961
- options.strictNullHandling,
1962
- options.skipNulls,
1963
- options.encode ? options.encoder : null,
1964
- options.filter,
1965
- options.sort,
1966
- options.allowDots,
1967
- options.serializeDate,
1968
- options.format,
1969
- options.formatter,
1970
- options.encodeValuesOnly,
1971
- options.charset,
1972
- sideChannel
1973
- ));
1974
- }
1975
-
1976
- var joined = keys.join(options.delimiter);
1977
- var prefix = options.addQueryPrefix === true ? '?' : '';
1978
-
1979
- if (options.charsetSentinel) {
1980
- if (options.charset === 'iso-8859-1') {
1981
- // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
1982
- prefix += 'utf8=%26%2310003%3B&';
1983
- } else {
1984
- // encodeURIComponent('✓')
1985
- prefix += 'utf8=%E2%9C%93&';
1986
- }
1987
- }
1988
-
1989
- return joined.length > 0 ? prefix + joined : '';
1990
- };
1991
-
1992
- var utils = utils$2;
1993
-
1994
- var has = Object.prototype.hasOwnProperty;
1995
- var isArray = Array.isArray;
1996
-
1997
- var defaults = {
1998
- allowDots: false,
1999
- allowPrototypes: false,
2000
- allowSparse: false,
2001
- arrayLimit: 20,
2002
- charset: 'utf-8',
2003
- charsetSentinel: false,
2004
- comma: false,
2005
- decoder: utils.decode,
2006
- delimiter: '&',
2007
- depth: 5,
2008
- ignoreQueryPrefix: false,
2009
- interpretNumericEntities: false,
2010
- parameterLimit: 1000,
2011
- parseArrays: true,
2012
- plainObjects: false,
2013
- strictNullHandling: false
2014
- };
2015
-
2016
- var interpretNumericEntities = function (str) {
2017
- return str.replace(/&#(\d+);/g, function ($0, numberStr) {
2018
- return String.fromCharCode(parseInt(numberStr, 10));
2019
- });
2020
- };
2021
-
2022
- var parseArrayValue = function (val, options) {
2023
- if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
2024
- return val.split(',');
2025
- }
2026
-
2027
- return val;
2028
- };
2029
-
2030
- // This is what browsers will submit when the ✓ character occurs in an
2031
- // application/x-www-form-urlencoded body and the encoding of the page containing
2032
- // the form is iso-8859-1, or when the submitted form has an accept-charset
2033
- // attribute of iso-8859-1. Presumably also with other charsets that do not contain
2034
- // the ✓ character, such as us-ascii.
2035
- var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
2036
-
2037
- // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
2038
- var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
2039
-
2040
- var parseValues = function parseQueryStringValues(str, options) {
2041
- var obj = {};
2042
- var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
2043
- var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
2044
- var parts = cleanStr.split(options.delimiter, limit);
2045
- var skipIndex = -1; // Keep track of where the utf8 sentinel was found
2046
- var i;
2047
-
2048
- var charset = options.charset;
2049
- if (options.charsetSentinel) {
2050
- for (i = 0; i < parts.length; ++i) {
2051
- if (parts[i].indexOf('utf8=') === 0) {
2052
- if (parts[i] === charsetSentinel) {
2053
- charset = 'utf-8';
2054
- } else if (parts[i] === isoSentinel) {
2055
- charset = 'iso-8859-1';
2056
- }
2057
- skipIndex = i;
2058
- i = parts.length; // The eslint settings do not allow break;
2059
- }
2060
- }
2061
- }
2062
-
2063
- for (i = 0; i < parts.length; ++i) {
2064
- if (i === skipIndex) {
2065
- continue;
2066
- }
2067
- var part = parts[i];
2068
-
2069
- var bracketEqualsPos = part.indexOf(']=');
2070
- var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
2071
-
2072
- var key, val;
2073
- if (pos === -1) {
2074
- key = options.decoder(part, defaults.decoder, charset, 'key');
2075
- val = options.strictNullHandling ? null : '';
2076
- } else {
2077
- key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
2078
- val = utils.maybeMap(
2079
- parseArrayValue(part.slice(pos + 1), options),
2080
- function (encodedVal) {
2081
- return options.decoder(encodedVal, defaults.decoder, charset, 'value');
2082
- }
2083
- );
2084
- }
2085
-
2086
- if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
2087
- val = interpretNumericEntities(val);
2088
- }
2089
-
2090
- if (part.indexOf('[]=') > -1) {
2091
- val = isArray(val) ? [val] : val;
2092
- }
2093
-
2094
- if (has.call(obj, key)) {
2095
- obj[key] = utils.combine(obj[key], val);
2096
- } else {
2097
- obj[key] = val;
2098
- }
2099
- }
2100
-
2101
- return obj;
2102
- };
2103
-
2104
- var parseObject = function (chain, val, options, valuesParsed) {
2105
- var leaf = valuesParsed ? val : parseArrayValue(val, options);
2106
-
2107
- for (var i = chain.length - 1; i >= 0; --i) {
2108
- var obj;
2109
- var root = chain[i];
2110
-
2111
- if (root === '[]' && options.parseArrays) {
2112
- obj = [].concat(leaf);
2113
- } else {
2114
- obj = options.plainObjects ? Object.create(null) : {};
2115
- var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
2116
- var index = parseInt(cleanRoot, 10);
2117
- if (!options.parseArrays && cleanRoot === '') {
2118
- obj = { 0: leaf };
2119
- } else if (
2120
- !isNaN(index)
2121
- && root !== cleanRoot
2122
- && String(index) === cleanRoot
2123
- && index >= 0
2124
- && (options.parseArrays && index <= options.arrayLimit)
2125
- ) {
2126
- obj = [];
2127
- obj[index] = leaf;
2128
- } else if (cleanRoot !== '__proto__') {
2129
- obj[cleanRoot] = leaf;
2130
- }
2131
- }
2132
-
2133
- leaf = obj;
2134
- }
2135
-
2136
- return leaf;
2137
- };
2138
-
2139
- var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
2140
- if (!givenKey) {
2141
- return;
2142
- }
2143
-
2144
- // Transform dot notation to bracket notation
2145
- var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
2146
-
2147
- // The regex chunks
2148
-
2149
- var brackets = /(\[[^[\]]*])/;
2150
- var child = /(\[[^[\]]*])/g;
2151
-
2152
- // Get the parent
2153
-
2154
- var segment = options.depth > 0 && brackets.exec(key);
2155
- var parent = segment ? key.slice(0, segment.index) : key;
2156
-
2157
- // Stash the parent if it exists
2158
-
2159
- var keys = [];
2160
- if (parent) {
2161
- // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
2162
- if (!options.plainObjects && has.call(Object.prototype, parent)) {
2163
- if (!options.allowPrototypes) {
2164
- return;
2165
- }
2166
- }
2167
-
2168
- keys.push(parent);
2169
- }
2170
-
2171
- // Loop through children appending to the array until we hit depth
2172
-
2173
- var i = 0;
2174
- while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
2175
- i += 1;
2176
- if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
2177
- if (!options.allowPrototypes) {
2178
- return;
2179
- }
2180
- }
2181
- keys.push(segment[1]);
2370
+ } else {
2371
+ arrayFormat = 'indices';
2182
2372
  }
2183
2373
 
2184
- // If there's a remainder, just add whatever is left
2185
-
2186
- if (segment) {
2187
- keys.push('[' + key.slice(segment.index) + ']');
2374
+ var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
2375
+ if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
2376
+ throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
2188
2377
  }
2378
+ var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;
2189
2379
 
2190
- return parseObject(keys, val, options, valuesParsed);
2191
- };
2380
+ if (!objKeys) {
2381
+ objKeys = Object.keys(obj);
2382
+ }
2192
2383
 
2193
- var normalizeParseOptions = function normalizeParseOptions(opts) {
2194
- if (!opts) {
2195
- return defaults;
2384
+ if (options.sort) {
2385
+ objKeys.sort(options.sort);
2196
2386
  }
2197
2387
 
2198
- if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
2199
- throw new TypeError('Decoder has to be a function.');
2388
+ var sideChannel = getSideChannel();
2389
+ for (var i = 0; i < objKeys.length; ++i) {
2390
+ var key = objKeys[i];
2391
+
2392
+ if (options.skipNulls && obj[key] === null) {
2393
+ continue;
2394
+ }
2395
+ pushToArray(keys, stringify$1(
2396
+ obj[key],
2397
+ key,
2398
+ generateArrayPrefix,
2399
+ commaRoundTrip,
2400
+ options.strictNullHandling,
2401
+ options.skipNulls,
2402
+ options.encode ? options.encoder : null,
2403
+ options.filter,
2404
+ options.sort,
2405
+ options.allowDots,
2406
+ options.serializeDate,
2407
+ options.format,
2408
+ options.formatter,
2409
+ options.encodeValuesOnly,
2410
+ options.charset,
2411
+ sideChannel
2412
+ ));
2200
2413
  }
2201
2414
 
2202
- if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
2203
- throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
2415
+ var joined = keys.join(options.delimiter);
2416
+ var prefix = options.addQueryPrefix === true ? '?' : '';
2417
+
2418
+ if (options.charsetSentinel) {
2419
+ if (options.charset === 'iso-8859-1') {
2420
+ // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
2421
+ prefix += 'utf8=%26%2310003%3B&';
2422
+ } else {
2423
+ // encodeURIComponent('✓')
2424
+ prefix += 'utf8=%E2%9C%93&';
2425
+ }
2204
2426
  }
2205
- var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
2206
2427
 
2207
- return {
2208
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
2209
- allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
2210
- allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
2211
- arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
2212
- charset: charset,
2213
- charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
2214
- comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
2215
- decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
2216
- delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
2217
- // eslint-disable-next-line no-implicit-coercion, no-extra-parens
2218
- depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
2219
- ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
2220
- interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
2221
- parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
2222
- parseArrays: opts.parseArrays !== false,
2223
- plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
2224
- strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
2225
- };
2428
+ return joined.length > 0 ? prefix + joined : '';
2226
2429
  };
2227
2430
 
2228
- var parse$1 = function (str, opts) {
2229
- var options = normalizeParseOptions(opts);
2230
-
2231
- if (str === '' || str === null || typeof str === 'undefined') {
2232
- return options.plainObjects ? Object.create(null) : {};
2233
- }
2431
+ var utils = utils$2;
2234
2432
 
2235
- var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
2236
- var obj = options.plainObjects ? Object.create(null) : {};
2433
+ var has = Object.prototype.hasOwnProperty;
2434
+ var isArray = Array.isArray;
2237
2435
 
2238
- // Iterate over the keys and setup the new object
2436
+ var defaults = {
2437
+ allowDots: false,
2438
+ allowPrototypes: false,
2439
+ allowSparse: false,
2440
+ arrayLimit: 20,
2441
+ charset: 'utf-8',
2442
+ charsetSentinel: false,
2443
+ comma: false,
2444
+ decoder: utils.decode,
2445
+ delimiter: '&',
2446
+ depth: 5,
2447
+ ignoreQueryPrefix: false,
2448
+ interpretNumericEntities: false,
2449
+ parameterLimit: 1000,
2450
+ parseArrays: true,
2451
+ plainObjects: false,
2452
+ strictNullHandling: false
2453
+ };
2239
2454
 
2240
- var keys = Object.keys(tempObj);
2241
- for (var i = 0; i < keys.length; ++i) {
2242
- var key = keys[i];
2243
- var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
2244
- obj = utils.merge(obj, newObj, options);
2245
- }
2455
+ var interpretNumericEntities = function (str) {
2456
+ return str.replace(/&#(\d+);/g, function ($0, numberStr) {
2457
+ return String.fromCharCode(parseInt(numberStr, 10));
2458
+ });
2459
+ };
2246
2460
 
2247
- if (options.allowSparse === true) {
2248
- return obj;
2461
+ var parseArrayValue = function (val, options) {
2462
+ if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
2463
+ return val.split(',');
2249
2464
  }
2250
2465
 
2251
- return utils.compact(obj);
2466
+ return val;
2252
2467
  };
2253
2468
 
2254
- var stringify = stringify_1;
2255
- var parse = parse$1;
2256
- var formats = formats$3;
2469
+ // This is what browsers will submit when the ✓ character occurs in an
2470
+ // application/x-www-form-urlencoded body and the encoding of the page containing
2471
+ // the form is iso-8859-1, or when the submitted form has an accept-charset
2472
+ // attribute of iso-8859-1. Presumably also with other charsets that do not contain
2473
+ // the ✓ character, such as us-ascii.
2474
+ var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
2257
2475
 
2258
- var lib = {
2259
- formats: formats,
2260
- parse: parse,
2261
- stringify: stringify
2262
- };
2476
+ // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
2477
+ var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
2263
2478
 
2264
- var _globalProps$organiza;
2265
- var newInstallationParams = lib.stringify({
2266
- integrator_id: globalProps === null || globalProps === void 0 || (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.id,
2267
- integrator_type: "Organization",
2268
- redirect_path: "/projects/new"
2269
- });
2270
- var NEW_INSTALLATION_URL = "/github_integrations/app_installations/new?".concat(newInstallationParams);
2271
- var TROUBLESHOOT_URL = "https://render.com/docs/github#troubleshooting";
2479
+ var parseValues = function parseQueryStringValues(str, options) {
2480
+ var obj = {};
2481
+ var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
2482
+ var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
2483
+ var parts = cleanStr.split(options.delimiter, limit);
2484
+ var skipIndex = -1; // Keep track of where the utf8 sentinel was found
2485
+ var i;
2272
2486
 
2273
- var Configure = withT(function (_ref) {
2274
- var t = _ref.t,
2275
- isConnected = _ref.isConnected,
2276
- installationUrl = _ref.installationUrl;
2277
- return /*#__PURE__*/React.createElement("div", {
2278
- className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
2279
- }, /*#__PURE__*/React.createElement(Button, {
2280
- className: "mt-1 text-indigo-600 xl:mt-3",
2281
- href: installationUrl,
2282
- icon: isConnected ? Settings : Plus,
2283
- iconPosition: "left",
2284
- iconSize: 20,
2285
- size: "small",
2286
- style: "text"
2287
- }, isConnected ? t("neetoGithub.configureAccount") : t("neetoGithub.connectAccount")));
2288
- });
2487
+ var charset = options.charset;
2488
+ if (options.charsetSentinel) {
2489
+ for (i = 0; i < parts.length; ++i) {
2490
+ if (parts[i].indexOf('utf8=') === 0) {
2491
+ if (parts[i] === charsetSentinel) {
2492
+ charset = 'utf-8';
2493
+ } else if (parts[i] === isoSentinel) {
2494
+ charset = 'iso-8859-1';
2495
+ }
2496
+ skipIndex = i;
2497
+ i = parts.length; // The eslint settings do not allow break;
2498
+ }
2499
+ }
2500
+ }
2289
2501
 
2290
- var Header = withT(function (_ref) {
2291
- var t = _ref.t;
2292
- return /*#__PURE__*/React.createElement("div", {
2293
- 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"
2294
- }, /*#__PURE__*/React.createElement(Github, {
2295
- size: 16
2296
- }), /*#__PURE__*/React.createElement(Typography, {
2297
- style: "h4"
2298
- }, t("neetoGithub.github")));
2299
- });
2502
+ for (i = 0; i < parts.length; ++i) {
2503
+ if (i === skipIndex) {
2504
+ continue;
2505
+ }
2506
+ var part = parts[i];
2300
2507
 
2301
- var List$1 = withT(function (_ref) {
2302
- var t = _ref.t,
2303
- accounts = _ref.accounts;
2304
- return accounts.map(function (_ref2) {
2305
- var id = _ref2.id,
2306
- name = _ref2.name,
2307
- avatarUrl = _ref2.avatarUrl,
2308
- type = _ref2.type,
2309
- profileUrl = _ref2.profileUrl,
2310
- count = _ref2.count;
2311
- return /*#__PURE__*/React.createElement("div", {
2312
- className: "neeto-ui-border-gray-300 flex w-full items-center space-x-2 border-b border-l-0 border-r-0 border-t-0 border-solid p-2",
2313
- key: id
2314
- }, type === "Organization" ? /*#__PURE__*/React.createElement(Building, {
2315
- className: "neeto-ui-text-gray-600",
2316
- size: 16
2317
- }) : /*#__PURE__*/React.createElement(User, {
2318
- className: "neeto-ui-text-gray-600",
2319
- size: 16
2320
- }), /*#__PURE__*/React.createElement(Typography, {
2321
- className: "neeto-ui-text-gray-900",
2322
- style: "body2"
2323
- }, "@", name), /*#__PURE__*/React.createElement("img", {
2324
- alt: name,
2325
- className: "neeto-ui-rounded-full h-4 w-4",
2326
- src: avatarUrl
2327
- }), /*#__PURE__*/React.createElement(Button, {
2328
- className: "text-indigo-600",
2329
- icon: CannedResponses,
2330
- iconPosition: "left",
2331
- iconSize: 16,
2332
- size: "small",
2333
- style: "text",
2334
- onClick: function onClick() {
2335
- return window.open(profileUrl, "_blank");
2336
- }
2337
- }), /*#__PURE__*/React.createElement(Typography, {
2338
- className: "neeto-ui-text-gray-900 mx-2 text-sm",
2339
- component: "span",
2340
- style: "h3"
2341
- }, "\u2022"), /*#__PURE__*/React.createElement(Typography, {
2342
- style: "body2"
2343
- }, t("neetoGithub.countOf.repos", {
2344
- count: count
2345
- })));
2346
- });
2347
- });
2508
+ var bracketEqualsPos = part.indexOf(']=');
2509
+ var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
2510
+
2511
+ var key, val;
2512
+ if (pos === -1) {
2513
+ key = options.decoder(part, defaults.decoder, charset, 'key');
2514
+ val = options.strictNullHandling ? null : '';
2515
+ } else {
2516
+ key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
2517
+ val = utils.maybeMap(
2518
+ parseArrayValue(part.slice(pos + 1), options),
2519
+ function (encodedVal) {
2520
+ return options.decoder(encodedVal, defaults.decoder, charset, 'value');
2521
+ }
2522
+ );
2523
+ }
2348
2524
 
2349
- var Accounts = function Accounts(_ref) {
2350
- var isPane = _ref.isPane,
2351
- accounts = _ref.accounts,
2352
- isConnected = _ref.isConnected,
2353
- onConnect = _ref.onConnect,
2354
- installationUrl = _ref.installationUrl;
2355
- return /*#__PURE__*/React.createElement("div", {
2356
- className: classNames("flex w-full flex-col border border-solid border-transparent px-0 py-2", {
2357
- "2xl:max-w-sm 2xl:px-8": isPane,
2358
- "xl:max-w-sm xl:px-8": !isPane
2359
- })
2360
- }, /*#__PURE__*/React.createElement("div", {
2361
- className: "mb-2"
2362
- }, /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(List$1, {
2363
- accounts: accounts,
2364
- isConnected: isConnected
2365
- }), /*#__PURE__*/React.createElement(Configure, {
2366
- installationUrl: installationUrl,
2367
- isConnected: isConnected,
2368
- onConnect: onConnect
2369
- })));
2370
- };
2525
+ if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
2526
+ val = interpretNumericEntities(val);
2527
+ }
2371
2528
 
2372
- function _arrayWithHoles(arr) {
2373
- if (Array.isArray(arr)) return arr;
2374
- }
2529
+ if (part.indexOf('[]=') > -1) {
2530
+ val = isArray(val) ? [val] : val;
2531
+ }
2375
2532
 
2376
- function _iterableToArrayLimit(arr, i) {
2377
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
2378
- if (null != _i) {
2379
- var _s,
2380
- _e,
2381
- _x,
2382
- _r,
2383
- _arr = [],
2384
- _n = !0,
2385
- _d = !1;
2386
- try {
2387
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
2388
- if (Object(_i) !== _i) return;
2389
- _n = !1;
2390
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
2391
- } catch (err) {
2392
- _d = !0, _e = err;
2393
- } finally {
2394
- try {
2395
- if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
2396
- } finally {
2397
- if (_d) throw _e;
2398
- }
2533
+ if (has.call(obj, key)) {
2534
+ obj[key] = utils.combine(obj[key], val);
2535
+ } else {
2536
+ obj[key] = val;
2537
+ }
2399
2538
  }
2400
- return _arr;
2401
- }
2402
- }
2403
2539
 
2404
- function _arrayLikeToArray(arr, len) {
2405
- if (len == null || len > arr.length) len = arr.length;
2406
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
2407
- return arr2;
2408
- }
2540
+ return obj;
2541
+ };
2409
2542
 
2410
- function _unsupportedIterableToArray(o, minLen) {
2411
- if (!o) return;
2412
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
2413
- var n = Object.prototype.toString.call(o).slice(8, -1);
2414
- if (n === "Object" && o.constructor) n = o.constructor.name;
2415
- if (n === "Map" || n === "Set") return Array.from(o);
2416
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
2417
- }
2543
+ var parseObject = function (chain, val, options, valuesParsed) {
2544
+ var leaf = valuesParsed ? val : parseArrayValue(val, options);
2418
2545
 
2419
- function _nonIterableRest() {
2420
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2421
- }
2546
+ for (var i = chain.length - 1; i >= 0; --i) {
2547
+ var obj;
2548
+ var root = chain[i];
2422
2549
 
2423
- function _slicedToArray(arr, i) {
2424
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
2425
- }
2550
+ if (root === '[]' && options.parseArrays) {
2551
+ obj = [].concat(leaf);
2552
+ } else {
2553
+ obj = options.plainObjects ? Object.create(null) : {};
2554
+ var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
2555
+ var index = parseInt(cleanRoot, 10);
2556
+ if (!options.parseArrays && cleanRoot === '') {
2557
+ obj = { 0: leaf };
2558
+ } else if (
2559
+ !isNaN(index)
2560
+ && root !== cleanRoot
2561
+ && String(index) === cleanRoot
2562
+ && index >= 0
2563
+ && (options.parseArrays && index <= options.arrayLimit)
2564
+ ) {
2565
+ obj = [];
2566
+ obj[index] = leaf;
2567
+ } else if (cleanRoot !== '__proto__') {
2568
+ obj[cleanRoot] = leaf;
2569
+ }
2570
+ }
2426
2571
 
2427
- var NoRepositories = withT(function (_ref) {
2428
- var t = _ref.t,
2429
- installationUrl = _ref.installationUrl,
2430
- troubleshootUrl = _ref.troubleshootUrl;
2431
- return /*#__PURE__*/React.createElement("div", {
2432
- className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
2433
- }, /*#__PURE__*/React.createElement(Typography, {
2434
- style: "body2"
2435
- }, t("neetoGithub.noReposDescription")), /*#__PURE__*/React.createElement(Button, {
2436
- href: installationUrl,
2437
- icon: Github,
2438
- iconPosition: "left",
2439
- label: t("neetoGithub.connectRepository"),
2440
- size: "medium",
2441
- style: "primary"
2442
- }), /*#__PURE__*/React.createElement("div", {
2443
- className: "text-xs"
2444
- }, /*#__PURE__*/React.createElement(Trans, {
2445
- i18nKey: "troubleshoot",
2446
- components: {
2447
- troubleshootLink: /*#__PURE__*/React.createElement("a", {
2448
- className: "text-indigo-600 underline",
2449
- href: troubleshootUrl,
2450
- rel: "noopener noreferrer",
2451
- target: "_blank"
2452
- })
2572
+ leaf = obj;
2453
2573
  }
2454
- })));
2455
- });
2456
2574
 
2457
- var RepositoryTile = function RepositoryTile(_ref) {
2458
- var onConnect = _ref.onConnect,
2459
- repository = _ref.repository;
2460
- var _useTranslation = useTranslation(),
2461
- t = _useTranslation.t;
2462
- var id = repository.id,
2463
- fullName = repository.fullName,
2464
- isPrivate = repository.isPrivate,
2465
- updatedAt = repository.updatedAt;
2466
- return /*#__PURE__*/React.createElement("div", {
2467
- className: "neeto-ui-border-gray-300 flex items-center justify-between border-b border-l-0 border-r-0 border-t-0 border-solid py-3 pl-5 pr-3",
2468
- key: id
2469
- }, /*#__PURE__*/React.createElement("div", {
2470
- className: "width-calc flex items-center space-x-2"
2471
- }, /*#__PURE__*/React.createElement(Github, {
2472
- size: 16
2473
- }), /*#__PURE__*/React.createElement(Typography, {
2474
- style: "body2"
2475
- }, fullName), isPrivate && /*#__PURE__*/React.createElement(Lock, {
2476
- size: 16
2477
- }), /*#__PURE__*/React.createElement("div", {
2478
- className: "hidden md:inline-block"
2479
- }, /*#__PURE__*/React.createElement(Typography, {
2480
- className: "neeto-ui-text-gray-900 mx-2 text-sm",
2481
- component: "span",
2482
- style: "h3"
2483
- }, "\u2022"), /*#__PURE__*/React.createElement(DateFormat.FromNow, {
2484
- date: updatedAt
2485
- }))), /*#__PURE__*/React.createElement(Button, {
2486
- style: "primary",
2487
- type: "button",
2488
- onClick: function onClick() {
2489
- return onConnect({
2490
- repoType: "private",
2491
- repository: repository
2492
- });
2493
- }
2494
- }, t("neetoGithub.connect")));
2575
+ return leaf;
2495
2576
  };
2496
2577
 
2497
- var List = withT(function (_ref) {
2498
- var t = _ref.t,
2499
- isPublicRepoAllowed = _ref.isPublicRepoAllowed,
2500
- filteredRepositories = _ref.filteredRepositories,
2501
- repositories = _ref.repositories,
2502
- onConnect = _ref.onConnect,
2503
- installationUrl = _ref.installationUrl,
2504
- troubleshootUrl = _ref.troubleshootUrl;
2505
- return /*#__PURE__*/React.createElement("div", {
2506
- className: classNames("neeto-ui-border-gray-300 neeto-ui-rounded-md m-0 flex flex-col items-center justify-center border border-solid p-0 2xl:h-96", {
2507
- "h-52": isPublicRepoAllowed,
2508
- "h-72": !isPublicRepoAllowed
2509
- })
2510
- }, isPresent(repositories) ? /*#__PURE__*/React.createElement(Scrollable, {
2511
- className: "m-0 h-full w-full overflow-y-scroll p-0 shadow-inner"
2512
- }, isPresent(filteredRepositories) ? filteredRepositories.map(function (repository) {
2513
- return /*#__PURE__*/React.createElement(RepositoryTile, {
2514
- onConnect: onConnect,
2515
- repository: repository
2516
- });
2517
- }) : /*#__PURE__*/React.createElement(Typography, {
2518
- className: "flex h-full w-full items-center justify-center",
2519
- style: "body2"
2520
- }, t("neetoGithub.noRepos"))) : /*#__PURE__*/React.createElement(NoRepositories, {
2521
- installationUrl: installationUrl,
2522
- troubleshootUrl: troubleshootUrl
2523
- }));
2524
- });
2578
+ var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
2579
+ if (!givenKey) {
2580
+ return;
2581
+ }
2582
+
2583
+ // Transform dot notation to bracket notation
2584
+ var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
2585
+
2586
+ // The regex chunks
2587
+
2588
+ var brackets = /(\[[^[\]]*])/;
2589
+ var child = /(\[[^[\]]*])/g;
2590
+
2591
+ // Get the parent
2592
+
2593
+ var segment = options.depth > 0 && brackets.exec(key);
2594
+ var parent = segment ? key.slice(0, segment.index) : key;
2595
+
2596
+ // Stash the parent if it exists
2597
+
2598
+ var keys = [];
2599
+ if (parent) {
2600
+ // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
2601
+ if (!options.plainObjects && has.call(Object.prototype, parent)) {
2602
+ if (!options.allowPrototypes) {
2603
+ return;
2604
+ }
2605
+ }
2606
+
2607
+ keys.push(parent);
2608
+ }
2609
+
2610
+ // Loop through children appending to the array until we hit depth
2611
+
2612
+ var i = 0;
2613
+ while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
2614
+ i += 1;
2615
+ if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
2616
+ if (!options.allowPrototypes) {
2617
+ return;
2618
+ }
2619
+ }
2620
+ keys.push(segment[1]);
2621
+ }
2525
2622
 
2526
- var NotConnected = withT(function (_ref) {
2527
- var t = _ref.t,
2528
- installationUrl = _ref.installationUrl;
2529
- return /*#__PURE__*/React.createElement("div", {
2530
- className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
2531
- }, /*#__PURE__*/React.createElement(Typography, {
2532
- style: "body2"
2533
- }, t("neetoGithub.notConnectedDescription")), /*#__PURE__*/React.createElement(Button, {
2534
- href: installationUrl,
2535
- icon: Github,
2536
- iconPosition: "left",
2537
- label: t("neetoGithub.connectGithub"),
2538
- size: "medium",
2539
- style: "primary"
2540
- }));
2541
- });
2623
+ // If there's a remainder, just add whatever is left
2542
2624
 
2543
- var Private = function Private(_ref) {
2544
- var isConnected = _ref.isConnected,
2545
- isPublicRepoAllowed = _ref.isPublicRepoAllowed,
2546
- repositories = _ref.repositories,
2547
- onConnect = _ref.onConnect,
2548
- installationUrl = _ref.installationUrl,
2549
- troubleshootUrl = _ref.troubleshootUrl;
2550
- var _useTranslation = useTranslation(),
2551
- t = _useTranslation.t;
2552
- var _useState = useState(repositories),
2553
- _useState2 = _slicedToArray(_useState, 2),
2554
- filteredRepositories = _useState2[0],
2555
- setFilteredRepositories = _useState2[1];
2556
- var onSearch = function onSearch(searchTerm) {
2557
- if (!isPresent(searchTerm)) {
2558
- setFilteredRepositories(repositories);
2559
- return;
2625
+ if (segment) {
2626
+ keys.push('[' + key.slice(segment.index) + ']');
2560
2627
  }
2561
- var filteredRepositories = repositories.filter(function (_ref2) {
2562
- var fullName = _ref2.fullName;
2563
- return fullName.toLowerCase().includes(searchTerm.toLowerCase());
2564
- });
2565
- setFilteredRepositories(filteredRepositories);
2566
- };
2567
- return /*#__PURE__*/React.createElement("div", {
2568
- className: "connect-repo neeto-ui-rounded-md neeto-ui-border-gray-300 border border-solid px-8 py-7"
2569
- }, /*#__PURE__*/React.createElement(Typography, {
2570
- className: "mb-2 pb-5 text-lg font-medium",
2571
- style: "h2"
2572
- }, t("neetoGithub.connectARepo")), isConnected ? /*#__PURE__*/React.createElement("div", {
2573
- className: "flex w-full flex-col space-y-6"
2574
- }, /*#__PURE__*/React.createElement(Search, {
2575
- onSearch: onSearch,
2576
- className: "w-full",
2577
- suffix: /*#__PURE__*/React.createElement(Typography, {
2578
- style: "body2"
2579
- }, t("neetoGithub.countOf.repos", {
2580
- count: filteredRepositories.length
2581
- }))
2582
- }), /*#__PURE__*/React.createElement(List, {
2583
- isPublicRepoAllowed: isPublicRepoAllowed,
2584
- filteredRepositories: filteredRepositories,
2585
- installationUrl: installationUrl,
2586
- onConnect: onConnect,
2587
- repositories: repositories,
2588
- troubleshootUrl: troubleshootUrl
2589
- })) : /*#__PURE__*/React.createElement("div", {
2590
- className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
2591
- }, /*#__PURE__*/React.createElement("div", {
2592
- className: "neeto-ui-rounded-md neeto-ui-border-gray-300 m-0 flex h-[366px] flex-col items-center justify-center border border-solid p-4 shadow-inner"
2593
- }, /*#__PURE__*/React.createElement(NotConnected, {
2594
- installationUrl: installationUrl
2595
- }))));
2628
+
2629
+ return parseObject(keys, val, options, valuesParsed);
2596
2630
  };
2597
2631
 
2598
- var Public = function Public(_ref) {
2599
- var onConnect = _ref.onConnect;
2600
- var _useTranslation = useTranslation(),
2601
- t = _useTranslation.t;
2602
- var _useState = useState(""),
2603
- _useState2 = _slicedToArray(_useState, 2),
2604
- publicRepoUrl = _useState2[0],
2605
- setPublicRepoUrl = _useState2[1];
2606
- return /*#__PURE__*/React.createElement("div", {
2607
- className: "transition-drop-shadow neeto-ui-border-gray-300 neeto-ui-rounded-md border border-solid px-8 py-7 font-sans transition-colors"
2608
- }, /*#__PURE__*/React.createElement("div", {
2609
- className: "mb-2 pb-5"
2610
- }, /*#__PURE__*/React.createElement("div", {
2611
- className: "flex justify-between"
2612
- }, /*#__PURE__*/React.createElement("div", {
2613
- className: "pr-4"
2614
- }, /*#__PURE__*/React.createElement(Typography, {
2615
- className: "text-lg font-medium",
2616
- style: "h2"
2617
- }, t("neetoGithub.publicGitRepo")), /*#__PURE__*/React.createElement("div", {
2618
- className: "neeto-ui-text-gray-900 mt-2 flex max-w-xl space-x-1 font-sans text-sm font-normal leading-6 antialiased"
2619
- }, /*#__PURE__*/React.createElement(Typography, {
2620
- style: "body2"
2621
- }, t("neetoGithub.publicGitRepoDescription")))))), /*#__PURE__*/React.createElement("div", {
2622
- className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
2623
- }, /*#__PURE__*/React.createElement("div", {
2624
- className: "flex"
2625
- }, /*#__PURE__*/React.createElement("div", {
2626
- className: "z-0 flex-1"
2627
- }, /*#__PURE__*/React.createElement("div", {
2628
- className: "w-full"
2629
- }, /*#__PURE__*/React.createElement(Input, {
2630
- nakedInput: true,
2631
- autocomplete: "false",
2632
- className: "relative rounded-b rounded-l rounded-r-none rounded-t border-b border-l border-r-0 border-t border-solid px-2",
2633
- placeholder: t("neetoGithub.publicGitRepoPlaceholder"),
2634
- size: "large",
2635
- spellcheck: "false",
2636
- type: "text",
2637
- value: publicRepoUrl,
2638
- onChange: function onChange(e) {
2639
- return setPublicRepoUrl(e.target.value);
2632
+ var normalizeParseOptions = function normalizeParseOptions(opts) {
2633
+ if (!opts) {
2634
+ return defaults;
2640
2635
  }
2641
- }))), /*#__PURE__*/React.createElement("div", {
2642
- className: "relative"
2643
- }, /*#__PURE__*/React.createElement(Button, {
2644
- className: "rounded-b rounded-l-none rounded-r rounded-t",
2645
- disabled: !isPresent(publicRepoUrl),
2646
- size: "large",
2647
- style: "primary",
2648
- type: "button",
2649
- onClick: function onClick() {
2650
- return onConnect({
2651
- repoType: "public",
2652
- repository: {
2653
- fullName: publicRepoUrl
2654
- }
2655
- });
2636
+
2637
+ if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
2638
+ throw new TypeError('Decoder has to be a function.');
2656
2639
  }
2657
- }, t("neetoGithub.continue"))))));
2640
+
2641
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
2642
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
2643
+ }
2644
+ var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
2645
+
2646
+ return {
2647
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
2648
+ allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
2649
+ allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
2650
+ arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
2651
+ charset: charset,
2652
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
2653
+ comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
2654
+ decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
2655
+ delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
2656
+ // eslint-disable-next-line no-implicit-coercion, no-extra-parens
2657
+ depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
2658
+ ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
2659
+ interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
2660
+ parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
2661
+ parseArrays: opts.parseArrays !== false,
2662
+ plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
2663
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
2664
+ };
2658
2665
  };
2659
2666
 
2660
- var Repositories = function Repositories(_ref) {
2661
- var isConnected = _ref.isConnected,
2662
- isPublicRepoAllowed = _ref.isPublicRepoAllowed,
2663
- repositories = _ref.repositories,
2664
- onConnect = _ref.onConnect,
2665
- installationUrl = _ref.installationUrl,
2666
- troubleshootUrl = _ref.troubleshootUrl;
2667
- return /*#__PURE__*/React.createElement("div", {
2668
- className: "w-full space-y-6"
2669
- }, /*#__PURE__*/React.createElement(Private, {
2670
- isPublicRepoAllowed: isPublicRepoAllowed,
2671
- installationUrl: installationUrl,
2672
- isConnected: isConnected,
2673
- onConnect: onConnect,
2674
- repositories: repositories,
2675
- troubleshootUrl: troubleshootUrl
2676
- }), isPublicRepoAllowed && /*#__PURE__*/React.createElement(Public, {
2677
- onConnect: onConnect
2678
- }));
2667
+ var parse$1 = function (str, opts) {
2668
+ var options = normalizeParseOptions(opts);
2669
+
2670
+ if (str === '' || str === null || typeof str === 'undefined') {
2671
+ return options.plainObjects ? Object.create(null) : {};
2672
+ }
2673
+
2674
+ var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
2675
+ var obj = options.plainObjects ? Object.create(null) : {};
2676
+
2677
+ // Iterate over the keys and setup the new object
2678
+
2679
+ var keys = Object.keys(tempObj);
2680
+ for (var i = 0; i < keys.length; ++i) {
2681
+ var key = keys[i];
2682
+ var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
2683
+ obj = utils.merge(obj, newObj, options);
2684
+ }
2685
+
2686
+ if (options.allowSparse === true) {
2687
+ return obj;
2688
+ }
2689
+
2690
+ return utils.compact(obj);
2679
2691
  };
2680
2692
 
2681
- var NeetoGithubNanoContainer = function NeetoGithubNanoContainer(_ref) {
2682
- var _ref$accounts = _ref.accounts,
2683
- accounts = _ref$accounts === void 0 ? [] : _ref$accounts,
2684
- installationUrl = _ref.installationUrl,
2685
- isConnected = _ref.isConnected,
2686
- _ref$isPublicRepoAllo = _ref.isPublicRepoAllowed,
2687
- isPublicRepoAllowed = _ref$isPublicRepoAllo === void 0 ? false : _ref$isPublicRepoAllo,
2688
- onConnect = _ref.onConnect,
2689
- _ref$repositories = _ref.repositories,
2690
- repositories = _ref$repositories === void 0 ? [] : _ref$repositories,
2691
- troubleshootUrl = _ref.troubleshootUrl,
2692
- _ref$isPane = _ref.isPane,
2693
- isPane = _ref$isPane === void 0 ? false : _ref$isPane;
2694
- return /*#__PURE__*/React.createElement("div", {
2695
- className: "flex w-full flex-col-reverse 2xl:flex-row"
2696
- }, /*#__PURE__*/React.createElement(Repositories, {
2697
- installationUrl: installationUrl,
2698
- isConnected: isConnected,
2699
- isPublicRepoAllowed: isPublicRepoAllowed,
2700
- onConnect: onConnect,
2701
- repositories: repositories,
2702
- troubleshootUrl: troubleshootUrl
2703
- }), /*#__PURE__*/React.createElement(Accounts, {
2704
- accounts: accounts,
2705
- installationUrl: installationUrl,
2706
- isConnected: isConnected,
2707
- onConnect: onConnect,
2708
- isPane: isPane
2709
- }));
2693
+ var stringify = stringify_1;
2694
+ var parse = parse$1;
2695
+ var formats = formats$3;
2696
+
2697
+ var lib = {
2698
+ formats: formats,
2699
+ parse: parse,
2700
+ stringify: stringify
2710
2701
  };
2711
2702
 
2703
+ var _globalProps$organiza;
2704
+ var newInstallationParams = lib.stringify({
2705
+ integrator_id: globalProps === null || globalProps === void 0 || (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.id,
2706
+ integrator_type: "Organization",
2707
+ redirect_path: "/projects/new"
2708
+ });
2709
+ var NEW_INSTALLATION_URL = "/github_integrations/app_installations/new?".concat(newInstallationParams);
2710
+ var TROUBLESHOOT_URL = "https://render.com/docs/github#troubleshooting";
2711
+
2712
2712
  var NeetoGithubNanoModal = function NeetoGithubNanoModal(_ref) {
2713
2713
  var isOpen = _ref.isOpen,
2714
2714
  onClose = _ref.onClose,
@@ -2757,5 +2757,5 @@ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r
2757
2757
  var css = ".width-calc{width:calc(100% - 82px)}.neeto-github-modal-pane-wrapper{width:min(75%,1280px)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3JlcG9zaXRvcnktdGlsZS5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3R5bGVzaGVldHMvYXBwbGljYXRpb24uc2NzcyIsImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3BhbmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUNFLHVCQ0NGLENDRkEsaUNBQ0UscUJES0YiLCJzb3VyY2VzQ29udGVudCI6WyIud2lkdGgtY2FsYyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MnB4KTtcbn1cbiIsIi53aWR0aC1jYWxjIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgycHgpO1xufVxuXG4ubmVldG8tZ2l0aHViLW1vZGFsLXBhbmUtd3JhcHBlciB7XG4gIHdpZHRoOiBtaW4oNzUlLCAxMjgwcHgpO1xufSIsIi5uZWV0by1naXRodWItbW9kYWwtcGFuZS13cmFwcGVyIHtcbiAgd2lkdGg6IG1pbig3NSUsIDEyODBweCk7XG59XG4iXX0= */";
2758
2758
  n(css,{});
2759
2759
 
2760
- export { NeetoGithubNanoModal };
2760
+ export { NeetoGithubNanoContainer, NeetoGithubNanoModal };
2761
2761
  //# sourceMappingURL=index.js.map