@appbaseio/reactivesearch-vue 1.34.0-alpha.2 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +10892 -8633
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +12 -11
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/Button-841fd06d.js +62 -0
  6. package/dist/cjs/{CancelSvg-062a42f0.js → CancelSvg-220a7cc3.js} +40 -32
  7. package/dist/cjs/Card-240f283d.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-db45cc6d.js → ComponentWrapper-94c50228.js} +7 -7
  9. package/dist/cjs/Container-e699ea95.js +15 -0
  10. package/dist/cjs/DataSearch.js +1313 -20
  11. package/dist/cjs/{DropDown-3b899b20.js → DropDown-c6b79b05.js} +79 -78
  12. package/dist/cjs/DynamicRangeSlider.js +47 -56
  13. package/dist/cjs/Flex-ddd7cb6b.js +50 -0
  14. package/dist/cjs/FormControlList-bbb5cd24.js +45 -0
  15. package/dist/cjs/Input-ead4cd84.js +77 -0
  16. package/dist/cjs/ListItem-5088bd6a.js +45 -0
  17. package/dist/cjs/MultiDropdownList.js +69 -74
  18. package/dist/cjs/MultiList.js +95 -89
  19. package/dist/cjs/MultiRange.js +45 -54
  20. package/dist/cjs/{Pagination-a468f960.js → Pagination-6d184d4a.js} +53 -56
  21. package/dist/cjs/{PreferencesConsumer-034c55e3.js → PreferencesConsumer-5e6e84a2.js} +5 -6
  22. package/dist/cjs/RangeInput.js +108 -115
  23. package/dist/cjs/RangeSlider.js +40 -50
  24. package/dist/cjs/ReactiveBase.js +55 -69
  25. package/dist/cjs/ReactiveComponent.js +317 -46
  26. package/dist/cjs/{ReactiveComponent-f0f486ca.js → ReactiveComponentPrivate-6f03f300.js} +322 -618
  27. package/dist/cjs/ReactiveComponentPrivate.js +55 -0
  28. package/dist/cjs/ReactiveGoogleMap.js +442 -384
  29. package/dist/cjs/ReactiveList.js +129 -100
  30. package/dist/cjs/ResultCard.js +19 -26
  31. package/dist/cjs/ResultList.js +27 -31
  32. package/dist/cjs/SelectedFilters.js +34 -49
  33. package/dist/cjs/SingleDropdownList.js +67 -73
  34. package/dist/cjs/SingleList.js +97 -90
  35. package/dist/cjs/SingleRange.js +43 -48
  36. package/dist/cjs/StateProvider.js +2 -2
  37. package/dist/cjs/Tags-d464c22e.js +883 -0
  38. package/dist/cjs/Title-16042ea0.js +15 -0
  39. package/dist/cjs/ToggleButton.js +35 -39
  40. package/dist/cjs/{index-dc25b706.js → index-de136c17.js} +8 -6
  41. package/dist/cjs/index.js +27 -25
  42. package/dist/cjs/initReactivesearch.js +0 -3
  43. package/dist/cjs/install.js +23 -22
  44. package/dist/cjs/ssr-f2fc1bf6.js +36 -0
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/cjs/{vueTypes-621a8143.js → vueTypes-568ce5e6.js} +4 -2
  47. package/dist/es/Button-153cd885.js +53 -0
  48. package/dist/es/{CancelSvg-14ebc9a1.js → CancelSvg-e40552a5.js} +37 -30
  49. package/dist/es/{Card-1951569e.js → Card-19ad6d90.js} +6 -5
  50. package/dist/es/{ComponentWrapper-bf443c0b.js → ComponentWrapper-edaeaceb.js} +6 -6
  51. package/dist/es/Container-d00219f7.js +1 -1
  52. package/dist/es/DataSearch.js +1313 -18
  53. package/dist/es/{DropDown-35e232b7.js → DropDown-c685912c.js} +78 -78
  54. package/dist/es/DynamicRangeSlider.js +44 -53
  55. package/dist/es/Flex-7c177a10.js +45 -0
  56. package/dist/es/FormControlList-99797d0a.js +38 -0
  57. package/dist/es/Input-c09c0b56.js +69 -0
  58. package/dist/es/{ListItem-47a6345a.js → ListItem-07888a65.js} +7 -6
  59. package/dist/es/MultiDropdownList.js +67 -72
  60. package/dist/es/MultiList.js +94 -88
  61. package/dist/es/MultiRange.js +43 -52
  62. package/dist/es/{Pagination-145b4ff2.js → Pagination-f477f92f.js} +53 -56
  63. package/dist/es/{PreferencesConsumer-7ea7313a.js → PreferencesConsumer-86a676c8.js} +4 -5
  64. package/dist/es/RangeInput.js +104 -112
  65. package/dist/es/RangeSlider.js +37 -47
  66. package/dist/es/ReactiveBase.js +53 -68
  67. package/dist/es/ReactiveComponent.js +317 -45
  68. package/dist/es/{ReactiveComponent-e2fb9eb4.js → ReactiveComponentPrivate-4467524a.js} +317 -614
  69. package/dist/es/ReactiveComponentPrivate.js +47 -0
  70. package/dist/es/ReactiveGoogleMap.js +437 -380
  71. package/dist/es/ReactiveList.js +126 -98
  72. package/dist/es/ResultCard.js +18 -25
  73. package/dist/es/ResultList.js +26 -30
  74. package/dist/es/SelectedFilters.js +32 -47
  75. package/dist/es/SingleDropdownList.js +65 -71
  76. package/dist/es/SingleList.js +95 -88
  77. package/dist/es/SingleRange.js +41 -46
  78. package/dist/es/StateProvider.js +2 -2
  79. package/dist/es/Tags-ebf363ec.js +869 -0
  80. package/dist/es/Title-863dfa42.js +1 -1
  81. package/dist/es/ToggleButton.js +33 -37
  82. package/dist/es/{index-285a43a6.js → index-5509c0bc.js} +8 -6
  83. package/dist/es/index.js +20 -19
  84. package/dist/es/initReactivesearch.js +0 -3
  85. package/dist/es/install.js +20 -19
  86. package/dist/es/ssr-03607d84.js +1 -1
  87. package/dist/es/version.js +1 -1
  88. package/dist/es/{vueTypes-e4af6fe2.js → vueTypes-7f572665.js} +4 -2
  89. package/package.json +87 -87
  90. package/dist/cjs/Button-626c5e8e.js +0 -58
  91. package/dist/cjs/Card-c381ded3.js +0 -26
  92. package/dist/cjs/Container-29f049b2.js +0 -12
  93. package/dist/cjs/DataSearch-7c71ec9f.js +0 -2043
  94. package/dist/cjs/Flex-d5675ea6.js +0 -48
  95. package/dist/cjs/FormControlList-cf1ff2ca.js +0 -42
  96. package/dist/cjs/Input-4d278ca0.js +0 -74
  97. package/dist/cjs/ListItem-c067bc07.js +0 -41
  98. package/dist/cjs/Title-8802a218.js +0 -12
  99. package/dist/cjs/ssr-eb901d09.js +0 -35
  100. package/dist/es/Button-ebafa3d6.js +0 -52
  101. package/dist/es/DataSearch-4f9a4e46.js +0 -2028
  102. package/dist/es/Flex-a08e22d7.js +0 -46
  103. package/dist/es/FormControlList-fa5cf78b.js +0 -38
  104. package/dist/es/Input-3b8408a6.js +0 -69
@@ -6,28 +6,28 @@ var configureStore = require('@appbaseio/reactivecore');
6
6
  var configureStore__default = _interopDefault(configureStore);
7
7
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
8
8
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
9
- var vue = require('vue');
10
9
  var VueTypes = _interopDefault(require('vue-types'));
11
10
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
12
- var vueEmotion = require('@appbaseio/vue-emotion');
13
- var Button = require('./Button-626c5e8e.js');
14
- var vueTypes = require('./vueTypes-621a8143.js');
11
+ var styled = require('@appbaseio/vue-emotion');
12
+ var styled__default = _interopDefault(styled);
13
+ var Button = require('./Button-841fd06d.js');
14
+ var vueTypes = require('./vueTypes-568ce5e6.js');
15
15
  var ReactiveList = require('./ReactiveList.js');
