@appbaseio/reactivesearch-vue 1.33.0 → 1.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@appbaseio/reactivesearch-vue.umd.js +1916 -6072
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +3 -5
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/{Button-0673191e.js → Button-841fd06d.js} +1 -7
- package/dist/cjs/{CancelSvg-9f258f4f.js → CancelSvg-220a7cc3.js} +24 -58
- package/dist/cjs/{Card-642547a8.js → Card-240f283d.js} +2 -2
- package/dist/cjs/{ComponentWrapper-981ab977.js → ComponentWrapper-9318cece.js} +21 -41
- package/dist/cjs/{Container-daf30918.js → Container-e699ea95.js} +1 -1
- package/dist/cjs/{DataSearch-708b183d.js → DataSearch-99a6a2e8.js} +121 -293
- package/dist/cjs/DataSearch.js +11 -11
- package/dist/cjs/{DropDown-c479bbb0.js → DropDown-8984b544.js} +27 -48
- package/dist/cjs/DynamicRangeSlider.js +44 -93
- package/dist/cjs/{Flex-aa517a13.js → Flex-ddd7cb6b.js} +1 -3
- package/dist/cjs/{FormControlList-c195a592.js → FormControlList-bbb5cd24.js} +1 -3
- package/dist/cjs/{Input-e6603a7e.js → Input-ead4cd84.js} +14 -16
- package/dist/cjs/{ListItem-8c9e0d68.js → ListItem-5088bd6a.js} +2 -3
- package/dist/cjs/MultiDropdownList.js +41 -102
- package/dist/cjs/MultiList.js +35 -98
- package/dist/cjs/MultiRange.js +20 -52
- package/dist/cjs/{Pagination-3d73e1b3.js → Pagination-07f4dbad.js} +10 -30
- package/dist/cjs/{PreferencesConsumer-7be03476.js → PreferencesConsumer-5d67b486.js} +13 -16
- package/dist/cjs/RangeInput.js +36 -52
- package/dist/cjs/RangeSlider.js +24 -48
- package/dist/cjs/ReactiveBase.js +34 -79
- package/dist/cjs/{ReactiveComponent-5ff98cce.js → ReactiveComponent-805201c6.js} +118 -301
- package/dist/cjs/ReactiveComponent.js +20 -20
- package/dist/cjs/ReactiveGoogleMap.js +167 -353
- package/dist/cjs/ReactiveList.js +88 -176
- package/dist/cjs/ResultCard.js +10 -18
- package/dist/cjs/ResultList.js +13 -24
- package/dist/cjs/SelectedFilters.js +16 -34
- package/dist/cjs/SingleDropdownList.js +35 -75
- package/dist/cjs/SingleList.js +29 -75
- package/dist/cjs/SingleRange.js +17 -40
- package/dist/cjs/StateProvider.js +6 -26
- package/dist/cjs/{Title-1de7d0f4.js → Title-16042ea0.js} +1 -1
- package/dist/cjs/ToggleButton.js +20 -58
- package/dist/cjs/{_rollupPluginBabelHelpers-c705cbe6.js → _rollupPluginBabelHelpers-f8b843f8.js} +0 -15
- package/dist/cjs/{index-08f8dfa3.js → index-30126fd0.js} +39 -75
- package/dist/cjs/index.js +20 -21
- package/dist/cjs/initReactivesearch.js +49 -120
- package/dist/cjs/install.js +20 -20
- package/dist/cjs/{ssr-3027b848.js → ssr-f2fc1bf6.js} +1 -4
- package/dist/cjs/{utils-d6a52588.js → utils-83fd01e9.js} +7 -16
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/{vueTypes-727b7c63.js → vueTypes-7cfc2f98.js} +6 -11
- package/dist/es/{Button-35aa984e.js → Button-153cd885.js} +1 -7
- package/dist/es/{CancelSvg-4cfae5fd.js → CancelSvg-e40552a5.js} +24 -58
- package/dist/es/{Card-450683f1.js → Card-19ad6d90.js} +2 -2
- package/dist/es/{ComponentWrapper-d5e814a4.js → ComponentWrapper-240450cc.js} +21 -41
- package/dist/es/{Container-ba826e96.js → Container-d00219f7.js} +1 -1
- package/dist/es/{DataSearch-5376d39a.js → DataSearch-20f0d8f1.js} +121 -293
- package/dist/es/DataSearch.js +11 -11
- package/dist/es/{DropDown-05a644a5.js → DropDown-28ddce07.js} +27 -48
- package/dist/es/DynamicRangeSlider.js +44 -93
- package/dist/es/{Flex-1f0795c3.js → Flex-7c177a10.js} +1 -3
- package/dist/es/{FormControlList-c22d64f6.js → FormControlList-99797d0a.js} +1 -3
- package/dist/es/{Input-7a2a9fac.js → Input-c09c0b56.js} +14 -16
- package/dist/es/{ListItem-cad14c5e.js → ListItem-07888a65.js} +2 -3
- package/dist/es/MultiDropdownList.js +41 -102
- package/dist/es/MultiList.js +35 -98
- package/dist/es/MultiRange.js +20 -52
- package/dist/es/{Pagination-af9de08f.js → Pagination-28e56c5c.js} +10 -30
- package/dist/es/{PreferencesConsumer-c30605fe.js → PreferencesConsumer-bc097ebb.js} +13 -16
- package/dist/es/RangeInput.js +36 -52
- package/dist/es/RangeSlider.js +24 -48
- package/dist/es/ReactiveBase.js +34 -79
- package/dist/es/{ReactiveComponent-ee01562d.js → ReactiveComponent-dd85aa9c.js} +118 -301
- package/dist/es/ReactiveComponent.js +20 -20
- package/dist/es/ReactiveGoogleMap.js +167 -353
- package/dist/es/ReactiveList.js +88 -176
- package/dist/es/ResultCard.js +10 -18
- package/dist/es/ResultList.js +13 -24
- package/dist/es/SelectedFilters.js +16 -34
- package/dist/es/SingleDropdownList.js +35 -75
- package/dist/es/SingleList.js +29 -75
- package/dist/es/SingleRange.js +17 -40
- package/dist/es/StateProvider.js +6 -26
- package/dist/es/{Title-3342664a.js → Title-863dfa42.js} +1 -1
- package/dist/es/ToggleButton.js +20 -58
- package/dist/es/{_rollupPluginBabelHelpers-76660dab.js → _rollupPluginBabelHelpers-ded08042.js} +0 -15
- package/dist/es/{index-99c5f9c9.js → index-0444a498.js} +39 -75
- package/dist/es/index.js +20 -21
- package/dist/es/initReactivesearch.js +49 -120
- package/dist/es/install.js +20 -20
- package/dist/es/{ssr-b2c0b401.js → ssr-03607d84.js} +1 -4
- package/dist/es/{utils-9e68acee.js → utils-9e5a16a1.js} +7 -16
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-b8146772.js → vueTypes-8986b709.js} +6 -11
- package/package.json +1 -1
package/dist/cjs/DataSearch.js
CHANGED
|
@@ -4,26 +4,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
require('@appbaseio/reactivecore');
|
|
6
6
|
require('@appbaseio/reactivecore/lib/utils/constants');
|
|
7
|
-
require('./_rollupPluginBabelHelpers-
|
|
7
|
+
require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
8
8
|
require('vue-types');
|
|
9
9
|
require('@appbaseio/reactivecore/lib/utils/helper');
|
|
10
10
|
require('emotion');
|
|
11
11
|
require('@appbaseio/vue-emotion');
|
|
12
12
|
require('polished');
|
|
13
|
-
require('./vueTypes-
|
|
13
|
+
require('./vueTypes-7cfc2f98.js');
|
|
14
14
|
require('@appbaseio/reactivecore/lib/utils/transform');
|
|
15
15
|
require('redux');
|
|
16
|
-
require('./index-
|
|
17
|
-
require('./ComponentWrapper-
|
|
18
|
-
require('./PreferencesConsumer-
|
|
19
|
-
require('./Title-
|
|
20
|
-
require('./Flex-
|
|
16
|
+
require('./index-30126fd0.js');
|
|
17
|
+
require('./ComponentWrapper-9318cece.js');
|
|
18
|
+
require('./PreferencesConsumer-5d67b486.js');
|
|
19
|
+
require('./Title-16042ea0.js');
|
|
20
|
+
require('./Flex-ddd7cb6b.js');
|
|
21
21
|
require('hotkeys-js');
|
|
22
|
-
var DataSearch = require('./DataSearch-
|
|
23
|
-
require('./CancelSvg-
|
|
24
|
-
require('./Input-
|
|
22
|
+
var DataSearch = require('./DataSearch-99a6a2e8.js');
|
|
23
|
+
require('./CancelSvg-220a7cc3.js');
|
|
24
|
+
require('./Input-ead4cd84.js');
|
|
25
25
|
require('compute-scroll-into-view');
|
|
26
|
-
require('./Container-
|
|
26
|
+
require('./Container-e699ea95.js');
|
|
27
27
|
require('vue-highlight-words');
|
|
28
28
|
|
|
29
29
|
|
|
@@ -4,26 +4,24 @@ 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 _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
7
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
8
8
|
var VueTypes = _interopDefault(require('vue-types'));
|
|
9
9
|
var emotion = require('emotion');
|
|
10
10
|
var styled = require('@appbaseio/vue-emotion');
|
|
11
11
|
var styled__default = _interopDefault(styled);
|
|
12
|
-
var vueTypes = require('./vueTypes-
|
|
13
|
-
var index = require('./index-
|
|
12
|
+
var vueTypes = require('./vueTypes-7cfc2f98.js');
|
|
13
|
+
var index = require('./index-30126fd0.js');
|
|
14
14
|
var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
|
|
15
|
-
var CancelSvg = require('./CancelSvg-
|
|
16
|
-
var Input = require('./Input-
|
|
15
|
+
var CancelSvg = require('./CancelSvg-220a7cc3.js');
|
|
16
|
+
var Input = require('./Input-ead4cd84.js');
|
|
17
17
|
var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
|
|
18
18
|
|
|
19
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
20
20
|
var small = emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmin-height: 0;\n\theight: 30px;\n\tborder: 0;\n\tbox-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px;\n\tborder-radius: 2px;\n"])));
|
|
21
|
-
|
|
22
21
|
var dark = function dark(_ref) {
|
|
23
22
|
var theme = _ref.theme;
|
|
24
23
|
return emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tbackground-color: ", ";\n\tborder-color: ", ";\n\tcolor: ", ";\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: ", ";\n\t}\n"])), theme.colors.backgroundColor, theme.colors.borderColor, theme.colors.textColor, theme.colors.backgroundColor);
|
|
25
24
|
};
|
|
26
|
-
|
|
27
25
|
var Select = styled__default('button')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmin-height: 42px;\n\tborder-radius: 0;\n\toutline: none;\n\tpadding: 5px 12px;\n\tfont-size: 0.9rem;\n\tline-height: 1.2rem;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n\tcolor: #424242;\n\tcursor: pointer;\n\tuser-select: none;\n\ttransition: all 0.3s ease;\n\n\t", ";\n\n\t& > div {\n\t\twidth: calc(100% - 24px);\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\ttext-align: left;\n\t}\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: #fcfcfc;\n\t}\n\n\t", ";\n"])), function (props) {
|
|
28
26
|
return props.small ? small : null;
|
|
29
27
|
}, function (_ref2) {
|
|
@@ -82,36 +80,31 @@ var Dropdown = {
|
|
|
82
80
|
},
|
|
83
81
|
render: function render() {
|
|
84
82
|
var _this = this;
|
|
85
|
-
|
|
86
83
|
var h = arguments[0];
|
|
87
84
|
var _this$$props = this.$props,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
85
|
+
items = _this$$props.items,
|
|
86
|
+
selectedItem = _this$$props.selectedItem,
|
|
87
|
+
placeholder = _this$$props.placeholder,
|
|
88
|
+
labelField = _this$$props.labelField,
|
|
89
|
+
keyField = _this$$props.keyField,
|
|
90
|
+
themePreset = _this$$props.themePreset,
|
|
91
|
+
renderItem = _this$$props.renderItem,
|
|
92
|
+
transformData = _this$$props.transformData,
|
|
93
|
+
footer = _this$$props.footer,
|
|
94
|
+
customLabelRenderer = _this$$props.customLabelRenderer,
|
|
95
|
+
hasCustomRenderer = _this$$props.hasCustomRenderer,
|
|
96
|
+
customRenderer = _this$$props.customRenderer;
|
|
100
97
|
var itemsToRender = items;
|
|
101
|
-
|
|
102
98
|
if (transformData) {
|
|
103
99
|
itemsToRender = transformData(itemsToRender);
|
|
104
100
|
}
|
|
105
|
-
|
|
106
101
|
var filteredItemsToRender = itemsToRender.filter(function (item) {
|
|
107
102
|
if (String(item[labelField]).length) {
|
|
108
103
|
if (_this.$props.showSearch && _this.$data.searchTerm) {
|
|
109
104
|
return suggestions.replaceDiacritics(String(item[labelField])).toLowerCase().includes(suggestions.replaceDiacritics(_this.$data.searchTerm.toLowerCase()));
|
|
110
105
|
}
|
|
111
|
-
|
|
112
106
|
return true;
|
|
113
107
|
}
|
|
114
|
-
|
|
115
108
|
return false;
|
|
116
109
|
});
|
|
117
110
|
return h(CancelSvg.Downshift, {
|
|
@@ -124,11 +117,11 @@ var Dropdown = {
|
|
|
124
117
|
"scopedSlots": {
|
|
125
118
|
"default": function _default(_ref) {
|
|
126
119
|
var getItemProps = _ref.getItemProps,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
120
|
+
isOpen = _ref.isOpen,
|
|
121
|
+
highlightedIndex = _ref.highlightedIndex,
|
|
122
|
+
getButtonProps = _ref.getButtonProps,
|
|
123
|
+
getItemEvents = _ref.getItemEvents,
|
|
124
|
+
getInputEvents = _ref.getInputEvents;
|
|
132
125
|
return h("div", {
|
|
133
126
|
"class": Input.suggestionsContainer
|
|
134
127
|
}, [h(Select, {
|
|
@@ -209,7 +202,6 @@ var Dropdown = {
|
|
|
209
202
|
} else {
|
|
210
203
|
this.$props.handleChange(item[this.$props.keyField]);
|
|
211
204
|
}
|
|
212
|
-
|
|
213
205
|
if (!this.$props.multi) {
|
|
214
206
|
this.isOpen = false;
|
|
215
207
|
this.searchTerm = '';
|
|
@@ -221,15 +213,12 @@ var Dropdown = {
|
|
|
221
213
|
},
|
|
222
214
|
getBackgroundColor: function getBackgroundColor(highlighted, selected) {
|
|
223
215
|
var isDark = this.$props.themePreset === 'dark';
|
|
224
|
-
|
|
225
216
|
if (highlighted) {
|
|
226
217
|
return isDark ? '#555' : '#eee';
|
|
227
218
|
}
|
|
228
|
-
|
|
229
219
|
if (selected) {
|
|
230
220
|
return isDark ? '#686868' : '#fafafa';
|
|
231
221
|
}
|
|
232
|
-
|
|
233
222
|
return isDark ? '#424242' : '#fff';
|
|
234
223
|
},
|
|
235
224
|
handleInputChange: function handleInputChange(e) {
|
|
@@ -241,36 +230,28 @@ var Dropdown = {
|
|
|
241
230
|
},
|
|
242
231
|
renderToString: function renderToString(value) {
|
|
243
232
|
var _this2 = this;
|
|
244
|
-
|
|
245
233
|
var customLabelRenderer = this.$props.customLabelRenderer;
|
|
246
|
-
|
|
247
234
|
if (customLabelRenderer) {
|
|
248
235
|
var customLabel = customLabelRenderer(value);
|
|
249
|
-
|
|
250
236
|
if (typeof customLabel === 'string') {
|
|
251
237
|
return customLabel;
|
|
252
238
|
}
|
|
253
239
|
}
|
|
254
|
-
|
|
255
240
|
if (Array.isArray(value) && value.length) {
|
|
256
241
|
var arrayToRender = value.map(function (item) {
|
|
257
242
|
return _this2.renderToString(item);
|
|
258
243
|
});
|
|
259
244
|
return arrayToRender.join(', ');
|
|
260
245
|
}
|
|
261
|
-
|
|
262
246
|
if (value && typeof value === 'object') {
|
|
263
247
|
if (value[this.$props.labelField]) {
|
|
264
248
|
return value[this.$props.labelField];
|
|
265
249
|
}
|
|
266
|
-
|
|
267
250
|
if (Object.keys(value).length) {
|
|
268
251
|
return this.renderToString(Object.keys(value));
|
|
269
252
|
}
|
|
270
|
-
|
|
271
253
|
return this.$props.placeholder;
|
|
272
254
|
}
|
|
273
|
-
|
|
274
255
|
return value;
|
|
275
256
|
},
|
|
276
257
|
renderNoResult: function renderNoResult() {
|
|
@@ -283,11 +264,11 @@ var Dropdown = {
|
|
|
283
264
|
renderSearchbox: function renderSearchbox(eventObject) {
|
|
284
265
|
var h = this.$createElement;
|
|
285
266
|
var _this$$props2 = this.$props,
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
267
|
+
componentId = _this$$props2.componentId,
|
|
268
|
+
searchPlaceholder = _this$$props2.searchPlaceholder,
|
|
269
|
+
showClear = _this$$props2.showClear,
|
|
270
|
+
themePreset = _this$$props2.themePreset,
|
|
271
|
+
innerClass = _this$$props2.innerClass;
|
|
291
272
|
var InputComponent = h(Input.Input, _mergeJSXProps([{
|
|
292
273
|
"attrs": {
|
|
293
274
|
"id": componentId + "-input",
|
|
@@ -303,7 +284,6 @@ var Dropdown = {
|
|
|
303
284
|
},
|
|
304
285
|
"class": getClassName(innerClass, 'input')
|
|
305
286
|
}, eventObject]));
|
|
306
|
-
|
|
307
287
|
if (showClear) {
|
|
308
288
|
return h(CancelSvg.InputWrapper, [InputComponent, this.searchTerm && h(CancelSvg.IconGroup, {
|
|
309
289
|
"attrs": {
|
|
@@ -319,7 +299,6 @@ var Dropdown = {
|
|
|
319
299
|
}
|
|
320
300
|
}, [h(CancelSvg.CancelSvg)])])]);
|
|
321
301
|
}
|
|
322
|
-
|
|
323
302
|
return InputComponent;
|
|
324
303
|
}
|
|
325
304
|
}
|
|
@@ -7,33 +7,33 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
7
7
|
var configureStore = require('@appbaseio/reactivecore');
|
|
8
8
|
var configureStore__default = _interopDefault(configureStore);
|
|
9
9
|
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
10
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
10
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
11
11
|
var VueTypes = _interopDefault(require('vue-types'));
|
|
12
12
|
require('@appbaseio/vue-emotion');
|
|
13
|
-
var vueTypes = require('./vueTypes-
|
|
13
|
+
var vueTypes = require('./vueTypes-7cfc2f98.js');
|
|
14
14
|
require('redux');
|
|
15
|
-
var index = require('./index-
|
|
16
|
-
var PreferencesConsumer = require('./PreferencesConsumer-
|
|
17
|
-
var Title = require('./Title-
|
|
18
|
-
var Container = require('./Container-
|
|
15
|
+
var index = require('./index-30126fd0.js');
|
|
16
|
+
var PreferencesConsumer = require('./PreferencesConsumer-5d67b486.js');
|
|
17
|
+
var Title = require('./Title-16042ea0.js');
|
|
18
|
+
var Container = require('./Container-e699ea95.js');
|
|
19
19
|
var NoSSR = _interopDefault(require('vue-no-ssr'));
|
|
20
|
-
var ssr = require('./ssr-
|
|
20
|
+
var ssr = require('./ssr-f2fc1bf6.js');
|
|
21
21
|
|
|
22
22
|
var addComponent = configureStore.Actions.addComponent,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
removeComponent = configureStore.Actions.removeComponent,
|
|
24
|
+
watchComponent = configureStore.Actions.watchComponent,
|
|
25
|
+
updateQuery = configureStore.Actions.updateQuery,
|
|
26
|
+
setQueryListener = configureStore.Actions.setQueryListener,
|
|
27
|
+
setQueryOptions = configureStore.Actions.setQueryOptions,
|
|
28
|
+
setComponentProps = configureStore.Actions.setComponentProps,
|
|
29
|
+
setCustomQuery = configureStore.Actions.setCustomQuery,
|
|
30
|
+
updateComponentProps = configureStore.Actions.updateComponentProps;
|
|
31
31
|
var checkValueChange = configureStore.helper.checkValueChange,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
getClassName = configureStore.helper.getClassName,
|
|
33
|
+
isEqual = configureStore.helper.isEqual,
|
|
34
|
+
checkSomePropChange = configureStore.helper.checkSomePropChange,
|
|
35
|
+
extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
|
|
36
|
+
getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
|
|
37
37
|
var DynamicRangeSlider = {
|
|
38
38
|
name: 'DynamicRangeSlider',
|
|
39
39
|
components: ssr.getComponents(),
|
|
@@ -69,27 +69,21 @@ var DynamicRangeSlider = {
|
|
|
69
69
|
},
|
|
70
70
|
created: function created() {
|
|
71
71
|
var _this = this;
|
|
72
|
-
|
|
73
72
|
var onQueryChange = function onQueryChange() {
|
|
74
73
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
75
74
|
args[_key] = arguments[_key];
|
|
76
75
|
}
|
|
77
|
-
|
|
78
76
|
_this.$emit.apply(_this, ['queryChange'].concat(args));
|
|
79
|
-
|
|
80
77
|
_this.$emit.apply(_this, ['query-change'].concat(args));
|
|
81
78
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
this.setQueryListener(this.$props.componentId, onQueryChange, null);
|
|
80
|
+
// Update props in store
|
|
85
81
|
this.setComponentProps(this.componentId, this.$props, constants.componentTypes.dynamicRangeSlider);
|
|
86
82
|
this.setComponentProps(this.internalRangeComponent, this.$props, constants.componentTypes.dynamicRangeSlider);
|
|
87
|
-
|
|
88
83
|
if (!this.enableAppbase && this.$props.index) {
|
|
89
84
|
console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
}
|
|
86
|
+
// Set custom query in store
|
|
93
87
|
index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
|
|
94
88
|
},
|
|
95
89
|
mounted: function mounted() {
|
|
@@ -97,28 +91,23 @@ var DynamicRangeSlider = {
|
|
|
97
91
|
},
|
|
98
92
|
beforeMount: function beforeMount() {
|
|
99
93
|
var components = [];
|
|
100
|
-
|
|
101
94
|
if (this.$$store) {
|
|
102
95
|
var _this$$$store$getStat = this.$$store.getState();
|
|
103
|
-
|
|
104
96
|
components = _this$$$store$getStat.components;
|
|
105
97
|
}
|
|
106
|
-
|
|
107
98
|
var value = this.$props.value;
|
|
108
|
-
|
|
109
99
|
if (this.destroyOnUnmount || components.indexOf(this.componentId) === -1) {
|
|
110
100
|
this.addComponent(this.componentId);
|
|
111
101
|
this.addComponent(this.internalRangeComponent);
|
|
112
|
-
|
|
113
102
|
if (Array.isArray(this.selectedValue)) {
|
|
114
103
|
this.handleChange(this.selectedValue);
|
|
115
104
|
} else if (this.selectedValue) {
|
|
116
105
|
this.handleChange(DynamicRangeSlider.parseValue(this.selectedValue, this.$props));
|
|
117
106
|
} else if (value) {
|
|
118
107
|
this.handleChange(DynamicRangeSlider.parseValue(value, this.$props));
|
|
119
|
-
}
|
|
120
|
-
|
|
108
|
+
}
|
|
121
109
|
|
|
110
|
+
// get range before executing other queries
|
|
122
111
|
this.updateRangeQueryOptions();
|
|
123
112
|
}
|
|
124
113
|
},
|
|
@@ -138,18 +127,15 @@ var DynamicRangeSlider = {
|
|
|
138
127
|
if (this.$props.value && this.$listeners) {
|
|
139
128
|
return true;
|
|
140
129
|
}
|
|
141
|
-
|
|
142
130
|
return false;
|
|
143
131
|
},
|
|
144
132
|
setDefaultValue: function setDefaultValue(_ref) {
|
|
145
133
|
var start = _ref.start,
|
|
146
|
-
|
|
147
|
-
|
|
134
|
+
end = _ref.end;
|
|
148
135
|
if (this.$props.defaultValue) {
|
|
149
136
|
var _this$$props$defaultV = this.$props.defaultValue(start, end),
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
137
|
+
defaultStart = _this$$props$defaultV.start,
|
|
138
|
+
defaultEnd = _this$$props$defaultV.end;
|
|
153
139
|
this.handleChange([defaultStart, defaultEnd]);
|
|
154
140
|
} else if (this.isControlled()) {
|
|
155
141
|
this.handleChange(DynamicRangeSlider.parseValue(this.$props.value), 'change');
|
|
@@ -182,10 +168,8 @@ var DynamicRangeSlider = {
|
|
|
182
168
|
},
|
|
183
169
|
updateRangeQueryOptions: function updateRangeQueryOptions() {
|
|
184
170
|
var aggs = {};
|
|
185
|
-
|
|
186
171
|
if (this.$props.nestedField) {
|
|
187
172
|
var _aggs;
|
|
188
|
-
|
|
189
173
|
aggs = (_aggs = {}, _aggs[this.$props.nestedField] = {
|
|
190
174
|
nested: {
|
|
191
175
|
path: this.$props.nestedField
|
|
@@ -195,7 +179,6 @@ var DynamicRangeSlider = {
|
|
|
195
179
|
} else {
|
|
196
180
|
aggs = this.rangeQuery();
|
|
197
181
|
}
|
|
198
|
-
|
|
199
182
|
this.setQueryOptions(this.internalRangeComponent, {
|
|
200
183
|
aggs: aggs
|
|
201
184
|
});
|
|
@@ -203,7 +186,6 @@ var DynamicRangeSlider = {
|
|
|
203
186
|
handleSlider: function handleSlider() {
|
|
204
187
|
var sliderValues = this.$refs.slider.getValue();
|
|
205
188
|
var value = this.$props.value;
|
|
206
|
-
|
|
207
189
|
if (value === undefined) {
|
|
208
190
|
this.handleChange(sliderValues);
|
|
209
191
|
} else {
|
|
@@ -215,26 +197,20 @@ var DynamicRangeSlider = {
|
|
|
215
197
|
},
|
|
216
198
|
handleChange: function handleChange(currentValue) {
|
|
217
199
|
var _this2 = this;
|
|
218
|
-
|
|
219
200
|
// Always keep the values within range
|
|
220
201
|
var normalizedValue = [this.range ? Math.max(this.range.start, currentValue[0]) : currentValue[0], this.range ? Math.min(this.range.end, currentValue[1]) : currentValue[1]];
|
|
221
|
-
|
|
222
202
|
var performUpdate = function performUpdate() {
|
|
223
203
|
_this2.currentValue = normalizedValue;
|
|
224
|
-
|
|
225
204
|
_this2.updateQueryHandler(normalizedValue, _this2.$props);
|
|
226
|
-
|
|
227
205
|
_this2.$emit('valueChange', {
|
|
228
206
|
start: normalizedValue[0],
|
|
229
207
|
end: normalizedValue[1]
|
|
230
208
|
});
|
|
231
|
-
|
|
232
209
|
_this2.$emit('value-change', {
|
|
233
210
|
start: normalizedValue[0],
|
|
234
211
|
end: normalizedValue[1]
|
|
235
212
|
});
|
|
236
213
|
};
|
|
237
|
-
|
|
238
214
|
checkValueChange(this.$props.componentId, {
|
|
239
215
|
start: normalizedValue[0],
|
|
240
216
|
end: normalizedValue[1]
|
|
@@ -242,30 +218,25 @@ var DynamicRangeSlider = {
|
|
|
242
218
|
},
|
|
243
219
|
updateQueryHandler: function updateQueryHandler(value) {
|
|
244
220
|
var query = DynamicRangeSlider.defaultQuery(value, this.$props);
|
|
245
|
-
|
|
246
221
|
if (this.$props.customQuery) {
|
|
247
222
|
var customQueryTobeSet = this.$props.customQuery(value, this.$props);
|
|
248
223
|
var queryTobeSet = extractQueryFromCustomQuery(customQueryTobeSet);
|
|
249
|
-
|
|
250
224
|
if (queryTobeSet) {
|
|
251
225
|
query = queryTobeSet;
|
|
252
226
|
}
|
|
253
|
-
|
|
254
227
|
var customQueryOptions = getOptionsForCustomQuery(customQueryTobeSet);
|
|
255
228
|
index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, value);
|
|
256
229
|
this.setQueryOptions(this.$props.componentId, customQueryOptions, false);
|
|
257
230
|
}
|
|
258
|
-
|
|
259
231
|
var _ref2 = this.range || {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
232
|
+
start: value[0],
|
|
233
|
+
end: value[1]
|
|
234
|
+
},
|
|
235
|
+
start = _ref2.start,
|
|
236
|
+
end = _ref2.end;
|
|
266
237
|
var currentStart = value[0],
|
|
267
|
-
|
|
268
|
-
|
|
238
|
+
currentEnd = value[1];
|
|
239
|
+
// check if the slider is at its initial position
|
|
269
240
|
var isInitialValue = currentStart === start && currentEnd === end;
|
|
270
241
|
this.updateQuery({
|
|
271
242
|
componentId: this.$props.componentId,
|
|
@@ -289,11 +260,9 @@ var DynamicRangeSlider = {
|
|
|
289
260
|
deep: true,
|
|
290
261
|
handler: function handler(newVal) {
|
|
291
262
|
var _this3 = this;
|
|
292
|
-
|
|
293
263
|
var propsKeys = index.getValidPropsKeys(newVal);
|
|
294
264
|
checkSomePropChange(newVal, this.componentProps, propsKeys, function () {
|
|
295
265
|
_this3.updateComponentProps(_this3.componentId, newVal, constants.componentTypes.dynamicRangeSlider);
|
|
296
|
-
|
|
297
266
|
_this3.updateComponentProps(_this3.internalRangeComponent, newVal, constants.componentTypes.dynamicRangeSlider);
|
|
298
267
|
});
|
|
299
268
|
}
|
|
@@ -312,15 +281,12 @@ var DynamicRangeSlider = {
|
|
|
312
281
|
},
|
|
313
282
|
range: function range(newValue, oldValue) {
|
|
314
283
|
if (isEqual(newValue, oldValue) || !this.currentValue) return;
|
|
315
|
-
|
|
316
284
|
var _ref3 = this.currentValue || [],
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
285
|
+
currentStart = _ref3[0],
|
|
286
|
+
currentEnd = _ref3[1];
|
|
320
287
|
var _ref4 = oldValue || {},
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
288
|
+
oldStart = _ref4.start,
|
|
289
|
+
oldEnd = _ref4.end;
|
|
324
290
|
var newStart = currentStart === oldStart ? newValue.start : currentStart;
|
|
325
291
|
var newEnd = currentEnd === oldEnd ? newValue.end : currentEnd;
|
|
326
292
|
this.handleChange([newStart, newEnd]);
|
|
@@ -338,14 +304,12 @@ var DynamicRangeSlider = {
|
|
|
338
304
|
},
|
|
339
305
|
render: function render() {
|
|
340
306
|
var h = arguments[0];
|
|
341
|
-
|
|
342
307
|
if (!this.range || !this.currentValue) {
|
|
343
308
|
return null;
|
|
344
309
|
}
|
|
345
|
-
|
|
346
310
|
var _this$range = this.range,
|
|
347
|
-
|
|
348
|
-
|
|
311
|
+
start = _this$range.start,
|
|
312
|
+
end = _this$range.end;
|
|
349
313
|
return h(Container.Container, {
|
|
350
314
|
"class": this.$props.className
|
|
351
315
|
}, [this.$props.title && h(Title.Title, {
|
|
@@ -376,13 +340,10 @@ var DynamicRangeSlider = {
|
|
|
376
340
|
}, [this.labels.end])]) : null])])]);
|
|
377
341
|
}
|
|
378
342
|
};
|
|
379
|
-
|
|
380
343
|
DynamicRangeSlider.defaultQuery = function (values, props) {
|
|
381
344
|
var query = null;
|
|
382
|
-
|
|
383
345
|
if (Array.isArray(values) && values.length) {
|
|
384
346
|
var _range;
|
|
385
|
-
|
|
386
347
|
query = {
|
|
387
348
|
range: (_range = {}, _range[props.dataField] = {
|
|
388
349
|
gte: values[0],
|
|
@@ -391,7 +352,6 @@ DynamicRangeSlider.defaultQuery = function (values, props) {
|
|
|
391
352
|
}, _range)
|
|
392
353
|
};
|
|
393
354
|
}
|
|
394
|
-
|
|
395
355
|
if (query && props.nestedField) {
|
|
396
356
|
return {
|
|
397
357
|
query: {
|
|
@@ -402,28 +362,22 @@ DynamicRangeSlider.defaultQuery = function (values, props) {
|
|
|
402
362
|
}
|
|
403
363
|
};
|
|
404
364
|
}
|
|
405
|
-
|
|
406
365
|
return query;
|
|
407
366
|
};
|
|
408
|
-
|
|
409
367
|
DynamicRangeSlider.parseValue = function (value) {
|
|
410
368
|
if (value) {
|
|
411
369
|
return Array.isArray(value) ? value : [value.start, value.end];
|
|
412
370
|
}
|
|
413
|
-
|
|
414
371
|
return [];
|
|
415
372
|
};
|
|
416
|
-
|
|
417
373
|
DynamicRangeSlider.hasInternalComponent = function () {
|
|
418
374
|
return true;
|
|
419
375
|
};
|
|
420
|
-
|
|
421
376
|
var mapStateToProps = function mapStateToProps(state, props) {
|
|
422
377
|
var componentId = state.aggregations[props.componentId];
|
|
423
378
|
var internalRange = state.aggregations[props.componentId + "__range__internal"];
|
|
424
379
|
var options = componentId && componentId[props.dataField];
|
|
425
380
|
var range = state.aggregations[props.componentId + "__range__internal"];
|
|
426
|
-
|
|
427
381
|
if (props.nestedField) {
|
|
428
382
|
options = options && componentId[props.dataField][props.nestedField] && componentId[props.dataField][props.nestedField].buckets ? componentId[props.dataField][props.nestedField].buckets : [];
|
|
429
383
|
range = range && internalRange[props.nestedField].min ? {
|
|
@@ -437,7 +391,6 @@ var mapStateToProps = function mapStateToProps(state, props) {
|
|
|
437
391
|
end: internalRange.max.value
|
|
438
392
|
} : null;
|
|
439
393
|
}
|
|
440
|
-
|
|
441
394
|
return {
|
|
442
395
|
options: options,
|
|
443
396
|
range: range,
|
|
@@ -446,7 +399,6 @@ var mapStateToProps = function mapStateToProps(state, props) {
|
|
|
446
399
|
enableAppbase: state.config.enableAppbase
|
|
447
400
|
};
|
|
448
401
|
};
|
|
449
|
-
|
|
450
402
|
var mapDispatchtoProps = {
|
|
451
403
|
addComponent: addComponent,
|
|
452
404
|
removeComponent: removeComponent,
|
|
@@ -459,12 +411,11 @@ var mapDispatchtoProps = {
|
|
|
459
411
|
updateComponentProps: updateComponentProps
|
|
460
412
|
};
|
|
461
413
|
var RangeConnected = PreferencesConsumer.PreferencesConsumer(index.connect(mapStateToProps, mapDispatchtoProps)(DynamicRangeSlider));
|
|
462
|
-
|
|
463
414
|
DynamicRangeSlider.install = function (Vue) {
|
|
464
415
|
Vue.component(DynamicRangeSlider.name, RangeConnected);
|
|
465
|
-
};
|
|
466
|
-
|
|
416
|
+
};
|
|
467
417
|
|
|
418
|
+
// Add componentType for SSR
|
|
468
419
|
DynamicRangeSlider.componentType = constants.componentTypes.dynamicRangeSlider;
|
|
469
420
|
|
|
470
421
|
exports.RangeConnected = RangeConnected;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
4
4
|
|
|
5
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
5
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
6
6
|
var emotion = require('emotion');
|
|
7
7
|
var styled = require('@appbaseio/vue-emotion');
|
|
8
8
|
var styled__default = _interopDefault(styled);
|
|
@@ -13,12 +13,10 @@ var leftLabel = emotion.css(_templateObject || (_templateObject = _rollupPluginB
|
|
|
13
13
|
var rightLabel = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tflex-direction: row-reverse;\n\talign-items: center;\n"])));
|
|
14
14
|
var topLabel = emotion.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tflex-direction: column;\n"])));
|
|
15
15
|
var bottomLabel = emotion.css(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tflex-direction: column-reverse;\n"])));
|
|
16
|
-
|
|
17
16
|
var border = function border(_ref) {
|
|
18
17
|
var colors = _ref.theme.colors;
|
|
19
18
|
return emotion.css(_templateObject5 || (_templateObject5 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder: 1px solid ", ";\n"])), colors.borderColor || '#ccc');
|
|
20
19
|
};
|
|
21
|
-
|
|
22
20
|
var Flex = styled__default('div')(_templateObject6 || (_templateObject6 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: ", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\tsvg.cancel-icon {\n\t\tcursor: pointer;\n\t\tfill: ", ";\n\t\tflex-basis: 30px;\n\n\t\t&:hover {\n\t\t\tfill: ", ";\n\t\t}\n\t}\n"])), function (props) {
|
|
23
21
|
return props.inline ? 'inline-flex' : 'flex';
|
|
24
22
|
}, function (props) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
4
4
|
|
|
5
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
5
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
6
6
|
var emotion = require('emotion');
|
|
7
7
|
var styled = require('@appbaseio/vue-emotion');
|
|
8
8
|
var styled__default = _interopDefault(styled);
|
|
@@ -16,12 +16,10 @@ var item = {
|
|
|
16
16
|
};
|
|
17
17
|
var vh = emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder: 0;\n\tclip: rect(1px, 1px, 1px, 1px);\n\tclip-path: inset(50%);\n\theight: 1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n\twhite-space: nowrap;\n"])));
|
|
18
18
|
var hideInputControl = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t+ label {\n\t\tpadding-left: 0;\n\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder: 0;\n\t\t\tmargin: 0;\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t&:checked {\n\t\t+ label {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n"])));
|
|
19
|
-
|
|
20
19
|
var formItem = function formItem(_ref) {
|
|
21
20
|
var theme = _ref.theme;
|
|
22
21
|
return emotion.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\n\t&:focus {\n\t\t+ label {\n\t\t\t&::before {\n\t\t\t\tbox-shadow: 0 0 0 2px ", ";\n\t\t\t}\n\t\t}\n\t}\n\n\t&:hover {\n\t\t+ label {\n\t\t\t&::before {\n\t\t\t\tborder-color: ", ";\n\t\t\t}\n\t\t}\n\t}\n\n\t&:active {\n\t\t+ label {\n\t\t\t&::before {\n\t\t\t\ttransition-duration: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t+ label {\n\t\tposition: relative;\n\t\tuser-select: none;\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\talign-items: center;\n\t\tcursor: pointer;\n\n\t\t&::before {\n\t\t\tbackground-color: #fff;\n\t\t\tborder: 1px solid ", ";\n\t\t\tbox-sizing: content-box;\n\t\t\tcontent: '';\n\t\t\tcolor: ", ";\n\t\t\tmargin-right: calc(", " * 0.5);\n\t\t\ttop: 50%;\n\t\t\tleft: 0;\n\t\t\twidth: ", ";\n\t\t\theight: ", ";\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: middle;\n\t\t}\n\n\t\t&::after {\n\t\t\tbox-sizing: content-box;\n\t\t\tcontent: '';\n\t\t\tbackground-color: ", ";\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: calc(1px + ", " / 2);\n\t\t\twidth: calc(", " - ", ");\n\t\t\theight: calc(", " - ", ");\n\t\t\tmargin-top: calc(", " / -2 - ", " / -2);\n\t\t\ttransform: scale(0);\n\t\t\ttransform-origin: 50%;\n\t\t\ttransition: transform 200ms ease-out;\n\t\t}\n\t}\n"])), vh, polished.lighten(0.4, theme.colors.primaryColor), theme.colors.primaryColor, theme.colors.borderColor || polished.lighten(0.1, theme.colors.textColor), theme.colors.primaryColor, item.width, item.width, item.height, theme.colors.primaryColor, item.scale, item.width, item.scale, item.height, item.scale, item.height, item.scale);
|
|
23
22
|
};
|
|
24
|
-
|
|
25
23
|
var Radio = styled__default('input')(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\t", ";\n\n\t+ label {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n\n\t&:checked {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t+ label {\n\t\t\t\tcolor: ", ";\n\n\t\t\t\t&::before {\n\t\t\t\t\tanimation: none;\n\t\t\t\t\tfilter: none;\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t+ label {\n\t\t\t&::before {\n\t\t\t\tanimation: none;\n\t\t\t\tbackground-color: #fff;\n\t\t\t\tborder-color: ", ";\n\t\t}\n\n\t\t&::after {\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n"])), formItem, function (props) {
|
|
26
24
|
return props.show ? null : hideInputControl;
|
|
27
25
|
}, function (_ref2) {
|