@bigbinary/neeto-github-frontend 1.0.6 → 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.cjs.js CHANGED
@@ -3,27 +3,27 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var neetoCist = require('@bigbinary/neeto-cist');
7
- var neetoui = require('@bigbinary/neetoui');
8
- var reactI18next = require('react-i18next');
9
6
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
10
7
  var neetoIcons = require('@bigbinary/neeto-icons');
8
+ var neetoui = require('@bigbinary/neetoui');
11
9
  var misc = require('@bigbinary/neeto-icons/misc');
12
- var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
13
- var require$$0 = require('util');
14
- var Search = require('@bigbinary/neeto-molecules/Search');
15
10
  var classNames = require('classnames');
11
+ var neetoCist = require('@bigbinary/neeto-cist');
12
+ var Search = require('@bigbinary/neeto-molecules/Search');
13
+ var reactI18next = require('react-i18next');
16
14
  var Scrollable = require('@bigbinary/neeto-molecules/Scrollable');
17
15
  var DateFormat = require('@bigbinary/neeto-molecules/DateFormat');
16
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
17
+ var require$$0 = require('util');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
20
 
21
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
- var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
23
- var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
24
22
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
23
+ var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
25
24
  var Scrollable__default = /*#__PURE__*/_interopDefaultLegacy(Scrollable);
26
25
  var DateFormat__default = /*#__PURE__*/_interopDefaultLegacy(DateFormat);
26
+ var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
27
27
 
