@adaptabletools/adaptable 18.0.4 → 18.0.6

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 (29) hide show
  1. package/package.json +1 -1
  2. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +2 -0
  3. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  4. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +1 -1
  5. package/src/View/Components/ColumnSelector/index.d.ts +1 -6
  6. package/src/View/Components/ColumnSelector/index.js +3 -4
  7. package/src/View/Components/EntityRulesEditor/index.js +2 -4
  8. package/src/View/Components/ValueSelector/index.d.ts +0 -5
  9. package/src/View/Components/ValueSelector/index.js +1 -4
  10. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
  11. package/src/View/Layout/TransposedPopup.js +30 -20
  12. package/src/agGrid/AdaptableAgGrid.js +2 -4
  13. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  14. package/src/components/Datepicker/index.d.ts +1 -1
  15. package/src/components/FieldWrap/index.d.ts +1 -7
  16. package/src/components/FieldWrap/index.js +5 -4
  17. package/src/components/FileDroppable/index.d.ts +1 -4
  18. package/src/components/FileDroppable/index.js +1 -2
  19. package/src/components/Input/index.d.ts +1 -1
  20. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  21. package/src/components/OverlayTrigger/index.js +10 -9
  22. package/src/components/ResizeObserver/index.d.ts +1 -7
  23. package/src/components/ResizeObserver/index.js +3 -6
  24. package/src/components/SimpleButton/index.js +10 -9
  25. package/src/components/Tabs/index.d.ts +6 -24
  26. package/src/components/Tabs/index.js +6 -10
  27. package/src/env.js +2 -2
  28. package/src/renderReactRoot.js +10 -8
  29. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -8,5 +8,5 @@ type TypeProps = HTMLProps<HTMLElement> & {
8
8
  index?: number;
9
9
  selectionId?: string | number;
10
10
  };
11
- declare const ListGroupItem: React.ForwardRefExoticComponent<Pick<TypeProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "wrap" | "open" | "multiple" | "active" | "disabled" | "checked" | "download" | "list" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "value" | "key" | "sizes" | "as" | "width" | "height" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "step" | "type" | "useMap" | "wmode" | "index" | "factory" | "noZebra" | "selectionId"> & React.RefAttributes<unknown>>;
11
+ declare const ListGroupItem: React.ForwardRefExoticComponent<Pick<TypeProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "wrap" | "open" | "multiple" | "active" | "disabled" | "checked" | "download" | "list" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "value" | "step" | "sizes" | "as" | "key" | "width" | "height" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "type" | "useMap" | "wmode" | "index" | "factory" | "noZebra" | "selectionId"> & React.RefAttributes<unknown>>;
12
12
  export default ListGroupItem;
@@ -46,7 +46,16 @@ const ensurePortalElement = () => {
46
46
  portalElement.style.left = '0px';
47
47
  document.body.appendChild(portalElement);
48
48
  };
49
- const OverlayTrigger = React.forwardRef((props, ref) => {
49
+ const defaultProps = {
50
+ showEvent: 'mouseenter',
51
+ hideEvent: 'mouseleave',
52
+ anchor: 'vertical',
53
+ targetOffset: 10,
54
+ defaultZIndex: 1000000,
55
+ opacityTransitionDuration: '250ms',
56
+ };
57
+ const OverlayTrigger = React.forwardRef((givenProps, ref) => {
58
+ const props = Object.assign(Object.assign({}, defaultProps), givenProps);
50
59
  const adaptable = useAdaptable();
51
60
  let { visible: _, showTriangle, showEvent, hideEvent, render, targetOffset, preventPortalEventPropagation = false, defaultZIndex, anchor, hideDelay = 0, opacityTransitionDuration, onVisibleChange, alignPosition = [
52
61
  // overlay - target
@@ -204,12 +213,4 @@ const OverlayTrigger = React.forwardRef((props, ref) => {
204
213
  } }),
205
214
  portal));
206
215
  });
207
- OverlayTrigger.defaultProps = {
208
- showEvent: 'mouseenter',
209
- hideEvent: 'mouseleave',
210
- anchor: 'vertical',
211
- targetOffset: 10,
212
- defaultZIndex: 1000000,
213
- opacityTransitionDuration: '250ms',
214
- };
215
216
  export default OverlayTrigger;
@@ -27,11 +27,5 @@ export declare const setupResizeObserver: (node: HTMLElement, callback: OnResize
27
27
  export declare const useResizeObserver: (ref: React.MutableRefObject<HTMLElement | null>, callback: OnResizeFn, config?: {
28
28
  earlyAttach: boolean;
29
29
  }) => void;
30
- export declare const ReactResizeObserver: {
31
- (props: ResizeObserverProps): JSX.Element;
32
- defaultProps: {
33
- notifyOnMount: boolean;
34
- earlyAttach: boolean;
35
- };
36
- };
30
+ export declare const ReactResizeObserver: ({ notifyOnMount, earlyAttach, ...props }: ResizeObserverProps) => JSX.Element;
37
31
  export {};
@@ -1,3 +1,4 @@
1
+ import { __rest } from "tslib";
1
2
  import * as React from 'react';
2
3
  import { useMemo, useRef, useEffect, useLayoutEffect, useCallback } from 'react';
3
4
  import { getResizeObserverObject } from './getResizeObserverObject';
@@ -72,7 +73,8 @@ export const useResizeObserver = (ref, callback, config = { earlyAttach: false }
72
73
  return () => { };
73
74
  }, [ref.current, callback, config.earlyAttach]);
74
75
  };
