@camstack/addon-pipeline-orchestrator 1.2.321 → 1.2.322

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.
Files changed (17) hide show
  1. package/assets/viewer/.viewer-current-files.json +4 -4
  2. package/assets/viewer/.viewer-version +1 -1
  3. package/assets/viewer/_expo/static/js/web/{__common-9f973659dea9fff37e7f38d298cde702.js → __common-124848b61fc672ad8fdd1f5eda71cbe6.js} +670 -669
  4. package/assets/viewer/_expo/static/js/web/{_layout-cafca2f3c43d26601a2149ceab43d6b6.js → _layout-4d7ef0cbc091185c07fa692ec3217fbc.js} +2 -2
  5. package/assets/viewer/_expo/static/js/web/{index-3304522ec86b3e1665552440ebcd56e0.js → index-d72a896fe83c20298e2fcb0f59db5827.js} +2 -2
  6. package/assets/viewer/_expo/static/js/web/settings-8b764f81169f4d18878028022561e8bf.js +20 -0
  7. package/assets/viewer/index.html +1 -1
  8. package/dist/_stub.js +1 -1
  9. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-r3w6VJHp.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-DmJFhqvR.mjs} +1 -1
  10. package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B4TlDHpf.mjs +26 -0
  11. package/dist/{hostInit-C9HK0yjn.mjs → hostInit-gqsbiPTj.mjs} +1 -1
  12. package/dist/index.js +79 -10
  13. package/dist/index.mjs +79 -10
  14. package/dist/remoteEntry.js +1 -1
  15. package/package.json +1 -1
  16. package/assets/viewer/_expo/static/js/web/enroll-aa274233aee0a7b22644f4ed408cc19e.js +0 -19
  17. package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DQNMi62K.mjs +0 -26
package/dist/index.js CHANGED
@@ -5418,7 +5418,7 @@ var ZodIssueCode = {
5418
5418
  var ZodFirstPartyTypeKind;
5419
5419
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5420
5420
  //#endregion
5421
- //#region ../types/dist/sleep--g-h2_c_.mjs
5421
+ //#region ../types/dist/sleep-DAX0-2v9.mjs
5422
5422
  /**
5423
5423
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5424
5424
  * window to float samples (D455).
@@ -13250,6 +13250,12 @@ var ConvertResultSchema = object({
13250
13250
  files: array(string()).readonly()
13251
13251
  })).readonly()
13252
13252
  });
13253
+ _enum(["new-session", "step-up"]);
13254
+ /** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
13255
+ var AppLoginPathSchema = discriminatedUnion("kind", [object({ kind: literal("native") }), object({
13256
+ kind: literal("browser"),
13257
+ startPath: string().startsWith("/")
13258
+ })]);
13253
13259
  /**
13254
13260
  * Device certificates (D855) — the wire contract shared by the hub, the admin
13255
13261
  * UI and the native viewer.
@@ -13409,7 +13415,9 @@ object({
13409
13415
  signature: literal(DEVICE_CERT_SIGNATURE),
13410
13416
  messageVersion: literal(DEVICE_SIGNATURE_MESSAGE_VERSION),
13411
13417
  /** Which clients can execute it: a native app silently, a browser with a non-extractable WebCrypto key. */
13412
- clients: array(_enum(["native", "web"]))
13418
+ clients: array(_enum(["native", "web"])),
13419
+ /** The app executes it itself, silently (D858). */
13420
+ app: AppLoginPathSchema.nullable()
13413
13421
  });
