@evergis/uilib-gl 1.0.113 → 1.0.115

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.
package/dist/index.d.ts CHANGED
@@ -84,6 +84,7 @@ export * from "./organisms/ChipAutoComplete";
84
84
  export * from "./organisms/RangeDateInput";
85
85
  export * from "./organisms/RangeNumberInput";
86
86
  export * from "./organisms/Tree";
87
+ export * from "./organisms/TreeDropdown";
87
88
  export * from "./organisms/JSONEditor";
88
89
  export * from "./GlobalsContainer";
89
90
  export * from "./injectGlobals";
@@ -15,7 +15,7 @@ export declare type TreeItemProps<T = any> = {
15
15
  isLeaf?: boolean;
16
16
  loading?: boolean;
17
17
  totalCount?: number;
18
- children?: TreeItemProps[];
18
+ children?: TreeItemProps[] | null;
19
19
  additionalInfo?: ReactNode;
20
20
  onClick?: VoidFunction;
21
21
  };
@@ -28,7 +28,7 @@ export interface TreeItemComponentProps<T = any> {
28
28
  isSelected?: boolean;
29
29
  isDisabled?: boolean;
30
30
  selectable?: boolean;
31
- renderTree: (children?: TreeItemProps<T>[], isExpanded?: boolean, parentItem?: TreeItemProps<T>) => ReactNode;
31
+ renderTree: (children?: TreeItemProps<T>[] | null, isExpanded?: boolean, parentItem?: TreeItemProps<T>) => ReactNode;
32
32
  withLoadMore?: boolean;
33
33
  onLoadMore?: (item: TreeItemProps<T>) => Promisable<void>;
34
34
  onExpand: (item: TreeItemProps<T>, isExpanded: boolean, onlyReload?: boolean) => Promisable<void>;
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ import { ITreeDropdownProps } from "./types";
3
+ export declare const TreeDropdown: FC<ITreeDropdownProps>;
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ import { TreeItemComponentProps } from "../Tree/types";
3
+ export declare const TreeDropdownItem: FC<TreeItemComponentProps>;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ITreeDropdownContextValue } from "./types";
3
+ export declare const TreeDropdownContext: import("react").Context<ITreeDropdownContextValue | null>;
4
+ export declare const useTreeDropdownContext: () => ITreeDropdownContextValue;
@@ -0,0 +1,3 @@
1
+ export * from "./TreeDropdown";
2
+ export * from "./TreeDropdownItem";
3
+ export * from "./types";
@@ -0,0 +1,24 @@
1
+ export declare const FieldIcons: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../../atoms/Grid").FlexProps, never>;
2
+ export declare const CountBadge: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const ResetIcon: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, import("../../atoms/Icon").IIconProps, never>;
4
+ export declare const Chevron: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, import("../../atoms/Icon").IIconProps & {
5
+ isOpen?: boolean | undefined;
6
+ }, never>;
7
+ export declare const Content: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
8
+ width?: string | undefined;
9
+ }, never>;
10
+ export declare const TreeScroll: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
11
+ maxHeight?: string | undefined;
12
+ }, never>;
13
+ export declare const SpinnerContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../../atoms/Grid").FlexProps, never>;
14
+ export declare const CheckboxHolder: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
15
+ /** Зазор chevron→checkbox и icon→text приводим к зазору checkbox→icon (0.625rem — margin-right чекбокса). */
16
+ export declare const RowExpand: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, import("../../atoms/Icon").IIconProps & {
17
+ isExpanded?: boolean | undefined;
18
+ hasChildren?: boolean | undefined;
19
+ }, never>;
20
+ export declare const RowContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../../atoms/Grid").FlexProps, never>;
21
+ export declare const RowText: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
22
+ isLeaf?: boolean | undefined;
23
+ }, never>;
24
+ export declare const ItemBadge: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,30 @@
1
+ import { TreeId, TreeItemProps, TreeProps } from "../Tree/types";
2
+ export interface ITreeDropdownProps {
3
+ className?: string;
4
+ width?: string;
5
+ menuHeight?: string;
6
+ zIndex?: number;
7
+ placeholder?: string;
8
+ multiSelect?: boolean;
9
+ loading?: boolean;
10
+ data: TreeProps["data"];
11
+ setData?: TreeProps["setData"];
12
+ expanded?: TreeProps["expanded"];
13
+ setExpanded?: TreeProps["setExpanded"];
14
+ onLoadChildren?: TreeProps["loadNode"];
15
+ selectedIds: Set<TreeId>;
16
+ selectedCount?: number;
17
+ selectedLabel?: string;
18
+ searchValue: string;
19
+ onSearchChange: (value: string) => void;
20
+ onOpen?: VoidFunction;
21
+ onClose?: VoidFunction;
22
+ onToggleSelect: (item: TreeItemProps) => void;
23
+ onReset?: VoidFunction;
24
+ }
25
+ export interface ITreeDropdownContextValue {
26
+ selectedIds: Set<TreeId>;
27
+ multiSelect?: boolean;
28
+ onToggleSelect: (item: TreeItemProps) => void;
29
+ getSubtreeBadge: (item: TreeItemProps) => number;
30
+ }
@@ -0,0 +1,15 @@
1
+ import { ChangeEvent } from "react";
2
+ import { ITreeDropdownProps } from "./types";
3
+ export declare const useTreeDropdown: ({ multiSelect, selectedIds, selectedCount, selectedLabel, searchValue, onOpen, onClose, onToggleSelect, onReset, onSearchChange, }: ITreeDropdownProps) => {
4
+ open: boolean;
5
+ openDropdown: () => void;
6
+ closeDropdown: () => void;
7
+ toggleOpen: (event: import("react").MouseEvent<Element, MouseEvent>) => void;
8
+ handleReset: (event: {
9
+ stopPropagation: VoidFunction;
10
+ }) => void;
11
+ contextValue: import("./types").ITreeDropdownContextValue;
12
+ count: number;
13
+ displayValue: string;
14
+ onInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
15
+ };
@@ -0,0 +1,7 @@
1
+ import { MouseEvent } from "react";
2
+ export declare const useTreeDropdownOpen: (onOpen?: VoidFunction | undefined, onClose?: VoidFunction | undefined) => {
3
+ open: boolean;
4
+ openDropdown: () => void;
5
+ closeDropdown: () => void;
6
+ toggleOpen: (event: MouseEvent) => void;
7
+ };
@@ -0,0 +1,3 @@
1
+ import { ITreeDropdownContextValue } from "./types";
2
+ import { TreeId, TreeItemProps } from "../Tree/types";
3
+ export declare const useTreeDropdownSelection: (selectedIds: Set<TreeId>, onToggleSelect: (item: TreeItemProps) => void, closeDropdown: VoidFunction, multiSelect?: boolean | undefined) => ITreeDropdownContextValue;
@@ -0,0 +1,3 @@
1
+ import { TreeId, TreeItemProps } from "../Tree/types";
2
+ export declare const formatCount: (count: number) => string;
3
+ export declare const countSelectedDescendants: (item: TreeItemProps, selectedIds: Set<TreeId>) => number;
@@ -1,4 +1,4 @@
1
- import { memo, Children, cloneElement, Component, isValidElement, useRef, useEffect, useState, useMemo, useCallback, useLayoutEffect, Fragment } from 'react';
1
+ import { memo, Children, cloneElement, Component, isValidElement, useRef, useEffect, useState, useMemo, useCallback, useLayoutEffect, Fragment, createContext, useContext } from 'react';
2
2
  import styled, { ThemeProvider as ThemeProvider$1, css, useTheme as useTheme$1, keyframes, createGlobalStyle } from 'styled-components';
