@appbaseio/reactivesearch-vue 1.32.4 → 1.33.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 (59) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +2571 -2409
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +14 -9
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/{ComponentWrapper-ad3dad02.js → ComponentWrapper-981ab977.js} +7 -6
  6. package/dist/cjs/{DataSearch-b51a5d0f.js → DataSearch-708b183d.js} +11 -8
  7. package/dist/cjs/DataSearch.js +6 -4
  8. package/dist/cjs/DropDown-c479bbb0.js +1 -1
  9. package/dist/cjs/DynamicRangeSlider.js +5 -3
  10. package/dist/cjs/MultiDropdownList.js +10 -6
  11. package/dist/cjs/MultiList.js +11 -6
  12. package/dist/cjs/MultiRange.js +7 -5
  13. package/dist/cjs/PreferencesConsumer-7be03476.js +80 -0
  14. package/dist/cjs/RangeInput.js +7 -5
  15. package/dist/cjs/RangeSlider.js +6 -5
  16. package/dist/cjs/ReactiveBase.js +6 -4
  17. package/dist/cjs/{install-add725fe.js → ReactiveComponent-5ff98cce.js} +407 -22
  18. package/dist/cjs/ReactiveComponent.js +48 -340
  19. package/dist/cjs/ReactiveGoogleMap.js +6 -5
  20. package/dist/cjs/ReactiveList.js +6 -5
  21. package/dist/cjs/SelectedFilters.js +2 -2
  22. package/dist/cjs/SingleDropdownList.js +10 -6
  23. package/dist/cjs/SingleList.js +12 -6
  24. package/dist/cjs/SingleRange.js +7 -5
  25. package/dist/cjs/StateProvider.js +2 -2
  26. package/dist/cjs/ToggleButton.js +8 -6
  27. package/dist/cjs/{index-6a167fe0.js → index-08f8dfa3.js} +1 -1
  28. package/dist/cjs/index.js +28 -21
  29. package/dist/cjs/initReactivesearch.js +1 -1
  30. package/dist/cjs/install.js +30 -24
  31. package/dist/cjs/version.js +1 -1
  32. package/dist/es/{ComponentWrapper-424e86fd.js → ComponentWrapper-d5e814a4.js} +7 -6
  33. package/dist/es/{DataSearch-c40e26c7.js → DataSearch-5376d39a.js} +11 -9
  34. package/dist/es/DataSearch.js +5 -4
  35. package/dist/es/DropDown-05a644a5.js +1 -1
  36. package/dist/es/DynamicRangeSlider.js +5 -3
  37. package/dist/es/MultiDropdownList.js +10 -6
  38. package/dist/es/MultiList.js +11 -6
  39. package/dist/es/MultiRange.js +7 -5
  40. package/dist/es/PreferencesConsumer-c30605fe.js +78 -0
  41. package/dist/es/RangeInput.js +7 -5
  42. package/dist/es/RangeSlider.js +6 -5
  43. package/dist/es/ReactiveBase.js +6 -4
  44. package/dist/es/{install-5b8c657a.js → ReactiveComponent-ee01562d.js} +418 -33
  45. package/dist/es/ReactiveComponent.js +44 -337
  46. package/dist/es/ReactiveGoogleMap.js +6 -5
  47. package/dist/es/ReactiveList.js +6 -5
  48. package/dist/es/SelectedFilters.js +2 -2
  49. package/dist/es/SingleDropdownList.js +10 -6
  50. package/dist/es/SingleList.js +12 -6
  51. package/dist/es/SingleRange.js +7 -5
  52. package/dist/es/StateProvider.js +2 -2
  53. package/dist/es/ToggleButton.js +8 -6
  54. package/dist/es/{index-7788a843.js → index-99c5f9c9.js} +1 -1
  55. package/dist/es/index.js +14 -13
  56. package/dist/es/initReactivesearch.js +1 -1
  57. package/dist/es/install.js +32 -22
  58. package/dist/es/version.js +1 -1
  59. package/package.json +2 -2
