@availity/mui-tree 0.2.2 → 0.2.3

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/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.2.3](https://github.com/Availity/element/compare/@availity/mui-tree@0.2.2...@availity/mui-tree@0.2.3) (2024-11-22)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **mui-tree:** don't export JsonViewer as default ([404861f](https://github.com/Availity/element/commit/404861f4cb98a0dc3237b60c4d199ab24bbb3447))
11
+
5
12
  ## [0.2.2](https://github.com/Availity/element/compare/@availity/mui-tree@0.2.1...@availity/mui-tree@0.2.2) (2024-11-21)
6
13
 
7
14
 
package/dist/index.d.mts CHANGED
@@ -18,5 +18,6 @@ interface JsonViewerProps extends Omit<TreeViewProps, 'children'> {
18
18
  /** Data to be rendered, can be most valid javascript objects, some uncommon types may not by fully supported - like cyclical objects, proxies, symbols as keys. */
19
19
  data: Record<string, unknown>;
20
20
  }
21
+ declare const JsonViewer: ({ data, ...rest }: JsonViewerProps) => JSX.Element;
21
22
 
22
- export { DynamicTreeView, type DynamicTreeViewProps, type JsonViewerProps, TreeItem, type TreeItemProps, TreeView, type TreeViewProps };
23
+ export { DynamicTreeView, type DynamicTreeViewProps, JsonViewer, type JsonViewerProps, TreeItem, type TreeItemProps, TreeView, type TreeViewProps };
package/dist/index.d.ts CHANGED
@@ -18,5 +18,6 @@ interface JsonViewerProps extends Omit<TreeViewProps, 'children'> {
18
18
  /** Data to be rendered, can be most valid javascript objects, some uncommon types may not by fully supported - like cyclical objects, proxies, symbols as keys. */
19
19
  data: Record<string, unknown>;
20
20
  }
21
+ declare const JsonViewer: ({ data, ...rest }: JsonViewerProps) => JSX.Element;
21
22
 
22
- export { DynamicTreeView, type DynamicTreeViewProps, type JsonViewerProps, TreeItem, type TreeItemProps, TreeView, type TreeViewProps };
23
+ export { DynamicTreeView, type DynamicTreeViewProps, JsonViewer, type JsonViewerProps, TreeItem, type TreeItemProps, TreeView, type TreeViewProps };
package/dist/index.js CHANGED
@@ -50,6 +50,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
50
50
  var src_exports = {};
51
51
  __export(src_exports, {
52
52
  DynamicTreeView: () => DynamicTreeView,
53
+ JsonViewer: () => JsonViewer,
53
54
  TreeItem: () => TreeItem,
54
55
  TreeView: () => TreeView
55
56
  });
@@ -107,9 +108,35 @@ var DynamicTreeView = (_a) => {
107
108
 
108
109
  // src/lib/JsonViewer.tsx
109
110
  var import_jsx_runtime4 = require("react/jsx-runtime");
111
+ var isPrimitive = (value) => {
112
+ return ["string", "number", "boolean"].includes(typeof value);
113
+ };
114
+ var isObject = (value) => {
115
+ return !!value && typeof value === "object";
116
+ };
117
+ var getDetails = ({ data }) => {
118
+ return Object.entries(data).map((entry) => {
119
+ const [key, value] = entry;
120
+ if (isPrimitive(value)) {
121
+ const label = `${key}: ${value.toString()}`;
122
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TreeItem, { label, itemId: `${key}.${value}` }, `${key}.${value}`);
123
+ }
124
+ if (isObject(value)) {
125
+ const label = `${key}: ${Array.isArray(value) ? `[ ] ${value.length} items` : `{ } ${Object.keys(value).length} keys`}`;
126
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TreeItem, { label, itemId: key, children: getDetails({ data: value }) }, key);
127
+ }
128
+ return null;
129
+ });
130
+ };
131
+ var JsonViewer = (_a) => {
132
+ var _b = _a, { data } = _b, rest = __objRest(_b, ["data"]);
133
+ const details = getDetails({ data });
134
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TreeView, __spreadProps(__spreadValues({}, rest), { children: details }));
135
+ };
110
136
  // Annotate the CommonJS export names for ESM import in node:
111
137
  0 && (module.exports = {
112
138
  DynamicTreeView,
139
+ JsonViewer,
113
140
  TreeItem,
114
141
  TreeView
115
142
  });
package/dist/index.mjs CHANGED
@@ -82,8 +82,34 @@ var DynamicTreeView = (_a) => {
82
82
 
83
83
  // src/lib/JsonViewer.tsx
84
84
  import { jsx as jsx4 } from "react/jsx-runtime";
85
+ var isPrimitive = (value) => {
86
+ return ["string", "number", "boolean"].includes(typeof value);
87
+ };
88
+ var isObject = (value) => {
89
+ return !!value && typeof value === "object";
90
+ };
91
+ var getDetails = ({ data }) => {
92
+ return Object.entries(data).map((entry) => {
93
+ const [key, value] = entry;
94
+ if (isPrimitive(value)) {
95
+ const label = `${key}: ${value.toString()}`;
96
+ return /* @__PURE__ */ jsx4(TreeItem, { label, itemId: `${key}.${value}` }, `${key}.${value}`);
97
+ }
98
+ if (isObject(value)) {
99
+ const label = `${key}: ${Array.isArray(value) ? `[ ] ${value.length} items` : `{ } ${Object.keys(value).length} keys`}`;
100
+ return /* @__PURE__ */ jsx4(TreeItem, { label, itemId: key, children: getDetails({ data: value }) }, key);
101
+ }
102
+ return null;
103
+ });
104
+ };
105
+ var JsonViewer = (_a) => {
106
+ var _b = _a, { data } = _b, rest = __objRest(_b, ["data"]);
107
+ const details = getDetails({ data });
108
+ return /* @__PURE__ */ jsx4(TreeView, __spreadProps(__spreadValues({}, rest), { children: details }));
109
+ };
85
110
  export {
86
111
  DynamicTreeView,
112
+ JsonViewer,
87
113
  TreeItem,
88
114
  TreeView
89
115
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@availity/mui-tree",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Availity MUI Tree Component - part of the @availity/element design system",
5
5
  "keywords": [
6
6
  "react",
@@ -1,6 +1,6 @@
1
1
  import { Meta, StoryObj } from '@storybook/react';
2
2
 
3
- import JsonViewer, { JsonViewerProps } from './JsonViewer';
3
+ import { JsonViewer, JsonViewerProps } from './JsonViewer';
4
4
  // import README from '../README.md';
5
5
 
6
6
  const meta: Meta<typeof JsonViewer> = {
@@ -1,5 +1,5 @@
1
1
  import { render, fireEvent } from '@testing-library/react';
2
- import JsonViewer from './JsonViewer';
2
+ import { JsonViewer } from './JsonViewer';
3
3
 
4
4
  const setup = (data: Record<string, unknown>) => render(<JsonViewer data={data} />);
5
5
 
@@ -35,9 +35,7 @@ const getDetails = ({ data }: JsonViewerProps): (JSX.Element | null)[] => {
35
35
  });
36
36
  };
37
37
 
38
- const JsonViewer = ({ data, ...rest }: JsonViewerProps): JSX.Element => {
38
+ export const JsonViewer = ({ data, ...rest }: JsonViewerProps): JSX.Element => {
39
39
  const details = getDetails({ data });
40
40
  return <TreeView {...rest}>{details}</TreeView>;
41
41
  };
42
-
43
- export default JsonViewer;