wcs-core 2.5.2 → 2.7.0

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.
Files changed (259) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +17 -1
  3. package/dist/cjs/component-fc28ed16.js +1074 -0
  4. package/dist/cjs/helpers-6abce594.js +86 -0
  5. package/dist/cjs/{index-e05c3e1f.js → index-3cb9d725.js} +165 -87
  6. package/dist/cjs/loader.cjs.js +3 -3
  7. package/dist/{esm/wcs-action-bar_47.entry.js → cjs/lodash-776d6f03.js} +12499 -22628
  8. package/dist/cjs/popper-6a290c40.js +1731 -0
  9. package/dist/cjs/select-arrow-76ccf86d.js +36 -0
  10. package/dist/cjs/wcs-action-bar.cjs.entry.js +24 -0
  11. package/dist/cjs/wcs-app.cjs.entry.js +2 -2
  12. package/dist/cjs/wcs-badge.cjs.entry.js +27 -0
  13. package/dist/cjs/wcs-button.cjs.entry.js +86 -0
  14. package/dist/cjs/wcs-card-body.cjs.entry.js +19 -0
  15. package/dist/cjs/wcs-card.cjs.entry.js +20 -0
  16. package/dist/cjs/wcs-checkbox.cjs.entry.js +47 -0
  17. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +63 -0
  18. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +69 -0
  19. package/dist/cjs/wcs-com-nav.cjs.entry.js +19 -0
  20. package/dist/cjs/wcs-divider.cjs.entry.js +19 -0
  21. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +19 -0
  22. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +19 -0
  23. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +23 -0
  24. package/dist/cjs/wcs-dropdown.cjs.entry.js +90 -0
  25. package/dist/cjs/wcs-editable-field.cjs.entry.js +225 -0
  26. package/dist/cjs/wcs-error_2.cjs.entry.js +137 -0
  27. package/dist/cjs/wcs-field-content.cjs.entry.js +16 -0
  28. package/dist/cjs/wcs-field-label.cjs.entry.js +16 -0
  29. package/dist/cjs/wcs-field.cjs.entry.js +19 -0
  30. package/dist/cjs/wcs-footer.cjs.entry.js +19 -0
  31. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +58 -0
  32. package/dist/cjs/wcs-galactic.cjs.entry.js +41 -0
  33. package/dist/cjs/wcs-grid-column.cjs.entry.js +77 -0
  34. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +16 -0
  35. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +4 -4
  36. package/dist/cjs/wcs-grid.cjs.entry.js +332 -0
  37. package/dist/cjs/wcs-header.cjs.entry.js +25 -0
  38. package/dist/cjs/wcs-hint.cjs.entry.js +20 -0
  39. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +114 -0
  40. package/dist/cjs/wcs-icon.cjs.entry.js +2 -2
  41. package/dist/cjs/wcs-input.cjs.entry.js +228 -0
  42. package/dist/cjs/wcs-label.cjs.entry.js +20 -0
  43. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +19 -0
  44. package/dist/cjs/wcs-list-item-property.cjs.entry.js +19 -0
  45. package/dist/cjs/wcs-list-item.cjs.entry.js +23 -0
  46. package/dist/cjs/wcs-mat-icon.cjs.entry.js +73 -0
  47. package/dist/cjs/wcs-modal.cjs.entry.js +45 -0
  48. package/dist/cjs/wcs-nav-item.cjs.entry.js +23 -0
  49. package/dist/cjs/wcs-nav.cjs.entry.js +19 -0
  50. package/dist/cjs/wcs-progress-bar.cjs.entry.js +47 -0
  51. package/dist/cjs/wcs-progress-radial.cjs.entry.js +30 -0
  52. package/dist/cjs/wcs-radio-group.cjs.entry.js +65 -0
  53. package/dist/cjs/wcs-radio.cjs.entry.js +49 -0
  54. package/dist/cjs/wcs-select_2.cjs.entry.js +4916 -0
  55. package/dist/cjs/wcs-spinner.cjs.entry.js +21 -0
  56. package/dist/cjs/wcs-switch.cjs.entry.js +42 -0
  57. package/dist/cjs/wcs-tab.cjs.entry.js +20 -0
  58. package/dist/cjs/wcs-tabs.cjs.entry.js +159 -0
  59. package/dist/cjs/wcs-textarea.cjs.entry.js +224 -0
  60. package/dist/cjs/wcs-tooltip.cjs.entry.js +129 -0
  61. package/dist/cjs/wcs.cjs.js +3 -3
  62. package/dist/collection/collection-manifest.json +5 -2
  63. package/dist/collection/components/button/button.css +79 -75
  64. package/dist/collection/components/button/button.js +23 -11
  65. package/dist/collection/components/checkbox/checkbox.css +18 -7
  66. package/dist/collection/components/checkbox/checkbox.js +24 -2
  67. package/dist/collection/components/com-nav/com-nav.css +1 -2
  68. package/dist/collection/components/com-nav-category/com-nav-category.css +5 -6
  69. package/dist/collection/components/com-nav-category/com-nav-category.js +31 -1
  70. package/dist/collection/components/com-nav-submenu/com-nav-submenu.css +1 -2
  71. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +21 -1
  72. package/dist/collection/components/dropdown/dropdown-interface.js +1 -0
  73. package/dist/collection/components/dropdown/dropdown.css +46 -38
  74. package/dist/collection/components/dropdown/dropdown.js +90 -29
  75. package/dist/collection/components/dropdown-divider/dropdown-divider.css +7 -0
  76. package/dist/collection/components/dropdown-divider/dropdown-divider.js +14 -0
  77. package/dist/collection/components/dropdown-header/dropdown-header.css +8 -0
  78. package/dist/collection/components/dropdown-header/dropdown-header.js +15 -0
  79. package/dist/collection/components/footer/footer.css +1 -1
  80. package/dist/collection/components/form-field/form-field.css +1 -1
  81. package/dist/collection/components/grid/grid.js +75 -13
  82. package/dist/collection/components/grid-column/grid-column.css +5 -0
  83. package/dist/collection/components/grid-column/grid-column.js +69 -3
  84. package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +45 -0
  85. package/dist/collection/components/grid-pagination/grid-pagination.js +4 -4
  86. package/dist/collection/components/header/header.css +1 -1
  87. package/dist/collection/components/input/input.css +48 -0
  88. package/dist/collection/components/input/input.js +40 -4
  89. package/dist/collection/components/radio/radio.component.js +1 -1
  90. package/dist/collection/components/radio/radio.css +18 -4
  91. package/dist/collection/components/radio-group/radio-group.js +7 -2
  92. package/dist/collection/components/select/select.css +81 -77
  93. package/dist/collection/components/select/select.js +2 -2
  94. package/dist/collection/components/select-option/select-option.css +79 -75
  95. package/dist/collection/components/select-option/select-option.js +6 -7
  96. package/dist/collection/components/switch/switch.css +53 -16
  97. package/dist/collection/components/switch/switch.js +55 -6
  98. package/dist/collection/components/tab/tab.js +4 -4
  99. package/dist/collection/components/tabs/tabs.js +1 -1
  100. package/dist/collection/components/textarea/textarea.css +4 -0
  101. package/dist/collection/components/textarea/textarea.js +2 -2
  102. package/dist/collection/components/tooltip/tooltip.js +2 -2
  103. package/dist/collection/utils/helpers.js +4 -0
  104. package/dist/esm/component-6b4d470f.js +1072 -0
  105. package/dist/esm/helpers-e2993152.js +77 -0
  106. package/dist/esm/{index-c619b1fa.js → index-b982604a.js} +165 -88
  107. package/dist/esm/loader.js +3 -3
  108. package/dist/{cjs/wcs-action-bar_47.cjs.entry.js → esm/lodash-d6d9d079.js} +12610 -22791
  109. package/dist/esm/popper-e5fdfb6a.js +1729 -0
  110. package/dist/esm/select-arrow-73ac4016.js +34 -0
  111. package/dist/esm/wcs-action-bar.entry.js +20 -0
  112. package/dist/esm/wcs-app.entry.js +2 -2
  113. package/dist/esm/wcs-badge.entry.js +23 -0
  114. package/dist/esm/wcs-button.entry.js +82 -0
  115. package/dist/esm/wcs-card-body.entry.js +15 -0
  116. package/dist/esm/wcs-card.entry.js +16 -0
  117. package/dist/esm/wcs-checkbox.entry.js +43 -0
  118. package/dist/esm/wcs-com-nav-category.entry.js +59 -0
  119. package/dist/esm/wcs-com-nav-submenu.entry.js +65 -0
  120. package/dist/esm/wcs-com-nav.entry.js +15 -0
  121. package/dist/esm/wcs-divider.entry.js +15 -0
  122. package/dist/esm/wcs-dropdown-divider.entry.js +15 -0
  123. package/dist/esm/wcs-dropdown-header.entry.js +15 -0
  124. package/dist/esm/wcs-dropdown-item.entry.js +19 -0
  125. package/dist/esm/wcs-dropdown.entry.js +86 -0
  126. package/dist/esm/wcs-editable-field.entry.js +221 -0
  127. package/dist/esm/wcs-error_2.entry.js +132 -0
  128. package/dist/esm/wcs-field-content.entry.js +12 -0
  129. package/dist/esm/wcs-field-label.entry.js +12 -0
  130. package/dist/esm/wcs-field.entry.js +15 -0
  131. package/dist/esm/wcs-footer.entry.js +15 -0
  132. package/dist/esm/wcs-galactic-menu.entry.js +54 -0
  133. package/dist/esm/wcs-galactic.entry.js +37 -0
  134. package/dist/esm/wcs-grid-column.entry.js +73 -0
  135. package/dist/esm/wcs-grid-custom-cell.entry.js +12 -0
  136. package/dist/esm/wcs-grid-pagination.entry.js +4 -4
  137. package/dist/esm/wcs-grid.entry.js +328 -0
  138. package/dist/esm/wcs-header.entry.js +21 -0
  139. package/dist/esm/wcs-hint.entry.js +16 -0
  140. package/dist/esm/wcs-horizontal-stepper.entry.js +110 -0
  141. package/dist/esm/wcs-icon.entry.js +2 -2
  142. package/dist/esm/wcs-input.entry.js +224 -0
  143. package/dist/esm/wcs-label.entry.js +16 -0
  144. package/dist/esm/wcs-list-item-properties.entry.js +15 -0
  145. package/dist/esm/wcs-list-item-property.entry.js +15 -0
  146. package/dist/esm/wcs-list-item.entry.js +19 -0
  147. package/dist/esm/wcs-mat-icon.entry.js +69 -0
  148. package/dist/esm/wcs-modal.entry.js +41 -0
  149. package/dist/esm/wcs-nav-item.entry.js +19 -0
  150. package/dist/esm/wcs-nav.entry.js +15 -0
  151. package/dist/esm/wcs-progress-bar.entry.js +43 -0
  152. package/dist/esm/wcs-progress-radial.entry.js +26 -0
  153. package/dist/esm/wcs-radio-group.entry.js +61 -0
  154. package/dist/esm/wcs-radio.entry.js +45 -0
  155. package/dist/esm/wcs-select_2.entry.js +4911 -0
  156. package/dist/esm/wcs-spinner.entry.js +17 -0
  157. package/dist/esm/wcs-switch.entry.js +38 -0
  158. package/dist/esm/wcs-tab.entry.js +16 -0
  159. package/dist/esm/wcs-tabs.entry.js +155 -0
  160. package/dist/esm/wcs-textarea.entry.js +220 -0
  161. package/dist/esm/wcs-tooltip.entry.js +125 -0
  162. package/dist/esm/wcs.js +3 -3
  163. package/dist/types/components/button/button.d.ts +7 -3
  164. package/dist/types/components/checkbox/checkbox.d.ts +4 -0
  165. package/dist/types/components/com-nav-category/com-nav-category.d.ts +7 -0
  166. package/dist/types/components/com-nav-submenu/com-nav-submenu.d.ts +7 -0
  167. package/dist/types/components/dropdown/dropdown-interface.d.ts +1 -0
  168. package/dist/types/components/dropdown/dropdown.d.ts +13 -16
  169. package/dist/types/components/dropdown-divider/dropdown-divider.d.ts +3 -0
  170. package/dist/types/components/dropdown-header/dropdown-header.d.ts +3 -0
  171. package/dist/types/components/grid/grid.d.ts +18 -0
  172. package/dist/types/components/grid-column/grid-column.d.ts +5 -0
  173. package/dist/types/components/grid-custom-cell/grid-custom-cell.d.ts +12 -0
  174. package/dist/types/components/input/input.d.ts +8 -0
  175. package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
  176. package/dist/types/components/radio-group/radio-group.d.ts +2 -2
  177. package/dist/types/components/select-option/select-option.d.ts +2 -0
  178. package/dist/types/components/switch/switch-interface.d.ts +1 -0
  179. package/dist/types/components/switch/switch.d.ts +10 -2
  180. package/dist/types/components.d.ts +148 -4
  181. package/dist/types/stencil-public-runtime.d.ts +183 -182
  182. package/dist/types/utils/helpers.d.ts +1 -0
  183. package/dist/wcs/p-03b2e238.entry.js +1 -0
  184. package/dist/wcs/p-15008e35.entry.js +1 -0
  185. package/dist/wcs/p-16dfbae8.js +127 -0
  186. package/dist/wcs/p-17c6db7f.entry.js +1 -0
  187. package/dist/wcs/p-1dce7e63.entry.js +1 -0
  188. package/dist/wcs/p-1f5aed36.entry.js +1 -0
  189. package/dist/wcs/p-214236db.entry.js +1 -0
  190. package/dist/wcs/p-26b5c0a3.entry.js +1 -0
  191. package/dist/wcs/p-2e6265dc.entry.js +1 -0
  192. package/dist/wcs/p-384068f7.entry.js +1 -0
  193. package/dist/wcs/p-41037455.entry.js +1 -0
  194. package/dist/wcs/p-474d6601.entry.js +1 -0
  195. package/dist/wcs/p-55fdc284.entry.js +1 -0
  196. package/dist/wcs/p-57247184.entry.js +1 -0
  197. package/dist/wcs/p-5b35b232.entry.js +1 -0
  198. package/dist/wcs/p-600a9cc0.entry.js +1 -0
  199. package/dist/wcs/p-60b51967.entry.js +1 -0
  200. package/dist/wcs/p-64523291.entry.js +1 -0
  201. package/dist/wcs/p-65c5ccc5.entry.js +1 -0
  202. package/dist/wcs/p-688fea65.entry.js +1 -0
  203. package/dist/wcs/p-716d5921.entry.js +1 -0
  204. package/dist/wcs/p-7206e492.entry.js +1 -0
  205. package/dist/wcs/p-7219c04b.js +1 -0
  206. package/dist/wcs/p-8137f075.entry.js +1 -0
  207. package/dist/wcs/p-8864a491.entry.js +1 -0
  208. package/dist/wcs/p-8c8740e3.entry.js +1 -0
  209. package/dist/wcs/p-91a2de07.entry.js +1 -0
  210. package/dist/wcs/p-94a31f64.entry.js +1 -0
  211. package/dist/wcs/p-979dfd78.entry.js +1 -0
  212. package/dist/wcs/p-9ba52bc4.entry.js +1 -0
  213. package/dist/wcs/p-a1ee1551.entry.js +1 -0
  214. package/dist/wcs/p-a92d369e.entry.js +1 -0
  215. package/dist/wcs/p-a978c1e3.entry.js +1 -0
  216. package/dist/wcs/p-adef7aaf.js +1 -0
  217. package/dist/wcs/p-b5138986.js +1 -0
  218. package/dist/wcs/p-b7184d59.entry.js +1 -0
  219. package/dist/wcs/p-bbf1ef42.entry.js +1 -0
  220. package/dist/wcs/p-c7d6d3e1.entry.js +15 -0
  221. package/dist/wcs/p-cf4d7a83.js +1 -0
  222. package/dist/wcs/p-d7dec082.entry.js +1 -0
  223. package/dist/wcs/p-db68379f.entry.js +1 -0
  224. package/dist/wcs/p-dbbc3f58.entry.js +1 -0
  225. package/dist/wcs/p-dc817204.entry.js +1 -0
  226. package/dist/wcs/p-e0163de8.entry.js +1 -0
  227. package/dist/wcs/p-e4236d32.entry.js +1 -0
  228. package/dist/wcs/p-e43358e4.entry.js +1 -0
  229. package/dist/wcs/p-e65d1c27.entry.js +1 -0
  230. package/dist/wcs/p-e9ce507c.entry.js +1 -0
  231. package/dist/wcs/p-ea3e93e9.entry.js +1 -0
  232. package/dist/wcs/p-ed6e8541.entry.js +1 -0
  233. package/dist/wcs/p-f46e6c3c.js +1 -0
  234. package/dist/wcs/p-f9944bde.entry.js +1 -0
  235. package/dist/wcs/p-fa173947.entry.js +1 -0
  236. package/dist/wcs/p-fb1577b5.entry.js +1 -0
  237. package/dist/wcs/p-fbaf299d.entry.js +1 -0
  238. package/dist/wcs/p-febe9ccc.entry.js +1 -0
  239. package/dist/wcs/p-ff6d0dfd.entry.js +1 -0
  240. package/dist/wcs/wcs.esm.js +1 -1
  241. package/loader/index.d.ts +0 -1
  242. package/package.json +22 -21
  243. package/dist/wcs/p-16dca526.entry.js +0 -1
  244. package/dist/wcs/p-4f228fcb.entry.js +0 -134
  245. package/dist/wcs/p-66520e5a.entry.js +0 -1
  246. package/dist/wcs/p-d31287c6.entry.js +0 -1
  247. package/dist/wcs/p-f73f235b.js +0 -1
  248. package/schematics/.gitignore +0 -18
  249. package/schematics/.npmignore +0 -4
  250. package/schematics/collection.json +0 -9
  251. package/schematics/src/ng-add/files/fonts/avenir-black.woff +0 -0
  252. package/schematics/src/ng-add/files/fonts/avenir-book.woff +0 -0
  253. package/schematics/src/ng-add/files/fonts/avenir-lighter.woff +0 -0
  254. package/schematics/src/ng-add/files/fonts/avenir-medium.woff +0 -0
  255. package/schematics/src/ng-add/files/sncf-logo.png +0 -0
  256. package/schematics/src/ng-add/index.d.ts +0 -3
  257. package/schematics/src/ng-add/index.js +0 -119
  258. package/schematics/src/ng-add/index.js.map +0 -1
  259. package/schematics/src/ng-add/schema.json +0 -5
