wcs-core 2.5.4 → 2.6.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 (221) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/component-fc28ed16.js +1074 -0
  4. package/dist/cjs/helpers-d9aaa8c4.js +81 -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/select-arrow-76ccf86d.js +36 -0
  9. package/dist/cjs/wcs-action-bar.cjs.entry.js +24 -0
  10. package/dist/cjs/wcs-app.cjs.entry.js +2 -2
  11. package/dist/cjs/wcs-badge.cjs.entry.js +27 -0
  12. package/dist/cjs/wcs-button.cjs.entry.js +86 -0
  13. package/dist/cjs/wcs-card-body.cjs.entry.js +19 -0
  14. package/dist/cjs/wcs-card.cjs.entry.js +20 -0
  15. package/dist/cjs/wcs-checkbox.cjs.entry.js +43 -0
  16. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +63 -0
  17. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +69 -0
  18. package/dist/cjs/wcs-com-nav.cjs.entry.js +19 -0
  19. package/dist/cjs/wcs-divider.cjs.entry.js +19 -0
  20. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +23 -0
  21. package/dist/cjs/wcs-dropdown.cjs.entry.js +57 -0
  22. package/dist/cjs/wcs-editable-field.cjs.entry.js +225 -0
  23. package/dist/cjs/wcs-error_2.cjs.entry.js +137 -0
  24. package/dist/cjs/wcs-field-content.cjs.entry.js +16 -0
  25. package/dist/cjs/wcs-field-label.cjs.entry.js +16 -0
  26. package/dist/cjs/wcs-field.cjs.entry.js +19 -0
  27. package/dist/cjs/wcs-footer.cjs.entry.js +19 -0
  28. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1785 -0
  29. package/dist/cjs/wcs-galactic.cjs.entry.js +41 -0
  30. package/dist/cjs/wcs-grid-column.cjs.entry.js +73 -0
  31. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +16 -0
  32. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +4 -4
  33. package/dist/cjs/wcs-grid.cjs.entry.js +309 -0
  34. package/dist/cjs/wcs-header.cjs.entry.js +25 -0
  35. package/dist/cjs/wcs-hint.cjs.entry.js +20 -0
  36. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +114 -0
  37. package/dist/cjs/wcs-icon.cjs.entry.js +2 -2
  38. package/dist/cjs/wcs-input.cjs.entry.js +228 -0
  39. package/dist/cjs/wcs-label.cjs.entry.js +20 -0
  40. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +19 -0
  41. package/dist/cjs/wcs-list-item-property.cjs.entry.js +19 -0
  42. package/dist/cjs/wcs-list-item.cjs.entry.js +23 -0
  43. package/dist/cjs/wcs-mat-icon.cjs.entry.js +73 -0
  44. package/dist/cjs/wcs-modal.cjs.entry.js +45 -0
  45. package/dist/cjs/wcs-nav-item.cjs.entry.js +23 -0
  46. package/dist/cjs/wcs-nav.cjs.entry.js +19 -0
  47. package/dist/cjs/wcs-progress-bar.cjs.entry.js +47 -0
  48. package/dist/cjs/wcs-progress-radial.cjs.entry.js +30 -0
  49. package/dist/cjs/wcs-radio-group.cjs.entry.js +65 -0
  50. package/dist/cjs/wcs-radio.cjs.entry.js +49 -0
  51. package/dist/cjs/wcs-select_2.cjs.entry.js +4916 -0
  52. package/dist/cjs/wcs-spinner.cjs.entry.js +21 -0
  53. package/dist/cjs/wcs-switch.cjs.entry.js +34 -0
  54. package/dist/cjs/wcs-tab.cjs.entry.js +20 -0
  55. package/dist/cjs/wcs-tabs.cjs.entry.js +159 -0
  56. package/dist/cjs/wcs-textarea.cjs.entry.js +224 -0
  57. package/dist/cjs/wcs-tooltip.cjs.entry.js +129 -0
  58. package/dist/cjs/wcs.cjs.js +3 -3
  59. package/dist/collection/collection-manifest.json +3 -2
  60. package/dist/collection/components/button/button.css +79 -75
  61. package/dist/collection/components/button/button.js +23 -11
  62. package/dist/collection/components/com-nav/com-nav.css +1 -2
  63. package/dist/collection/components/com-nav-category/com-nav-category.css +5 -6
  64. package/dist/collection/components/com-nav-category/com-nav-category.js +31 -1
  65. package/dist/collection/components/com-nav-submenu/com-nav-submenu.css +1 -2
  66. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +21 -1
  67. package/dist/collection/components/footer/footer.css +1 -1
  68. package/dist/collection/components/grid/grid.js +47 -8
  69. package/dist/collection/components/grid-column/grid-column.css +5 -0
  70. package/dist/collection/components/grid-column/grid-column.js +62 -2
  71. package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +45 -0
  72. package/dist/collection/components/grid-pagination/grid-pagination.js +4 -4
  73. package/dist/collection/components/header/header.css +1 -1
  74. package/dist/collection/components/input/input.js +2 -2
  75. package/dist/collection/components/select/select.css +81 -77
  76. package/dist/collection/components/select/select.js +2 -2
  77. package/dist/collection/components/select-option/select-option.css +79 -75
  78. package/dist/collection/components/select-option/select-option.js +6 -7
  79. package/dist/collection/components/tab/tab.js +4 -4
  80. package/dist/collection/components/tabs/tabs.js +1 -1
  81. package/dist/collection/components/textarea/textarea.js +2 -2
  82. package/dist/collection/components/tooltip/tooltip.js +2 -2
  83. package/dist/esm/component-6b4d470f.js +1072 -0
  84. package/dist/esm/helpers-50436c51.js +73 -0
  85. package/dist/esm/{index-c619b1fa.js → index-b982604a.js} +165 -88
  86. package/dist/esm/loader.js +3 -3
  87. package/dist/{cjs/wcs-action-bar_47.cjs.entry.js → esm/lodash-d6d9d079.js} +12610 -22791
  88. package/dist/esm/select-arrow-73ac4016.js +34 -0
  89. package/dist/esm/wcs-action-bar.entry.js +20 -0
  90. package/dist/esm/wcs-app.entry.js +2 -2
  91. package/dist/esm/wcs-badge.entry.js +23 -0
  92. package/dist/esm/wcs-button.entry.js +82 -0
  93. package/dist/esm/wcs-card-body.entry.js +15 -0
  94. package/dist/esm/wcs-card.entry.js +16 -0
  95. package/dist/esm/wcs-checkbox.entry.js +39 -0
  96. package/dist/esm/wcs-com-nav-category.entry.js +59 -0
  97. package/dist/esm/wcs-com-nav-submenu.entry.js +65 -0
  98. package/dist/esm/wcs-com-nav.entry.js +15 -0
  99. package/dist/esm/wcs-divider.entry.js +15 -0
  100. package/dist/esm/wcs-dropdown-item.entry.js +19 -0
  101. package/dist/esm/wcs-dropdown.entry.js +53 -0
  102. package/dist/esm/wcs-editable-field.entry.js +221 -0
  103. package/dist/esm/wcs-error_2.entry.js +132 -0
  104. package/dist/esm/wcs-field-content.entry.js +12 -0
  105. package/dist/esm/wcs-field-label.entry.js +12 -0
  106. package/dist/esm/wcs-field.entry.js +15 -0
  107. package/dist/esm/wcs-footer.entry.js +15 -0
  108. package/dist/esm/wcs-galactic-menu.entry.js +1781 -0
  109. package/dist/esm/wcs-galactic.entry.js +37 -0
  110. package/dist/esm/wcs-grid-column.entry.js +69 -0
  111. package/dist/esm/wcs-grid-custom-cell.entry.js +12 -0
  112. package/dist/esm/wcs-grid-pagination.entry.js +4 -4
  113. package/dist/esm/wcs-grid.entry.js +305 -0
  114. package/dist/esm/wcs-header.entry.js +21 -0
  115. package/dist/esm/wcs-hint.entry.js +16 -0
  116. package/dist/esm/wcs-horizontal-stepper.entry.js +110 -0
  117. package/dist/esm/wcs-icon.entry.js +2 -2
  118. package/dist/esm/wcs-input.entry.js +224 -0
  119. package/dist/esm/wcs-label.entry.js +16 -0
  120. package/dist/esm/wcs-list-item-properties.entry.js +15 -0
  121. package/dist/esm/wcs-list-item-property.entry.js +15 -0
  122. package/dist/esm/wcs-list-item.entry.js +19 -0
  123. package/dist/esm/wcs-mat-icon.entry.js +69 -0
  124. package/dist/esm/wcs-modal.entry.js +41 -0
  125. package/dist/esm/wcs-nav-item.entry.js +19 -0
  126. package/dist/esm/wcs-nav.entry.js +15 -0
  127. package/dist/esm/wcs-progress-bar.entry.js +43 -0
  128. package/dist/esm/wcs-progress-radial.entry.js +26 -0
  129. package/dist/esm/wcs-radio-group.entry.js +61 -0
  130. package/dist/esm/wcs-radio.entry.js +45 -0
  131. package/dist/esm/wcs-select_2.entry.js +4911 -0
  132. package/dist/esm/wcs-spinner.entry.js +17 -0
  133. package/dist/esm/wcs-switch.entry.js +30 -0
  134. package/dist/esm/wcs-tab.entry.js +16 -0
  135. package/dist/esm/wcs-tabs.entry.js +155 -0
  136. package/dist/esm/wcs-textarea.entry.js +220 -0
  137. package/dist/esm/wcs-tooltip.entry.js +125 -0
  138. package/dist/esm/wcs.js +3 -3
  139. package/dist/types/components/button/button.d.ts +7 -3
  140. package/dist/types/components/com-nav-category/com-nav-category.d.ts +7 -0
  141. package/dist/types/components/com-nav-submenu/com-nav-submenu.d.ts +7 -0
  142. package/dist/types/components/grid/grid.d.ts +7 -0
  143. package/dist/types/components/grid-column/grid-column.d.ts +4 -0
  144. package/dist/types/components/grid-custom-cell/grid-custom-cell.d.ts +12 -0
  145. package/dist/types/components/select-option/select-option.d.ts +2 -0
  146. package/dist/types/components.d.ts +43 -0
  147. package/dist/types/stencil-public-runtime.d.ts +183 -182
  148. package/dist/wcs/p-03b2e238.entry.js +1 -0
  149. package/dist/wcs/p-0fbe574e.entry.js +1 -0
  150. package/dist/wcs/p-15008e35.entry.js +1 -0
  151. package/dist/wcs/p-16dfbae8.js +127 -0
  152. package/dist/wcs/p-17c6db7f.entry.js +1 -0
  153. package/dist/wcs/p-1dce7e63.entry.js +1 -0
  154. package/dist/wcs/p-1f5aed36.entry.js +1 -0
  155. package/dist/wcs/p-214236db.entry.js +1 -0
  156. package/dist/wcs/p-26b5c0a3.entry.js +1 -0
  157. package/dist/wcs/p-2e6265dc.entry.js +1 -0
  158. package/dist/wcs/p-356a8e3b.entry.js +1 -0
  159. package/dist/wcs/p-3d10b02a.entry.js +15 -0
  160. package/dist/wcs/p-4338f140.entry.js +1 -0
  161. package/dist/wcs/p-474d6601.entry.js +1 -0
  162. package/dist/wcs/p-55fdc284.entry.js +1 -0
  163. package/dist/wcs/p-5b35b232.entry.js +1 -0
  164. package/dist/wcs/p-600a9cc0.entry.js +1 -0
  165. package/dist/wcs/p-60b51967.entry.js +1 -0
  166. package/dist/wcs/p-62f7ab6d.entry.js +1 -0
  167. package/dist/wcs/p-64523291.entry.js +1 -0
  168. package/dist/wcs/p-65c5ccc5.entry.js +1 -0
  169. package/dist/wcs/p-688fea65.entry.js +1 -0
  170. package/dist/wcs/p-716d5921.entry.js +1 -0
  171. package/dist/wcs/p-7219c04b.js +1 -0
  172. package/dist/wcs/p-8137f075.entry.js +1 -0
  173. package/dist/wcs/p-83f1ad32.js +1 -0
  174. package/dist/wcs/p-8864a491.entry.js +1 -0
  175. package/dist/wcs/p-8f0f9868.entry.js +1 -0
  176. package/dist/wcs/p-91a2de07.entry.js +1 -0
  177. package/dist/wcs/p-94a31f64.entry.js +1 -0
  178. package/dist/wcs/p-979dfd78.entry.js +1 -0
  179. package/dist/wcs/p-9ba52bc4.entry.js +1 -0
  180. package/dist/wcs/p-a1ee1551.entry.js +1 -0
  181. package/dist/wcs/p-a5a1b27c.entry.js +1 -0
  182. package/dist/wcs/p-adef7aaf.js +1 -0
  183. package/dist/wcs/p-af1a5e52.entry.js +1 -0
  184. package/dist/wcs/p-b7184d59.entry.js +1 -0
  185. package/dist/wcs/p-bef44630.entry.js +1 -0
  186. package/dist/wcs/p-d59b4495.entry.js +1 -0
  187. package/dist/wcs/p-db68379f.entry.js +1 -0
  188. package/dist/wcs/p-dbbc3f58.entry.js +1 -0
  189. package/dist/wcs/p-dc817204.entry.js +1 -0
  190. package/dist/wcs/p-dd300dea.entry.js +1 -0
  191. package/dist/wcs/p-e0163de8.entry.js +1 -0
  192. package/dist/wcs/p-e4236d32.entry.js +1 -0
  193. package/dist/wcs/p-e43358e4.entry.js +1 -0
  194. package/dist/wcs/p-e486647c.entry.js +1 -0
  195. package/dist/wcs/p-e9ce507c.entry.js +1 -0
  196. package/dist/wcs/p-ed6e8541.entry.js +1 -0
  197. package/dist/wcs/p-f46e6c3c.js +1 -0
  198. package/dist/wcs/p-f9944bde.entry.js +1 -0
  199. package/dist/wcs/p-fa173947.entry.js +1 -0
  200. package/dist/wcs/p-fb1577b5.entry.js +1 -0
  201. package/dist/wcs/p-febe9ccc.entry.js +1 -0
  202. package/dist/wcs/wcs.esm.js +1 -1
  203. package/loader/index.d.ts +0 -1
  204. package/package.json +22 -20
  205. package/dist/wcs/p-16dca526.entry.js +0 -1
  206. package/dist/wcs/p-4f228fcb.entry.js +0 -134
  207. package/dist/wcs/p-66520e5a.entry.js +0 -1
  208. package/dist/wcs/p-d31287c6.entry.js +0 -1
  209. package/dist/wcs/p-f73f235b.js +0 -1
  210. package/schematics/.gitignore +0 -18
  211. package/schematics/.npmignore +0 -4
  212. package/schematics/collection.json +0 -9
  213. package/schematics/src/ng-add/files/fonts/avenir-black.woff +0 -0
  214. package/schematics/src/ng-add/files/fonts/avenir-book.woff +0 -0
  215. package/schematics/src/ng-add/files/fonts/avenir-lighter.woff +0 -0
  216. package/schematics/src/ng-add/files/fonts/avenir-medium.woff +0 -0
  217. package/schematics/src/ng-add/files/sncf-logo.png +0 -0
  218. package/schematics/src/ng-add/index.d.ts +0 -3
  219. package/schematics/src/ng-add/index.js +0 -119
  220. package/schematics/src/ng-add/index.js.map +0 -1
  221. package/schematics/src/ng-add/schema.json +0 -5
