@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
@@ -1,84 +1,75 @@
1
- import { useMemo } from 'react';
2
- import { useTheme, Typography } from '@mui/material';
3
- import Button from '../Button/Button.js';
4
- import DialogBox from '../DialogBox/DialogBox.js';
5
- import { jsx, Fragment } from 'react/jsx-runtime';
6
-
7
- function Confirm({
8
- confirmButtonDisabled,
9
- confirmButtonIcon,
10
- confirmButtonId,
11
- confirmButtonPriority,
12
- confirmButtonText,
13
- confirmButtonType,
14
- closeButtonId,
15
- closeButtonText,
16
- message,
17
- onClose,
18
- onConfirm,
19
- open,
20
- size,
21
- textStyle,
22
- title
23
- }) {
24
- const theme = useTheme();
25
- const middleButtons = useMemo(() => {
26
- const buttons = [/*#__PURE__*/jsx(Button, {
27
- disabled: confirmButtonDisabled,
28
- icon: confirmButtonIcon,
29
- id: confirmButtonId || 'confirm-submit',
30
- label: confirmButtonText,
31
- onClick: onConfirm,
32
- priority: confirmButtonPriority || 'primary',
33
- type: confirmButtonType || 'productive'
34
- }, 'button-2')];
35
- if (onClose && closeButtonText) {
36
- buttons.unshift(/*#__PURE__*/jsx(Button, {
37
- id: closeButtonId || 'confirm-close',
38
- label: closeButtonText,
39
- onClick: onClose,
40
- priority: "secondary",
41
- type: "passive"
42
- }, 'button-1'));
43
- }
44
- return buttons;
45
- }, [confirmButtonDisabled, confirmButtonIcon, confirmButtonId, confirmButtonPriority, confirmButtonText, confirmButtonType, closeButtonId, closeButtonText, onClose, onConfirm]);
46
- const content = useMemo(() => {
47
- const text = (str, key) => {
48
- return /*#__PURE__*/jsx(Typography, {
49
- color: theme.palette.TwClrTxt,
50
- fontSize: "16px",
51
- fontWeight: 400,
52
- lineHeight: "24px",
53
- textAlign: "center",
54
- sx: {
55
- marginBottom: theme.spacing(1),
56
- '&:last-child': {
57
- marginBottom: 0
58
- },
59
- ...(textStyle || {})
60
- },
61
- children: str
62
- }, key);
63
- };
64
- if (typeof message === 'string') {
65
- return text(message);
66
- } else if (Array.isArray(message)) {
67
- return /*#__PURE__*/jsx(Fragment, {
68
- children: message.map((str, i) => text(str, `${str}_${i}`))
69
- });
70
- } else {
71
- return message;
72
- }
73
- }, [message, textStyle, theme]);
74
- return /*#__PURE__*/jsx(DialogBox, {
75
- onClose: onClose,
76
- open: open ?? true,
77
- title: title,
78
- size: size || 'medium',
79
- middleButtons: middleButtons,
80
- children: content
81
- });
1
+ import { Fragment, jsx } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { Typography, useTheme } from "@mui/material";
4
+ import Button from "../Button/Button.js";
5
+ import DialogBox from "../DialogBox/DialogBox.js";
6
+ function Confirm({ confirmButtonDisabled, confirmButtonIcon, confirmButtonId, confirmButtonPriority, confirmButtonText, confirmButtonType, closeButtonId, closeButtonText, message, onClose, onConfirm, open, size, textStyle, title }) {
7
+ const theme = useTheme();
8
+ const middleButtons = useMemo(()=>{
9
+ const buttons = [
10
+ /*#__PURE__*/ jsx(Button, {
11
+ disabled: confirmButtonDisabled,
12
+ icon: confirmButtonIcon,
13
+ id: confirmButtonId || 'confirm-submit',
14
+ label: confirmButtonText,
15
+ onClick: onConfirm,
16
+ priority: confirmButtonPriority || 'primary',
17
+ type: confirmButtonType || 'productive'
18
+ }, "button-2")
19
+ ];
20
+ if (onClose && closeButtonText) buttons.unshift(/*#__PURE__*/ jsx(Button, {
21
+ id: closeButtonId || 'confirm-close',
22
+ label: closeButtonText,
23
+ onClick: onClose,
24
+ priority: "secondary",
25
+ type: "passive"
26
+ }, "button-1"));
27
+ return buttons;
28
+ }, [
29
+ confirmButtonDisabled,
30
+ confirmButtonIcon,
31
+ confirmButtonId,
32
+ confirmButtonPriority,
33
+ confirmButtonText,
34
+ confirmButtonType,
35
+ closeButtonId,
36
+ closeButtonText,
37
+ onClose,
38
+ onConfirm
39
+ ]);
40
+ const content = useMemo(()=>{
41
+ const text = (str, key)=>/*#__PURE__*/ jsx(Typography, {
42
+ color: theme.palette.TwClrTxt,
43
+ fontSize: "16px",
44
+ fontWeight: 400,
45
+ lineHeight: "24px",
46
+ textAlign: "center",
47
+ sx: {
48
+ marginBottom: theme.spacing(1),
49
+ '&:last-child': {
50
+ marginBottom: 0
51
+ },
52
+ ...textStyle || {}
53
+ },
54
+ children: str
55
+ }, key);
56
+ if ('string' == typeof message) return text(message);
57
+ else if (Array.isArray(message)) return /*#__PURE__*/ jsx(Fragment, {
58
+ children: message.map((str, i)=>text(str, `${str}_${i}`))
59
+ });
60
+ else return message;
61
+ }, [
62
+ message,
63
+ textStyle,
64
+ theme
65
+ ]);
66
+ return /*#__PURE__*/ jsx(DialogBox, {
67
+ onClose: onClose,
68
+ open: open ?? true,
69
+ title: title,
70
+ size: size || 'medium',
71
+ middleButtons: middleButtons,
72
+ children: content
73
+ });
82
74
  }
83
-
84
- export { Confirm as default };
75
+ export default Confirm;
@@ -1,145 +1,142 @@
1
- import React, { useState } from 'react';
2
- import { Box } from '@mui/material';
3
- import { LocalizationProvider, DesktopDateTimePicker, DesktopDatePicker } from '@mui/x-date-pickers';
4
- import { AdapterLuxon } from '@mui/x-date-pickers/AdapterLuxon';
5
- import { Settings } from 'luxon';
6
- import { tz, getDate } from '../../utils/date.js';
7
- import Icon from '../Icon/Icon.js';
8
- import './styles.scss';
9
- import { jsx, jsxs } from 'react/jsx-runtime';
10
-
11
- const initializeDate = (value, timeZoneId) => {
12
- if (!value) {
13
- return null;
14
- }
15
- const date = getDate(value, timeZoneId);
16
- return date?.isValid ? date : null;
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import react, { useState } from "react";
3
+ import { Box } from "@mui/material";
4
+ import { DesktopDatePicker, DesktopDateTimePicker, LocalizationProvider } from "@mui/x-date-pickers";
5
+ import { AdapterLuxon } from "@mui/x-date-pickers/AdapterLuxon";
6
+ import { Settings } from "luxon";
7
+ import { getDate, tz } from "../../utils/date.js";
8
+ import Icon from "../Icon/Icon.js";
9
+ import "./styles.scss";
10
+ const initializeDate = (value, timeZoneId)=>{
11
+ if (!value) return null;
12
+ const date = getDate(value, timeZoneId);
13
+ return date?.isValid ? date : null;
17
14
  };
18
15
  function DatePicker(props) {
19
- const [temporalValue, setTemporalValue] = useState(initializeDate(props.value, props.defaultTimeZone));
20
- const [minDateTime, setMinDateTime] = useState(initializeDate(props.minDate, props.defaultTimeZone));
21
- const [maxDateTime, setMaxDateTime] = useState(initializeDate(props.maxDate, props.defaultTimeZone));
22
- const locale = props.locale ?? 'en';
23
- Settings.defaultZone = tz(props.defaultTimeZone);
24
- React.useEffect(() => {
25
- setTemporalValue(prev => {
26
- if (props.value !== prev) {
27
- return initializeDate(props.value, props.defaultTimeZone);
28
- } else {
29
- return prev;
30
- }
16
+ const [temporalValue, setTemporalValue] = useState(initializeDate(props.value, props.defaultTimeZone));
17
+ const [minDateTime, setMinDateTime] = useState(initializeDate(props.minDate, props.defaultTimeZone));
18
+ const [maxDateTime, setMaxDateTime] = useState(initializeDate(props.maxDate, props.defaultTimeZone));
19
+ const locale = props.locale ?? 'en';
20
+ Settings.defaultZone = tz(props.defaultTimeZone);
21
+ react.useEffect(()=>{
22
+ setTemporalValue((prev)=>{
23
+ if (props.value !== prev) return initializeDate(props.value, props.defaultTimeZone);
24
+ else return prev;
25
+ });
26
+ }, [
27
+ props.defaultTimeZone,
28
+ props.value
29
+ ]);
30
+ react.useEffect(()=>{
31
+ setMinDateTime(initializeDate(props.minDate, props.defaultTimeZone));
32
+ }, [
33
+ props.defaultTimeZone,
34
+ props.minDate
35
+ ]);
36
+ react.useEffect(()=>{
37
+ setMaxDateTime(initializeDate(props.maxDate, props.defaultTimeZone));
38
+ }, [
39
+ props.defaultTimeZone,
40
+ props.maxDate
41
+ ]);
42
+ return /*#__PURE__*/ jsx(Box, {
43
+ className: `date-picker ${props.className} ${props.errorText ? 'date-picker--error' : ''}`,
44
+ sx: props.sx,
45
+ children: /*#__PURE__*/ jsxs(LocalizationProvider, {
46
+ dateAdapter: AdapterLuxon,
47
+ adapterLocale: locale,
48
+ children: [
49
+ props.label && /*#__PURE__*/ jsx("label", {
50
+ htmlFor: props.id,
51
+ className: "textfield-label",
52
+ children: props.label
53
+ }),
54
+ props.showTime ? /*#__PURE__*/ jsx(DesktopDateTimePicker, {
55
+ disabled: props.disabled,
56
+ minDate: minDateTime && minDateTime.isValid ? minDateTime : void 0,
57
+ maxDate: maxDateTime && maxDateTime.isValid ? maxDateTime : void 0,
58
+ onChange: (newValue)=>{
59
+ setTemporalValue(newValue);
60
+ if (props.onChange) props.onChange(newValue && newValue.isValid ? newValue.toJSDate() : null);
61
+ if (props.onDateChange) props.onDateChange(newValue && newValue.isValid ? newValue : void 0);
62
+ },
63
+ onError: props.onError,
64
+ slotProps: {
65
+ textField: {
66
+ sx: {
67
+ '& fieldset': {
68
+ border: 'none'
69
+ },
70
+ '& .MuiFormHelperText-root': {
71
+ marginLeft: 0
72
+ }
73
+ },
74
+ helperText: props.errorText ? /*#__PURE__*/ jsxs("div", {
75
+ className: "textfield-error-text-container",
76
+ children: [
77
+ /*#__PURE__*/ jsx(Icon, {
78
+ name: "error",
79
+ className: "textfield-error-text--icon"
80
+ }),
81
+ /*#__PURE__*/ jsx("label", {
82
+ htmlFor: props.id,
83
+ className: "textfield-error-text",
84
+ children: props.errorText
85
+ })
86
+ ]
87
+ }) : props.helperText,
88
+ id: props.id,
89
+ placeholder: props.placeholder,
90
+ autoFocus: props.autoFocus,
91
+ onKeyPress: props.onKeyPress
92
+ }
93
+ },
94
+ value: temporalValue
95
+ }) : /*#__PURE__*/ jsx(DesktopDatePicker, {
96
+ disabled: props.disabled,
97
+ format: "yyyy-MM-dd",
98
+ minDate: minDateTime && minDateTime.isValid ? minDateTime : void 0,
99
+ maxDate: maxDateTime && maxDateTime.isValid ? maxDateTime : void 0,
100
+ onChange: (newValue)=>{
101
+ setTemporalValue(newValue);
102
+ if (props.onChange) props.onChange(newValue && newValue.isValid ? newValue.toJSDate() : null);
103
+ if (props.onDateChange) props.onDateChange(newValue && newValue.isValid ? newValue : void 0);
104
+ },
105
+ onError: props.onError,
106
+ slotProps: {
107
+ textField: {
108
+ sx: {
109
+ '& fieldset': {
110
+ border: 'none'
111
+ },
112
+ '& .MuiFormHelperText-root': {
113
+ marginLeft: 0
114
+ }
115
+ },
116
+ helperText: props.errorText ? /*#__PURE__*/ jsxs("div", {
117
+ className: "textfield-error-text-container",
118
+ children: [
119
+ /*#__PURE__*/ jsx(Icon, {
120
+ name: "error",
121
+ className: "textfield-error-text--icon"
122
+ }),
123
+ /*#__PURE__*/ jsx("label", {
124
+ htmlFor: props.id,
125
+ className: "textfield-error-text",
126
+ children: props.errorText
127
+ })
128
+ ]
129
+ }) : props.helperText,
130
+ id: props.id,
131
+ placeholder: props.placeholder,
132
+ autoFocus: props.autoFocus,
133
+ onKeyPress: props.onKeyPress
134
+ }
135
+ },
136
+ value: temporalValue
137
+ })
138
+ ]
139
+ })
31
140
  });
32
- }, [props.defaultTimeZone, props.value]);
33
- React.useEffect(() => {
34
- setMinDateTime(initializeDate(props.minDate, props.defaultTimeZone));
35
- }, [props.defaultTimeZone, props.minDate]);
36
- React.useEffect(() => {
37
- setMaxDateTime(initializeDate(props.maxDate, props.defaultTimeZone));
38
- }, [props.defaultTimeZone, props.maxDate]);
39
-
40
- // TODO: Localize the yyyy-mm-dd placeholder string that is shown to users when the input is
41
- // empty. It appears to be generated programmatically deep in the guts of the MUI DatePicker
42
- // code, and it most likely uses the browser's locale.
43
- return /*#__PURE__*/jsx(Box, {
44
- className: `date-picker ${props.className} ${props.errorText ? 'date-picker--error' : ''}`,
45
- sx: props.sx,
46
- children: /*#__PURE__*/jsxs(LocalizationProvider, {
47
- dateAdapter: AdapterLuxon,
48
- adapterLocale: locale,
49
- children: [props.label && /*#__PURE__*/jsx("label", {
50
- htmlFor: props.id,
51
- className: "textfield-label",
52
- children: props.label
53
- }), props.showTime ? /*#__PURE__*/jsx(DesktopDateTimePicker, {
54
- disabled: props.disabled,
55
- minDate: minDateTime && minDateTime.isValid ? minDateTime : undefined,
56
- maxDate: maxDateTime && maxDateTime.isValid ? maxDateTime : undefined,
57
- onChange: newValue => {
58
- setTemporalValue(newValue);
59
- // TODO: remove onChange and make onDateChange required
60
- if (props.onChange) {
61
- props.onChange(newValue && newValue.isValid ? newValue.toJSDate() : null);
62
- }
63
- if (props.onDateChange) {
64
- props.onDateChange(newValue && newValue.isValid ? newValue : undefined);
65
- }
66
- },
67
- onError: props.onError,
68
- slotProps: {
69
- textField: {
70
- sx: {
71
- '& fieldset': {
72
- border: 'none'
73
- },
74
- '& .MuiFormHelperText-root': {
75
- marginLeft: 0
76
- }
77
- },
78
- helperText: props.errorText ? /*#__PURE__*/jsxs("div", {
79
- className: "textfield-error-text-container",
80
- children: [/*#__PURE__*/jsx(Icon, {
81
- name: "error",
82
- className: "textfield-error-text--icon"
83
- }), /*#__PURE__*/jsx("label", {
84
- htmlFor: props.id,
85
- className: "textfield-error-text",
86
- children: props.errorText
87
- })]
88
- }) : props.helperText,
89
- id: props.id,
90
- placeholder: props.placeholder,
91
- autoFocus: props.autoFocus,
92
- onKeyPress: props.onKeyPress
93
- }
94
- },
95
- value: temporalValue
96
- }) : /*#__PURE__*/jsx(DesktopDatePicker, {
97
- disabled: props.disabled,
98
- format: "yyyy-MM-dd",
99
- minDate: minDateTime && minDateTime.isValid ? minDateTime : undefined,
100
- maxDate: maxDateTime && maxDateTime.isValid ? maxDateTime : undefined,
101
- onChange: newValue => {
102
- setTemporalValue(newValue);
103
- // TODO: remove onChange and make onDateChange required
104
- if (props.onChange) {
105
- props.onChange(newValue && newValue.isValid ? newValue.toJSDate() : null);
106
- }
107
- if (props.onDateChange) {
108
- props.onDateChange(newValue && newValue.isValid ? newValue : undefined);
109
- }
110
- },
111
- onError: props.onError,
112
- slotProps: {
113
- textField: {
114
- sx: {
115
- '& fieldset': {
116
- border: 'none'
117
- },
118
- '& .MuiFormHelperText-root': {
119
- marginLeft: 0
120
- }
121
- },
122
- helperText: props.errorText ? /*#__PURE__*/jsxs("div", {
123
- className: "textfield-error-text-container",
124
- children: [/*#__PURE__*/jsx(Icon, {
125
- name: "error",
126
- className: "textfield-error-text--icon"
127
- }), /*#__PURE__*/jsx("label", {
128
- htmlFor: props.id,
129
- className: "textfield-error-text",
130
- children: props.errorText
131
- })]
132
- }) : props.helperText,
133
- id: props.id,
134
- placeholder: props.placeholder,
135
- autoFocus: props.autoFocus,
136
- onKeyPress: props.onKeyPress
137
- }
138
- },
139
- value: temporalValue
140
- })]
141
- })
142
- });
143
141
  }
144
-
145
- export { DatePicker as default };
142
+ export default DatePicker;