@limrun/ui 0.9.0-rc.14 → 0.9.0-rc.15
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/components/remote-control.d.ts +125 -1
- package/dist/core/device-install/apple/provisioning.d.ts +55 -4
- package/dist/core/device-install/operations/limbuild-client.d.ts +15 -1
- package/dist/core/device-install/storage/browser-storage.d.ts +9 -5
- package/dist/core/device-install/types.d.ts +4 -1
- package/dist/device-install/index.cjs +1 -1
- package/dist/device-install/index.js +70 -64
- package/dist/device-install/react.cjs +1 -1
- package/dist/device-install/react.js +1 -1
- package/dist/device-install-dialog-DY35un0b.js +9 -0
- package/dist/device-install-dialog-chNLeiiL.mjs +2000 -0
- package/dist/device-install-dialog.css +1 -1
- package/dist/hooks/use-device-install.d.ts +5 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1286 -1116
- package/dist/use-device-install-BIrl0v-k.js +31 -0
- package/dist/{use-device-install-sDVvby1V.mjs → use-device-install-LGfEdqyM.mjs} +4388 -4271
- package/package.json +4 -2
- package/src/components/device-install/device-install-dialog.css +29 -0
- package/src/components/device-install/device-install-dialog.tsx +91 -30
- package/src/components/remote-control.tsx +535 -5
- package/src/core/device-install/apple/provisioning.test.ts +84 -0
- package/src/core/device-install/apple/provisioning.ts +91 -7
- package/src/core/device-install/operations/limbuild-client.ts +32 -2
- package/src/core/device-install/storage/browser-storage.ts +29 -14
- package/src/core/device-install/types.ts +5 -1
- package/src/hooks/use-device-install.ts +135 -59
- package/dist/device-install-dialog-CjH25hnN.js +0 -2
- package/dist/device-install-dialog-W5Xv9kWL.mjs +0 -443
- package/dist/use-device-install-Y1u6vIBB.js +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
.lr-device-install{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lr-device-install__trigger,.lr-device-install__primary,.lr-device-install__secondary,.lr-device-install__icon-button{border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font:inherit}.lr-device-install__trigger,.lr-device-install__primary{background:#111827;color:#fff;padding:8px 12px}.lr-device-install__secondary,.lr-device-install__icon-button{background:#fff;color:#111827;padding:8px 12px}.lr-device-install__trigger:disabled,.lr-device-install__primary:disabled,.lr-device-install__secondary:disabled{cursor:not-allowed;opacity:.55}.lr-device-install__backdrop{align-items:center;background:#1118278c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.lr-device-install__dialog{background:#fff;border-radius:16px;box-shadow:0 24px 80px #0f172a47;color:#111827;max-height:min(90vh,900px);max-width:880px;overflow:auto;padding:24px;width:100%}.lr-device-install__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.lr-device-install__header h2,.lr-device-install__step h3,.lr-device-install__logs h3{margin:0}.lr-device-install__header p,.lr-device-install__step p,.lr-device-install__logs{color:#4b5563}.lr-device-install__error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;margin-bottom:14px;padding:10px 12px}.lr-device-install__steps{display:grid;gap:12px}.lr-device-install__step{border:1px solid #e5e7eb;border-radius:12px;padding:14px}.lr-device-install__step--active{border-color:#111827}.lr-device-install__step-header{align-items:flex-start;background:transparent;border:0;color:inherit;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:0;text-align:left;width:100%}.lr-device-install__step-number{align-items:center;background:#111827;border-radius:999px;color:#fff;display:flex;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.lr-device-install__status{border-radius:999px;font-size:12px;padding:3px 8px;text-transform:capitalize}.lr-device-install__status--idle{background:#f3f4f6;color:#4b5563}.lr-device-install__status--active{background:#dbeafe;color:#1d4ed8}.lr-device-install__status--complete{background:#dcfce7;color:#166534}.lr-device-install__status--error{background:#fee2e2;color:#991b1b}.lr-device-install__step-body{display:grid;gap:12px;margin-top:12px}.lr-device-install__choice-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.lr-device-install__choice{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:inherit;cursor:pointer;display:grid;gap:6px;padding:12px;text-align:left}.lr-device-install__choice span{color:#4b5563;font-size:13px}.lr-device-install__choice--active{border-color:#111827;box-shadow:0 0 0 1px #111827}.lr-device-install__section-panel{border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:12px;padding:12px}.lr-device-install__grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.lr-device-install__field{display:grid;gap:6px}.lr-device-install__field span{color:#374151;font-size:13px;font-weight:600}.lr-device-install__field input,.lr-device-install__field select{border:1px solid #d1d5db;border-radius:8px;font:inherit;padding:8px 10px}.lr-device-install__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.lr-device-install__hint{color:#6b7280;font-size:13px}.lr-device-install__checklist{border:1px solid #e5e7eb;border-radius:10px;display:grid;overflow:hidden}.lr-device-install__check-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.lr-device-install__check-row+.lr-device-install__check-row{border-top:1px solid #e5e7eb}.lr-device-install__check-row strong{color:#111827;font-size:13px}.lr-device-install__build-logs{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.lr-device-install__build-logs summary{cursor:pointer;font-weight:600;padding:10px 12px}.lr-device-install__build-logs pre{background:#0f172a;color:#e5e7eb;margin:0;max-height:240px;overflow:auto;padding:12px;white-space:pre-wrap}.lr-device-install__device{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.lr-device-install__logs{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:14px}.lr-device-install__logs ol{display:grid;gap:6px;list-style:none;margin:8px 0 0;max-height:160px;overflow:auto;padding:0}.lr-device-install__logs li{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;white-space:pre-wrap}@media (max-width: 760px){.lr-device-install__choice-grid,.lr-device-install__grid{grid-template-columns:1fr}.lr-device-install__step-header{grid-template-columns:auto 1fr}.lr-device-install__status{grid-column:2}}
|
|
1
|
+
.lr-device-install{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lr-device-install__trigger,.lr-device-install__primary,.lr-device-install__secondary,.lr-device-install__icon-button{border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font:inherit}.lr-device-install__trigger,.lr-device-install__primary{background:#111827;color:#fff;padding:8px 12px}.lr-device-install__secondary,.lr-device-install__icon-button{background:#fff;color:#111827;padding:8px 12px}.lr-device-install__trigger:disabled,.lr-device-install__primary:disabled,.lr-device-install__secondary:disabled{cursor:not-allowed;opacity:.55}.lr-device-install__backdrop{align-items:center;background:#1118278c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.lr-device-install__dialog{background:#fff;border-radius:16px;box-shadow:0 24px 80px #0f172a47;color:#111827;max-height:min(90vh,900px);max-width:880px;overflow:auto;padding:24px;width:100%}.lr-device-install__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.lr-device-install__header h2,.lr-device-install__step h3,.lr-device-install__logs h3{margin:0}.lr-device-install__header p,.lr-device-install__step p,.lr-device-install__logs{color:#4b5563}.lr-device-install__error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;margin-bottom:14px;padding:10px 12px}.lr-device-install__steps{display:grid;gap:12px}.lr-device-install__step{border:1px solid #e5e7eb;border-radius:12px;padding:14px}.lr-device-install__step--active{border-color:#111827}.lr-device-install__step-header{align-items:flex-start;background:transparent;border:0;color:inherit;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:0;text-align:left;width:100%}.lr-device-install__step-number{align-items:center;background:#111827;border-radius:999px;color:#fff;display:flex;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.lr-device-install__status{border-radius:999px;font-size:12px;padding:3px 8px;text-transform:capitalize}.lr-device-install__status--idle{background:#f3f4f6;color:#4b5563}.lr-device-install__status--active{background:#dbeafe;color:#1d4ed8}.lr-device-install__status--complete{background:#dcfce7;color:#166534}.lr-device-install__status--error{background:#fee2e2;color:#991b1b}.lr-device-install__step-body{display:grid;gap:12px;margin-top:12px}.lr-device-install__choice-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.lr-device-install__choice{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:inherit;cursor:pointer;display:grid;gap:6px;padding:12px;text-align:left}.lr-device-install__choice span{color:#4b5563;font-size:13px}.lr-device-install__choice--active{border-color:#111827;box-shadow:0 0 0 1px #111827}.lr-device-install__section-panel{border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:12px;padding:12px}.lr-device-install__section-panel h4{margin:0 0 4px}.lr-device-install__grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.lr-device-install__field{display:grid;gap:6px}.lr-device-install__field span{color:#374151;font-size:13px;font-weight:600}.lr-device-install__field input,.lr-device-install__field select{border:1px solid #d1d5db;border-radius:8px;font:inherit;padding:8px 10px}.lr-device-install__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.lr-device-install__hint{color:#6b7280;font-size:13px}.lr-device-install__ota-panel{justify-items:start}.lr-device-install__qr{border:1px solid #e5e7eb;border-radius:12px;height:240px;width:240px}.lr-device-install__qr-placeholder{align-items:center;background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;color:#6b7280;display:flex;height:240px;justify-content:center;padding:16px;text-align:center;width:240px}.lr-device-install__checklist{border:1px solid #e5e7eb;border-radius:10px;display:grid;overflow:hidden}.lr-device-install__check-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.lr-device-install__check-row+.lr-device-install__check-row{border-top:1px solid #e5e7eb}.lr-device-install__check-row strong{color:#111827;font-size:13px}.lr-device-install__build-logs{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.lr-device-install__build-logs summary{cursor:pointer;font-weight:600;padding:10px 12px}.lr-device-install__build-logs pre{background:#0f172a;color:#e5e7eb;margin:0;max-height:240px;overflow:auto;padding:12px;white-space:pre-wrap}.lr-device-install__device{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.lr-device-install__logs{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:14px}.lr-device-install__logs ol{display:grid;gap:6px;list-style:none;margin:8px 0 0;max-height:160px;overflow:auto;padding:0}.lr-device-install__logs li{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;white-space:pre-wrap}@media (max-width: 760px){.lr-device-install__choice-grid,.lr-device-install__grid{grid-template-columns:1fr}.lr-device-install__step-header{grid-template-columns:auto 1fr}.lr-device-install__status{grid-column:2}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AppleDeveloperPortalDevice, AppleDeveloperPortalAppID, AppleDeveloperPortalTeam, BuildLogLine, DeviceInstallBuildStatus, DeviceInstallBusyAction, DeviceInstallStep, DeviceInstallStepStatus } from '../core/device-install';
|
|
1
|
+
import { AppleDeveloperPortalDevice, AppleDeveloperPortalAppID, AppleDeveloperPortalTeam, BuildLogLine, DeviceInstallBuildStatus, DeviceInstallBusyAction, DeviceInstallStep, DeviceInstallStepStatus, DeviceInstallSigningMode, IOSOTAInstall } from '../core/device-install';
|
|
2
2
|
type DeviceInstallStepStatuses = Record<DeviceInstallStep, DeviceInstallStepStatus>;
|
|
3
3
|
export type UseDeviceInstallOptions = {
|
|
4
4
|
apiUrl?: string;
|
|
@@ -15,6 +15,7 @@ export type UseDeviceInstallResult = {
|
|
|
15
15
|
logs: string[];
|
|
16
16
|
buildLogs: BuildLogLine[];
|
|
17
17
|
buildStatus: DeviceInstallBuildStatus;
|
|
18
|
+
currentExecID?: string;
|
|
18
19
|
appleSigningStatus: DeviceInstallAppleSigningStatus;
|
|
19
20
|
appleTeams: AppleDeveloperPortalTeam[];
|
|
20
21
|
appleDevices: AppleDeveloperPortalDevice[];
|
|
@@ -22,10 +23,12 @@ export type UseDeviceInstallResult = {
|
|
|
22
23
|
applePortalSummary?: ApplePortalSummary;
|
|
23
24
|
selectedAppleTeamID?: string;
|
|
24
25
|
selectedAppleDeviceIDs: string[];
|
|
26
|
+
signingMode: DeviceInstallSigningMode;
|
|
25
27
|
connectedAppleDeviceRegistered: boolean;
|
|
26
28
|
connectedDeviceInProfile?: boolean;
|
|
27
29
|
hasReusableAppleCertificate: boolean;
|
|
28
30
|
appleBundleID: string;
|
|
31
|
+
otaInstall?: IOSOTAInstall;
|
|
29
32
|
buildLogPanelOpen: boolean;
|
|
30
33
|
busyAction?: DeviceInstallBusyAction;
|
|
31
34
|
error?: string;
|
|
@@ -37,6 +40,7 @@ export type UseDeviceInstallResult = {
|
|
|
37
40
|
setSigningFiles: (files: DeviceInstallSigningFiles) => void;
|
|
38
41
|
setAppleBundleID: (bundleID: string) => void;
|
|
39
42
|
setSelectedAppleDeviceIDs: (deviceIDs: string[]) => void;
|
|
43
|
+
setSigningMode: (mode: DeviceInstallSigningMode) => void;
|
|
40
44
|
setBuildLogPanelOpen: (open: boolean) => void;
|
|
41
45
|
startAppleIDLogin: (input: DeviceInstallAppleIDLoginInput) => Promise<void>;
|
|
42
46
|
submitAppleTwoFactorCode: (code: string) => Promise<void>;
|