[d24f17c] | 1 | var __create = Object.create;
|
---|
| 2 | var __defProp = Object.defineProperty;
|
---|
| 3 | var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
---|
| 4 | var __getOwnPropNames = Object.getOwnPropertyNames;
|
---|
| 5 | var __getProtoOf = Object.getPrototypeOf;
|
---|
| 6 | var __hasOwnProp = Object.prototype.hasOwnProperty;
|
---|
| 7 | var __commonJS = (cb, mod) => function __require() {
|
---|
| 8 | return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
---|
| 9 | };
|
---|
| 10 | var __export = (target, all) => {
|
---|
| 11 | for (var name in all)
|
---|
| 12 | __defProp(target, name, { get: all[name], enumerable: true });
|
---|
| 13 | };
|
---|
| 14 | var __copyProps = (to, from, except, desc) => {
|
---|
| 15 | if (from && typeof from === "object" || typeof from === "function") {
|
---|
| 16 | for (let key of __getOwnPropNames(from))
|
---|
| 17 | if (!__hasOwnProp.call(to, key) && key !== except)
|
---|
| 18 | __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
---|
| 19 | }
|
---|
| 20 | return to;
|
---|
| 21 | };
|
---|
| 22 | var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
---|
| 23 |
|
---|
| 24 | // node_modules/is-object/index.js
|
---|
| 25 | var require_is_object = __commonJS({
|
---|
| 26 | "node_modules/is-object/index.js"(exports, module) {
|
---|
| 27 | "use strict";
|
---|
| 28 | module.exports = function isObject(x) {
|
---|
| 29 | return typeof x === "object" && x !== null;
|
---|
| 30 | };
|
---|
| 31 | }
|
---|
| 32 | });
|
---|
| 33 |
|
---|
| 34 | // node_modules/is-window/index.js
|
---|
| 35 | var require_is_window = __commonJS({
|
---|
| 36 | "node_modules/is-window/index.js"(exports, module) {
|
---|
| 37 | "use strict";
|
---|
| 38 | module.exports = function(obj) {
|
---|
| 39 | if (obj == null) {
|
---|
| 40 | return false;
|
---|
| 41 | }
|
---|
| 42 | var o = Object(obj);
|
---|
| 43 | return o === o.window;
|
---|
| 44 | };
|
---|
| 45 | }
|
---|
| 46 | });
|
---|
| 47 |
|
---|
| 48 | // node_modules/is-dom/index.js
|
---|
| 49 | var require_is_dom = __commonJS({
|
---|
| 50 | "node_modules/is-dom/index.js"(exports, module) {
|
---|
| 51 | var isObject = require_is_object();
|
---|
| 52 | var isWindow = require_is_window();
|
---|
| 53 | function isNode(val) {
|
---|
| 54 | if (!isObject(val) || !isWindow(window) || typeof window.Node !== "function") {
|
---|
| 55 | return false;
|
---|
| 56 | }
|
---|
| 57 | return typeof val.nodeType === "number" && typeof val.nodeName === "string";
|
---|
| 58 | }
|
---|
| 59 | module.exports = isNode;
|
---|
| 60 | }
|
---|
| 61 | });
|
---|
| 62 |
|
---|
| 63 | // src/styles/themes/index.tsx
|
---|
| 64 | var themes_exports = {};
|
---|
| 65 | __export(themes_exports, {
|
---|
| 66 | chromeDark: () => theme,
|
---|
| 67 | chromeLight: () => theme2
|
---|
| 68 | });
|
---|
| 69 |
|
---|
| 70 | // src/styles/themes/chromeDark.tsx
|
---|
| 71 | var theme = {
|
---|
| 72 | BASE_FONT_FAMILY: "Menlo, monospace",
|
---|
| 73 | BASE_FONT_SIZE: "11px",
|
---|
| 74 | BASE_LINE_HEIGHT: 1.2,
|
---|
| 75 | BASE_BACKGROUND_COLOR: "rgb(36, 36, 36)",
|
---|
| 76 | BASE_COLOR: "rgb(213, 213, 213)",
|
---|
| 77 | OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,
|
---|
| 78 | OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,
|
---|
| 79 | OBJECT_NAME_COLOR: "rgb(227, 110, 236)",
|
---|
| 80 | OBJECT_VALUE_NULL_COLOR: "rgb(127, 127, 127)",
|
---|
| 81 | OBJECT_VALUE_UNDEFINED_COLOR: "rgb(127, 127, 127)",
|
---|
| 82 | OBJECT_VALUE_REGEXP_COLOR: "rgb(233, 63, 59)",
|
---|
| 83 | OBJECT_VALUE_STRING_COLOR: "rgb(233, 63, 59)",
|
---|
| 84 | OBJECT_VALUE_SYMBOL_COLOR: "rgb(233, 63, 59)",
|
---|
| 85 | OBJECT_VALUE_NUMBER_COLOR: "hsl(252, 100%, 75%)",
|
---|
| 86 | OBJECT_VALUE_BOOLEAN_COLOR: "hsl(252, 100%, 75%)",
|
---|
| 87 | OBJECT_VALUE_FUNCTION_PREFIX_COLOR: "rgb(85, 106, 242)",
|
---|
| 88 | HTML_TAG_COLOR: "rgb(93, 176, 215)",
|
---|
| 89 | HTML_TAGNAME_COLOR: "rgb(93, 176, 215)",
|
---|
| 90 | HTML_TAGNAME_TEXT_TRANSFORM: "lowercase",
|
---|
| 91 | HTML_ATTRIBUTE_NAME_COLOR: "rgb(155, 187, 220)",
|
---|
| 92 | HTML_ATTRIBUTE_VALUE_COLOR: "rgb(242, 151, 102)",
|
---|
| 93 | HTML_COMMENT_COLOR: "rgb(137, 137, 137)",
|
---|
| 94 | HTML_DOCTYPE_COLOR: "rgb(192, 192, 192)",
|
---|
| 95 | ARROW_COLOR: "rgb(145, 145, 145)",
|
---|
| 96 | ARROW_MARGIN_RIGHT: 3,
|
---|
| 97 | ARROW_FONT_SIZE: 12,
|
---|
| 98 | ARROW_ANIMATION_DURATION: "0",
|
---|
| 99 | TREENODE_FONT_FAMILY: "Menlo, monospace",
|
---|
| 100 | TREENODE_FONT_SIZE: "11px",
|
---|
| 101 | TREENODE_LINE_HEIGHT: 1.2,
|
---|
| 102 | TREENODE_PADDING_LEFT: 12,
|
---|
| 103 | TABLE_BORDER_COLOR: "rgb(85, 85, 85)",
|
---|
| 104 | TABLE_TH_BACKGROUND_COLOR: "rgb(44, 44, 44)",
|
---|
| 105 | TABLE_TH_HOVER_COLOR: "rgb(48, 48, 48)",
|
---|
| 106 | TABLE_SORT_ICON_COLOR: "black",
|
---|
| 107 | TABLE_DATA_BACKGROUND_IMAGE: "linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(51, 139, 255, 0.0980392) 50%, rgba(51, 139, 255, 0.0980392))",
|
---|
| 108 | TABLE_DATA_BACKGROUND_SIZE: "128px 32px"
|
---|
| 109 | };
|
---|
| 110 |
|
---|
| 111 | // src/styles/themes/chromeLight.tsx
|
---|
| 112 | var theme2 = {
|
---|
| 113 | BASE_FONT_FAMILY: "Menlo, monospace",
|
---|
| 114 | BASE_FONT_SIZE: "11px",
|
---|
| 115 | BASE_LINE_HEIGHT: 1.2,
|
---|
| 116 | BASE_BACKGROUND_COLOR: "white",
|
---|
| 117 | BASE_COLOR: "black",
|
---|
| 118 | OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,
|
---|
| 119 | OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,
|
---|
| 120 | OBJECT_NAME_COLOR: "rgb(136, 19, 145)",
|
---|
| 121 | OBJECT_VALUE_NULL_COLOR: "rgb(128, 128, 128)",
|
---|
| 122 | OBJECT_VALUE_UNDEFINED_COLOR: "rgb(128, 128, 128)",
|
---|
| 123 | OBJECT_VALUE_REGEXP_COLOR: "rgb(196, 26, 22)",
|
---|
| 124 | OBJECT_VALUE_STRING_COLOR: "rgb(196, 26, 22)",
|
---|
| 125 | OBJECT_VALUE_SYMBOL_COLOR: "rgb(196, 26, 22)",
|
---|
| 126 | OBJECT_VALUE_NUMBER_COLOR: "rgb(28, 0, 207)",
|
---|
| 127 | OBJECT_VALUE_BOOLEAN_COLOR: "rgb(28, 0, 207)",
|
---|
| 128 | OBJECT_VALUE_FUNCTION_PREFIX_COLOR: "rgb(13, 34, 170)",
|
---|
| 129 | HTML_TAG_COLOR: "rgb(168, 148, 166)",
|
---|
| 130 | HTML_TAGNAME_COLOR: "rgb(136, 18, 128)",
|
---|
| 131 | HTML_TAGNAME_TEXT_TRANSFORM: "lowercase",
|
---|
| 132 | HTML_ATTRIBUTE_NAME_COLOR: "rgb(153, 69, 0)",
|
---|
| 133 | HTML_ATTRIBUTE_VALUE_COLOR: "rgb(26, 26, 166)",
|
---|
| 134 | HTML_COMMENT_COLOR: "rgb(35, 110, 37)",
|
---|
| 135 | HTML_DOCTYPE_COLOR: "rgb(192, 192, 192)",
|
---|
| 136 | ARROW_COLOR: "#6e6e6e",
|
---|
| 137 | ARROW_MARGIN_RIGHT: 3,
|
---|
| 138 | ARROW_FONT_SIZE: 12,
|
---|
| 139 | ARROW_ANIMATION_DURATION: "0",
|
---|
| 140 | TREENODE_FONT_FAMILY: "Menlo, monospace",
|
---|
| 141 | TREENODE_FONT_SIZE: "11px",
|
---|
| 142 | TREENODE_LINE_HEIGHT: 1.2,
|
---|
| 143 | TREENODE_PADDING_LEFT: 12,
|
---|
| 144 | TABLE_BORDER_COLOR: "#aaa",
|
---|
| 145 | TABLE_TH_BACKGROUND_COLOR: "#eee",
|
---|
| 146 | TABLE_TH_HOVER_COLOR: "hsla(0, 0%, 90%, 1)",
|
---|
| 147 | TABLE_SORT_ICON_COLOR: "#6e6e6e",
|
---|
| 148 | TABLE_DATA_BACKGROUND_IMAGE: "linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))",
|
---|
| 149 | TABLE_DATA_BACKGROUND_SIZE: "128px 32px"
|
---|
| 150 | };
|
---|
| 151 |
|
---|
| 152 | // src/object-inspector/ObjectInspector.tsx
|
---|
| 153 | import React9 from "react";
|
---|
| 154 |
|
---|
| 155 | // src/tree-view/TreeView.tsx
|
---|
| 156 | import React3, { useContext as useContext2, useCallback, useLayoutEffect, useState, memo as memo2 } from "react";
|
---|
| 157 |
|
---|
| 158 | // src/tree-view/ExpandedPathsContext.tsx
|
---|
| 159 | import { createContext } from "react";
|
---|
| 160 | var ExpandedPathsContext = createContext([{}, () => {
|
---|
| 161 | }]);
|
---|
| 162 |
|
---|
| 163 | // src/tree-view/TreeNode.tsx
|
---|
| 164 | import React2, { Children, memo } from "react";
|
---|
| 165 |
|
---|
| 166 | // src/styles/styles.tsx
|
---|
| 167 | import React, { createContext as createContext2, useContext, useMemo } from "react";
|
---|
| 168 |
|
---|
| 169 | // src/styles/unselectable.tsx
|
---|
| 170 | var unselectable = {
|
---|
| 171 | WebkitTouchCallout: "none",
|
---|
| 172 | WebkitUserSelect: "none",
|
---|
| 173 | KhtmlUserSelect: "none",
|
---|
| 174 | MozUserSelect: "none",
|
---|
| 175 | msUserSelect: "none",
|
---|
| 176 | OUserSelect: "none",
|
---|
| 177 | userSelect: "none"
|
---|
| 178 | };
|
---|
| 179 |
|
---|
| 180 | // src/styles/base.tsx
|
---|
| 181 | var createTheme = (theme3) => ({
|
---|
| 182 | DOMNodePreview: {
|
---|
| 183 | htmlOpenTag: {
|
---|
| 184 | base: {
|
---|
| 185 | color: theme3.HTML_TAG_COLOR
|
---|
| 186 | },
|
---|
| 187 | tagName: {
|
---|
| 188 | color: theme3.HTML_TAGNAME_COLOR,
|
---|
| 189 | textTransform: theme3.HTML_TAGNAME_TEXT_TRANSFORM
|
---|
| 190 | },
|
---|
| 191 | htmlAttributeName: {
|
---|
| 192 | color: theme3.HTML_ATTRIBUTE_NAME_COLOR
|
---|
| 193 | },
|
---|
| 194 | htmlAttributeValue: {
|
---|
| 195 | color: theme3.HTML_ATTRIBUTE_VALUE_COLOR
|
---|
| 196 | }
|
---|
| 197 | },
|
---|
| 198 | htmlCloseTag: {
|
---|
| 199 | base: {
|
---|
| 200 | color: theme3.HTML_TAG_COLOR
|
---|
| 201 | },
|
---|
| 202 | offsetLeft: {
|
---|
| 203 | marginLeft: -theme3.TREENODE_PADDING_LEFT
|
---|
| 204 | },
|
---|
| 205 | tagName: {
|
---|
| 206 | color: theme3.HTML_TAGNAME_COLOR,
|
---|
| 207 | textTransform: theme3.HTML_TAGNAME_TEXT_TRANSFORM
|
---|
| 208 | }
|
---|
| 209 | },
|
---|
| 210 | htmlComment: {
|
---|
| 211 | color: theme3.HTML_COMMENT_COLOR
|
---|
| 212 | },
|
---|
| 213 | htmlDoctype: {
|
---|
| 214 | color: theme3.HTML_DOCTYPE_COLOR
|
---|
| 215 | }
|
---|
| 216 | },
|
---|
| 217 | ObjectPreview: {
|
---|
| 218 | objectDescription: {
|
---|
| 219 | fontStyle: "italic"
|
---|
| 220 | },
|
---|
| 221 | preview: {
|
---|
| 222 | fontStyle: "italic"
|
---|
| 223 | },
|
---|
| 224 | arrayMaxProperties: theme3.OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES,
|
---|
| 225 | objectMaxProperties: theme3.OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES
|
---|
| 226 | },
|
---|
| 227 | ObjectName: {
|
---|
| 228 | base: {
|
---|
| 229 | color: theme3.OBJECT_NAME_COLOR
|
---|
| 230 | },
|
---|
| 231 | dimmed: {
|
---|
| 232 | opacity: 0.6
|
---|
| 233 | }
|
---|
| 234 | },
|
---|
| 235 | ObjectValue: {
|
---|
| 236 | objectValueNull: {
|
---|
| 237 | color: theme3.OBJECT_VALUE_NULL_COLOR
|
---|
| 238 | },
|
---|
| 239 | objectValueUndefined: {
|
---|
| 240 | color: theme3.OBJECT_VALUE_UNDEFINED_COLOR
|
---|
| 241 | },
|
---|
| 242 | objectValueRegExp: {
|
---|
| 243 | color: theme3.OBJECT_VALUE_REGEXP_COLOR
|
---|
| 244 | },
|
---|
| 245 | objectValueString: {
|
---|
| 246 | color: theme3.OBJECT_VALUE_STRING_COLOR
|
---|
| 247 | },
|
---|
| 248 | objectValueSymbol: {
|
---|
| 249 | color: theme3.OBJECT_VALUE_SYMBOL_COLOR
|
---|
| 250 | },
|
---|
| 251 | objectValueNumber: {
|
---|
| 252 | color: theme3.OBJECT_VALUE_NUMBER_COLOR
|
---|
| 253 | },
|
---|
| 254 | objectValueBoolean: {
|
---|
| 255 | color: theme3.OBJECT_VALUE_BOOLEAN_COLOR
|
---|
| 256 | },
|
---|
| 257 | objectValueFunctionPrefix: {
|
---|
| 258 | color: theme3.OBJECT_VALUE_FUNCTION_PREFIX_COLOR,
|
---|
| 259 | fontStyle: "italic"
|
---|
| 260 | },
|
---|
| 261 | objectValueFunctionName: {
|
---|
| 262 | fontStyle: "italic"
|
---|
| 263 | }
|
---|
| 264 | },
|
---|
| 265 | TreeView: {
|
---|
| 266 | treeViewOutline: {
|
---|
| 267 | padding: 0,
|
---|
| 268 | margin: 0,
|
---|
| 269 | listStyleType: "none"
|
---|
| 270 | }
|
---|
| 271 | },
|
---|
| 272 | TreeNode: {
|
---|
| 273 | treeNodeBase: {
|
---|
| 274 | color: theme3.BASE_COLOR,
|
---|
| 275 | backgroundColor: theme3.BASE_BACKGROUND_COLOR,
|
---|
| 276 | lineHeight: theme3.TREENODE_LINE_HEIGHT,
|
---|
| 277 | cursor: "default",
|
---|
| 278 | boxSizing: "border-box",
|
---|
| 279 | listStyle: "none",
|
---|
| 280 | fontFamily: theme3.TREENODE_FONT_FAMILY,
|
---|
| 281 | fontSize: theme3.TREENODE_FONT_SIZE
|
---|
| 282 | },
|
---|
| 283 | treeNodePreviewContainer: {},
|
---|
| 284 | treeNodePlaceholder: {
|
---|
| 285 | whiteSpace: "pre",
|
---|
| 286 | fontSize: theme3.ARROW_FONT_SIZE,
|
---|
| 287 | marginRight: theme3.ARROW_MARGIN_RIGHT,
|
---|
| 288 | ...unselectable
|
---|
| 289 | },
|
---|
| 290 | treeNodeArrow: {
|
---|
| 291 | base: {
|
---|
| 292 | color: theme3.ARROW_COLOR,
|
---|
| 293 | display: "inline-block",
|
---|
| 294 | fontSize: theme3.ARROW_FONT_SIZE,
|
---|
| 295 | marginRight: theme3.ARROW_MARGIN_RIGHT,
|
---|
| 296 | ...parseFloat(theme3.ARROW_ANIMATION_DURATION) > 0 ? {
|
---|
| 297 | transition: `transform ${theme3.ARROW_ANIMATION_DURATION} ease 0s`
|
---|
| 298 | } : {},
|
---|
| 299 | ...unselectable
|
---|
| 300 | },
|
---|
| 301 | expanded: {
|
---|
| 302 | WebkitTransform: "rotateZ(90deg)",
|
---|
| 303 | MozTransform: "rotateZ(90deg)",
|
---|
| 304 | transform: "rotateZ(90deg)"
|
---|
| 305 | },
|
---|
| 306 | collapsed: {
|
---|
| 307 | WebkitTransform: "rotateZ(0deg)",
|
---|
| 308 | MozTransform: "rotateZ(0deg)",
|
---|
| 309 | transform: "rotateZ(0deg)"
|
---|
| 310 | }
|
---|
| 311 | },
|
---|
| 312 | treeNodeChildNodesContainer: {
|
---|
| 313 | margin: 0,
|
---|
| 314 | paddingLeft: theme3.TREENODE_PADDING_LEFT
|
---|
| 315 | }
|
---|
| 316 | },
|
---|
| 317 | TableInspector: {
|
---|
| 318 | base: {
|
---|
| 319 | color: theme3.BASE_COLOR,
|
---|
| 320 | position: "relative",
|
---|
| 321 | border: `1px solid ${theme3.TABLE_BORDER_COLOR}`,
|
---|
| 322 | fontFamily: theme3.BASE_FONT_FAMILY,
|
---|
| 323 | fontSize: theme3.BASE_FONT_SIZE,
|
---|
| 324 | lineHeight: "120%",
|
---|
| 325 | boxSizing: "border-box",
|
---|
| 326 | cursor: "default"
|
---|
| 327 | }
|
---|
| 328 | },
|
---|
| 329 | TableInspectorHeaderContainer: {
|
---|
| 330 | base: {
|
---|
| 331 | top: 0,
|
---|
| 332 | height: "17px",
|
---|
| 333 | left: 0,
|
---|
| 334 | right: 0,
|
---|
| 335 | overflowX: "hidden"
|
---|
| 336 | },
|
---|
| 337 | table: {
|
---|
| 338 | tableLayout: "fixed",
|
---|
| 339 | borderSpacing: 0,
|
---|
| 340 | borderCollapse: "separate",
|
---|
| 341 | height: "100%",
|
---|
| 342 | width: "100%",
|
---|
| 343 | margin: 0
|
---|
| 344 | }
|
---|
| 345 | },
|
---|
| 346 | TableInspectorDataContainer: {
|
---|
| 347 | tr: {
|
---|
| 348 | display: "table-row"
|
---|
| 349 | },
|
---|
| 350 | td: {
|
---|
| 351 | boxSizing: "border-box",
|
---|
| 352 | border: "none",
|
---|
| 353 | height: "16px",
|
---|
| 354 | verticalAlign: "top",
|
---|
| 355 | padding: "1px 4px",
|
---|
| 356 | WebkitUserSelect: "text",
|
---|
| 357 | whiteSpace: "nowrap",
|
---|
| 358 | textOverflow: "ellipsis",
|
---|
| 359 | overflow: "hidden",
|
---|
| 360 | lineHeight: "14px"
|
---|
| 361 | },
|
---|
| 362 | div: {
|
---|
| 363 | position: "static",
|
---|
| 364 | top: "17px",
|
---|
| 365 | bottom: 0,
|
---|
| 366 | overflowY: "overlay",
|
---|
| 367 | transform: "translateZ(0)",
|
---|
| 368 | left: 0,
|
---|
| 369 | right: 0,
|
---|
| 370 | overflowX: "hidden"
|
---|
| 371 | },
|
---|
| 372 | table: {
|
---|
| 373 | positon: "static",
|
---|
| 374 | left: 0,
|
---|
| 375 | top: 0,
|
---|
| 376 | right: 0,
|
---|
| 377 | bottom: 0,
|
---|
| 378 | borderTop: "0 none transparent",
|
---|
| 379 | margin: 0,
|
---|
| 380 | backgroundImage: theme3.TABLE_DATA_BACKGROUND_IMAGE,
|
---|
| 381 | backgroundSize: theme3.TABLE_DATA_BACKGROUND_SIZE,
|
---|
| 382 | tableLayout: "fixed",
|
---|
| 383 | borderSpacing: 0,
|
---|
| 384 | borderCollapse: "separate",
|
---|
| 385 | width: "100%",
|
---|
| 386 | fontSize: theme3.BASE_FONT_SIZE,
|
---|
| 387 | lineHeight: "120%"
|
---|
| 388 | }
|
---|
| 389 | },
|
---|
| 390 | TableInspectorTH: {
|
---|
| 391 | base: {
|
---|
| 392 | position: "relative",
|
---|
| 393 | height: "auto",
|
---|
| 394 | textAlign: "left",
|
---|
| 395 | backgroundColor: theme3.TABLE_TH_BACKGROUND_COLOR,
|
---|
| 396 | borderBottom: `1px solid ${theme3.TABLE_BORDER_COLOR}`,
|
---|
| 397 | fontWeight: "normal",
|
---|
| 398 | verticalAlign: "middle",
|
---|
| 399 | padding: "0 4px",
|
---|
| 400 | whiteSpace: "nowrap",
|
---|
| 401 | textOverflow: "ellipsis",
|
---|
| 402 | overflow: "hidden",
|
---|
| 403 | lineHeight: "14px",
|
---|
| 404 | ":hover": {
|
---|
| 405 | backgroundColor: theme3.TABLE_TH_HOVER_COLOR
|
---|
| 406 | }
|
---|
| 407 | },
|
---|
| 408 | div: {
|
---|
| 409 | whiteSpace: "nowrap",
|
---|
| 410 | textOverflow: "ellipsis",
|
---|
| 411 | overflow: "hidden",
|
---|
| 412 | fontSize: theme3.BASE_FONT_SIZE,
|
---|
| 413 | lineHeight: "120%"
|
---|
| 414 | }
|
---|
| 415 | },
|
---|
| 416 | TableInspectorLeftBorder: {
|
---|
| 417 | none: {
|
---|
| 418 | borderLeft: "none"
|
---|
| 419 | },
|
---|
| 420 | solid: {
|
---|
| 421 | borderLeft: `1px solid ${theme3.TABLE_BORDER_COLOR}`
|
---|
| 422 | }
|
---|
| 423 | },
|
---|
| 424 | TableInspectorSortIcon: {
|
---|
| 425 | display: "block",
|
---|
| 426 | marginRight: 3,
|
---|
| 427 | width: 8,
|
---|
| 428 | height: 7,
|
---|
| 429 | marginTop: -7,
|
---|
| 430 | color: theme3.TABLE_SORT_ICON_COLOR,
|
---|
| 431 | fontSize: 12,
|
---|
| 432 | ...unselectable
|
---|
| 433 | }
|
---|
| 434 | });
|
---|
| 435 |
|
---|
| 436 | // src/styles/styles.tsx
|
---|
| 437 | var DEFAULT_THEME_NAME = "chromeLight";
|
---|
| 438 | var ThemeContext = createContext2(createTheme(themes_exports[DEFAULT_THEME_NAME]));
|
---|
| 439 | var useStyles = (baseStylesKey) => {
|
---|
| 440 | const themeStyles = useContext(ThemeContext);
|
---|
| 441 | return themeStyles[baseStylesKey];
|
---|
| 442 | };
|
---|
| 443 | var themeAcceptor = (WrappedComponent) => {
|
---|
| 444 | const ThemeAcceptor = ({ theme: theme3 = DEFAULT_THEME_NAME, ...restProps }) => {
|
---|
| 445 | const themeStyles = useMemo(() => {
|
---|
| 446 | switch (Object.prototype.toString.call(theme3)) {
|
---|
| 447 | case "[object String]":
|
---|
| 448 | return createTheme(themes_exports[theme3]);
|
---|
| 449 | case "[object Object]":
|
---|
| 450 | return createTheme(theme3);
|
---|
| 451 | default:
|
---|
| 452 | return createTheme(themes_exports[DEFAULT_THEME_NAME]);
|
---|
| 453 | }
|
---|
| 454 | }, [theme3]);
|
---|
| 455 | return /* @__PURE__ */ React.createElement(ThemeContext.Provider, {
|
---|
| 456 | value: themeStyles
|
---|
| 457 | }, /* @__PURE__ */ React.createElement(WrappedComponent, {
|
---|
| 458 | ...restProps
|
---|
| 459 | }));
|
---|
| 460 | };
|
---|
| 461 | return ThemeAcceptor;
|
---|
| 462 | };
|
---|
| 463 |
|
---|
| 464 | // src/tree-view/TreeNode.tsx
|
---|
| 465 | var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React2.createElement("span", {
|
---|
| 466 | style: {
|
---|
| 467 | ...styles.base,
|
---|
| 468 | ...expanded ? styles.expanded : styles.collapsed
|
---|
| 469 | }
|
---|
| 470 | }, "\u25B6");
|
---|
| 471 | var TreeNode = memo((props) => {
|
---|
| 472 | props = {
|
---|
| 473 | expanded: true,
|
---|
| 474 | nodeRenderer: ({ name }) => /* @__PURE__ */ React2.createElement("span", null, name),
|
---|
| 475 | onClick: () => {
|
---|
| 476 | },
|
---|
| 477 | shouldShowArrow: false,
|
---|
| 478 | shouldShowPlaceholder: true,
|
---|
| 479 | ...props
|
---|
| 480 | };
|
---|
| 481 | const { expanded, onClick, children, nodeRenderer, title, shouldShowArrow, shouldShowPlaceholder } = props;
|
---|
| 482 | const styles = useStyles("TreeNode");
|
---|
| 483 | const NodeRenderer = nodeRenderer;
|
---|
| 484 | return /* @__PURE__ */ React2.createElement("li", {
|
---|
| 485 | "aria-expanded": expanded,
|
---|
| 486 | role: "treeitem",
|
---|
| 487 | style: styles.treeNodeBase,
|
---|
| 488 | title
|
---|
| 489 | }, /* @__PURE__ */ React2.createElement("div", {
|
---|
| 490 | style: styles.treeNodePreviewContainer,
|
---|
| 491 | onClick
|
---|
| 492 | }, shouldShowArrow || Children.count(children) > 0 ? /* @__PURE__ */ React2.createElement(Arrow, {
|
---|
| 493 | expanded,
|
---|
| 494 | styles: styles.treeNodeArrow
|
---|
| 495 | }) : shouldShowPlaceholder && /* @__PURE__ */ React2.createElement("span", {
|
---|
| 496 | style: styles.treeNodePlaceholder
|
---|
| 497 | }, "\xA0"), /* @__PURE__ */ React2.createElement(NodeRenderer, {
|
---|
| 498 | ...props
|
---|
| 499 | })), /* @__PURE__ */ React2.createElement("ol", {
|
---|
| 500 | role: "group",
|
---|
| 501 | style: styles.treeNodeChildNodesContainer
|
---|
| 502 | }, expanded ? children : void 0));
|
---|
| 503 | });
|
---|
| 504 |
|
---|
| 505 | // src/tree-view/pathUtils.ts
|
---|
| 506 | var DEFAULT_ROOT_PATH = "$";
|
---|
| 507 | var WILDCARD = "*";
|
---|
| 508 | function hasChildNodes(data, dataIterator) {
|
---|
| 509 | return !dataIterator(data).next().done;
|
---|
| 510 | }
|
---|
| 511 | var wildcardPathsFromLevel = (level) => {
|
---|
| 512 | return Array.from({ length: level }, (_, i) => [DEFAULT_ROOT_PATH].concat(Array.from({ length: i }, () => "*")).join("."));
|
---|
| 513 | };
|
---|
| 514 | var getExpandedPaths = (data, dataIterator, expandPaths, expandLevel, prevExpandedPaths) => {
|
---|
| 515 | const wildcardPaths = [].concat(wildcardPathsFromLevel(expandLevel)).concat(expandPaths).filter((path) => typeof path === "string");
|
---|
| 516 | const expandedPaths = [];
|
---|
| 517 | wildcardPaths.forEach((wildcardPath) => {
|
---|
| 518 | const keyPaths = wildcardPath.split(".");
|
---|
| 519 | const populatePaths = (curData, curPath, depth) => {
|
---|
| 520 | if (depth === keyPaths.length) {
|
---|
| 521 | expandedPaths.push(curPath);
|
---|
| 522 | return;
|
---|
| 523 | }
|
---|
| 524 | const key = keyPaths[depth];
|
---|
| 525 | if (depth === 0) {
|
---|
| 526 | if (hasChildNodes(curData, dataIterator) && (key === DEFAULT_ROOT_PATH || key === WILDCARD)) {
|
---|
| 527 | populatePaths(curData, DEFAULT_ROOT_PATH, depth + 1);
|
---|
| 528 | }
|
---|
| 529 | } else {
|
---|
| 530 | if (key === WILDCARD) {
|
---|
| 531 | for (const { name, data: data2 } of dataIterator(curData)) {
|
---|
| 532 | if (hasChildNodes(data2, dataIterator)) {
|
---|
| 533 | populatePaths(data2, `${curPath}.${name}`, depth + 1);
|
---|
| 534 | }
|
---|
| 535 | }
|
---|
| 536 | } else {
|
---|
| 537 | const value = curData[key];
|
---|
| 538 | if (hasChildNodes(value, dataIterator)) {
|
---|
| 539 | populatePaths(value, `${curPath}.${key}`, depth + 1);
|
---|
| 540 | }
|
---|
| 541 | }
|
---|
| 542 | }
|
---|
| 543 | };
|
---|
| 544 | populatePaths(data, "", 0);
|
---|
| 545 | });
|
---|
| 546 | return expandedPaths.reduce((obj, path) => {
|
---|
| 547 | obj[path] = true;
|
---|
| 548 | return obj;
|
---|
| 549 | }, { ...prevExpandedPaths });
|
---|
| 550 | };
|
---|
| 551 |
|
---|
| 552 | // src/tree-view/TreeView.tsx
|
---|
| 553 | var ConnectedTreeNode = memo2((props) => {
|
---|
| 554 | const { data, dataIterator, path, depth, nodeRenderer } = props;
|
---|
| 555 | const [expandedPaths, setExpandedPaths] = useContext2(ExpandedPathsContext);
|
---|
| 556 | const nodeHasChildNodes = hasChildNodes(data, dataIterator);
|
---|
| 557 | const expanded = !!expandedPaths[path];
|
---|
| 558 | const handleClick = useCallback(() => nodeHasChildNodes && setExpandedPaths((prevExpandedPaths) => ({
|
---|
| 559 | ...prevExpandedPaths,
|
---|
| 560 | [path]: !expanded
|
---|
| 561 | })), [nodeHasChildNodes, setExpandedPaths, path, expanded]);
|
---|
| 562 | return /* @__PURE__ */ React3.createElement(TreeNode, {
|
---|
| 563 | expanded,
|
---|
| 564 | onClick: handleClick,
|
---|
| 565 | shouldShowArrow: nodeHasChildNodes,
|
---|
| 566 | shouldShowPlaceholder: depth > 0,
|
---|
| 567 | nodeRenderer,
|
---|
| 568 | ...props
|
---|
| 569 | }, expanded ? [...dataIterator(data)].map(({ name, data: data2, ...renderNodeProps }) => {
|
---|
| 570 | return /* @__PURE__ */ React3.createElement(ConnectedTreeNode, {
|
---|
| 571 | name,
|
---|
| 572 | data: data2,
|
---|
| 573 | depth: depth + 1,
|
---|
| 574 | path: `${path}.${name}`,
|
---|
| 575 | key: name,
|
---|
| 576 | dataIterator,
|
---|
| 577 | nodeRenderer,
|
---|
| 578 | ...renderNodeProps
|
---|
| 579 | });
|
---|
| 580 | }) : null);
|
---|
| 581 | });
|
---|
| 582 | var TreeView = memo2(({ name, data, dataIterator, nodeRenderer, expandPaths, expandLevel }) => {
|
---|
| 583 | const styles = useStyles("TreeView");
|
---|
| 584 | const stateAndSetter = useState({});
|
---|
| 585 | const [, setExpandedPaths] = stateAndSetter;
|
---|
| 586 | useLayoutEffect(() => setExpandedPaths((prevExpandedPaths) => getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)), [data, dataIterator, expandPaths, expandLevel]);
|
---|
| 587 | return /* @__PURE__ */ React3.createElement(ExpandedPathsContext.Provider, {
|
---|
| 588 | value: stateAndSetter
|
---|
| 589 | }, /* @__PURE__ */ React3.createElement("ol", {
|
---|
| 590 | role: "tree",
|
---|
| 591 | style: styles.treeViewOutline
|
---|
| 592 | }, /* @__PURE__ */ React3.createElement(ConnectedTreeNode, {
|
---|
| 593 | name,
|
---|
| 594 | data,
|
---|
| 595 | dataIterator,
|
---|
| 596 | depth: 0,
|
---|
| 597 | path: DEFAULT_ROOT_PATH,
|
---|
| 598 | nodeRenderer
|
---|
| 599 | })));
|
---|
| 600 | });
|
---|
| 601 |
|
---|
| 602 | // src/object-inspector/ObjectRootLabel.tsx
|
---|
| 603 | import React7 from "react";
|
---|
| 604 |
|
---|
| 605 | // src/object/ObjectName.tsx
|
---|
| 606 | import React4 from "react";
|
---|
| 607 | var ObjectName = ({ name, dimmed = false, styles = {} }) => {
|
---|
| 608 | const themeStyles = useStyles("ObjectName");
|
---|
| 609 | const appliedStyles = {
|
---|
| 610 | ...themeStyles.base,
|
---|
| 611 | ...dimmed ? themeStyles["dimmed"] : {},
|
---|
| 612 | ...styles
|
---|
| 613 | };
|
---|
| 614 | return /* @__PURE__ */ React4.createElement("span", {
|
---|
| 615 | style: appliedStyles
|
---|
| 616 | }, name);
|
---|
| 617 | };
|
---|
| 618 |
|
---|
| 619 | // src/object-inspector/ObjectPreview.tsx
|
---|
| 620 | import React6 from "react";
|
---|
| 621 |
|
---|
| 622 | // src/object/ObjectValue.tsx
|
---|
| 623 | import React5 from "react";
|
---|
| 624 | var ObjectValue = ({ object, styles }) => {
|
---|
| 625 | const themeStyles = useStyles("ObjectValue");
|
---|
| 626 | const mkStyle = (key) => ({ ...themeStyles[key], ...styles });
|
---|
| 627 | switch (typeof object) {
|
---|
| 628 | case "bigint":
|
---|
| 629 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 630 | style: mkStyle("objectValueNumber")
|
---|
| 631 | }, String(object), "n");
|
---|
| 632 | case "number":
|
---|
| 633 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 634 | style: mkStyle("objectValueNumber")
|
---|
| 635 | }, String(object));
|
---|
| 636 | case "string":
|
---|
| 637 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 638 | style: mkStyle("objectValueString")
|
---|
| 639 | }, '"', object, '"');
|
---|
| 640 | case "boolean":
|
---|
| 641 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 642 | style: mkStyle("objectValueBoolean")
|
---|
| 643 | }, String(object));
|
---|
| 644 | case "undefined":
|
---|
| 645 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 646 | style: mkStyle("objectValueUndefined")
|
---|
| 647 | }, "undefined");
|
---|
| 648 | case "object":
|
---|
| 649 | if (object === null) {
|
---|
| 650 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 651 | style: mkStyle("objectValueNull")
|
---|
| 652 | }, "null");
|
---|
| 653 | }
|
---|
| 654 | if (object instanceof Date) {
|
---|
| 655 | return /* @__PURE__ */ React5.createElement("span", null, object.toString());
|
---|
| 656 | }
|
---|
| 657 | if (object instanceof RegExp) {
|
---|
| 658 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 659 | style: mkStyle("objectValueRegExp")
|
---|
| 660 | }, object.toString());
|
---|
| 661 | }
|
---|
| 662 | if (Array.isArray(object)) {
|
---|
| 663 | return /* @__PURE__ */ React5.createElement("span", null, `Array(${object.length})`);
|
---|
| 664 | }
|
---|
| 665 | if (!object.constructor) {
|
---|
| 666 | return /* @__PURE__ */ React5.createElement("span", null, "Object");
|
---|
| 667 | }
|
---|
| 668 | if (typeof object.constructor.isBuffer === "function" && object.constructor.isBuffer(object)) {
|
---|
| 669 | return /* @__PURE__ */ React5.createElement("span", null, `Buffer[${object.length}]`);
|
---|
| 670 | }
|
---|
| 671 | return /* @__PURE__ */ React5.createElement("span", null, object.constructor.name);
|
---|
| 672 | case "function":
|
---|
| 673 | return /* @__PURE__ */ React5.createElement("span", null, /* @__PURE__ */ React5.createElement("span", {
|
---|
| 674 | style: mkStyle("objectValueFunctionPrefix")
|
---|
| 675 | }, "\u0192\xA0"), /* @__PURE__ */ React5.createElement("span", {
|
---|
| 676 | style: mkStyle("objectValueFunctionName")
|
---|
| 677 | }, object.name, "()"));
|
---|
| 678 | case "symbol":
|
---|
| 679 | return /* @__PURE__ */ React5.createElement("span", {
|
---|
| 680 | style: mkStyle("objectValueSymbol")
|
---|
| 681 | }, object.toString());
|
---|
| 682 | default:
|
---|
| 683 | return /* @__PURE__ */ React5.createElement("span", null);
|
---|
| 684 | }
|
---|
| 685 | };
|
---|
| 686 |
|
---|
| 687 | // src/utils/objectPrototype.tsx
|
---|
| 688 | var hasOwnProperty = Object.prototype.hasOwnProperty;
|
---|
| 689 | var propertyIsEnumerable = Object.prototype.propertyIsEnumerable;
|
---|
| 690 |
|
---|
| 691 | // src/utils/propertyUtils.tsx
|
---|
| 692 | function getPropertyValue(object, propertyName) {
|
---|
| 693 | const propertyDescriptor = Object.getOwnPropertyDescriptor(object, propertyName);
|
---|
| 694 | if (propertyDescriptor.get) {
|
---|
| 695 | try {
|
---|
| 696 | return propertyDescriptor.get();
|
---|
| 697 | } catch {
|
---|
| 698 | return propertyDescriptor.get;
|
---|
| 699 | }
|
---|
| 700 | }
|
---|
| 701 | return object[propertyName];
|
---|
| 702 | }
|
---|
| 703 |
|
---|
| 704 | // src/object-inspector/ObjectPreview.tsx
|
---|
| 705 | function intersperse(arr, sep) {
|
---|
| 706 | if (arr.length === 0) {
|
---|
| 707 | return [];
|
---|
| 708 | }
|
---|
| 709 | return arr.slice(1).reduce((xs, x) => xs.concat([sep, x]), [arr[0]]);
|
---|
| 710 | }
|
---|
| 711 | var ObjectPreview = ({ data }) => {
|
---|
| 712 | const styles = useStyles("ObjectPreview");
|
---|
| 713 | const object = data;
|
---|
| 714 | if (typeof object !== "object" || object === null || object instanceof Date || object instanceof RegExp) {
|
---|
| 715 | return /* @__PURE__ */ React6.createElement(ObjectValue, {
|
---|
| 716 | object
|
---|
| 717 | });
|
---|
| 718 | }
|
---|
| 719 | if (Array.isArray(object)) {
|
---|
| 720 | const maxProperties = styles.arrayMaxProperties;
|
---|
| 721 | const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React6.createElement(ObjectValue, {
|
---|
| 722 | key: index,
|
---|
| 723 | object: element
|
---|
| 724 | }));
|
---|
| 725 | if (object.length > maxProperties) {
|
---|
| 726 | previewArray.push(/* @__PURE__ */ React6.createElement("span", {
|
---|
| 727 | key: "ellipsis"
|
---|
| 728 | }, "\u2026"));
|
---|
| 729 | }
|
---|
| 730 | const arrayLength = object.length;
|
---|
| 731 | return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement("span", {
|
---|
| 732 | style: styles.objectDescription
|
---|
| 733 | }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React6.createElement("span", {
|
---|
| 734 | style: styles.preview
|
---|
| 735 | }, "[", intersperse(previewArray, ", "), "]"));
|
---|
| 736 | } else {
|
---|
| 737 | const maxProperties = styles.objectMaxProperties;
|
---|
| 738 | const propertyNodes = [];
|
---|
| 739 | for (const propertyName in object) {
|
---|
| 740 | if (hasOwnProperty.call(object, propertyName)) {
|
---|
| 741 | let ellipsis;
|
---|
| 742 | if (propertyNodes.length === maxProperties - 1 && Object.keys(object).length > maxProperties) {
|
---|
| 743 | ellipsis = /* @__PURE__ */ React6.createElement("span", {
|
---|
| 744 | key: "ellipsis"
|
---|
| 745 | }, "\u2026");
|
---|
| 746 | }
|
---|
| 747 | const propertyValue = getPropertyValue(object, propertyName);
|
---|
| 748 | propertyNodes.push(/* @__PURE__ */ React6.createElement("span", {
|
---|
| 749 | key: propertyName
|
---|
| 750 | }, /* @__PURE__ */ React6.createElement(ObjectName, {
|
---|
| 751 | name: propertyName || `""`
|
---|
| 752 | }), ":\xA0", /* @__PURE__ */ React6.createElement(ObjectValue, {
|
---|
| 753 | object: propertyValue
|
---|
| 754 | }), ellipsis));
|
---|
| 755 | if (ellipsis)
|
---|
| 756 | break;
|
---|
| 757 | }
|
---|
| 758 | }
|
---|
| 759 | const objectConstructorName = object.constructor ? object.constructor.name : "Object";
|
---|
| 760 | return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement("span", {
|
---|
| 761 | style: styles.objectDescription
|
---|
| 762 | }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React6.createElement("span", {
|
---|
| 763 | style: styles.preview
|
---|
| 764 | }, "{", intersperse(propertyNodes, ", "), "}"));
|
---|
| 765 | }
|
---|
| 766 | };
|
---|
| 767 |
|
---|
| 768 | // src/object-inspector/ObjectRootLabel.tsx
|
---|
| 769 | var ObjectRootLabel = ({ name, data }) => {
|
---|
| 770 | if (typeof name === "string") {
|
---|
| 771 | return /* @__PURE__ */ React7.createElement("span", null, /* @__PURE__ */ React7.createElement(ObjectName, {
|
---|
| 772 | name
|
---|
| 773 | }), /* @__PURE__ */ React7.createElement("span", null, ": "), /* @__PURE__ */ React7.createElement(ObjectPreview, {
|
---|
| 774 | data
|
---|
| 775 | }));
|
---|
| 776 | } else {
|
---|
| 777 | return /* @__PURE__ */ React7.createElement(ObjectPreview, {
|
---|
| 778 | data
|
---|
| 779 | });
|
---|
| 780 | }
|
---|
| 781 | };
|
---|
| 782 |
|
---|
| 783 | // src/object-inspector/ObjectLabel.tsx
|
---|
| 784 | import React8 from "react";
|
---|
| 785 | var ObjectLabel = ({ name, data, isNonenumerable = false }) => {
|
---|
| 786 | const object = data;
|
---|
| 787 | return /* @__PURE__ */ React8.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React8.createElement(ObjectName, {
|
---|
| 788 | name,
|
---|
| 789 | dimmed: isNonenumerable
|
---|
| 790 | }) : /* @__PURE__ */ React8.createElement(ObjectPreview, {
|
---|
| 791 | data: name
|
---|
| 792 | }), /* @__PURE__ */ React8.createElement("span", null, ": "), /* @__PURE__ */ React8.createElement(ObjectValue, {
|
---|
| 793 | object
|
---|
| 794 | }));
|
---|
| 795 | };
|
---|
| 796 |
|
---|
| 797 | // src/object-inspector/ObjectInspector.tsx
|
---|
| 798 | var createIterator = (showNonenumerable, sortObjectKeys) => {
|
---|
| 799 | const objectIterator = function* (data) {
|
---|
| 800 | const shouldIterate = typeof data === "object" && data !== null || typeof data === "function";
|
---|
| 801 | if (!shouldIterate)
|
---|
| 802 | return;
|
---|
| 803 | const dataIsArray = Array.isArray(data);
|
---|
| 804 | if (!dataIsArray && data[Symbol.iterator]) {
|
---|
| 805 | let i = 0;
|
---|
| 806 | for (const entry of data) {
|
---|
| 807 | if (Array.isArray(entry) && entry.length === 2) {
|
---|
| 808 | const [k, v] = entry;
|
---|
| 809 | yield {
|
---|
| 810 | name: k,
|
---|
| 811 | data: v
|
---|
| 812 | };
|
---|
| 813 | } else {
|
---|
| 814 | yield {
|
---|
| 815 | name: i.toString(),
|
---|
| 816 | data: entry
|
---|
| 817 | };
|
---|
| 818 | }
|
---|
| 819 | i++;
|
---|
| 820 | }
|
---|
| 821 | } else {
|
---|
| 822 | const keys = Object.getOwnPropertyNames(data);
|
---|
| 823 | if (sortObjectKeys === true && !dataIsArray) {
|
---|
| 824 | keys.sort();
|
---|
| 825 | } else if (typeof sortObjectKeys === "function") {
|
---|
| 826 | keys.sort(sortObjectKeys);
|
---|
| 827 | }
|
---|
| 828 | for (const propertyName of keys) {
|
---|
| 829 | if (propertyIsEnumerable.call(data, propertyName)) {
|
---|
| 830 | const propertyValue = getPropertyValue(data, propertyName);
|
---|
| 831 | yield {
|
---|
| 832 | name: propertyName || `""`,
|
---|
| 833 | data: propertyValue
|
---|
| 834 | };
|
---|
| 835 | } else if (showNonenumerable) {
|
---|
| 836 | let propertyValue;
|
---|
| 837 | try {
|
---|
| 838 | propertyValue = getPropertyValue(data, propertyName);
|
---|
| 839 | } catch (e) {
|
---|
| 840 | }
|
---|
| 841 | if (propertyValue !== void 0) {
|
---|
| 842 | yield {
|
---|
| 843 | name: propertyName,
|
---|
| 844 | data: propertyValue,
|
---|
| 845 | isNonenumerable: true
|
---|
| 846 | };
|
---|
| 847 | }
|
---|
| 848 | }
|
---|
| 849 | }
|
---|
| 850 | if (showNonenumerable && data !== Object.prototype) {
|
---|
| 851 | yield {
|
---|
| 852 | name: "__proto__",
|
---|
| 853 | data: Object.getPrototypeOf(data),
|
---|
| 854 | isNonenumerable: true
|
---|
| 855 | };
|
---|
| 856 | }
|
---|
| 857 | }
|
---|
| 858 | };
|
---|
| 859 | return objectIterator;
|
---|
| 860 | };
|
---|
| 861 | var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React9.createElement(ObjectRootLabel, {
|
---|
| 862 | name,
|
---|
| 863 | data
|
---|
| 864 | }) : /* @__PURE__ */ React9.createElement(ObjectLabel, {
|
---|
| 865 | name,
|
---|
| 866 | data,
|
---|
| 867 | isNonenumerable
|
---|
| 868 | });
|
---|
| 869 | var ObjectInspector = ({ showNonenumerable = false, sortObjectKeys, nodeRenderer, ...treeViewProps }) => {
|
---|
| 870 | const dataIterator = createIterator(showNonenumerable, sortObjectKeys);
|
---|
| 871 | const renderer = nodeRenderer ? nodeRenderer : defaultNodeRenderer;
|
---|
| 872 | return /* @__PURE__ */ React9.createElement(TreeView, {
|
---|
| 873 | nodeRenderer: renderer,
|
---|
| 874 | dataIterator,
|
---|
| 875 | ...treeViewProps
|
---|
| 876 | });
|
---|
| 877 | };
|
---|
| 878 | var themedObjectInspector = themeAcceptor(ObjectInspector);
|
---|
| 879 |
|
---|
| 880 | // src/table-inspector/TableInspector.tsx
|
---|
| 881 | import React13, { useCallback as useCallback3, useState as useState3 } from "react";
|
---|
| 882 |
|
---|
| 883 | // src/table-inspector/getHeaders.ts
|
---|
| 884 | function getHeaders(data) {
|
---|
| 885 | if (typeof data === "object") {
|
---|
| 886 | let rowHeaders = [];
|
---|
| 887 | if (Array.isArray(data)) {
|
---|
| 888 | const nRows = data.length;
|
---|
| 889 | rowHeaders = [...Array(nRows).keys()];
|
---|
| 890 | } else if (data !== null) {
|
---|
| 891 | rowHeaders = Object.keys(data);
|
---|
| 892 | }
|
---|
| 893 | const colHeaders = rowHeaders.reduce((colHeaders2, rowHeader) => {
|
---|
| 894 | const row = data[rowHeader];
|
---|
| 895 | if (typeof row === "object" && row !== null) {
|
---|
| 896 | const cols = Object.keys(row);
|
---|
| 897 | cols.reduce((xs, x) => {
|
---|
| 898 | if (!xs.includes(x)) {
|
---|
| 899 | xs.push(x);
|
---|
| 900 | }
|
---|
| 901 | return xs;
|
---|
| 902 | }, colHeaders2);
|
---|
| 903 | }
|
---|
| 904 | return colHeaders2;
|
---|
| 905 | }, []);
|
---|
| 906 | return {
|
---|
| 907 | rowHeaders,
|
---|
| 908 | colHeaders
|
---|
| 909 | };
|
---|
| 910 | }
|
---|
| 911 | return void 0;
|
---|
| 912 | }
|
---|
| 913 |
|
---|
| 914 | // src/table-inspector/DataContainer.tsx
|
---|
| 915 | import React10 from "react";
|
---|
| 916 | var DataContainer = ({ rows, columns, rowsData }) => {
|
---|
| 917 | const styles = useStyles("TableInspectorDataContainer");
|
---|
| 918 | const borderStyles = useStyles("TableInspectorLeftBorder");
|
---|
| 919 | return /* @__PURE__ */ React10.createElement("div", {
|
---|
| 920 | style: styles.div
|
---|
| 921 | }, /* @__PURE__ */ React10.createElement("table", {
|
---|
| 922 | style: styles.table
|
---|
| 923 | }, /* @__PURE__ */ React10.createElement("colgroup", null), /* @__PURE__ */ React10.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React10.createElement("tr", {
|
---|
| 924 | key: row,
|
---|
| 925 | style: styles.tr
|
---|
| 926 | }, /* @__PURE__ */ React10.createElement("td", {
|
---|
| 927 | style: { ...styles.td, ...borderStyles.none }
|
---|
| 928 | }, row), columns.map((column) => {
|
---|
| 929 | const rowData = rowsData[i];
|
---|
| 930 | if (typeof rowData === "object" && rowData !== null && hasOwnProperty.call(rowData, column)) {
|
---|
| 931 | return /* @__PURE__ */ React10.createElement("td", {
|
---|
| 932 | key: column,
|
---|
| 933 | style: { ...styles.td, ...borderStyles.solid }
|
---|
| 934 | }, /* @__PURE__ */ React10.createElement(ObjectValue, {
|
---|
| 935 | object: rowData[column]
|
---|
| 936 | }));
|
---|
| 937 | } else {
|
---|
| 938 | return /* @__PURE__ */ React10.createElement("td", {
|
---|
| 939 | key: column,
|
---|
| 940 | style: { ...styles.td, ...borderStyles.solid }
|
---|
| 941 | });
|
---|
| 942 | }
|
---|
| 943 | }))))));
|
---|
| 944 | };
|
---|
| 945 |
|
---|
| 946 | // src/table-inspector/HeaderContainer.tsx
|
---|
| 947 | import React12 from "react";
|
---|
| 948 |
|
---|
| 949 | // src/table-inspector/TH.tsx
|
---|
| 950 | import React11, { useCallback as useCallback2, useState as useState2 } from "react";
|
---|
| 951 | var SortIconContainer = (props) => /* @__PURE__ */ React11.createElement("div", {
|
---|
| 952 | style: {
|
---|
| 953 | position: "absolute",
|
---|
| 954 | top: 1,
|
---|
| 955 | right: 0,
|
---|
| 956 | bottom: 1,
|
---|
| 957 | display: "flex",
|
---|
| 958 | alignItems: "center"
|
---|
| 959 | }
|
---|
| 960 | }, props.children);
|
---|
| 961 | var SortIcon = ({ sortAscending }) => {
|
---|
| 962 | const styles = useStyles("TableInspectorSortIcon");
|
---|
| 963 | const glyph = sortAscending ? "\u25B2" : "\u25BC";
|
---|
| 964 | return /* @__PURE__ */ React11.createElement("div", {
|
---|
| 965 | style: styles
|
---|
| 966 | }, glyph);
|
---|
| 967 | };
|
---|
| 968 | var TH = ({
|
---|
| 969 | sortAscending = false,
|
---|
| 970 | sorted = false,
|
---|
| 971 | onClick = void 0,
|
---|
| 972 | borderStyle = {},
|
---|
| 973 | children,
|
---|
| 974 | ...thProps
|
---|
| 975 | }) => {
|
---|
| 976 | const styles = useStyles("TableInspectorTH");
|
---|
| 977 | const [hovered, setHovered] = useState2(false);
|
---|
| 978 | const handleMouseEnter = useCallback2(() => setHovered(true), []);
|
---|
| 979 | const handleMouseLeave = useCallback2(() => setHovered(false), []);
|
---|
| 980 | return /* @__PURE__ */ React11.createElement("th", {
|
---|
| 981 | ...thProps,
|
---|
| 982 | style: {
|
---|
| 983 | ...styles.base,
|
---|
| 984 | ...borderStyle,
|
---|
| 985 | ...hovered ? styles.base[":hover"] : {}
|
---|
| 986 | },
|
---|
| 987 | onMouseEnter: handleMouseEnter,
|
---|
| 988 | onMouseLeave: handleMouseLeave,
|
---|
| 989 | onClick
|
---|
| 990 | }, /* @__PURE__ */ React11.createElement("div", {
|
---|
| 991 | style: styles.div
|
---|
| 992 | }, children), sorted && /* @__PURE__ */ React11.createElement(SortIconContainer, null, /* @__PURE__ */ React11.createElement(SortIcon, {
|
---|
| 993 | sortAscending
|
---|
| 994 | })));
|
---|
| 995 | };
|
---|
| 996 |
|
---|
| 997 | // src/table-inspector/HeaderContainer.tsx
|
---|
| 998 | var HeaderContainer = ({
|
---|
| 999 | indexColumnText = "(index)",
|
---|
| 1000 | columns = [],
|
---|
| 1001 | sorted,
|
---|
| 1002 | sortIndexColumn,
|
---|
| 1003 | sortColumn,
|
---|
| 1004 | sortAscending,
|
---|
| 1005 | onTHClick,
|
---|
| 1006 | onIndexTHClick
|
---|
| 1007 | }) => {
|
---|
| 1008 | const styles = useStyles("TableInspectorHeaderContainer");
|
---|
| 1009 | const borderStyles = useStyles("TableInspectorLeftBorder");
|
---|
| 1010 | return /* @__PURE__ */ React12.createElement("div", {
|
---|
| 1011 | style: styles.base
|
---|
| 1012 | }, /* @__PURE__ */ React12.createElement("table", {
|
---|
| 1013 | style: styles.table
|
---|
| 1014 | }, /* @__PURE__ */ React12.createElement("tbody", null, /* @__PURE__ */ React12.createElement("tr", null, /* @__PURE__ */ React12.createElement(TH, {
|
---|
| 1015 | borderStyle: borderStyles.none,
|
---|
| 1016 | sorted: sorted && sortIndexColumn,
|
---|
| 1017 | sortAscending,
|
---|
| 1018 | onClick: onIndexTHClick
|
---|
| 1019 | }, indexColumnText), columns.map((column) => /* @__PURE__ */ React12.createElement(TH, {
|
---|
| 1020 | borderStyle: borderStyles.solid,
|
---|
| 1021 | key: column,
|
---|
| 1022 | sorted: sorted && sortColumn === column,
|
---|
| 1023 | sortAscending,
|
---|
| 1024 | onClick: onTHClick.bind(null, column)
|
---|
| 1025 | }, column))))));
|
---|
| 1026 | };
|
---|
| 1027 |
|
---|
| 1028 | // src/table-inspector/TableInspector.tsx
|
---|
| 1029 | var TableInspector = ({
|
---|
| 1030 | data,
|
---|
| 1031 | columns
|
---|
| 1032 | }) => {
|
---|
| 1033 | const styles = useStyles("TableInspector");
|
---|
| 1034 | const [{ sorted, sortIndexColumn, sortColumn, sortAscending }, setState] = useState3({
|
---|
| 1035 | sorted: false,
|
---|
| 1036 | sortIndexColumn: false,
|
---|
| 1037 | sortColumn: void 0,
|
---|
| 1038 | sortAscending: false
|
---|
| 1039 | });
|
---|
| 1040 | const handleIndexTHClick = useCallback3(() => {
|
---|
| 1041 | setState(({ sortIndexColumn: sortIndexColumn2, sortAscending: sortAscending2 }) => ({
|
---|
| 1042 | sorted: true,
|
---|
| 1043 | sortIndexColumn: true,
|
---|
| 1044 | sortColumn: void 0,
|
---|
| 1045 | sortAscending: sortIndexColumn2 ? !sortAscending2 : true
|
---|
| 1046 | }));
|
---|
| 1047 | }, []);
|
---|
| 1048 | const handleTHClick = useCallback3((col) => {
|
---|
| 1049 | setState(({ sortColumn: sortColumn2, sortAscending: sortAscending2 }) => ({
|
---|
| 1050 | sorted: true,
|
---|
| 1051 | sortIndexColumn: false,
|
---|
| 1052 | sortColumn: col,
|
---|
| 1053 | sortAscending: col === sortColumn2 ? !sortAscending2 : true
|
---|
| 1054 | }));
|
---|
| 1055 | }, []);
|
---|
| 1056 | if (typeof data !== "object" || data === null) {
|
---|
| 1057 | return /* @__PURE__ */ React13.createElement("div", null);
|
---|
| 1058 | }
|
---|
| 1059 | let { rowHeaders, colHeaders } = getHeaders(data);
|
---|
| 1060 | if (columns !== void 0) {
|
---|
| 1061 | colHeaders = columns;
|
---|
| 1062 | }
|
---|
| 1063 | let rowsData = rowHeaders.map((rowHeader) => data[rowHeader]);
|
---|
| 1064 | let columnDataWithRowIndexes;
|
---|
| 1065 | if (sortColumn !== void 0) {
|
---|
| 1066 | columnDataWithRowIndexes = rowsData.map((rowData, index) => {
|
---|
| 1067 | if (typeof rowData === "object" && rowData !== null) {
|
---|
| 1068 | const columnData = rowData[sortColumn];
|
---|
| 1069 | return [columnData, index];
|
---|
| 1070 | }
|
---|
| 1071 | return [void 0, index];
|
---|
| 1072 | });
|
---|
| 1073 | } else {
|
---|
| 1074 | if (sortIndexColumn) {
|
---|
| 1075 | columnDataWithRowIndexes = rowHeaders.map((rowData, index) => {
|
---|
| 1076 | const columnData = rowHeaders[index];
|
---|
| 1077 | return [columnData, index];
|
---|
| 1078 | });
|
---|
| 1079 | }
|
---|
| 1080 | }
|
---|
| 1081 | if (columnDataWithRowIndexes !== void 0) {
|
---|
| 1082 | const comparator = (mapper, ascending) => {
|
---|
| 1083 | return (a, b) => {
|
---|
| 1084 | const v1 = mapper(a);
|
---|
| 1085 | const v2 = mapper(b);
|
---|
| 1086 | const type1 = typeof v1;
|
---|
| 1087 | const type2 = typeof v2;
|
---|
| 1088 | const lt = (v12, v22) => {
|
---|
| 1089 | if (v12 < v22) {
|
---|
| 1090 | return -1;
|
---|
| 1091 | } else if (v12 > v22) {
|
---|
| 1092 | return 1;
|
---|
| 1093 | } else {
|
---|
| 1094 | return 0;
|
---|
| 1095 | }
|
---|
| 1096 | };
|
---|
| 1097 | let result;
|
---|
| 1098 | if (type1 === type2) {
|
---|
| 1099 | result = lt(v1, v2);
|
---|
| 1100 | } else {
|
---|
| 1101 | const order = {
|
---|
| 1102 | string: 0,
|
---|
| 1103 | number: 1,
|
---|
| 1104 | object: 2,
|
---|
| 1105 | symbol: 3,
|
---|
| 1106 | boolean: 4,
|
---|
| 1107 | undefined: 5,
|
---|
| 1108 | function: 6
|
---|
| 1109 | };
|
---|
| 1110 | result = lt(order[type1], order[type2]);
|
---|
| 1111 | }
|
---|
| 1112 | if (!ascending)
|
---|
| 1113 | result = -result;
|
---|
| 1114 | return result;
|
---|
| 1115 | };
|
---|
| 1116 | };
|
---|
| 1117 | const sortedRowIndexes = columnDataWithRowIndexes.sort(comparator((item) => item[0], sortAscending)).map((item) => item[1]);
|
---|
| 1118 | rowHeaders = sortedRowIndexes.map((i) => rowHeaders[i]);
|
---|
| 1119 | rowsData = sortedRowIndexes.map((i) => rowsData[i]);
|
---|
| 1120 | }
|
---|
| 1121 | return /* @__PURE__ */ React13.createElement("div", {
|
---|
| 1122 | style: styles.base
|
---|
| 1123 | }, /* @__PURE__ */ React13.createElement(HeaderContainer, {
|
---|
| 1124 | columns: colHeaders,
|
---|
| 1125 | sorted,
|
---|
| 1126 | sortIndexColumn,
|
---|
| 1127 | sortColumn,
|
---|
| 1128 | sortAscending,
|
---|
| 1129 | onTHClick: handleTHClick,
|
---|
| 1130 | onIndexTHClick: handleIndexTHClick
|
---|
| 1131 | }), /* @__PURE__ */ React13.createElement(DataContainer, {
|
---|
| 1132 | rows: rowHeaders,
|
---|
| 1133 | columns: colHeaders,
|
---|
| 1134 | rowsData
|
---|
| 1135 | }));
|
---|
| 1136 | };
|
---|
| 1137 | var themedTableInspector = themeAcceptor(TableInspector);
|
---|
| 1138 |
|
---|
| 1139 | // src/dom-inspector/DOMInspector.tsx
|
---|
| 1140 | import React15 from "react";
|
---|
| 1141 |
|
---|
| 1142 | // src/dom-inspector/DOMNodePreview.tsx
|
---|
| 1143 | import React14 from "react";
|
---|
| 1144 |
|
---|
| 1145 | // src/dom-inspector/shouldInline.tsx
|
---|
| 1146 | var TEXT_NODE_MAX_INLINE_CHARS = 80;
|
---|
| 1147 | var shouldInline = (data) => data.childNodes.length === 0 || data.childNodes.length === 1 && data.childNodes[0].nodeType === Node.TEXT_NODE && data.textContent.length < TEXT_NODE_MAX_INLINE_CHARS;
|
---|
| 1148 |
|
---|
| 1149 | // src/dom-inspector/DOMNodePreview.tsx
|
---|
| 1150 | var OpenTag = ({ tagName, attributes, styles }) => {
|
---|
| 1151 | return /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1152 | style: styles.base
|
---|
| 1153 | }, "<", /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1154 | style: styles.tagName
|
---|
| 1155 | }, tagName), (() => {
|
---|
| 1156 | if (attributes) {
|
---|
| 1157 | const attributeNodes = [];
|
---|
| 1158 | for (let i = 0; i < attributes.length; i++) {
|
---|
| 1159 | const attribute = attributes[i];
|
---|
| 1160 | attributeNodes.push(/* @__PURE__ */ React14.createElement("span", {
|
---|
| 1161 | key: i
|
---|
| 1162 | }, " ", /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1163 | style: styles.htmlAttributeName
|
---|
| 1164 | }, attribute.name), '="', /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1165 | style: styles.htmlAttributeValue
|
---|
| 1166 | }, attribute.value), '"'));
|
---|
| 1167 | }
|
---|
| 1168 | return attributeNodes;
|
---|
| 1169 | }
|
---|
| 1170 | })(), ">");
|
---|
| 1171 | };
|
---|
| 1172 | var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1173 | style: Object.assign({}, styles.base, isChildNode && styles.offsetLeft)
|
---|
| 1174 | }, "</", /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1175 | style: styles.tagName
|
---|
| 1176 | }, tagName), ">");
|
---|
| 1177 | var nameByNodeType = {
|
---|
| 1178 | 1: "ELEMENT_NODE",
|
---|
| 1179 | 3: "TEXT_NODE",
|
---|
| 1180 | 7: "PROCESSING_INSTRUCTION_NODE",
|
---|
| 1181 | 8: "COMMENT_NODE",
|
---|
| 1182 | 9: "DOCUMENT_NODE",
|
---|
| 1183 | 10: "DOCUMENT_TYPE_NODE",
|
---|
| 1184 | 11: "DOCUMENT_FRAGMENT_NODE"
|
---|
| 1185 | };
|
---|
| 1186 | var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
|
---|
| 1187 | const styles = useStyles("DOMNodePreview");
|
---|
| 1188 | if (isCloseTag) {
|
---|
| 1189 | return /* @__PURE__ */ React14.createElement(CloseTag, {
|
---|
| 1190 | styles: styles.htmlCloseTag,
|
---|
| 1191 | isChildNode: true,
|
---|
| 1192 | tagName: data.tagName
|
---|
| 1193 | });
|
---|
| 1194 | }
|
---|
| 1195 | switch (data.nodeType) {
|
---|
| 1196 | case Node.ELEMENT_NODE:
|
---|
| 1197 | return /* @__PURE__ */ React14.createElement("span", null, /* @__PURE__ */ React14.createElement(OpenTag, {
|
---|
| 1198 | tagName: data.tagName,
|
---|
| 1199 | attributes: data.attributes,
|
---|
| 1200 | styles: styles.htmlOpenTag
|
---|
| 1201 | }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React14.createElement(CloseTag, {
|
---|
| 1202 | tagName: data.tagName,
|
---|
| 1203 | styles: styles.htmlCloseTag
|
---|
| 1204 | }));
|
---|
| 1205 | case Node.TEXT_NODE:
|
---|
| 1206 | return /* @__PURE__ */ React14.createElement("span", null, data.textContent);
|
---|
| 1207 | case Node.CDATA_SECTION_NODE:
|
---|
| 1208 | return /* @__PURE__ */ React14.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
|
---|
| 1209 | case Node.COMMENT_NODE:
|
---|
| 1210 | return /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1211 | style: styles.htmlComment
|
---|
| 1212 | }, "<!--", data.textContent, "-->");
|
---|
| 1213 | case Node.PROCESSING_INSTRUCTION_NODE:
|
---|
| 1214 | return /* @__PURE__ */ React14.createElement("span", null, data.nodeName);
|
---|
| 1215 | case Node.DOCUMENT_TYPE_NODE:
|
---|
| 1216 | return /* @__PURE__ */ React14.createElement("span", {
|
---|
| 1217 | style: styles.htmlDoctype
|
---|
| 1218 | }, "<!DOCTYPE ", data.name, data.publicId ? ` PUBLIC "${data.publicId}"` : "", !data.publicId && data.systemId ? " SYSTEM" : "", data.systemId ? ` "${data.systemId}"` : "", ">");
|
---|
| 1219 | case Node.DOCUMENT_NODE:
|
---|
| 1220 | return /* @__PURE__ */ React14.createElement("span", null, data.nodeName);
|
---|
| 1221 | case Node.DOCUMENT_FRAGMENT_NODE:
|
---|
| 1222 | return /* @__PURE__ */ React14.createElement("span", null, data.nodeName);
|
---|
| 1223 | default:
|
---|
| 1224 | return /* @__PURE__ */ React14.createElement("span", null, nameByNodeType[data.nodeType]);
|
---|
| 1225 | }
|
---|
| 1226 | };
|
---|
| 1227 |
|
---|
| 1228 | // src/dom-inspector/DOMInspector.tsx
|
---|
| 1229 | var domIterator = function* (data) {
|
---|
| 1230 | if (data && data.childNodes) {
|
---|
| 1231 | const textInlined = shouldInline(data);
|
---|
| 1232 | if (textInlined) {
|
---|
| 1233 | return;
|
---|
| 1234 | }
|
---|
| 1235 | for (let i = 0; i < data.childNodes.length; i++) {
|
---|
| 1236 | const node = data.childNodes[i];
|
---|
| 1237 | if (node.nodeType === Node.TEXT_NODE && node.textContent.trim().length === 0)
|
---|
| 1238 | continue;
|
---|
| 1239 | yield {
|
---|
| 1240 | name: `${node.tagName}[${i}]`,
|
---|
| 1241 | data: node
|
---|
| 1242 | };
|
---|
| 1243 | }
|
---|
| 1244 | if (data.tagName) {
|
---|
| 1245 | yield {
|
---|
| 1246 | name: "CLOSE_TAG",
|
---|
| 1247 | data: {
|
---|
| 1248 | tagName: data.tagName
|
---|
| 1249 | },
|
---|
| 1250 | isCloseTag: true
|
---|
| 1251 | };
|
---|
| 1252 | }
|
---|
| 1253 | }
|
---|
| 1254 | };
|
---|
| 1255 | var DOMInspector = (props) => {
|
---|
| 1256 | return /* @__PURE__ */ React15.createElement(TreeView, {
|
---|
| 1257 | nodeRenderer: DOMNodePreview,
|
---|
| 1258 | dataIterator: domIterator,
|
---|
| 1259 | ...props
|
---|
| 1260 | });
|
---|
| 1261 | };
|
---|
| 1262 | var themedDOMInspector = themeAcceptor(DOMInspector);
|
---|
| 1263 |
|
---|
| 1264 | // src/index.tsx
|
---|
| 1265 | var import_is_dom = __toESM(require_is_dom());
|
---|
| 1266 | import React16 from "react";
|
---|
| 1267 | var Inspector = ({ table = false, data, ...rest }) => {
|
---|
| 1268 | if (table) {
|
---|
| 1269 | return /* @__PURE__ */ React16.createElement(themedTableInspector, {
|
---|
| 1270 | data,
|
---|
| 1271 | ...rest
|
---|
| 1272 | });
|
---|
| 1273 | }
|
---|
| 1274 | if ((0, import_is_dom.default)(data))
|
---|
| 1275 | return /* @__PURE__ */ React16.createElement(themedDOMInspector, {
|
---|
| 1276 | data,
|
---|
| 1277 | ...rest
|
---|
| 1278 | });
|
---|
| 1279 | return /* @__PURE__ */ React16.createElement(themedObjectInspector, {
|
---|
| 1280 | data,
|
---|
| 1281 | ...rest
|
---|
| 1282 | });
|
---|
| 1283 | };
|
---|
| 1284 | export {
|
---|
| 1285 | Inspector,
|
---|
| 1286 | themedObjectInspector as ObjectInspector,
|
---|
| 1287 | ObjectLabel,
|
---|
| 1288 | ObjectName,
|
---|
| 1289 | ObjectPreview,
|
---|
| 1290 | ObjectRootLabel,
|
---|
| 1291 | ObjectValue,
|
---|
| 1292 | themedTableInspector as TableInspector,
|
---|
| 1293 | theme as chromeDark,
|
---|
| 1294 | theme2 as chromeLight
|
---|
| 1295 | };
|
---|
| 1296 | //# sourceMappingURL=index.mjs.map |
---|