13414
13422
  var ExpressionBindingSourceSchema = union([
13415
13423
  object({
@@ -17342,6 +17350,9 @@ method(object({}), object({
17342
17350
  }), {
17343
17351
  kind: "mutation",
17344
17352
  auth: "admin"
17353
+ }), method(object({}), object({ ok: literal(true) }), {
17354
+ kind: "mutation",
17355
+ auth: "admin"
17345
17356
  }), method(object({
17346
17357
  certPem: string().min(1),
17347
17358
  caCertPem: string().min(1),
@@ -40089,7 +40100,13 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
40089
40100
  * `beginExternalLink` offer exactly the redirect methods that set this,
40090
40101
  * whatever their id. Absent / false — a login button only.
40091
40102
  */
40092
- linkable: boolean().optional()
40103
+ linkable: boolean().optional(),
40104
+ /**
40105
+ * How a NATIVE app starts this method (D858): `{ kind: 'browser', startPath }`
40106
+ * when the route understands the app flow query (`app=1&code_challenge=…`),
40107
+ * `null`/absent when there is no app path - the app hides the method.
40108
+ */
40109
+ app: AppLoginPathSchema.nullable().optional()
40093
40110
  }),
40094
40111
  object({
40095
40112
  kind: literal("widget"),
@@ -40101,7 +40118,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
40101
40118
  bundle: string(),
40102
40119
  /** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
40103
40120
  remote: WidgetRemoteSchema,
40104
- stage: LoginStageEnum
40121
+ stage: LoginStageEnum,
40122
+ /** Widgets are web ceremonies: no native app path (D858). Absent reads as `null`. */
40123
+ app: AppLoginPathSchema.nullable().optional()
40105
40124
  }),
40106
40125
  object({
40107
40126
  kind: literal("passkey"),
@@ -40113,7 +40132,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
40113
40132
  /** Effective WebAuthn RP ID (`resolveRpID()`) — the shell gates visibility on it. */
40114
40133
  rpId: string(),
40115
40134
  /** Effective expected origin (`resolveOrigin()`), null when unconfigured. */
40116
- origin: string().nullable()
40135
+ origin: string().nullable(),
40136
+ /** Set by the hub for the primary arm; a second-factor passkey has no app path (D858). */
40137
+ app: AppLoginPathSchema.nullable().optional()
40117
40138
  })
40118
40139
  ]);
40119
40140
  method(_void(), array(LoginMethodContributionSchema).readonly());
@@ -40623,7 +40644,21 @@ var NetworkEndpointSchema = object({
40623
40644
  url: string(),
40624
40645
  hostname: string(),
40625
40646
  port: number(),
40626
- protocol: _enum(["http", "https"])
40647
+ protocol: _enum(["http", "https"]),
40648
+ /**
40649
+ * Whether this address survives a restart of its provider. `false` = it is
40650
+ * re-issued every time (a Quick tunnel's random `*.trycloudflare.com`); the
40651
+ * hub never selects such an address AUTOMATICALLY for a role (D860), though
40652
+ * it stays visible and an operator may still flag it. Absent = stable: every
40653
+ * provider except a Quick tunnel owns a name that does not change.
40654
+ */
40655
+ stable: boolean().optional()
40656
+ });
40657
+ object({
40658
+ url: string(),
40659
+ /** Mirrors {@link NetworkEndpointSchema} `stable`; absent = stable. */
40660
+ stable: boolean().optional(),
40661
+ updated: boolean().optional()
40627
40662
  });
40628
40663
  var NetworkAccessStatusSchema = object({
40629
40664
  connected: boolean(),
@@ -51596,7 +51631,20 @@ var SsoBridgeClaimsSchema = object({
51596
51631
  * request to present the matching cookie — a login bridge is useless in
51597
51632
  * any other browser.
51598
51633
  */
51599
- browserBinding: string().optional()
51634
+ browserBinding: string().optional(),
51635
+ /**
51636
+ * The native app that started this sign-in (D858): its PKCE challenge,
51637
+ * `state`, purpose and allow-listed return URL, copied from the server-side
51638
+ * pending OIDC state. A bridge carrying it is finished ONLY at
51639
+ * `/api/auth/sso/finish-app` (which mints a handoff code, never a web
51640
+ * session); `/api/auth/sso/finish` refuses it.
51641
+ */
51642
+ app: object({
51643
+ codeChallenge: string(),
51644
+ state: string(),
51645
+ purpose: _enum(["new-session", "step-up"]),
51646
+ redirect: string()
51647
+ }).optional()
51600
51648
  });
51601
51649
  method(object({
51602
51650
  claims: SsoBridgeClaimsSchema,
@@ -53802,7 +53850,12 @@ var SearchResultSchema = object({
53802
53850
  publishedAt: string(),
53803
53851
  author: string(),
53804
53852
  installed: boolean(),
53805
- installedVersion: string().optional()
53853
+ installedVersion: string().optional(),
53854
+ /**
53855
+ * Capability names the package's addons declare (from its published
53856
+ * manifest). `null` = the registry lookup failed — unknown, never `[]` (D393).
53857
+ */
53858
+ capabilities: array(string()).readonly().nullable()
53806
53859
  });
53807
53860
  var AutoUpdateSettingsSchema = object({
53808
53861
  channel: ChannelSchema,
@@ -53964,7 +54017,11 @@ method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSc
53964
54017
  }), method(object({ packageName: string().optional() }), PackageInstallationsSchema, { auth: "admin" }), method(_void(), ReloadPackagesResultSchema, {
53965
54018
  kind: "mutation",
53966
54019
  auth: "admin"
53967
- }), method(object({ query: string().optional() }), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
54020
+ }), method(object({
54021
+ query: string().optional(),
54022
+ /** Only packages whose addons declare this capability (unknown ones excluded). */
54023
+ capability: string().optional()
54024
+ }), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
53968
54025
  name: string().min(1),
53969
54026
  version: string().optional(),
53970
54027
  nodeId: string().optional()
@@ -56372,7 +56429,13 @@ var ConnectionEndpointSchema = object({
56372
56429
  * calls so the client can sort even if the cap returns a new
56373
56430
  * ordering between polls.
56374
56431
  */
56375
- priority: number()
56432
+ priority: number(),
56433
+ /**
56434
+ * `false` = the address changes on its own (a Quick tunnel, re-issued on
56435
+ * every respawn). Automatic role resolution skips it (D860); an explicit
56436
+ * operator flag still honours it. Absent = stable.
56437
+ */
56438
+ stable: boolean().optional()
56376
56439
  });
56377
56440
  /**
56378
56441
  * Where the advertised local port came from. Ordered most → least
@@ -66601,6 +66664,12 @@ Object.freeze({
66601
66664
  addonId: null,
66602
66665
  access: "create"
66603
66666
  },
66667
+ "nodeCertificates.forgetHub": {
66668
+ capName: "node-certificates",
66669
+ capScope: "system",
66670
+ addonId: null,
66671
+ access: "delete"
66672
+ },
66604
66673
  "nodeCertificates.getCertificates": {
66605
66674
  capName: "node-certificates",
66606
66675
  capScope: "system",
package/dist/index.mjs CHANGED
@@ -5390,7 +5390,7 @@ var ZodIssueCode = {
5390
5390
  var ZodFirstPartyTypeKind;
5391
5391
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5392
5392
  //#endregion
5393
- //#region ../types/dist/sleep--g-h2_c_.mjs
5393
+ //#region ../types/dist/sleep-DAX0-2v9.mjs
5394
5394
  /**
5395
5395
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5396
5396
  * window to float samples (D455).
@@ -13222,6 +13222,12 @@ var ConvertResultSchema = object({
13222
13222
  files: array(string()).readonly()
13223
13223
  })).readonly()
13224
13224
  });
13225
+ _enum(["new-session", "step-up"]);
13226
+ /** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
13227
+ var AppLoginPathSchema = discriminatedUnion("kind", [object({ kind: literal("native") }), object({
13228
+ kind: literal("browser"),
13229
+ startPath: string().startsWith("/")
13230
+ })]);
13225
13231
  /**
13226
13232
  * Device certificates (D855) — the wire contract shared by the hub, the admin
13227
13233
  * UI and the native viewer.
@@ -13381,7 +13387,9 @@ object({
13381
13387
  signature: literal(DEVICE_CERT_SIGNATURE),
13382
13388
  messageVersion: literal(DEVICE_SIGNATURE_MESSAGE_VERSION),
13383
13389
  /** Which clients can execute it: a native app silently, a browser with a non-extractable WebCrypto key. */
13384
- clients: array(_enum(["native", "web"]))
13390
+ clients: array(_enum(["native", "web"])),
13391
+ /** The app executes it itself, silently (D858). */
13392
+ app: AppLoginPathSchema.nullable()
13385
13393
  });
13386
13394
  var ExpressionBindingSourceSchema = union([
13387
13395
  object({
@@ -17314,6 +17322,9 @@ method(object({}), object({
17314
17322
  }), {
17315
17323
  kind: "mutation",
17316
17324
  auth: "admin"
17325
+ }), method(object({}), object({ ok: literal(true) }), {
17326
+ kind: "mutation",
17327
+ auth: "admin"
17317
17328
  }), method(object({
17318
17329
  certPem: string().min(1),
17319
17330
  caCertPem: string().min(1),
@@ -40061,7 +40072,13 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
40061
40072
  * `beginExternalLink` offer exactly the redirect methods that set this,
40062
40073
  * whatever their id. Absent / false — a login button only.
40063
40074
  */
40064
- linkable: boolean().optional()
40075
+ linkable: boolean().optional(),
40076
+ /**
40077
+ * How a NATIVE app starts this method (D858): `{ kind: 'browser', startPath }`
40078
+ * when the route understands the app flow query (`app=1&code_challenge=…`),
40079
+ * `null`/absent when there is no app path - the app hides the method.
40080
+ */
40081
+ app: AppLoginPathSchema.nullable().optional()
40065
40082
  }),
40066
40083
  object({
40067
40084
  kind: literal("widget"),
@@ -40073,7 +40090,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
40073
40090
  bundle: string(),
40074
40091
  /** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
40075
40092
  remote: WidgetRemoteSchema,
40076
- stage: LoginStageEnum
40093
+ stage: LoginStageEnum,
40094
+ /** Widgets are web ceremonies: no native app path (D858). Absent reads as `null`. */
40095
+ app: AppLoginPathSchema.nullable().optional()
40077
40096
  }),
40078
40097
  object({
40079
40098
  kind: literal("passkey"),
@@ -40085,7 +40104,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
40085
40104
  /** Effective WebAuthn RP ID (`resolveRpID()`) — the shell gates visibility on it. */
40086
40105
  rpId: string(),
40087
40106
  /** Effective expected origin (`resolveOrigin()`), null when unconfigured. */
40088
- origin: string().nullable()
40107
+ origin: string().nullable(),
40108
+ /** Set by the hub for the primary arm; a second-factor passkey has no app path (D858). */
40109
+ app: AppLoginPathSchema.nullable().optional()
40089
40110
  })
40090
40111
  ]);
40091
40112
  method(_void(), array(LoginMethodContributionSchema).readonly());
@@ -40595,7 +40616,21 @@ var NetworkEndpointSchema = object({
40595
40616
  url: string(),
40596
40617
  hostname: string(),
40597
40618
  port: number(),
40598
- protocol: _enum(["http", "https"])
40619
+ protocol: _enum(["http", "https"]),
40620
+ /**
40621
+ * Whether this address survives a restart of its provider. `false` = it is
40622
+ * re-issued every time (a Quick tunnel's random `*.trycloudflare.com`); the
40623
+ * hub never selects such an address AUTOMATICALLY for a role (D860), though
40624
+ * it stays visible and an operator may still flag it. Absent = stable: every
40625
+ * provider except a Quick tunnel owns a name that does not change.
40626
+ */
40627
+ stable: boolean().optional()
40628
+ });
40629
+ object({
40630
+ url: string(),
40631
+ /** Mirrors {@link NetworkEndpointSchema} `stable`; absent = stable. */
40632
+ stable: boolean().optional(),
40633
+ updated: boolean().optional()
40599
40634
  });
40600
40635
  var NetworkAccessStatusSchema = object({
40601
40636
  connected: boolean(),
@@ -51568,7 +51603,20 @@ var SsoBridgeClaimsSchema = object({
51568
51603
  * request to present the matching cookie — a login bridge is useless in
51569
51604
  * any other browser.
51570
51605
  */
51571
- browserBinding: string().optional()
51606
+ browserBinding: string().optional(),
51607
+ /**
51608
+ * The native app that started this sign-in (D858): its PKCE challenge,
51609
+ * `state`, purpose and allow-listed return URL, copied from the server-side
51610
+ * pending OIDC state. A bridge carrying it is finished ONLY at
51611
+ * `/api/auth/sso/finish-app` (which mints a handoff code, never a web
51612
+ * session); `/api/auth/sso/finish` refuses it.
51613
+ */
51614
+ app: object({
51615
+ codeChallenge: string(),
51616
+ state: string(),
51617
+ purpose: _enum(["new-session", "step-up"]),
51618
+ redirect: string()
51619
+ }).optional()
51572
51620
  });
51573
51621
  method(object({
51574
51622
  claims: SsoBridgeClaimsSchema,
@@ -53774,7 +53822,12 @@ var SearchResultSchema = object({
53774
53822
  publishedAt: string(),
53775
53823
  author: string(),
53776
53824
  installed: boolean(),
53777
- installedVersion: string().optional()
53825
+ installedVersion: string().optional(),
53826
+ /**
53827
+ * Capability names the package's addons declare (from its published
53828
+ * manifest). `null` = the registry lookup failed — unknown, never `[]` (D393).
53829
+ */
53830
+ capabilities: array(string()).readonly().nullable()
53778
53831
  });
53779
53832
  var AutoUpdateSettingsSchema = object({
53780
53833
  channel: ChannelSchema,
@@ -53936,7 +53989,11 @@ method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSc
53936
53989
  }), method(object({ packageName: string().optional() }), PackageInstallationsSchema, { auth: "admin" }), method(_void(), ReloadPackagesResultSchema, {
53937
53990
  kind: "mutation",
53938
53991
  auth: "admin"
53939
- }), method(object({ query: string().optional() }), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
53992
+ }), method(object({
53993
+ query: string().optional(),
53994
+ /** Only packages whose addons declare this capability (unknown ones excluded). */
53995
+ capability: string().optional()
53996
+ }), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
53940
53997
  name: string().min(1),
53941
53998
  version: string().optional(),
53942
53999
  nodeId: string().optional()
@@ -56344,7 +56401,13 @@ var ConnectionEndpointSchema = object({
56344
56401
  * calls so the client can sort even if the cap returns a new
56345
56402
  * ordering between polls.
56346
56403
  */
56347
- priority: number()
56404
+ priority: number(),
56405
+ /**
56406
+ * `false` = the address changes on its own (a Quick tunnel, re-issued on
56407
+ * every respawn). Automatic role resolution skips it (D860); an explicit
56408
+ * operator flag still honours it. Absent = stable.
56409
+ */
56410
+ stable: boolean().optional()
56348
56411
  });
56349
56412
  /**
56350
56413
  * Where the advertised local port came from. Ordered most → least
@@ -66573,6 +66636,12 @@ Object.freeze({
66573
66636
  addonId: null,
66574
66637
  access: "create"
66575
66638
  },
66639
+ "nodeCertificates.forgetHub": {
66640
+ capName: "node-certificates",
66641
+ capScope: "system",
66642
+ addonId: null,
66643
+ access: "delete"
66644
+ },
66576
66645
  "nodeCertificates.getCertificates": {
66577
66646
  capName: "node-certificates",
66578
66647
  capScope: "system",
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-r3w6VJHp.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-DmJFhqvR.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline-orchestrator",
3
- "version": "1.2.321",
3
+ "version": "1.2.322",
4
4
  "description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
5
5
  "keywords": [
6
6
  "camstack",
@@ -1,19 +0,0 @@
1
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.EnrollScreen,{}),o[0]=u):u=o[0],u}},775,[788,1401,10]);
2
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.EnrollScreen=function(){const{t:e}=(0,v.useTranslation)(),{colors:l}=(0,b.useTheme)(),T=(0,f.useLocalSearchParams)(),{loading:z,server:D,token:_,servers:E,lastServerUrl:B,save:F}=(0,h.useServer)(),L=(0,w.useQrScanner)(),[W,Q]=(0,n.useState)('scan'),[M,q]=(0,n.useState)(''),[H,K]=(0,n.useState)(null),O=(0,n.useRef)(!1),V=N(T.code),J=N(T.hub),X=H??(null!==V?{hub:J,code:V}:null),Y=null===X?null:(0,j.resolveEnrollTarget)({linkHub:X.hub,servers:E,signedInServerUrl:null!==D&&null!==_?D.serverUrl:null,lastServerUrl:B}),Z=null!==X&&('scan'===W||'confirm'===W),$=async()=>{if(!O.current&&null!==X&&null!==Y&&'ready'===Y.status){O.current=!0;try{Q('working');const l=Y.knownServerId??Y.origin,n=(0,I.deviceTarget)({hubKey:l,liveUrl:Y.origin,knownUrls:null===Y.knownServerUrl?[]:[Y.knownServerUrl]}),o=await(0,C.enrollByCodeAndSignIn)(P.deviceCertDeps,{target:n,code:X.code,deviceName:(0,U.defaultDeviceName)(),platform:(0,U.devicePlatform)()});if('signed-in'!==o.status)return S.log.warn('device-cert','QR enrollment did not complete',{status:o.status}),q('enrolment-failed'===o.status&&'refused'===o.outcome.status?e("v2.device.refusal."+('code-invalid'===o.outcome.reason?'code-invalid':'other')):e('v2.device.enroll.failed')),void Q('error');await F({id:l,label:Y.knownLabel??Y.origin,serverUrl:Y.knownServerUrl??Y.origin},{token:o.login.session.token,refreshToken:o.login.session.refreshToken}),(0,A.renewInBackground)(n),f.router.replace('/cameras')}catch(l){S.log.warn('device-cert','QR enrollment threw',{message:l instanceof Error?l.message:String(l)}),q(e('v2.device.enroll.failed')),Q('error')}finally{O.current=!1}}},ee='scan'===W&&null===X&&!1;return(0,R.jsx)(s.default,{style:{flex:1,backgroundColor:l.background},contentContainerStyle:{flexGrow:1,justifyContent:'center',alignItems:'center',padding:x.SPACING['2xl']},children:(0,R.jsxs)(u.default,{style:{width:'100%',maxWidth:420,gap:x.SPACING['2xl']},children:[(0,R.jsx)(u.default,{style:{alignItems:'center'},children:(0,R.jsx)(p.BrandLogo,{width:220})}),(0,R.jsxs)(u.default,{style:{backgroundColor:l.surface,borderColor:l.border,borderWidth:1,borderRadius:x.RADIUS.lg,padding:x.SPACING['2xl'],gap:x.SPACING.xl},children:[(0,R.jsx)(c.default,{style:{color:l.foreground,fontSize:17,fontWeight:'700'},children:e('v2.device.enroll.title')}),'working'===W&&(0,R.jsxs)(u.default,{style:{alignItems:'center',gap:x.SPACING.lg},children:[(0,R.jsx)(o.default,{color:l.primary}),(0,R.jsx)(c.default,{style:{color:l.foregroundSubtle,fontSize:14},children:e('v2.device.enroll.working')})]}),ee&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(c.default,{style:{color:l.foregroundSubtle,fontSize:14},children:e('v2.device.enroll.scanBody')}),L.granted?(0,R.jsx)(u.default,{style:{aspectRatio:1,borderRadius:x.RADIUS.md,overflow:'hidden'},children:L.render(l=>{const n=(0,y.parseDeviceEnrollmentLink)(l);null!==n?(q(''),K(n),Q('confirm')):q(e('v2.device.enroll.notAnEnrollmentCode'))})}):(0,R.jsx)(G,{colors:l,label:e('v2.device.enroll.allowCamera'),onPress:L.request})]}),Z&&null!==Y&&(0,R.jsx)(k.ConfirmTarget,{colors:l,target:Y,loading:z,onConfirm:()=>{$()}}),M.length>0&&(0,R.jsx)(c.default,{style:{color:l.danger,fontSize:13},children:M}),'error'===W&&(0,R.jsx)(G,{colors:l,label:e('v2.device.enroll.tryAgain'),onPress:()=>{q(''),Q('scan'),K(null),null!==V&&f.router.replace('/enroll')}}),(0,R.jsx)(t.default,{accessibilityRole:"button",onPress:()=>{if(null!==H||null!==V)return K(null),Q('scan'),void(null!==V&&f.router.replace('/'));f.router.replace('/')},style:{alignItems:'center'},children:(0,R.jsx)(c.default,{style:{color:l.foregroundSubtle,fontSize:14},children:e('v2.connect.cancel')})})]})]})})};var l=r(d[0]),n=r(d[1]),o=e(r(d[2]));r(d[3]);var t=e(r(d[4])),s=e(r(d[5])),c=e(r(d[6])),u=e(r(d[7])),f=r(d[8]),v=r(d[9]),y=r(d[10]),h=r(d[11]),S=r(d[12]),b=r(d[13]),x=r(d[14]),p=r(d[15]),j=r(d[16]),k=r(d[17]),w=r(d[18]),C=r(d[19]),I=r(d[20]),A=r(d[21]),P=r(d[22]),U=r(d[23]),R=r(d[24]);function N(e){const l=Array.isArray(e)?e[0]:e;return void 0!==l&&l.length>0?l:null}function G(e){const n=(0,l.c)(11),{colors:o,label:s,onPress:u}=e;let f,v,y,h;return n[0]!==o.primary?(f={backgroundColor:o.primary,borderRadius:x.RADIUS.md,paddingVertical:x.SPACING.lg,alignItems:"center"},n[0]=o.primary,n[1]=f):f=n[1],n[2]!==o.primaryForeground?(v={color:o.primaryForeground,fontSize:16,fontWeight:"600"},n[2]=o.primaryForeground,n[3]=v):v=n[3],n[4]!==s||n[5]!==v?(y=(0,R.jsx)(c.default,{style:v,children:s}),n[4]=s,n[5]=v,n[6]=y):y=n[6],n[7]!==u||n[8]!==f||n[9]!==y?(h=(0,R.jsx)(t.default,{accessibilityRole:"button",onPress:u,style:f,children:y}),n[7]=u,n[8]=f,n[9]=y,n[10]=h):h=n[10],h}},1401,[788,16,232,109,247,138,193,114,789,814,1200,925,927,790,833,1400,1402,1403,1404,1419,1420,1421,1422,1423,10]);
3
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveEnrollTarget=function(s){const u=null!==s.linkHub,o=u?(0,n.parseHubOrigin)(s.linkHub):(0,n.parseHubOrigin)(s.signedInServerUrl??s.lastServerUrl);if(null===o)return{status:'unresolved',reason:u?'invalid-hub':'no-hub'};if(!(0,l.isSecureHub)(o))return{status:'unresolved',reason:'invalid-hub'};const t=s.servers.find(l=>(0,n.sameHubOrigin)(l.serverUrl,o));return{status:'ready',origin:o,name:(0,n.serverDisplayName)(o),knownServerId:t?.id??null,knownLabel:t?.label??null,knownServerUrl:t?.serverUrl??null,isNewHub:void 0===t,replacesSignInTo:null===s.signedInServerUrl?null:(0,n.serverDisplayName)(s.signedInServerUrl)}};var n=r(d[0]),l=r(d[1])},1402,[979,1420]);
4
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ConfirmTarget=function(e){const f=(0,n.c)(51),{colors:b,target:S,loading:y,onConfirm:p}=e,{t:v}=(0,u.useTranslation)();if("unresolved"===S.status){let e;f[0]!==b.danger?(e={color:b.danger,fontSize:13},f[0]=b.danger,f[1]=e):e=f[1];const n="no-hub"===S.reason?"v2.device.enroll.noHub":"v2.device.enroll.invalidHub";let o,t;return f[2]!==v||f[3]!==n?(o=v(n),f[2]=v,f[3]=n,f[4]=o):o=f[4],f[5]!==e||f[6]!==o?(t=(0,s.jsx)(l.default,{style:e,children:o}),f[5]=e,f[6]=o,f[7]=t):t=f[7],t}let h,j,I,x,C,_,T,z;f[8]===Symbol.for("react.memo_cache_sentinel")?(h={gap:c.SPACING.lg},f[8]=h):h=f[8];f[9]!==b.foreground?(j={color:b.foreground,fontSize:15,fontWeight:"600"},f[9]=b.foreground,f[10]=j):j=f[10];f[11]!==v||f[12]!==S.name?(I=v("v2.device.enroll.confirmTitle",{name:S.name}),f[11]=v,f[12]=S.name,f[13]=I):I=f[13];f[14]!==j||f[15]!==I?(x=(0,s.jsx)(l.default,{style:j,children:I}),f[14]=j,f[15]=I,f[16]=x):x=f[16];f[17]!==b.foregroundSubtle?(C={color:b.foregroundSubtle,fontSize:13},f[17]=b.foregroundSubtle,f[18]=C):C=f[18];f[19]!==C||f[20]!==S.origin?(_=(0,s.jsx)(l.default,{style:C,selectable:!0,children:S.origin}),f[19]=C,f[20]=S.origin,f[21]=_):_=f[21];f[22]!==b.danger||f[23]!==v||f[24]!==S.isNewHub?(T=S.isNewHub&&(0,s.jsx)(t.default,{style:{backgroundColor:b.danger+"1a",borderColor:b.danger+"40",borderWidth:1,borderRadius:c.RADIUS.md,padding:c.SPACING.lg},children:(0,s.jsx)(l.default,{style:{color:b.danger,fontSize:13},children:v("v2.device.enroll.newHubWarning")})}),f[22]=b.danger,f[23]=v,f[24]=S.isNewHub,f[25]=T):T=f[25];f[26]!==b.foregroundSubtle||f[27]!==v||f[28]!==S.replacesSignInTo?(z=null!==S.replacesSignInTo&&(0,s.jsx)(l.default,{style:{color:b.foregroundSubtle,fontSize:13},children:v("v2.device.enroll.replaceBody",{current:S.replacesSignInTo})}),f[26]=b.foregroundSubtle,f[27]=v,f[28]=S.replacesSignInTo,f[29]=z):z=f[29];const H=y?.5:1;let N,A,P,R,w,W;f[30]!==b.primary||f[31]!==H?(N={backgroundColor:b.primary,opacity:H,borderRadius:c.RADIUS.md,paddingVertical:c.SPACING.lg,alignItems:"center"},f[30]=b.primary,f[31]=H,f[32]=N):N=f[32];f[33]!==b.primaryForeground?(A={color:b.primaryForeground,fontSize:16,fontWeight:"600"},f[33]=b.primaryForeground,f[34]=A):A=f[34];f[35]!==v?(P=v("v2.device.enroll.replaceConfirm"),f[35]=v,f[36]=P):P=f[36];f[37]!==A||f[38]!==P?(R=(0,s.jsx)(l.default,{style:A,children:P}),f[37]=A,f[38]=P,f[39]=R):R=f[39];f[40]!==y||f[41]!==p||f[42]!==N||f[43]!==R?(w=(0,s.jsx)(o.default,{accessibilityRole:"button",disabled:y,onPress:p,style:N,children:R}),f[40]=y,f[41]=p,f[42]=N,f[43]=R,f[44]=w):w=f[44];f[45]!==w||f[46]!==x||f[47]!==_||f[48]!==T||f[49]!==z?(W=(0,s.jsxs)(t.default,{style:h,children:[x,_,T,z,w]}),f[45]=w,f[46]=x,f[47]=_,f[48]=T,f[49]=z,f[50]=W):W=f[50];return W};var n=r(d[0]);r(d[1]);var o=e(r(d[2])),l=e(r(d[3])),t=e(r(d[4])),u=r(d[5]),c=r(d[6]),s=r(d[7])},1403,[788,16,247,193,114,814,833,10]);
5
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useQrScanner=function(){const s=(0,n.c)(7);let u;s[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.optionalModule)(o),s[0]=u):u=s[0];const f=u,[_,b]=(0,t.useState)(!1);let y,S,h,C,p;s[1]===Symbol.for("react.memo_cache_sentinel")?(y=()=>{if(null===f)return;let n=!1;return f.Camera.getCameraPermissionsAsync().then(t=>{n||b(t.granted)}),()=>{n=!0}},S=[f],s[1]=y,s[2]=S):(y=s[1],S=s[2]);(0,t.useEffect)(y,S),s[3]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{null!==f&&f.Camera.requestCameraPermissionsAsync().then(n=>b(n.granted))},C=n=>null===f?null:(0,l.jsx)(f.CameraView,{style:{flex:1},facing:"back",barcodeScannerSettings:{barcodeTypes:["qr"]},onBarcodeScanned:t=>n(t.data)}),s[3]=h,s[4]=C):(h=s[3],C=s[4]);s[5]!==_?(p={available:null!==f,granted:_,request:h,render:C},s[5]=_,s[6]=p):p=s[6];return p};var n=r(d[0]),t=r(d[1]),c=r(d[2]),l=r(d[3]);function o(){return r(d[4])}},1404,[788,16,1424,10,1405]);
6
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CameraView",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(_e,"useCameraPermissions",{enumerable:!0,get:function(){return y}}),Object.defineProperty(_e,"useMicrophonePermissions",{enumerable:!0,get:function(){return p}}),_e.scanFromURLAsync=b,Object.defineProperty(_e,"Camera",{enumerable:!0,get:function(){return h}});var n=r(d[0]),t=e(r(d[1])),s=e(r(d[2])),o=r(d[3]);Object.keys(o).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return o[e]}})});var c=r(d[4]);async function u(){return t.default.getCameraPermissionsAsync()}async function f(){return t.default.requestCameraPermissionsAsync()}Object.keys(c).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return c[e]}})});const y=(0,n.createPermissionHook)({getMethod:u,requestMethod:f});async function l(){return t.default.getMicrophonePermissionsAsync()}async function P(){return t.default.requestMicrophonePermissionsAsync()}const p=(0,n.createPermissionHook)({getMethod:l,requestMethod:P});async function b(e,n=['qr']){return t.default.scanFromURLAsync(e,n)}const h={getCameraPermissionsAsync:u,requestCameraPermissionsAsync:f,getMicrophonePermissionsAsync:l,requestMicrophonePermissionsAsync:P,scanFromURLAsync:b}},1405,[416,1406,1410,1407,1418]);
7
- __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return v}});var e=r(_d[0]),t=r(_d[1]),n=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),s=r(_d[3]);function o(e){return navigator.mediaDevices.getUserMedia(e)}function c(e){return{status:e,expires:'never',canAskAgain:!0,granted:e===t.PermissionStatus.GRANTED}}function u(e){return c('Permission dismissed'===e?t.PermissionStatus.UNDETERMINED:t.PermissionStatus.DENIED)}async function l(){try{const e=await o({video:!0});return e.getTracks().forEach(t=>{t.stop(),e.removeTrack(t)}),c(t.PermissionStatus.GRANTED)}catch(e){return u(e.message)}}async function y(n){if(!navigator?.permissions?.query)throw new e.UnavailabilityError('expo-camera','navigator.permissions API is not available');try{const{state:e}=await navigator.permissions.query({name:n});switch(e){case'prompt':return c(t.PermissionStatus.UNDETERMINED);case'granted':return c(t.PermissionStatus.GRANTED);case'denied':return c(t.PermissionStatus.DENIED)}}catch(e){if(e instanceof TypeError)return c(t.PermissionStatus.UNDETERMINED);throw e}}var v={isModernBarcodeScannerAvailable:!1,toggleRecordingAsyncAvailable:!1,addListener:(e,t)=>({remove:()=>{}}),get Type(){return{back:'back',front:'front'}},get FlashMode(){return{on:'on',off:'off',auto:'auto',torch:'torch',screen:'on'}},get AutoFocus(){return{on:'on',off:'off',auto:'auto',singleShot:'singleShot'}},get WhiteBalance(){return{auto:'auto',continuous:'continuous',manual:'manual'}},get VideoQuality(){return{}},get VideoStabilization(){return{}},async isAvailableAsync(){if(!(0,s.canGetUserMedia)()||!navigator.mediaDevices.enumerateDevices)return!1;return(await navigator.mediaDevices.enumerateDevices()).some(e=>'videoinput'===e.kind)},takePicture:async(e,t)=>t.takePicture(e),pausePreview:async e=>e.pausePreview(),resumePreview:async e=>e.resumePreview(),async getAvailableCameraTypesAsync(){if(!(0,s.canGetUserMedia)()||!navigator.mediaDevices.enumerateDevices)return[];const e=await navigator.mediaDevices.enumerateDevices();return(await Promise.all([await(0,s.isFrontCameraAvailableAsync)(e)&&'front',await(0,s.isBackCameraAvailableAsync)()&&'back'])).filter(Boolean)},getAvailablePictureSizes:async(e,t)=>t.getAvailablePictureSizes(e),getPermissionsAsync:async()=>y('camera'),requestPermissionsAsync:async()=>l(),getCameraPermissionsAsync:async()=>y('camera'),requestCameraPermissionsAsync:async()=>l(),getMicrophonePermissionsAsync:async()=>y('microphone'),async requestMicrophonePermissionsAsync(){try{return await o({audio:!0}),c(t.PermissionStatus.GRANTED)}catch(e){return u(e.message)}},async scanFromURLAsync(e,t){const s=await fetch(e),o=await s.blob(),c=await createImageBitmap(o),u=t&&t.length>0?t:n.ALL_BARCODE_TYPES,l=await n.detect(c,u);return c.close(),l}}},1406,[438,1407,1408,1409]);
8
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PermissionStatus",{enumerable:!0,get:function(){return t.PermissionStatus}});var t=r(d[0]);r(d[1])},1407,[416,438]);
9
- __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ALL_BARCODE_TYPES",{enumerable:!0,get:function(){return o}}),e.detect=async function(t,o){const c=await u(o);return(await c.detect(t)).map(t=>{const{x:o,y:c,width:i,height:s}=t.boundingBox;return{type:n[t.format]??t.format,data:t.rawValue,bounds:{origin:{x:o,y:c},size:{width:i,height:s}},cornerPoints:t.cornerPoints?.map(t=>({x:t.x,y:t.y}))??[]}})};const t={aztec:'aztec',codabar:'codabar',code39:'code_39',code93:'code_93',code128:'code_128',datamatrix:'data_matrix',ean8:'ean_8',ean13:'ean_13',itf14:'itf',pdf417:'pdf417',qr:'qr_code',upc_a:'upc_a',upc_e:'upc_e'},n=Object.fromEntries(Object.entries(t).map(([t,n])=>[n,t])),o=Object.keys(t);let c=null,i=null;function s(n){const o=n.map(n=>t[n]).sort();return!i||(i.length!==o.length||o.some((t,n)=>t!==i[n]))}async function u(n){if(c&&!s(n))return c;const o=n.map(n=>t[n]);i=[...o].sort();const u=globalThis.BarcodeDetector;if(void 0!==u){const t=new u({formats:o});return c=t,t}const{BarcodeDetector:f}=await r(d[1])(d[0],d.paths),_=new f({formats:o});return c=_,_}},1408,{"0":1425,"1":14,"paths":{"1425":"/viewer/camstack/_expo/static/js/web/index-c142988eb2efae85921c710e45da8c89.js"}});
10
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.requestUserMediaAsync=async function(n,c=!0){return await t(c,n.audio,n.video)},e.getAnyUserMediaAsync=c,e.canGetUserMedia=function(){return n.Platform.isDOMAvailable&&!!navigator.mediaDevices?.getUserMedia},e.isFrontCameraAvailableAsync=async function(n){return await o(['front','user','facetime'],'user',n)},e.isBackCameraAvailableAsync=async function(n){return await o(['back','rear'],'environment',n)};var n=r(d[0]);async function t(n,t,o){const s={video:void 0===o||o};return n||(s.audio=void 0===t||t),await c(s)}async function c(n,t=!1){try{return await navigator.mediaDevices.getUserMedia({...n,video:t||n.video})}catch(o){if(!t&&'object'==typeof o&&'ConstraintNotSatisfiedError'===o?.name)return await c(n,!0);throw o}}async function o(n,t,c){if(!c){if(!navigator.mediaDevices.enumerateDevices)return null;c=await navigator.mediaDevices.enumerateDevices()}const o=c.filter(n=>'videoinput'===n.kind),[s]=o.filter(t=>n.some(n=>t.label.toLowerCase().includes(n))),[u]=o.filter(n=>{if(!('getCapabilities'in n))return null;const c=n.getCapabilities();return c.facingMode?c.facingMode.find(n=>t):null});return u?.deviceId||s?.deviceId||null}},1409,[438]);
11
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var n=r(d[0]),t=r(d[1]),s=r(d[2]),o=e(r(d[3])),c=e(r(d[4])),l=r(d[5]);const u={};let v=!1,h=1;function p(e){if(!e||'object'!=typeof e)return{};if(void 0===e.quality&&(e.quality=1),e.mirror&&console.warn('The `mirror` option is deprecated. Please use the `mirror` prop on the `CameraView` instead.'),e.onPictureSaved){const n=h++;u[n]=e.onPictureSaved,e.id=n,e.fastMode=!0}return e}function f(e={}){return e.mirror&&console.warn('The `mirror` option is deprecated. Please use the `mirror` prop on the `CameraView` instead.'),e}function y({nativeEvent:e}){const{id:n,data:t}=e,s=u[n];s&&(s(t),delete u[n])}class b extends s.Component{static isModernBarcodeScannerAvailable=c.default.isModernBarcodeScannerAvailable;static async isAvailableAsync(){if(!c.default.isAvailableAsync)throw new t.UnavailabilityError('expo-camera','isAvailableAsync');return c.default.isAvailableAsync()}static async getAvailableVideoCodecsAsync(){if(!c.default.getAvailableVideoCodecsAsync)throw new t.UnavailabilityError('Camera','getAvailableVideoCodecsAsync');return c.default.getAvailableVideoCodecsAsync()}async getAvailablePictureSizesAsync(){return await(this._cameraRef.current?.getAvailablePictureSizes())??[]}async getAvailableLensesAsync(){return await(this._cameraRef.current?.getAvailableLenses())??[]}getSupportedFeatures(){return{isModernBarcodeScannerAvailable:c.default.isModernBarcodeScannerAvailable,toggleRecordingAsyncAvailable:c.default.toggleRecordingAsyncAvailable}}async resumePreview(){return this._cameraRef.current?.resumePreview()}async pausePreview(){return this._cameraRef.current?.pausePreview()}static ConversionTables=l.ConversionTables;static defaultProps={zoom:0,facing:'back',enableTorch:!1,mode:'picture',flash:'off'};_cameraRef=(0,s.createRef)();_lastEvents={};_lastEventsTimes={};async takePictureAsync(e){const n=p(e);return this._cameraRef.current?.takePicture(n)}static async launchScanner(e={barcodeTypes:[]}){}static async dismissScanner(){}static onModernBarcodeScanned(e){return c.default.addListener('onModernBarcodeScanned',e)}async recordAsync(e){const n=f(e);return this._cameraRef.current?.record(n)}async toggleRecordingAsync(){return this._cameraRef.current?.toggleRecording()}stopRecording(){this._cameraRef.current?.stopRecording()}_onCameraReady=()=>{this.props.onCameraReady?.()};_onAvailableLensesChanged=({nativeEvent:e})=>{this.props.onAvailableLensesChanged?.(e)};_onMountError=({nativeEvent:e})=>{this.props.onMountError?.(e)};_onResponsiveOrientationChanged=({nativeEvent:e})=>{this.props.onResponsiveOrientationChanged?.(e)};_onObjectDetected=e=>({nativeEvent:n})=>{const{type:t}=n;this._lastEvents[t]&&this._lastEventsTimes[t]&&JSON.stringify(n)===this._lastEvents[t]&&(new Date).getTime()-this._lastEventsTimes[t].getTime()<500||e&&(e(n),this._lastEventsTimes[t]=new Date,this._lastEvents[t]=JSON.stringify(n))};render(){const e=(0,l.ensureNativeProps)(this.props),t=this.props.onBarcodeScanned?this._onObjectDetected(this.props.onBarcodeScanned):void 0;return e.children&&!v&&(console.warn('The <CameraView> component does not support children. This may lead to inconsistent behaviour or crashes. If you want to render content on top of the Camera, consider using absolute positioning.'),v=!0),(0,n.jsx)(o.default,{...e,ref:this._cameraRef,onCameraReady:this._onCameraReady,onMountError:this._onMountError,onBarcodeScanned:t,onAvailableLensesChanged:this._onAvailableLensesChanged,onPictureSaved:y,onResponsiveOrientationChanged:this._onResponsiveOrientationChanged})}}},1410,[10,438,16,1411,1406,1417]);
12
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var n=r(d[0]),t=r(d[1]),o=r(d[2]),s=e(r(d[3])),c=e(r(d[4])),u=e(r(d[5])),l=e(r(d[6])),p=r(d[7]),y=r(d[8]),v=r(d[9]),f=r(d[10]);var b=({facing:e,poster:u,ref:b,...E})=>{const w=(0,o.useRef)(null),M=(0,o.useMemo)(()=>({...E,flashMode:E.enableTorch?'torch':E.flashMode}),[E.enableTorch,E.flashMode,E.zoom,E.autoFocus]),R=(0,f.useWebCameraStream)(w,e,M,{onCameraReady:E.onCameraReady,onMountError:E.onMountError}),_=E.barcodeScannerSettings?.barcodeTypes,A=(0,o.useMemo)(()=>!!_?.length&&!!E.onBarcodeScanned,[_,E.onBarcodeScanned]);(0,v.useWebBarcodeScanner)(w,{interval:300,isEnabled:A,barcodeTypes:_??[],isMirrored:'front'===R.type,onScanned:E.onBarcodeScanned}),(0,o.useImperativeHandle)(b,()=>({getAvailablePictureSizes:async()=>y.PictureSizes,async takePicture(e){if(!w.current||w.current.readyState!==w.current.HAVE_ENOUGH_DATA)throw new t.CodedError('ERR_CAMERA_NOT_READY','HTMLVideoElement does not have enough camera data to construct an image yet.');const n=R.mediaTrackSettings;if(!n)throw new t.CodedError('ERR_CAMERA_NOT_READY','MediaStream is not ready yet.');return(0,p.capture)(w.current,n,{...e,onPictureSaved(n){e.onPictureSaved?.(n),E.onPictureSaved?.({nativeEvent:{data:n,id:-1}})}})},async resumePreview(){w.current&&w.current.play()},async pausePreview(){w.current&&w.current.pause()},async stopRecording(){console.warn('stopRecording is not supported on web.')},record:async()=>(console.warn('record is not supported on web.'),{uri:''}),async toggleRecording(){console.warn('toggleRecording is not supported on web.')},async launchModernScanner(){console.warn('launchModernScanner is not supported on web.')},getAvailableLenses:async()=>(console.warn('getAvailableLenses is not supported on web.'),[])}),[R.mediaTrackSettings,E.onPictureSaved]);const P=(0,o.useMemo)(()=>{const e=R.type===l.default.Type.front;return[s.default.absoluteFill,h.video,{pointerEvents:E.pointerEvents,transform:e?[{scaleX:-1}]:void 0}]},[E.pointerEvents,R.type]);return(0,n.jsxs)(c.default,{style:[h.videoWrapper,E.style],children:[(0,n.jsx)(S,{autoPlay:!0,playsInline:!0,muted:!0,poster:u,ref:w,style:P}),E.children]})};const S=e=>(0,u.default)('video',{...e}),h=s.default.create({videoWrapper:{flex:1,alignItems:'stretch',pointerEvents:'box-none'},video:{width:'100%',height:'100%',objectFit:'cover'}})},1411,[10,438,16,32,114,20,1406,1412,1414,1415,1416]);
13
- __d(function(g,r,i,_a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getImageSize=a,_e.toDataURL=o,_e.hasValidConstraints=c,_e.captureImageContext=d,_e.captureImage=f,_e.getIdealConstraints=h,_e.getPreferredStreamDevice=async function(e,t,n){try{return await v(e,t,n)}catch(a){if(a instanceof OverconstrainedError&&'facingMode'===a.constraint){const a='back'===e?'front':'back';return await v(a,t,n)}throw a}},_e.getStreamDevice=v,_e.isWebKit=p,_e.compareStreams=function(e,t){const n=e?.getTracks()[0]?.getSettings(),a=t?.getTracks()[0]?.getSettings();if(!n||!a)return!1;return n.deviceId===a.deviceId},_e.capture=function(e,t,n){const a=f(e,n),{width:o=0,height:c=0}=t,s={uri:a,base64:a,width:o,height:c,format:n.imageType??'jpg',exif:t};return n.onPictureSaved?.(s),s},_e.syncTrackCapabilities=async function(e,t,n={}){t?.getVideoTracks&&await Promise.all(t.getVideoTracks().map(t=>l(e,t,n)))},_e.stopMediaStream=function(e){if(!e)return;e.getAudioTracks().forEach(e=>e.stop()),e.getVideoTracks().forEach(e=>e.stop())},_e.setVideoSource=function(e,t){e.srcObject=t},_e.isCapabilityAvailable=function(e,t){const n=e.srcObject;if(n instanceof MediaStream){const e=n.getVideoTracks()[0]?.getCapabilities()[t];return!!e}return!1};var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0])),t=r(_d[1]),n=r(_d[2]);function a(e,t,n){const a=e*n;return{width:a,height:t/(e/a)}}function o(e,n,a){const o=t.ImageTypeFormat[n];return'jpg'===n?e.toDataURL(o,a):e.toDataURL(o)}function c(e,t,n){return void 0!==e&&void 0!==t&&void 0!==n}function s(e){return{...e,scale:e.scale??1,imageType:e.imageType??'png',isImageMirror:e.isImageMirror??!1}}const u=.92;function d(e,{scale:t=1,isImageMirror:n=!1}){const{videoWidth:o,videoHeight:c}=e,{width:s,height:u}=a(o,c,t),d=document.createElement('canvas');d.width=s,d.height=u;const f=d.getContext('2d',{alpha:!1});if(!f)throw new Error('Context is not defined');return n&&f.setTransform(-1,0,0,1,d.width,0),f.drawImage(e,0,0,s,u),d}function f(e,t){const n=s(t),a=d(e,n),{imageType:c,quality:f=u}=n;return o(a,c,f)}function h(e,n,a){const o={audio:!1,video:{}};if(c(e,n,a))return t.MinimumConstraints;const s=navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints?navigator.mediaDevices.getSupportedConstraints():null;if(!(s&&s.facingMode&&s.width&&s.height))return t.MinimumConstraints;if(e&&['front','back'].includes(e)){const n=t.CameraTypeToFacingMode[e];if(p()){const e='user'===n?'exact':'ideal';o.video.facingMode={[e]:n}}else o.video.facingMode={ideal:t.CameraTypeToFacingMode[e]}}var u;return(u=o.video)&&'boolean'!=typeof u.video&&(o.video.width=n,o.video.height=a),o}async function v(e,t,a){const o=h(e,t,a);return(0,n.requestUserMediaAsync)(o)}function p(){return/WebKit/.test(navigator.userAgent)&&!/Edg/.test(navigator.userAgent)}async function l(t,n,a={}){if('function'!=typeof n.getCapabilities)return;const o=n.getCapabilities(),c={},s=['exposureCompensation','colorTemperature','iso','brightness','contrast','saturation','sharpness','focusDistance','zoom'];for(const e of s)o[e]&&(c[e]=y(o[e],a[e]));function u(e,n,c){return T({constraintKey:e,settingsKey:n,convertedSetting:c(a[n]),capabilities:o,settings:a,cameraType:t})}o.focusMode&&void 0!==a.autoFocus&&(c.focusMode=u('focusMode','autoFocus',e.convertAutoFocusJSONToNative)),o.torch&&void 0!==a.flashMode&&(c.torch=u('torch','flashMode',e.convertFlashModeJSONToNative)),o.whiteBalanceMode&&void 0!==a.whiteBalance&&(c.whiteBalanceMode=u('whiteBalanceMode','whiteBalance',e.convertWhiteBalanceJSONToNative));try{await n.applyConstraints({advanced:[c]})}catch(e){}}function y(e,t){if(!t)return;const n=M(t,[e.min,e.max]);return Math.min(e.max,Math.max(e.min,n))}function M(e,t,n=[0,1]){return(e-n[0])*(t[1]-t[0])/(n[1]-n[0])+t[0]}function T(e){const{constraintKey:t,settingsKey:n,convertedSetting:a,capabilities:o,settings:c,cameraType:s}=e;c[n];if(!Array.isArray(o[t])||!a||o[t].includes(a))return a}},1412,[1413,1414,1409]);
14
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.convertFlashModeJSONToNative=function(t){if('torch'===t)return!0;return!1},e.convertWhiteBalanceJSONToNative=function(t){switch(t){case'on':case'auto':return'continuous';case'off':return'none';case'singleShot':return'single-shot';default:return}},e.convertAutoFocusJSONToNative=function(t){switch(t){case'on':case'auto':return'continuous';case'off':return'manual';case'singleShot':return'single-shot';default:return}}},1413,[]);
15
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"VIDEO_ASPECT_RATIOS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"PictureSizes",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ImageTypeFormat",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"MinimumConstraints",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"CameraTypeToFacingMode",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"FacingModeToCameraType",{enumerable:!0,get:function(){return b}});const n={'3840x2160':1.7777777777777777,'1920x1080':1.7777777777777777,'1280x720':1.7777777777777777,'640x480':1.3333333333333333,'352x288':1.2222222222222223},t=Object.keys(n),o={jpg:'image/jpeg',png:'image/png'},u={audio:!1,video:!0},c={front:'user',back:'environment'},b={user:'front',environment:'back'}},1414,[]);
16
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.useWebBarcodeScanner=function(e,{isEnabled:c,barcodeTypes:u,interval:s,isMirrored:d=!1,onScanned:f,onError:l}){const h=t.useRef(!1),v=t.useRef(void 0);async function b(){if(h.current&&f)try{const t=e.current;if(!t||t.readyState!==t.HAVE_ENOUGH_DATA)return;const{videoWidth:c,videoHeight:s}=t;if(!c||!s)return;const l=await createImageBitmap(t),h=await n.detect(l,u);l.close();const v=t.clientWidth||c,b=t.clientHeight||s;for(const e of h){const t=o(e,c,s,v,b,d);f({nativeEvent:t})}}catch(e){l?.({nativeEvent:e})}finally{if(0===s)return void y();const e=!s||s<0?16:s;v.current=setTimeout(()=>{b()},e)}else y()}function y(){h.current=!1,clearTimeout(v.current)}t.useEffect(()=>(c&&(h.current=!0,b()),y),[c])};var t=e(r(_d[0])),n=e(r(_d[1]));function o(e,t,n,o,c,u){const s=c/t,d=n/o,f=e=>({x:u?c-e.x*s:e.x*s,y:e.y*d}),l=f(e.bounds.origin),h={width:e.bounds.size.width*s,height:e.bounds.size.height*d};return u&&(l.x-=h.width),{...e,bounds:{origin:l,size:h},cornerPoints:e.cornerPoints.map(f)}}},1415,[16,1408]);
17
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.useWebCameraStream=function(e,s,f,{onCameraReady:l,onMountError:d}){const p=t.useRef(!1),h=t.useRef([]),b=t.useRef({autoFocus:'continuous',flashMode:'off',whiteBalance:'continuous',zoom:0}),[y,M]=t.useState(null),C=t.useMemo(()=>y?.getTracks()[0]?.getSettings()??null,[y]),E=t.useMemo(()=>{if(!C)return null;const{facingMode:e="user"}=C;return u.FacingModeToCameraType[e]??null},[C]),S=t.useCallback(async()=>{try{return await n.getPreferredStreamDevice(s)}catch(e){return d?.({nativeEvent:e}),null}},[s,d]),k=t.useCallback(async()=>{const e=await S();return n.compareStreams(e,y)||(h.current.some(t=>t.id===e?.id)||h.current.push(e),M(e),l?.()),!1},[S,M,l,y,h.current]);return t.useEffect(()=>{p.current||(p.current=!0,k().then(e=>{p.current=e}).catch(()=>{p.current=!1}))},[s]),t.useEffect(()=>{const e={};for(const t of c)if(t in f){const n=f[t];n!==b.current[t]&&(e[t]=n)}Object.keys(e).length>0&&n.syncTrackCapabilities(s,y,e),b.current={...b.current,...e}},[f.autoFocus,f.flashMode,f.exposureCompensation,f.colorTemperature,f.iso,f.brightness,f.contrast,f.saturation,f.sharpness,f.focusDistance,f.whiteBalance,f.zoom]),t.useEffect(()=>{e.current&&n.setVideoSource(e.current,y)},[e.current,y]),t.useEffect(()=>()=>{for(const e of h.current)n.stopMediaStream(e);e.current&&n.setVideoSource(e.current,y)},[]),o(e.current,()=>{n.syncTrackCapabilities(s,y,b.current)}),{type:E,mediaTrackSettings:C}};var t=e(r(_d[0])),n=e(r(_d[1])),u=r(_d[2]);const c=['autoFocus','flashMode','exposureCompensation','colorTemperature','iso','brightness','contrast','saturation','sharpness','focusDistance','whiteBalance','zoom'];function o(e,n){t.useEffect(()=>{e&&e.addEventListener('loadedmetadata',()=>{requestAnimationFrame(()=>{n()})})},[e])}},1416,[16,1412,1414]);
18
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ConversionTables",{enumerable:!0,get:function(){return n}}),_e.convertNativeProps=u,_e.ensureNativeProps=function(e){const t=u(e);return t.barcodeScannerEnabled=!!e?.onBarcodeScanned,t.flashMode=e?.flash??'off',t.mute=e?.mute??!1,t.autoFocus=e?.autofocus??'off',t},r(d[0]);var e,t=r(d[1]),o=(e=t)&&e.__esModule?e:{default:e};const n={type:o.default.Type,flash:o.default.FlashMode};function u(e){if(!e||'object'!=typeof e)return{};const t={};for(const[o,u]of Object.entries(e)){const e=o;'string'==typeof u&&n[e]?t[o]=n[e][u]:t[o]=u}return t}},1417,[438,1406]);
19
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return u}}),r(d[0]);var e,t=r(d[1]),u=((e=t)&&e.__esModule?e:{default:e}).default.Picture},1418,[416,1406]);