@terraware/web-components 4.2.17 → 4.2.18

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.
@@ -0,0 +1,18 @@
1
+ import React, { type JSX } from 'react';
2
+ import 'react-multi-carousel/lib/styles.css';
3
+ import './styles.scss';
4
+ export type PhotoItem = {
5
+ url: string;
6
+ alt?: string;
7
+ decoration?: React.ReactNode;
8
+ };
9
+ export interface PhotosCarouselProps {
10
+ photos: PhotoItem[];
11
+ selectedSlide?: number;
12
+ onSlideChange?: (index: number) => void;
13
+ showArrows?: boolean;
14
+ numbered?: boolean;
15
+ dots?: boolean;
16
+ }
17
+ export default function PhotosCarousel(props: PhotosCarouselProps): JSX.Element;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PhotosCarousel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAA4C,MAAM,OAAO,CAAC;AAElF,OAAO,qCAAqC,CAAC;AAK7C,OAAO,eAAe,CAAC;AAEvB,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AASD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAsE9E"}
@@ -0,0 +1,93 @@
1
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
2
+ import Carousel from 'react-multi-carousel';
3
+ import 'react-multi-carousel/lib/styles.css';
4
+ import { Box, Typography } from '@mui/material';
5
+ import BusySpinner from '../BusySpinner';
6
+ import './styles.scss';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const responsive = {
9
+ mobile: {
10
+ breakpoint: {
11
+ max: 4000,
12
+ min: 0
13
+ },
14
+ items: 1
15
+ }
16
+ };
17
+ export default function PhotosCarousel(props) {
18
+ const {
19
+ photos,
20
+ selectedSlide,
21
+ onSlideChange,
22
+ showArrows,
23
+ numbered,
24
+ dots
25
+ } = props;
26
+ const isControlled = selectedSlide !== undefined;
27
+ const [internalSlide, setInternalSlide] = useState(0);
28
+ const [isLoading, setIsLoading] = useState([]);
29
+ const myCarousel = useRef(null);
30
+ const currentSlide = isControlled ? selectedSlide : internalSlide;
31
+
32
+ // Keyed on the URLs (not just photos.length) so swapping in a same-length array of
33
+ // different photos still resets the loading state instead of leaving stale flags.
34
+ const photoKey = photos.map(p => p.url).join('|');
35
+ useEffect(() => {
36
+ setIsLoading(new Array(photos.length).fill(true));
37
+ }, [photoKey]);
38
+ useEffect(() => {
39
+ if (myCarousel.current && myCarousel.current.state.currentSlide !== currentSlide) {
40
+ myCarousel.current.goToSlide(currentSlide);
41
+ }
42
+ }, [currentSlide]);
43
+ const handleAfterChange = useCallback(() => {
44
+ const slide = myCarousel.current?.state.currentSlide ?? 0;
45
+ if (!isControlled) {
46
+ setInternalSlide(slide);
47
+ }
48
+ if (slide !== currentSlide) {
49
+ onSlideChange?.(slide);
50
+ }
51
+ }, [isControlled, currentSlide, onSlideChange]);
52
+ const finishLoading = index => {
53
+ setIsLoading(prev => {
54
+ const next = [...prev];
55
+ next[index] = false;
56
+ return next;
57
+ });
58
+ };
59
+ return /*#__PURE__*/_jsxs(Box, {
60
+ sx: {
61
+ '& .react-multi-carousel-list': {
62
+ paddingBottom: '20px'
63
+ }
64
+ },
65
+ children: [/*#__PURE__*/_jsx(Carousel, {
66
+ responsive: responsive,
67
+ ref: myCarousel,
68
+ showDots: dots ?? true,
69
+ arrows: showArrows ?? false,
70
+ ssr: true,
71
+ afterChange: handleAfterChange,
72
+ children: photos.map((p, i) => /*#__PURE__*/_jsxs("div", {
73
+ className: "photos-carousel-container",
74
+ children: [isLoading[i] ? /*#__PURE__*/_jsx(BusySpinner, {
75
+ noBackground: true
76
+ }) : undefined, /*#__PURE__*/_jsx("a", {
77
+ href: p.url,
78
+ target: "_blank",
79
+ rel: "noopener noreferrer",
80
+ children: /*#__PURE__*/_jsx("img", {
81
+ className: "photos-carousel-image",
82
+ src: p.url,
83
+ alt: p.alt,
84
+ onLoad: () => finishLoading(i)
85
+ })
86
+ })]
87
+ }, `photo-${i}-container`))
88
+ }), numbered ? /*#__PURE__*/_jsx(Typography, {
89
+ className: "photo-numbering",
90
+ children: `${currentSlide + 1}/${photos.length}`
91
+ }) : undefined, photos[currentSlide] && photos[currentSlide].decoration]
92
+ });
93
+ }
@@ -1,11 +1,11 @@
1
1
  @use '../../style-dictionary-dist/terraware.scss';