@@ -0,0 +1,45 @@
1
+ import { Component, h, Host, Prop } from '@stencil/core';
2
+ export class GridCustomCell {
3
+ render() {
4
+ return (h(Host, { slot: this.columnId + '-' + this.rowId },
5
+ h("slot", null)));
6
+ }
7
+ static get is() { return "wcs-grid-custom-cell"; }
8
+ static get encapsulation() { return "shadow"; }
9
+ static get properties() { return {
10
+ "columnId": {
11
+ "type": "string",
12
+ "mutable": false,
13
+ "complexType": {
14
+ "original": "string",
15
+ "resolved": "string",
16
+ "references": {}
17
+ },
18
+ "required": false,
19
+ "optional": false,
20
+ "docs": {
21
+ "tags": [],
22
+ "text": "ID of the column for which to render the cell"
23
+ },
24
+ "attribute": "column-id",
25
+ "reflect": false
26
+ },
27
+ "rowId": {
28
+ "type": "any",
29
+ "mutable": false,
30
+ "complexType": {
31
+ "original": "any",
32
+ "resolved": "any",
33
+ "references": {}
34
+ },
35
+ "required": false,
36
+ "optional": false,
37
+ "docs": {
38
+ "tags": [],
39
+ "text": "Key value of the object rendered for the cell's row"
40
+ },
41
+ "attribute": "row-id",
42
+ "reflect": false
43
+ }
44
+ }; }
45
+ }
@@ -3,10 +3,10 @@ import { GridPaginationArrow } from './grid-pagination-arrow';
3
3
  export class GridPagination {
4
4
  constructor() {
5
5
  this.availablePageSizes = [10, 20, 50];
6
- this.currentPage = 1;
6
+ this.currentPage = 0;
7
7
  this.pageSize = this.availablePageSizes[0];
8
8
  this.itemsCount = 0;
9
- this.pageCount = 0;
9
+ this.pageCount = 1;
10
10
  }
11
11
  lastPage() {
12
12
  this.currentPage = this.pageCount - 1;
@@ -116,7 +116,7 @@ export class GridPagination {
116
116
  },
117
117
  "attribute": "current-page",
118
118
  "reflect": false,
119
- "defaultValue": "1"
119
+ "defaultValue": "0"
120
120
  },
121
121
  "pageSize": {
122
122
  "type": "number",
@@ -170,7 +170,7 @@ export class GridPagination {
170
170
  },
171
171
  "attribute": "page-count",
172
172
  "reflect": false,
173
- "defaultValue": "0"
173
+ "defaultValue": "1"
174
174
  }
175
175
  }; }
