@teselagen/ui 0.5.23-beta.33 → 0.5.23-beta.34
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/FormComponents/AbstractField.d.ts +1 -0
- package/index.cjs.js +88 -61
- package/index.d.ts +1 -0
- package/index.es.js +88 -61
- package/package.json +1 -1
- package/src/DataTable/EditabelCell.js +4 -4
- package/src/DataTable/utils/useTableParams.js +1 -0
- package/src/FormComponents/AbstractField.js +388 -0
- package/src/index.js +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function withAbstractWrapper(ComponentToWrap: any, opts?: {}): (props: any) => import("react/jsx-runtime").JSX.Element;
|
package/index.cjs.js
CHANGED
|
@@ -3123,63 +3123,89 @@ function getAugmentedNamespace(n2) {
|
|
|
3123
3123
|
}
|
|
3124
3124
|
__name(getAugmentedNamespace, "getAugmentedNamespace");
|
|
3125
3125
|
var propTypes$1 = { exports: {} };
|
|
3126
|
-
var
|
|
3127
|
-
var
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3126
|
+
var ReactPropTypesSecret_1;
|
|
3127
|
+
var hasRequiredReactPropTypesSecret;
|
|
3128
|
+
function requireReactPropTypesSecret() {
|
|
3129
|
+
if (hasRequiredReactPropTypesSecret)
|
|
3130
|
+
return ReactPropTypesSecret_1;
|
|
3131
|
+
hasRequiredReactPropTypesSecret = 1;
|
|
3132
|
+
var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
3133
|
+
ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
|
3134
|
+
return ReactPropTypesSecret_1;
|
|
3135
|
+
}
|
|
3136
|
+
__name(requireReactPropTypesSecret, "requireReactPropTypesSecret");
|
|
3137
|
+
var factoryWithThrowingShims;
|
|
3138
|
+
var hasRequiredFactoryWithThrowingShims;
|
|
3139
|
+
function requireFactoryWithThrowingShims() {
|
|
3140
|
+
if (hasRequiredFactoryWithThrowingShims)
|
|
3141
|
+
return factoryWithThrowingShims;
|
|
3142
|
+
hasRequiredFactoryWithThrowingShims = 1;
|
|
3143
|
+
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
|
3144
|
+
function emptyFunction() {
|
|
3145
|
+
}
|
|
3146
|
+
__name(emptyFunction, "emptyFunction");
|
|
3147
|
+
function emptyFunctionWithReset() {
|
|
3148
|
+
}
|
|
3149
|
+
__name(emptyFunctionWithReset, "emptyFunctionWithReset");
|
|
3150
|
+
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
|
3151
|
+
factoryWithThrowingShims = /* @__PURE__ */ __name(function() {
|
|
3152
|
+
function shim(props, propName, componentName, location2, propFullName, secret) {
|
|
3153
|
+
if (secret === ReactPropTypesSecret) {
|
|
3154
|
+
return;
|
|
3155
|
+
}
|
|
3156
|
+
var err = new Error(
|
|
3157
|
+
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
3158
|
+
);
|
|
3159
|
+
err.name = "Invariant Violation";
|
|
3160
|
+
throw err;
|
|
3140
3161
|
}
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
)
|
|
3144
|
-
|
|
3145
|
-
|
|
3162
|
+
__name(shim, "shim");
|
|
3163
|
+
shim.isRequired = shim;
|
|
3164
|
+
function getShim() {
|
|
3165
|
+
return shim;
|
|
3166
|
+
}
|
|
3167
|
+
__name(getShim, "getShim");
|
|
3168
|
+
var ReactPropTypes = {
|
|
3169
|
+
array: shim,
|
|
3170
|
+
bigint: shim,
|
|
3171
|
+
bool: shim,
|
|
3172
|
+
func: shim,
|
|
3173
|
+
number: shim,
|
|
3174
|
+
object: shim,
|
|
3175
|
+
string: shim,
|
|
3176
|
+
symbol: shim,
|
|
3177
|
+
any: shim,
|
|
3178
|
+
arrayOf: getShim,
|
|
3179
|
+
element: shim,
|
|
3180
|
+
elementType: shim,
|
|
3181
|
+
instanceOf: getShim,
|
|
3182
|
+
node: shim,
|
|
3183
|
+
objectOf: getShim,
|
|
3184
|
+
oneOf: getShim,
|
|
3185
|
+
oneOfType: getShim,
|
|
3186
|
+
shape: getShim,
|
|
3187
|
+
exact: getShim,
|
|
3188
|
+
checkPropTypes: emptyFunctionWithReset,
|
|
3189
|
+
resetWarningCache: emptyFunction
|
|
3190
|
+
};
|
|
3191
|
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
3192
|
+
return ReactPropTypes;
|
|
3193
|
+
}, "factoryWithThrowingShims");
|
|
3194
|
+
return factoryWithThrowingShims;
|
|
3195
|
+
}
|
|
3196
|
+
__name(requireFactoryWithThrowingShims, "requireFactoryWithThrowingShims");
|
|
3197
|
+
var hasRequiredPropTypes;
|
|
3198
|
+
function requirePropTypes() {
|
|
3199
|
+
if (hasRequiredPropTypes)
|
|
3200
|
+
return propTypes$1.exports;
|
|
3201
|
+
hasRequiredPropTypes = 1;
|
|
3202
|
+
{
|
|
3203
|
+
propTypes$1.exports = requireFactoryWithThrowingShims()();
|
|
3146
3204
|
}
|
|
3147
|
-
|
|
3148
|
-
shim.isRequired = shim;
|
|
3149
|
-
function getShim() {
|
|
3150
|
-
return shim;
|
|
3151
|
-
}
|
|
3152
|
-
__name(getShim, "getShim");
|
|
3153
|
-
var ReactPropTypes = {
|
|
3154
|
-
array: shim,
|
|
3155
|
-
bigint: shim,
|
|
3156
|
-
bool: shim,
|
|
3157
|
-
func: shim,
|
|
3158
|
-
number: shim,
|
|
3159
|
-
object: shim,
|
|
3160
|
-
string: shim,
|
|
3161
|
-
symbol: shim,
|
|
3162
|
-
any: shim,
|
|
3163
|
-
arrayOf: getShim,
|
|
3164
|
-
element: shim,
|
|
3165
|
-
elementType: shim,
|
|
3166
|
-
instanceOf: getShim,
|
|
3167
|
-
node: shim,
|
|
3168
|
-
objectOf: getShim,
|
|
3169
|
-
oneOf: getShim,
|
|
3170
|
-
oneOfType: getShim,
|
|
3171
|
-
shape: getShim,
|
|
3172
|
-
exact: getShim,
|
|
3173
|
-
checkPropTypes: emptyFunctionWithReset,
|
|
3174
|
-
resetWarningCache: emptyFunction
|
|
3175
|
-
};
|
|
3176
|
-
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
3177
|
-
return ReactPropTypes;
|
|
3178
|
-
}, "factoryWithThrowingShims");
|
|
3179
|
-
{
|
|
3180
|
-
propTypes$1.exports = factoryWithThrowingShims();
|
|
3205
|
+
return propTypes$1.exports;
|
|
3181
3206
|
}
|
|
3182
|
-
|
|
3207
|
+
__name(requirePropTypes, "requirePropTypes");
|
|
3208
|
+
var propTypesExports = requirePropTypes();
|
|
3183
3209
|
const PropTypes$1 = /* @__PURE__ */ getDefaultExportFromCjs(propTypesExports);
|
|
3184
3210
|
function __awaiter(thisArg, _arguments, P2, generator) {
|
|
3185
3211
|
function adopt(value) {
|
|
@@ -13470,7 +13496,7 @@ var reactList = {};
|
|
|
13470
13496
|
(function(exports2) {
|
|
13471
13497
|
(function(global2, factory) {
|
|
13472
13498
|
{
|
|
13473
|
-
factory(exports2,
|
|
13499
|
+
factory(exports2, requirePropTypes(), React$1);
|
|
13474
13500
|
}
|
|
13475
13501
|
})(commonjsGlobal, function(_exports, _propTypes2, _react3) {
|
|
13476
13502
|
Object.defineProperty(_exports, "__esModule", {
|
|
@@ -69352,7 +69378,7 @@ Object.defineProperty(DraggableCore$2, "__esModule", {
|
|
|
69352
69378
|
});
|
|
69353
69379
|
DraggableCore$2.default = void 0;
|
|
69354
69380
|
var React = _interopRequireWildcard$1(React$1);
|
|
69355
|
-
var _propTypes = _interopRequireDefault$2(
|
|
69381
|
+
var _propTypes = _interopRequireDefault$2(requirePropTypes());
|
|
69356
69382
|
var _reactDom$1 = _interopRequireDefault$2(require$$2$1);
|
|
69357
69383
|
var _domFns = domFns;
|
|
69358
69384
|
var _positionFns = positionFns;
|
|
@@ -69944,7 +69970,7 @@ _defineProperty(DraggableCore$1, "defaultProps", {
|
|
|
69944
69970
|
});
|
|
69945
69971
|
exports2.default = void 0;
|
|
69946
69972
|
var React2 = _interopRequireWildcard2(React$1);
|
|
69947
|
-
var _propTypes2 = _interopRequireDefault2(
|
|
69973
|
+
var _propTypes2 = _interopRequireDefault2(requirePropTypes());
|
|
69948
69974
|
var _reactDom2 = _interopRequireDefault2(require$$2$1);
|
|
69949
69975
|
var _clsx2 = _interopRequireDefault2(require$$3);
|
|
69950
69976
|
var _domFns2 = domFns;
|
|
@@ -73775,7 +73801,7 @@ var Transition$1 = {};
|
|
|
73775
73801
|
const require$$2 = /* @__PURE__ */ getAugmentedNamespace(reactLifecyclesCompat_es);
|
|
73776
73802
|
Transition$1.__esModule = true;
|
|
73777
73803
|
Transition$1.default = Transition$1.EXITING = Transition$1.ENTERED = Transition$1.ENTERING = Transition$1.EXITED = Transition$1.UNMOUNTED = void 0;
|
|
73778
|
-
var PropTypes = _interopRequireWildcard(
|
|
73804
|
+
var PropTypes = _interopRequireWildcard(requirePropTypes());
|
|
73779
73805
|
var _react$1 = _interopRequireDefault$1(React$1);
|
|
73780
73806
|
var _reactDom = _interopRequireDefault$1(require$$2$1);
|
|
73781
73807
|
var _reactLifecyclesCompat = require$$2;
|
|
@@ -74093,7 +74119,7 @@ Transition$1.default = _default;
|
|
|
74093
74119
|
(function(module2, exports2) {
|
|
74094
74120
|
exports2.__esModule = true;
|
|
74095
74121
|
exports2.default = void 0;
|
|
74096
|
-
_interopRequireWildcard2(
|
|
74122
|
+
_interopRequireWildcard2(requirePropTypes());
|
|
74097
74123
|
var _addClass = _interopRequireDefault2(addClassExports);
|
|
74098
74124
|
var _removeClass = _interopRequireDefault2(removeClass);
|
|
74099
74125
|
var _react3 = _interopRequireDefault2(React$1);
|
|
@@ -74376,7 +74402,7 @@ __name(getNextChildMapping, "getNextChildMapping");
|
|
|
74376
74402
|
(function(module2, exports2) {
|
|
74377
74403
|
exports2.__esModule = true;
|
|
74378
74404
|
exports2.default = void 0;
|
|
74379
|
-
var _propTypes2 = _interopRequireDefault2(
|
|
74405
|
+
var _propTypes2 = _interopRequireDefault2(requirePropTypes());
|
|
74380
74406
|
var _react3 = _interopRequireDefault2(React$1);
|
|
74381
74407
|
var _reactLifecyclesCompat2 = require$$2;
|
|
74382
74408
|
var _ChildMapping = ChildMapping;
|
|
@@ -74530,7 +74556,7 @@ var TransitionGroupExports = TransitionGroup.exports;
|
|
|
74530
74556
|
(function(module2, exports2) {
|
|
74531
74557
|
exports2.__esModule = true;
|
|
74532
74558
|
exports2.default = void 0;
|
|
74533
|
-
_interopRequireDefault2(
|
|
74559
|
+
_interopRequireDefault2(requirePropTypes());
|
|
74534
74560
|
var _react3 = _interopRequireDefault2(React$1);
|
|
74535
74561
|
var _reactDom2 = require$$2$1;
|
|
74536
74562
|
var _TransitionGroup2 = _interopRequireDefault2(TransitionGroupExports);
|
|
@@ -74867,6 +74893,7 @@ exports.tickMenuEnhancer = tickMenuEnhancer;
|
|
|
74867
74893
|
exports.tubeIcon = tubeIcon;
|
|
74868
74894
|
exports.useDeepEqualMemo = useDeepEqualMemo;
|
|
74869
74895
|
exports.useDialog = useDialog;
|
|
74896
|
+
exports.useStableReference = useStableReference;
|
|
74870
74897
|
exports.useTableEntities = useTableEntities;
|
|
74871
74898
|
exports.useTableParams = useTableParams;
|
|
74872
74899
|
exports.useTraceUpdate = useTraceUpdate;
|
package/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from './utils/browserUtils';
|
|
|
14
14
|
export * from './utils/commandUtils';
|
|
15
15
|
export * from './utils/commandControls';
|
|
16
16
|
export * from './utils/useTraceUpdate';
|
|
17
|
+
export * from './utils/hooks/useStableReference';
|
|
17
18
|
export { default as Uploader } from './FormComponents/Uploader';
|
|
18
19
|
export { useDeepEqualMemo } from './utils/hooks';
|
|
19
20
|
export { default as Loading } from './Loading';
|
package/index.es.js
CHANGED
|
@@ -3105,63 +3105,89 @@ function getAugmentedNamespace(n2) {
|
|
|
3105
3105
|
}
|
|
3106
3106
|
__name(getAugmentedNamespace, "getAugmentedNamespace");
|
|
3107
3107
|
var propTypes$1 = { exports: {} };
|
|
3108
|
-
var
|
|
3109
|
-
var
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3108
|
+
var ReactPropTypesSecret_1;
|
|
3109
|
+
var hasRequiredReactPropTypesSecret;
|
|
3110
|
+
function requireReactPropTypesSecret() {
|
|
3111
|
+
if (hasRequiredReactPropTypesSecret)
|
|
3112
|
+
return ReactPropTypesSecret_1;
|
|
3113
|
+
hasRequiredReactPropTypesSecret = 1;
|
|
3114
|
+
var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
3115
|
+
ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
|
3116
|
+
return ReactPropTypesSecret_1;
|
|
3117
|
+
}
|
|
3118
|
+
__name(requireReactPropTypesSecret, "requireReactPropTypesSecret");
|
|
3119
|
+
var factoryWithThrowingShims;
|
|
3120
|
+
var hasRequiredFactoryWithThrowingShims;
|
|
3121
|
+
function requireFactoryWithThrowingShims() {
|
|
3122
|
+
if (hasRequiredFactoryWithThrowingShims)
|
|
3123
|
+
return factoryWithThrowingShims;
|
|
3124
|
+
hasRequiredFactoryWithThrowingShims = 1;
|
|
3125
|
+
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
|
3126
|
+
function emptyFunction() {
|
|
3127
|
+
}
|
|
3128
|
+
__name(emptyFunction, "emptyFunction");
|
|
3129
|
+
function emptyFunctionWithReset() {
|
|
3130
|
+
}
|
|
3131
|
+
__name(emptyFunctionWithReset, "emptyFunctionWithReset");
|
|
3132
|
+
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
|
3133
|
+
factoryWithThrowingShims = /* @__PURE__ */ __name(function() {
|
|
3134
|
+
function shim(props, propName, componentName, location2, propFullName, secret) {
|
|
3135
|
+
if (secret === ReactPropTypesSecret) {
|
|
3136
|
+
return;
|
|
3137
|
+
}
|
|
3138
|
+
var err = new Error(
|
|
3139
|
+
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
3140
|
+
);
|
|
3141
|
+
err.name = "Invariant Violation";
|
|
3142
|
+
throw err;
|
|
3122
3143
|
}
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
)
|
|
3126
|
-
|
|
3127
|
-
|
|
3144
|
+
__name(shim, "shim");
|
|
3145
|
+
shim.isRequired = shim;
|
|
3146
|
+
function getShim() {
|
|
3147
|
+
return shim;
|
|
3148
|
+
}
|
|
3149
|
+
__name(getShim, "getShim");
|
|
3150
|
+
var ReactPropTypes = {
|
|
3151
|
+
array: shim,
|
|
3152
|
+
bigint: shim,
|
|
3153
|
+
bool: shim,
|
|
3154
|
+
func: shim,
|
|
3155
|
+
number: shim,
|
|
3156
|
+
object: shim,
|
|
3157
|
+
string: shim,
|
|
3158
|
+
symbol: shim,
|
|
3159
|
+
any: shim,
|
|
3160
|
+
arrayOf: getShim,
|
|
3161
|
+
element: shim,
|
|
3162
|
+
elementType: shim,
|
|
3163
|
+
instanceOf: getShim,
|
|
3164
|
+
node: shim,
|
|
3165
|
+
objectOf: getShim,
|
|
3166
|
+
oneOf: getShim,
|
|
3167
|
+
oneOfType: getShim,
|
|
3168
|
+
shape: getShim,
|
|
3169
|
+
exact: getShim,
|
|
3170
|
+
checkPropTypes: emptyFunctionWithReset,
|
|
3171
|
+
resetWarningCache: emptyFunction
|
|
3172
|
+
};
|
|
3173
|
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
3174
|
+
return ReactPropTypes;
|
|
3175
|
+
}, "factoryWithThrowingShims");
|
|
3176
|
+
return factoryWithThrowingShims;
|
|
3177
|
+
}
|
|
3178
|
+
__name(requireFactoryWithThrowingShims, "requireFactoryWithThrowingShims");
|
|
3179
|
+
var hasRequiredPropTypes;
|
|
3180
|
+
function requirePropTypes() {
|
|
3181
|
+
if (hasRequiredPropTypes)
|
|
3182
|
+
return propTypes$1.exports;
|
|
3183
|
+
hasRequiredPropTypes = 1;
|
|
3184
|
+
{
|
|
3185
|
+
propTypes$1.exports = requireFactoryWithThrowingShims()();
|
|
3128
3186
|
}
|
|
3129
|
-
|
|
3130
|
-
shim.isRequired = shim;
|
|
3131
|
-
function getShim() {
|
|
3132
|
-
return shim;
|
|
3133
|
-
}
|
|
3134
|
-
__name(getShim, "getShim");
|
|
3135
|
-
var ReactPropTypes = {
|
|
3136
|
-
array: shim,
|
|
3137
|
-
bigint: shim,
|
|
3138
|
-
bool: shim,
|
|
3139
|
-
func: shim,
|
|
3140
|
-
number: shim,
|
|
3141
|
-
object: shim,
|
|
3142
|
-
string: shim,
|
|
3143
|
-
symbol: shim,
|
|
3144
|
-
any: shim,
|
|
3145
|
-
arrayOf: getShim,
|
|
3146
|
-
element: shim,
|
|
3147
|
-
elementType: shim,
|
|
3148
|
-
instanceOf: getShim,
|
|
3149
|
-
node: shim,
|
|
3150
|
-
objectOf: getShim,
|
|
3151
|
-
oneOf: getShim,
|
|
3152
|
-
oneOfType: getShim,
|
|
3153
|
-
shape: getShim,
|
|
3154
|
-
exact: getShim,
|
|
3155
|
-
checkPropTypes: emptyFunctionWithReset,
|
|
3156
|
-
resetWarningCache: emptyFunction
|
|
3157
|
-
};
|
|
3158
|
-
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
3159
|
-
return ReactPropTypes;
|
|
3160
|
-
}, "factoryWithThrowingShims");
|
|
3161
|
-
{
|
|
3162
|
-
propTypes$1.exports = factoryWithThrowingShims();
|
|
3187
|
+
return propTypes$1.exports;
|
|
3163
3188
|
}
|
|
3164
|
-
|
|
3189
|
+
__name(requirePropTypes, "requirePropTypes");
|
|
3190
|
+
var propTypesExports = requirePropTypes();
|
|
3165
3191
|
const PropTypes$1 = /* @__PURE__ */ getDefaultExportFromCjs(propTypesExports);
|
|
3166
3192
|
function __awaiter(thisArg, _arguments, P2, generator) {
|
|
3167
3193
|
function adopt(value) {
|
|
@@ -13452,7 +13478,7 @@ var reactList = {};
|
|
|
13452
13478
|
(function(exports2) {
|
|
13453
13479
|
(function(global2, factory) {
|
|
13454
13480
|
{
|
|
13455
|
-
factory(exports2,
|
|
13481
|
+
factory(exports2, requirePropTypes(), React__default);
|
|
13456
13482
|
}
|
|
13457
13483
|
})(commonjsGlobal, function(_exports, _propTypes2, _react3) {
|
|
13458
13484
|
Object.defineProperty(_exports, "__esModule", {
|
|
@@ -69334,7 +69360,7 @@ Object.defineProperty(DraggableCore$2, "__esModule", {
|
|
|
69334
69360
|
});
|
|
69335
69361
|
DraggableCore$2.default = void 0;
|
|
69336
69362
|
var React = _interopRequireWildcard$1(React__default);
|
|
69337
|
-
var _propTypes = _interopRequireDefault$2(
|
|
69363
|
+
var _propTypes = _interopRequireDefault$2(requirePropTypes());
|
|
69338
69364
|
var _reactDom$1 = _interopRequireDefault$2(require$$2$1);
|
|
69339
69365
|
var _domFns = domFns;
|
|
69340
69366
|
var _positionFns = positionFns;
|
|
@@ -69926,7 +69952,7 @@ _defineProperty(DraggableCore$1, "defaultProps", {
|
|
|
69926
69952
|
});
|
|
69927
69953
|
exports2.default = void 0;
|
|
69928
69954
|
var React2 = _interopRequireWildcard2(React__default);
|
|
69929
|
-
var _propTypes2 = _interopRequireDefault2(
|
|
69955
|
+
var _propTypes2 = _interopRequireDefault2(requirePropTypes());
|
|
69930
69956
|
var _reactDom2 = _interopRequireDefault2(require$$2$1);
|
|
69931
69957
|
var _clsx2 = _interopRequireDefault2(require$$3);
|
|
69932
69958
|
var _domFns2 = domFns;
|
|
@@ -73757,7 +73783,7 @@ var Transition$1 = {};
|
|
|
73757
73783
|
const require$$2 = /* @__PURE__ */ getAugmentedNamespace(reactLifecyclesCompat_es);
|
|
73758
73784
|
Transition$1.__esModule = true;
|
|
73759
73785
|
Transition$1.default = Transition$1.EXITING = Transition$1.ENTERED = Transition$1.ENTERING = Transition$1.EXITED = Transition$1.UNMOUNTED = void 0;
|
|
73760
|
-
var PropTypes = _interopRequireWildcard(
|
|
73786
|
+
var PropTypes = _interopRequireWildcard(requirePropTypes());
|
|
73761
73787
|
var _react$1 = _interopRequireDefault$1(React__default);
|
|
73762
73788
|
var _reactDom = _interopRequireDefault$1(require$$2$1);
|
|
73763
73789
|
var _reactLifecyclesCompat = require$$2;
|
|
@@ -74075,7 +74101,7 @@ Transition$1.default = _default;
|
|
|
74075
74101
|
(function(module2, exports2) {
|
|
74076
74102
|
exports2.__esModule = true;
|
|
74077
74103
|
exports2.default = void 0;
|
|
74078
|
-
_interopRequireWildcard2(
|
|
74104
|
+
_interopRequireWildcard2(requirePropTypes());
|
|
74079
74105
|
var _addClass = _interopRequireDefault2(addClassExports);
|
|
74080
74106
|
var _removeClass = _interopRequireDefault2(removeClass);
|
|
74081
74107
|
var _react3 = _interopRequireDefault2(React__default);
|
|
@@ -74358,7 +74384,7 @@ __name(getNextChildMapping, "getNextChildMapping");
|
|
|
74358
74384
|
(function(module2, exports2) {
|
|
74359
74385
|
exports2.__esModule = true;
|
|
74360
74386
|
exports2.default = void 0;
|
|
74361
|
-
var _propTypes2 = _interopRequireDefault2(
|
|
74387
|
+
var _propTypes2 = _interopRequireDefault2(requirePropTypes());
|
|
74362
74388
|
var _react3 = _interopRequireDefault2(React__default);
|
|
74363
74389
|
var _reactLifecyclesCompat2 = require$$2;
|
|
74364
74390
|
var _ChildMapping = ChildMapping;
|
|
@@ -74512,7 +74538,7 @@ var TransitionGroupExports = TransitionGroup.exports;
|
|
|
74512
74538
|
(function(module2, exports2) {
|
|
74513
74539
|
exports2.__esModule = true;
|
|
74514
74540
|
exports2.default = void 0;
|
|
74515
|
-
_interopRequireDefault2(
|
|
74541
|
+
_interopRequireDefault2(requirePropTypes());
|
|
74516
74542
|
var _react3 = _interopRequireDefault2(React__default);
|
|
74517
74543
|
var _reactDom2 = require$$2$1;
|
|
74518
74544
|
var _TransitionGroup2 = _interopRequireDefault2(TransitionGroupExports);
|
|
@@ -74850,6 +74876,7 @@ export {
|
|
|
74850
74876
|
tubeIcon,
|
|
74851
74877
|
useDeepEqualMemo,
|
|
74852
74878
|
useDialog,
|
|
74879
|
+
useStableReference,
|
|
74853
74880
|
useTableEntities,
|
|
74854
74881
|
useTableParams,
|
|
74855
74882
|
useTraceUpdate,
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import React, { useEffect, useRef
|
|
1
|
+
import React, { useEffect, useRef } from "react";
|
|
2
2
|
|
|
3
3
|
export const EditableCell = ({
|
|
4
|
+
value,
|
|
5
|
+
setValue,
|
|
4
6
|
cancelEdit,
|
|
5
7
|
dataTest,
|
|
6
8
|
finishEdit,
|
|
7
|
-
isNumeric
|
|
8
|
-
initialValue
|
|
9
|
+
isNumeric
|
|
9
10
|
}) => {
|
|
10
|
-
const [value, setValue] = useState(initialValue);
|
|
11
11
|
const inputRef = useRef(null);
|
|
12
12
|
|
|
13
13
|
useEffect(() => {
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { Button, FormGroup, Position, Tooltip } from "@blueprintjs/core";
|
|
2
|
+
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
3
|
+
import {
|
|
4
|
+
AssignDefaultsModeContext,
|
|
5
|
+
WorkflowDefaultParamsContext,
|
|
6
|
+
workflowDefaultParamsObj
|
|
7
|
+
} from "../AssignDefaultsModeContext";
|
|
8
|
+
import { difference, isEqual, kebabCase } from "lodash-es";
|
|
9
|
+
import {
|
|
10
|
+
fakeWait,
|
|
11
|
+
getIntent,
|
|
12
|
+
getIntentClass,
|
|
13
|
+
LabelWithTooltipInfo
|
|
14
|
+
} from "./utils";
|
|
15
|
+
import useDeepCompareEffect from "use-deep-compare-effect";
|
|
16
|
+
import { change } from "redux-form";
|
|
17
|
+
import popoverOverflowModifiers from "../utils/popoverOverflowModifiers";
|
|
18
|
+
import classNames from "classnames";
|
|
19
|
+
|
|
20
|
+
const AbstractInput = props => {
|
|
21
|
+
const {
|
|
22
|
+
defaultValue,
|
|
23
|
+
meta: { dispatch, form, touched, error, warning },
|
|
24
|
+
onDefaultValChanged,
|
|
25
|
+
onFieldSubmit,
|
|
26
|
+
children,
|
|
27
|
+
tooltipProps,
|
|
28
|
+
tooltipError,
|
|
29
|
+
disabled,
|
|
30
|
+
intent,
|
|
31
|
+
tooltipInfo,
|
|
32
|
+
label,
|
|
33
|
+
inlineLabel,
|
|
34
|
+
isLabelTooltip,
|
|
35
|
+
secondaryLabel,
|
|
36
|
+
className,
|
|
37
|
+
showErrorIfUntouched,
|
|
38
|
+
asyncValidating,
|
|
39
|
+
containerStyle,
|
|
40
|
+
leftEl,
|
|
41
|
+
rightEl,
|
|
42
|
+
labelStyle,
|
|
43
|
+
noOuterLabel,
|
|
44
|
+
fileLimit,
|
|
45
|
+
noMarginBottom,
|
|
46
|
+
assignDefaultButton,
|
|
47
|
+
showGenerateDefaultDot,
|
|
48
|
+
setAssignDefaultsMode,
|
|
49
|
+
startAssigningDefault,
|
|
50
|
+
input,
|
|
51
|
+
noFillField,
|
|
52
|
+
isRequired,
|
|
53
|
+
isLoadingDefaultValue,
|
|
54
|
+
enableReinitialize,
|
|
55
|
+
defaultValCount
|
|
56
|
+
} = props;
|
|
57
|
+
|
|
58
|
+
const prevProps = useRef({ defaultValue, defaultValCount });
|
|
59
|
+
|
|
60
|
+
const updateDefaultValue = useCallback(() => {
|
|
61
|
+
dispatch(change(form, input.name, defaultValue));
|
|
62
|
+
onDefaultValChanged &&
|
|
63
|
+
onDefaultValChanged(defaultValue, input.name, form, props);
|
|
64
|
+
onFieldSubmit && onFieldSubmit(defaultValue);
|
|
65
|
+
}, [
|
|
66
|
+
defaultValue,
|
|
67
|
+
dispatch,
|
|
68
|
+
form,
|
|
69
|
+
input.name,
|
|
70
|
+
onDefaultValChanged,
|
|
71
|
+
onFieldSubmit,
|
|
72
|
+
props
|
|
73
|
+
]);
|
|
74
|
+
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (
|
|
77
|
+
((input.value !== false && !input.value) || enableReinitialize) &&
|
|
78
|
+
defaultValue !== undefined
|
|
79
|
+
) {
|
|
80
|
+
updateDefaultValue();
|
|
81
|
+
}
|
|
82
|
+
}, [defaultValue, enableReinitialize, input.value, updateDefaultValue]);
|
|
83
|
+
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
const {
|
|
86
|
+
defaultValue: oldDefaultValue,
|
|
87
|
+
defaultValCount: oldDefaultValCount
|
|
88
|
+
} = prevProps.current;
|
|
89
|
+
|
|
90
|
+
if (
|
|
91
|
+
((input.value !== false && !input.value) ||
|
|
92
|
+
enableReinitialize ||
|
|
93
|
+
defaultValCount !== oldDefaultValCount) &&
|
|
94
|
+
!isEqual(defaultValue, oldDefaultValue)
|
|
95
|
+
) {
|
|
96
|
+
updateDefaultValue();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
prevProps.current = { defaultValue, defaultValCount };
|
|
100
|
+
}, [
|
|
101
|
+
defaultValue,
|
|
102
|
+
defaultValCount,
|
|
103
|
+
enableReinitialize,
|
|
104
|
+
input.value,
|
|
105
|
+
updateDefaultValue
|
|
106
|
+
]);
|
|
107
|
+
|
|
108
|
+
// if our custom field level validation is happening then we don't want to show the error visually
|
|
109
|
+
const showError =
|
|
110
|
+
(touched || showErrorIfUntouched) && error && !asyncValidating;
|
|
111
|
+
const showWarning = (touched || showErrorIfUntouched) && warning;
|
|
112
|
+
let componentToWrap =
|
|
113
|
+
isLabelTooltip || tooltipError ? (
|
|
114
|
+
<Tooltip
|
|
115
|
+
disabled={isLabelTooltip ? false : !showError}
|
|
116
|
+
intent={isLabelTooltip ? "none" : error ? "danger" : "warning"}
|
|
117
|
+
content={isLabelTooltip ? label : error || warning}
|
|
118
|
+
position={Position.TOP}
|
|
119
|
+
modifiers={popoverOverflowModifiers}
|
|
120
|
+
{...tooltipProps}
|
|
121
|
+
>
|
|
122
|
+
{children}
|
|
123
|
+
</Tooltip>
|
|
124
|
+
) : (
|
|
125
|
+
children
|
|
126
|
+
);
|
|
127
|
+
const testClassName = "tg-test-" + kebabCase(input.name);
|
|
128
|
+
if (noFillField) {
|
|
129
|
+
componentToWrap = <div className="tg-no-fill-field">{componentToWrap}</div>;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
let helperText;
|
|
133
|
+
if (!tooltipError) {
|
|
134
|
+
if (showError) {
|
|
135
|
+
helperText = error;
|
|
136
|
+
} else if (showWarning) {
|
|
137
|
+
helperText = warning;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// if in a cypress test show message so that inputs will not be interactable
|
|
142
|
+
if (window.Cypress && isLoadingDefaultValue) {
|
|
143
|
+
return "Loading default value...";
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
let labelInfo = secondaryLabel;
|
|
147
|
+
|
|
148
|
+
const hasOuterLabel = !noOuterLabel && !isLabelTooltip;
|
|
149
|
+
function getFileLimitInfo() {
|
|
150
|
+
if (!fileLimit) return "";
|
|
151
|
+
return `max ${fileLimit} file${fileLimit === 1 ? "" : "s"}`;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (isRequired && hasOuterLabel && label && !labelInfo) {
|
|
155
|
+
labelInfo = `(required${fileLimit ? `, ${getFileLimitInfo()}` : ""})`;
|
|
156
|
+
} else if (!labelInfo && fileLimit) {
|
|
157
|
+
labelInfo = `(${getFileLimitInfo()})`;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return (
|
|
161
|
+
<FormGroup
|
|
162
|
+
className={classNames(className, testClassName, {
|
|
163
|
+
"tg-flex-form-content": leftEl || rightEl,
|
|
164
|
+
"tg-tooltipError": tooltipError,
|
|
165
|
+
"tg-has-error": showError && error
|
|
166
|
+
})}
|
|
167
|
+
disabled={disabled}
|
|
168
|
+
helperText={helperText}
|
|
169
|
+
intent={intent}
|
|
170
|
+
label={
|
|
171
|
+
hasOuterLabel && (
|
|
172
|
+
<LabelWithTooltipInfo
|
|
173
|
+
labelStyle={labelStyle}
|
|
174
|
+
label={label}
|
|
175
|
+
tooltipInfo={tooltipInfo}
|
|
176
|
+
/>
|
|
177
|
+
)
|
|
178
|
+
}
|
|
179
|
+
inline={inlineLabel}
|
|
180
|
+
labelInfo={labelInfo}
|
|
181
|
+
style={{
|
|
182
|
+
...(noMarginBottom && { marginBottom: 0 }),
|
|
183
|
+
...containerStyle
|
|
184
|
+
}}
|
|
185
|
+
>
|
|
186
|
+
{showGenerateDefaultDot && (
|
|
187
|
+
<div style={{ zIndex: 10, position: "relative", height: 0, width: 0 }}>
|
|
188
|
+
<div style={{ position: "absolute", left: "0px", top: "0px" }}>
|
|
189
|
+
<Tooltip
|
|
190
|
+
modifiers={popoverOverflowModifiers}
|
|
191
|
+
content="Allows a Default to be Set. Click to Enter Set Default Mode (or press Shift+D when outside the input field)"
|
|
192
|
+
>
|
|
193
|
+
<div
|
|
194
|
+
onClick={() => {
|
|
195
|
+
setAssignDefaultsMode(true);
|
|
196
|
+
startAssigningDefault();
|
|
197
|
+
}}
|
|
198
|
+
className="generateDefaultDot"
|
|
199
|
+
></div>
|
|
200
|
+
</Tooltip>
|
|
201
|
+
</div>
|
|
202
|
+
</div>
|
|
203
|
+
)}
|
|
204
|
+
{assignDefaultButton}
|
|
205
|
+
{leftEl} {componentToWrap} {rightEl}
|
|
206
|
+
</FormGroup>
|
|
207
|
+
);
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
export const withAbstractWrapper = (ComponentToWrap, opts = {}) => {
|
|
211
|
+
return props => {
|
|
212
|
+
const {
|
|
213
|
+
massageDefaultIdValue,
|
|
214
|
+
generateDefaultValue,
|
|
215
|
+
defaultValueByIdOverride,
|
|
216
|
+
defaultValue: defaultValueFromProps,
|
|
217
|
+
isRequired,
|
|
218
|
+
...rest
|
|
219
|
+
} = props;
|
|
220
|
+
|
|
221
|
+
//get is assign defaults mode
|
|
222
|
+
//if assign default value mode then add on to the component
|
|
223
|
+
const [defaultValCount, setDefaultValCount] = useState(0);
|
|
224
|
+
const [defaultValueFromBackend, setDefault] = useState();
|
|
225
|
+
const [allowUserOverride, setUserOverride] = useState(true);
|
|
226
|
+
const [isLoadingDefaultValue, setLoadingDefaultValue] = useState(false);
|
|
227
|
+
const { inAssignDefaultsMode, setAssignDefaultsMode } = useContext(
|
|
228
|
+
AssignDefaultsModeContext
|
|
229
|
+
);
|
|
230
|
+
// tnr: we might want to grab this context object off the window in the future and have it live in lims by default
|
|
231
|
+
// there is no reason for those vals to live in TRC. Example code below:
|
|
232
|
+
// const workflowParams = useContext(window.__tgDefaultValParamsContext || defaultNullContext);
|
|
233
|
+
const workflowParams = useContext(WorkflowDefaultParamsContext);
|
|
234
|
+
|
|
235
|
+
const caresAboutToolContext = generateDefaultValue?.params?.toolName;
|
|
236
|
+
|
|
237
|
+
const customParamsToUse = {
|
|
238
|
+
...(caresAboutToolContext
|
|
239
|
+
? { ...workflowDefaultParamsObj, ...workflowParams }
|
|
240
|
+
: {}),
|
|
241
|
+
...(generateDefaultValue ? generateDefaultValue.customParams : {})
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
async function triggerGetDefault() {
|
|
245
|
+
if (!defaultValueByIdOverride) {
|
|
246
|
+
//if defaultValueByIdOverride is passed, we can skip over getting the value from the backend straight to massaging the default value
|
|
247
|
+
if (!window.__triggerGetDefaultValueRequest) return;
|
|
248
|
+
if (!generateDefaultValue) return;
|
|
249
|
+
setLoadingDefaultValue(true);
|
|
250
|
+
//custom params should match params keys. if not throw an error
|
|
251
|
+
const doParamsMatch = isEqual(
|
|
252
|
+
Object.keys({
|
|
253
|
+
...(caresAboutToolContext ? workflowDefaultParamsObj : {}), //we don't want to compare these keys so we just spread them here
|
|
254
|
+
...(generateDefaultValue.params || {})
|
|
255
|
+
}).sort(),
|
|
256
|
+
Object.keys(customParamsToUse).sort()
|
|
257
|
+
);
|
|
258
|
+
if (!doParamsMatch) {
|
|
259
|
+
console.warn(
|
|
260
|
+
`Issue with generateDefaultValue. customParams don't match params`
|
|
261
|
+
);
|
|
262
|
+
console.warn(
|
|
263
|
+
`generateDefaultValue.params:`,
|
|
264
|
+
generateDefaultValue.params
|
|
265
|
+
);
|
|
266
|
+
console.warn(`generateDefaultValue.customParams:`, customParamsToUse);
|
|
267
|
+
throw new Error(
|
|
268
|
+
`Issue with generateDefaultValue code=${
|
|
269
|
+
generateDefaultValue.code
|
|
270
|
+
}: Difference detected with: ${difference(
|
|
271
|
+
Object.keys(generateDefaultValue.params || {}),
|
|
272
|
+
Object.keys(customParamsToUse || {})
|
|
273
|
+
).join(
|
|
274
|
+
", "
|
|
275
|
+
)}. customParams passed into the field should match params (as defined in defaultValueConstants.js). See console for more details.`
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
try {
|
|
281
|
+
let { defaultValue, allowUserOverride } = defaultValueByIdOverride
|
|
282
|
+
? { defaultValue: defaultValueByIdOverride }
|
|
283
|
+
: await window.__triggerGetDefaultValueRequest(
|
|
284
|
+
generateDefaultValue.code,
|
|
285
|
+
customParamsToUse
|
|
286
|
+
);
|
|
287
|
+
if (massageDefaultIdValue) {
|
|
288
|
+
const massagedRes = await massageDefaultIdValue({
|
|
289
|
+
defaultValueById: defaultValue
|
|
290
|
+
});
|
|
291
|
+
if (massagedRes.defaultValue) {
|
|
292
|
+
defaultValue = massagedRes.defaultValue;
|
|
293
|
+
}
|
|
294
|
+
if (massagedRes.preventUserOverrideFromBeingDisabled) {
|
|
295
|
+
allowUserOverride = true;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// TODO:Add ths back in when we have a better way to determine if a field is a checkbox or switch
|
|
300
|
+
// if (
|
|
301
|
+
// "false" === false
|
|
302
|
+
// // ComponentToWrap === renderBlueprintCheckbox ||
|
|
303
|
+
// // ComponentToWrap === renderBlueprintSwitch
|
|
304
|
+
// ) {
|
|
305
|
+
// setDefault(defaultValue === "true");
|
|
306
|
+
// } else {
|
|
307
|
+
if (typeof defaultValue === "string") {
|
|
308
|
+
// remove double spaces and leading/trailing
|
|
309
|
+
defaultValue = defaultValue.replace(/\s+/g, " ").trim();
|
|
310
|
+
}
|
|
311
|
+
setDefault(defaultValue);
|
|
312
|
+
// }
|
|
313
|
+
setUserOverride(allowUserOverride);
|
|
314
|
+
setDefaultValCount(defaultValCount + 1);
|
|
315
|
+
} catch (error) {
|
|
316
|
+
console.error(`error aswf298f:`, error);
|
|
317
|
+
}
|
|
318
|
+
if (window.Cypress && window.Cypress.addFakeDefaultValueWait) {
|
|
319
|
+
await fakeWait();
|
|
320
|
+
}
|
|
321
|
+
setLoadingDefaultValue(false);
|
|
322
|
+
}
|
|
323
|
+
// if generateDefaultValue, hit the backend for that value
|
|
324
|
+
useDeepCompareEffect(() => {
|
|
325
|
+
// if the input already has a value we don't want to override with the default value request
|
|
326
|
+
if (rest.input.value) return;
|
|
327
|
+
triggerGetDefault();
|
|
328
|
+
}, [generateDefaultValue || {}]);
|
|
329
|
+
// const asyncValidating = props.asyncValidating;
|
|
330
|
+
const defaultProps = {
|
|
331
|
+
...rest,
|
|
332
|
+
defaultValue: defaultValueFromBackend || defaultValueFromProps,
|
|
333
|
+
disabled: props.disabled || allowUserOverride === false,
|
|
334
|
+
readOnly: props.readOnly || isLoadingDefaultValue,
|
|
335
|
+
intent: getIntent(props),
|
|
336
|
+
intentClass: getIntentClass(props)
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
// don't show intent while async validating
|
|
340
|
+
// if (asyncValidating) {
|
|
341
|
+
// delete defaultProps.intent;
|
|
342
|
+
// delete defaultProps.intentClass;
|
|
343
|
+
// }
|
|
344
|
+
|
|
345
|
+
const startAssigningDefault = () =>
|
|
346
|
+
window.__showAssignDefaultValueModal &&
|
|
347
|
+
window.__showAssignDefaultValueModal({
|
|
348
|
+
...props,
|
|
349
|
+
generateDefaultValue: {
|
|
350
|
+
...props.generateDefaultValue,
|
|
351
|
+
customParams: customParamsToUse
|
|
352
|
+
},
|
|
353
|
+
onFinish: () => {
|
|
354
|
+
triggerGetDefault();
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
|
|
358
|
+
return (
|
|
359
|
+
<AbstractInput
|
|
360
|
+
{...{
|
|
361
|
+
...opts,
|
|
362
|
+
defaultValCount,
|
|
363
|
+
isRequired,
|
|
364
|
+
...defaultProps,
|
|
365
|
+
isLoadingDefaultValue,
|
|
366
|
+
showGenerateDefaultDot:
|
|
367
|
+
!inAssignDefaultsMode &&
|
|
368
|
+
window.__showGenerateDefaultDot &&
|
|
369
|
+
window.__showGenerateDefaultDot() &&
|
|
370
|
+
!!generateDefaultValue,
|
|
371
|
+
setAssignDefaultsMode,
|
|
372
|
+
startAssigningDefault,
|
|
373
|
+
assignDefaultButton: inAssignDefaultsMode && generateDefaultValue && (
|
|
374
|
+
<Button
|
|
375
|
+
onClick={startAssigningDefault}
|
|
376
|
+
small
|
|
377
|
+
style={{ background: "yellow", color: "black" }}
|
|
378
|
+
>
|
|
379
|
+
Assign Default
|
|
380
|
+
</Button>
|
|
381
|
+
)
|
|
382
|
+
}}
|
|
383
|
+
>
|
|
384
|
+
<ComponentToWrap {...defaultProps} />
|
|
385
|
+
</AbstractInput>
|
|
386
|
+
);
|
|
387
|
+
};
|
|
388
|
+
};
|
package/src/index.js
CHANGED
|
@@ -75,6 +75,7 @@ export * from "./utils/browserUtils";
|
|
|
75
75
|
export * from "./utils/commandUtils";
|
|
76
76
|
export * from "./utils/commandControls";
|
|
77
77
|
export * from "./utils/useTraceUpdate";
|
|
78
|
+
export * from "./utils/hooks/useStableReference";
|
|
78
79
|
export { default as AsyncValidateFieldSpinner } from "./AsyncValidateFieldSpinner";
|
|
79
80
|
export { default as showProgressToast } from "./utils/showProgressToast";
|
|
80
81
|
export { default as getTextFromEl } from "./utils/getTextFromEl";
|