@neurodyn/react-ar 0.0.8 → 0.0.10

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.
@@ -1,9 +1,9 @@
1
1
  import { Canvas, advance, createPortal, useFrame, useThree } from "@react-three/fiber";
2
2
  import { useGLTF, useProgress } from "@react-three/drei";
3
3
  import { HDRLoader } from "three/examples/jsm/loaders/HDRLoader.js";
4
- export const __rspack_esm_id = "170";
4
+ export const __rspack_esm_id = "199";
5
5
  export const __rspack_esm_ids = [
6
- "170"
6
+ "199"
7
7
  ];
8
8
  export const __webpack_modules__ = {
9
9
  "./src/root.tsx" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
@@ -6350,6 +6350,59 @@ export const __webpack_modules__ = {
6350
6350
  });
6351
6351
  }
6352
6352
  var src_config = __webpack_require__("./src/config.ts");
6353
+ var gen_node = __webpack_require__("../api/dist/gen/node/index.js");
6354
+ function toApiFile(file) {
6355
+ return file?.url ? {
6356
+ uuid: file.uuid,
6357
+ url: file.url,
6358
+ ext: file.ext,
6359
+ type: file.type,
6360
+ realName: file.realName
6361
+ } : void 0;
6362
+ }
6363
+ function accountFromLegacy(account) {
6364
+ return {
6365
+ uuid: account.uuid,
6366
+ username: account.username,
6367
+ name: account.name,
6368
+ email: account.email,
6369
+ email_verified: account.emailVerified,
6370
+ phone: account.phone,
6371
+ phone_verified: account.phoneVerified,
6372
+ region: account.region,
6373
+ type: account.type,
6374
+ source: account.source,
6375
+ app_type: account.appType,
6376
+ accepted_terms: account.acceptedTerms,
6377
+ useObjTags: account.useObjTags,
6378
+ config: account.config,
6379
+ company: account.company,
6380
+ privacy: account.privacy,
6381
+ links: account.links,
6382
+ partnerRefID: account.partnerRefID,
6383
+ refID: account.refID,
6384
+ followers_count: account.followersCount,
6385
+ following_count: account.followingCount,
6386
+ posts_count: account.postsCount,
6387
+ avatar: toApiFile(account.avatar),
6388
+ background: toApiFile(account.background)
6389
+ };
6390
+ }
6391
+ async function fetchPublicAccount({ uuid, username }, config) {
6392
+ const wantedUsername = username?.trim().toLowerCase();
6393
+ if (!uuid && !wantedUsername) throw new Error('fetchPublicAccount: uuid or username is required');
6394
+ const { result } = await (0, gen_node.hov)(uuid ? {
6395
+ uuids: [
6396
+ uuid
6397
+ ],
6398
+ limit: 1
6399
+ } : {
6400
+ query: wantedUsername
6401
+ }, config);
6402
+ const account = result.find((item)=>uuid ? item.uuid === uuid : item.username.toLowerCase() === wantedUsername);
6403
+ if (!account) throw new Error(`Account ${uuid ?? username} not found`);
6404
+ return accountFromLegacy(account);
6405
+ }
6353
6406
  var client_runtime_factory = __webpack_require__("../api/dist/client-runtime-factory.js");
