@watermarkinsights/ripple 3.7.0 → 3.8.0-2

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 (253) hide show
  1. package/dist/cjs/{functions-13b0e88e.js → functions-edfdd03f.js} +67 -41
  2. package/dist/cjs/{global-c802d13c.js → global-ffd0392c.js} +1 -1
  3. package/dist/cjs/{index-cd179539.js → index-0e7e3668.js} +96 -64
  4. package/dist/cjs/loader.cjs.js +4 -4
  5. package/dist/cjs/priv-chart-popover.cjs.entry.js +4 -4
  6. package/dist/cjs/priv-datepicker.cjs.entry.js +23 -18
  7. package/dist/cjs/priv-navigator-button.cjs.entry.js +3 -3
  8. package/dist/cjs/priv-navigator-item.cjs.entry.js +2 -2
  9. package/dist/cjs/ripple.cjs.js +4 -4
  10. package/dist/cjs/wm-action-menu_2.cjs.entry.js +5 -5
  11. package/dist/cjs/wm-button.cjs.entry.js +4 -4
  12. package/dist/cjs/wm-chart-slice.cjs.entry.js +2 -2
  13. package/dist/cjs/wm-chart.cjs.entry.js +5 -5
  14. package/dist/cjs/wm-datepicker.cjs.entry.js +13 -4
  15. package/dist/cjs/wm-input.cjs.entry.js +4 -4
  16. package/dist/cjs/wm-modal-footer.cjs.entry.js +3 -3
  17. package/dist/cjs/wm-modal-header.cjs.entry.js +3 -3
  18. package/dist/cjs/wm-modal.cjs.entry.js +7 -5
  19. package/dist/cjs/wm-navigation-hamburger.cjs.entry.js +56 -0
  20. package/dist/cjs/wm-navigation-item.cjs.entry.js +31 -0
  21. package/dist/cjs/wm-navigation.cjs.entry.js +87 -0
  22. package/dist/cjs/wm-navigator.cjs.entry.js +4 -4
  23. package/dist/cjs/wm-network-uploader.cjs.entry.js +4 -4
  24. package/dist/cjs/wm-option_2.cjs.entry.js +6 -6
  25. package/dist/cjs/wm-pagination.cjs.entry.js +4 -4
  26. package/dist/cjs/wm-search.cjs.entry.js +4 -4
  27. package/dist/cjs/wm-snackbar.cjs.entry.js +4 -4
  28. package/dist/cjs/wm-tab-item_3.cjs.entry.js +7 -7
  29. package/dist/cjs/wm-tag-input.cjs.entry.js +13 -4
  30. package/dist/cjs/wm-timepicker.cjs.entry.js +9 -6
  31. package/dist/cjs/wm-toggletip.cjs.entry.js +4 -4
  32. package/dist/cjs/wm-uploader.cjs.entry.js +4 -4
  33. package/dist/cjs/wm-wrapper.cjs.entry.js +2 -2
  34. package/dist/collection/collection-manifest.json +10 -2
  35. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -1
  36. package/dist/collection/components/wm-button/wm-button.css +1 -3
  37. package/dist/collection/components/wm-chart/priv-chart-popover/priv-chart-popover.css +0 -1
  38. package/dist/collection/components/wm-chart/wm-chart-slice.js +51 -0
  39. package/dist/collection/components/wm-chart/wm-chart.css +3 -1
  40. package/dist/collection/components/wm-chart/wm-chart.js +1 -1
  41. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +3 -5
  42. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +39 -15
  43. package/dist/collection/components/wm-datepicker/wm-datepicker.css +1 -3
  44. package/dist/collection/components/wm-datepicker/wm-datepicker.js +15 -0
  45. package/dist/collection/components/wm-input/wm-input.css +1 -3
  46. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -1
  47. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -1
  48. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -1
  49. package/dist/collection/components/wm-modal/wm-modal.css +0 -1
  50. package/dist/collection/components/wm-modal/wm-modal.js +3 -1
  51. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +86 -0
  52. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +96 -0
  53. package/dist/collection/components/wm-navigation/wm-navigation-item.css +85 -0
  54. package/dist/collection/components/wm-navigation/wm-navigation-item.js +101 -0
  55. package/dist/collection/components/wm-navigation/wm-navigation.css +117 -0
  56. package/dist/collection/components/wm-navigation/wm-navigation.js +142 -0
  57. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -1
  58. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -1
  59. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -1
  60. package/dist/collection/components/wm-option/wm-option.css +2 -4
  61. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -1
  62. package/dist/collection/components/wm-search/wm-search.css +0 -1
  63. package/dist/collection/components/wm-select/wm-select.css +2 -4
  64. package/dist/collection/components/wm-snackbar/wm-snackbar.css +2 -4
  65. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +0 -1
  66. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -1
  67. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -1
  68. package/dist/collection/components/wm-tag-input/wm-tag-input.css +2 -4
  69. package/dist/collection/components/wm-tag-input/wm-tag-input.js +9 -0
  70. package/dist/collection/components/wm-timepicker/wm-timepicker.css +2 -4
  71. package/dist/collection/components/wm-timepicker/wm-timepicker.js +5 -2
  72. package/dist/collection/components/wm-toggletip/wm-toggletip.css +1 -3
  73. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.css +1 -3
  74. package/dist/collection/components/wm-uploader/wm-uploader.css +1 -3
  75. package/dist/esm/{functions-6ddad20e.js → functions-6cd52dcf.js} +67 -41
  76. package/dist/esm/{global-a4da88c7.js → global-51d6ea5f.js} +1 -1
  77. package/dist/esm/{index-66f8130e.js → index-cd8f9ae2.js} +96 -64
  78. package/dist/esm/loader.js +4 -4
  79. package/dist/esm/polyfills/css-shim.js +1 -1
  80. package/dist/esm/priv-chart-popover.entry.js +4 -4
  81. package/dist/esm/priv-datepicker.entry.js +23 -18
  82. package/dist/esm/priv-navigator-button.entry.js +3 -3
  83. package/dist/esm/priv-navigator-item.entry.js +2 -2
  84. package/dist/esm/ripple.js +4 -4
  85. package/dist/esm/wm-action-menu_2.entry.js +5 -5
  86. package/dist/esm/wm-button.entry.js +4 -4
  87. package/dist/esm/wm-chart-slice.entry.js +2 -2
  88. package/dist/esm/wm-chart.entry.js +5 -5
  89. package/dist/esm/wm-datepicker.entry.js +13 -4
  90. package/dist/esm/wm-input.entry.js +4 -4
  91. package/dist/esm/wm-modal-footer.entry.js +3 -3
  92. package/dist/esm/wm-modal-header.entry.js +3 -3
  93. package/dist/esm/wm-modal.entry.js +7 -5
  94. package/dist/esm/wm-navigation-hamburger.entry.js +52 -0
  95. package/dist/esm/wm-navigation-item.entry.js +27 -0
  96. package/dist/esm/wm-navigation.entry.js +83 -0
  97. package/dist/esm/wm-navigator.entry.js +4 -4
  98. package/dist/esm/wm-network-uploader.entry.js +4 -4
  99. package/dist/esm/wm-option_2.entry.js +6 -6
  100. package/dist/esm/wm-pagination.entry.js +4 -4
  101. package/dist/esm/wm-search.entry.js +4 -4
  102. package/dist/esm/wm-snackbar.entry.js +4 -4
  103. package/dist/esm/wm-tab-item_3.entry.js +7 -7
  104. package/dist/esm/wm-tag-input.entry.js +13 -4
  105. package/dist/esm/wm-timepicker.entry.js +9 -6
  106. package/dist/esm/wm-toggletip.entry.js +4 -4
  107. package/dist/esm/wm-uploader.entry.js +4 -4
  108. package/dist/esm/wm-wrapper.entry.js +2 -2
  109. package/dist/esm-es5/functions-6cd52dcf.js +15 -0
  110. package/dist/esm-es5/global-51d6ea5f.js +1 -0
  111. package/dist/esm-es5/http-service-5d037e16.js +1 -0
  112. package/dist/esm-es5/index-cd8f9ae2.js +1 -0
  113. package/dist/esm-es5/index.js +0 -0
  114. package/dist/esm-es5/interfaces-61c6305b.js +1 -0
  115. package/dist/esm-es5/loader.js +1 -0
  116. package/dist/esm-es5/priv-chart-popover.entry.js +1 -0
  117. package/dist/esm-es5/priv-datepicker.entry.js +1 -0
  118. package/dist/esm-es5/priv-navigator-button.entry.js +1 -0
  119. package/dist/esm-es5/priv-navigator-item.entry.js +1 -0
  120. package/dist/esm-es5/ripple.js +1 -0
  121. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -0
  122. package/dist/esm-es5/wm-button.entry.js +1 -0
  123. package/dist/esm-es5/wm-chart-slice.entry.js +1 -0
  124. package/dist/esm-es5/wm-chart.entry.js +1 -0
  125. package/dist/esm-es5/wm-datepicker.entry.js +1 -0
  126. package/dist/esm-es5/wm-input.entry.js +1 -0
  127. package/dist/esm-es5/wm-modal-footer.entry.js +1 -0
  128. package/dist/esm-es5/wm-modal-header.entry.js +1 -0
  129. package/dist/esm-es5/wm-modal.entry.js +1 -0
  130. package/dist/esm-es5/wm-navigation-hamburger.entry.js +1 -0
  131. package/dist/esm-es5/wm-navigation-item.entry.js +1 -0
  132. package/dist/esm-es5/wm-navigation.entry.js +1 -0
  133. package/dist/esm-es5/wm-navigator.entry.js +1 -0
  134. package/dist/esm-es5/wm-network-uploader.entry.js +1 -0
  135. package/dist/esm-es5/wm-option_2.entry.js +1 -0
  136. package/dist/esm-es5/wm-pagination.entry.js +1 -0
  137. package/dist/esm-es5/wm-search.entry.js +1 -0
  138. package/dist/esm-es5/wm-snackbar.entry.js +1 -0
  139. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -0
  140. package/dist/esm-es5/wm-tag-input.entry.js +1 -0
  141. package/dist/esm-es5/wm-timepicker.entry.js +1 -0
  142. package/dist/esm-es5/wm-toggletip.entry.js +1 -0
  143. package/dist/esm-es5/wm-uploader.entry.js +1 -0
  144. package/dist/esm-es5/wm-wrapper.entry.js +1 -0
  145. package/dist/index.js +1 -1
  146. package/dist/loader/index.d.ts +0 -1
  147. package/dist/loader/index.js +1 -1
  148. package/dist/ripple/p-05b44011.system.entry.js +1 -0
  149. package/dist/ripple/p-088e3c4c.system.entry.js +1 -0
  150. package/dist/ripple/p-08b7ec08.system.js +1 -0
  151. package/dist/ripple/p-15759528.system.entry.js +1 -0
  152. package/dist/ripple/p-17fef956.entry.js +1 -0
  153. package/dist/ripple/p-1d7049b5.system.entry.js +1 -0
  154. package/dist/ripple/p-20856a2d.system.js +1 -0
  155. package/dist/ripple/p-2206c8d0.entry.js +1 -0
  156. package/dist/ripple/p-244877c8.entry.js +1 -0
  157. package/dist/ripple/p-284a9749.system.entry.js +1 -0
  158. package/dist/ripple/p-2b526a98.entry.js +1 -0
  159. package/dist/ripple/p-2f63e022.system.entry.js +1 -0
  160. package/dist/ripple/p-313b6073.system.js +1 -0
  161. package/dist/ripple/p-323c8fbd.entry.js +1 -0
  162. package/dist/ripple/p-38062c39.js +1 -0
  163. package/dist/ripple/p-3ba3afca.entry.js +1 -0
  164. package/dist/ripple/p-45ee5b9d.system.entry.js +1 -0
  165. package/dist/ripple/p-48ab9e16.entry.js +1 -0
  166. package/dist/ripple/p-4999f5dc.entry.js +1 -0
  167. package/dist/ripple/p-4ab257fe.entry.js +1 -0
  168. package/dist/ripple/p-4c0de099.system.entry.js +1 -0
  169. package/dist/ripple/p-4c75587a.system.entry.js +1 -0
  170. package/dist/ripple/p-4ed98fb1.system.entry.js +1 -0
  171. package/dist/ripple/p-504579c2.system.entry.js +1 -0
  172. package/dist/ripple/p-50ea2036.system.js +1 -0
  173. package/dist/ripple/p-58a1e616.system.entry.js +1 -0
  174. package/dist/ripple/p-5fd47eac.entry.js +1 -0
  175. package/dist/ripple/p-664c3f62.entry.js +1 -0
  176. package/dist/ripple/p-6923b8f6.system.js +15 -0
  177. package/dist/ripple/p-6e5a35ae.system.entry.js +1 -0
  178. package/dist/ripple/p-741972e8.system.entry.js +1 -0
  179. package/dist/ripple/p-764fa608.entry.js +1 -0
  180. package/dist/ripple/p-77bd8d1b.entry.js +1 -0
  181. package/dist/ripple/p-7ff67db9.entry.js +1 -0
  182. package/dist/ripple/p-8139cdfe.system.js +1 -0
  183. package/dist/ripple/p-83028f2c.js +1 -0
  184. package/dist/ripple/p-864b71bf.system.entry.js +1 -0
  185. package/dist/ripple/p-87b8fddf.entry.js +1 -0
  186. package/dist/ripple/p-8a0450fd.entry.js +1 -0
  187. package/dist/ripple/p-9173f673.entry.js +1 -0
  188. package/dist/ripple/p-9a9743f5.system.entry.js +1 -0
  189. package/dist/ripple/p-9f442b49.system.entry.js +1 -0
  190. package/dist/ripple/p-a2c2f475.system.entry.js +1 -0
  191. package/dist/ripple/p-a3fcdd9f.entry.js +1 -0
  192. package/dist/ripple/p-a5177480.system.entry.js +1 -0
  193. package/dist/ripple/p-a588ae81.entry.js +1 -0
  194. package/dist/ripple/p-a8358b36.entry.js +1 -0
  195. package/dist/ripple/p-a88d46f9.system.entry.js +1 -0
  196. package/dist/ripple/p-a8dfec6d.system.entry.js +1 -0
  197. package/dist/ripple/p-aedd95e6.system.js +1 -0
  198. package/dist/ripple/p-b1d25dec.entry.js +1 -0
  199. package/dist/ripple/p-b542340c.system.entry.js +1 -0
  200. package/dist/ripple/p-c19298a5.system.entry.js +1 -0
  201. package/dist/ripple/p-c401898d.entry.js +1 -0
  202. package/dist/ripple/p-ce81ccb4.system.entry.js +1 -0
  203. package/dist/ripple/p-cfa8106a.system.entry.js +1 -0
  204. package/dist/ripple/p-dadb6c78.js +16 -0
  205. package/dist/ripple/p-db7f5d60.entry.js +1 -0
  206. package/dist/ripple/p-dff01b0a.system.entry.js +1 -0
  207. package/dist/ripple/p-e758db14.system.entry.js +1 -0
  208. package/dist/ripple/p-ecb6a2e0.entry.js +1 -0
  209. package/dist/ripple/p-ef344252.entry.js +1 -0
  210. package/dist/ripple/p-f0dfc5d7.entry.js +1 -0
  211. package/dist/ripple/p-f2ba1a0f.system.entry.js +1 -0
  212. package/dist/ripple/p-f92f2d83.entry.js +1 -0
  213. package/dist/ripple/p-fe0a25c1.entry.js +1 -0
  214. package/dist/ripple/ripple.esm.js +1 -1
  215. package/dist/ripple/ripple.js +130 -0
  216. package/dist/types/components/wm-chart/wm-chart-slice.d.ts +3 -0
  217. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +6 -2
  218. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +1 -0
  219. package/dist/types/components/wm-modal/wm-modal.d.ts +1 -1
  220. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -0
  221. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -0
  222. package/dist/types/components/wm-navigation/wm-navigation.d.ts +19 -0
  223. package/dist/types/components.d.ts +57 -0
  224. package/dist/types/stencil-public-runtime.d.ts +6 -4
  225. package/package.json +1 -1
  226. package/dist/ripple/p-0068e871.entry.js +0 -1
  227. package/dist/ripple/p-00999aeb.entry.js +0 -1
  228. package/dist/ripple/p-08b273ba.entry.js +0 -1
  229. package/dist/ripple/p-0c58f50d.entry.js +0 -1
  230. package/dist/ripple/p-11c09317.entry.js +0 -1
  231. package/dist/ripple/p-196b4c55.entry.js +0 -1
  232. package/dist/ripple/p-1a3df227.entry.js +0 -1
  233. package/dist/ripple/p-3590a57f.entry.js +0 -1
  234. package/dist/ripple/p-3a178ac8.entry.js +0 -1
  235. package/dist/ripple/p-46371fad.entry.js +0 -1
  236. package/dist/ripple/p-5548fc7c.js +0 -1
  237. package/dist/ripple/p-5c73fd59.entry.js +0 -1
  238. package/dist/ripple/p-66513af1.entry.js +0 -1
  239. package/dist/ripple/p-828316d6.entry.js +0 -1
  240. package/dist/ripple/p-857a0bc0.js +0 -16
  241. package/dist/ripple/p-8b0eb05e.entry.js +0 -1
  242. package/dist/ripple/p-9624967f.entry.js +0 -1
  243. package/dist/ripple/p-99db8501.entry.js +0 -1
  244. package/dist/ripple/p-99e2c5f6.entry.js +0 -1
  245. package/dist/ripple/p-9baa3039.js +0 -1
  246. package/dist/ripple/p-b495e06c.entry.js +0 -1
  247. package/dist/ripple/p-b8aa478f.entry.js +0 -1
  248. package/dist/ripple/p-bc9ca97b.entry.js +0 -1
  249. package/dist/ripple/p-bf985c5d.entry.js +0 -1
  250. package/dist/ripple/p-cd6de442.entry.js +0 -1
  251. package/dist/ripple/p-cfdf1a79.entry.js +0 -1
  252. package/dist/ripple/p-d22c957d.entry.js +0 -1
  253. package/dist/ripple/p-e43b4eda.entry.js +0 -1
