@empathyco/x-components 3.0.0-alpha.124 → 3.0.0-alpha.125
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/CHANGELOG.md +13 -0
- package/core/index.js +1 -0
- package/core/index.js.map +1 -1
- package/design-system/full-theme.css +14 -15
- package/docs/API-reference/api/x-components.md +1 -0
- package/docs/API-reference/api/x-components.settingsicon.md +11 -0
- package/docs/API-reference/components/common/icons/x-components.settings.md +7 -0
- package/js/components/icons/settings.vue.js +69 -0
- package/js/components/icons/settings.vue.js.map +1 -0
- package/js/components/icons/settings.vue_rollup-plugin-vue_script.vue.js +4 -0
- package/js/components/icons/settings.vue_rollup-plugin-vue_script.vue.js.map +1 -0
- package/js/index.js +1 -0
- package/js/index.js.map +1 -1
- package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/search/components/sort-list.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/search/components/sort-list.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/search/components/sort.mixin.js +1 -0
- package/js/x-modules/search/components/sort.mixin.js.map +1 -1
- package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/js/x-modules/url/components/url-handler.vue_rollup-plugin-vue_script.vue.js +1 -0
- package/js/x-modules/url/components/url-handler.vue_rollup-plugin-vue_script.vue.js.map +1 -1
- package/package.json +2 -2
- package/report/x-components.api.json +21 -0
- package/report/x-components.api.md +3 -0
- package/types/components/icons/index.d.ts +1 -0
- package/types/components/icons/index.d.ts.map +1 -1
- package/types/components/icons/settings.vue.d.ts +3 -0
- package/types/components/icons/settings.vue.d.ts.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.0.0-alpha.125](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.124...@empathyco/x-components@3.0.0-alpha.125) (2022-07-07)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add settings icon (#589)
|
|
11
|
+
([7f93849](https://github.com/empathyco/x/commit/7f9384915718805809ff733f2be60ae6ebb01910)),
|
|
12
|
+
closes [EX-6519](https://searchbroker.atlassian.net/browse/EX-6519)
|
|
13
|
+
|
|
14
|
+
# Change Log
|
|
15
|
+
|
|
16
|
+
All notable changes to this project will be documented in this file. See
|
|
17
|
+
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
18
|
+
|
|
6
19
|
## [3.0.0-alpha.124](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.123...@empathyco/x-components@3.0.0-alpha.124) (2022-07-06)
|
|
7
20
|
|
|
8
21
|
### Features
|
package/core/index.js
CHANGED
|
@@ -62,6 +62,7 @@ export { default as PlusIcon } from '../js/components/icons/plus.vue.js';
|
|
|
62
62
|
export { default as RadioButtonSelectedIcon } from '../js/components/icons/radiobutton-selected.vue.js';
|
|
63
63
|
export { default as RadioButtonUnselectedIcon } from '../js/components/icons/radiobutton-unselected.vue.js';
|
|
64
64
|
export { default as SearchIcon } from '../js/components/icons/search.vue.js';
|
|
65
|
+
export { default as SettingsIcon } from '../js/components/icons/settings.vue.js';
|
|
65
66
|
export { default as ShowIcon } from '../js/components/icons/show.vue.js';
|
|
66
67
|
export { default as StarIcon } from '../js/components/icons/star.vue.js';
|
|
67
68
|
export { default as SearchTinyIcon } from '../js/components/icons/search-tiny.vue.js';
|
package/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -898,6 +898,20 @@
|
|
|
898
898
|
--x-size-border-width-bottom-facet-header-line: var(--x-size-border-width-facet-header-line);
|
|
899
899
|
--x-size-border-width-left-facet-header-line: 0;
|
|
900
900
|
}
|
|
901
|
+
.x-facet--outlined.x-facet,
|
|
902
|
+
.x-facet--outlined .x-facet {
|
|
903
|
+
--x-color-border-facet-default: var(--x-color-border-facet-outlined);
|
|
904
|
+
--x-size-border-width-facet-default: var(--x-size-border-width-facet-outlined);
|
|
905
|
+
--x-size-border-width-top-facet-default: var(--x-size-border-width-top-facet-outlined);
|
|
906
|
+
--x-size-border-width-right-facet-default: var(--x-size-border-width-right-facet-outlined);
|
|
907
|
+
--x-size-border-width-bottom-facet-default: var(--x-size-border-width-bottom-facet-outlined);
|
|
908
|
+
--x-size-border-width-left-facet-default: var(--x-size-border-width-left-facet-outlined);
|
|
909
|
+
--x-size-padding-facet-header-default: var(--x-size-padding-facet-header-outlined);
|
|
910
|
+
--x-size-padding-top-facet-header-default: var(--x-size-padding-top-facet-header-outlined);
|
|
911
|
+
--x-size-padding-right-facet-header-default: var(--x-size-padding-right-facet-header-outlined);
|
|
912
|
+
--x-size-padding-bottom-facet-header-default: var(--x-size-padding-bottom-facet-header-outlined);
|
|
913
|
+
--x-size-padding-left-facet-header-default: var(--x-size-padding-left-facet-header-outlined);
|
|
914
|
+
}
|
|
901
915
|
:root {
|
|
902
916
|
--x-color-border-facet-outlined: var(--x-color-base-neutral-70);
|
|
903
917
|
--x-size-border-width-facet-outlined: var(--x-size-border-width-base);
|
|
@@ -7599,18 +7613,3 @@
|
|
|
7599
7613
|
.x-normal-case {
|
|
7600
7614
|
text-transform: none;
|
|
7601
7615
|
}
|
|
7602
|
-
|
|
7603
|
-
.x-facet--outlined.x-facet,
|
|
7604
|
-
.x-facet--outlined .x-facet {
|
|
7605
|
-
--x-color-border-facet-default: var(--x-color-border-facet-outlined);
|
|
7606
|
-
--x-size-border-width-facet-default: var(--x-size-border-width-facet-outlined);
|
|
7607
|
-
--x-size-border-width-top-facet-default: var(--x-size-border-width-top-facet-outlined);
|
|
7608
|
-
--x-size-border-width-right-facet-default: var(--x-size-border-width-right-facet-outlined);
|
|
7609
|
-
--x-size-border-width-bottom-facet-default: var(--x-size-border-width-bottom-facet-outlined);
|
|
7610
|
-
--x-size-border-width-left-facet-default: var(--x-size-border-width-left-facet-outlined);
|
|
7611
|
-
--x-size-padding-facet-header-default: var(--x-size-padding-facet-header-outlined);
|
|
7612
|
-
--x-size-padding-top-facet-header-default: var(--x-size-padding-top-facet-header-outlined);
|
|
7613
|
-
--x-size-padding-right-facet-header-default: var(--x-size-padding-right-facet-header-outlined);
|
|
7614
|
-
--x-size-padding-bottom-facet-header-default: var(--x-size-padding-bottom-facet-header-outlined);
|
|
7615
|
-
--x-size-padding-left-facet-header-default: var(--x-size-padding-left-facet-header-outlined);
|
|
7616
|
-
}
|
|
@@ -533,6 +533,7 @@ X-Components is a library usable everywhere not only for search experiences.
|
|
|
533
533
|
| [setSelectedFilters](./x-components.setselectedfilters.md) | Sets the search state <code>selectedFilters</code>. |
|
|
534
534
|
| [setSort](./x-components.setsort.md) | Sets the search state <code>sort</code>. |
|
|
535
535
|
| [setTaggingConfig](./x-components.settaggingconfig.md) | Sets the tagging config state. |
|
|
536
|
+
| [SettingsIcon](./x-components.settingsicon.md) | |
|
|
536
537
|
| [setUrlFilters](./x-components.seturlfilters.md) | Sets the filters of the url module. |
|
|
537
538
|
| [setUrlPage](./x-components.seturlpage.md) | Sets the page of the url module. |
|
|
538
539
|
| [setUrlParams](./x-components.seturlparams.md) | Sets the search state <code>query</code>. |
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [SettingsIcon](./x-components.settingsicon.md)
|
|
4
|
+
|
|
5
|
+
## SettingsIcon variable
|
|
6
|
+
|
|
7
|
+
<b>Signature:</b>
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
_default: {}
|
|
11
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import script from './settings.vue_rollup-plugin-vue_script.vue.js';
|
|
2
|
+
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.mjs';
|
|
3
|
+
|
|
4
|
+
/* script */
|
|
5
|
+
const __vue_script__ = script;
|
|
6
|
+
|
|
7
|
+
/* template */
|
|
8
|
+
var __vue_render__ = function (_h, _vm) {
|
|
9
|
+
var _c = _vm._c;
|
|
10
|
+
return _c(
|
|
11
|
+
"svg",
|
|
12
|
+
{
|
|
13
|
+
class: ["x-icon", "x-icon--settings"].concat(
|
|
14
|
+
_vm.data.staticClass,
|
|
15
|
+
_vm.data.class
|
|
16
|
+
),
|
|
17
|
+
attrs: { viewBox: "0 0 16 16" },
|
|
18
|
+
},
|
|
19
|
+
[
|
|
20
|
+
_c("g", { attrs: { fill: "none", "fill-rule": "evenodd" } }, [
|
|
21
|
+
_c("path", {
|
|
22
|
+
attrs: {
|
|
23
|
+
d: "M8 9.773a1.773 1.773 0 1 0 .084-3.545A1.773 1.773 0 0 0 8 9.773Z",
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
_vm._v(" "),
|
|
27
|
+
_c("path", {
|
|
28
|
+
attrs: {
|
|
29
|
+
d: "M12.373 9.773a.975.975 0 0 0 .195 1.075l.035.036a1.182 1.182 0 1 1-1.672 1.672l-.035-.035a.974.974 0 0 0-1.076-.196.975.975 0 0 0-.59.893v.1a1.183 1.183 0 0 1-2.365 0v-.053a.975.975 0 0 0-.638-.892.974.974 0 0 0-1.075.195l-.036.035a1.182 1.182 0 1 1-1.672-1.672l.036-.035a.975.975 0 0 0 .195-1.076.975.975 0 0 0-.893-.59h-.1a1.182 1.182 0 1 1 0-2.365h.053a.975.975 0 0 0 .892-.638.975.975 0 0 0-.195-1.075l-.035-.036a1.182 1.182 0 0 1 1.672-1.672l.036.036a.975.975 0 0 0 1.075.195h.047a.975.975 0 0 0 .591-.893v-.1a1.182 1.182 0 1 1 2.364 0v.053a.975.975 0 0 0 .59.892.975.975 0 0 0 1.076-.195l.036-.035a1.182 1.182 0 0 1 1.672 1.672l-.035.036a.974.974 0 0 0-.196 1.075v.047a.974.974 0 0 0 .893.591h.1a1.182 1.182 0 0 1 0 2.364h-.053a.975.975 0 0 0-.892.59v.001Z",
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
32
|
+
]),
|
|
33
|
+
]
|
|
34
|
+
)
|
|
35
|
+
};
|
|
36
|
+
var __vue_staticRenderFns__ = [];
|
|
37
|
+
__vue_render__._withStripped = true;
|
|
38
|
+
|
|
39
|
+
/* style */
|
|
40
|
+
const __vue_inject_styles__ = undefined;
|
|
41
|
+
/* scoped */
|
|
42
|
+
const __vue_scope_id__ = undefined;
|
|
43
|
+
/* module identifier */
|
|
44
|
+
const __vue_module_identifier__ = undefined;
|
|
45
|
+
/* functional template */
|
|
46
|
+
const __vue_is_functional_template__ = true;
|
|
47
|
+
/* style inject */
|
|
48
|
+
|
|
49
|
+
/* style inject SSR */
|
|
50
|
+
|
|
51
|
+
/* style inject shadow dom */
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
const __vue_component__ = /*#__PURE__*/__vue_normalize__(
|
|
56
|
+
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
|
57
|
+
__vue_inject_styles__,
|
|
58
|
+
__vue_script__,
|
|
59
|
+
__vue_scope_id__,
|
|
60
|
+
__vue_is_functional_template__,
|
|
61
|
+
__vue_module_identifier__,
|
|
62
|
+
false,
|
|
63
|
+
undefined,
|
|
64
|
+
undefined,
|
|
65
|
+
undefined
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
export { __vue_component__ as default };
|
|
69
|
+
//# sourceMappingURL=settings.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.vue.js","sources":["../../../../src/components/icons/settings.vue"],"sourcesContent":["<template functional>\n <svg\n :class=\"['x-icon', 'x-icon--settings'].concat(data.staticClass, data.class)\"\n viewBox=\"0 0 16 16\"\n >\n <!-- eslint-disable max-len -->\n <g fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M8 9.773a1.773 1.773 0 1 0 .084-3.545A1.773 1.773 0 0 0 8 9.773Z\" />\n <path\n d=\"M12.373 9.773a.975.975 0 0 0 .195 1.075l.035.036a1.182 1.182 0 1 1-1.672 1.672l-.035-.035a.974.974 0 0 0-1.076-.196.975.975 0 0 0-.59.893v.1a1.183 1.183 0 0 1-2.365 0v-.053a.975.975 0 0 0-.638-.892.974.974 0 0 0-1.075.195l-.036.035a1.182 1.182 0 1 1-1.672-1.672l.036-.035a.975.975 0 0 0 .195-1.076.975.975 0 0 0-.893-.59h-.1a1.182 1.182 0 1 1 0-2.365h.053a.975.975 0 0 0 .892-.638.975.975 0 0 0-.195-1.075l-.035-.036a1.182 1.182 0 0 1 1.672-1.672l.036.036a.975.975 0 0 0 1.075.195h.047a.975.975 0 0 0 .591-.893v-.1a1.182 1.182 0 1 1 2.364 0v.053a.975.975 0 0 0 .59.892.975.975 0 0 0 1.076-.195l.036-.035a1.182 1.182 0 0 1 1.672 1.672l-.035.036a.974.974 0 0 0-.196 1.075v.047a.974.974 0 0 0 .893.591h.1a1.182 1.182 0 0 1 0 2.364h-.053a.975.975 0 0 0-.892.59v.001Z\"\n />\n </g>\n </svg>\n</template>\n\n<script lang=\"ts\">\n export default {};\n</script>\n"],"names":[],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../src/components/icons/settings.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nexport default {};\n"],"names":[],"mappings":"AAgBA,aAAe,EAAE;;;;"}
|
package/js/index.js
CHANGED
|
@@ -62,6 +62,7 @@ export { default as PlusIcon } from './components/icons/plus.vue.js';
|
|
|
62
62
|
export { default as RadioButtonSelectedIcon } from './components/icons/radiobutton-selected.vue.js';
|
|
63
63
|
export { default as RadioButtonUnselectedIcon } from './components/icons/radiobutton-unselected.vue.js';
|
|
64
64
|
export { default as SearchIcon } from './components/icons/search.vue.js';
|
|
65
|
+
export { default as SettingsIcon } from './components/icons/settings.vue.js';
|
|
65
66
|
export { default as ShowIcon } from './components/icons/show.vue.js';
|
|
66
67
|
export { default as StarIcon } from './components/icons/star.vue.js';
|
|
67
68
|
export { default as SearchTinyIcon } from './components/icons/search-tiny.vue.js';
|
package/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -65,6 +65,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra-params.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/extra-params/components/extra-params.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Dictionary } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { State, xComponentMixin, XEmit } from '../../../components';\nimport { extraParamsXModule } from '../x-module';\n\n/**\n * It emits a {@link ExtraParamsXEvents.ExtraParamsProvided} with the values\n * received as a prop.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(extraParamsXModule)]\n})\nexport default class ExtraParams extends Vue {\n /**\n * Emits the initial extra params, overriding with the state extra params, just in case, those\n * values were already set by XComponents initialization (url, plugin config, etc.).\n */\n mounted(): void {\n this.$x.emit('ExtraParamsInitialized', { ...this.values });\n this.$x.emit('ExtraParamsProvided', { ...this.values, ...this.storeExtraParams });\n }\n\n /**\n * (Required) A Dictionary where the keys are the extra param names and its values.\n *\n * @remarks Emits the {@link ExtraParamsXEvents.ExtraParamsProvided} when the\n * component is rendered or the values changed.\n *\n * @public\n */\n @XEmit('ExtraParamsProvided', { deep: true })\n @Prop({ required: true })\n public values!: Dictionary<unknown>;\n\n /**\n * State extra params. Used to override the initial extra params.\n */\n @State('extraParams', 'params')\n public storeExtraParams!: Dictionary<unknown>;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extra-params.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/extra-params/components/extra-params.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Dictionary } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { State, xComponentMixin, XEmit } from '../../../components';\nimport { extraParamsXModule } from '../x-module';\n\n/**\n * It emits a {@link ExtraParamsXEvents.ExtraParamsProvided} with the values\n * received as a prop.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(extraParamsXModule)]\n})\nexport default class ExtraParams extends Vue {\n /**\n * Emits the initial extra params, overriding with the state extra params, just in case, those\n * values were already set by XComponents initialization (url, plugin config, etc.).\n */\n mounted(): void {\n this.$x.emit('ExtraParamsInitialized', { ...this.values });\n this.$x.emit('ExtraParamsProvided', { ...this.values, ...this.storeExtraParams });\n }\n\n /**\n * (Required) A Dictionary where the keys are the extra param names and its values.\n *\n * @remarks Emits the {@link ExtraParamsXEvents.ExtraParamsProvided} when the\n * component is rendered or the values changed.\n *\n * @public\n */\n @XEmit('ExtraParamsProvided', { deep: true })\n @Prop({ required: true })\n public values!: Dictionary<unknown>;\n\n /**\n * State extra params. Used to override the initial extra params.\n */\n @State('extraParams', 'params')\n public storeExtraParams!: Dictionary<unknown>;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;AASA,IAAqB,WAAW,GAAhC,MAAqB,WAAY,SAAQ,GAAG;;;;;IAK1C,OAAO;QACL,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;KACnF;;IAqBD,MAAM,MAAW;CAClB,CAAA;AAVC;IAFC,KAAK,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;2CACW;AAMpC;IADC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC;qDACe;AA1B3B,WAAW;IAH/B,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;KAC9C,CAAC;GACmB,WAAW,CA8B/B;aA9BoB,WAAW;;;;"}
|
|
@@ -65,6 +65,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderless-extra-param.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/extra-params/components/renderless-extra-param.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport { Dictionary } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { NoElement, State, xComponentMixin } from '../../../components';\nimport { extraParamsXModule } from '../x-module';\n\n/**\n * It emits a {@link ExtraParamsXEvents.UserChangedExtraParams} when the `updateValue`\n * is called.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(extraParamsXModule)],\n components: {\n NoElement\n }\n})\nexport default class RenderlessExtraParam extends Vue {\n /**\n * The extra param's name.\n *\n * @public\n */\n @Prop({ required: true })\n public name!: string;\n\n /**\n * A dictionary with the extra params in the store state.\n *\n * @public\n */\n @State('extraParams', 'params')\n public stateParams!: Dictionary<unknown>;\n\n /**\n * It returns the value of the extra param from the store.\n *\n * @returns - The value from the store.\n *\n * @internal\n */\n protected get value(): unknown {\n return this.stateParams[this.name];\n }\n\n /**\n * It sets the new value to the store.\n *\n * @param newValue - The new value of the extra param.\n *\n * @internal\n */\n protected updateValue(newValue: unknown): void {\n this.$x.emit('UserChangedExtraParams', { [this.name]: newValue });\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderless-extra-param.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/extra-params/components/renderless-extra-param.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport { Dictionary } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { NoElement, State, xComponentMixin } from '../../../components';\nimport { extraParamsXModule } from '../x-module';\n\n/**\n * It emits a {@link ExtraParamsXEvents.UserChangedExtraParams} when the `updateValue`\n * is called.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(extraParamsXModule)],\n components: {\n NoElement\n }\n})\nexport default class RenderlessExtraParam extends Vue {\n /**\n * The extra param's name.\n *\n * @public\n */\n @Prop({ required: true })\n public name!: string;\n\n /**\n * A dictionary with the extra params in the store state.\n *\n * @public\n */\n @State('extraParams', 'params')\n public stateParams!: Dictionary<unknown>;\n\n /**\n * It returns the value of the extra param from the store.\n *\n * @returns - The value from the store.\n *\n * @internal\n */\n protected get value(): unknown {\n return this.stateParams[this.name];\n }\n\n /**\n * It sets the new value to the store.\n *\n * @param newValue - The new value of the extra param.\n *\n * @internal\n */\n protected updateValue(newValue: unknown): void {\n this.$x.emit('UserChangedExtraParams', { [this.name]: newValue });\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;AAYA,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,GAAG;;;;;;;;IAwBnD,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;;;;;;;;IASS,WAAW,CAAC,QAAiB;QACrC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;KACnE;CACF,CAAA;AA/BC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACJ;AAQrB;IADC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC;yDACU;AAftB,oBAAoB;IANxC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC7C,UAAU,EAAE;YACV,SAAS;SACV;KACF,CAAC;GACmB,oBAAoB,CAsCxC;aAtCoB,oBAAoB;;;;"}
|
|
@@ -65,6 +65,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/facets/components/clear-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from 'vue-class-component';\nimport { xComponentMixin } from '../../../components';\nimport BaseEventButton from '../../../components/base-event-button.vue';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { facetsXModule } from '../x-module';\nimport FacetsMixin from './facets.mixin';\n\n/**\n * Renders a simple button, emitting the needed events when clicked.\n *\n * @remarks It extends {@link FacetsMixin}.\n *\n * @public\n */\n@Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class ClearFilters extends FacetsMixin {\n /**\n * The events that will be emitted when the button clear filters is clicked.\n *\n * @returns The events to be emitted when the button clear filters is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return this.facetsIds\n ? {\n UserClickedClearAllFilters: this.facetsIds\n }\n : {\n UserClickedClearAllFilters: undefined\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-clear-filters--has-not-selected-filters': !this.hasSelectedFilters,\n 'x-clear-filters--has-selected-filters': this.hasSelectedFilters\n };\n }\n}\n"],"names":["BaseEventButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"clear-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/facets/components/clear-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from 'vue-class-component';\nimport { xComponentMixin } from '../../../components';\nimport BaseEventButton from '../../../components/base-event-button.vue';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { facetsXModule } from '../x-module';\nimport FacetsMixin from './facets.mixin';\n\n/**\n * Renders a simple button, emitting the needed events when clicked.\n *\n * @remarks It extends {@link FacetsMixin}.\n *\n * @public\n */\n@Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class ClearFilters extends FacetsMixin {\n /**\n * The events that will be emitted when the button clear filters is clicked.\n *\n * @returns The events to be emitted when the button clear filters is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return this.facetsIds\n ? {\n UserClickedClearAllFilters: this.facetsIds\n }\n : {\n UserClickedClearAllFilters: undefined\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-clear-filters--has-not-selected-filters': !this.hasSelectedFilters,\n 'x-clear-filters--has-selected-filters': this.hasSelectedFilters\n };\n }\n}\n"],"names":["BaseEventButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA;;;;;;;AAWA,IAAqB,YAAY,GAAjC,MAAqB,YAAa,SAAQ,WAAW;;;;;;;IAOnD,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,SAAS;cACjB;gBACE,0BAA0B,EAAE,IAAI,CAAC,SAAS;aAC3C;cACD;gBACE,0BAA0B,EAAE,SAAS;aACtC,CAAC;KACP;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,2CAA2C,EAAE,CAAC,IAAI,CAAC,kBAAkB;YACrE,uCAAuC,EAAE,IAAI,CAAC,kBAAkB;SACjE,CAAC;KACH;CACF,CAAA;AA7BoB,YAAY;IAJhC,SAAS,CAAC;QACT,UAAU,EAAE,mBAAEA,iBAAe,EAAE;QAC/B,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,YAAY,CA6BhC;aA7BoB,YAAY;;;;"}
|
package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -65,6 +65,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets-provider.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets-provider.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Facet, Filter } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { XOn } from '../../../../components';\nimport { xComponentMixin } from '../../../../components/x-component.mixin';\nimport { areFiltersDifferent } from '../../../../utils/filters';\nimport { FacetsGroup } from '../../service/types';\nimport { GroupId } from '../../store/types';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * This component allows to provide facets by prop, to add them to the state of the\n * `Facets X-Module`. These facets will be added to the `Facets X-Module` state together with\n * the facets emitted by the `Search X-Module` through the {@link SearchXEvents.FacetsChanged}\n * event.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FacetsProvider extends Vue {\n /**\n * An facet group identifier to distinguish the provided facets from other facets like the\n * `Search X-Module` facets.\n *\n * @public\n */\n @Prop({ default: 'provided-facets' })\n public groupId!: GroupId;\n\n /**\n * The facets to provide to the `Facets X-Module` state. They have to include the\n * {@link @empathyco/x-types#Filter | filters}.\n *\n * @internal\n */\n @Prop({ required: true })\n public facets!: Facet[];\n\n /**\n * Temporarily stores the selected filters from the {@link FacetsProvider.facets} prop.\n * This is necessary to handle the {@link FacetsXEvents.UserChangedSelectedFilters} event.\n *\n * @internal\n */\n protected selectedFilters: Filter[] | null = null;\n\n /**\n * A computed property to group the facets and the groupId. This is used by the watcher.\n *\n * @returns The FacetGroup with the facets and the group id.\n *\n * @internal\n */\n protected get facetsGroup(): FacetsGroup {\n return { id: this.groupId, facets: this.facets };\n }\n\n /**\n * Emits the {@link FacetsXEvents.UserChangedSelectedFilters} event when the user changes\n * the selected filters.\n *\n * @param selectedFilters - The new list of selected filters.\n * @internal\n */\n @XOn('SelectedFiltersChanged')\n emitSelectedFiltersChanged(selectedFilters: Filter[]): void {\n if (\n this.selectedFilters === null ||\n areFiltersDifferent(this.selectedFilters, selectedFilters)\n ) {\n this.$x.emit('UserChangedSelectedFilters', selectedFilters);\n }\n this.selectedFilters = null;\n }\n\n /**\n * Emits the {@link FacetsXEvents.FacetsGroupProvided} event with the\n * {@link FacetsProvider.facetsGroup} as payload. It also extracts and saves the selected\n * filters.\n */\n @Watch('facetsGroup', { immediate: true })\n provideFacets(): void {\n if (this.facetsGroup.facets) {\n this.$x.emit('FacetsGroupProvided', this.facetsGroup);\n this.extractSelectedFilters(this.facets);\n }\n }\n\n /**\n * Extracts the selected filters from the facets and stores them in the\n * {@link FacetsProvider.selectedFilters} property.\n *\n * @param facets - The facets from whom extract the selected filters.\n * @internal\n */\n protected extractSelectedFilters(facets: Facet[]): void {\n this.selectedFilters = facets\n .flatMap(facet => facet.filters)\n .filter(filter => filter.selected);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"facets-provider.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets-provider.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Facet, Filter } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { XOn } from '../../../../components';\nimport { xComponentMixin } from '../../../../components/x-component.mixin';\nimport { areFiltersDifferent } from '../../../../utils/filters';\nimport { FacetsGroup } from '../../service/types';\nimport { GroupId } from '../../store/types';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * This component allows to provide facets by prop, to add them to the state of the\n * `Facets X-Module`. These facets will be added to the `Facets X-Module` state together with\n * the facets emitted by the `Search X-Module` through the {@link SearchXEvents.FacetsChanged}\n * event.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FacetsProvider extends Vue {\n /**\n * An facet group identifier to distinguish the provided facets from other facets like the\n * `Search X-Module` facets.\n *\n * @public\n */\n @Prop({ default: 'provided-facets' })\n public groupId!: GroupId;\n\n /**\n * The facets to provide to the `Facets X-Module` state. They have to include the\n * {@link @empathyco/x-types#Filter | filters}.\n *\n * @internal\n */\n @Prop({ required: true })\n public facets!: Facet[];\n\n /**\n * Temporarily stores the selected filters from the {@link FacetsProvider.facets} prop.\n * This is necessary to handle the {@link FacetsXEvents.UserChangedSelectedFilters} event.\n *\n * @internal\n */\n protected selectedFilters: Filter[] | null = null;\n\n /**\n * A computed property to group the facets and the groupId. This is used by the watcher.\n *\n * @returns The FacetGroup with the facets and the group id.\n *\n * @internal\n */\n protected get facetsGroup(): FacetsGroup {\n return { id: this.groupId, facets: this.facets };\n }\n\n /**\n * Emits the {@link FacetsXEvents.UserChangedSelectedFilters} event when the user changes\n * the selected filters.\n *\n * @param selectedFilters - The new list of selected filters.\n * @internal\n */\n @XOn('SelectedFiltersChanged')\n emitSelectedFiltersChanged(selectedFilters: Filter[]): void {\n if (\n this.selectedFilters === null ||\n areFiltersDifferent(this.selectedFilters, selectedFilters)\n ) {\n this.$x.emit('UserChangedSelectedFilters', selectedFilters);\n }\n this.selectedFilters = null;\n }\n\n /**\n * Emits the {@link FacetsXEvents.FacetsGroupProvided} event with the\n * {@link FacetsProvider.facetsGroup} as payload. It also extracts and saves the selected\n * filters.\n */\n @Watch('facetsGroup', { immediate: true })\n provideFacets(): void {\n if (this.facetsGroup.facets) {\n this.$x.emit('FacetsGroupProvided', this.facetsGroup);\n this.extractSelectedFilters(this.facets);\n }\n }\n\n /**\n * Extracts the selected filters from the facets and stores them in the\n * {@link FacetsProvider.selectedFilters} property.\n *\n * @param facets - The facets from whom extract the selected filters.\n * @internal\n */\n protected extractSelectedFilters(facets: Facet[]): void {\n this.selectedFilters = facets\n .flatMap(facet => facet.filters)\n .filter(filter => filter.selected);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;;;AAWA,IAAqB,cAAc,GAAnC,MAAqB,cAAe,SAAQ,GAAG;IAA/C;;;;;;;;QAyBY,oBAAe,GAAoB,IAAI,CAAC;KA2DnD;;;;;;;;IAlDC,IAAc,WAAW;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;KAClD;;;;;;;;IAUD,0BAA0B,CAAC,eAAyB;QAClD,IACE,IAAI,CAAC,eAAe,KAAK,IAAI;YAC7B,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,EAC1D;YACA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;;;;;;IAQD,aAAa;QACX,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1C;KACF;;;;;;;;IASS,sBAAsB,CAAC,MAAe;QAC9C,IAAI,CAAC,eAAe,GAAG,MAAM;aAC1B,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;aAC/B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;KACtC;;IAGD,MAAM,MAAW;CAClB,CAAA;AA5EC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;+CACZ;AASzB;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8CACD;AA6BxB;IADC,GAAG,CAAC,wBAAwB,CAAC;gEAS7B;AAQD;IADC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;mDAMzC;AAnEkB,cAAc;IAHlC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,cAAc,CAoFlC;aApFoB,cAAc;;;;"}
|
package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -65,6 +65,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/all-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { Facet } from '@empathyco/x-types';\nimport { Getter, xComponentMixin } from '../../../../components';\nimport BaseEventButton from '../../../../components/base-event-button.vue';\nimport { isArrayEmpty } from '../../../../utils/array';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { FiltersByFacet } from '../../store';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * This component receives a required `facet` with\n * {@link @empathyco/x-types#BooleanFilter | BooleanFilter} as prop and renders a button, which\n * on clicked emits the {@link FacetsXEvents.UserClickedAllFilter} event. By default\n * the rendered button displays a message with the facet label but this content is customizable\n * through the default slot.\n *\n * @public\n */\n@Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class AllFilter extends Vue {\n /** The facet data. */\n @Prop({ required: true })\n public facet!: Facet;\n\n /** The getter of the selectedFiltersByFacet. */\n @Getter('facets', 'selectedFiltersByFacet')\n public selectedFiltersByFacet!: FiltersByFacet;\n\n /**\n * The event that will be emitted when the all filter button is clicked.\n *\n * @returns The event to emit on click.\n * @internal\n */\n protected get clickEvent(): Partial<XEventsTypes> {\n return {\n UserClickedAllFilter: [this.facet.id]\n };\n }\n\n /**\n * Computed to retrieve the selected state of this component.\n *\n * @returns True if is selected false otherwise.\n */\n protected get isSelected(): boolean {\n return isArrayEmpty(this.selectedFiltersByFacet?.[this.facet.id]);\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @remarks This is only valid considering that in the case of HierarchicalFilters, ancestors\n * of nested selected filters are also selected.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-filter--is-selected': this.isSelected,\n 'x-all-filter--is-selected': this.isSelected\n };\n }\n}\n"],"names":["BaseEventButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"all-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/all-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { Facet } from '@empathyco/x-types';\nimport { Getter, xComponentMixin } from '../../../../components';\nimport BaseEventButton from '../../../../components/base-event-button.vue';\nimport { isArrayEmpty } from '../../../../utils/array';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { FiltersByFacet } from '../../store';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * This component receives a required `facet` with\n * {@link @empathyco/x-types#BooleanFilter | BooleanFilter} as prop and renders a button, which\n * on clicked emits the {@link FacetsXEvents.UserClickedAllFilter} event. By default\n * the rendered button displays a message with the facet label but this content is customizable\n * through the default slot.\n *\n * @public\n */\n@Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class AllFilter extends Vue {\n /** The facet data. */\n @Prop({ required: true })\n public facet!: Facet;\n\n /** The getter of the selectedFiltersByFacet. */\n @Getter('facets', 'selectedFiltersByFacet')\n public selectedFiltersByFacet!: FiltersByFacet;\n\n /**\n * The event that will be emitted when the all filter button is clicked.\n *\n * @returns The event to emit on click.\n * @internal\n */\n protected get clickEvent(): Partial<XEventsTypes> {\n return {\n UserClickedAllFilter: [this.facet.id]\n };\n }\n\n /**\n * Computed to retrieve the selected state of this component.\n *\n * @returns True if is selected false otherwise.\n */\n protected get isSelected(): boolean {\n return isArrayEmpty(this.selectedFiltersByFacet?.[this.facet.id]);\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @remarks This is only valid considering that in the case of HierarchicalFilters, ancestors\n * of nested selected filters are also selected.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-filter--is-selected': this.isSelected,\n 'x-all-filter--is-selected': this.isSelected\n };\n }\n}\n"],"names":["BaseEventButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA;;;;;;;;;AAaA,IAAqB,SAAS,GAA9B,MAAqB,SAAU,SAAQ,GAAG;;;;;;;IAexC,IAAc,UAAU;QACtB,OAAO;YACL,oBAAoB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SACtC,CAAC;KACH;;;;;;IAOD,IAAc,UAAU;QACtB,OAAO,YAAY,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;KACnE;;;;;;;;;;IAWD,IAAc,UAAU;QACtB,OAAO;YACL,uBAAuB,EAAE,IAAI,CAAC,UAAU;YACxC,2BAA2B,EAAE,IAAI,CAAC,UAAU;SAC7C,CAAC;KACH;CACF,CAAA;AA1CC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;wCACJ;AAIrB;IADC,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;yDACI;AAP5B,SAAS;IAJ7B,SAAS,CAAC;QACT,UAAU,EAAE,mBAAEA,iBAAe,EAAE;QAC/B,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,SAAS,CA6C7B;aA7CoB,SAAS;;;;"}
|
|
@@ -67,6 +67,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
67
67
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
68
68
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
69
69
|
import '../../../../components/icons/search.vue.js';
|
|
70
|
+
import '../../../../components/icons/settings.vue.js';
|
|
70
71
|
import '../../../../components/icons/show.vue.js';
|
|
71
72
|
import '../../../../components/icons/star.vue.js';
|
|
72
73
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchical-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/hierarchical-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Filter,\n HierarchicalFilter as HierarchicalFilterModel,\n isHierarchicalFilter\n} from '@empathyco/x-types';\nimport { isObject } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\nimport FiltersList from '../lists/filters-list.vue';\nimport RenderlessFilter from './renderless-filter.vue';\n\n/**\n * Renders a hierarchical filter recursively, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n name: 'HierarchicalFilter',\n components: { FiltersList, RenderlessFilter },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class HierarchicalFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: HierarchicalFilterModel;\n\n /** The animation component to use for the children filters. */\n @Prop()\n public childrenAnimation?: Vue | string;\n /**\n * The state filters.\n *\n * @internal\n */\n @State('facets', 'filters')\n public filters!: Record<Filter['id'], Filter>;\n\n /**\n * Additional events, with their payload, to emit when the filter is clicked.\n *\n * @public\n */\n @Prop()\n public clickEvents!: Partial<XEventsTypes>;\n\n /**\n * The {@link XEventsTypes | events} to emit.\n *\n * @returns The events to emit when clicked.\n * @internal\n */\n protected get _clickEvents(): Partial<XEventsTypes> {\n return {\n UserClickedAHierarchicalFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-hierarchical-filter--is-partially-selected': this.isPartiallySelected,\n 'x-hierarchical-filter--is-selected': this.filter.selected,\n 'x-filter--is-partially-selected': this.isPartiallySelected\n };\n }\n\n /**\n * Gets the child filter click events, converting the payload of the events that have a\n * {@link @empathyco/x-types#HierarchicalFilter} as payload to the corresponding child filter.\n *\n * @param childFilter - The child filter.\n * @returns The events to emit when clicking a child.\n * @internal\n */\n protected getChildFilterClickEvents(\n childFilter: HierarchicalFilterModel\n ): Partial<XEventsTypes> {\n return Object.entries(this._clickEvents).reduce((clickEvents, [event, payload]) => {\n return {\n ...clickEvents,\n [event]:\n isObject(payload) &&\n isHierarchicalFilter(payload as unknown as Filter) &&\n childFilter !== (payload as unknown as HierarchicalFilterModel)\n ? childFilter\n : payload\n };\n }, {} as Partial<XEventsTypes>);\n }\n\n /**\n * Returns if the filter is partially selected, which means having more than one child filter\n * selected, but not every of them, or having at least one child filter partially selected.\n *\n * @returns True if the filter is partially selected. False otherwise.\n * @internal\n */\n protected get isPartiallySelected(): boolean {\n return this.isFilterPartiallySelected(this.filter);\n }\n\n /**\n * List of filters to render, in case that the children's array\n * is empty it will return an empty array instead of inject the ones from the parent.\n *\n * @returns A list of filters.\n * @internal\n */\n protected get renderedChildrenFilters(): Filter[] {\n return this.filter.children?.map(filterId => this.filters[filterId]) ?? [];\n }\n\n protected isFilterPartiallySelected(filter: HierarchicalFilterModel): boolean {\n const selectedChildren = filter.children\n ?.map(filterId => this.filters[filterId])\n ?.filter(filter => filter?.selected) as HierarchicalFilterModel[] | undefined;\n const filterChildrenLength = filter.children?.length ?? 0;\n return (\n !!selectedChildren &&\n ((selectedChildren.length > 0 && selectedChildren.length < filterChildrenLength) ||\n // eslint-disable-next-line @typescript-eslint/unbound-method\n selectedChildren.some(this.isFilterPartiallySelected))\n );\n }\n}\n"],"names":["FiltersList","RenderlessFilter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hierarchical-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/hierarchical-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Filter,\n HierarchicalFilter as HierarchicalFilterModel,\n isHierarchicalFilter\n} from '@empathyco/x-types';\nimport { isObject } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\nimport FiltersList from '../lists/filters-list.vue';\nimport RenderlessFilter from './renderless-filter.vue';\n\n/**\n * Renders a hierarchical filter recursively, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n name: 'HierarchicalFilter',\n components: { FiltersList, RenderlessFilter },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class HierarchicalFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: HierarchicalFilterModel;\n\n /** The animation component to use for the children filters. */\n @Prop()\n public childrenAnimation?: Vue | string;\n /**\n * The state filters.\n *\n * @internal\n */\n @State('facets', 'filters')\n public filters!: Record<Filter['id'], Filter>;\n\n /**\n * Additional events, with their payload, to emit when the filter is clicked.\n *\n * @public\n */\n @Prop()\n public clickEvents!: Partial<XEventsTypes>;\n\n /**\n * The {@link XEventsTypes | events} to emit.\n *\n * @returns The events to emit when clicked.\n * @internal\n */\n protected get _clickEvents(): Partial<XEventsTypes> {\n return {\n UserClickedAHierarchicalFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-hierarchical-filter--is-partially-selected': this.isPartiallySelected,\n 'x-hierarchical-filter--is-selected': this.filter.selected,\n 'x-filter--is-partially-selected': this.isPartiallySelected\n };\n }\n\n /**\n * Gets the child filter click events, converting the payload of the events that have a\n * {@link @empathyco/x-types#HierarchicalFilter} as payload to the corresponding child filter.\n *\n * @param childFilter - The child filter.\n * @returns The events to emit when clicking a child.\n * @internal\n */\n protected getChildFilterClickEvents(\n childFilter: HierarchicalFilterModel\n ): Partial<XEventsTypes> {\n return Object.entries(this._clickEvents).reduce((clickEvents, [event, payload]) => {\n return {\n ...clickEvents,\n [event]:\n isObject(payload) &&\n isHierarchicalFilter(payload as unknown as Filter) &&\n childFilter !== (payload as unknown as HierarchicalFilterModel)\n ? childFilter\n : payload\n };\n }, {} as Partial<XEventsTypes>);\n }\n\n /**\n * Returns if the filter is partially selected, which means having more than one child filter\n * selected, but not every of them, or having at least one child filter partially selected.\n *\n * @returns True if the filter is partially selected. False otherwise.\n * @internal\n */\n protected get isPartiallySelected(): boolean {\n return this.isFilterPartiallySelected(this.filter);\n }\n\n /**\n * List of filters to render, in case that the children's array\n * is empty it will return an empty array instead of inject the ones from the parent.\n *\n * @returns A list of filters.\n * @internal\n */\n protected get renderedChildrenFilters(): Filter[] {\n return this.filter.children?.map(filterId => this.filters[filterId]) ?? [];\n }\n\n protected isFilterPartiallySelected(filter: HierarchicalFilterModel): boolean {\n const selectedChildren = filter.children\n ?.map(filterId => this.filters[filterId])\n ?.filter(filter => filter?.selected) as HierarchicalFilterModel[] | undefined;\n const filterChildrenLength = filter.children?.length ?? 0;\n return (\n !!selectedChildren &&\n ((selectedChildren.length > 0 && selectedChildren.length < filterChildrenLength) ||\n // eslint-disable-next-line @typescript-eslint/unbound-method\n selectedChildren.some(this.isFilterPartiallySelected))\n );\n }\n}\n"],"names":["FiltersList","RenderlessFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA;;;;;AAUA,IAAqB,kBAAkB,GAAvC,MAAqB,kBAAmB,SAAQ,GAAG;;;;;;;IA8BjD,IAAc,YAAY;QACxB,OAAO;YACL,8BAA8B,EAAE,IAAI,CAAC,MAAM;YAC3C,GAAG,IAAI,CAAC,WAAW;SACpB,CAAC;KACH;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,8CAA8C,EAAE,IAAI,CAAC,mBAAmB;YACxE,oCAAoC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC1D,iCAAiC,EAAE,IAAI,CAAC,mBAAmB;SAC5D,CAAC;KACH;;;;;;;;;IAUS,yBAAyB,CACjC,WAAoC;QAEpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAC5E,OAAO;gBACL,GAAG,WAAW;gBACd,CAAC,KAAK,GACJ,QAAQ,CAAC,OAAO,CAAC;oBACjB,oBAAoB,CAAC,OAA4B,CAAC;oBAClD,WAAW,KAAM,OAA8C;sBAC3D,WAAW;sBACX,OAAO;aACd,CAAC;SACH,EAAE,EAA2B,CAAC,CAAC;KACjC;;;;;;;;IASD,IAAc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpD;;;;;;;;IASD,IAAc,uBAAuB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;KAC5E;IAES,yBAAyB,CAAC,MAA+B;QACjE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ;cACpC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;cACvC,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,QAAQ,CAA0C,CAAC;QAChF,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QAC1D,QACE,CAAC,CAAC,gBAAgB;aACjB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,oBAAoB;;gBAE7E,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,EACxD;KACH;CACF,CAAA;AA1GC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACe;AAIxC;IADC,IAAI,EAAE;6DACiC;AAOxC;IADC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;mDACmB;AAQ9C;IADC,IAAI,EAAE;uDACoC;AAtBxB,kBAAkB;IALtC,SAAS,CAAC;QACT,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,eAAEA,iBAAW,oBAAEC,mBAAgB,EAAE;QAC7C,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,kBAAkB,CA6GtC;aA7GoB,kBAAkB;;;;"}
|
|
@@ -65,6 +65,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-range-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/number-range-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { NumberRangeFilter as NumberRangeFilterModel } from '@empathyco/x-types';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\nimport RenderlessFilter from './renderless-filter.vue';\n\n/**\n * Renders a number range filter, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n components: { RenderlessFilter },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class NumberRangeFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: NumberRangeFilterModel;\n\n /**\n * Additional events, with their payload, to emit when the filter is clicked.\n *\n * @public\n */\n @Prop()\n public clickEvents?: Partial<XEventsTypes>;\n\n /**\n * The {@link XEventsTypes | events} to emit.\n *\n * @returns The events to emit when clicked.\n * @internal\n */\n protected get _clickEvents(): Partial<XEventsTypes> {\n return {\n UserClickedANumberRangeFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-number-range-filter--is-selected': this.filter.selected\n };\n }\n}\n"],"names":["RenderlessFilter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"number-range-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/number-range-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { NumberRangeFilter as NumberRangeFilterModel } from '@empathyco/x-types';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\nimport RenderlessFilter from './renderless-filter.vue';\n\n/**\n * Renders a number range filter, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n components: { RenderlessFilter },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class NumberRangeFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: NumberRangeFilterModel;\n\n /**\n * Additional events, with their payload, to emit when the filter is clicked.\n *\n * @public\n */\n @Prop()\n public clickEvents?: Partial<XEventsTypes>;\n\n /**\n * The {@link XEventsTypes | events} to emit.\n *\n * @returns The events to emit when clicked.\n * @internal\n */\n protected get _clickEvents(): Partial<XEventsTypes> {\n return {\n UserClickedANumberRangeFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-number-range-filter--is-selected': this.filter.selected\n };\n }\n}\n"],"names":["RenderlessFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA;;;;;AASA,IAAqB,iBAAiB,GAAtC,MAAqB,iBAAkB,SAAQ,GAAG;;;;;;;IAmBhD,IAAc,YAAY;QACxB,OAAO;YACL,6BAA6B,EAAE,IAAI,CAAC,MAAM;YAC1C,GAAG,IAAI,CAAC,WAAW;SACpB,CAAC;KACH;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,oCAAoC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC3D,CAAC;KACH;CACF,CAAA;AAlCC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iDACc;AAQvC;IADC,IAAI,EAAE;sDACoC;AAXxB,iBAAiB;IAJrC,SAAS,CAAC;QACT,UAAU,EAAE,oBAAEA,iBAAgB,EAAE;QAChC,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,iBAAiB,CAqCrC;aArCoB,iBAAiB;;;;"}
|
package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -65,6 +65,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderless-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/renderless-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport Vue, { CreateElement, VNode } from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { BooleanFilter } from '@empathyco/x-types';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEvent, XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * Renders default slot content. It binds to the default slot a\n * {@link @empathyco/x-types#BooleanFilter | BooleanFilter}, the {@link XEvent | XEvents}\n * that will be emitted when clicking the content, the css classes and if the content should be\n * disabled.\n *\n * @remarks The default slot expects a root element, if it receives a list of elements, it will\n * renders the first element.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class RenderlessFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: BooleanFilter;\n\n /** Additional events with its payload to emit when the filter is clicked. */\n @Prop()\n public clickEvents?: Partial<XEventsTypes>;\n\n /**\n * The events that will be emitted when the filter is clicked.\n *\n * @returns The events to be emitted when the filter is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return {\n UserClickedAFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * The events to emit to the bus.\n *\n * @internal\n */\n protected emitEvents(): void {\n Object.entries(this.events).forEach(([event, payload]) => {\n this.$x.emit(event as XEvent, payload, { target: this.$el as HTMLElement });\n });\n }\n\n /**\n * Returns `true` when the filter should be disabled.\n *\n * @returns `true` if the filter should be disabled.\n * @internal\n */\n protected get isDisabled(): boolean {\n return this.filter.totalResults === 0;\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return [\n 'x-filter',\n {\n 'x-filter--is-selected': this.filter.selected,\n 'x-filter--is-disabled': this.isDisabled\n }\n ];\n }\n\n render(h: CreateElement): VNode {\n return (\n this.$scopedSlots.default?.({\n filter: this.filter,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n clickFilter: this.emitEvents,\n cssClasses: this.cssClasses,\n isDisabled: this.isDisabled\n })?.[0] ?? h()\n );\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderless-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/renderless-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport Vue, { CreateElement, VNode } from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { BooleanFilter } from '@empathyco/x-types';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEvent, XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * Renders default slot content. It binds to the default slot a\n * {@link @empathyco/x-types#BooleanFilter | BooleanFilter}, the {@link XEvent | XEvents}\n * that will be emitted when clicking the content, the css classes and if the content should be\n * disabled.\n *\n * @remarks The default slot expects a root element, if it receives a list of elements, it will\n * renders the first element.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class RenderlessFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: BooleanFilter;\n\n /** Additional events with its payload to emit when the filter is clicked. */\n @Prop()\n public clickEvents?: Partial<XEventsTypes>;\n\n /**\n * The events that will be emitted when the filter is clicked.\n *\n * @returns The events to be emitted when the filter is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return {\n UserClickedAFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * The events to emit to the bus.\n *\n * @internal\n */\n protected emitEvents(): void {\n Object.entries(this.events).forEach(([event, payload]) => {\n this.$x.emit(event as XEvent, payload, { target: this.$el as HTMLElement });\n });\n }\n\n /**\n * Returns `true` when the filter should be disabled.\n *\n * @returns `true` if the filter should be disabled.\n * @internal\n */\n protected get isDisabled(): boolean {\n return this.filter.totalResults === 0;\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return [\n 'x-filter',\n {\n 'x-filter--is-selected': this.filter.selected,\n 'x-filter--is-disabled': this.isDisabled\n }\n ];\n }\n\n render(h: CreateElement): VNode {\n return (\n this.$scopedSlots.default?.({\n filter: this.filter,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n clickFilter: this.emitEvents,\n cssClasses: this.cssClasses,\n isDisabled: this.isDisabled\n })?.[0] ?? h()\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;;;;;;;;;;AAcA,IAAqB,gBAAgB,GAArC,MAAqB,gBAAiB,SAAQ,GAAG;;;;;;;IAe/C,IAAc,MAAM;QAClB,OAAO;YACL,kBAAkB,EAAE,IAAI,CAAC,MAAM;YAC/B,GAAG,IAAI,CAAC,WAAW;SACpB,CAAC;KACH;;;;;;IAOS,UAAU;QAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAe,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAkB,EAAE,CAAC,CAAC;SAC7E,CAAC,CAAC;KACJ;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;KACvC;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,UAAU;YACV;gBACE,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC7C,uBAAuB,EAAE,IAAI,CAAC,UAAU;aACzC;SACF,CAAC;KACH;IAED,MAAM,CAAC,CAAgB;QACrB,QACE,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;;YAEnB,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EACd;KACH;CACF,CAAA;AAnEC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gDACK;AAI9B;IADC,IAAI,EAAE;qDACoC;AAPxB,gBAAgB;IAHpC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,gBAAgB,CAsEpC;aAtEoB,gBAAgB;;;;"}
|
package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -65,6 +65,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/simple-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { SimpleFilter as SimpleFilterModel } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\nimport RenderlessFilter from './renderless-filter.vue';\n\n/**\n * Renders a simple filter, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n components: { RenderlessFilter },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class SimpleFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: SimpleFilterModel;\n\n /**\n * Additional events, with their payload, to emit when the filter is clicked.\n *\n * @public\n */\n @Prop()\n public clickEvents?: Partial<XEventsTypes>;\n\n /**\n * The {@link XEventsTypes | events} to emit.\n *\n * @returns The events to emit when clicked.\n * @internal\n */\n protected get _clickEvents(): Partial<XEventsTypes> {\n return {\n UserClickedASimpleFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-simple-filter--is-selected': this.filter.selected\n };\n }\n}\n"],"names":["RenderlessFilter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"simple-filter.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/filters/simple-filter.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { SimpleFilter as SimpleFilterModel } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { XEventsTypes } from '../../../../wiring/events.types';\nimport { facetsXModule } from '../../x-module';\nimport RenderlessFilter from './renderless-filter.vue';\n\n/**\n * Renders a simple filter, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n components: { RenderlessFilter },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class SimpleFilter extends Vue {\n /** The filter data to render. */\n @Prop({ required: true })\n public filter!: SimpleFilterModel;\n\n /**\n * Additional events, with their payload, to emit when the filter is clicked.\n *\n * @public\n */\n @Prop()\n public clickEvents?: Partial<XEventsTypes>;\n\n /**\n * The {@link XEventsTypes | events} to emit.\n *\n * @returns The events to emit when clicked.\n * @internal\n */\n protected get _clickEvents(): Partial<XEventsTypes> {\n return {\n UserClickedASimpleFilter: this.filter,\n ...this.clickEvents\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-simple-filter--is-selected': this.filter.selected\n };\n }\n}\n"],"names":["RenderlessFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA;;;;;AASA,IAAqB,YAAY,GAAjC,MAAqB,YAAa,SAAQ,GAAG;;;;;;;IAmB3C,IAAc,YAAY;QACxB,OAAO;YACL,wBAAwB,EAAE,IAAI,CAAC,MAAM;YACrC,GAAG,IAAI,CAAC,WAAW;SACpB,CAAC;KACH;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,8BAA8B,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SACrD,CAAC;KACH;CACF,CAAA;AAlCC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;4CACS;AAQlC;IADC,IAAI,EAAE;iDACoC;AAXxB,YAAY;IAJhC,SAAS,CAAC;QACT,UAAU,EAAE,oBAAEA,iBAAgB,EAAE;QAChC,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,YAAY,CAqChC;aArCoB,YAAY;;;;"}
|
|
@@ -67,6 +67,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
67
67
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
68
68
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
69
69
|
import '../../../../components/icons/search.vue.js';
|
|
70
|
+
import '../../../../components/icons/settings.vue.js';
|
|
70
71
|
import '../../../../components/icons/show.vue.js';
|
|
71
72
|
import '../../../../components/icons/star.vue.js';
|
|
72
73
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exclude-filters-with-no-results.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/exclude-filters-with-no-results.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Filter, isBooleanFilter } from '@empathyco/x-types';\nimport { CreateElement, VNode } from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component } from 'vue-property-decorator';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * The `ExcludeFiltersWithNoResults` component filters the provided list of filters, excluding\n * those which have the `totalResults` property exactly equal to `0`. It won't remove filters with\n * no `totalResults` property.\n *\n * The new list of filters is bound to the default scoped slot. As this component does not render\n * no root element, this default slot must contain a single root node.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class ExcludeFiltersWithNoResults extends mixins(FiltersInjectionMixin) {\n /**\n * Removes the filters that have exactly 0 results associated.\n *\n * @returns A sublist of the filters prop, excluding the ones with no results.\n * @internal\n */\n @XProvide('filters')\n public get filtersWithResults(): Filter[] {\n return this.renderedFilters.filter(\n filter => !isBooleanFilter(filter) || filter.totalResults !== 0\n );\n }\n\n render(h: CreateElement): VNode {\n return this.$scopedSlots.default?.({ filters: this.filtersWithResults })?.[0] ?? h();\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exclude-filters-with-no-results.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/exclude-filters-with-no-results.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Filter, isBooleanFilter } from '@empathyco/x-types';\nimport { CreateElement, VNode } from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component } from 'vue-property-decorator';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * The `ExcludeFiltersWithNoResults` component filters the provided list of filters, excluding\n * those which have the `totalResults` property exactly equal to `0`. It won't remove filters with\n * no `totalResults` property.\n *\n * The new list of filters is bound to the default scoped slot. As this component does not render\n * no root element, this default slot must contain a single root node.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class ExcludeFiltersWithNoResults extends mixins(FiltersInjectionMixin) {\n /**\n * Removes the filters that have exactly 0 results associated.\n *\n * @returns A sublist of the filters prop, excluding the ones with no results.\n * @internal\n */\n @XProvide('filters')\n public get filtersWithResults(): Filter[] {\n return this.renderedFilters.filter(\n filter => !isBooleanFilter(filter) || filter.totalResults !== 0\n );\n }\n\n render(h: CreateElement): VNode {\n return this.$scopedSlots.default?.({ filters: this.filtersWithResults })?.[0] ?? h();\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;;;;;;;;;AAaA,IAAqB,2BAA2B,GAAhD,MAAqB,2BAA4B,SAAQ,MAAM,CAAC,qBAAqB,CAAC;;;;;;;IAQpF,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAChC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAChE,CAAC;KACH;IAED,MAAM,CAAC,CAAgB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KACtF;CACF,CAAA;AATC;IADC,QAAQ,CAAC,SAAS,CAAC;qEAKnB;AAZkB,2BAA2B;IAH/C,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,2BAA2B,CAiB/C;aAjBoB,2BAA2B;;;;"}
|
package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -66,6 +66,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
66
66
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
67
67
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
68
68
|
import '../../../../components/icons/search.vue.js';
|
|
69
|
+
import '../../../../components/icons/settings.vue.js';
|
|
69
70
|
import '../../../../components/icons/show.vue.js';
|
|
70
71
|
import '../../../../components/icons/star.vue.js';
|
|
71
72
|
import '../../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-list.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/filters-list.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Renders a list with a list item per each\n * {@link @empathyco/x-types#BooleanFilter | BooleanFilter} in the filters prop array.\n * Each list item has a scoped slot, passing the filter as slot prop.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FiltersList extends mixins(FiltersInjectionMixin) {\n /**\n * Animation component that will be used to animate the base filters.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n protected animation!: Vue | string;\n\n /**\n * It handles if the filters should be rendered.\n *\n * @returns True if there are filters.\n *\n * @public\n */\n protected get hasFiltersToRender(): boolean {\n return this.renderedFilters?.length > 0;\n }\n\n /**\n * Checks if at least one filter is selected.\n *\n * @returns True if at least one filter is selected. False otherwise.\n * @internal\n */\n protected get hasSelectedFilters(): boolean {\n return !!this.renderedFilters?.some(filter => filter.selected);\n }\n\n /**\n * Dynamic CSS classes for the root element of this component.\n *\n * @returns An object containing the dynamic CSS classes and a boolean indicating if they should\n * be added or not.\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-filters--has-selected-filters': this.hasSelectedFilters\n };\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters-list.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/filters-list.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils/types';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Renders a list with a list item per each\n * {@link @empathyco/x-types#BooleanFilter | BooleanFilter} in the filters prop array.\n * Each list item has a scoped slot, passing the filter as slot prop.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FiltersList extends mixins(FiltersInjectionMixin) {\n /**\n * Animation component that will be used to animate the base filters.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n protected animation!: Vue | string;\n\n /**\n * It handles if the filters should be rendered.\n *\n * @returns True if there are filters.\n *\n * @public\n */\n protected get hasFiltersToRender(): boolean {\n return this.renderedFilters?.length > 0;\n }\n\n /**\n * Checks if at least one filter is selected.\n *\n * @returns True if at least one filter is selected. False otherwise.\n * @internal\n */\n protected get hasSelectedFilters(): boolean {\n return !!this.renderedFilters?.some(filter => filter.selected);\n }\n\n /**\n * Dynamic CSS classes for the root element of this component.\n *\n * @returns An object containing the dynamic CSS classes and a boolean indicating if they should\n * be added or not.\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-filters--has-selected-filters': this.hasSelectedFilters\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA;;;;;;;AAUA,IAAqB,WAAW,GAAhC,MAAqB,WAAY,SAAQ,MAAM,CAAC,qBAAqB,CAAC;;;;;;;;IAgBpE,IAAc,kBAAkB;QAC9B,OAAO,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,CAAC;KACzC;;;;;;;IAQD,IAAc,kBAAkB;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;KAChE;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,iCAAiC,EAAE,IAAI,CAAC,kBAAkB;SAC3D,CAAC;KACH;CACF,CAAA;AAlCC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CACW;AAPhB,WAAW;IAH/B,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,WAAW,CAyC/B;aAzCoB,WAAW;;;;"}
|
package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -67,6 +67,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
67
67
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
68
68
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
69
69
|
import '../../../../components/icons/search.vue.js';
|
|
70
|
+
import '../../../../components/icons/settings.vue.js';
|
|
70
71
|
import '../../../../components/icons/show.vue.js';
|
|
71
72
|
import '../../../../components/icons/star.vue.js';
|
|
72
73
|
import '../../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-search.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/filters-search.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Filter, isBooleanFilter } from '@empathyco/x-types';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { debounce } from '../../../../utils/debounce';\nimport { normalizeString } from '../../../../utils/normalize';\nimport { DebouncedFunction, VueCSSClasses } from '../../../../utils/types';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Renders the filters sifted with the input query.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FiltersSearch extends mixins(FiltersInjectionMixin) {\n /** The debounce time for applying the filter sifting. */\n @Prop({ default: 200 })\n protected debounceInMs!: number;\n\n protected query = '';\n protected setQueryDebounced!: DebouncedFunction<[string]>;\n\n protected filtersSearchInputMessage = 'search into the filter values';\n\n /**\n * Set the debounce function for setting the query debounced.\n *\n * @internal\n */\n @Watch('debounceInMs', { immediate: true })\n updateSetQueryDebounced(): void {\n this.setQueryDebounced = debounce(query => {\n this.query = query;\n }, this.debounceInMs);\n }\n\n /**\n * Sift the array of filters which matches with the query.\n *\n * @returns Array of sifted filters.\n * @internal\n */\n @XProvide('filters')\n public get siftedFilters(): Filter[] {\n const normalizedQuery = normalizeString(this.query);\n return this.renderedFilters.filter(\n filter => isBooleanFilter(filter) && normalizeString(filter.label).includes(normalizedQuery)\n );\n }\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The class to be added to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-filters-search--is-sifted': !!this.query\n };\n }\n\n /**\n * Set the query through the debounced function.\n *\n * @param query - The query to sift filters.\n * @internal\n */\n protected setQuery(query: string): void {\n this.setQueryDebounced(query);\n }\n\n /**\n * Clear the query.\n *\n * @internal\n */\n protected clearQuery(): void {\n this.query = '';\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters-search.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/filters-search.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Filter, isBooleanFilter } from '@empathyco/x-types';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { debounce } from '../../../../utils/debounce';\nimport { normalizeString } from '../../../../utils/normalize';\nimport { DebouncedFunction, VueCSSClasses } from '../../../../utils/types';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Renders the filters sifted with the input query.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FiltersSearch extends mixins(FiltersInjectionMixin) {\n /** The debounce time for applying the filter sifting. */\n @Prop({ default: 200 })\n protected debounceInMs!: number;\n\n protected query = '';\n protected setQueryDebounced!: DebouncedFunction<[string]>;\n\n protected filtersSearchInputMessage = 'search into the filter values';\n\n /**\n * Set the debounce function for setting the query debounced.\n *\n * @internal\n */\n @Watch('debounceInMs', { immediate: true })\n updateSetQueryDebounced(): void {\n this.setQueryDebounced = debounce(query => {\n this.query = query;\n }, this.debounceInMs);\n }\n\n /**\n * Sift the array of filters which matches with the query.\n *\n * @returns Array of sifted filters.\n * @internal\n */\n @XProvide('filters')\n public get siftedFilters(): Filter[] {\n const normalizedQuery = normalizeString(this.query);\n return this.renderedFilters.filter(\n filter => isBooleanFilter(filter) && normalizeString(filter.label).includes(normalizedQuery)\n );\n }\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The class to be added to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-filters-search--is-sifted': !!this.query\n };\n }\n\n /**\n * Set the query through the debounced function.\n *\n * @param query - The query to sift filters.\n * @internal\n */\n protected setQuery(query: string): void {\n this.setQueryDebounced(query);\n }\n\n /**\n * Clear the query.\n *\n * @internal\n */\n protected clearQuery(): void {\n this.query = '';\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA;;;;;AAQA,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,MAAM,CAAC,qBAAqB,CAAC;IAAxE;;QAKY,UAAK,GAAG,EAAE,CAAC;QAGX,8BAAyB,GAAG,+BAA+B,CAAC;KA0DvE;;;;;;IAlDC,uBAAuB;QACrB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,KAAK;YACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACvB;;;;;;;IASD,IAAW,aAAa;QACtB,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAChC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAC7F,CAAC;KACH;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,6BAA6B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;SAC5C,CAAC;KACH;;;;;;;IAQS,QAAQ,CAAC,KAAa;QAC9B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KAC/B;;;;;;IAOS,UAAU;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;CACF,CAAA;AA/DC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;mDACS;AAahC;IADC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;4DAK1C;AASD;IADC,QAAQ,CAAC,SAAS,CAAC;kDAMnB;AAlCkB,aAAa;IAHjC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,aAAa,CAkEjC;aAlEoB,aAAa;;;;"}
|
package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -65,6 +65,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/selected-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport Component from 'vue-class-component';\nimport { NoElement } from '../../../../components';\nimport { xComponentMixin } from '../../../../components/x-component.mixin';\nimport FacetsMixin from '../facets.mixin';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * Provides a scoped slot with the selected filters from every facet, or from the facet which\n * facet id is passed as property.\n *\n * The default slot renders the length of the selected filters array.\n * The property \"alwaysVisible\" handles if the component is rendered if no filters are selected.\n *\n * @remarks It extends {@link FacetsMixin}.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)],\n components: {\n NoElement\n }\n})\nexport default class SelectedFilters extends FacetsMixin {}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"selected-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/selected-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport Component from 'vue-class-component';\nimport { NoElement } from '../../../../components';\nimport { xComponentMixin } from '../../../../components/x-component.mixin';\nimport FacetsMixin from '../facets.mixin';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * Provides a scoped slot with the selected filters from every facet, or from the facet which\n * facet id is passed as property.\n *\n * The default slot renders the length of the selected filters array.\n * The property \"alwaysVisible\" handles if the component is rendered if no filters are selected.\n *\n * @remarks It extends {@link FacetsMixin}.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)],\n components: {\n NoElement\n }\n})\nexport default class SelectedFilters extends FacetsMixin {}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;AAiBA,IAAqB,eAAe,GAApC,MAAqB,eAAgB,SAAQ,WAAW;CAAG,CAAA;AAAtC,eAAe;IANnC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACxC,UAAU,EAAE;YACV,SAAS;SACV;KACF,CAAC;GACmB,eAAe,CAAuB;aAAtC,eAAe;;;;"}
|
package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -66,6 +66,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
66
66
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
67
67
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
68
68
|
import '../../../../components/icons/search.vue.js';
|
|
69
|
+
import '../../../../components/icons/settings.vue.js';
|
|
69
70
|
import '../../../../components/icons/show.vue.js';
|
|
70
71
|
import '../../../../components/icons/star.vue.js';
|
|
71
72
|
import '../../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliced-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/sliced-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Filter } from '@empathyco/x-types';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Component that slices a list of filters and returns them using the default scoped slot,\n * allowing the user to show the full list of them or slicing them again using the\n * show more/less buttons.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class SlicedFilters extends mixins(FiltersInjectionMixin) {\n /** The maximum number of filters to show.\n *\n * @public\n * */\n @Prop({ required: true })\n protected max!: number;\n\n /** For showing the remaining filters. */\n public showMoreFilters = true;\n\n /**\n * Show the buttons template when length filters is greater than property max.\n *\n * @returns Boolean if length filters is greater than property max.\n * @internal\n */\n protected get showButton(): boolean {\n return this.renderedFilters.length > this.max;\n }\n\n /**\n * Sliced the array of filters depends on click button show more.\n *\n * @returns Array of sliced filters or all filters.\n * @internal\n */\n @XProvide('filters')\n public get slicedFilters(): Filter[] {\n return this.showMoreFilters ? this.renderedFilters.slice(0, this.max) : this.renderedFilters;\n }\n\n /**\n * The difference between length filters and max to show.\n *\n * @returns Number of remaining filters to show.\n * @internal\n */\n protected get difference(): number {\n return this.renderedFilters.length - this.max;\n }\n\n /**\n * Show or hide the remaining filters. It also emits a Vue event based on the clicked button.\n *\n * @param event - The click event.\n *\n * @internal\n */\n protected toggleShowMoreFilters(event: MouseEvent): void {\n this.showMoreFilters = !this.showMoreFilters;\n this.$emit(this.showMoreFilters ? 'click:show-less' : 'click:show-more', event);\n }\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The classes to be added to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-sliced-filters--is-sliced': this.showButton\n };\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sliced-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/sliced-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Filter } from '@empathyco/x-types';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { VueCSSClasses } from '../../../../utils';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Component that slices a list of filters and returns them using the default scoped slot,\n * allowing the user to show the full list of them or slicing them again using the\n * show more/less buttons.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class SlicedFilters extends mixins(FiltersInjectionMixin) {\n /** The maximum number of filters to show.\n *\n * @public\n * */\n @Prop({ required: true })\n protected max!: number;\n\n /** For showing the remaining filters. */\n public showMoreFilters = true;\n\n /**\n * Show the buttons template when length filters is greater than property max.\n *\n * @returns Boolean if length filters is greater than property max.\n * @internal\n */\n protected get showButton(): boolean {\n return this.renderedFilters.length > this.max;\n }\n\n /**\n * Sliced the array of filters depends on click button show more.\n *\n * @returns Array of sliced filters or all filters.\n * @internal\n */\n @XProvide('filters')\n public get slicedFilters(): Filter[] {\n return this.showMoreFilters ? this.renderedFilters.slice(0, this.max) : this.renderedFilters;\n }\n\n /**\n * The difference between length filters and max to show.\n *\n * @returns Number of remaining filters to show.\n * @internal\n */\n protected get difference(): number {\n return this.renderedFilters.length - this.max;\n }\n\n /**\n * Show or hide the remaining filters. It also emits a Vue event based on the clicked button.\n *\n * @param event - The click event.\n *\n * @internal\n */\n protected toggleShowMoreFilters(event: MouseEvent): void {\n this.showMoreFilters = !this.showMoreFilters;\n this.$emit(this.showMoreFilters ? 'click:show-less' : 'click:show-more', event);\n }\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The classes to be added to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-sliced-filters--is-sliced': this.showButton\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA;;;;;;;AAUA,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,MAAM,CAAC,qBAAqB,CAAC;IAAxE;;;QASS,oBAAe,GAAG,IAAI,CAAC;KAwD/B;;;;;;;IAhDC,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;KAC/C;;;;;;;IASD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;KAC9F;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;KAC/C;;;;;;;;IASS,qBAAqB,CAAC,KAAiB;QAC/C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,CAAC,CAAC;KACjF;;;;;;;IAQD,IAAc,UAAU;QACtB,OAAO;YACL,6BAA6B,EAAE,IAAI,CAAC,UAAU;SAC/C,CAAC;KACH;CACF,CAAA;AA3DC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0CACF;AAsBvB;IADC,QAAQ,CAAC,SAAS,CAAC;kDAGnB;AA9BkB,aAAa;IAHjC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,aAAa,CAiEjC;aAjEoB,aAAa;;;;"}
|
package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue_script.vue.js
CHANGED
|
@@ -67,6 +67,7 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
67
67
|
import '../../../../components/icons/radiobutton-selected.vue.js';
|
|
68
68
|
import '../../../../components/icons/radiobutton-unselected.vue.js';
|
|
69
69
|
import '../../../../components/icons/search.vue.js';
|
|
70
|
+
import '../../../../components/icons/settings.vue.js';
|
|
70
71
|
import '../../../../components/icons/show.vue.js';
|
|
71
72
|
import '../../../../components/icons/star.vue.js';
|
|
72
73
|
import '../../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorted-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/sorted-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { BooleanFilter, Filter, isBooleanFilter } from '@empathyco/x-types';\nimport { mixins } from 'vue-class-component';\nimport { Component } from 'vue-property-decorator';\nimport { CreateElement, VNode } from 'vue';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { isArrayEmpty } from '../../../../utils';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Component that sorts a list of filters and returns them using the default scoped slot.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class SortedFilters extends mixins(FiltersInjectionMixin) {\n /**\n * An array of filters with the selected filters at the beginning of the list.\n *\n * @returns Array of filters.\n * @internal\n */\n @XProvide('filters')\n public get sortedFilters(): Filter[] {\n if (!isArrayEmpty(this.renderedFilters) && isBooleanFilter(this.renderedFilters[0])) {\n return ([...this.renderedFilters] as BooleanFilter[]).sort(({ selected }) => {\n return selected ? -1 : 1;\n });\n }\n\n return this.renderedFilters;\n }\n\n render(h: CreateElement): VNode {\n return this.$scopedSlots.default?.({ filters: this.sortedFilters })?.[0] ?? h();\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sorted-filters.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/sorted-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { BooleanFilter, Filter, isBooleanFilter } from '@empathyco/x-types';\nimport { mixins } from 'vue-class-component';\nimport { Component } from 'vue-property-decorator';\nimport { CreateElement, VNode } from 'vue';\nimport { xComponentMixin, XProvide } from '../../../../components';\nimport { isArrayEmpty } from '../../../../utils';\nimport { facetsXModule } from '../../x-module';\nimport FiltersInjectionMixin from './filters-injection.mixin';\n\n/**\n * Component that sorts a list of filters and returns them using the default scoped slot.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class SortedFilters extends mixins(FiltersInjectionMixin) {\n /**\n * An array of filters with the selected filters at the beginning of the list.\n *\n * @returns Array of filters.\n * @internal\n */\n @XProvide('filters')\n public get sortedFilters(): Filter[] {\n if (!isArrayEmpty(this.renderedFilters) && isBooleanFilter(this.renderedFilters[0])) {\n return ([...this.renderedFilters] as BooleanFilter[]).sort(({ selected }) => {\n return selected ? -1 : 1;\n });\n }\n\n return this.renderedFilters;\n }\n\n render(h: CreateElement): VNode {\n return this.$scopedSlots.default?.({ filters: this.sortedFilters })?.[0] ?? h();\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;;;;AAQA,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,MAAM,CAAC,qBAAqB,CAAC;;;;;;;IAQtE,IAAW,aAAa;QACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;YACnF,OAAQ,CAAC,GAAG,IAAI,CAAC,eAAe,CAAqB,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE;gBACtE,OAAO,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1B,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,MAAM,CAAC,CAAgB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KACjF;CACF,CAAA;AAbC;IADC,QAAQ,CAAC,SAAS,CAAC;kDASnB;AAhBkB,aAAa;IAHjC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,aAAa,CAqBjC;aArBoB,aAAa;;;;"}
|
|
@@ -65,6 +65,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-scroll-item.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/scroll/components/main-scroll-item.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\nimport { Identifiable } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { NoElement, State, xComponentMixin } from '../../../components';\nimport { XInject } from '../../../components/decorators/injection.decorators';\nimport { scrollXModule } from '../x-module';\nimport { ScrollObserverKey } from './scroll.const';\nimport { ScrollVisibilityObserver } from './scroll.types';\n\n/**\n * Wrapper for elements contained in the {@link MainScroll} that should store/restore its\n * position.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(scrollXModule)]\n})\nexport default class MainScrollItem extends Vue {\n /**\n * Rendered HTML node.\n *\n * @public\n */\n public $el!: HTMLElement;\n\n /**\n * The item data. Used to set the scroll identifier.\n *\n * @public\n */\n @Prop({ required: true })\n public item!: Identifiable;\n\n /**\n * The tag to render.\n *\n * @public\n */\n @Prop({ default: () => NoElement })\n public tag!: string | typeof Vue;\n\n /**\n * Pending identifier scroll position to restore. If it matches the {@link MainScrollItem.item}\n * `id` property, this component should be scrolled into view.\n *\n * @internal\n */\n @State('scroll', 'pendingScrollTo')\n public pendingScrollTo!: string;\n\n /**\n * Observer to detect the first visible element.\n *\n * @internal\n */\n @XInject(ScrollObserverKey)\n public firstVisibleItemObserver!: ScrollVisibilityObserver | null;\n\n /**\n * Initialise scroll behavior.\n * - Observes the rendered element to detect if it is the first visible item.\n * - If the rendered element matches the {@link MainScrollItem.pendingScrollTo}, scrolls the\n * element into the first position of the view.\n *\n * @internal\n */\n async mounted(): Promise<void> {\n await this.$nextTick(); // Mounted does not guarantee that child components are mounted too\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.$watch('firstVisibleItemObserver', this.observeItem, { immediate: true });\n }\n\n /**\n * Detaches the observer from the rendered element to prevent memory leaks.\n *\n * @internal\n */\n beforeDestroy(): void {\n this.firstVisibleItemObserver?.unobserve(this.$el);\n }\n\n /**\n * Initialises the element visibility observation, stopping the previous one if it has.\n *\n * @param newObserver - The new observer for the HTML element.\n * @param oldObserver - The old observer for the HTML element.\n */\n observeItem(\n newObserver: ScrollVisibilityObserver | null,\n oldObserver: ScrollVisibilityObserver | null\n ): void {\n oldObserver?.unobserve(this.$el);\n newObserver?.observe(this.$el);\n if (this.pendingScrollTo === this.item.id) {\n this.$el.scrollIntoView();\n this.$x.emit('ScrollRestoreSucceeded');\n }\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main-scroll-item.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/scroll/components/main-scroll-item.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\nimport { Identifiable } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { NoElement, State, xComponentMixin } from '../../../components';\nimport { XInject } from '../../../components/decorators/injection.decorators';\nimport { scrollXModule } from '../x-module';\nimport { ScrollObserverKey } from './scroll.const';\nimport { ScrollVisibilityObserver } from './scroll.types';\n\n/**\n * Wrapper for elements contained in the {@link MainScroll} that should store/restore its\n * position.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(scrollXModule)]\n})\nexport default class MainScrollItem extends Vue {\n /**\n * Rendered HTML node.\n *\n * @public\n */\n public $el!: HTMLElement;\n\n /**\n * The item data. Used to set the scroll identifier.\n *\n * @public\n */\n @Prop({ required: true })\n public item!: Identifiable;\n\n /**\n * The tag to render.\n *\n * @public\n */\n @Prop({ default: () => NoElement })\n public tag!: string | typeof Vue;\n\n /**\n * Pending identifier scroll position to restore. If it matches the {@link MainScrollItem.item}\n * `id` property, this component should be scrolled into view.\n *\n * @internal\n */\n @State('scroll', 'pendingScrollTo')\n public pendingScrollTo!: string;\n\n /**\n * Observer to detect the first visible element.\n *\n * @internal\n */\n @XInject(ScrollObserverKey)\n public firstVisibleItemObserver!: ScrollVisibilityObserver | null;\n\n /**\n * Initialise scroll behavior.\n * - Observes the rendered element to detect if it is the first visible item.\n * - If the rendered element matches the {@link MainScrollItem.pendingScrollTo}, scrolls the\n * element into the first position of the view.\n *\n * @internal\n */\n async mounted(): Promise<void> {\n await this.$nextTick(); // Mounted does not guarantee that child components are mounted too\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.$watch('firstVisibleItemObserver', this.observeItem, { immediate: true });\n }\n\n /**\n * Detaches the observer from the rendered element to prevent memory leaks.\n *\n * @internal\n */\n beforeDestroy(): void {\n this.firstVisibleItemObserver?.unobserve(this.$el);\n }\n\n /**\n * Initialises the element visibility observation, stopping the previous one if it has.\n *\n * @param newObserver - The new observer for the HTML element.\n * @param oldObserver - The old observer for the HTML element.\n */\n observeItem(\n newObserver: ScrollVisibilityObserver | null,\n oldObserver: ScrollVisibilityObserver | null\n ): void {\n oldObserver?.unobserve(this.$el);\n newObserver?.observe(this.$el);\n if (this.pendingScrollTo === this.item.id) {\n this.$el.scrollIntoView();\n this.$x.emit('ScrollRestoreSucceeded');\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;;;;;AASA,IAAqB,cAAc,GAAnC,MAAqB,cAAe,SAAQ,GAAG;;;;;;;;;IAiD7C,MAAM,OAAO;QACX,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;;QAEvB,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAChF;;;;;;IAOD,aAAa;QACX,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpD;;;;;;;IAQD,WAAW,CACT,WAA4C,EAC5C,WAA4C;QAE5C,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACxC;KACF;CACF,CAAA;AAnEC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;4CACE;AAQ3B;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,CAAC;2CACF;AASjC;IADC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC;uDACH;AAQhC;IADC,OAAO,CAAC,iBAAiB,CAAC;gEACuC;AAvC/C,cAAc;IAHlC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,cAAc,CAiFlC;aAjFoB,cAAc;;;;"}
|
|
@@ -65,6 +65,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-to-top.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/scroll/components/scroll-to-top.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Dictionary } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../components';\nimport BaseEventButton from '../../../components/base-event-button.vue';\nimport { NoElement } from '../../../components/no-element';\nimport { XEventsTypes } from '../../../wiring';\nimport { ScrollComponentState } from '../store';\nimport { scrollXModule } from '../x-module';\nimport { MainScrollId } from './scroll.const';\n\n/**\n * The `ScrollToTop` component is a button that the user can click to make a container scroll\n * up to its initial position.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(scrollXModule)],\n components: { BaseEventButton }\n})\nexport default class ScrollToTop extends Vue {\n /**\n * Animation to use for showing/hiding the button.\n *\n * @public\n */\n @Prop({ default: () => NoElement })\n public animation!: Vue | string;\n\n /**\n * Threshold in pixels from the top to show the button.\n *\n * @public\n */\n @Prop()\n public thresholdPx?: number;\n\n /**\n * Id of the target scroll component.\n *\n * @public\n */\n @Prop({ default: MainScrollId })\n public scrollId!: string;\n\n /**\n * State of all the scroll components in this module.\n *\n * @internal\n */\n // TODO: Directly retrieve the needed data in this computed property\n @State('scroll', 'data')\n public scrollPositionsMap!: Dictionary<ScrollComponentState>;\n\n /**\n * The scroll data retrieved for this component.\n *\n * @returns The scroll data for this component if a valid {@link ScrollToTop.scrollId} has been\n * passed. Otherwise it returns `null`.\n * @internal\n */\n protected get scrollData(): ScrollComponentState {\n return this.scrollId && this.scrollPositionsMap[this.scrollId]\n ? this.scrollPositionsMap[this.scrollId]\n : {\n position: 0,\n direction: 'UP',\n hasReachedStart: false,\n hasAlmostReachedEnd: false,\n hasReachedEnd: false\n };\n }\n\n /**\n * Event that will be emitted when the scroll to top is clicked.\n *\n * @returns The event to be emitted when the scroll to top is clicked. The id as a payload.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return { UserClickedScrollToTop: this.scrollId };\n }\n\n /**\n * Checks if the thresholdPx prop has been provided and if it is a number.\n *\n * @returns If the thresholdPx is a number or not.\n * @internal\n */\n protected get useThresholdStrategy(): boolean {\n return typeof this.thresholdPx === 'number';\n }\n\n /**\n * Checks if the threshold has been reached in case the threshold strategy is in use.\n *\n * @returns If the scrollTop is bigger than the thresholdPx.\n * @internal\n */\n protected get isThresholdReached(): boolean {\n return this.useThresholdStrategy && this.scrollData.position > this.thresholdPx!;\n }\n\n /**\n * Whether if the button is visible or not depending on the strategy being used.\n *\n * @returns If the button should be visible or not.\n * @internal\n */\n protected get isVisible(): boolean {\n return this.useThresholdStrategy ? this.isThresholdReached : this.hasAlmostReachedScrollEnd;\n }\n\n /**\n * Returns if the scroll has almost reached its end or not.\n *\n * @returns True if the scroll has almost reached the end and the user is still scrolling down.\n * @internal\n */\n protected get hasAlmostReachedScrollEnd(): boolean {\n return this.scrollData.hasAlmostReachedEnd && this.scrollData.direction === 'DOWN';\n }\n}\n"],"names":["BaseEventButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"scroll-to-top.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/scroll/components/scroll-to-top.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Dictionary } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../components';\nimport BaseEventButton from '../../../components/base-event-button.vue';\nimport { NoElement } from '../../../components/no-element';\nimport { XEventsTypes } from '../../../wiring';\nimport { ScrollComponentState } from '../store';\nimport { scrollXModule } from '../x-module';\nimport { MainScrollId } from './scroll.const';\n\n/**\n * The `ScrollToTop` component is a button that the user can click to make a container scroll\n * up to its initial position.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(scrollXModule)],\n components: { BaseEventButton }\n})\nexport default class ScrollToTop extends Vue {\n /**\n * Animation to use for showing/hiding the button.\n *\n * @public\n */\n @Prop({ default: () => NoElement })\n public animation!: Vue | string;\n\n /**\n * Threshold in pixels from the top to show the button.\n *\n * @public\n */\n @Prop()\n public thresholdPx?: number;\n\n /**\n * Id of the target scroll component.\n *\n * @public\n */\n @Prop({ default: MainScrollId })\n public scrollId!: string;\n\n /**\n * State of all the scroll components in this module.\n *\n * @internal\n */\n // TODO: Directly retrieve the needed data in this computed property\n @State('scroll', 'data')\n public scrollPositionsMap!: Dictionary<ScrollComponentState>;\n\n /**\n * The scroll data retrieved for this component.\n *\n * @returns The scroll data for this component if a valid {@link ScrollToTop.scrollId} has been\n * passed. Otherwise it returns `null`.\n * @internal\n */\n protected get scrollData(): ScrollComponentState {\n return this.scrollId && this.scrollPositionsMap[this.scrollId]\n ? this.scrollPositionsMap[this.scrollId]\n : {\n position: 0,\n direction: 'UP',\n hasReachedStart: false,\n hasAlmostReachedEnd: false,\n hasReachedEnd: false\n };\n }\n\n /**\n * Event that will be emitted when the scroll to top is clicked.\n *\n * @returns The event to be emitted when the scroll to top is clicked. The id as a payload.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return { UserClickedScrollToTop: this.scrollId };\n }\n\n /**\n * Checks if the thresholdPx prop has been provided and if it is a number.\n *\n * @returns If the thresholdPx is a number or not.\n * @internal\n */\n protected get useThresholdStrategy(): boolean {\n return typeof this.thresholdPx === 'number';\n }\n\n /**\n * Checks if the threshold has been reached in case the threshold strategy is in use.\n *\n * @returns If the scrollTop is bigger than the thresholdPx.\n * @internal\n */\n protected get isThresholdReached(): boolean {\n return this.useThresholdStrategy && this.scrollData.position > this.thresholdPx!;\n }\n\n /**\n * Whether if the button is visible or not depending on the strategy being used.\n *\n * @returns If the button should be visible or not.\n * @internal\n */\n protected get isVisible(): boolean {\n return this.useThresholdStrategy ? this.isThresholdReached : this.hasAlmostReachedScrollEnd;\n }\n\n /**\n * Returns if the scroll has almost reached its end or not.\n *\n * @returns True if the scroll has almost reached the end and the user is still scrolling down.\n * @internal\n */\n protected get hasAlmostReachedScrollEnd(): boolean {\n return this.scrollData.hasAlmostReachedEnd && this.scrollData.direction === 'DOWN';\n }\n}\n"],"names":["BaseEventButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA;;;;;;AAUA,IAAqB,WAAW,GAAhC,MAAqB,WAAY,SAAQ,GAAG;;;;;;;;IAyC1C,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;cAC1D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;cACtC;gBACE,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,IAAI;gBACf,eAAe,EAAE,KAAK;gBACtB,mBAAmB,EAAE,KAAK;gBAC1B,aAAa,EAAE,KAAK;aACrB,CAAC;KACP;;;;;;;IAQD,IAAc,MAAM;QAClB,OAAO,EAAE,sBAAsB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAClD;;;;;;;IAQD,IAAc,oBAAoB;QAChC,OAAO,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC;KAC7C;;;;;;;IAQD,IAAc,kBAAkB;QAC9B,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAY,CAAC;KAClF;;;;;;;IAQD,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC;KAC7F;;;;;;;IAQD,IAAc,yBAAyB;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,KAAK,MAAM,CAAC;KACpF;CACF,CAAA;AA/FC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,CAAC;8CACH;AAQhC;IADC,IAAI,EAAE;gDACqB;AAQ5B;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;6CACP;AASzB;IADC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;uDACqC;AAhC1C,WAAW;IAJ/B,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACxC,UAAU,EAAE,mBAAEA,iBAAe,EAAE;KAChC,CAAC;GACmB,WAAW,CAsG/B;aAtGoB,WAAW;;;;"}
|
|
@@ -66,6 +66,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
66
66
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
67
67
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
68
68
|
import '../../../components/icons/search.vue.js';
|
|
69
|
+
import '../../../components/icons/settings.vue.js';
|
|
69
70
|
import '../../../components/icons/show.vue.js';
|
|
70
71
|
import '../../../components/icons/star.vue.js';
|
|
71
72
|
import '../../../components/icons/search-tiny.vue.js';
|
package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue_script.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-scroll.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/scroll/components/window-scroll.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { ScrollDirection, ScrollMixin, xComponentMixin } from '../../../components';\nimport { WireMetadata } from '../../../wiring';\nimport { scrollXModule } from '../x-module';\nimport { MainScrollId } from './scroll.const';\n\ntype ScrollableElement = 'html' | 'body';\n\n/**\n * The `WindowScroll` component listens to either the `html` or `body` DOM scroll events, and\n * re-emits them as X Events. Additionally it also emits events related to the direction or\n * current position of these elements scroll.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(scrollXModule)]\n})\nexport default class WindowScroll extends mixins(ScrollMixin) {\n /**\n * Tag to identify the main scrollable element.\n *\n * @public\n */\n @Prop({ default: 'html' })\n protected scrollableElement!: ScrollableElement;\n /**\n * Id to identify the component.\n *\n * @public\n */\n @Prop({ default: MainScrollId })\n protected id!: string;\n\n mounted(): void {\n this.initAndListenElement();\n this.$on('scroll', (position: number) => {\n this.$x.emit('UserScrolled', position, this.createXEventMetadata());\n });\n this.$on('scroll:direction-change', (direction: ScrollDirection) => {\n this.$x.emit('UserChangedScrollDirection', direction, this.createXEventMetadata());\n });\n this.$on('scroll:at-start', (hasReachedStart: boolean) => {\n this.$x.emit('UserReachedScrollStart', hasReachedStart, this.createXEventMetadata());\n });\n this.$on('scroll:almost-at-end', (hasAlmostReachedEnd: boolean) => {\n this.$x.emit(\n 'UserAlmostReachedScrollEnd',\n hasAlmostReachedEnd,\n this.createXEventMetadata()\n );\n });\n this.$on('scroll:at-end', (hasReachedEnd: boolean) => {\n this.$x.emit('UserReachedScrollEnd', hasReachedEnd, this.createXEventMetadata());\n });\n }\n\n /**\n * Sets the HTML element depending on {@link WindowScroll.scrollableElement}, and initialises\n * its events.\n *\n * @internal\n */\n protected initAndListenElement(): void {\n this.$el = this.scrollableElement === 'body' ? document.body : document.documentElement;\n this.$el.addEventListener('scroll', this.throttledStoreScrollData);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n\n /**\n * Cleanup listeners.\n */\n beforeDestroy(): void {\n this.$el.removeEventListener('scroll', this.throttledStoreScrollData);\n }\n\n /**\n * Creates the metadata for the events of this component.\n *\n * @returns A {@link WireMetadata} for the events emitted by this component.\n * @internal\n */\n protected createXEventMetadata(): Partial<WireMetadata> {\n return { target: this.$el, id: this.id };\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"window-scroll.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/scroll/components/window-scroll.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { ScrollDirection, ScrollMixin, xComponentMixin } from '../../../components';\nimport { WireMetadata } from '../../../wiring';\nimport { scrollXModule } from '../x-module';\nimport { MainScrollId } from './scroll.const';\n\ntype ScrollableElement = 'html' | 'body';\n\n/**\n * The `WindowScroll` component listens to either the `html` or `body` DOM scroll events, and\n * re-emits them as X Events. Additionally it also emits events related to the direction or\n * current position of these elements scroll.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(scrollXModule)]\n})\nexport default class WindowScroll extends mixins(ScrollMixin) {\n /**\n * Tag to identify the main scrollable element.\n *\n * @public\n */\n @Prop({ default: 'html' })\n protected scrollableElement!: ScrollableElement;\n /**\n * Id to identify the component.\n *\n * @public\n */\n @Prop({ default: MainScrollId })\n protected id!: string;\n\n mounted(): void {\n this.initAndListenElement();\n this.$on('scroll', (position: number) => {\n this.$x.emit('UserScrolled', position, this.createXEventMetadata());\n });\n this.$on('scroll:direction-change', (direction: ScrollDirection) => {\n this.$x.emit('UserChangedScrollDirection', direction, this.createXEventMetadata());\n });\n this.$on('scroll:at-start', (hasReachedStart: boolean) => {\n this.$x.emit('UserReachedScrollStart', hasReachedStart, this.createXEventMetadata());\n });\n this.$on('scroll:almost-at-end', (hasAlmostReachedEnd: boolean) => {\n this.$x.emit(\n 'UserAlmostReachedScrollEnd',\n hasAlmostReachedEnd,\n this.createXEventMetadata()\n );\n });\n this.$on('scroll:at-end', (hasReachedEnd: boolean) => {\n this.$x.emit('UserReachedScrollEnd', hasReachedEnd, this.createXEventMetadata());\n });\n }\n\n /**\n * Sets the HTML element depending on {@link WindowScroll.scrollableElement}, and initialises\n * its events.\n *\n * @internal\n */\n protected initAndListenElement(): void {\n this.$el = this.scrollableElement === 'body' ? document.body : document.documentElement;\n this.$el.addEventListener('scroll', this.throttledStoreScrollData);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n\n /**\n * Cleanup listeners.\n */\n beforeDestroy(): void {\n this.$el.removeEventListener('scroll', this.throttledStoreScrollData);\n }\n\n /**\n * Creates the metadata for the events of this component.\n *\n * @returns A {@link WireMetadata} for the events emitted by this component.\n * @internal\n */\n protected createXEventMetadata(): Partial<WireMetadata> {\n return { target: this.$el, id: this.id };\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;;;;;;AAUA,IAAqB,YAAY,GAAjC,MAAqB,YAAa,SAAQ,MAAM,CAAC,WAAW,CAAC;IAgB3D,OAAO;QACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAgB;YAClC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SACrE,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,SAA0B;YAC7D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SACpF,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,eAAwB;YACnD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,mBAA4B;YAC5D,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,4BAA4B,EAC5B,mBAAmB,EACnB,IAAI,CAAC,oBAAoB,EAAE,CAC5B,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,aAAsB;YAC/C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SAClF,CAAC,CAAC;KACJ;;;;;;;IAQS,oBAAoB;QAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,KAAK,MAAM,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACxF,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;KACpE;;IAGD,MAAM,MAAW;;;;IAKjB,aAAa;QACX,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;KACvE;;;;;;;IAQS,oBAAoB;QAC5B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;KAC1C;CACF,CAAA;AA9DC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;uDACsB;AAOhD;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;wCACV;AAdH,YAAY;IAHhC,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,YAAY,CAqEhC;aArEoB,YAAY;;;;"}
|
|
@@ -66,6 +66,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
66
66
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
67
67
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
68
68
|
import '../../../components/icons/search.vue.js';
|
|
69
|
+
import '../../../components/icons/settings.vue.js';
|
|
69
70
|
import '../../../components/icons/show.vue.js';
|
|
70
71
|
import '../../../components/icons/star.vue.js';
|
|
71
72
|
import '../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-list.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { BaseEventButton } from '../../../components';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { searchXModule } from '../x-module';\nimport SortMixin from './sort.mixin';\n\n/**\n * Sort list item options.\n *\n * @public\n */\ninterface SortListItem {\n item: Sort;\n cssClasses: VueCSSClasses;\n event: Partial<XEventsTypes>;\n}\n/**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)],\n components: {\n BaseEventButton\n }\n})\nexport default class SortList extends mixins(SortMixin) {\n /**\n * The transition to use for rendering the list.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation?: string | typeof Vue;\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n *\n * @internal\n */\n protected get listItems(): SortListItem[] {\n return this.items.map(item => ({\n item,\n cssClasses: [\n {\n 'x-sort-list__item--is-selected': item === this.selectedSort,\n 'x-option-list__item--is-selected': item === this.selectedSort\n }\n ],\n event: { UserClickedASort: item }\n }));\n }\n}\n"],"names":["BaseEventButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-list.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { BaseEventButton } from '../../../components';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { searchXModule } from '../x-module';\nimport SortMixin from './sort.mixin';\n\n/**\n * Sort list item options.\n *\n * @public\n */\ninterface SortListItem {\n item: Sort;\n cssClasses: VueCSSClasses;\n event: Partial<XEventsTypes>;\n}\n/**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)],\n components: {\n BaseEventButton\n }\n})\nexport default class SortList extends mixins(SortMixin) {\n /**\n * The transition to use for rendering the list.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation?: string | typeof Vue;\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n *\n * @internal\n */\n protected get listItems(): SortListItem[] {\n return this.items.map(item => ({\n item,\n cssClasses: [\n {\n 'x-sort-list__item--is-selected': item === this.selectedSort,\n 'x-option-list__item--is-selected': item === this.selectedSort\n }\n ],\n event: { UserClickedASort: item }\n }));\n }\n}\n"],"names":["BaseEventButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA;;;;;;;;AAcA,IAAqB,QAAQ,GAA7B,MAAqB,QAAS,SAAQ,MAAM,CAAC,SAAS,CAAC;;;;;;;;IAerD,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK;YAC7B,IAAI;YACJ,UAAU,EAAE;gBACV;oBACE,gCAAgC,EAAE,IAAI,KAAK,IAAI,CAAC,YAAY;oBAC5D,kCAAkC,EAAE,IAAI,KAAK,IAAI,CAAC,YAAY;iBAC/D;aACF;YACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;SAClC,CAAC,CAAC,CAAC;KACL;CACF,CAAA;AApBC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CACe;AAPpB,QAAQ;IAN5B,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACxC,UAAU,EAAE;6BACVA,iBAAe;SAChB;KACF,CAAC;GACmB,QAAQ,CA2B5B;aA3BoB,QAAQ;;;;"}
|
|
@@ -66,6 +66,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
66
66
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
67
67
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
68
68
|
import '../../../components/icons/search.vue.js';
|
|
69
|
+
import '../../../components/icons/settings.vue.js';
|
|
69
70
|
import '../../../components/icons/show.vue.js';
|
|
70
71
|
import '../../../components/icons/star.vue.js';
|
|
71
72
|
import '../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.mixin.js","sources":["../../../../../src/x-modules/search/components/sort.mixin.ts"],"sourcesContent":["import { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { State, XEmit } from '../../../components';\n\n/**\n * Mixin to share Sort logic.\n *\n * @public\n */\n@Component\nexport default class SortMixin extends Vue {\n /**\n * The list of possible sort values. If there are no values selected, the first item of\n * this list will be selected.\n *\n * @public\n */\n @Prop({ required: true })\n public items!: Sort[];\n\n /**\n * The search module selected sort. This is the source of truth when checking which\n * sort is selected.\n *\n * @internal\n */\n @State('search', 'sort')\n public selectedSort!: Sort;\n\n /**\n * Emits the {@link SearchXEvents.SelectedSortProvided | SelectedSortProvided} event whenever the\n * provided {@link SortMixin.selectedSort} changes. If no value is provided, the first item of the\n * {@link SortMixin.items} will be used as fallback.\n *\n * @returns The sorting value.\n *\n * @public\n */\n @XEmit('SelectedSortProvided')\n public get providedSelectedSort(): Sort {\n return this.selectedSort;\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort.mixin.js","sources":["../../../../../src/x-modules/search/components/sort.mixin.ts"],"sourcesContent":["import { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { State, XEmit } from '../../../components';\n\n/**\n * Mixin to share Sort logic.\n *\n * @public\n */\n@Component\nexport default class SortMixin extends Vue {\n /**\n * The list of possible sort values. If there are no values selected, the first item of\n * this list will be selected.\n *\n * @public\n */\n @Prop({ required: true })\n public items!: Sort[];\n\n /**\n * The search module selected sort. This is the source of truth when checking which\n * sort is selected.\n *\n * @internal\n */\n @State('search', 'sort')\n public selectedSort!: Sort;\n\n /**\n * Emits the {@link SearchXEvents.SelectedSortProvided | SelectedSortProvided} event whenever the\n * provided {@link SortMixin.selectedSort} changes. If no value is provided, the first item of the\n * {@link SortMixin.items} will be used as fallback.\n *\n * @returns The sorting value.\n *\n * @public\n */\n @XEmit('SelectedSortProvided')\n public get providedSelectedSort(): Sort {\n return this.selectedSort;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;AAMA,IAAqB,SAAS,GAA9B,MAAqB,SAAU,SAAQ,GAAG;;;;;;;;;;IA6BxC,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;CACF,CAAA;AAxBC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;wCACH;AAStB;IADC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;+CACG;AAY3B;IADC,KAAK,CAAC,sBAAsB,CAAC;qDAG7B;AA/BkB,SAAS;IAD7B,SAAS;GACW,SAAS,CAgC7B;kBAhCoB,SAAS;;;;"}
|
|
@@ -65,6 +65,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
65
65
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
66
66
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
67
67
|
import '../../../components/icons/search.vue.js';
|
|
68
|
+
import '../../../components/icons/settings.vue.js';
|
|
68
69
|
import '../../../components/icons/show.vue.js';
|
|
69
70
|
import '../../../components/icons/star.vue.js';
|
|
70
71
|
import '../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spellcheck.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../components';\nimport { searchXModule } from '../x-module';\n\n/**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Spellcheck extends Vue {\n /**\n * The query from the search state.\n *\n * @public\n */\n @State('search', 'query')\n public query!: string;\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spellcheck.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../components';\nimport { searchXModule } from '../x-module';\n\n/**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Spellcheck extends Vue {\n /**\n * The query from the search state.\n *\n * @public\n */\n @State('search', 'query')\n public query!: string;\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;;;;;;;;;AAaA,IAAqB,UAAU,GAA/B,MAAqB,UAAW,SAAQ,GAAG;CAgB1C,CAAA;AATC;IADC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;yCACH;AAQtB;IADC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC;qDACH;AAff,UAAU;IAH9B,SAAS,CAAC;QACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;GACmB,UAAU,CAgB9B;aAhBoB,UAAU;;;;"}
|
|
@@ -67,6 +67,7 @@ import '../../../components/icons/plus.vue.js';
|
|
|
67
67
|
import '../../../components/icons/radiobutton-selected.vue.js';
|
|
68
68
|
import '../../../components/icons/radiobutton-unselected.vue.js';
|
|
69
69
|
import '../../../components/icons/search.vue.js';
|
|
70
|
+
import '../../../components/icons/settings.vue.js';
|
|
70
71
|
import '../../../components/icons/show.vue.js';
|
|
71
72
|
import '../../../components/icons/star.vue.js';
|
|
72
73
|
import '../../../components/icons/search-tiny.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-handler.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/url/components/url-handler.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\nimport { Dictionary, objectFilter } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport GlobalEvents from 'vue-global-events';\nimport { Component, Inject } from 'vue-property-decorator';\nimport { State } from '../../../components';\nimport { XOn } from '../../../components/decorators/bus.decorators';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { FeatureLocation } from '../../../types/origin';\nimport { UrlParams } from '../../../types/url-params';\nimport { isArrayEmpty } from '../../../utils/array';\nimport { WireMetadata } from '../../../wiring/wiring.types';\nimport { SnippetConfig } from '../../../x-installer/api/api.types';\nimport { initialUrlState } from '../store/initial-state';\nimport { UrlParamValue } from '../store/types';\nimport { urlXModule } from '../x-module';\n\ninterface ParsedUrlParams {\n all: UrlParams;\n extra: Dictionary<unknown>;\n}\n\n/**\n * This component manage the browser URL parameters to perserve them through reloads and browser\n * history navigation. It allow to configure the default url parameter names using its attributes.\n * This component doesn't render elements to the DOM.\n *\n * @public\n */\n@Component({\n components: {\n GlobalEvents\n },\n mixins: [xComponentMixin(urlXModule)]\n})\nexport default class UrlHandler extends Vue {\n /**\n * The {@link SnippetConfig} provided by an ancestor.\n *\n * @internal\n */\n @Inject({ default: undefined })\n protected snippetConfig?: SnippetConfig;\n\n /**\n * Flag to know if the params were already loaded from the URL.\n *\n * @internal\n */\n protected urlLoaded = false;\n\n /**\n * The page URL. It is used to compare against the current URL to check navigation state.\n *\n * @internal\n */\n protected url?: URL;\n\n /**\n * Flag to know if the page has been persisted by the browser's back-forward cache.\n *\n * @internal\n */\n protected isPagePersisted = false;\n\n /**\n * Computed to know which params we must get from URL. It gets the params names from the initial\n * state, to get all default params names, and also from the `$attrs` to get the extra params\n * names to take into account.\n *\n * @returns An array with the name of the params.\n *\n * @internal\n */\n protected get managedParamsNames(): string[] {\n return Object.keys({ ...initialUrlState, ...this.$attrs });\n }\n\n @State('url', 'initialExtraParams')\n public initialExtraParams!: Dictionary<unknown>;\n\n /**\n * Returns the mapping of the param keys used in the URL is configured through $attrs. This way\n * we can support any param and extra param, no matters its name.\n *\n * @param paramName - The param name to get the Url key.\n * @returns The key used in the URL for the `paramName` passed.\n *\n * @internal\n */\n protected getUrlKey(paramName: string): string {\n return this.$attrs[paramName] ?? paramName;\n }\n\n /**\n * To emit the Url events just when the URL is load, and before the components mounted events\n * and state changes, we do it in the created of this component.\n */\n created(): void {\n this.emitEvents();\n }\n\n /**\n * Updates the browser URL with the new {@link UrlParams} using the history `pushState` method.\n *\n * @param newUrlParams - The new params to update browser URL.\n */\n @XOn('PushableUrlStateChanged')\n updateUrlWithPush(newUrlParams: UrlParams): void {\n this.updateUrl(newUrlParams, window.history.pushState.bind(window.history));\n }\n\n /**\n * Updates the browser URL with the new {@link UrlParams} using the history `replaceState`\n * method.\n *\n * @param newUrlParams - The new params to update browser URL.\n */\n @XOn('ReplaceableUrlStateChanged')\n updateUrlWithReplace(newUrlParams: UrlParams): void {\n this.updateUrl(newUrlParams, window.history.replaceState.bind(window.history));\n }\n\n /**\n * Handler of the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event | pageshow }\n * event.\n *\n * @remarks The pageshow event is listened to check if the browser has performed a navigation\n * using the back-forward cache. This information is available in the\n * PageTransitionEvent.persisted property.\n *\n * @param event - The page transition event.\n * @internal\n */\n protected onPageShow(event: PageTransitionEvent): void {\n this.isPagePersisted = event.persisted;\n if (event.persisted) {\n // The internal url is reset due to the back-forward cache storing the previous value which\n // is no longer valid.\n this.url = undefined;\n }\n }\n\n /**\n * Emits the {@link UrlXEvents.ParamsLoadedFromUrl} XEvent,\n * the {@link UrlXEvents.ExtraParamsLoadedFromUrl} XEvent and, if there is query, also emits\n * the {@link XEventsTypes.UserOpenXProgrammatically}.\n *\n * @internal\n */\n protected emitEvents(): void {\n const { all, extra } = this.parseUrlParams();\n const metadata = this.createWireMetadata();\n this.$x.emit('ParamsLoadedFromUrl', all, metadata);\n this.$x.emit('ExtraParamsLoadedFromUrl', extra, metadata);\n // TODO: Move this logic from here.\n if (all.query) {\n this.$x.emit('UserOpenXProgrammatically', undefined, metadata);\n }\n this.urlLoaded = true;\n }\n\n /**\n * Creates the wire metadata to include in every emitted {@link XEvent | XEvents}.\n *\n * @returns The {@link WireMetadata | metadata}.\n * @internal\n */\n protected createWireMetadata(): Pick<WireMetadata, 'feature' | 'location'> {\n return {\n feature: 'url',\n location: this.detectLocation()\n };\n }\n\n /**\n * Detects the {@link FeatureLocation | location} used to build the\n * {@link QueryOriginInit | events metadata origin}.\n *\n * @returns The {@link FeatureLocation | location}.\n * @internal\n */\n protected detectLocation(): FeatureLocation {\n const currentUrl = new URL(window.location.href);\n const previousUrl = this.url;\n this.url = currentUrl;\n\n const isInternalNavigation =\n previousUrl?.search !== currentUrl.search && previousUrl?.pathname === currentUrl.pathname;\n if (isInternalNavigation) {\n return 'url_history';\n }\n\n if (this.isNavigatingFromPdp()) {\n return 'url_history_pdp';\n }\n\n return 'external';\n }\n\n /**\n * Check if the navigation is from a product page.\n *\n * @remarks Due to Safari 14 not supporting the new and standard PerformanceNavigationTiming\n * API, we are falling back to the deprecated one, PerformanceNavigation. We also fallback to\n * this API whenever we get a navigationType equal to reload, because Safari has a bug that the\n * navigationType is permanently set to reload after you have reload the page and it never\n * resets. As some browsers have a back-forward cache implemented, we also take into account if\n * the page is persisted.\n *\n * @returns True if the navigation is from a product page, false otherwise.\n * @internal\n */\n protected isNavigatingFromPdp(): boolean {\n const isPagePersisted = this.isPagePersisted;\n const navigationEntries = window.performance.getEntriesByType('navigation');\n const navigationType = (navigationEntries[0] as PerformanceNavigationTiming)?.type;\n const useFallbackStrategy =\n window.performance.navigation &&\n (isArrayEmpty(navigationEntries) || navigationType === 'reload');\n\n // Reset internal isPagePersisted property value\n this.isPagePersisted = false;\n\n if (useFallbackStrategy) {\n const {\n type: fallbackNavigationType,\n TYPE_BACK_FORWARD,\n TYPE_NAVIGATE\n } = window.performance.navigation;\n const isNavigatingInSpa =\n !!this.snippetConfig?.isSpa && fallbackNavigationType === TYPE_NAVIGATE;\n return fallbackNavigationType === TYPE_BACK_FORWARD || isNavigatingInSpa || isPagePersisted;\n } else {\n const isNavigatingInSpa = !!this.snippetConfig?.isSpa && navigationType === 'navigate';\n return navigationType === 'back_forward' || isNavigatingInSpa || isPagePersisted;\n }\n }\n\n /**\n * Gets the {@link UrlParams} from the URL, including only the params defined by `paramsNames`.\n *\n * @returns ParsedUrlParams obtained from URL.\n * @internal\n */\n protected parseUrlParams(): ParsedUrlParams {\n const urlSearchParams = new URL(window.location.href).searchParams;\n return this.managedParamsNames.reduce<ParsedUrlParams>(\n (params, name) => {\n const urlKey = this.getUrlKey(name);\n if (urlSearchParams.has(urlKey)) {\n if (name in initialUrlState) {\n const urlValue = urlSearchParams.getAll(urlKey);\n params.all[name] = this.parseUrlParam(name, urlValue);\n } else {\n params.all[name] = params.extra[name] = urlSearchParams.get(urlKey);\n }\n }\n return params;\n },\n { all: { ...initialUrlState }, extra: { ...this.initialExtraParams } }\n );\n }\n\n /**\n * Updates the browser URL with the passed `newUrlParams` and using the browser history method\n * passed as `historyMethod`. It only updates the browser history if the new URL is different\n * from the current.\n *\n * @param newUrlParams - The new params to add to the browser URL.\n * @param historyMethod - The browser history method used to add the new URL.\n *\n * @internal\n */\n protected updateUrl(\n newUrlParams: UrlParams,\n historyMethod: History['pushState'] | History['replaceState']\n ): void {\n if (this.urlLoaded) {\n const url = new URL(window.location.href);\n this.deleteUrlParameters(url);\n this.setUrlParameters(url, newUrlParams);\n\n url.href = url.href.replace(/\\+/g, '%20');\n\n if (url.href !== window.location.href) {\n historyMethod({ ...window.history.state }, document.title, url.href);\n }\n this.url = url;\n }\n }\n\n /**\n * Deletes all the parameters in the passed URL.\n *\n * @param url - The URL to remove parameters from.\n * @internal\n */\n protected deleteUrlParameters(url: URL): void {\n this.managedParamsNames.forEach(paramName =>\n url.searchParams.delete(this.getUrlKey(paramName))\n );\n }\n\n /**\n * Set all the provided parameters to the url with the mapped key.\n *\n * @param url - The current URL.\n * @param urlParams - The list of parameters to add.\n * @remarks The params are filtered because there maybe received extra params which will not be\n * managed by URL. This is defined by the `managedParamsNames` computed. Also, the parameters\n * are sorted Alphabetically to produce always the same URL with the same parameters.This is\n * important for SEO purposes.\n *\n * @internal\n */\n protected setUrlParameters(url: URL, urlParams: UrlParams): void {\n // Only when there is a query the rest of the parameters are valid.\n if (!urlParams.query) {\n return;\n }\n const filteredParams = objectFilter(urlParams, paramName =>\n this.managedParamsNames.includes(paramName as string)\n );\n const sortedParameters = this.sortParams(filteredParams);\n sortedParameters.forEach(([paramName, paramValue]) => {\n const urlParamKey = this.getUrlKey(paramName);\n if (Array.isArray(paramValue)) {\n paramValue.forEach(value => {\n url.searchParams.append(urlParamKey, String(value));\n });\n } else {\n url.searchParams.set(urlParamKey, String(paramValue));\n }\n });\n }\n\n /**\n * Sorts the params in a tuple array [key,value] to generate always the same URL with the params\n * in the same order.\n *\n * @param urlParams - The {@link UrlParams} to sort.\n * @returns An array of tuples with the key-value of each paramter, sorted by key.\n * @internal\n */\n protected sortParams(urlParams: UrlParams): Array<[string, unknown]> {\n return Object.entries(urlParams).sort(([param1], [param2]) => {\n return param1 < param2 ? -1 : 1;\n });\n }\n\n /**\n * Returns the URL param value parsed depending on its type in the initial store state. As we\n * can not know what type can have an extra param, all extra params are parsed as strings. We\n * know if it is an extra param because it is not in the initial state.\n *\n * @param name - The name of the param in {@link UrlParams}.\n * @param value - The `URLSearchParams` value as an arry of strings.\n * @returns The parsed value.\n *\n * @internal\n */\n protected parseUrlParam(name: string, value: string[]): UrlParamValue {\n switch (typeof initialUrlState[name]) {\n case 'number':\n return Number(value[0]);\n case 'boolean':\n return value[0].toLowerCase() === 'true';\n case 'string':\n return value[0];\n default:\n // array\n return value;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"url-handler.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../../src/x-modules/url/components/url-handler.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\nimport { Dictionary, objectFilter } from '@empathyco/x-utils';\nimport Vue from 'vue';\nimport GlobalEvents from 'vue-global-events';\nimport { Component, Inject } from 'vue-property-decorator';\nimport { State } from '../../../components';\nimport { XOn } from '../../../components/decorators/bus.decorators';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { FeatureLocation } from '../../../types/origin';\nimport { UrlParams } from '../../../types/url-params';\nimport { isArrayEmpty } from '../../../utils/array';\nimport { WireMetadata } from '../../../wiring/wiring.types';\nimport { SnippetConfig } from '../../../x-installer/api/api.types';\nimport { initialUrlState } from '../store/initial-state';\nimport { UrlParamValue } from '../store/types';\nimport { urlXModule } from '../x-module';\n\ninterface ParsedUrlParams {\n all: UrlParams;\n extra: Dictionary<unknown>;\n}\n\n/**\n * This component manage the browser URL parameters to perserve them through reloads and browser\n * history navigation. It allow to configure the default url parameter names using its attributes.\n * This component doesn't render elements to the DOM.\n *\n * @public\n */\n@Component({\n components: {\n GlobalEvents\n },\n mixins: [xComponentMixin(urlXModule)]\n})\nexport default class UrlHandler extends Vue {\n /**\n * The {@link SnippetConfig} provided by an ancestor.\n *\n * @internal\n */\n @Inject({ default: undefined })\n protected snippetConfig?: SnippetConfig;\n\n /**\n * Flag to know if the params were already loaded from the URL.\n *\n * @internal\n */\n protected urlLoaded = false;\n\n /**\n * The page URL. It is used to compare against the current URL to check navigation state.\n *\n * @internal\n */\n protected url?: URL;\n\n /**\n * Flag to know if the page has been persisted by the browser's back-forward cache.\n *\n * @internal\n */\n protected isPagePersisted = false;\n\n /**\n * Computed to know which params we must get from URL. It gets the params names from the initial\n * state, to get all default params names, and also from the `$attrs` to get the extra params\n * names to take into account.\n *\n * @returns An array with the name of the params.\n *\n * @internal\n */\n protected get managedParamsNames(): string[] {\n return Object.keys({ ...initialUrlState, ...this.$attrs });\n }\n\n @State('url', 'initialExtraParams')\n public initialExtraParams!: Dictionary<unknown>;\n\n /**\n * Returns the mapping of the param keys used in the URL is configured through $attrs. This way\n * we can support any param and extra param, no matters its name.\n *\n * @param paramName - The param name to get the Url key.\n * @returns The key used in the URL for the `paramName` passed.\n *\n * @internal\n */\n protected getUrlKey(paramName: string): string {\n return this.$attrs[paramName] ?? paramName;\n }\n\n /**\n * To emit the Url events just when the URL is load, and before the components mounted events\n * and state changes, we do it in the created of this component.\n */\n created(): void {\n this.emitEvents();\n }\n\n /**\n * Updates the browser URL with the new {@link UrlParams} using the history `pushState` method.\n *\n * @param newUrlParams - The new params to update browser URL.\n */\n @XOn('PushableUrlStateChanged')\n updateUrlWithPush(newUrlParams: UrlParams): void {\n this.updateUrl(newUrlParams, window.history.pushState.bind(window.history));\n }\n\n /**\n * Updates the browser URL with the new {@link UrlParams} using the history `replaceState`\n * method.\n *\n * @param newUrlParams - The new params to update browser URL.\n */\n @XOn('ReplaceableUrlStateChanged')\n updateUrlWithReplace(newUrlParams: UrlParams): void {\n this.updateUrl(newUrlParams, window.history.replaceState.bind(window.history));\n }\n\n /**\n * Handler of the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event | pageshow }\n * event.\n *\n * @remarks The pageshow event is listened to check if the browser has performed a navigation\n * using the back-forward cache. This information is available in the\n * PageTransitionEvent.persisted property.\n *\n * @param event - The page transition event.\n * @internal\n */\n protected onPageShow(event: PageTransitionEvent): void {\n this.isPagePersisted = event.persisted;\n if (event.persisted) {\n // The internal url is reset due to the back-forward cache storing the previous value which\n // is no longer valid.\n this.url = undefined;\n }\n }\n\n /**\n * Emits the {@link UrlXEvents.ParamsLoadedFromUrl} XEvent,\n * the {@link UrlXEvents.ExtraParamsLoadedFromUrl} XEvent and, if there is query, also emits\n * the {@link XEventsTypes.UserOpenXProgrammatically}.\n *\n * @internal\n */\n protected emitEvents(): void {\n const { all, extra } = this.parseUrlParams();\n const metadata = this.createWireMetadata();\n this.$x.emit('ParamsLoadedFromUrl', all, metadata);\n this.$x.emit('ExtraParamsLoadedFromUrl', extra, metadata);\n // TODO: Move this logic from here.\n if (all.query) {\n this.$x.emit('UserOpenXProgrammatically', undefined, metadata);\n }\n this.urlLoaded = true;\n }\n\n /**\n * Creates the wire metadata to include in every emitted {@link XEvent | XEvents}.\n *\n * @returns The {@link WireMetadata | metadata}.\n * @internal\n */\n protected createWireMetadata(): Pick<WireMetadata, 'feature' | 'location'> {\n return {\n feature: 'url',\n location: this.detectLocation()\n };\n }\n\n /**\n * Detects the {@link FeatureLocation | location} used to build the\n * {@link QueryOriginInit | events metadata origin}.\n *\n * @returns The {@link FeatureLocation | location}.\n * @internal\n */\n protected detectLocation(): FeatureLocation {\n const currentUrl = new URL(window.location.href);\n const previousUrl = this.url;\n this.url = currentUrl;\n\n const isInternalNavigation =\n previousUrl?.search !== currentUrl.search && previousUrl?.pathname === currentUrl.pathname;\n if (isInternalNavigation) {\n return 'url_history';\n }\n\n if (this.isNavigatingFromPdp()) {\n return 'url_history_pdp';\n }\n\n return 'external';\n }\n\n /**\n * Check if the navigation is from a product page.\n *\n * @remarks Due to Safari 14 not supporting the new and standard PerformanceNavigationTiming\n * API, we are falling back to the deprecated one, PerformanceNavigation. We also fallback to\n * this API whenever we get a navigationType equal to reload, because Safari has a bug that the\n * navigationType is permanently set to reload after you have reload the page and it never\n * resets. As some browsers have a back-forward cache implemented, we also take into account if\n * the page is persisted.\n *\n * @returns True if the navigation is from a product page, false otherwise.\n * @internal\n */\n protected isNavigatingFromPdp(): boolean {\n const isPagePersisted = this.isPagePersisted;\n const navigationEntries = window.performance.getEntriesByType('navigation');\n const navigationType = (navigationEntries[0] as PerformanceNavigationTiming)?.type;\n const useFallbackStrategy =\n window.performance.navigation &&\n (isArrayEmpty(navigationEntries) || navigationType === 'reload');\n\n // Reset internal isPagePersisted property value\n this.isPagePersisted = false;\n\n if (useFallbackStrategy) {\n const {\n type: fallbackNavigationType,\n TYPE_BACK_FORWARD,\n TYPE_NAVIGATE\n } = window.performance.navigation;\n const isNavigatingInSpa =\n !!this.snippetConfig?.isSpa && fallbackNavigationType === TYPE_NAVIGATE;\n return fallbackNavigationType === TYPE_BACK_FORWARD || isNavigatingInSpa || isPagePersisted;\n } else {\n const isNavigatingInSpa = !!this.snippetConfig?.isSpa && navigationType === 'navigate';\n return navigationType === 'back_forward' || isNavigatingInSpa || isPagePersisted;\n }\n }\n\n /**\n * Gets the {@link UrlParams} from the URL, including only the params defined by `paramsNames`.\n *\n * @returns ParsedUrlParams obtained from URL.\n * @internal\n */\n protected parseUrlParams(): ParsedUrlParams {\n const urlSearchParams = new URL(window.location.href).searchParams;\n return this.managedParamsNames.reduce<ParsedUrlParams>(\n (params, name) => {\n const urlKey = this.getUrlKey(name);\n if (urlSearchParams.has(urlKey)) {\n if (name in initialUrlState) {\n const urlValue = urlSearchParams.getAll(urlKey);\n params.all[name] = this.parseUrlParam(name, urlValue);\n } else {\n params.all[name] = params.extra[name] = urlSearchParams.get(urlKey);\n }\n }\n return params;\n },\n { all: { ...initialUrlState }, extra: { ...this.initialExtraParams } }\n );\n }\n\n /**\n * Updates the browser URL with the passed `newUrlParams` and using the browser history method\n * passed as `historyMethod`. It only updates the browser history if the new URL is different\n * from the current.\n *\n * @param newUrlParams - The new params to add to the browser URL.\n * @param historyMethod - The browser history method used to add the new URL.\n *\n * @internal\n */\n protected updateUrl(\n newUrlParams: UrlParams,\n historyMethod: History['pushState'] | History['replaceState']\n ): void {\n if (this.urlLoaded) {\n const url = new URL(window.location.href);\n this.deleteUrlParameters(url);\n this.setUrlParameters(url, newUrlParams);\n\n url.href = url.href.replace(/\\+/g, '%20');\n\n if (url.href !== window.location.href) {\n historyMethod({ ...window.history.state }, document.title, url.href);\n }\n this.url = url;\n }\n }\n\n /**\n * Deletes all the parameters in the passed URL.\n *\n * @param url - The URL to remove parameters from.\n * @internal\n */\n protected deleteUrlParameters(url: URL): void {\n this.managedParamsNames.forEach(paramName =>\n url.searchParams.delete(this.getUrlKey(paramName))\n );\n }\n\n /**\n * Set all the provided parameters to the url with the mapped key.\n *\n * @param url - The current URL.\n * @param urlParams - The list of parameters to add.\n * @remarks The params are filtered because there maybe received extra params which will not be\n * managed by URL. This is defined by the `managedParamsNames` computed. Also, the parameters\n * are sorted Alphabetically to produce always the same URL with the same parameters.This is\n * important for SEO purposes.\n *\n * @internal\n */\n protected setUrlParameters(url: URL, urlParams: UrlParams): void {\n // Only when there is a query the rest of the parameters are valid.\n if (!urlParams.query) {\n return;\n }\n const filteredParams = objectFilter(urlParams, paramName =>\n this.managedParamsNames.includes(paramName as string)\n );\n const sortedParameters = this.sortParams(filteredParams);\n sortedParameters.forEach(([paramName, paramValue]) => {\n const urlParamKey = this.getUrlKey(paramName);\n if (Array.isArray(paramValue)) {\n paramValue.forEach(value => {\n url.searchParams.append(urlParamKey, String(value));\n });\n } else {\n url.searchParams.set(urlParamKey, String(paramValue));\n }\n });\n }\n\n /**\n * Sorts the params in a tuple array [key,value] to generate always the same URL with the params\n * in the same order.\n *\n * @param urlParams - The {@link UrlParams} to sort.\n * @returns An array of tuples with the key-value of each paramter, sorted by key.\n * @internal\n */\n protected sortParams(urlParams: UrlParams): Array<[string, unknown]> {\n return Object.entries(urlParams).sort(([param1], [param2]) => {\n return param1 < param2 ? -1 : 1;\n });\n }\n\n /**\n * Returns the URL param value parsed depending on its type in the initial store state. As we\n * can not know what type can have an extra param, all extra params are parsed as strings. We\n * know if it is an extra param because it is not in the initial state.\n *\n * @param name - The name of the param in {@link UrlParams}.\n * @param value - The `URLSearchParams` value as an arry of strings.\n * @returns The parsed value.\n *\n * @internal\n */\n protected parseUrlParam(name: string, value: string[]): UrlParamValue {\n switch (typeof initialUrlState[name]) {\n case 'number':\n return Number(value[0]);\n case 'boolean':\n return value[0].toLowerCase() === 'true';\n case 'string':\n return value[0];\n default:\n // array\n return value;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empathyco/x-components",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.125",
|
|
4
4
|
"description": "Empathy X Components",
|
|
5
5
|
"author": "Empathy Systems Corporation S.L.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -125,5 +125,5 @@
|
|
|
125
125
|
"access": "public",
|
|
126
126
|
"directory": "dist"
|
|
127
127
|
},
|
|
128
|
-
"gitHead": "
|
|
128
|
+
"gitHead": "f26136b93efc745ef34e91076bac5ea7c7003b63"
|
|
129
129
|
}
|
|
@@ -41361,6 +41361,27 @@
|
|
|
41361
41361
|
"endIndex": 5
|
|
41362
41362
|
}
|
|
41363
41363
|
},
|
|
41364
|
+
{
|
|
41365
|
+
"kind": "Variable",
|
|
41366
|
+
"canonicalReference": "@empathyco/x-components!SettingsIcon:var",
|
|
41367
|
+
"docComment": "",
|
|
41368
|
+
"excerptTokens": [
|
|
41369
|
+
{
|
|
41370
|
+
"kind": "Content",
|
|
41371
|
+
"text": "_default: "
|
|
41372
|
+
},
|
|
41373
|
+
{
|
|
41374
|
+
"kind": "Content",
|
|
41375
|
+
"text": "{}"
|
|
41376
|
+
}
|
|
41377
|
+
],
|
|
41378
|
+
"releaseTag": "Public",
|
|
41379
|
+
"name": "SettingsIcon",
|
|
41380
|
+
"variableTypeTokenRange": {
|
|
41381
|
+
"startIndex": 1,
|
|
41382
|
+
"endIndex": 2
|
|
41383
|
+
}
|
|
41384
|
+
},
|
|
41364
41385
|
{
|
|
41365
41386
|
"kind": "Variable",
|
|
41366
41387
|
"canonicalReference": "@empathyco/x-components!setUrlFilters:var",
|
|
@@ -3914,6 +3914,9 @@ export function setStatus(state: StatusState, status: RequestStatus): void;
|
|
|
3914
3914
|
// @public
|
|
3915
3915
|
export const setTaggingConfig: Wire<TaggingConfig>;
|
|
3916
3916
|
|
|
3917
|
+
// @public (undocumented)
|
|
3918
|
+
export const SettingsIcon: {};
|
|
3919
|
+
|
|
3917
3920
|
// @public
|
|
3918
3921
|
export const setUrlFilters: Wire<Filter[]>;
|
|
3919
3922
|
|
|
@@ -44,6 +44,7 @@ export { default as PlusIcon } from './plus.vue';
|
|
|
44
44
|
export { default as RadioButtonSelectedIcon } from './radiobutton-selected.vue';
|
|
45
45
|
export { default as RadioButtonUnselectedIcon } from './radiobutton-unselected.vue';
|
|
46
46
|
export { default as SearchIcon } from './search.vue';
|
|
47
|
+
export { default as SettingsIcon } from './settings.vue';
|
|
47
48
|
export { default as ShowIcon } from './show.vue';
|
|
48
49
|
export { default as StarIcon } from './star.vue';
|
|
49
50
|
export { default as SearchTinyIcon } from './search-tiny.vue';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.vue?rollup-plugin-vue=script.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/settings.vue?rollup-plugin-vue=script.ts"],"names":[],"mappings":";AAgBA,wBAAkB"}
|