28
28
  var Configure = reactUtils.withT(function (_ref) {
29
29
  var t = _ref.t,
@@ -32,7 +32,7 @@ var Configure = reactUtils.withT(function (_ref) {
32
32
  return /*#__PURE__*/React__default["default"].createElement("div", {
33
33
  className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
34
34
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
35
- className: "mt-1 text-indigo-600 2xl:mt-3",
35
+ className: "mt-1 text-indigo-600 xl:mt-3",
36
36
  href: installationUrl,
37
37
  icon: isConnected ? neetoIcons.Settings : neetoIcons.Plus,
38
38
  iconPosition: "left",
@@ -102,12 +102,16 @@ var List$1 = reactUtils.withT(function (_ref) {
102
102
  });
103
103
 
104
104
  var Accounts = function Accounts(_ref) {
105
- var accounts = _ref.accounts,
105
+ var isPane = _ref.isPane,
106
+ accounts = _ref.accounts,
106
107
  isConnected = _ref.isConnected,
107
108
  onConnect = _ref.onConnect,
108
109
  installationUrl = _ref.installationUrl;
109
110
  return /*#__PURE__*/React__default["default"].createElement("div", {
110
- className: "flex w-full flex-col border border-solid border-transparent px-0 py-2 2xl:max-w-sm 2xl:px-8"
111
+ className: classNames__default["default"]("flex w-full flex-col border border-solid border-transparent px-0 py-2", {
112
+ "2xl:max-w-sm 2xl:px-8": isPane,
113
+ "xl:max-w-sm xl:px-8": !isPane
114
+ })
111
115
  }, /*#__PURE__*/React__default["default"].createElement("div", {
112
116
  className: "mb-2"
113
117
  }, /*#__PURE__*/React__default["default"].createElement(Header, null), /*#__PURE__*/React__default["default"].createElement(List$1, {
@@ -120,115 +124,455 @@ var Accounts = function Accounts(_ref) {
120
124
  })));
121
125
  };
122
126
 
123
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
124
-
125
- /* eslint complexity: [2, 18], max-statements: [2, 33] */
126
- var shams = function hasSymbols() {
127
- if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
128
- if (typeof Symbol.iterator === 'symbol') { return true; }
129
-
130
- var obj = {};
131
- var sym = Symbol('test');
132
- var symObj = Object(sym);
133
- if (typeof sym === 'string') { return false; }
134
-
135
- if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
136
- if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
137
-
138
- // temp disabled per https://github.com/ljharb/object.assign/issues/17
139
- // if (sym instanceof Symbol) { return false; }
140
- // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
141
- // if (!(symObj instanceof Symbol)) { return false; }
142
-
143
- // if (typeof Symbol.prototype.toString !== 'function') { return false; }
144
- // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
145
-
146
- var symVal = 42;
147
- obj[sym] = symVal;
148
- for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
149
- if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
150
-
151
- if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
152
-
153
- var syms = Object.getOwnPropertySymbols(obj);
154
- if (syms.length !== 1 || syms[0] !== sym) { return false; }
155
-
156
- if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
157
-
158
- if (typeof Object.getOwnPropertyDescriptor === 'function') {
159
- var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
160
- if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
161
- }
162
-
163
- return true;
164
- };
165
-
166
- var origSymbol = typeof Symbol !== 'undefined' && Symbol;
167
- var hasSymbolSham = shams;
168
-
169
- var hasSymbols$1 = function hasNativeSymbols() {
170
- if (typeof origSymbol !== 'function') { return false; }
171
- if (typeof Symbol !== 'function') { return false; }
172
- if (typeof origSymbol('foo') !== 'symbol') { return false; }
173
- if (typeof Symbol('bar') !== 'symbol') { return false; }
174
-
175
- return hasSymbolSham();
176
- };
177
-
178
- var test = {
179
- foo: {}
180
- };
127
+ function _arrayWithHoles(arr) {
128
+ if (Array.isArray(arr)) return arr;
129
+ }
181
130
 
182
- var $Object = Object;
131
+ function _iterableToArrayLimit(arr, i) {
132
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
133
+ if (null != _i) {
134
+ var _s,
135
+ _e,
136
+ _x,
137
+ _r,
138
+ _arr = [],
139
+ _n = !0,
140
+ _d = !1;
141
+ try {
142
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
143
+ if (Object(_i) !== _i) return;
144
+ _n = !1;
145
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
146
+ } catch (err) {
147
+ _d = !0, _e = err;
148
+ } finally {
149
+ try {
150
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
151
+ } finally {
152
+ if (_d) throw _e;
153
+ }
154
+ }
155
+ return _arr;
156
+ }
157
+ }
183
158
 
184
- var hasProto$1 = function hasProto() {
185
- return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
186
- };
159
+ function _arrayLikeToArray(arr, len) {
160
+ if (len == null || len > arr.length) len = arr.length;
161
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
162
+ return arr2;
163
+ }
187
164
 
188
- /* eslint no-invalid-this: 1 */
165
+ function _unsupportedIterableToArray(o, minLen) {
166
+ if (!o) return;
167
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
168
+ var n = Object.prototype.toString.call(o).slice(8, -1);
169
+ if (n === "Object" && o.constructor) n = o.constructor.name;
170
+ if (n === "Map" || n === "Set") return Array.from(o);
171
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
172
+ }
189
173
 
190
- var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
191
- var toStr$1 = Object.prototype.toString;
192
- var max = Math.max;
193
- var funcType = '[object Function]';
174
+ function _nonIterableRest() {
175
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
176
+ }
194
177
 
195
- var concatty = function concatty(a, b) {
196
- var arr = [];
178
+ function _slicedToArray(arr, i) {
179
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
180
+ }
197
181
 
198
- for (var i = 0; i < a.length; i += 1) {
199
- arr[i] = a[i];
200
- }
201
- for (var j = 0; j < b.length; j += 1) {
202
- arr[j + a.length] = b[j];
182
+ var NoRepositories = reactUtils.withT(function (_ref) {
183
+ var t = _ref.t,
184
+ installationUrl = _ref.installationUrl,
185
+ troubleshootUrl = _ref.troubleshootUrl;
186
+ return /*#__PURE__*/React__default["default"].createElement("div", {
187
+ className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
188
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
189
+ style: "body2"
190
+ }, t("neetoGithub.noReposDescription")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
191
+ href: installationUrl,
192
+ icon: misc.Github,
193
+ iconPosition: "left",
194
+ label: t("neetoGithub.connectRepository"),
195
+ size: "medium",
196
+ style: "primary"
197
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
198
+ className: "text-xs"
199
+ }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
200
+ i18nKey: "troubleshoot",
201
+ components: {
202
+ troubleshootLink: /*#__PURE__*/React__default["default"].createElement("a", {
203
+ className: "text-indigo-600 underline",
204
+ href: troubleshootUrl,
205
+ rel: "noopener noreferrer",
206
+ target: "_blank"
207
+ })
203
208
  }
209
+ })));
210
+ });
204
211
 
205
- return arr;
206
- };
207
-
208
- var slicy = function slicy(arrLike, offset) {
209
- var arr = [];
210
- for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
211
- arr[j] = arrLike[i];
212
+ var RepositoryTile = function RepositoryTile(_ref) {
213
+ var onConnect = _ref.onConnect,
214
+ repository = _ref.repository;
215
+ var _useTranslation = reactI18next.useTranslation(),
216
+ t = _useTranslation.t;
217
+ var id = repository.id,
218
+ fullName = repository.fullName,
219
+ isPrivate = repository.isPrivate,
220
+ updatedAt = repository.updatedAt;
221
+ return /*#__PURE__*/React__default["default"].createElement("div", {
222
+ 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",
223
+ key: id
224
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
225
+ className: "width-calc flex items-center space-x-2"
226
+ }, /*#__PURE__*/React__default["default"].createElement(misc.Github, {
227
+ size: 16
228
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
229
+ style: "body2"
230
+ }, fullName), isPrivate && /*#__PURE__*/React__default["default"].createElement(neetoIcons.Lock, {
231
+ size: 16
232
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
233
+ className: "hidden md:inline-block"
234
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
235
+ className: "neeto-ui-text-gray-900 mx-2 text-sm",
236
+ component: "span",
237
+ style: "h3"
238
+ }, "\u2022"), /*#__PURE__*/React__default["default"].createElement(DateFormat__default["default"].FromNow, {
239
+ date: updatedAt
240
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
241
+ style: "primary",
242
+ type: "button",
243
+ onClick: function onClick() {
244
+ return onConnect({
245
+ repoType: "private",
246
+ repository: repository
247
+ });
212
248
  }
213
- return arr;
249
+ }, t("neetoGithub.connect")));
214
250
  };
215
251
 
216
- var joiny = function (arr, joiner) {
217
- var str = '';
218
- for (var i = 0; i < arr.length; i += 1) {
219
- str += arr[i];
220
- if (i + 1 < arr.length) {
221
- str += joiner;
222
- }
223
- }
224
- return str;
225
- };
252
+ var List = reactUtils.withT(function (_ref) {
253
+ var t = _ref.t,
254
+ isPublicRepoAllowed = _ref.isPublicRepoAllowed,
255
+ filteredRepositories = _ref.filteredRepositories,
256
+ repositories = _ref.repositories,
257
+ onConnect = _ref.onConnect,
258
+ installationUrl = _ref.installationUrl,
259
+ troubleshootUrl = _ref.troubleshootUrl;
260
+ return /*#__PURE__*/React__default["default"].createElement("div", {
261
+ className: classNames__default["default"]("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", {
262
+ "h-52": isPublicRepoAllowed,
263
+ "h-72": !isPublicRepoAllowed
264
+ })
265
+ }, neetoCist.isPresent(repositories) ? /*#__PURE__*/React__default["default"].createElement(Scrollable__default["default"], {
266
+ className: "m-0 h-full w-full overflow-y-scroll p-0 shadow-inner"
267
+ }, neetoCist.isPresent(filteredRepositories) ? filteredRepositories.map(function (repository) {
268
+ return /*#__PURE__*/React__default["default"].createElement(RepositoryTile, {
269
+ onConnect: onConnect,
270
+ repository: repository
271
+ });
272
+ }) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
273
+ className: "flex h-full w-full items-center justify-center",
274
+ style: "body2"
275
+ }, t("neetoGithub.noRepos"))) : /*#__PURE__*/React__default["default"].createElement(NoRepositories, {
276
+ installationUrl: installationUrl,
277
+ troubleshootUrl: troubleshootUrl
278
+ }));
279
+ });
226
280
 
227
- var implementation$1 = function bind(that) {
228
- var target = this;
229
- if (typeof target !== 'function' || toStr$1.apply(target) !== funcType) {
230
- throw new TypeError(ERROR_MESSAGE + target);
231
- }
281
+ var NotConnected = reactUtils.withT(function (_ref) {
282
+ var t = _ref.t,
283
+ installationUrl = _ref.installationUrl;
284
+ return /*#__PURE__*/React__default["default"].createElement("div", {
285
+ className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
286
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
287
+ style: "body2"
288
+ }, t("neetoGithub.notConnectedDescription")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
289
+ href: installationUrl,
290
+ icon: misc.Github,
291
+ iconPosition: "left",
292
+ label: t("neetoGithub.connectGithub"),
293
+ size: "medium",
294
+ style: "primary"
295
+ }));
296
+ });
297
+
298
+ var Private = function Private(_ref) {
299
+ var isConnected = _ref.isConnected,
300
+ isPublicRepoAllowed = _ref.isPublicRepoAllowed,
301
+ repositories = _ref.repositories,
302
+ onConnect = _ref.onConnect,
303
+ installationUrl = _ref.installationUrl,
304
+ troubleshootUrl = _ref.troubleshootUrl;
305
+ var _useTranslation = reactI18next.useTranslation(),
306
+ t = _useTranslation.t;
307
+ var _useState = React.useState(repositories),
308
+ _useState2 = _slicedToArray(_useState, 2),
309
+ filteredRepositories = _useState2[0],
310
+ setFilteredRepositories = _useState2[1];
311
+ var onSearch = function onSearch(searchTerm) {
312
+ if (!neetoCist.isPresent(searchTerm)) {
313
+ setFilteredRepositories(repositories);
314
+ return;
315
+ }
316
+ var filteredRepositories = repositories.filter(function (_ref2) {
317
+ var fullName = _ref2.fullName;
318
+ return fullName.toLowerCase().includes(searchTerm.toLowerCase());
319
+ });
320
+ setFilteredRepositories(filteredRepositories);
321
+ };
322
+ return /*#__PURE__*/React__default["default"].createElement("div", {
323
+ className: "connect-repo neeto-ui-rounded-md neeto-ui-border-gray-300 border border-solid px-8 py-7"
324
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
325
+ className: "mb-2 pb-5 text-lg font-medium",
326
+ style: "h2"
327
+ }, t("neetoGithub.connectARepo")), isConnected ? /*#__PURE__*/React__default["default"].createElement("div", {
328
+ className: "flex w-full flex-col space-y-6"
329
+ }, /*#__PURE__*/React__default["default"].createElement(Search__default["default"], {
330
+ onSearch: onSearch,
331
+ className: "w-full",
332
+ suffix: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
333
+ style: "body2"
334
+ }, t("neetoGithub.countOf.repos", {
335
+ count: filteredRepositories.length
336
+ }))
337
+ }), /*#__PURE__*/React__default["default"].createElement(List, {
338
+ isPublicRepoAllowed: isPublicRepoAllowed,
339
+ filteredRepositories: filteredRepositories,
340
+ installationUrl: installationUrl,
341
+ onConnect: onConnect,
342
+ repositories: repositories,
343
+ troubleshootUrl: troubleshootUrl
344
+ })) : /*#__PURE__*/React__default["default"].createElement("div", {
345
+ className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
346
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
347
+ 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"
348
+ }, /*#__PURE__*/React__default["default"].createElement(NotConnected, {
349
+ installationUrl: installationUrl
350
+ }))));
351
+ };
352
+
353
+ var Public = function Public(_ref) {
354
+ var onConnect = _ref.onConnect;
355
+ var _useTranslation = reactI18next.useTranslation(),
356
+ t = _useTranslation.t;
357
+ var _useState = React.useState(""),
358
+ _useState2 = _slicedToArray(_useState, 2),
359
+ publicRepoUrl = _useState2[0],
360
+ setPublicRepoUrl = _useState2[1];
361
+ return /*#__PURE__*/React__default["default"].createElement("div", {
362
+ className: "transition-drop-shadow neeto-ui-border-gray-300 neeto-ui-rounded-md border border-solid px-8 py-7 font-sans transition-colors"
363
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
364
+ className: "mb-2 pb-5"
365
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
366
+ className: "flex justify-between"
367
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
368
+ className: "pr-4"
369
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
370
+ className: "text-lg font-medium",
371
+ style: "h2"
372
+ }, t("neetoGithub.publicGitRepo")), /*#__PURE__*/React__default["default"].createElement("div", {
373
+ className: "neeto-ui-text-gray-900 mt-2 flex max-w-xl space-x-1 font-sans text-sm font-normal leading-6 antialiased"
374
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
375
+ style: "body2"
376
+ }, t("neetoGithub.publicGitRepoDescription")))))), /*#__PURE__*/React__default["default"].createElement("div", {
377
+ className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
378
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
379
+ className: "flex"
380
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
381
+ className: "z-0 flex-1"
382
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
383
+ className: "w-full"
384
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
385
+ nakedInput: true,
386
+ autocomplete: "false",
387
+ className: "relative rounded-b rounded-l rounded-r-none rounded-t border-b border-l border-r-0 border-t border-solid px-2",
388
+ placeholder: t("neetoGithub.publicGitRepoPlaceholder"),
389
+ size: "large",
390
+ spellcheck: "false",
391
+ type: "text",
392
+ value: publicRepoUrl,
393
+ onChange: function onChange(e) {
394
+ return setPublicRepoUrl(e.target.value);
395
+ }
396
+ }))), /*#__PURE__*/React__default["default"].createElement("div", {
397
+ className: "relative"
398
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
399
+ className: "rounded-b rounded-l-none rounded-r rounded-t",
400
+ disabled: !neetoCist.isPresent(publicRepoUrl),
401
+ size: "large",
402
+ style: "primary",
403
+ type: "button",
404
+ onClick: function onClick() {
405
+ return onConnect({
406
+ repoType: "public",
407
+ repository: {
408
+ fullName: publicRepoUrl
409
+ }
410
+ });
411
+ }
412
+ }, t("neetoGithub.continue"))))));
413
+ };
414
+
415
+ var Repositories = function Repositories(_ref) {
416
+ var isConnected = _ref.isConnected,
417
+ isPublicRepoAllowed = _ref.isPublicRepoAllowed,
418
+ repositories = _ref.repositories,
419
+ onConnect = _ref.onConnect,
420
+ installationUrl = _ref.installationUrl,
421
+ troubleshootUrl = _ref.troubleshootUrl;
422
+ return /*#__PURE__*/React__default["default"].createElement("div", {
423
+ className: "w-full space-y-6"
424
+ }, /*#__PURE__*/React__default["default"].createElement(Private, {
425
+ isPublicRepoAllowed: isPublicRepoAllowed,
426
+ installationUrl: installationUrl,
427
+ isConnected: isConnected,
428
+ onConnect: onConnect,
429
+ repositories: repositories,
430
+ troubleshootUrl: troubleshootUrl
431
+ }), isPublicRepoAllowed && /*#__PURE__*/React__default["default"].createElement(Public, {
432
+ onConnect: onConnect
433
+ }));
434
+ };
435
+
436
+ var NeetoGithubNanoContainer = function NeetoGithubNanoContainer(_ref) {
437
+ var _ref$accounts = _ref.accounts,
438
+ accounts = _ref$accounts === void 0 ? [] : _ref$accounts,
439
+ installationUrl = _ref.installationUrl,
440
+ isConnected = _ref.isConnected,
441
+ _ref$isPublicRepoAllo = _ref.isPublicRepoAllowed,
442
+ isPublicRepoAllowed = _ref$isPublicRepoAllo === void 0 ? false : _ref$isPublicRepoAllo,
443
+ onConnect = _ref.onConnect,
444
+ _ref$repositories = _ref.repositories,
445
+ repositories = _ref$repositories === void 0 ? [] : _ref$repositories,
446
+ troubleshootUrl = _ref.troubleshootUrl,
447
+ _ref$isPane = _ref.isPane,
448
+ isPane = _ref$isPane === void 0 ? false : _ref$isPane;
449
+ return /*#__PURE__*/React__default["default"].createElement("div", {
450
+ className: "flex w-full flex-col-reverse 2xl:flex-row"
451
+ }, /*#__PURE__*/React__default["default"].createElement(Repositories, {
452
+ installationUrl: installationUrl,
453
+ isConnected: isConnected,
454
+ isPublicRepoAllowed: isPublicRepoAllowed,
455
+ onConnect: onConnect,
456
+ repositories: repositories,
457
+ troubleshootUrl: troubleshootUrl
458
+ }), /*#__PURE__*/React__default["default"].createElement(Accounts, {
459
+ accounts: accounts,
460
+ installationUrl: installationUrl,
461
+ isConnected: isConnected,
462
+ onConnect: onConnect,
463
+ isPane: isPane
464
+ }));
465
+ };
466
+
467
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
468
+
469
+ /* eslint complexity: [2, 18], max-statements: [2, 33] */
470
+ var shams = function hasSymbols() {
471
+ if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
472
+ if (typeof Symbol.iterator === 'symbol') { return true; }
473
+
474
+ var obj = {};
475
+ var sym = Symbol('test');
476
+ var symObj = Object(sym);
477
+ if (typeof sym === 'string') { return false; }
478
+
479
+ if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
480
+ if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
481
+
482
+ // temp disabled per https://github.com/ljharb/object.assign/issues/17
483
+ // if (sym instanceof Symbol) { return false; }
484
+ // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
485
+ // if (!(symObj instanceof Symbol)) { return false; }
486
+
487
+ // if (typeof Symbol.prototype.toString !== 'function') { return false; }
488
+ // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
489
+
490
+ var symVal = 42;
491
+ obj[sym] = symVal;
492
+ for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
493
+ if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
494
+
495
+ if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
496
+
497
+ var syms = Object.getOwnPropertySymbols(obj);
498
+ if (syms.length !== 1 || syms[0] !== sym) { return false; }
499
+
500
+ if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
501
+
502
+ if (typeof Object.getOwnPropertyDescriptor === 'function') {
503
+ var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
504
+ if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
505
+ }
506
+
507
+ return true;
508
+ };
509
+
510
+ var origSymbol = typeof Symbol !== 'undefined' && Symbol;
511
+ var hasSymbolSham = shams;
512
+
513
+ var hasSymbols$1 = function hasNativeSymbols() {
514
+ if (typeof origSymbol !== 'function') { return false; }
515
+ if (typeof Symbol !== 'function') { return false; }
516
+ if (typeof origSymbol('foo') !== 'symbol') { return false; }
517
+ if (typeof Symbol('bar') !== 'symbol') { return false; }
518
+
519
+ return hasSymbolSham();
520
+ };
521
+
522
+ var test = {
523
+ foo: {}
524
+ };
525
+
526
+ var $Object = Object;
527
+
528
+ var hasProto$1 = function hasProto() {
529
+ return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
530
+ };
531
+
532
+ /* eslint no-invalid-this: 1 */
533
+
534
+ var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
535
+ var toStr$1 = Object.prototype.toString;
536
+ var max = Math.max;
537
+ var funcType = '[object Function]';
538
+
539
+ var concatty = function concatty(a, b) {
540
+ var arr = [];
541
+
542
+ for (var i = 0; i < a.length; i += 1) {
543
+ arr[i] = a[i];
544
+ }
545
+ for (var j = 0; j < b.length; j += 1) {
546
+ arr[j + a.length] = b[j];
547
+ }
548
+
549
+ return arr;
550
+ };
551
+
552
+ var slicy = function slicy(arrLike, offset) {
553
+ var arr = [];
554
+ for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
555
+ arr[j] = arrLike[i];
556
+ }
557
+ return arr;
558
+ };
559
+
560
+ var joiny = function (arr, joiner) {
561
+ var str = '';
562
+ for (var i = 0; i < arr.length; i += 1) {
563
+ str += arr[i];
564
+ if (i + 1 < arr.length) {
565
+ str += joiner;
566
+ }
567
+ }
568
+ return str;
569
+ };
570
+
571
+ var implementation$1 = function bind(that) {
572
+ var target = this;
573
+ if (typeof target !== 'function' || toStr$1.apply(target) !== funcType) {
574
+ throw new TypeError(ERROR_MESSAGE + target);
575
+ }
232
576
  var args = slicy(arguments, 1);
233
577
 
234
578
  var bound;
@@ -2292,401 +2636,92 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesPars
2292
2636
  // If there's a remainder, just add whatever is left
2293
2637
 
2294
2638
  if (segment) {
2295
- keys.push('[' + key.slice(segment.index) + ']');
2296
- }
2297
-
2298
- return parseObject(keys, val, options, valuesParsed);
2299
- };
2300
-
2301
- var normalizeParseOptions = function normalizeParseOptions(opts) {
2302
- if (!opts) {
2303
- return defaults;
2304
- }
2305
-
2306
- if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
2307
- throw new TypeError('Decoder has to be a function.');
2308
- }
2309
-
2310
- if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
2311
- throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
2312
- }
2313
- var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
2314
-
2315
- return {
2316
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
2317
- allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
2318
- allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
2319
- arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
2320
- charset: charset,
2321
- charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
2322
- comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
2323
- decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
2324
- delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
2325
- // eslint-disable-next-line no-implicit-coercion, no-extra-parens
2326
- depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
2327
- ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
2328
- interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
2329
- parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
2330
- parseArrays: opts.parseArrays !== false,
2331
- plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
2332
- strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
2333
- };
2334
- };
2335
-
2336
- var parse$1 = function (str, opts) {
2337
- var options = normalizeParseOptions(opts);
2338
-
2339
- if (str === '' || str === null || typeof str === 'undefined') {
2340
- return options.plainObjects ? Object.create(null) : {};
2341
- }
2342
-
2343
- var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
2344
- var obj = options.plainObjects ? Object.create(null) : {};
2345
-
2346
- // Iterate over the keys and setup the new object
2347
-
2348
- var keys = Object.keys(tempObj);
2349
- for (var i = 0; i < keys.length; ++i) {
2350
- var key = keys[i];
2351
- var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
2352
- obj = utils.merge(obj, newObj, options);
2353
- }
2354
-
2355
- if (options.allowSparse === true) {
2356
- return obj;
2357
- }
2358
-
2359
- return utils.compact(obj);
2360
- };
2361
-
2362
- var stringify = stringify_1;
2363
- var parse = parse$1;
2364
- var formats = formats$3;
2365
-
2366
- var lib = {
2367
- formats: formats,
2368
- parse: parse,
2369
- stringify: stringify
2370
- };
2371
-
2372
- var _globalProps$organiza;
2373
- var newInstallationParams = lib.stringify({
2374
- integrator_id: initializers.globalProps === null || initializers.globalProps === void 0 || (_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.id,
2375
- integrator_type: "Organization",
2376
- redirect_path: "/projects/new"
2377
- });
2378
- var NEW_INSTALLATION_URL = "/github_integrations/app_installations/new?".concat(newInstallationParams);
2379
- var TROUBLESHOOT_URL = "https://render.com/docs/github#troubleshooting";
2380
-
2381
- function _arrayWithHoles(arr) {
2382
- if (Array.isArray(arr)) return arr;
2383
- }
2384
-
2385
- function _iterableToArrayLimit(arr, i) {
2386
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
2387
- if (null != _i) {
2388
- var _s,
2389
- _e,
2390
- _x,
2391
- _r,
2392
- _arr = [],
2393
- _n = !0,
2394
- _d = !1;
2395
- try {
2396
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
2397
- if (Object(_i) !== _i) return;
2398
- _n = !1;
2399
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
2400
- } catch (err) {
2401
- _d = !0, _e = err;
2402
- } finally {
2403
- try {
2404
- if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
2405
- } finally {
2406
- if (_d) throw _e;
2407
- }
2408
- }
2409
- return _arr;
2410
- }
2411
- }
2412
-
2413
- function _arrayLikeToArray(arr, len) {
2414
- if (len == null || len > arr.length) len = arr.length;
2415
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
2416
- return arr2;
2417
- }
2418
-
2419
- function _unsupportedIterableToArray(o, minLen) {
2420
- if (!o) return;
2421
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
2422
- var n = Object.prototype.toString.call(o).slice(8, -1);
2423
- if (n === "Object" && o.constructor) n = o.constructor.name;
2424
- if (n === "Map" || n === "Set") return Array.from(o);
2425
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
2426
- }
2427
-
2428
- function _nonIterableRest() {
2429
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2430
- }
2431
-
2432
- function _slicedToArray(arr, i) {
2433
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
2434
- }
2435
-
2436
- var NoRepositories = reactUtils.withT(function (_ref) {
2437
- var t = _ref.t,
2438
- installationUrl = _ref.installationUrl,
2439
- troubleshootUrl = _ref.troubleshootUrl;
2440
- return /*#__PURE__*/React__default["default"].createElement("div", {
2441
- className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
2442
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2443
- style: "body2"
2444
- }, t("neetoGithub.noReposDescription")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
2445
- href: installationUrl,
2446
- icon: misc.Github,
2447
- iconPosition: "left",
2448
- label: t("neetoGithub.connectRepository"),
2449
- size: "medium",
2450
- style: "primary"
2451
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2452
- className: "text-xs"
2453
- }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
2454
- i18nKey: "troubleshoot",
2455
- components: {
2456
- troubleshootLink: /*#__PURE__*/React__default["default"].createElement("a", {
2457
- className: "text-indigo-600 underline",
2458
- href: troubleshootUrl,
2459
- rel: "noopener noreferrer",
2460
- target: "_blank"
2461
- })
2462
- }
2463
- })));
2464
- });
2465
-
2466
- var RepositoryTile = function RepositoryTile(_ref) {
2467
- var onConnect = _ref.onConnect,
2468
- repository = _ref.repository;
2469
- var _useTranslation = reactI18next.useTranslation(),
2470
- t = _useTranslation.t;
2471
- var id = repository.id,
2472
- fullName = repository.fullName,
2473
- isPrivate = repository.isPrivate,
2474
- updatedAt = repository.updatedAt;
2475
- return /*#__PURE__*/React__default["default"].createElement("div", {
2476
- 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",
2477
- key: id
2478
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2479
- className: "width-calc flex items-center space-x-2"
2480
- }, /*#__PURE__*/React__default["default"].createElement(misc.Github, {
2481
- size: 16
2482
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2483
- style: "body2"
2484
- }, fullName), isPrivate && /*#__PURE__*/React__default["default"].createElement(neetoIcons.Lock, {
2485
- size: 16
2486
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2487
- className: "hidden md:inline-block"
2488
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2489
- className: "neeto-ui-text-gray-900 mx-2 text-sm",
2490
- component: "span",
2491
- style: "h3"
2492
- }, "\u2022"), /*#__PURE__*/React__default["default"].createElement(DateFormat__default["default"].FromNow, {
2493
- date: updatedAt
2494
- }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
2495
- style: "primary",
2496
- type: "button",
2497
- onClick: function onClick() {
2498
- return onConnect({
2499
- repoType: "private",
2500
- repository: repository
2501
- });
2639
+ keys.push('[' + key.slice(segment.index) + ']');
2502
2640
  }
2503
- }, t("neetoGithub.connect")));
2641
+
2642
+ return parseObject(keys, val, options, valuesParsed);
2504
2643
  };
