@deephaven/dashboard-core-plugins 0.108.1-beta.0 → 0.108.1-beta.12
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/FilterEvents.d.ts +86 -0
- package/dist/FilterEvents.d.ts.map +1 -0
- package/dist/FilterEvents.js +78 -0
- package/dist/FilterEvents.js.map +1 -0
- package/dist/FilterPlugin.d.ts +1 -12
- package/dist/FilterPlugin.d.ts.map +1 -1
- package/dist/FilterPlugin.js +30 -23
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/GridWidgetPlugin.d.ts +2 -2
- package/dist/GridWidgetPlugin.d.ts.map +1 -1
- package/dist/GridWidgetPlugin.js +54 -5
- package/dist/GridWidgetPlugin.js.map +1 -1
- package/dist/events/TabEventMap.d.ts +1 -1
- package/dist/events/TabEventMap.d.ts.map +1 -1
- package/dist/events/TabEventMap.js.map +1 -1
- package/dist/events/index.d.ts +7 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -1
- package/dist/events/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/linker/Linker.d.ts +3 -2
- package/dist/linker/Linker.d.ts.map +1 -1
- package/dist/linker/Linker.js +11 -2
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerUtils.d.ts +2 -2
- package/dist/linker/LinkerUtils.d.ts.map +1 -1
- package/dist/linker/LinkerUtils.js +2 -1
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +2 -2
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +4 -1
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +1 -1
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.js +1 -1
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/CorePanel.d.ts +13 -0
- package/dist/panels/CorePanel.d.ts.map +1 -0
- package/dist/panels/CorePanel.js +76 -0
- package/dist/panels/CorePanel.js.map +1 -0
- package/dist/panels/DropdownFilterPanel.d.ts +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/DropdownFilterPanel.js +7 -4
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.js +1 -1
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.d.ts +2 -2
- package/dist/panels/FilterSetManagerPanel.js +1 -1
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.d.ts +2 -2
- package/dist/panels/InputFilterPanel.d.ts.map +1 -1
- package/dist/panels/InputFilterPanel.js +9 -5
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +2 -2
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +11 -4
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/LogPanel.d.ts +1 -1
- package/dist/panels/LogPanel.js +1 -1
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownPanel.d.ts +1 -1
- package/dist/panels/MarkdownPanel.js +1 -1
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +1 -1
- package/dist/panels/NotebookPanel.js +1 -1
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/WidgetPanel.d.ts +1 -1
- package/dist/panels/WidgetPanel.d.ts.map +1 -1
- package/dist/panels/WidgetPanel.js +1 -1
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/index.d.ts +5 -1
- package/dist/panels/index.d.ts.map +1 -1
- package/dist/panels/index.js +7 -1
- package/dist/panels/index.js.map +1 -1
- package/dist/redux/selectors.d.ts +1 -1
- package/dist/redux/selectors.js.map +1 -1
- package/dist/useDashboardColumnFilters.d.ts +17 -0
- package/dist/useDashboardColumnFilters.d.ts.map +1 -0
- package/dist/useDashboardColumnFilters.js +59 -0
- package/dist/useDashboardColumnFilters.js.map +1 -0
- package/dist/useIrisGridModel.d.ts.map +1 -1
- package/dist/useIrisGridModel.js +25 -22
- package/dist/useIrisGridModel.js.map +1 -1
- package/package.json +24 -24
- package/dist/events/TabEvent.d.ts +0 -6
- package/dist/events/TabEvent.d.ts.map +0 -1
- package/dist/events/TabEvent.js +0 -6
- package/dist/events/TabEvent.js.map +0 -1
- package/dist/panels/Panel.css +0 -5
- package/dist/panels/Panel.css.map +0 -1
- package/dist/panels/Panel.d.ts +0 -44
- package/dist/panels/Panel.d.ts.map +0 -1
- package/dist/panels/Panel.js +0 -333
- package/dist/panels/Panel.js.map +0 -1
- package/dist/panels/PanelContextMenu.d.ts +0 -30
- package/dist/panels/PanelContextMenu.d.ts.map +0 -1
- package/dist/panels/PanelContextMenu.js +0 -159
- package/dist/panels/PanelContextMenu.js.map +0 -1
- package/dist/panels/RenameDialog.d.ts +0 -34
- package/dist/panels/RenameDialog.d.ts.map +0 -1
- package/dist/panels/RenameDialog.js +0 -167
- package/dist/panels/RenameDialog.js.map +0 -1
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
-
import React, { PureComponent } from 'react';
|
|
5
|
-
import classNames from 'classnames';
|
|
6
|
-
import { Button, Popper } from '@deephaven/components';
|
|
7
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
export default class RenameDialog extends PureComponent {
|
|
10
|
-
constructor(props) {
|
|
11
|
-
super(props);
|
|
12
|
-
_defineProperty(this, "renameInputRef", void 0);
|
|
13
|
-
this.handleRenameDialogOpened = this.handleRenameDialogOpened.bind(this);
|
|
14
|
-
this.handleRenameInputChange = this.handleRenameInputChange.bind(this);
|
|
15
|
-
this.handleRenameCancel = this.handleRenameCancel.bind(this);
|
|
16
|
-
this.handleRenameSubmit = this.handleRenameSubmit.bind(this);
|
|
17
|
-
this.renameInputRef = /*#__PURE__*/React.createRef();
|
|
18
|
-
var {
|
|
19
|
-
value
|
|
20
|
-
} = props;
|
|
21
|
-
this.state = {
|
|
22
|
-
value,
|
|
23
|
-
valueWasValidated: false
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
componentDidUpdate(prevProps) {
|
|
27
|
-
var {
|
|
28
|
-
isShown: prevIsShown
|
|
29
|
-
} = prevProps;
|
|
30
|
-
var {
|
|
31
|
-
isShown
|
|
32
|
-
} = this.props;
|
|
33
|
-
// Reset the state on dialog shown and not on the `value` prop change
|
|
34
|
-
// so the input keeps the internal value while the dialog is open.
|
|
35
|
-
// Useful in case the `value` prop update is triggered externally
|
|
36
|
-
// i.e. by someone else renaming the same shared dashboard
|
|
37
|
-
if (isShown && !prevIsShown) {
|
|
38
|
-
this.resetState();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
resetState() {
|
|
42
|
-
var {
|
|
43
|
-
value
|
|
44
|
-
} = this.props;
|
|
45
|
-
this.setState({
|
|
46
|
-
value,
|
|
47
|
-
valueWasValidated: false
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
handleRenameDialogOpened() {
|
|
51
|
-
var _this$renameInputRef, _this$renameInputRef$;
|
|
52
|
-
(_this$renameInputRef = this.renameInputRef) === null || _this$renameInputRef === void 0 ? void 0 : (_this$renameInputRef$ = _this$renameInputRef.current) === null || _this$renameInputRef$ === void 0 ? void 0 : _this$renameInputRef$.focus();
|
|
53
|
-
}
|
|
54
|
-
handleRenameInputChange(event) {
|
|
55
|
-
this.setState({
|
|
56
|
-
value: event.target.value
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
handleRenameCancel() {
|
|
60
|
-
var {
|
|
61
|
-
onCancel
|
|
62
|
-
} = this.props;
|
|
63
|
-
onCancel();
|
|
64
|
-
}
|
|
65
|
-
handleRenameSubmit(event) {
|
|
66
|
-
event.stopPropagation();
|
|
67
|
-
event.preventDefault();
|
|
68
|
-
var {
|
|
69
|
-
value
|
|
70
|
-
} = this.state;
|
|
71
|
-
var newTitle = value === null || value === void 0 ? void 0 : value.trim();
|
|
72
|
-
if (newTitle !== undefined && newTitle !== '') {
|
|
73
|
-
var {
|
|
74
|
-
onSubmit
|
|
75
|
-
} = this.props;
|
|
76
|
-
onSubmit(newTitle);
|
|
77
|
-
} else {
|
|
78
|
-
this.setState({
|
|
79
|
-
value: newTitle,
|
|
80
|
-
valueWasValidated: true
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
renderRenameDialog() {
|
|
85
|
-
var {
|
|
86
|
-
isShared,
|
|
87
|
-
isOwner,
|
|
88
|
-
itemType
|
|
89
|
-
} = this.props;
|
|
90
|
-
var {
|
|
91
|
-
value,
|
|
92
|
-
valueWasValidated
|
|
93
|
-
} = this.state;
|
|
94
|
-
return /*#__PURE__*/_jsxs("form", {
|
|
95
|
-
className: classNames('p-3', {
|
|
96
|
-
'was-validated': valueWasValidated
|
|
97
|
-
}),
|
|
98
|
-
onSubmit: this.handleRenameSubmit,
|
|
99
|
-
noValidate: true,
|
|
100
|
-
role: "presentation",
|
|
101
|
-
onMouseDown: event => {
|
|
102
|
-
// block events in the NewTabScreen ItemList
|
|
103
|
-
event.stopPropagation();
|
|
104
|
-
},
|
|
105
|
-
onMouseUp: event => {
|
|
106
|
-
event.stopPropagation();
|
|
107
|
-
},
|
|
108
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
109
|
-
className: "form-group",
|
|
110
|
-
children: [/*#__PURE__*/_jsxs("label", {
|
|
111
|
-
htmlFor: "rename-dialog-".concat(itemType, "-input"),
|
|
112
|
-
children: ["Rename ", itemType]
|
|
113
|
-
}), /*#__PURE__*/_jsx("input", {
|
|
114
|
-
type: "text",
|
|
115
|
-
className: "form-control",
|
|
116
|
-
id: "rename-dialog-".concat(itemType, "-input"),
|
|
117
|
-
value: value !== null && value !== void 0 ? value : undefined,
|
|
118
|
-
ref: this.renameInputRef,
|
|
119
|
-
onChange: this.handleRenameInputChange,
|
|
120
|
-
required: true
|
|
121
|
-
}), /*#__PURE__*/_jsxs("div", {
|
|
122
|
-
className: "invalid-feedback",
|
|
123
|
-
children: [itemType, " name cannot be empty"]
|
|
124
|
-
}), (isShared || !isOwner) && /*#__PURE__*/_jsxs("div", {
|
|
125
|
-
className: "pt-2",
|
|
126
|
-
children: ["Renaming this ", itemType, " will rename for all users."]
|
|
127
|
-
})]
|
|
128
|
-
}), /*#__PURE__*/_jsxs("div", {
|
|
129
|
-
className: "text-right",
|
|
130
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
131
|
-
kind: "secondary",
|
|
132
|
-
className: "mr-2",
|
|
133
|
-
onClick: this.handleRenameCancel,
|
|
134
|
-
children: "Cancel"
|
|
135
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
136
|
-
kind: "primary",
|
|
137
|
-
type: "submit",
|
|
138
|
-
children: "Rename"
|
|
139
|
-
})]
|
|
140
|
-
})]
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
render() {
|
|
144
|
-
var {
|
|
145
|
-
isShown,
|
|
146
|
-
onCancel
|
|
147
|
-
} = this.props;
|
|
148
|
-
return /*#__PURE__*/_jsx(Popper, {
|
|
149
|
-
isShown: isShown,
|
|
150
|
-
onEntered: this.handleRenameDialogOpened,
|
|
151
|
-
onExited: onCancel,
|
|
152
|
-
options: {
|
|
153
|
-
placement: 'bottom'
|
|
154
|
-
},
|
|
155
|
-
interactive: true,
|
|
156
|
-
closeOnBlur: true,
|
|
157
|
-
children: this.renderRenameDialog()
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
_defineProperty(RenameDialog, "defaultProps", {
|
|
162
|
-
isShared: false,
|
|
163
|
-
isOwner: true,
|
|
164
|
-
itemType: 'Item',
|
|
165
|
-
value: ''
|
|
166
|
-
});
|
|
167
|
-
//# sourceMappingURL=RenameDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenameDialog.js","names":["React","PureComponent","classNames","Button","Popper","jsxs","_jsxs","jsx","_jsx","RenameDialog","constructor","props","_defineProperty","handleRenameDialogOpened","bind","handleRenameInputChange","handleRenameCancel","handleRenameSubmit","renameInputRef","createRef","value","state","valueWasValidated","componentDidUpdate","prevProps","isShown","prevIsShown","resetState","setState","_this$renameInputRef","_this$renameInputRef$","current","focus","event","target","onCancel","stopPropagation","preventDefault","newTitle","trim","undefined","onSubmit","renderRenameDialog","isShared","isOwner","itemType","className","noValidate","role","onMouseDown","onMouseUp","children","htmlFor","concat","type","id","ref","onChange","required","kind","onClick","render","onEntered","onExited","options","placement","interactive","closeOnBlur"],"sources":["../../src/panels/RenameDialog.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n type FormEvent,\n PureComponent,\n type ReactElement,\n type RefObject,\n} from 'react';\nimport classNames from 'classnames';\nimport { Button, Popper } from '@deephaven/components';\n\ninterface RenameDialogProps {\n isShared: boolean;\n isOwner: boolean;\n isShown: boolean;\n itemType: string;\n onSubmit: (title: string) => void;\n onCancel: () => void;\n value?: string | null;\n}\n\ninterface RenameDialogState {\n value?: string | null;\n valueWasValidated: boolean;\n}\n\nexport default class RenameDialog extends PureComponent<\n RenameDialogProps,\n RenameDialogState\n> {\n static defaultProps = {\n isShared: false,\n isOwner: true,\n itemType: 'Item',\n value: '',\n };\n\n constructor(props: RenameDialogProps) {\n super(props);\n\n this.handleRenameDialogOpened = this.handleRenameDialogOpened.bind(this);\n this.handleRenameInputChange = this.handleRenameInputChange.bind(this);\n this.handleRenameCancel = this.handleRenameCancel.bind(this);\n this.handleRenameSubmit = this.handleRenameSubmit.bind(this);\n\n this.renameInputRef = React.createRef();\n\n const { value } = props;\n\n this.state = {\n value,\n valueWasValidated: false,\n };\n }\n\n componentDidUpdate(prevProps: RenameDialogProps): void {\n const { isShown: prevIsShown } = prevProps;\n const { isShown } = this.props;\n // Reset the state on dialog shown and not on the `value` prop change\n // so the input keeps the internal value while the dialog is open.\n // Useful in case the `value` prop update is triggered externally\n // i.e. by someone else renaming the same shared dashboard\n if (isShown && !prevIsShown) {\n this.resetState();\n }\n }\n\n renameInputRef: RefObject<HTMLInputElement>;\n\n resetState(): void {\n const { value } = this.props;\n this.setState({ value, valueWasValidated: false });\n }\n\n handleRenameDialogOpened(): void {\n this.renameInputRef?.current?.focus();\n }\n\n handleRenameInputChange(event: ChangeEvent<HTMLInputElement>): void {\n this.setState({ value: event.target.value });\n }\n\n handleRenameCancel(): void {\n const { onCancel } = this.props;\n onCancel();\n }\n\n handleRenameSubmit(event: FormEvent<HTMLFormElement>): void {\n event.stopPropagation();\n event.preventDefault();\n const { value } = this.state;\n const newTitle = value?.trim();\n if (newTitle !== undefined && newTitle !== '') {\n const { onSubmit } = this.props;\n onSubmit(newTitle);\n } else {\n this.setState({ value: newTitle, valueWasValidated: true });\n }\n }\n\n renderRenameDialog(): ReactElement {\n const { isShared, isOwner, itemType } = this.props;\n const { value, valueWasValidated } = this.state;\n\n return (\n <form\n className={classNames('p-3', { 'was-validated': valueWasValidated })}\n onSubmit={this.handleRenameSubmit}\n noValidate\n role=\"presentation\"\n onMouseDown={event => {\n // block events in the NewTabScreen ItemList\n event.stopPropagation();\n }}\n onMouseUp={event => {\n event.stopPropagation();\n }}\n >\n <div className=\"form-group\">\n <label htmlFor={`rename-dialog-${itemType}-input`}>\n Rename {itemType}\n </label>\n <input\n type=\"text\"\n className=\"form-control\"\n id={`rename-dialog-${itemType}-input`}\n value={value ?? undefined}\n ref={this.renameInputRef}\n onChange={this.handleRenameInputChange}\n required\n />\n <div className=\"invalid-feedback\">\n {itemType} name cannot be empty\n </div>\n {(isShared || !isOwner) && (\n <div className=\"pt-2\">\n Renaming this {itemType} will rename for all users.\n </div>\n )}\n </div>\n\n <div className=\"text-right\">\n <Button\n kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleRenameCancel}\n >\n Cancel\n </Button>\n <Button kind=\"primary\" type=\"submit\">\n Rename\n </Button>\n </div>\n </form>\n );\n }\n\n render(): ReactElement {\n const { isShown, onCancel } = this.props;\n return (\n <Popper\n isShown={isShown}\n onEntered={this.handleRenameDialogOpened}\n onExited={onCancel}\n options={{\n placement: 'bottom',\n }}\n interactive\n closeOnBlur\n >\n {this.renderRenameDialog()}\n </Popper>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAGVC,aAAa,QAGR,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,EAAEC,MAAM,QAAQ,uBAAuB;AAAC,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAiBvD,eAAe,MAAMC,YAAY,SAASR,aAAa,CAGrD;EAQAS,WAAWA,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAEb,IAAI,CAACC,wBAAwB,GAAG,IAAI,CAACA,wBAAwB,CAACC,IAAI,CAAC,IAAI,CAAC;IACxE,IAAI,CAACC,uBAAuB,GAAG,IAAI,CAACA,uBAAuB,CAACD,IAAI,CAAC,IAAI,CAAC;IACtE,IAAI,CAACE,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACF,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,CAACG,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACH,IAAI,CAAC,IAAI,CAAC;IAE5D,IAAI,CAACI,cAAc,gBAAGlB,KAAK,CAACmB,SAAS,CAAC,CAAC;IAEvC,IAAM;MAAEC;IAAM,CAAC,GAAGT,KAAK;IAEvB,IAAI,CAACU,KAAK,GAAG;MACXD,KAAK;MACLE,iBAAiB,EAAE;IACrB,CAAC;EACH;EAEAC,kBAAkBA,CAACC,SAA4B,EAAQ;IACrD,IAAM;MAAEC,OAAO,EAAEC;IAAY,CAAC,GAAGF,SAAS;IAC1C,IAAM;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACd,KAAK;IAC9B;IACA;IACA;IACA;IACA,IAAIc,OAAO,IAAI,CAACC,WAAW,EAAE;MAC3B,IAAI,CAACC,UAAU,CAAC,CAAC;IACnB;EACF;EAIAA,UAAUA,CAAA,EAAS;IACjB,IAAM;MAAEP;IAAM,CAAC,GAAG,IAAI,CAACT,KAAK;IAC5B,IAAI,CAACiB,QAAQ,CAAC;MAAER,KAAK;MAAEE,iBAAiB,EAAE;IAAM,CAAC,CAAC;EACpD;EAEAT,wBAAwBA,CAAA,EAAS;IAAA,IAAAgB,oBAAA,EAAAC,qBAAA;IAC/B,CAAAD,oBAAA,OAAI,CAACX,cAAc,cAAAW,oBAAA,wBAAAC,qBAAA,GAAnBD,oBAAA,CAAqBE,OAAO,cAAAD,qBAAA,uBAA5BA,qBAAA,CAA8BE,KAAK,CAAC,CAAC;EACvC;EAEAjB,uBAAuBA,CAACkB,KAAoC,EAAQ;IAClE,IAAI,CAACL,QAAQ,CAAC;MAAER,KAAK,EAAEa,KAAK,CAACC,MAAM,CAACd;IAAM,CAAC,CAAC;EAC9C;EAEAJ,kBAAkBA,CAAA,EAAS;IACzB,IAAM;MAAEmB;IAAS,CAAC,GAAG,IAAI,CAACxB,KAAK;IAC/BwB,QAAQ,CAAC,CAAC;EACZ;EAEAlB,kBAAkBA,CAACgB,KAAiC,EAAQ;IAC1DA,KAAK,CAACG,eAAe,CAAC,CAAC;IACvBH,KAAK,CAACI,cAAc,CAAC,CAAC;IACtB,IAAM;MAAEjB;IAAM,CAAC,GAAG,IAAI,CAACC,KAAK;IAC5B,IAAMiB,QAAQ,GAAGlB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmB,IAAI,CAAC,CAAC;IAC9B,IAAID,QAAQ,KAAKE,SAAS,IAAIF,QAAQ,KAAK,EAAE,EAAE;MAC7C,IAAM;QAAEG;MAAS,CAAC,GAAG,IAAI,CAAC9B,KAAK;MAC/B8B,QAAQ,CAACH,QAAQ,CAAC;IACpB,CAAC,MAAM;MACL,IAAI,CAACV,QAAQ,CAAC;QAAER,KAAK,EAAEkB,QAAQ;QAAEhB,iBAAiB,EAAE;MAAK,CAAC,CAAC;IAC7D;EACF;EAEAoB,kBAAkBA,CAAA,EAAiB;IACjC,IAAM;MAAEC,QAAQ;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAG,IAAI,CAAClC,KAAK;IAClD,IAAM;MAAES,KAAK;MAAEE;IAAkB,CAAC,GAAG,IAAI,CAACD,KAAK;IAE/C,oBACEf,KAAA;MACEwC,SAAS,EAAE5C,UAAU,CAAC,KAAK,EAAE;QAAE,eAAe,EAAEoB;MAAkB,CAAC,CAAE;MACrEmB,QAAQ,EAAE,IAAI,CAACxB,kBAAmB;MAClC8B,UAAU;MACVC,IAAI,EAAC,cAAc;MACnBC,WAAW,EAAEhB,KAAK,IAAI;QACpB;QACAA,KAAK,CAACG,eAAe,CAAC,CAAC;MACzB,CAAE;MACFc,SAAS,EAAEjB,KAAK,IAAI;QAClBA,KAAK,CAACG,eAAe,CAAC,CAAC;MACzB,CAAE;MAAAe,QAAA,gBAEF7C,KAAA;QAAKwC,SAAS,EAAC,YAAY;QAAAK,QAAA,gBACzB7C,KAAA;UAAO8C,OAAO,mBAAAC,MAAA,CAAmBR,QAAQ,WAAS;UAAAM,QAAA,GAAC,SAC1C,EAACN,QAAQ;QAAA,CACX,CAAC,eACRrC,IAAA;UACE8C,IAAI,EAAC,MAAM;UACXR,SAAS,EAAC,cAAc;UACxBS,EAAE,mBAAAF,MAAA,CAAmBR,QAAQ,WAAS;UACtCzB,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIoB,SAAU;UAC1BgB,GAAG,EAAE,IAAI,CAACtC,cAAe;UACzBuC,QAAQ,EAAE,IAAI,CAAC1C,uBAAwB;UACvC2C,QAAQ;QAAA,CACT,CAAC,eACFpD,KAAA;UAAKwC,SAAS,EAAC,kBAAkB;UAAAK,QAAA,GAC9BN,QAAQ,EAAC,uBACZ;QAAA,CAAK,CAAC,EACL,CAACF,QAAQ,IAAI,CAACC,OAAO,kBACpBtC,KAAA;UAAKwC,SAAS,EAAC,MAAM;UAAAK,QAAA,GAAC,gBACN,EAACN,QAAQ,EAAC,6BAC1B;QAAA,CAAK,CACN;MAAA,CACE,CAAC,eAENvC,KAAA;QAAKwC,SAAS,EAAC,YAAY;QAAAK,QAAA,gBACzB3C,IAAA,CAACL,MAAM;UACLwD,IAAI,EAAC,WAAW;UAChBb,SAAS,EAAC,MAAM;UAChBc,OAAO,EAAE,IAAI,CAAC5C,kBAAmB;UAAAmC,QAAA,EAClC;QAED,CAAQ,CAAC,eACT3C,IAAA,CAACL,MAAM;UAACwD,IAAI,EAAC,SAAS;UAACL,IAAI,EAAC,QAAQ;UAAAH,QAAA,EAAC;QAErC,CAAQ,CAAC;MAAA,CACN,CAAC;IAAA,CACF,CAAC;EAEX;EAEAU,MAAMA,CAAA,EAAiB;IACrB,IAAM;MAAEpC,OAAO;MAAEU;IAAS,CAAC,GAAG,IAAI,CAACxB,KAAK;IACxC,oBACEH,IAAA,CAACJ,MAAM;MACLqB,OAAO,EAAEA,OAAQ;MACjBqC,SAAS,EAAE,IAAI,CAACjD,wBAAyB;MACzCkD,QAAQ,EAAE5B,QAAS;MACnB6B,OAAO,EAAE;QACPC,SAAS,EAAE;MACb,CAAE;MACFC,WAAW;MACXC,WAAW;MAAAhB,QAAA,EAEV,IAAI,CAACT,kBAAkB,CAAC;IAAC,CACpB,CAAC;EAEb;AACF;AAAC9B,eAAA,CApJoBH,YAAY,kBAIT;EACpBkC,QAAQ,EAAE,KAAK;EACfC,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,MAAM;EAChBzB,KAAK,EAAE;AACT,CAAC"}
|