176
176
  static get events() { return [{
@@ -4,7 +4,7 @@ header {
4
4
  align-items: center;
5
5
  background: var(--wcs-gray);
6
6
  padding: 8px 8px 8px 16px;
7
- height: calc(64px - 16px);
7
+ height: 48px;
8
8
  z-index: 1;
9
9
  }
10
10
 
@@ -37,14 +37,62 @@
37
37
  margin-left: 8px;
38
38
  margin-right: -8px;
39
39
  }
40
+ :host .prefix, :host .suffix {
41
+ color: var(--wcs-white);
42
+ display: flex;
43
+ white-space: nowrap;
44
+ align-items: center;
45
+ padding: 0 calc(var(--wcs-padding) / 2);
46
+ font-weight: var(--wcs-font-weight-form-value) !important;
47
+ background-color: var(--wcs-text-disabled);
48
+ }
49
+ :host .prefix {
50
+ border-radius: var(--wcs-internal-input-border-radius-left) 0 0 var(--wcs-internal-input-border-radius-left);
51
+ margin: -1px 0 -1px -1px;
52
+ border-left: solid 1px transparent;
53
+ border-top: solid 1px transparent;
54
+ border-bottom: solid 1px transparent;
55
+ }
56
+ :host .suffix {
57
+ border-radius: 0 var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) 0;
58
+ margin: -1px -1px -1px 0px;
59
+ border-right: solid 1px transparent;
60
+ border-top: solid 1px transparent;
61
+ border-bottom: solid 1px transparent;
62
+ }
40
63
 
41
64
  :host([state=error]) {
42
65
  border-color: var(--wcs-red) !important;
43
66
  }
44
67
 
68
+ :host([data-has-prefix]) input {
69
+ padding-left: calc(var(--wcs-padding) / 2);
70
+ }
71
+
72
+ :host([data-has-suffix]) input {
73
+ padding-left: calc(var(--wcs-padding) / 2);
74
+ }
75
+
76
+ :host([disabled]) input {
77
+ color: var(--wcs-text-disabled);
78
+ }
79
+ :host([disabled]) .prefix, :host([disabled]) .suffix {
80
+ color: var(--wcs-light);
81
+ }
82
+
45
83
  :host(:focus-within) {
46
84
  border: solid 1px var(--wcs-primary);
47
85
  }
86
+ :host(:focus-within) .prefix {
87
+ border-left: solid 1px var(--wcs-primary);
88
+ border-top: solid 1px var(--wcs-primary);
89
+ border-bottom: solid 1px var(--wcs-primary);
90
+ }
91
+ :host(:focus-within) .suffix {
92
+ border-right: solid 1px var(--wcs-primary);
93
+ border-top: solid 1px var(--wcs-primary);
94
+ border-bottom: solid 1px var(--wcs-primary);
95
+ }
48
96
  :host(:focus-within) wcs-mat-icon {
49
97
  color: var(--wcs-primary);
50
98
  }
@@ -205,9 +205,11 @@ export class Input {
205
205
  if (label) {
206
206
  label.id = labelId;
207
207
  }
208
- return (h(Host, { "aria-disabled": this.disabled ? 'true' : null },
208
+ return (h(Host, { "aria-disabled": this.disabled ? 'true' : null, "data-has-prefix": !!this.prefixLabel, "data-has-suffix": !!this.suffixLabel },
209
+ this.prefixLabel ? (h("span", { class: "prefix" }, this.prefixLabel)) : null,
209
210
  this.icon ? (h("wcs-mat-icon", { icon: this.icon, size: "m" })) : null,
210
- h("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes))));
211
+ h("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)),
212
+ this.suffixLabel ? (h("span", { class: "suffix" }, this.suffixLabel)) : null));
211
213
  }
212
214
  static get is() { return "wcs-input"; }
213
215
  static get encapsulation() { return "shadow"; }
@@ -230,8 +232,8 @@ export class Input {
230
232
  "optional": false,
231
233
  "docs": {
232
234
  "tags": [{
233
- "text": undefined,
234
- "name": "internal"
235
+ "name": "internal",
236
+ "text": undefined
235
237
  }],
236
238
  "text": "This is required for a WebKit bug which requires us to\nblur and focus an input to properly focus the input in\nan item with delegatesFocus. It will no longer be needed\nwith iOS 14."
237
239
  },
@@ -386,6 +388,40 @@ export class Input {
386
388
  "reflect": false,
387
389
  "defaultValue": "0"
388
390
  },
391
+ "prefixLabel": {
392
+ "type": "string",
393
+ "mutable": false,
394
+ "complexType": {
395
+ "original": "string",
396
+ "resolved": "string",
397
+ "references": {}
398
+ },
399
+ "required": false,
400
+ "optional": false,
401
+ "docs": {
402
+ "tags": [],
403
+ "text": "Prefix displayed before the text field contents. This is not included in the value."
404
+ },
405
+ "attribute": "prefix-label",
406
+ "reflect": false
407
+ },
408
+ "suffixLabel": {
409
+ "type": "string",
410
+ "mutable": false,
411
+ "complexType": {
412
+ "original": "string",
413
+ "resolved": "string",
414
+ "references": {}
415
+ },
416
+ "required": false,
417
+ "optional": false,
418
+ "docs": {
419
+ "tags": [],
420
+ "text": "Suffix displayed after the text field contents. This is not included in the value."
421
+ },
422
+ "attribute": "suffix-label",
423
+ "reflect": false
424
+ },
389
425
  "disabled": {
390
426
  "type": "boolean",
391
427
  "mutable": false,
@@ -31,7 +31,7 @@ export class Radio {
31
31
  }
32
32
  render() {
33
33
  return (h(Host, { slot: "option" },
34
- h("input", { id: this.inputId, type: "radio", value: this.value, checked: this.checked, "aria-disabled": this.disabled ? 'true' : null, "aria-checked": `${this.checked}` }),
34
+ h("input", { id: this.inputId, type: "radio", value: this.value, checked: this.checked, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null, "aria-checked": `${this.checked}` }),
35
35
  h("label", { htmlFor: `${this.inputId}` }, this.label)));
36
36
  }
37
37
  static get is() { return "wcs-radio"; }
@@ -5,7 +5,6 @@
5
5
  padding: 0.125rem 0 0;
6
6
  margin-bottom: 0;
7
7
  color: var(--wcs-text-medium);
8
- cursor: pointer;
9
8
  background-color: transparent;
10
9
  border: none;
11
10
  font-weight: 500 !important;
@@ -35,6 +34,14 @@
35
34
  background: no-repeat 50%/50% 50%;
36
35
  }
37
36
 
37
+ :host([mode=radio][disabled]) label {
38
+ color: var(--wcs-text-disabled);
39
+ }
40
+
41
+ :host([mode=radio]:not([disabled])) label {
42
+ cursor: pointer;
43
+ }
44
+
38
45
  :host([mode=radio][checked]) label {
39
46
  color: var(--wcs-primary);
40
47
  }
@@ -43,10 +50,10 @@
43
50
  background-color: var(--wcs-primary);
44
51
  }
45
52
 
46
- :host([mode=radio]:hover) label {
53
+ :host([mode=radio]:hover):not([disabled]) label {
47
54
  color: var(--wcs-primary);
48
55
  }
49
- :host([mode=radio]:hover) label:before {
56
+ :host([mode=radio]:hover):not([disabled]) label:before {
50
57
  border-color: var(--wcs-primary);
51
58
  }
52
59
 
@@ -66,7 +73,6 @@
66
73
  margin-bottom: 0;
67
74
  color: var(--wcs-white);
68
75
  white-space: nowrap;
69
- cursor: pointer;
70
76
  border-radius: 0.4375rem;
71
77
  }
72
78
 
@@ -74,4 +80,12 @@
74
80
  font-weight: 500 !important;
75
81
  color: var(--wcs-primary);
76
82
  background-color: var(--wcs-white);
83
+ }
84
+
85
+ :host([mode=option][disabled]) label {
86
+ color: var(--wcs-text-disabled);
87
+ }
88
+
89
+ :host([mode=option]:not([disabled])) label {
90
+ cursor: pointer;
77
91
  }
@@ -94,9 +94,14 @@ export class RadioGroup {
94
94
  "type": "string",
95
95
  "mutable": false,
96
96
  "complexType": {
97
- "original": "'radio' | 'option'",
97
+ "original": "RadioGroupMode",
98
98
  "resolved": "\"option\" | \"radio\"",
99
- "references": {}
99
+ "references": {
100
+ "RadioGroupMode": {
101
+ "location": "import",
102
+ "path": "./radio-group-interface"
103
+ }
104
+ }
100
105
  },
101
106
  "required": false,
102
107
  "optional": false,
@@ -25,14 +25,6 @@
25
25
  opacity: 0;
26
26
  }
27
27
  }
28
- .mdc-ripple-surface--test-edge-var-bug {
29
- --mdc-ripple-surface-test-edge-var: 1px solid #000;
30
- visibility: hidden;
31
- }
32
- .mdc-ripple-surface--test-edge-var-bug::before {
33
- border: var(--mdc-ripple-surface-test-edge-var);
34
- }
35
-
36
28
  .mdc-ripple-surface {
37
29
  --mdc-ripple-fg-size: 0;
38
30
  --mdc-ripple-left: 0;
@@ -46,6 +38,7 @@
46
38
  outline: none;
47
39
  overflow: hidden;
48
40
  }
41
+
49
42
  .mdc-ripple-surface::before, .mdc-ripple-surface::after {
50
43
  position: absolute;
51
44
  border-radius: 50%;
@@ -53,135 +46,128 @@
53
46
  pointer-events: none;
54
47
  content: "";
55
48
  }
49
+
56
50
  .mdc-ripple-surface::before {
57
51
  transition: opacity 15ms linear, background-color 15ms linear;
58
52
  z-index: 1;
53
+ /* @alternate */
54
+ z-index: var(--mdc-ripple-z-index, 1);
55
+ }
56
+
57
+ .mdc-ripple-surface::after {
58
+ z-index: 0;
59
+ /* @alternate */
60
+ z-index: var(--mdc-ripple-z-index, 0);
59
61
  }
62
+
60
63
  .mdc-ripple-surface.mdc-ripple-upgraded::before {
61
64
  transform: scale(var(--mdc-ripple-fg-scale, 1));
62
65
  }
66
+
63
67
  .mdc-ripple-surface.mdc-ripple-upgraded::after {
64
68
  top: 0;
65
69
  /* @noflip */
70
+ /*rtl:ignore*/
66
71
  left: 0;
67
72
  transform: scale(0);
68
73
  transform-origin: center center;
69
74
  }
75
+
70
76
  .mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after {
71
77
  top: var(--mdc-ripple-top, 0);
72
78
  /* @noflip */
79
+ /*rtl:ignore*/
73
80
  left: var(--mdc-ripple-left, 0);
74
81
  }
82
+
75
83
  .mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after {
76
84
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
77
85
  }
86
+
78
87
  .mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after {
79
88
  animation: mdc-ripple-fg-opacity-out 150ms;
80
89
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
81
90
  }
82
- .mdc-ripple-surface::before, .mdc-ripple-surface::after {
83
- background-color: #000;
84
- }
85
- .mdc-ripple-surface:hover::before {
86
- opacity: 0.04;
87
- }
88
- .mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before {
89
- transition-duration: 75ms;
90
- opacity: 0.12;
91
- }
92
- .mdc-ripple-surface:not(.mdc-ripple-upgraded)::after {
93
- transition: opacity 150ms linear;
94
- }
95
- .mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after {
96
- transition-duration: 75ms;
97
- opacity: 0.12;
98
- }
99
- .mdc-ripple-surface.mdc-ripple-upgraded {
100
- --mdc-ripple-fg-opacity: 0.12;
101
- }
91
+
102
92
  .mdc-ripple-surface::before, .mdc-ripple-surface::after {
103
93
  top: calc(50% - 100%);
104
94
  /* @noflip */
95
+ /*rtl:ignore*/
105
96
  left: calc(50% - 100%);
106
97
  width: 200%;
107
98
  height: 200%;
108
99
  }
100
+
109
101
  .mdc-ripple-surface.mdc-ripple-upgraded::after {
110
102
  width: var(--mdc-ripple-fg-size, 100%);
111
103
  height: var(--mdc-ripple-fg-size, 100%);
112
104
  }
113
- .mdc-ripple-surface[data-mdc-ripple-is-unbounded] {
105
+
106
+ .mdc-ripple-surface[data-mdc-ripple-is-unbounded],
107
+ .mdc-ripple-upgraded--unbounded {
114
108
  overflow: visible;
115
109
  }
116
- .mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after {
110
+
111
+ .mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,
112
+ .mdc-ripple-upgraded--unbounded::before,
113
+ .mdc-ripple-upgraded--unbounded::after {
117
114
  top: calc(50% - 50%);
118
115
  /* @noflip */
116
+ /*rtl:ignore*/
119
117
  left: calc(50% - 50%);
120
118
  width: 100%;
121
119
  height: 100%;
122
120
  }
123
- .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after {
121
+
122
+ .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,
123
+ .mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,
124
+ .mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after {
124
125
  top: var(--mdc-ripple-top, calc(50% - 50%));
125
126
  /* @noflip */
127
+ /*rtl:ignore*/
126
128
  left: var(--mdc-ripple-left, calc(50% - 50%));
127
129
  width: var(--mdc-ripple-fg-size, 100%);
128
130
  height: var(--mdc-ripple-fg-size, 100%);
129
131
  }
130
- .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after {
132
+
133
+ .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,
134
+ .mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after {
131
135
  width: var(--mdc-ripple-fg-size, 100%);
132
136
  height: var(--mdc-ripple-fg-size, 100%);
133
137
  }
134
- .mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after {
135
- background-color: #6200ee;
136
- }
137
- @supports not (-ms-ime-align: auto) {
138
- .mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after {
139
- /* @alternate */
140
- background-color: var(--mdc-theme-primary, #6200ee);
141
- }
142
- }
143
- .mdc-ripple-surface--primary:hover::before {
144
- opacity: 0.04;
145
- }
146
- .mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before {
147
- transition-duration: 75ms;
148
- opacity: 0.12;
149
- }
150
- .mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after {
151
- transition: opacity 150ms linear;
152
- }
153
- .mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after {
154
- transition-duration: 75ms;
155
- opacity: 0.12;
156
- }
157
- .mdc-ripple-surface--primary.mdc-ripple-upgraded {
158
- --mdc-ripple-fg-opacity: 0.12;
159
- }
160
- .mdc-ripple-surface--accent::before, .mdc-ripple-surface--accent::after {
161
- background-color: #018786;
162
- }
163
- @supports not (-ms-ime-align: auto) {
164
- .mdc-ripple-surface--accent::before, .mdc-ripple-surface--accent::after {
165
- /* @alternate */
166
- background-color: var(--mdc-theme-secondary, #018786);
167
- }
138
+
139
+ .mdc-ripple-surface::before, .mdc-ripple-surface::after {
140
+ background-color: #000;
141
+ /* @alternate */
142
+ background-color: var(--mdc-ripple-color, #000);
168
143
  }
169
- .mdc-ripple-surface--accent:hover::before {
144
+
145
+ .mdc-ripple-surface:hover::before, .mdc-ripple-surface.mdc-ripple-surface--hover::before {
170
146
  opacity: 0.04;
147
+ /* @alternate */
148
+ opacity: var(--mdc-ripple-hover-opacity, 0.04);
171
149
  }
172
- .mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before {
150
+
151
+ .mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before, .mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before {
173
152
  transition-duration: 75ms;
174
153
  opacity: 0.12;
154
+ /* @alternate */
155
+ opacity: var(--mdc-ripple-focus-opacity, 0.12);
175
156
  }
176
- .mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after {
157
+
158
+ .mdc-ripple-surface:not(.mdc-ripple-upgraded)::after {
177
159
  transition: opacity 150ms linear;
178
160
  }
179
- .mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after {
161
+
162
+ .mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after {
180
163
  transition-duration: 75ms;
181
164
  opacity: 0.12;
165
+ /* @alternate */
166
+ opacity: var(--mdc-ripple-press-opacity, 0.12);
182
167
  }
183
- .mdc-ripple-surface--accent.mdc-ripple-upgraded {
184
- --mdc-ripple-fg-opacity: 0.12;
168
+
169
+ .mdc-ripple-surface.mdc-ripple-upgraded {
170
+ --mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12);
185
171
  }
186
172
 
187
173
  :host {
@@ -292,6 +278,13 @@ label {
292
278
  .wcs-select-control::before {
293
279
  transition: opacity 15ms linear, background-color 15ms linear;
294
280
  z-index: 1;
281
+ /* @alternate */
282
+ z-index: var(--mdc-ripple-z-index, 1);
283
+ }
284
+ .wcs-select-control::after {
285
+ z-index: 0;
286
+ /* @alternate */
287
+ z-index: var(--mdc-ripple-z-index, 0);
295
288
  }
296
289
  .wcs-select-control.mdc-ripple-upgraded::before {
297
290
  transform: scale(var(--mdc-ripple-fg-scale, 1));
@@ -299,6 +292,7 @@ label {
299
292
  .wcs-select-control.mdc-ripple-upgraded::after {
300
293
  top: 0;
301
294
  /* @noflip */
295
+ /*rtl:ignore*/
302
296
  left: 0;
303
297
  transform: scale(0);
304
298
  transform-origin: center center;
@@ -306,6 +300,7 @@ label {
306
300
  .wcs-select-control.mdc-ripple-upgraded--unbounded::after {
307
301
  top: var(--mdc-ripple-top, 0);
308
302
  /* @noflip */
303
+ /*rtl:ignore*/
309
304
  left: var(--mdc-ripple-left, 0);
310
305
  }
311
306
  .wcs-select-control.mdc-ripple-upgraded--foreground-activation::after {
@@ -318,6 +313,7 @@ label {
318
313
  .wcs-select-control::before, .wcs-select-control::after {
319
314
  top: calc(50% - 100%);
320
315
  /* @noflip */
316
+ /*rtl:ignore*/
321
317
  left: calc(50% - 100%);
322
318
  width: 200%;
323
319
  height: 200%;
@@ -328,13 +324,19 @@ label {
328
324
  }
329
325
  .wcs-select-control::before, .wcs-select-control::after {
330
326
  background-color: #999;
327
+ /* @alternate */
328
+ background-color: var(--mdc-ripple-color, #999);
331
329
  }
332
- .wcs-select-control:hover::before {
330
+ .wcs-select-control:hover::before, .wcs-select-control.mdc-ripple-surface--hover::before {
333
331
  opacity: 0.1;
332
+ /* @alternate */
333
+ opacity: var(--mdc-ripple-hover-opacity, 0.1);
334
334
  }
335
- .wcs-select-control:not(.mdc-ripple-upgraded):focus::before, .wcs-select-control.mdc-ripple-upgraded--background-focused::before {
335
+ .wcs-select-control.mdc-ripple-upgraded--background-focused::before, .wcs-select-control:not(.mdc-ripple-upgraded):focus::before {
336
336
  transition-duration: 75ms;
337
337
  opacity: 0.2;
338
+ /* @alternate */
339
+ opacity: var(--mdc-ripple-focus-opacity, 0.2);
338
340
  }
339
341
  .wcs-select-control:not(.mdc-ripple-upgraded)::after {
340
342
  transition: opacity 150ms linear;
@@ -342,9 +344,11 @@ label {
342
344
  .wcs-select-control:not(.mdc-ripple-upgraded):active::after {
343
345
  transition-duration: 75ms;
344
346
  opacity: 0.3;
347
+ /* @alternate */
348
+ opacity: var(--mdc-ripple-press-opacity, 0.3);
345
349
  }
346
350
  .wcs-select-control.mdc-ripple-upgraded {
347
- --mdc-ripple-fg-opacity: 0.3;
351
+ --mdc-ripple-fg-opacity: var(--mdc-ripple-press-opacity, 0.3);
348
352
  }
349
353
 
350
354
  .wcs-select-placeholder {
@@ -364,8 +368,8 @@ label {
364
368
  border-radius: 0.75rem;
365
369
  display: flex;
366
370
  align-items: center;
367
- margin: calc(var(--wcs-base-margin)/2);
368
- padding: calc(calc(var(--wcs-padding) - 8px) / 2) var(--wcs-padding);
371
+ margin: calc(var(--wcs-base-margin) / 2);
372
+ padding: calc((var(--wcs-padding) - 8px) / 2) var(--wcs-padding);
369
373
  overflow: initial;
370
374
  }
371
375
 
@@ -1,10 +1,10 @@
1
1
  import { Component, Element, Event, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';
2
2
  import _ from 'lodash';
3
- import * as MDCRipple from '@material/ripple';
4
3
  import { interpret, Machine } from 'xstate';
5
4
  import { SelectArrow } from './select-arrow';
6
5
  import { isElement } from '../../utils/helpers';
7
6
  import { SelectChips } from './select-chips';
7
+ import { MDCRipple } from '@material/ripple';
8
8
  const SELECT_MACHINE_CONFIG = {
9
9
  key: 'select',
10
10
  initial: 'closed',
@@ -277,7 +277,7 @@ export class Select {
277
277
  }
278
278
  addRippleEffect() {
279
279
  // TODO: wrap MDCRipple dependency so we can eventually write our own or at least decouple a bit.
280
- const ripple = new MDCRipple.MDCRipple(this.controlEl);
280
+ const ripple = new MDCRipple(this.controlEl);
281
281
  ripple.unbounded = false;
282
282
  }
283
283
  get hasValue() {