@terraware/web-components 5.0.27 → 5.1.1-rc.0

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 (311) hide show
  1. package/components/AntSwitch/index.js +19 -22
  2. package/components/Autocomplete/Autocomplete.js +106 -130
  3. package/components/Badge/index.js +28 -29
  4. package/components/BusySpinner/index.js +40 -45
  5. package/components/Button/Button.js +41 -47
  6. package/components/Checkbox.js +64 -63
  7. package/components/Confirm/index.js +74 -83
  8. package/components/DatePicker/DatePicker.js +138 -141
  9. package/components/DialogBox/DialogBox.js +111 -118
  10. package/components/Divisor.js +18 -18
  11. package/components/Dropdown.js +66 -94
  12. package/components/EditableTable/index.js +211 -271
  13. package/components/ErrorBox/ErrorBox.js +47 -49
  14. package/components/FileChooser/index.js +117 -135
  15. package/components/FormBottomBar/index.js +75 -84
  16. package/components/Icon/Icon.js +12 -20
  17. package/components/Icon/icons/index.js +256 -256
  18. package/components/IconTooltip/index.js +49 -60
  19. package/components/Map/MapBox.js +545 -452
  20. package/components/Map/MapContainer.js +25 -29
  21. package/components/Map/MapDateSliderControl.js +64 -64
  22. package/components/Map/MapDrawer.js +41 -47
  23. package/components/Map/MapLegend.js +176 -172
  24. package/components/Map/MapViewStyleControl.js +59 -63
  25. package/components/Map/ReactMapboxWrapper.js +3 -2
  26. package/components/Map/index.js +161 -180
  27. package/components/Map/types.js +12 -17
  28. package/components/Map/useMaintainLayerOrder.js +16 -26
  29. package/components/Markdown/index.js +25 -26
  30. package/components/Message/Message.js +73 -76
  31. package/components/MultiSelect/index.js +112 -124
  32. package/components/Navbar/NavFooter.js +9 -13
  33. package/components/Navbar/NavItem.js +70 -76
  34. package/components/Navbar/NavSection.js +17 -19
  35. package/components/Navbar/Navbar.js +39 -46
  36. package/components/Navbar/SubNavbar.js +9 -13
  37. package/components/Note.js +18 -22
  38. package/components/OverlayModal/OverlayModal.js +56 -63
  39. package/components/PageForm/index.js +33 -41
  40. package/components/PhotoChooser/index.js +165 -173
  41. package/components/PhotosCarousel/PhotoSlide.js +32 -35
  42. package/components/PhotosCarousel/index.js +80 -85
  43. package/components/PhotosCarousel/usePhotosCarousel.js +69 -76
  44. package/components/Pill/index.js +41 -45
  45. package/components/PillList/index.js +17 -24
  46. package/components/PlacementWrapper/index.js +38 -59
  47. package/components/PopoverMenu/Popover.js +68 -85
  48. package/components/PopoverMenu/index.js +51 -56
  49. package/components/PopoverMultiSelect/index.js +52 -59
  50. package/components/ProgressCircle/ProgressCircle.js +28 -32
  51. package/components/RadioButton.js +17 -19
  52. package/components/Select/Select.js +13 -15
  53. package/components/Select/SelectT.js +235 -250
  54. package/components/Separator/index.js +14 -17
  55. package/components/Size.js +0 -1
  56. package/components/Slider/index.js +43 -56
  57. package/components/Stepper/index.d.ts +33 -0
  58. package/components/Stepper/index.d.ts.map +1 -0
  59. package/components/Stepper/index.js +66 -0
  60. package/components/SummaryBox.js +70 -72
  61. package/components/Tabs/index.js +133 -135
  62. package/components/TextTruncated/index.js +117 -130
  63. package/components/Textfield/Textfield.js +158 -190
  64. package/components/Textfield/TruncatedTextArea.js +70 -84
  65. package/components/TimelineSlider/TimelineMarker.js +25 -30
  66. package/components/TimelineSlider/TimelineRail.js +8 -11
  67. package/components/TimelineSlider/index.js +64 -66
  68. package/components/TimelineSliderV2/ClusterBadge.js +25 -29
  69. package/components/TimelineSliderV2/TimelineDot.js +31 -35
  70. package/components/TimelineSliderV2/TimelineRail.js +8 -11
  71. package/components/TimelineSliderV2/index.js +121 -103
  72. package/components/TimelineSliderV2/layout.js +124 -147
  73. package/components/TimelineSliderV2/types.js +0 -1
  74. package/components/Tooltip/Tooltip.js +47 -56
  75. package/components/ViewPhotosDialog/index.js +28 -35
  76. package/components/VirtualWalkthrough/Annotation.js +163 -207
  77. package/components/VirtualWalkthrough/AnnotationEditPane.js +198 -184
  78. package/components/VirtualWalkthrough/AnnotationPanel.js +187 -199
  79. package/components/VirtualWalkthrough/Application.js +31 -34
  80. package/components/VirtualWalkthrough/AutoRotator.js +85 -223
  81. package/components/VirtualWalkthrough/BlockingSpinner.js +26 -28
  82. package/components/VirtualWalkthrough/BoundaryRing.js +30 -34
  83. package/components/VirtualWalkthrough/BoundaryWall.js +32 -36
  84. package/components/VirtualWalkthrough/CameraInfo.js +100 -89
  85. package/components/VirtualWalkthrough/ControlsInfoPane.js +254 -195
  86. package/components/VirtualWalkthrough/GradientSky.js +72 -73
  87. package/components/VirtualWalkthrough/SplatControls.js +209 -221
  88. package/components/VirtualWalkthrough/SplatCrop.js +21 -20
  89. package/components/VirtualWalkthrough/SplatFadeCrop.js +21 -20
  90. package/components/VirtualWalkthrough/SplatModel.js +65 -85
  91. package/components/VirtualWalkthrough/SplatRevealRain.js +41 -46
  92. package/components/VirtualWalkthrough/TfAnnotationManager.js +197 -379
  93. package/components/VirtualWalkthrough/TfXrNavigation.js +73 -162
  94. package/components/VirtualWalkthrough/VirtualWalkthroughViewer.js +438 -431
  95. package/components/VirtualWalkthrough/VrAnnotationPanel.js +18 -22
  96. package/components/VirtualWalkthrough/XrAnnotationInteraction.js +14 -17
  97. package/components/VirtualWalkthrough/XrExitButton.js +14 -17
  98. package/components/VirtualWalkthrough/XrGazeDwell.js +14 -17
  99. package/components/VirtualWalkthrough/XrPointerRay.js +14 -17
  100. package/components/VirtualWalkthrough/XrStartPose.js +67 -121
  101. package/components/VirtualWalkthrough/boundary-ring.js +87 -117
  102. package/components/VirtualWalkthrough/boundary-wall.js +175 -258
  103. package/components/VirtualWalkthrough/camera-adoption.js +18 -64
  104. package/components/VirtualWalkthrough/groundPlane.js +32 -47
  105. package/components/VirtualWalkthrough/gsplat-fade-crop-effect.js +35 -35
  106. package/components/VirtualWalkthrough/splatFormat.js +13 -47
  107. package/components/VirtualWalkthrough/useAdoptedCamera.js +23 -44
  108. package/components/VirtualWalkthrough/useRestartOnVr.js +26 -37
  109. package/components/VirtualWalkthrough/useXrRenderTuning.js +33 -54
  110. package/components/VirtualWalkthrough/vr-annotation-panel-layout.js +67 -99
  111. package/components/VirtualWalkthrough/vr-annotation-panel.js +403 -433
  112. package/components/VirtualWalkthrough/vr-annotation-scroll.js +10 -28
  113. package/components/VirtualWalkthrough/walkthrough-camera.js +204 -329
  114. package/components/VirtualWalkthrough/xr-annotation-candidate-buffer.js +39 -80
  115. package/components/VirtualWalkthrough/xr-annotation-candidates.js +6 -18
  116. package/components/VirtualWalkthrough/xr-annotation-interaction.js +31 -56
  117. package/components/VirtualWalkthrough/xr-annotation-targeting.js +22 -38
  118. package/components/VirtualWalkthrough/xr-button-arming.js +7 -17
  119. package/components/VirtualWalkthrough/xr-button-hold.js +22 -36
  120. package/components/VirtualWalkthrough/xr-exit-button-mask.js +22 -36
  121. package/components/VirtualWalkthrough/xr-exit-button.js +148 -207
  122. package/components/VirtualWalkthrough/xr-face-buttons.js +19 -29
  123. package/components/VirtualWalkthrough/xr-gaze-dwell-state.js +23 -34
  124. package/components/VirtualWalkthrough/xr-gaze-dwell.js +107 -144
  125. package/components/VirtualWalkthrough/xr-interactive-ui.js +12 -24
  126. package/components/VirtualWalkthrough/xr-pointer-ray.js +13 -20
  127. package/components/VirtualWalkthrough/xr-progress-pie-material.js +117 -88
  128. package/components/VirtualWalkthrough/xr-progress-pie.js +1 -10
  129. package/components/VirtualWalkthrough/xr-ray-quad.js +16 -30
  130. package/components/VirtualWalkthrough/xr-render-tuning.js +17 -48
  131. package/components/VirtualWalkthrough/xr-scene-bounds.js +21 -37
  132. package/components/VirtualWalkthrough/xr-start-pose.js +27 -73
  133. package/components/VirtualWalkthrough/xr-teleport-gesture.js +16 -42
  134. package/components/svg/BlobbyGrayIconImage.js +41 -39
  135. package/components/svg/BlobbyGrayIconImport.js +41 -39
  136. package/components/svg/BlobbyGrayIconUploadToTheCloud.js +41 -39
  137. package/components/svg/BlobbyIconCloudChecked.js +202 -164
  138. package/components/svg/BlobbyIconExportOrUploadPhoto.js +202 -164
  139. package/components/svg/BlobbyIconFolder.js +202 -164
  140. package/components/svg/BlobbyIconGraphReport.js +202 -164
  141. package/components/svg/BlobbyIconHappy.js +202 -164
  142. package/components/svg/BlobbyIconHeartMonitor.js +202 -164
  143. package/components/svg/BlobbyIconLeaf.js +202 -164
  144. package/components/svg/BlobbyIconLibrary.js +202 -164
  145. package/components/svg/BlobbyIconNursery.js +204 -166
  146. package/components/svg/BlobbyIconOrganization.js +202 -164
  147. package/components/svg/BlobbyIconParchment.js +202 -164
  148. package/components/svg/BlobbyIconPeople.js +202 -164
  149. package/components/svg/BlobbyIconSeedBank.js +202 -164
  150. package/components/svg/BlobbyIconSeedling.js +202 -164
  151. package/components/svg/BlobbyIconSeeds.js +202 -164
  152. package/components/svg/BlobbyIconSite.js +206 -167
  153. package/components/svg/BlobbyIconSparkles.js +202 -164
  154. package/components/svg/BlobbyIconWrench.js +202 -164
  155. package/components/svg/Bug.js +19 -21
  156. package/components/svg/Calendar.js +19 -21
  157. package/components/svg/CaretDown.js +19 -21
  158. package/components/svg/CaretLeft.js +19 -21
  159. package/components/svg/CaretRight.js +19 -21
  160. package/components/svg/CaretUp.js +19 -21
  161. package/components/svg/ChevronDown.js +19 -21
  162. package/components/svg/ChevronUp.js +19 -21
  163. package/components/svg/Close.js +19 -21
  164. package/components/svg/Critical.js +19 -21
  165. package/components/svg/Edit.js +202 -164
  166. package/components/svg/Error.js +19 -21
  167. package/components/svg/Filter.js +19 -21
  168. package/components/svg/Folder.js +19 -21
  169. package/components/svg/Help.js +19 -21
  170. package/components/svg/Home.js +19 -21
  171. package/components/svg/IconAdd.js +19 -21
  172. package/components/svg/IconArrowRight.js +21 -23
  173. package/components/svg/IconBusinessNetwork.js +19 -21
  174. package/components/svg/IconCalendar.js +19 -21
  175. package/components/svg/IconCancel.js +19 -21
  176. package/components/svg/IconChargingBattery.js +19 -21
  177. package/components/svg/IconChecklist.js +21 -23
  178. package/components/svg/IconCheckmark.js +19 -21
  179. package/components/svg/IconCoinInHand.js +19 -21
  180. package/components/svg/IconColumns.js +19 -21
  181. package/components/svg/IconComment.js +20 -22
  182. package/components/svg/IconDashboard.js +19 -21
  183. package/components/svg/IconDataMigration.js +19 -21
  184. package/components/svg/IconDocument.js +21 -23
  185. package/components/svg/IconDownloadFromTheCloud.js +21 -23
  186. package/components/svg/IconEdit.js +21 -23
  187. package/components/svg/IconExpand.js +21 -23
  188. package/components/svg/IconExport.js +19 -21
  189. package/components/svg/IconExternalLink.js +19 -21
  190. package/components/svg/IconEye.js +19 -21
  191. package/components/svg/IconEyeOff.js +19 -21
  192. package/components/svg/IconFile.js +19 -21
  193. package/components/svg/IconFolder.js +19 -21
  194. package/components/svg/IconFullScreen.js +20 -22
  195. package/components/svg/IconFutures.js +19 -21
  196. package/components/svg/IconGraphReport.js +19 -21
  197. package/components/svg/IconGrid.js +19 -21
  198. package/components/svg/IconHeartMonitor.js +19 -21
  199. package/components/svg/IconHelp.js +21 -23
  200. package/components/svg/IconHistory.js +19 -21
  201. package/components/svg/IconImport.js +19 -21
  202. package/components/svg/IconIndex.js +19 -21
  203. package/components/svg/IconLayers.js +19 -21
  204. package/components/svg/IconLibrary.js +20 -22
  205. package/components/svg/IconList.js +19 -21
  206. package/components/svg/IconLivePlant.js +19 -21
  207. package/components/svg/IconLocations.js +19 -21
  208. package/components/svg/IconMail.js +19 -21
  209. package/components/svg/IconManager.js +19 -21
  210. package/components/svg/IconMap.js +19 -21
  211. package/components/svg/IconMarker.js +19 -21
  212. package/components/svg/IconMenu.js +19 -21
  213. package/components/svg/IconMenuHorizontal.js +19 -21
  214. package/components/svg/IconModule.js +19 -21
  215. package/components/svg/IconMyLocation.js +19 -21
  216. package/components/svg/IconNote.js +21 -23
  217. package/components/svg/IconNursery.js +21 -23
  218. package/components/svg/IconOrg.js +19 -21
  219. package/components/svg/IconParchment.js +19 -21
  220. package/components/svg/IconPhoto.js +19 -21
  221. package/components/svg/IconPlantsFilled.js +19 -21
  222. package/components/svg/IconRedo.js +19 -21
  223. package/components/svg/IconRestorationSite.js +19 -21
  224. package/components/svg/IconSeedBank.js +19 -21
  225. package/components/svg/IconSeedling.js +19 -21
  226. package/components/svg/IconSettings.js +19 -21
  227. package/components/svg/IconSlice.js +19 -21
  228. package/components/svg/IconSubmit.js +19 -21
  229. package/components/svg/IconSubtract.js +21 -23
  230. package/components/svg/IconSynced.js +19 -21
  231. package/components/svg/IconTrashCan.js +19 -21
  232. package/components/svg/IconTreasureMap.js +19 -21
  233. package/components/svg/IconUnavailable.js +19 -21
  234. package/components/svg/IconUndo.js +19 -21
  235. package/components/svg/IconVariable.js +19 -21
  236. package/components/svg/IconVideo.js +30 -31
  237. package/components/svg/IconWifi.js +19 -21
  238. package/components/svg/Info.js +19 -21
  239. package/components/svg/Key.js +19 -21
  240. package/components/svg/Leaf.js +19 -21
  241. package/components/svg/Lock.js +19 -21
  242. package/components/svg/Logo.js +48 -43
  243. package/components/svg/MenuVertical.js +19 -21
  244. package/components/svg/Notification.js +19 -21
  245. package/components/svg/Person.js +19 -21
  246. package/components/svg/Plus.js +19 -21
  247. package/components/svg/RestorationSite.js +19 -21
  248. package/components/svg/Search.js +19 -21
  249. package/components/svg/Seeds.js +19 -21
  250. package/components/svg/Site.js +19 -21
  251. package/components/svg/Sparkles.js +19 -21
  252. package/components/svg/Species.js +19 -21
  253. package/components/svg/Species2.js +202 -164
  254. package/components/svg/Spinner.js +54 -48
  255. package/components/svg/Star.js +19 -21
  256. package/components/svg/Success.js +19 -21
  257. package/components/svg/SuccessFilled.js +19 -21
  258. package/components/svg/TerrawareLogoDesktop.js +55 -49
  259. package/components/svg/TerrawareLogoMobile.js +25 -26
  260. package/components/svg/Touchscreen.js +19 -21
  261. package/components/svg/UploadCloud.js +202 -164
  262. package/components/svg/Warning.js +19 -21
  263. package/components/svg/WelcomeClipboard.js +156 -133
  264. package/components/svg/index.js +129 -129
  265. package/components/table/EnhancedTableToolbar.js +68 -74
  266. package/components/table/EnhancedTableToolbarV2.js +31 -41
  267. package/components/table/TableCellRenderer.js +196 -231
  268. package/components/table/TableHeader.js +71 -73
  269. package/components/table/TableHeaderItem.js +97 -102
  270. package/components/table/density.js +18 -19
  271. package/components/table/index.js +350 -369
  272. package/components/table/sort.js +27 -52
  273. package/components/table/types.js +0 -1
  274. package/components/types/index.js +0 -1
  275. package/hooks/cameraEntityContext.js +2 -13
  276. package/hooks/useBoolean.js +17 -13
  277. package/hooks/useCameraPosition.js +56 -56
  278. package/hooks/useDevicePerformance.js +17 -17
  279. package/hooks/useXr.js +85 -87
  280. package/index.d.ts +3 -1
  281. package/index.d.ts.map +1 -1
  282. package/index.js +59 -58
  283. package/package.json +1 -1
  284. package/setupTests.js +0 -4
  285. package/strings/csv/en.csv +1 -0
  286. package/strings/csv/es.csv +1 -0
  287. package/strings/csv/fr.csv +1 -0
  288. package/strings/export.js +111 -170
  289. package/strings/index.js +25 -54
  290. package/strings/locales.js +21 -41
  291. package/strings/strings-en.d.ts +1 -0
  292. package/strings/strings-en.d.ts.map +1 -1
  293. package/strings/strings-en.js +50 -51
  294. package/strings/strings-es.d.ts +1 -0
  295. package/strings/strings-es.d.ts.map +1 -1
  296. package/strings/strings-es.js +50 -51
  297. package/strings/strings-fr.d.ts +1 -0
  298. package/strings/strings-fr.d.ts.map +1 -1
  299. package/strings/strings-fr.js +50 -51
  300. package/strings/strings-gx.d.ts +1 -0
  301. package/strings/strings-gx.d.ts.map +1 -1
  302. package/strings/strings-gx.js +50 -51
  303. package/style-dictionary-dist/TerrawareTheme.js +186 -186
  304. package/theme.js +74 -76
  305. package/utils/color.js +8 -15
  306. package/utils/date.js +42 -108
  307. package/utils/index.js +4 -4
  308. package/utils/preventDefaultEvent.js +3 -3
  309. package/utils/text.js +11 -11
  310. package/utils/useDeviceInfo.js +42 -79
  311. package/virtualWalkthrough.js +23 -23
