@terraware/web-components 5.0.26-rc.1 → 5.0.27-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 (296) 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/SummaryBox.js +70 -72
  58. package/components/Tabs/index.js +133 -135
  59. package/components/TextTruncated/index.js +117 -130
  60. package/components/Textfield/Textfield.js +158 -190
  61. package/components/Textfield/TruncatedTextArea.js +70 -84
  62. package/components/TimelineSlider/TimelineMarker.js +25 -30
  63. package/components/TimelineSlider/TimelineRail.js +8 -11
  64. package/components/TimelineSlider/index.js +64 -66
  65. package/components/TimelineSliderV2/ClusterBadge.js +25 -29
  66. package/components/TimelineSliderV2/TimelineDot.js +31 -35
  67. package/components/TimelineSliderV2/TimelineRail.js +8 -11
  68. package/components/TimelineSliderV2/index.js +121 -103
  69. package/components/TimelineSliderV2/layout.js +124 -147
  70. package/components/TimelineSliderV2/types.js +0 -1
  71. package/components/Tooltip/Tooltip.js +47 -56
  72. package/components/ViewPhotosDialog/index.js +28 -35
  73. package/components/VirtualWalkthrough/Annotation.js +163 -207
  74. package/components/VirtualWalkthrough/AnnotationEditPane.js +198 -184
  75. package/components/VirtualWalkthrough/AnnotationPanel.js +187 -199
  76. package/components/VirtualWalkthrough/Application.js +31 -34
  77. package/components/VirtualWalkthrough/AutoRotator.js +85 -223
  78. package/components/VirtualWalkthrough/BlockingSpinner.js +26 -28
  79. package/components/VirtualWalkthrough/BoundaryRing.js +30 -34
  80. package/components/VirtualWalkthrough/BoundaryWall.js +32 -36
  81. package/components/VirtualWalkthrough/CameraInfo.js +100 -89
  82. package/components/VirtualWalkthrough/ControlsInfoPane.js +254 -195
  83. package/components/VirtualWalkthrough/GradientSky.js +72 -73
  84. package/components/VirtualWalkthrough/SplatControls.js +209 -221
  85. package/components/VirtualWalkthrough/SplatCrop.js +21 -20
  86. package/components/VirtualWalkthrough/SplatFadeCrop.js +21 -20
  87. package/components/VirtualWalkthrough/SplatModel.js +65 -85
  88. package/components/VirtualWalkthrough/SplatRevealRain.js +41 -46
  89. package/components/VirtualWalkthrough/TfAnnotationManager.js +197 -379
  90. package/components/VirtualWalkthrough/TfXrNavigation.js +73 -162
  91. package/components/VirtualWalkthrough/VirtualWalkthroughViewer.js +438 -431
  92. package/components/VirtualWalkthrough/VrAnnotationPanel.js +18 -22
  93. package/components/VirtualWalkthrough/XrAnnotationInteraction.js +14 -17
  94. package/components/VirtualWalkthrough/XrExitButton.js +14 -17
  95. package/components/VirtualWalkthrough/XrGazeDwell.js +14 -17
  96. package/components/VirtualWalkthrough/XrPointerRay.js +14 -17
  97. package/components/VirtualWalkthrough/XrStartPose.js +67 -121
  98. package/components/VirtualWalkthrough/boundary-ring.js +87 -117
  99. package/components/VirtualWalkthrough/boundary-wall.js +175 -258
  100. package/components/VirtualWalkthrough/camera-adoption.js +18 -64
  101. package/components/VirtualWalkthrough/groundPlane.js +32 -47
  102. package/components/VirtualWalkthrough/gsplat-fade-crop-effect.js +35 -35
  103. package/components/VirtualWalkthrough/splatFormat.js +13 -47
  104. package/components/VirtualWalkthrough/useAdoptedCamera.js +23 -44
  105. package/components/VirtualWalkthrough/useRestartOnVr.js +26 -37
  106. package/components/VirtualWalkthrough/useXrRenderTuning.js +33 -54
  107. package/components/VirtualWalkthrough/vr-annotation-panel-layout.js +67 -99
  108. package/components/VirtualWalkthrough/vr-annotation-panel.js +403 -433
  109. package/components/VirtualWalkthrough/vr-annotation-scroll.js +10 -28
  110. package/components/VirtualWalkthrough/walkthrough-camera.js +204 -329
  111. package/components/VirtualWalkthrough/xr-annotation-candidate-buffer.js +39 -80
  112. package/components/VirtualWalkthrough/xr-annotation-candidates.js +6 -18
  113. package/components/VirtualWalkthrough/xr-annotation-interaction.js +31 -56
  114. package/components/VirtualWalkthrough/xr-annotation-targeting.js +22 -38
  115. package/components/VirtualWalkthrough/xr-button-arming.js +7 -17
  116. package/components/VirtualWalkthrough/xr-button-hold.js +22 -36
  117. package/components/VirtualWalkthrough/xr-exit-button-mask.js +22 -36
  118. package/components/VirtualWalkthrough/xr-exit-button.js +148 -207
  119. package/components/VirtualWalkthrough/xr-face-buttons.js +19 -29
  120. package/components/VirtualWalkthrough/xr-gaze-dwell-state.js +23 -34
  121. package/components/VirtualWalkthrough/xr-gaze-dwell.js +107 -144
  122. package/components/VirtualWalkthrough/xr-interactive-ui.js +12 -24
  123. package/components/VirtualWalkthrough/xr-pointer-ray.js +13 -20
  124. package/components/VirtualWalkthrough/xr-progress-pie-material.js +117 -88
  125. package/components/VirtualWalkthrough/xr-progress-pie.js +1 -10
  126. package/components/VirtualWalkthrough/xr-ray-quad.js +16 -30
  127. package/components/VirtualWalkthrough/xr-render-tuning.js +17 -48
  128. package/components/VirtualWalkthrough/xr-scene-bounds.js +21 -37
  129. package/components/VirtualWalkthrough/xr-start-pose.js +27 -73
  130. package/components/VirtualWalkthrough/xr-teleport-gesture.js +16 -42
  131. package/components/svg/BlobbyGrayIconImage.js +41 -39
  132. package/components/svg/BlobbyGrayIconImport.js +41 -39
  133. package/components/svg/BlobbyGrayIconUploadToTheCloud.js +41 -39
  134. package/components/svg/BlobbyIconCloudChecked.js +202 -164
  135. package/components/svg/BlobbyIconExportOrUploadPhoto.js +202 -164
  136. package/components/svg/BlobbyIconFolder.js +202 -164
  137. package/components/svg/BlobbyIconGraphReport.js +202 -164
  138. package/components/svg/BlobbyIconHappy.js +202 -164
  139. package/components/svg/BlobbyIconHeartMonitor.js +202 -164
  140. package/components/svg/BlobbyIconLeaf.js +202 -164
  141. package/components/svg/BlobbyIconLibrary.js +202 -164
  142. package/components/svg/BlobbyIconNursery.js +204 -166
  143. package/components/svg/BlobbyIconOrganization.js +202 -164
  144. package/components/svg/BlobbyIconParchment.js +202 -164
  145. package/components/svg/BlobbyIconPeople.js +202 -164
  146. package/components/svg/BlobbyIconSeedBank.js +202 -164
  147. package/components/svg/BlobbyIconSeedling.js +202 -164
  148. package/components/svg/BlobbyIconSeeds.js +202 -164
  149. package/components/svg/BlobbyIconSite.js +206 -167
  150. package/components/svg/BlobbyIconSparkles.js +202 -164
  151. package/components/svg/BlobbyIconWrench.js +202 -164
  152. package/components/svg/Bug.js +19 -21
  153. package/components/svg/Calendar.js +19 -21
  154. package/components/svg/CaretDown.js +19 -21
  155. package/components/svg/CaretLeft.js +19 -21
  156. package/components/svg/CaretRight.js +19 -21
  157. package/components/svg/CaretUp.js +19 -21
  158. package/components/svg/ChevronDown.js +19 -21
  159. package/components/svg/ChevronUp.js +19 -21
  160. package/components/svg/Close.js +19 -21
  161. package/components/svg/Critical.js +19 -21
  162. package/components/svg/Edit.js +202 -164
  163. package/components/svg/Error.js +19 -21
  164. package/components/svg/Filter.js +19 -21
  165. package/components/svg/Folder.js +19 -21
  166. package/components/svg/Help.js +19 -21
  167. package/components/svg/Home.js +19 -21
  168. package/components/svg/IconAdd.js +19 -21
  169. package/components/svg/IconArrowRight.js +21 -23
  170. package/components/svg/IconBusinessNetwork.js +19 -21
  171. package/components/svg/IconCalendar.js +19 -21
  172. package/components/svg/IconCancel.js +19 -21
  173. package/components/svg/IconChargingBattery.js +19 -21
  174. package/components/svg/IconChecklist.js +21 -23
  175. package/components/svg/IconCheckmark.js +19 -21
  176. package/components/svg/IconCoinInHand.js +19 -21
  177. package/components/svg/IconColumns.js +19 -21
  178. package/components/svg/IconComment.js +20 -22
  179. package/components/svg/IconDashboard.js +19 -21
  180. package/components/svg/IconDataMigration.js +19 -21
  181. package/components/svg/IconDocument.js +21 -23
  182. package/components/svg/IconDownloadFromTheCloud.js +21 -23
  183. package/components/svg/IconEdit.js +21 -23
  184. package/components/svg/IconExpand.js +21 -23
  185. package/components/svg/IconExport.js +19 -21
  186. package/components/svg/IconExternalLink.js +19 -21
  187. package/components/svg/IconEye.js +19 -21
  188. package/components/svg/IconEyeOff.js +19 -21
  189. package/components/svg/IconFile.js +19 -21
  190. package/components/svg/IconFolder.js +19 -21
  191. package/components/svg/IconFullScreen.js +20 -22
  192. package/components/svg/IconFutures.js +19 -21
  193. package/components/svg/IconGraphReport.js +19 -21
  194. package/components/svg/IconGrid.js +19 -21
  195. package/components/svg/IconHeartMonitor.js +19 -21
  196. package/components/svg/IconHelp.js +21 -23
  197. package/components/svg/IconHistory.js +19 -21
  198. package/components/svg/IconImport.js +19 -21
  199. package/components/svg/IconIndex.js +19 -21
  200. package/components/svg/IconLayers.js +19 -21
  201. package/components/svg/IconLibrary.js +20 -22
  202. package/components/svg/IconList.js +19 -21
  203. package/components/svg/IconLivePlant.js +19 -21
  204. package/components/svg/IconLocations.js +19 -21
  205. package/components/svg/IconMail.js +19 -21
  206. package/components/svg/IconManager.js +19 -21
  207. package/components/svg/IconMap.js +19 -21
  208. package/components/svg/IconMarker.js +19 -21
  209. package/components/svg/IconMenu.js +19 -21
  210. package/components/svg/IconMenuHorizontal.js +19 -21
  211. package/components/svg/IconModule.js +19 -21
  212. package/components/svg/IconMyLocation.js +19 -21
  213. package/components/svg/IconNote.js +21 -23
  214. package/components/svg/IconNursery.js +21 -23
  215. package/components/svg/IconOrg.js +19 -21
  216. package/components/svg/IconParchment.js +19 -21
  217. package/components/svg/IconPhoto.js +19 -21
  218. package/components/svg/IconPlantsFilled.js +19 -21
  219. package/components/svg/IconRedo.js +19 -21
  220. package/components/svg/IconRestorationSite.js +19 -21
  221. package/components/svg/IconSeedBank.js +19 -21
  222. package/components/svg/IconSeedling.js +19 -21
  223. package/components/svg/IconSettings.js +19 -21
  224. package/components/svg/IconSlice.js +19 -21
  225. package/components/svg/IconSubmit.js +19 -21
  226. package/components/svg/IconSubtract.js +21 -23
  227. package/components/svg/IconSynced.js +19 -21
  228. package/components/svg/IconTrashCan.js +19 -21
  229. package/components/svg/IconTreasureMap.js +19 -21
  230. package/components/svg/IconUnavailable.js +19 -21
  231. package/components/svg/IconUndo.js +19 -21
  232. package/components/svg/IconVariable.js +19 -21
  233. package/components/svg/IconVideo.js +30 -31
  234. package/components/svg/IconWifi.js +19 -21
  235. package/components/svg/Info.js +19 -21
  236. package/components/svg/Key.js +19 -21
  237. package/components/svg/Leaf.js +19 -21
  238. package/components/svg/Lock.js +19 -21
  239. package/components/svg/Logo.js +48 -43
  240. package/components/svg/MenuVertical.js +19 -21
  241. package/components/svg/Notification.js +19 -21
  242. package/components/svg/Person.js +19 -21
  243. package/components/svg/Plus.js +19 -21
  244. package/components/svg/RestorationSite.js +19 -21
  245. package/components/svg/Search.js +19 -21
  246. package/components/svg/Seeds.js +19 -21
  247. package/components/svg/Site.js +19 -21
  248. package/components/svg/Sparkles.js +19 -21
  249. package/components/svg/Species.js +19 -21
  250. package/components/svg/Species2.js +202 -164
  251. package/components/svg/Spinner.js +54 -48
  252. package/components/svg/Star.js +19 -21
  253. package/components/svg/Success.js +19 -21
  254. package/components/svg/SuccessFilled.js +19 -21
  255. package/components/svg/TerrawareLogoDesktop.js +55 -49
  256. package/components/svg/TerrawareLogoMobile.js +25 -26
  257. package/components/svg/Touchscreen.js +19 -21
  258. package/components/svg/UploadCloud.js +202 -164
  259. package/components/svg/Warning.js +19 -21
  260. package/components/svg/WelcomeClipboard.js +156 -133
  261. package/components/svg/index.js +129 -129
  262. package/components/table/EnhancedTableToolbar.js +68 -74
  263. package/components/table/EnhancedTableToolbarV2.js +31 -41
  264. package/components/table/TableCellRenderer.js +196 -231
  265. package/components/table/TableHeader.js +71 -73
  266. package/components/table/TableHeaderItem.js +97 -102
  267. package/components/table/density.js +18 -19
  268. package/components/table/index.js +350 -369
  269. package/components/table/sort.js +27 -52
  270. package/components/table/types.js +0 -1
  271. package/components/types/index.js +0 -1
  272. package/hooks/cameraEntityContext.js +2 -13
  273. package/hooks/useBoolean.js +17 -13
  274. package/hooks/useCameraPosition.js +56 -56
  275. package/hooks/useDevicePerformance.js +17 -17
  276. package/hooks/useXr.js +85 -87
  277. package/index.js +58 -58
  278. package/license-report.html +1 -1
  279. package/package.json +3 -3
  280. package/setupTests.js +0 -4
  281. package/strings/export.js +111 -170
  282. package/strings/index.js +25 -54
  283. package/strings/locales.js +21 -41
  284. package/strings/strings-en.js +49 -51
  285. package/strings/strings-es.js +49 -51
  286. package/strings/strings-fr.js +49 -51
  287. package/strings/strings-gx.js +49 -51
  288. package/style-dictionary-dist/TerrawareTheme.js +186 -186
  289. package/theme.js +74 -76
  290. package/utils/color.js +8 -15
  291. package/utils/date.js +42 -108
  292. package/utils/index.js +4 -4
  293. package/utils/preventDefaultEvent.js +3 -3
  294. package/utils/text.js +11 -11
  295. package/utils/useDeviceInfo.js +42 -79
  296. package/virtualWalkthrough.js +23 -23