2505
2644
 
2506
- var List = reactUtils.withT(function (_ref) {
2507
- var t = _ref.t,
2508
- isPublicRepoAllowed = _ref.isPublicRepoAllowed,
2509
- filteredRepositories = _ref.filteredRepositories,
2510
- repositories = _ref.repositories,
2511
- onConnect = _ref.onConnect,
2512
- installationUrl = _ref.installationUrl,
2513
- troubleshootUrl = _ref.troubleshootUrl;
2514
- return /*#__PURE__*/React__default["default"].createElement("div", {
2515
- className: classNames__default["default"]("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", {
2516
- "h-52": isPublicRepoAllowed,
2517
- "h-72": !isPublicRepoAllowed
2518
- })
2519
- }, neetoCist.isPresent(repositories) ? /*#__PURE__*/React__default["default"].createElement(Scrollable__default["default"], {
2520
- className: "m-0 h-full w-full overflow-y-scroll p-0 shadow-inner"
2521
- }, neetoCist.isPresent(filteredRepositories) ? filteredRepositories.map(function (repository) {
2522
- return /*#__PURE__*/React__default["default"].createElement(RepositoryTile, {
2523
- onConnect: onConnect,
2524
- repository: repository
2525
- });
2526
- }) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2527
- className: "flex h-full w-full items-center justify-center",
2528
- style: "body2"
2529
- }, t("neetoGithub.noRepos"))) : /*#__PURE__*/React__default["default"].createElement(NoRepositories, {
2530
- installationUrl: installationUrl,
2531
- troubleshootUrl: troubleshootUrl
2532
- }));
2533
- });
2645
+ var normalizeParseOptions = function normalizeParseOptions(opts) {
2646
+ if (!opts) {
2647
+ return defaults;
2648
+ }
2534
2649
 
2535
- var NotConnected = reactUtils.withT(function (_ref) {
2536
- var t = _ref.t,
2537
- installationUrl = _ref.installationUrl;
2538
- return /*#__PURE__*/React__default["default"].createElement("div", {
2539
- className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center"
2540
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2541
- style: "body2"
2542
- }, t("neetoGithub.notConnectedDescription")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
2543
- href: installationUrl,
2544
- icon: misc.Github,
2545
- iconPosition: "left",
2546
- label: t("neetoGithub.connectGithub"),
2547
- size: "medium",
2548
- style: "primary"
2549
- }));
2550
- });
2650
+ if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
2651
+ throw new TypeError('Decoder has to be a function.');
2652
+ }
2551
2653
 