@@ -4,21 +4,21 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
4
4
 
5
5
  var configureStore = require('@appbaseio/reactivecore');
6
6
  var configureStore__default = _interopDefault(configureStore);
7
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
7
8
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
8
9
  var VueTypes = _interopDefault(require('vue-types'));
9
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
10
10
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
11
11
  var styled = require('@appbaseio/vue-emotion');
12
12
  var styled__default = _interopDefault(styled);
13
13
  var Button = require('./Button-0673191e.js');
14
14
  var vueTypes = require('./vueTypes-727b7c63.js');
15
15
  var ReactiveList = require('./ReactiveList.js');
16
- var index = require('./index-6a167fe0.js');
17
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
16
+ var index = require('./index-08f8dfa3.js');
17
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
18
+ var PreferencesConsumer = require('./PreferencesConsumer-7be03476.js');
18
19
  var Title = require('./Title-1de7d0f4.js');
19
- var ReactiveBase = require('./ReactiveBase.js');
20
20
  var hotkeys = _interopDefault(require('hotkeys-js'));
21
- var DataSearch = require('./DataSearch-b51a5d0f.js');
21
+ var DataSearch = require('./DataSearch-708b183d.js');
22
22
  var CancelSvg = require('./CancelSvg-9f258f4f.js');
23
23
  var Input = require('./Input-e6603a7e.js');
24
24
  var Container = require('./Container-daf30918.js');
@@ -27,15 +27,10 @@ var MultiList = require('./MultiList.js');
27
27
  var SingleDropdownList = require('./SingleDropdownList.js');
28
28
  var MultiDropdownList = require('./MultiDropdownList.js');
29
29
  var ToggleButton = require('./ToggleButton.js');
30
- var ReactiveComponent = require('./ReactiveComponent.js');
31
- var SelectedFilters = require('./SelectedFilters.js');
30
+ var DynamicRangeSlider = require('./DynamicRangeSlider.js');
32
31
  var SingleRange = require('./SingleRange.js');
33
32
  var MultiRange = require('./MultiRange.js');
34
- var ResultCard = require('./ResultCard.js');
35
- var ResultList = require('./ResultList.js');
36
33
  var RangeSlider = require('./RangeSlider.js');
37
- var DynamicRangeSlider = require('./DynamicRangeSlider.js');
38
- var StateProvider = require('./StateProvider.js');
39
34
  var RangeInput = require('./RangeInput.js');
40
35
 
41
36
  var _templateObject;
@@ -1385,25 +1380,415 @@ var mapDispatchToProps = {
1385
1380
  setDefaultQuery: setDefaultQuery,
1386
1381
  recordSuggestionClick: recordSuggestionClick
1387
1382
  };
1388
- var DSConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchToProps)(SearchBox), {
1383
+ var SBConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchToProps)(SearchBox), {
1389
1384
  componentType: constants.componentTypes.searchBox,
1390
1385
  internalComponent: true
1391
- });
1386
+ }));
1392
1387
 
1393
1388
  SearchBox.install = function (Vue) {
1394
- Vue.component(SearchBox.name, DSConnected);
1389
+ Vue.component(SearchBox.name, SBConnected);
1395
1390
  }; // Add componentType for SSR
1396
1391
 
1397
1392
 
1398
1393
  SearchBox.componentType = constants.componentTypes.searchBox;
1399
1394
 