package/utils/date.js CHANGED
@@ -1,114 +1,48 @@
1
- import _ from 'lodash';
2
- import { DateTime } from 'luxon';
3
-
4
- /**
5
- * Accepted date types for input are:
6
- * - string for any date ISO string representation
7
- * - number for timestamp
8
- * - JS Date
9
- * - luxon DateTime
10
- */
11
-
12
- /**
13
- * Helper util that returns default time zone as a fallback.
14
- */
15
- const tz = timeZoneId => timeZoneId || 'Etc/UTC';
16
-
17
- /**
18
- * Parse a date ISO string with zone implied.
19
- * eg. '2023-01-10 in 'America/Los_Angeles'
20
- */
21
- const getDateFromISOString = (date, timeZoneId) => {
22
- return DateTime.fromISO(date, {
23
- zone: tz(timeZoneId)
24
- });
25
- };
26
-
27
- /**
28
- * Parse a date from milliseconds, with time zone implied.
29
- */
30
- const getDateFromMillis = (date, timeZoneId) => {
31
- const millis = new Date(date).getTime();
32
- return DateTime.fromMillis(millis, {
33
- zone: tz(timeZoneId)
34
- });
1
+ import lodash from "lodash";
2
+ import { DateTime } from "luxon";
3
+ const tz = (timeZoneId)=>timeZoneId || 'Etc/UTC';
4
+ const getDateFromISOString = (date, timeZoneId)=>DateTime.fromISO(date, {
5
+ zone: tz(timeZoneId)
6
+ });
7
+ const getDateFromMillis = (date, timeZoneId)=>{
8
+ const millis = new Date(date).getTime();
9
+ return DateTime.fromMillis(millis, {
10
+ zone: tz(timeZoneId)
11
+ });
35
12
  };
36
-
37
- /**
38
- * Return the display value for a date in ISO 8601 format.
39
- */
40
- const getDisplayValue = date => {
41
- if (date.isValid) {
42
- return date.toFormat('yyyy-MM-dd');
43
- }
44
- return date.toString();
13
+ const getDisplayValue = (date)=>{
14
+ if (date.isValid) return date.toFormat('yyyy-MM-dd');
15
+ return date.toString();
45
16
  };
46
-
47
- /**
48
- * Returns <Month> <Year> (eg. July 2023).
49
- */
50
- const getShortDate = date => {
51
- if (date.isValid) {
52
- return date.toFormat('LLLL yyyy');
53
- }
54
- return date.toString();
17
+ const getShortDate = (date)=>{
18
+ if (date.isValid) return date.toFormat('LLLL yyyy');
19
+ return date.toString();
55
20
  };
56
-
57
- /**
58
- * Utility that constructs a valid DateTime object from
59
- * any DateType value passed in (ISO string or epoch milliseconds or DateTime object).
60
- * Note: the DateTime object input support is mostly for ease of use and will essentially be a pass-through.
61
- */
62
- const getDate = (date, timeZoneId) => {
63
- if (typeof date === 'string') {
64
- const fromString = getDateFromISOString(date, timeZoneId);
65
- if (fromString.isValid) {
66
- return fromString;
21
+ const getDate = (date, timeZoneId)=>{
22
+ if ('string' == typeof date) {
23
+ const fromString = getDateFromISOString(date, timeZoneId);
24
+ if (fromString.isValid) return fromString;
67
25
  }
68
- }
69
- if (typeof date === 'number') {
70
- const fromMillis = getDateFromMillis(date, timeZoneId);
71
- if (fromMillis.isValid) {
72
- return fromMillis;
26
+ if ('number' == typeof date) {
27
+ const fromMillis = getDateFromMillis(date, timeZoneId);
28
+ if (fromMillis.isValid) return fromMillis;
73
29
  }
74
- }
75
- if (_.isDate(date) || typeof date === 'string' || typeof date === 'number') {
76
- return DateTime.fromJSDate(new Date(date), {
77
- zone: tz(timeZoneId)
30
+ if (lodash.isDate(date) || 'string' == typeof date || 'number' == typeof date) return DateTime.fromJSDate(new Date(date), {
31
+ zone: tz(timeZoneId)
78
32
  });
79
- }
80
- return date.setZone(tz(timeZoneId));
81
- };
82
-
83
- /**
84
- * Default export function that provides a display value for a date
85
- * with optional implied time zone.
86
- */
87
- const getDateDisplayValue = (date, timeZoneId) => {
88
- if (typeof date === 'string' && date.match(/^\d\d\d\d-\d\d-\d\d$/)) {
89
- // if already in display format, return as-is, do not apply time zone
90
- return date;
91
- }
92
- const dateObj = getDate(date, timeZoneId);
93
- return getDisplayValue(dateObj);
94
- };
95
-
96
- /**
97
- * Exported function that returns todays date in a specific (optional) time zone.
98
- */
99
- const getTodaysDateFormatted = timeZoneId => {
100
- return getDisplayValue(DateTime.now().setZone(tz(timeZoneId)));
101
- };
102
-
103
- /**
104
- * Checks if a date is in the future, time zone for date is optional.
105
- */
106
- const isInTheFuture = (date, timeZoneId) => {
107
- const d = getDate(date, timeZoneId);
108
- if (d.isValid) {
109
- return d.toMillis() > Date.now();
110
- }
111
- return false;
112
- };
113
-
114
- export { getDateDisplayValue as default, getDate, getShortDate, getTodaysDateFormatted, isInTheFuture, tz };
33
+ return date.setZone(tz(timeZoneId));
34
+ };
35
+ const getDateDisplayValue = (date, timeZoneId)=>{
36
+ if ('string' == typeof date && date.match(/^\d\d\d\d-\d\d-\d\d$/)) return date;
37
+ const dateObj = getDate(date, timeZoneId);
38
+ return getDisplayValue(dateObj);
39
+ };
40
+ const getTodaysDateFormatted = (timeZoneId)=>getDisplayValue(DateTime.now().setZone(tz(timeZoneId)));
41
+ const isInTheFuture = (date, timeZoneId)=>{
42
+ const d = getDate(date, timeZoneId);
43
+ if (d.isValid) return d.toMillis() > Date.now();
44
+ return false;
45
+ };
46
+ const utils_date = getDateDisplayValue;
47
+ export default utils_date;
48
+ export { getDate, getShortDate, getTodaysDateFormatted, isInTheFuture, tz };
package/utils/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { getDate, default as getDateDisplayValue, getTodaysDateFormatted, isInTheFuture } from './date.js';
2
- export { default as preventDefaultEvent } from './preventDefaultEvent.js';
3
- export { default as isWhitespaces } from './text.js';
4
- export { default as useDeviceInfo } from './useDeviceInfo.js';
1
+ export { default as getDateDisplayValue, getDate, getTodaysDateFormatted, isInTheFuture } from "./date.js";
2
+ export { default as preventDefaultEvent } from "./preventDefaultEvent.js";
3
+ export { default as isWhitespaces } from "./text.js";
4
+ export { default as useDeviceInfo } from "./useDeviceInfo.js";
@@ -1,3 +1,3 @@
1
- const preventDefault = event => event.preventDefault();
2
-
3
- export { preventDefault as default };
1
+ const preventDefault = (event)=>event.preventDefault();
2
+ const preventDefaultEvent = preventDefault;
3
+ export default preventDefaultEvent;
package/utils/text.js CHANGED
@@ -1,11 +1,11 @@
1
- const isWhitespaces = str => str.match(/^\s+$/);
2
- const titleCase = str => str.split(' ').map(word => {
3
- if (word !== word.toUpperCase()) {
4
- const lowerCaseWord = word.toLowerCase();
5
- return lowerCaseWord.replace(lowerCaseWord.charAt(0), lowerCaseWord.charAt(0).toUpperCase());
6
- } else {
7
- return word;
8
- }
9
- }).join(' ');
10
-
11
- export { isWhitespaces as default, titleCase };
1
+ const isWhitespaces = (str)=>str.match(/^\s+$/);
2
+ const titleCase = (str)=>str.split(' ').map((word)=>{
3
+ if (word === word.toUpperCase()) return word;
4
+ else {
5
+ const lowerCaseWord = word.toLowerCase();
6
+ return lowerCaseWord.replace(lowerCaseWord.charAt(0), lowerCaseWord.charAt(0).toUpperCase());
7
+ }
8
+ }).join(' ');
9
+ const utils_text = isWhitespaces;
10
+ export default utils_text;
11
+ export { titleCase };
@@ -1,80 +1,43 @@
1
- import { useMediaQuery } from 'react-responsive';
2
-
3
- /**
4
- * Device widths categorized for our purposes.
5
- * Device widths
6
- * desktop width > 1023
7
- * tablet width = 1023 - 768
8
- * mobile width = < 768
9
- */
10
-
11
- /**
12
- * This function returns properties on device type.
13
- *
14
- * {
15
- * type: 'desktop' | 'tablet' | 'mobile',
16
- * orientation: 'portrait' | 'landscape',
17
- * isDesktop: <boolean>,
18
- * isTablet: <boolean>,
19
- * isMobile: <boolean>,
20
- * isRetina: <boolean>,
21
- * }
22
- *
23
- * Clients can use whichever properties they see fit.
24
- *
25
- * This function also acceps a callback function to be called
26
- * if there's a change in any of our interested device properties.
27
- */
28
-
29
- const useDeviceInfo = ({
30
- onChange
31
- } = {}) => {
32
- const deviceChangeCallback = matches => {
33
- if (matches && onChange) {
34
- onChange();
35
- }
36
- };
37
- const isDesktop = useMediaQuery({
38
- minWidth: 1024
39
- }, undefined, deviceChangeCallback);
40
- const isTablet = useMediaQuery({
41
- maxWidth: 1023,
42
- minWidth: 768
43
- }, undefined, deviceChangeCallback);
44
- const isMobile = useMediaQuery({
45
- maxWidth: 767
46
- }, undefined, deviceChangeCallback);
47
- const isPortrait = useMediaQuery({
48
- orientation: 'portrait'
49
- }, undefined, deviceChangeCallback);
50
- const isRetina = useMediaQuery({
51
- query: '(min-resolution: 2dppx)'
52
- }, undefined, deviceChangeCallback);
53
- const getDeviceType = () => {
54
- if (isTablet) {
55
- return 'tablet';
56
- }
57
- if (isMobile) {
58
- return 'mobile';
59
- }
60
- return 'desktop';
61
- };
62
- const getDeviceOrientation = () => {
63
- if (isPortrait) {
64
- return 'portrait';
65
- }
66
- return 'landscape';
67
- };
68
- return {
69
- type: getDeviceType(),
70
- orientation: getDeviceOrientation(),
71
- isRetina,
72
- isDesktop,
73
- isTablet,
74
- isMobile,
75
- isPortrait,
76
- isLandscape: !isPortrait
77
- };
1
+ import { useMediaQuery } from "react-responsive";
2
+ const useDeviceInfo = ({ onChange } = {})=>{
3
+ const deviceChangeCallback = (matches)=>{
4
+ if (matches && onChange) onChange();
5
+ };
6
+ const isDesktop = useMediaQuery({
7
+ minWidth: 1024
8
+ }, void 0, deviceChangeCallback);
9
+ const isTablet = useMediaQuery({
10
+ maxWidth: 1023,
11
+ minWidth: 768
12
+ }, void 0, deviceChangeCallback);
13
+ const isMobile = useMediaQuery({
14
+ maxWidth: 767
15
+ }, void 0, deviceChangeCallback);
16
+ const isPortrait = useMediaQuery({
17
+ orientation: 'portrait'
18
+ }, void 0, deviceChangeCallback);
19
+ const isRetina = useMediaQuery({
20
+ query: '(min-resolution: 2dppx)'
21
+ }, void 0, deviceChangeCallback);
22
+ const getDeviceType = ()=>{
23
+ if (isTablet) return 'tablet';
24
+ if (isMobile) return 'mobile';
25
+ return 'desktop';
26
+ };
27
+ const getDeviceOrientation = ()=>{
28
+ if (isPortrait) return 'portrait';
29
+ return 'landscape';
30
+ };
31
+ return {
32
+ type: getDeviceType(),
33
+ orientation: getDeviceOrientation(),
34
+ isRetina,
35
+ isDesktop,
36
+ isTablet,
37
+ isMobile,
38
+ isPortrait,
39
+ isLandscape: !isPortrait
40
+ };
78
41
  };
79
-
80
- export { useDeviceInfo as default };
42
+ const utils_useDeviceInfo = useDeviceInfo;
43
+ export default utils_useDeviceInfo;
@@ -1,23 +1,23 @@
1
- export { default as Annotation } from './components/VirtualWalkthrough/Annotation.js';
2
- export { default as AnnotationEditPane } from './components/VirtualWalkthrough/AnnotationEditPane.js';
3
- export { default as AnnotationPanel } from './components/VirtualWalkthrough/AnnotationPanel.js';
4
- export { default as Application } from './components/VirtualWalkthrough/Application.js';
5
- export { AutoRotator } from './components/VirtualWalkthrough/AutoRotator.js';
6
- export { default as BlockingSpinner } from './components/VirtualWalkthrough/BlockingSpinner.js';
7
- export { default as BoundaryRing } from './components/VirtualWalkthrough/BoundaryRing.js';
8
- export { default as CameraInfo } from './components/VirtualWalkthrough/CameraInfo.js';
9
- export { default as ControlsInfoPane } from './components/VirtualWalkthrough/ControlsInfoPane.js';
10
- export { default as GradientSky } from './components/VirtualWalkthrough/GradientSky.js';
11
- export { default as SplatControls } from './components/VirtualWalkthrough/SplatControls.js';
12
- export { default as SplatCrop } from './components/VirtualWalkthrough/SplatCrop.js';
13
- export { default as SplatFadeCrop } from './components/VirtualWalkthrough/SplatFadeCrop.js';
14
- export { default as SplatModel } from './components/VirtualWalkthrough/SplatModel.js';
15
- export { default as SplatRevealRain } from './components/VirtualWalkthrough/SplatRevealRain.js';
16
- export { TfAnnotationManager } from './components/VirtualWalkthrough/TfAnnotationManager.js';
17
- export { TfXrNavigation } from './components/VirtualWalkthrough/TfXrNavigation.js';
18
- export { default as VirtualWalkthroughViewer } from './components/VirtualWalkthrough/VirtualWalkthroughViewer.js';
19
- export { BoundaryRingScript, boundaryRingMesh } from './components/VirtualWalkthrough/boundary-ring.js';
20
- export { computeGroundPlane, yOnPlane } from './components/VirtualWalkthrough/groundPlane.js';
21
- export { detectSplatFormat, splatLoaderFilename } from './components/VirtualWalkthrough/splatFormat.js';
22
- export { WalkthroughCamera } from './components/VirtualWalkthrough/walkthrough-camera.js';
23
- export { useDevicePerformance } from './hooks/useDevicePerformance.js';
1
+ export { default as Annotation } from "./components/VirtualWalkthrough/Annotation.js";
2
+ export { default as AnnotationEditPane } from "./components/VirtualWalkthrough/AnnotationEditPane.js";
3
+ export { default as AnnotationPanel } from "./components/VirtualWalkthrough/AnnotationPanel.js";
4
+ export { default as Application } from "./components/VirtualWalkthrough/Application.js";
5
+ export { AutoRotator } from "./components/VirtualWalkthrough/AutoRotator.js";
6
+ export { default as BlockingSpinner } from "./components/VirtualWalkthrough/BlockingSpinner.js";
7
+ export { default as BoundaryRing } from "./components/VirtualWalkthrough/BoundaryRing.js";
8
+ export { default as CameraInfo } from "./components/VirtualWalkthrough/CameraInfo.js";
9
+ export { default as ControlsInfoPane } from "./components/VirtualWalkthrough/ControlsInfoPane.js";
10
+ export { default as GradientSky } from "./components/VirtualWalkthrough/GradientSky.js";
11
+ export { default as SplatControls } from "./components/VirtualWalkthrough/SplatControls.js";
12
+ export { default as SplatCrop } from "./components/VirtualWalkthrough/SplatCrop.js";
13
+ export { default as SplatFadeCrop } from "./components/VirtualWalkthrough/SplatFadeCrop.js";
14
+ export { default as SplatModel } from "./components/VirtualWalkthrough/SplatModel.js";
15
+ export { default as SplatRevealRain } from "./components/VirtualWalkthrough/SplatRevealRain.js";
16
+ export { TfAnnotationManager } from "./components/VirtualWalkthrough/TfAnnotationManager.js";
17
+ export { TfXrNavigation } from "./components/VirtualWalkthrough/TfXrNavigation.js";
18
+ export { default as VirtualWalkthroughViewer } from "./components/VirtualWalkthrough/VirtualWalkthroughViewer.js";
19
+ export { BoundaryRingScript, boundaryRingMesh } from "./components/VirtualWalkthrough/boundary-ring.js";
20
+ export { computeGroundPlane, yOnPlane } from "./components/VirtualWalkthrough/groundPlane.js";
21
+ export { detectSplatFormat, splatLoaderFilename } from "./components/VirtualWalkthrough/splatFormat.js";
22
+ export { WalkthroughCamera } from "./components/VirtualWalkthrough/walkthrough-camera.js";
23
+ export { useDevicePerformance } from "./hooks/useDevicePerformance.js";