@uiw/react-json-view 2.0.0-alpha.2 → 2.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +146 -21
  2. package/basic.d.ts +3 -0
  3. package/cjs/Container.d.ts +2 -0
  4. package/cjs/Container.js +9 -4
  5. package/cjs/arrow/TriangleArrow.js +1 -1
  6. package/cjs/comps/Copied.d.ts +2 -3
  7. package/cjs/comps/Copied.js +29 -16
  8. package/cjs/comps/KeyValues.d.ts +2 -4
  9. package/cjs/comps/KeyValues.js +49 -24
  10. package/cjs/comps/NestedClose.js +3 -4
  11. package/cjs/comps/NestedOpen.d.ts +2 -3
  12. package/cjs/comps/NestedOpen.js +23 -17
  13. package/cjs/comps/Value.d.ts +1 -2
  14. package/cjs/comps/Value.js +16 -20
  15. package/cjs/editor/KeyName.d.ts +2 -0
  16. package/cjs/editor/KeyName.js +82 -0
  17. package/cjs/editor/index.d.ts +19 -0
  18. package/cjs/editor/index.js +44 -0
  19. package/cjs/editor/store.d.ts +28 -0
  20. package/cjs/editor/store.js +23 -0
  21. package/cjs/index.d.ts +5 -3
  22. package/cjs/index.js +11 -8
  23. package/cjs/section/Copied.d.ts +1 -1
  24. package/cjs/section/Copied.js +1 -2
  25. package/cjs/section/CountInfo.d.ts +10 -1
  26. package/cjs/section/CountInfo.js +42 -4
  27. package/cjs/section/CountInfoExtra.d.ts +10 -1
  28. package/cjs/section/CountInfoExtra.js +32 -4
  29. package/cjs/section/Ellipsis.d.ts +10 -0
  30. package/cjs/section/Ellipsis.js +30 -4
  31. package/cjs/section/KeyName.d.ts +8 -0
  32. package/cjs/section/KeyName.js +40 -4
  33. package/cjs/section/Row.d.ts +14 -0
  34. package/cjs/section/Row.js +51 -0
  35. package/cjs/store/Expands.js +2 -4
  36. package/cjs/store/Section.d.ts +12 -6
  37. package/cjs/store/Section.js +6 -4
  38. package/cjs/store/ShowTools.js +2 -4
  39. package/cjs/store/Symbols.d.ts +2 -2
  40. package/cjs/store/Symbols.js +2 -4
  41. package/cjs/store/Types.d.ts +28 -24
  42. package/cjs/store/Types.js +8 -8
  43. package/cjs/store.d.ts +7 -4
  44. package/cjs/store.js +5 -10
  45. package/cjs/symbol/Arrow.d.ts +1 -1
  46. package/cjs/symbol/Arrow.js +1 -2
  47. package/cjs/symbol/BraceLeft.d.ts +1 -1
  48. package/cjs/symbol/BraceLeft.js +1 -2
  49. package/cjs/symbol/BraceRight.d.ts +1 -1
  50. package/cjs/symbol/BraceRight.js +1 -2
  51. package/cjs/symbol/BracketsLeft.d.ts +1 -1
  52. package/cjs/symbol/BracketsLeft.js +1 -2
  53. package/cjs/symbol/BracketsRight.d.ts +1 -1
  54. package/cjs/symbol/BracketsRight.js +1 -2
  55. package/cjs/symbol/Colon.d.ts +1 -1
  56. package/cjs/symbol/Colon.js +1 -2
  57. package/cjs/symbol/Quote.d.ts +1 -1
  58. package/cjs/symbol/Quote.js +1 -2
  59. package/cjs/symbol/ValueQuote.d.ts +1 -1
  60. package/cjs/symbol/ValueQuote.js +1 -2
  61. package/{esm/comps/ReRender/Symbols.d.ts → cjs/symbol/index.d.ts} +4 -6
  62. package/cjs/{comps/ReRender/Symbols.js → symbol/index.js} +32 -33
  63. package/cjs/theme/basic.js +4 -3
  64. package/cjs/theme/dark.js +2 -3
  65. package/cjs/theme/github.dark.js +2 -3
  66. package/cjs/theme/github.light.js +2 -3
  67. package/cjs/theme/gruvbox.js +2 -3
  68. package/cjs/theme/light.js +2 -3
  69. package/cjs/theme/monokai.js +2 -3
  70. package/cjs/theme/nord.js +2 -3
  71. package/cjs/theme/vscode.js +2 -3
  72. package/cjs/types/Bigint.d.ts +1 -1
  73. package/cjs/types/Bigint.js +1 -2
  74. package/cjs/types/Date.d.ts +1 -1
  75. package/cjs/types/Date.js +1 -2
  76. package/cjs/types/False.d.ts +1 -1
  77. package/cjs/types/False.js +1 -2
  78. package/cjs/types/Float.d.ts +1 -1
  79. package/cjs/types/Float.js +1 -2
  80. package/cjs/types/Int.d.ts +1 -1
  81. package/cjs/types/Int.js +1 -2
  82. package/cjs/types/Map.d.ts +1 -1
  83. package/cjs/types/Map.js +1 -2
  84. package/cjs/types/Nan.d.ts +1 -1
  85. package/cjs/types/Nan.js +1 -2
  86. package/cjs/types/Null.d.ts +1 -1
  87. package/cjs/types/Null.js +1 -2
  88. package/cjs/types/Set.d.ts +1 -1
  89. package/cjs/types/Set.js +1 -2
  90. package/cjs/types/String.d.ts +1 -1
  91. package/cjs/types/String.js +1 -2
  92. package/cjs/types/True.d.ts +1 -1
  93. package/cjs/types/True.js +1 -2
  94. package/cjs/types/Undefined.d.ts +1 -1
  95. package/cjs/types/Undefined.js +1 -2
  96. package/cjs/types/Url.d.ts +1 -1
  97. package/cjs/types/Url.js +1 -2
  98. package/{esm/comps/ReRender/Types.d.ts → cjs/types/index.d.ts} +2 -2
  99. package/cjs/{comps/ReRender/Types.js → types/index.js} +92 -171
  100. package/cjs/utils/useHighlight.js +0 -1
  101. package/cjs/utils/useRender.d.ts +1 -1
  102. package/editor.d.ts +22 -20
  103. package/esm/Container.d.ts +2 -0
  104. package/esm/Container.js +10 -4
  105. package/esm/arrow/TriangleArrow.js +1 -1
  106. package/esm/comps/Copied.d.ts +2 -3
  107. package/esm/comps/Copied.js +27 -15
  108. package/esm/comps/KeyValues.d.ts +2 -4
  109. package/esm/comps/KeyValues.js +37 -15
  110. package/esm/comps/NestedClose.js +1 -1
  111. package/esm/comps/NestedOpen.d.ts +2 -3
  112. package/esm/comps/NestedOpen.js +18 -12
  113. package/esm/comps/Value.d.ts +1 -2
  114. package/esm/comps/Value.js +3 -5
  115. package/esm/editor/KeyName.d.ts +2 -0
  116. package/esm/editor/KeyName.js +77 -0
  117. package/esm/editor/index.d.ts +19 -0
  118. package/esm/editor/index.js +33 -0
  119. package/esm/editor/store.d.ts +28 -0
  120. package/esm/editor/store.js +13 -0
  121. package/esm/index.d.ts +5 -3
  122. package/esm/index.js +9 -6
  123. package/esm/section/Copied.d.ts +1 -1
  124. package/esm/section/CountInfo.d.ts +10 -1
  125. package/esm/section/CountInfo.js +43 -1
  126. package/esm/section/CountInfoExtra.d.ts +10 -1
  127. package/esm/section/CountInfoExtra.js +32 -1
  128. package/esm/section/Ellipsis.d.ts +10 -0
  129. package/esm/section/Ellipsis.js +31 -1
  130. package/esm/section/KeyName.d.ts +8 -0
  131. package/esm/section/KeyName.js +41 -1
  132. package/esm/section/Row.d.ts +14 -0
  133. package/esm/section/Row.js +47 -0
  134. package/esm/store/Section.d.ts +12 -6
  135. package/esm/store/Section.js +4 -0
  136. package/esm/store/Symbols.d.ts +2 -2
  137. package/esm/store/Types.d.ts +28 -24
  138. package/esm/store/Types.js +6 -4
  139. package/esm/store.d.ts +7 -4
  140. package/esm/symbol/Arrow.d.ts +1 -1
  141. package/esm/symbol/BraceLeft.d.ts +1 -1
  142. package/esm/symbol/BraceRight.d.ts +1 -1
  143. package/esm/symbol/BracketsLeft.d.ts +1 -1
  144. package/esm/symbol/BracketsRight.d.ts +1 -1
  145. package/esm/symbol/Colon.d.ts +1 -1
  146. package/esm/symbol/Quote.d.ts +1 -1
  147. package/esm/symbol/ValueQuote.d.ts +1 -1
  148. package/{cjs/comps/ReRender/Symbols.d.ts → esm/symbol/index.d.ts} +4 -6
  149. package/esm/{comps/ReRender/Symbols.js → symbol/index.js} +26 -24
  150. package/esm/theme/basic.js +2 -0
  151. package/esm/types/Bigint.d.ts +1 -1
  152. package/esm/types/Date.d.ts +1 -1
  153. package/esm/types/False.d.ts +1 -1
  154. package/esm/types/Float.d.ts +1 -1
  155. package/esm/types/Int.d.ts +1 -1
  156. package/esm/types/Map.d.ts +1 -1
  157. package/esm/types/Nan.d.ts +1 -1
  158. package/esm/types/Null.d.ts +1 -1
  159. package/esm/types/Set.d.ts +1 -1
  160. package/esm/types/String.d.ts +1 -1
  161. package/esm/types/True.d.ts +1 -1
  162. package/esm/types/Undefined.d.ts +1 -1
  163. package/esm/types/Url.d.ts +1 -1
  164. package/{cjs/comps/ReRender/Types.d.ts → esm/types/index.d.ts} +2 -2
  165. package/esm/{comps/ReRender/Types.js → types/index.js} +76 -148
  166. package/esm/utils/useHighlight.js +0 -1
  167. package/esm/utils/useRender.d.ts +1 -1
  168. package/githubDark.d.ts +3 -0
  169. package/githubLight.d.ts +3 -0
  170. package/gruvbox.d.ts +3 -0
  171. package/monokai.d.ts +3 -0
  172. package/nord.d.ts +3 -0
  173. package/package.json +11 -5
  174. package/vscode.d.ts +3 -0
  175. package/cjs/comps/CountInfo.d.ts +0 -19
  176. package/cjs/comps/CountInfo.js +0 -72
  177. package/cjs/comps/Ellipsis.d.ts +0 -10
  178. package/cjs/comps/Ellipsis.js +0 -35
  179. package/cjs/comps/Key.d.ts +0 -7
  180. package/cjs/comps/Key.js +0 -41
  181. package/esm/comps/CountInfo.d.ts +0 -19
  182. package/esm/comps/CountInfo.js +0 -70
  183. package/esm/comps/Ellipsis.d.ts +0 -10
  184. package/esm/comps/Ellipsis.js +0 -31
  185. package/esm/comps/Key.d.ts +0 -7
  186. package/esm/comps/Key.js +0 -37