@@ -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 {
@@ -302,6 +288,13 @@
302
288
  .wcs-inner-button::before {
303
289
  transition: opacity 15ms linear, background-color 15ms linear;
304
290
  z-index: 1;
291
+ /* @alternate */
292
+ z-index: var(--mdc-ripple-z-index, 1);
293
+ }
294
+ .wcs-inner-button::after {
295
+ z-index: 0;
296
+ /* @alternate */
297
+ z-index: var(--mdc-ripple-z-index, 0);
305
298
  }
306
299
  .wcs-inner-button.mdc-ripple-upgraded::before {
307
300
  transform: scale(var(--mdc-ripple-fg-scale, 1));
@@ -309,6 +302,7 @@
309
302
  .wcs-inner-button.mdc-ripple-upgraded::after {
310
303
  top: 0;
311
304
  /* @noflip */
305
+ /*rtl:ignore*/
312
306
  left: 0;
313
307
  transform: scale(0);
314
308
  transform-origin: center center;
@@ -316,6 +310,7 @@
316
310
  .wcs-inner-button.mdc-ripple-upgraded--unbounded::after {
317
311
  top: var(--mdc-ripple-top, 0);
318
312
  /* @noflip */
313
+ /*rtl:ignore*/
319
314
  left: var(--mdc-ripple-left, 0);
320
315
  }
321
316
  .wcs-inner-button.mdc-ripple-upgraded--foreground-activation::after {
@@ -328,6 +323,7 @@
328
323
  .wcs-inner-button::before, .wcs-inner-button::after {
329
324
  top: calc(50% - 100%);
330
325
  /* @noflip */
326
+ /*rtl:ignore*/
331
327
  left: calc(50% - 100%);
332
328
  width: 200%;
333
329
  height: 200%;
@@ -336,12 +332,16 @@
336
332
  width: var(--mdc-ripple-fg-size, 100%);
337
333
  height: var(--mdc-ripple-fg-size, 100%);
338
334
  }
339
- .wcs-inner-button:hover::before {
335
+ .wcs-inner-button:hover::before, .wcs-inner-button.mdc-ripple-surface--hover::before {
340
336
  opacity: 0.1;
337
+ /* @alternate */
338
+ opacity: var(--mdc-ripple-hover-opacity, 0.1);
341
339
  }
342
- .wcs-inner-button:not(.mdc-ripple-upgraded):focus::before, .wcs-inner-button.mdc-ripple-upgraded--background-focused::before {
340
+ .wcs-inner-button.mdc-ripple-upgraded--background-focused::before, .wcs-inner-button:not(.mdc-ripple-upgraded):focus::before {
343
341
  transition-duration: 75ms;
344
342
  opacity: 0.2;
343
+ /* @alternate */
344
+ opacity: var(--mdc-ripple-focus-opacity, 0.2);
345
345
  }
346
346
  .wcs-inner-button:not(.mdc-ripple-upgraded)::after {
347
347
  transition: opacity 150ms linear;
@@ -349,12 +349,16 @@
349
349
  .wcs-inner-button:not(.mdc-ripple-upgraded):active::after {
350
350
  transition-duration: 75ms;
351
351
  opacity: 0.3;
352
+ /* @alternate */
353
+ opacity: var(--mdc-ripple-press-opacity, 0.3);
352
354
  }
353
355
  .wcs-inner-button.mdc-ripple-upgraded {
354
- --mdc-ripple-fg-opacity: 0.3;
356
+ --mdc-ripple-fg-opacity: var(--mdc-ripple-press-opacity, 0.3);
355
357
  }
356
358
  .wcs-inner-button::before, .wcs-inner-button::after {
357
359
  background-color: white;
360
+ /* @alternate */
361
+ background-color: var(--mdc-ripple-color, white);
358
362
  }
359
363
  .wcs-inner-button::before, .wcs-inner-button::after {
360
364
  background-color: var(--wcs-button-ripple-color);
@@ -1,5 +1,5 @@
1
- import { Component, Element, Prop, Listen, h } from '@stencil/core';
2
- import * as MDCRipple from '@material/ripple';
1
+ import { Component, Element, h, Listen, Prop, Watch } from '@stencil/core';
2
+ import { MDCRipple } from '@material/ripple';
3
3
  import { hasShadowDom } from '../../utils/helpers';
4
4
  /**
5
5
  * Button component, can also be a link when specifying href.
@@ -47,6 +47,23 @@ export class Button {
47
47
  }
48
48
  }
49
49
  }
50
+ componentDidLoad() {
51
+ this.mdcRipple = new MDCRipple(this.el.shadowRoot.querySelector('.wcs-inner-button'));
52
+ }
53
+ enabledRippleEffect() {
54
+ this.mdcRipple.disabled = false;
55
+ }
56
+ disabledRippleEffect() {
57
+ this.mdcRipple.disabled = true;
58
+ }
59
+ onRippleChange() {
60
+ if (this.ripple) {
61
+ this.enabledRippleEffect();
62
+ }
63
+ else {
64
+ this.disabledRippleEffect();
65
+ }
66
+ }
50
67
  render() {
51
68
  const TagType = this.href !== undefined ? 'a' : 'button';
52
69
  const attrs = this.href !== undefined
@@ -55,15 +72,6 @@ export class Button {
55
72
  return (h(TagType, Object.assign({}, attrs, { class: "wcs-inner-button" }, this.disabled === true ? { disabled: true } : null),
56
73
  h("slot", null)));
57
74
  }
58
- componentDidLoad() {
59
- if (this.ripple) {
60
- this.addRippleEffect();
61
- }
62
- }
63
- addRippleEffect() {
64
- const ripple = new MDCRipple.MDCRipple(this.el.shadowRoot.querySelector('.wcs-inner-button'));
65
- ripple.unbounded = false;
66
- }
67
75
  static get is() { return "wcs-button"; }
68
76
  static get encapsulation() { return "shadow"; }
69
77
  static get originalStyleUrls() { return {
@@ -197,6 +205,10 @@ export class Button {
197
205
  }
198
206
  }; }
199
207
  static get elementRef() { return "el"; }
208
+ static get watchers() { return [{
209
+ "propName": "ripple",
210
+ "methodName": "onRippleChange"
211
+ }]; }
200
212
  static get listeners() { return [{
201
213
  "name": "click",
202
214
  "method": "onClick",
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  :host {
3
2
  display: block;
4
3
  position: relative;
@@ -49,7 +48,7 @@
49
48
  font-family: icons;
50
49
  padding-left: var(--wcs-base-margin);
51
50
  font-size: 0.6rem;
52
- content: "";
51
+ content: "\f107";
53
52
  line-height: 1;
54
53
  box-sizing: border-box;
55
54
  }
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  :host {
3
2
  display: block;
4
3
  }
@@ -9,7 +8,7 @@
9
8
  font-family: icons;
10
9
  padding-left: var(--wcs-base-margin);
11
10
  font-size: 0.6rem;
12
- content: "";
11
+ content: "\f107";
13
12
  line-height: 1;
14
13
  box-sizing: border-box;
15
14
  }
@@ -21,7 +20,7 @@
21
20
  }
22
21
  :host .label-container[data-open]:after {
23
22
  position: absolute;
24
- left: calc(calc(calc(100% / 2) + calc(var(--wcs-com-content-max-width) / 8)) - calc(1.125rem / 2));
23
+ left: calc(50% + var(--wcs-com-content-max-width) / 8 - 0.5625rem);
25
24
  z-index: 2;
26
25
  display: block;
27
26
  width: 1.125rem;
@@ -32,14 +31,14 @@
32
31
  }
33
32
  :host .item-container[data-open] {
34
33
  position: absolute;
35
- left: calc(calc(100% / 2) + calc(var(--wcs-com-content-max-width) / 8));
34
+ left: calc(50% + var(--wcs-com-content-max-width) / 8);
36
35
  top: 0;
37
36
  right: 0;
38
37
  padding: 50px 0 50px 50px;
39
38
  background-blend-mode: multiply;
40
39
  background-color: rgba(0, 0, 0, 0.15);
41
40
  box-sizing: border-box;
42
- height: calc(100%);
41
+ height: 100%;
43
42
  display: flex;
44
43
  flex-direction: column;
45
44
  align-items: start;
@@ -51,7 +50,7 @@
51
50
  font-family: icons;
52
51
  padding-left: var(--wcs-base-margin);
53
52
  font-size: 0.6rem;
54
- content: "";
53
+ content: "\f107";
55
54
  line-height: 1;
56
55
  box-sizing: border-box;
57
56
  }
@@ -32,11 +32,22 @@ export class ComNavCategory {
32
32
  evt.stopPropagation();
33
33
  this.wcsCategoryOpened.emit({ categoryElement: this.el });
34
34
  }
35
+ /**
36
+ * Close the category and fire item click if we detect a mouse click on a slotted `a` element.
37
+ * @param evt
38
+ * @private
39
+ */
40
+ handleItemClick(evt) {
41
+ if (evt.target.tagName === 'A') {
42
+ this.close();
43
+ this.wcsCategoryItemClicked.emit(evt);
44
+ }
45
+ }
35
46
  render() {
36
47
  return (h(Host, { onClick: evt => this.onClick(evt) },
37
48
  h("div", { class: "label-container", "data-open": this.categoryOpen, onClick: _ => this.categoryOpen = !this.categoryOpen },
38
49
  h("span", { class: "label" }, this.label)),
39
- h("div", { class: "item-container", "data-open": this.categoryOpen },
50
+ h("div", { class: "item-container", "data-open": this.categoryOpen, onClick: (evt) => this.handleItemClick(evt) },
40
51
  h("slot", null))));
41
52
  }
42
53
  static get is() { return "wcs-com-nav-category"; }
@@ -89,6 +100,25 @@ export class ComNavCategory {
89
100
  }
90
101
  }
91
102
  }
103
+ }, {
104
+ "method": "wcsCategoryItemClicked",
105
+ "name": "wcsCategoryItemClicked",
106
+ "bubbles": true,
107
+ "cancelable": true,
108
+ "composed": true,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": ""
112
+ },
113
+ "complexType": {
114
+ "original": "MouseEvent",
115
+ "resolved": "MouseEvent",
116
+ "references": {
117
+ "MouseEvent": {
118
+ "location": "global"
119
+ }
120
+ }
121
+ }
92
122
  }]; }
93
123
  static get methods() { return {
94
124
  "close": {
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  :host {
3
2
  display: block;
4
3
  height: 100%;
@@ -70,7 +69,7 @@
70
69
  font-family: icons;
71
70
  padding-left: var(--wcs-base-margin);
72
71
  font-size: 0.6rem;
73
- content: "";
72
+ content: "\f107";
74
73
  line-height: 1;
75
74
  box-sizing: border-box;
76
75
  }
@@ -36,6 +36,20 @@ export class ComNavSubmenu {
36
36
  evt.stopPropagation();
37
37
  this.wcsSubmenuOpened.emit({ menuElement: this.el });
38
38
  }
39
+ handleMenuItemsClick(evt) {
40
+ if (evt.target.tagName === 'A') {
41
+ this.close();
42
+ }
43
+ }
44
+ /**
45
+ * handle category item click to close the submenu
46
+ * @param _
47
+ * @private
48
+ */
49
+ wcsCategoryItemClickedHandler(_) {
50
+ // If a category item is clicked, we close the submenu drawer;
51
+ this.close();
52
+ }
39
53
  render() {
40
54
  return (h(Host, { onClick: evt => this.onClick(evt) },
41
55
  h("div", { onClick: _ => this.menuOpen = !this.menuOpen, class: "menu-button" },
@@ -48,7 +62,7 @@ export class ComNavSubmenu {
48
62
  h("div", null,
49
63
  h("h3", null, this.panelTitle),
50
64
  h("p", null, this.panelDescription)),
51
- h("div", { class: "menu-items" },
65
+ h("div", { class: "menu-items", onClick: (evt) => this.handleMenuItemsClick(evt) },
52
66
  h("slot", null)))))));
53
67
  }
54
68
  static get is() { return "wcs-com-nav-submenu"; }
@@ -183,5 +197,11 @@ export class ComNavSubmenu {
183
197
  "target": "window",
184
198
  "capture": false,
185
199
  "passive": false
200
+ }, {
201
+ "name": "wcsCategoryItemClicked",
202
+ "method": "wcsCategoryItemClickedHandler",
203
+ "target": undefined,
204
+ "capture": false,
205
+ "passive": false
186
206
  }]; }
187
207
  }
@@ -5,7 +5,7 @@
5
5
  color: white;
6
6
  }
7
7
  :host .end {
8
- margin-top: calc(2*var(--wcs-base-margin));
8
+ margin-top: calc(2 * var(--wcs-base-margin));
9
9
  width: 100%;
10
10
  display: flex;
11
11
  justify-content: space-between;
@@ -1,4 +1,4 @@
1
- import { Component, Element, Event, h, Host, Listen, Prop, State, Watch } from '@stencil/core';
1
+ import { Component, Element, Event, forceUpdate, h, Host, Listen, Prop, State, Watch } from '@stencil/core';
2
2
  import { getSortOrderInteger } from './grid-interface';
3
3
  import _ from 'lodash';
4
4
  import { v4 as uuid } from 'uuid';
@@ -23,6 +23,11 @@ export class Grid {
23
23
  onSelectedItemsPropertyChange(newValue) {
24
24
  this.updateSelectionWithValues(newValue);
25
25
  }
26
+ onHiddenColumnChange() {
27
+ // We use forceUpdate because the fact of hiding a column or not does not modify the internal structure of the grid (WcsGridRow).
28
+ // Hide a column only impacts the way it is rendered but the grid-column remains in the dom and in our internal model.
29
+ forceUpdate(this);
30
+ }
26
31
  updateSelectionWithValues(values) {
27
32
  if (this.selectionConfig === 'single') {
28
33
  this.rows.map(r => r.selected = false);
@@ -138,7 +143,9 @@ export class Grid {
138
143
  this.rows.filter(r => r.uuid !== row.uuid).map(r => r.selected = false);
139
144
  }
140
145
  row.selected = !row.selected;
141
- this.wcsGridSelectionChange.emit({ row: this.wcsGridRowToWcsGridRowData(row) });
146
+ if (this.selectionConfig !== 'single' || row.selected) {
147
+ this.wcsGridSelectionChange.emit({ row: this.wcsGridRowToWcsGridRowData(row) });
148
+ }
142
149
  this.rows = _.cloneDeep(this.rows);
143
150
  }
144
151
  selectAllRows() {
@@ -195,14 +202,23 @@ export class Grid {
195
202
  ? h("tr", null,
196
203
  h("td", { colSpan: this.totalColumnCount(), class: "loading" },
197
204
  h("wcs-spinner", null)))
198
- : (_a = this.rows) === null || _a === void 0 ? void 0 : _a.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage).map(row => {
199
- var _a;
200
- return h("tr", { class: row.selected ? 'selected' : '' },
201
- this.renderSelectionColumn(row), (_a = row.cells) === null || _a === void 0 ? void 0 :
202
- _a.map(cell => h("td", { part: cell.column.path + '-column' }, this.getCellContent(row, cell))));
203
- }))),
205
+ : (_a = this.rows) === null || _a === void 0 ? void 0 : _a.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage).map(row => this.renderRow(row)))),
204
206
  h("slot", { name: "grid-pagination" })));
