@empathyco/x-components 3.0.0-alpha.90 → 3.0.0-alpha.91

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 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.91](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.90...@empathyco/x-components@3.0.0-alpha.91) (2022-05-04)
7
+
8
+ ### Features
9
+
10
+ - add `alt-text` accessibility
11
+ ([da5a10a](https://github.com/empathyco/x/commit/da5a10a236aae5fae96943fe0ad54849df15e7f5)),
12
+ closes [EX-5930](https://searchbroker.atlassian.net/browse/EX-5930)
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.90](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.89...@empathyco/x-components@3.0.0-alpha.90) (2022-05-03)
7
20
 
8
21
  ### Features
@@ -323,6 +323,35 @@
323
323
  --x-size-border-width-bottom-button-tertiary: var(--x-size-border-width-button-tertiary);
324
324
  --x-size-border-width-left-button-tertiary: var(--x-size-border-width-button-tertiary);
325
325
  }
326
+ .x-dropdown--card {
327
+ --x-size-gap-dropdown-default: var(--x-size-gap-dropdown-card);
328
+ --x-size-border-radius-dropdown-default: var(--x-size-border-radius-dropdown-card);
329
+ --x-size-border-radius-top-left-dropdown-default: var(
330
+ --x-size-border-radius-top-left-dropdown-card
331
+ );
332
+ --x-size-border-radius-top-right-dropdown-default: var(
333
+ --x-size-border-radius-top-right-dropdown-card
334
+ );
335
+ --x-size-border-radius-bottom-right-dropdown-default: var(
336
+ --x-size-border-radius-bottom-right-dropdown-card
337
+ );
338
+ --x-size-border-radius-bottom-left-dropdown-default: var(
339
+ --x-size-border-radius-bottom-left-dropdown-card
340
+ );
341
+ --x-size-border-width-dropdown-list-default: var(--x-size-border-width-dropdown-list-card);
342
+ --x-size-border-width-top-dropdown-list-default: var(
343
+ --x-size-border-width-top-dropdown-list-card
344
+ );
345
+ --x-size-border-width-right-dropdown-list-default: var(
346
+ --x-size-border-width-right-dropdown-list-card
347
+ );
348
+ --x-size-border-width-bottom-dropdown-list-default: var(
349
+ --x-size-border-width-bottom-dropdown-list-card
350
+ );
351
+ --x-size-border-width-left-dropdown-list-default: var(
352
+ --x-size-border-width-left-dropdown-list-card
353
+ );
354
+ }
326
355
  :root {
327
356
  --x-size-gap-dropdown-card: var(--x-size-base-03);
328
357
  --x-size-border-radius-dropdown-card: var(--x-size-border-radius-base-s);
@@ -4136,6 +4165,21 @@
4136
4165
  :root {
4137
4166
  --x-color-text-accent: var(--x-color-base-accent);
4138
4167
  }
4168
+ .x-text--bold.x-text {
4169
+ --x-number-font-weight-text: var(--x-number-font-weight-base-bold);
4170
+ }
4171
+ .x-text--bold.x-title1 {
4172
+ --x-number-font-weight-title1: var(--x-number-font-weight-base-bold);
4173
+ }
4174
+ .x-text--bold.x-title2 {
4175
+ --x-number-font-weight-title2: var(--x-number-font-weight-base-bold);
4176
+ }
4177
+ .x-text--bold.x-title3 {
4178
+ --x-number-font-weight-title3: var(--x-number-font-weight-base-bold);
4179
+ }
4180
+ .x-text--bold.x-small {
4181
+ --x-number-font-weight-small: var(--x-number-font-weight-base-bold);
4182
+ }
4139
4183
  .x,
4140
4184
  .x-text {
4141
4185
  font-family: var(--x-font-family-text);
@@ -7522,48 +7566,3 @@
7522
7566
  .x-normal-case {
7523
7567
  text-transform: none;
7524
7568
  }
7525
-
7526
- .x-dropdown--card {
7527
- --x-size-gap-dropdown-default: var(--x-size-gap-dropdown-card);
7528
- --x-size-border-radius-dropdown-default: var(--x-size-border-radius-dropdown-card);
7529
- --x-size-border-radius-top-left-dropdown-default: var(
7530
- --x-size-border-radius-top-left-dropdown-card
7531
- );
7532
- --x-size-border-radius-top-right-dropdown-default: var(
7533
- --x-size-border-radius-top-right-dropdown-card
7534
- );
7535
- --x-size-border-radius-bottom-right-dropdown-default: var(
7536
- --x-size-border-radius-bottom-right-dropdown-card
7537
- );
7538
- --x-size-border-radius-bottom-left-dropdown-default: var(
7539
- --x-size-border-radius-bottom-left-dropdown-card
7540
- );
7541
- --x-size-border-width-dropdown-list-default: var(--x-size-border-width-dropdown-list-card);
7542
- --x-size-border-width-top-dropdown-list-default: var(
7543
- --x-size-border-width-top-dropdown-list-card
7544
- );
7545
- --x-size-border-width-right-dropdown-list-default: var(
7546
- --x-size-border-width-right-dropdown-list-card
7547
- );
7548
- --x-size-border-width-bottom-dropdown-list-default: var(
7549
- --x-size-border-width-bottom-dropdown-list-card
7550
- );
7551
- --x-size-border-width-left-dropdown-list-default: var(
7552
- --x-size-border-width-left-dropdown-list-card
7553
- );
7554
- }
7555
- .x-text--bold.x-text {
7556
- --x-number-font-weight-text: var(--x-number-font-weight-base-bold);
7557
- }
7558
- .x-text--bold.x-title1 {
7559
- --x-number-font-weight-title1: var(--x-number-font-weight-base-bold);
7560
- }
7561
- .x-text--bold.x-title2 {
7562
- --x-number-font-weight-title2: var(--x-number-font-weight-base-bold);
7563
- }
7564
- .x-text--bold.x-title3 {
7565
- --x-number-font-weight-title3: var(--x-number-font-weight-base-bold);
7566
- }
7567
- .x-text--bold.x-small {
7568
- --x-number-font-weight-small: var(--x-number-font-weight-base-bold);
7569
- }
@@ -20,7 +20,7 @@ var __vue_render__ = function () {
20
20
  [
21
21
  _c("img", {
22
22
  staticClass: "x-banner__image",
23
- attrs: { src: _vm.banner.image, alt: "" },
23
+ attrs: { src: _vm.banner.image, alt: _vm.banner.title },
24
24
  }),
25
25
  _vm._v(" "),
26
26
  _c("h2", { staticClass: "x-banner__title" }, [
@@ -35,7 +35,7 @@ __vue_render__._withStripped = true;
35
35
  /* style */
36
36
  const __vue_inject_styles__ = function (inject) {
37
37
  if (!inject) return
38
- inject("data-v-134380e3_0", { source: ".x-banner {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n}\n.x-banner__image {\n width: 100%;\n object-fit: contain;\n}", map: undefined, media: undefined });
38
+ inject("data-v-3a9082b6_0", { source: ".x-banner {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n}\n.x-banner__image {\n width: 100%;\n object-fit: contain;\n}", map: undefined, media: undefined });
39
39
 
40
40
  };
41
41
  /* scoped */
@@ -1 +1 @@
1
- {"version":3,"file":"banner.vue.js","sources":["../../../../../src/x-modules/search/components/banner.vue"],"sourcesContent":["<template>\n <a @click=\"emitClickEvent\" :href=\"banner.url\" class=\"x-banner\" data-test=\"banner\">\n <img :src=\"banner.image\" class=\"x-banner__image\" alt=\"\" />\n <h2 class=\"x-banner__title\">{{ banner.title }}</h2>\n </a>\n</template>\n\n<script lang=\"ts\">\n import { Banner as BannerModel } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n /**\n * A banner result is just an item that has been inserted into the search results to advertise\n * something. Usually it is the first item in the grid or it can be placed in the middle of them\n * and fill the whole row where appears. It just contains a link to the banner content, an image\n * and a title.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Banner extends Vue {\n /**\n * The banner data.\n *\n * @public\n */\n @Prop({ required: true })\n public banner!: BannerModel;\n\n /**\n * Emits the banner click event.\n *\n * @internal\n */\n protected emitClickEvent(): void {\n this.$x.emit('UserClickedABanner', this.banner);\n }\n }\n</script>\n\n<style lang=\"scss\">\n .x-banner {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n\n &__image {\n width: 100%;\n object-fit: contain;\n }\n }\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nIn this example banned data is passed as a prop.\n\n_Here you can see how the `Banner` component is rendered._\n\n```vue\n<template>\n <Banner :banner=\"banner\" />\n</template>\n\n<script>\n import { Banner } from '@empathyco/x-components/search';\n export default {\n name: 'BannerDemo',\n components: {\n Banner\n },\n data() {\n return {\n banner: {\n modelName: 'Banner',\n id: 'banner-example',\n url: 'https://my-website.com/summer-shirts',\n image: 'https://my-website.com/images/summer-shirts.jpg',\n title: 'Trendy summer shirts'\n }\n };\n }\n };\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"banner.vue.js","sources":["../../../../../src/x-modules/search/components/banner.vue"],"sourcesContent":["<template>\n <a @click=\"emitClickEvent\" :href=\"banner.url\" class=\"x-banner\" data-test=\"banner\">\n <img :src=\"banner.image\" class=\"x-banner__image\" :alt=\"banner.title\" />\n <h2 class=\"x-banner__title\">{{ banner.title }}</h2>\n </a>\n</template>\n\n<script lang=\"ts\">\n import { Banner as BannerModel } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n /**\n * A banner result is just an item that has been inserted into the search results to advertise\n * something. Usually it is the first item in the grid or it can be placed in the middle of them\n * and fill the whole row where appears. It just contains a link to the banner content, an image\n * and a title.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Banner extends Vue {\n /**\n * The banner data.\n *\n * @public\n */\n @Prop({ required: true })\n public banner!: BannerModel;\n\n /**\n * Emits the banner click event.\n *\n * @internal\n */\n protected emitClickEvent(): void {\n this.$x.emit('UserClickedABanner', this.banner);\n }\n }\n</script>\n\n<style lang=\"scss\">\n .x-banner {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n\n &__image {\n width: 100%;\n object-fit: contain;\n }\n }\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nIn this example banned data is passed as a prop.\n\n_Here you can see how the `Banner` component is rendered._\n\n```vue\n<template>\n <Banner :banner=\"banner\" />\n</template>\n\n<script>\n import { Banner } from '@empathyco/x-components/search';\n export default {\n name: 'BannerDemo',\n components: {\n Banner\n },\n data() {\n return {\n banner: {\n modelName: 'Banner',\n id: 'banner-example',\n url: 'https://my-website.com/summer-shirts',\n image: 'https://my-website.com/images/summer-shirts.jpg',\n title: 'Trendy summer shirts'\n }\n };\n }\n };\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,7 +20,7 @@ var __vue_render__ = function () {
20
20
  [
21
21
  _c("img", {
22
22
  staticClass: "x-promoted__image",
23
- attrs: { src: _vm.promoted.image, alt: "" },
23
+ attrs: { src: _vm.promoted.image, alt: _vm.promoted.title },
24
24
  }),
25
25
  _vm._v(" "),
26
26
  _c("h2", { staticClass: "x-promoted__title" }, [
@@ -35,7 +35,7 @@ __vue_render__._withStripped = true;
35
35
  /* style */
36
36
  const __vue_inject_styles__ = function (inject) {
37
37
  if (!inject) return
38
- inject("data-v-344a5de2_0", { source: ".x-promoted {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n}\n.x-promoted__image {\n width: 100%;\n object-fit: contain;\n}", map: undefined, media: undefined });
38
+ inject("data-v-6786add5_0", { source: ".x-promoted {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n}\n.x-promoted__image {\n width: 100%;\n object-fit: contain;\n}", map: undefined, media: undefined });
39
39
 
40
40
  };
41
41
  /* scoped */
@@ -1 +1 @@
1
- {"version":3,"file":"promoted.vue.js","sources":["../../../../../src/x-modules/search/components/promoted.vue"],"sourcesContent":["<template>\n <a @click=\"emitClickEvent\" :href=\"promoted.url\" class=\"x-promoted\" data-test=\"promoted\">\n <img :src=\"promoted.image\" class=\"x-promoted__image\" alt=\"\" />\n <h2 class=\"x-promoted__title\">{{ promoted.title }}</h2>\n </a>\n</template>\n\n<script lang=\"ts\">\n import { Promoted as PromotedModel } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n\n /**\n * A promoted result is just an item that has been inserted into the search results to advertise\n * something. Usually it is one of the first items in the grid, and has the same shape as a\n * result. It just contains a link to the promoted content, an image, and a title.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Promoted extends Vue {\n /**\n * The promoted data.\n *\n * @public\n */\n @Prop({ required: true })\n public promoted!: PromotedModel;\n\n /**\n * Emits the promoted click event.\n *\n * @internal\n */\n protected emitClickEvent(): void {\n this.$x.emit('UserClickedAPromoted', this.promoted);\n }\n }\n</script>\n\n<style lang=\"scss\">\n .x-promoted {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n\n &__image {\n width: 100%;\n object-fit: contain;\n }\n }\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nIn this example promoted data is passed as a prop.\n\n_Here you can see how the `Promoted` component is rendered._\n\n```vue\n<template>\n <Promoted :promoted=\"promoted\" />\n</template>\n\n<script>\n import { Promoted } from '@empathyco/x-components/search';\n\n export default {\n name: 'PromotedDemo',\n components: {\n Promoted\n },\n data() {\n return {\n promoted: {\n modelName: 'Promoted',\n id: 'promoted-example',\n url: 'https://my-website.com/summer-shirts',\n image: 'https://my-website.com/images/summer-shirts.jpg',\n title: 'Trendy summer shirts'\n }\n };\n }\n };\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"promoted.vue.js","sources":["../../../../../src/x-modules/search/components/promoted.vue"],"sourcesContent":["<template>\n <a @click=\"emitClickEvent\" :href=\"promoted.url\" class=\"x-promoted\" data-test=\"promoted\">\n <img :src=\"promoted.image\" class=\"x-promoted__image\" :alt=\"promoted.title\" />\n <h2 class=\"x-promoted__title\">{{ promoted.title }}</h2>\n </a>\n</template>\n\n<script lang=\"ts\">\n import { Promoted as PromotedModel } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n\n /**\n * A promoted result is just an item that has been inserted into the search results to advertise\n * something. Usually it is one of the first items in the grid, and has the same shape as a\n * result. It just contains a link to the promoted content, an image, and a title.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Promoted extends Vue {\n /**\n * The promoted data.\n *\n * @public\n */\n @Prop({ required: true })\n public promoted!: PromotedModel;\n\n /**\n * Emits the promoted click event.\n *\n * @internal\n */\n protected emitClickEvent(): void {\n this.$x.emit('UserClickedAPromoted', this.promoted);\n }\n }\n</script>\n\n<style lang=\"scss\">\n .x-promoted {\n display: flex;\n flex-flow: column nowrap;\n text-decoration: none;\n\n &__image {\n width: 100%;\n object-fit: contain;\n }\n }\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nIn this example promoted data is passed as a prop.\n\n_Here you can see how the `Promoted` component is rendered._\n\n```vue\n<template>\n <Promoted :promoted=\"promoted\" />\n</template>\n\n<script>\n import { Promoted } from '@empathyco/x-components/search';\n\n export default {\n name: 'PromotedDemo',\n components: {\n Promoted\n },\n data() {\n return {\n promoted: {\n modelName: 'Promoted',\n id: 'promoted-example',\n url: 'https://my-website.com/summer-shirts',\n image: 'https://my-website.com/images/summer-shirts.jpg',\n title: 'Trendy summer shirts'\n }\n };\n }\n };\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empathyco/x-components",
3
- "version": "3.0.0-alpha.90",
3
+ "version": "3.0.0-alpha.91",
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": "6f1d5ff63c861ee3eafca312d815c6635df3f800"
128
+ "gitHead": "ef73eb4b19269566873d0207fdf611b2c44e1ea5"
129
129
  }