@@ -1,17 +1,45 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.CountInfoExtra = void 0;
7
+ exports.CountInfoExtraComps = exports.CountInfoExtra = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
7
10
  var _Section = require("../store/Section");
8
11
  var _useRender = require("../utils/useRender");
9
- var CountInfoExtra = function CountInfoExtra(props) {
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["value", "keyName"],
14
+ _excluded2 = ["as", "render"];
15
+ var CountInfoExtra = exports.CountInfoExtra = function CountInfoExtra(props) {
10
16
  var _useSectionStore = (0, _Section.useSectionStore)(),
11
17
  _useSectionStore$Coun = _useSectionStore.CountInfoExtra,
12
18
  Comp = _useSectionStore$Coun === void 0 ? {} : _useSectionStore$Coun;
13
19
  (0, _useRender.useSectionRender)(Comp, props, 'CountInfoExtra');
14
20
  return null;
15
21
  };
16
- exports.CountInfoExtra = CountInfoExtra;
17
- CountInfoExtra.displayName = 'JVR.CountInfoExtra';
22
+ CountInfoExtra.displayName = 'JVR.CountInfoExtra';
23
+ var CountInfoExtraComps = exports.CountInfoExtraComps = function CountInfoExtraComps(props) {
24
+ var _props$value = props.value,
25
+ value = _props$value === void 0 ? {} : _props$value,
26
+ keyName = props.keyName,
27
+ other = (0, _objectWithoutProperties2["default"])(props, _excluded);
28
+ var _useSectionStore2 = (0, _Section.useSectionStore)(),
29
+ _useSectionStore2$Cou = _useSectionStore2.CountInfoExtra,
30
+ Comp = _useSectionStore2$Cou === void 0 ? {} : _useSectionStore2$Cou;
31
+ var as = Comp.as,
32
+ render = Comp.render,
33
+ reset = (0, _objectWithoutProperties2["default"])(Comp, _excluded2);
34
+ if (!render && !reset.children) return null;
35
+ var Elm = as || 'span';
36
+ var isRender = render && typeof render === 'function';
37
+ var elmProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), other);
38
+ var child = isRender && render(elmProps, {
39
+ value: value,
40
+ keyName: keyName
41
+ });
42
+ if (child) return child;
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Elm, (0, _objectSpread2["default"])({}, elmProps));
44
+ };
45
+ CountInfoExtraComps.displayName = 'JVR.CountInfoExtraComps';
@@ -1,6 +1,16 @@
1
+ /// <reference types="react" />
1
2
  import { type TagType } from '../store/Types';
