@guillotinaweb/react-gmi 0.24.0 → 0.25.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.
package/dist/react-gmi.js CHANGED
@@ -3024,6 +3024,45 @@ var Textarea = React__default['default'].forwardRef(function (_ref, ref) {
3024
3024
  }, error ? error : ''));
3025
3025
  });
3026
3026
 
3027
+ var defaultEvents = ['mousedown', 'touchstart'];
3028
+
3029
+ var on = function on(obj) {
3030
+ return obj.addEventListener.apply(obj, [].slice.call(arguments, 1));
3031
+ };
3032
+
3033
+ var off = function off(obj) {
3034
+ return obj.removeEventListener.apply(obj, [].slice.call(arguments, 1));
3035
+ };
3036
+
3037
+ function useClickAway(ref, onClickAway, events) {
3038
+ if (events === void 0) {
3039
+ events = defaultEvents;
3040
+ }
3041
+
3042
+ var savedCallback = React.useRef(onClickAway);
3043
+ React.useEffect(function () {
3044
+ savedCallback.current = onClickAway;
3045
+ }, [onClickAway]);
3046
+ React.useEffect(function () {
3047
+ var handler = function handler(event) {
3048
+ var el = ref.current;
3049
+ el && !el.contains(event.target) && savedCallback.current(event);
3050
+ };
3051
+
3052
+ for (var _iterator = _createForOfIteratorHelperLoose(events), _step; !(_step = _iterator()).done;) {
3053
+ var eventName = _step.value;
3054
+ on(document, eventName, handler);
3055
+ }
3056
+
3057
+ return function () {
3058
+ for (var _iterator2 = _createForOfIteratorHelperLoose(events), _step2; !(_step2 = _iterator2()).done;) {
3059
+ var eventName = _step2.value;
3060
+ off(document, eventName, handler);
3061
+ }
3062
+ };
3063
+ }, [events, ref]);
3064
+ }
3065
+
3027
3066
  function debounce(func, wait) {
3028
3067
  var timeout;
3029
3068
  return function () {
@@ -3068,7 +3107,11 @@ var SearchInput = function SearchInput(_ref) {
3068
3107
  _ref$dataTestItem = _ref.dataTestItem,
3069
3108
  dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
3070
3109
  _ref$renderTextItemOp = _ref.renderTextItemOption,
3071
- renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp;
3110
+ renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp,
3111
+ _ref$typeNameQuery = _ref.typeNameQuery,
3112
+ typeNameQuery = _ref$typeNameQuery === void 0 ? null : _ref$typeNameQuery,
3113
+ _ref$labelProperty = _ref.labelProperty,
3114
+ labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
3072
3115
  var intl = reactIntl.useIntl();
3073
3116
 
3074
3117
  var _useSetState = useSetState(initialState),
@@ -3090,8 +3133,19 @@ var SearchInput = function SearchInput(_ref) {
3090
3133
  PageSize = _useConfig.PageSize,
3091
3134
  SearchEngine = _useConfig.SearchEngine;
3092
3135
 
3093
- var _useState = React.useState(generateUID('search_input')),
3094
- uid = _useState[0];
3136
+ var _useState = React.useState(undefined),
3137
+ valueLabel = _useState[0],
3138
+ setValueLabel = _useState[1];
3139
+
3140
+ var _useState2 = React.useState(false),
3141
+ setIsLoadingData = _useState2[1];
3142
+
3143
+ var _useState3 = React.useState(generateUID('search_input')),
3144
+ uid = _useState3[0];
3145
+
3146
+ useClickAway(wrapperRef, function () {
3147
+ setIsOpen(false);
3148
+ });
3095
3149
 
3096
3150
  var getHeight = function getHeight() {
3097
3151
  if (wrapperRef && wrapperRef.current) {
@@ -3105,10 +3159,52 @@ var SearchInput = function SearchInput(_ref) {
3105
3159
  };
3106
3160
  };
3107
3161
 
3108
- var delayedQuery = React__default['default'].useCallback(debounce(function (value) {
3162
+ var delayedQuery = React.useCallback(debounce(function (value) {
3109
3163
  return handleSearch(0, false, value);
3110
3164
  }, 500), []);
3111
3165
 
3166
+ var inicializeLabels = function inicializeLabels() {
3167
+ try {
3168
+ var _temp2 = function () {
3169
+ if (labelProperty !== 'id' && value) {
3170
+ setIsLoadingData(true);
3171
+ var searchTermQs = [];
3172
+ var searchTermParsed = ["id", value];
3173
+ var getSearch = traversal.registry.get;
3174
+ var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3175
+ var qsParsed = traversal.client[fnName]({
3176
+ path: traversal.path,
3177
+ start: 0,
3178
+ pageSize: PageSize,
3179
+ withDepth: false
3180
+ });
3181
+ var typeNameParsed = [];
3182
+
3183
+ if (typeNameQuery) {
3184
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
3185
+ }
3186
+
3187
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
3188
+ searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
3189
+ }
3190
+
3191
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
3192
+ var newValuesLabel = data.items.reduce(function (result, item) {
3193
+ result[item.id] = get$1(item, labelProperty, item.id);
3194
+ return result;
3195
+ }, {});
3196
+ setValueLabel(newValuesLabel);
3197
+ setIsLoadingData(false);
3198
+ });
3199
+ }
3200
+ }();
3201
+
3202
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
3203
+ } catch (e) {
3204
+ return Promise.reject(e);
3205
+ }
3206
+ };
3207
+
3112
3208
  var handleSearch = function handleSearch(page, concat, value) {
3113
3209
  if (page === void 0) {
3114
3210
  page = 0;
@@ -3133,19 +3229,28 @@ var SearchInput = function SearchInput(_ref) {
3133
3229
  searchTermParsed = parser(queryCondition + "=" + value);
3134
3230
  }
3135
3231
 
3136
- var get = traversal.registry.get;
3137
- var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
3232
+ var _get = traversal.registry.get;
3233
+
3234
+ var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
3235
+
3138
3236
  var qsParsed = traversal.client[fnName]({
3139
3237
  path: traversal.path,
3140
3238
  start: page * PageSize,
3141
- pageSize: PageSize
3239
+ pageSize: PageSize,
3240
+ withDepth: false
3142
3241
  });
3242
+ var sortParsed = parser("_sort_des=title");
3243
+ var typeNameParsed = [];
3244
+
3245
+ if (typeNameQuery) {
3246
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
3247
+ }
3143
3248
 
3144
- if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0) {
3145
- searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed));
3249
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
3250
+ searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
3146
3251
  }
3147
3252
 
3148
- return Promise.resolve(traversal.client.search(path, searchTermQs, false, false, page * PageSize, PageSize)).then(function (data) {
3253
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
3149
3254
  var _data$items_total;
3150
3255
 
3151
3256
  var newItems = options.items && concat ? [].concat(options.items, data.items) : data.items;
@@ -3169,20 +3274,24 @@ var SearchInput = function SearchInput(_ref) {
3169
3274
  return item.title || item['@name'];
3170
3275
  };
3171
3276
 
3172
- React__default['default'].useEffect(function () {
3173
- if (path && !options.loading && !options.items) {
3174
-
3175
- try {
3176
- handleSearch(options.page);
3177
- } catch (e) {
3178
- Promise.reject(e);
3179
- }
3277
+ React.useEffect(function () {
3278
+ if (value) {
3279
+ inicializeLabels();
3280
+ } else {
3281
+ setValueLabel({});
3180
3282
  }
3181
- }, [path, options.loading, options.items]);
3283
+ }, [path, value]);
3284
+
3285
+ if (valueLabel === undefined) {
3286
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3287
+ className: "spinner"
3288
+ });
3289
+ }
3290
+
3182
3291
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
3183
3292
  "data-test": dataTestWrapper,
3184
3293
  ref: wrapperRef,
3185
- className: "dropdown " + (isOpen ? 'is-active' : ''),
3294
+ className: "dropdown mb-2 " + (isOpen ? 'is-active' : ''),
3186
3295
  onBlur: function onBlur(ev) {
3187
3296
  if (!ev.currentTarget.contains(ev.relatedTarget)) {
3188
3297
  if (searchTerm !== '') {
@@ -3190,7 +3299,7 @@ var SearchInput = function SearchInput(_ref) {
3190
3299
  setOptions(initialState);
3191
3300
  }
3192
3301
 
3193
- setIsOpen(!isOpen);
3302
+ setIsOpen(false);
3194
3303
  }
3195
3304
  }
3196
3305
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3198,12 +3307,16 @@ var SearchInput = function SearchInput(_ref) {
3198
3307
  }, /*#__PURE__*/React__default['default'].createElement("button", {
3199
3308
  className: "button " + btnClass,
3200
3309
  onClick: function onClick(ev) {
3201
- ev.preventDefault();
3310
+ ev.target.blur();
3202
3311
  setIsOpen(!isOpen);
3312
+
3313
+ if (!options.loading && !options.items) {
3314
+ handleSearch(options.page);
3315
+ }
3203
3316
  },
3204
3317
  "aria-haspopup": "true",
3205
3318
  "aria-controls": "dropdown-menu"
3206
- }, /*#__PURE__*/React__default['default'].createElement("span", null, value && value.title ? value.title : 'Choose...'), /*#__PURE__*/React__default['default'].createElement("span", {
3319
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, value ? get$1(valueLabel, value, value) : intl.formatMessage(genericMessages.choose)), /*#__PURE__*/React__default['default'].createElement("span", {
3207
3320
  className: "icon"
3208
3321
  }, /*#__PURE__*/React__default['default'].createElement("i", {
3209
3322
  className: "fas fa-angle-down",
@@ -3231,12 +3344,16 @@ var SearchInput = function SearchInput(_ref) {
3231
3344
  })), /*#__PURE__*/React__default['default'].createElement("hr", {
3232
3345
  className: "dropdown-divider"
3233
3346
  }), options.loading && /*#__PURE__*/React__default['default'].createElement(Loading, null), options.items && options.items.map(function (item) {
3234
- return /*#__PURE__*/React__default['default'].createElement("a", {
3235
- href: "#",
3236
- className: "dropdown-item editable " + (value && value.id === item.id ? 'is-active' : ''),
3347
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3348
+ className: "dropdown-item editable " + (value === item.id ? 'is-active' : ''),
3237
3349
  "data-test": dataTestItem + "-" + item.id,
3238
- onMouseDown: function onMouseDown() {
3239
- onChange && onChange(item);
3350
+ onMouseDown: function onMouseDown(ev) {
3351
+ ev.preventDefault();
3352
+
3353
+ if (onChange) {
3354
+ onChange(item.id);
3355
+ }
3356
+
3240
3357
  setIsOpen(false);
3241
3358
  },
3242
3359
  key: item.path
@@ -3259,11 +3376,20 @@ var SearchInput = function SearchInput(_ref) {
3259
3376
  };
3260
3377
  SearchInput.propTypes = {
3261
3378
  onChange: PropTypes__default['default'].func,
3262
- value: PropTypes__default['default'].object,
3263
- client: PropTypes__default['default'].object,
3379
+ value: PropTypes__default['default'].string,
3264
3380
  path: PropTypes__default['default'].string,
3265
- PageSize: PropTypes__default['default'].number,
3266
- btnClass: PropTypes__default['default'].string
3381
+ btnClass: PropTypes__default['default'].string,
3382
+ error: PropTypes__default['default'].string,
3383
+ errorZoneClassName: PropTypes__default['default'].string,
3384
+ traversal: PropTypes__default['default'].object,
3385
+ qs: PropTypes__default['default'].array,
3386
+ queryCondition: PropTypes__default['default'].string,
3387
+ dataTestWrapper: PropTypes__default['default'].string,
3388
+ dataTestSearchInput: PropTypes__default['default'].string,
3389
+ dataTestItem: PropTypes__default['default'].string,
3390
+ renderTextItemOption: PropTypes__default['default'].func,
3391
+ typeNameQuery: PropTypes__default['default'].string,
3392
+ labelProperty: PropTypes__default['default'].string
3267
3393
  };
3268
3394
 
3269
3395
  var InputList = React.forwardRef(function (_ref, ref) {
@@ -3322,45 +3448,6 @@ var InputList = React.forwardRef(function (_ref, ref) {
3322
3448
  }));
3323
3449
  });
3324
3450
 
3325
- var defaultEvents = ['mousedown', 'touchstart'];
3326
-
3327
- var on = function on(obj) {
3328
- return obj.addEventListener.apply(obj, [].slice.call(arguments, 1));
3329
- };
3330
-
3331
- var off = function off(obj) {
3332
- return obj.removeEventListener.apply(obj, [].slice.call(arguments, 1));
3333
- };
3334
-
3335
- function useClickAway(ref, onClickAway, events) {
3336
- if (events === void 0) {
3337
- events = defaultEvents;
3338
- }
3339
-
3340
- var savedCallback = React.useRef(onClickAway);
3341
- React.useEffect(function () {
3342
- savedCallback.current = onClickAway;
3343
- }, [onClickAway]);
3344
- React.useEffect(function () {
3345
- var handler = function handler(event) {
3346
- var el = ref.current;
3347
- el && !el.contains(event.target) && savedCallback.current(event);
3348
- };
3349
-
3350
- for (var _iterator = _createForOfIteratorHelperLoose(events), _step; !(_step = _iterator()).done;) {
3351
- var eventName = _step.value;
3352
- on(document, eventName, handler);
3353
- }
3354
-
3355
- return function () {
3356
- for (var _iterator2 = _createForOfIteratorHelperLoose(events), _step2; !(_step2 = _iterator2()).done;) {
3357
- var eventName = _step2.value;
3358
- off(document, eventName, handler);
3359
- }
3360
- };
3361
- }, [events, ref]);
3362
- }
3363
-
3364
3451
  function Dropdown(_ref) {
3365
3452
  var children = _ref.children,
3366
3453
  disabled = _ref.disabled,
@@ -3762,12 +3849,14 @@ function useVocabulary(vocabularyName, path) {
3762
3849
  var plain = ['string', 'number', 'boolean'];
3763
3850
  function RenderField(_ref) {
3764
3851
  var value = _ref.value,
3765
- Widget = _ref.Widget;
3852
+ Widget = _ref.Widget,
3853
+ schema = _ref.schema;
3766
3854
  if (value === null || value === undefined) return '';
3767
3855
 
3768
3856
  if (Widget) {
3769
3857
  return /*#__PURE__*/React__default['default'].createElement(Widget, {
3770
- value: value
3858
+ value: value,
3859
+ schema: schema
3771
3860
  });
3772
3861
  }
3773
3862
 
@@ -3814,23 +3903,154 @@ var FieldValue = function FieldValue(_ref2) {
3814
3903
  })));
3815
3904
  };
3816
3905
 
3817
- function RenderFieldComponent(_ref3) {
3818
- var schema = _ref3.schema,
3819
- field = _ref3.field,
3820
- val = _ref3.val,
3821
- modifyContent = _ref3.modifyContent;
3822
- var intl = reactIntl.useIntl();
3823
- var DEFAULT_VALUE_EDITABLE_FIELD = intl.formatMessage({
3906
+ var DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- ';
3907
+
3908
+ var getDefaultValueEditableField = function getDefaultValueEditableField(intl) {
3909
+ return intl.formatMessage({
3824
3910
  id: "default_value_editable_field",
3825
3911
  defaultMessage: [{
3826
3912
  "type": 0,
3827
3913
  "value": "Click to edit"
3828
3914
  }]
3829
3915
  });
3830
- var DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- ';
3916
+ };
3917
+
3918
+ var SearchRenderField = function SearchRenderField(_ref3) {
3919
+ var schema = _ref3.schema,
3920
+ value = _ref3.value,
3921
+ modifyContent = _ref3.modifyContent;
3922
+
3923
+ var _useState = React.useState([]),
3924
+ valuesLabels = _useState[0],
3925
+ setValuesLabels = _useState[1];
3926
+
3927
+ var _useState2 = React.useState(false),
3928
+ isLoadingData = _useState2[0],
3929
+ setIsLoadingData = _useState2[1];
3930
+
3931
+ var traversal = useTraversal();
3932
+
3933
+ var _useConfig = useConfig(),
3934
+ SearchEngine = _useConfig.SearchEngine;
3935
+
3936
+ React.useEffect(function () {
3937
+ var fetchData = function fetchData(valuesToSearch) {
3938
+ try {
3939
+ setIsLoadingData(true);
3940
+ var searchTermQs = [];
3941
+ var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
3942
+ var getSearch = traversal.registry.get;
3943
+ var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3944
+ var qsParsed = traversal.client[fnName]({
3945
+ path: traversal.path,
3946
+ start: 0,
3947
+ pageSize: 100,
3948
+ withDepth: false
3949
+ });
3950
+
3951
+ if (searchTermParsed.length > 0 || qsParsed.length > 0) {
3952
+ searchTermQs = buildQs([searchTermParsed].concat(qsParsed));
3953
+ }
3954
+
3955
+ return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false, 0, 100)).then(function (data) {
3956
+ var newValuesLabel = data.items.map(function (item) {
3957
+ var _schema$labelProperty;
3958
+
3959
+ return get$1(item, (_schema$labelProperty = schema == null ? void 0 : schema.labelProperty) != null ? _schema$labelProperty : 'title', item.id);
3960
+ });
3961
+ setValuesLabels(newValuesLabel);
3962
+ setIsLoadingData(false);
3963
+ });
3964
+ } catch (e) {
3965
+ return Promise.reject(e);
3966
+ }
3967
+ };
3968
+
3969
+ var valuesToSearch = value;
3970
+
3971
+ if (typeof valuesToSearch === 'string') {
3972
+ valuesToSearch = [valuesToSearch];
3973
+ }
3974
+
3975
+ if (valuesToSearch !== undefined && valuesToSearch.length > 0) {
3976
+ fetchData(valuesToSearch);
3977
+ } else {
3978
+ setValuesLabels([]);
3979
+ }
3980
+ }, [value]);
3981
+
3982
+ var getRenderValue = function getRenderValue() {
3983
+ console.log('get render values', value, valuesLabels);
3984
+
3985
+ if (value === undefined) {
3986
+ if (modifyContent) {
3987
+ return DEFAULT_VALUE_EDITABLE_FIELD;
3988
+ }
3989
+
3990
+ return DEFAULT_VALUE_NO_EDITABLE_FIELD;
3991
+ }
3992
+
3993
+ if (isLoadingData) {
3994
+ return 'Loading...';
3995
+ }
3996
+
3997
+ return valuesLabels;
3998
+ };
3999
+
4000
+ return /*#__PURE__*/React__default['default'].createElement(RenderField, {
4001
+ value: getRenderValue()
4002
+ });
4003
+ };
4004
+ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
4005
+ var _schema$items;
4006
+
4007
+ var schema = _ref4.schema,
4008
+ value = _ref4.value,
4009
+ modifyContent = _ref4.modifyContent;
4010
+ var intl = reactIntl.useIntl();
4011
+ var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
4012
+ var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
4013
+ var vocabulary = useVocabulary(vocabularyName);
4014
+
4015
+ var getRenderProps = function getRenderProps() {
4016
+ var renderProps = {
4017
+ value: value != null ? value : modifyContent ? DEFAULT_VALUE_EDITABLE_FIELD : DEFAULT_VALUE_NO_EDITABLE_FIELD
4018
+ };
4019
+
4020
+ if (schema != null && schema.vocabularyName) {
4021
+ var _vocabularyValue$titl;
4022
+
4023
+ var vocabularyValue = get$1(vocabulary, 'data.items', []).find(function (item) {
4024
+ return item.token === value;
4025
+ });
4026
+ renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
4027
+ } else {
4028
+ var _renderProps$value;
4029
+
4030
+ renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
4031
+ var _get$find$title, _get$find;
4032
+
4033
+ return (_get$find$title = (_get$find = get$1(vocabulary, 'data.items', []).find(function (item) {
4034
+ return item.token === value;
4035
+ })) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
4036
+ });
4037
+ }
4038
+
4039
+ return renderProps;
4040
+ };
4041
+
4042
+ return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
4043
+ };
4044
+ function RenderFieldComponent(_ref5) {
4045
+ var schema = _ref5.schema,
4046
+ field = _ref5.field,
4047
+ val = _ref5.val,
4048
+ modifyContent = _ref5.modifyContent;
4049
+ var intl = reactIntl.useIntl();
4050
+ var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
3831
4051
 
3832
4052
  var getRenderProps = function getRenderProps() {
3833
- var _schema$items;
4053
+ var _schema$items2;
3834
4054
 
3835
4055
  var renderProps = {
3836
4056
  value: val != null ? val : modifyContent ? DEFAULT_VALUE_EDITABLE_FIELD : DEFAULT_VALUE_NO_EDITABLE_FIELD
@@ -3848,50 +4068,622 @@ function RenderFieldComponent(_ref3) {
3848
4068
  renderProps['value'] = (_val$toString = val == null ? void 0 : val.toString()) != null ? _val$toString : renderProps['value'];
3849
4069
  } else if (val && (schema == null ? void 0 : schema.type) === 'datetime') {
3850
4070
  renderProps['value'] = new Date(val).toLocaleString();
3851
- } else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabularyName || schema != null && schema.vocabularyName) {
3852
- var _schema$items2;
4071
+ } else if (schema != null && (_schema$items2 = schema.items) != null && _schema$items2.vocabularyName || schema != null && schema.vocabularyName) {
4072
+ renderProps['Widget'] = VocabularyRenderField;
4073
+ renderProps['schema'] = schema;
4074
+ } else if ((schema == null ? void 0 : schema.widget) === 'search' || (schema == null ? void 0 : schema.widget) === 'search_list') {
4075
+ renderProps['Widget'] = SearchRenderField;
4076
+ renderProps['value'] = val;
4077
+ renderProps['schema'] = schema;
4078
+ }
3853
4079
 
3854
- var vocabularyName = (schema == null ? void 0 : (_schema$items2 = schema.items) == null ? void 0 : _schema$items2.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
3855
- var vocabulary = useVocabulary(vocabularyName);
4080
+ return renderProps;
4081
+ };
3856
4082
 
3857
- if (schema != null && schema.vocabularyName) {
3858
- var _vocabularyValue$titl;
4083
+ return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
4084
+ }
3859
4085
 
3860
- var vocabularyValue = get$1(vocabulary, 'data.items', []).find(function (item) {
3861
- return item.token === val;
3862
- });
3863
- renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
3864
- } else {
3865
- var _renderProps$value;
4086
+ var SelectVocabulary = React__default['default'].forwardRef(function (_ref, ref) {
4087
+ var vocabularyName = _ref.vocabularyName,
4088
+ className = _ref.className,
4089
+ classWrap = _ref.classWrap,
4090
+ val = _ref.val,
4091
+ dataTest = _ref.dataTest,
4092
+ multiple = _ref.multiple,
4093
+ rest = _objectWithoutPropertiesLoose(_ref, ["vocabularyName", "className", "classWrap", "val", "dataTest", "multiple"]);
3866
4094
 
3867
- renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
3868
- var _get$find$title, _get$find;
4095
+ var vocabulary = useVocabulary(vocabularyName);
3869
4096
 
3870
- return (_get$find$title = (_get$find = get$1(vocabulary, 'data.items', []).find(function (item) {
3871
- return item.token === value;
3872
- })) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
3873
- });
3874
- }
4097
+ var getOptions = function getOptions() {
4098
+ if (get$1(vocabulary, 'data.items', null)) {
4099
+ var vocData = vocabulary.data.items.map(function (item) {
4100
+ var _item$title$default;
4101
+
4102
+ return {
4103
+ text: (_item$title$default = item.title.default) != null ? _item$title$default : item.title,
4104
+ value: item.token
4105
+ };
4106
+ });
4107
+ return vocData;
4108
+ }
4109
+
4110
+ return [];
4111
+ };
4112
+
4113
+ var getProps = function getProps() {
4114
+ if (multiple) {
4115
+ var currentValue = val || [];
4116
+ return {
4117
+ multiple: true,
4118
+ size: 5,
4119
+ value: currentValue,
4120
+ options: getOptions()
4121
+ };
3875
4122
  }
3876
4123
 
3877
- return renderProps;
4124
+ return {
4125
+ value: val != null ? val : '',
4126
+ appendDefault: true,
4127
+ options: getOptions()
4128
+ };
4129
+ };
4130
+
4131
+ if (vocabulary.data === undefined || vocabulary.loading) {
4132
+ return /*#__PURE__*/React__default['default'].createElement("div", null);
4133
+ }
4134
+
4135
+ return /*#__PURE__*/React__default['default'].createElement(Select, _extends({}, getProps(), {
4136
+ className: className,
4137
+ classWrap: classWrap || 'is-fullwidth',
4138
+ dataTest: dataTest,
4139
+ ref: ref
4140
+ }, rest));
4141
+ });
4142
+ Select.propTypes = {
4143
+ error: PropTypes__default['default'].string,
4144
+ disabled: PropTypes__default['default'].bool,
4145
+ loading: PropTypes__default['default'].bool,
4146
+ isSubmitted: PropTypes__default['default'].bool,
4147
+ size: PropTypes__default['default'].number,
4148
+ onChange: PropTypes__default['default'].func,
4149
+ multiple: PropTypes__default['default'].bool,
4150
+ className: PropTypes__default['default'].string,
4151
+ vocabularyName: PropTypes__default['default'].string
4152
+ };
4153
+
4154
+ var _SearchInputList$prop;
4155
+
4156
+ function debounce$1(func, wait) {
4157
+ var timeout;
4158
+ return function () {
4159
+ var context = this;
4160
+ var args = arguments;
4161
+
4162
+ var later = function later() {
4163
+ timeout = null;
4164
+ func.apply(context, args);
4165
+ };
4166
+
4167
+ clearTimeout(timeout);
4168
+ timeout = setTimeout(later, wait);
4169
+ };
4170
+ }
4171
+
4172
+ var initialState$1 = {
4173
+ page: 0,
4174
+ items: undefined,
4175
+ loading: false,
4176
+ items_total: 0
4177
+ };
4178
+ var SearchInputList = function SearchInputList(_ref) {
4179
+ var onChange = _ref.onChange,
4180
+ error = _ref.error,
4181
+ errorZoneClassName = _ref.errorZoneClassName,
4182
+ _ref$traversal = _ref.traversal,
4183
+ traversal = _ref$traversal === void 0 ? null : _ref$traversal,
4184
+ _ref$path = _ref.path,
4185
+ path = _ref$path === void 0 ? null : _ref$path,
4186
+ _ref$qs = _ref.qs,
4187
+ qs = _ref$qs === void 0 ? [] : _ref$qs,
4188
+ _ref$queryCondition = _ref.queryCondition,
4189
+ queryCondition = _ref$queryCondition === void 0 ? 'id__in' : _ref$queryCondition,
4190
+ value = _ref.value,
4191
+ _ref$btnClass = _ref.btnClass,
4192
+ btnClass = _ref$btnClass === void 0 ? '' : _ref$btnClass,
4193
+ _ref$dataTestWrapper = _ref.dataTestWrapper,
4194
+ dataTestWrapper = _ref$dataTestWrapper === void 0 ? 'wrapperSearchInputTest' : _ref$dataTestWrapper,
4195
+ _ref$dataTestSearchIn = _ref.dataTestSearchInput,
4196
+ dataTestSearchInput = _ref$dataTestSearchIn === void 0 ? 'searchInputTest' : _ref$dataTestSearchIn,
4197
+ _ref$dataTestItem = _ref.dataTestItem,
4198
+ dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
4199
+ _ref$renderTextItemOp = _ref.renderTextItemOption,
4200
+ renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp,
4201
+ _ref$typeNameQuery = _ref.typeNameQuery,
4202
+ typeNameQuery = _ref$typeNameQuery === void 0 ? null : _ref$typeNameQuery,
4203
+ _ref$labelProperty = _ref.labelProperty,
4204
+ labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
4205
+ var intl = reactIntl.useIntl();
4206
+
4207
+ var _useSetState = useSetState(initialState$1),
4208
+ options = _useSetState[0],
4209
+ setOptions = _useSetState[1];
4210
+
4211
+ var _useState = React.useState(undefined),
4212
+ valuesLabel = _useState[0],
4213
+ setValuesLabels = _useState[1];
4214
+
4215
+ var _React$useState = React__default['default'].useState(false),
4216
+ isOpen = _React$useState[0],
4217
+ setIsOpen = _React$useState[1];
4218
+
4219
+ var _React$useState2 = React__default['default'].useState(''),
4220
+ searchTerm = _React$useState2[0],
4221
+ setSearchTerm = _React$useState2[1];
4222
+
4223
+ var inputRef = React__default['default'].useRef(null);
4224
+ var wrapperRef = React__default['default'].useRef(null);
4225
+
4226
+ var _useConfig = useConfig(),
4227
+ PageSize = _useConfig.PageSize,
4228
+ SearchEngine = _useConfig.SearchEngine;
4229
+
4230
+ var _useState2 = React.useState(false),
4231
+ isLoadingData = _useState2[0],
4232
+ setIsLoadingData = _useState2[1];
4233
+
4234
+ var _useState3 = React.useState(generateUID('search_input')),
4235
+ uid = _useState3[0];
4236
+
4237
+ useClickAway(wrapperRef, function () {
4238
+ setIsOpen(false);
4239
+ });
4240
+
4241
+ var getHeight = function getHeight() {
4242
+ if (wrapperRef && wrapperRef.current) {
4243
+ return {
4244
+ maxHeight: window.innerHeight - wrapperRef.current.getBoundingClientRect().top - 100 + "px"
4245
+ };
4246
+ }
4247
+
4248
+ return {
4249
+ maxHeight: 'auto'
4250
+ };
4251
+ };
4252
+
4253
+ var delayedQuery = React.useCallback(debounce$1(function (value) {
4254
+ return handleSearch(0, false, value);
4255
+ }, 500), []);
4256
+
4257
+ var handleSearch = function handleSearch(page, concat, value) {
4258
+ if (page === void 0) {
4259
+ page = 0;
4260
+ }
4261
+
4262
+ if (concat === void 0) {
4263
+ concat = false;
4264
+ }
4265
+
4266
+ if (value === void 0) {
4267
+ value = '';
4268
+ }
4269
+
4270
+ try {
4271
+ setOptions({
4272
+ loading: true
4273
+ });
4274
+ var searchTermQs = [];
4275
+ var searchTermParsed = [];
4276
+
4277
+ if (value !== '') {
4278
+ searchTermParsed = parser(queryCondition + "=" + value);
4279
+ }
4280
+
4281
+ var _get = traversal.registry.get;
4282
+
4283
+ var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
4284
+
4285
+ var qsParsed = traversal.client[fnName]({
4286
+ path: traversal.path,
4287
+ start: page * PageSize,
4288
+ pageSize: PageSize,
4289
+ withDepth: false
4290
+ });
4291
+ var sortParsed = parser("_sort_des=title");
4292
+ var typeNameParsed = [];
4293
+
4294
+ if (typeNameQuery) {
4295
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
4296
+ }
4297
+
4298
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
4299
+ searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
4300
+ }
4301
+
4302
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
4303
+ var _data$items_total;
4304
+
4305
+ var newItems = options.items && concat ? [].concat(options.items, data.items) : data.items;
4306
+ setOptions({
4307
+ items: newItems != null ? newItems : [],
4308
+ loading: false,
4309
+ items_total: (_data$items_total = data.items_total) != null ? _data$items_total : 0,
4310
+ page: page
4311
+ });
4312
+ });
4313
+ } catch (e) {
4314
+ return Promise.reject(e);
4315
+ }
4316
+ };
4317
+
4318
+ var inicializeLabels = function inicializeLabels() {
4319
+ try {
4320
+ var _temp2 = function () {
4321
+ if (labelProperty !== 'id' && value.length > 0) {
4322
+ setIsLoadingData(true);
4323
+ var searchTermQs = [];
4324
+ var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
4325
+ var getSearch = traversal.registry.get;
4326
+ var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
4327
+ var qsParsed = traversal.client[fnName]({
4328
+ path: traversal.path,
4329
+ start: 0,
4330
+ pageSize: 100,
4331
+ withDepth: false
4332
+ });
4333
+ var typeNameParsed = [];
4334
+
4335
+ if (typeNameQuery) {
4336
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
4337
+ }
4338
+
4339
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
4340
+ searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
4341
+ }
4342
+
4343
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false, 0, 100)).then(function (data) {
4344
+ var newValuesLabel = data.items.reduce(function (result, item) {
4345
+ result[item.id] = get$1(item, labelProperty, item.id);
4346
+ return result;
4347
+ }, {});
4348
+ setValuesLabels(newValuesLabel);
4349
+ setIsLoadingData(false);
4350
+ });
4351
+ }
4352
+ }();
4353
+
4354
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
4355
+ } catch (e) {
4356
+ return Promise.reject(e);
4357
+ }
4358
+ };
4359
+
4360
+ var renderTextItemOptionFn = function renderTextItemOptionFn(item) {
4361
+ if (renderTextItemOption) {
4362
+ return renderTextItemOption(item);
4363
+ }
4364
+
4365
+ return item.title || item['@name'];
4366
+ };
4367
+
4368
+ React__default['default'].useEffect(function () {
4369
+ if (!options.loading && !options.items && value.length > 0) {
4370
+ inicializeLabels();
4371
+ } else if (value.length === 0) {
4372
+ setValuesLabels({});
4373
+ }
4374
+ }, [path, options.loading, options.items]);
4375
+
4376
+ if (isLoadingData || valuesLabel === undefined) {
4377
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4378
+ className: "spinner"
4379
+ });
4380
+ }
4381
+
4382
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
4383
+ className: "tags mb-2"
4384
+ }, value.map(function (tag, index) {
4385
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4386
+ key: "input_list_" + tag + "_" + index,
4387
+ className: "tag is-info is-medium"
4388
+ }, get$1(valuesLabel, tag, tag), /*#__PURE__*/React__default['default'].createElement("button", {
4389
+ className: "delete is-small",
4390
+ onClick: function onClick(ev) {
4391
+ ev.stopPropagation();
4392
+ ev.preventDefault();
4393
+ onChange([].concat(value.filter(function (tag) {
4394
+ return value.indexOf(tag) !== index;
4395
+ })));
4396
+ }
4397
+ }));
4398
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
4399
+ "data-test": dataTestWrapper,
4400
+ ref: wrapperRef,
4401
+ className: "dropdown mb-2 " + (isOpen ? 'is-active' : ''),
4402
+ onBlur: function onBlur(ev) {
4403
+ if (!ev.currentTarget.contains(ev.relatedTarget)) {
4404
+ if (searchTerm !== '') {
4405
+ setSearchTerm('');
4406
+ setOptions(initialState$1);
4407
+ }
4408
+
4409
+ setIsOpen(false);
4410
+ }
4411
+ }
4412
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4413
+ className: "dropdown-trigger"
4414
+ }, /*#__PURE__*/React__default['default'].createElement("button", {
4415
+ className: "button " + btnClass,
4416
+ onClick: function onClick(ev) {
4417
+ ev.preventDefault();
4418
+ setIsOpen(!isOpen);
4419
+
4420
+ if (!options.loading && !options.items) {
4421
+ handleSearch(options.page);
4422
+ }
4423
+ },
4424
+ "aria-haspopup": "true",
4425
+ "aria-controls": "dropdown-menu"
4426
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, intl.formatMessage(genericMessages.choose)), /*#__PURE__*/React__default['default'].createElement("span", {
4427
+ className: "icon"
4428
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
4429
+ className: "fas fa-angle-down",
4430
+ "aria-hidden": "true"
4431
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
4432
+ className: "dropdown-menu",
4433
+ id: "dropdown-menu",
4434
+ role: "menu",
4435
+ style: getHeight()
4436
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4437
+ className: "dropdown-content"
4438
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4439
+ className: "dropdown-item"
4440
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
4441
+ ref: inputRef,
4442
+ "data-test": dataTestSearchInput,
4443
+ className: "input",
4444
+ type: "text",
4445
+ placeholder: intl.formatMessage(genericMessages.search),
4446
+ value: searchTerm,
4447
+ onChange: function onChange(ev) {
4448
+ delayedQuery(ev.target.value);
4449
+ setSearchTerm(ev.target.value);
4450
+ }
4451
+ })), /*#__PURE__*/React__default['default'].createElement("hr", {
4452
+ className: "dropdown-divider"
4453
+ }), options.loading && /*#__PURE__*/React__default['default'].createElement(Loading, null), options.items && options.items.map(function (item) {
4454
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4455
+ className: "dropdown-item editable " + (value && value.id === item.id ? 'is-active' : ''),
4456
+ "data-test": dataTestItem + "-" + item.id,
4457
+ onMouseDown: function onMouseDown(ev) {
4458
+ ev.stopPropagation();
4459
+ ev.preventDefault();
4460
+
4461
+ if (onChange && !value.includes(item.id)) {
4462
+ var _extends2;
4463
+
4464
+ setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get$1(item, labelProperty, item.id), _extends2)));
4465
+ onChange([].concat(value, [item.id]));
4466
+ }
4467
+ },
4468
+ key: item.path
4469
+ }, renderTextItemOptionFn(item));
4470
+ }), options.items && options.items.length === 0 && /*#__PURE__*/React__default['default'].createElement("div", {
4471
+ className: "dropdown-item"
4472
+ }, intl.formatMessage(genericMessages.no_results)), options.items && options.items_total > options.items.length && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("hr", {
4473
+ className: "dropdown-divider"
4474
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
4475
+ className: "dropdown-item editable",
4476
+ onMouseDown: function onMouseDown(ev) {
4477
+ ev.stopPropagation();
4478
+ ev.preventDefault();
4479
+ handleSearch(options.page + 1, true);
4480
+ }
4481
+ }, intl.formatMessage(genericMessages.load_more)))))), error && /*#__PURE__*/React__default['default'].createElement(ErrorZone, {
4482
+ className: errorZoneClassName,
4483
+ id: uid
4484
+ }, error ? error : ''));
4485
+ };
4486
+ SearchInputList.propTypes = (_SearchInputList$prop = {
4487
+ onChange: PropTypes__default['default'].func,
4488
+ path: PropTypes__default['default'].string,
4489
+ btnClass: PropTypes__default['default'].string,
4490
+ dataTestWrapper: PropTypes__default['default'].string,
4491
+ dataTestSearchInput: PropTypes__default['default'].string,
4492
+ dataTestItem: PropTypes__default['default'].string,
4493
+ renderTextItemOption: PropTypes__default['default'].func,
4494
+ typeNameQuery: PropTypes__default['default'].string,
4495
+ labelProperty: PropTypes__default['default'].string,
4496
+ error: PropTypes__default['default'].string,
4497
+ errorZoneClassName: PropTypes__default['default'].string,
4498
+ traversal: PropTypes__default['default'].object
4499
+ }, _SearchInputList$prop["path"] = PropTypes__default['default'].string, _SearchInputList$prop.qs = PropTypes__default['default'].array, _SearchInputList$prop.queryCondition = PropTypes__default['default'].string, _SearchInputList$prop);
4500
+
4501
+ var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
4502
+ var schema = _ref.schema,
4503
+ val = _ref.val,
4504
+ setValue = _ref.setValue,
4505
+ dataTest = _ref.dataTest,
4506
+ className = _ref.className,
4507
+ rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
4508
+
4509
+ var traversal = useTraversal();
4510
+
4511
+ if ((schema == null ? void 0 : schema.widget) === 'search_list') {
4512
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rest.placeholder && /*#__PURE__*/React__default['default'].createElement("label", {
4513
+ className: "label"
4514
+ }, rest.placeholder), /*#__PURE__*/React__default['default'].createElement(SearchInputList, _extends({
4515
+ value: val || [],
4516
+ traversal: traversal,
4517
+ className: className,
4518
+ onChange: function onChange(ev) {
4519
+ return setValue(ev);
4520
+ },
4521
+ queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
4522
+ dataTest: dataTest,
4523
+ path: schema.queryPath,
4524
+ labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
4525
+ typeNameQuery: schema != null && schema.typeNameQuery ? schema.typeNameQuery : null
4526
+ }, rest)));
4527
+ } else if ((schema == null ? void 0 : schema.widget) === 'search') {
4528
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rest.placeholder && /*#__PURE__*/React__default['default'].createElement("label", {
4529
+ className: "label"
4530
+ }, rest.placeholder), /*#__PURE__*/React__default['default'].createElement(SearchInput, _extends({
4531
+ value: val,
4532
+ traversal: traversal,
4533
+ className: className,
4534
+ onChange: function onChange(ev) {
4535
+ return setValue(ev);
4536
+ },
4537
+ queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
4538
+ dataTest: dataTest,
4539
+ path: schema.queryPath,
4540
+ labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
4541
+ typeNameQuery: schema != null && schema.typeNameQuery ? schema.typeNameQuery : null
4542
+ }, rest)));
4543
+ } else if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
4544
+ return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
4545
+ value: val || '',
4546
+ className: className,
4547
+ onChange: function onChange(ev) {
4548
+ return setValue(ev);
4549
+ },
4550
+ ref: ref,
4551
+ dataTest: dataTest
4552
+ }, rest));
4553
+ } else if ((schema == null ? void 0 : schema.type) === 'boolean') {
4554
+ return /*#__PURE__*/React__default['default'].createElement(Checkbox, _extends({
4555
+ value: !!val,
4556
+ className: className,
4557
+ onChange: function onChange(ev) {
4558
+ return setValue(ev);
4559
+ },
4560
+ ref: ref,
4561
+ dataTest: dataTest
4562
+ }, rest));
4563
+ } else if ((schema == null ? void 0 : schema.type) === 'array') {
4564
+ if (schema.items && schema.items.type === 'string') {
4565
+ var _schema$items;
4566
+
4567
+ if (schema.items.vocabularyName) {
4568
+ return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
4569
+ vocabularyName: get$1(schema, 'items.vocabularyName', null),
4570
+ val: val || [],
4571
+ className: className,
4572
+ classWrap: "is-fullwidth",
4573
+ dataTest: dataTest
4574
+ }, rest, {
4575
+ onChange: setValue,
4576
+ multiple: true
4577
+ }));
4578
+ } else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabulary) {
4579
+ return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
4580
+ value: val || [],
4581
+ className: className,
4582
+ classWrap: "is-fullwidth",
4583
+ dataTest: dataTest,
4584
+ options: schema == null ? void 0 : schema.items.vocabulary.map(function (item) {
4585
+ return {
4586
+ text: item,
4587
+ value: item
4588
+ };
4589
+ }),
4590
+ multiple: true,
4591
+ onChange: setValue
4592
+ }, rest));
4593
+ }
4594
+ }
4595
+
4596
+ return /*#__PURE__*/React__default['default'].createElement(InputList, _extends({
4597
+ value: val || [],
4598
+ className: className,
4599
+ onChange: function onChange(ev) {
4600
+ return setValue(ev);
4601
+ },
4602
+ ref: ref,
4603
+ dataTest: dataTest
4604
+ }, rest));
4605
+ } else if ((schema == null ? void 0 : schema.widget) === 'file') {
4606
+ return /*#__PURE__*/React__default['default'].createElement(FileUpload, _extends({
4607
+ onChange: function onChange(ev) {
4608
+ return setValue(ev);
4609
+ },
4610
+ label: get$1(val, 'filename', null),
4611
+ dataTest: dataTest
4612
+ }, rest));
4613
+ } else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
4614
+ if (schema != null && schema.vocabularyName) {
4615
+ return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
4616
+ val: val || '',
4617
+ className: className,
4618
+ appendDefault: true,
4619
+ classWrap: "is-fullwidth",
4620
+ dataTest: dataTest,
4621
+ onChange: setValue,
4622
+ vocabularyName: get$1(schema, 'vocabularyName', null)
4623
+ }, rest));
4624
+ }
4625
+
4626
+ return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
4627
+ value: val || '',
4628
+ className: className,
4629
+ appendDefault: true,
4630
+ classWrap: "is-fullwidth",
4631
+ dataTest: dataTest,
4632
+ options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
4633
+ return {
4634
+ text: item,
4635
+ value: item
4636
+ };
4637
+ }),
4638
+ onChange: setValue
4639
+ }, rest));
4640
+ }
4641
+
4642
+ var getInputType = function getInputType() {
4643
+ switch (schema == null ? void 0 : schema.type) {
4644
+ case 'integer':
4645
+ return 'number';
4646
+
4647
+ case 'date':
4648
+ return 'date';
4649
+
4650
+ case 'datetime':
4651
+ return 'datetime-local';
4652
+
4653
+ default:
4654
+ return 'text';
4655
+ }
3878
4656
  };
3879
4657
 
3880
- return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
3881
- }
4658
+ return /*#__PURE__*/React__default['default'].createElement(Input, _extends({
4659
+ value: val || '',
4660
+ className: className,
4661
+ dataTest: dataTest,
4662
+ onChange: function onChange(ev) {
4663
+ return setValue(ev);
4664
+ },
4665
+ ref: ref,
4666
+ type: getInputType()
4667
+ }, rest));
4668
+ });
4669
+ EditComponent.displayName = 'EditComponent';
3882
4670
 
3883
4671
  function IAttachment(_ref) {
3884
4672
  var properties = _ref.properties,
3885
4673
  values = _ref.values;
4674
+ var intl = reactIntl.useIntl();
3886
4675
  var Ctx = useTraversal();
3887
4676
  var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
3888
4677
  return /*#__PURE__*/React__default['default'].createElement(Table, {
3889
- headers: ['Field', 'Value'],
4678
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
3890
4679
  className: "is-striped is-fullwidth is-size-7"
3891
4680
  }, Object.keys(properties).map(function (key) {
3892
4681
  return /*#__PURE__*/React__default['default'].createElement("tr", {
3893
4682
  key: 'attachment_' + key
3894
4683
  }, /*#__PURE__*/React__default['default'].createElement("td", {
4684
+ style: {
4685
+ width: '150px'
4686
+ },
3895
4687
  key: 1
3896
4688
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
3897
4689
  key: 2
@@ -3987,7 +4779,7 @@ function IMultiAttachment(_ref) {
3987
4779
  };
3988
4780
 
3989
4781
  return /*#__PURE__*/React__default['default'].createElement(Table, {
3990
- headers: ['Field', 'Value'],
4782
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
3991
4783
  className: "is-striped is-fullwidth is-size-7"
3992
4784
  }, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
3993
4785
  loading: loading,
@@ -4004,7 +4796,10 @@ function IMultiAttachment(_ref) {
4004
4796
  return /*#__PURE__*/React__default['default'].createElement("tr", {
4005
4797
  key: 'multiattachment_' + key
4006
4798
  }, /*#__PURE__*/React__default['default'].createElement("td", {
4007
- key: 1
4799
+ key: 1,
4800
+ style: {
4801
+ width: '150px'
4802
+ }
4008
4803
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
4009
4804
  key: 2
4010
4805
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -4292,7 +5087,7 @@ function IImageAttachment(_ref) {
4292
5087
  };
4293
5088
 
4294
5089
  return /*#__PURE__*/React__default['default'].createElement(Table, {
4295
- headers: ['Field', 'Value'],
5090
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
4296
5091
  className: "is-striped is-fullwidth is-size-7"
4297
5092
  }, showConfirmToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
4298
5093
  loading: loading,
@@ -4304,7 +5099,10 @@ function IImageAttachment(_ref) {
4304
5099
  },
4305
5100
  message: intl.formatMessage(genericFileMessages.confirm_message_delete_image)
4306
5101
  }), values['image'] && /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
4307
- key: 1
5102
+ key: 1,
5103
+ style: {
5104
+ width: '150px'
5105
+ }
4308
5106
  }, intl.formatMessage(genericMessages.image)), /*#__PURE__*/React__default['default'].createElement("td", {
4309
5107
  key: 2
4310
5108
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -4594,7 +5392,7 @@ function IMultiImageAttachment(_ref) {
4594
5392
  };
4595
5393
 
4596
5394
  return /*#__PURE__*/React__default['default'].createElement(Table, {
4597
- headers: ['Field', 'Value'],
5395
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
4598
5396
  className: "is-striped is-fullwidth is-size-7"
4599
5397
  }, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
4600
5398
  loading: loading,
@@ -4611,7 +5409,10 @@ function IMultiImageAttachment(_ref) {
4611
5409
  return /*#__PURE__*/React__default['default'].createElement("tr", {
4612
5410
  key: "multiimageattachment_" + key
4613
5411
  }, /*#__PURE__*/React__default['default'].createElement("td", {
4614
- key: 1
5412
+ key: 1,
5413
+ style: {
5414
+ width: '150px'
5415
+ }
4615
5416
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
4616
5417
  key: 2
4617
5418
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -6092,75 +6893,7 @@ function SearchVocabularyLabels(props) {
6092
6893
  return null;
6093
6894
  }
6094
6895
 
6095
- var SelectVocabulary = React__default['default'].forwardRef(function (_ref, ref) {
6096
- var vocabularyName = _ref.vocabularyName,
6097
- className = _ref.className,
6098
- classWrap = _ref.classWrap,
6099
- val = _ref.val,
6100
- dataTest = _ref.dataTest,
6101
- multiple = _ref.multiple,
6102
- rest = _objectWithoutPropertiesLoose(_ref, ["vocabularyName", "className", "classWrap", "val", "dataTest", "multiple"]);
6103
-
6104
- var vocabulary = useVocabulary(vocabularyName);
6105
-
6106
- var getOptions = function getOptions() {
6107
- if (get$1(vocabulary, 'data.items', null)) {
6108
- var vocData = vocabulary.data.items.map(function (item) {
6109
- var _item$title$default;
6110
-
6111
- return {
6112
- text: (_item$title$default = item.title.default) != null ? _item$title$default : item.title,
6113
- value: item.token
6114
- };
6115
- });
6116
- return vocData;
6117
- }
6118
-
6119
- return [];
6120
- };
6121
-
6122
- var getProps = function getProps() {
6123
- if (multiple) {
6124
- var currentValue = val || [];
6125
- return {
6126
- multiple: true,
6127
- size: 5,
6128
- value: currentValue,
6129
- options: getOptions()
6130
- };
6131
- }
6132
-
6133
- return {
6134
- value: val != null ? val : '',
6135
- appendDefault: true,
6136
- options: getOptions()
6137
- };
6138
- };
6139
-
6140
- if (vocabulary.data === undefined || vocabulary.loading) {
6141
- return /*#__PURE__*/React__default['default'].createElement("div", null);
6142
- }
6143
-
6144
- return /*#__PURE__*/React__default['default'].createElement(Select, _extends({}, getProps(), {
6145
- className: className,
6146
- classWrap: classWrap || 'is-fullwidth',
6147
- dataTest: dataTest,
6148
- ref: ref
6149
- }, rest));
6150
- });
6151
- Select.propTypes = {
6152
- error: PropTypes__default['default'].string,
6153
- disabled: PropTypes__default['default'].bool,
6154
- loading: PropTypes__default['default'].bool,
6155
- isSubmitted: PropTypes__default['default'].bool,
6156
- size: PropTypes__default['default'].number,
6157
- onChange: PropTypes__default['default'].func,
6158
- multiple: PropTypes__default['default'].bool,
6159
- className: PropTypes__default['default'].string,
6160
- vocabularyName: PropTypes__default['default'].string
6161
- };
6162
-
6163
- var initialState$1 = {
6896
+ var initialState$2 = {
6164
6897
  page: 0,
6165
6898
  items: [],
6166
6899
  loading: true,
@@ -6179,7 +6912,7 @@ function PanelItems() {
6179
6912
  var intl = reactIntl.useIntl();
6180
6913
  var Ctx = useTraversal();
6181
6914
 
6182
- var _useSetState = useSetState(initialState$1),
6915
+ var _useSetState = useSetState(initialState$2),
6183
6916
  state = _useSetState[0],
6184
6917
  setState = _useSetState[1];
6185
6918
 
@@ -6629,7 +7362,7 @@ function PanelProperties() {
6629
7362
  icon: model.icon,
6630
7363
  align: "is-left",
6631
7364
  className: "has-text-grey"
6632
- }), ' ', "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
7365
+ }), "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
6633
7366
  className: "level-right"
6634
7367
  }, /*#__PURE__*/React__default['default'].createElement(PropertiesButtonView, null))), /*#__PURE__*/React__default['default'].createElement("hr", null), schema && schema.data && !schema.loading && /*#__PURE__*/React__default['default'].createElement("div", {
6635
7368
  className: "columns"
@@ -6638,13 +7371,20 @@ function PanelProperties() {
6638
7371
  }, /*#__PURE__*/React__default['default'].createElement("table", {
6639
7372
  className: "table is-striped is-fullwidth is-size-7"
6640
7373
  }, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
7374
+ style: {
7375
+ width: '150px'
7376
+ },
6641
7377
  className: "is-2"
6642
7378
  }, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
6643
7379
  className: "is-8"
6644
7380
  }, intl.formatMessage(genericMessages.value)))), /*#__PURE__*/React__default['default'].createElement("tbody", null, showProperties.map(function (prop) {
6645
7381
  return /*#__PURE__*/React__default['default'].createElement("tr", {
6646
7382
  key: 'prop' + prop
6647
- }, /*#__PURE__*/React__default['default'].createElement("td", null, prop), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
7383
+ }, /*#__PURE__*/React__default['default'].createElement("td", {
7384
+ style: {
7385
+ width: '150px'
7386
+ }
7387
+ }, prop), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
6648
7388
  field: prop,
6649
7389
  value: Ctx.context[prop],
6650
7390
  modifyContent: false
@@ -6652,6 +7392,9 @@ function PanelProperties() {
6652
7392
  }))), properties.length > 0 && /*#__PURE__*/React__default['default'].createElement("table", {
6653
7393
  className: "table is-striped is-fullwidth is-size-7"
6654
7394
  }, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
7395
+ style: {
7396
+ width: '150px'
7397
+ },
6655
7398
  className: "is-2"
6656
7399
  }, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
6657
7400
  className: "is-8"
@@ -6660,7 +7403,11 @@ function PanelProperties() {
6660
7403
  value = _ref.value;
6661
7404
  return /*#__PURE__*/React__default['default'].createElement("tr", {
6662
7405
  key: 'prop' + key
6663
- }, /*#__PURE__*/React__default['default'].createElement("td", null, value.title || key), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
7406
+ }, /*#__PURE__*/React__default['default'].createElement("td", {
7407
+ style: {
7408
+ width: '150px'
7409
+ }
7410
+ }, value.title || key), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
6664
7411
  field: key,
6665
7412
  value: Ctx.context[key],
6666
7413
  schema: value,
@@ -7391,13 +8138,13 @@ function TagsWidget(_ref) {
7391
8138
 
7392
8139
  /* eslint jsx-a11y/anchor-is-valid: "off" */
7393
8140
 
7394
- var initialState$2 = {
8141
+ var initialState$3 = {
7395
8142
  types: undefined
7396
8143
  };
7397
8144
  function CreateButton() {
7398
8145
  var intl = reactIntl.useIntl();
7399
8146
 
7400
- var _useSetState = useSetState(initialState$2),
8147
+ var _useSetState = useSetState(initialState$3),
7401
8148
  state = _useSetState[0],
7402
8149
  setState = _useSetState[1];
7403
8150
 
@@ -7483,7 +8230,7 @@ function ContextToolbar(_ref) {
7483
8230
 
7484
8231
  var intl = reactIntl.useIntl();
7485
8232
 
7486
- var _useSetState2 = useSetState(initialState$2),
8233
+ var _useSetState2 = useSetState(initialState$3),
7487
8234
  state = _useSetState2[0],
7488
8235
  setState = _useSetState2[1];
7489
8236
 
@@ -8678,15 +9425,19 @@ var editableFields = ['title', 'description', 'effective_date', 'expiration_date
8678
9425
  function IDublinCore(_ref) {
8679
9426
  var properties = _ref.properties,
8680
9427
  values = _ref.values;
9428
+ var intl = reactIntl.useIntl();
8681
9429
  var Ctx = useTraversal();
8682
9430
  var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
8683
9431
  return /*#__PURE__*/React__default['default'].createElement(Table, {
8684
- headers: ['Field', 'Value'],
9432
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
8685
9433
  className: "is-striped is-fullwidth is-size-7"
8686
9434
  }, Object.keys(properties).map(function (key) {
8687
9435
  return /*#__PURE__*/React__default['default'].createElement("tr", {
8688
9436
  key: 'dublin_' + key
8689
9437
  }, /*#__PURE__*/React__default['default'].createElement("td", {
9438
+ style: {
9439
+ width: '150px'
9440
+ },
8690
9441
  key: 1
8691
9442
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
8692
9443
  key: 2
@@ -8897,13 +9648,13 @@ function GroupCtx() {
8897
9648
  }
8898
9649
  };
8899
9650
 
8900
- var addUser = function addUser(newUser) {
9651
+ var addUser = function addUser(newUserId) {
8901
9652
  try {
8902
9653
  var data = {};
8903
9654
  Ctx.context.users.forEach(function (user) {
8904
9655
  data[user] = true;
8905
9656
  });
8906
- data[newUser.id] = true;
9657
+ data[newUserId] = true;
8907
9658
  return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
8908
9659
  users: data
8909
9660
  })).then(function (_ref3) {
@@ -8922,7 +9673,7 @@ function GroupCtx() {
8922
9673
  "value": " added to group"
8923
9674
  }]
8924
9675
  }, {
8925
- user: newUser.id
9676
+ user: newUserId
8926
9677
  }), errorMessage);
8927
9678
  });
8928
9679
  } catch (e) {
@@ -9215,142 +9966,6 @@ var buildPaths = function buildPaths(segments) {
9215
9966
  return results;
9216
9967
  };
9217
9968
 
9218
- var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
9219
- var schema = _ref.schema,
9220
- val = _ref.val,
9221
- setValue = _ref.setValue,
9222
- dataTest = _ref.dataTest,
9223
- className = _ref.className,
9224
- rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
9225
-
9226
- if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
9227
- return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
9228
- value: val || '',
9229
- className: className,
9230
- onChange: function onChange(ev) {
9231
- return setValue(ev);
9232
- },
9233
- ref: ref,
9234
- dataTest: dataTest
9235
- }, rest));
9236
- } else if ((schema == null ? void 0 : schema.type) === 'boolean') {
9237
- return /*#__PURE__*/React__default['default'].createElement(Checkbox, _extends({
9238
- value: !!val,
9239
- className: className,
9240
- onChange: function onChange(ev) {
9241
- return setValue(ev);
9242
- },
9243
- ref: ref,
9244
- dataTest: dataTest
9245
- }, rest));
9246
- } else if ((schema == null ? void 0 : schema.type) === 'array') {
9247
- if (schema.items && schema.items.type === 'string') {
9248
- var _schema$items;
9249
-
9250
- if (schema.items.vocabularyName) {
9251
- return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
9252
- vocabularyName: get$1(schema, 'items.vocabularyName', null),
9253
- val: val || [],
9254
- className: className,
9255
- classWrap: "is-fullwidth",
9256
- dataTest: dataTest
9257
- }, rest, {
9258
- onChange: setValue,
9259
- multiple: true
9260
- }));
9261
- } else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabulary) {
9262
- return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
9263
- value: val || [],
9264
- className: className,
9265
- classWrap: "is-fullwidth",
9266
- dataTest: dataTest,
9267
- options: schema == null ? void 0 : schema.items.vocabulary.map(function (item) {
9268
- return {
9269
- text: item,
9270
- value: item
9271
- };
9272
- }),
9273
- multiple: true,
9274
- onChange: setValue
9275
- }, rest));
9276
- }
9277
- }
9278
-
9279
- return /*#__PURE__*/React__default['default'].createElement(InputList, _extends({
9280
- value: val || [],
9281
- className: className,
9282
- onChange: function onChange(ev) {
9283
- return setValue(ev);
9284
- },
9285
- ref: ref,
9286
- dataTest: dataTest
9287
- }, rest));
9288
- } else if ((schema == null ? void 0 : schema.widget) === 'file') {
9289
- return /*#__PURE__*/React__default['default'].createElement(FileUpload, _extends({
9290
- onChange: function onChange(ev) {
9291
- return setValue(ev);
9292
- },
9293
- label: get$1(val, 'filename', null),
9294
- dataTest: dataTest
9295
- }, rest));
9296
- } else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
9297
- if (schema != null && schema.vocabularyName) {
9298
- return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
9299
- val: val || '',
9300
- className: className,
9301
- appendDefault: true,
9302
- classWrap: "is-fullwidth",
9303
- dataTest: dataTest,
9304
- onChange: setValue,
9305
- vocabularyName: get$1(schema, 'vocabularyName', null)
9306
- }, rest));
9307
- }
9308
-
9309
- return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
9310
- value: val || '',
9311
- className: className,
9312
- appendDefault: true,
9313
- classWrap: "is-fullwidth",
9314
- dataTest: dataTest,
9315
- options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
9316
- return {
9317
- text: item,
9318
- value: item
9319
- };
9320
- }),
9321
- onChange: setValue
9322
- }, rest));
9323
- }
9324
-
9325
- var getInputType = function getInputType() {
9326
- switch (schema == null ? void 0 : schema.type) {
9327
- case 'integer':
9328
- return 'number';
9329
-
9330
- case 'date':
9331
- return 'date';
9332
-
9333
- case 'datetime':
9334
- return 'datetime-local';
9335
-
9336
- default:
9337
- return 'text';
9338
- }
9339
- };
9340
-
9341
- return /*#__PURE__*/React__default['default'].createElement(Input, _extends({
9342
- value: val || '',
9343
- className: className,
9344
- dataTest: dataTest,
9345
- onChange: function onChange(ev) {
9346
- return setValue(ev);
9347
- },
9348
- ref: ref,
9349
- type: getInputType()
9350
- }, rest));
9351
- });
9352
- EditComponent.displayName = 'EditComponent';
9353
-
9354
9969
  var registry = {
9355
9970
  paths: {},
9356
9971
  views: {
@@ -9529,7 +10144,7 @@ const registry = {
9529
10144
 
9530
10145
  */
9531
10146
 
9532
- var initialState$3 = {
10147
+ var initialState$4 = {
9533
10148
  path: '',
9534
10149
  loading: false,
9535
10150
  context: undefined,
@@ -12432,10 +13047,10 @@ function Guillotina(_ref) {
12432
13047
  var searchPath = location.get('path') || '/';
12433
13048
 
12434
13049
  if (searchPath && searchPath !== '') {
12435
- initialState$3.path = searchPath;
13050
+ initialState$4.path = searchPath;
12436
13051
  }
12437
13052
 
12438
- var _useReducer = React.useReducer(guillotinaReducer, initialState$3),
13053
+ var _useReducer = React.useReducer(guillotinaReducer, initialState$4),
12439
13054
  state = _useReducer[0],
12440
13055
  dispatch = _useReducer[1];
12441
13056
 
@@ -12587,7 +13202,7 @@ var ERRORS = {
12587
13202
  failed_to_fetch: 'Failed to fetch data: Backend not running?',
12588
13203
  invalid_credentials: 'Failed! Invalid credentials'
12589
13204
  };
12590
- var initialState$4 = {
13205
+ var initialState$5 = {
12591
13206
  username: '',
12592
13207
  password: '',
12593
13208
  loading: undefined,
@@ -12600,7 +13215,7 @@ var Login = function Login(_ref) {
12600
13215
  auth = _ref.auth,
12601
13216
  onLogin = _ref.onLogin;
12602
13217
 
12603
- var _useSetState = useSetState(initialState$4),
13218
+ var _useSetState = useSetState(initialState$5),
12604
13219
  state = _useSetState[0],
12605
13220
  setState = _useSetState[1];
12606
13221
 
@@ -13103,6 +13718,7 @@ exports.CreateContainer = CreateContainer;
13103
13718
  exports.DatabaseCtx = DatabaseCtx;
13104
13719
  exports.Delete = Delete;
13105
13720
  exports.DownloadField = DownloadField;
13721
+ exports.EditComponent = EditComponent;
13106
13722
  exports.EditableField = EditableField;
13107
13723
  exports.EmailInput = EmailInput;
13108
13724
  exports.FileUpload = FileUpload;
@@ -13168,6 +13784,7 @@ exports.RestClient = RestClient;
13168
13784
  exports.SearchInput = SearchInput;
13169
13785
  exports.SearchLabels = SearchLabels;
13170
13786
  exports.SearchOptionsLabels = SearchOptionsLabels;
13787
+ exports.SearchRenderField = SearchRenderField;
13171
13788
  exports.SearchVocabularyLabels = SearchVocabularyLabels;
13172
13789
  exports.Select = Select;
13173
13790
  exports.Sharing = Sharing;
@@ -13183,6 +13800,7 @@ exports.UserCtx = UserCtx;
13183
13800
  exports.UserForm = UserForm;
13184
13801
  exports.UsersCtx = UsersCtx;
13185
13802
  exports.UsersToolbar = UsersToolbar;
13803
+ exports.VocabularyRenderField = VocabularyRenderField;
13186
13804
  exports.base64ToArrayBuffer = base64ToArrayBuffer;
13187
13805
  exports.buildQs = buildQs;
13188
13806
  exports.classnames = classnames;