2552
- var Private = function Private(_ref) {
2553
- var isConnected = _ref.isConnected,
2554
- isPublicRepoAllowed = _ref.isPublicRepoAllowed,
2555
- repositories = _ref.repositories,
2556
- onConnect = _ref.onConnect,
2557
- installationUrl = _ref.installationUrl,
2558
- troubleshootUrl = _ref.troubleshootUrl;
2559
- var _useTranslation = reactI18next.useTranslation(),
2560
- t = _useTranslation.t;
2561
- var _useState = React.useState(repositories),
2562
- _useState2 = _slicedToArray(_useState, 2),
2563
- filteredRepositories = _useState2[0],
2564
- setFilteredRepositories = _useState2[1];
2565
- var onSearch = function onSearch(searchTerm) {
2566
- if (!neetoCist.isPresent(searchTerm)) {
2567
- setFilteredRepositories(repositories);
2568
- return;
2654
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
2655
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
2569
2656
  }
2570
- var filteredRepositories = repositories.filter(function (_ref2) {
2571
- var fullName = _ref2.fullName;
2572
- return fullName.toLowerCase().includes(searchTerm.toLowerCase());
2573
- });
2574
- setFilteredRepositories(filteredRepositories);
2575
- };
2576
- return /*#__PURE__*/React__default["default"].createElement("div", {
2577
- className: "connect-repo neeto-ui-rounded-md neeto-ui-border-gray-300 border border-solid px-8 py-7"
2578
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2579
- className: "mb-2 pb-5 text-lg font-medium",
2580
- style: "h2"
2581
- }, t("neetoGithub.connectARepo")), isConnected ? /*#__PURE__*/React__default["default"].createElement("div", {
2582
- className: "flex w-full flex-col space-y-6"
2583
- }, /*#__PURE__*/React__default["default"].createElement(Search__default["default"], {
2584
- onSearch: onSearch,
2585
- className: "w-full",
2586
- suffix: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2587
- style: "body2"
2588
- }, t("neetoGithub.countOf.repos", {
2589
- count: filteredRepositories.length
2590
- }))
2591
- }), /*#__PURE__*/React__default["default"].createElement(List, {
2592
- isPublicRepoAllowed: isPublicRepoAllowed,
2593
- filteredRepositories: filteredRepositories,
2594
- installationUrl: installationUrl,
2595
- onConnect: onConnect,
2596
- repositories: repositories,
2597
- troubleshootUrl: troubleshootUrl
2598
- })) : /*#__PURE__*/React__default["default"].createElement("div", {
2599
- className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
2600
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2601
- 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"
2602
- }, /*#__PURE__*/React__default["default"].createElement(NotConnected, {
2603
- installationUrl: installationUrl
2604
- }))));
2657
+ var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
2658
+
2659
+ return {
2660
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
2661
+ allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
2662
+ allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
2663
+ arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
2664
+ charset: charset,
2665
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
2666
+ comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
2667
+ decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
2668
+ delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
2669
+ // eslint-disable-next-line no-implicit-coercion, no-extra-parens
2670
+ depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
2671
+ ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
2672
+ interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
2673
+ parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
2674
+ parseArrays: opts.parseArrays !== false,
2675
+ plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
2676
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
2677
+ };
2605
2678
  };