2
2
 
3
- .view-photos-dialog-container {
3
+ .photos-carousel-container {
4
4
  min-height: 200px;
5
5
  background: terraware.$tw-clr-bg;
6
6
  }
7
7
 
8
- .view-photos-dialog-image {
8
+ .photos-carousel-image {
9
9
  object-fit: contain;
10
10
  margin: auto;
11
11
  height: 400px;
@@ -1,11 +1,5 @@
1
- import React, { type JSX } from 'react';
2
- import 'react-multi-carousel/lib/styles.css';
3
- import './styles.scss';
4
- export type PhotoItem = {
5
- url: string;
6
- alt?: string;
7
- decoration?: React.ReactNode;
8
- };
1
+ import { type JSX } from 'react';
2
+ import { PhotoItem } from '../PhotosCarousel';
9
3
  export interface ViewPhotosDialogProps {
10
4
  open: boolean;
11
5
  onClose: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ViewPhotosDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAA4C,MAAM,OAAO,CAAC;AAElF,OAAO,qCAAqC,CAAC;AAO7C,OAAO,eAAe,CAAC;AAEvB,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CA6HlF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ViewPhotosDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,GAAG,EAAuB,MAAM,OAAO,CAAC;AAI7D,OAAuB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CA8ClF"}
@@ -1,12 +1,8 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
2
- import Carousel from 'react-multi-carousel';
3
- import 'react-multi-carousel/lib/styles.css';
4
- import { Box, Typography } from '@mui/material';
5
- import BusySpinner from '../BusySpinner';
1
+ import React, { useEffect, useState } from 'react';
6
2
  import Button from '../Button/Button';
7
3
  import DialogBox from '../DialogBox/DialogBox';
8
- import './styles.scss';
9
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import PhotosCarousel from '../PhotosCarousel';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
10
6
  export default function ViewPhotosDialog(props) {
11
7
  const {
12
8
  onClose,
@@ -19,64 +15,12 @@ export default function ViewPhotosDialog(props) {
19
15
  numbered,
20
16
  dots
21
17
  } = props;
22
- const [isPreviousDisabled, setIsPreviousDisabled] = useState(false);
23
- const [isNextDisabled, setIsNextDisabled] = useState(false);
24
- const [isLoading, setIsLoading] = useState([]);
25
18
  const [selectedSlide, setSelectedSlide] = useState(initialSelectedSlide);
26
- const myCarousel = useRef(null);
27
- const responsive = {
28
- mobile: {
29
- breakpoint: {
30
- max: 4000,
31
- min: 0
32
- },
33
- items: 1
34
- }
35
- };
36
- const handleChange = useCallback(args => {
37
- if (myCarousel.current) {
38
- if (myCarousel.current.state.currentSlide + 1 >= photos.length) {
39
- setIsNextDisabled(true);
40
- } else {
41
- setIsNextDisabled(false);
42
- }
43
- if (myCarousel.current.state.currentSlide - 1 < 0) {
44
- setIsPreviousDisabled(true);
45
- } else {
46
- setIsPreviousDisabled(false);
47
- }
48
- if (args !== undefined) {
49
- // if we came from the carousel component's call of handleChange, do the right thing
50
- // don't set this slide if we came from useEffect on open
51
- setSelectedSlide(myCarousel.current.state.currentSlide);
52
- } else {
53
- // we need to reinitialize to last state
54
- if (selectedSlide === initialSelectedSlide) {
55
- // explicitly go to slide, the useEffect won't be triggered
56
- myCarousel.current.goToSlide(selectedSlide);
57
- }
58
- }
59
- }
60
- }, [photos.length, selectedSlide, initialSelectedSlide, selectedSlide]);
61
- useEffect(() => {
62
- setIsLoading(new Array(photos.length).fill(true));
63
- }, [photos.length]);
64
19
  useEffect(() => {
65
20
  setSelectedSlide(initialSelectedSlide);
66
- }, [initialSelectedSlide]);
67
- useEffect(() => {
68
- handleChange();
69
- }, [open, handleChange]);
70
- useEffect(() => {
71
- if (myCarousel.current) {
72
- myCarousel.current.goToSlide(selectedSlide);
73
- }
74
- }, [selectedSlide]);
75
- const finishLoading = index => {
76
- const newIsLoading = [...isLoading];
77
- newIsLoading[index] = false;
78
- setIsLoading(newIsLoading);
79
- };
21
+ }, [initialSelectedSlide, open]);
22
+ const isPreviousDisabled = selectedSlide <= 0;
23
+ const isNextDisabled = selectedSlide >= photos.length - 1;
80
24
  return /*#__PURE__*/_jsx(DialogBox, {
81
25
  onClose: onClose,
82
26
  open: open,
@@ -95,38 +39,12 @@ export default function ViewPhotosDialog(props) {
95
39
  disabled: isNextDisabled,
96
40
  rightIcon: "caretRight"
97
41
  }, 'button-2')],
98
- children: /*#__PURE__*/_jsxs(Box, {
99
- sx: {
100
- '& .react-multi-carousel-list': {
101
- paddingBottom: '20px'
102
- }
103
- },
104
- children: [/*#__PURE__*/_jsx(Carousel, {
105
- responsive: responsive,
106
- ref: myCarousel,
107
- showDots: dots ?? true,
108
- arrows: false,
109
- ssr: true,
110
- afterChange: handleChange,
111
- children: photos.map((p, i) => /*#__PURE__*/_jsxs("div", {
112
- className: "view-photos-dialog-container",
113
- children: [isLoading[i] ? /*#__PURE__*/_jsx(BusySpinner, {
114
- noBackground: true
115
- }) : undefined, /*#__PURE__*/_jsx("a", {
116
- href: p.url,
117
- target: "blank",
118
- children: /*#__PURE__*/_jsx("img", {
119
- className: "view-photos-dialog-image",
120
- src: p.url,
121
- alt: p.alt,
122
- onLoad: () => finishLoading(i)
123
- })
124
- })]
125
- }, `photo-${i}-container`))
126
- }), numbered ? /*#__PURE__*/_jsx(Typography, {
127
- className: "photo-numbering",
128
- children: `${selectedSlide + 1}/${photos.length}`
129
- }) : undefined, photos[selectedSlide] && photos[selectedSlide].decoration]
42
+ children: /*#__PURE__*/_jsx(PhotosCarousel, {
43
+ photos: photos,
44
+ selectedSlide: selectedSlide,
45
+ onSlideChange: setSelectedSlide,
46
+ numbered: numbered,
47
+ dots: dots
130
48
  })
131
49
  });
132
50
  }
@@ -1,4 +1,4 @@
1
- import { AnnotationProps } from './Annotation';
1
+ import type { AnnotationProps } from './Annotation';
2
2
  interface AnnotationPanelProps {
3
3
  annotation: AnnotationProps | null;
4
4
  hotspotPosition?: {
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationPanel.d.ts","sourceRoot":"","sources":["../../../src/components/VirtualWalkthrough/AnnotationPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,oBAAoB;IAC5B,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAInC,eAAe,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuDD,QAAA,MAAM,eAAe,GAAI,0CAA0C,oBAAoB,mDAsItF,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AnnotationPanel.d.ts","sourceRoot":"","sources":["../../../src/components/VirtualWalkthrough/AnnotationPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,UAAU,oBAAoB;IAC5B,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAInC,eAAe,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAoDD,QAAA,MAAM,eAAe,GAAI,0CAA0C,oBAAoB,mDA8ItF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';
2
2
  import { useTheme } from '@mui/material';
3
+ import PhotosCarousel from '../PhotosCarousel';
3
4
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
5
  // Fallback hotspot diameter (px) when the rendered size isn't reported yet.
5
6
  const DEFAULT_HOTSPOT_DIAMETER = 35;
@@ -34,13 +35,10 @@ const PANEL_STYLE = {
34
35
  display: 'flex',
35
36
  flexDirection: 'column'
36
37
  };
37
- const IMAGE_STYLE = {
38
- width: 'auto',
39
- height: 'auto',
40
- maxWidth: '100%',
41
- maxHeight: '60vh',
42
- display: 'block',
38
+ const CAROUSEL_STYLE = {
39
+ width: 'min(60vw, 640px)',
43
40
  borderRadius: '12px 12px 0 0',
41
+ overflow: 'hidden',
44
42
  flexShrink: 0
45
43
  };
46
44
  const TEXT_BLOCK_STYLE = {
@@ -109,7 +107,7 @@ const AnnotationPanel = ({
109
107
  const panelStyle = {
110
108
  ...PANEL_STYLE,
111
109
  ...(annotation.imageUrls?.[0] ? {
112
- width: 'fit-content',
110
+ width: 'min(60vw, 640px)',
113
111
  maxWidth: '60vw'
114
112
  } : {
115
113
  width: 'fit-content',
@@ -150,10 +148,16 @@ const AnnotationPanel = ({
150
148
  ref: panelRef,
151
149
  "data-testid": "annotation-panel",
152
150
  style: panelStyle,
153
- children: [annotation.imageUrls?.[0] && /*#__PURE__*/_jsx("img", {
154
- src: annotation.imageUrls[0],
155
- alt: annotation.title,
156
- style: IMAGE_STYLE
151
+ children: [annotation.imageUrls && annotation.imageUrls.length > 0 && /*#__PURE__*/_jsx("div", {
152
+ style: CAROUSEL_STYLE,
153
+ children: /*#__PURE__*/_jsx(PhotosCarousel, {
154
+ photos: annotation.imageUrls.map(url => ({
155
+ url,
156
+ alt: annotation.title
157
+ })),
158
+ showArrows: true,
159
+ dots: false
160
+ })
157
161
  }), /*#__PURE__*/_jsxs("div", {
158
162
  style: TEXT_BLOCK_STYLE,
159
163
  children: [annotation.label && /*#__PURE__*/_jsx("span", {
package/index.d.ts CHANGED
@@ -27,6 +27,7 @@ import Note from './components/Note';
27
27
  import OverlayModal from './components/OverlayModal/OverlayModal';
28
28
  import PageForm from './components/PageForm';
29
29
  import PhotoChooser from './components/PhotoChooser';
30
+ import PhotosCarousel from './components/PhotosCarousel';
30
31
  import Pill from './components/Pill';
31
32
  import PillList from './components/PillList';
32
33
  import PlacementWrapper from './components/PlacementWrapper';
@@ -61,11 +62,12 @@ export type { EnhancedTableDetailsRow, RendererProps, TableColumnType, TableRowT
61
62
  export type { FormButton } from './components/FormBottomBar';
62
63
  export type { PhotoChooserErrorType, PhotoChooserProps } from './components/PhotoChooser';
63
64
  export type { FileChooserProps } from './components/FileChooser';
64
- export type { PhotoItem } from './components/ViewPhotosDialog';
65
+ export type { PhotoItem } from './components/PhotosCarousel';
66
+ export type { PhotosCarouselProps } from './components/PhotosCarousel';
65
67
  export type { SliderMark } from './components/Slider';
66
68
  export type { Tab, TabsProps } from './components/Tabs';
67
69
  export type { ConfirmProps } from './components/Confirm';
68
70
  export type { DatePickerDateType, Props as DatePickerProps } from './components/DatePicker/DatePicker';
69
71
  export type { DateType } from './utils/date';
70
- export { AntSwitch, Autocomplete, Badge, BusySpinner, Button, CellRenderer, CellDateRenderer, Checkbox, Confirm, DatePicker, descendingComparator, DialogBox, Divisor, Dropdown, DropdownV1, EditableTable, ErrorBox, FileChooser, FormBottomBar, getComparator, icons, Icon, IconTooltip, MapComponent, Message, MultiSelect, NavFooter, NavItem, NavSection, Navbar, Note, OverlayModal, PageForm, Pill, PillList, PhotoChooser, PlacementWrapper, Popover, PopoverMenu, PopoverMultiSelect, ProgressCircle, RadioButton, Select, SelectT, Separator, Slider, stableSort, SummaryBox, Svg, Table, Tabs, Textfield, TextTruncated, TimelineSlider, theme, Tooltip, ViewPhotosDialog, };
72
+ export { AntSwitch, Autocomplete, Badge, BusySpinner, Button, CellRenderer, CellDateRenderer, Checkbox, Confirm, DatePicker, descendingComparator, DialogBox, Divisor, Dropdown, DropdownV1, EditableTable, ErrorBox, FileChooser, FormBottomBar, getComparator, icons, Icon, IconTooltip, MapComponent, Message, MultiSelect, NavFooter, NavItem, NavSection, Navbar, Note, OverlayModal, PageForm, Pill, PillList, PhotoChooser, PhotosCarousel, PlacementWrapper, Popover, PopoverMenu, PopoverMultiSelect, ProgressCircle, RadioButton, Select, SelectT, Separator, Slider, stableSort, SummaryBox, Svg, Table, Tabs, Textfield, TextTruncated, TimelineSlider, theme, Tooltip, ViewPhotosDialog, };
71
73
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/index.js CHANGED
@@ -30,6 +30,7 @@ import Note from './components/Note';
30
30
  import OverlayModal from './components/OverlayModal/OverlayModal';
31
31
  import PageForm from './components/PageForm';
32
32
  import PhotoChooser from './components/PhotoChooser';
33
+ import PhotosCarousel from './components/PhotosCarousel';
33
34
  import Pill from './components/Pill';
34
35
  import PillList from './components/PillList';
35
36
  import PlacementWrapper from './components/PlacementWrapper';
@@ -54,4 +55,4 @@ import Table from './components/table';
54
55
  import CellRenderer, { CellDateRenderer } from './components/table/TableCellRenderer';
55
56
  import { descendingComparator, getComparator, stableSort } from './components/table/sort';
56
57
  import theme from './theme';
57
- export { AntSwitch, Autocomplete, Badge, BusySpinner, Button, CellRenderer, CellDateRenderer, Checkbox, Confirm, DatePicker, descendingComparator, DialogBox, Divisor, Dropdown, DropdownV1, EditableTable, ErrorBox, FileChooser, FormBottomBar, getComparator, icons, Icon, IconTooltip, MapComponent, Message, MultiSelect, NavFooter, NavItem, NavSection, Navbar, Note, OverlayModal, PageForm, Pill, PillList, PhotoChooser, PlacementWrapper, Popover, PopoverMenu, PopoverMultiSelect, ProgressCircle, RadioButton, Select, SelectT, Separator, Slider, stableSort, SummaryBox, Svg, Table, Tabs, Textfield, TextTruncated, TimelineSlider, theme, Tooltip, ViewPhotosDialog };
58
+ export { AntSwitch, Autocomplete, Badge, BusySpinner, Button, CellRenderer, CellDateRenderer, Checkbox, Confirm, DatePicker, descendingComparator, DialogBox, Divisor, Dropdown, DropdownV1, EditableTable, ErrorBox, FileChooser, FormBottomBar, getComparator, icons, Icon, IconTooltip, MapComponent, Message, MultiSelect, NavFooter, NavItem, NavSection, Navbar, Note, OverlayModal, PageForm, Pill, PillList, PhotoChooser, PhotosCarousel, PlacementWrapper, Popover, PopoverMenu, PopoverMultiSelect, ProgressCircle, RadioButton, Select, SelectT, Separator, Slider, stableSort, SummaryBox, Svg, Table, Tabs, Textfield, TextTruncated, TimelineSlider, theme, Tooltip, ViewPhotosDialog };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@terraware/web-components",
3
- "version": "4.2.17",
3
+ "version": "4.2.18",
4
4
  "author": "Terraformation Inc.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {