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