@@ -1,86 +1,72 @@
1
- import { useState, useRef, useEffect } from 'react';
2
- import { useTheme, Link, Typography } from '@mui/material';
3
- import './styles.scss';
4
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
5
-
6
- const TruncatedTextArea = ({
7
- truncateConfig,
8
- children
9
- }) => {
10
- const {
11
- maxHeight,
12
- showLessText,
13
- showMoreText,
14
- showTextStyle,
15
- alignment = 'left',
16
- collapseOnBlur = false
17
- } = truncateConfig;
18
- const theme = useTheme();
19
- const [showAll, setShowAll] = useState(false);
20
- const [needsTruncating, setNeedsTruncating] = useState(false);
21
- const contentRef = useRef(null);
22
- useEffect(() => {
23
- const node = contentRef.current;
24
- if (!node) {
25
- return;
26
- }
27
- const measure = () => {
28
- // offsetHeight is an untransformed layout value, so it is in the same units as maxHeight
29
- const truncating = node.offsetHeight > maxHeight;
30
- setNeedsTruncating(truncating);
31
- if (!truncating) {
32
- // Otherwise content that grows long again later would start out expanded
33
- setShowAll(false);
34
- }
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { Link, Typography, useTheme } from "@mui/material";
4
+ import "./styles.scss";
5
+ const TruncatedTextArea = ({ truncateConfig, children })=>{
6
+ const { maxHeight, showLessText, showMoreText, showTextStyle, alignment = 'left', collapseOnBlur = false } = truncateConfig;
7
+ const theme = useTheme();
8
+ const [showAll, setShowAll] = useState(false);
9
+ const [needsTruncating, setNeedsTruncating] = useState(false);
10
+ const contentRef = useRef(null);
11
+ useEffect(()=>{
12
+ const node = contentRef.current;
13
+ if (!node) return;
14
+ const measure = ()=>{
15
+ const truncating = node.offsetHeight > maxHeight;
16
+ setNeedsTruncating(truncating);
17
+ if (!truncating) setShowAll(false);
18
+ };
19
+ measure();
20
+ const observer = new ResizeObserver(measure);
21
+ observer.observe(node);
22
+ return ()=>observer.disconnect();
23
+ }, [
24
+ maxHeight
25
+ ]);
26
+ const toggleShowAll = ()=>setShowAll((prev)=>!prev);
27
+ const containerStyle = {
28
+ margin: 0,
29
+ padding: 0,
30
+ overflow: 'hidden',
31
+ width: '100%'
35
32
  };
36
- measure();
37
- const observer = new ResizeObserver(measure);
38
- observer.observe(node);
39
- return () => observer.disconnect();
40
- }, [maxHeight]);
41
- const toggleShowAll = () => setShowAll(prev => !prev);
42
- const containerStyle = {
43
- margin: 0,
44
- padding: 0,
45
- overflow: 'hidden',
46
- width: '100%'
47
- };
48
- if (needsTruncating && !showAll) {
49
- containerStyle.maxHeight = `${maxHeight}px`;
50
- }
51
- return /*#__PURE__*/jsxs(Fragment, {
52
- children: [/*#__PURE__*/jsx("div", {
53
- style: containerStyle,
54
- children: /*#__PURE__*/jsx("div", {
55
- ref: contentRef,
56
- style: {
57
- display: 'flow-root'
58
- },
59
- children: children
60
- })
61
- }), needsTruncating && /*#__PURE__*/jsx("div", {
62
- style: {
63
- width: '100%',
64
- textAlign: alignment
65
- },
66
- children: /*#__PURE__*/jsx(Link, {
67
- component: "button",
68
- onClick: toggleShowAll,
69
- onBlur: collapseOnBlur ? () => setShowAll(false) : undefined,
70
- sx: {
71
- color: theme.palette.TwClrTxtBrand,
72
- textDecorationColor: `${theme.palette.TwClrTxtBrand}80`
73
- },
74
- children: /*#__PURE__*/jsx(Typography, {
75
- sx: {
76
- ...showTextStyle,
77
- marginTop: '-3px'
78
- },
79
- children: showAll ? showLessText : showMoreText
80
- })
81
- })
82
- })]
83
- });
33
+ if (needsTruncating && !showAll) containerStyle.maxHeight = `${maxHeight}px`;
34
+ return /*#__PURE__*/ jsxs(Fragment, {
35
+ children: [
36
+ /*#__PURE__*/ jsx("div", {
37
+ style: containerStyle,
38
+ children: /*#__PURE__*/ jsx("div", {
39
+ ref: contentRef,
40
+ style: {
41
+ display: 'flow-root'
42
+ },
43
+ children: children
44
+ })
45
+ }),
46
+ needsTruncating && /*#__PURE__*/ jsx("div", {
47
+ style: {
48
+ width: '100%',
49
+ textAlign: alignment
50
+ },
51
+ children: /*#__PURE__*/ jsx(Link, {
52
+ component: "button",
53
+ onClick: toggleShowAll,
54
+ onBlur: collapseOnBlur ? ()=>setShowAll(false) : void 0,
55
+ sx: {
56
+ color: theme.palette.TwClrTxtBrand,
57
+ textDecorationColor: `${theme.palette.TwClrTxtBrand}80`
58
+ },
59
+ children: /*#__PURE__*/ jsx(Typography, {
60
+ sx: {
61
+ ...showTextStyle,
62
+ marginTop: '-3px'
63
+ },
64
+ children: showAll ? showLessText : showMoreText
65
+ })
66
+ })
67
+ })
68
+ ]
69
+ });
84
70
  };
85
-
86
- export { TruncatedTextArea as default };
71
+ const Textfield_TruncatedTextArea = TruncatedTextArea;
72
+ export default Textfield_TruncatedTextArea;
@@ -1,31 +1,26 @@
1
- import 'react';
2
- import './styles.scss';
3
- import { jsxs, jsx } from 'react/jsx-runtime';
4
-
5
- const TimelineMarker = ({
6
- color,
7
- labelBottom,
8
- labelTop,
9
- onClick,
10
- size,
11
- value
12
- }) => {
13
- const clampedValue = Math.min(1, Math.max(0, value));
14
- return /*#__PURE__*/jsxs("div", {
15
- className: `timeline-marker timeline-marker--${size} ${onClick ? 'timeline-marker--clickable' : ''}`,
16
- style: {
17
- left: `${clampedValue * 100}%`,
18
- backgroundColor: color
19
- },
20
- onClick: onClick,
21
- children: [labelTop && /*#__PURE__*/jsx("div", {
22
- className: "timeline-marker__label timeline-marker__label--top",
23
- children: labelTop
24
- }), labelBottom && /*#__PURE__*/jsx("div", {
25
- className: "timeline-marker__label timeline-marker__label--bottom",
26
- children: labelBottom
27
- })]
28
- });
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ import "./styles.scss";
4
+ const TimelineMarker = ({ color, labelBottom, labelTop, onClick, size, value })=>{
5
+ const clampedValue = Math.min(1, Math.max(0, value));
6
+ return /*#__PURE__*/ jsxs("div", {
7
+ className: `timeline-marker timeline-marker--${size} ${onClick ? 'timeline-marker--clickable' : ''}`,
8
+ style: {
9
+ left: `${100 * clampedValue}%`,
10
+ backgroundColor: color
11
+ },
12
+ onClick: onClick,
13
+ children: [
14
+ labelTop && /*#__PURE__*/ jsx("div", {
15
+ className: "timeline-marker__label timeline-marker__label--top",
16
+ children: labelTop
17
+ }),
18
+ labelBottom && /*#__PURE__*/ jsx("div", {
19
+ className: "timeline-marker__label timeline-marker__label--bottom",
20
+ children: labelBottom
21
+ })
22
+ ]
23
+ });
29
24
  };
30
-
31
- export { TimelineMarker as default };
25
+ const TimelineSlider_TimelineMarker = TimelineMarker;
26
+ export default TimelineSlider_TimelineMarker;
@@ -1,11 +1,8 @@
1
- import 'react';
2
- import './styles.scss';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- const TimelineRail = () => {
6
- return /*#__PURE__*/jsx("div", {
7
- className: "timeline-rail"
8
- });
9
- };
10
-
11
- export { TimelineRail as default };
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ import "./styles.scss";
4
+ const TimelineRail = ()=>/*#__PURE__*/ jsx("div", {
5
+ className: "timeline-rail"
6
+ });
7
+ const TimelineSlider_TimelineRail = TimelineRail;
8
+ export default TimelineSlider_TimelineRail;
@@ -1,67 +1,65 @@
1
- import { useMemo } from 'react';
2
- import { useTheme } from '@mui/material';
3
- import TimelineMarker from './TimelineMarker.js';
4
- import TimelineRail from './TimelineRail.js';
5
- import './styles.scss';
6
- import { jsxs, jsx } from 'react/jsx-runtime';
7
-
8
- const TimelineSlider = ({
9
- labelEnd,
10
- labelSelected,
11
- labelStart,
12
- marks
13
- }) => {
14
- const theme = useTheme();
15
- const {
16
- minValue,
17
- maxValue
18
- } = useMemo(() => {
19
- const values = marks.map(mark => mark.value);
20
- if (values.length > 0) {
21
- return {
22
- minValue: Math.min(...values),
23
- maxValue: Math.max(...values)
24
- };
25
- } else {
26
- return {
27
- minValue: 0,
28
- maxValue: 1
29
- };
30
- }
31
- }, [marks]);
32
- const range = maxValue - minValue;
33
- return /*#__PURE__*/jsxs("div", {
34
- className: 'timeline',
35
- children: [/*#__PURE__*/jsx("div", {
36
- className: 'timeline-label',
37
- style: {
38
- marginRight: theme.spacing(2)
39
- },
40
- children: labelStart
41
- }), /*#__PURE__*/jsxs("div", {
42
- className: "timeline-container",
43
- children: [/*#__PURE__*/jsx(TimelineRail, {}), marks.map((mark, idx) => {
44
- const normalizedValue = range === 0 ? 1 : (mark.value - minValue) / range;
45
- return /*#__PURE__*/jsx(TimelineMarker, {
46
- color: mark.color,
47
- labelBottom: mark.labelBottom,
48
- labelTop: mark.labelTop,
49
- onClick: mark.onClick,
50
- size: mark.size,
51
- value: normalizedValue
52
- }, idx);
53
- })]
54
- }), /*#__PURE__*/jsx("div", {
55
- className: 'timeline-label',
56
- style: {
57
- marginLeft: theme.spacing(2)
58
- },
59
- children: labelEnd
60
- }), labelSelected && /*#__PURE__*/jsx("div", {
61
- className: 'timeline-selected-label',
62
- children: labelSelected
63
- })]
64
- });
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { useTheme } from "@mui/material";
4
+ import TimelineMarker from "./TimelineMarker.js";
5
+ import TimelineRail from "./TimelineRail.js";
6
+ import "./styles.scss";
7
+ const TimelineSlider = ({ labelEnd, labelSelected, labelStart, marks })=>{
8
+ const theme = useTheme();
9
+ const { minValue, maxValue } = useMemo(()=>{
10
+ const values = marks.map((mark)=>mark.value);
11
+ if (values.length > 0) return {
12
+ minValue: Math.min(...values),
13
+ maxValue: Math.max(...values)
14
+ };
15
+ else return {
16
+ minValue: 0,
17
+ maxValue: 1
18
+ };
19
+ }, [
20
+ marks
21
+ ]);
22
+ const range = maxValue - minValue;
23
+ return /*#__PURE__*/ jsxs("div", {
24
+ className: 'timeline',
25
+ children: [
26
+ /*#__PURE__*/ jsx("div", {
27
+ className: 'timeline-label',
28
+ style: {
29
+ marginRight: theme.spacing(2)
30
+ },
31
+ children: labelStart
32
+ }),
33
+ /*#__PURE__*/ jsxs("div", {
34
+ className: "timeline-container",
35
+ children: [
36
+ /*#__PURE__*/ jsx(TimelineRail, {}),
37
+ marks.map((mark, idx)=>{
38
+ const normalizedValue = 0 === range ? 1 : (mark.value - minValue) / range;
39
+ return /*#__PURE__*/ jsx(TimelineMarker, {
40
+ color: mark.color,
41
+ labelBottom: mark.labelBottom,
42
+ labelTop: mark.labelTop,
43
+ onClick: mark.onClick,
44
+ size: mark.size,
45
+ value: normalizedValue
46
+ }, idx);
47
+ })
48
+ ]
49
+ }),
50
+ /*#__PURE__*/ jsx("div", {
51
+ className: 'timeline-label',
52
+ style: {
53
+ marginLeft: theme.spacing(2)
54
+ },
55
+ children: labelEnd
56
+ }),
57
+ labelSelected && /*#__PURE__*/ jsx("div", {
58
+ className: 'timeline-selected-label',
59
+ children: labelSelected
60
+ })
61
+ ]
62
+ });
65
63
  };
66
-
67
- export { TimelineSlider as default };
64
+ const components_TimelineSlider = TimelineSlider;
65
+ export default components_TimelineSlider;
@@ -1,29 +1,25 @@
1
- import 'react';
2
- import Icon from '../Icon/Icon.js';
3
- import './styles.scss';
4
- import { jsxs, jsx } from 'react/jsx-runtime';
5
-
6
- const ClusterBadge = ({
7
- count,
8
- leftPx,
9
- onClose
10
- }) => {
11
- return /*#__PURE__*/jsxs("div", {
12
- className: "timeline-v2-cluster-badge",
13
- style: {
14
- left: `${leftPx}px`
15
- },
16
- children: [count, /*#__PURE__*/jsx("button", {
17
- "aria-label": "Close cluster",
18
- className: "timeline-v2-cluster-badge__close",
19
- onClick: onClose,
20
- type: "button",
21
- children: /*#__PURE__*/jsx(Icon, {
22
- name: "close",
23
- size: "small"
24
- })
25
- })]
26
- });
27
- };
28
-
29
- export { ClusterBadge as default };
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ import Icon from "../Icon/Icon.js";
4
+ import "./styles.scss";
5
+ const ClusterBadge = ({ count, leftPx, onClose })=>/*#__PURE__*/ jsxs("div", {
6
+ className: "timeline-v2-cluster-badge",
7
+ style: {
8
+ left: `${leftPx}px`
9
+ },
10
+ children: [
11
+ count,
12
+ /*#__PURE__*/ jsx("button", {
13
+ "aria-label": "Close cluster",
14
+ className: "timeline-v2-cluster-badge__close",
15
+ onClick: onClose,
16
+ type: "button",
17
+ children: /*#__PURE__*/ jsx(Icon, {
18
+ name: "close",
19
+ size: "small"
20
+ })
21
+ })
22
+ ]
23
+ });
24
+ const TimelineSliderV2_ClusterBadge = ClusterBadge;
25
+ export default TimelineSliderV2_ClusterBadge;
@@ -1,36 +1,32 @@
1
- import { useMemo } from 'react';
2
- import { toConicGradient } from './layout.js';
3
- import './styles.scss';
4
- import { jsx } from 'react/jsx-runtime';
5
-
6
- const TimelineDot = ({
7
- ariaLabel,
8
- colorWeights,
9
- dimmed,
10
- leftPx,
11
- markCount,
12
- onClick,
13
- selected,
14
- sizePx
15
- }) => {
16
- const background = useMemo(() => toConicGradient(colorWeights), [colorWeights]);
17
- const className = ['timeline-v2-dot', dimmed ? 'timeline-v2-dot--dimmed' : '', selected ? 'timeline-v2-dot--selected' : ''].filter(entry => entry !== '').join(' ');
18
- return /*#__PURE__*/jsx("button", {
19
- "aria-label": ariaLabel,
20
- className: className,
21
- style: {
22
- background,
23
- height: `${sizePx}px`,
24
- left: `${leftPx}px`,
25
- width: `${sizePx}px`
26
- },
27
- onClick: onClick,
28
- type: "button",
29
- children: markCount > 1 && /*#__PURE__*/jsx("span", {
30
- className: "timeline-v2-dot__count",
31
- children: markCount
32
- })
33
- });
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { toConicGradient } from "./layout.js";
4
+ import "./styles.scss";
5
+ const TimelineDot = ({ ariaLabel, colorWeights, dimmed, leftPx, markCount, onClick, selected, sizePx })=>{
6
+ const background = useMemo(()=>toConicGradient(colorWeights), [
7
+ colorWeights
8
+ ]);
9
+ const className = [
10
+ 'timeline-v2-dot',
11
+ dimmed ? 'timeline-v2-dot--dimmed' : '',
12
+ selected ? 'timeline-v2-dot--selected' : ''
13
+ ].filter((entry)=>'' !== entry).join(' ');
14
+ return /*#__PURE__*/ jsx("button", {
15
+ "aria-label": ariaLabel,
16
+ className: className,
17
+ style: {
18
+ background,
19
+ height: `${sizePx}px`,
20
+ left: `${leftPx}px`,
21
+ width: `${sizePx}px`
22
+ },
23
+ onClick: onClick,
24
+ type: "button",
25
+ children: markCount > 1 && /*#__PURE__*/ jsx("span", {
26
+ className: "timeline-v2-dot__count",
27
+ children: markCount
28
+ })
29
+ });
34
30
  };
35
-
36
- export { TimelineDot as default };
31
+ const TimelineSliderV2_TimelineDot = TimelineDot;
32
+ export default TimelineSliderV2_TimelineDot;
@@ -1,11 +1,8 @@
1
- import 'react';
2
- import './styles.scss';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- const TimelineRail = () => {
6
- return /*#__PURE__*/jsx("div", {
7
- className: "timeline-v2-rail"
8
- });
9
- };
10
-
11
- export { TimelineRail as default };
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ import "./styles.scss";
4
+ const TimelineRail = ()=>/*#__PURE__*/ jsx("div", {
5
+ className: "timeline-v2-rail"
6
+ });
7
+ const TimelineSliderV2_TimelineRail = TimelineRail;
8
+ export default TimelineSliderV2_TimelineRail;