2
3
  import { type SectionElement } from '../store/Section';
3
4
  export declare const Ellipsis: {
4
5
  <K extends TagType>(props: SectionElement<K>): null;
5
6
  displayName: string;
6
7
  };
8
+ export interface EllipsisCompProps<T extends object> {
9
+ value?: T;
10
+ keyName: string | number;
11
+ isExpanded: boolean;
12
+ }
13
+ export declare const EllipsisComp: {
14
+ <T extends object>({ isExpanded, value, keyName }: EllipsisCompProps<T>): string | number | true | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element | null;
15
+ displayName: string;
16
+ };
@@ -1,17 +1,43 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.Ellipsis = void 0;
7
+ exports.EllipsisComp = exports.Ellipsis = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
7
10
  var _Section = require("../store/Section");
8
11
  var _useRender = require("../utils/useRender");
9
- var Ellipsis = function Ellipsis(props) {
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["as", "render"];
14
+ var Ellipsis = exports.Ellipsis = function Ellipsis(props) {
10
15
  var _useSectionStore = (0, _Section.useSectionStore)(),
11
16
  _useSectionStore$Elli = _useSectionStore.Ellipsis,
12
17
  Comp = _useSectionStore$Elli === void 0 ? {} : _useSectionStore$Elli;
13
18
  (0, _useRender.useSectionRender)(Comp, props, 'Ellipsis');
14
19
  return null;
15
20
  };
16
- exports.Ellipsis = Ellipsis;
17
- Ellipsis.displayName = 'JVR.Ellipsis';
21
+ Ellipsis.displayName = 'JVR.Ellipsis';
22
+ var EllipsisComp = exports.EllipsisComp = function EllipsisComp(_ref) {
23
+ var isExpanded = _ref.isExpanded,
24
+ value = _ref.value,
25
+ keyName = _ref.keyName;
26
+ var _useSectionStore2 = (0, _Section.useSectionStore)(),
27
+ _useSectionStore2$Ell = _useSectionStore2.Ellipsis,
28
+ Comp = _useSectionStore2$Ell === void 0 ? {} : _useSectionStore2$Ell;
29
+ var as = Comp.as,
30
+ render = Comp.render,
31
+ reset = (0, _objectWithoutProperties2["default"])(Comp, _excluded);
32
+ var Elm = as || 'span';
33
+ var child = render && typeof render === 'function' && render((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
34
+ 'data-expanded': isExpanded
35
+ }), {
36
+ value: value,
37
+ keyName: keyName
38
+ });
39
+ if (child) return child;
40
+ if (!isExpanded) return null;
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Elm, (0, _objectSpread2["default"])({}, reset));
42
+ };
43
+ EllipsisComp.displayName = 'JVR.EllipsisComp';
@@ -1,6 +1,14 @@
1
+ import { type PropsWithChildren } from 'react';
1
2
  import { type TagType } from '../store/Types';