@@ -43,6 +43,57 @@ export class ChartSlice {
43
43
  },
44
44
  "attribute": "amount",
45
45
  "reflect": false
46
+ },
47
+ "popoverTitle": {
48
+ "type": "string",
49
+ "mutable": false,
50
+ "complexType": {
51
+ "original": "string",
52
+ "resolved": "string | undefined",
53
+ "references": {}
54
+ },
55
+ "required": false,
56
+ "optional": true,
57
+ "docs": {
58
+ "tags": [],
59
+ "text": ""
60
+ },
61
+ "attribute": "popover-title",
62
+ "reflect": false
63
+ },
64
+ "popoverText": {
65
+ "type": "string",
66
+ "mutable": false,
67
+ "complexType": {
68
+ "original": "string",
69
+ "resolved": "string | undefined",
70
+ "references": {}
71
+ },
72
+ "required": false,
73
+ "optional": true,
74
+ "docs": {
75
+ "tags": [],
76
+ "text": ""
77
+ },
78
+ "attribute": "popover-text",
79
+ "reflect": false
80
+ },
81
+ "popoverButtonText": {
82
+ "type": "string",
83
+ "mutable": false,
84
+ "complexType": {
85
+ "original": "string",
86
+ "resolved": "string | undefined",
87
+ "references": {}
88
+ },
89
+ "required": false,
90
+ "optional": true,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": ""
94
+ },
95
+ "attribute": "popover-button-text",
96
+ "reflect": false
46
97
  }