16
- var index = require('./index-dc25b706.js');
17
- var ComponentWrapper = require('./ComponentWrapper-db45cc6d.js');
18
- var PreferencesConsumer = require('./PreferencesConsumer-034c55e3.js');
19
- var Title = require('./Title-8802a218.js');
16
+ var index = require('./index-de136c17.js');
17
+ var ComponentWrapper = require('./ComponentWrapper-94c50228.js');
18
+ var PreferencesConsumer = require('./PreferencesConsumer-5e6e84a2.js');
19
+ var Title = require('./Title-16042ea0.js');
20
20
  var hotkeys = _interopDefault(require('hotkeys-js'));
21
- var DataSearch = require('./DataSearch-7c71ec9f.js');
22
- var CancelSvg = require('./CancelSvg-062a42f0.js');
23
- var Input = require('./Input-4d278ca0.js');
24
- var Container = require('./Container-29f049b2.js');
25
- var _transformOn = _interopDefault(require('@vue/babel-helper-vue-transform-on'));
21
+ var Tags = require('./Tags-d464c22e.js');
22
+ var CancelSvg = require('./CancelSvg-220a7cc3.js');
23
+ var Input = require('./Input-ead4cd84.js');
24
+ var Container = require('./Container-e699ea95.js');
26
25
  var SingleList = require('./SingleList.js');
27
26
  var MultiList = require('./MultiList.js');
28
27
  var SingleDropdownList = require('./SingleDropdownList.js');
29
28
  var MultiDropdownList = require('./MultiDropdownList.js');
30
29
  var ToggleButton = require('./ToggleButton.js');
30
+ var ReactiveComponent = require('./ReactiveComponent.js');
31
31
  var DynamicRangeSlider = require('./DynamicRangeSlider.js');
32
32
  var SingleRange = require('./SingleRange.js');
33
33
  var MultiRange = require('./MultiRange.js');
@@ -35,21 +35,24 @@ var RangeSlider = require('./RangeSlider.js');
35
35
  var RangeInput = require('./RangeInput.js');
36
36
 
37
37
  var _templateObject;