2
3
  import { type SectionElement } from '../store/Section';
4
+ import { type SectionElementResult } from '../store/Section';
3
5
  export declare const KeyName: {
4
6
  <K extends TagType>(props: SectionElement<K>): null;
5
7
  displayName: string;
6
8
  };
9
+ export interface KeyNameCompProps<T extends object> extends React.HTMLAttributes<HTMLSpanElement>, SectionElementResult<T> {
10
+ }
11
+ export declare const KeyNameComp: {
12
+ <T extends object>(props: PropsWithChildren<KeyNameCompProps<T>>): string | number | true | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element;
13
+ displayName: string;
14
+ };
@@ -1,17 +1,53 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.KeyName = void 0;
7
+ exports.KeyNameComp = exports.KeyName = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
7
10
  var _Section = require("../store/Section");
8
11
  var _useRender = require("../utils/useRender");
9
- var KeyName = function KeyName(props) {
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["as", "render"];
14
+ var KeyName = exports.KeyName = function KeyName(props) {
10
15
  var _useSectionStore = (0, _Section.useSectionStore)(),
11
16
  _useSectionStore$KeyN = _useSectionStore.KeyName,
12
17
  Comp = _useSectionStore$KeyN === void 0 ? {} : _useSectionStore$KeyN;
13
18
  (0, _useRender.useSectionRender)(Comp, props, 'KeyName');
14
19
  return null;
15
20
  };
16
- exports.KeyName = KeyName;
17
- KeyName.displayName = 'JVR.KeyName';
21
+ KeyName.displayName = 'JVR.KeyName';
22
+ var KeyNameComp = exports.KeyNameComp = function KeyNameComp(props) {
23
+ var children = props.children,
24
+ value = props.value,
25
+ parentValue = props.parentValue,
26
+ keyName = props.keyName,
27
+ keys = props.keys;
28
+ var isNumber = typeof children === 'number';
29
+ var style = {
30
+ color: isNumber ? 'var(--w-rjv-key-number, #268bd2)' : 'var(--w-rjv-key-string, #002b36)'
31
+ };
32
+ var _useSectionStore2 = (0, _Section.useSectionStore)(),
33
+ _useSectionStore2$Key = _useSectionStore2.KeyName,
34
+ Comp = _useSectionStore2$Key === void 0 ? {} : _useSectionStore2$Key;
35
+ var as = Comp.as,
36
+ render = Comp.render,
37
+ reset = (0, _objectWithoutProperties2["default"])(Comp, _excluded);
38
+ reset.style = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset.style), style);
39
+ var Elm = as || 'span';
40
+ var child = render && typeof render === 'function' && render((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
41
+ children: children
42
+ }), {
43
+ value: value,
44
+ parentValue: parentValue,
45
+ keyName: keyName,
46
+ keys: keys
47
+ });
48
+ if (child) return child;
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Elm, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
50
+ children: children
51
+ }));
52
+ };
53
+ KeyNameComp.displayName = 'JVR.KeyNameComp';
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { type TagType } from '../store/Types';
3
+ import { type SectionElement } from '../store/Section';
4
+ import { type SectionElementResult } from '../store/Section';
5
+ export declare const Row: {
6
+ <K extends TagType>(props: SectionElement<K>): null;
7
+ displayName: string;
8
+ };
9
+ export interface RowCompProps<T extends object> extends React.HTMLAttributes<HTMLDivElement>, SectionElementResult<T> {
10
+ }
11
+ export declare const RowComp: {
12
+ <T extends object>(props: React.PropsWithChildren<RowCompProps<T>>): string | number | true | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element;
13
+ displayName: string;
14
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RowComp = exports.Row = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _Section = require("../store/Section");
11
+ var _useRender = require("../utils/useRender");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["children", "value", "parentValue", "keyName", "keys"],
14
+ _excluded2 = ["as", "render", "children"];
15
+ var Row = exports.Row = function Row(props) {
16
+ var _useSectionStore = (0, _Section.useSectionStore)(),
17
+ _useSectionStore$Row = _useSectionStore.Row,
18
+ Comp = _useSectionStore$Row === void 0 ? {} : _useSectionStore$Row;
19
+ (0, _useRender.useSectionRender)(Comp, props, 'Row');
20
+ return null;
21
+ };
22
+ Row.displayName = 'JVR.Row';
23
+ var RowComp = exports.RowComp = function RowComp(props) {
24
+ var children = props.children,
25
+ value = props.value,
26
+ parentValue = props.parentValue,
27
+ keyName = props.keyName,
28
+ keys = props.keys,
29
+ other = (0, _objectWithoutProperties2["default"])(props, _excluded);
30
+ var _useSectionStore2 = (0, _Section.useSectionStore)(),
31
+ _useSectionStore2$Row = _useSectionStore2.Row,
32
+ Comp = _useSectionStore2$Row === void 0 ? {} : _useSectionStore2$Row;
33
+ var as = Comp.as,
34
+ render = Comp.render,
35
+ _ = Comp.children,
36
+ reset = (0, _objectWithoutProperties2["default"])(Comp, _excluded2);
37
+ var Elm = as || 'div';
38
+ var child = render && typeof render === 'function' && render((0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), reset), {}, {
39
+ children: children
40
+ }), {
41
+ value: value,
42
+ keyName: keyName,
43
+ parentValue: parentValue,
44
+ keys: keys
45
+ });
46
+ if (child) return child;
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Elm, (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), reset), {}, {
48
+ children: children
49
+ }));
50
+ };
51
+ RowComp.displayName = 'JVR.RowComp';
@@ -16,10 +16,9 @@ var Context = /*#__PURE__*/(0, _react.createContext)(initialState);
16
16
  var reducer = function reducer(state, action) {
17
17
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
18
18
  };
