@appbaseio/reactivesearch-vue 3.0.0-rc.6.5 → 3.0.0-rc.6.6
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 +1949 -146
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/{DropDown-aef75c14.js → DropDown-dcdaf54f.js} +12 -4
- package/dist/cjs/{Input-56eba499.js → Input-df30e5fc.js} +23 -16
- package/dist/cjs/MultiDropdownList.js +2 -2
- package/dist/cjs/MultiList.js +1 -1
- package/dist/cjs/RangeInput.js +1 -1
- package/dist/cjs/SingleDropdownList.js +2 -2
- package/dist/cjs/SingleList.js +1 -1
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/{install-e8141489.js → install-3821345b.js} +282 -74
- package/dist/cjs/install.js +4 -3
- package/dist/cjs/version.js +1 -1
- package/dist/es/{DropDown-39fedff8.js → DropDown-bede2a41.js} +12 -5
- package/dist/es/{Input-11d211d2.js → Input-4376ac1f.js} +23 -17
- package/dist/es/MultiDropdownList.js +2 -2
- package/dist/es/MultiList.js +1 -1
- package/dist/es/RangeInput.js +1 -1
- package/dist/es/SingleDropdownList.js +2 -2
- package/dist/es/SingleList.js +1 -1
- package/dist/es/index.js +5 -4
- package/dist/es/{install-b785dd55.js → install-af4c53c4.js} +283 -75
- package/dist/es/install.js +4 -3
- package/dist/es/version.js +1 -1
- package/package.json +90 -89
|
@@ -1189,7 +1189,7 @@
|
|
|
1189
1189
|
geo: 'geo',
|
|
1190
1190
|
suggestion: 'suggestion'
|
|
1191
1191
|
};
|
|
1192
|
-
var validProps = exports.validProps = ['type', 'componentType', 'aggregationField', 'aggregationSize', 'distinctField', 'distinctFieldConfig', 'index', 'aggregations', 'dataField', 'includeFields', 'excludeFields', 'size', 'from', 'sortBy', 'sortOptions', 'pagination', 'autoFocus', 'autosuggest', 'debounce', 'defaultValue', 'defaultSuggestions', 'fieldWeights', 'filterLabel', 'fuzziness', 'highlight', 'highlightConfig', 'highlightField', 'nestedField', 'placeholder', 'queryFormat', 'searchOperators', 'enableSynonyms', 'enableQuerySuggestions', 'queryString', 'categoryField', 'strictSelection', 'selectAllLabel', 'showCheckbox', 'showFilter', 'showSearch', 'showCount', 'showLoadMore', 'loadMoreLabel', 'showMissing', 'missingLabel', 'data', 'showRadio', 'multiSelect', 'includeNullValues', 'interval', 'showHistogram', 'snap', 'stepValue', 'range', 'showSlider', 'parseDate', 'calendarInterval', 'unit', 'enablePopularSuggestions', 'enableRecentSuggestions', 'popularSuggestionsConfig', 'recentSuggestionsConfig', 'indexSuggestionsConfig', 'featuredSuggestionsConfig', 'enablePredictiveSuggestions', 'applyStopwords', 'customStopwords', 'enableIndexSuggestions', 'enableFeaturedSuggestions', 'searchboxId', 'endpoint', 'enableEndpointSuggestions', 'enableAI', 'AIConfig'];
|
|
1192
|
+
var validProps = exports.validProps = ['type', 'componentType', 'aggregationField', 'aggregationSize', 'distinctField', 'distinctFieldConfig', 'index', 'aggregations', 'dataField', 'includeFields', 'excludeFields', 'size', 'from', 'sortBy', 'sortOptions', 'pagination', 'autoFocus', 'autosuggest', 'debounce', 'defaultValue', 'defaultSuggestions', 'fieldWeights', 'filterLabel', 'fuzziness', 'highlight', 'highlightConfig', 'highlightField', 'nestedField', 'placeholder', 'queryFormat', 'searchOperators', 'enableSynonyms', 'enableQuerySuggestions', 'queryString', 'categoryField', 'strictSelection', 'selectAllLabel', 'showCheckbox', 'showFilter', 'showSearch', 'showCount', 'showLoadMore', 'loadMoreLabel', 'showMissing', 'missingLabel', 'data', 'showRadio', 'multiSelect', 'includeNullValues', 'interval', 'showHistogram', 'snap', 'stepValue', 'range', 'showSlider', 'parseDate', 'calendarInterval', 'unit', 'enablePopularSuggestions', 'enableRecentSuggestions', 'popularSuggestionsConfig', 'recentSuggestionsConfig', 'indexSuggestionsConfig', 'featuredSuggestionsConfig', 'FAQSuggestionsConfig', 'enablePredictiveSuggestions', 'applyStopwords', 'customStopwords', 'enableIndexSuggestions', 'enableFeaturedSuggestions', 'enableFAQSuggestions', 'searchboxId', 'endpoint', 'enableEndpointSuggestions', 'enableAI', 'AIConfig'];
|
|
1193
1193
|
var CLEAR_ALL = exports.CLEAR_ALL = {
|
|
1194
1194
|
NEVER: 'never',
|
|
1195
1195
|
ALWAYS: 'always',
|
|
@@ -5249,7 +5249,8 @@
|
|
|
5249
5249
|
Index: 'index',
|
|
5250
5250
|
Recent: 'recent',
|
|
5251
5251
|
Promoted: 'promoted',
|
|
5252
|
-
Featured: 'featured'
|
|
5252
|
+
Featured: 'featured',
|
|
5253
|
+
FAQ: 'faq'
|
|
5253
5254
|
};
|
|
5254
5255
|
var featuredSuggestionsActionTypes = exports.featuredSuggestionsActionTypes = {
|
|
5255
5256
|
NAVIGATE: 'navigate',
|
|
@@ -6244,6 +6245,8 @@
|
|
|
6244
6245
|
featuredSuggestionsConfig: props.featuredSuggestionsConfig,
|
|
6245
6246
|
indexSuggestionsConfig: props.indexSuggestionsConfig,
|
|
6246
6247
|
enableFeaturedSuggestions: props.enableFeaturedSuggestions,
|
|
6248
|
+
enableFAQSuggestions: props.enableFAQSuggestions,
|
|
6249
|
+
FAQSuggestionsConfig: props.FAQSuggestionsConfig,
|
|
6247
6250
|
enableIndexSuggestions: props.enableIndexSuggestions
|
|
6248
6251
|
}, props.searchboxId ? {
|
|
6249
6252
|
searchboxId: props.searchboxId
|
|
@@ -18161,6 +18164,1586 @@
|
|
|
18161
18164
|
window.hotkeys = hotkeys;
|
|
18162
18165
|
}
|
|
18163
18166
|
|
|
18167
|
+
/**
|
|
18168
|
+
* cssfilter
|
|
18169
|
+
*
|
|
18170
|
+
* @author 老雷<leizongmin@gmail.com>
|
|
18171
|
+
*/
|
|
18172
|
+
|
|
18173
|
+
function getDefaultWhiteList() {
|
|
18174
|
+
// 白名单值说明:
|
|
18175
|
+
// true: 允许该属性
|
|
18176
|
+
// Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
|
|
18177
|
+
// RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
|
|
18178
|
+
// 除上面列出的值外均表示不允许
|
|
18179
|
+
var whiteList = {};
|
|
18180
|
+
whiteList['align-content'] = false; // default: auto
|
|
18181
|
+
whiteList['align-items'] = false; // default: auto
|
|
18182
|
+
whiteList['align-self'] = false; // default: auto
|
|
18183
|
+
whiteList['alignment-adjust'] = false; // default: auto
|
|
18184
|
+
whiteList['alignment-baseline'] = false; // default: baseline
|
|
18185
|
+
whiteList['all'] = false; // default: depending on individual properties
|
|
18186
|
+
whiteList['anchor-point'] = false; // default: none
|
|
18187
|
+
whiteList['animation'] = false; // default: depending on individual properties
|
|
18188
|
+
whiteList['animation-delay'] = false; // default: 0
|
|
18189
|
+
whiteList['animation-direction'] = false; // default: normal
|
|
18190
|
+
whiteList['animation-duration'] = false; // default: 0
|
|
18191
|
+
whiteList['animation-fill-mode'] = false; // default: none
|
|
18192
|
+
whiteList['animation-iteration-count'] = false; // default: 1
|
|
18193
|
+
whiteList['animation-name'] = false; // default: none
|
|
18194
|
+
whiteList['animation-play-state'] = false; // default: running
|
|
18195
|
+
whiteList['animation-timing-function'] = false; // default: ease
|
|
18196
|
+
whiteList['azimuth'] = false; // default: center
|
|
18197
|
+
whiteList['backface-visibility'] = false; // default: visible
|
|
18198
|
+
whiteList['background'] = true; // default: depending on individual properties
|
|
18199
|
+
whiteList['background-attachment'] = true; // default: scroll
|
|
18200
|
+
whiteList['background-clip'] = true; // default: border-box
|
|
18201
|
+
whiteList['background-color'] = true; // default: transparent
|
|
18202
|
+
whiteList['background-image'] = true; // default: none
|
|
18203
|
+
whiteList['background-origin'] = true; // default: padding-box
|
|
18204
|
+
whiteList['background-position'] = true; // default: 0% 0%
|
|
18205
|
+
whiteList['background-repeat'] = true; // default: repeat
|
|
18206
|
+
whiteList['background-size'] = true; // default: auto
|
|
18207
|
+
whiteList['baseline-shift'] = false; // default: baseline
|
|
18208
|
+
whiteList['binding'] = false; // default: none
|
|
18209
|
+
whiteList['bleed'] = false; // default: 6pt
|
|
18210
|
+
whiteList['bookmark-label'] = false; // default: content()
|
|
18211
|
+
whiteList['bookmark-level'] = false; // default: none
|
|
18212
|
+
whiteList['bookmark-state'] = false; // default: open
|
|
18213
|
+
whiteList['border'] = true; // default: depending on individual properties
|
|
18214
|
+
whiteList['border-bottom'] = true; // default: depending on individual properties
|
|
18215
|
+
whiteList['border-bottom-color'] = true; // default: current color
|
|
18216
|
+
whiteList['border-bottom-left-radius'] = true; // default: 0
|
|
18217
|
+
whiteList['border-bottom-right-radius'] = true; // default: 0
|
|
18218
|
+
whiteList['border-bottom-style'] = true; // default: none
|
|
18219
|
+
whiteList['border-bottom-width'] = true; // default: medium
|
|
18220
|
+
whiteList['border-collapse'] = true; // default: separate
|
|
18221
|
+
whiteList['border-color'] = true; // default: depending on individual properties
|
|
18222
|
+
whiteList['border-image'] = true; // default: none
|
|
18223
|
+
whiteList['border-image-outset'] = true; // default: 0
|
|
18224
|
+
whiteList['border-image-repeat'] = true; // default: stretch
|
|
18225
|
+
whiteList['border-image-slice'] = true; // default: 100%
|
|
18226
|
+
whiteList['border-image-source'] = true; // default: none
|
|
18227
|
+
whiteList['border-image-width'] = true; // default: 1
|
|
18228
|
+
whiteList['border-left'] = true; // default: depending on individual properties
|
|
18229
|
+
whiteList['border-left-color'] = true; // default: current color
|
|
18230
|
+
whiteList['border-left-style'] = true; // default: none
|
|
18231
|
+
whiteList['border-left-width'] = true; // default: medium
|
|
18232
|
+
whiteList['border-radius'] = true; // default: 0
|
|
18233
|
+
whiteList['border-right'] = true; // default: depending on individual properties
|
|
18234
|
+
whiteList['border-right-color'] = true; // default: current color
|
|
18235
|
+
whiteList['border-right-style'] = true; // default: none
|
|
18236
|
+
whiteList['border-right-width'] = true; // default: medium
|
|
18237
|
+
whiteList['border-spacing'] = true; // default: 0
|
|
18238
|
+
whiteList['border-style'] = true; // default: depending on individual properties
|
|
18239
|
+
whiteList['border-top'] = true; // default: depending on individual properties
|
|
18240
|
+
whiteList['border-top-color'] = true; // default: current color
|
|
18241
|
+
whiteList['border-top-left-radius'] = true; // default: 0
|
|
18242
|
+
whiteList['border-top-right-radius'] = true; // default: 0
|
|
18243
|
+
whiteList['border-top-style'] = true; // default: none
|
|
18244
|
+
whiteList['border-top-width'] = true; // default: medium
|
|
18245
|
+
whiteList['border-width'] = true; // default: depending on individual properties
|
|
18246
|
+
whiteList['bottom'] = false; // default: auto
|
|
18247
|
+
whiteList['box-decoration-break'] = true; // default: slice
|
|
18248
|
+
whiteList['box-shadow'] = true; // default: none
|
|
18249
|
+
whiteList['box-sizing'] = true; // default: content-box
|
|
18250
|
+
whiteList['box-snap'] = true; // default: none
|
|
18251
|
+
whiteList['box-suppress'] = true; // default: show
|
|
18252
|
+
whiteList['break-after'] = true; // default: auto
|
|
18253
|
+
whiteList['break-before'] = true; // default: auto
|
|
18254
|
+
whiteList['break-inside'] = true; // default: auto
|
|
18255
|
+
whiteList['caption-side'] = false; // default: top
|
|
18256
|
+
whiteList['chains'] = false; // default: none
|
|
18257
|
+
whiteList['clear'] = true; // default: none
|
|
18258
|
+
whiteList['clip'] = false; // default: auto
|
|
18259
|
+
whiteList['clip-path'] = false; // default: none
|
|
18260
|
+
whiteList['clip-rule'] = false; // default: nonzero
|
|
18261
|
+
whiteList['color'] = true; // default: implementation dependent
|
|
18262
|
+
whiteList['color-interpolation-filters'] = true; // default: auto
|
|
18263
|
+
whiteList['column-count'] = false; // default: auto
|
|
18264
|
+
whiteList['column-fill'] = false; // default: balance
|
|
18265
|
+
whiteList['column-gap'] = false; // default: normal
|
|
18266
|
+
whiteList['column-rule'] = false; // default: depending on individual properties
|
|
18267
|
+
whiteList['column-rule-color'] = false; // default: current color
|
|
18268
|
+
whiteList['column-rule-style'] = false; // default: medium
|
|
18269
|
+
whiteList['column-rule-width'] = false; // default: medium
|
|
18270
|
+
whiteList['column-span'] = false; // default: none
|
|
18271
|
+
whiteList['column-width'] = false; // default: auto
|
|
18272
|
+
whiteList['columns'] = false; // default: depending on individual properties
|
|
18273
|
+
whiteList['contain'] = false; // default: none
|
|
18274
|
+
whiteList['content'] = false; // default: normal
|
|
18275
|
+
whiteList['counter-increment'] = false; // default: none
|
|
18276
|
+
whiteList['counter-reset'] = false; // default: none
|
|
18277
|
+
whiteList['counter-set'] = false; // default: none
|
|
18278
|
+
whiteList['crop'] = false; // default: auto
|
|
18279
|
+
whiteList['cue'] = false; // default: depending on individual properties
|
|
18280
|
+
whiteList['cue-after'] = false; // default: none
|
|
18281
|
+
whiteList['cue-before'] = false; // default: none
|
|
18282
|
+
whiteList['cursor'] = false; // default: auto
|
|
18283
|
+
whiteList['direction'] = false; // default: ltr
|
|
18284
|
+
whiteList['display'] = true; // default: depending on individual properties
|
|
18285
|
+
whiteList['display-inside'] = true; // default: auto
|
|
18286
|
+
whiteList['display-list'] = true; // default: none
|
|
18287
|
+
whiteList['display-outside'] = true; // default: inline-level
|
|
18288
|
+
whiteList['dominant-baseline'] = false; // default: auto
|
|
18289
|
+
whiteList['elevation'] = false; // default: level
|
|
18290
|
+
whiteList['empty-cells'] = false; // default: show
|
|
18291
|
+
whiteList['filter'] = false; // default: none
|
|
18292
|
+
whiteList['flex'] = false; // default: depending on individual properties
|
|
18293
|
+
whiteList['flex-basis'] = false; // default: auto
|
|
18294
|
+
whiteList['flex-direction'] = false; // default: row
|
|
18295
|
+
whiteList['flex-flow'] = false; // default: depending on individual properties
|
|
18296
|
+
whiteList['flex-grow'] = false; // default: 0
|
|
18297
|
+
whiteList['flex-shrink'] = false; // default: 1
|
|
18298
|
+
whiteList['flex-wrap'] = false; // default: nowrap
|
|
18299
|
+
whiteList['float'] = false; // default: none
|
|
18300
|
+
whiteList['float-offset'] = false; // default: 0 0
|
|
18301
|
+
whiteList['flood-color'] = false; // default: black
|
|
18302
|
+
whiteList['flood-opacity'] = false; // default: 1
|
|
18303
|
+
whiteList['flow-from'] = false; // default: none
|
|
18304
|
+
whiteList['flow-into'] = false; // default: none
|
|
18305
|
+
whiteList['font'] = true; // default: depending on individual properties
|
|
18306
|
+
whiteList['font-family'] = true; // default: implementation dependent
|
|
18307
|
+
whiteList['font-feature-settings'] = true; // default: normal
|
|
18308
|
+
whiteList['font-kerning'] = true; // default: auto
|
|
18309
|
+
whiteList['font-language-override'] = true; // default: normal
|
|
18310
|
+
whiteList['font-size'] = true; // default: medium
|
|
18311
|
+
whiteList['font-size-adjust'] = true; // default: none
|
|
18312
|
+
whiteList['font-stretch'] = true; // default: normal
|
|
18313
|
+
whiteList['font-style'] = true; // default: normal
|
|
18314
|
+
whiteList['font-synthesis'] = true; // default: weight style
|
|
18315
|
+
whiteList['font-variant'] = true; // default: normal
|
|
18316
|
+
whiteList['font-variant-alternates'] = true; // default: normal
|
|
18317
|
+
whiteList['font-variant-caps'] = true; // default: normal
|
|
18318
|
+
whiteList['font-variant-east-asian'] = true; // default: normal
|
|
18319
|
+
whiteList['font-variant-ligatures'] = true; // default: normal
|
|
18320
|
+
whiteList['font-variant-numeric'] = true; // default: normal
|
|
18321
|
+
whiteList['font-variant-position'] = true; // default: normal
|
|
18322
|
+
whiteList['font-weight'] = true; // default: normal
|
|
18323
|
+
whiteList['grid'] = false; // default: depending on individual properties
|
|
18324
|
+
whiteList['grid-area'] = false; // default: depending on individual properties
|
|
18325
|
+
whiteList['grid-auto-columns'] = false; // default: auto
|
|
18326
|
+
whiteList['grid-auto-flow'] = false; // default: none
|
|
18327
|
+
whiteList['grid-auto-rows'] = false; // default: auto
|
|
18328
|
+
whiteList['grid-column'] = false; // default: depending on individual properties
|
|
18329
|
+
whiteList['grid-column-end'] = false; // default: auto
|
|
18330
|
+
whiteList['grid-column-start'] = false; // default: auto
|
|
18331
|
+
whiteList['grid-row'] = false; // default: depending on individual properties
|
|
18332
|
+
whiteList['grid-row-end'] = false; // default: auto
|
|
18333
|
+
whiteList['grid-row-start'] = false; // default: auto
|
|
18334
|
+
whiteList['grid-template'] = false; // default: depending on individual properties
|
|
18335
|
+
whiteList['grid-template-areas'] = false; // default: none
|
|
18336
|
+
whiteList['grid-template-columns'] = false; // default: none
|
|
18337
|
+
whiteList['grid-template-rows'] = false; // default: none
|
|
18338
|
+
whiteList['hanging-punctuation'] = false; // default: none
|
|
18339
|
+
whiteList['height'] = true; // default: auto
|
|
18340
|
+
whiteList['hyphens'] = false; // default: manual
|
|
18341
|
+
whiteList['icon'] = false; // default: auto
|
|
18342
|
+
whiteList['image-orientation'] = false; // default: auto
|
|
18343
|
+
whiteList['image-resolution'] = false; // default: normal
|
|
18344
|
+
whiteList['ime-mode'] = false; // default: auto
|
|
18345
|
+
whiteList['initial-letters'] = false; // default: normal
|
|
18346
|
+
whiteList['inline-box-align'] = false; // default: last
|
|
18347
|
+
whiteList['justify-content'] = false; // default: auto
|
|
18348
|
+
whiteList['justify-items'] = false; // default: auto
|
|
18349
|
+
whiteList['justify-self'] = false; // default: auto
|
|
18350
|
+
whiteList['left'] = false; // default: auto
|
|
18351
|
+
whiteList['letter-spacing'] = true; // default: normal
|
|
18352
|
+
whiteList['lighting-color'] = true; // default: white
|
|
18353
|
+
whiteList['line-box-contain'] = false; // default: block inline replaced
|
|
18354
|
+
whiteList['line-break'] = false; // default: auto
|
|
18355
|
+
whiteList['line-grid'] = false; // default: match-parent
|
|
18356
|
+
whiteList['line-height'] = false; // default: normal
|
|
18357
|
+
whiteList['line-snap'] = false; // default: none
|
|
18358
|
+
whiteList['line-stacking'] = false; // default: depending on individual properties
|
|
18359
|
+
whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
|
|
18360
|
+
whiteList['line-stacking-shift'] = false; // default: consider-shifts
|
|
18361
|
+
whiteList['line-stacking-strategy'] = false; // default: inline-line-height
|
|
18362
|
+
whiteList['list-style'] = true; // default: depending on individual properties
|
|
18363
|
+
whiteList['list-style-image'] = true; // default: none
|
|
18364
|
+
whiteList['list-style-position'] = true; // default: outside
|
|
18365
|
+
whiteList['list-style-type'] = true; // default: disc
|
|
18366
|
+
whiteList['margin'] = true; // default: depending on individual properties
|
|
18367
|
+
whiteList['margin-bottom'] = true; // default: 0
|
|
18368
|
+
whiteList['margin-left'] = true; // default: 0
|
|
18369
|
+
whiteList['margin-right'] = true; // default: 0
|
|
18370
|
+
whiteList['margin-top'] = true; // default: 0
|
|
18371
|
+
whiteList['marker-offset'] = false; // default: auto
|
|
18372
|
+
whiteList['marker-side'] = false; // default: list-item
|
|
18373
|
+
whiteList['marks'] = false; // default: none
|
|
18374
|
+
whiteList['mask'] = false; // default: border-box
|
|
18375
|
+
whiteList['mask-box'] = false; // default: see individual properties
|
|
18376
|
+
whiteList['mask-box-outset'] = false; // default: 0
|
|
18377
|
+
whiteList['mask-box-repeat'] = false; // default: stretch
|
|
18378
|
+
whiteList['mask-box-slice'] = false; // default: 0 fill
|
|
18379
|
+
whiteList['mask-box-source'] = false; // default: none
|
|
18380
|
+
whiteList['mask-box-width'] = false; // default: auto
|
|
18381
|
+
whiteList['mask-clip'] = false; // default: border-box
|
|
18382
|
+
whiteList['mask-image'] = false; // default: none
|
|
18383
|
+
whiteList['mask-origin'] = false; // default: border-box
|
|
18384
|
+
whiteList['mask-position'] = false; // default: center
|
|
18385
|
+
whiteList['mask-repeat'] = false; // default: no-repeat
|
|
18386
|
+
whiteList['mask-size'] = false; // default: border-box
|
|
18387
|
+
whiteList['mask-source-type'] = false; // default: auto
|
|
18388
|
+
whiteList['mask-type'] = false; // default: luminance
|
|
18389
|
+
whiteList['max-height'] = true; // default: none
|
|
18390
|
+
whiteList['max-lines'] = false; // default: none
|
|
18391
|
+
whiteList['max-width'] = true; // default: none
|
|
18392
|
+
whiteList['min-height'] = true; // default: 0
|
|
18393
|
+
whiteList['min-width'] = true; // default: 0
|
|
18394
|
+
whiteList['move-to'] = false; // default: normal
|
|
18395
|
+
whiteList['nav-down'] = false; // default: auto
|
|
18396
|
+
whiteList['nav-index'] = false; // default: auto
|
|
18397
|
+
whiteList['nav-left'] = false; // default: auto
|
|
18398
|
+
whiteList['nav-right'] = false; // default: auto
|
|
18399
|
+
whiteList['nav-up'] = false; // default: auto
|
|
18400
|
+
whiteList['object-fit'] = false; // default: fill
|
|
18401
|
+
whiteList['object-position'] = false; // default: 50% 50%
|
|
18402
|
+
whiteList['opacity'] = false; // default: 1
|
|
18403
|
+
whiteList['order'] = false; // default: 0
|
|
18404
|
+
whiteList['orphans'] = false; // default: 2
|
|
18405
|
+
whiteList['outline'] = false; // default: depending on individual properties
|
|
18406
|
+
whiteList['outline-color'] = false; // default: invert
|
|
18407
|
+
whiteList['outline-offset'] = false; // default: 0
|
|
18408
|
+
whiteList['outline-style'] = false; // default: none
|
|
18409
|
+
whiteList['outline-width'] = false; // default: medium
|
|
18410
|
+
whiteList['overflow'] = false; // default: depending on individual properties
|
|
18411
|
+
whiteList['overflow-wrap'] = false; // default: normal
|
|
18412
|
+
whiteList['overflow-x'] = false; // default: visible
|
|
18413
|
+
whiteList['overflow-y'] = false; // default: visible
|
|
18414
|
+
whiteList['padding'] = true; // default: depending on individual properties
|
|
18415
|
+
whiteList['padding-bottom'] = true; // default: 0
|
|
18416
|
+
whiteList['padding-left'] = true; // default: 0
|
|
18417
|
+
whiteList['padding-right'] = true; // default: 0
|
|
18418
|
+
whiteList['padding-top'] = true; // default: 0
|
|
18419
|
+
whiteList['page'] = false; // default: auto
|
|
18420
|
+
whiteList['page-break-after'] = false; // default: auto
|
|
18421
|
+
whiteList['page-break-before'] = false; // default: auto
|
|
18422
|
+
whiteList['page-break-inside'] = false; // default: auto
|
|
18423
|
+
whiteList['page-policy'] = false; // default: start
|
|
18424
|
+
whiteList['pause'] = false; // default: implementation dependent
|
|
18425
|
+
whiteList['pause-after'] = false; // default: implementation dependent
|
|
18426
|
+
whiteList['pause-before'] = false; // default: implementation dependent
|
|
18427
|
+
whiteList['perspective'] = false; // default: none
|
|
18428
|
+
whiteList['perspective-origin'] = false; // default: 50% 50%
|
|
18429
|
+
whiteList['pitch'] = false; // default: medium
|
|
18430
|
+
whiteList['pitch-range'] = false; // default: 50
|
|
18431
|
+
whiteList['play-during'] = false; // default: auto
|
|
18432
|
+
whiteList['position'] = false; // default: static
|
|
18433
|
+
whiteList['presentation-level'] = false; // default: 0
|
|
18434
|
+
whiteList['quotes'] = false; // default: text
|
|
18435
|
+
whiteList['region-fragment'] = false; // default: auto
|
|
18436
|
+
whiteList['resize'] = false; // default: none
|
|
18437
|
+
whiteList['rest'] = false; // default: depending on individual properties
|
|
18438
|
+
whiteList['rest-after'] = false; // default: none
|
|
18439
|
+
whiteList['rest-before'] = false; // default: none
|
|
18440
|
+
whiteList['richness'] = false; // default: 50
|
|
18441
|
+
whiteList['right'] = false; // default: auto
|
|
18442
|
+
whiteList['rotation'] = false; // default: 0
|
|
18443
|
+
whiteList['rotation-point'] = false; // default: 50% 50%
|
|
18444
|
+
whiteList['ruby-align'] = false; // default: auto
|
|
18445
|
+
whiteList['ruby-merge'] = false; // default: separate
|
|
18446
|
+
whiteList['ruby-position'] = false; // default: before
|
|
18447
|
+
whiteList['shape-image-threshold'] = false; // default: 0.0
|
|
18448
|
+
whiteList['shape-outside'] = false; // default: none
|
|
18449
|
+
whiteList['shape-margin'] = false; // default: 0
|
|
18450
|
+
whiteList['size'] = false; // default: auto
|
|
18451
|
+
whiteList['speak'] = false; // default: auto
|
|
18452
|
+
whiteList['speak-as'] = false; // default: normal
|
|
18453
|
+
whiteList['speak-header'] = false; // default: once
|
|
18454
|
+
whiteList['speak-numeral'] = false; // default: continuous
|
|
18455
|
+
whiteList['speak-punctuation'] = false; // default: none
|
|
18456
|
+
whiteList['speech-rate'] = false; // default: medium
|
|
18457
|
+
whiteList['stress'] = false; // default: 50
|
|
18458
|
+
whiteList['string-set'] = false; // default: none
|
|
18459
|
+
whiteList['tab-size'] = false; // default: 8
|
|
18460
|
+
whiteList['table-layout'] = false; // default: auto
|
|
18461
|
+
whiteList['text-align'] = true; // default: start
|
|
18462
|
+
whiteList['text-align-last'] = true; // default: auto
|
|
18463
|
+
whiteList['text-combine-upright'] = true; // default: none
|
|
18464
|
+
whiteList['text-decoration'] = true; // default: none
|
|
18465
|
+
whiteList['text-decoration-color'] = true; // default: currentColor
|
|
18466
|
+
whiteList['text-decoration-line'] = true; // default: none
|
|
18467
|
+
whiteList['text-decoration-skip'] = true; // default: objects
|
|
18468
|
+
whiteList['text-decoration-style'] = true; // default: solid
|
|
18469
|
+
whiteList['text-emphasis'] = true; // default: depending on individual properties
|
|
18470
|
+
whiteList['text-emphasis-color'] = true; // default: currentColor
|
|
18471
|
+
whiteList['text-emphasis-position'] = true; // default: over right
|
|
18472
|
+
whiteList['text-emphasis-style'] = true; // default: none
|
|
18473
|
+
whiteList['text-height'] = true; // default: auto
|
|
18474
|
+
whiteList['text-indent'] = true; // default: 0
|
|
18475
|
+
whiteList['text-justify'] = true; // default: auto
|
|
18476
|
+
whiteList['text-orientation'] = true; // default: mixed
|
|
18477
|
+
whiteList['text-overflow'] = true; // default: clip
|
|
18478
|
+
whiteList['text-shadow'] = true; // default: none
|
|
18479
|
+
whiteList['text-space-collapse'] = true; // default: collapse
|
|
18480
|
+
whiteList['text-transform'] = true; // default: none
|
|
18481
|
+
whiteList['text-underline-position'] = true; // default: auto
|
|
18482
|
+
whiteList['text-wrap'] = true; // default: normal
|
|
18483
|
+
whiteList['top'] = false; // default: auto
|
|
18484
|
+
whiteList['transform'] = false; // default: none
|
|
18485
|
+
whiteList['transform-origin'] = false; // default: 50% 50% 0
|
|
18486
|
+
whiteList['transform-style'] = false; // default: flat
|
|
18487
|
+
whiteList['transition'] = false; // default: depending on individual properties
|
|
18488
|
+
whiteList['transition-delay'] = false; // default: 0s
|
|
18489
|
+
whiteList['transition-duration'] = false; // default: 0s
|
|
18490
|
+
whiteList['transition-property'] = false; // default: all
|
|
18491
|
+
whiteList['transition-timing-function'] = false; // default: ease
|
|
18492
|
+
whiteList['unicode-bidi'] = false; // default: normal
|
|
18493
|
+
whiteList['vertical-align'] = false; // default: baseline
|
|
18494
|
+
whiteList['visibility'] = false; // default: visible
|
|
18495
|
+
whiteList['voice-balance'] = false; // default: center
|
|
18496
|
+
whiteList['voice-duration'] = false; // default: auto
|
|
18497
|
+
whiteList['voice-family'] = false; // default: implementation dependent
|
|
18498
|
+
whiteList['voice-pitch'] = false; // default: medium
|
|
18499
|
+
whiteList['voice-range'] = false; // default: medium
|
|
18500
|
+
whiteList['voice-rate'] = false; // default: normal
|
|
18501
|
+
whiteList['voice-stress'] = false; // default: normal
|
|
18502
|
+
whiteList['voice-volume'] = false; // default: medium
|
|
18503
|
+
whiteList['volume'] = false; // default: medium
|
|
18504
|
+
whiteList['white-space'] = false; // default: normal
|
|
18505
|
+
whiteList['widows'] = false; // default: 2
|
|
18506
|
+
whiteList['width'] = true; // default: auto
|
|
18507
|
+
whiteList['will-change'] = false; // default: auto
|
|
18508
|
+
whiteList['word-break'] = true; // default: normal
|
|
18509
|
+
whiteList['word-spacing'] = true; // default: normal
|
|
18510
|
+
whiteList['word-wrap'] = true; // default: normal
|
|
18511
|
+
whiteList['wrap-flow'] = false; // default: auto
|
|
18512
|
+
whiteList['wrap-through'] = false; // default: wrap
|
|
18513
|
+
whiteList['writing-mode'] = false; // default: horizontal-tb
|
|
18514
|
+
whiteList['z-index'] = false; // default: auto
|
|
18515
|
+
|
|
18516
|
+
return whiteList;
|
|
18517
|
+
}
|
|
18518
|
+
|
|
18519
|
+
/**
|
|
18520
|
+
* 匹配到白名单上的一个属性时
|
|
18521
|
+
*
|
|
18522
|
+
* @param {String} name
|
|
18523
|
+
* @param {String} value
|
|
18524
|
+
* @param {Object} options
|
|
18525
|
+
* @return {String}
|
|
18526
|
+
*/
|
|
18527
|
+
function onAttr(name, value, options) {
|
|
18528
|
+
// do nothing
|
|
18529
|
+
}
|
|
18530
|
+
|
|
18531
|
+
/**
|
|
18532
|
+
* 匹配到不在白名单上的一个属性时
|
|
18533
|
+
*
|
|
18534
|
+
* @param {String} name
|
|
18535
|
+
* @param {String} value
|
|
18536
|
+
* @param {Object} options
|
|
18537
|
+
* @return {String}
|
|
18538
|
+
*/
|
|
18539
|
+
function onIgnoreAttr(name, value, options) {
|
|
18540
|
+
// do nothing
|
|
18541
|
+
}
|
|
18542
|
+
var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
|
|
18543
|
+
|
|
18544
|
+
/**
|
|
18545
|
+
* 过滤属性值
|
|
18546
|
+
*
|
|
18547
|
+
* @param {String} name
|
|
18548
|
+
* @param {String} value
|
|
18549
|
+
* @return {String}
|
|
18550
|
+
*/
|
|
18551
|
+
function safeAttrValue(name, value) {
|
|
18552
|
+
if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
|
|
18553
|
+
return value;
|
|
18554
|
+
}
|
|
18555
|
+
var whiteList = getDefaultWhiteList();
|
|
18556
|
+
var getDefaultWhiteList_1 = getDefaultWhiteList;
|
|
18557
|
+
var onAttr_1 = onAttr;
|
|
18558
|
+
var onIgnoreAttr_1 = onIgnoreAttr;
|
|
18559
|
+
var safeAttrValue_1 = safeAttrValue;
|
|
18560
|
+
var _default = {
|
|
18561
|
+
whiteList: whiteList,
|
|
18562
|
+
getDefaultWhiteList: getDefaultWhiteList_1,
|
|
18563
|
+
onAttr: onAttr_1,
|
|
18564
|
+
onIgnoreAttr: onIgnoreAttr_1,
|
|
18565
|
+
safeAttrValue: safeAttrValue_1
|
|
18566
|
+
};
|
|
18567
|
+
|
|
18568
|
+
var util = {
|
|
18569
|
+
indexOf: function indexOf(arr, item) {
|
|
18570
|
+
var i, j;
|
|
18571
|
+
if (Array.prototype.indexOf) {
|
|
18572
|
+
return arr.indexOf(item);
|
|
18573
|
+
}
|
|
18574
|
+
for (i = 0, j = arr.length; i < j; i++) {
|
|
18575
|
+
if (arr[i] === item) {
|
|
18576
|
+
return i;
|
|
18577
|
+
}
|
|
18578
|
+
}
|
|
18579
|
+
return -1;
|
|
18580
|
+
},
|
|
18581
|
+
forEach: function forEach(arr, fn, scope) {
|
|
18582
|
+
var i, j;
|
|
18583
|
+
if (Array.prototype.forEach) {
|
|
18584
|
+
return arr.forEach(fn, scope);
|
|
18585
|
+
}
|
|
18586
|
+
for (i = 0, j = arr.length; i < j; i++) {
|
|
18587
|
+
fn.call(scope, arr[i], i, arr);
|
|
18588
|
+
}
|
|
18589
|
+
},
|
|
18590
|
+
trim: function trim(str) {
|
|
18591
|
+
if (String.prototype.trim) {
|
|
18592
|
+
return str.trim();
|
|
18593
|
+
}
|
|
18594
|
+
return str.replace(/(^\s*)|(\s*$)/g, '');
|
|
18595
|
+
},
|
|
18596
|
+
trimRight: function trimRight(str) {
|
|
18597
|
+
if (String.prototype.trimRight) {
|
|
18598
|
+
return str.trimRight();
|
|
18599
|
+
}
|
|
18600
|
+
return str.replace(/(\s*$)/g, '');
|
|
18601
|
+
}
|
|
18602
|
+
};
|
|
18603
|
+
|
|
18604
|
+
/**
|
|
18605
|
+
* cssfilter
|
|
18606
|
+
*
|
|
18607
|
+
* @author 老雷<leizongmin@gmail.com>
|
|
18608
|
+
*/
|
|
18609
|
+
|
|
18610
|
+
/**
|
|
18611
|
+
* 解析style
|
|
18612
|
+
*
|
|
18613
|
+
* @param {String} css
|
|
18614
|
+
* @param {Function} onAttr 处理属性的函数
|
|
18615
|
+
* 参数格式: function (sourcePosition, position, name, value, source)
|
|
18616
|
+
* @return {String}
|
|
18617
|
+
*/
|
|
18618
|
+
function parseStyle(css, onAttr) {
|
|
18619
|
+
css = util.trimRight(css);
|
|
18620
|
+
if (css[css.length - 1] !== ';') css += ';';
|
|
18621
|
+
var cssLength = css.length;
|
|
18622
|
+
var isParenthesisOpen = false;
|
|
18623
|
+
var lastPos = 0;
|
|
18624
|
+
var i = 0;
|
|
18625
|
+
var retCSS = '';
|
|
18626
|
+
function addNewAttr() {
|
|
18627
|
+
// 如果没有正常的闭合圆括号,则直接忽略当前属性
|
|
18628
|
+
if (!isParenthesisOpen) {
|
|
18629
|
+
var source = util.trim(css.slice(lastPos, i));
|
|
18630
|
+
var j = source.indexOf(':');
|
|
18631
|
+
if (j !== -1) {
|
|
18632
|
+
var name = util.trim(source.slice(0, j));
|
|
18633
|
+
var value = util.trim(source.slice(j + 1));
|
|
18634
|
+
// 必须有属性名称
|
|
18635
|
+
if (name) {
|
|
18636
|
+
var ret = onAttr(lastPos, retCSS.length, name, value, source);
|
|
18637
|
+
if (ret) retCSS += ret + '; ';
|
|
18638
|
+
}
|
|
18639
|
+
}
|
|
18640
|
+
}
|
|
18641
|
+
lastPos = i + 1;
|
|
18642
|
+
}
|
|
18643
|
+
for (; i < cssLength; i++) {
|
|
18644
|
+
var c = css[i];
|
|
18645
|
+
if (c === '/' && css[i + 1] === '*') {
|
|
18646
|
+
// 备注开始
|
|
18647
|
+
var j = css.indexOf('*/', i + 2);
|
|
18648
|
+
// 如果没有正常的备注结束,则后面的部分全部跳过
|
|
18649
|
+
if (j === -1) break;
|
|
18650
|
+
// 直接将当前位置调到备注结尾,并且初始化状态
|
|
18651
|
+
i = j + 1;
|
|
18652
|
+
lastPos = i + 1;
|
|
18653
|
+
isParenthesisOpen = false;
|
|
18654
|
+
} else if (c === '(') {
|
|
18655
|
+
isParenthesisOpen = true;
|
|
18656
|
+
} else if (c === ')') {
|
|
18657
|
+
isParenthesisOpen = false;
|
|
18658
|
+
} else if (c === ';') {
|
|
18659
|
+
if (isParenthesisOpen) ; else {
|
|
18660
|
+
addNewAttr();
|
|
18661
|
+
}
|
|
18662
|
+
} else if (c === '\n') {
|
|
18663
|
+
addNewAttr();
|
|
18664
|
+
}
|
|
18665
|
+
}
|
|
18666
|
+
return util.trim(retCSS);
|
|
18667
|
+
}
|
|
18668
|
+
var parser = parseStyle;
|
|
18669
|
+
|
|
18670
|
+
/**
|
|
18671
|
+
* cssfilter
|
|
18672
|
+
*
|
|
18673
|
+
* @author 老雷<leizongmin@gmail.com>
|
|
18674
|
+
*/
|
|
18675
|
+
|
|
18676
|
+
/**
|
|
18677
|
+
* 返回值是否为空
|
|
18678
|
+
*
|
|
18679
|
+
* @param {Object} obj
|
|
18680
|
+
* @return {Boolean}
|
|
18681
|
+
*/
|
|
18682
|
+
function isNull(obj) {
|
|
18683
|
+
return obj === undefined || obj === null;
|
|
18684
|
+
}
|
|
18685
|
+
|
|
18686
|
+
/**
|
|
18687
|
+
* 浅拷贝对象
|
|
18688
|
+
*
|
|
18689
|
+
* @param {Object} obj
|
|
18690
|
+
* @return {Object}
|
|
18691
|
+
*/
|
|
18692
|
+
function shallowCopyObject(obj) {
|
|
18693
|
+
var ret = {};
|
|
18694
|
+
for (var i in obj) {
|
|
18695
|
+
ret[i] = obj[i];
|
|
18696
|
+
}
|
|
18697
|
+
return ret;
|
|
18698
|
+
}
|
|
18699
|
+
|
|
18700
|
+
/**
|
|
18701
|
+
* 创建CSS过滤器
|
|
18702
|
+
*
|
|
18703
|
+
* @param {Object} options
|
|
18704
|
+
* - {Object} whiteList
|
|
18705
|
+
* - {Function} onAttr
|
|
18706
|
+
* - {Function} onIgnoreAttr
|
|
18707
|
+
* - {Function} safeAttrValue
|
|
18708
|
+
*/
|
|
18709
|
+
function FilterCSS(options) {
|
|
18710
|
+
options = shallowCopyObject(options || {});
|
|
18711
|
+
options.whiteList = options.whiteList || _default.whiteList;
|
|
18712
|
+
options.onAttr = options.onAttr || _default.onAttr;
|
|
18713
|
+
options.onIgnoreAttr = options.onIgnoreAttr || _default.onIgnoreAttr;
|
|
18714
|
+
options.safeAttrValue = options.safeAttrValue || _default.safeAttrValue;
|
|
18715
|
+
this.options = options;
|
|
18716
|
+
}
|
|
18717
|
+
FilterCSS.prototype.process = function (css) {
|
|
18718
|
+
// 兼容各种奇葩输入
|
|
18719
|
+
css = css || '';
|
|
18720
|
+
css = css.toString();
|
|
18721
|
+
if (!css) return '';
|
|
18722
|
+
var me = this;
|
|
18723
|
+
var options = me.options;
|
|
18724
|
+
var whiteList = options.whiteList;
|
|
18725
|
+
var onAttr = options.onAttr;
|
|
18726
|
+
var onIgnoreAttr = options.onIgnoreAttr;
|
|
18727
|
+
var safeAttrValue = options.safeAttrValue;
|
|
18728
|
+
var retCSS = parser(css, function (sourcePosition, position, name, value, source) {
|
|
18729
|
+
var check = whiteList[name];
|
|
18730
|
+
var isWhite = false;
|
|
18731
|
+
if (check === true) isWhite = check;else if (typeof check === 'function') isWhite = check(value);else if (check instanceof RegExp) isWhite = check.test(value);
|
|
18732
|
+
if (isWhite !== true) isWhite = false;
|
|
18733
|
+
|
|
18734
|
+
// 如果过滤后 value 为空则直接忽略
|
|
18735
|
+
value = safeAttrValue(name, value);
|
|
18736
|
+
if (!value) return;
|
|
18737
|
+
var opts = {
|
|
18738
|
+
position: position,
|
|
18739
|
+
sourcePosition: sourcePosition,
|
|
18740
|
+
source: source,
|
|
18741
|
+
isWhite: isWhite
|
|
18742
|
+
};
|
|
18743
|
+
if (isWhite) {
|
|
18744
|
+
var ret = onAttr(name, value, opts);
|
|
18745
|
+
if (isNull(ret)) {
|
|
18746
|
+
return name + ':' + value;
|
|
18747
|
+
} else {
|
|
18748
|
+
return ret;
|
|
18749
|
+
}
|
|
18750
|
+
} else {
|
|
18751
|
+
var ret = onIgnoreAttr(name, value, opts);
|
|
18752
|
+
if (!isNull(ret)) {
|
|
18753
|
+
return ret;
|
|
18754
|
+
}
|
|
18755
|
+
}
|
|
18756
|
+
});
|
|
18757
|
+
return retCSS;
|
|
18758
|
+
};
|
|
18759
|
+
var css$1 = FilterCSS;
|
|
18760
|
+
|
|
18761
|
+
var lib$1 = createCommonjsModule(function (module, exports) {
|
|
18762
|
+
/**
|
|
18763
|
+
* cssfilter
|
|
18764
|
+
*
|
|
18765
|
+
* @author 老雷<leizongmin@gmail.com>
|
|
18766
|
+
*/
|
|
18767
|
+
|
|
18768
|
+
/**
|
|
18769
|
+
* XSS过滤
|
|
18770
|
+
*
|
|
18771
|
+
* @param {String} css 要过滤的CSS代码
|
|
18772
|
+
* @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr
|
|
18773
|
+
* @return {String}
|
|
18774
|
+
*/
|
|
18775
|
+
function filterCSS(html, options) {
|
|
18776
|
+
var xss = new css$1(options);
|
|
18777
|
+
return xss.process(html);
|
|
18778
|
+
}
|
|
18779
|
+
|
|
18780
|
+
// 输出
|
|
18781
|
+
exports = module.exports = filterCSS;
|
|
18782
|
+
exports.FilterCSS = css$1;
|
|
18783
|
+
for (var i in _default) exports[i] = _default[i];
|
|
18784
|
+
|
|
18785
|
+
// 在浏览器端使用
|
|
18786
|
+
if (typeof window !== 'undefined') {
|
|
18787
|
+
window.filterCSS = module.exports;
|
|
18788
|
+
}
|
|
18789
|
+
});
|
|
18790
|
+
var lib_1$1 = lib$1.FilterCSS;
|
|
18791
|
+
|
|
18792
|
+
var util$1 = {
|
|
18793
|
+
indexOf: function indexOf(arr, item) {
|
|
18794
|
+
var i, j;
|
|
18795
|
+
if (Array.prototype.indexOf) {
|
|
18796
|
+
return arr.indexOf(item);
|
|
18797
|
+
}
|
|
18798
|
+
for (i = 0, j = arr.length; i < j; i++) {
|
|
18799
|
+
if (arr[i] === item) {
|
|
18800
|
+
return i;
|
|
18801
|
+
}
|
|
18802
|
+
}
|
|
18803
|
+
return -1;
|
|
18804
|
+
},
|
|
18805
|
+
forEach: function forEach(arr, fn, scope) {
|
|
18806
|
+
var i, j;
|
|
18807
|
+
if (Array.prototype.forEach) {
|
|
18808
|
+
return arr.forEach(fn, scope);
|
|
18809
|
+
}
|
|
18810
|
+
for (i = 0, j = arr.length; i < j; i++) {
|
|
18811
|
+
fn.call(scope, arr[i], i, arr);
|
|
18812
|
+
}
|
|
18813
|
+
},
|
|
18814
|
+
trim: function trim(str) {
|
|
18815
|
+
if (String.prototype.trim) {
|
|
18816
|
+
return str.trim();
|
|
18817
|
+
}
|
|
18818
|
+
return str.replace(/(^\s*)|(\s*$)/g, "");
|
|
18819
|
+
},
|
|
18820
|
+
spaceIndex: function spaceIndex(str) {
|
|
18821
|
+
var reg = /\s|\n|\t/;
|
|
18822
|
+
var match = reg.exec(str);
|
|
18823
|
+
return match ? match.index : -1;
|
|
18824
|
+
}
|
|
18825
|
+
};
|
|
18826
|
+
|
|
18827
|
+
/**
|
|
18828
|
+
* default settings
|
|
18829
|
+
*
|
|
18830
|
+
* @author Zongmin Lei<leizongmin@gmail.com>
|
|
18831
|
+
*/
|
|
18832
|
+
|
|
18833
|
+
var FilterCSS$1 = lib$1.FilterCSS;
|
|
18834
|
+
var getDefaultCSSWhiteList = lib$1.getDefaultWhiteList;
|
|
18835
|
+
function getDefaultWhiteList$1() {
|
|
18836
|
+
return {
|
|
18837
|
+
a: ["target", "href", "title"],
|
|
18838
|
+
abbr: ["title"],
|
|
18839
|
+
address: [],
|
|
18840
|
+
area: ["shape", "coords", "href", "alt"],
|
|
18841
|
+
article: [],
|
|
18842
|
+
aside: [],
|
|
18843
|
+
audio: ["autoplay", "controls", "crossorigin", "loop", "muted", "preload", "src"],
|
|
18844
|
+
b: [],
|
|
18845
|
+
bdi: ["dir"],
|
|
18846
|
+
bdo: ["dir"],
|
|
18847
|
+
big: [],
|
|
18848
|
+
blockquote: ["cite"],
|
|
18849
|
+
br: [],
|
|
18850
|
+
caption: [],
|
|
18851
|
+
center: [],
|
|
18852
|
+
cite: [],
|
|
18853
|
+
code: [],
|
|
18854
|
+
col: ["align", "valign", "span", "width"],
|
|
18855
|
+
colgroup: ["align", "valign", "span", "width"],
|
|
18856
|
+
dd: [],
|
|
18857
|
+
del: ["datetime"],
|
|
18858
|
+
details: ["open"],
|
|
18859
|
+
div: [],
|
|
18860
|
+
dl: [],
|
|
18861
|
+
dt: [],
|
|
18862
|
+
em: [],
|
|
18863
|
+
figcaption: [],
|
|
18864
|
+
figure: [],
|
|
18865
|
+
font: ["color", "size", "face"],
|
|
18866
|
+
footer: [],
|
|
18867
|
+
h1: [],
|
|
18868
|
+
h2: [],
|
|
18869
|
+
h3: [],
|
|
18870
|
+
h4: [],
|
|
18871
|
+
h5: [],
|
|
18872
|
+
h6: [],
|
|
18873
|
+
header: [],
|
|
18874
|
+
hr: [],
|
|
18875
|
+
i: [],
|
|
18876
|
+
img: ["src", "alt", "title", "width", "height"],
|
|
18877
|
+
ins: ["datetime"],
|
|
18878
|
+
li: [],
|
|
18879
|
+
mark: [],
|
|
18880
|
+
nav: [],
|
|
18881
|
+
ol: [],
|
|
18882
|
+
p: [],
|
|
18883
|
+
pre: [],
|
|
18884
|
+
s: [],
|
|
18885
|
+
section: [],
|
|
18886
|
+
small: [],
|
|
18887
|
+
span: [],
|
|
18888
|
+
sub: [],
|
|
18889
|
+
summary: [],
|
|
18890
|
+
sup: [],
|
|
18891
|
+
strong: [],
|
|
18892
|
+
strike: [],
|
|
18893
|
+
table: ["width", "border", "align", "valign"],
|
|
18894
|
+
tbody: ["align", "valign"],
|
|
18895
|
+
td: ["width", "rowspan", "colspan", "align", "valign"],
|
|
18896
|
+
tfoot: ["align", "valign"],
|
|
18897
|
+
th: ["width", "rowspan", "colspan", "align", "valign"],
|
|
18898
|
+
thead: ["align", "valign"],
|
|
18899
|
+
tr: ["rowspan", "align", "valign"],
|
|
18900
|
+
tt: [],
|
|
18901
|
+
u: [],
|
|
18902
|
+
ul: [],
|
|
18903
|
+
video: ["autoplay", "controls", "crossorigin", "loop", "muted", "playsinline", "poster", "preload", "src", "height", "width"]
|
|
18904
|
+
};
|
|
18905
|
+
}
|
|
18906
|
+
var defaultCSSFilter = new FilterCSS$1();
|
|
18907
|
+
|
|
18908
|
+
/**
|
|
18909
|
+
* default onTag function
|
|
18910
|
+
*
|
|
18911
|
+
* @param {String} tag
|
|
18912
|
+
* @param {String} html
|
|
18913
|
+
* @param {Object} options
|
|
18914
|
+
* @return {String}
|
|
18915
|
+
*/
|
|
18916
|
+
function onTag(tag, html, options) {
|
|
18917
|
+
// do nothing
|
|
18918
|
+
}
|
|
18919
|
+
|
|
18920
|
+
/**
|
|
18921
|
+
* default onIgnoreTag function
|
|
18922
|
+
*
|
|
18923
|
+
* @param {String} tag
|
|
18924
|
+
* @param {String} html
|
|
18925
|
+
* @param {Object} options
|
|
18926
|
+
* @return {String}
|
|
18927
|
+
*/
|
|
18928
|
+
function onIgnoreTag(tag, html, options) {
|
|
18929
|
+
// do nothing
|
|
18930
|
+
}
|
|
18931
|
+
|
|
18932
|
+
/**
|
|
18933
|
+
* default onTagAttr function
|
|
18934
|
+
*
|
|
18935
|
+
* @param {String} tag
|
|
18936
|
+
* @param {String} name
|
|
18937
|
+
* @param {String} value
|
|
18938
|
+
* @return {String}
|
|
18939
|
+
*/
|
|
18940
|
+
function onTagAttr(tag, name, value) {
|
|
18941
|
+
// do nothing
|
|
18942
|
+
}
|
|
18943
|
+
|
|
18944
|
+
/**
|
|
18945
|
+
* default onIgnoreTagAttr function
|
|
18946
|
+
*
|
|
18947
|
+
* @param {String} tag
|
|
18948
|
+
* @param {String} name
|
|
18949
|
+
* @param {String} value
|
|
18950
|
+
* @return {String}
|
|
18951
|
+
*/
|
|
18952
|
+
function onIgnoreTagAttr(tag, name, value) {
|
|
18953
|
+
// do nothing
|
|
18954
|
+
}
|
|
18955
|
+
|
|
18956
|
+
/**
|
|
18957
|
+
* default escapeHtml function
|
|
18958
|
+
*
|
|
18959
|
+
* @param {String} html
|
|
18960
|
+
*/
|
|
18961
|
+
function escapeHtml(html) {
|
|
18962
|
+
return html.replace(REGEXP_LT, "<").replace(REGEXP_GT, ">");
|
|
18963
|
+
}
|
|
18964
|
+
|
|
18965
|
+
/**
|
|
18966
|
+
* default safeAttrValue function
|
|
18967
|
+
*
|
|
18968
|
+
* @param {String} tag
|
|
18969
|
+
* @param {String} name
|
|
18970
|
+
* @param {String} value
|
|
18971
|
+
* @param {Object} cssFilter
|
|
18972
|
+
* @return {String}
|
|
18973
|
+
*/
|
|
18974
|
+
function safeAttrValue$1(tag, name, value, cssFilter) {
|
|
18975
|
+
// unescape attribute value firstly
|
|
18976
|
+
value = friendlyAttrValue(value);
|
|
18977
|
+
if (name === "href" || name === "src") {
|
|
18978
|
+
// filter `href` and `src` attribute
|
|
18979
|
+
// only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`
|
|
18980
|
+
value = util$1.trim(value);
|
|
18981
|
+
if (value === "#") return "#";
|
|
18982
|
+
if (!(value.substr(0, 7) === "http://" || value.substr(0, 8) === "https://" || value.substr(0, 7) === "mailto:" || value.substr(0, 4) === "tel:" || value.substr(0, 11) === "data:image/" || value.substr(0, 6) === "ftp://" || value.substr(0, 2) === "./" || value.substr(0, 3) === "../" || value[0] === "#" || value[0] === "/")) {
|
|
18983
|
+
return "";
|
|
18984
|
+
}
|
|
18985
|
+
} else if (name === "background") {
|
|
18986
|
+
// filter `background` attribute (maybe no use)
|
|
18987
|
+
// `javascript:`
|
|
18988
|
+
REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
|
|
18989
|
+
if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
|
|
18990
|
+
return "";
|
|
18991
|
+
}
|
|
18992
|
+
} else if (name === "style") {
|
|
18993
|
+
// `expression()`
|
|
18994
|
+
REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
|
|
18995
|
+
if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
|
|
18996
|
+
return "";
|
|
18997
|
+
}
|
|
18998
|
+
// `url()`
|
|
18999
|
+
REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
|
|
19000
|
+
if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
|
|
19001
|
+
REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
|
|
19002
|
+
if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
|
|
19003
|
+
return "";
|
|
19004
|
+
}
|
|
19005
|
+
}
|
|
19006
|
+
if (cssFilter !== false) {
|
|
19007
|
+
cssFilter = cssFilter || defaultCSSFilter;
|
|
19008
|
+
value = cssFilter.process(value);
|
|
19009
|
+
}
|
|
19010
|
+
}
|
|
19011
|
+
|
|
19012
|
+
// escape `<>"` before returns
|
|
19013
|
+
value = escapeAttrValue(value);
|
|
19014
|
+
return value;
|
|
19015
|
+
}
|
|
19016
|
+
|
|
19017
|
+
// RegExp list
|
|
19018
|
+
var REGEXP_LT = /</g;
|
|
19019
|
+
var REGEXP_GT = />/g;
|
|
19020
|
+
var REGEXP_QUOTE = /"/g;
|
|
19021
|
+
var REGEXP_QUOTE_2 = /"/g;
|
|
19022
|
+
var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
|
|
19023
|
+
var REGEXP_ATTR_VALUE_COLON = /:?/gim;
|
|
19024
|
+
var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
|
|
19025
|
+
// var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//gm;
|
|
19026
|
+
var REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi;
|
|
19027
|
+
// var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;
|
|
19028
|
+
// var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;
|
|
19029
|
+
var REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
|
|
19030
|
+
var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
|
|
19031
|
+
|
|
19032
|
+
/**
|
|
19033
|
+
* escape double quote
|
|
19034
|
+
*
|
|
19035
|
+
* @param {String} str
|
|
19036
|
+
* @return {String} str
|
|
19037
|
+
*/
|
|
19038
|
+
function escapeQuote(str) {
|
|
19039
|
+
return str.replace(REGEXP_QUOTE, """);
|
|
19040
|
+
}
|
|
19041
|
+
|
|
19042
|
+
/**
|
|
19043
|
+
* unescape double quote
|
|
19044
|
+
*
|
|
19045
|
+
* @param {String} str
|
|
19046
|
+
* @return {String} str
|
|
19047
|
+
*/
|
|
19048
|
+
function unescapeQuote(str) {
|
|
19049
|
+
return str.replace(REGEXP_QUOTE_2, '"');
|
|
19050
|
+
}
|
|
19051
|
+
|
|
19052
|
+
/**
|
|
19053
|
+
* escape html entities
|
|
19054
|
+
*
|
|
19055
|
+
* @param {String} str
|
|
19056
|
+
* @return {String}
|
|
19057
|
+
*/
|
|
19058
|
+
function escapeHtmlEntities(str) {
|
|
19059
|
+
return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {
|
|
19060
|
+
return code[0] === "x" || code[0] === "X" ? String.fromCharCode(parseInt(code.substr(1), 16)) : String.fromCharCode(parseInt(code, 10));
|
|
19061
|
+
});
|
|
19062
|
+
}
|
|
19063
|
+
|
|
19064
|
+
/**
|
|
19065
|
+
* escape html5 new danger entities
|
|
19066
|
+
*
|
|
19067
|
+
* @param {String} str
|
|
19068
|
+
* @return {String}
|
|
19069
|
+
*/
|
|
19070
|
+
function escapeDangerHtml5Entities(str) {
|
|
19071
|
+
return str.replace(REGEXP_ATTR_VALUE_COLON, ":").replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
|
|
19072
|
+
}
|
|
19073
|
+
|
|
19074
|
+
/**
|
|
19075
|
+
* clear nonprintable characters
|
|
19076
|
+
*
|
|
19077
|
+
* @param {String} str
|
|
19078
|
+
* @return {String}
|
|
19079
|
+
*/
|
|
19080
|
+
function clearNonPrintableCharacter(str) {
|
|
19081
|
+
var str2 = "";
|
|
19082
|
+
for (var i = 0, len = str.length; i < len; i++) {
|
|
19083
|
+
str2 += str.charCodeAt(i) < 32 ? " " : str.charAt(i);
|
|
19084
|
+
}
|
|
19085
|
+
return util$1.trim(str2);
|
|
19086
|
+
}
|
|
19087
|
+
|
|
19088
|
+
/**
|
|
19089
|
+
* get friendly attribute value
|
|
19090
|
+
*
|
|
19091
|
+
* @param {String} str
|
|
19092
|
+
* @return {String}
|
|
19093
|
+
*/
|
|
19094
|
+
function friendlyAttrValue(str) {
|
|
19095
|
+
str = unescapeQuote(str);
|
|
19096
|
+
str = escapeHtmlEntities(str);
|
|
19097
|
+
str = escapeDangerHtml5Entities(str);
|
|
19098
|
+
str = clearNonPrintableCharacter(str);
|
|
19099
|
+
return str;
|
|
19100
|
+
}
|
|
19101
|
+
|
|
19102
|
+
/**
|
|
19103
|
+
* unescape attribute value
|
|
19104
|
+
*
|
|
19105
|
+
* @param {String} str
|
|
19106
|
+
* @return {String}
|
|
19107
|
+
*/
|
|
19108
|
+
function escapeAttrValue(str) {
|
|
19109
|
+
str = escapeQuote(str);
|
|
19110
|
+
str = escapeHtml(str);
|
|
19111
|
+
return str;
|
|
19112
|
+
}
|
|
19113
|
+
|
|
19114
|
+
/**
|
|
19115
|
+
* `onIgnoreTag` function for removing all the tags that are not in whitelist
|
|
19116
|
+
*/
|
|
19117
|
+
function onIgnoreTagStripAll() {
|
|
19118
|
+
return "";
|
|
19119
|
+
}
|
|
19120
|
+
|
|
19121
|
+
/**
|
|
19122
|
+
* remove tag body
|
|
19123
|
+
* specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)
|
|
19124
|
+
*
|
|
19125
|
+
* @param {array} tags
|
|
19126
|
+
* @param {function} next
|
|
19127
|
+
*/
|
|
19128
|
+
function StripTagBody(tags, next) {
|
|
19129
|
+
if (typeof next !== "function") {
|
|
19130
|
+
next = function next() {};
|
|
19131
|
+
}
|
|
19132
|
+
var isRemoveAllTag = !Array.isArray(tags);
|
|
19133
|
+
function isRemoveTag(tag) {
|
|
19134
|
+
if (isRemoveAllTag) return true;
|
|
19135
|
+
return util$1.indexOf(tags, tag) !== -1;
|
|
19136
|
+
}
|
|
19137
|
+
var removeList = [];
|
|
19138
|
+
var posStart = false;
|
|
19139
|
+
return {
|
|
19140
|
+
onIgnoreTag: function onIgnoreTag(tag, html, options) {
|
|
19141
|
+
if (isRemoveTag(tag)) {
|
|
19142
|
+
if (options.isClosing) {
|
|
19143
|
+
var ret = "[/removed]";
|
|
19144
|
+
var end = options.position + ret.length;
|
|
19145
|
+
removeList.push([posStart !== false ? posStart : options.position, end]);
|
|
19146
|
+
posStart = false;
|
|
19147
|
+
return ret;
|
|
19148
|
+
} else {
|
|
19149
|
+
if (!posStart) {
|
|
19150
|
+
posStart = options.position;
|
|
19151
|
+
}
|
|
19152
|
+
return "[removed]";
|
|
19153
|
+
}
|
|
19154
|
+
} else {
|
|
19155
|
+
return next(tag, html, options);
|
|
19156
|
+
}
|
|
19157
|
+
},
|
|
19158
|
+
remove: function remove(html) {
|
|
19159
|
+
var rethtml = "";
|
|
19160
|
+
var lastPos = 0;
|
|
19161
|
+
util$1.forEach(removeList, function (pos) {
|
|
19162
|
+
rethtml += html.slice(lastPos, pos[0]);
|
|
19163
|
+
lastPos = pos[1];
|
|
19164
|
+
});
|
|
19165
|
+
rethtml += html.slice(lastPos);
|
|
19166
|
+
return rethtml;
|
|
19167
|
+
}
|
|
19168
|
+
};
|
|
19169
|
+
}
|
|
19170
|
+
|
|
19171
|
+
/**
|
|
19172
|
+
* remove html comments
|
|
19173
|
+
*
|
|
19174
|
+
* @param {String} html
|
|
19175
|
+
* @return {String}
|
|
19176
|
+
*/
|
|
19177
|
+
function stripCommentTag(html) {
|
|
19178
|
+
var retHtml = "";
|
|
19179
|
+
var lastPos = 0;
|
|
19180
|
+
while (lastPos < html.length) {
|
|
19181
|
+
var i = html.indexOf("<!--", lastPos);
|
|
19182
|
+
if (i === -1) {
|
|
19183
|
+
retHtml += html.slice(lastPos);
|
|
19184
|
+
break;
|
|
19185
|
+
}
|
|
19186
|
+
retHtml += html.slice(lastPos, i);
|
|
19187
|
+
var j = html.indexOf("-->", i);
|
|
19188
|
+
if (j === -1) {
|
|
19189
|
+
break;
|
|
19190
|
+
}
|
|
19191
|
+
lastPos = j + 3;
|
|
19192
|
+
}
|
|
19193
|
+
return retHtml;
|
|
19194
|
+
}
|
|
19195
|
+
|
|
19196
|
+
/**
|
|
19197
|
+
* remove invisible characters
|
|
19198
|
+
*
|
|
19199
|
+
* @param {String} html
|
|
19200
|
+
* @return {String}
|
|
19201
|
+
*/
|
|
19202
|
+
function stripBlankChar(html) {
|
|
19203
|
+
var chars = html.split("");
|
|
19204
|
+
chars = chars.filter(function (_char) {
|
|
19205
|
+
var c = _char.charCodeAt(0);
|
|
19206
|
+
if (c === 127) return false;
|
|
19207
|
+
if (c <= 31) {
|
|
19208
|
+
if (c === 10 || c === 13) return true;
|
|
19209
|
+
return false;
|
|
19210
|
+
}
|
|
19211
|
+
return true;
|
|
19212
|
+
});
|
|
19213
|
+
return chars.join("");
|
|
19214
|
+
}
|
|
19215
|
+
var whiteList$1 = getDefaultWhiteList$1();
|
|
19216
|
+
var getDefaultWhiteList_1$1 = getDefaultWhiteList$1;
|
|
19217
|
+
var onTag_1 = onTag;
|
|
19218
|
+
var onIgnoreTag_1 = onIgnoreTag;
|
|
19219
|
+
var onTagAttr_1 = onTagAttr;
|
|
19220
|
+
var onIgnoreTagAttr_1 = onIgnoreTagAttr;
|
|
19221
|
+
var safeAttrValue_1$1 = safeAttrValue$1;
|
|
19222
|
+
var escapeHtml_1 = escapeHtml;
|
|
19223
|
+
var escapeQuote_1 = escapeQuote;
|
|
19224
|
+
var unescapeQuote_1 = unescapeQuote;
|
|
19225
|
+
var escapeHtmlEntities_1 = escapeHtmlEntities;
|
|
19226
|
+
var escapeDangerHtml5Entities_1 = escapeDangerHtml5Entities;
|
|
19227
|
+
var clearNonPrintableCharacter_1 = clearNonPrintableCharacter;
|
|
19228
|
+
var friendlyAttrValue_1 = friendlyAttrValue;
|
|
19229
|
+
var escapeAttrValue_1 = escapeAttrValue;
|
|
19230
|
+
var onIgnoreTagStripAll_1 = onIgnoreTagStripAll;
|
|
19231
|
+
var StripTagBody_1 = StripTagBody;
|
|
19232
|
+
var stripCommentTag_1 = stripCommentTag;
|
|
19233
|
+
var stripBlankChar_1 = stripBlankChar;
|
|
19234
|
+
var cssFilter = defaultCSSFilter;
|
|
19235
|
+
var getDefaultCSSWhiteList_1 = getDefaultCSSWhiteList;
|
|
19236
|
+
var _default$1 = {
|
|
19237
|
+
whiteList: whiteList$1,
|
|
19238
|
+
getDefaultWhiteList: getDefaultWhiteList_1$1,
|
|
19239
|
+
onTag: onTag_1,
|
|
19240
|
+
onIgnoreTag: onIgnoreTag_1,
|
|
19241
|
+
onTagAttr: onTagAttr_1,
|
|
19242
|
+
onIgnoreTagAttr: onIgnoreTagAttr_1,
|
|
19243
|
+
safeAttrValue: safeAttrValue_1$1,
|
|
19244
|
+
escapeHtml: escapeHtml_1,
|
|
19245
|
+
escapeQuote: escapeQuote_1,
|
|
19246
|
+
unescapeQuote: unescapeQuote_1,
|
|
19247
|
+
escapeHtmlEntities: escapeHtmlEntities_1,
|
|
19248
|
+
escapeDangerHtml5Entities: escapeDangerHtml5Entities_1,
|
|
19249
|
+
clearNonPrintableCharacter: clearNonPrintableCharacter_1,
|
|
19250
|
+
friendlyAttrValue: friendlyAttrValue_1,
|
|
19251
|
+
escapeAttrValue: escapeAttrValue_1,
|
|
19252
|
+
onIgnoreTagStripAll: onIgnoreTagStripAll_1,
|
|
19253
|
+
StripTagBody: StripTagBody_1,
|
|
19254
|
+
stripCommentTag: stripCommentTag_1,
|
|
19255
|
+
stripBlankChar: stripBlankChar_1,
|
|
19256
|
+
cssFilter: cssFilter,
|
|
19257
|
+
getDefaultCSSWhiteList: getDefaultCSSWhiteList_1
|
|
19258
|
+
};
|
|
19259
|
+
|
|
19260
|
+
/**
|
|
19261
|
+
* Simple HTML Parser
|
|
19262
|
+
*
|
|
19263
|
+
* @author Zongmin Lei<leizongmin@gmail.com>
|
|
19264
|
+
*/
|
|
19265
|
+
|
|
19266
|
+
/**
|
|
19267
|
+
* get tag name
|
|
19268
|
+
*
|
|
19269
|
+
* @param {String} html e.g. '<a hef="#">'
|
|
19270
|
+
* @return {String}
|
|
19271
|
+
*/
|
|
19272
|
+
function getTagName(html) {
|
|
19273
|
+
var i = util$1.spaceIndex(html);
|
|
19274
|
+
var tagName;
|
|
19275
|
+
if (i === -1) {
|
|
19276
|
+
tagName = html.slice(1, -1);
|
|
19277
|
+
} else {
|
|
19278
|
+
tagName = html.slice(1, i + 1);
|
|
19279
|
+
}
|
|
19280
|
+
tagName = util$1.trim(tagName).toLowerCase();
|
|
19281
|
+
if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
|
|
19282
|
+
if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
|
|
19283
|
+
return tagName;
|
|
19284
|
+
}
|
|
19285
|
+
|
|
19286
|
+
/**
|
|
19287
|
+
* is close tag?
|
|
19288
|
+
*
|
|
19289
|
+
* @param {String} html 如:'<a hef="#">'
|
|
19290
|
+
* @return {Boolean}
|
|
19291
|
+
*/
|
|
19292
|
+
function isClosing(html) {
|
|
19293
|
+
return html.slice(0, 2) === "</";
|
|
19294
|
+
}
|
|
19295
|
+
|
|
19296
|
+
/**
|
|
19297
|
+
* parse input html and returns processed html
|
|
19298
|
+
*
|
|
19299
|
+
* @param {String} html
|
|
19300
|
+
* @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)
|
|
19301
|
+
* @param {Function} escapeHtml
|
|
19302
|
+
* @return {String}
|
|
19303
|
+
*/
|
|
19304
|
+
function parseTag(html, onTag, escapeHtml) {
|
|
19305
|
+
|
|
19306
|
+
var rethtml = "";
|
|
19307
|
+
var lastPos = 0;
|
|
19308
|
+
var tagStart = false;
|
|
19309
|
+
var quoteStart = false;
|
|
19310
|
+
var currentPos = 0;
|
|
19311
|
+
var len = html.length;
|
|
19312
|
+
var currentTagName = "";
|
|
19313
|
+
var currentHtml = "";
|
|
19314
|
+
chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
|
|
19315
|
+
var c = html.charAt(currentPos);
|
|
19316
|
+
if (tagStart === false) {
|
|
19317
|
+
if (c === "<") {
|
|
19318
|
+
tagStart = currentPos;
|
|
19319
|
+
continue;
|
|
19320
|
+
}
|
|
19321
|
+
} else {
|
|
19322
|
+
if (quoteStart === false) {
|
|
19323
|
+
if (c === "<") {
|
|
19324
|
+
rethtml += escapeHtml(html.slice(lastPos, currentPos));
|
|
19325
|
+
tagStart = currentPos;
|
|
19326
|
+
lastPos = currentPos;
|
|
19327
|
+
continue;
|
|
19328
|
+
}
|
|
19329
|
+
if (c === ">" || currentPos === len - 1) {
|
|
19330
|
+
rethtml += escapeHtml(html.slice(lastPos, tagStart));
|
|
19331
|
+
currentHtml = html.slice(tagStart, currentPos + 1);
|
|
19332
|
+
currentTagName = getTagName(currentHtml);
|
|
19333
|
+
rethtml += onTag(tagStart, rethtml.length, currentTagName, currentHtml, isClosing(currentHtml));
|
|
19334
|
+
lastPos = currentPos + 1;
|
|
19335
|
+
tagStart = false;
|
|
19336
|
+
continue;
|
|
19337
|
+
}
|
|
19338
|
+
if (c === '"' || c === "'") {
|
|
19339
|
+
var i = 1;
|
|
19340
|
+
var ic = html.charAt(currentPos - i);
|
|
19341
|
+
while (ic.trim() === "" || ic === "=") {
|
|
19342
|
+
if (ic === "=") {
|
|
19343
|
+
quoteStart = c;
|
|
19344
|
+
continue chariterator;
|
|
19345
|
+
}
|
|
19346
|
+
ic = html.charAt(currentPos - ++i);
|
|
19347
|
+
}
|
|
19348
|
+
}
|
|
19349
|
+
} else {
|
|
19350
|
+
if (c === quoteStart) {
|
|
19351
|
+
quoteStart = false;
|
|
19352
|
+
continue;
|
|
19353
|
+
}
|
|
19354
|
+
}
|
|
19355
|
+
}
|
|
19356
|
+
}
|
|
19357
|
+
if (lastPos < len) {
|
|
19358
|
+
rethtml += escapeHtml(html.substr(lastPos));
|
|
19359
|
+
}
|
|
19360
|
+
return rethtml;
|
|
19361
|
+
}
|
|
19362
|
+
var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\_:.-]/gim;
|
|
19363
|
+
|
|
19364
|
+
/**
|
|
19365
|
+
* parse input attributes and returns processed attributes
|
|
19366
|
+
*
|
|
19367
|
+
* @param {String} html e.g. `href="#" target="_blank"`
|
|
19368
|
+
* @param {Function} onAttr e.g. `function (name, value)`
|
|
19369
|
+
* @return {String}
|
|
19370
|
+
*/
|
|
19371
|
+
function parseAttr(html, onAttr) {
|
|
19372
|
+
|
|
19373
|
+
var lastPos = 0;
|
|
19374
|
+
var lastMarkPos = 0;
|
|
19375
|
+
var retAttrs = [];
|
|
19376
|
+
var tmpName = false;
|
|
19377
|
+
var len = html.length;
|
|
19378
|
+
function addAttr(name, value) {
|
|
19379
|
+
name = util$1.trim(name);
|
|
19380
|
+
name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
|
|
19381
|
+
if (name.length < 1) return;
|
|
19382
|
+
var ret = onAttr(name, value || "");
|
|
19383
|
+
if (ret) retAttrs.push(ret);
|
|
19384
|
+
}
|
|
19385
|
+
|
|
19386
|
+
// 逐个分析字符
|
|
19387
|
+
for (var i = 0; i < len; i++) {
|
|
19388
|
+
var c = html.charAt(i);
|
|
19389
|
+
var v, j;
|
|
19390
|
+
if (tmpName === false && c === "=") {
|
|
19391
|
+
tmpName = html.slice(lastPos, i);
|
|
19392
|
+
lastPos = i + 1;
|
|
19393
|
+
lastMarkPos = html.charAt(lastPos) === '"' || html.charAt(lastPos) === "'" ? lastPos : findNextQuotationMark(html, i + 1);
|
|
19394
|
+
continue;
|
|
19395
|
+
}
|
|
19396
|
+
if (tmpName !== false) {
|
|
19397
|
+
if (i === lastMarkPos) {
|
|
19398
|
+
j = html.indexOf(c, i + 1);
|
|
19399
|
+
if (j === -1) {
|
|
19400
|
+
break;
|
|
19401
|
+
} else {
|
|
19402
|
+
v = util$1.trim(html.slice(lastMarkPos + 1, j));
|
|
19403
|
+
addAttr(tmpName, v);
|
|
19404
|
+
tmpName = false;
|
|
19405
|
+
i = j;
|
|
19406
|
+
lastPos = i + 1;
|
|
19407
|
+
continue;
|
|
19408
|
+
}
|
|
19409
|
+
}
|
|
19410
|
+
}
|
|
19411
|
+
if (/\s|\n|\t/.test(c)) {
|
|
19412
|
+
html = html.replace(/\s|\n|\t/g, " ");
|
|
19413
|
+
if (tmpName === false) {
|
|
19414
|
+
j = findNextEqual(html, i);
|
|
19415
|
+
if (j === -1) {
|
|
19416
|
+
v = util$1.trim(html.slice(lastPos, i));
|
|
19417
|
+
addAttr(v);
|
|
19418
|
+
tmpName = false;
|
|
19419
|
+
lastPos = i + 1;
|
|
19420
|
+
continue;
|
|
19421
|
+
} else {
|
|
19422
|
+
i = j - 1;
|
|
19423
|
+
continue;
|
|
19424
|
+
}
|
|
19425
|
+
} else {
|
|
19426
|
+
j = findBeforeEqual(html, i - 1);
|
|
19427
|
+
if (j === -1) {
|
|
19428
|
+
v = util$1.trim(html.slice(lastPos, i));
|
|
19429
|
+
v = stripQuoteWrap(v);
|
|
19430
|
+
addAttr(tmpName, v);
|
|
19431
|
+
tmpName = false;
|
|
19432
|
+
lastPos = i + 1;
|
|
19433
|
+
continue;
|
|
19434
|
+
} else {
|
|
19435
|
+
continue;
|
|
19436
|
+
}
|
|
19437
|
+
}
|
|
19438
|
+
}
|
|
19439
|
+
}
|
|
19440
|
+
if (lastPos < html.length) {
|
|
19441
|
+
if (tmpName === false) {
|
|
19442
|
+
addAttr(html.slice(lastPos));
|
|
19443
|
+
} else {
|
|
19444
|
+
addAttr(tmpName, stripQuoteWrap(util$1.trim(html.slice(lastPos))));
|
|
19445
|
+
}
|
|
19446
|
+
}
|
|
19447
|
+
return util$1.trim(retAttrs.join(" "));
|
|
19448
|
+
}
|
|
19449
|
+
function findNextEqual(str, i) {
|
|
19450
|
+
for (; i < str.length; i++) {
|
|
19451
|
+
var c = str[i];
|
|
19452
|
+
if (c === " ") continue;
|
|
19453
|
+
if (c === "=") return i;
|
|
19454
|
+
return -1;
|
|
19455
|
+
}
|
|
19456
|
+
}
|
|
19457
|
+
function findNextQuotationMark(str, i) {
|
|
19458
|
+
for (; i < str.length; i++) {
|
|
19459
|
+
var c = str[i];
|
|
19460
|
+
if (c === " ") continue;
|
|
19461
|
+
if (c === "'" || c === '"') return i;
|
|
19462
|
+
return -1;
|
|
19463
|
+
}
|
|
19464
|
+
}
|
|
19465
|
+
function findBeforeEqual(str, i) {
|
|
19466
|
+
for (; i > 0; i--) {
|
|
19467
|
+
var c = str[i];
|
|
19468
|
+
if (c === " ") continue;
|
|
19469
|
+
if (c === "=") return i;
|
|
19470
|
+
return -1;
|
|
19471
|
+
}
|
|
19472
|
+
}
|
|
19473
|
+
function isQuoteWrapString(text) {
|
|
19474
|
+
if (text[0] === '"' && text[text.length - 1] === '"' || text[0] === "'" && text[text.length - 1] === "'") {
|
|
19475
|
+
return true;
|
|
19476
|
+
} else {
|
|
19477
|
+
return false;
|
|
19478
|
+
}
|
|
19479
|
+
}
|
|
19480
|
+
function stripQuoteWrap(text) {
|
|
19481
|
+
if (isQuoteWrapString(text)) {
|
|
19482
|
+
return text.substr(1, text.length - 2);
|
|
19483
|
+
} else {
|
|
19484
|
+
return text;
|
|
19485
|
+
}
|
|
19486
|
+
}
|
|
19487
|
+
var parseTag_1 = parseTag;
|
|
19488
|
+
var parseAttr_1 = parseAttr;
|
|
19489
|
+
var parser$1 = {
|
|
19490
|
+
parseTag: parseTag_1,
|
|
19491
|
+
parseAttr: parseAttr_1
|
|
19492
|
+
};
|
|
19493
|
+
|
|
19494
|
+
/**
|
|
19495
|
+
* filter xss
|
|
19496
|
+
*
|
|
19497
|
+
* @author Zongmin Lei<leizongmin@gmail.com>
|
|
19498
|
+
*/
|
|
19499
|
+
|
|
19500
|
+
var FilterCSS$2 = lib$1.FilterCSS;
|
|
19501
|
+
var parseTag$1 = parser$1.parseTag;
|
|
19502
|
+
var parseAttr$1 = parser$1.parseAttr;
|
|
19503
|
+
|
|
19504
|
+
/**
|
|
19505
|
+
* returns `true` if the input value is `undefined` or `null`
|
|
19506
|
+
*
|
|
19507
|
+
* @param {Object} obj
|
|
19508
|
+
* @return {Boolean}
|
|
19509
|
+
*/
|
|
19510
|
+
function isNull$1(obj) {
|
|
19511
|
+
return obj === undefined || obj === null;
|
|
19512
|
+
}
|
|
19513
|
+
|
|
19514
|
+
/**
|
|
19515
|
+
* get attributes for a tag
|
|
19516
|
+
*
|
|
19517
|
+
* @param {String} html
|
|
19518
|
+
* @return {Object}
|
|
19519
|
+
* - {String} html
|
|
19520
|
+
* - {Boolean} closing
|
|
19521
|
+
*/
|
|
19522
|
+
function getAttrs(html) {
|
|
19523
|
+
var i = util$1.spaceIndex(html);
|
|
19524
|
+
if (i === -1) {
|
|
19525
|
+
return {
|
|
19526
|
+
html: "",
|
|
19527
|
+
closing: html[html.length - 2] === "/"
|
|
19528
|
+
};
|
|
19529
|
+
}
|
|
19530
|
+
html = util$1.trim(html.slice(i + 1, -1));
|
|
19531
|
+
var isClosing = html[html.length - 1] === "/";
|
|
19532
|
+
if (isClosing) html = util$1.trim(html.slice(0, -1));
|
|
19533
|
+
return {
|
|
19534
|
+
html: html,
|
|
19535
|
+
closing: isClosing
|
|
19536
|
+
};
|
|
19537
|
+
}
|
|
19538
|
+
|
|
19539
|
+
/**
|
|
19540
|
+
* shallow copy
|
|
19541
|
+
*
|
|
19542
|
+
* @param {Object} obj
|
|
19543
|
+
* @return {Object}
|
|
19544
|
+
*/
|
|
19545
|
+
function shallowCopyObject$1(obj) {
|
|
19546
|
+
var ret = {};
|
|
19547
|
+
for (var i in obj) {
|
|
19548
|
+
ret[i] = obj[i];
|
|
19549
|
+
}
|
|
19550
|
+
return ret;
|
|
19551
|
+
}
|
|
19552
|
+
function keysToLowerCase(obj) {
|
|
19553
|
+
var ret = {};
|
|
19554
|
+
for (var i in obj) {
|
|
19555
|
+
if (Array.isArray(obj[i])) {
|
|
19556
|
+
ret[i.toLowerCase()] = obj[i].map(function (item) {
|
|
19557
|
+
return item.toLowerCase();
|
|
19558
|
+
});
|
|
19559
|
+
} else {
|
|
19560
|
+
ret[i.toLowerCase()] = obj[i];
|
|
19561
|
+
}
|
|
19562
|
+
}
|
|
19563
|
+
return ret;
|
|
19564
|
+
}
|
|
19565
|
+
|
|
19566
|
+
/**
|
|
19567
|
+
* FilterXSS class
|
|
19568
|
+
*
|
|
19569
|
+
* @param {Object} options
|
|
19570
|
+
* whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,
|
|
19571
|
+
* onIgnoreTagAttr, safeAttrValue, escapeHtml
|
|
19572
|
+
* stripIgnoreTagBody, allowCommentTag, stripBlankChar
|
|
19573
|
+
* css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`
|
|
19574
|
+
*/
|
|
19575
|
+
function FilterXSS(options) {
|
|
19576
|
+
options = shallowCopyObject$1(options || {});
|
|
19577
|
+
if (options.stripIgnoreTag) {
|
|
19578
|
+
if (options.onIgnoreTag) {
|
|
19579
|
+
console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time');
|
|
19580
|
+
}
|
|
19581
|
+
options.onIgnoreTag = _default$1.onIgnoreTagStripAll;
|
|
19582
|
+
}
|
|
19583
|
+
if (options.whiteList || options.allowList) {
|
|
19584
|
+
options.whiteList = keysToLowerCase(options.whiteList || options.allowList);
|
|
19585
|
+
} else {
|
|
19586
|
+
options.whiteList = _default$1.whiteList;
|
|
19587
|
+
}
|
|
19588
|
+
options.onTag = options.onTag || _default$1.onTag;
|
|
19589
|
+
options.onTagAttr = options.onTagAttr || _default$1.onTagAttr;
|
|
19590
|
+
options.onIgnoreTag = options.onIgnoreTag || _default$1.onIgnoreTag;
|
|
19591
|
+
options.onIgnoreTagAttr = options.onIgnoreTagAttr || _default$1.onIgnoreTagAttr;
|
|
19592
|
+
options.safeAttrValue = options.safeAttrValue || _default$1.safeAttrValue;
|
|
19593
|
+
options.escapeHtml = options.escapeHtml || _default$1.escapeHtml;
|
|
19594
|
+
this.options = options;
|
|
19595
|
+
if (options.css === false) {
|
|
19596
|
+
this.cssFilter = false;
|
|
19597
|
+
} else {
|
|
19598
|
+
options.css = options.css || {};
|
|
19599
|
+
this.cssFilter = new FilterCSS$2(options.css);
|
|
19600
|
+
}
|
|
19601
|
+
}
|
|
19602
|
+
|
|
19603
|
+
/**
|
|
19604
|
+
* start process and returns result
|
|
19605
|
+
*
|
|
19606
|
+
* @param {String} html
|
|
19607
|
+
* @return {String}
|
|
19608
|
+
*/
|
|
19609
|
+
FilterXSS.prototype.process = function (html) {
|
|
19610
|
+
// compatible with the input
|
|
19611
|
+
html = html || "";
|
|
19612
|
+
html = html.toString();
|
|
19613
|
+
if (!html) return "";
|
|
19614
|
+
var me = this;
|
|
19615
|
+
var options = me.options;
|
|
19616
|
+
var whiteList = options.whiteList;
|
|
19617
|
+
var onTag = options.onTag;
|
|
19618
|
+
var onIgnoreTag = options.onIgnoreTag;
|
|
19619
|
+
var onTagAttr = options.onTagAttr;
|
|
19620
|
+
var onIgnoreTagAttr = options.onIgnoreTagAttr;
|
|
19621
|
+
var safeAttrValue = options.safeAttrValue;
|
|
19622
|
+
var escapeHtml = options.escapeHtml;
|
|
19623
|
+
var cssFilter = me.cssFilter;
|
|
19624
|
+
|
|
19625
|
+
// remove invisible characters
|
|
19626
|
+
if (options.stripBlankChar) {
|
|
19627
|
+
html = _default$1.stripBlankChar(html);
|
|
19628
|
+
}
|
|
19629
|
+
|
|
19630
|
+
// remove html comments
|
|
19631
|
+
if (!options.allowCommentTag) {
|
|
19632
|
+
html = _default$1.stripCommentTag(html);
|
|
19633
|
+
}
|
|
19634
|
+
|
|
19635
|
+
// if enable stripIgnoreTagBody
|
|
19636
|
+
var stripIgnoreTagBody = false;
|
|
19637
|
+
if (options.stripIgnoreTagBody) {
|
|
19638
|
+
stripIgnoreTagBody = _default$1.StripTagBody(options.stripIgnoreTagBody, onIgnoreTag);
|
|
19639
|
+
onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;
|
|
19640
|
+
}
|
|
19641
|
+
var retHtml = parseTag$1(html, function (sourcePosition, position, tag, html, isClosing) {
|
|
19642
|
+
var info = {
|
|
19643
|
+
sourcePosition: sourcePosition,
|
|
19644
|
+
position: position,
|
|
19645
|
+
isClosing: isClosing,
|
|
19646
|
+
isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag)
|
|
19647
|
+
};
|
|
19648
|
+
|
|
19649
|
+
// call `onTag()`
|
|
19650
|
+
var ret = onTag(tag, html, info);
|
|
19651
|
+
if (!isNull$1(ret)) return ret;
|
|
19652
|
+
if (info.isWhite) {
|
|
19653
|
+
if (info.isClosing) {
|
|
19654
|
+
return "</" + tag + ">";
|
|
19655
|
+
}
|
|
19656
|
+
var attrs = getAttrs(html);
|
|
19657
|
+
var whiteAttrList = whiteList[tag];
|
|
19658
|
+
var attrsHtml = parseAttr$1(attrs.html, function (name, value) {
|
|
19659
|
+
// call `onTagAttr()`
|
|
19660
|
+
var isWhiteAttr = util$1.indexOf(whiteAttrList, name) !== -1;
|
|
19661
|
+
var ret = onTagAttr(tag, name, value, isWhiteAttr);
|
|
19662
|
+
if (!isNull$1(ret)) return ret;
|
|
19663
|
+
if (isWhiteAttr) {
|
|
19664
|
+
// call `safeAttrValue()`
|
|
19665
|
+
value = safeAttrValue(tag, name, value, cssFilter);
|
|
19666
|
+
if (value) {
|
|
19667
|
+
return name + '="' + value + '"';
|
|
19668
|
+
} else {
|
|
19669
|
+
return name;
|
|
19670
|
+
}
|
|
19671
|
+
} else {
|
|
19672
|
+
// call `onIgnoreTagAttr()`
|
|
19673
|
+
ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
|
|
19674
|
+
if (!isNull$1(ret)) return ret;
|
|
19675
|
+
return;
|
|
19676
|
+
}
|
|
19677
|
+
});
|
|
19678
|
+
|
|
19679
|
+
// build new tag html
|
|
19680
|
+
html = "<" + tag;
|
|
19681
|
+
if (attrsHtml) html += " " + attrsHtml;
|
|
19682
|
+
if (attrs.closing) html += " /";
|
|
19683
|
+
html += ">";
|
|
19684
|
+
return html;
|
|
19685
|
+
} else {
|
|
19686
|
+
// call `onIgnoreTag()`
|
|
19687
|
+
ret = onIgnoreTag(tag, html, info);
|
|
19688
|
+
if (!isNull$1(ret)) return ret;
|
|
19689
|
+
return escapeHtml(html);
|
|
19690
|
+
}
|
|
19691
|
+
}, escapeHtml);
|
|
19692
|
+
|
|
19693
|
+
// if enable stripIgnoreTagBody
|
|
19694
|
+
if (stripIgnoreTagBody) {
|
|
19695
|
+
retHtml = stripIgnoreTagBody.remove(retHtml);
|
|
19696
|
+
}
|
|
19697
|
+
return retHtml;
|
|
19698
|
+
};
|
|
19699
|
+
var xss = FilterXSS;
|
|
19700
|
+
|
|
19701
|
+
var lib$2 = createCommonjsModule(function (module, exports) {
|
|
19702
|
+
/**
|
|
19703
|
+
* xss
|
|
19704
|
+
*
|
|
19705
|
+
* @author Zongmin Lei<leizongmin@gmail.com>
|
|
19706
|
+
*/
|
|
19707
|
+
|
|
19708
|
+
/**
|
|
19709
|
+
* filter xss function
|
|
19710
|
+
*
|
|
19711
|
+
* @param {String} html
|
|
19712
|
+
* @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
|
|
19713
|
+
* @return {String}
|
|
19714
|
+
*/
|
|
19715
|
+
function filterXSS(html, options) {
|
|
19716
|
+
var xss$1 = new xss(options);
|
|
19717
|
+
return xss$1.process(html);
|
|
19718
|
+
}
|
|
19719
|
+
exports = module.exports = filterXSS;
|
|
19720
|
+
exports.filterXSS = filterXSS;
|
|
19721
|
+
exports.FilterXSS = xss;
|
|
19722
|
+
(function () {
|
|
19723
|
+
for (var i in _default$1) {
|
|
19724
|
+
exports[i] = _default$1[i];
|
|
19725
|
+
}
|
|
19726
|
+
for (var j in parser$1) {
|
|
19727
|
+
exports[j] = parser$1[j];
|
|
19728
|
+
}
|
|
19729
|
+
})();
|
|
19730
|
+
|
|
19731
|
+
// using `xss` on the browser, output `filterXSS` to the globals
|
|
19732
|
+
if (typeof window !== "undefined") {
|
|
19733
|
+
window.filterXSS = module.exports;
|
|
19734
|
+
}
|
|
19735
|
+
|
|
19736
|
+
// using `xss` on the WebWorker, output `filterXSS` to the globals
|
|
19737
|
+
function isWorkerEnv() {
|
|
19738
|
+
return typeof self !== "undefined" && typeof DedicatedWorkerGlobalScope !== "undefined" && self instanceof DedicatedWorkerGlobalScope;
|
|
19739
|
+
}
|
|
19740
|
+
if (isWorkerEnv()) {
|
|
19741
|
+
self.filterXSS = module.exports;
|
|
19742
|
+
}
|
|
19743
|
+
});
|
|
19744
|
+
var lib_1$2 = lib$2.filterXSS;
|
|
19745
|
+
var lib_2$1 = lib$2.FilterXSS;
|
|
19746
|
+
|
|
18164
19747
|
var textarea;
|
|
18165
19748
|
function decodeEntity(name) {
|
|
18166
19749
|
textarea = textarea || document.createElement('textarea');
|
|
@@ -18279,7 +19862,7 @@
|
|
|
18279
19862
|
function replaceUnsafeChar(ch) {
|
|
18280
19863
|
return HTML_REPLACEMENTS[ch];
|
|
18281
19864
|
}
|
|
18282
|
-
function escapeHtml(str) {
|
|
19865
|
+
function escapeHtml$1(str) {
|
|
18283
19866
|
if (HTML_ESCAPE_TEST_RE.test(str)) {
|
|
18284
19867
|
return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);
|
|
18285
19868
|
}
|
|
@@ -18310,9 +19893,9 @@
|
|
|
18310
19893
|
|
|
18311
19894
|
rules.code = function (tokens, idx /*, options, env */) {
|
|
18312
19895
|
if (tokens[idx].block) {
|
|
18313
|
-
return '<pre><code>' + escapeHtml(tokens[idx].content) + '</code></pre>' + getBreak(tokens, idx);
|
|
19896
|
+
return '<pre><code>' + escapeHtml$1(tokens[idx].content) + '</code></pre>' + getBreak(tokens, idx);
|
|
18314
19897
|
}
|
|
18315
|
-
return '<code>' + escapeHtml(tokens[idx].content) + '</code>';
|
|
19898
|
+
return '<code>' + escapeHtml$1(tokens[idx].content) + '</code>';
|
|
18316
19899
|
};
|
|
18317
19900
|
|
|
18318
19901
|
/**
|
|
@@ -18340,13 +19923,13 @@
|
|
|
18340
19923
|
if (has(instance.rules.fence_custom, fences[0])) {
|
|
18341
19924
|
return instance.rules.fence_custom[fences[0]](tokens, idx, options, env, instance);
|
|
18342
19925
|
}
|
|
18343
|
-
langName = escapeHtml(replaceEntities(unescapeMd(fenceName)));
|
|
19926
|
+
langName = escapeHtml$1(replaceEntities(unescapeMd(fenceName)));
|
|
18344
19927
|
langClass = ' class="' + langPrefix + langName + '"';
|
|
18345
19928
|
}
|
|
18346
19929
|
if (options.highlight) {
|
|
18347
|
-
highlighted = options.highlight.apply(options.highlight, [token.content].concat(fences)) || escapeHtml(token.content);
|
|
19930
|
+
highlighted = options.highlight.apply(options.highlight, [token.content].concat(fences)) || escapeHtml$1(token.content);
|
|
18348
19931
|
} else {
|
|
18349
|
-
highlighted = escapeHtml(token.content);
|
|
19932
|
+
highlighted = escapeHtml$1(token.content);
|
|
18350
19933
|
}
|
|
18351
19934
|
return '<pre><code' + langClass + '>' + highlighted + '</code></pre>' + getBreak(tokens, idx);
|
|
18352
19935
|
};
|
|
@@ -18426,9 +20009,9 @@
|
|
|
18426
20009
|
*/
|
|
18427
20010
|
|
|
18428
20011
|
rules.link_open = function (tokens, idx, options /* env */) {
|
|
18429
|
-
var title = tokens[idx].title ? ' title="' + escapeHtml(replaceEntities(tokens[idx].title)) + '"' : '';
|
|
20012
|
+
var title = tokens[idx].title ? ' title="' + escapeHtml$1(replaceEntities(tokens[idx].title)) + '"' : '';
|
|
18430
20013
|
var target = options.linkTarget ? ' target="' + options.linkTarget + '"' : '';
|
|
18431
|
-
return '<a href="' + escapeHtml(tokens[idx].href) + '"' + title + target + '>';
|
|
20014
|
+
return '<a href="' + escapeHtml$1(tokens[idx].href) + '"' + title + target + '>';
|
|
18432
20015
|
};
|
|
18433
20016
|
rules.link_close = function /* tokens, idx, options, env */
|
|
18434
20017
|
() {
|
|
@@ -18440,9 +20023,9 @@
|
|
|
18440
20023
|
*/
|
|
18441
20024
|
|
|
18442
20025
|
rules.image = function (tokens, idx, options /*, env */) {
|
|
18443
|
-
var src = ' src="' + escapeHtml(tokens[idx].src) + '"';
|
|
18444
|
-
var title = tokens[idx].title ? ' title="' + escapeHtml(replaceEntities(tokens[idx].title)) + '"' : '';
|
|
18445
|
-
var alt = ' alt="' + (tokens[idx].alt ? escapeHtml(replaceEntities(unescapeMd(tokens[idx].alt))) : '') + '"';
|
|
20026
|
+
var src = ' src="' + escapeHtml$1(tokens[idx].src) + '"';
|
|
20027
|
+
var title = tokens[idx].title ? ' title="' + escapeHtml$1(replaceEntities(tokens[idx].title)) + '"' : '';
|
|
20028
|
+
var alt = ' alt="' + (tokens[idx].alt ? escapeHtml$1(replaceEntities(unescapeMd(tokens[idx].alt))) : '') + '"';
|
|
18446
20029
|
var suffix = options.xhtmlOut ? ' /' : '';
|
|
18447
20030
|
return '<img' + src + alt + title + suffix + '>';
|
|
18448
20031
|
};
|
|
@@ -18570,10 +20153,10 @@
|
|
|
18570
20153
|
*/
|
|
18571
20154
|
|
|
18572
20155
|
rules.sub = function (tokens, idx /*, options, env */) {
|
|
18573
|
-
return '<sub>' + escapeHtml(tokens[idx].content) + '</sub>';
|
|
20156
|
+
return '<sub>' + escapeHtml$1(tokens[idx].content) + '</sub>';
|
|
18574
20157
|
};
|
|
18575
20158
|
rules.sup = function (tokens, idx /*, options, env */) {
|
|
18576
|
-
return '<sup>' + escapeHtml(tokens[idx].content) + '</sup>';
|
|
20159
|
+
return '<sup>' + escapeHtml$1(tokens[idx].content) + '</sup>';
|
|
18577
20160
|
};
|
|
18578
20161
|
|
|
18579
20162
|
/**
|
|
@@ -18592,7 +20175,7 @@
|
|
|
18592
20175
|
*/
|
|
18593
20176
|
|
|
18594
20177
|
rules.text = function (tokens, idx /*, options, env */) {
|
|
18595
|
-
return escapeHtml(tokens[idx].content);
|
|
20178
|
+
return escapeHtml$1(tokens[idx].content);
|
|
18596
20179
|
};
|
|
18597
20180
|
|
|
18598
20181
|
/**
|
|
@@ -18611,7 +20194,7 @@
|
|
|
18611
20194
|
*/
|
|
18612
20195
|
|
|
18613
20196
|
rules.abbr_open = function (tokens, idx /*, options, env */) {
|
|
18614
|
-
return '<abbr title="' + escapeHtml(replaceEntities(tokens[idx].title)) + '">';
|
|
20197
|
+
return '<abbr title="' + escapeHtml$1(replaceEntities(tokens[idx].title)) + '">';
|
|
18615
20198
|
};
|
|
18616
20199
|
rules.abbr_close = function /* tokens, idx, options, env */
|
|
18617
20200
|
() {
|
|
@@ -23120,7 +24703,9 @@
|
|
|
23120
24703
|
};
|
|
23121
24704
|
|
|
23122
24705
|
var _templateObject$8;
|
|
23123
|
-
var InputGroup = styled('div')(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\talign-items: stretch;\n\twidth: 100%;\n"])))
|
|
24706
|
+
var InputGroup = styled('div')(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\talign-items: stretch;\n\twidth: 100%;\n\tbox-shadow: rgb(0 0 0 / 20%) 0px 0px 6px;\n\tborder-radius: 6px;\n\n\t", "\n};\n"])), function (props) {
|
|
24707
|
+
return props.isOpen && 'box-shadow: rgb(0 0 0 / 20%) 0px 0px 15px;';
|
|
24708
|
+
});
|
|
23124
24709
|
InputGroup.defaultProps = {
|
|
23125
24710
|
className: 'input-group'
|
|
23126
24711
|
};
|
|
@@ -23134,12 +24719,14 @@
|
|
|
23134
24719
|
className: 'input-addon'
|
|
23135
24720
|
};
|
|
23136
24721
|
|
|
23137
|
-
var _templateObject$b, _templateObject2$4, _templateObject3$3, _templateObject4$1, _templateObject5$1, _templateObject6;
|
|
24722
|
+
var _templateObject$b, _templateObject2$4, _templateObject3$3, _templateObject4$1, _templateObject5$1, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
23138
24723
|
var alertBorder = function alertBorder(_ref) {
|
|
23139
24724
|
var theme = _ref.theme;
|
|
23140
24725
|
return "\n\tborder: 1px solid " + theme.colors.alertColor + ";\n";
|
|
23141
24726
|
};
|
|
23142
|
-
var input =
|
|
24727
|
+
var input = function input(searchBox) {
|
|
24728
|
+
return "\nwidth: 100%;\nline-height: 1.5;\nmin-height: 42px;\npadding: 8px 12px;\nborder: 1px solid #ccc;\nbackground-color: #fafafa;\nfont-size: 0.9rem;\noutline: none;\n&:focus {\n\tbackground-color: #fff;\n}\n" + (searchBox && "\n\tpadding: 8px 12px 9px;\n\tborder: 1px solid transparent;\n\tborder-radius: 6px;\n") + ";\n";
|
|
24729
|
+
};
|
|
23143
24730
|
var dark$1 = function dark(theme) {
|
|
23144
24731
|
return "\n\tborder-color: " + theme.colors.borderColor + ";\n";
|
|
23145
24732
|
};
|
|
@@ -23147,12 +24734,11 @@
|
|
|
23147
24734
|
var theme = _ref2.theme;
|
|
23148
24735
|
return "\n\tbackground-color: " + theme.colors.backgroundColor + ";\n\tcolor: " + theme.colors.textColor + ";\n\t" + dark$1(theme) + ";\n\n\t&:focus {\n\t\tbackground-color: " + theme.colors.backgroundColor + ";\n\t}\n";
|
|
23149
24736
|
};
|
|
23150
|
-
var Input = styled('input')(_templateObject$b || (_templateObject$b = _taggedTemplateLiteralLoose(["\n\t", ";\n\
|
|
23151
|
-
|
|
23152
|
-
|
|
23153
|
-
|
|
23154
|
-
|
|
23155
|
-
});
|
|
24737
|
+
var Input = styled('input')(_templateObject$b || (_templateObject$b = _taggedTemplateLiteralLoose(["\n\t", ";\n\t", ";\n\n\t", ";\n\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\n\t", ";\n\n\t&[type='search']::-webkit-search-decoration,\n\t&[type='search']::-webkit-search-cancel-button,\n\t&[type='search']::-webkit-search-results-button,\n\t&[type='search']::-webkit-search-results-decoration {\n\t\tdisplay: none;\n\t}\n"])), function (props) {
|
|
24738
|
+
return input(props.searchBox);
|
|
24739
|
+
}, function (_ref3) {
|
|
24740
|
+
var themePreset = _ref3.themePreset;
|
|
24741
|
+
return themePreset === 'dark' && darkInput;
|
|
23156
24742
|
}, function (props) {
|
|
23157
24743
|
return props.showIcon && props.iconPosition === 'left' && "\n\t\t\tpadding-left: 36px;\n\t\t";
|
|
23158
24744
|
}, function (props) {
|
|
@@ -23174,13 +24760,13 @@
|
|
|
23174
24760
|
);
|
|
23175
24761
|
}, function (props) {
|
|
23176
24762
|
return (
|
|
23177
|
-
// for voice search icon with
|
|
23178
|
-
props.showVoiceSearch && props.showIcon &&
|
|
24763
|
+
// for voice search icon with clear icon
|
|
24764
|
+
props.showVoiceSearch && props.showIcon && "\n\t\t\tpadding-right: 66px;\n\t\t"
|
|
23179
24765
|
);
|
|
23180
24766
|
}, function (props) {
|
|
23181
24767
|
return (
|
|
23182
|
-
// for voice search icon with
|
|
23183
|
-
props.showVoiceSearch && props.showIcon && "\n\t\t\tpadding-right: 66px;\n\t\t"
|
|
24768
|
+
// for voice search icon with search icon
|
|
24769
|
+
props.showVoiceSearch && props.showIcon && props.iconPosition === 'right' && "\n\t\t\tpadding-right: 66px;\n\t\t"
|
|
23184
24770
|
);
|
|
23185
24771
|
}, function (props) {
|
|
23186
24772
|
return (
|
|
@@ -23189,15 +24775,20 @@
|
|
|
23189
24775
|
);
|
|
23190
24776
|
}, function (props) {
|
|
23191
24777
|
return props.alert && alertBorder;
|
|
24778
|
+
}, function (props) {
|
|
24779
|
+
return props.isOpen && "\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t";
|
|
23192
24780
|
});
|
|
23193
24781
|
var suggestions$1 = function suggestions(themePreset, theme) {
|
|
23194
24782
|
return css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: min(100vh, 402px);\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tcursor: pointer;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: flex;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\t}\n\n\t", ";\n"])), themePreset === 'dark' && theme && dark$1(theme));
|
|
23195
24783
|
};
|
|
23196
|
-
var
|
|
24784
|
+
var searchboxSuggestions = function searchboxSuggestions(themePreset, theme) {
|
|
24785
|
+
return css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteralLoose(["\n\t", ";\n\n\tmax-height: min(100vh, 401px);\n\tborder: none;\n\tborder-radius: 6px;\n\tborder-top-left-radius: 0;\n\tborder-top-right-radius: 0;\n\tbox-shadow: rgb(0 0 0 / 20%) 0px 10px 15px;\n\tborder-top: 1px solid #f2f0f0;\n\tli {\n\t\ttransition: all 0.3s ease-in;\n\t\tposition: relative;\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: unset;\n\t\t}\n\t\t.trim {\n\t\t\tline-height: 20px;\n\t\t}\n\t\t&.li-item {\n\t\t\tbackground-color: ", ";\n\n\t\t\t", "\n\t\t}\n\t\t&.active-li-item {\n\t\t\tbackground-color: ", ";\n\t\t\tcolor: #fff;\n\t\t\tsvg {\n\t\t\t\ttransition: fill 0.3s ease-in;\n\t\t\t\tfill: #fff !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t.section-container {\n\t\tpadding-bottom: 5px;\n\t\tborder-bottom: 1px solid #f2f0f0;\n\t\t", ";\n\t\t.section-header {\n\t\t\tpadding: 10px;\n\t\t\tfont-size: 12px;\n\t\t\tcolor: #7f7c7c;\n\t\t\tbackground: #f9f9f9;\n\t\t\t", ";\n\t\t}\n\n\t\t.section-list {\n\t\t\tpadding-left: 0;\n\t\t}\n\t\t.section-list-item {\n\t\t\t&__label,\n\t\t\t&__description {\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\n\t\t\t\t* {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&__label {\n\t\t\t}\n\t\t\t&__description {\n\t\t\t\tmargin-top: 5px;\n\t\t\t\topacity: 0.7;\n\t\t\t\tfont-size: 12px;\n\t\t\t}\n\t\t}\n\t}\n"])), suggestions$1(themePreset, theme), themePreset === 'dark' ? '#424242' : '#fff', themePreset && theme && "svg {\n\t\t\t\tfill: " + (theme.colors ? theme.colors.primaryColor : '#707070') + ";\n\t\t\t}", themePreset === 'dark' ? '#555' : '#2d84f6', themePreset === 'dark' && css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteralLoose(["\n\t\t\tbackground: #161616;\n\t\t"]))), themePreset === 'dark' && css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteralLoose(["\n\t\t\t\tcolor: #218fe7;\n\t\t\t\tbackground: #161616;\n\t\t\t"]))));
|
|
24786
|
+
};
|
|
24787
|
+
var suggestionsContainer = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n\tposition: relative;\n\t.cancel-icon {\n\t\tcursor: pointer;\n\t}\n"])));
|
|
23197
24788
|
var noSuggestions = function noSuggestions(themePreset, theme) {
|
|
23198
|
-
return css(
|
|
24789
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t", "\n"])), themePreset === 'dark' && theme && dark$1(theme));
|
|
23199
24790
|
};
|
|
23200
|
-
var TextArea = styled('textarea')(
|
|
24791
|
+
var TextArea = styled('textarea')(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n\t", ";\n\n\t&:focus {\n\t\tbackground-color: #fff;\n\t}\n\t", ";\n\n\t", ";\n\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t&::-webkit-search-decoration,\n\t&::-webkit-search-cancel-button,\n\t&::-webkit-search-results-button,\n\t&::-webkit-search-results-decoration {\n\t\tdisplay: none;\n\t}\n\tresize: none;\n\toverflow: hidden;\n\theight: 42px;\n"])), input, function (_ref4) {
|
|
23201
24792
|
var themePreset = _ref4.themePreset,
|
|
23202
24793
|
theme = _ref4.theme;
|
|
23203
24794
|
return themePreset === 'dark' && darkInput({
|
|
@@ -23264,7 +24855,7 @@
|
|
|
23264
24855
|
}, function (props) {
|
|
23265
24856
|
return props.alert && alertBorder;
|
|
23266
24857
|
}, function (props) {
|
|
23267
|
-
return props.isOpen && css(
|
|
24858
|
+
return props.isOpen && css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t"])));
|
|
23268
24859
|
});
|
|
23269
24860
|
|
|
23270
24861
|
var _templateObject$c;
|
|
@@ -23282,7 +24873,7 @@
|
|
|
23282
24873
|
return enableAI ? "\n\t\ttop: 0%;\n\t transform: translateY(0);\n \theight: 42px;\n\t" : '';
|
|
23283
24874
|
});
|
|
23284
24875
|
|
|
23285
|
-
var _templateObject$d;
|
|
24876
|
+
var _templateObject$d, _templateObject2$5;
|
|
23286
24877
|
var IconWrapper = styled('div')(_templateObject$d || (_templateObject$d = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmax-width: 23px;\n\twidth: max-content;\n\tcursor: pointer;\n\theight: 100%;\n\tmin-width: 20px;\n\n\tsvg.search-icon {\n\t\tfill: ", ";\n\t\ttransform: scale(1.5);\n\t}\n\n\tsvg.cancel-icon {\n\t\tfill: ", ";\n\t}\n"])), function (_ref) {
|
|
23287
24878
|
var _ref$theme = _ref.theme,
|
|
23288
24879
|
theme = _ref$theme === void 0 ? {} : _ref$theme;
|
|
@@ -23292,6 +24883,13 @@
|
|
|
23292
24883
|
theme = _ref2$theme === void 0 ? {} : _ref2$theme;
|
|
23293
24884
|
return theme.colors ? theme.colors.borderColor : '#000';
|
|
23294
24885
|
});
|
|
24886
|
+
var ButtonIconWrapper = styled(IconWrapper)(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteralLoose(["\n\tborder-radius: 4px;\n\tvertical-align: middle;\n\theight: 25px;\n\tfont-size: 12px;\n\tborder: 1px solid ", ";\n\tcolor: ", ";\n\tmax-width: unset;\n\tpadding: 5px;\n"])), function (_ref3) {
|
|
24887
|
+
var theme = _ref3.theme;
|
|
24888
|
+
return theme.colors ? theme.colors.primaryColor : '#000';
|
|
24889
|
+
}, function (_ref4) {
|
|
24890
|
+
var theme = _ref4.theme;
|
|
24891
|
+
return theme.colors ? theme.colors.primaryColor : '#000';
|
|
24892
|
+
});
|
|
23295
24893
|
|
|
23296
24894
|
function t$1(t){return "object"==typeof t&&null!=t&&1===t.nodeType}function e$1(t,e){return (!e||"hidden"!==t)&&"visible"!==t&&"clip"!==t}function n$2(t,n){if(t.clientHeight<t.scrollHeight||t.clientWidth<t.scrollWidth){var r=getComputedStyle(t,null);return e$1(r.overflowY,n)||e$1(r.overflowX,n)||function(t){var e=function(t){if(!t.ownerDocument||!t.ownerDocument.defaultView)return null;try{return t.ownerDocument.defaultView.frameElement}catch(t){return null}}(t);return !!e&&(e.clientHeight<t.scrollHeight||e.clientWidth<t.scrollWidth)}(t)}return !1}function r$2(t,e,n,r,i,o,l,d){return o<t&&l>e||o>t&&l<e?0:o<=t&&d<=n||l>=e&&d>=n?o-t-r:l>e&&d<n||o<t&&d>n?l-e+i:0}var i$3=function(e,i){var o=window,l=i.scrollMode,d=i.block,f=i.inline,h=i.boundary,u=i.skipOverflowHiddenElements,s="function"==typeof h?h:function(t){return t!==h};if(!t$1(e))throw new TypeError("Invalid target");for(var a,c,g=document.scrollingElement||document.documentElement,p=[],m=e;t$1(m)&&s(m);){if((m=null==(c=(a=m).parentElement)?a.getRootNode().host||null:c)===g){p.push(m);break}null!=m&&m===document.body&&n$2(m)&&!n$2(document.documentElement)||null!=m&&n$2(m,u)&&p.push(m);}for(var w=o.visualViewport?o.visualViewport.width:innerWidth,v=o.visualViewport?o.visualViewport.height:innerHeight,W=window.scrollX||pageXOffset,H=window.scrollY||pageYOffset,b=e.getBoundingClientRect(),y=b.height,E=b.width,M=b.top,V=b.right,x=b.bottom,I=b.left,C="start"===d||"nearest"===d?M:"end"===d?x:M+y/2,R="center"===f?I+E/2:"end"===f?V:I,T=[],k=0;k<p.length;k++){var B=p[k],D=B.getBoundingClientRect(),O=D.height,X=D.width,Y=D.top,L=D.right,S=D.bottom,j=D.left;if("if-needed"===l&&M>=0&&I>=0&&x<=v&&V<=w&&M>=Y&&x<=S&&I>=j&&V<=L)return T;var N=getComputedStyle(B),q=parseInt(N.borderLeftWidth,10),z=parseInt(N.borderTopWidth,10),A=parseInt(N.borderRightWidth,10),F=parseInt(N.borderBottomWidth,10),G=0,J=0,K="offsetWidth"in B?B.offsetWidth-B.clientWidth-q-A:0,P="offsetHeight"in B?B.offsetHeight-B.clientHeight-z-F:0,Q="offsetWidth"in B?0===B.offsetWidth?0:X/B.offsetWidth:0,U="offsetHeight"in B?0===B.offsetHeight?0:O/B.offsetHeight:0;if(g===B)G="start"===d?C:"end"===d?C-v:"nearest"===d?r$2(H,H+v,v,z,F,H+C,H+C+y,y):C-v/2,J="start"===f?R:"center"===f?R-w/2:"end"===f?R-w:r$2(W,W+w,w,q,A,W+R,W+R+E,E),G=Math.max(0,G+H),J=Math.max(0,J+W);else {G="start"===d?C-Y-z:"end"===d?C-S+F+P:"nearest"===d?r$2(Y,S,O,z,F+P,C,C+y,y):C-(Y+O/2)+P/2,J="start"===f?R-j-q:"center"===f?R-(j+X/2)+K/2:"end"===f?R-L+A+K:r$2(j,L,X,q,A+K,R,R+E,E);var Z=B.scrollLeft,$=B.scrollTop;C+=$-(G=Math.max(0,Math.min($+G/U,B.scrollHeight-O/U+P))),R+=Z-(J=Math.max(0,Math.min(Z+J/Q,B.scrollWidth-X/Q+K)));}T.push({el:B,top:G,left:J});}return T};
|
|
23297
24895
|
|
|
@@ -24774,13 +26372,13 @@
|
|
|
24774
26372
|
}
|
|
24775
26373
|
};
|
|
24776
26374
|
|
|
24777
|
-
var _templateObject$h, _templateObject2$
|
|
26375
|
+
var _templateObject$h, _templateObject2$6;
|
|
24778
26376
|
var TagsContainer = styled('div')(_templateObject$h || (_templateObject$h = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tmargin-top: 10px;\n\twidth: 100%;\n"])));
|
|
24779
|
-
var TagItem = styled('span')(_templateObject2$
|
|
26377
|
+
var TagItem = styled('span')(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteralLoose(["\n\tcursor: default;\n\tbox-sizing: border-box;\n\tmargin: 0 4px 4px 0;\n\tcolor: #000000d9;\n\tfont-size: 14px;\n\tfont-variant: tabular-nums;\n\tline-height: 1.5715;\n\tlist-style: none;\n\tfont-feature-settings: 'tnum';\n\tdisplay: inline-block;\n\theight: auto;\n\tpadding: 0 2px 0 7px;\n\tfont-size: 12px;\n\tline-height: 22px;\n\twhite-space: nowrap;\n\tbackground: #fafafa;\n\tborder: 1px solid #d9d9d9;\n\tborder-radius: 2px;\n\topacity: 1;\n\ttransition: all 0.3s;\n\n\tspan.close-icon {\n\t\tsvg {\n\t\t\tcursor: pointer;\n\t\t\theight: 15px;\n\t\t\tposition: relative;\n\t\t\ttop: 4px;\n\t\t\tfill: #262626;\n\t\t}\n\t}\n"])));
|
|
24780
26378
|
|
|
24781
|
-
var _templateObject$i, _templateObject2$
|
|
26379
|
+
var _templateObject$i, _templateObject2$7, _templateObject3$4;
|
|
24782
26380
|
var skeletonAnimation = keyframes(_templateObject$i || (_templateObject$i = _taggedTemplateLiteralLoose(["\n 0% {\n background-position: 100% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n"])));
|
|
24783
|
-
var SkeletonLoader = styled('div')(_templateObject2$
|
|
26381
|
+
var SkeletonLoader = styled('div')(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 10px;\n"])));
|
|
24784
26382
|
var SkeletonLine = styled('div')(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\theight: 20px;\n\tbackground: linear-gradient(\n\t\t90deg,\n\t\trgba(220, 220, 220, 0.5) 25%,\n\t\trgba(240, 240, 240, 0.9) 50%,\n\t\trgba(220, 220, 220, 0.5) 75%\n\t);\n\tbackground-size: 200% 100%;\n\tanimation: ", " 1.5s infinite;\n"])), skeletonAnimation);
|
|
24785
26383
|
var HorizontalSkeletonLoader = vue.defineComponent({
|
|
24786
26384
|
name: 'HorizontalSkeletonLoader',
|
|
@@ -24793,11 +26391,11 @@
|
|
|
24793
26391
|
}
|
|
24794
26392
|
});
|
|
24795
26393
|
|
|
24796
|
-
var _templateObject$j, _templateObject2$
|
|
26394
|
+
var _templateObject$j, _templateObject2$8, _templateObject3$5, _templateObject4$2, _templateObject5$2, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10, _templateObject11;
|
|
24797
26395
|
var Chatbox = styled('div')(_templateObject$j || (_templateObject$j = _taggedTemplateLiteralLoose(["\n\tposition: relative;\n\tmargin: 0 auto;\n\tpadding: 10px;\n\tbackground-color: #fafafa;\n\twidth: 100%;\n\tbox-shadow: rgb(0 0 0 / 20%) 0px 0px 6px;\n\tborder-radius: 6px;\n\tmargin-bottom: 20px;\n\tbackground-color: ", ";\n"])), function (props) {
|
|
24798
26396
|
return props.theme && props.theme.colors ? props.theme.colors.backgroundColor : '#fff';
|
|
24799
26397
|
});
|
|
24800
|
-
var ChatContainer = styled('div')(_templateObject2$
|
|
26398
|
+
var ChatContainer = styled('div')(_templateObject2$8 || (_templateObject2$8 = _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\n\t", ";\n"])), function (props) {
|
|
24801
26399
|
return props.showInput ? 'bottom: 48px;' : '';
|
|
24802
26400
|
}, function (props) {
|
|
24803
26401
|
return props.theme && props.theme.colors && props.theme.colors.backgroundColor ? props.theme.colors.backgroundColor : '#fff';
|
|
@@ -24834,7 +26432,7 @@
|
|
|
24834
26432
|
}
|
|
24835
26433
|
return finalBGColor;
|
|
24836
26434
|
};
|
|
24837
|
-
var Message = styled('div')(_templateObject7 || (_templateObject7 = _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) {
|
|
26435
|
+
var Message = styled('div')(_templateObject7$1 || (_templateObject7$1 = _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) {
|
|
24838
26436
|
return messageBGColor(props);
|
|
24839
26437
|
}, function (props) {
|
|
24840
26438
|
var finalColor;
|
|
@@ -24851,8 +26449,8 @@
|
|
|
24851
26449
|
}, function (props) {
|
|
24852
26450
|
return resetCSS(props);
|
|
24853
26451
|
});
|
|
24854
|
-
var MessageInputContainer = styled('form')(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tpadding-top: 12px;\n\talign-items: stretch;\n\tmargin-top: 10px;\n\t.ai-enter-button-wrapper {\n\t\talign-self: baseline;\n\t\theight: 41px;\n\t}\n"])));
|
|
24855
|
-
var MessageInput = styled(TextArea)(_templateObject9 || (_templateObject9 = _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\t", "\n"])), function (props) {
|
|
26452
|
+
var MessageInputContainer = styled('form')(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tpadding-top: 12px;\n\talign-items: stretch;\n\tmargin-top: 10px;\n\t.ai-enter-button-wrapper {\n\t\talign-self: baseline;\n\t\theight: 41px;\n\t}\n"])));
|
|
26453
|
+
var MessageInput = styled(TextArea)(_templateObject9$1 || (_templateObject9$1 = _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\t", "\n"])), function (props) {
|
|
24856
26454
|
return props.themePreset === 'dark' ? props.theme.colors.borderColor : '#fff';
|
|
24857
26455
|
}, function (props) {
|
|
24858
26456
|
return props.themePreset === 'dark' ? props.theme.colors.titleColor : props.theme.colors.textColor;
|
|
@@ -24869,9 +26467,9 @@
|
|
|
24869
26467
|
var SendButton = styled(Button)(_templateObject10 || (_templateObject10 = _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\n\t&:disabled {\n\t\tcursor: not-allowed;\n\t}\n"])));
|
|
24870
26468
|
var AIFeedbackContainer = styled('div')(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n\t.--feedback-svgs-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t\tgap: 5px;\n\n\t\tsvg {\n\t\t\tcursor: pointer;\n\t\t\ttransition: all ease-in 0.1s;\n\t\t\t&.selected {\n\t\t\t\ttransform: scale(1.1);\n\t\t\t\tcursor: default;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\ttransform: scale(1.1);\n\t\t\t}\n\t\t}\n\t}\n\n\t.--feedback-input-wrapper {\n\t\tdisplay: flex;\n\t\tgap: 7px;\n\t}\n"])));
|
|
24871
26469
|
|
|
24872
|
-
var _templateObject$k, _templateObject2$
|
|
26470
|
+
var _templateObject$k, _templateObject2$9, _templateObject3$6, _templateObject4$3, _templateObject5$3, _templateObject6$2, _templateObject7$2;
|
|
24873
26471
|
var fadeInFromBottom = keyframes(_templateObject$k || (_templateObject$k = _taggedTemplateLiteralLoose(["\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n"])));
|
|
24874
|
-
var fadeInFromTop = keyframes(_templateObject2$
|
|
26472
|
+
var fadeInFromTop = keyframes(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n 0% {\n opacity: 0;\n transform: translateY(-20px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n"])));
|
|
24875
26473
|
var SearchBoxAISection = styled('div')(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n\tpadding: 10px;\n\tborder-radius: 4px;\n\tmin-height: 200px;\n\tpadding-top: 20px;\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\tbackground-color: ", ";\n\tcolor: ", ";\n\t.--ai-answer-error-container {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -50%);\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\tgap: 10px;\n\t\t}\n\t}\n"])), function (_ref) {
|
|
24876
26474
|
var themePreset = _ref.themePreset,
|
|
24877
26475
|
theme = _ref.theme;
|
|
@@ -24892,7 +26490,7 @@
|
|
|
24892
26490
|
var theme = _ref4.theme;
|
|
24893
26491
|
return theme.colors.textColor;
|
|
24894
26492
|
});
|
|
24895
|
-
var SourceTags = styled('div')(_templateObject7$
|
|
26493
|
+
var SourceTags = styled('div')(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tgap: 8px;\n\tflex-wrap: wrap;\n\t.--ai-source-tag {\n\t\tdisplay: inline-block;\n\t\tmax-width: 200px;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n"])));
|
|
24896
26494
|
|
|
24897
26495
|
var ThumbsUpSvg = {
|
|
24898
26496
|
name: 'ThumbsUpSvg',
|
|
@@ -25066,6 +26664,9 @@
|
|
|
25066
26664
|
}
|
|
25067
26665
|
});
|
|
25068
26666
|
|
|
26667
|
+
var _templateObject$l;
|
|
26668
|
+
var AutosuggestFooterContainer = styled('div')(_templateObject$l || (_templateObject$l = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tcolor: #8792a2;\n\tbackground: #f7fafc;\n\tpadding: 10px;\n\theight: 40px;\n"])));
|
|
26669
|
+
|
|
25069
26670
|
var _excluded$1 = ["_source"];
|
|
25070
26671
|
function _isSlot$5(s) {
|
|
25071
26672
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
@@ -25102,7 +26703,8 @@
|
|
|
25102
26703
|
showAIScreen: false,
|
|
25103
26704
|
showAIScreenFooter: false,
|
|
25104
26705
|
showFeedbackComponent: false,
|
|
25105
|
-
feedbackState: null
|
|
26706
|
+
feedbackState: null,
|
|
26707
|
+
prefilledAIAnswer: ''
|
|
25106
26708
|
};
|
|
25107
26709
|
this.internalComponent = props.componentId + "__internal";
|
|
25108
26710
|
return this.__state;
|
|
@@ -25143,6 +26745,37 @@
|
|
|
25143
26745
|
},
|
|
25144
26746
|
stats: function stats() {
|
|
25145
26747
|
return getResultStats$1(this);
|
|
26748
|
+
},
|
|
26749
|
+
mergedAIAnswer: function mergedAIAnswer() {
|
|
26750
|
+
return this.prefilledAIAnswer || this.AIResponse && this.AIResponse.response && this.AIResponse.response.answer && this.AIResponse.response.answer.text;
|
|
26751
|
+
},
|
|
26752
|
+
parsedSuggestions: function parsedSuggestions() {
|
|
26753
|
+
var suggestionsArray = [];
|
|
26754
|
+
if (Array.isArray(this.suggestions) && this.suggestions.length) {
|
|
26755
|
+
suggestionsArray = [].concat(withClickIds(this.suggestions));
|
|
26756
|
+
}
|
|
26757
|
+
suggestionsArray = suggestionsArray.map(function (s) {
|
|
26758
|
+
if (s.sectionId) {
|
|
26759
|
+
return s;
|
|
26760
|
+
}
|
|
26761
|
+
return _extends({}, s, {
|
|
26762
|
+
sectionId: s._suggestion_type
|
|
26763
|
+
});
|
|
26764
|
+
});
|
|
26765
|
+
var sectionsAccumulated = [];
|
|
26766
|
+
var sectionisedSuggestions = suggestionsArray.reduce(function (acc, d, currentIndex) {
|
|
26767
|
+
if (sectionsAccumulated.includes(d.sectionId)) return acc;
|
|
26768
|
+
if (d.sectionId) {
|
|
26769
|
+
acc[currentIndex] = suggestionsArray.filter(function (g) {
|
|
26770
|
+
return g.sectionId === d.sectionId;
|
|
26771
|
+
});
|
|
26772
|
+
sectionsAccumulated.push(d.sectionId);
|
|
26773
|
+
} else {
|
|
26774
|
+
acc[currentIndex] = d;
|
|
26775
|
+
}
|
|
26776
|
+
return acc;
|
|
26777
|
+
}, {});
|
|
26778
|
+
return Object.values(sectionisedSuggestions);
|
|
25146
26779
|
}
|
|
25147
26780
|
},
|
|
25148
26781
|
props: {
|
|
@@ -25174,6 +26807,11 @@
|
|
|
25174
26807
|
enableQuerySuggestions: Q.bool.def(false),
|
|
25175
26808
|
enablePopularSuggestions: Q.bool.def(false),
|
|
25176
26809
|
enableRecentSuggestions: Q.bool.def(false),
|
|
26810
|
+
enableFAQSuggestions: Q.bool.def(false),
|
|
26811
|
+
FAQSuggestionsConfig: Q.shape({
|
|
26812
|
+
sectionLabel: Q.string,
|
|
26813
|
+
size: Q.number
|
|
26814
|
+
}),
|
|
25177
26815
|
fieldWeights: types.fieldWeights,
|
|
25178
26816
|
filterLabel: types.string,
|
|
25179
26817
|
fuzziness: types.fuzziness,
|
|
@@ -25209,12 +26847,20 @@
|
|
|
25209
26847
|
distinctFieldConfig: types.props,
|
|
25210
26848
|
//
|
|
25211
26849
|
focusShortcuts: Q.arrayOf(Q.oneOfType([Q.string, Q.number])).def(['/']),
|
|
26850
|
+
showFocusShortcutsIcon: Q.bool.def(true),
|
|
25212
26851
|
addonBefore: Q.any,
|
|
25213
26852
|
addonAfter: Q.any,
|
|
26853
|
+
showSuggestionsFooter: Q.bool.def(true),
|
|
25214
26854
|
expandSuggestionsContainer: Q.bool.def(true),
|
|
26855
|
+
renderSuggestionsFooter: Q.func,
|
|
25215
26856
|
index: Q.string,
|
|
25216
26857
|
popularSuggestionsConfig: Q.object,
|
|
25217
26858
|
recentSuggestionsConfig: Q.object,
|
|
26859
|
+
featuredSuggestionsConfig: Q.shape({
|
|
26860
|
+
maxSuggestionsPerSection: Q.number,
|
|
26861
|
+
sectionsOrder: Q.arrayOf(Q.string)
|
|
26862
|
+
}),
|
|
26863
|
+
customEvents: Q.object,
|
|
25218
26864
|
applyStopwords: Q.bool,
|
|
25219
26865
|
customStopwords: types.stringArray,
|
|
25220
26866
|
onData: types.func,
|
|
@@ -25402,7 +27048,7 @@
|
|
|
25402
27048
|
resultStats: this.stats,
|
|
25403
27049
|
AIData: {
|
|
25404
27050
|
question: this.AIResponse && this.AIResponse.response && this.AIResponse.response.question,
|
|
25405
|
-
answer: this.
|
|
27051
|
+
answer: this.mergedAIAnswerc,
|
|
25406
27052
|
documentIds: this.AIResponse && this.AIResponse.response && this.AIResponse.response.answer && this.AIResponse.response.answer.documentIds || [],
|
|
25407
27053
|
showAIScreen: this.showAIScreen,
|
|
25408
27054
|
sources: this.getAISourceObjects(),
|
|
@@ -25433,7 +27079,7 @@
|
|
|
25433
27079
|
this.onValueSelectedHandler(currentValue, lib_7.SEARCH_ICON_CLICK);
|
|
25434
27080
|
}
|
|
25435
27081
|
},
|
|
25436
|
-
setValue: function setValue(value, isDefaultValue, props, cause, toggleIsOpen, categoryValue) {
|
|
27082
|
+
setValue: function setValue(value, isDefaultValue, props, cause, toggleIsOpen, categoryValue, shouldExecuteQuery) {
|
|
25437
27083
|
var _this2 = this;
|
|
25438
27084
|
if (isDefaultValue === void 0) {
|
|
25439
27085
|
isDefaultValue = false;
|
|
@@ -25447,6 +27093,9 @@
|
|
|
25447
27093
|
if (categoryValue === void 0) {
|
|
25448
27094
|
categoryValue = undefined;
|
|
25449
27095
|
}
|
|
27096
|
+
if (shouldExecuteQuery === void 0) {
|
|
27097
|
+
shouldExecuteQuery = true;
|
|
27098
|
+
}
|
|
25450
27099
|
var performUpdate = function performUpdate() {
|
|
25451
27100
|
if (_this2.$options.isTagsMode && isEqual$4(value, _this2.selectedTags)) {
|
|
25452
27101
|
return;
|
|
@@ -25482,17 +27131,18 @@
|
|
|
25482
27131
|
}
|
|
25483
27132
|
if (typeof _this2.currentValue === 'string') _this2.triggerDefaultQuery(_this2.currentValue, props.enableAI ? {
|
|
25484
27133
|
enableAI: true
|
|
25485
|
-
} : {});
|
|
27134
|
+
} : {}, shouldExecuteQuery);
|
|
25486
27135
|
} // in case of strict selection only SUGGESTION_SELECT should be able
|
|
25487
27136
|
// to set the query otherwise the value should reset
|
|
25488
27137
|
if (props.strictSelection) {
|
|
25489
27138
|
if (cause === lib_7.SUGGESTION_SELECT || (_this2.$options.isTagsMode ? _this2.selectedTags.length === 0 : value === '')) {
|
|
25490
|
-
_this2.triggerCustomQuery(queryHandlerValue, _this2.$options.isTagsMode ? undefined : categoryValue);
|
|
27139
|
+
_this2.triggerCustomQuery(queryHandlerValue, _this2.$options.isTagsMode ? undefined : categoryValue, shouldExecuteQuery);
|
|
25491
27140
|
} else {
|
|
25492
27141
|
_this2.setValue('', true);
|
|
25493
27142
|
}
|
|
25494
27143
|
} else if (props.value === undefined || cause === lib_7.SUGGESTION_SELECT || cause === lib_7.CLEAR_VALUE) {
|
|
25495
|
-
_this2.
|
|
27144
|
+
_this2.showAIScreen = false;
|
|
27145
|
+
_this2.triggerCustomQuery(queryHandlerValue, _this2.$options.isTagsMode ? undefined : categoryValue, shouldExecuteQuery);
|
|
25496
27146
|
}
|
|
25497
27147
|
} else {
|
|
25498
27148
|
// debounce for handling text while typing
|
|
@@ -25503,10 +27153,13 @@
|
|
|
25503
27153
|
};
|
|
25504
27154
|
checkValueChange(props.componentId, value, props.beforeValueChange, performUpdate);
|
|
25505
27155
|
},
|
|
25506
|
-
triggerDefaultQuery: function triggerDefaultQuery(paramValue, meta) {
|
|
27156
|
+
triggerDefaultQuery: function triggerDefaultQuery(paramValue, meta, shouldExecuteQuery) {
|
|
25507
27157
|
if (meta === void 0) {
|
|
25508
27158
|
meta = {};
|
|
25509
27159
|
}
|
|
27160
|
+
if (shouldExecuteQuery === void 0) {
|
|
27161
|
+
shouldExecuteQuery = true;
|
|
27162
|
+
}
|
|
25510
27163
|
if (!this.$props.autosuggest) {
|
|
25511
27164
|
return;
|
|
25512
27165
|
}
|
|
@@ -25527,12 +27180,15 @@
|
|
|
25527
27180
|
value: value,
|
|
25528
27181
|
componentType: constants_1$1.searchBox,
|
|
25529
27182
|
meta: meta
|
|
25530
|
-
});
|
|
27183
|
+
}, shouldExecuteQuery);
|
|
25531
27184
|
},
|
|
25532
|
-
triggerCustomQuery: function triggerCustomQuery(paramValue, categoryValue) {
|
|
27185
|
+
triggerCustomQuery: function triggerCustomQuery(paramValue, categoryValue, shouldExecuteQuery) {
|
|
25533
27186
|
if (categoryValue === void 0) {
|
|
25534
27187
|
categoryValue = undefined;
|
|
25535
27188
|
}
|
|
27189
|
+
if (shouldExecuteQuery === void 0) {
|
|
27190
|
+
shouldExecuteQuery = true;
|
|
27191
|
+
}
|
|
25536
27192
|
var _this$$props = this.$props,
|
|
25537
27193
|
customQuery = _this$$props.customQuery,
|
|
25538
27194
|
filterLabel = _this$$props.filterLabel,
|
|
@@ -25561,7 +27217,7 @@
|
|
|
25561
27217
|
URLParams: URLParams,
|
|
25562
27218
|
componentType: constants_1$1.searchBox,
|
|
25563
27219
|
category: categoryValue
|
|
25564
|
-
});
|
|
27220
|
+
}, shouldExecuteQuery);
|
|
25565
27221
|
},
|
|
25566
27222
|
handleFocus: function handleFocus(event) {
|
|
25567
27223
|
if (this.$props.autosuggest) {
|
|
@@ -25660,12 +27316,60 @@
|
|
|
25660
27316
|
}, e);
|
|
25661
27317
|
}
|
|
25662
27318
|
},
|
|
27319
|
+
handleFeaturedSuggestionClicked: function handleFeaturedSuggestionClicked(suggestion) {
|
|
27320
|
+
try {
|
|
27321
|
+
var _this$$refs2, _this$$refs2$this$$pr;
|
|
27322
|
+
if (suggestion.action === helper_15.NAVIGATE) {
|
|
27323
|
+
var _JSON$parse = JSON.parse(suggestion.subAction),
|
|
27324
|
+
_JSON$parse$target = _JSON$parse.target,
|
|
27325
|
+
target = _JSON$parse$target === void 0 ? '_self' : _JSON$parse$target,
|
|
27326
|
+
_JSON$parse$link = _JSON$parse.link,
|
|
27327
|
+
link = _JSON$parse$link === void 0 ? '/' : _JSON$parse$link;
|
|
27328
|
+
if (typeof window !== 'undefined') {
|
|
27329
|
+
window.open(link, target);
|
|
27330
|
+
}
|
|
27331
|
+
}
|
|
27332
|
+
if (suggestion.action === helper_15.FUNCTION) {
|
|
27333
|
+
var matchedValues = suggestion.subAction.match(/function\s*\(.*\)(.|\n)*/);
|
|
27334
|
+
var functionStr = matchedValues && matchedValues[0];
|
|
27335
|
+
// eslint-disable-next-line no-new-func
|
|
27336
|
+
var func = new Function("return " + functionStr)();
|
|
27337
|
+
func(suggestion, this.$data.currentValue, this.$props.customEvents);
|
|
27338
|
+
}
|
|
27339
|
+
if (suggestion.action === helper_15.SELECT) {
|
|
27340
|
+
this.setValue(suggestion.value, true, this.$props, this.$options.isTagsMode.current ? lib_7.SUGGESTION_SELECT : lib_7.ENTER_PRESS);
|
|
27341
|
+
this.onValueSelectedHandler(suggestion.value, lib_7.SUGGESTION_SELECT);
|
|
27342
|
+
}
|
|
27343
|
+
// blur is important to close the dropdown
|
|
27344
|
+
// on selecting one of featured suggestions
|
|
27345
|
+
// else Downshift probably is focusing the dropdown
|
|
27346
|
+
// and not letting it close
|
|
27347
|
+
// eslint-disable-next-line no-unused-expressions
|
|
27348
|
+
(_this$$refs2 = this.$refs) == null ? void 0 : (_this$$refs2$this$$pr = _this$$refs2[this.$props.innerRef]) == null ? void 0 : _this$$refs2$this$$pr.blur();
|
|
27349
|
+
} catch (e) {
|
|
27350
|
+
console.error("Error: There was an error parsing the subAction for the featured suggestion with label, \"" + suggestion.label + "\"", e);
|
|
27351
|
+
}
|
|
27352
|
+
},
|
|
25663
27353
|
onSuggestionSelected: function onSuggestionSelected(suggestion) {
|
|
25664
27354
|
var _this4 = this;
|
|
27355
|
+
// handle when FAQ suggestion is clicked
|
|
27356
|
+
if (suggestion && suggestion._suggestion_type === helper_16.FAQ) {
|
|
27357
|
+
this.prefilledAIAnswer = suggestion._answer;
|
|
27358
|
+
this.setValue(suggestion.value, true, this.$props, lib_7.SUGGESTION_SELECT, true, false, suggestion._category, false);
|
|
27359
|
+
this.isOpen = true;
|
|
27360
|
+
this.showAIScreen = true;
|
|
27361
|
+
return;
|
|
27362
|
+
}
|
|
25665
27363
|
if (!this.$props.enableAI) this.isOpen = false;else {
|
|
25666
27364
|
this.showAIScreen = true;
|
|
25667
27365
|
}
|
|
25668
27366
|
var value = this.$props.value;
|
|
27367
|
+
|
|
27368
|
+
// handle featured suggestions click event
|
|
27369
|
+
if (suggestion._suggestion_type === helper_16.Featured) {
|
|
27370
|
+
this.handleFeaturedSuggestionClicked(suggestion);
|
|
27371
|
+
return;
|
|
27372
|
+
}
|
|
25669
27373
|
// Record analytics for selected suggestions
|
|
25670
27374
|
this.triggerClickAnalytics(suggestion._click_id);
|
|
25671
27375
|
if (value === undefined) {
|
|
@@ -25821,6 +27525,13 @@
|
|
|
25821
27525
|
customQuery: true
|
|
25822
27526
|
});
|
|
25823
27527
|
},
|
|
27528
|
+
suggestionsFooter: function suggestionsFooter() {
|
|
27529
|
+
return typeof renderSuggestionsFooter === 'function' ? this.$props.renderSuggestionsFooter() : vue.createVNode(AutosuggestFooterContainer, null, {
|
|
27530
|
+
"default": function _default() {
|
|
27531
|
+
return [vue.createVNode("div", null, [vue.createTextVNode("\u2191\u2193 Navigate")]), vue.createVNode("div", null, [vue.createTextVNode("\u21A9 Go")])];
|
|
27532
|
+
}
|
|
27533
|
+
});
|
|
27534
|
+
},
|
|
25824
27535
|
renderEnterButtonElement: function renderEnterButtonElement() {
|
|
25825
27536
|
var _this6 = this;
|
|
25826
27537
|
var _this$$props2 = this.$props,
|
|
@@ -25848,16 +27559,29 @@
|
|
|
25848
27559
|
}
|
|
25849
27560
|
return null;
|
|
25850
27561
|
},
|
|
27562
|
+
renderShortcut: function renderShortcut() {
|
|
27563
|
+
if (this.$props.focusShortcuts && this.$props.focusShortcuts.length) {
|
|
27564
|
+
var shortcut = this.$props.focusShortcuts[0];
|
|
27565
|
+
shortcut = shortcut.toLowerCase();
|
|
27566
|
+
shortcut = shortcut.replace('shift', '⬆️');
|
|
27567
|
+
shortcut = shortcut.replace('command', 'cmd');
|
|
27568
|
+
shortcut = shortcut.replace('control', 'ctrl');
|
|
27569
|
+
shortcut = shortcut.replace('option', 'alt');
|
|
27570
|
+
return shortcut.toUpperCase();
|
|
27571
|
+
}
|
|
27572
|
+
return '/';
|
|
27573
|
+
},
|
|
25851
27574
|
renderIcons: function renderIcons() {
|
|
25852
27575
|
var _this7 = this;
|
|
25853
|
-
var _slot3, _slot4, _slot5;
|
|
27576
|
+
var _slot3, _slot4, _slot5, _slot6;
|
|
25854
27577
|
var _this$$props3 = this.$props,
|
|
25855
27578
|
iconPosition = _this$$props3.iconPosition,
|
|
25856
27579
|
showClear = _this$$props3.showClear,
|
|
25857
27580
|
innerClass = _this$$props3.innerClass,
|
|
25858
27581
|
getMicInstance = _this$$props3.getMicInstance,
|
|
25859
27582
|
showVoiceSearch = _this$$props3.showVoiceSearch,
|
|
25860
|
-
showIcon = _this$$props3.showIcon
|
|
27583
|
+
showIcon = _this$$props3.showIcon,
|
|
27584
|
+
showFocusShortcutsIcon = _this$$props3.showFocusShortcutsIcon;
|
|
25861
27585
|
var renderMic = this.$slots.renderMic || this.$props.renderMic;
|
|
25862
27586
|
var currentValue = this.$data.currentValue;
|
|
25863
27587
|
return vue.createVNode("div", null, [vue.createVNode(IconGroup, {
|
|
@@ -25873,6 +27597,14 @@
|
|
|
25873
27597
|
"default": function _default() {
|
|
25874
27598
|
return [_slot3];
|
|
25875
27599
|
}
|
|
27600
|
+
}), showFocusShortcutsIcon && vue.createVNode(ButtonIconWrapper, {
|
|
27601
|
+
"onClick": function onClick(e) {
|
|
27602
|
+
return _this7.focusSearchBox(e);
|
|
27603
|
+
}
|
|
27604
|
+
}, _isSlot$5(_slot4 = _this7.renderShortcut()) ? _slot4 : {
|
|
27605
|
+
"default": function _default() {
|
|
27606
|
+
return [_slot4];
|
|
27607
|
+
}
|
|
25876
27608
|
}), showVoiceSearch && vue.createVNode(Mic, {
|
|
25877
27609
|
"getInstance": getMicInstance,
|
|
25878
27610
|
"render": renderMic,
|
|
@@ -25880,9 +27612,9 @@
|
|
|
25880
27612
|
"className": getClassName$3(innerClass, 'mic') || null
|
|
25881
27613
|
}, null), iconPosition === 'right' && showIcon && vue.createVNode(IconWrapper, {
|
|
25882
27614
|
"onClick": _this7.handleSearchIconClick
|
|
25883
|
-
}, _isSlot$5(
|
|
27615
|
+
}, _isSlot$5(_slot5 = _this7.renderIcon()) ? _slot5 : {
|
|
25884
27616
|
"default": function _default() {
|
|
25885
|
-
return [
|
|
27617
|
+
return [_slot5];
|
|
25886
27618
|
}
|
|
25887
27619
|
})];
|
|
25888
27620
|
}
|
|
@@ -25893,23 +27625,23 @@
|
|
|
25893
27625
|
"default": function _default() {
|
|
25894
27626
|
return [iconPosition === 'left' && showIcon && vue.createVNode(IconWrapper, {
|
|
25895
27627
|
"onClick": _this7.handleSearchIconClick
|
|
25896
|
-
}, _isSlot$5(
|
|
27628
|
+
}, _isSlot$5(_slot6 = _this7.renderIcon()) ? _slot6 : {
|
|
25897
27629
|
"default": function _default() {
|
|
25898
|
-
return [
|
|
27630
|
+
return [_slot6];
|
|
25899
27631
|
}
|
|
25900
27632
|
})];
|
|
25901
27633
|
}
|
|
25902
27634
|
})]);
|
|
25903
27635
|
},
|
|
25904
27636
|
focusSearchBox: function focusSearchBox(event) {
|
|
25905
|
-
var _this$$
|
|
27637
|
+
var _this$$refs3, _this$$refs3$this$$pr;
|
|
25906
27638
|
var elt = event.target || event.srcElement;
|
|
25907
27639
|
var tagName = elt.tagName;
|
|
25908
27640
|
if (elt.isContentEditable || tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA') {
|
|
25909
27641
|
// already in an input
|
|
25910
27642
|
return;
|
|
25911
27643
|
}
|
|
25912
|
-
(_this$$
|
|
27644
|
+
(_this$$refs3 = this.$refs) == null ? void 0 : (_this$$refs3$this$$pr = _this$$refs3[this.$props.innerRef]) == null ? void 0 : _this$$refs3$this$$pr.focus(); // eslint-disable-line
|
|
25913
27645
|
},
|
|
25914
27646
|
listenForFocusShortcuts: function listenForFocusShortcuts() {
|
|
25915
27647
|
var _this8 = this;
|
|
@@ -25949,16 +27681,31 @@
|
|
|
25949
27681
|
this.currentValue = decodeHtml(value);
|
|
25950
27682
|
this.triggerDefaultQuery(value);
|
|
25951
27683
|
},
|
|
25952
|
-
|
|
27684
|
+
renderActionIcon: function renderActionIcon(suggestion) {
|
|
25953
27685
|
var _this9 = this;
|
|
25954
27686
|
var handleAutoFillClick = function handleAutoFillClick(e) {
|
|
25955
27687
|
e.stopPropagation();
|
|
25956
27688
|
_this9.onAutofillClick(suggestion);
|
|
25957
27689
|
};
|
|
25958
|
-
|
|
25959
|
-
|
|
25960
|
-
|
|
25961
|
-
|
|
27690
|
+
if (suggestion._suggestion_type === helper_16.Featured) {
|
|
27691
|
+
if (suggestion.action === helper_15.FUNCTION) {
|
|
27692
|
+
return vue.createVNode(AutoFillSvg, {
|
|
27693
|
+
"style": {
|
|
27694
|
+
transform: 'rotate(135deg)',
|
|
27695
|
+
pointerEvents: 'none'
|
|
27696
|
+
}
|
|
27697
|
+
}, null);
|
|
27698
|
+
}
|
|
27699
|
+
return null;
|
|
27700
|
+
}
|
|
27701
|
+
if (!suggestion._category) {
|
|
27702
|
+
/* 👇 avoid showing autofill for category suggestions👇 */
|
|
27703
|
+
|
|
27704
|
+
return vue.createVNode(AutoFillSvg, {
|
|
27705
|
+
"onClick": handleAutoFillClick
|
|
27706
|
+
}, null);
|
|
27707
|
+
}
|
|
27708
|
+
return null;
|
|
25962
27709
|
},
|
|
25963
27710
|
renderTag: function renderTag(item) {
|
|
25964
27711
|
var _this10 = this;
|
|
@@ -26065,7 +27812,7 @@
|
|
|
26065
27812
|
return vue.createVNode(HorizontalSkeletonLoader, null, null);
|
|
26066
27813
|
},
|
|
26067
27814
|
renderAIScreenFooter: function renderAIScreenFooter() {
|
|
26068
|
-
var
|
|
27815
|
+
var _slot7;
|
|
26069
27816
|
var _this12 = this;
|
|
26070
27817
|
var _this$$props$AIUIConf2 = this.$props.AIUIConfig,
|
|
26071
27818
|
AIUIConfig = _this$$props$AIUIConf2 === void 0 ? {} : _this$$props$AIUIConf2;
|
|
@@ -26080,7 +27827,7 @@
|
|
|
26080
27827
|
"themePreset": this.$props.themePreset
|
|
26081
27828
|
}, {
|
|
26082
27829
|
"default": function _default() {
|
|
26083
|
-
return [vue.createTextVNode("Summary generated using the following sources:"), ' ', vue.createVNode(SourceTags, null, _isSlot$5(
|
|
27830
|
+
return [vue.createTextVNode("Summary generated using the following sources:"), ' ', vue.createVNode(SourceTags, null, _isSlot$5(_slot7 = _this12.getAISourceObjects().map(function (el) {
|
|
26084
27831
|
return vue.createVNode(Button, {
|
|
26085
27832
|
"class": "--ai-source-tag " + (getClassName$3(_this12.$props.innerClass, 'ai-source-tag') || ''),
|
|
26086
27833
|
"title": el[sourceDocumentLabel],
|
|
@@ -26093,9 +27840,9 @@
|
|
|
26093
27840
|
return [el[sourceDocumentLabel]];
|
|
26094
27841
|
}
|
|
26095
27842
|
});
|
|
26096
|
-
})) ?
|
|
27843
|
+
})) ? _slot7 : {
|
|
26097
27844
|
"default": function _default() {
|
|
26098
|
-
return [
|
|
27845
|
+
return [_slot7];
|
|
26099
27846
|
}
|
|
26100
27847
|
})];
|
|
26101
27848
|
}
|
|
@@ -26107,7 +27854,7 @@
|
|
|
26107
27854
|
if (customAIRenderer) {
|
|
26108
27855
|
return customAIRenderer({
|
|
26109
27856
|
question: this.AIResponse && this.AIResponse.response && this.AIResponse.response.question,
|
|
26110
|
-
answer: this.
|
|
27857
|
+
answer: this.mergedAIAnswer,
|
|
26111
27858
|
documentIds: this.AIResponse && this.AIResponse.response && this.AIResponse.response.answer && this.AIResponse.response.answer.documentIds || [],
|
|
26112
27859
|
loading: this.isAIResponseLoading || this.isLoading,
|
|
26113
27860
|
sources: this.getAISourceObjects(),
|
|
@@ -26118,7 +27865,7 @@
|
|
|
26118
27865
|
return this.renderAIScreenLoader();
|
|
26119
27866
|
}
|
|
26120
27867
|
return vue.createVNode("div", null, [vue.createVNode(Answer, {
|
|
26121
|
-
"innerHTML": md.render(this.
|
|
27868
|
+
"innerHTML": md.render(this.mergedAIAnswer)
|
|
26122
27869
|
}, null), this.renderAIScreenFooter(), this.showFeedbackComponent && vue.createVNode("div", {
|
|
26123
27870
|
"class": "" + (getClassName$3(this.$props.innerClass, 'ai-feedback') || '')
|
|
26124
27871
|
}, [vue.createVNode(AIFeedback, {
|
|
@@ -26227,23 +27974,58 @@
|
|
|
26227
27974
|
highlightedIndex = _ref8.highlightedIndex,
|
|
26228
27975
|
setHighlightedIndex = _ref8.setHighlightedIndex;
|
|
26229
27976
|
var renderSuggestionsDropdown = function renderSuggestionsDropdown() {
|
|
26230
|
-
var getIcon = function getIcon(iconType) {
|
|
27977
|
+
var getIcon = function getIcon(iconType, item, leaveSpaceForIcon) {
|
|
26231
27978
|
switch (iconType) {
|
|
26232
27979
|
case helper_16.Recent:
|
|
26233
27980
|
return recentSearchesIcon;
|
|
26234
27981
|
case helper_16.Popular:
|
|
26235
27982
|
return popularSearchesIcon;
|
|
27983
|
+
case helper_16.Featured:
|
|
27984
|
+
if (item.icon) {
|
|
27985
|
+
return function () {
|
|
27986
|
+
return vue.createVNode("div", {
|
|
27987
|
+
"style": {
|
|
27988
|
+
display: 'flex'
|
|
27989
|
+
},
|
|
27990
|
+
"innerHTML": lib$2(item.icon)
|
|
27991
|
+
}, null);
|
|
27992
|
+
};
|
|
27993
|
+
}
|
|
27994
|
+
if (item.iconURL) {
|
|
27995
|
+
return function () {
|
|
27996
|
+
return (// When you change below also change the empty icon below
|
|
27997
|
+
vue.createVNode("img", {
|
|
27998
|
+
"style": {
|
|
27999
|
+
maxHeight: '25px'
|
|
28000
|
+
},
|
|
28001
|
+
"src": lib$2(item.iconURL),
|
|
28002
|
+
"alt": item.value
|
|
28003
|
+
}, null)
|
|
28004
|
+
);
|
|
28005
|
+
};
|
|
28006
|
+
}
|
|
28007
|
+
// Render an empty icon when no icon is provided from the dashboard
|
|
28008
|
+
return function () {
|
|
28009
|
+
return vue.createVNode("span", {
|
|
28010
|
+
"style": {
|
|
28011
|
+
display: 'inline-block',
|
|
28012
|
+
height: '25px',
|
|
28013
|
+
width: leaveSpaceForIcon ? '25px' : 0
|
|
28014
|
+
}
|
|
28015
|
+
}, null);
|
|
28016
|
+
};
|
|
26236
28017
|
default:
|
|
26237
28018
|
return null;
|
|
26238
28019
|
}
|
|
26239
28020
|
};
|
|
28021
|
+
var indexOffset = 0;
|
|
26240
28022
|
return vue.createVNode("div", null, [_this15.hasCustomRenderer && _this15.getComponent({
|
|
26241
28023
|
isOpen: isOpen,
|
|
26242
28024
|
getItemProps: getItemProps,
|
|
26243
28025
|
getItemEvents: getItemEvents,
|
|
26244
28026
|
highlightedIndex: highlightedIndex
|
|
26245
28027
|
}), _this15.renderErrorComponent(), !_this15.hasCustomRenderer && isOpen && hasSuggestions ? vue.createVNode("ul", {
|
|
26246
|
-
"class": suggestions$1(_this15.themePreset, _this15.theme) + " " + getClassName$3(_this15.$props.innerClass, 'list'),
|
|
28028
|
+
"class": suggestions$1(_this15.themePreset, _this15.theme) + " " + getClassName$3(_this15.$props.innerClass, 'list') + " " + searchboxSuggestions(_this15.themePreset, _this15.theme) + "\n\t\t\t\t\t\t\t\t\t\t\t\t\t",
|
|
26247
28029
|
"ref": _dropdownULRef
|
|
26248
28030
|
}, [_this15.showAIScreen && vue.createVNode(SearchBoxAISection, {
|
|
26249
28031
|
"themePreset": _this15.$props.themePreset
|
|
@@ -26251,43 +28033,63 @@
|
|
|
26251
28033
|
"default": function _default() {
|
|
26252
28034
|
return [_this15.renderAIScreen(), ' ', _this15.renderErrorComponent(true)];
|
|
26253
28035
|
}
|
|
26254
|
-
}), !_this15.showAIScreen && _this15.
|
|
26255
|
-
|
|
26256
|
-
|
|
26257
|
-
|
|
26258
|
-
item
|
|
26259
|
-
|
|
26260
|
-
|
|
26261
|
-
"
|
|
26262
|
-
|
|
26263
|
-
|
|
26264
|
-
|
|
26265
|
-
}
|
|
26266
|
-
|
|
26267
|
-
item
|
|
26268
|
-
|
|
26269
|
-
|
|
26270
|
-
|
|
26271
|
-
|
|
26272
|
-
|
|
26273
|
-
|
|
26274
|
-
|
|
26275
|
-
|
|
26276
|
-
|
|
26277
|
-
|
|
26278
|
-
|
|
26279
|
-
|
|
26280
|
-
|
|
26281
|
-
|
|
26282
|
-
|
|
26283
|
-
|
|
26284
|
-
|
|
26285
|
-
|
|
26286
|
-
|
|
26287
|
-
|
|
26288
|
-
|
|
26289
|
-
|
|
26290
|
-
|
|
28036
|
+
}), !_this15.showAIScreen && _this15.parsedSuggestions.map(function (item, itemIndex) {
|
|
28037
|
+
var index = indexOffset + itemIndex;
|
|
28038
|
+
if (Array.isArray(item)) {
|
|
28039
|
+
var sectionHtml = lib$2(item[0].sectionLabel);
|
|
28040
|
+
indexOffset += item.length - 1;
|
|
28041
|
+
return vue.createVNode("div", {
|
|
28042
|
+
"class": "section-container"
|
|
28043
|
+
}, [sectionHtml ? vue.createVNode("div", {
|
|
28044
|
+
"class": "section-header " + getClassName$3(_this15.$props.innerClass, 'section-label'),
|
|
28045
|
+
"key": "" + item[0].sectionId,
|
|
28046
|
+
"innerHTML": sectionHtml
|
|
28047
|
+
}, null) : null, vue.createVNode("ul", {
|
|
28048
|
+
"class": "section-list"
|
|
28049
|
+
}, [item.map(function (sectionItem, sectionIndex) {
|
|
28050
|
+
var suggestionsHaveIcon = item.some(function (s) {
|
|
28051
|
+
return s.icon || s.iconURL;
|
|
28052
|
+
});
|
|
28053
|
+
return renderItem ? vue.createVNode("li", vue.mergeProps(getItemProps({
|
|
28054
|
+
item: sectionItem
|
|
28055
|
+
}), babelHelperVueTransformOn(getItemEvents({
|
|
28056
|
+
item: sectionItem
|
|
28057
|
+
})), {
|
|
28058
|
+
"key": index + sectionIndex,
|
|
28059
|
+
"style": {
|
|
28060
|
+
justifyContent: 'flex-start',
|
|
28061
|
+
alignItems: 'center'
|
|
28062
|
+
},
|
|
28063
|
+
"class": "" + (highlightedIndex === index + sectionIndex ? "active-li-item " + getClassName$3(_this15.$props.innerClass, 'active-suggestion-item') : "li-item " + getClassName$3(_this15.$props.innerClass, 'suggestion-item'))
|
|
28064
|
+
}), [renderItem(sectionItem)]) : vue.createVNode("li", vue.mergeProps(getItemProps({
|
|
28065
|
+
item: sectionItem
|
|
28066
|
+
}), babelHelperVueTransformOn(getItemEvents({
|
|
28067
|
+
item: sectionItem
|
|
28068
|
+
})), {
|
|
28069
|
+
"key": index + sectionIndex,
|
|
28070
|
+
"style": {
|
|
28071
|
+
justifyContent: 'flex-start',
|
|
28072
|
+
alignItems: 'center'
|
|
28073
|
+
},
|
|
28074
|
+
"class": "" + (highlightedIndex === index + sectionIndex ? "active-li-item " + getClassName$3(_this15.$props.innerClass, 'active-suggestion-item') : "li-item " + getClassName$3(_this15.$props.innerClass, 'suggestion-item'))
|
|
28075
|
+
}), [vue.createVNode("div", {
|
|
28076
|
+
"style": {
|
|
28077
|
+
padding: '0 10px 0 0',
|
|
28078
|
+
display: 'flex'
|
|
28079
|
+
}
|
|
28080
|
+
}, [vue.createVNode(CustomSvg, {
|
|
28081
|
+
"key": sectionItem._suggestion_type + "-" + sectionIndex,
|
|
28082
|
+
"className": getClassName$3(_this15.$props.innerClass, sectionItem._suggestion_type + "-search-icon") || null,
|
|
28083
|
+
"icon": getIcon(sectionItem._suggestion_type, sectionItem, suggestionsHaveIcon),
|
|
28084
|
+
"type": sectionItem._suggestion_type + "-search-icon"
|
|
28085
|
+
}, null)]), vue.createVNode(SuggestionItem, {
|
|
28086
|
+
"currentValue": _this15.currentValue,
|
|
28087
|
+
"suggestion": sectionItem
|
|
28088
|
+
}, null), _this15.renderActionIcon(sectionItem)]);
|
|
28089
|
+
})])]);
|
|
28090
|
+
}
|
|
28091
|
+
return vue.createVNode("div", null, [vue.createTextVNode("No suggestions")]);
|
|
28092
|
+
}), _this15.$props.showSuggestionsFooter ? _this15.suggestionsFooter() : null]) : _this15.renderNoSuggestions(_this15.normalizedSuggestions)]);
|
|
26291
28093
|
};
|
|
26292
28094
|
return vue.createVNode("div", {
|
|
26293
28095
|
"class": suggestionsContainer
|
|
@@ -26327,7 +28129,8 @@
|
|
|
26327
28129
|
"placeholder": _this15.$props.placeholder,
|
|
26328
28130
|
"autoFocus": _this15.$props.autoFocus,
|
|
26329
28131
|
"showFocusShortcutsIcon": _this15.$props.showFocusShortcutsIcon,
|
|
26330
|
-
"showVoiceSearch": _this15.$props.showVoiceSearch
|
|
28132
|
+
"showVoiceSearch": _this15.$props.showVoiceSearch,
|
|
28133
|
+
"searchBox": true
|
|
26331
28134
|
}, getInputProps({
|
|
26332
28135
|
value: _this15.$data.currentValue === null ? '' : _this15.$data.currentValue
|
|
26333
28136
|
}), {
|
|
@@ -27061,7 +28864,7 @@
|
|
|
27061
28864
|
// Add componentType for SSR
|
|
27062
28865
|
AIConnected.componentType = constants_1$1.AIAnswer;
|
|
27063
28866
|
|
|
27064
|
-
var _templateObject$
|
|
28867
|
+
var _templateObject$m, _templateObject2$a, _templateObject3$7;
|
|
27065
28868
|
var item = {
|
|
27066
28869
|
width: '15px',
|
|
27067
28870
|
height: '15px',
|
|
@@ -27074,7 +28877,7 @@
|
|
|
27074
28877
|
theme = _ref$theme === void 0 ? {} : _ref$theme;
|
|
27075
28878
|
return "\n\t" + vh + ";\n\n\t&:focus {\n\t\t+ label {\n\t\t\t&::before {\n\t\t\t\tbox-shadow: 0 0 0 2px " + curriedLighten(0.4, theme.colors.primaryColor) + ";\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: " + theme.colors.primaryColor + ";\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 " + (theme.colors.borderColor || curriedLighten(0.1, theme.colors.textColor)) + ";\n\t\t\tbox-sizing: content-box;\n\t\t\tcontent: '';\n\t\t\tcolor: " + theme.colors.primaryColor + ";\n\t\t\tmargin-right: calc(" + item.width + " * 0.5);\n\t\t\ttop: 50%;\n\t\t\tleft: 0;\n\t\t\twidth: " + item.width + ";\n\t\t\theight: " + item.height + ";\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: " + theme.colors.primaryColor + ";\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: calc(1px + " + item.scale + " / 2);\n\t\t\twidth: calc(" + item.width + " - " + item.scale + ");\n\t\t\theight: calc(" + item.height + " - " + item.scale + ");\n\t\t\tmargin-top: calc(" + item.height + " / -2 - " + item.scale + " / -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";
|
|
27076
28879
|
};
|
|
27077
|
-
var Radio = styled('input')(_templateObject$
|
|
28880
|
+
var Radio = styled('input')(_templateObject$m || (_templateObject$m = _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) {
|
|
27078
28881
|
return props.show ? null : hideInputControl;
|
|
27079
28882
|
}, function (_ref2) {
|
|
27080
28883
|
var theme = _ref2.theme;
|
|
@@ -27083,7 +28886,7 @@
|
|
|
27083
28886
|
var theme = _ref3.theme;
|
|
27084
28887
|
return theme.colors.primaryColor;
|
|
27085
28888
|
});
|
|
27086
|
-
var Checkbox = styled('input')(_templateObject2$
|
|
28889
|
+
var Checkbox = styled('input')(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteralLoose(["\n\t", ";\n\t", ";\n\n\t+ label {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-radius: 0;\n\t\t}\n\n\t\t&::after {\n\t\t\tbackground-color: transparent;\n\t\t\ttop: 50%;\n\t\t\tleft: calc(1px + ", " / 5);\n\t\t\twidth: calc(", " / 2);\n\t\t\theight: calc(", " / 5);\n\t\t\tmargin-top: calc(", " / -2 / 2 * 0.8);\n\t\t\tborder-style: solid;\n\t\t\tborder-color: ", ";\n\t\t\tborder-width: 0 0 2px 2px;\n\t\t\tborder-radius: 0;\n\t\t\tborder-image: none;\n\t\t\ttransform: rotate(-45deg) scale(0);\n\t\t\ttransition: none;\n\t\t}\n\t}\n\n\t&:checked {\n\t\t+ label {\n\t\t\t&::before {\n\t\t\t\tborder-color: ", ";\n\t\t\t}\n\n\t\t\t&::after {\n\t\t\t\tcontent: '';\n\t\t\t\ttransform: rotate(-45deg) scale(1);\n\t\t\t\ttransition: transform 200ms ease-out;\n\t\t\t}\n\t\t}\n\t}\n"])), formItem, function (props) {
|
|
27087
28890
|
return props.show ? null : hideInputControl;
|
|
27088
28891
|
}, item.width, item.width, item.width, item.height, function (_ref4) {
|
|
27089
28892
|
var theme = _ref4.theme;
|
|
@@ -29072,9 +30875,9 @@
|
|
|
29072
30875
|
});
|
|
29073
30876
|
var types$1 = unwrapExports(types_1);
|
|
29074
30877
|
|
|
29075
|
-
var _templateObject$
|
|
29076
|
-
var HierarchicalMenuList = styled('ul')(_templateObject$
|
|
29077
|
-
var HierarchicalMenuListItem = styled('li')(_templateObject2$
|
|
30878
|
+
var _templateObject$n, _templateObject2$b;
|
|
30879
|
+
var HierarchicalMenuList = styled('ul')(_templateObject$n || (_templateObject$n = _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"])));
|
|
30880
|
+
var HierarchicalMenuListItem = styled('li')(_templateObject2$b || (_templateObject2$b = _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) {
|
|
29078
30881
|
return !props.showLine && "\n\t\t\t\t\tdisplay: none;\n\t\t\t\t";
|
|
29079
30882
|
});
|
|
29080
30883
|
|
|
@@ -29835,26 +31638,26 @@
|
|
|
29835
31638
|
// Add componentType for SSR
|
|
29836
31639
|
TreeListConnected.componentType = constants_1$1.treeList;
|
|
29837
31640
|
|
|
29838
|
-
var _templateObject$
|
|
31641
|
+
var _templateObject$o, _templateObject2$c;
|
|
29839
31642
|
var small = "\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";
|
|
29840
31643
|
var dark$2 = function dark(_ref) {
|
|
29841
31644
|
var theme = _ref.theme;
|
|
29842
31645
|
return "\n\tbackground-color: " + (theme.colors ? theme.colors.backgroundColor : '') + ";\n\tborder-color: " + (theme.colors ? theme.colors.borderColor : '') + ";\n\tcolor: " + (theme.colors ? theme.colors.textColor : '') + ";\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: " + (theme.colors ? theme.colors.backgroundColor : '') + ";\n\t}\n";
|
|
29843
31646
|
};
|
|
29844
|
-
var Select = styled('button')(_templateObject$
|
|
31647
|
+
var Select = styled('button')(_templateObject$o || (_templateObject$o = _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) {
|
|
29845
31648
|
return props.small ? small : null;
|
|
29846
31649
|
}, function (_ref2) {
|
|
29847
31650
|
var themePreset = _ref2.themePreset;
|
|
29848
31651
|
return themePreset === 'dark' && dark$2;
|
|
29849
31652
|
});
|
|
29850
|
-
var Tick = styled('span')(_templateObject2$
|
|
31653
|
+
var Tick = styled('span')(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteralLoose(["\n\twidth: 16px;\n\theight: 16px;\n\tdisplay: inline-block;\n\tposition: relative;\n\tuser-select: none;\n\talign-items: center;\n\n\t&::after {\n\t\tbox-sizing: content-box;\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbackground-color: transparent;\n\t\ttop: 50%;\n\t\tleft: 0;\n\t\twidth: 8px;\n\t\theight: 4px;\n\t\tmargin-top: -4px;\n\t\tborder-style: solid;\n\t\tborder-color: ", ";\n\t\tborder-width: 0 0 2px 2px;\n\t\tborder-radius: 0;\n\t\tborder-image: none;\n\t\ttransform: rotate(-45deg) scale(1);\n\t\ttransition: all 200ms ease-out;\n\t}\n"])), function (_ref3) {
|
|
29851
31654
|
var theme = _ref3.theme;
|
|
29852
31655
|
return theme.colors.primaryColor;
|
|
29853
31656
|
});
|
|
29854
31657
|
|
|
29855
|
-
var _templateObject$
|
|
31658
|
+
var _templateObject$p;
|
|
29856
31659
|
var open = "\n\ttop: 0.55em;\n\ttransform: rotate(-45deg);\n";
|
|
29857
|
-
var Chevron = styled('span')(_templateObject$
|
|
31660
|
+
var Chevron = styled('span')(_templateObject$p || (_templateObject$p = _taggedTemplateLiteralLoose(["\n\t&::before {\n\t\tcontent: '';\n\t\tborder-style: solid;\n\t\tborder-width: 0.15em 0.15em 0 0;\n\t\tdisplay: inline-block;\n\t\theight: 0.45em;\n\t\tposition: relative;\n\t\ttop: 0.35em;\n\t\tleft: 0;\n\t\ttransform: rotate(135deg);\n\t\tvertical-align: top;\n\t\twidth: 0.45em;\n\n\t\t", ";\n\t}\n"])), function (props) {
|
|
29858
31661
|
return props.open ? open : null;
|
|
29859
31662
|
});
|
|
29860
31663
|
|
|
@@ -31568,8 +33371,8 @@
|
|
|
31568
33371
|
}
|
|
31569
33372
|
});
|
|
31570
33373
|
|
|
31571
|
-
var _templateObject$
|
|
31572
|
-
var Slider = styled('div')(_templateObject$
|
|
33374
|
+
var _templateObject$q;
|
|
33375
|
+
var Slider = styled('div')(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n\tmargin-top: 30px;\n\tpadding: 10px;\n\n\t/* component style */\n\t.vue-slider-disabled {\n\t\topacity: 0.5;\n\t\tcursor: not-allowed;\n\t}\n\n\t/* rail style */\n\t.vue-slider-rail {\n\t\tbackground-color: #ccc;\n\t\tborder-radius: 15px;\n\t\theight: 4px;\n\t}\n\n\t/* process style */\n\t.vue-slider-process {\n\t\tbackground-color: #0b6aff;\n\t\tborder-radius: 15px;\n\t}\n\n\t/* mark style */\n\t.vue-slider-mark {\n\t\tz-index: 4;\n\t}\n\n\t.vue-slider-mark:first-child .vue-slider-mark-step,\n\t.vue-slider-mark:last-child .vue-slider-mark-step {\n\t\tdisplay: none;\n\t}\n\n\t.vue-slider-mark-step {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder-radius: 50%;\n\t\tbackground-color: rgba(0, 0, 0, 0.16);\n\t}\n\n\t.vue-slider-mark-label {\n\t\tfont-size: 14px;\n\t\twhite-space: nowrap;\n\t}\n\n\t/* dot style */\n\t.vue-slider-dot {\n\t\tz-index: 2;\n\t}\n\n\t.vue-slider-dot-handle {\n\t\tcursor: pointer;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder-radius: 50%;\n\t\tbackground-color: #fff;\n\t\tbox-sizing: border-box;\n\t\tborder: 1px solid #9a9a9a;\n\t\tz-index: 2;\n\t\tbox-shadow: 0.5px 0.5px 2px 1px rgb(0 0 0 / 32%);\n\t}\n\n\t.vue-slider-dot-handle-disabled {\n\t\tcursor: not-allowed;\n\t\tbackground-color: #ccc;\n\t}\n\n\t.vue-slider-dot-tooltip-inner {\n\t\tfont-size: 14px;\n\t\twhite-space: nowrap;\n\t\tpadding: 2px 5px;\n\t\tmin-width: 20px;\n\t\ttext-align: center;\n\t\tcolor: #fff;\n\t\tborder-radius: 5px;\n\t\tborder: 1px solid #3498db;\n\t\tbackground-color: #3498db;\n\t\tbox-sizing: content-box;\n\t}\n\n\t.vue-slider-dot-tooltip-inner::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t}\n\n\t.vue-slider-dot-tooltip-inner-top::after {\n\t\ttop: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, 0);\n\t\theight: 0;\n\t\twidth: 0;\n\t\tborder-color: transparent;\n\t\tborder-style: solid;\n\t\tborder-width: 5px;\n\t\tborder-top-color: inherit;\n\t}\n\n\t.vue-slider-dot-tooltip-inner-bottom::after {\n\t\tbottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, 0);\n\t\theight: 0;\n\t\twidth: 0;\n\t\tborder-color: transparent;\n\t\tborder-style: solid;\n\t\tborder-width: 5px;\n\t\tborder-bottom-color: inherit;\n\t}\n\n\t.vue-slider-dot-tooltip-inner-left::after {\n\t\tleft: 100%;\n\t\ttop: 50%;\n\t\ttransform: translate(0, -50%);\n\t\theight: 0;\n\t\twidth: 0;\n\t\tborder-color: transparent;\n\t\tborder-style: solid;\n\t\tborder-width: 5px;\n\t\tborder-left-color: inherit;\n\t}\n\n\t.vue-slider-dot-tooltip-inner-right::after {\n\t\tright: 100%;\n\t\ttop: 50%;\n\t\ttransform: translate(0, -50%);\n\t\theight: 0;\n\t\twidth: 0;\n\t\tborder-color: transparent;\n\t\tborder-style: solid;\n\t\tborder-width: 5px;\n\t\tborder-right-color: inherit;\n\t}\n\n\t.vue-slider-dot-tooltip-wrapper {\n\t\topacity: 0;\n\t\ttransition: all 0.3s;\n\t}\n\t.vue-slider-dot-tooltip-wrapper-show {\n\t\topacity: 1;\n\t}\n\n\t.label-container {\n\t\tmargin: 10px 0;\n\t\twidth: 100%;\n\t}\n\n\t.range-label-right {\n\t\tfloat: right;\n\t}\n"])));
|
|
31573
33376
|
|
|
31574
33377
|
var global$1 = typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {};
|
|
31575
33378
|
|
|
@@ -32689,12 +34492,12 @@
|
|
|
32689
34492
|
// Add componentType for SSR
|
|
32690
34493
|
RangeConnected$3.componentType = constants_1$1.rangeSlider;
|
|
32691
34494
|
|
|
32692
|
-
var _templateObject$
|
|
34495
|
+
var _templateObject$r;
|
|
32693
34496
|
var alert = function alert(_ref) {
|
|
32694
34497
|
var theme = _ref.theme;
|
|
32695
34498
|
return "\n\tcolor: " + theme.colors.alertColor + ";\n";
|
|
32696
34499
|
};
|
|
32697
|
-
var Content = styled('div')(_templateObject$
|
|
34500
|
+
var Content = styled('div')(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"])), function (props) {
|
|
32698
34501
|
return props.alert && alert;
|
|
32699
34502
|
});
|
|
32700
34503
|
|
|
@@ -38518,9 +40321,9 @@
|
|
|
38518
40321
|
}
|
|
38519
40322
|
};
|
|
38520
40323
|
|
|
38521
|
-
var _templateObject$
|
|
38522
|
-
var MapPin = styled('div')(_templateObject$
|
|
38523
|
-
var MapPinArrow = styled('div')(_templateObject2$
|
|
40324
|
+
var _templateObject$s, _templateObject2$d, _templateObject3$8;
|
|
40325
|
+
var MapPin = styled('div')(_templateObject$s || (_templateObject$s = _taggedTemplateLiteralLoose(["\n\theight: 24px;\n\twidth: auto;\n\tbackground-color: #fff;\n\tborder-radius: 2px;\n\tcolor: #222;\n\tbox-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n\tpadding: 3px 6px;\n\tfont-size: 15px;\n"])));
|
|
40326
|
+
var MapPinArrow = styled('div')(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteralLoose(["\n\tborder-color: rgba(0, 0, 0, 0.2);\n\tborder-style: solid;\n\tborder-width: 0 1px 1px 0;\n\tmargin-left: -6px;\n\tbackground-color: #fff;\n\tmargin-top: -6px;\n\twidth: 12px;\n\theight: 12px;\n\t-webkit-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\ttransform: rotate(45deg);\n"])));
|
|
38524
40327
|
var mapPinWrapper = css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"])));
|
|
38525
40328
|
|
|
38526
40329
|
var recordResultClick$3 = lib_5.recordResultClick;
|
|
@@ -38849,7 +40652,7 @@
|
|
|
38849
40652
|
}
|
|
38850
40653
|
};
|
|
38851
40654
|
|
|
38852
|
-
var _templateObject$
|
|
40655
|
+
var _templateObject$t;
|
|
38853
40656
|
var ReactiveGoogleMap = {
|
|
38854
40657
|
name: 'ReactiveGoogleMap',
|
|
38855
40658
|
props: {
|
|
@@ -38924,7 +40727,7 @@
|
|
|
38924
40727
|
"style": {
|
|
38925
40728
|
height: '100%'
|
|
38926
40729
|
},
|
|
38927
|
-
"class": css(_templateObject$
|
|
40730
|
+
"class": css(_templateObject$t || (_templateObject$t = _taggedTemplateLiteralLoose(["\n\t\t\t\t\t\t\theight: 100%;\n\t\t\t\t\t\t"]))),
|
|
38928
40731
|
"options": {
|
|
38929
40732
|
zoomControl: true
|
|
38930
40733
|
},
|
|
@@ -39183,7 +40986,7 @@
|
|
|
39183
40986
|
httpEquiv: "http-equiv"
|
|
39184
40987
|
};
|
|
39185
40988
|
var escapeRE = /["'&<>]/;
|
|
39186
|
-
function escapeHtml$
|
|
40989
|
+
function escapeHtml$2(string) {
|
|
39187
40990
|
var str = "" + string;
|
|
39188
40991
|
var match = escapeRE.exec(str);
|
|
39189
40992
|
if (!match) {
|
|
@@ -39253,7 +41056,7 @@
|
|
|
39253
41056
|
if (isBooleanAttr(attrKey)) {
|
|
39254
41057
|
return includeBooleanAttr(value) ? " " + attrKey : "";
|
|
39255
41058
|
} else if (isSSRSafeAttrName(attrKey)) {
|
|
39256
|
-
return value === "" ? " " + attrKey : " " + attrKey + "=\"" + escapeHtml$
|
|
41059
|
+
return value === "" ? " " + attrKey : " " + attrKey + "=\"" + escapeHtml$2(value) + "\"";
|
|
39257
41060
|
} else {
|
|
39258
41061
|
console.warn("[@vue/server-renderer] Skipped rendering unsafe attribute name: " + attrKey);
|
|
39259
41062
|
return "";
|
|
@@ -39267,17 +41070,17 @@
|
|
|
39267
41070
|
return type === "string" || type === "number" || type === "boolean";
|
|
39268
41071
|
}
|
|
39269
41072
|
function ssrRenderClass(raw) {
|
|
39270
|
-
return escapeHtml$
|
|
41073
|
+
return escapeHtml$2(normalizeClass(raw));
|
|
39271
41074
|
}
|
|
39272
41075
|
function ssrRenderStyle(raw) {
|
|
39273
41076
|
if (!raw) {
|
|
39274
41077
|
return "";
|
|
39275
41078
|
}
|
|
39276
41079
|
if (isString(raw)) {
|
|
39277
|
-
return escapeHtml$
|
|
41080
|
+
return escapeHtml$2(raw);
|
|
39278
41081
|
}
|
|
39279
41082
|
var styles = normalizeStyle(raw);
|
|
39280
|
-
return escapeHtml$
|
|
41083
|
+
return escapeHtml$2(stringifyStyle(styles));
|
|
39281
41084
|
}
|
|
39282
41085
|
function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) {
|
|
39283
41086
|
parentPush("<!--teleport start-->");
|
|
@@ -39440,7 +41243,7 @@
|
|
|
39440
41243
|
children = vnode.children;
|
|
39441
41244
|
switch (type) {
|
|
39442
41245
|
case vue.Text:
|
|
39443
|
-
push(escapeHtml$
|
|
41246
|
+
push(escapeHtml$2(children));
|
|
39444
41247
|
break;
|
|
39445
41248
|
case vue.Comment:
|
|
39446
41249
|
push(children ? "<!--" + escapeHtmlComment(children) + "-->" : "<!---->");
|
|
@@ -39513,15 +41316,15 @@
|
|
|
39513
41316
|
push(props.innerHTML);
|
|
39514
41317
|
} else if (props.textContent) {
|
|
39515
41318
|
hasChildrenOverride = true;
|
|
39516
|
-
push(escapeHtml$
|
|
41319
|
+
push(escapeHtml$2(props.textContent));
|
|
39517
41320
|
} else if (tag === "textarea" && props.value) {
|
|
39518
41321
|
hasChildrenOverride = true;
|
|
39519
|
-
push(escapeHtml$
|
|
41322
|
+
push(escapeHtml$2(props.value));
|
|
39520
41323
|
}
|
|
39521
41324
|
}
|
|
39522
41325
|
if (!hasChildrenOverride) {
|
|
39523
41326
|
if (shapeFlag & 8) {
|
|
39524
|
-
push(escapeHtml$
|
|
41327
|
+
push(escapeHtml$2(children));
|
|
39525
41328
|
} else if (shapeFlag & 16) {
|
|
39526
41329
|
renderVNodeChildren(push, children, parentComponent, slotScopeId);
|
|
39527
41330
|
}
|
|
@@ -40028,7 +41831,7 @@
|
|
|
40028
41831
|
}, queryString, renderFunction);
|
|
40029
41832
|
}
|
|
40030
41833
|
|
|
40031
|
-
var version = "3.0.0-rc.6.
|
|
41834
|
+
var version = "3.0.0-rc.6.6";
|
|
40032
41835
|
|
|
40033
41836
|
var components = [RLConnected, ResultCard, ResultList, ReactiveBase, SBConnected, ListConnected, ListConnected$1, RangeConnected$1, RangeConnected$2, RangeConnected$3, RangeConnected, RcConnected, RcConnected$1, RcConnected$2, TBConnected, ListConnected$2, ListConnected$3, StateProviderConnected, RangeConnected$4, TreeListConnected, AIConnected];
|
|
40034
41837
|
function install$1 (Vue) {
|