47
98
  }; }
48
99
  static get events() { return [{
@@ -35,7 +35,6 @@
35
35
  /********************************************************************************************/
36
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
37
  /********************************************************************************************/
38
- /* USAGE */
39
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
40
39
  /* TODO: replace with vars above whenever possible */
41
40
  /* Buttons */
@@ -131,6 +130,9 @@
131
130
  .component-wrapper .bar-wrapper .inner-bar-wrapper {
132
131
  width: 100%;
133
132
  }
133
+ .component-wrapper .bar-wrapper .inner-bar-wrapper .values {
134
+ display: flex;
135
+ }
134
136
  .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper {
135
137
  display: flex;
136
138
  }
@@ -424,7 +424,7 @@ export class Chart {
424
424
  "inner-bar-wrapper": true,
425
425
  "show-values": this.tempValueFormat === "percentage" || this.tempValueFormat === "amount",
426
426
  } },
427
- this.currentChartType !== "bar1" ? (h("div", null, this.slicesData.map((s, idx) => (s.perc > 0 ? this.renderBarText(s, idx) : "")))) : (""),
427
+ this.currentChartType !== "bar1" ? (h("div", { class: "values" }, this.slicesData.map((s, idx) => (s.perc > 0 ? this.renderBarText(s, idx) : "")))) : (""),
428
428
  h("div", { class: "bar-segments-wrapper", ref: (el) => (this.barEl = el) }, this.slicesData.map((s, idx) => this.renderBarSegment(s, idx))),
429
429
  this.renderCompletionMessage())));