19
- var useExpandsStore = function useExpandsStore() {
19
+ var useExpandsStore = exports.useExpandsStore = function useExpandsStore() {
20
20
  return (0, _react.useContext)(Context);
21
21
  };
22
- exports.useExpandsStore = useExpandsStore;
23
22
  var DispatchExpands = /*#__PURE__*/(0, _react.createContext)(function () {});
24
23
  DispatchExpands.displayName = 'JVR.DispatchExpands';
25
24
  function useExpands() {
@@ -28,7 +27,7 @@ function useExpands() {
28
27
  function useExpandsDispatch() {
29
28
  return (0, _react.useContext)(DispatchExpands);
30
29
  }
31
- var Expands = function Expands(_ref) {
30
+ var Expands = exports.Expands = function Expands(_ref) {
32
31
  var initial = _ref.initial,
33
32
  dispatch = _ref.dispatch,
34
33
  children = _ref.children;
@@ -40,5 +39,4 @@ var Expands = function Expands(_ref) {
40
39
  })
41
40
  });
42
41
  };
43
- exports.Expands = Expands;
44
42
  Expands.displayName = 'JVR.Expands';
@@ -1,18 +1,23 @@
1
1
  import React, { FC, PropsWithChildren, ComponentPropsWithoutRef } from 'react';
2
2
  import { type TagType } from './Types';
3
- export type SectionElementProps<T extends TagType> = {
3
+ export interface SectionElementResult<T extends object, K = string | number> {
4
+ value?: T;
5
+ parentValue?: T;
6
+ keyName?: K;
7
+ /** Index of the parent `keyName` */
8
+ keys?: K[];
9
+ }
10
+ export type SectionElementProps<T extends TagType = 'span'> = {
4
11
  as?: T;
5
- render?: (props: SectionElement<T>, result: {
6
- value: unknown;
7
- keyName: string | number;
8
- }) => React.ReactNode;
12
+ render?: (props: SectionElement<T>, result: SectionElementResult<object>) => React.ReactNode;
9
13
  };
10
- export type SectionElement<T extends TagType> = SectionElementProps<T> & ComponentPropsWithoutRef<T>;
14
+ export type SectionElement<T extends TagType = 'span'> = SectionElementProps<T> & ComponentPropsWithoutRef<T>;
11
15
  type InitialState<T extends TagType> = {
12
16
  Copied?: SectionElement<T>;
13
17
  CountInfo?: SectionElement<T>;
14
18
  CountInfoExtra?: SectionElement<T>;
15
19
  Ellipsis?: SectionElement<T>;
20
+ Row?: SectionElement<T>;
16
21
  KeyName?: SectionElement<T>;
17
22
  };
18
23
  type Dispatch = React.Dispatch<InitialState<TagType>>;
@@ -22,6 +27,7 @@ export declare function useSection(): [{
22
27
  CountInfo?: SectionElement<TagType> | undefined;
23
28
  CountInfoExtra?: SectionElement<TagType> | undefined;
24
29
  Ellipsis?: SectionElement<TagType> | undefined;
30
+ Row?: SectionElement<TagType> | undefined;
25
31
  KeyName?: SectionElement<TagType> | undefined;
26
32
  }, React.Dispatch<InitialState<TagType>>];
27
33
  export declare function useSectionDispatch(): Dispatch;
@@ -49,6 +49,10 @@ var initialState = {
49
49
  className: 'w-rjv-ellipsis',
50
50
  children: '...'
51
51
  },
52
+ Row: {
53
+ as: 'div',
54
+ className: 'w-rjv-line'
55
+ },
52
56
  KeyName: {
53
57
  as: 'span',
54
58
  className: 'w-rjv-object-key'
@@ -58,10 +62,9 @@ var Context = /*#__PURE__*/(0, _react.createContext)(initialState);
58
62
  var reducer = function reducer(state, action) {
59
63
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
60
64
  };
61
- var useSectionStore = function useSectionStore() {
65
+ var useSectionStore = exports.useSectionStore = function useSectionStore() {
62
66
  return (0, _react.useContext)(Context);
63
67
  };
64
- exports.useSectionStore = useSectionStore;
65
68
  var DispatchSection = /*#__PURE__*/(0, _react.createContext)(function () {});
66
69
  DispatchSection.displayName = 'JVR.DispatchSection';
67
70
  function useSection() {
@@ -70,7 +73,7 @@ function useSection() {
70
73
  function useSectionDispatch() {
71
74
  return (0, _react.useContext)(DispatchSection);
72
75
  }
73
- var Section = function Section(_ref) {
76
+ var Section = exports.Section = function Section(_ref) {
74
77
  var initial = _ref.initial,
75
78
  dispatch = _ref.dispatch,
76
79
  children = _ref.children;
@@ -82,5 +85,4 @@ var Section = function Section(_ref) {
82
85
  })
83
86
  });
84
87
  };
85
- exports.Section = Section;
86
88
  Section.displayName = 'JVR.Section';
@@ -16,10 +16,9 @@ var Context = /*#__PURE__*/(0, _react.createContext)(initialState);
16
16
  var reducer = function reducer(state, action) {
17
17
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
18
18
  };
19
- var useShowToolsStore = function useShowToolsStore() {
19
+ var useShowToolsStore = exports.useShowToolsStore = function useShowToolsStore() {
20
20
  return (0, _react.useContext)(Context);
21
21
  };
22
- exports.useShowToolsStore = useShowToolsStore;
23
22
  var DispatchShowTools = /*#__PURE__*/(0, _react.createContext)(function () {});
24
23
  DispatchShowTools.displayName = 'JVR.DispatchShowTools';
25
24
  function useShowTools() {
@@ -28,7 +27,7 @@ function useShowTools() {
28
27
  function useShowToolsDispatch() {
29
28
  return (0, _react.useContext)(DispatchShowTools);
30
29
  }
31
- var ShowTools = function ShowTools(_ref) {
30
+ var ShowTools = exports.ShowTools = function ShowTools(_ref) {
32
31
  var initial = _ref.initial,
33
32
  dispatch = _ref.dispatch,
34
33
  children = _ref.children;
@@ -40,5 +39,4 @@ var ShowTools = function ShowTools(_ref) {
40
39
  })
41
40
  });
42
41
  };
43
- exports.ShowTools = ShowTools;
44
42
  ShowTools.displayName = 'JVR.ShowTools';
@@ -1,11 +1,11 @@
1
1
  import { FC, PropsWithChildren, ElementType, ComponentPropsWithoutRef } from 'react';
2
2
  import { type TagType } from './Types';
3
- type SymbolsElementProps<T extends TagType> = {
3
+ type SymbolsElementProps<T extends TagType = 'span'> = {
4
4
  as?: T;
5
5
  render?: (props: SymbolsElement<T>) => React.ReactNode;
6
6
  'data-type'?: string;
7
7
  };
8
- export type SymbolsElement<T extends TagType> = SymbolsElementProps<T> & ComponentPropsWithoutRef<T>;
8
+ export type SymbolsElement<T extends TagType = 'span'> = SymbolsElementProps<T> & ComponentPropsWithoutRef<T>;
9
9
  type InitialState<T extends ElementType = 'span'> = {
10
10
  Arrow?: SymbolsElement<T>;
11
11
  Colon?: SymbolsElement<T>;
@@ -85,10 +85,9 @@ var Context = /*#__PURE__*/(0, _react.createContext)(initialState);
85
85
  var reducer = function reducer(state, action) {
86
86
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
87
87
  };
88
- var useSymbolsStore = function useSymbolsStore() {
88
+ var useSymbolsStore = exports.useSymbolsStore = function useSymbolsStore() {
89
89
  return (0, _react.useContext)(Context);
90
90
  };
91
- exports.useSymbolsStore = useSymbolsStore;
92
91
  var DispatchSymbols = /*#__PURE__*/(0, _react.createContext)(function () {});
93
92
  DispatchSymbols.displayName = 'JVR.DispatchSymbols';
94
93
  function useSymbols() {
@@ -97,7 +96,7 @@ function useSymbols() {
97
96
  function useSymbolsDispatch() {
98
97
  return (0, _react.useContext)(DispatchSymbols);
99
98
  }
100
- var Symbols = function Symbols(_ref) {
99
+ var Symbols = exports.Symbols = function Symbols(_ref) {
101
100
  var initial = _ref.initial,
102
101
  dispatch = _ref.dispatch,
103
102
  children = _ref.children;
@@ -109,5 +108,4 @@ var Symbols = function Symbols(_ref) {
109
108
  })
110
109
  });
111
110
  };
112
- exports.Symbols = Symbols;
113
111
  Symbols.displayName = 'JVR.Symbols';
@@ -1,32 +1,33 @@
1
- import { FC, PropsWithChildren, ComponentPropsWithoutRef } from 'react';
1
+ import { PropsWithChildren, ComponentPropsWithoutRef } from 'react';
2
2
  export type TagType = React.ElementType | keyof JSX.IntrinsicElements;
3
- type TypesElementProps<T extends TagType> = {
3
+ type TypesElementProps<T extends TagType = 'span'> = {
4
4
  as?: T;
5
5
  render?: (props: TypesElement<T>, result: {
6
6
  type: 'type' | 'value';
7
7
  value?: unknown;
8
+ keyName: string | number;
8
9
  }) => React.ReactNode;
9
10
  'data-type'?: string;
10
11
  };
11
12
  export type TypesElement<T extends TagType> = TypesElementProps<T> & ComponentPropsWithoutRef<T>;
12
- export type InitialTypesState = {
13
+ export type InitialTypesState<T extends TagType = 'span'> = {
13
14
  displayDataTypes?: boolean;
14
- Url?: TypesElement<TagType>;
15
- Str?: TypesElement<TagType>;
16
- Undefined?: TypesElement<TagType>;
17
- Null?: TypesElement<TagType>;
18
- True?: TypesElement<TagType>;
19
- False?: TypesElement<TagType>;
20
- Date?: TypesElement<TagType>;
21
- Float?: TypesElement<TagType>;
22
- Set?: TypesElement<TagType>;
23
- Int?: TypesElement<TagType>;
24
- Map?: TypesElement<TagType>;
25
- Nan?: TypesElement<TagType>;
26
- Bigint?: TypesElement<TagType>;
15
+ Url?: TypesElement<T>;
16
+ Str?: TypesElement<T>;
17
+ Undefined?: TypesElement<T>;
18
+ Null?: TypesElement<T>;
19
+ True?: TypesElement<T>;
20
+ False?: TypesElement<T>;
21
+ Date?: TypesElement<T>;
22
+ Float?: TypesElement<T>;
23
+ Set?: TypesElement<T>;
24
+ Int?: TypesElement<T>;
25
+ Map?: TypesElement<T>;
26
+ Nan?: TypesElement<T>;
27
+ Bigint?: TypesElement<T>;
27
28
  };
28
- type Dispatch = React.Dispatch<InitialTypesState>;
29
- export declare const useTypesStore: () => InitialTypesState;
29
+ type Dispatch<T extends TagType> = React.Dispatch<InitialTypesState<T>>;
30
+ export declare const useTypesStore: () => InitialTypesState<TagType>;
30
31
  export declare function useTypes(): [{
31
32
  displayDataTypes?: boolean | undefined;
32
33
  Url?: TypesElement<TagType> | undefined;
@@ -42,11 +43,14 @@ export declare function useTypes(): [{
42
43
  Map?: TypesElement<TagType> | undefined;
43
44
  Nan?: TypesElement<TagType> | undefined;
44
45
  Bigint?: TypesElement<TagType> | undefined;
45
- }, import("react").Dispatch<InitialTypesState>];
46
- export declare function useTypesDispatch(): Dispatch;
47
- interface TypesProps {
48
- initial: InitialTypesState;
49
- dispatch: Dispatch;
46
+ }, import("react").Dispatch<InitialTypesState<TagType>>];
47
+ export declare function useTypesDispatch(): Dispatch<TagType>;
48
+ interface TypesProps<T extends TagType> {
49
+ initial: InitialTypesState<T>;
50
+ dispatch: Dispatch<TagType>;
51
+ }
52
+ export declare function Types<T extends TagType>({ initial, dispatch, children }: PropsWithChildren<TypesProps<T>>): import("react/jsx-runtime").JSX.Element;
53
+ export declare namespace Types {
54
+ var displayName: string;
50
55
  }
51
- export declare const Types: FC<PropsWithChildren<TypesProps>>;
52
56
  export {};
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Types = void 0;
7
+ exports.Types = Types;
8
8
  exports.useTypes = useTypes;
9
9
  exports.useTypesDispatch = useTypesDispatch;
10
10
  exports.useTypesStore = void 0;
@@ -50,7 +50,8 @@ var initialState = {
50
50
  },
51
51
  Map: {
52
52
  style: {
53
- color: 'var(--w-rjv-type-map-color, #268bd2)'
53
+ color: 'var(--w-rjv-type-map-color, #268bd2)',
54
+ marginRight: 3
54
55
  },
55
56
  as: 'span',
56
57
  'data-type': 'map',
@@ -86,7 +87,8 @@ var initialState = {
86
87
  },
87
88
  Set: {
88
89
  style: {
89
- color: 'var(--w-rjv-type-set-color, #268bd2)'
90
+ color: 'var(--w-rjv-type-set-color, #268bd2)',
91
+ marginRight: 3
90
92
  },
91
93
  as: 'span',
92
94
  'data-type': 'set',
@@ -134,10 +136,9 @@ var Context = /*#__PURE__*/(0, _react.createContext)(initialState);
134
136
  var reducer = function reducer(state, action) {
135
137
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
136
138
  };
137
- var useTypesStore = function useTypesStore() {
139
+ var useTypesStore = exports.useTypesStore = function useTypesStore() {
138
140
  return (0, _react.useContext)(Context);
139
141
  };
140
- exports.useTypesStore = useTypesStore;
141
142
  var DispatchTypes = /*#__PURE__*/(0, _react.createContext)(function () {});
142
143
  DispatchTypes.displayName = 'JVR.DispatchTypes';
143
144
  function useTypes() {
@@ -146,7 +147,7 @@ function useTypes() {
146
147
  function useTypesDispatch() {
147
148
  return (0, _react.useContext)(DispatchTypes);
148
149
  }
149
- var Types = function Types(_ref) {
150
+ function Types(_ref) {
150
151
  var initial = _ref.initial,
151
152
  dispatch = _ref.dispatch,
152
153
  children = _ref.children;
@@ -157,6 +158,5 @@ var Types = function Types(_ref) {
157
158
  children: children
158
159
  })
159
160
  });
160
- };
161
- exports.Types = Types;
161
+ }
162
162
  Types.displayName = 'JVR.Types';
package/cjs/store.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
2
  import { JsonViewProps } from './';
3
- import { type InitialTypesState } from './store/Types';
3
+ import { type InitialTypesState, type TagType } from './store/Types';
4
4
  export type BlockTagType = keyof JSX.IntrinsicElements;
5
5
  export interface InitialState<T extends object> {
6
6
  value?: object;
@@ -20,10 +20,13 @@ export declare const Context: React.Context<InitialState<object>>;
20
20
  export declare function reducer(state: InitialState<object>, action: InitialState<object>): InitialState<object>;
21
21
  export declare const useStore: () => InitialState<object>;
22
22
  export declare const useDispatchStore: () => Dispatch;
23
- export interface ProviderProps {
23
+ export interface ProviderProps<T extends TagType> {
24
24
  initialState?: InitialState<object>;
25
- initialTypes?: InitialTypesState;
25
+ initialTypes?: InitialTypesState<T>;
26
26
  }
27
- export declare const Provider: React.FC<PropsWithChildren<ProviderProps>>;
27
+ export declare const Provider: {
28
+ <T extends TagType>({ children, initialState: init, initialTypes, }: PropsWithChildren<ProviderProps<T>>): import("react/jsx-runtime").JSX.Element;
29
+ displayName: string;
30
+ };
28
31
  export declare function useDispatch(): Dispatch;
29
32
  export {};
package/cjs/store.js CHANGED
@@ -18,28 +18,24 @@ var _Types = require("./store/Types");
18
18
  var _Symbols = require("./store/Symbols");
19
19
  var _Section = require("./store/Section");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
- var initialState = {
21
+ var initialState = exports.initialState = {
22
22
  objectSortKeys: false,
23
23
  indentWidth: 15
24
24
  };
25
- exports.initialState = initialState;
26
- var Context = /*#__PURE__*/(0, _react.createContext)(initialState);
27
- exports.Context = Context;
25
+ var Context = exports.Context = /*#__PURE__*/(0, _react.createContext)(initialState);
28
26
  Context.displayName = 'JVR.Context';
29
27
  var DispatchContext = /*#__PURE__*/(0, _react.createContext)(function () {});
30
28
  DispatchContext.displayName = 'JVR.DispatchContext';
31
29
  function reducer(state, action) {
32
30
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
33
31
  }
34
- var useStore = function useStore() {
32
+ var useStore = exports.useStore = function useStore() {
35
33
  return (0, _react.useContext)(Context);
36
34
  };
37
- exports.useStore = useStore;
38
- var useDispatchStore = function useDispatchStore() {
35
+ var useDispatchStore = exports.useDispatchStore = function useDispatchStore() {
39
36
  return (0, _react.useContext)(DispatchContext);
40
37
  };
41
- exports.useDispatchStore = useDispatchStore;
42
- var Provider = function Provider(_ref) {
38
+ var Provider = exports.Provider = function Provider(_ref) {
43
39
  var children = _ref.children,
44
40
  init = _ref.initialState,
45
41
  initialTypes = _ref.initialTypes;
@@ -98,7 +94,6 @@ var Provider = function Provider(_ref) {
98
94
  })
99
95
  });
100
96
  };
101
- exports.Provider = Provider;
102
97
  function useDispatch() {
103
98
  return (0, _react.useContext)(DispatchContext);
104
99
  }
@@ -1,6 +1,6 @@
1
1
  import { type SymbolsElement } from '../store/Symbols';
2
2
  import { type TagType } from '../store/Types';
3
3
  export declare const Arrow: {
4
- (props: SymbolsElement<TagType>): null;
4
+ <K extends TagType = "span">(props: SymbolsElement<K>): null;
5
5
  displayName: string;
6
6
  };
@@ -6,12 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Arrow = void 0;
7
7
  var _Symbols = require("../store/Symbols");
8
8
  var _useRender = require("../utils/useRender");
9
- var Arrow = function Arrow(props) {
9
+ var Arrow = exports.Arrow = function Arrow(props) {
10
10
  var _useSymbolsStore = (0, _Symbols.useSymbolsStore)(),
11
11
  _useSymbolsStore$Arro = _useSymbolsStore.Arrow,
12
12
  Comp = _useSymbolsStore$Arro === void 0 ? {} : _useSymbolsStore$Arro;
13
13
  (0, _useRender.useSymbolsRender)(Comp, props, 'Arrow');
14
14
  return null;
15
15
  };
16
- exports.Arrow = Arrow;
17
16
  Arrow.displayName = 'JVR.Arrow';