2606
2679
 
2607
- var Public = function Public(_ref) {
2608
- var onConnect = _ref.onConnect;
2609
- var _useTranslation = reactI18next.useTranslation(),
2610
- t = _useTranslation.t;
2611
- var _useState = React.useState(""),
2612
- _useState2 = _slicedToArray(_useState, 2),
2613
- publicRepoUrl = _useState2[0],
2614
- setPublicRepoUrl = _useState2[1];
2615
- return /*#__PURE__*/React__default["default"].createElement("div", {
2616
- className: "transition-drop-shadow neeto-ui-border-gray-300 neeto-ui-rounded-md border border-solid px-8 py-7 font-sans transition-colors"
2617
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2618
- className: "mb-2 pb-5"
2619
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2620
- className: "flex justify-between"
2621
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2622
- className: "pr-4"
2623
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2624
- className: "text-lg font-medium",
2625
- style: "h2"
2626
- }, t("neetoGithub.publicGitRepo")), /*#__PURE__*/React__default["default"].createElement("div", {
2627
- className: "neeto-ui-text-gray-900 mt-2 flex max-w-xl space-x-1 font-sans text-sm font-normal leading-6 antialiased"
2628
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2629
- style: "body2"
2630
- }, t("neetoGithub.publicGitRepoDescription")))))), /*#__PURE__*/React__default["default"].createElement("div", {
2631
- className: "neeto-ui-text-gray-900 font-sans text-sm font-normal leading-6 antialiased"
2632
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2633
- className: "flex"
2634
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2635
- className: "z-0 flex-1"
2636
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2637
- className: "w-full"
2638
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
2639
- nakedInput: true,
2640
- autocomplete: "false",
2641
- className: "relative rounded-b rounded-l rounded-r-none rounded-t border-b border-l border-r-0 border-t border-solid px-2",
2642
- placeholder: t("neetoGithub.publicGitRepoPlaceholder"),
2643
- size: "large",
2644
- spellcheck: "false",
2645
- type: "text",
2646
- value: publicRepoUrl,
2647
- onChange: function onChange(e) {
2648
- return setPublicRepoUrl(e.target.value);
2680
+ var parse$1 = function (str, opts) {
2681
+ var options = normalizeParseOptions(opts);
2682
+
2683
+ if (str === '' || str === null || typeof str === 'undefined') {
2684
+ return options.plainObjects ? Object.create(null) : {};
2649
2685
  }
2650
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
2651
- className: "relative"
2652
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
2653
- className: "rounded-b rounded-l-none rounded-r rounded-t",
2654
- disabled: !neetoCist.isPresent(publicRepoUrl),
2655
- size: "large",
2656
- style: "primary",
2657
- type: "button",
2658
- onClick: function onClick() {
2659
- return onConnect({
2660
- repoType: "public",
2661
- repository: {
2662
- fullName: publicRepoUrl
2663
- }
2664
- });
2686
+
2687
+ var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
2688
+ var obj = options.plainObjects ? Object.create(null) : {};
2689
+
2690
+ // Iterate over the keys and setup the new object
2691
+
2692
+ var keys = Object.keys(tempObj);
2693
+ for (var i = 0; i < keys.length; ++i) {
2694
+ var key = keys[i];
2695
+ var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
2696
+ obj = utils.merge(obj, newObj, options);
2665
2697
  }
2666
- }, t("neetoGithub.continue"))))));
2698
+
2699
+ if (options.allowSparse === true) {
2700
+ return obj;
2701
+ }
2702
+
2703
+ return utils.compact(obj);
2667
2704
  };