1400
- var components = [ReactiveList.default, ResultCard.default, ResultList.default, ReactiveBase.default, DataSearch.DataSearch, SearchBox, SingleList.default, MultiList.default, SingleRange.default, MultiRange.default, RangeSlider.default, DynamicRangeSlider.default, ReactiveComponent.default, SelectedFilters.default, ToggleButton.default, SingleDropdownList.default, MultiDropdownList.default, StateProvider.default, RangeInput.default];
1401
- function install (Vue) {
1402
- components.map(function (component) {
1403
- Vue.use(component);
1404
- return null;
1405
- });
1406
- }
1395
+ var _excluded = ["options"];
1396
+ var updateQuery$1 = configureStore.Actions.updateQuery,
1397
+ setQueryOptions = configureStore.Actions.setQueryOptions,
1398
+ setCustomQuery$1 = configureStore.Actions.setCustomQuery,
1399
+ setDefaultQuery$1 = configureStore.Actions.setDefaultQuery;
1400
+ var parseHits = configureStore.helper.parseHits,
1401
+ isEqual$1 = configureStore.helper.isEqual,
1402
+ getCompositeAggsQuery$1 = configureStore.helper.getCompositeAggsQuery,
1403
+ getResultStats$1 = configureStore.helper.getResultStats,
1404
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
1405
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
1406
+ var ReactiveComponent = {
1407
+ name: 'ReactiveComponent',
1408
+ props: {
1409
+ componentId: vueTypes.types.stringRequired,
1410
+ aggregationField: vueTypes.types.string,
1411
+ aggregationSize: VueTypes.number,
1412
+ size: VueTypes.number,
1413
+ defaultQuery: vueTypes.types.func,
1414
+ customQuery: vueTypes.types.func,
1415
+ filterLabel: vueTypes.types.string,
1416
+ react: vueTypes.types.react,
1417
+ showFilter: VueTypes.bool.def(true),
1418
+ URLParams: VueTypes.bool.def(false),
1419
+ distinctField: vueTypes.types.string,
1420
+ distinctFieldConfig: vueTypes.types.props,
1421
+ index: VueTypes.string,
1422
+ endpoint: vueTypes.types.endpointConfig
1423
+ },
1424
+ created: function created() {
1425
+ var _this = this;
1426
+
1427
+ var props = this.$props;
1428
+ this.internalComponent = null;
1429
+ this.$defaultQuery = null; // Set custom query in store
1430
+
1431
+ index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
1432
+ var customQuery = props.customQuery,
1433
+ componentId = props.componentId,
1434
+ filterLabel = props.filterLabel,
1435
+ showFilter = props.showFilter,
1436
+ URLParams = props.URLParams,
1437
+ distinctField = props.distinctField,
1438
+ distinctFieldConfig = props.distinctFieldConfig,
1439
+ index$1 = props.index;
1440
+
1441
+ if (this.enableAppbase && this.aggregationField && this.aggregationField !== '') {
1442
+ console.warn('Warning(ReactiveSearch): The `aggregationField` prop has been marked as deprecated, please use the `distinctField` prop instead.');
1443
+ }
1444
+
1445
+ if (!this.enableAppbase && (distinctField || distinctFieldConfig)) {
1446
+ console.warn('Warning(ReactiveSearch): In order to use the `distinctField` and `distinctFieldConfig` props, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
1447
+ }
1448
+
1449
+ if (!this.enableAppbase && index$1) {
1450
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
1451
+ }
1452
+
1453
+ if (customQuery) {
1454
+ var calcCustomQuery = customQuery(this.selectedValue, props);
1455
+ var query = extractQueryFromCustomQuery(calcCustomQuery);
1456
+ var customQueryOptions = calcCustomQuery ? getOptionsForCustomQuery(calcCustomQuery) : null;
1457
+
1458
+ if (customQueryOptions) {
1459
+ this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, customQueryOptions, this.getAggsQuery()), false);
1460
+ } else this.setQueryOptions(componentId, this.getAggsQuery(), false);
1461
+
1462
+ this.updateQuery({
1463
+ componentId: componentId,
1464
+ query: query,
1465
+ value: this.selectedValue || null,
1466
+ label: filterLabel,
1467
+ showFilter: showFilter,
1468
+ URLParams: URLParams
1469
+ });
1470
+ }
1471
+
1472
+ this.setQuery = function (_ref) {
1473
+ var options = _ref.options,
1474
+ obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
1475
+
1476
+ var queryToBeSet = obj.query; // when enableAppbase is true, Backend throws error because of repeated query in request body
1477
+
1478
+ if (queryToBeSet && queryToBeSet.query) {
1479
+ queryToBeSet = queryToBeSet.query;
1480
+ }
1481
+
1482
+ var customQueryCalc = _rollupPluginBabelHelpers._extends({}, options, {
1483
+ query: queryToBeSet
1484
+ });
1485
+
1486
+ var rsAPIQuery = customQueryCalc; // handle stored queries
1487
+
1488
+ if (queryToBeSet && queryToBeSet.id) {
1489
+ rsAPIQuery = queryToBeSet;
1490
+ } // Update customQuery field for RS API
1491
+
1492
+
1493
+ _this.setCustomQuery(props.componentId, rsAPIQuery);
1494
+
1495
+ if (options) {
1496
+ _this.setQueryOptions(props.componentId, _rollupPluginBabelHelpers._extends({}, _this.getAggsQuery(), options), false);
1497
+ }
1498
+
1499
+ _this.updateQuery(_rollupPluginBabelHelpers._extends({}, obj, {
1500
+ query: customQueryCalc.query,
1501
+ componentId: props.componentId,
1502
+ label: props.filterLabel,
1503
+ showFilter: props.showFilter,
1504
+ URLParams: props.URLParams
1505
+ }));
1506
+ };
1507
+
1508
+ if (props.defaultQuery) {
1509
+ this.internalComponent = props.componentId + "__internal";
1510
+ }
1511
+
1512
+ if (this.internalComponent && this.$props.defaultQuery) {
1513
+ index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
1514
+ this.$defaultQuery = this.$props.defaultQuery(this.selectedValue, this.$props);
1515
+
1516
+ var _query = extractQueryFromCustomQuery(this.$defaultQuery);
1517
+
1518
+ var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
1519
+
1520
+ if (queryOptions) {
1521
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
1522
+ } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
1523
+
1524
+ this.updateQuery({
1525
+ componentId: this.internalComponent,
1526
+ query: _query
1527
+ });
1528
+ }
1529
+ },
1530
+ watch: {
1531
+ hits: function hits(newVal, oldVal) {
1532
+ if (!isEqual$1(newVal, oldVal)) {
1533
+ this.$emit('data', this.getData());
1534
+ }
1535
+ },
1536
+ rawData: function rawData(newVal, oldVal) {
1537
+ if (!isEqual$1(newVal, oldVal)) {
1538
+ this.$emit('data', this.getData());
1539
+ }
1540
+ },
1541
+ aggregations: function aggregations(newVal, oldVal) {
1542
+ if (!isEqual$1(newVal, oldVal)) {
1543
+ this.$emit('data', this.getData());
1544
+ }
1545
+ },
1546
+ aggregationData: function aggregationData(newVal, oldVal) {
1547
+ if (!isEqual$1(newVal, oldVal)) {
1548
+ this.$emit('data', this.getData());
1549
+ }
1550
+ },
1551
+ promotedResults: function promotedResults(newVal, oldVal) {
1552
+ if (!isEqual$1(newVal, oldVal)) {
1553
+ this.$emit('data', this.getData());
1554
+ }
1555
+ },
1556
+ hidden: function hidden(newVal, oldVal) {
1557
+ if (!isEqual$1(newVal, oldVal)) {
1558
+ this.$emit('data', this.getData());
1559
+ }
1560
+ },
1561
+ total: function total(newVal, oldVal) {
1562
+ if (!isEqual$1(newVal, oldVal)) {
1563
+ this.$emit('data', this.getData());
1564
+ }
1565
+ },
1566
+ time: function time(newVal, oldVal) {
1567
+ if (!isEqual$1(newVal, oldVal)) {
1568
+ this.$emit('data', this.getData());
1569
+ }
1570
+ },
1571
+ defaultQuery: function defaultQuery(newVal, oldVal) {
1572
+ if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
1573
+ this.$defaultQuery = newVal(this.selectedValue, this.$props);
1574
+ var query = extractQueryFromCustomQuery(this.$defaultQuery);
1575
+ var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
1576
+
1577
+ if (queryOptions) {
1578
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
1579
+ } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false); // Update default query for RS API
1580
+
1581
+
1582
+ index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
1583
+ this.updateQuery({
1584
+ componentId: this.internalComponent,
1585
+ query: query
1586
+ });
1587
+ }
1588
+ },
1589
+ customQuery: function customQuery(newVal, oldVal) {
1590
+ if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
1591
+ var componentId = this.$props.componentId;
1592
+ this.$customQuery = newVal(this.selectedValue, this.$props);
1593
+ var query = extractQueryFromCustomQuery(this.$customQuery);
1594
+ var queryOptions = getOptionsForCustomQuery(this.$customQuery);
1595
+
1596
+ if (queryOptions) {
1597
+ this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
1598
+ } else this.setQueryOptions(componentId, this.getAggsQuery(), false); // Update custom query for RS API
1599
+
1600
+
1601
+ index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
1602
+ this.updateQuery({
1603
+ componentId: componentId,
1604
+ query: query
1605
+ });
1606
+ }
1607
+ }
1608
+ },
1609
+ render: function render() {
1610
+ var h = arguments[0];
1611
+
1612
+ try {
1613
+ var dom = this.$scopedSlots["default"];
1614
+ var error = this.error,
1615
+ isLoading = this.isLoading,
1616
+ selectedValue = this.selectedValue;
1617
+
1618
+ var propsToBePassed = _rollupPluginBabelHelpers._extends({
1619
+ error: error,
1620
+ loading: isLoading
1621
+ }, this.getData(), {
1622
+ value: selectedValue,
1623
+ setQuery: this.setQuery
1624
+ });
1625
+
1626
+ return h("div", [dom(propsToBePassed)]);
1627
+ } catch (e) {
1628
+ return null;
1629
+ }
1630
+ },
1631
+ methods: {
1632
+ getAggsQuery: function getAggsQuery() {
1633
+ if (this.aggregationField) {
1634
+ return {
1635
+ aggs: getCompositeAggsQuery$1({
1636
+ props: this.$props,
1637
+ showTopHits: true,
1638
+ value: this.selectedValue
1639
+ }).aggs
1640
+ };
1641
+ }
1642
+
1643
+ return {};
1644
+ },
1645
+ getData: function getData() {
1646
+ var hits = this.hits,
1647
+ aggregations = this.aggregations,
1648
+ aggregationData = this.aggregationData,
1649
+ promotedResults = this.promotedResults,
1650
+ rawData = this.rawData;
1651
+ var filteredResults = parseHits(hits);
1652
+
1653
+ if (promotedResults.length) {
1654
+ var ids = promotedResults.map(function (item) {
1655
+ return item._id;
1656
+ }).filter(Boolean);
1657
+
1658
+ if (ids) {
1659
+ filteredResults = filteredResults.filter(function (item) {
1660
+ return !ids.includes(item._id);
1661
+ });
1662
+ }
1663
+
1664
+ filteredResults = [].concat(promotedResults, filteredResults);
1665
+ }
1666
+
1667
+ return {
1668
+ data: filteredResults,
1669
+ aggregationData: aggregationData,
1670
+ rawData: rawData,
1671
+ aggregations: aggregations,
1672
+ promotedData: promotedResults,
1673
+ resultStats: this.stats
1674
+ };
1675
+ }
1676
+ },
1677
+ computed: {
1678
+ stats: function stats() {
1679
+ return getResultStats$1(this);
1680
+ }
1681
+ }
1682
+ };
1683
+
1684
+ ReactiveComponent.hasInternalComponent = function (props) {
1685
+ return !!props.defaultQuery;
1686
+ };
1687
+
1688
+ var mapStateToProps$1 = function mapStateToProps(state, props) {
1689
+ return {
1690
+ aggregations: state.aggregations[props.componentId] && state.aggregations[props.componentId] || null,
1691
+ aggregationData: state.compositeAggregations[props.componentId] || [],
1692
+ hits: state.hits[props.componentId] && state.hits[props.componentId].hits || [],
1693
+ rawData: state.rawData[props.componentId],
1694
+ error: state.error[props.componentId],
1695
+ isLoading: state.isLoading[props.componentId],
1696
+ selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
1697
+ promotedResults: state.promotedResults[props.componentId] || [],
1698
+ time: state.hits[props.componentId] && state.hits[props.componentId].time || 0,
1699
+ total: state.hits[props.componentId] && state.hits[props.componentId].total,
1700
+ hidden: state.hits[props.componentId] && state.hits[props.componentId].hidden,
1701
+ componentProps: state.props[props.componentId],
1702
+ enableAppbase: state.config.enableAppbase
1703
+ };
1704
+ };
1705
+
1706
+ var mapDispatchtoProps = {
1707
+ setQueryOptions: setQueryOptions,
1708
+ updateQuery: updateQuery$1,
1709
+ setCustomQuery: setCustomQuery$1,
1710
+ setDefaultQuery: setDefaultQuery$1
1711
+ };
1712
+ var ConnectedComponent = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps$1, mapDispatchtoProps)(ReactiveComponent), {
1713
+ componentType: constants.componentTypes.reactiveComponent
1714
+ });
1715
+ var RcConnected = PreferencesConsumer.PreferencesConsumer({
1716
+ name: 'RcConnected',
1717
+ render: function render(h) {
1718
+ var component = ConnectedComponent;
1719
+
1720
+ switch (this.$attrs.componentType) {
1721
+ case constants.componentTypes.reactiveList:
1722
+ component = ReactiveList.RLConnected;
1723
+ break;
1724
+
1725
+ case constants.componentTypes.dataSearch:
1726
+ component = DataSearch.DSConnected;
1727
+ break;
1728
+
1729
+ case constants.componentTypes.searchBox:
1730
+ component = SBConnected;
1731
+ break;
1732
+ // list components
1733
+
1734
+ case constants.componentTypes.singleList:
1735
+ component = SingleList.ListConnected;
1736
+ break;
1737
+
1738
+ case constants.componentTypes.multiList:
1739
+ component = MultiList.ListConnected;
1740
+ break;
1741
+
1742
+ case constants.componentTypes.singleDropdownList:
1743
+ component = SingleDropdownList.ListConnected;
1744
+ break;
1745
+
1746
+ case constants.componentTypes.multiDropdownList:
1747
+ component = MultiDropdownList.ListConnected;
1748
+ break;
1749
+ // basic components
1750
+
1751
+ case constants.componentTypes.toggleButton:
1752
+ component = ToggleButton.ListConnected;
1753
+ break;
1754
+ // range components
1755
+
1756
+ case constants.componentTypes.dynamicRangeSlider:
1757
+ component = DynamicRangeSlider.RangeConnected;
1758
+ break;
1759
+
1760
+ case constants.componentTypes.singleRange:
1761
+ component = SingleRange.RangeConnected;
1762
+ break;
1763
+
1764
+ case constants.componentTypes.multiRange:
1765
+ component = MultiRange.RangeConnected;
1766
+ break;
1767
+
1768
+ case constants.componentTypes.rangeSlider:
1769
+ component = RangeSlider.RangeConnected;
1770
+ break;
1771
+
1772
+ case constants.componentTypes.rangeInput:
1773
+ component = RangeInput.RangeConnected;
1774
+ break;
1775
+ }
1776
+
1777
+ return h(component, {
1778
+ attrs: this.$attrs,
1779
+ on: this.$listeners,
1780
+ scopedSlots: this.$scopedSlots,
1781
+ slots: this.$slots
1782
+ });
1783
+ }
1784
+ });
1785
+
1786
+ ReactiveComponent.install = function (Vue) {
1787
+ Vue.component(ReactiveComponent.name, RcConnected);
1788
+ }; // Add componentType for SSR
1789
+
1790
+
1791
+ ReactiveComponent.componentType = constants.componentTypes.reactiveComponent;
1407
1792
 
1793
+ exports.ReactiveComponent = ReactiveComponent;
1408
1794
  exports.SearchBox = SearchBox;
1409
- exports.install = install;