@mongodb-js/compass-components 0.12.0 → 0.15.0

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 (160) hide show
  1. package/lib/compass-font-sizes.d.ts +1 -0
  2. package/lib/compass-font-sizes.d.ts.map +1 -1
  3. package/lib/compass-font-sizes.js +2 -1
  4. package/lib/compass-font-sizes.js.map +1 -1
  5. package/lib/compass-ui-colors.d.ts +2 -0
  6. package/lib/compass-ui-colors.d.ts.map +1 -1
  7. package/lib/compass-ui-colors.js +3 -1
  8. package/lib/compass-ui-colors.js.map +1 -1
  9. package/lib/components/accordion.d.ts +5 -3
  10. package/lib/components/accordion.d.ts.map +1 -1
  11. package/lib/components/accordion.js +21 -9
  12. package/lib/components/accordion.js.map +1 -1
  13. package/lib/components/bson-value.d.ts +40 -0
  14. package/lib/components/bson-value.d.ts.map +1 -0
  15. package/lib/components/bson-value.js +208 -0
  16. package/lib/components/bson-value.js.map +1 -0
  17. package/lib/components/cancel-loader.d.ts.map +1 -1
  18. package/lib/components/cancel-loader.js +15 -48
  19. package/lib/components/cancel-loader.js.map +1 -1
  20. package/lib/components/checkbox.d.ts +1 -1
  21. package/lib/components/checkbox.d.ts.map +1 -1
  22. package/lib/components/checkbox.js +2 -6
  23. package/lib/components/checkbox.js.map +1 -1
  24. package/lib/components/confirmation-modal.d.ts +1 -1
  25. package/lib/components/confirmation-modal.d.ts.map +1 -1
  26. package/lib/components/confirmation-modal.js +2 -5
  27. package/lib/components/confirmation-modal.js.map +1 -1
  28. package/lib/components/document-list/auto-focus-context.d.ts +9 -0
  29. package/lib/components/document-list/auto-focus-context.d.ts.map +1 -0
  30. package/lib/components/document-list/auto-focus-context.js +10 -0
  31. package/lib/components/document-list/auto-focus-context.js.map +1 -0
  32. package/lib/components/document-list/document-actions-group.d.ts +16 -0
  33. package/lib/components/document-list/document-actions-group.d.ts.map +1 -0
  34. package/lib/components/document-list/document-actions-group.js +95 -0
  35. package/lib/components/document-list/document-actions-group.js.map +1 -0
  36. package/lib/components/document-list/document-fields-toggle-group.d.ts +11 -0
  37. package/lib/components/document-list/document-fields-toggle-group.d.ts.map +1 -0
  38. package/lib/components/document-list/document-fields-toggle-group.js +69 -0
  39. package/lib/components/document-list/document-fields-toggle-group.js.map +1 -0
  40. package/lib/components/document-list/document.d.ts +12 -0
  41. package/lib/components/document-list/document.d.ts.map +1 -0
  42. package/lib/components/document-list/document.js +90 -0
  43. package/lib/components/document-list/document.js.map +1 -0
  44. package/lib/components/document-list/element-actions.d.ts +16 -0
  45. package/lib/components/document-list/element-actions.d.ts.map +1 -0
  46. package/lib/components/document-list/element-actions.js +94 -0
  47. package/lib/components/document-list/element-actions.js.map +1 -0
  48. package/lib/components/document-list/element-editors.d.ts +33 -0
  49. package/lib/components/document-list/element-editors.d.ts.map +1 -0
  50. package/lib/components/document-list/element-editors.js +143 -0
  51. package/lib/components/document-list/element-editors.js.map +1 -0
  52. package/lib/components/document-list/element.d.ts +12 -0
  53. package/lib/components/document-list/element.d.ts.map +1 -0
  54. package/lib/components/document-list/element.js +347 -0
  55. package/lib/components/document-list/element.js.map +1 -0
  56. package/lib/components/document-list/font-awesome-icon.d.ts +14 -0
  57. package/lib/components/document-list/font-awesome-icon.d.ts.map +1 -0
  58. package/lib/components/document-list/font-awesome-icon.js +29 -0
  59. package/lib/components/document-list/font-awesome-icon.js.map +1 -0
  60. package/lib/components/document-list/index.d.ts +4 -0
  61. package/lib/components/document-list/index.d.ts.map +1 -0
  62. package/lib/components/document-list/index.js +13 -0
  63. package/lib/components/document-list/index.js.map +1 -0
  64. package/lib/components/document-list/use-force-update.d.ts +2 -0
  65. package/lib/components/document-list/use-force-update.d.ts.map +1 -0
  66. package/lib/components/document-list/use-force-update.js +13 -0
  67. package/lib/components/document-list/use-force-update.js.map +1 -0
  68. package/lib/components/document-list/use-previous.d.ts +2 -0
  69. package/lib/components/document-list/use-previous.d.ts.map +1 -0
  70. package/lib/components/document-list/use-previous.js +13 -0
  71. package/lib/components/document-list/use-previous.js.map +1 -0
  72. package/lib/components/editor.d.ts +31 -0
  73. package/lib/components/editor.d.ts.map +1 -0
  74. package/lib/components/editor.js +62 -0
  75. package/lib/components/editor.js.map +1 -0
  76. package/lib/components/error-boundary.d.ts +2 -10
  77. package/lib/components/error-boundary.d.ts.map +1 -1
  78. package/lib/components/error-boundary.js +7 -3
  79. package/lib/components/error-boundary.js.map +1 -1
  80. package/lib/components/error-warning-summary.d.ts +22 -0
  81. package/lib/components/error-warning-summary.d.ts.map +1 -0
  82. package/lib/components/error-warning-summary.js +84 -0
  83. package/lib/components/error-warning-summary.js.map +1 -0
  84. package/lib/components/file-input.d.ts +16 -15
  85. package/lib/components/file-input.d.ts.map +1 -1
  86. package/lib/components/file-input.js +21 -13
  87. package/lib/components/file-input.js.map +1 -1
  88. package/lib/components/inline-definition.js +2 -2
  89. package/lib/components/inline-definition.js.map +1 -1
  90. package/lib/components/inline-info-link.js +3 -4
  91. package/lib/components/inline-info-link.js.map +1 -1
  92. package/lib/components/leafygreen.d.ts +63 -0
  93. package/lib/components/leafygreen.d.ts.map +1 -0
  94. package/lib/components/leafygreen.js +116 -0
  95. package/lib/components/leafygreen.js.map +1 -0
  96. package/lib/components/modal-title.d.ts +5 -0
  97. package/lib/components/modal-title.d.ts.map +1 -0
  98. package/lib/components/modal-title.js +18 -0
  99. package/lib/components/modal-title.js.map +1 -0
  100. package/lib/components/modal.d.ts +1 -1
  101. package/lib/components/modal.d.ts.map +1 -1
  102. package/lib/components/modal.js +2 -5
  103. package/lib/components/modal.js.map +1 -1
  104. package/lib/components/radio-box-group.d.ts +1 -1
  105. package/lib/components/radio-box-group.d.ts.map +1 -1
  106. package/lib/components/radio-box-group.js +2 -2
  107. package/lib/components/radio-box-group.js.map +1 -1
  108. package/lib/components/resize-handle.d.ts.map +1 -1
  109. package/lib/components/resize-handle.js +1 -0
  110. package/lib/components/resize-handle.js.map +1 -1
  111. package/lib/components/tab-nav-bar.d.ts +14 -0
  112. package/lib/components/tab-nav-bar.d.ts.map +1 -0
  113. package/lib/components/tab-nav-bar.js +47 -0
  114. package/lib/components/tab-nav-bar.js.map +1 -0
  115. package/lib/components/toggle.d.ts +1 -1
  116. package/lib/components/toggle.d.ts.map +1 -1
  117. package/lib/components/toggle.js +2 -2
  118. package/lib/components/toggle.js.map +1 -1
  119. package/lib/components/toolbar.d.ts +10 -0
  120. package/lib/components/toolbar.d.ts.map +1 -0
  121. package/lib/components/toolbar.js +25 -0
  122. package/lib/components/toolbar.js.map +1 -0
  123. package/lib/components/tooltip.d.ts +1 -1
  124. package/lib/components/tooltip.d.ts.map +1 -1
  125. package/lib/components/tooltip.js +2 -5
  126. package/lib/components/tooltip.js.map +1 -1
  127. package/lib/components/virtual-grid.d.ts +3 -2
  128. package/lib/components/virtual-grid.d.ts.map +1 -1
  129. package/lib/components/virtual-grid.js +5 -7
  130. package/lib/components/virtual-grid.js.map +1 -1
  131. package/lib/components/workspace-container.d.ts +8 -0
  132. package/lib/components/workspace-container.d.ts.map +1 -0
  133. package/lib/components/workspace-container.js +31 -0
  134. package/lib/components/workspace-container.js.map +1 -0
  135. package/lib/components/workspace-tabs/tab.d.ts +16 -0
  136. package/lib/components/workspace-tabs/tab.d.ts.map +1 -0
  137. package/lib/components/workspace-tabs/tab.js +223 -0
  138. package/lib/components/workspace-tabs/tab.js.map +1 -0
  139. package/lib/components/workspace-tabs/workspace-tabs.d.ts +24 -0
  140. package/lib/components/workspace-tabs/workspace-tabs.d.ts.map +1 -0
  141. package/lib/components/workspace-tabs/workspace-tabs.js +175 -0
  142. package/lib/components/workspace-tabs/workspace-tabs.js.map +1 -0
  143. package/lib/hooks/use-default-action.d.ts.map +1 -1
  144. package/lib/hooks/use-default-action.js +1 -5
  145. package/lib/hooks/use-default-action.js.map +1 -1
  146. package/lib/hooks/use-theme.d.ts +6 -2
  147. package/lib/hooks/use-theme.d.ts.map +1 -1
  148. package/lib/hooks/use-theme.js +15 -2
  149. package/lib/hooks/use-theme.js.map +1 -1
  150. package/lib/hooks/use-virtual-grid.d.ts +3 -6
  151. package/lib/hooks/use-virtual-grid.d.ts.map +1 -1
  152. package/lib/hooks/use-virtual-grid.js +72 -42
  153. package/lib/hooks/use-virtual-grid.js.map +1 -1
  154. package/lib/hooks/use-virtual-grid.test.js +7 -6
  155. package/lib/hooks/use-virtual-grid.test.js.map +1 -1
  156. package/lib/index.d.ts +19 -22
  157. package/lib/index.d.ts.map +1 -1
  158. package/lib/index.js +29 -60
  159. package/lib/index.js.map +1 -1
  160. package/package.json +28 -16
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.TypeEditor = exports.ValueEditor = exports.KeyEditor = void 0;
26
+ const react_1 = __importStar(require("react"));
27
+ const hadron_type_checker_1 = __importDefault(require("hadron-type-checker"));
28
+ const emotion_1 = require("@leafygreen-ui/emotion");
29
+ const palette_1 = require("@leafygreen-ui/palette");
30
+ const tokens_1 = require("@leafygreen-ui/tokens");
31
+ const bson_value_1 = __importStar(require("../bson-value"));
32
+ const tooltip_1 = require("../tooltip");
33
+ const maxWidth = (0, emotion_1.css)({
34
+ maxWidth: '100%',
35
+ overflowX: 'hidden',
36
+ textOverflow: 'ellipsis',
37
+ });
38
+ const editorReset = (0, emotion_1.css)({
39
+ padding: 0,
40
+ margin: 0,
41
+ border: 'none',
42
+ boxShadow: 'none',
43
+ outline: 'none',
44
+ backgroundColor: 'transparent',
45
+ maxWidth: '100%',
46
+ });
47
+ const editorOutline = (0, emotion_1.css)({
48
+ '&:focus, &:active': {
49
+ borderRadius: `2px`,
50
+ boxShadow: `0 0 0 2px ${palette_1.uiColors.focus}`,
51
+ },
52
+ });
53
+ const editorInvalid = (0, emotion_1.css)({
54
+ backgroundColor: palette_1.uiColors.red.light2,
55
+ color: palette_1.uiColors.red.dark2,
56
+ '&:focus, &:active': {
57
+ boxShadow: `0 0 0 2px ${palette_1.uiColors.red.dark2}`,
58
+ },
59
+ });
60
+ const KeyEditor = ({ editing, value, valid, validationMessage, onChange, autoFocus, onEditStart, }) => {
61
+ const width = `${Math.max(value.length, 1)}ch`;
62
+ return (react_1.default.createElement(react_1.default.Fragment, null, editing ? (react_1.default.createElement(tooltip_1.Tooltip, { darkMode: true, isDisabled: valid, delay: 600, usePortal: false, trigger: ({ className, children, onDragStart, onPointerUp, onPointerDown, onMouseDown, ...triggerProps }) => {
63
+ return (react_1.default.createElement("div", { className: className },
64
+ react_1.default.createElement("input", { type: "text", "data-testid": "hadron-document-key-editor", value: value, onChange: (evt) => {
65
+ onChange(evt.currentTarget.value);
66
+ }, autoFocus: autoFocus, className: (0, emotion_1.cx)(maxWidth, editorReset, editorOutline, !valid && editorInvalid), style: { width }, spellCheck: "false", ...triggerProps }),
67
+ children));
68
+ } }, validationMessage)) : (react_1.default.createElement("div", { "data-testid": "hadron-document-clickable-key", onDoubleClick: onEditStart, className: maxWidth, style: { width } }, value))));
69
+ };
70
+ exports.KeyEditor = KeyEditor;
71
+ const textareaContainer = (0, emotion_1.css)({
72
+ width: '100%',
73
+ maxWidth: '100%',
74
+ '&::before, &::after': {
75
+ content: "'\"'",
76
+ userSelect: 'none',
77
+ },
78
+ });
79
+ const editorTextarea = (0, emotion_1.css)({
80
+ display: 'inline-block',
81
+ whiteSpace: 'nowrap',
82
+ minWidth: '5ch',
83
+ maxWidth: 'calc(100% - 2ch)',
84
+ verticalAlign: 'top',
85
+ });
86
+ const valueContainer = (0, emotion_1.css)({});
87
+ function getCustomColorStyle(type) {
88
+ return (0, bson_value_1.hasCustomColor)(type) ? (0, emotion_1.css)({ color: bson_value_1.VALUE_COLOR_BY_TYPE[type] }) : '';
89
+ }
90
+ const ValueEditor = ({ editing, onEditStart, type, value, valid, validationMessage, originalValue, autoFocus, onChange, onFocus, onBlur, }) => {
91
+ const val = String(value);
92
+ const inputStyle = (0, react_1.useMemo)(() => {
93
+ if (type === 'String') {
94
+ const lines = val.split('\n');
95
+ const longestLineCharLength = Math.max(...lines.map((line) => line.length));
96
+ const width = `${Math.min(longestLineCharLength + 1, 70)}ch`;
97
+ const minLines = Math.max(lines.length, longestLineCharLength > 70 ? 2 : 1);
98
+ const maxLines = Math.min(minLines, 10);
99
+ const minHeight = tokens_1.spacing[3] * Math.min(minLines, maxLines);
100
+ const height = tokens_1.spacing[3] * maxLines;
101
+ return { width, minHeight, height };
102
+ }
103
+ return { width: `${Math.max(val.length, 1)}ch` };
104
+ }, [val, type]);
105
+ return (react_1.default.createElement(react_1.default.Fragment, null, editing ? (react_1.default.createElement(tooltip_1.Tooltip, { darkMode: true, isDisabled: valid, delay: 600, usePortal: false, trigger: ({ className, children, onDragStart, onPointerUp, onPointerDown, onMouseDown, ...triggerProps }) => {
106
+ return (react_1.default.createElement("div", { className: className },
107
+ type === 'String' ? (react_1.default.createElement("div", { className: (0, emotion_1.cx)(textareaContainer, getCustomColorStyle(type)) },
108
+ react_1.default.createElement("textarea", { "data-testid": "hadron-document-value-editor", value: val, onChange: (evt) => {
109
+ onChange(evt.currentTarget.value);
110
+ }, onFocus: onFocus, onBlur: onBlur, autoFocus: autoFocus, className: (0, emotion_1.cx)(editorReset, editorOutline, editorTextarea, !valid && editorInvalid), spellCheck: "false", style: inputStyle, ...triggerProps }))) : (react_1.default.createElement("input", { type: "text", "data-testid": "hadron-document-value-editor", value: val, onChange: (evt) => {
111
+ onChange(evt.currentTarget.value);
112
+ }, onFocus: onFocus, onBlur: onBlur, autoFocus: autoFocus, className: (0, emotion_1.cx)(editorReset, editorOutline, getCustomColorStyle(type), !valid && editorInvalid), style: inputStyle, spellCheck: "false", ...triggerProps })),
113
+ children));
114
+ } }, validationMessage)) : (react_1.default.createElement("div", { "data-testid": "hadron-document-clickable-value", className: valueContainer, onDoubleClick: onEditStart },
115
+ react_1.default.createElement(bson_value_1.default, { type: type, value: originalValue })))));
116
+ };
117
+ exports.ValueEditor = ValueEditor;
118
+ const TYPES = hadron_type_checker_1.default.castableTypes(true);
119
+ const longestTypeNameCharLength = Math.max(...TYPES.map((type) => type.length));
120
+ const typeEditor = (0, emotion_1.css)({
121
+ color: palette_1.uiColors.gray.base,
122
+ appearance: 'none',
123
+ paddingLeft: tokens_1.spacing[1],
124
+ width: `calc(${longestTypeNameCharLength}ch + ${tokens_1.spacing[4]}px)`,
125
+ '&:hover, &:focus, &:focus-within, &:active': {
126
+ appearance: 'auto',
127
+ paddingLeft: 0,
128
+ color: 'inherit',
129
+ },
130
+ });
131
+ const typeEditorActive = (0, emotion_1.css)({
132
+ appearance: 'auto',
133
+ paddingLeft: 0,
134
+ });
135
+ const TypeEditor = ({ editing, autoFocus, type, onChange, visuallyActive }) => {
136
+ return (react_1.default.createElement(react_1.default.Fragment, null, editing && (react_1.default.createElement("select", { value: type, "data-testid": "hadron-document-type-editor", autoFocus: autoFocus, onChange: (evt) => {
137
+ onChange(evt.currentTarget.value);
138
+ }, className: (0, emotion_1.cx)(editorReset, editorOutline, typeEditor, visuallyActive && typeEditorActive) }, TYPES.map((type) => {
139
+ return (react_1.default.createElement("option", { key: type, value: type }, type));
140
+ })))));
141
+ };
142
+ exports.TypeEditor = TypeEditor;
143
+ //# sourceMappingURL=element-editors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-editors.js","sourceRoot":"","sources":["../../../src/components/document-list/element-editors.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { Element as HadronElementType } from 'hadron-document';
3
+ export declare const HadronElement: React.FunctionComponent<{
4
+ value: HadronElementType;
5
+ editable: boolean;
6
+ editingEnabled: boolean;
7
+ onEditStart?: (id: string, field: 'key' | 'value' | 'type') => void;
8
+ allExpanded: boolean;
9
+ lineNumberSize: number;
10
+ onAddElement(el: HadronElementType): void;
11
+ }>;
12
+ //# sourceMappingURL=element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAEV,OAAO,IAAI,iBAAiB,EAE7B,MAAM,iBAAiB,CAAC;AA4RzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC3C,CAgRA,CAAC"}
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.HadronElement = void 0;
26
+ const react_1 = __importStar(require("react"));
27
+ const index_1 = require("../../index");
28
+ const hadron_document_1 = require("hadron-document");
29
+ const bson_value_1 = __importDefault(require("../bson-value"));
30
+ const tokens_1 = require("@leafygreen-ui/tokens");
31
+ const element_editors_1 = require("./element-editors");
32
+ const element_actions_1 = require("./element-actions");
33
+ const font_awesome_icon_1 = require("./font-awesome-icon");
34
+ const auto_focus_context_1 = require("./auto-focus-context");
35
+ const use_force_update_1 = require("./use-force-update");
36
+ const use_previous_1 = require("./use-previous");
37
+ function getEditorByType(type) {
38
+ switch (type) {
39
+ case 'Date':
40
+ case 'String':
41
+ case 'Decimal128':
42
+ case 'Double':
43
+ case 'Int32':
44
+ case 'Int64':
45
+ case 'Null':
46
+ case 'Undefined':
47
+ case 'ObjectId':
48
+ return hadron_document_1.ElementEditor[`${type}Editor`];
49
+ default:
50
+ return hadron_document_1.ElementEditor.StandardEditor;
51
+ }
52
+ }
53
+ function useElementEditor(el) {
54
+ var _a, _b;
55
+ const editor = (0, react_1.useRef)(null);
56
+ if (!editor.current ||
57
+ ((_a = editor.current) === null || _a === void 0 ? void 0 : _a.element) !== el ||
58
+ ((_b = editor.current) === null || _b === void 0 ? void 0 : _b.type) !== el.currentType) {
59
+ const Editor = getEditorByType(el.currentType);
60
+ editor.current = new Editor(el);
61
+ }
62
+ return editor.current;
63
+ }
64
+ function useHadronElement(el) {
65
+ var _a, _b, _c;
66
+ const forceUpdate = (0, use_force_update_1.useForceUpdate)();
67
+ const prevEl = (0, use_previous_1.usePrevious)(el);
68
+ const editor = useElementEditor(el);
69
+ const [isDuplicateKey, setIsDuplicateKey] = (0, react_1.useState)(() => {
70
+ return el.isDuplicateKey(el.currentKey);
71
+ });
72
+ const onElementChanged = (0, react_1.useCallback)((changedElement) => {
73
+ if (el.uuid === changedElement.uuid) {
74
+ forceUpdate();
75
+ }
76
+ }, [el, forceUpdate]);
77
+ const onElementAddedOrRemoved = (0, react_1.useCallback)((_el, parentEl) => {
78
+ if (el === parentEl) {
79
+ forceUpdate();
80
+ }
81
+ }, [el, forceUpdate]);
82
+ (0, react_1.useEffect)(() => {
83
+ if (prevEl && prevEl !== el) {
84
+ forceUpdate();
85
+ }
86
+ }, [el, prevEl, forceUpdate]);
87
+ (0, react_1.useEffect)(() => {
88
+ el.on(hadron_document_1.ElementEvents.Converted, onElementChanged);
89
+ el.on(hadron_document_1.ElementEvents.Edited, onElementChanged);
90
+ el.on(hadron_document_1.ElementEvents.Reverted, onElementChanged);
91
+ el.on(hadron_document_1.ElementEvents.Invalid, onElementChanged);
92
+ el.on(hadron_document_1.ElementEvents.Valid, onElementChanged);
93
+ el.on(hadron_document_1.ElementEvents.Added, onElementAddedOrRemoved);
94
+ el.on(hadron_document_1.ElementEvents.Removed, onElementAddedOrRemoved);
95
+ return () => {
96
+ el.off(hadron_document_1.ElementEvents.Converted, onElementChanged);
97
+ el.off(hadron_document_1.ElementEvents.Edited, onElementChanged);
98
+ el.off(hadron_document_1.ElementEvents.Reverted, onElementChanged);
99
+ el.off(hadron_document_1.ElementEvents.Valid, onElementChanged);
100
+ el.off(hadron_document_1.ElementEvents.Added, onElementAddedOrRemoved);
101
+ el.off(hadron_document_1.ElementEvents.Removed, onElementAddedOrRemoved);
102
+ };
103
+ }, [el, onElementChanged, onElementAddedOrRemoved]);
104
+ const isValid = el.isCurrentTypeValid();
105
+ return {
106
+ id: el.uuid,
107
+ key: {
108
+ value: String(el.currentKey),
109
+ change(newVal) {
110
+ setIsDuplicateKey(el.isDuplicateKey(newVal));
111
+ el.rename(newVal);
112
+ },
113
+ editable: el.isKeyEditable() && ((_a = el.parent) === null || _a === void 0 ? void 0 : _a.currentType) !== 'Array',
114
+ valid: !isDuplicateKey,
115
+ validationMessage: isDuplicateKey
116
+ ? `Duplicate key "${el.currentKey}" - this will overwrite previous values`
117
+ : null,
118
+ },
119
+ value: {
120
+ value: editor.value(),
121
+ originalValue: el.currentValue,
122
+ change(newVal) {
123
+ editor.edit(newVal);
124
+ },
125
+ editable: el.isValueEditable() &&
126
+ el.currentType !== 'Object' &&
127
+ el.currentType !== 'Array',
128
+ decrypted: el.isValueDecrypted(),
129
+ valid: isValid,
130
+ validationMessage: !isValid ? (_b = el.invalidTypeMessage) !== null && _b !== void 0 ? _b : null : null,
131
+ startEdit: editor.start.bind(editor),
132
+ completeEdit: editor.complete.bind(editor),
133
+ },
134
+ type: {
135
+ value: el.currentType,
136
+ change(newVal) {
137
+ el.changeType(newVal);
138
+ },
139
+ },
140
+ revert: el.isRevertable() ? el.revert.bind(el) : null,
141
+ remove: el.isNotActionable() ? null : el.remove.bind(el),
142
+ expandable: Boolean(el.elements),
143
+ children: el.elements ? [...el.elements] : [],
144
+ level: el.level,
145
+ parentType: (_c = el.parent) === null || _c === void 0 ? void 0 : _c.currentType,
146
+ removed: el.isRemoved(),
147
+ internal: el.isInternalField(),
148
+ };
149
+ }
150
+ const buttonReset = (0, index_1.css)({
151
+ margin: 0,
152
+ padding: 0,
153
+ border: 'none',
154
+ background: 'none',
155
+ });
156
+ const hadronElement = (0, index_1.css)({
157
+ display: 'flex',
158
+ paddingLeft: tokens_1.spacing[2],
159
+ paddingRight: tokens_1.spacing[2],
160
+ '&:hover': {
161
+ backgroundColor: index_1.uiColors.gray.light2,
162
+ },
163
+ });
164
+ const elementInvalid = (0, index_1.css)({
165
+ backgroundColor: index_1.uiColors.yellow.light3,
166
+ '&:hover': {
167
+ backgroundColor: index_1.uiColors.yellow.light2,
168
+ },
169
+ });
170
+ const elementRemoved = (0, index_1.css)({
171
+ backgroundColor: index_1.uiColors.red.light3,
172
+ '&:hover': {
173
+ backgroundColor: index_1.uiColors.red.light2,
174
+ },
175
+ });
176
+ const elementActions = (0, index_1.css)({
177
+ flex: 'none',
178
+ width: tokens_1.spacing[3],
179
+ });
180
+ const elementLineNumber = (0, index_1.css)({
181
+ flex: 'none',
182
+ position: 'relative',
183
+ marginLeft: tokens_1.spacing[1],
184
+ boxSizing: 'content-box',
185
+ });
186
+ const addFieldActionsContainer = (0, index_1.css)({
187
+ position: 'absolute',
188
+ top: 0,
189
+ right: 0,
190
+ });
191
+ const lineNumberCount = (0, index_1.css)({
192
+ '&::before': {
193
+ display: 'block',
194
+ width: '100%',
195
+ counterIncrement: 'line-number',
196
+ content: 'counter(line-number)',
197
+ textAlign: 'end',
198
+ color: index_1.uiColors.gray.base,
199
+ },
200
+ });
201
+ const lineNumberInvalid = (0, index_1.css)({
202
+ backgroundColor: index_1.uiColors.yellow.base,
203
+ '&::before': {
204
+ color: index_1.uiColors.yellow.dark2,
205
+ },
206
+ });
207
+ const lineNumberRemoved = (0, index_1.css)({
208
+ backgroundColor: index_1.uiColors.red.base,
209
+ color: index_1.uiColors.red.light3,
210
+ '&::before': {
211
+ color: index_1.uiColors.red.light3,
212
+ },
213
+ });
214
+ const elementSpacer = (0, index_1.css)({
215
+ flex: 'none',
216
+ });
217
+ const elementExpand = (0, index_1.css)({
218
+ width: tokens_1.spacing[3],
219
+ flex: 'none',
220
+ });
221
+ const elementKey = (0, index_1.css)({
222
+ flex: 'none',
223
+ fontWeight: 'bold',
224
+ maxWidth: '60%',
225
+ });
226
+ const elementKeyInternal = (0, index_1.css)({
227
+ color: index_1.uiColors.gray.base,
228
+ });
229
+ const elementDivider = (0, index_1.css)({
230
+ flex: 'none',
231
+ userSelect: 'none',
232
+ });
233
+ const elementValue = (0, index_1.css)({
234
+ flex: 1,
235
+ minWidth: 0,
236
+ maxWidth: '100%',
237
+ });
238
+ const elementType = (0, index_1.css)({
239
+ flex: 'none',
240
+ marginLeft: tokens_1.spacing[1],
241
+ });
242
+ const actions = (0, index_1.css)({
243
+ display: 'none',
244
+ });
245
+ const actionsVisible = (0, index_1.css)({
246
+ '[data-document-element="true"]:hover &, [data-document-element="true"]:focus-within &': {
247
+ display: 'block',
248
+ },
249
+ });
250
+ const lineNumberCountHidden = (0, index_1.css)({
251
+ '[data-document-element="true"]:hover &::before, [data-document-element="true"]:focus-within &::before': {
252
+ visibility: 'hidden',
253
+ },
254
+ });
255
+ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart, allExpanded, lineNumberSize, onAddElement, }) => {
256
+ const autoFocus = (0, auto_focus_context_1.useAutoFocusContext)();
257
+ const [expanded, setExpanded] = (0, react_1.useState)(allExpanded);
258
+ const { id, key, value, type, revert, remove, expandable, children, level, parentType, removed, internal, } = useHadronElement(element);
259
+ (0, react_1.useEffect)(() => {
260
+ setExpanded(allExpanded);
261
+ }, [allExpanded]);
262
+ const toggleExpanded = (0, react_1.useCallback)(() => {
263
+ setExpanded((val) => !val);
264
+ }, []);
265
+ const lineNumberMinWidth = (0, react_1.useMemo)(() => {
266
+ if (editingEnabled) {
267
+ const charCount = String(lineNumberSize).length;
268
+ return charCount > 2 ? `${charCount}.5ch` : tokens_1.spacing[3];
269
+ }
270
+ return tokens_1.spacing[3];
271
+ }, [lineNumberSize, editingEnabled]);
272
+ const onLineClick = (0, react_1.useCallback)(() => {
273
+ toggleExpanded();
274
+ }, [toggleExpanded]);
275
+ const isValid = key.valid && value.valid;
276
+ const shouldShowActions = editingEnabled;
277
+ const elementProps = {
278
+ className: (0, index_1.cx)(hadronElement, removed ? elementRemoved : editingEnabled && !isValid && elementInvalid),
279
+ onClick: onLineClick,
280
+ };
281
+ const keyProps = {
282
+ className: (0, index_1.cx)(elementKey, internal && elementKeyInternal),
283
+ };
284
+ return (react_1.default.createElement(react_1.default.Fragment, null,
285
+ react_1.default.createElement("div", { "data-document-element": "true", "data-testid": "hadron-document-element", "data-id": element.uuid, ...elementProps },
286
+ editable && (react_1.default.createElement("div", { className: elementActions },
287
+ react_1.default.createElement("div", { className: (0, index_1.cx)(actions, shouldShowActions && actionsVisible) },
288
+ react_1.default.createElement(element_actions_1.EditActions, { onRevert: revert, onRemove: remove, editing: editingEnabled })))),
289
+ editable && (react_1.default.createElement("div", { className: (0, index_1.cx)(elementLineNumber, editingEnabled && lineNumberCount, shouldShowActions && lineNumberCountHidden, removed
290
+ ? lineNumberRemoved
291
+ : editingEnabled && !isValid && lineNumberInvalid), style: { minWidth: lineNumberMinWidth } },
292
+ react_1.default.createElement("div", { className: (0, index_1.cx)(actions, addFieldActionsContainer, shouldShowActions && actionsVisible) },
293
+ react_1.default.createElement(element_actions_1.AddFieldActions, { editing: editingEnabled, type: type.value, parentType: parentType && parentType === 'Document'
294
+ ? 'Object'
295
+ : parentType, keyName: key.value, onAddFieldAfterElement: () => {
296
+ const el = element.insertSiblingPlaceholder();
297
+ onAddElement(el);
298
+ }, onAddFieldToElement: type.value === 'Object' || type.value === 'Array'
299
+ ? () => {
300
+ const el = element.insertPlaceholder();
301
+ onAddElement(el);
302
+ setExpanded(true);
303
+ }
304
+ : undefined })))),
305
+ react_1.default.createElement("div", { className: elementSpacer, style: { width: (editable ? tokens_1.spacing[2] : 0) + tokens_1.spacing[3] * level } }),
306
+ react_1.default.createElement("div", { className: elementExpand }, expandable && (react_1.default.createElement("button", { className: buttonReset, "aria-pressed": expanded, "aria-label": expanded ? 'Collapse field items' : 'Expand field items', onClick: (evt) => {
307
+ evt.stopPropagation();
308
+ toggleExpanded();
309
+ } },
310
+ react_1.default.createElement(font_awesome_icon_1.FontAwesomeIcon, { icon: expanded ? 'expanded' : 'collapsed' })))),
311
+ react_1.default.createElement("div", { ...keyProps, "data-testid": "hadron-document-element-key" }, key.editable ? (react_1.default.createElement(element_editors_1.KeyEditor, { value: key.value, valid: key.valid, validationMessage: key.validationMessage, onChange: (newVal) => {
312
+ key.change(newVal);
313
+ }, autoFocus: (autoFocus === null || autoFocus === void 0 ? void 0 : autoFocus.id) === id && autoFocus.type === 'key', editing: editingEnabled, onEditStart: () => {
314
+ onEditStart === null || onEditStart === void 0 ? void 0 : onEditStart(element.uuid, 'key');
315
+ } })) : (react_1.default.createElement("span", null, key.value))),
316
+ react_1.default.createElement("div", { className: elementDivider, role: "presentation" },
317
+ ":\u00A0",
318
+ value.decrypted && (react_1.default.createElement("span", { "data-test-id": "hadron-document-element-decrypted-icon", title: "Encrypted with CSFLE" },
319
+ react_1.default.createElement(index_1.Icon, { glyph: "Key", size: "small" })))),
320
+ react_1.default.createElement("div", { className: elementValue, "data-testid": "hadron-document-element-value" }, value.editable ? (react_1.default.createElement(element_editors_1.ValueEditor, { type: type.value, originalValue: value.originalValue, value: value.value, valid: value.valid, validationMessage: value.validationMessage, onChange: (newVal) => {
321
+ value.change(newVal);
322
+ }, autoFocus: (autoFocus === null || autoFocus === void 0 ? void 0 : autoFocus.id) === id && autoFocus.type === 'value', editing: editingEnabled, onEditStart: () => {
323
+ onEditStart === null || onEditStart === void 0 ? void 0 : onEditStart(element.uuid, 'value');
324
+ }, onFocus: () => {
325
+ value.startEdit();
326
+ }, onBlur: () => {
327
+ value.completeEdit();
328
+ } })) : (react_1.default.createElement("div", { "data-testid": editable && !editingEnabled
329
+ ? 'hadron-document-clickable-value'
330
+ : undefined, onDoubleClick: () => {
331
+ if (editable && !editingEnabled) {
332
+ onEditStart === null || onEditStart === void 0 ? void 0 : onEditStart(element.uuid, 'type');
333
+ }
334
+ } },
335
+ react_1.default.createElement(bson_value_1.default, { type: type.value, value: value.originalValue })))),
336
+ editable && (react_1.default.createElement("div", { className: elementType, "data-testid": "hadron-document-element-type" },
337
+ react_1.default.createElement(element_editors_1.TypeEditor, { editing: editingEnabled, type: type.value, autoFocus: (autoFocus === null || autoFocus === void 0 ? void 0 : autoFocus.id) === id && autoFocus.type === 'type', onChange: (newType) => {
338
+ type.change(newType);
339
+ } })))),
340
+ expandable &&
341
+ expanded &&
342
+ children.map((el, idx) => {
343
+ return (react_1.default.createElement(exports.HadronElement, { key: idx, value: el, editable: editable, editingEnabled: editingEnabled, onEditStart: onEditStart, allExpanded: allExpanded, lineNumberSize: lineNumberSize, onAddElement: onAddElement }));
344
+ })));
345
+ };
346
+ exports.HadronElement = HadronElement;
347
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/components/document-list/element.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ declare const FA_ICONS: {
3
+ remove: string;
4
+ revert: string;
5
+ collapsed: string;
6
+ expanded: string;
7
+ addChild: string;
8
+ addSibling: string;
9
+ };
10
+ export declare const FontAwesomeIcon: React.FunctionComponent<{
11
+ icon: keyof typeof FA_ICONS;
12
+ }>;
13
+ export {};
14
+ //# sourceMappingURL=font-awesome-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-awesome-icon.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/font-awesome-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,QAAA,MAAM,QAAQ;;;;;;;CAOb,CAAC;AASF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACpD,IAAI,EAAE,MAAM,OAAO,QAAQ,CAAC;CAC7B,CAQA,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FontAwesomeIcon = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const emotion_1 = require("@leafygreen-ui/emotion");
9
+ const tokens_1 = require("@leafygreen-ui/tokens");
10
+ const FA_ICONS = {
11
+ remove: 'times-circle',
12
+ revert: 'rotate-left',
13
+ collapsed: 'angle-right',
14
+ expanded: 'angle-right fa-rotate-90',
15
+ addChild: 'level-down fa-rotate-90',
16
+ addSibling: 'plus-square-o',
17
+ };
18
+ const faIcon = (0, emotion_1.css)({
19
+ width: tokens_1.spacing[3],
20
+ height: tokens_1.spacing[3],
21
+ padding: '2px',
22
+ textAlign: 'center',
23
+ });
24
+ const FontAwesomeIcon = ({ icon }) => {
25
+ const faClassName = FA_ICONS[icon];
26
+ return (react_1.default.createElement("span", { role: "presentation", className: (0, emotion_1.cx)(faIcon, `fa fa-${faClassName}`) }));
27
+ };
28
+ exports.FontAwesomeIcon = FontAwesomeIcon;
29
+ //# sourceMappingURL=font-awesome-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-awesome-icon.js","sourceRoot":"","sources":["../../../src/components/document-list/font-awesome-icon.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAAiD;AACjD,kDAAgD;AAEhD,MAAM,QAAQ,GAAG;IACf,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE,2BAA2B;IACrC,QAAQ,EAAE,yBAAyB;IACnC,UAAU,EAAE,eAAe;CAC5B,CAAC;AAEF,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC;IACjB,KAAK,EAAE,gBAAO,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,gBAAO,CAAC,CAAC,CAAC;IAClB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEI,MAAM,eAAe,GAEvB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAChB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CACL,wCACE,IAAI,EAAC,cAAc,EACnB,SAAS,EAAE,IAAA,YAAE,EAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,GACvC,CACT,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B"}
@@ -0,0 +1,4 @@
1
+ export { default as DocumentActionsGroup } from './document-actions-group';
2
+ export { default as DocumentFieldsToggleGroup } from './document-fields-toggle-group';
3
+ export { default as Document } from './document';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Document = exports.DocumentFieldsToggleGroup = exports.DocumentActionsGroup = void 0;
7
+ var document_actions_group_1 = require("./document-actions-group");
8
+ Object.defineProperty(exports, "DocumentActionsGroup", { enumerable: true, get: function () { return __importDefault(document_actions_group_1).default; } });
9
+ var document_fields_toggle_group_1 = require("./document-fields-toggle-group");
10
+ Object.defineProperty(exports, "DocumentFieldsToggleGroup", { enumerable: true, get: function () { return __importDefault(document_fields_toggle_group_1).default; } });
11
+ var document_1 = require("./document");
12
+ Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return __importDefault(document_1).default; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/document-list/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAA2E;AAAlE,+IAAA,OAAO,OAAwB;AACxC,+EAAsF;AAA7E,0JAAA,OAAO,OAA6B;AAC7C,uCAAiD;AAAxC,qHAAA,OAAO,OAAY"}
@@ -0,0 +1,2 @@
1
+ export declare function useForceUpdate(): () => void;
2
+ //# sourceMappingURL=use-force-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-force-update.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/use-force-update.tsx"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,IAAI,CAM3C"}