2668
2705
 
2669
- var Repositories = function Repositories(_ref) {
2670
- var isConnected = _ref.isConnected,
2671
- isPublicRepoAllowed = _ref.isPublicRepoAllowed,
2672
- repositories = _ref.repositories,
2673
- onConnect = _ref.onConnect,
2674
- installationUrl = _ref.installationUrl,
2675
- troubleshootUrl = _ref.troubleshootUrl;
2676
- return /*#__PURE__*/React__default["default"].createElement("div", {
2677
- className: "w-full space-y-6 2xl:max-w-7xl"
2678
- }, /*#__PURE__*/React__default["default"].createElement(Private, {
2679
- isPublicRepoAllowed: isPublicRepoAllowed,
2680
- installationUrl: installationUrl,
2681
- isConnected: isConnected,
2682
- onConnect: onConnect,
2683
- repositories: repositories,
2684
- troubleshootUrl: troubleshootUrl
2685
- }), isPublicRepoAllowed && /*#__PURE__*/React__default["default"].createElement(Public, {
2686
- onConnect: onConnect
2687
- }));
2706
+ var stringify = stringify_1;
2707
+ var parse = parse$1;
2708
+ var formats = formats$3;
2709
+
2710
+ var lib = {
2711
+ formats: formats,
2712
+ parse: parse,
2713
+ stringify: stringify
2688
2714
  };
2689
2715
 
2716
+ var _globalProps$organiza;
2717
+ var newInstallationParams = lib.stringify({
2718
+ integrator_id: initializers.globalProps === null || initializers.globalProps === void 0 || (_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.id,
2719
+ integrator_type: "Organization",
2720
+ redirect_path: "/projects/new"
2721
+ });
2722
+ var NEW_INSTALLATION_URL = "/github_integrations/app_installations/new?".concat(newInstallationParams);
2723
+ var TROUBLESHOOT_URL = "https://render.com/docs/github#troubleshooting";
2724
+
2690
2725
  var NeetoGithubNanoModal = function NeetoGithubNanoModal(_ref) {
2691
2726
  var isOpen = _ref.isOpen,
2692
2727
  onClose = _ref.onClose,
@@ -2718,23 +2753,16 @@ var NeetoGithubNanoModal = function NeetoGithubNanoModal(_ref) {
2718
2753
  }, t("neetoGithub.modal.title")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
2719
2754
  className: "mt-4",
2720
2755
  style: "body2"
2721
- }, t("neetoGithub.modal.description"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
2722
- className: "w-full"
2723
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2724
- className: "flex flex-col-reverse 2xl:flex-row"
2725
- }, /*#__PURE__*/React__default["default"].createElement(Repositories, {
2756
+ }, t("neetoGithub.modal.description"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement(NeetoGithubNanoContainer, {
2757
+ accounts: accounts,
2726
2758
  installationUrl: installationUrl,
2727
2759
  isConnected: isConnected,
2728
2760
  isPublicRepoAllowed: isPublicRepoAllowed,
2729
2761
  onConnect: onConnect,
2730
2762
  repositories: repositories,
2731
- troubleshootUrl: troubleshootUrl
2732
- }), /*#__PURE__*/React__default["default"].createElement(Accounts, {
2733
- accounts: accounts,
2734
- installationUrl: installationUrl,
2735
- isConnected: isConnected,
2736
- onConnect: onConnect
2737
- })))));
2763
+ troubleshootUrl: troubleshootUrl,
2764
+ isPane: true
2765
+ })));
2738
2766
  };