75
- export const ReactResizeObserver = (props) => {
76
+ export const ReactResizeObserver = (_a) => {
77
+ var { notifyOnMount = true, earlyAttach = false } = _a, props = __rest(_a, ["notifyOnMount", "earlyAttach"]);
76
78
  const style = useMemo(() => ({
77
79
  position: 'absolute',
78
80
  top: 0,
@@ -81,7 +83,6 @@ export const ReactResizeObserver = (props) => {
81
83
  height: '100%',
82
84
  boxSizing: 'border-box',
83
85
  }), []);
84
- const { notifyOnMount, earlyAttach } = props;
85
86
  const firstTime = useRef(true);
86
87
  const ref = useRef(null);
87
88
  const onResize = useCallback((size) => {
@@ -94,7 +95,3 @@ export const ReactResizeObserver = (props) => {
94
95
  useResizeObserver(ref, onResize, { earlyAttach: earlyAttach || false });
95
96
  return React.createElement("div", { ref: ref, style: style });
96
97
  };
97
- ReactResizeObserver.defaultProps = {
98
- notifyOnMount: true,
99
- earlyAttach: false,
100
- };
@@ -7,8 +7,17 @@ import Tooltip from '../Tooltip';
7
7
  import theme from '../../theme';
8
8
  import { IconComponent, isAdaptableElementIcon, isAdaptableCustomIcon, isAdaptableSystemIcon, } from '../Icon';
9
9
  export const baseClassName = 'ab-SimpleButton';
10
- const SimpleButton = React.forwardRef((props, theRef) => {
10
+ const defaultProps = {
11
+ px: null,
12
+ py: null,
13
+ fontWeight: 'normal',
14
+ m: null,
15
+ //@ts-ignore
16
+ borderRadius: null,
17
+ };
18
+ const SimpleButton = React.forwardRef((givenProps, theRef) => {
11
19
  var _a, _b;
20
+ const props = Object.assign(Object.assign({}, defaultProps), givenProps);
12
21
  let { children, disabled, variant = 'outlined', tone = 'neutral', iconPosition = 'start', iconSize, className, icon, tooltip, accessLevel: accessLevel, type } = props, buttonProps = __rest(props, ["children", "disabled", "variant", "tone", "iconPosition", "iconSize", "className", "icon", "tooltip", "accessLevel", "type"]);
13
22
  let adaptableSystemIcon;
14
23
  if (isAdaptableSystemIcon(icon)) {
@@ -76,12 +85,4 @@ const SimpleButton = React.forwardRef((props, theRef) => {
76
85
  const btn = (React.createElement(Button, Object.assign({}, buttonProps, { disabled: disabled, className: join(className, baseClassName, disabled ? `${baseClassName}--disabled` : '', fontWeight ? `${baseClassName}--font-weight=${fontWeight}` : '', `${baseClassName}--variant-${variant}`, `${baseClassName}--tone-${tone}`), ref: theRef }), children));
77
86
  return tooltip ? React.createElement(Tooltip, { label: tooltip }, btn) : btn;
78
87
  });
79
- SimpleButton.defaultProps = {
80
- px: null,
81
- py: null,
82
- fontWeight: 'normal',
83
- m: null,
84
- //@ts-ignore
85
- borderRadius: null,
86
- };
87
88
  export default SimpleButton;
@@ -12,36 +12,18 @@ export type TabsProps<VALUE_TYPE> = HTMLProps<HTMLElement> & {
12
12
  } & BoxProps;
13
13
  export declare const Tabs: {
14
14
  <VALUE_TYPE extends string | number>(props: TabsProps<VALUE_TYPE>): JSX.Element;
15
- Tab: {
16
- (props: TabProps): JSX.Element;
17
- defaultProps: {
18
- isTabsTab: boolean;
19
- };
20
- };
21
- Content: {
22
- (props: ContentProps): JSX.Element;
23
- defaultProps: {
24
- isTabsContent: boolean;
25
- };
26
- };
15
+ Tab: (props: TabProps) => JSX.Element;
16
+ Content: (props: ContentProps) => JSX.Element;
27
17
  };
28
18
  type TabProps = {
29
19
  index?: number;
30
20
  keyboardNavigation?: boolean;
31
21
  } & BoxProps & HTMLProps<HTMLDivElement>;
32
- export declare const Tab: {
33
- (props: TabProps): JSX.Element;
34
- defaultProps: {
35
- isTabsTab: boolean;
36
- };
37
- };
22
+ export declare const Tab: (props: TabProps) => JSX.Element;
23
+ export declare const SupportedTabMenuComps: Set<unknown>;
38
24
  type ContentProps = {
39
25
  value?: string | number;
40
26
  } & BoxProps;
41
- export declare const Content: {
42
- (props: ContentProps): JSX.Element;
43
- defaultProps: {
44
- isTabsContent: boolean;
45
- };
46
- };
27
+ export declare const Content: (props: ContentProps) => JSX.Element;
28
+ export declare const SupportedTabContentComps: Set<unknown>;
47
29
  export {};
@@ -10,12 +10,10 @@ const TabContext = React.createContext({
10
10
  setSelectedIndex: (index) => { },
11
11
  });
12
12
  const isTab = (c) => {
13
- var _a;
14
- return c.type === Tab || ((_a = c.props) === null || _a === void 0 ? void 0 : _a.isTabsTab);
13
+ return c.type === Tab || SupportedTabMenuComps.has(c.type);
15
14
  };
16
15
  const isTabContent = (c) => {
17
- var _a;
18
- return c.type === Content || ((_a = c.props) === null || _a === void 0 ? void 0 : _a.isTabsContent);
16
+ return c.type === Content || SupportedTabContentComps.has(c.type);
19
17
  };
20
18
  export const Tabs = (props) => {
21
19
  const { autoFocus = true, children, onValueChange: _onValueChange, defaultValue: _defaultValue, value: _value, keyboardNavigation = true, selectedIndex: _selectedIndex, defaultSelectedIndex: _defaultSelectedIndex, onSelectedIndexChange: _onSelectedIndexChange } = props, boxProps = __rest(props, ["autoFocus", "children", "onValueChange", "defaultValue", "value", "keyboardNavigation", "selectedIndex", "defaultSelectedIndex", "onSelectedIndexChange"]);
@@ -116,14 +114,12 @@ export const Tab = (props) => {
116
114
  (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, event);
117
115
  } })));
118
116
  };
119
- Tab.defaultProps = {
120
- isTabsTab: true,
121
- };
117
+ export const SupportedTabMenuComps = new Set();
118
+ SupportedTabMenuComps.add(Tab);
122
119
  export const Content = (props) => {
123
120
  return React.createElement(React.Fragment, null, props.children);
124
121
  };
125
- Content.defaultProps = {
126
- isTabsContent: true,
127
- };
122
+ export const SupportedTabContentComps = new Set();
123
+ SupportedTabContentComps.add(Content);
128
124
  Tabs.Tab = Tab;
129
125
  Tabs.Content = Content;
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
3
- PUBLISH_TIMESTAMP: 1713957370862 || Date.now(),
4
- VERSION: "18.0.4" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1714400906539 || Date.now(),
4
+ VERSION: "18.0.6" || '--current-version--',
5
5
  };
@@ -1,14 +1,15 @@
1
1
  import * as ReactDOMClient from 'react-dom/client';
2
+ // we need to keep track of the roots to ensure we create a single root per container
3
+ // otherwise we get: "You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it."
2
4
  const renderWeakMap = new WeakMap();
3
5
  export const renderReactRoot = (el, container) => {
4
6
  // Keeping a reference to previous roots causes an error.
5
- // Already (correctly) unmouted elements are not unmounted again, and triggers an error.
6
- //
7
- // let root = renderWeakMap.get(container);
8
- // if (!root) {
9
- // renderWeakMap.set(container, (root = ReactDOMClient.createRoot(container)));
10
- // }
11
- const root = ReactDOMClient.createRoot(container);
7
+ // Already (correctly) unmounted elements are not unmounted again, and triggers an error.
8
+ let root = renderWeakMap.get(container);
9
+ if (!root) {
10
+ renderWeakMap.set(container, (root = ReactDOMClient.createRoot(container)));
11
+ }
12
+ // const root = ReactDOMClient.createRoot(container);
12
13
  root.render(el);
13
14
  return () => {
14
15
  // requestAnimationFrame(() => {
@@ -16,8 +17,9 @@ export const renderReactRoot = (el, container) => {
16
17
  // // Warning: Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition.
17
18
  // // https:stackoverflow.com/questions/73459382/react-18-async-way-to-unmount-root
18
19
  // });
19
- // This needs to be syncronous, if not, in a raf it may be to late, the element may be gone.
20
+ // This needs to be synchronous, if not, in a raf it may be to late, the element may be gone.
20
21
  // To reproduce, move this in RAF and play with filters.
21
22
  root.unmount();
23
+ renderWeakMap.delete(container);
22
24
  };
23
25
  };