6354
6407
  const client_runtime_runtime = (0, client_runtime_factory.q)({
6355
6408
  clientName: 'API client',
@@ -6369,18 +6422,6 @@ export const __webpack_modules__ = {
6369
6422
  async function client_client(config) {
6370
6423
  return requestRuntime(config);
6371
6424
  }
6372
- async function accountFetch(data, config = {}) {
6373
- const { client: request = client_client, ...requestConfig } = config;
6374
- const requestData = data;
6375
- const res = await request({
6376
- method: "POST",
6377
- url: "/account/Fetch",
6378
- data: requestData,
6379
- ...requestConfig
6380
- });
6381
- return res.data;
6382
- }
6383
- var gen_node = __webpack_require__("../api/dist/gen/node/index.js");
6384
6425
  async function objFetch(data, config = {}) {
6385
6426
  const { client: request = client_client, ...requestConfig } = config;
6386
6427
  const requestData = data;
@@ -6541,7 +6582,7 @@ export const __webpack_modules__ = {
6541
6582
  catId: categoryId
6542
6583
  } : {}
6543
6584
  };
6544
- const response = await (0, gen_node.J9_)(data, {
6585
+ const response = await (0, gen_node.avi)(data, {
6545
6586
  productType: AR_PRODUCT_TYPE
6546
6587
  }, getRequestConfig(options));
6547
6588
  return {
@@ -6555,10 +6596,10 @@ export const __webpack_modules__ = {
6555
6596
  return lastPage.objs?.length ? lastPageParam + 1 : void 0;
6556
6597
  }
6557
6598
  async function fetchArOwnerAccount(ownerUuid, options) {
6558
- return accountFetch({
6599
+ return fetchPublicAccount({
6559
6600
  uuid: ownerUuid
6560
6601
  }, {
6561
- baseURL: options.legacyBaseURL,
6602
+ baseURL: options.nodeBaseURL,
6562
6603
  signal: options.signal
6563
6604
  });
6564
6605
  }
package/dist/index.d.ts CHANGED
@@ -308,34 +308,27 @@ declare type ApiFile = {
308
308
  };
309
309
 
310
310
  /**
311
- * Generated by Kubb (https://kubb.dev/).
312
- * Do not edit manually.
311
+ * VZ-108: the go-backend `account` / `user` / `auth` / `file` services are
312
+ * archived and no longer published in the gateway's OpenAPI config, so
313
+ * `@vizbl/api/account` stopped being generated. This module keeps the old
314
+ * account wire shape the apps are built around (`ApiUserAccount`, snake_case
315
+ * flags, `config` as a JSON string) and reads it from the node gate:
316
+ *
317
+ * - own profile → `GET /user/me` (+ `/file/stored/read` for the images);
318
+ * - someone else's profile → `/legacy/account/Fetch` (JWT) or the public
319
+ * `/legacy/account/Search`;
320
+ * - register / deletion → `/legacy/account/Register|RequestDeletion` (the
321
+ * same handlers the old `/v1/account/*` paths are rewritten to; Register is
322
+ * the only one that still takes a display `name`).
323
+ *
324
+ * All calls go through the node client, so a custom `baseURL` must be the
325
+ * node API base, not the legacy `/v1` one.
313
326
  */
314
327
  declare type ApiFile_2 = {
315
- /**
316
- * @description File extension, used to build the storage path/URL.
317
- * @type string | undefined
318
- */
319
328
  ext?: string;
320
- /**
321
- * @description Original file name as uploaded by the client.
322
- * @type string | undefined
323
- */
324
329
  realName?: string;
325
- /**
326
- * @description Attachment type: \"avatar\" or \"background\" (see domain.AttachType).
327
- * @type string | undefined
328
- */
329
330
  type?: string;
330
- /**
331
- * @description Public URL the file can be fetched from; computed, not stored.
332
- * @type string | undefined
333
- */
334
331
  url?: string;
335
- /**
336
- * @description File\'s identifier; must reference an already-uploaded file when linking it as avatar/background.
337
- * @type string | undefined
338
- */
339
332
  uuid?: string;
340
333
  };
341
334
 
@@ -716,7 +709,7 @@ declare type ApiObject = {
716
709
  */
717
710
  tinuuid?: string;
718
711
  /**
719
- * @description AR placement category (door, wall, floor, ceiling, carpet, eyeglasses, sneakers, flooring, or \"all\").
712
+ * @description AR placement category (door, wall, floor, ceiling, carpet, eyeglasses, sneakers, flooring, panels, or \"all\").
720
713
  * @type string | undefined
721
714
  */
722
715
  type?: string;
@@ -941,164 +934,39 @@ declare type ApiPrice = {
941
934
  };
942
935
 
943
936
  declare type ApiUserAccount = {
944
- /**
945
- * @description Whether the user accepted the currently active terms version.
946
- * @type boolean | undefined
947
- */
948
937
  accepted_terms?: boolean;
949
- /**
950
- * @description Brand app (vizbl/arizo) resolved at signup from X-App-Type or request hostname.
951
- * @type string | undefined
952
- */
953
938
  app_type?: string;
954
- /**
955
- * @type object | undefined
956
- */
957
939
  avatar?: ApiFile_2;
958
- /**
959
- * @type object | undefined
960
- */
961
940
  background?: ApiFile_2;
962
- /**
963
- * @description Optional company/organisation name associated with the account.
964
- * @type string | undefined
965
- */
966
941
  company?: string;
967
- /**
968
- * @description Opaque user config JSON.
969
- * @type string | undefined
970
- */
942
+ /** Opaque user config JSON. */
971
943
  config?: string;
972
- /**
973
- * @description User\'s login/contact email; only returned to the user themself or to moderators/account managers via Fetch.
974
- * @type string | undefined
975
- */
976
944
  email?: string;
977
- /**
978
- * @description Whether email has been confirmed; reset to false when email changes until re-verified.
979
- * @type boolean | undefined
980
- */
981
945
  email_verified?: boolean;
982
- /**
983
- * @description Reserved for a future followers feature; not currently populated by any handler.
984
- * @type integer | undefined, int32
985
- */
986
946
  followers_count?: number;
987
- /**
988
- * @description Reserved for a future following feature; not currently populated by any handler.
989
- * @type integer | undefined, int32
990
- */
991
947
  following_count?: number;
992
- /**
993
- * @type object | undefined
994
- */
995
948
  links?: ApiUserLinks;
996
- /**
997
- * @description User\'s display name.
998
- * @type string | undefined
999
- */
1000
949
  name?: string;
1001
- /**
1002
- * @description Partner referral ID (base-36).
1003
- * @type string | undefined
1004
- */
1005
950
  partnerRefID?: string;
1006
- /**
1007
- * @description Write-only; never returned on read.
1008
- * @type string | undefined
1009
- */
1010
- password?: string;
1011
- /**
1012
- * @description User\'s contact phone number; only returned to the user themself or to moderators/account managers via Fetch.
1013
- * @type string | undefined
1014
- */
1015
951
  phone?: string;
1016
- /**
1017
- * @description Whether phone has been confirmed via SendSmsCode/VerifyPhone.
1018
- * @type boolean | undefined
1019
- */
1020
952
  phone_verified?: boolean;
1021
- /**
1022
- * @description Reserved for a future posts feature; not currently populated by any handler.
1023
- * @type integer | undefined, int32
1024
- */
1025
953
  posts_count?: number;
1026
- /**
1027
- * @description Profile visibility setting.
1028
- * @type string | undefined
1029
- */
1030
954
  privacy?: string;
1031
- /**
1032
- * @description User referral ID (base-36).
1033
- * @type string | undefined
1034
- */
1035
955
  refID?: string;
1036
- /**
1037
- * @description User\'s country/region code (e.g. \"US\", \"RU\"); defaults to \"US\" when omitted or invalid; only returned to the user themself or to moderators/account managers via Fetch.
1038
- * @type string | undefined
1039
- */
1040
956
  region?: string;
1041
- /**
1042
- * @description Registration source identifier.
1043
- * @type string | undefined
1044
- */
1045
957
  source?: string;
1046
- /**
1047
- * @description User type: person, partner, etc.
1048
- * @type string | undefined
1049
- */
1050
958
  type?: string;
1051
- /**
1052
- * @description Whether the user has opted in to tagging their uploaded objects.
1053
- * @type boolean | undefined
1054
- */
1055
959
  useObjTags?: boolean;
1056
- /**
1057
- * @description Unique, lowercased user handle; auto-generated when left empty on register/update.
1058
- * @type string | undefined
1059
- */
1060
960
  username?: string;
1061
- /**
1062
- * @description Canonical external user identifier; used to look up and reference the user across services.
1063
- * @type string | undefined
1064
- */
1065
961
  uuid?: string;
1066
962
  };
1067
963
 
1068
- /**
1069
- * Generated by Kubb (https://kubb.dev/).
1070
- * Do not edit manually.
1071
- */
1072
964
  declare type ApiUserLinks = {
1073
- /**
1074
- * @description User\'s Artstation profile URL.
1075
- * @type string | undefined
1076
- */
1077
965
  artstation?: string;
1078
- /**
1079
- * @description User\'s Behance profile URL.
1080
- * @type string | undefined
1081
- */
1082
966
  behance?: string;
1083
- /**
1084
- * @description User\'s Facebook profile URL.
1085
- * @type string | undefined
1086
- */
1087
967
  facebook?: string;
1088
- /**
1089
- * @description User\'s Instagram profile URL.
1090
- * @type string | undefined
1091
- */
1092
968
  instagram?: string;
1093
- /**
1094
- * @description User\'s Pinterest profile URL.
1095
- * @type string | undefined
1096
- */
1097
969
  pinterest?: string;
1098
- /**
1099
- * @description User\'s personal or portfolio website URL.
1100
- * @type string | undefined
1101
- */
1102
970
  site?: string;
1103
971
  };
1104
972
 
package/dist/index.js CHANGED
@@ -3759,6 +3759,11 @@ var __webpack_modules__ = {
3759
3759
  transition-property: none;
3760
3760
  }
3761
3761
 
3762
+ .duration-\\(--toggle-dur\\) {
3763
+ --tw-duration: var(--toggle-dur);
3764
+ transition-duration: var(--toggle-dur);
3765
+ }
3766
+
3762
3767
  .duration-0 {
3763
3768
  --tw-duration: 0s;
3764
3769
  transition-duration: 0s;
@@ -3794,6 +3799,16 @@ var __webpack_modules__ = {
3794
3799
  transition-duration: .25s;
3795
3800
  }
3796
3801
 
3802
+ .ease-\\(--ease-smooth-out\\) {
3803
+ --tw-ease: var(--ease-smooth-out);
3804
+ transition-timing-function: var(--ease-smooth-out);
3805
+ }
3806
+
3807
+ .ease-\\(--toggle-ease\\) {
3808
+ --tw-ease: var(--toggle-ease);
3809
+ transition-timing-function: var(--toggle-ease);
3810
+ }
3811
+
3797
3812
  .ease-\\[cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\] {
3798
3813
  --tw-ease: cubic-bezier(.22, 1, .36, 1);
3799
3814
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
@@ -6274,6 +6289,11 @@ var __webpack_modules__ = {
6274
6289
  animation: exit var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
6275
6290
  }
6276
6291
 
6292
+ .data-closed\\:duration-\\(--duration-quick\\)[data-closed] {
6293
+ --tw-duration: var(--duration-quick);
6294
+ transition-duration: var(--duration-quick);
6295
+ }
6296
+
6277
6297
  .data-closed\\:fade-out-0[data-closed] {
6278
6298
  --tw-exit-opacity: 0;
6279
6299
  }
@@ -6286,6 +6306,14 @@ var __webpack_modules__ = {
6286
6306
  --tw-exit-scale: .95;
6287
6307
  }
6288
6308
 
6309
+ .data-closed\\:zoom-out-\\[0\\.96\\][data-closed] {
6310
+ --tw-exit-scale: .96;
6311
+ }
6312
+
6313
+ .data-closed\\:zoom-out-\\[0\\.99\\][data-closed] {
6314
+ --tw-exit-scale: .99;
6315
+ }
6316
+
6289
6317
  .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:data-closed\\:animate-out:is(:where(.group\\/navigation-menu)[data-viewport="false"] *)[data-closed] {
6290
6318
  animation: exit var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
6291
6319
  }
@@ -6397,6 +6425,11 @@ var __webpack_modules__ = {
6397
6425
  color: var(--accent-foreground);
6398
6426
  }
6399
6427
 
6428
+ .data-open\\:duration-\\(--duration-fast\\)[data-open] {
6429
+ --tw-duration: var(--duration-fast);
6430
+ transition-duration: var(--duration-fast);
6431
+ }
6432
+
6400
6433
  .data-open\\:fade-in-0[data-open] {
6401
6434
  --tw-enter-opacity: 0;
6402
6435
  }
@@ -6409,6 +6442,14 @@ var __webpack_modules__ = {
6409
6442
  --tw-enter-scale: .95;
6410
6443
  }
6411
6444
 
6445
+ .data-open\\:zoom-in-\\[0\\.96\\][data-open] {
6446
+ --tw-enter-scale: .96;
6447
+ }
6448
+
6449
+ .data-open\\:zoom-in-\\[0\\.97\\][data-open] {
6450
+ --tw-enter-scale: .97;
6451
+ }
6452
+
6412
6453
  .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:data-open\\:animate-in:is(:where(.group\\/navigation-menu)[data-viewport="false"] *)[data-open] {
6413
6454
  animation: enter var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
6414
6455
  }
@@ -8412,6 +8453,14 @@ var __webpack_modules__ = {
8412
8453
  margin-bottom: calc(var(--spacing) * 4);
8413
8454
  }
8414
8455
 
8456
+ .\\[\\&_path\\]\\:\\[animation\\:t-check-draw_var\\(--check-draw\\)_var\\(--ease-smooth-out\\)_both\\] path {
8457
+ animation: t-check-draw var(--check-draw) var(--ease-smooth-out) both;
8458
+ }
8459
+
8460
+ .\\[\\&_path\\]\\:\\[stroke-dasharray\\:var\\(--check-len\\)\\] path {
8461
+ stroke-dasharray: var(--check-len);
8462
+ }
8463
+
8415
8464
  .\\[\\&_span\\]\\:inline-flex span {
8416
8465
  display: inline-flex;
8417
8466
  }
@@ -8536,6 +8585,10 @@ var __webpack_modules__ = {
8536
8585
  color: var(--v-text-dark);
8537
8586
  }
8538
8587
 
8588
+ .data-\\[variant\\=destructive\\]\\:\\[\\&_svg\\:not\\(\\[class\\*\\=text-\\]\\)\\]\\:text-inherit[data-variant="destructive"] svg:not([class*="text-"]) {
8589
+ color: inherit;
8590
+ }
8591
+
8539
8592
  .\\[\\&_tr\\]\\:border-b tr {
8540
8593
  border-bottom-style: var(--tw-border-style);
8541
8594
  border-bottom-width: 1px;
@@ -18057,9 +18110,10 @@ var __webpack_modules__ = {
18057
18110
  },
18058
18111
  "../api/dist/gen/node/index.js" (__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
18059
18112
  __webpack_require__.d(__webpack_exports__, {
18060
- J9_: ()=>publicApiControllerGetPublicObjects,
18113
+ hov: ()=>legacyAccountControllerSearch,
18061
18114
  MNX: ()=>publicApiControllerIssueWidgetToken,
18062
18115
  ytc: ()=>publicApiControllerReadObjectByTinuuid,
18116
+ avi: ()=>publicApiControllerGetPublicObjects,
18063
18117
  tOZ: ()=>publicApiControllerActivateCoreAR
18064
18118
  });
18065
18119
  var client_runtime_factory = __webpack_require__("../api/dist/client-runtime-factory.js");
@@ -18082,6 +18136,17 @@ var __webpack_modules__ = {
18082
18136
  return requestNodeRuntime(config);
18083
18137
  }
18084
18138
  __webpack_require__("@tanstack/react-query");
18139
+ async function legacyAccountControllerSearch(data, config = {}) {
18140
+ const { client: request = node_client_node_client, ...requestConfig } = config;
18141
+ const requestData = data;
18142
+ const res = await request({
18143
+ method: "POST",
18144
+ url: "/legacy/account/Search",
18145
+ data: requestData,
18146
+ ...requestConfig
18147
+ });
18148
+ return res.data;
18149
+ }
18085
18150
  async function publicApiControllerActivateCoreAR(params, config = {}) {
18086
18151
  const { client: request = node_client_node_client, ...requestConfig } = config;
18087
18152
  const res = await request({
@@ -18165,8 +18230,8 @@ __webpack_require__.m = __webpack_modules__;
18165
18230
  })();
18166
18231
  (()=>{
18167
18232
  __webpack_require__.u = (chunkId)=>"" + chunkId + "." + ({
18168
- 170: "bf0cb5ec765967b7",
18169
- 191: "b62a8c99d7285005"
18233
+ 191: "b62a8c99d7285005",
18234
+ 199: "fb8c6dab169d5e2c"
18170
18235
  })[chunkId] + ".js";
18171
18236
  })();
18172
18237
  (()=>{
@@ -18256,7 +18321,7 @@ function prewarmArSession({ backend } = {}) {
18256
18321
  requestArMotionPermission();
18257
18322
  Promise.all([
18258
18323
  __webpack_require__.e("191"),
18259
- __webpack_require__.e("170")
18324
+ __webpack_require__.e("199")
18260
18325
  ]).then(__webpack_require__.bind(__webpack_require__, "./src/root.tsx")).catch(()=>void 0);
18261
18326
  if ((backend ?? (0, backend_policy.HE)()) !== '8thwall') return;
18262
18327
  Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "./src/ar/tracker/eighth-wall-surface-tracker.ts")).then(({ loadEighthWallEngine })=>loadEighthWallEngine()).catch(()=>void 0);
@@ -18624,6 +18689,7 @@ const PROPERTY_BLOCK_RE = /@property\s+(--[^{\s]+)\s*\{([^}]*)\}/g;
18624
18689
  const INITIAL_VALUE_RE = /initial-value:([^;}]+)/i;
18625
18690
  const NON_INHERITING_RE = /inherits:\s*false(?:\s*;|\s*$)/i;
18626
18691
  const ROOT_TO_HOST_SELECTOR_RE = /:root\s*,\s*:host|:root/g;
18692
+ const SHADOW_HOST_VISIBILITY_CSS = ':host{display:block!important;visibility:visible!important}';
18627
18693
  function createShadowRootCssText(cssText) {
18628
18694
  const cssForHost = cssText.replace(ROOT_TO_HOST_SELECTOR_RE, ':host');
18629
18695
  const propertyBlocks = Array.from(cssText.matchAll(PROPERTY_BLOCK_RE));
@@ -18649,7 +18715,7 @@ const shadowRootCssText = createShadowRootCssText(styleinline.A);
18649
18715
  const ArExperience = /*#__PURE__*/ (0, external_react_.lazy)(async ()=>({
18650
18716
  default: (await Promise.all([
18651
18717
  __webpack_require__.e("191"),
18652
- __webpack_require__.e("170")
18718
+ __webpack_require__.e("199")
18653
18719
  ]).then(__webpack_require__.bind(__webpack_require__, "./src/root.tsx"))).ArExperience
18654
18720
  }));
18655
18721
  const ModelViewerDialog = /*#__PURE__*/ (0, external_react_.lazy)(async ()=>({
@@ -18796,6 +18862,9 @@ function ArDialog({ apiKey, hid, initialWidgetSessionToken, name, language, onAn
18796
18862
  zIndex: 2147483647
18797
18863
  },
18798
18864
  children: [
18865
+ /*#__PURE__*/ (0, jsx_runtime_.jsx)("style", {
18866
+ children: SHADOW_HOST_VISIBILITY_CSS
18867
+ }),
18799
18868
  /*#__PURE__*/ (0, jsx_runtime_.jsx)("style", {
18800
18869
  children: shadowRootCssText
18801
18870
  }),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@neurodyn/react-ar",
3
3
  "type": "module",
4
- "version": "0.0.8",
4
+ "version": "0.0.10",
5
5
  "//sideEffects": "Lets a consumer that only wants the platform helpers off the barrel drop the scene and three.js instead of shipping them. The exceptions are the two modules that really do run on import: stylesheets, and the i18n instance that configures itself.",
6
6
  "sideEffects": [
7
7
  "*.css",
@@ -39,7 +39,7 @@
39
39
  "react-shadow": "^20.6.0",
40
40
  "three": "^0.185.1",
41
41
  "ua-parser-js": "^2.0.9",
42
- "@neurodyn/react-model-viewer": "0.0.9"
42
+ "@neurodyn/react-model-viewer": "0.0.11"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@microsoft/api-extractor": "^7.58.0",