@trops/dash-core 0.1.210 → 0.1.212

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
@@ -7936,7 +7936,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
7936
7936
  var hasPropertyDescriptors_1 = hasPropertyDescriptors;
7937
7937
 
7938
7938
  var keys = objectKeys$2;
7939
- var hasSymbols$5 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
7939
+ var hasSymbols$4 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
7940
7940
 
7941
7941
  var toStr$4 = Object.prototype.toString;
7942
7942
  var concat = Array.prototype.concat;
@@ -7969,7 +7969,7 @@ var defineProperty$1 = function (object, name, value, predicate) {
7969
7969
  var defineProperties$1 = function (object, map) {
7970
7970
  var predicates = arguments.length > 2 ? arguments[2] : {};
7971
7971
  var props = keys(map);
7972
- if (hasSymbols$5) {
7972
+ if (hasSymbols$4) {
7973
7973
  props = concat.call(props, Object.getOwnPropertySymbols(map));
7974
7974
  }
7975
7975
  for (var i = 0; i < props.length; i += 1) {
@@ -8035,11 +8035,11 @@ var sign$1 = function sign(number) {
8035
8035
  };
8036
8036
 
8037
8037
  var shams$1;
8038
- var hasRequiredShams;
8038
+ var hasRequiredShams$1;
8039
8039
 
8040
- function requireShams () {
8041
- if (hasRequiredShams) return shams$1;
8042
- hasRequiredShams = 1;
8040
+ function requireShams$1 () {
8041
+ if (hasRequiredShams$1) return shams$1;
8042
+ hasRequiredShams$1 = 1;
8043
8043
 
8044
8044
  /** @type {import('./shams')} */
8045
8045
  /* eslint complexity: [2, 18], max-statements: [2, 33] */
@@ -8088,10 +8088,10 @@ function requireShams () {
8088
8088
  }
8089
8089
 
8090
8090
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
8091
- var hasSymbolSham = requireShams();
8091
+ var hasSymbolSham = requireShams$1();
8092
8092
 
8093
8093
  /** @type {import('.')} */
8094
- var hasSymbols$4 = function hasNativeSymbols() {
8094
+ var hasSymbols$3 = function hasNativeSymbols() {
8095
8095
  if (typeof origSymbol !== 'function') { return false; }
8096
8096
  if (typeof Symbol !== 'function') { return false; }
8097
8097
  if (typeof origSymbol('foo') !== 'symbol') { return false; }
@@ -8395,7 +8395,7 @@ var ThrowTypeError = $gOPD$1
8395
8395
  }())
8396
8396
  : throwTypeError;
8397
8397
 
8398
- var hasSymbols$3 = hasSymbols$4();
8398
+ var hasSymbols$2 = hasSymbols$3();
8399
8399
 
8400
8400
  var getProto$2 = getProto$3;
8401
8401
  var $ObjectGPO = requireObject_getPrototypeOf();
@@ -8413,7 +8413,7 @@ var INTRINSICS = {
8413
8413
  '%AggregateError%': typeof AggregateError === 'undefined' ? undefined$1 : AggregateError,
8414
8414
  '%Array%': Array,
8415
8415
  '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer,
8416
- '%ArrayIteratorPrototype%': hasSymbols$3 && getProto$2 ? getProto$2([][Symbol.iterator]()) : undefined$1,
8416
+ '%ArrayIteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2([][Symbol.iterator]()) : undefined$1,
8417
8417
  '%AsyncFromSyncIteratorPrototype%': undefined$1,
8418
8418
  '%AsyncFunction%': needsEval,
8419
8419
  '%AsyncGenerator%': needsEval,
@@ -8444,10 +8444,10 @@ var INTRINSICS = {
8444
8444
  '%Int32Array%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array,
8445
8445
  '%isFinite%': isFinite,
8446
8446
  '%isNaN%': isNaN,
8447
- '%IteratorPrototype%': hasSymbols$3 && getProto$2 ? getProto$2(getProto$2([][Symbol.iterator]())) : undefined$1,
8447
+ '%IteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2(getProto$2([][Symbol.iterator]())) : undefined$1,
8448
8448
  '%JSON%': typeof JSON === 'object' ? JSON : undefined$1,
8449
8449
  '%Map%': typeof Map === 'undefined' ? undefined$1 : Map,
8450
- '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$3 || !getProto$2 ? undefined$1 : getProto$2(new Map()[Symbol.iterator]()),
8450
+ '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$2 || !getProto$2 ? undefined$1 : getProto$2(new Map()[Symbol.iterator]()),
8451
8451
  '%Math%': Math,
8452
8452
  '%Number%': Number,
8453
8453
  '%Object%': $Object$2,
@@ -8461,11 +8461,11 @@ var INTRINSICS = {
8461
8461
  '%Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect,
8462
8462
  '%RegExp%': RegExp,
8463
8463
  '%Set%': typeof Set === 'undefined' ? undefined$1 : Set,
8464
- '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$3 || !getProto$2 ? undefined$1 : getProto$2(new Set()[Symbol.iterator]()),
8464
+ '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$2 || !getProto$2 ? undefined$1 : getProto$2(new Set()[Symbol.iterator]()),
8465
8465
  '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer,
8466
8466
  '%String%': String,
8467
- '%StringIteratorPrototype%': hasSymbols$3 && getProto$2 ? getProto$2(''[Symbol.iterator]()) : undefined$1,
8468
- '%Symbol%': hasSymbols$3 ? Symbol : undefined$1,
8467
+ '%StringIteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2(''[Symbol.iterator]()) : undefined$1,
8468
+ '%Symbol%': hasSymbols$2 ? Symbol : undefined$1,
8469
8469
  '%SyntaxError%': $SyntaxError$1,
8470
8470
  '%ThrowTypeError%': ThrowTypeError,
8471
8471
  '%TypedArray%': TypedArray,
@@ -8818,12 +8818,12 @@ var callBound$i = function callBoundIntrinsic(name, allowMissing) {
8818
8818
 
8819
8819
  // modified from https://github.com/es-shims/es6-shim
8820
8820
  var objectKeys$1 = objectKeys$2;
8821
- var hasSymbols$2 = requireShams()();
8821
+ var hasSymbols$1 = requireShams$1()();
8822
8822
  var callBound$h = callBound$i;
8823
8823
  var $Object$1 = esObjectAtoms;
8824
8824
  var $push = callBound$h('Array.prototype.push');
8825
8825
  var $propIsEnumerable = callBound$h('Object.prototype.propertyIsEnumerable');
8826
- var originalGetSymbols = hasSymbols$2 ? $Object$1.getOwnPropertySymbols : null;
8826
+ var originalGetSymbols = hasSymbols$1 ? $Object$1.getOwnPropertySymbols : null;
8827
8827
 
8828
8828
  // eslint-disable-next-line no-unused-vars
8829
8829
  var implementation$8 = function assign(target, source1) {
@@ -8837,7 +8837,7 @@ var implementation$8 = function assign(target, source1) {
8837
8837
 
8838
8838
  // step 3.a.ii:
8839
8839
  var keys = objectKeys$1(from);
8840
- var getSymbols = hasSymbols$2 && ($Object$1.getOwnPropertySymbols || originalGetSymbols);
8840
+ var getSymbols = hasSymbols$1 && ($Object$1.getOwnPropertySymbols || originalGetSymbols);
8841
8841
  if (getSymbols) {
8842
8842
  var syms = getSymbols(from);
8843
8843
  for (var j = 0; j < syms.length; ++j) {
@@ -9134,14 +9134,23 @@ var regexp_prototype_flags = flagsBound;
9134
9134
 
9135
9135
  var esGetIterator = {exports: {}};
9136
9136
 
9137
- var hasSymbols$1 = requireShams();
9137
+ var shams;
9138
+ var hasRequiredShams;
9138
9139
 
9139
- /** @type {import('.')} */
9140
- var shams = function hasToStringTagShams() {
9141
- return hasSymbols$1() && !!Symbol.toStringTag;
9142
- };
9140
+ function requireShams () {
9141
+ if (hasRequiredShams) return shams;
9142
+ hasRequiredShams = 1;
9143
+
9144
+ var hasSymbols = requireShams$1();
9143
9145
 
9144
- var hasToStringTag$7 = shams();
9146
+ /** @type {import('.')} */
9147
+ shams = function hasToStringTagShams() {
9148
+ return hasSymbols() && !!Symbol.toStringTag;
9149
+ };
9150
+ return shams;
9151
+ }
9152
+
9153
+ var hasToStringTag$7 = requireShams()();
9145
9154
  var callBound$f = callBound$i;
9146
9155
 
9147
9156
  var $toString$7 = callBound$f('Object.prototype.toString');
@@ -10178,7 +10187,7 @@ var tryStringObject = function tryStringObject(value) {
10178
10187
  /** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */
10179
10188
  var $toString$6 = callBound$c('Object.prototype.toString');
10180
10189
  var strClass = '[object String]';
10181
- var hasToStringTag$6 = shams();
10190
+ var hasToStringTag$6 = requireShams()();
10182
10191
 
10183
10192
  /** @type {import('.')} */
10184
10193
  var isString$2 = function isString(value) {
@@ -10294,7 +10303,7 @@ var isSet$2 = exported$1 || function isSet(x) {
10294
10303
  var isArguments$1 = isArguments$2;
10295
10304
  var getStopIterationIterator = stopIterationIterator;
10296
10305
 
10297
- if (hasSymbols$4() || requireShams()()) {
10306
+ if (hasSymbols$3() || requireShams$1()()) {
10298
10307
  var $iterator = Symbol.iterator;
10299
10308
  // Symbol is available natively or shammed
10300
10309
  // natively:
@@ -10583,7 +10592,7 @@ var tryDateObject = function tryDateGetDayCall(value) {
10583
10592
  /** @type {(value: unknown) => string} */
10584
10593
  var toStr$2 = callBound$9('Object.prototype.toString');
10585
10594
  var dateClass = '[object Date]';
10586
- var hasToStringTag$5 = shams();
10595
+ var hasToStringTag$5 = requireShams()();
10587
10596
 
10588
10597
  /** @type {import('.')} */
10589
10598
  var isDateObject = function isDateObject(value) {
@@ -10594,7 +10603,7 @@ var isDateObject = function isDateObject(value) {
10594
10603
  };
10595
10604
 
10596
10605
  var callBound$8 = callBound$i;
10597
- var hasToStringTag$4 = shams();
10606
+ var hasToStringTag$4 = requireShams()();
10598
10607
  var hasOwn = hasown;
10599
10608
  var gOPD$1 = gopd$1;
10600
10609
 
@@ -10699,7 +10708,7 @@ var tryNumberObject = function tryNumberObject(value) {
10699
10708
  };
10700
10709
  var $toString$3 = callBound$6('Object.prototype.toString');
10701
10710
  var numClass = '[object Number]';
10702
- var hasToStringTag$3 = shams();
10711
+ var hasToStringTag$3 = requireShams()();
10703
10712
 
10704
10713
  /** @type {import('.')} */
10705
10714
  var isNumberObject = function isNumberObject(value) {
@@ -10726,7 +10735,7 @@ var tryBooleanObject = function booleanBrandCheck(value) {
10726
10735
  }
10727
10736
  };
10728
10737
  var boolClass = '[object Boolean]';
10729
- var hasToStringTag$2 = shams();
10738
+ var hasToStringTag$2 = requireShams()();
10730
10739
 
10731
10740
  /** @type {import('.')} */
10732
10741
  var isBooleanObject = function isBoolean(value) {
@@ -10768,7 +10777,7 @@ function requireSafeRegexTest () {
10768
10777
 
10769
10778
  var callBound$4 = callBound$i;
10770
10779
  var $toString$1 = callBound$4('Object.prototype.toString');
10771
- var hasSymbols = hasSymbols$4();
10780
+ var hasSymbols = hasSymbols$3();
10772
10781
  var safeRegexTest = requireSafeRegexTest();
10773
10782
 
10774
10783
  if (hasSymbols) {
@@ -11214,7 +11223,7 @@ var gOPD = gopd$1;
11214
11223
  var getProto = getProto$3;
11215
11224
 
11216
11225
  var $toString = callBound$2('Object.prototype.toString');
11217
- var hasToStringTag = shams();
11226
+ var hasToStringTag = requireShams()();
11218
11227
 
11219
11228
  var g = typeof globalThis === 'undefined' ? commonjsGlobal : globalThis;
11220
11229
  var typedArrays = availableTypedArrays();
@@ -35745,8 +35754,29 @@ var RegistryThemeDetail = function RegistryThemeDetail(_ref2) {
35745
35754
  _useState4 = _slicedToArray(_useState3, 2),
35746
35755
  installResult = _useState4[0],
35747
35756
  setInstallResult = _useState4[1];
35757
+ var _useState5 = React.useState(null),
35758
+ _useState6 = _slicedToArray(_useState5, 2),
35759
+ authFlow = _useState6[0],
35760
+ setAuthFlow = _useState6[1];
35761
+ var _useState7 = React.useState(false),
35762
+ _useState8 = _slicedToArray(_useState7, 2),
35763
+ isPolling = _useState8[0],
35764
+ setIsPolling = _useState8[1];
35765
+ var _useState9 = React.useState(null),
35766
+ _useState0 = _slicedToArray(_useState9, 2),
35767
+ authError = _useState0[0],
35768
+ setAuthError = _useState0[1];
35769
+ var pollIntervalRef = React.useRef(null);
35748
35770
  var pkg = themePackage;
35749
35771
  if (!pkg) return null;
35772
+
35773
+ // Clean up polling on unmount
35774
+ // eslint-disable-next-line react-hooks/rules-of-hooks
35775
+ React.useEffect(function () {
35776
+ return function () {
35777
+ if (pollIntervalRef.current) clearInterval(pollIntervalRef.current);
35778
+ };
35779
+ }, []);
35750
35780
  var rawColors = pkg.colors || {};
35751
35781
  // Also check top-level fields for themes that store colors directly
35752
35782
  var colors = {
@@ -35772,11 +35802,25 @@ var RegistryThemeDetail = function RegistryThemeDetail(_ref2) {
35772
35802
  case 1:
35773
35803
  setIsInstalling(true);
35774
35804
  setInstallResult(null);
35805
+ setAuthFlow(null);
35806
+ setAuthError(null);
35775
35807
  _context.prev = 2;
35776
35808
  _context.next = 3;
35777
35809
  return window.mainApi.themes.installThemeFromRegistry(appId, pkg.name);
35778
35810
  case 3:
35779
35811
  result = _context.sent;
35812
+ if (!(result !== null && result !== void 0 && result.authRequired)) {
35813
+ _context.next = 4;
35814
+ break;
35815
+ }
35816
+ // Auth needed — show inline auth prompt
35817
+ setIsInstalling(false);
35818
+ setInstallResult({
35819
+ status: "auth",
35820
+ message: result.error || "Sign in to install this theme."
35821
+ });
35822
+ return _context.abrupt("return");
35823
+ case 4:
35780
35824
  setInstallResult({
35781
35825
  status: result !== null && result !== void 0 && result.success ? "success" : "error",
35782
35826
  message: result !== null && result !== void 0 && result.success ? "Theme \"".concat(result.themeKey || pkg.displayName || pkg.name, "\" installed successfully.") : (result === null || result === void 0 ? void 0 : result.error) || "Installation failed."
@@ -35790,27 +35834,104 @@ var RegistryThemeDetail = function RegistryThemeDetail(_ref2) {
35790
35834
  onInstallComplete(result);
35791
35835
  }
35792
35836
  }
35793
- _context.next = 5;
35837
+ _context.next = 6;
35794
35838
  break;
35795
- case 4:
35796
- _context.prev = 4;
35839
+ case 5:
35840
+ _context.prev = 5;
35797
35841
  _t = _context["catch"](2);
35798
35842
  setInstallResult({
35799
35843
  status: "error",
35800
35844
  message: _t.message || "Failed to install theme."
35801
35845
  });
35802
- case 5:
35803
- _context.prev = 5;
35804
- setIsInstalling(false);
35805
- return _context.finish(5);
35806
35846
  case 6:
35847
+ _context.prev = 6;
35848
+ setIsInstalling(false);
35849
+ return _context.finish(6);
35850
+ case 7:
35807
35851
  case "end":
35808
35852
  return _context.stop();
35809
35853
  }
35810
- }, _callee, null, [[2, 4, 5, 6]]);
35854
+ }, _callee, null, [[2, 5, 6, 7]]);
35811
35855
  }));
35812
35856
  return _handleInstall.apply(this, arguments);
35813
35857
  }
35858
+ function handleSignIn() {
35859
+ return _handleSignIn.apply(this, arguments);
35860
+ }
35861
+ function _handleSignIn() {
35862
+ _handleSignIn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
35863
+ var flow, interval;
35864
+ return _regeneratorRuntime.wrap(function (_context3) {
35865
+ while (1) switch (_context3.prev = _context3.next) {
35866
+ case 0:
35867
+ setAuthError(null);
35868
+ _context3.prev = 1;
35869
+ _context3.next = 2;
35870
+ return window.mainApi.registryAuth.initiateLogin();
35871
+ case 2:
35872
+ flow = _context3.sent;
35873
+ setAuthFlow(flow);
35874
+
35875
+ // Open verification URL in browser
35876
+ if (flow.verificationUrlComplete) {
35877
+ window.mainApi.shell.openExternal(flow.verificationUrlComplete);
35878
+ }
35879
+
35880
+ // Start polling for token
35881
+ setIsPolling(true);
35882
+ interval = (flow.interval || 5) * 1000;
35883
+ pollIntervalRef.current = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
35884
+ var pollResult;
35885
+ return _regeneratorRuntime.wrap(function (_context2) {
35886
+ while (1) switch (_context2.prev = _context2.next) {
35887
+ case 0:
35888
+ _context2.prev = 0;
35889
+ _context2.next = 1;
35890
+ return window.mainApi.registryAuth.pollToken(flow.deviceCode);
35891
+ case 1:
35892
+ pollResult = _context2.sent;
35893
+ if (pollResult.status === "authorized") {
35894
+ clearInterval(pollIntervalRef.current);
35895
+ pollIntervalRef.current = null;
35896
+ setIsPolling(false);
35897
+ setAuthFlow(null);
35898
+ // DASH-144: Auto-retry install after successful auth
35899
+ handleInstall();
35900
+ } else if (pollResult.status === "expired") {
35901
+ clearInterval(pollIntervalRef.current);
35902
+ pollIntervalRef.current = null;
35903
+ setIsPolling(false);
35904
+ setAuthFlow(null);
35905
+ setAuthError("Authorization expired. Please try again.");
35906
+ }
35907
+ _context2.next = 3;
35908
+ break;
35909
+ case 2:
35910
+ _context2.prev = 2;
35911
+ _context2["catch"](0);
35912
+ clearInterval(pollIntervalRef.current);
35913
+ pollIntervalRef.current = null;
35914
+ setIsPolling(false);
35915
+ case 3:
35916
+ case "end":
35917
+ return _context2.stop();
35918
+ }
35919
+ }, _callee2, null, [[0, 2]]);
35920
+ })), interval);
35921
+ _context3.next = 4;
35922
+ break;
35923
+ case 3:
35924
+ _context3.prev = 3;
35925
+ _context3["catch"](1);
35926
+ setAuthError("Could not reach the registry. Check your connection and try again.");
35927
+ case 4:
35928
+ case "end":
35929
+ return _context3.stop();
35930
+ }
35931
+ }, _callee3, null, [[1, 3]]);
35932
+ }));
35933
+ return _handleSignIn.apply(this, arguments);
35934
+ }
35814
35935
  var colorEntries = [{
35815
35936
  label: "Primary",
35816
35937
  value: colors.primary
@@ -35889,7 +36010,7 @@ var RegistryThemeDetail = function RegistryThemeDetail(_ref2) {
35889
36010
  children: tag
35890
36011
  }, tag);
35891
36012
  })
35892
- }), installResult && /*#__PURE__*/jsxRuntime.jsx("div", {
36013
+ }), installResult && installResult.status !== "auth" && /*#__PURE__*/jsxRuntime.jsx("div", {
35893
36014
  className: "p-2 rounded border ".concat(installResult.status === "success" ? "bg-green-900/20 border-green-700" : "bg-red-900/30 border-red-700"),
35894
36015
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
35895
36016
  className: "flex items-center gap-2",
@@ -35901,8 +36022,57 @@ var RegistryThemeDetail = function RegistryThemeDetail(_ref2) {
35901
36022
  children: installResult.message
35902
36023
  })]
35903
36024
  })
36025
+ }), (installResult === null || installResult === void 0 ? void 0 : installResult.status) === "auth" && /*#__PURE__*/jsxRuntime.jsxs("div", {
36026
+ className: "space-y-3",
36027
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
36028
+ className: "bg-yellow-500/10 border border-yellow-500/20 rounded-lg p-3",
36029
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
36030
+ className: "flex items-start gap-2",
36031
+ children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
36032
+ icon: "lock",
36033
+ className: "h-3.5 w-3.5 text-yellow-400 mt-0.5 flex-shrink-0"
36034
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
36035
+ className: "text-sm text-yellow-300/90",
36036
+ children: installResult.message
36037
+ })]
36038
+ })
36039
+ }), !authFlow && !isPolling && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
36040
+ children: [/*#__PURE__*/jsxRuntime.jsx("button", {
36041
+ type: "button",
36042
+ onClick: handleSignIn,
36043
+ className: "px-4 py-2 rounded-lg text-sm bg-blue-500/20 border border-blue-500/30 text-blue-300 hover:bg-blue-500/30 transition-colors cursor-pointer",
36044
+ children: "Sign in to Registry"
36045
+ }), authError && /*#__PURE__*/jsxRuntime.jsx("div", {
36046
+ className: "bg-red-500/10 border border-red-500/20 rounded-lg p-3",
36047
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
36048
+ className: "flex items-start gap-2",
36049
+ children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
36050
+ icon: "circle-xmark",
36051
+ className: "h-3.5 w-3.5 text-red-400 mt-0.5 flex-shrink-0"
36052
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
36053
+ className: "text-xs text-red-300/90",
36054
+ children: authError
36055
+ })]
36056
+ })
36057
+ })]
36058
+ }), authFlow && isPolling && /*#__PURE__*/jsxRuntime.jsxs("div", {
36059
+ className: "bg-blue-500/10 border border-blue-500/20 rounded-lg p-4 space-y-3",
36060
+ children: [/*#__PURE__*/jsxRuntime.jsx("p", {
36061
+ className: "text-xs text-blue-300/90",
36062
+ children: "Enter this code in your browser:"
36063
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
36064
+ className: "text-center",
36065
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
36066
+ className: "text-2xl font-mono font-bold tracking-widest text-white",
36067
+ children: authFlow.userCode
36068
+ })
36069
+ }), /*#__PURE__*/jsxRuntime.jsx("p", {
36070
+ className: "text-xs text-blue-300/70 text-center",
36071
+ children: "Waiting for authorization \u2014 install will resume automatically..."
36072
+ })]
36073
+ })]
35904
36074
  })]
35905
- }), (installResult === null || installResult === void 0 ? void 0 : installResult.status) !== "success" && /*#__PURE__*/jsxRuntime.jsx("div", {
36075
+ }), (installResult === null || installResult === void 0 ? void 0 : installResult.status) !== "success" && (installResult === null || installResult === void 0 ? void 0 : installResult.status) !== "auth" && /*#__PURE__*/jsxRuntime.jsx("div", {
35906
36076
  className: "flex items-center justify-end px-6 py-3 border-t ".concat(currentTheme["border-primary-medium"]),
35907
36077
  children: /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
35908
36078
  title: isInstalling ? "Installing..." : "Install Theme",