@appbaseio/reactivesearch-vue 1.16.0-alpha.6 → 1.16.0-alpha.62

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 (105) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +16030 -13113
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/Button-446f819e.js +68 -0
  6. package/dist/cjs/{DownShift-966a58cb.js → CancelSvg-9f258f4f.js} +60 -16
  7. package/dist/cjs/Card-642547a8.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-603848ed.js → ComponentWrapper-ad3dad02.js} +40 -21
  9. package/dist/cjs/{Container-6cdd3864.js → Container-daf30918.js} +3 -11
  10. package/dist/cjs/DataSearch-86914b10.js +2322 -0
  11. package/dist/cjs/DataSearch.js +18 -2151
  12. package/dist/cjs/{DropDown-f6224ac8.js → DropDown-5513ea77.js} +80 -95
  13. package/dist/cjs/DynamicRangeSlider.js +107 -43
  14. package/dist/cjs/Flex-aa517a13.js +52 -0
  15. package/dist/cjs/FormControlList-c195a592.js +47 -0
  16. package/dist/cjs/Input-e6603a7e.js +79 -0
  17. package/dist/cjs/ListItem-8c9e0d68.js +46 -0
  18. package/dist/cjs/MultiDropdownList.js +102 -68
  19. package/dist/cjs/MultiList.js +80 -50
  20. package/dist/cjs/MultiRange.js +21 -16
  21. package/dist/cjs/{Pagination-af399262.js → Pagination-fe5452fc.js} +14 -8
  22. package/dist/cjs/RangeInput.js +29 -45
  23. package/dist/cjs/RangeSlider.js +32 -30
  24. package/dist/cjs/ReactiveBase.js +87 -56
  25. package/dist/cjs/ReactiveComponent.js +75 -62
  26. package/dist/cjs/ReactiveGoogleMap.js +262 -191
  27. package/dist/cjs/ReactiveList.js +189 -241
  28. package/dist/cjs/ResultCard.js +8 -6
  29. package/dist/cjs/ResultList.js +8 -6
  30. package/dist/cjs/SelectedFilters.js +66 -34
  31. package/dist/cjs/SingleDropdownList.js +88 -60
  32. package/dist/cjs/SingleList.js +53 -35
  33. package/dist/cjs/SingleRange.js +19 -14
  34. package/dist/cjs/StateProvider.js +39 -10
  35. package/dist/cjs/{Title-65d39104.js → Title-1de7d0f4.js} +3 -11
  36. package/dist/cjs/ToggleButton.js +36 -16
  37. package/dist/cjs/{_rollupPluginBabelHelpers-4abdbfff.js → _rollupPluginBabelHelpers-c705cbe6.js} +2 -4
  38. package/dist/cjs/{index-baca18c4.js → index-6a167fe0.js} +99 -13
  39. package/dist/cjs/index.js +31 -25
  40. package/dist/cjs/initReactivesearch.js +178 -104
  41. package/dist/cjs/install-004c6aa4.js +1408 -0
  42. package/dist/cjs/install.js +42 -44
  43. package/dist/cjs/ssr-3027b848.js +39 -0
  44. package/dist/cjs/{utils-ea846a20.js → utils-d6a52588.js} +2 -2
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
  47. package/dist/es/Button-d8bc15ea.js +59 -0
  48. package/dist/es/{DownShift-92347b5e.js → CancelSvg-4cfae5fd.js} +56 -17
  49. package/dist/es/Card-450683f1.js +23 -0
  50. package/dist/es/{ComponentWrapper-c4c91949.js → ComponentWrapper-424e86fd.js} +40 -21
  51. package/dist/es/Container-ba826e96.js +10 -0
  52. package/dist/es/DataSearch-e71a1014.js +2307 -0
  53. package/dist/es/DataSearch.js +17 -2150
  54. package/dist/es/{DropDown-3d4291f1.js → DropDown-7d9a15c1.js} +79 -94
  55. package/dist/es/DynamicRangeSlider.js +107 -43
  56. package/dist/es/Flex-1f0795c3.js +47 -0
  57. package/dist/es/FormControlList-c22d64f6.js +40 -0
  58. package/dist/es/Input-7a2a9fac.js +71 -0
  59. package/dist/es/ListItem-cad14c5e.js +39 -0
  60. package/dist/es/MultiDropdownList.js +102 -68
  61. package/dist/es/MultiList.js +80 -50
  62. package/dist/es/MultiRange.js +21 -16
  63. package/dist/es/{Pagination-c2a00175.js → Pagination-3f350098.js} +14 -8
  64. package/dist/es/RangeInput.js +29 -45
  65. package/dist/es/RangeSlider.js +32 -30
  66. package/dist/es/ReactiveBase.js +87 -56
  67. package/dist/es/ReactiveComponent.js +75 -62
  68. package/dist/es/ReactiveGoogleMap.js +262 -191
  69. package/dist/es/ReactiveList.js +189 -241
  70. package/dist/es/ResultCard.js +8 -6
  71. package/dist/es/ResultList.js +8 -6
  72. package/dist/es/SelectedFilters.js +66 -34
  73. package/dist/es/SingleDropdownList.js +88 -60
  74. package/dist/es/SingleList.js +53 -35
  75. package/dist/es/SingleRange.js +19 -14
  76. package/dist/es/StateProvider.js +39 -10
  77. package/dist/es/Title-3342664a.js +10 -0
  78. package/dist/es/ToggleButton.js +36 -16
  79. package/dist/es/{_rollupPluginBabelHelpers-ecf6c03c.js → _rollupPluginBabelHelpers-76660dab.js} +2 -4
  80. package/dist/es/{index-185b6266.js → index-7788a843.js} +95 -14
  81. package/dist/es/index.js +27 -22
  82. package/dist/es/initReactivesearch.js +179 -105
  83. package/dist/es/install-b7b604cc.js +1401 -0
  84. package/dist/es/install.js +40 -46
  85. package/dist/es/ssr-b2c0b401.js +33 -0
  86. package/dist/es/{utils-57cc8789.js → utils-9e68acee.js} +2 -2
  87. package/dist/es/version.js +1 -1
  88. package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
  89. package/package.json +6 -4
  90. package/dist/cjs/Button-d48d4365.js +0 -146
  91. package/dist/cjs/Card-9748fbb2.js +0 -58
  92. package/dist/cjs/Flex-befd65fc.js +0 -160
  93. package/dist/cjs/FormControlList-f3857d4b.js +0 -105
  94. package/dist/cjs/Input-95cb19f8.js +0 -178
  95. package/dist/cjs/ListItem-84d185cf.js +0 -84
  96. package/dist/cjs/ssr-3ca8a14f.js +0 -47
  97. package/dist/es/Button-27cc8574.js +0 -137
  98. package/dist/es/Card-1f93780d.js +0 -51
  99. package/dist/es/Container-88c805ef.js +0 -18
  100. package/dist/es/Flex-16d1103a.js +0 -155
  101. package/dist/es/FormControlList-96d44e7b.js +0 -98
  102. package/dist/es/Input-1159c4b5.js +0 -170
  103. package/dist/es/ListItem-d22510c9.js +0 -77
  104. package/dist/es/Title-f0217338.js +0 -18
  105. package/dist/es/ssr-a710392b.js +0 -41
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
6
+ var emotion = require('emotion');
7
+ var styled = require('@appbaseio/vue-emotion');
8
+ var styled__default = _interopDefault(styled);
9
+
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
11
+
12
+ var alertBorder = function alertBorder(_ref) {
13
+ var theme = _ref.theme;
14
+ return emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder: 1px solid ", ";\n"])), theme.colors.alertColor);
15
+ };
16
+
17
+ var input = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\tline-height: 1.5;\n\tmin-height: 42px;\n\tpadding: 8px 12px;\n\tborder: 1px solid #ccc;\n\tbackground-color: #fafafa;\n\tfont-size: 0.9rem;\n\toutline: none;\n\theight: 100%;\n\n\t&:focus {\n\t\tbackground-color: #fff;\n\t}\n"])));
18
+
19
+ var dark = function dark(theme) {
20
+ return emotion.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder-color: ", ";\n"])), theme.colors.borderColor);
21
+ };
22
+
23
+ var darkInput = function darkInput(_ref2) {
24
+ var theme = _ref2.theme;
25
+ return emotion.css(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tbackground-color: ", ";\n\tcolor: ", ";\n\t", ";\n\n\t&:focus {\n\t\tbackground-color: ", ";\n\t}\n"])), theme.colors.backgroundColor, theme.colors.textColor, dark(theme), theme.colors.backgroundColor);
26
+ };
27
+
28
+ var Input = styled__default('input')(_templateObject5 || (_templateObject5 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\t", ";\n\n\t", ";\n\n\t", ";\n\n\t", ";\n\t", ";\n\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n"])), input, function (_ref3) {
29
+ var themePreset = _ref3.themePreset,
30
+ theme = _ref3.theme;
31
+ return themePreset === 'dark' && darkInput({
32
+ theme: theme
33
+ });
34
+ }, function (props) {
35
+ return props.showIcon && props.iconPosition === 'left' && emotion.css(_templateObject6 || (_templateObject6 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-left: 36px;\n\t\t"])));
36
+ }, function (props) {
37
+ return props.showIcon && props.iconPosition === 'right' && emotion.css(_templateObject7 || (_templateObject7 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 36px;\n\t\t"])));
38
+ }, function (props) {
39
+ return (// for clear icon
40
+ props.showClear && emotion.css(_templateObject8 || (_templateObject8 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 36px;\n\t\t"])))
41
+ );
42
+ }, function (props) {
43
+ return (// for voice search icon
44
+ props.showVoiceSearch && emotion.css(_templateObject9 || (_templateObject9 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 36px;\n\t\t"])))
45
+ );
46
+ }, function (props) {
47
+ return (// for clear icon with search icon
48
+ props.showClear && props.showIcon && props.iconPosition === 'right' && emotion.css(_templateObject10 || (_templateObject10 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 66px;\n\t\t"])))
49
+ );
50
+ }, function (props) {
51
+ return (// for voice search icon with search icon
52
+ props.showVoiceSearch && props.showIcon && props.iconPosition === 'right' && emotion.css(_templateObject11 || (_templateObject11 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 66px;\n\t\t"])))
53
+ );
54
+ }, function (props) {
55
+ return (// for voice search icon with clear icon
56
+ props.showVoiceSearch && props.showIcon && emotion.css(_templateObject12 || (_templateObject12 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 66px;\n\t\t"])))
57
+ );
58
+ }, function (props) {
59
+ return (// for clear icon with search icon and voice search
60
+ props.showClear && props.showIcon && props.showVoiceSearch && props.iconPosition === 'right' && emotion.css(_templateObject13 || (_templateObject13 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 90px;\n\t\t"])))
61
+ );
62
+ }, function (props) {
63
+ return props.alert && alertBorder;
64
+ });
65
+
66
+ var suggestions = function suggestions(themePreset, theme) {
67
+ return emotion.css(_templateObject14 || (_templateObject14 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: min(100vh, 402px);\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tcursor: pointer;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\t}\n\n\t", ";\n"])), themePreset === 'dark' && theme && dark(theme));
68
+ };
69
+
70
+ var suggestionsContainer = emotion.css(_templateObject15 || (_templateObject15 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tposition: relative;\n\t.cancel-icon {\n\t\tcursor: pointer;\n\t}\n"])));
71
+
72
+ var noSuggestions = function noSuggestions(themePreset, theme) {
73
+ return emotion.css(_templateObject16 || (_templateObject16 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t", "\n"])), themePreset === 'dark' && theme && dark(theme));
74
+ };
75
+
76
+ exports.Input = Input;
77
+ exports.noSuggestions = noSuggestions;
78
+ exports.suggestions = suggestions;
79
+ exports.suggestionsContainer = suggestionsContainer;
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
6
+ var emotion = require('emotion');
7
+ var styled = require('@appbaseio/vue-emotion');
8
+ var styled__default = _interopDefault(styled);
9
+ var polished = require('polished');
10
+ require('./Title-1de7d0f4.js');
11
+
12
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
+ var container = emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 0;\n\tborder-radius: 0.25rem;\n\toverflow: hidden;\n"])));
14
+ var smallImage = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100px;\n\theight: 100px;\n"])));
15
+ var Image = styled__default('div')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 160px;\n\theight: 160px;\n\t", ";\n\tmargin: 0;\n\tbackground-size: contain;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-image: ", ";\n"])), function (props) {
16
+ return props.small ? smallImage : null;
17
+ }, function (props) {
18
+ return "url(" + props.src + ")";
19
+ });
20
+ var ListItem = styled__default('a')(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\theight: auto;\n\toutline: none;\n\ttext-decoration: none;\n\tborder-radius: 0;\n\tbackground-color: ", ";\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin: 0;\n\tpadding: 10px;\n\tborder-bottom: 1px solid ", ";\n\tcolor: ", ";\n\t", "; all 0.3s ease;\n\n\t&:hover, &:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:last-child {\n\t\tborder: 0;\n\t}\n\n\th2 {\n\t\twidth: 100%;\n\t\tline-height: 1.2rem;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tmargin: 0;\n\t\tpadding: 0 0 8px;\n\t}\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\tarticle {\n\t\twidth: ", ";\n\t\tpadding-left: ", ";\n\t\tfont-size: 0.9rem;\n\t}\n\n\t&:hover, &:focus {\n\t\tbox-shadow: 0 0 0 0 rgba(0,0,0,0.10);\n\t}\n\n\t@media (max-width: 420px) {\n\t\tmin-width: 0;\n\t\tmargin: 0;\n\t\tborder-radius: 0;\n\t\tbox-shadow: none;\n\t\tborder: 1px solid #eee;\n\n\t\t&:hover, &:focus {\n\t\t\tbox-shadow: 0;\n\t\t}\n\t}\n"])), function (_ref) {
21
+ var theme = _ref.theme;
22
+ return theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fff';
23
+ }, function (_ref2) {
24
+ var theme = _ref2.theme;
25
+ return theme.colors.backgroundColor ? polished.lighten(0.3, theme.colors.backgroundColor) : polished.lighten(0.68, theme.colors.textColor);
26
+ }, function (_ref3) {
27
+ var theme = _ref3.theme;
28
+ return theme.colors.textColor;
29
+ }, function (props) {
30
+ return props.href ? 'cursor: pointer' : null;
31
+ }, function (_ref4) {
32
+ var theme = _ref4.theme;
33
+ return theme.colors.backgroundColor ? polished.lighten(0.2, theme.colors.backgroundColor) : '#fdfefd';
34
+ }, function (props) {
35
+ if (props.image) {
36
+ return props.small ? 'calc(100% - 100px)' : 'calc(100% - 160px)';
37
+ }
38
+
39
+ return '100%';
40
+ }, function (props) {
41
+ return props.image ? '10px' : 0;
42
+ });
43
+
44
+ exports.Image = Image;
45
+ exports.ListItem = ListItem;
46
+ exports.container = container;
@@ -6,25 +6,27 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var Button = require('./Button-d48d4365.js');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var Button = require('./Button-446f819e.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-baca18c4.js');
20
- var ComponentWrapper = require('./ComponentWrapper-603848ed.js');
21
- var Title = require('./Title-65d39104.js');
22
- require('./Input-95cb19f8.js');
19
+ var index = require('./index-6a167fe0.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
21
+ require('@vue/babel-helper-vue-jsx-merge-props');
22
+ var Title = require('./Title-1de7d0f4.js');
23
+ require('./CancelSvg-9f258f4f.js');
24
+ require('./Input-e6603a7e.js');
23
25
  require('compute-scroll-into-view');
24
- require('./DownShift-966a58cb.js');
25
- var Container = require('./Container-6cdd3864.js');
26
- var utils = require('./utils-ea846a20.js');
27
- var DropDown = require('./DropDown-f6224ac8.js');
26
+ var Container = require('./Container-daf30918.js');
27
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
28
+ var utils = require('./utils-d6a52588.js');
29
+ var DropDown = require('./DropDown-5513ea77.js');
28
30
 
29
31
  var updateQuery = configureStore.Actions.updateQuery,
30
32
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -35,8 +37,9 @@ var isEqual = configureStore.helper.isEqual,
35
37
  checkValueChange = configureStore.helper.checkValueChange,
36
38
  checkPropChange = configureStore.helper.checkPropChange,
37
39
  getClassName = configureStore.helper.getClassName,
38
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
39
- getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery;
40
+ getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
41
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
42
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
40
43
  var MultiDropdownList = {
41
44
  name: 'MultiDropdownList',
42
45
  data: function data() {
@@ -74,19 +77,28 @@ var MultiDropdownList = {
74
77
  selectAllLabel: vueTypes.types.string,
75
78
  showCount: VueTypes.bool.def(true),
76
79
  showFilter: VueTypes.bool.def(true),
77
- size: VueTypes.number.def(100),
80
+ size: VueTypes.number,
78
81
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
79
82
  title: vueTypes.types.title,
80
83
  URLParams: VueTypes.bool.def(false),
81
84
  showMissing: VueTypes.bool.def(false),
82
85
  missingLabel: VueTypes.string.def('N/A'),
83
86
  showSearch: VueTypes.bool.def(false),
87
+ showClear: VueTypes.bool.def(false),
84
88
  showLoadMore: VueTypes.bool.def(false),
85
89
  loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
86
- nestedField: vueTypes.types.string
90
+ nestedField: vueTypes.types.string,
91
+ index: VueTypes.string,
92
+ searchPlaceholder: VueTypes.string.def('Type here to search...')
87
93
  },
88
94
  created: function created() {
89
- // Set custom and default queries in store
95
+ if (!this.enableAppbase && this.$props.index) {
96
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
97
+ }
98
+
99
+ var props = this.$props;
100
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
101
+
90
102
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
91
103
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
92
104
  },
@@ -124,33 +136,35 @@ var MultiDropdownList = {
124
136
  options: function options(newVal, oldVal) {
125
137
  var _this2 = this;
126
138
 
127
- checkPropChange(oldVal, newVal, function () {
128
- var _this2$$props = _this2.$props,
129
- showLoadMore = _this2$$props.showLoadMore,
130
- dataField = _this2$$props.dataField;
131
- var modifiedOptions = _this2.$data.modifiedOptions;
132
-
133
- if (showLoadMore) {
134
- // append options with showLoadMore
135
- var buckets = newVal[dataField].buckets;
136
- var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
137
- return {
138
- key: bucket.key[dataField],
139
- doc_count: bucket.doc_count
139
+ if (newVal) {
140
+ checkPropChange(oldVal, newVal, function () {
141
+ var _this2$$props = _this2.$props,
142
+ showLoadMore = _this2$$props.showLoadMore,
143
+ dataField = _this2$$props.dataField;
144
+ var modifiedOptions = _this2.$data.modifiedOptions;
145
+
146
+ if (showLoadMore) {
147
+ // append options with showLoadMore
148
+ var buckets = newVal[dataField].buckets;
149
+ var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
150
+ return {
151
+ key: bucket.key[dataField],
152
+ doc_count: bucket.doc_count
153
+ };
154
+ }));
155
+ var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
156
+
157
+ var isLastBucket = !buckets.length;
158
+ _this2.after = {
159
+ after: after
140
160
  };
141
- }));
142
- var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
143
-
144
- var isLastBucket = !buckets.length;
145
- _this2.after = {
146
- after: after
147
- };
148
- _this2.isLastBucket = isLastBucket;
149
- _this2.modifiedOptions = nextOptions;
150
- } else {
151
- _this2.modifiedOptions = newVal[_this2.$props.dataField] ? newVal[_this2.$props.dataField].buckets : [];
152
- }
153
- });
161
+ _this2.isLastBucket = isLastBucket;
162
+ _this2.modifiedOptions = nextOptions;
163
+ } else {
164
+ _this2.modifiedOptions = newVal[_this2.$props.dataField] ? newVal[_this2.$props.dataField].buckets : [];
165
+ }
166
+ });
167
+ }
154
168
  },
155
169
  size: function size() {
156
170
  this.updateQueryOptions(this.$props);
@@ -193,13 +207,22 @@ var MultiDropdownList = {
193
207
  var renderErrorCalc = this.$scopedSlots.renderError || renderError;
194
208
  var renderLabelCalc = this.$scopedSlots.renderLabel || renderLabel;
195
209
  var isLastBucket = this.$data.isLastBucket;
210
+ var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
196
211
  var selectAll = [];
197
212
 
198
213
  if (renderErrorCalc && this.error) {
199
214
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
200
215
  }
201
216
 
202
- if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0) {
217
+ if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
218
+ if (renderNoResults && index.isFunction(renderNoResults)) {
219
+ return h("div", [renderNoResults()]);
220
+ }
221
+
222
+ if (renderNoResults && !index.isFunction(renderNoResults)) {
223
+ return renderNoResults;
224
+ }
225
+
203
226
  return null;
204
227
  }
205
228
 
@@ -219,7 +242,7 @@ var MultiDropdownList = {
219
242
  "items": [].concat(selectAll, this.$data.modifiedOptions.filter(function (item) {
220
243
  return String(item.key).trim().length;
221
244
  }).map(function (item) {
222
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, item), {}, {
245
+ return _rollupPluginBabelHelpers._extends({}, item, {
223
246
  key: String(item.key)
224
247
  });
225
248
  })),
@@ -235,6 +258,8 @@ var MultiDropdownList = {
235
258
  "renderItem": renderItemCalc,
236
259
  "renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
237
260
  "showSearch": this.$props.showSearch,
261
+ "showClear": this.$props.showClear,
262
+ "searchPlaceholder": this.$props.searchPlaceholder,
238
263
  "transformData": this.$props.transformData,
239
264
  "footer": showLoadMore && !isLastBucket && h("div", {
240
265
  "attrs": {
@@ -326,7 +351,7 @@ var MultiDropdownList = {
326
351
  }
327
352
 
328
353
  var performUpdate = function performUpdate() {
329
- _this3.currentValue = currentValue;
354
+ _this3.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
330
355
 
331
356
  _this3.updateQueryHandler(finalValues, props);
332
357
 
@@ -338,22 +363,22 @@ var MultiDropdownList = {
338
363
  checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
339
364
  },
340
365
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
341
- var defaultQueryOptions;
342
366
  var query = MultiDropdownList.defaultQuery(value, props);
343
367
 
344
368
  if (this.defaultQuery) {
345
369
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
370
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
346
371
 
347
- if (defaultQueryToBeSet.query) {
348
- query = defaultQueryToBeSet.query;
349
- }
372
+ if (defaultQueryObj) {
373
+ query = defaultQueryObj;
374
+ } // Update calculated default query in store
350
375
 
351
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
352
376
 
353
377
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
378
+ var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
379
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
354
380
  }
355
381
 
356
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
357
382
  this.updateQuery({
358
383
  componentId: this.internalComponent,
359
384
  query: query,
@@ -364,17 +389,15 @@ var MultiDropdownList = {
364
389
  updateQueryHandler: function updateQueryHandler(value, props) {
365
390
  var customQuery = props.customQuery;
366
391
  var query = MultiDropdownList.defaultQuery(value, props);
367
- var customQueryOptions;
368
392
 
369
393
  if (customQuery) {
370
- var _ref = customQuery(value, props) || {};
371
-
372
- query = _ref.query;
373
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
394
+ var customQueryCalc = customQuery(value, props);
395
+ query = extractQueryFromCustomQuery(customQueryCalc);
374
396
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
397
+ var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
398
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
375
399
  }
376
400
 
377
- this.setQueryOptions(props.componentId, customQueryOptions);
378
401
  this.updateQuery({
379
402
  componentId: props.componentId,
380
403
  query: query,
@@ -408,8 +431,8 @@ var MultiDropdownList = {
408
431
 
409
432
  if (props.defaultQuery) {
410
433
  var value = Object.keys(this.$data.currentValue);
411
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
412
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
434
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
435
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
413
436
  } else {
414
437
  this.setQueryOptions(this.internalComponent, queryOptions);
415
438
  }
@@ -444,7 +467,13 @@ var MultiDropdownList = {
444
467
 
445
468
  MultiDropdownList.defaultQuery = function (value, props) {
446
469
  var query = null;
447
- var type = props.queryFormat === 'or' ? 'terms' : 'term';
470
+ var queryFormat = props.queryFormat;
471
+
472
+ if (queryFormat === undefined) {
473
+ queryFormat = 'or';
474
+ }
475
+
476
+ var type = queryFormat === 'or' ? 'terms' : 'term';
448
477
 
449
478
  if (!Array.isArray(value) || value.length === 0) {
450
479
  return null;
@@ -465,14 +494,14 @@ MultiDropdownList.defaultQuery = function (value, props) {
465
494
  } else if (value) {
466
495
  var listQuery;
467
496
 
468
- if (props.queryFormat === 'or') {
497
+ if (queryFormat === 'or') {
469
498
  if (props.showMissing) {
470
- var _type, _ref2;
499
+ var _type, _ref;
471
500
 
472
501
  var hasMissingTerm = value.includes(props.missingLabel);
473
- var should = [(_ref2 = {}, _ref2[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
502
+ var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
474
503
  return item !== props.missingLabel;
475
- }), _type), _ref2)];
504
+ }), _type), _ref)];
476
505
 
477
506
  if (hasMissingTerm) {
478
507
  should = should.concat({
@@ -499,9 +528,9 @@ MultiDropdownList.defaultQuery = function (value, props) {
499
528
  } else {
500
529
  // adds a sub-query with must as an array of objects for each term/value
501
530
  var queryArray = value.map(function (item) {
502
- var _type3, _ref3;
531
+ var _type3, _ref2;
503
532
 
504
- return _ref3 = {}, _ref3[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref3;
533
+ return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
505
534
  });
506
535
  listQuery = {
507
536
  bool: {
@@ -536,6 +565,10 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
536
565
  }) : utils.getAggsQuery(queryOptions, props);
537
566
  };
538
567
 
568
+ MultiDropdownList.hasInternalComponent = function () {
569
+ return true;
570
+ };
571
+
539
572
  var mapStateToProps = function mapStateToProps(state, props) {
540
573
  return {
541
574
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
@@ -544,7 +577,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
544
577
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
545
578
  themePreset: state.config.themePreset,
546
579
  error: state.error[props.componentId],
547
- componentProps: state.props[props.componentId]
580
+ componentProps: state.props[props.componentId],
581
+ enableAppbase: state.config.enableAppbase
548
582
  };
549
583
  };
550
584
 
@@ -556,7 +590,7 @@ var mapDispatchtoProps = {
556
590
  };
557
591
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
558
592
  componentType: constants.componentTypes.multiDropdownList,
559
- internalComponent: true
593
+ internalComponent: MultiDropdownList.hasInternalComponent()
560
594
  });
561
595
 
562
596
  MultiDropdownList.install = function (Vue) {