205
207
  }
208
+ renderRow(row) {
209
+ var _a;
210
+ return h("tr", { class: row.selected ? 'selected' : '' },
211
+ this.renderSelectionColumn(row), (_a = row.cells) === null || _a === void 0 ? void 0 :
212
+ _a.map(cell => {
213
+ if (cell.column.hidden) {
214
+ return;
215
+ }
216
+ return cell.column.customCells
217
+ ? (h("td", null,
218
+ h("slot", { name: cell.column.id + '-' + row.data[this.rowIdPath] })))
219
+ : (h("td", { part: cell.column.path + '-column' }, this.getCellContent(row, cell)));
220
+ }));
221
+ }
206
222
  static get is() { return "wcs-grid"; }
207
223
  static get encapsulation() { return "shadow"; }
208
224
  static get originalStyleUrls() { return {
@@ -318,6 +334,23 @@ export class Grid {
318
334
  },
319
335
  "attribute": "wcs-grid-pagination-id",
320
336
  "reflect": false
337
+ },
338
+ "rowIdPath": {
339
+ "type": "string",
340
+ "mutable": false,
341
+ "complexType": {
342
+ "original": "string",
343
+ "resolved": "string",
344
+ "references": {}
345
+ },
346
+ "required": false,
347
+ "optional": false,
348
+ "docs": {
349
+ "tags": [],
350
+ "text": "Name of the object's key that will be used to display the cells whose keyValue attribute matches to the\nobject's value for this key."
351
+ },
352
+ "attribute": "row-id-path",
353
+ "reflect": false
321
354
  }
322
355
  }; }
323
356
  static get states() { return {
@@ -375,6 +408,12 @@ export class Grid {
375
408
  "methodName": "onSelectedItemsPropertyChange"
376
409
  }]; }
377
410
  static get listeners() { return [{
411
+ "name": "wcsHiddenChange",
412
+ "method": "onHiddenColumnChange",
413
+ "target": undefined,
414
+ "capture": false,
415
+ "passive": false
416
+ }, {
378
417
  "name": "wcsSortChange",
379
418
  "method": "sortChangeEventHandler",
380
419
  "target": undefined,
@@ -1,5 +1,6 @@
1
1
  :host {
2
2
  --wcs-grid-column-border-left: solid 1px var(--wcs-text-light);
3
+ display: contents;
3
4
  }
4
5
  :host th {
5
6
  color: var(--wcs-gray-dark);
@@ -32,4 +33,8 @@
32
33
  }
33
34
  :host([sort-order=none]) th:hover img {
34
35
  display: inline-block;
36
+ }
37
+
38
+ :host([hidden]) {
39
+ display: none !important;
35
40
  }