2739
2767
 
2740
2768
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
@@ -2742,5 +2770,6 @@ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r
2742
2770
  var css = ".width-calc{width:calc(100% - 82px)}.neeto-github-modal-pane-wrapper{width:min(75%,1280px)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3JlcG9zaXRvcnktdGlsZS5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3R5bGVzaGVldHMvYXBwbGljYXRpb24uc2NzcyIsImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3BhbmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUNFLHVCQ0NGLENDRkEsaUNBQ0UscUJES0YiLCJzb3VyY2VzQ29udGVudCI6WyIud2lkdGgtY2FsYyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MnB4KTtcbn1cbiIsIi53aWR0aC1jYWxjIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgycHgpO1xufVxuXG4ubmVldG8tZ2l0aHViLW1vZGFsLXBhbmUtd3JhcHBlciB7XG4gIHdpZHRoOiBtaW4oNzUlLCAxMjgwcHgpO1xufSIsIi5uZWV0by1naXRodWItbW9kYWwtcGFuZS13cmFwcGVyIHtcbiAgd2lkdGg6IG1pbig3NSUsIDEyODBweCk7XG59XG4iXX0= */";
2743
2771
  n(css,{});
2744
2772
 
2773
+ exports.NeetoGithubNanoContainer = NeetoGithubNanoContainer;
2745
2774
  exports.NeetoGithubNanoModal = NeetoGithubNanoModal;
2746
2775
  //# sourceMappingURL=index.cjs.js.map