3
3
  import merge from 'deepmerge';
4
4
  import { rgb, hsl, hsla, opacify, ellipsis, transparentize, rem, normalize } from 'polished';
@@ -29760,6 +29760,429 @@ const TreeComponent = _ref => {
29760
29760
 
29761
29761
  const Tree = /*#__PURE__*/memo(TreeComponent);
29762
29762
 
29763
+ const FieldIcons = /*#__PURE__*/styled(Flex)`
29764
+ position: absolute;
29765
+ top: 50%;
29766
+ right: 0.5rem;
29767
+ transform: translateY(-50%);
29768
+ align-items: center;
29769
+ gap: 0.25rem;
29770
+ width: max-content;
29771
+ white-space: nowrap;
29772
+ `;
29773
+ const CountBadge = styled.span`
29774
+ display: inline-flex;
29775
+ align-items: center;
29776
+ justify-content: center;
29777
+ min-width: 1.25rem;
29778
+ height: 1rem;
29779
+ padding: 0;
29780
+ border-radius: 0.5rem;
29781
+ background-color: ${_ref => {
29782
+ let {
29783
+ theme: {
29784
+ palette
29785
+ }
29786
+ } = _ref;
29787
+ return palette.primary;
29788
+ }};
29789
+ color: ${_ref2 => {
29790
+ let {
29791
+ theme: {
29792
+ palette
29793
+ }
29794
+ } = _ref2;
29795
+ return palette.background;
29796
+ }};
29797
+ font-size: 0.625rem;
29798
+ font-weight: 600;
29799
+ line-height: 1;
29800
+ `;
29801
+ const ResetIcon = /*#__PURE__*/styled(Icon)`
29802
+ width: 0.875rem;
29803
+ height: 0.875rem;
29804
+ cursor: pointer;
29805
+ color: ${_ref3 => {
29806
+ let {
29807
+ theme: {
29808
+ palette
29809
+ }
29810
+ } = _ref3;
29811
+ return palette.textSecondary;
29812
+ }};
29813
+
29814
+ &:after {
29815
+ font-size: 0.875rem;
29816
+ }
29817
+
29818
+ &:hover {
29819
+ color: ${_ref4 => {
29820
+ let {
29821
+ theme: {
29822
+ palette
29823
+ }
29824
+ } = _ref4;
29825
+ return palette.textPrimary;
29826
+ }};
29827
+ }
29828
+ `;
29829
+ const Chevron = /*#__PURE__*/styled(Icon)`
29830
+ width: 0.875rem;
29831
+ height: 0.875rem;
29832
+ cursor: pointer;
29833
+ transform: ${_ref5 => {
29834
+ let {
29835
+ isOpen
29836
+ } = _ref5;
29837
+ return isOpen ? "rotate(180deg)" : "";
29838
+ }};
29839
+ transition: transform ${transition.press};
29840
+ color: ${_ref6 => {
29841
+ let {
29842
+ theme: {
29843
+ palette
29844
+ }
29845
+ } = _ref6;
29846
+ return palette.textSecondary;
29847
+ }};
29848
+
29849
+ &:after {
29850
+ font-size: 0.875rem;
29851
+ }
29852
+ `;
29853
+ const Content = styled.div`
29854
+ width: ${_ref7 => {
29855
+ let {
29856
+ width
29857
+ } = _ref7;
29858
+ return width || "auto";
29859
+ }};
29860
+ padding: 0.5rem;
29861
+ box-sizing: border-box;
29862
+ `;
29863
+ const TreeScroll = styled.div`
29864
+ max-height: ${_ref8 => {
29865
+ let {
29866
+ maxHeight
29867
+ } = _ref8;
29868
+ return maxHeight || "15rem";
29869
+ }};
29870
+ overflow-y: auto;
29871
+ `;
29872
+ const SpinnerContainer = /*#__PURE__*/styled(Flex)`
29873
+ align-items: center;
29874
+ justify-content: center;
29875
+ min-height: 5rem;
29876
+ `;
29877
+ const CheckboxHolder = styled.span`
29878
+ display: inline-flex;
29879
+ align-items: center;
29880
+ pointer-events: none;
29881
+ `;
29882
+ /** Зазор chevron→checkbox и icon→text приводим к зазору checkbox→icon (0.625rem — margin-right чекбокса). */
29883
+
29884
+ const RowExpand = /*#__PURE__*/styled(TreeExpand)`
29885
+ margin-right: 0.625rem;
29886
+ `;
29887
+ const RowContent = /*#__PURE__*/styled(TreeContent)`
29888
+ gap: 0 0.625rem;
29889
+ `;
29890
+ const RowText = /*#__PURE__*/styled(TreeText)`
29891
+ font-size: 1rem;
29892
+ font-weight: normal;
29893
+ `;
29894
+ const ItemBadge = styled.span`
29895
+ display: inline-flex;
29896
+ align-items: center;
29897
+ justify-content: center;
29898
+ min-width: 1.25rem;
29899
+ height: 1rem;
29900
+ margin-left: 0.25rem;
29901
+ padding: 0;
29902
+ border-radius: 0.5rem;
29903
+ background-color: ${_ref9 => {
29904
+ let {
29905
+ theme: {
29906
+ palette
29907
+ }
29908
+ } = _ref9;
29909
+ return palette.element;
29910
+ }};
29911
+ color: ${_ref10 => {
29912
+ let {
29913
+ theme: {
29914
+ palette
29915
+ }
29916
+ } = _ref10;
29917
+ return palette.textSecondary;
29918
+ }};
29919
+ font-size: 0.625rem;
29920
+ font-weight: 600;
29921
+ line-height: 1;
29922
+ `;
29923
+
29924
+ const TreeDropdownContext = /*#__PURE__*/createContext(null);
29925
+ const useTreeDropdownContext = () => {
29926
+ const context = useContext(TreeDropdownContext);
29927
+
29928
+ if (!context) {
29929
+ throw new Error("useTreeDropdownContext must be used within TreeDropdown");
29930
+ }
29931
+
29932
+ return context;
29933
+ };
29934
+
29935
+ const MAX_BADGE_COUNT = 99;
29936
+ const formatCount = count => count > MAX_BADGE_COUNT ? `${MAX_BADGE_COUNT}+` : `${count}`;
29937
+ const countSelectedDescendants = (item, selectedIds) => {
29938
+ var _item$children;
29939
+
29940
+ if (!((_item$children = item.children) != null && _item$children.length)) {
29941
+ return 0;
29942
+ }
29943
+
29944
+ return item.children.reduce((sum, child) => {
29945
+ const selfCount = selectedIds.has(child.id) ? 1 : 0;
29946
+ return sum + selfCount + countSelectedDescendants(child, selectedIds);
29947
+ }, 0);
29948
+ };
29949
+
29950
+ const NOOP = () => undefined;
29951
+
29952
+ const TreeDropdownItemComponent = _ref => {
29953
+ let {
29954
+ item,
29955
+ parentItem,
29956
+ isExpanded,
29957
+ onExpand,
29958
+ renderTree
29959
+ } = _ref;
29960
+ const {
29961
+ selectedIds,
29962
+ multiSelect,
29963
+ onToggleSelect,
29964
+ getSubtreeBadge
29965
+ } = useTreeDropdownContext();
29966
+ const {
29967
+ id,
29968
+ text,
29969
+ isLeaf,
29970
+ loading,
29971
+ children
29972
+ } = item;
29973
+ const hasChildren = (children == null ? void 0 : children.length) > 0 || !!isLeaf;
29974
+ const isChecked = selectedIds.has(id);
29975
+ const badge = getSubtreeBadge(item);
29976
+ const onChevronClick = useCallback(event => {
29977
+ event.stopPropagation();
29978
+ onExpand(item, !isExpanded);
29979
+ }, [item, isExpanded, onExpand]);
29980
+ const onRowClick = useCallback(() => onToggleSelect(item), [item, onToggleSelect]);
29981
+ return React.createElement(TreeItemWrapper, null, React.createElement(TreeRow, {
29982
+ onClick: onRowClick,
29983
+ hasChildren: hasChildren
29984
+ }, React.createElement(RowExpand, {
29985
+ kind: "expand",
29986
+ isExpanded: isExpanded,
29987
+ hasChildren: hasChildren,
29988
+ onClick: onChevronClick
29989
+ }), multiSelect && React.createElement(CheckboxHolder, null, React.createElement(Checkbox, {
29990
+ checked: isChecked,
29991
+ onChange: NOOP
29992
+ })), React.createElement(RowContent, null, React.createElement(Icon, {
29993
+ kind: hasChildren ? "tree_folder_closed" : "textfile"
29994
+ }), React.createElement(RowText, {
29995
+ isLeaf: hasChildren
29996
+ }, text), badge > 0 && React.createElement(ItemBadge, null, formatCount(badge)))), renderTree(children, isExpanded, parentItem), loading && isExpanded && React.createElement(LoadingContainer, null, React.createElement(CircularProgress, {
29997
+ diameter: 1
29998
+ })));
29999
+ };
30000
+
30001
+ const TreeDropdownItem = /*#__PURE__*/memo(TreeDropdownItemComponent);
30002
+
30003
+ const useTreeDropdownOpen = (onOpen, onClose) => {
30004
+ const [open, setOpen] = useState(false);
30005
+ const openDropdown = useCallback(() => {
30006
+ setOpen(current => {
30007
+ if (!current) {
30008
+ onOpen == null ? void 0 : onOpen();
30009
+ }
30010
+
30011
+ return true;
30012
+ });
30013
+ }, [onOpen]);
30014
+ const closeDropdown = useCallback(() => {
30015
+ setOpen(current => {
30016
+ if (current) {
30017
+ onClose == null ? void 0 : onClose();
30018
+ }
30019
+
30020
+ return false;
30021
+ });
30022
+ }, [onClose]);
30023
+ const toggleOpen = useCallback(event => {
30024
+ event.stopPropagation();
30025
+ setOpen(current => {
30026
+ if (current) {
30027
+ onClose == null ? void 0 : onClose();
30028
+ } else {
30029
+ onOpen == null ? void 0 : onOpen();
30030
+ }
30031
+
30032
+ return !current;
30033
+ });
30034
+ }, [onOpen, onClose]);
30035
+ return {
30036
+ open,
30037
+ openDropdown,
30038
+ closeDropdown,
30039
+ toggleOpen
30040
+ };
30041
+ };
30042
+
30043
+ const useTreeDropdownSelection = (selectedIds, onToggleSelect, closeDropdown, multiSelect) => {
30044
+ const handleToggleSelect = useCallback(item => {
30045
+ onToggleSelect(item);
30046
+
30047
+ if (!multiSelect) {
30048
+ closeDropdown();
30049
+ }
30050
+ }, [multiSelect, onToggleSelect, closeDropdown]);
30051
+ const getSubtreeBadge = useCallback(item => countSelectedDescendants(item, selectedIds), [selectedIds]);
30052
+ return useMemo(() => ({
30053
+ selectedIds,
30054
+ multiSelect,
30055
+ onToggleSelect: handleToggleSelect,
30056
+ getSubtreeBadge
30057
+ }), [selectedIds, multiSelect, handleToggleSelect, getSubtreeBadge]);
30058
+ };
30059
+
30060
+ const useTreeDropdown = _ref => {
30061
+ let {
30062
+ multiSelect,
30063
+ selectedIds,
30064
+ selectedCount,
30065
+ selectedLabel,
30066
+ searchValue,
30067
+ onOpen,
30068
+ onClose,
30069
+ onToggleSelect,
30070
+ onReset,
30071
+ onSearchChange
30072
+ } = _ref;
30073
+ const {
30074
+ open,
30075
+ openDropdown,
30076
+ closeDropdown,
30077
+ toggleOpen
30078
+ } = useTreeDropdownOpen(onOpen, onClose);
30079
+ const contextValue = useTreeDropdownSelection(selectedIds, onToggleSelect, closeDropdown, multiSelect);
30080
+ const handleReset = useCallback(event => {
30081
+ event.stopPropagation();
30082
+ onReset == null ? void 0 : onReset();
30083
+ }, [onReset]);
30084
+ const count = selectedCount ?? selectedIds.size;
30085
+ const displayValue = useMemo(() => open ? searchValue : multiSelect ? "" : selectedLabel ?? "", [open, searchValue, multiSelect, selectedLabel]);
30086
+ const onInputChange = useCallback(event => {
30087
+ openDropdown();
30088
+ onSearchChange(event.target.value);
30089
+ }, [openDropdown, onSearchChange]);
30090
+ return {
30091
+ open,
30092
+ openDropdown,
30093
+ closeDropdown,
30094
+ toggleOpen,
30095
+ handleReset,
30096
+ contextValue,
30097
+ count,
30098
+ displayValue,
30099
+ onInputChange
30100
+ };
30101
+ };
30102
+
30103
+ const INPUT_STYLE = {
30104
+ cursor: "pointer",
30105
+ caretColor: "transparent",
30106
+ userSelect: "none"
30107
+ };
30108
+
30109
+ const preventInputFocus = event => event.preventDefault();
30110
+
30111
+ const TreeDropdownComponent = props => {
30112
+ const {
30113
+ className,
30114
+ width = "19.5rem",
30115
+ menuHeight,
30116
+ zIndex,
30117
+ placeholder,
30118
+ multiSelect,
30119
+ loading,
30120
+ data,
30121
+ setData,
30122
+ expanded,
30123
+ setExpanded,
30124
+ onLoadChildren,
30125
+ onReset
30126
+ } = props;
30127
+ const {
30128
+ open,
30129
+ closeDropdown,
30130
+ toggleOpen,
30131
+ handleReset,
30132
+ contextValue,
30133
+ count,
30134
+ displayValue,
30135
+ onInputChange
30136
+ } = useTreeDropdown(props);
30137
+ const iconAfter = React.createElement(FieldIcons, null, multiSelect && count > 0 && React.createElement(CountBadge, null, formatCount(count)), count > 0 && onReset && React.createElement(ResetIcon, {
30138
+ kind: "close",
30139
+ onClick: handleReset
30140
+ }), React.createElement(Chevron, {
30141
+ kind: "input_dropdown",
30142
+ isOpen: open,
30143
+ onClick: toggleOpen
30144
+ }));
30145
+ return React.createElement(Popover, {
30146
+ open: open,
30147
+ onRequestClose: closeDropdown,
30148
+ anchorOrigin: "bottom-left",
30149
+ targetOrigin: "top-left",
30150
+ animateX: false,
30151
+ zIndex: zIndex,
30152
+ anchor: React.createElement("div", {
30153
+ onClick: toggleOpen
30154
+ }, React.createElement(Input$1, {
30155
+ readOnly: true,
30156
+ style: INPUT_STYLE,
30157
+ className: className,
30158
+ width: width,
30159
+ value: displayValue,
30160
+ placeholder: placeholder,
30161
+ iconAfter: iconAfter,
30162
+ onChange: onInputChange,
30163
+ onMouseDown: preventInputFocus
30164
+ }))
30165
+ }, React.createElement(Content, {
30166
+ width: width
30167
+ }, loading ? React.createElement(SpinnerContainer, null, React.createElement(CircularProgress, {
30168
+ diameter: 2
30169
+ })) : React.createElement(TreeDropdownContext.Provider, {
30170
+ value: contextValue
30171
+ }, React.createElement(TreeScroll, {
30172
+ maxHeight: menuHeight
30173
+ }, React.createElement(Tree, {
30174
+ data: data,
30175
+ setData: setData,
30176
+ expanded: expanded,
30177
+ setExpanded: setExpanded,
30178
+ selectable: false,
30179
+ loadNode: onLoadChildren,
30180
+ Item: TreeDropdownItem
30181
+ })))));
30182
+ };
30183
+
30184
+ const TreeDropdown = /*#__PURE__*/memo(TreeDropdownComponent);
30185
+
29763
30186
  const JSONEditorContainer = styled.div`
29764
30187
  position: relative;
29765
30188
  width: 100%;
@@ -32047,5 +32470,5 @@ const JSONEditorBase = _ref => {
32047
32470
 
32048
32471
  const JSONEditor = /*#__PURE__*/memo(JSONEditorBase);
32049
32472
 
32050
- export { ActionButton, Actions, ActionsGroup, AdditionalInfo, AnchorContainer, AutoComplete, BaseButton, Blank, Box, ButtonsGroup, ButtonsGroupComponent, CSSTransition, Card, CardBodyContainer, Header$1 as CardHeader, ImageGradientOverlay as CardImageGradientOverlay, ImageOverlay as CardImageOverlay, CardLoader, Checkbox, CheckboxComponent, Chip, ChipAutoCompleDivider, ChipAutoCompleSlider, ChipAutoComplete, ChipAutoCompleteControlFlex, ChipAutoCompleteMode, ChipAutoCompleteTags, ChipContainer, ChipInput, ChipInputHolder, Circle, CircularProgress, Collapse, CollapseWrapper, ColorButton, ColorInput, ColorPicker, ComparisonOperator, Container$5 as Container, CustomButton, CustomToggle, DATE_FORMAT, DATE_TIME_FORMAT, DataGrid, DatePicker, Description, Dialog, DialogActions, DialogComponent, DialogContent, DialogOverlay, DialogTitle, Divider, DividerLine, DragAreaWrapper, DraggableTree, DraggableTreeContainer, DraggableTreeItem, DropHereTitle, Dropdown, DropdownContainer, DropdownField, DropdownOptionIcon, ElementsArea, Expander, FILE_SIZE_STEP, FadingIcon, FieldValue, FileExt, FileInfoComment, FileInfoName, FileInfoProgress, FileInfoTitle, FileSymbolContainer, FilterInput, FlatButton, Flex, FlexSpan, FocusTrap, GlobalsContainer, H1, H2, H3, H4, Handlers, HueMap, HueSlider, selection as IcoMoonSelection, Icon, IconButton, IconButtonButton, IconButtonInnerChild, IconMenu, IconToggle, IconToggleButton, IconToggleText, Image, ImageLoader, InfiniteScroll, InfiniteScrollContainer, InfiniteScrollLoaderContainer, InjectGlobalStyles, Input$1 as Input, InputLabel, InputsGroup, InputsGroupContainer, InputsGroupELement, InputsGroupElements, InputsGroupLabel, ItemContainer, JSONEditor, JSONEditorContainer, JSONEditorLinearProgress, JSONEditorWrapper, Label$2 as Label, LabeledTextarea, LeftSide, LegendToggler, LinearLoader, LinearProgress, Link, ListTransition, LoadMoreButton, LoadingContainer, MAX_NUMBER, MB_FILE_SIZE, MIN_NUMBER, MaskedComponent, Menu, MenuContainer, Message, MultiSelectContainer, Notifications, NumberInput, NumberRangeContainer, NumberRangeInputContainer, NumberRangeSlider, NumberRangeSliderContainer, NumberRangeSliderLabel, OpacitySlider, Option, OptionContainer, OptionDescription, OptionIcon, OptionText, OptionToggler, OptionValueContainer, OptionValueWrapper, PaginationFull, PaginationSimple, Paragraph, PasswordToggle, Placeholder, Popover, PopoverTransition, Popup$1 as Popup, Portal, Preview, Radio$1 as Radio, RadioGroup, RaisedButton, RangeDateInput, RangeDatePicker, RangeNumberInput, RatioLine, RegularIconButton, SEPARATED_TIME_FORMAT, SearchField, SearchInputContainer, SelectFromComputerTitle, SimpleInput, Slider, SliderContainer$2 as SliderContainer, HandleContainer as SliderHandle, Label$1 as SliderLabel, LowerTrackBackground as SliderLowerTrackBackground, SliderPopover, Track as SliderTrack, SortToggle, Spinner, Stepper, StyledInput, Switch, SwitchArea, SwitchContainer, SwitchTitle, Switcher, SymbolLibrary, SymbolPreview, THROTTLING_DELAY, TIME_FORMAT, TabBlock, TabContainer, TabContainerLine, Tabs, Text, TextTrim, Textarea, ThemeProvider, Tippy, TitleText, Tooltip, TooltipContent, Tree, TreeContainer, TreeContent, TreeDescription, TreeExpand, TreeItem, TreeItemWrapper, TreeItems, TreeRow, TreeText, UnicodeBig, UnicodeSmall, Uploader, UploaderItemArea, UploaderItemsContainer, UploaderTitle, UploaderTitleContainer, UploaderTitleImage, UploaderTitleWrapper, UserChip, UserChipImagePlaceholder, UserChipItem, UserChipItemIcon, UserChipItemImage, ValueLink, ValuePrefix, WaitingButton, WaitingButtonComponent, WithLabelContainer, Wizard, addItem, borderRadius, buttonMixin, clamp, cloneWithRefs, collapseDuration, combineRefs, createColorOrMono, createIconColors, createLinkStates, createMessageColors, createTheme, createToggleStates, createVariants, cropLeftBorderRadius, cropRightBorderRadius, theme$1 as darkTheme, dateFormat, defaultOptions, defaultStub, theme as defaultTheme, fileSizeFormat, findTreeItemById, fonts, getChipColor, getColorOrMono, getHighlightParts, getIconColors, getLinkColors, getLocale, getMessageColors, getNumberFromPixels, getRealChildren, getTagColor, getTextWidth, getTheme, getToggleStates, getUnicodeFromString, getVariant, horizontalDivider, iconTypes, injectIcon, inputMixin, isDefined, isDescendant, isDomNode, isNumeric, isOutside, isReactDomElement, isReactElement, isSimpleStyledComponent, isTextFitElementWidth, isTouchDevice, isValidUrl, mapToSimpleOption, palette, photo, preventDefault, randomInteger, randomRgba, rangeValueFormat, removeItem, replaceTreeItemById, sendRefSafety, shadows, sortNumbers, stub, textOverflowEllipsisMixin, toNumber, toSimpleOption, transition, transparencyDark2, transparencyDark4, Transparency_dark8 as transparencyDark8, transparencyLight2, transparencyLight4, Transparency_light8 as transparencyLight8, typeId, urlify, useAsyncAutocomplete, useDelayedStyleLoader, useDialogShadow, useDragAndDropEffect, useEventListener, useForceUpdate, useMounted, useMutationObserver, usePrevValue, useStyleLoader, useTheme, useThrottling, useToggle, useUndraggableEffect, useUnselectableEffect, verticalDivider, withLabel };
32473
+ export { ActionButton, Actions, ActionsGroup, AdditionalInfo, AnchorContainer, AutoComplete, BaseButton, Blank, Box, ButtonsGroup, ButtonsGroupComponent, CSSTransition, Card, CardBodyContainer, Header$1 as CardHeader, ImageGradientOverlay as CardImageGradientOverlay, ImageOverlay as CardImageOverlay, CardLoader, Checkbox, CheckboxComponent, Chip, ChipAutoCompleDivider, ChipAutoCompleSlider, ChipAutoComplete, ChipAutoCompleteControlFlex, ChipAutoCompleteMode, ChipAutoCompleteTags, ChipContainer, ChipInput, ChipInputHolder, Circle, CircularProgress, Collapse, CollapseWrapper, ColorButton, ColorInput, ColorPicker, ComparisonOperator, Container$5 as Container, CustomButton, CustomToggle, DATE_FORMAT, DATE_TIME_FORMAT, DataGrid, DatePicker, Description, Dialog, DialogActions, DialogComponent, DialogContent, DialogOverlay, DialogTitle, Divider, DividerLine, DragAreaWrapper, DraggableTree, DraggableTreeContainer, DraggableTreeItem, DropHereTitle, Dropdown, DropdownContainer, DropdownField, DropdownOptionIcon, ElementsArea, Expander, FILE_SIZE_STEP, FadingIcon, FieldValue, FileExt, FileInfoComment, FileInfoName, FileInfoProgress, FileInfoTitle, FileSymbolContainer, FilterInput, FlatButton, Flex, FlexSpan, FocusTrap, GlobalsContainer, H1, H2, H3, H4, Handlers, HueMap, HueSlider, selection as IcoMoonSelection, Icon, IconButton, IconButtonButton, IconButtonInnerChild, IconMenu, IconToggle, IconToggleButton, IconToggleText, Image, ImageLoader, InfiniteScroll, InfiniteScrollContainer, InfiniteScrollLoaderContainer, InjectGlobalStyles, Input$1 as Input, InputLabel, InputsGroup, InputsGroupContainer, InputsGroupELement, InputsGroupElements, InputsGroupLabel, ItemContainer, JSONEditor, JSONEditorContainer, JSONEditorLinearProgress, JSONEditorWrapper, Label$2 as Label, LabeledTextarea, LeftSide, LegendToggler, LinearLoader, LinearProgress, Link, ListTransition, LoadMoreButton, LoadingContainer, MAX_NUMBER, MB_FILE_SIZE, MIN_NUMBER, MaskedComponent, Menu, MenuContainer, Message, MultiSelectContainer, Notifications, NumberInput, NumberRangeContainer, NumberRangeInputContainer, NumberRangeSlider, NumberRangeSliderContainer, NumberRangeSliderLabel, OpacitySlider, Option, OptionContainer, OptionDescription, OptionIcon, OptionText, OptionToggler, OptionValueContainer, OptionValueWrapper, PaginationFull, PaginationSimple, Paragraph, PasswordToggle, Placeholder, Popover, PopoverTransition, Popup$1 as Popup, Portal, Preview, Radio$1 as Radio, RadioGroup, RaisedButton, RangeDateInput, RangeDatePicker, RangeNumberInput, RatioLine, RegularIconButton, SEPARATED_TIME_FORMAT, SearchField, SearchInputContainer, SelectFromComputerTitle, SimpleInput, Slider, SliderContainer$2 as SliderContainer, HandleContainer as SliderHandle, Label$1 as SliderLabel, LowerTrackBackground as SliderLowerTrackBackground, SliderPopover, Track as SliderTrack, SortToggle, Spinner, Stepper, StyledInput, Switch, SwitchArea, SwitchContainer, SwitchTitle, Switcher, SymbolLibrary, SymbolPreview, THROTTLING_DELAY, TIME_FORMAT, TabBlock, TabContainer, TabContainerLine, Tabs, Text, TextTrim, Textarea, ThemeProvider, Tippy, TitleText, Tooltip, TooltipContent, Tree, TreeContainer, TreeContent, TreeDescription, TreeDropdown, TreeDropdownItem, TreeExpand, TreeItem, TreeItemWrapper, TreeItems, TreeRow, TreeText, UnicodeBig, UnicodeSmall, Uploader, UploaderItemArea, UploaderItemsContainer, UploaderTitle, UploaderTitleContainer, UploaderTitleImage, UploaderTitleWrapper, UserChip, UserChipImagePlaceholder, UserChipItem, UserChipItemIcon, UserChipItemImage, ValueLink, ValuePrefix, WaitingButton, WaitingButtonComponent, WithLabelContainer, Wizard, addItem, borderRadius, buttonMixin, clamp, cloneWithRefs, collapseDuration, combineRefs, createColorOrMono, createIconColors, createLinkStates, createMessageColors, createTheme, createToggleStates, createVariants, cropLeftBorderRadius, cropRightBorderRadius, theme$1 as darkTheme, dateFormat, defaultOptions, defaultStub, theme as defaultTheme, fileSizeFormat, findTreeItemById, fonts, getChipColor, getColorOrMono, getHighlightParts, getIconColors, getLinkColors, getLocale, getMessageColors, getNumberFromPixels, getRealChildren, getTagColor, getTextWidth, getTheme, getToggleStates, getUnicodeFromString, getVariant, horizontalDivider, iconTypes, injectIcon, inputMixin, isDefined, isDescendant, isDomNode, isNumeric, isOutside, isReactDomElement, isReactElement, isSimpleStyledComponent, isTextFitElementWidth, isTouchDevice, isValidUrl, mapToSimpleOption, palette, photo, preventDefault, randomInteger, randomRgba, rangeValueFormat, removeItem, replaceTreeItemById, sendRefSafety, shadows, sortNumbers, stub, textOverflowEllipsisMixin, toNumber, toSimpleOption, transition, transparencyDark2, transparencyDark4, Transparency_dark8 as transparencyDark8, transparencyLight2, transparencyLight4, Transparency_light8 as transparencyLight8, typeId, urlify, useAsyncAutocomplete, useDelayedStyleLoader, useDialogShadow, useDragAndDropEffect, useEventListener, useForceUpdate, useMounted, useMutationObserver, usePrevValue, useStyleLoader, useTheme, useThrottling, useToggle, useUndraggableEffect, useUnselectableEffect, verticalDivider, withLabel };
32051
32474
  //# sourceMappingURL=uilib-gl.esm.js.map