430
430
  }
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  /* --------------------------------------
3
2
  1. Box-shadow
4
3
  -------------------------------------- */
@@ -36,7 +35,6 @@
36
35
  /********************************************************************************************/
37
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
38
37
  /********************************************************************************************/
39
- /* USAGE */
40
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
41
39
  /* TODO: replace with vars above whenever possible */
42
40
  /* Buttons */
@@ -95,7 +93,7 @@
95
93
  line-height: inherit;
96
94
  -webkit-font-smoothing: antialiased;
97
95
  -moz-osx-font-smoothing: grayscale;
98
- content: "";
96
+ content: "\f0ed";
99
97
  font-size: 1.5rem;
100
98
  color: #575195;
101
99
  padding: 0;
@@ -184,11 +182,11 @@
184
182
  line-height: inherit;
185
183
  -webkit-font-smoothing: antialiased;
186
184
  -moz-osx-font-smoothing: grayscale;
187
- content: "";
185
+ content: "\f140";
188
186
  padding-left: 0.75rem;
189
187
  }
190
188
  .popup .calendar-header .title-box.year:after {
191
- content: "";
189
+ content: "\f143";
192
190
  }
193
191
  .popup .calendar-header .title-box::-moz-focus-inner {
194
192
  border: 0;
@@ -15,6 +15,7 @@ export class PrivDatepicker {
15
15
  this.dayInFocus = this.selectedDay;
16
16
  this.monthNumInFocus = this.selectedMonth;
17
17
  this.parentId = "";
18
+ this.isTabbing = false;
18
19
  this.popupClicked = true;
19
20
  this.buttonClicked = true;
20
21
  this.prevClicked = true;
@@ -118,13 +119,12 @@ export class PrivDatepicker {
118
119
  //Clunky exception for blur validation. Remove when blur reworked.
119
120
  !ev.target.id.includes("popup-title") && ev.target.click();
120
121
  break;
121
- //escape
122
+ // Escape
122
123
  case 27:
123
124
  ev.preventDefault();
124
125
  if (this.isExpanded) {
125
126
  ev.stopPropagation(); // prevents closing of parent modal
126
- this.togglePopup();
127
- this.buttonEl.focus();
127
+ this.closePopup();
128
128
  }
129
129
  break;
130
130
  // Page Up
@@ -272,27 +272,29 @@ export class PrivDatepicker {
272
272
  }
273
273
  }
274
274
  toggleTabbingOn(ev) {
275
- var keys = ["Tab", 9, "ArrowUp", 38, "ArrowDown", 40, "ArrowLeft", 37, "ArrowRight", 39, "Enter", 13];
276
- var key = ev.key || ev.keyCode;
277
- if (keys.includes(key)) {
278
- this.popupEl && this.popupEl.classList.add("user-is-tabbing");
275
+ const validKeys = ["Tab", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
276
+ if (validKeys.includes(ev.key)) {
277
+ this.isTabbing = true;
279
278
  }
280
279
  }
281
280
  //Using mousedown prevents this from running when the keydown listener emits ".click()" for when enter is pressed.
282
281
  toggleTabbingOff() {
283
- this.popupEl && this.popupEl.classList.remove("user-is-tabbing");
282
+ this.isTabbing = false;
284
283
  }
285
- blurHandler() {
284
+ blurHandler(ev) {
286
285
  if (!this.popupClicked && !this.buttonClicked && this.isExpanded) {
287
286
  this.closePopup();
287
+ // in this case, the PointerEvent target is identical to the blur events relatedTarget, and is passed on as such
288
+ this.popupBlurred.emit({ relatedTarget: ev.target });
288
289
  }
289
290
  this.popupClicked = false;
290
291
  this.buttonClicked = false;
291
292
  }
292
- handleBlurOnWindow() {
293
+ handleBlurOnWindow(ev) {
293
294
  // for cases where the user clicks or uses a shortcut to leave the document
294
295
  if (this.isExpanded) {
295
296
  this.closePopup();
297
+ this.popupBlurred.emit({ relatedTarget: ev.target });
296
298
  }
297
299
  }
298
300
  setDateValuesForView() {
@@ -328,10 +330,12 @@ export class PrivDatepicker {
328
330
  this.dayInFocus = this.selectedDay;
329
331
  this.changeView("day");
330
332
  window.requestAnimationFrame(() => {
331
- //For instances where the app is checking for errors in the date on blur
333
+ // For instances where the app is checking for errors in the date on blur
332
334
  // trigger blur, but keep focus on button
333
- this.popupClosed.emit();
334
- this.buttonEl.focus();
335
+ if (this.isTabbing) {
336
+ this.popupClosed.emit();
337
+ this.buttonEl.focus();
338
+ }
335
339
  });
336
340
  }
337
341
  openPopup() {
@@ -566,7 +570,7 @@ export class PrivDatepicker {
566
570
  defaultMessage: "Calendar View",
567
571
  description: "Calendar button",
568
572
  }) })),
569
- h("div", { class: `popup ${this.view}-view ${this.openUp ? "expand-upwards" : ""}`, id: `popup-${this.parentId}`, ref: (el) => (this.popupEl = el), onClick: () => (this.popupClicked = true), role: "application", "aria-describedby": "application" }, this.view === "day" ? (h("div", { class: "day-view" },
573
+ h("div", { class: `popup ${this.view}-view ${this.openUp ? "expand-upwards" : ""} ${this.isTabbing ? "user-is-tabbing" : ""}`, id: `popup-${this.parentId}`, ref: (el) => (this.popupEl = el), onClick: () => (this.popupClicked = true), role: "application", "aria-describedby": "application" }, this.view === "day" ? (h("div", { class: "day-view" },
570
574
  h("div", { class: "calendar-header" },
571
575
  h("button", { onClick: () => {
572
576
  this.prevClicked = true;
@@ -924,7 +928,8 @@ export class PrivDatepicker {
924
928
  }
925
929
  }; }
926
930
  static get states() { return {
927
- "monthNumInFocus": {}
931
+ "monthNumInFocus": {},
932
+ "isTabbing": {}
928
933
  }; }
929
934
  static get events() { return [{
930
935
  "method": "cellTriggered",
@@ -979,6 +984,25 @@ export class PrivDatepicker {
979
984
  "resolved": "any",
980
985
  "references": {}
981
986
  }
987
+ }, {
988
+ "method": "popupBlurred",
989
+ "name": "popupBlurred",
990
+ "bubbles": true,
991
+ "cancelable": true,
992
+ "composed": true,
993
+ "docs": {
994
+ "tags": [],
995
+ "text": ""
996
+ },
997
+ "complexType": {
998
+ "original": "{ relatedTarget: EventTarget | null }",
999
+ "resolved": "{ relatedTarget: EventTarget | null; }",
1000
+ "references": {
1001
+ "EventTarget": {
1002
+ "location": "global"
1003
+ }
1004
+ }
1005
+ }
982
1006
  }]; }
983
1007
  static get elementRef() { return "el"; }
984
1008
  static get listeners() { return [{
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  /* --------------------------------------
3
2
  1. Box-shadow
4
3
  -------------------------------------- */
@@ -36,7 +35,6 @@
36
35
  /********************************************************************************************/
37
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
38
37
  /********************************************************************************************/
39
- /* USAGE */
40
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
41
39
  /* TODO: replace with vars above whenever possible */
42
40
  /* Buttons */
@@ -113,7 +111,7 @@ wm-datepicker .wrapper.invalid .label:after {
113
111
  line-height: inherit;
114
112
  -webkit-font-smoothing: antialiased;
115
113
  -moz-osx-font-smoothing: grayscale;
116
- content: "";
114
+ content: "\f026";
117
115
  margin-left: 0.3125rem;
118
116
  }
119
117
  [dir=RTL] :host .wrapper.invalid .label:after,
@@ -70,6 +70,15 @@ export class DatePicker {
70
70
  this.el.tabIndex = 0;
71
71
  this.el.focus();
72
72
  }
73
+ handlePopupBlurred(ev) {
74
+ // emit blur event when leaving component from priv-datepicker
75
+ if (ev.detail.relatedTarget !== this.el) {
76
+ const event = new CustomEvent("blur");
77
+ // @ts-ignore
78
+ event.relatedTarget = ev.detail.relatedTarget;
79
+ this.el.dispatchEvent(event);
80
+ }
81
+ }
73
82
  getActiveElement() {
74
83
  return checkForFocusableElInShadow(document.activeElement);
75
84
  }
@@ -458,6 +467,12 @@ export class DatePicker {
458
467
  "target": undefined,
459
468
  "capture": false,
460
469
  "passive": false
470
+ }, {
471
+ "name": "popupBlurred",
472
+ "method": "handlePopupBlurred",
473
+ "target": undefined,
474
+ "capture": false,
475
+ "passive": false
461
476
  }, {
462
477
  "name": "cellTriggered",
463
478
  "method": "handleCellTriggered",
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  /* --------------------------------------
3
2
  1. Box-shadow
4
3
  -------------------------------------- */
@@ -36,7 +35,6 @@
36
35
  /********************************************************************************************/
37
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
38
37
  /********************************************************************************************/
39
- /* USAGE */
40
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
41
39
  /* TODO: replace with vars above whenever possible */
42
40
  /* Buttons */
@@ -114,7 +112,7 @@ wm-input .wrapper.invalid .label:after {
114
112
  line-height: inherit;
115
113
  -webkit-font-smoothing: antialiased;
116
114
  -moz-osx-font-smoothing: grayscale;
117
- content: "";
115
+ content: "\f026";
118
116
  margin-left: 0.3125rem;
119
117
  }
120
118
  [dir=RTL] :host .wrapper.invalid .label:after,
@@ -35,7 +35,6 @@
35
35
  /********************************************************************************************/
36
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
37
  /********************************************************************************************/
38
- /* USAGE */
39
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
40
39
  /* TODO: replace with vars above whenever possible */
41
40
  /* Buttons */
@@ -35,7 +35,6 @@
35
35
  /********************************************************************************************/
36
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
37
  /********************************************************************************************/
38
- /* USAGE */
39
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
40
39
  /* TODO: replace with vars above whenever possible */
41
40
  /* Buttons */
@@ -35,7 +35,6 @@
35
35
  /********************************************************************************************/
36
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
37
  /********************************************************************************************/
38
- /* USAGE */
39
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
40
39
  /* TODO: replace with vars above whenever possible */
41
40
  /* Buttons */
@@ -35,7 +35,6 @@
35
35
  /********************************************************************************************/
36
36
  /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
37
  /********************************************************************************************/
38
- /* USAGE */
39
38
  /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
40
39
  /* TODO: replace with vars above whenever possible */
41
40
  /* Buttons */
@@ -44,6 +44,8 @@ export class Modal {
44
44
  }
45
45
  closeModalOnEscape(ev) {
46
46
  if (ev.key === "Escape") {
47
+ // stops propagation prevents nested modal from closing all at once
48
+ ev.stopPropagation();
47
49
  this.wmModalCloseTriggered.emit();
48
50
  this.wmCloseTriggered.emit(); // deprecated
49
51
  this.open = false;
@@ -297,7 +299,7 @@ export class Modal {
297
299
  }, {
298
300
  "method": "wmModalCloseTriggered",
299
301
  "name": "wmModalCloseTriggered",
300
- "bubbles": true,
302
+ "bubbles": false,
301
303
  "cancelable": true,
302
304
  "composed": true,
303
305
  "docs": {
@@ -0,0 +1,86 @@
1
+ /* --------------------------------------
2
+ 1. Box-shadow
3
+ -------------------------------------- */
4
+ /* --------------------------------------
5
+ 2. Border-radius
6
+ -------------------------------------- */
7
+ /* --------------------------------------
8
+ 3. Transforms
9
+ -------------------------------------- */
10
+ /* --------------------------------------
11
+ 4. Button Focus
12
+ -------------------------------------- */
13
+ /* --------------------------------------
14
+ 5. Flex
15
+ -------------------------------------- */
16
+ /* --------------------------------------
17
+ 6. Button Hover
18
+ -------------------------------------- */
19
+ /* --------------------------------------
20
+ 7. Screen Reader Only
21
+ -------------------------------------- */
22
+ /* --------------------------------------
23
+ 8. Label styles
24
+ this mixin includes all the styles for the label
25
+ + flex rules on the parent container to switch between top and left position
26
+ + srOnly when label is hidden
27
+ Assumes the following markup:
28
+ div.wrapper[.label-left.invalid] > div.label-wrapper > label.label > span.required
29
+ .wrapper is for the flex rules
30
+ .label-wrapper is to set the height of the label when positioned left so it's the same height as
31
+ the input. It can't be done directly on .label because of possible line wrapping.
32
+ When the label is on top there's no line wrapping at all to ensure proper alignment of inlined elements
33
+ (they can't be aligned on the baseline because of possible description text and error message)
34
+ -------------------------------------- */
35
+ /********************************************************************************************/
36
+ /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
+ /********************************************************************************************/
38
+ /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
39
+ /* TODO: replace with vars above whenever possible */
40
+ /* Buttons */
41
+ /* VIA */
42
+ :host {
43
+ width: 3.75rem;
44
+ height: 3.75rem;
45
+ }
46
+
47
+ button {
48
+ width: 100%;
49
+ height: 100%;
50
+ border: none;
51
+ box-shadow: none;
52
+ transition: background-color 500ms cubic-bezier(0.4, 0, 0.2, 1);
53
+ background-color: transparent;
54
+ outline: none;
55
+ padding: 0;
56
+ }
57
+ button.user-is-tabbing:focus {
58
+ -webkit-box-shadow: 0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;
59
+ -moz-box-shadow: 0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;
60
+ box-shadow: 0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;
61
+ }
62
+ button.user-is-tabbing:focus::-moz-focus-inner {
63
+ border: 0;
64
+ }
65
+ button:hover {
66
+ background-color: #d7d6d9;
67
+ }
68
+
69
+ .icon:before {
70
+ display: inline-block;
71
+ font: normal normal normal 24px/1 "Material Design Icons";
72
+ font-size: inherit;
73
+ text-rendering: auto;
74
+ line-height: inherit;
75
+ -webkit-font-smoothing: antialiased;
76
+ -moz-osx-font-smoothing: grayscale;
77
+ content: "\f35c";
78
+ font-size: 1.5rem;
79
+ color: #575195;
80
+ }
81
+
82
+ @media screen and (min-width: 1024px) {
83
+ button {
84
+ display: none;
85
+ }
86
+ }
@@ -0,0 +1,96 @@
1
+ import { h, Component, Element, Prop, Listen, State } from "@stencil/core";
2
+ export class NavigationHamburger {
3
+ constructor() {
4
+ this.isTabbing = false;
5
+ this.open = false;
6
+ }
7
+ toggleTabbingOn() {
8
+ this.isTabbing = true;
9
+ }
10
+ toggleTabbingOff() {
11
+ this.isTabbing = false;
12
+ }
13
+ handleNavigationStateChanged(ev) {
14
+ this.open = ev.detail.open;
15
+ }
16
+ componentWillLoad() {
17
+ this.el.focus = function () {
18
+ // if (!this.disabled) {
19
+ this.shadowRoot.querySelector("button").focus();
20
+ /*
21
+ // prevent tooltip from showing on programmatic focus
22
+ requestAnimationFrame(() => {
23
+ this.tooltipVisible = false;
24
+ });
25
+ */
26
+ // }
27
+ };
28
+ if (document.body.classList.contains("wmcl-user-is-tabbing")) {
29
+ this.toggleTabbingOn();
30
+ }
31
+ if (!this.navId) {
32
+ console.error("wm-navigation-hamburger: nav-id is a required prop");
33
+ }
34
+ }
35
+ componentDidLoad() {
36
+ this.nav = document.getElementById(this.navId);
37
+ if (!this.nav) {
38
+ console.error(`wm-navigation-hamburger: wm-navigation with id ${this.navId} was not found`);
39
+ }
40
+ }
41
+ render() {
42
+ return (h("button", { class: `${this.isTabbing ? "user-is-tabbing" : ""}`, "aria-expanded": this.open, "aria-controls": this.navId, onClick: () => (this.nav.open = !this.nav.open) },
43
+ h("span", { class: "icon" })));
44
+ }
45
+ static get is() { return "wm-navigation-hamburger"; }
46
+ static get encapsulation() { return "shadow"; }
47
+ static get originalStyleUrls() { return {
48
+ "$": ["wm-navigation-hamburger.scss"]
49
+ }; }
50
+ static get styleUrls() { return {
51
+ "$": ["wm-navigation-hamburger.css"]
52
+ }; }
53
+ static get properties() { return {
54
+ "navId": {
55
+ "type": "string",
56
+ "mutable": false,
57
+ "complexType": {
58
+ "original": "string",
59
+ "resolved": "string | undefined",
60
+ "references": {}
61
+ },
62
+ "required": false,
63
+ "optional": true,
64
+ "docs": {
65
+ "tags": [],
66
+ "text": ""
67
+ },
68
+ "attribute": "nav-id",
69
+ "reflect": false
70
+ }
71
+ }; }
72
+ static get states() { return {
73
+ "isTabbing": {},
74
+ "open": {}
75
+ }; }
76
+ static get elementRef() { return "el"; }
77
+ static get listeners() { return [{
78
+ "name": "wmUserIsTabbing",
79
+ "method": "toggleTabbingOn",
80
+ "target": "window",
81
+ "capture": false,
82
+ "passive": false
83
+ }, {
84
+ "name": "wmUserIsNotTabbing",
85
+ "method": "toggleTabbingOff",
86
+ "target": "window",
87
+ "capture": false,
88
+ "passive": false
89
+ }, {
90
+ "name": "wmNavigationStateChanged",
91
+ "method": "handleNavigationStateChanged",
92
+ "target": "document",
93
+ "capture": false,
94
+ "passive": false
95
+ }]; }
96
+ }
@@ -0,0 +1,85 @@
1
+ /* --------------------------------------
2
+ 1. Box-shadow
3
+ -------------------------------------- */
4
+ /* --------------------------------------
5
+ 2. Border-radius
6
+ -------------------------------------- */
7
+ /* --------------------------------------
8
+ 3. Transforms
9
+ -------------------------------------- */
10
+ /* --------------------------------------
11
+ 4. Button Focus
12
+ -------------------------------------- */
13
+ /* --------------------------------------
14
+ 5. Flex
15
+ -------------------------------------- */
16
+ /* --------------------------------------
17
+ 6. Button Hover
18
+ -------------------------------------- */
19
+ /* --------------------------------------
20
+ 7. Screen Reader Only
21
+ -------------------------------------- */
22
+ /* --------------------------------------
23
+ 8. Label styles
24
+ this mixin includes all the styles for the label
25
+ + flex rules on the parent container to switch between top and left position
26
+ + srOnly when label is hidden
27
+ Assumes the following markup:
28
+ div.wrapper[.label-left.invalid] > div.label-wrapper > label.label > span.required
29
+ .wrapper is for the flex rules
30
+ .label-wrapper is to set the height of the label when positioned left so it's the same height as
31
+ the input. It can't be done directly on .label because of possible line wrapping.
32
+ When the label is on top there's no line wrapping at all to ensure proper alignment of inlined elements
33
+ (they can't be aligned on the baseline because of possible description text and error message)
34
+ -------------------------------------- */
35
+ /********************************************************************************************/
36
+ /* DO NOT USE THESE DIRECTLY, ASSIGN THEM TO VARIABLES NAMED AFTER FUNCTIONALITY, SEE BELOW */
37
+ /********************************************************************************************/
38
+ /* BELOW IS BEFORE WE HAD THE COLOR PALETTE FROM UI */
39
+ /* TODO: replace with vars above whenever possible */
40
+ /* Buttons */
41
+ /* VIA */
42
+ .link {
43
+ display: flex;
44
+ flex-direction: column;
45
+ justify-content: center;
46
+ color: inherit;
47
+ text-decoration: none;
48
+ min-height: 4.5rem;
49
+ text-align: center;
50
+ padding: 1.25rem 0.5rem;
51
+ font-weight: 500;
52
+ outline: none;
53
+ position: relative;
54
+ }
55
+ .link:hover {
56
+ background-color: #f2f2f2;
57
+ }
58
+ .link .icon {
59
+ font-size: 1.375rem;
60
+ color: #6b6b6b;
61
+ }
62
+ .link .text {
63
+ font-size: 0.875rem;
64
+ }
65
+ .link.user-is-tabbing:focus {
66
+ box-shadow: inset 0 2px 2px 0 rgba(244, 243, 246, 0.2), inset 0 2px 2px 0 rgba(0, 0, 0, 0.1), inset 0 0 4px 3px #61279e;
67
+ }
68
+
69
+ .link.active {
70
+ background-color: #e9e7ec;
71
+ }
72
+ .link.active:before {
73
+ content: "";
74
+ background-color: #575195;
75
+ position: absolute;
76
+ height: 100%;
77
+ width: 5px;
78
+ left: 0;
79
+ }
80
+ .link.active .text {
81
+ color: #575195;
82
+ }
83
+ .link.active .icon {
84
+ color: #575195;
85
+ }