38
- var AutofillSvgIcon = vueEmotion.styled('button')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tmargin-left: auto;\n\tposition: relative;\n\tright: -3px;\n\tborder: none;\n\toutline: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tz-index: 111000;\n\n\tsvg {\n\t\tcursor: pointer;\n\t\tfill: #707070;\n\t\theight: 20px;\n\t}\n\n\t&:hover {\n\t\tsvg {\n\t\t\tfill: #1c1a1a;\n\t\t}\n\t}\n"])));
38
+ var AutofillSvgIcon = styled__default('button')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tmargin-left: auto;\n\tposition: relative;\n\tright: -3px;\n\tborder: none;\n\toutline: none;\n\tbackground: transparent;\n\tpadding: 0;\n\tz-index: 111000;\n\n\tsvg {\n\t\tcursor: pointer;\n\t\tfill: #707070;\n\t\theight: 20px;\n\t}\n\n\t&:hover {\n\t\tsvg {\n\t\t\tfill: #1c1a1a;\n\t\t}\n\t}\n"])));
39
39
  var AutoFillSvg = {
40
40
  name: 'AutoFillSvg',
41
41
  render: function render() {
42
- return vue.createVNode(AutofillSvgIcon, {
43
- "onClick": this.$attrs.click
44
- }, {
45
- "default": function _default() {
46
- return [vue.createVNode("svg", {
47
- "viewBox": "0 0 24 24"
48
- }, [vue.createVNode("path", {
49
- "d": "M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z"
50
- }, null)])];
42
+ var h = arguments[0];
43
+ return h(AutofillSvgIcon, {
44
+ "on": {
45
+ "click": this.$listeners.click
51
46
  }
52
- });
47
+ }, [h("svg", {
48
+ "attrs": {
49
+ "viewBox": "0 0 24 24"
50
+ }
51
+ }, [h("path", {
52
+ "attrs": {
53
+ "d": "M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z"
54
+ }
55
+ })])]);
53
56
  },
54
57
  methods: {
55
58
  clicked: function clicked(e) {
@@ -59,9 +62,6 @@ var AutoFillSvg = {
59
62
  }
60
63
  };
61
64
 
62
- function _isSlot(s) {
63
- return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
64
- }
65
65
  var updateQuery = configureStore.Actions.updateQuery,
66
66
  setCustomQuery = configureStore.Actions.setCustomQuery,
67
67
  setDefaultQuery = configureStore.Actions.setDefaultQuery,
@@ -74,7 +74,7 @@ var _debounce = configureStore.helper.debounce,
74
74
  withClickIds = configureStore.helper.withClickIds,
75
75
  getResultStats = configureStore.helper.getResultStats,
76
76
  normalizeDataField = configureStore.helper.normalizeDataField;
77
- var SearchBox = vue.defineComponent({
77
+ var SearchBox = {
78
78
  name: 'SearchBox',
79
79
  isTagsMode: false,
80
80
  data: function data() {
@@ -139,6 +139,7 @@ var SearchBox = vue.defineComponent({
139
139
  className: VueTypes.string.def(''),
140
140
  clearIcon: vueTypes.types.children,
141
141
  componentId: vueTypes.types.stringRequired,
142
+ compoundClause: vueTypes.types.compoundClause,
142
143
  customHighlight: vueTypes.types.func,
143
144
  customQuery: vueTypes.types.func,
144
145
  defaultQuery: vueTypes.types.func,
@@ -665,31 +666,31 @@ var SearchBox = vue.defineComponent({
665
666
  return highlightedIndex === index ? '#eee' : '#fff';
666
667
  },
667
668
  renderIcon: function renderIcon() {
669
+ var h = this.$createElement;
668
670
  if (this.$props.showIcon) {
669
- return this.$props.icon || vue.createVNode(DataSearch.SearchSvg, null, null);
671
+ return this.$props.icon || h(Tags.SearchSvg);
670
672
  }
671
673
  return null;
672
674
  },
673
675
  renderErrorComponent: function renderErrorComponent() {
674
- var _this4 = this;
675
- var renderError = this.$slots.renderError || this.$props.renderError;
676
+ var h = this.$createElement;
677
+ var renderError = this.$scopedSlots.renderError || this.$props.renderError;
676
678
  if (this.error && renderError && this.$data.currentValue && !this.isLoading) {
677
- return vue.createVNode(DataSearch.SuggestionWrapper, {
678
- "innerClass": this.$props.innerClass,
679
- "innerClassName": "error",
680
- "theme": this.theme,
681
- "themePreset": this.themePreset
682
- }, {
683
- "default": function _default() {
684
- return [index.isFunction(renderError) ? renderError(_this4.error) : renderError];
679
+ return h(Tags.SuggestionWrapper, {
680
+ "attrs": {
681
+ "innerClass": this.$props.innerClass,
682
+ "innerClassName": "error",
683
+ "theme": this.theme,
684
+ "themePreset": this.themePreset
685
685
  }
686
- });
686
+ }, [index.isFunction(renderError) ? renderError(this.error) : renderError]);
687
687
  }
688
688
  return null;
689
689
  },
690
690
  renderCancelIcon: function renderCancelIcon() {
691
+ var h = this.$createElement;
691
692
  if (this.$props.showClear) {
692
- return this.$props.clearIcon || vue.createVNode(CancelSvg.CancelSvg, null, null);
693
+ return this.$props.clearIcon || h(CancelSvg.CancelSvg);
693
694
  }
694
695
  return null;
695
696
  },
@@ -697,54 +698,49 @@ var SearchBox = vue.defineComponent({
697
698
  if (finalSuggestionsList === void 0) {
698
699
  finalSuggestionsList = [];
699
700
  }
701
+ var h = this.$createElement;
700
702
  var _this$$props3 = this.$props,
701
703
  theme = _this$$props3.theme,
702
704
  innerClass = _this$$props3.innerClass;
703
- var renderNoSuggestion = this.$slots.renderNoSuggestion || this.$props.renderNoSuggestion;
704
- var renderError = this.$slots.renderError || this.$props.renderError;
705
+ var renderNoSuggestion = this.$scopedSlots.renderNoSuggestion || this.$props.renderNoSuggestion;
706
+ var renderError = this.$scopedSlots.renderError || this.$props.renderError;
705
707
  var _this$$data = this.$data,
706
708
  isOpen = _this$$data.isOpen,
707
709
  currentValue = _this$$data.currentValue;
708
710
  if (renderNoSuggestion && isOpen && !finalSuggestionsList.length && !this.isLoading && currentValue && !(renderError && this.error)) {
709
- return vue.createVNode(DataSearch.SuggestionWrapper, {
710
- "innerClass": innerClass,
711
- "themePreset": this.themePreset,
712
- "theme": theme,
713
- "innerClassName": "noSuggestion",
711
+ return h(Tags.SuggestionWrapper, {
712
+ "attrs": {
713
+ "innerClass": innerClass,
714
+ "themePreset": this.themePreset,
715
+ "theme": theme,
716
+ "innerClassName": "noSuggestion"
717
+ },
714
718
  "scopedSlots": {
715
719
  "default": function _default() {
716
720
  return typeof renderNoSuggestion === 'function' ? renderNoSuggestion(currentValue) : renderNoSuggestion;
717
721
  }
718
722
  }
719
- }, null);
723
+ });
720
724
  }
721
725
  return null;
722
726
  },
723
727
  renderInputAddonBefore: function renderInputAddonBefore() {
724
- var addonBefore = this.$slots.addonBefore;
728
+ var h = this.$createElement;
729
+ var addonBefore = this.$scopedSlots.addonBefore;
725
730
  if (addonBefore) {
726
- var _slot;
727
- return vue.createVNode(DataSearch.InputAddon, {
731
+ return h(Tags.InputAddon, {
728
732
  "class": "addon-before"
729
- }, _isSlot(_slot = addonBefore()) ? _slot : {
730
- "default": function _default() {
731
- return [_slot];
732
- }
733
- });
733
+ }, [addonBefore()]);
734
734
  }
735
735
  return null;
736
736
  },
737
737
  renderInputAddonAfter: function renderInputAddonAfter() {
738
- var addonAfter = this.$slots.addonAfter;
738
+ var h = this.$createElement;
739
+ var addonAfter = this.$scopedSlots.addonAfter;
739
740
  if (addonAfter) {
740
- var _slot2;
741
- return vue.createVNode(DataSearch.InputAddon, {
741
+ return h(Tags.InputAddon, {
742
742
  "class": "addon-after"
743
- }, _isSlot(_slot2 = addonAfter()) ? _slot2 : {
744
- "default": function _default() {
745
- return [_slot2];
746
- }
747
- });
743
+ }, [addonAfter()]);
748
744
  }
749
745
  return null;
750
746
  },
@@ -756,35 +752,35 @@ var SearchBox = vue.defineComponent({
756
752
  });
757
753
  },
758
754
  renderEnterButtonElement: function renderEnterButtonElement() {
759
- var _this5 = this;
755
+ var _this4 = this;
756
+ var h = this.$createElement;
760
757
  var _this$$props4 = this.$props,
761
758
  enterButton = _this$$props4.enterButton,
762
759
  innerClass = _this$$props4.innerClass;
763
- var renderEnterButton = this.$slots.renderEnterButton;
760
+ var renderEnterButton = this.$scopedSlots.renderEnterButton;
764
761
  if (enterButton) {
765
762
  var getEnterButtonMarkup = function getEnterButtonMarkup() {
766
763
  if (renderEnterButton) {
767
- return renderEnterButton(_this5.enterButtonOnClick);
764
+ return renderEnterButton(_this4.enterButtonOnClick);
768
765
  }
769
- return vue.createVNode(Button.Button, {
766
+ return h(Button.Button, {
770
767
  "class": "enter-btn " + getClassName(innerClass, 'enter-button'),
771
- "primary": true,
772
- "onClick": _this5.enterButtonOnClick
773
- }, {
774
- "default": function _default() {
775
- return [vue.createTextVNode("Search")];
768
+ "attrs": {
769
+ "primary": true
770
+ },
771
+ "on": {
772
+ "click": _this4.enterButtonOnClick
776
773
  }
777
- });
774
+ }, ["Search"]);
778
775
  };
779
- return vue.createVNode("div", {
776
+ return h("div", {
780
777
  "class": "enter-button-wrapper"
781
778
  }, [getEnterButtonMarkup()]);
782
779
  }
783
780
  return null;
784
781
  },
785
782
  renderIcons: function renderIcons() {
786
- var _this6 = this;
787
- var _slot3, _slot4, _slot5;
783
+ var h = this.$createElement;
788
784
  var _this$$props5 = this.$props,
789
785
  iconPosition = _this$$props5.iconPosition,
790
786
  showClear = _this$$props5.showClear,
@@ -792,48 +788,42 @@ var SearchBox = vue.defineComponent({
792
788
  getMicInstance = _this$$props5.getMicInstance,
793
789
  showVoiceSearch = _this$$props5.showVoiceSearch,
794
790
  showIcon = _this$$props5.showIcon;
795
- var renderMic = this.$slots.renderMic || this.$props.renderMic;
791
+ var renderMic = this.$scopedSlots.renderMic || this.$props.renderMic;
796
792
  var currentValue = this.$data.currentValue;
797
- return vue.createVNode("div", null, [vue.createVNode(CancelSvg.IconGroup, {
798
- "groupPosition": "right",
799
- "positionType": "absolute"
800
- }, {
801
- "default": function _default() {
802
- return [currentValue && showClear && vue.createVNode(CancelSvg.IconWrapper, {
803
- "onClick": _this6.clearValue,
804
- "showIcon": showIcon,
805
- "isClearIcon": true
806
- }, _isSlot(_slot3 = _this6.renderCancelIcon()) ? _slot3 : {
807
- "default": function _default() {
808
- return [_slot3];
809
- }
810
- }), showVoiceSearch && vue.createVNode(DataSearch.Mic, {
811
- "getInstance": getMicInstance,
812
- "render": renderMic,
813
- "handleResult": _this6.handleVoiceResults,
814
- "className": getClassName(innerClass, 'mic') || null
815
- }, null), iconPosition === 'right' && showIcon && vue.createVNode(CancelSvg.IconWrapper, {
816
- "onClick": _this6.handleSearchIconClick
817
- }, _isSlot(_slot4 = _this6.renderIcon()) ? _slot4 : {
818
- "default": function _default() {
819
- return [_slot4];
820
- }
821
- })];
793
+ return h("div", [h(CancelSvg.IconGroup, {
794
+ "attrs": {
795
+ "groupPosition": "right",
796
+ "positionType": "absolute"
822
797
  }
823
- }), vue.createVNode(CancelSvg.IconGroup, {
824
- "groupPosition": "left",
825
- "positionType": "absolute"
826
- }, {
827
- "default": function _default() {
828
- return [iconPosition === 'left' && showIcon && vue.createVNode(CancelSvg.IconWrapper, {
829
- "onClick": _this6.handleSearchIconClick
830
- }, _isSlot(_slot5 = _this6.renderIcon()) ? _slot5 : {
831
- "default": function _default() {
832
- return [_slot5];
833
- }
834
- })];
798
+ }, [currentValue && showClear && h(CancelSvg.IconWrapper, {
799
+ "on": {
800
+ "click": this.clearValue
801
+ },
802
+ "attrs": {
803
+ "showIcon": showIcon,
804
+ "isClearIcon": true
805
+ }
806
+ }, [this.renderCancelIcon()]), showVoiceSearch && h(Tags.Mic, {
807
+ "attrs": {
808
+ "getInstance": getMicInstance,
809
+ "render": renderMic,
810
+ "handleResult": this.handleVoiceResults,
811
+ "className": getClassName(innerClass, 'mic') || null
835
812
  }
836
- })]);
813
+ }), iconPosition === 'right' && showIcon && h(CancelSvg.IconWrapper, {
814
+ "on": {
815
+ "click": this.handleSearchIconClick
816
+ }
817
+ }, [this.renderIcon()])]), h(CancelSvg.IconGroup, {
818
+ "attrs": {
819
+ "groupPosition": "left",
820
+ "positionType": "absolute"
821
+ }
822
+ }, [iconPosition === 'left' && showIcon && h(CancelSvg.IconWrapper, {
823
+ "on": {
824
+ "click": this.handleSearchIconClick
825
+ }
826
+ }, [this.renderIcon()])])]);
837
827
  },
838
828
  focusSearchBox: function focusSearchBox(event) {
839
829
  var _this$$refs, _this$$refs$this$$pro;
@@ -846,7 +836,7 @@ var SearchBox = vue.defineComponent({
846
836
  (_this$$refs = this.$refs) == null ? void 0 : (_this$$refs$this$$pro = _this$$refs[this.$props.innerRef]) == null ? void 0 : _this$$refs$this$$pro.focus(); // eslint-disable-line
847
837
  },
848
838
  listenForFocusShortcuts: function listenForFocusShortcuts() {
849
- var _this7 = this;
839
+ var _this5 = this;
850
840
  var _this$$props$focusSho = this.$props.focusShortcuts,
851
841
  focusShortcuts = _this$$props$focusSho === void 0 ? ['/'] : _this$$props$focusSho;
852
842
  if (index.isEmpty(focusShortcuts)) {
@@ -861,7 +851,7 @@ var SearchBox = vue.defineComponent({
861
851
  function (event, handler) {
862
852
  // Prevent the default refresh event under WINDOWS system
863
853
  event.preventDefault();
864
- _this7.focusSearchBox(event);
854
+ _this5.focusSearchBox(event);
865
855
  });
866
856
 
867
857
  // if one of modifier keys are used, they are handled below
@@ -871,7 +861,7 @@ var SearchBox = vue.defineComponent({
871
861
  for (var index$1 = 0; index$1 < modifierKeys.length; index$1 += 1) {
872
862
  var element = modifierKeys[index$1];
873
863
  if (hotkeys[element]) {
874
- _this7.focusSearchBox(event);
864
+ _this5.focusSearchBox(event);
875
865
  break;
876
866
  }
877
867
  }
@@ -884,33 +874,37 @@ var SearchBox = vue.defineComponent({
884
874
  this.triggerDefaultQuery(value);
885
875
  },
886
876
  renderAutoFill: function renderAutoFill(suggestion) {
887
- var _this8 = this;
877
+ var _this6 = this;
878
+ var h = this.$createElement;
888
879
  var handleAutoFillClick = function handleAutoFillClick(e) {
889
880
  e.stopPropagation();
890
- _this8.onAutofillClick(suggestion);
881
+ _this6.onAutofillClick(suggestion);
891
882
  };
892
883
  /* 👇 avoid showing autofill for category suggestions👇 */
893
- return suggestion._category ? null : vue.createVNode(AutoFillSvg, {
894
- "onClick": handleAutoFillClick
895
- }, null);
884
+ return suggestion._category ? null : h(AutoFillSvg, {
885
+ "on": {
886
+ "click": handleAutoFillClick
887
+ }
888
+ });
896
889
  },
897
890
  renderTag: function renderTag(item) {
898
- var _this9 = this;
891
+ var _this7 = this;
892
+ var h = this.$createElement;
899
893
  var innerClass = this.$props.innerClass;
900
- return vue.createVNode(DataSearch.TagItem, {
894
+ return h(Tags.TagItem, {
901
895
  "class": getClassName(innerClass, 'selected-tag') || ''
902
- }, {
903
- "default": function _default() {
904
- return [vue.createVNode("span", null, [item]), vue.createVNode("span", {
905
- "role": "img",
906
- "aria-label": "delete-tag",
907
- "class": "close-icon",
908
- "onClick": function onClick() {
909
- return _this9.clearTag(item);
910
- }
911
- }, [vue.createVNode(CancelSvg.CancelSvg, null, null)])];
896
+ }, [h("span", [item]), h("span", {
897
+ "attrs": {
898
+ "role": "img",
899
+ "aria-label": "delete-tag"
900
+ },
901
+ "class": "close-icon",
902
+ "on": {
903
+ "click": function click() {
904
+ return _this7.clearTag(item);
905
+ }
912
906
  }
913
- });
907
+ }, [h(CancelSvg.CancelSvg)])]);
914
908
  },
915
909
  clearAllTags: function clearAllTags() {
916
910
  this.selectedTags = [];
@@ -929,218 +923,214 @@ var SearchBox = vue.defineComponent({
929
923
  }
930
924
  },
931
925
  renderTags: function renderTags() {
932
- var _this10 = this;
926
+ var _this8 = this;
927
+ var h = this.$createElement;
933
928
  if (!Array.isArray(this.selectedTags)) {
934
929
  return null;
935
930
  }
936
931
  var tagsList = [].concat(this.selectedTags);
937
932
  var shouldRenderClearAllTag = tagsList.length > 1;
938
- var renderSelectedTags = this.$slots.renderSelectedTags || this.$props.renderSelectedTags;
933
+ var renderSelectedTags = this.$scopedSlots.renderSelectedTags || this.$props.renderSelectedTags;
939
934
  return renderSelectedTags ? renderSelectedTags({
940
935
  values: this.selectedTags,
941
936
  handleClear: this.clearTag,
942
937
  handleClearAll: this.clearAllTags
943
- }) : vue.createVNode(DataSearch.TagsContainer, null, {
944
- "default": function _default() {
945
- return [tagsList.map(function (item) {
946
- return _this10.renderTag(item);
947
- }), shouldRenderClearAllTag && vue.createVNode(DataSearch.TagItem, {
948
- "class": getClassName(_this10.$props.innerClass, 'selected-tag') || ''
949
- }, {
950
- "default": function _default() {
951
- return [vue.createVNode("span", null, [vue.createTextVNode("Clear All")]), vue.createVNode("span", {
952
- "role": "img",
953
- "aria-label": "delete-tag",
954
- "class": "close-icon",
955
- "onClick": _this10.clearAllTags
956
- }, [vue.createVNode(CancelSvg.CancelSvg, null, null)])];
957
- }
958
- })];
938
+ }) : h(Tags.TagsContainer, [tagsList.map(function (item) {
939
+ return _this8.renderTag(item);
940
+ }), shouldRenderClearAllTag && h(Tags.TagItem, {
941
+ "class": getClassName(this.$props.innerClass, 'selected-tag') || ''
942
+ }, [h("span", ["Clear All"]), h("span", {
943
+ "attrs": {
944
+ "role": "img",
945
+ "aria-label": "delete-tag"
946
+ },
947
+ "class": "close-icon",
948
+ "on": {
949
+ "click": this.clearAllTags
959
950
  }
960
- });
951
+ }, [h(CancelSvg.CancelSvg)])])]);
961
952
  }
962
953
  },
963
954
  render: function render() {
964
- var _this11 = this;
955
+ var _this9 = this;
956
+ var h = arguments[0];
965
957
  var _this$$props6 = this.$props,
966
958
  theme = _this$$props6.theme,
967
959
  expandSuggestionsContainer = _this$$props6.expandSuggestionsContainer;
968
- var _this$$slots = this.$slots,
969
- recentSearchesIcon = _this$$slots.recentSearchesIcon,
970
- popularSearchesIcon = _this$$slots.popularSearchesIcon;
960
+ var _this$$scopedSlots = this.$scopedSlots,
961
+ recentSearchesIcon = _this$$scopedSlots.recentSearchesIcon,
962
+ popularSearchesIcon = _this$$scopedSlots.popularSearchesIcon;
971
963
  var hasSuggestions = Array.isArray(this.normalizedSuggestions) && this.normalizedSuggestions.length;
972
- var renderItem = this.$slots.renderItem || this.$props.renderItem;
973
- return vue.createVNode(Container.Container, {
964
+ var renderItem = this.$scopedSlots.renderItem || this.$props.renderItem;
965
+ return h(Container.Container, {
974
966
  "class": this.$props.className
975
- }, {
976
- "default": function _default() {
977
- return [_this11.$props.title && vue.createVNode(Title.Title, {
978
- "class": getClassName(_this11.$props.innerClass, 'title') || ''
979
- }, {
980
- "default": function _default() {
981
- return [_this11.$props.title];
982
- }
983
- }), _this11.$props.autosuggest ? vue.createVNode(CancelSvg.Downshift, {
984
- "id": _this11.$props.componentId + "-downshift",
985
- "handleChange": _this11.onSuggestionSelected,
986
- "handleMouseup": _this11.handleStateChange,
987
- "isOpen": _this11.$data.isOpen
988
- }, {
989
- "default": function _default(_ref5) {
990
- var getInputEvents = _ref5.getInputEvents,
991
- getInputProps = _ref5.getInputProps,
992
- getItemProps = _ref5.getItemProps,
993
- getItemEvents = _ref5.getItemEvents,
994
- isOpen = _ref5.isOpen,
995
- highlightedIndex = _ref5.highlightedIndex,
996
- setHighlightedIndex = _ref5.setHighlightedIndex;
997
- var renderSuggestionsDropdown = function renderSuggestionsDropdown() {
998
- var getIcon = function getIcon(iconType) {
999
- switch (iconType) {
1000
- case helper.suggestionTypes.Recent:
1001
- return recentSearchesIcon;
1002
- case helper.suggestionTypes.Popular:
1003
- return popularSearchesIcon;
1004
- default:
1005
- return null;
1006
- }
1007
- };
1008
- return vue.createVNode("div", null, [_this11.hasCustomRenderer && _this11.getComponent({
1009
- isOpen: isOpen,
1010
- getItemProps: getItemProps,
1011
- getItemEvents: getItemEvents,
1012
- highlightedIndex: highlightedIndex
1013
- }), _this11.renderErrorComponent(), !_this11.hasCustomRenderer && isOpen && hasSuggestions ? vue.createVNode("ul", {
1014
- "class": Input.suggestions(_this11.themePreset, theme) + " " + getClassName(_this11.$props.innerClass, 'list')
1015
- }, [_this11.normalizedSuggestions.map(function (item, index) {
1016
- return renderItem ? vue.createVNode("li", vue.mergeProps(getItemProps({
967
+ }, [this.$props.title && h(Title.Title, {
968
+ "class": getClassName(this.$props.innerClass, 'title') || ''
969
+ }, [this.$props.title]), this.$props.autosuggest ? h(CancelSvg.Downshift, {
970
+ "attrs": {
971
+ "id": this.$props.componentId + "-downshift",
972
+ "handleChange": this.onSuggestionSelected,
973
+ "handleMouseup": this.handleStateChange,
974
+ "isOpen": this.$data.isOpen
975
+ },
976
+ "scopedSlots": {
977
+ "default": function _default(_ref5) {
978
+ var getInputEvents = _ref5.getInputEvents,
979
+ getInputProps = _ref5.getInputProps,
980
+ getItemProps = _ref5.getItemProps,
981
+ getItemEvents = _ref5.getItemEvents,
982
+ isOpen = _ref5.isOpen,
983
+ highlightedIndex = _ref5.highlightedIndex,
984
+ setHighlightedIndex = _ref5.setHighlightedIndex;
985
+ var renderSuggestionsDropdown = function renderSuggestionsDropdown() {
986
+ var getIcon = function getIcon(iconType) {
987
+ switch (iconType) {
988
+ case helper.suggestionTypes.Recent:
989
+ return recentSearchesIcon;
990
+ case helper.suggestionTypes.Popular:
991
+ return popularSearchesIcon;
992
+ default:
993
+ return null;
994
+ }
995
+ };
996
+ return h("div", [_this9.hasCustomRenderer && _this9.getComponent({
997
+ isOpen: isOpen,
998
+ getItemProps: getItemProps,
999
+ getItemEvents: getItemEvents,
1000
+ highlightedIndex: highlightedIndex
1001
+ }), _this9.renderErrorComponent(), !_this9.hasCustomRenderer && isOpen && hasSuggestions ? h("ul", {
1002
+ "class": Input.suggestions(_this9.themePreset, theme) + " " + getClassName(_this9.$props.innerClass, 'list')
1003
+ }, [_this9.normalizedSuggestions.map(function (item, index) {
1004
+ return renderItem ? h("li", {
1005
+ "domProps": _rollupPluginBabelHelpers._extends({}, getItemProps({
1017
1006
  item: item
1018
- }), getItemEvents({
1007
+ })),
1008
+ "on": _rollupPluginBabelHelpers._extends({}, getItemEvents({
1019
1009
  item: item
1020
- }), {
1021
- "key": index + 1 + "-" + item.value,
1022
- "style": {
1023
- backgroundColor: _this11.getBackgroundColor(highlightedIndex, index),
1024
- justifyContent: 'flex-start',
1025
- alignItems: 'center'
1026
- }
1027
- }), [renderItem(item)]) : vue.createVNode("li", vue.mergeProps(getItemProps({
1010
+ })),
1011
+ "key": index + 1 + "-" + item.value,
1012
+ "style": {
1013
+ backgroundColor: _this9.getBackgroundColor(highlightedIndex, index),
1014
+ justifyContent: 'flex-start',
1015
+ alignItems: 'center'
1016
+ }
1017
+ }, [renderItem(item)]) : h("li", {
1018
+ "domProps": _rollupPluginBabelHelpers._extends({}, getItemProps({
1028
1019
  item: item
1029
- }), _transformOn(getItemEvents({
1020
+ })),
1021
+ "on": _rollupPluginBabelHelpers._extends({}, getItemEvents({
1030
1022
  item: item
1031
- })), {
1032
- "key": index + 1 + "-" + item.value,
1033
- "style": {
1034
- backgroundColor: _this11.getBackgroundColor(highlightedIndex, index),
1035
- justifyContent: 'flex-start',
1036
- alignItems: 'center'
1037
- }
1038
- }), [vue.createVNode("div", {
1039
- "style": {
1040
- padding: '0 10px 0 0',
1041
- display: 'flex'
1042
- }
1043
- }, [vue.createVNode(DataSearch.CustomSvg, {
1044
- "className": getClassName(_this11.$props.innerClass, item._suggestion_type + "-search-icon") || null,
1023
+ })),
1024
+ "key": index + 1 + "-" + item.value,
1025
+ "style": {
1026
+ backgroundColor: _this9.getBackgroundColor(highlightedIndex, index),
1027
+ justifyContent: 'flex-start',
1028
+ alignItems: 'center'
1029
+ }
1030
+ }, [h("div", {
1031
+ "style": {
1032
+ padding: '0 10px 0 0',
1033
+ display: 'flex'
1034
+ }
1035
+ }, [h(Tags.CustomSvg, {
1036
+ "attrs": {
1037
+ "className": getClassName(_this9.$props.innerClass, item._suggestion_type + "-search-icon") || null,
1045
1038
  "icon": getIcon(item._suggestion_type),
1046
1039
  "type": item._suggestion_type + "-search-icon"
1047
- }, null)]), vue.createVNode(DataSearch.SuggestionItem, {
1048
- "currentValue": _this11.currentValue,
1040
+ }
1041
+ })]), h(Tags.SuggestionItem, {
1042
+ "attrs": {
1043
+ "currentValue": _this9.currentValue,
1049
1044
  "suggestion": item
1050
- }, null), _this11.renderAutoFill(item)]);
1051
- })]) : _this11.renderNoSuggestions(_this11.normalizedSuggestions)]);
1052
- };
1053
- return vue.createVNode("div", {
1054
- "class": Input.suggestionsContainer
1055
- }, [vue.createVNode(DataSearch.InputGroup, null, {
1056
- "default": function _default() {
1057
- return [_this11.renderInputAddonBefore(), vue.createVNode(CancelSvg.InputWrapper, null, {
1058
- "default": function _default() {
1059
- return [vue.createVNode(Input.Input, vue.mergeProps(_transformOn(getInputEvents({
1060
- onInput: _this11.onInputChange,
1061
- onBlur: function onBlur(e) {
1062
- _this11.$emit('blur', e, _this11.triggerQuery);
1063
- },
1064
- onFocus: _this11.handleFocus,
1065
- onKeyPress: function onKeyPress(e) {
1066
- _this11.$emit('keyPress', e, _this11.triggerQuery);
1067
- _this11.$emit('key-press', e, _this11.triggerQuery);
1068
- },
1069
- onKeyDown: function onKeyDown(e) {
1070
- return _this11.handleKeyDown(e, highlightedIndex);
1071
- },
1072
- onKeyUp: function onKeyUp(e) {
1073
- _this11.$emit('keyUp', e, _this11.triggerQuery);
1074
- _this11.$emit('key-up', e, _this11.triggerQuery);
1075
- },
1076
- onClick: function onClick() {
1077
- setHighlightedIndex(null);
1078
- }
1079
- })), {
1080
- "id": _this11.$props.componentId + "-input",
1081
- "showIcon": _this11.$props.showIcon,
1082
- "showClear": _this11.$props.showClear,
1083
- "iconPosition": _this11.$props.iconPosition,
1084
- "ref": _this11.$props.innerRef,
1085
- "class": getClassName(_this11.$props.innerClass, 'input'),
1086
- "placeholder": _this11.$props.placeholder,
1087
- "autoFocus": _this11.$props.autoFocus
1088
- }, getInputProps({
1089
- value: _this11.$data.currentValue === null ? '' : _this11.$data.currentValue
1090
- }), {
1091
- "themePreset": _this11.themePreset,
1092
- "autocomplete": "off"
1093
- }), null), _this11.renderIcons(), !expandSuggestionsContainer && renderSuggestionsDropdown()];
1094
- }
1095
- }), _this11.renderInputAddonAfter(), _this11.renderEnterButtonElement()];
1096
- }
1097
- }), expandSuggestionsContainer && renderSuggestionsDropdown(), _this11.renderTags()]);
1098
- }
1099
- }) : vue.createVNode("div", {
1100
- "class": Input.suggestionsContainer
1101
- }, [vue.createVNode(DataSearch.InputGroup, null, {
1102
- "default": function _default() {
1103
- return [_this11.renderInputAddonBefore(), vue.createVNode(CancelSvg.InputWrapper, null, {
1104
- "default": function _default() {
1105
- return [vue.createVNode(Input.Input, vue.mergeProps(_transformOn({
1106
- blur: function blur(e) {
1107
- _this11.$emit('blur', e, _this11.triggerQuery);
1108
- },
1109
- keypress: function keypress(e) {
1110
- _this11.$emit('keyPress', e, _this11.triggerQuery);
1111
- _this11.$emit('key-press', e, _this11.triggerQuery);
1112
- },
1113
- input: _this11.onInputChange,
1114
- focus: function focus(e) {
1115
- _this11.$emit('focus', e, _this11.triggerQuery);
1116
- },
1117
- keydown: _this11.handleKeyDown,
1118
- keyup: function keyup(e) {
1119
- _this11.$emit('keyUp', e, _this11.triggerQuery);
1120
- _this11.$emit('key-up', e, _this11.triggerQuery);
1121
- }
1122
- }), {
1123
- "class": getClassName(_this11.$props.innerClass, 'input') || '',
1124
- "placeholder": _this11.$props.placeholder,
1125
- "autofocus": _this11.$props.autoFocus,
1126
- "value": _this11.$data.currentValue ? _this11.$data.currentValue : '',
1127
- "iconPosition": _this11.$props.iconPosition,
1128
- "showIcon": _this11.$props.showIcon,
1129
- "showClear": _this11.$props.showClear,
1130
- "ref": _this11.$props.innerRef,
1131
- "themePreset": _this11.themePreset
1132
- }), null), _this11.renderIcons()];
1045
+ }
1046
+ }), _this9.renderAutoFill(item)]);
1047
+ })]) : _this9.renderNoSuggestions(_this9.normalizedSuggestions)]);
1048
+ };
1049
+ return h("div", {
1050
+ "class": Input.suggestionsContainer
1051
+ }, [h(Tags.InputGroup, [_this9.renderInputAddonBefore(), h(CancelSvg.InputWrapper, [h(Input.Input, {
1052
+ "attrs": {
1053
+ "id": _this9.$props.componentId + "-input",
1054
+ "showIcon": _this9.$props.showIcon,
1055
+ "showClear": _this9.$props.showClear,
1056
+ "iconPosition": _this9.$props.iconPosition,
1057
+ "placeholder": _this9.$props.placeholder,
1058
+ "autoFocus": _this9.$props.autoFocus,
1059
+ "themePreset": _this9.themePreset,
1060
+ "autocomplete": "off"
1061
+ },
1062
+ "ref": _this9.$props.innerRef,
1063
+ "class": getClassName(_this9.$props.innerClass, 'input'),
1064
+ "on": _rollupPluginBabelHelpers._extends({}, getInputEvents({
1065
+ onInput: _this9.onInputChange,
1066
+ onBlur: function onBlur(e) {
1067
+ _this9.$emit('blur', e, _this9.triggerQuery);
1068
+ },
1069
+ onFocus: _this9.handleFocus,
1070
+ onKeyPress: function onKeyPress(e) {
1071
+ _this9.$emit('keyPress', e, _this9.triggerQuery);
1072
+ _this9.$emit('key-press', e, _this9.triggerQuery);
1073
+ },
1074
+ onKeyDown: function onKeyDown(e) {
1075
+ return _this9.handleKeyDown(e, highlightedIndex);
1076
+ },
1077
+ onKeyUp: function onKeyUp(e) {
1078
+ _this9.$emit('keyUp', e, _this9.triggerQuery);
1079
+ _this9.$emit('key-up', e, _this9.triggerQuery);
1080
+ },
1081
+ onClick: function onClick() {
1082
+ setHighlightedIndex(null);
1133
1083
  }
1134
- }), _this11.renderInputAddonAfter(), _this11.renderEnterButtonElement()];
1135
- }
1136
- })])];
1084
+ })),
1085
+ "domProps": _rollupPluginBabelHelpers._extends({}, getInputProps({
1086
+ value: _this9.$data.currentValue === null ? '' : _this9.$data.currentValue
1087
+ }))
1088
+ }), _this9.renderIcons(), !expandSuggestionsContainer && renderSuggestionsDropdown()]), _this9.renderInputAddonAfter(), _this9.renderEnterButtonElement()]), expandSuggestionsContainer && renderSuggestionsDropdown(), _this9.renderTags()]);
1089
+ }
1137
1090
  }
1138
- });
1091
+ }) : h("div", {
1092
+ "class": Input.suggestionsContainer
1093
+ }, [h(Tags.InputGroup, [this.renderInputAddonBefore(), h(CancelSvg.InputWrapper, [h(Input.Input, {
1094
+ "class": getClassName(this.$props.innerClass, 'input') || '',
1095
+ "attrs": {
1096
+ "placeholder": this.$props.placeholder,
1097
+ "iconPosition": this.$props.iconPosition,
1098
+ "showIcon": this.$props.showIcon,
1099
+ "showClear": this.$props.showClear,
1100
+ "themePreset": this.themePreset
1101
+ },
1102
+ "on": _rollupPluginBabelHelpers._extends({}, {
1103
+ blur: function blur(e) {
1104
+ _this9.$emit('blur', e, _this9.triggerQuery);
1105
+ },
1106
+ keypress: function keypress(e) {
1107
+ _this9.$emit('keyPress', e, _this9.triggerQuery);
1108
+ _this9.$emit('key-press', e, _this9.triggerQuery);
1109
+ },
1110
+ input: this.onInputChange,
1111
+ focus: function focus(e) {
1112
+ _this9.$emit('focus', e, _this9.triggerQuery);
1113
+ },
1114
+ keydown: this.handleKeyDown,
1115
+ keyup: function keyup(e) {
1116
+ _this9.$emit('keyUp', e, _this9.triggerQuery);
1117
+ _this9.$emit('key-up', e, _this9.triggerQuery);
1118
+ }
1119
+ }),
1120
+ "domProps": _rollupPluginBabelHelpers._extends({}, {
1121
+ autofocus: this.$props.autoFocus,
1122
+ value: this.$data.currentValue ? this.$data.currentValue : ''
1123
+ }),
1124
+ "ref": this.$props.innerRef
1125
+ }), this.renderIcons()]), this.renderInputAddonAfter(), this.renderEnterButtonElement()])])]);
1139
1126
  },
1140
1127
  destroyed: function destroyed() {
1141
1128
  document.removeEventListener('keydown', this.onKeyDown);
1142
1129
  }
1143
- });
1130
+ };
1131
+ SearchBox.hasInternalComponent = function () {
1132
+ return true;
1133
+ };
1144
1134
  SearchBox.defaultQuery = function (value, props) {
1145
1135
  var finalQuery = null;
1146
1136
  var fields = normalizeDataField(props.dataField, props.fieldWeights);
@@ -1264,309 +1254,23 @@ var SBConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.Compo
1264
1254
  internalComponent: true
1265
1255
  }));
1266
1256
  SBConnected.name = SearchBox.name;
1257
+ SBConnected.defaultQuery = SearchBox.defaultQuery;
1258
+ SBConnected.shouldQuery = SearchBox.shouldQuery;
1259
+ SBConnected.hasInternalComponent = SearchBox.hasInternalComponent;
1267
1260
  SBConnected.install = function (Vue) {
1268
1261
  Vue.component(SBConnected.name, SBConnected);
1269
1262
  };
1270
1263
  // Add componentType for SSR
1271
1264
  SBConnected.componentType = constants.componentTypes.searchBox;
1272
1265
 
1273
- var _excluded = ["options"];
1274
- var updateQuery$1 = configureStore.Actions.updateQuery,
1275
- setQueryOptions = configureStore.Actions.setQueryOptions,
1276
- setCustomQuery$1 = configureStore.Actions.setCustomQuery,
1277
- setDefaultQuery$1 = configureStore.Actions.setDefaultQuery;
1278
- var parseHits = configureStore.helper.parseHits,
1279
- isEqual$1 = configureStore.helper.isEqual,
1280
- getCompositeAggsQuery$1 = configureStore.helper.getCompositeAggsQuery,
1281
- getResultStats$1 = configureStore.helper.getResultStats,
1282
- extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
1283
- getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
1284
- var ReactiveComponent = {
1285
- name: 'ReactiveComponent',
1286
- props: {
1287
- componentId: vueTypes.types.stringRequired,
1288
- aggregationField: vueTypes.types.string,
1289
- aggregationSize: VueTypes.number,
1290
- size: VueTypes.number,
1291
- defaultQuery: vueTypes.types.func,
1292
- customQuery: vueTypes.types.func,
1293
- filterLabel: vueTypes.types.string,
1294
- react: vueTypes.types.react,
1295
- showFilter: VueTypes.bool.def(true),
1296
- URLParams: VueTypes.bool.def(false),
1297
- distinctField: vueTypes.types.string,
1298
- distinctFieldConfig: vueTypes.types.props,
1299
- index: VueTypes.string,
1300
- endpoint: vueTypes.types.endpointConfig
1301
- },
1302
- created: function created() {
1303
- var _this = this;
1304
- var props = this.$props;
1305
- this.internalComponent = null;
1306
- this.$defaultQuery = null;
1307
- // Set custom query in store
1308
- index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
1309
- var customQuery = props.customQuery,
1310
- componentId = props.componentId,
1311
- filterLabel = props.filterLabel,
1312
- showFilter = props.showFilter,
1313
- URLParams = props.URLParams,
1314
- distinctField = props.distinctField,
1315
- distinctFieldConfig = props.distinctFieldConfig,
1316
- index$1 = props.index;
1317
- if (this.enableAppbase && this.aggregationField && this.aggregationField !== '') {
1318
- console.warn('Warning(ReactiveSearch): The `aggregationField` prop has been marked as deprecated, please use the `distinctField` prop instead.');
1319
- }
1320
- if (!this.enableAppbase && (distinctField || distinctFieldConfig)) {
1321
- console.warn('Warning(ReactiveSearch): In order to use the `distinctField` and `distinctFieldConfig` props, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
1322
- }
1323
- if (!this.enableAppbase && index$1) {
1324
- console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
1325
- }
1326
- if (customQuery) {
1327
- var calcCustomQuery = customQuery(this.selectedValue, props);
1328
- var query = extractQueryFromCustomQuery(calcCustomQuery);
1329
- var customQueryOptions = calcCustomQuery ? getOptionsForCustomQuery(calcCustomQuery) : null;
1330
- if (customQueryOptions) {
1331
- this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, customQueryOptions, this.getAggsQuery()), false);
1332
- } else this.setQueryOptions(componentId, this.getAggsQuery(), false);
1333
- this.updateQuery({
1334
- componentId: componentId,
1335
- query: query,
1336
- value: this.selectedValue || null,
1337
- label: filterLabel,
1338
- showFilter: showFilter,
1339
- URLParams: URLParams
1340
- });
1341
- }
1342
- this.setQuery = function (_ref) {
1343
- var options = _ref.options,
1344
- obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
1345
- var queryToBeSet = obj.query;
1346
-
1347
- // when enableAppbase is true, Backend throws error because of repeated query in request body
1348
- if (queryToBeSet && queryToBeSet.query) {
1349
- queryToBeSet = queryToBeSet.query;
1350
- }
1351
- var customQueryCalc = _rollupPluginBabelHelpers._extends({}, options, {
1352
- query: queryToBeSet
1353
- });
1354
- var rsAPIQuery = customQueryCalc;
1355
- // handle stored queries
1356
- if (queryToBeSet && queryToBeSet.id) {
1357
- rsAPIQuery = queryToBeSet;
1358
- }
1359
- // Update customQuery field for RS API
1360
- _this.setCustomQuery(props.componentId, rsAPIQuery);
1361
- if (options) {
1362
- _this.setQueryOptions(props.componentId, _rollupPluginBabelHelpers._extends({}, _this.getAggsQuery(), options), false);
1363
- }
1364
- _this.updateQuery(_rollupPluginBabelHelpers._extends({}, obj, {
1365
- query: customQueryCalc.query,
1366
- componentId: props.componentId,
1367
- label: props.filterLabel,
1368
- showFilter: props.showFilter,
1369
- URLParams: props.URLParams
1370
- }));
1371
- };
1372
- if (props.defaultQuery) {
1373
- this.internalComponent = props.componentId + "__internal";
1374
- }
1375
- if (this.internalComponent && this.$props.defaultQuery) {
1376
- index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
1377
- this.$defaultQuery = this.$props.defaultQuery(this.selectedValue, this.$props);
1378
- var _query = extractQueryFromCustomQuery(this.$defaultQuery);
1379
- var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
1380
- if (queryOptions) {
1381
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
1382
- } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
1383
- this.updateQuery({
1384
- componentId: this.internalComponent,
1385
- query: _query
1386
- });
1387
- }
1388
- },
1389
- watch: {
1390
- hits: function hits(newVal, oldVal) {
1391
- if (!isEqual$1(newVal, oldVal)) {
1392
- this.$emit('data', this.getData());
1393
- }
1394
- },
1395
- rawData: function rawData(newVal, oldVal) {
1396
- if (!isEqual$1(newVal, oldVal)) {
1397
- this.$emit('data', this.getData());
1398
- }
1399
- },
1400
- aggregations: function aggregations(newVal, oldVal) {
1401
- if (!isEqual$1(newVal, oldVal)) {
1402
- this.$emit('data', this.getData());
1403
- }
1404
- },
1405
- aggregationData: function aggregationData(newVal, oldVal) {
1406
- if (!isEqual$1(newVal, oldVal)) {
1407
- this.$emit('data', this.getData());
1408
- }
1409
- },
1410
- promotedResults: function promotedResults(newVal, oldVal) {
1411
- if (!isEqual$1(newVal, oldVal)) {
1412
- this.$emit('data', this.getData());
1413
- }
1414
- },
1415
- hidden: function hidden(newVal, oldVal) {
1416
- if (!isEqual$1(newVal, oldVal)) {
1417
- this.$emit('data', this.getData());
1418
- }
1419
- },
1420
- total: function total(newVal, oldVal) {
1421
- if (!isEqual$1(newVal, oldVal)) {
1422
- this.$emit('data', this.getData());
1423
- }
1424
- },
1425
- time: function time(newVal, oldVal) {
1426
- if (!isEqual$1(newVal, oldVal)) {
1427
- this.$emit('data', this.getData());
1428
- }
1429
- },
1430
- defaultQuery: function defaultQuery(newVal, oldVal) {
1431
- if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
1432
- this.$defaultQuery = newVal(this.selectedValue, this.$props);
1433
- var query = extractQueryFromCustomQuery(this.$defaultQuery);
1434
- var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
1435
- if (queryOptions) {
1436
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
1437
- } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
1438
- // Update default query for RS API
1439
- index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
1440
- this.updateQuery({
1441
- componentId: this.internalComponent,
1442
- query: query
1443
- });
1444
- }
1445
- },
1446
- customQuery: function customQuery(newVal, oldVal) {
1447
- if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
1448
- var componentId = this.$props.componentId;
1449
- this.$customQuery = newVal(this.selectedValue, this.$props);
1450
- var query = extractQueryFromCustomQuery(this.$customQuery);
1451
- var queryOptions = getOptionsForCustomQuery(this.$customQuery);
1452
- if (queryOptions) {
1453
- this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
1454
- } else this.setQueryOptions(componentId, this.getAggsQuery(), false);
1455
-
1456
- // Update custom query for RS API
1457
- index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
1458
- this.updateQuery({
1459
- componentId: componentId,
1460
- query: query
1461
- });
1462
- }
1463
- }
1464
- },
1465
- render: function render() {
1466
- try {
1467
- var dom = this.$slots["default"];
1468
- var error = this.error,
1469
- isLoading = this.isLoading,
1470
- selectedValue = this.selectedValue;
1471
- var propsToBePassed = _rollupPluginBabelHelpers._extends({
1472
- error: error,
1473
- loading: isLoading
1474
- }, this.getData(), {
1475
- value: selectedValue,
1476
- setQuery: this.setQuery
1477
- });
1478
- return vue.createVNode("div", null, [dom(propsToBePassed)]);
1479
- } catch (e) {
1480
- return null;
1481
- }
1482
- },
1483
- methods: {
1484
- getAggsQuery: function getAggsQuery() {
1485
- if (this.aggregationField) {
1486
- return {
1487
- aggs: getCompositeAggsQuery$1({
1488
- props: this.$props,
1489
- showTopHits: true,
1490
- value: this.selectedValue
1491
- }).aggs
1492
- };
1493
- }
1494
- return {};
1495
- },
1496
- getData: function getData() {
1497
- var hits = this.hits,
1498
- aggregations = this.aggregations,
1499
- aggregationData = this.aggregationData,
1500
- promotedResults = this.promotedResults,
1501
- rawData = this.rawData;
1502
- var filteredResults = parseHits(hits);
1503
- if (promotedResults.length) {
1504
- var ids = promotedResults.map(function (item) {
1505
- return item._id;
1506
- }).filter(Boolean);
1507
- if (ids) {
1508
- filteredResults = filteredResults.filter(function (item) {
1509
- return !ids.includes(item._id);
1510
- });
1511
- }
1512
- filteredResults = [].concat(promotedResults, filteredResults);
1513
- }
1514
- return {
1515
- data: filteredResults,
1516
- aggregationData: aggregationData,
1517
- rawData: rawData,
1518
- aggregations: aggregations,
1519
- promotedData: promotedResults,
1520
- resultStats: this.stats
1521
- };
1522
- }
1523
- },
1524
- computed: {
1525
- stats: function stats() {
1526
- return getResultStats$1(this);
1527
- }
1528
- }
1529
- };
1530
- ReactiveComponent.hasInternalComponent = function (props) {
1531
- return !!props.defaultQuery;
1532
- };
1533
- var mapStateToProps$1 = function mapStateToProps(state, props) {
1534
- return {
1535
- aggregations: state.aggregations[props.componentId] && state.aggregations[props.componentId] || null,
1536
- aggregationData: state.compositeAggregations[props.componentId] || [],
1537
- hits: state.hits[props.componentId] && state.hits[props.componentId].hits || [],
1538
- rawData: state.rawData[props.componentId],
1539
- error: state.error[props.componentId],
1540
- isLoading: state.isLoading[props.componentId],
1541
- selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
1542
- promotedResults: state.promotedResults[props.componentId] || [],
1543
- time: state.hits[props.componentId] && state.hits[props.componentId].time || 0,
1544
- total: state.hits[props.componentId] && state.hits[props.componentId].total,
1545
- hidden: state.hits[props.componentId] && state.hits[props.componentId].hidden,
1546
- componentProps: state.props[props.componentId],
1547
- enableAppbase: state.config.enableAppbase
1548
- };
1549
- };
1550
- var mapDispatchtoProps = {
1551
- setQueryOptions: setQueryOptions,
1552
- updateQuery: updateQuery$1,
1553
- setCustomQuery: setCustomQuery$1,
1554
- setDefaultQuery: setDefaultQuery$1
1555
- };
1556
- var ConnectedComponent = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps$1, mapDispatchtoProps)(ReactiveComponent), {
1557
- componentType: constants.componentTypes.reactiveComponent
1558
- });
1559
1266
  var RcConnected = PreferencesConsumer.PreferencesConsumer({
1560
1267
  name: 'RcConnected',
1561
- render: function render() {
1562
- var component = ConnectedComponent;
1268
+ render: function render(h) {
1269
+ var component = ReactiveComponent.default;
1563
1270
  switch (this.$attrs.componentType) {
1564
1271
  case constants.componentTypes.reactiveList:
1565
1272
  component = ReactiveList.RLConnected;
1566
1273
  break;
1567
- case constants.componentTypes.dataSearch:
1568
- component = DataSearch.DSConnected;
1569
- break;
1570
1274
  case constants.componentTypes.searchBox:
1571
1275
  component = SBConnected;
1572
1276
  break;
@@ -1604,21 +1308,21 @@ var RcConnected = PreferencesConsumer.PreferencesConsumer({
1604
1308
  component = RangeInput.RangeConnected;
1605
1309
  break;
1606
1310
  }
1607
- return vue.h(component, {
1311
+ return h(component, {
1608
1312
  attrs: this.$attrs,
1609
- on: this.$attrs,
1610
- scopedSlots: this.$slots,
1313
+ on: this.$listeners,
1314
+ scopedSlots: this.$scopedSlots,
1611
1315
  slots: this.$slots
1612
1316
  });
1613
1317
  }
1614
1318
  });
1615
- RcConnected.name = ReactiveComponent.name;
1319
+ RcConnected.name = 'ReactiveComponentPrivate';
1320
+ RcConnected.hasInternalComponent = ReactiveComponent.default.hasInternalComponent;
1321
+ // Add componentType for SSR
1322
+ RcConnected.componentType = constants.componentTypes.reactiveComponent;
1616
1323
  RcConnected.install = function (Vue) {
1617
1324
  Vue.component(RcConnected.name, RcConnected);
1618
1325
  };
1619
1326
 
1620
- // Add componentType for SSR
1621
- RcConnected.componentType = constants.componentTypes.reactiveComponent;
1622
-
1623
- exports.ReactiveComponent = RcConnected;
1327
+ exports.ReactiveComponentPrivate = RcConnected;
1624
1328
  exports.SearchBox = SBConnected;