@appbaseio/reactivesearch-vue 3.0.0-rc.2 → 3.0.0-rc.4
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 +36340 -38897
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +32 -32
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/{ComponentWrapper-0b9ffb1a.js → ComponentWrapper-9146d811.js} +0 -3
- package/dist/cjs/{DropDown-3797bb6a.js → DropDown-b16418e9.js} +1 -1
- package/dist/cjs/DynamicRangeSlider.js +1 -1
- package/dist/cjs/MultiDropdownList.js +3 -3
- package/dist/cjs/MultiList.js +2 -2
- package/dist/cjs/MultiRange.js +2 -2
- package/dist/cjs/{Pagination-b1a053a7.js → Pagination-b953a80a.js} +1 -1
- package/dist/cjs/RangeInput.js +2 -2
- package/dist/cjs/RangeSlider.js +2 -2
- package/dist/cjs/ReactiveBase.js +4 -4
- package/dist/cjs/ReactiveComponent.js +2 -2
- package/dist/cjs/ReactiveGoogleMap.js +4 -4
- package/dist/cjs/ReactiveList.js +3 -3
- package/dist/cjs/ResultCard.js +1 -1
- package/dist/cjs/ResultList.js +1 -1
- package/dist/cjs/SelectedFilters.js +1 -1
- package/dist/cjs/SingleDropdownList.js +3 -3
- package/dist/cjs/SingleList.js +2 -2
- package/dist/cjs/SingleRange.js +2 -2
- package/dist/cjs/ToggleButton.js +2 -2
- package/dist/cjs/index.js +6 -9
- package/dist/cjs/{install-581d2e18.js → install-7cdf6798.js} +16 -586
- package/dist/cjs/install.js +5 -7
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/{vueTypes-d05e44cc.js → vueTypes-1bf00978.js} +0 -8
- package/dist/es/{ComponentWrapper-a2635cfc.js → ComponentWrapper-8a3c388d.js} +0 -3
- package/dist/es/{DropDown-ff8e06b4.js → DropDown-fc1fef02.js} +1 -1
- package/dist/es/DynamicRangeSlider.js +1 -1
- package/dist/es/MultiDropdownList.js +3 -3
- package/dist/es/MultiList.js +2 -2
- package/dist/es/MultiRange.js +2 -2
- package/dist/es/{Pagination-aecb3914.js → Pagination-c2745bec.js} +1 -1
- package/dist/es/RangeInput.js +2 -2
- package/dist/es/RangeSlider.js +2 -2
- package/dist/es/ReactiveBase.js +4 -4
- package/dist/es/ReactiveComponent.js +2 -2
- package/dist/es/ReactiveGoogleMap.js +4 -4
- package/dist/es/ReactiveList.js +3 -3
- package/dist/es/ResultCard.js +1 -1
- package/dist/es/ResultList.js +1 -1
- package/dist/es/SelectedFilters.js +1 -1
- package/dist/es/SingleDropdownList.js +3 -3
- package/dist/es/SingleList.js +2 -2
- package/dist/es/SingleRange.js +2 -2
- package/dist/es/ToggleButton.js +2 -2
- package/dist/es/index.js +7 -9
- package/dist/es/{install-3c029475.js → install-0c7962bc.js} +20 -589
- package/dist/es/install.js +5 -7
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-d64f04f8.js → vueTypes-f1923c72.js} +0 -8
- package/package.json +3 -4
|
@@ -11,25 +11,22 @@ var VueTypes = _interopDefault(require('vue-types'));
|
|
|
11
11
|
var helper = require('@appbaseio/reactivecore/lib/utils/helper');
|
|
12
12
|
var vueEmotion = require('@appbaseio/vue-emotion');
|
|
13
13
|
var css = require('@emotion/css');
|
|
14
|
-
var polished = require('polished');
|
|
15
14
|
var Button = require('./Button-d4da7470.js');
|
|
16
|
-
var vueTypes = require('./vueTypes-
|
|
15
|
+
var vueTypes = require('./vueTypes-1bf00978.js');
|
|
17
16
|
var ReactiveList = require('./ReactiveList.js');
|
|
18
17
|
var transform = require('@appbaseio/reactivecore/lib/utils/transform');
|
|
19
18
|
var index = require('./index-779ed366.js');
|
|
20
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
19
|
+
var ComponentWrapper = require('./ComponentWrapper-9146d811.js');
|
|
21
20
|
var PreferencesConsumer = require('./PreferencesConsumer-85dee673.js');
|
|
22
21
|
var Title = require('./Title-8802a218.js');
|
|
23
22
|
var ListItem = require('./ListItem-7a682970.js');
|
|
24
23
|
var Flex = require('./Flex-ddde6d26.js');
|
|
25
24
|
var ReactiveBase = require('./ReactiveBase.js');
|
|
26
25
|
var hotkeys = _interopDefault(require('hotkeys-js'));
|
|
27
|
-
var DropDown = require('./DropDown-
|
|
26
|
+
var DropDown = require('./DropDown-b16418e9.js');
|
|
28
27
|
var Input = require('./Input-497be42a.js');
|
|
29
28
|
var Container = require('./Container-29f049b2.js');
|
|
30
29
|
var Highlight = _interopDefault(require('vue-highlight-words'));
|
|
31
|
-
var query = require('@appbaseio/reactivecore/lib/actions/query');
|
|
32
|
-
var remarkable = require('remarkable');
|
|
33
30
|
var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
|
|
34
31
|
var FormControlList = require('./FormControlList-fadd792f.js');
|
|
35
32
|
var utils = require('./utils-c9bd5628.js');
|
|
@@ -1230,8 +1227,8 @@ var SearchBox = vue.defineComponent({
|
|
|
1230
1227
|
this.recordSuggestionClick(searchPosition, docId);
|
|
1231
1228
|
},
|
|
1232
1229
|
clearValue: function clearValue() {
|
|
1233
|
-
this.setValue('', false, this.$props,
|
|
1234
|
-
this.onValueSelectedHandler('',
|
|
1230
|
+
this.setValue('', false, this.$props, reactivecore.causes.CLEAR_VALUE, false);
|
|
1231
|
+
this.onValueSelectedHandler('', reactivecore.causes.CLEAR_VALUE);
|
|
1235
1232
|
},
|
|
1236
1233
|
handleKeyDown: function handleKeyDown(event, highlightedIndex) {
|
|
1237
1234
|
if (highlightedIndex === void 0) {
|
|
@@ -1261,7 +1258,7 @@ var SearchBox = vue.defineComponent({
|
|
|
1261
1258
|
}
|
|
1262
1259
|
var value = this.$props.value;
|
|
1263
1260
|
if (value === undefined) {
|
|
1264
|
-
this.setValue(inputValue, false, this.$props, undefined);
|
|
1261
|
+
this.setValue(inputValue, false, this.$props, inputValue === '' ? reactivecore.causes.CLEAR_VALUE : undefined);
|
|
1265
1262
|
} else {
|
|
1266
1263
|
this.$emit('change', inputValue, function (_ref3) {
|
|
1267
1264
|
var isOpen = _ref3.isOpen;
|
|
@@ -1869,575 +1866,9 @@ SBConnected.install = function (Vue) {
|
|
|
1869
1866
|
// Add componentType for SSR
|
|
1870
1867
|
SBConnected.componentType = constants.componentTypes.searchBox;
|
|
1871
1868
|
|
|
1872
|
-
var _templateObject$8, _templateObject2$1
|
|
1873
|
-
var
|
|
1874
|
-
|
|
1875
|
-
});
|
|
1876
|
-
var ChatContainer = vueEmotion.styled('div')(_templateObject2$1 || (_templateObject2$1 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tposition: relative;\n\t.--ai-answer-error-container {\n\t\ttext-align: center;\n\t\tposition: absolute;\n\t\tbottom: 0px;\n\t\t", ";\n\t\tz-index: 1;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t\twidth: 100%;\n\n\t\t.--default-error-element {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tpadding: 10px;\n\t\t\tbackground-color: ", ";\n\t\t\tbox-shadow: 0 -5px 5px -2px\n\t\t\t\t", ";\n\n\t\t\tspan {\n\t\t\t\tmargin-bottom: 5px;\n\t\t\t}\n\n\t\t\tbutton {\n\t\t\t}\n\t\t}\n\t}\n"])), function (props) {
|
|
1877
|
-
return props.showInput ? 'bottom: 48px;' : '';
|
|
1878
|
-
}, function (props) {
|
|
1879
|
-
return props.theme && props.theme.colors && props.theme.colors.backgroundColor ? props.theme.colors.backgroundColor : '#fff';
|
|
1880
|
-
}, function (props) {
|
|
1881
|
-
return props.theme && props.theme.colors && props.theme.colors.backgroundColor ? props.theme.colors.backgroundColor : '#fff';
|
|
1882
|
-
});
|
|
1883
|
-
var MessagesContainer = vueEmotion.styled('div')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmax-height: 400px;\n overflow-y: auto;\n\tpadding: 10px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 200px;\n\n}};\n"])));
|
|
1884
|
-
var typingDots = css.keyframes(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n 0% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-70%);\n }\n 100% {\n transform: translateY(0);\n }\n"])));
|
|
1885
|
-
var TypingIndicator = vueEmotion.styled('div')(_templateObject5 || (_templateObject5 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin: 5px !important;\n"])));
|
|
1886
|
-
var TypingDot = vueEmotion.styled('div')(_templateObject6 || (_templateObject6 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 6px;\n\theight: 6px;\n\tbackground-color: ", ";\n\tborder-radius: 50%;\n\tmargin: 0 2px !important;\n\tanimation: ", " 1s infinite;\n\t&:nth-child(2) {\n\t\tanimation-delay: 0.2s;\n\t}\n\t&:nth-child(3) {\n\t\tanimation-delay: 0.4s;\n\t}\n"])), function (props) {
|
|
1887
|
-
var finalColor;
|
|
1888
|
-
if (props.isSender) {
|
|
1889
|
-
finalColor = props.themePreset !== 'dark' ? props.theme.colors.primaryTextColor : props.theme.colors.textColor;
|
|
1890
|
-
} else {
|
|
1891
|
-
finalColor = props.themePreset !== 'dark' ? props.theme.colors.primaryTextColor : props.theme.colors.textColor;
|
|
1892
|
-
}
|
|
1893
|
-
return finalColor;
|
|
1894
|
-
}, typingDots);
|
|
1895
|
-
var resetCSS = function resetCSS(props) {
|
|
1896
|
-
return "\n\thtml,\n\tbody,\n\tdiv,\n\tspan,\n\tapplet,\n\tobject,\n\tiframe,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6,\n\tp,\n\tblockquote,\n\tpre,\n\ta,\n\tabbr,\n\tacronym,\n\taddress,\n\tbig,\n\tcite,\n\tcode,\n\tdel,\n\tdfn,\n\tem,\n\timg,\n\tins,\n\tkbd,\n\tq,\n\ts,\n\tsamp,\n\tsmall,\n\tstrike,\n\tstrong,\n\tsub,\n\tsup,\n\ttt,\n\tvar,\n\tb,\n\tu,\n\ti,\n\tcenter,\n\tdl,\n\tdt,\n\tdd,\n\tol,\n\tul,\n\tli,\n\tfieldset,\n\tform,\n\tlabel,\n\tlegend,\n\ttable,\n\tcaption,\n\ttbody,\n\ttfoot,\n\tthead,\n\ttr,\n\tth,\n\ttd,\n\tarticle,\n\taside,\n\tcanvas,\n\tdetails,\n\tembed,\n\tfigure,\n\tfigcaption,\n\tfooter,\n\theader,\n\thgroup,\n\tmenu,\n\tnav,\n\toutput,\n\truby,\n\tsection,\n\tsummary,\n\ttime,\n\tmark,\n\taudio,\n\tvideo {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: 0;\n\t\tfont-size: 100%;\n\t\tfont: inherit;\n\t\tvertical-align: baseline;\n\t\toverflow-wrap: anywhere;\n\t}\n\tpre {\n\t\tmargin: 10px auto;\n\t}\n\ttable {\n\t\tmargin: 10px auto;\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\t}\n\ttr {\n\t\tborder-bottom: 1px solid #ccc;\n\t}\n\tth,\n\ttd {\n\t\ttext-align: left;\n\t\tpadding: 4px;\n\t\tborder: 1px solid;\n\t\tborder-collapse: collapse;\n\t}\n\tpre,\n\tcode {\n\t\tpadding: 0.6em 0.4em;\n\t\tbackground: " + (
|
|
1897
|
-
// eslint-disable-next-line no-nested-ternary
|
|
1898
|
-
props.isSender ? props.themePreset !== 'dark' ? props.theme.colors.primaryColor : props.theme.colors.borderColor : props.theme.colors.borderColor) + ";\n\t}\n\n\tcode {\n\t\tline-height: normal;\n\n\t\tcolor: " + function (colorProps) {
|
|
1899
|
-
return (
|
|
1900
|
-
// eslint-disable-next-line no-nested-ternary
|
|
1901
|
-
colorProps.isSender ? colorProps.themePreset !== 'dark' ? colorProps.theme.colors.primaryTextColor : colorProps.theme.colors.textColor : colorProps.theme.colors.primaryTextColor
|
|
1902
|
-
);
|
|
1903
|
-
} + ";\n\t\tborder-radius: 3px;\n\t\tfont-size: 85%;\n\t\tpadding: 0.2em 0.4em;\n\t\tmargin: 5px 0;\n\t\tdisplay: inline-block;\n\t\toverflow: auto;\n\t\twidth: 100%;\n\t}\n\tul,\n\tol {\n\t\tlist-style-position: inside;\n\t}\n";
|
|
1904
|
-
};
|
|
1905
|
-
var messageBGColor = function messageBGColor(props) {
|
|
1906
|
-
var finalBGColor;
|
|
1907
|
-
if (props.isSender) {
|
|
1908
|
-
finalBGColor = props.themePreset !== 'dark' ? props.theme.colors.primaryColor : props.theme.colors.borderColor;
|
|
1909
|
-
} else {
|
|
1910
|
-
finalBGColor = props.themePreset !== 'dark' ? polished.lighten(0.25, props.theme.colors.borderColor) : props.theme.colors.backgroundColor;
|
|
1911
|
-
}
|
|
1912
|
-
return finalBGColor;
|
|
1913
|
-
};
|
|
1914
|
-
var Message = vueEmotion.styled('div')(_templateObject7 || (_templateObject7 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tbackground-color: ", ";\n\tcolor: ", ";\n\tborder: 1px solid\n\t\t", ";\n\tpadding: 10px;\n\tborder-radius: 7px;\n\tmargin-bottom: 10px;\n\tmax-width: 80%;\n\talign-self: ", ";\n\tdisplay: inline-block;\n\tposition: relative;\n\toverflow-wrap: anywhere;\n\t", "\n"])), function (props) {
|
|
1915
|
-
return messageBGColor(props);
|
|
1916
|
-
}, function (props) {
|
|
1917
|
-
var finalColor;
|
|
1918
|
-
if (props.isSender) {
|
|
1919
|
-
finalColor = props.themePreset !== 'dark' ? props.theme.colors.primaryTextColor : props.theme.colors.textColor;
|
|
1920
|
-
} else {
|
|
1921
|
-
finalColor = props.themePreset !== 'dark' ? props.theme.colors.primaryTextColor : props.theme.colors.textColor;
|
|
1922
|
-
}
|
|
1923
|
-
return finalColor;
|
|
1924
|
-
}, function (props) {
|
|
1925
|
-
return props.themePreset === 'dark' ? 'currentColor' : messageBGColor(props);
|
|
1926
|
-
}, function (props) {
|
|
1927
|
-
return props.isSender ? 'flex-end' : 'flex-start';
|
|
1928
|
-
}, function (props) {
|
|
1929
|
-
return resetCSS(props);
|
|
1930
|
-
});
|
|
1931
|
-
var MessageInputContainer = vueEmotion.styled('form')(_templateObject8 || (_templateObject8 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tpadding-top: 12px;\n\talign-items: stretch;\n\tmargin-top: 10px;\n"])));
|
|
1932
|
-
var MessageInput = vueEmotion.styled(Input.Input)(_templateObject9 || (_templateObject9 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\tborder-radius: 5px;\n\tborder: 1px solid #ccc;\n\tbackground-color: ", ";\n\tcolor: ", ";\n\n\t::placeholder {\n\t\tcolor: ", ";\n\t}\n\n\t:-ms-input-placeholder {\n\t\tcolor: ", ";\n\t}\n\n\t::-ms-input-placeholder {\n\t\tcolor: ", ";\n\t}\n"])), function (props) {
|
|
1933
|
-
return props.themePreset === 'dark' ? props.theme.colors.borderColor : '#fff';
|
|
1934
|
-
}, function (props) {
|
|
1935
|
-
return props.themePreset === 'dark' ? props.theme.colors.titleColor : props.theme.colors.textColor;
|
|
1936
|
-
}, function (props) {
|
|
1937
|
-
return props.theme.colors.textColor;
|
|
1938
|
-
}, function (props) {
|
|
1939
|
-
return props.theme.colors.textColor;
|
|
1940
|
-
}, function (props) {
|
|
1941
|
-
return props.theme.colors.textColor;
|
|
1942
|
-
});
|
|
1943
|
-
var SendButton = vueEmotion.styled(Button.Button)(_templateObject10 || (_templateObject10 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder: none;\n\tcolor: #ffffff;\n\tcursor: pointer;\n\tfont-size: 16px;\n\tmargin-left: 8px;\n\toutline: none;\n\tpadding: 10px;\n\ttext-align: center;\n"])));
|
|
1944
|
-
|
|
1945
|
-
function _isSlot$1(s) {
|
|
1946
|
-
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
1947
|
-
}
|
|
1948
|
-
var md = new remarkable.Remarkable();
|
|
1949
|
-
md.set({
|
|
1950
|
-
html: true,
|
|
1951
|
-
breaks: true,
|
|
1952
|
-
xhtmlOut: true
|
|
1953
|
-
});
|
|
1954
|
-
var AIAnswer = vue.defineComponent({
|
|
1955
|
-
name: 'AIAnswer',
|
|
1956
|
-
data: function data() {
|
|
1957
|
-
var props = this.$props;
|
|
1958
|
-
this.__state = {
|
|
1959
|
-
messages: [],
|
|
1960
|
-
inputMessage: '',
|
|
1961
|
-
AISessionId: '',
|
|
1962
|
-
error: null
|
|
1963
|
-
};
|
|
1964
|
-
this.internalComponent = props.componentId + "__internal";
|
|
1965
|
-
return this.__state;
|
|
1966
|
-
},
|
|
1967
|
-
inject: {
|
|
1968
|
-
theme: {
|
|
1969
|
-
from: 'theme_reactivesearch'
|
|
1970
|
-
}
|
|
1971
|
-
},
|
|
1972
|
-
created: function created() {},
|
|
1973
|
-
computed: {
|
|
1974
|
-
hasCustomRenderer: function hasCustomRenderer() {
|
|
1975
|
-
return index.hasCustomRenderer(this);
|
|
1976
|
-
},
|
|
1977
|
-
isLoadingState: function isLoadingState() {
|
|
1978
|
-
return this.isAIResponseLoading || this.isLoading;
|
|
1979
|
-
},
|
|
1980
|
-
shouldShowComponent: function shouldShowComponent() {
|
|
1981
|
-
return this.showComponent;
|
|
1982
|
-
}
|
|
1983
|
-
},
|
|
1984
|
-
props: {
|
|
1985
|
-
componentId: vueTypes.types.string.isRequired,
|
|
1986
|
-
showVoiceInput: VueTypes.bool.def(false),
|
|
1987
|
-
showIcon: VueTypes.bool.def(true),
|
|
1988
|
-
onData: vueTypes.types.func,
|
|
1989
|
-
innerRef: VueTypes.string.def('AISearchInputField'),
|
|
1990
|
-
react: vueTypes.types.react,
|
|
1991
|
-
enableAI: VueTypes.bool.def(true),
|
|
1992
|
-
AIConfig: vueTypes.types.AIConfig,
|
|
1993
|
-
iconPosition: vueTypes.types.iconPosition.def('left'),
|
|
1994
|
-
themePreset: vueTypes.types.themePreset,
|
|
1995
|
-
theme: vueTypes.types.style,
|
|
1996
|
-
icon: vueTypes.types.children,
|
|
1997
|
-
iconURL: VueTypes.string.def(''),
|
|
1998
|
-
renderMic: vueTypes.types.func,
|
|
1999
|
-
getMicInstance: vueTypes.types.func,
|
|
2000
|
-
innerClass: vueTypes.types.style,
|
|
2001
|
-
placeholder: VueTypes.string.def('Ask a question'),
|
|
2002
|
-
title: vueTypes.types.title,
|
|
2003
|
-
AIResponse: vueTypes.types.componentObject,
|
|
2004
|
-
isAIResponseLoading: VueTypes.bool.def(false),
|
|
2005
|
-
AIResponseError: vueTypes.types.componentObject,
|
|
2006
|
-
getAIResponse: vueTypes.types.func.isRequired,
|
|
2007
|
-
enterButton: vueTypes.types.bool,
|
|
2008
|
-
renderEnterButton: vueTypes.types.title,
|
|
2009
|
-
showInput: VueTypes.bool.def(true),
|
|
2010
|
-
clearSessionOnDestroy: VueTypes.bool.def(true),
|
|
2011
|
-
rawData: vueTypes.types.rawData,
|
|
2012
|
-
render: vueTypes.types.func,
|
|
2013
|
-
onError: vueTypes.types.func,
|
|
2014
|
-
renderError: vueTypes.types.title,
|
|
2015
|
-
isLoading: vueTypes.types.boolRequired,
|
|
2016
|
-
sessionIdFromStore: VueTypes.string,
|
|
2017
|
-
showComponent: vueTypes.types.boolRequired
|
|
2018
|
-
},
|
|
2019
|
-
mounted: function mounted() {},
|
|
2020
|
-
watch: {
|
|
2021
|
-
AIResponse: function AIResponse(newVal) {
|
|
2022
|
-
if (newVal) {
|
|
2023
|
-
this.AISessionId = ((helper.getObjectFromLocalStorage(constants.AI_LOCAL_CACHE_KEY) || {})[this.$props.componentId] || {}).sessionId || null;
|
|
2024
|
-
var messagesHistory = newVal.messages,
|
|
2025
|
-
response = newVal.response;
|
|
2026
|
-
var finalMessages = [];
|
|
2027
|
-
if (response && response.error) {
|
|
2028
|
-
this.error = {
|
|
2029
|
-
message: response.error
|
|
2030
|
-
};
|
|
2031
|
-
}
|
|
2032
|
-
|
|
2033
|
-
// pushing message history so far
|
|
2034
|
-
if (messagesHistory && messagesHistory && Array.isArray(messagesHistory)) {
|
|
2035
|
-
finalMessages.push.apply(finalMessages, messagesHistory.filter(function (msg) {
|
|
2036
|
-
return msg.role !== constants.AI_ROLES.SYSTEM;
|
|
2037
|
-
}));
|
|
2038
|
-
}
|
|
2039
|
-
// fresh response
|
|
2040
|
-
if (response && response.answer) ;
|
|
2041
|
-
this.messages = finalMessages;
|
|
2042
|
-
} else if (!newVal && !this.error) {
|
|
2043
|
-
this.messages = [];
|
|
2044
|
-
}
|
|
2045
|
-
},
|
|
2046
|
-
rawData: function rawData(newVal) {
|
|
2047
|
-
this.$emit('on-data', {
|
|
2048
|
-
data: this.messages,
|
|
2049
|
-
rawData: newVal,
|
|
2050
|
-
loading: this.$props.isAIResponseLoading || this.$props.isLoading,
|
|
2051
|
-
error: this.$props.AIResponseError
|
|
2052
|
-
});
|
|
2053
|
-
},
|
|
2054
|
-
isAIResponseLoading: function isAIResponseLoading(newVal) {
|
|
2055
|
-
this.isLoadingState = newVal;
|
|
2056
|
-
this.$emit('on-data', {
|
|
2057
|
-
data: this.messages,
|
|
2058
|
-
rawData: this.$props.rawData,
|
|
2059
|
-
loading: newVal || this.$props.isLoading,
|
|
2060
|
-
error: this.$props.AIResponseError
|
|
2061
|
-
});
|
|
2062
|
-
},
|
|
2063
|
-
isLoading: function isLoading(newVal) {
|
|
2064
|
-
this.isLoadingState = newVal;
|
|
2065
|
-
this.$emit('on-data', {
|
|
2066
|
-
data: this.messages,
|
|
2067
|
-
rawData: this.$props.rawData,
|
|
2068
|
-
loading: newVal || this.$props.isLoading,
|
|
2069
|
-
error: this.$props.AIResponseError
|
|
2070
|
-
});
|
|
2071
|
-
},
|
|
2072
|
-
sessionIdFromStore: function sessionIdFromStore(newVal) {
|
|
2073
|
-
if (newVal) {
|
|
2074
|
-
this.sessionId = newVal;
|
|
2075
|
-
}
|
|
2076
|
-
},
|
|
2077
|
-
AIResponseError: function AIResponseError(newVal) {
|
|
2078
|
-
this.error = newVal;
|
|
2079
|
-
this.AISessionId = ((helper.getObjectFromLocalStorage(constants.AI_LOCAL_CACHE_KEY) || {})[this.$props.componentId] || {}).sessionId || null;
|
|
2080
|
-
this.$emit('on-data', {
|
|
2081
|
-
data: this.messages,
|
|
2082
|
-
rawData: this.$props.rawData,
|
|
2083
|
-
loading: this.$props.isAIResponseLoading || this.$props.isLoading,
|
|
2084
|
-
error: newVal
|
|
2085
|
-
});
|
|
2086
|
-
},
|
|
2087
|
-
messages: function messages() {
|
|
2088
|
-
this.scrollToBottom();
|
|
2089
|
-
}
|
|
2090
|
-
},
|
|
2091
|
-
methods: {
|
|
2092
|
-
scrollToBottom: function scrollToBottom() {
|
|
2093
|
-
var _this = this;
|
|
2094
|
-
this.$nextTick(function () {
|
|
2095
|
-
var _this$$refs;
|
|
2096
|
-
var messageContainer = (_this$$refs = _this.$refs) == null ? void 0 : _this$$refs[_this.$props.innerRef];
|
|
2097
|
-
if (messageContainer && messageContainer.$el) {
|
|
2098
|
-
messageContainer.$el.scrollTo({
|
|
2099
|
-
top: messageContainer.$el.scrollHeight,
|
|
2100
|
-
behavior: 'smooth'
|
|
2101
|
-
});
|
|
2102
|
-
}
|
|
2103
|
-
});
|
|
2104
|
-
},
|
|
2105
|
-
handleMessageInputChange: function handleMessageInputChange(e) {
|
|
2106
|
-
this.inputMessage = e.target.value;
|
|
2107
|
-
},
|
|
2108
|
-
handleSendMessage: function handleSendMessage(e, isRetry, text) {
|
|
2109
|
-
if (isRetry === void 0) {
|
|
2110
|
-
isRetry = false;
|
|
2111
|
-
}
|
|
2112
|
-
if (text === void 0) {
|
|
2113
|
-
text = this.inputMessage;
|
|
2114
|
-
}
|
|
2115
|
-
if (typeof e === 'object') e.preventDefault();
|
|
2116
|
-
if (text.trim()) {
|
|
2117
|
-
if (this.isLoadingState) {
|
|
2118
|
-
return;
|
|
2119
|
-
}
|
|
2120
|
-
if (this.AISessionId) {
|
|
2121
|
-
if (!isRetry) this.messages = [].concat(this.messages, [{
|
|
2122
|
-
content: text,
|
|
2123
|
-
role: constants.AI_ROLES.USER
|
|
2124
|
-
}]);
|
|
2125
|
-
this.getAIResponse(this.AISessionId, this.componentId, text);
|
|
2126
|
-
} else {
|
|
2127
|
-
console.error("AISessionId for " + this.$props.componentId + " is missing! AIAnswer component requires an AISession to function. Try reloading the App.");
|
|
2128
|
-
this.error = {
|
|
2129
|
-
message: "AISessionId for " + this.$props.componentId + " is missing! AIAnswer component requires an AISession to function. Trying reloading the App."
|
|
2130
|
-
};
|
|
2131
|
-
}
|
|
2132
|
-
this.inputMessage = '';
|
|
2133
|
-
}
|
|
2134
|
-
},
|
|
2135
|
-
handleRetryRequest: function handleRetryRequest() {
|
|
2136
|
-
if (this.messages && !this.isLoadingState) {
|
|
2137
|
-
var _this$messages;
|
|
2138
|
-
var lastUserRequestMessage = (_this$messages = this.messages[this.messages.length - 1]) == null ? void 0 : _this$messages.content;
|
|
2139
|
-
if (this.AISessionId) {
|
|
2140
|
-
this.getAIResponse(this.AISessionId, this.componentId, lastUserRequestMessage);
|
|
2141
|
-
this.inputMessage = '';
|
|
2142
|
-
} else {
|
|
2143
|
-
console.error("AISessionId for " + this.componentId + " is missing! AIAnswer component requires an AISession to function. Try reloading the App.");
|
|
2144
|
-
}
|
|
2145
|
-
}
|
|
2146
|
-
},
|
|
2147
|
-
renderErrorComponent: function renderErrorComponent() {
|
|
2148
|
-
var renderError = this.$slots.renderError || this.$props.renderError;
|
|
2149
|
-
if (this.error && !this.isLoadingState) {
|
|
2150
|
-
if (renderError) {
|
|
2151
|
-
return vue.createVNode("div", {
|
|
2152
|
-
"class": "--ai-answer-error-container " + (helper.getClassName(this.$props.innerClass, 'ai-error') || '')
|
|
2153
|
-
}, [index.isFunction(renderError) ? renderError(this.error, this.handleRetryRequest) : renderError]);
|
|
2154
|
-
}
|
|
2155
|
-
return vue.createVNode("div", {
|
|
2156
|
-
"class": "--ai-answer-error-container " + (helper.getClassName(this.$props.innerClass, 'ai-error') || '')
|
|
2157
|
-
}, [vue.createVNode("div", {
|
|
2158
|
-
"class": "--default-error-element"
|
|
2159
|
-
}, [vue.createVNode("span", null, [this.error.message ? this.error.message : 'There was an error in generating the response.', ' ', this.error.code ? "Code:\n\t\t\t\t\t\t\t" + this.error.code : '']), this.AISessionId && vue.createVNode(Button.Button, {
|
|
2160
|
-
"primary": true,
|
|
2161
|
-
"onClick": this.handleRetryRequest
|
|
2162
|
-
}, {
|
|
2163
|
-
"default": function _default() {
|
|
2164
|
-
return [vue.createTextVNode("Try again")];
|
|
2165
|
-
}
|
|
2166
|
-
})])]);
|
|
2167
|
-
}
|
|
2168
|
-
return null;
|
|
2169
|
-
},
|
|
2170
|
-
handleKeyPress: function handleKeyPress(e) {
|
|
2171
|
-
if (e.key === 'Enter') {
|
|
2172
|
-
this.handleSendMessage(e);
|
|
2173
|
-
this.inputMessage = '';
|
|
2174
|
-
}
|
|
2175
|
-
},
|
|
2176
|
-
renderIcon: function renderIcon() {
|
|
2177
|
-
if (this.$props.showIcon) {
|
|
2178
|
-
if (this.$props.icon) {
|
|
2179
|
-
return this.$props.icon;
|
|
2180
|
-
}
|
|
2181
|
-
if (this.$slots.icon) {
|
|
2182
|
-
return this.$slots.icon();
|
|
2183
|
-
}
|
|
2184
|
-
if (this.$props.iconURL) {
|
|
2185
|
-
return vue.createVNode("img", {
|
|
2186
|
-
"style": {
|
|
2187
|
-
maxHeight: '25px'
|
|
2188
|
-
},
|
|
2189
|
-
"src": this.$props.iconURL,
|
|
2190
|
-
"alt": "search-icon"
|
|
2191
|
-
}, null);
|
|
2192
|
-
}
|
|
2193
|
-
return vue.createVNode(SearchSvg, null, null);
|
|
2194
|
-
}
|
|
2195
|
-
return null;
|
|
2196
|
-
},
|
|
2197
|
-
shouldMicRender: function shouldMicRender(showVoiceSearch) {
|
|
2198
|
-
// checks for SSR
|
|
2199
|
-
if (typeof window === 'undefined') return false;
|
|
2200
|
-
return showVoiceSearch && (window.webkitSpeechRecognition || window.SpeechRecognition);
|
|
2201
|
-
},
|
|
2202
|
-
handleVoiceResults: function handleVoiceResults(_ref) {
|
|
2203
|
-
var results = _ref.results;
|
|
2204
|
-
if (results && results[0] && results[0].isFinal && results[0][0] && results[0][0].transcript && results[0][0].transcript.trim()) {
|
|
2205
|
-
this.handleSendMessage(null, false, results[0][0].transcript.trim());
|
|
2206
|
-
}
|
|
2207
|
-
},
|
|
2208
|
-
renderIcons: function renderIcons() {
|
|
2209
|
-
var _this2 = this;
|
|
2210
|
-
var _slot, _slot2;
|
|
2211
|
-
var _this$$props = this.$props,
|
|
2212
|
-
getMicInstance = _this$$props.getMicInstance,
|
|
2213
|
-
showVoiceInput = _this$$props.showVoiceInput,
|
|
2214
|
-
iconPosition = _this$$props.iconPosition,
|
|
2215
|
-
innerClass = _this$$props.innerClass;
|
|
2216
|
-
var renderMic = this.$slots.renderMic || this.$props.renderMic;
|
|
2217
|
-
return vue.createVNode("div", null, [vue.createVNode(DropDown.IconGroup, {
|
|
2218
|
-
"groupPosition": "right",
|
|
2219
|
-
"positionType": "absolute"
|
|
2220
|
-
}, {
|
|
2221
|
-
"default": function _default() {
|
|
2222
|
-
return [_this2.shouldMicRender(showVoiceInput) && vue.createVNode(Mic, {
|
|
2223
|
-
"getInstance": getMicInstance,
|
|
2224
|
-
"render": renderMic,
|
|
2225
|
-
"onResult": _this2.handleVoiceResults,
|
|
2226
|
-
"class": helper.getClassName(innerClass, 'ai-search-mic') || null
|
|
2227
|
-
}, null), iconPosition === 'right' && vue.createVNode(DropDown.IconWrapper, null, _isSlot$1(_slot = _this2.renderIcon()) ? _slot : {
|
|
2228
|
-
"default": function _default() {
|
|
2229
|
-
return [_slot];
|
|
2230
|
-
}
|
|
2231
|
-
})];
|
|
2232
|
-
}
|
|
2233
|
-
}), vue.createVNode(DropDown.IconGroup, {
|
|
2234
|
-
"groupPosition": "left",
|
|
2235
|
-
"positionType": "absolute"
|
|
2236
|
-
}, {
|
|
2237
|
-
"default": function _default() {
|
|
2238
|
-
return [iconPosition === 'left' && vue.createVNode(DropDown.IconWrapper, null, _isSlot$1(_slot2 = _this2.renderIcon()) ? _slot2 : {
|
|
2239
|
-
"default": function _default() {
|
|
2240
|
-
return [_slot2];
|
|
2241
|
-
}
|
|
2242
|
-
})];
|
|
2243
|
-
}
|
|
2244
|
-
})]);
|
|
2245
|
-
},
|
|
2246
|
-
enterButtonOnClick: function enterButtonOnClick(e) {
|
|
2247
|
-
this.handleSendMessage(e);
|
|
2248
|
-
},
|
|
2249
|
-
renderEnterButtonElement: function renderEnterButtonElement() {
|
|
2250
|
-
var _this3 = this;
|
|
2251
|
-
var _this$$props2 = this.$props,
|
|
2252
|
-
enterButton = _this$$props2.enterButton,
|
|
2253
|
-
innerClass = _this$$props2.innerClass;
|
|
2254
|
-
var renderEnterButton = this.$slots.renderEnterButton;
|
|
2255
|
-
if (enterButton) {
|
|
2256
|
-
var getEnterButtonMarkup = function getEnterButtonMarkup() {
|
|
2257
|
-
if (renderEnterButton) {
|
|
2258
|
-
return renderEnterButton(_this3.enterButtonOnClick);
|
|
2259
|
-
}
|
|
2260
|
-
return vue.createVNode(SendButton, {
|
|
2261
|
-
"primary": true,
|
|
2262
|
-
"type": "submit",
|
|
2263
|
-
"tabIndex": 0,
|
|
2264
|
-
"onClick": _this3.handleSendMessage,
|
|
2265
|
-
"onKeyPress": _this3.handleKeyPress,
|
|
2266
|
-
"class": "enter-btn " + helper.getClassName(innerClass, 'ai-enter-button')
|
|
2267
|
-
}, {
|
|
2268
|
-
"default": function _default() {
|
|
2269
|
-
return [vue.createTextVNode("Send")];
|
|
2270
|
-
}
|
|
2271
|
-
});
|
|
2272
|
-
};
|
|
2273
|
-
return vue.createVNode("div", {
|
|
2274
|
-
"class": "ai-enter-button-wrapper"
|
|
2275
|
-
}, [getEnterButtonMarkup()]);
|
|
2276
|
-
}
|
|
2277
|
-
return null;
|
|
2278
|
-
},
|
|
2279
|
-
getComponent: function getComponent() {
|
|
2280
|
-
var data = {
|
|
2281
|
-
error: this.AIResponseError,
|
|
2282
|
-
loading: this.isAIResponseLoading,
|
|
2283
|
-
data: this.messages,
|
|
2284
|
-
rawData: this.rawData
|
|
2285
|
-
};
|
|
2286
|
-
return index.getComponent(data, this);
|
|
2287
|
-
}
|
|
2288
|
-
},
|
|
2289
|
-
beforeUnmount: function beforeUnmount() {
|
|
2290
|
-
if (this.$props.clearSessionOnDestroy) {
|
|
2291
|
-
// cleanup logic
|
|
2292
|
-
// final Object to store in local storage cache
|
|
2293
|
-
var finalCacheObj = helper.getObjectFromLocalStorage(constants.AI_LOCAL_CACHE_KEY) || {};
|
|
2294
|
-
// delete current component's cache
|
|
2295
|
-
delete finalCacheObj[this.$props.componentId];
|
|
2296
|
-
// update local cache
|
|
2297
|
-
helper.setObjectInLocalStorage(constants.AI_LOCAL_CACHE_KEY, finalCacheObj);
|
|
2298
|
-
}
|
|
2299
|
-
},
|
|
2300
|
-
render: function render() {
|
|
2301
|
-
var _slot3;
|
|
2302
|
-
var _this4 = this;
|
|
2303
|
-
var props = this.$props;
|
|
2304
|
-
if (!this.shouldShowComponent) {
|
|
2305
|
-
return null;
|
|
2306
|
-
}
|
|
2307
|
-
return vue.createVNode(Chatbox, null, {
|
|
2308
|
-
"default": function _default() {
|
|
2309
|
-
return [_this4.$props.title && vue.createVNode(Title.Title, {
|
|
2310
|
-
"class": helper.getClassName(_this4.$props.innerClass, 'title') || ''
|
|
2311
|
-
}, {
|
|
2312
|
-
"default": function _default() {
|
|
2313
|
-
return [_this4.$props.title];
|
|
2314
|
-
}
|
|
2315
|
-
}), vue.createVNode(ChatContainer, {
|
|
2316
|
-
"theme": props.theme,
|
|
2317
|
-
"showInput": props.showInput
|
|
2318
|
-
}, {
|
|
2319
|
-
"default": function _default() {
|
|
2320
|
-
return [_this4.hasCustomRenderer && vue.createVNode(MessagesContainer, {
|
|
2321
|
-
"themePreset": _this4.themePreset,
|
|
2322
|
-
"theme": props.theme,
|
|
2323
|
-
"ref": _this4.$props.innerRef,
|
|
2324
|
-
"class": "--ai-message-container " + (helper.getClassName(props.innerClass, 'ai-message-container') || '')
|
|
2325
|
-
}, _isSlot$1(_slot3 = _this4.getComponent()) ? _slot3 : {
|
|
2326
|
-
"default": function _default() {
|
|
2327
|
-
return [_slot3];
|
|
2328
|
-
}
|
|
2329
|
-
}), !_this4.hasCustomRenderer && vue.createVNode(MessagesContainer, {
|
|
2330
|
-
"themePreset": _this4.themePreset,
|
|
2331
|
-
"theme": props.theme,
|
|
2332
|
-
"ref": _this4.$props.innerRef,
|
|
2333
|
-
"class": "--ai-message-container " + (helper.getClassName(props.innerClass, 'ai-message-container') || '')
|
|
2334
|
-
}, {
|
|
2335
|
-
"default": function _default() {
|
|
2336
|
-
return [_this4.messages.map(function (message, index) {
|
|
2337
|
-
return vue.createVNode(Message, {
|
|
2338
|
-
"key": index,
|
|
2339
|
-
"isSender": message.role === constants.AI_ROLES.USER,
|
|
2340
|
-
"innerHTML": md.render(message.content),
|
|
2341
|
-
"themePreset": _this4.themePreset,
|
|
2342
|
-
"theme": props.theme,
|
|
2343
|
-
"class": "--ai-answer-message " + (helper.getClassName(props.innerClass, 'ai-message') || '')
|
|
2344
|
-
}, null);
|
|
2345
|
-
}), _this4.isLoadingState && vue.createVNode(Message, {
|
|
2346
|
-
"themePreset": _this4.themePreset,
|
|
2347
|
-
"theme": props.theme,
|
|
2348
|
-
"isSender": false,
|
|
2349
|
-
"class": "--ai-answer-message " + (helper.getClassName(props.innerClass, 'ai-message') || null)
|
|
2350
|
-
}, {
|
|
2351
|
-
"default": function _default() {
|
|
2352
|
-
return [vue.createVNode(TypingIndicator, null, {
|
|
2353
|
-
"default": function _default() {
|
|
2354
|
-
return [vue.createVNode(TypingDot, {
|
|
2355
|
-
"themePreset": _this4.themePreset
|
|
2356
|
-
}, null), vue.createVNode(TypingDot, {
|
|
2357
|
-
"themePreset": _this4.themePreset
|
|
2358
|
-
}, null), vue.createVNode(TypingDot, {
|
|
2359
|
-
"themePreset": _this4.themePreset
|
|
2360
|
-
}, null)];
|
|
2361
|
-
}
|
|
2362
|
-
})];
|
|
2363
|
-
}
|
|
2364
|
-
})];
|
|
2365
|
-
}
|
|
2366
|
-
}), _this4.renderErrorComponent(), props.showInput && vue.createVNode(MessageInputContainer, {
|
|
2367
|
-
"class": "--ai-input-container",
|
|
2368
|
-
"onSubmit": _this4.handleSendMessage
|
|
2369
|
-
}, {
|
|
2370
|
-
"default": function _default() {
|
|
2371
|
-
return [vue.createVNode(InputGroup, {
|
|
2372
|
-
"isOpen": false
|
|
2373
|
-
}, {
|
|
2374
|
-
"default": function _default() {
|
|
2375
|
-
return [vue.createVNode(DropDown.InputWrapper, null, {
|
|
2376
|
-
"default": function _default() {
|
|
2377
|
-
return [vue.createVNode(MessageInput, {
|
|
2378
|
-
"type": "text",
|
|
2379
|
-
"placeholder": props.placeholder,
|
|
2380
|
-
"value": _this4.inputMessage,
|
|
2381
|
-
"onChange": _this4.handleMessageInputChange,
|
|
2382
|
-
"onKeyPress": _this4.handleKeyPress,
|
|
2383
|
-
"id": props.componentId + "-ai-input",
|
|
2384
|
-
"showIcon": props.showIcon,
|
|
2385
|
-
"iconPosition": props.iconPosition,
|
|
2386
|
-
"themePreset": _this4.themePreset,
|
|
2387
|
-
"disabled": _this4.isLoadingState,
|
|
2388
|
-
"class": helper.getClassName(props.innerClass, 'ai-input') || null
|
|
2389
|
-
}, null), ' ', _this4.renderIcons()];
|
|
2390
|
-
}
|
|
2391
|
-
})];
|
|
2392
|
-
}
|
|
2393
|
-
}), _this4.renderEnterButtonElement()];
|
|
2394
|
-
}
|
|
2395
|
-
}), ' '];
|
|
2396
|
-
}
|
|
2397
|
-
})];
|
|
2398
|
-
}
|
|
2399
|
-
});
|
|
2400
|
-
}
|
|
2401
|
-
});
|
|
2402
|
-
AIAnswer.hasInternalComponent = function () {
|
|
2403
|
-
return true;
|
|
2404
|
-
};
|
|
2405
|
-
var mapStateToProps$1 = function mapStateToProps(state, props) {
|
|
2406
|
-
var dependencyComponent = Object.values(props.react)[0];
|
|
2407
|
-
if (Array.isArray(dependencyComponent)) {
|
|
2408
|
-
// eslint-disable-next-line prefer-destructuring
|
|
2409
|
-
dependencyComponent = dependencyComponent[0];
|
|
2410
|
-
}
|
|
2411
|
-
var showComponent = state.selectedValues[dependencyComponent] && state.selectedValues[dependencyComponent].value;
|
|
2412
|
-
return {
|
|
2413
|
-
showComponent: showComponent,
|
|
2414
|
-
AIResponse: state.AIResponses[props.componentId] && state.AIResponses[props.componentId].response,
|
|
2415
|
-
isAIResponseLoading: state.AIResponses[props.componentId] && state.AIResponses[props.componentId].isLoading,
|
|
2416
|
-
AIResponseError: state.AIResponses[props.componentId] && state.AIResponses[props.componentId].error,
|
|
2417
|
-
rawData: state.rawData[props.componentId],
|
|
2418
|
-
themePreset: state.config.themePreset,
|
|
2419
|
-
isLoading: state.isLoading[props.componentId] || false,
|
|
2420
|
-
sessionIdFromStore: state.AIResponses[props.componentId] && state.AIResponses[props.componentId].sessionId || ''
|
|
2421
|
-
};
|
|
2422
|
-
};
|
|
2423
|
-
var mapDispatchToProps$1 = {
|
|
2424
|
-
getAIResponse: query.fetchAIResponse
|
|
2425
|
-
};
|
|
2426
|
-
var AIConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps$1, mapDispatchToProps$1)(AIAnswer), {
|
|
2427
|
-
componentType: constants.componentTypes.AIAnswer,
|
|
2428
|
-
internalComponent: true
|
|
2429
|
-
}));
|
|
2430
|
-
AIConnected.name = AIAnswer.name;
|
|
2431
|
-
AIConnected.hasInternalComponent = AIAnswer.hasInternalComponent;
|
|
2432
|
-
AIConnected.install = function (Vue) {
|
|
2433
|
-
Vue.component(AIConnected.name, AIConnected);
|
|
2434
|
-
};
|
|
2435
|
-
// Add componentType for SSR
|
|
2436
|
-
AIConnected.componentType = constants.componentTypes.AIAnswer;
|
|
2437
|
-
|
|
2438
|
-
var _templateObject$9, _templateObject2$2;
|
|
2439
|
-
var HierarchicalMenuList = vueEmotion.styled('ul')(_templateObject$9 || (_templateObject$9 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tmax-height: 0;\n\toverflow: hidden;\n\n\t&.--open {\n\t\tmax-height: 100%;\n\t}\n"])));
|
|
2440
|
-
var HierarchicalMenuListItem = vueEmotion.styled('li')(_templateObject2$2 || (_templateObject2$2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tfont-weight: 400;\n\tline-height: 1.5;\n\tbox-sizing: border-box;\n\n\ta {\n\t\tcolor: #424242;\n\t\ttext-decoration: none;\n\t\tgap: 5px;\n\t\t.--leaf-icon,\n\t\t.--folder-icon {\n\t\t\tline-height: 15px;\n\t\t\tsvg {\n\t\t\t\theight: 15px;\n\t\t\t}\n\t\t}\n\n\t\tinput {\n\t\t\tmargin: 0;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t.--switcher-icon {\n\t\ttransition: all 0.2s ease-in;\n\t\tmargin-right: 2px;\n\t}\n\t.--list-child {\n\t\tpadding-left: 1rem;\n\t\tposition: relative;\n\t\t&:before {\n\t\t\theight: 100%;\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tborder-left: 1px solid #787878;\n\t\t\twidth: 0;\n\t\t\tleft: 19px;\n\t\t\t", ";\n\t\t}\n\n\t\t&.--show-switcher-icon {\n\t\t\tpadding-left: 36px;\n\t\t}\n\t}\n\t.--list-item-label {\n\t\tline-height: 100%;\n\t}\n\t.--list-item-count {\n\t\tmargin-left: 10px;\n\t\tpadding: 0.1rem 0.4rem;\n\t\tfont-size: 0.8rem;\n\t\tcolor: #424242;\n\t\tbackground-color: #dee1e6;\n\t\tborder-radius: 8px;\n\t}\n\t&.-selected-item {\n\t\tfont-weight: 700 !important;\n\t}\n\t&.-expanded-item {\n\t\t& > a {\n\t\t\t& div > .--switcher-icon {\n\t\t\t\ttransform: rotate(90deg);\n\t\t\t}\n\t\t}\n\t}\n\t.--list-item-label-count-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t&:hover {\n\t\t\t.--list-item-count,\n\t\t\t.--list-item-label {\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t}\n\t}\n"])), function (props) {
|
|
1869
|
+
var _templateObject$8, _templateObject2$1;
|
|
1870
|
+
var HierarchicalMenuList = vueEmotion.styled('ul')(_templateObject$8 || (_templateObject$8 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tmax-height: 0;\n\toverflow: hidden;\n\n\t&.--open {\n\t\tmax-height: 100%;\n\t}\n"])));
|
|
1871
|
+
var HierarchicalMenuListItem = vueEmotion.styled('li')(_templateObject2$1 || (_templateObject2$1 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tfont-weight: 400;\n\tline-height: 1.5;\n\tbox-sizing: border-box;\n\n\ta {\n\t\tcolor: #424242;\n\t\ttext-decoration: none;\n\t\tgap: 5px;\n\t\t.--leaf-icon,\n\t\t.--folder-icon {\n\t\t\tline-height: 15px;\n\t\t\tsvg {\n\t\t\t\theight: 15px;\n\t\t\t}\n\t\t}\n\n\t\tinput {\n\t\t\tmargin: 0;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t.--switcher-icon {\n\t\ttransition: all 0.2s ease-in;\n\t\tmargin-right: 2px;\n\t}\n\t.--list-child {\n\t\tpadding-left: 1rem;\n\t\tposition: relative;\n\t\t&:before {\n\t\t\theight: 100%;\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tborder-left: 1px solid #787878;\n\t\t\twidth: 0;\n\t\t\tleft: 19px;\n\t\t\t", ";\n\t\t}\n\n\t\t&.--show-switcher-icon {\n\t\t\tpadding-left: 36px;\n\t\t}\n\t}\n\t.--list-item-label {\n\t\tline-height: 100%;\n\t}\n\t.--list-item-count {\n\t\tmargin-left: 10px;\n\t\tpadding: 0.1rem 0.4rem;\n\t\tfont-size: 0.8rem;\n\t\tcolor: #424242;\n\t\tbackground-color: #dee1e6;\n\t\tborder-radius: 8px;\n\t}\n\t&.-selected-item {\n\t\tfont-weight: 700 !important;\n\t}\n\t&.-expanded-item {\n\t\t& > a {\n\t\t\t& div > .--switcher-icon {\n\t\t\t\ttransform: rotate(90deg);\n\t\t\t}\n\t\t}\n\t}\n\t.--list-item-label-count-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t&:hover {\n\t\t\t.--list-item-count,\n\t\t\t.--list-item-label {\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t}\n\t}\n"])), function (props) {
|
|
2441
1872
|
return !props.showLine && "\n\t\t\t\t\tdisplay: none;\n\t\t\t\t";
|
|
2442
1873
|
});
|
|
2443
1874
|
|
|
@@ -2650,7 +2081,7 @@ var HierarchicalMenuListItemComponent = {
|
|
|
2650
2081
|
}
|
|
2651
2082
|
};
|
|
2652
2083
|
|
|
2653
|
-
function _isSlot$
|
|
2084
|
+
function _isSlot$1(s) {
|
|
2654
2085
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2655
2086
|
}
|
|
2656
2087
|
var HierarchicalMenuComponent = {
|
|
@@ -2675,7 +2106,7 @@ var HierarchicalMenuComponent = {
|
|
|
2675
2106
|
return vue.createVNode(HierarchicalMenuList, {
|
|
2676
2107
|
"class": "" + (isExpanded ? '--open' : ''),
|
|
2677
2108
|
"isSelected": isExpanded
|
|
2678
|
-
}, _isSlot$
|
|
2109
|
+
}, _isSlot$1(_slot = listArray.map(function (listItem) {
|
|
2679
2110
|
return vue.createVNode(HierarchicalMenuListItemComponent, vue.mergeProps({
|
|
2680
2111
|
"key": parentPath + "__" + JSON.stringify(listItem),
|
|
2681
2112
|
"parentPath": parentPath,
|
|
@@ -2689,7 +2120,7 @@ var HierarchicalMenuComponent = {
|
|
|
2689
2120
|
}
|
|
2690
2121
|
};
|
|
2691
2122
|
|
|
2692
|
-
function _isSlot$
|
|
2123
|
+
function _isSlot$2(s) {
|
|
2693
2124
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2694
2125
|
}
|
|
2695
2126
|
var updateQueryAction = reactivecore.Actions.updateQuery,
|
|
@@ -3139,7 +2570,7 @@ var TreeList = {
|
|
|
3139
2570
|
"default": function _default() {
|
|
3140
2571
|
return [props.title && vue.createVNode(Title.Title, {
|
|
3141
2572
|
"class": helper.getClassName(innerClass, 'title') || null
|
|
3142
|
-
}, _isSlot$
|
|
2573
|
+
}, _isSlot$2(title) ? title : {
|
|
3143
2574
|
"default": function _default() {
|
|
3144
2575
|
return [title];
|
|
3145
2576
|
}
|
|
@@ -3168,7 +2599,7 @@ var TreeList = {
|
|
|
3168
2599
|
});
|
|
3169
2600
|
}
|
|
3170
2601
|
};
|
|
3171
|
-
var mapStateToProps$
|
|
2602
|
+
var mapStateToProps$1 = function mapStateToProps(state, props) {
|
|
3172
2603
|
return {
|
|
3173
2604
|
selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
|
|
3174
2605
|
rawData: state.rawData[props.componentId] || {},
|
|
@@ -3186,7 +2617,7 @@ var mapDispatchtoProps = {
|
|
|
3186
2617
|
TreeList.hasInternalComponent = function () {
|
|
3187
2618
|
return true;
|
|
3188
2619
|
};
|
|
3189
|
-
var TreeListConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps$
|
|
2620
|
+
var TreeListConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps$1, mapDispatchtoProps)(TreeList), {
|
|
3190
2621
|
componentType: constants.componentTypes.treeList,
|
|
3191
2622
|
internalComponent: TreeList.hasInternalComponent()
|
|
3192
2623
|
}));
|
|
@@ -3254,7 +2685,7 @@ RcConnected.install = function (Vue) {
|
|
|
3254
2685
|
Vue.component(RcConnected.name, RcConnected);
|
|
3255
2686
|
};
|
|
3256
2687
|
|
|
3257
|
-
var components = [ReactiveList.default, ResultCard.default, ResultList.default, ReactiveBase.default, SBConnected, SingleList.default, MultiList.default, SingleRange.default, MultiRange.default, RangeSlider.default, DynamicRangeSlider.default, ReactiveComponent.default, RcConnected, SelectedFilters.default, ToggleButton.default, SingleDropdownList.default, MultiDropdownList.default, StateProvider.default, RangeInput.default, TreeListConnected
|
|
2688
|
+
var components = [ReactiveList.default, ResultCard.default, ResultList.default, ReactiveBase.default, SBConnected, SingleList.default, MultiList.default, SingleRange.default, MultiRange.default, RangeSlider.default, DynamicRangeSlider.default, ReactiveComponent.default, RcConnected, SelectedFilters.default, ToggleButton.default, SingleDropdownList.default, MultiDropdownList.default, StateProvider.default, RangeInput.default, TreeListConnected];
|
|
3258
2689
|
function install (Vue) {
|
|
3259
2690
|
components.map(function (component) {
|
|
3260
2691
|
Vue.use(component);
|
|
@@ -3262,7 +2693,6 @@ function install (Vue) {
|
|
|
3262
2693
|
});
|
|
3263
2694
|
}
|
|
3264
2695
|
|
|
3265
|
-
exports.AIAnswer = AIConnected;
|
|
3266
2696
|
exports.ReactiveComponentPrivate = RcConnected;
|
|
3267
2697
|
exports.SearchBox = SBConnected;
|
|
3268
2698
|
exports.TreeList = TreeListConnected;
|