@watermarkinsights/ripple 4.0.0-9 → 4.0.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 (217) hide show
  1. package/dist/cjs/{chartFunctions-33cb3097.js → chartFunctions-f5ded027.js} +1 -1
  2. package/dist/cjs/{functions-833ccc83.js → functions-e7db4a26.js} +67 -824
  3. package/dist/cjs/{global-d57c118b.js → global-b33cf49b.js} +1 -1
  4. package/dist/cjs/{intl-ab07bd0b.js → intl-9ef93563.js} +3 -3
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/priv-chart-popover.cjs.entry.js +1 -1
  7. package/dist/cjs/priv-datepicker.cjs.entry.js +1 -1
  8. package/dist/cjs/ripple.cjs.js +3 -3
  9. package/dist/cjs/wm-action-menu_2.cjs.entry.js +2 -2
  10. package/dist/cjs/wm-button.cjs.entry.js +1 -1
  11. package/dist/cjs/wm-chart.cjs.entry.js +4 -4
  12. package/dist/cjs/wm-datepicker.cjs.entry.js +1 -1
  13. package/dist/cjs/wm-file.cjs.entry.js +7 -4
  14. package/dist/cjs/wm-input.cjs.entry.js +4 -9
  15. package/dist/cjs/wm-line-chart.cjs.entry.js +3 -3
  16. package/dist/cjs/wm-modal-header.cjs.entry.js +2 -2
  17. package/dist/cjs/wm-modal.cjs.entry.js +1 -1
  18. package/dist/cjs/wm-navigation_3.cjs.entry.js +2 -2
  19. package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
  20. package/dist/cjs/wm-option_2.cjs.entry.js +68 -119
  21. package/dist/cjs/wm-pagination.cjs.entry.js +1 -1
  22. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +4 -4
  23. package/dist/cjs/wm-search.cjs.entry.js +2 -2
  24. package/dist/cjs/wm-snackbar.cjs.entry.js +2 -2
  25. package/dist/cjs/wm-tab-item_3.cjs.entry.js +2 -2
  26. package/dist/cjs/wm-tag-input.cjs.entry.js +521 -617
  27. package/dist/cjs/wm-tag-option.cjs.entry.js +43 -0
  28. package/dist/cjs/wm-timepicker.cjs.entry.js +1 -1
  29. package/dist/cjs/wm-toggletip.cjs.entry.js +1 -1
  30. package/dist/cjs/wm-uploader.cjs.entry.js +2 -2
  31. package/dist/collection/collection-manifest.json +3 -3
  32. package/dist/collection/components/charts/wm-chart/wm-chart.css +0 -1
  33. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +0 -1
  34. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +9 -1
  35. package/dist/collection/components/wm-file/wm-file.js +23 -3
  36. package/dist/collection/components/wm-file/wm-file.spec.js +83 -34
  37. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +32 -59
  38. package/dist/collection/components/wm-input/wm-input.js +1 -8
  39. package/dist/collection/components/wm-menuitem/wm-menuitem.js +1 -1
  40. package/dist/collection/components/wm-option/wm-option.css +6 -6
  41. package/dist/collection/components/wm-option/wm-option.js +47 -3
  42. package/dist/collection/components/wm-select/wm-select.e2e.js +60 -114
  43. package/dist/collection/components/wm-select/wm-select.js +80 -141
  44. package/dist/collection/components/wm-select/wm-select.spec.js +9 -11
  45. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -1
  46. package/dist/collection/components/wm-tag-input/wm-tag-input.css +19 -22
  47. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +3 -3
  48. package/dist/collection/components/wm-tag-input/wm-tag-input.js +597 -726
  49. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +241 -0
  50. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +26 -47
  51. package/dist/collection/components/wm-uploader/wm-uploader.js +3 -3
  52. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +67 -140
  53. package/dist/collection/global/functions.js +22 -10
  54. package/dist/collection/global/intl.js +2 -2
  55. package/dist/collection/lang/lang.spec.js +2 -2
  56. package/dist/esm/{chartFunctions-36eb2d1a.js → chartFunctions-2a4603c6.js} +1 -1
  57. package/dist/esm/{functions-061ab506.js → functions-358a1a02.js} +66 -824
  58. package/dist/esm/{global-509460f7.js → global-ba03a879.js} +1 -1
  59. package/dist/esm/{intl-d698d52f.js → intl-48057c4d.js} +3 -3
  60. package/dist/esm/loader.js +3 -3
  61. package/dist/esm/polyfills/core-js.js +0 -0
  62. package/dist/esm/polyfills/dom.js +0 -0
  63. package/dist/esm/polyfills/es5-html-element.js +0 -0
  64. package/dist/esm/polyfills/index.js +0 -0
  65. package/dist/esm/polyfills/system.js +0 -0
  66. package/dist/esm/priv-chart-popover.entry.js +1 -1
  67. package/dist/esm/priv-datepicker.entry.js +1 -1
  68. package/dist/esm/ripple.js +3 -3
  69. package/dist/esm/wm-action-menu_2.entry.js +2 -2
  70. package/dist/esm/wm-button.entry.js +1 -1
  71. package/dist/esm/wm-chart.entry.js +4 -4
  72. package/dist/esm/wm-datepicker.entry.js +1 -1
  73. package/dist/esm/wm-file.entry.js +7 -4
  74. package/dist/esm/wm-input.entry.js +4 -9
  75. package/dist/esm/wm-line-chart.entry.js +3 -3
  76. package/dist/esm/wm-modal-header.entry.js +2 -2
  77. package/dist/esm/wm-modal.entry.js +1 -1
  78. package/dist/esm/wm-navigation_3.entry.js +2 -2
  79. package/dist/esm/wm-navigator.entry.js +1 -1
  80. package/dist/esm/wm-option_2.entry.js +68 -119
  81. package/dist/esm/wm-pagination.entry.js +1 -1
  82. package/dist/esm/wm-progress-indicator_3.entry.js +4 -4
  83. package/dist/esm/wm-search.entry.js +2 -2
  84. package/dist/esm/wm-snackbar.entry.js +2 -2
  85. package/dist/esm/wm-tab-item_3.entry.js +2 -2
  86. package/dist/esm/wm-tag-input.entry.js +522 -618
  87. package/dist/esm/wm-tag-option.entry.js +39 -0
  88. package/dist/esm/wm-timepicker.entry.js +1 -1
  89. package/dist/esm/wm-toggletip.entry.js +1 -1
  90. package/dist/esm/wm-uploader.entry.js +2 -2
  91. package/dist/esm-es5/{chartFunctions-36eb2d1a.js → chartFunctions-2a4603c6.js} +1 -1
  92. package/dist/esm-es5/functions-358a1a02.js +1 -0
  93. package/dist/esm-es5/global-ba03a879.js +1 -0
  94. package/dist/esm-es5/{intl-d698d52f.js → intl-48057c4d.js} +1 -1
  95. package/dist/esm-es5/loader.js +1 -1
  96. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  97. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  98. package/dist/esm-es5/ripple.js +1 -1
  99. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  100. package/dist/esm-es5/wm-button.entry.js +1 -1
  101. package/dist/esm-es5/wm-chart.entry.js +1 -1
  102. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  103. package/dist/esm-es5/wm-file.entry.js +1 -1
  104. package/dist/esm-es5/wm-input.entry.js +1 -1
  105. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  106. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  107. package/dist/esm-es5/wm-modal.entry.js +1 -1
  108. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  109. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  110. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  111. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  112. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  113. package/dist/esm-es5/wm-search.entry.js +1 -1
  114. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  115. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  116. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  117. package/dist/esm-es5/wm-tag-option.entry.js +1 -0
  118. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  119. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  120. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  121. package/dist/ripple/{p-3f159fa3.entry.js → p-05ef4092.entry.js} +1 -1
  122. package/dist/ripple/p-11d629cb.system.entry.js +1 -0
  123. package/dist/ripple/p-126fbcdb.entry.js +1 -0
  124. package/dist/ripple/p-12a140e0.system.entry.js +1 -0
  125. package/dist/ripple/{p-e61e2d7f.entry.js → p-191fafc6.entry.js} +1 -1
  126. package/dist/ripple/p-1ab62a21.system.entry.js +1 -0
  127. package/dist/ripple/{p-d8287161.entry.js → p-1e7e2ca4.entry.js} +1 -1
  128. package/dist/ripple/{p-fef28649.system.entry.js → p-1ee49e28.system.entry.js} +1 -1
  129. package/dist/ripple/{p-e82eae12.entry.js → p-299bf10c.entry.js} +1 -1
  130. package/dist/ripple/{p-c20c248a.entry.js → p-2d6bb6d7.entry.js} +1 -1
  131. package/dist/ripple/{p-a31e736a.entry.js → p-366a9608.entry.js} +1 -1
  132. package/dist/ripple/p-3a20b1ed.system.entry.js +1 -0
  133. package/dist/ripple/p-3bb79457.entry.js +1 -0
  134. package/dist/ripple/{p-1f7a67cc.system.js → p-426fa249.system.js} +1 -1
  135. package/dist/ripple/p-44d4705c.system.js +1 -0
  136. package/dist/ripple/p-492dd748.system.entry.js +1 -0
  137. package/dist/ripple/p-4aa8e2cf.entry.js +1 -0
  138. package/dist/ripple/{p-ff891d67.js → p-52f5ec85.js} +1 -1
  139. package/dist/ripple/{p-484d57e1.entry.js → p-546d5c1d.entry.js} +1 -1
  140. package/dist/ripple/{p-d231aed1.system.entry.js → p-585732f7.system.entry.js} +1 -1
  141. package/dist/ripple/p-6767b009.system.js +1 -0
  142. package/dist/ripple/{p-c6ba5d3d.system.entry.js → p-681c9539.system.entry.js} +1 -1
  143. package/dist/ripple/{p-d2c9264d.entry.js → p-68cade03.entry.js} +1 -1
  144. package/dist/ripple/{p-260fd686.system.entry.js → p-6c27afee.system.entry.js} +1 -1
  145. package/dist/ripple/{p-d108107c.entry.js → p-7740db9a.entry.js} +1 -1
  146. package/dist/ripple/{p-055d1c23.system.entry.js → p-7d005413.system.entry.js} +1 -1
  147. package/dist/ripple/{p-c9830db6.system.entry.js → p-7e2c2c46.system.entry.js} +1 -1
  148. package/dist/ripple/p-7fa84884.system.entry.js +1 -0
  149. package/dist/ripple/{p-9a3d8f0b.system.entry.js → p-8b143e9d.system.entry.js} +1 -1
  150. package/dist/ripple/{p-0790bfed.entry.js → p-8ea235b6.entry.js} +1 -1
  151. package/dist/ripple/{p-4eae76a6.entry.js → p-8fadf5dd.entry.js} +1 -1
  152. package/dist/ripple/{p-8df34bf3.system.entry.js → p-94c65a69.system.entry.js} +1 -1
  153. package/dist/ripple/{p-3bd6839a.entry.js → p-9690de6c.entry.js} +1 -1
  154. package/dist/ripple/p-acb0156f.system.entry.js +1 -0
  155. package/dist/ripple/p-ae7290c2.entry.js +1 -0
  156. package/dist/ripple/{p-030b527a.js → p-aea9a33a.js} +1 -1
  157. package/dist/ripple/p-b6e5408c.js +1 -0
  158. package/dist/ripple/p-b75c0973.system.js +1 -0
  159. package/dist/ripple/{p-21f73fee.system.entry.js → p-b858d526.system.entry.js} +1 -1
  160. package/dist/ripple/{p-40b5b7d1.system.entry.js → p-b92c2e16.system.entry.js} +1 -1
  161. package/dist/ripple/p-be79e95d.entry.js +1 -0
  162. package/dist/ripple/{p-b623fdc8.entry.js → p-bfff12b4.entry.js} +1 -1
  163. package/dist/ripple/{p-68d7cf2b.entry.js → p-c028f29c.entry.js} +1 -1
  164. package/dist/ripple/p-c19ed569.entry.js +1 -0
  165. package/dist/ripple/{p-f42031f5.system.js → p-c3da681d.system.js} +1 -1
  166. package/dist/ripple/{p-9b94467e.entry.js → p-c5105455.entry.js} +1 -1
  167. package/dist/ripple/{p-15457a4b.system.entry.js → p-c86a7f4d.system.entry.js} +1 -1
  168. package/dist/ripple/{p-b9283910.entry.js → p-db58d96b.entry.js} +1 -1
  169. package/dist/ripple/p-dd92850a.js +1 -0
  170. package/dist/ripple/p-e39e6c2b.entry.js +1 -0
  171. package/dist/ripple/{p-a8ea87d1.system.entry.js → p-ec831e59.system.entry.js} +1 -1
  172. package/dist/ripple/{p-f1029090.system.entry.js → p-ee51efe0.system.entry.js} +1 -1
  173. package/dist/ripple/{p-777ced5b.entry.js → p-eec01bbe.entry.js} +1 -1
  174. package/dist/ripple/{p-5ed1b0a2.system.entry.js → p-f339d590.system.entry.js} +1 -1
  175. package/dist/ripple/{p-5b593411.system.entry.js → p-f3407959.system.entry.js} +1 -1
  176. package/dist/ripple/{p-da727af8.system.entry.js → p-f3a374ff.system.entry.js} +1 -1
  177. package/dist/ripple/{p-867b20a9.system.entry.js → p-f43fda55.system.entry.js} +1 -1
  178. package/dist/ripple/ripple.esm.js +1 -1
  179. package/dist/ripple/ripple.js +1 -1
  180. package/dist/types/components/wm-file/wm-file.d.ts +1 -1
  181. package/dist/types/components/wm-input/wm-input.d.ts +0 -1
  182. package/dist/types/components/wm-option/wm-option.d.ts +2 -0
  183. package/dist/types/components/wm-select/wm-select.d.ts +7 -7
  184. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +65 -85
  185. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +18 -0
  186. package/dist/types/components/wm-uploader/wm-uploader.d.ts +1 -1
  187. package/dist/types/components.d.ts +30 -27
  188. package/dist/types/global/functions.d.ts +2 -1
  189. package/dist/types/global/intl.d.ts +2 -2
  190. package/package.json +1 -1
  191. package/dist/cjs/wm-tag-input-row.cjs.entry.js +0 -23
  192. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +0 -122
  193. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +0 -1039
  194. package/dist/esm/wm-tag-input-row.entry.js +0 -19
  195. package/dist/esm-es5/functions-061ab506.js +0 -1
  196. package/dist/esm-es5/global-509460f7.js +0 -1
  197. package/dist/esm-es5/wm-tag-input-row.entry.js +0 -1
  198. package/dist/ripple/p-1c3ba701.system.entry.js +0 -1
  199. package/dist/ripple/p-4a8c95b9.system.entry.js +0 -1
  200. package/dist/ripple/p-5f2c09f6.entry.js +0 -1
  201. package/dist/ripple/p-647a4a4a.system.entry.js +0 -1
  202. package/dist/ripple/p-7011accc.entry.js +0 -1
  203. package/dist/ripple/p-707383d5.system.js +0 -1
  204. package/dist/ripple/p-7c2e47bc.system.entry.js +0 -1
  205. package/dist/ripple/p-839d7e0f.system.js +0 -1
  206. package/dist/ripple/p-928cc755.system.entry.js +0 -1
  207. package/dist/ripple/p-9888c825.js +0 -1
  208. package/dist/ripple/p-a5308115.js +0 -1
  209. package/dist/ripple/p-b45a2fc3.entry.js +0 -1
  210. package/dist/ripple/p-b4b57baf.system.entry.js +0 -1
  211. package/dist/ripple/p-c15f29e5.system.js +0 -1
  212. package/dist/ripple/p-d38882eb.entry.js +0 -1
  213. package/dist/ripple/p-d601c5a1.entry.js +0 -1
  214. package/dist/ripple/p-d68678d2.entry.js +0 -1
  215. package/dist/ripple/p-e703d9cd.entry.js +0 -1
  216. package/dist/ripple/p-eb0d569a.system.entry.js +0 -1
  217. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +0 -11
@@ -0,0 +1,241 @@
1
+ import { generateId } from "../../../global/functions";
2
+ export class TagOption {
3
+ constructor() {
4
+ this.selected = false;
5
+ this.locked = false;
6
+ this.col1 = undefined;
7
+ this.col2 = undefined;
8
+ this.col3 = undefined;
9
+ this.col4 = undefined;
10
+ }
11
+ async emitSelectedEvent() {
12
+ this.wmTagOptionSelected.emit();
13
+ }
14
+ async emitDeselectedEvent() {
15
+ this.wmTagOptionDeselected.emit();
16
+ }
17
+ componentWillLoad() {
18
+ if (!this.el.id) {
19
+ this.el.id = generateId();
20
+ }
21
+ }
22
+ handleSelected() {
23
+ // to update tag input when options state change.
24
+ this.selected ? this.privTagOptionSelected.emit() : this.privTagOptionDeselected.emit();
25
+ }
26
+ static get is() { return "wm-tag-option"; }
27
+ static get properties() {
28
+ return {
29
+ "selected": {
30
+ "type": "boolean",
31
+ "mutable": true,
32
+ "complexType": {
33
+ "original": "boolean",
34
+ "resolved": "boolean",
35
+ "references": {}
36
+ },
37
+ "required": false,
38
+ "optional": false,
39
+ "docs": {
40
+ "tags": [],
41
+ "text": ""
42
+ },
43
+ "attribute": "selected",
44
+ "reflect": true,
45
+ "defaultValue": "false"
46
+ },
47
+ "locked": {
48
+ "type": "boolean",
49
+ "mutable": false,
50
+ "complexType": {
51
+ "original": "boolean",
52
+ "resolved": "boolean",
53
+ "references": {}
54
+ },
55
+ "required": false,
56
+ "optional": false,
57
+ "docs": {
58
+ "tags": [],
59
+ "text": ""
60
+ },
61
+ "attribute": "locked",
62
+ "reflect": false,
63
+ "defaultValue": "false"
64
+ },
65
+ "col1": {
66
+ "type": "string",
67
+ "mutable": false,
68
+ "complexType": {
69
+ "original": "string",
70
+ "resolved": "string | undefined",
71
+ "references": {}
72
+ },
73
+ "required": false,
74
+ "optional": true,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": ""
78
+ },
79
+ "attribute": "col1",
80
+ "reflect": false
81
+ },
82
+ "col2": {
83
+ "type": "string",
84
+ "mutable": false,
85
+ "complexType": {
86
+ "original": "string",
87
+ "resolved": "string | undefined",
88
+ "references": {}
89
+ },
90
+ "required": false,
91
+ "optional": true,
92
+ "docs": {
93
+ "tags": [],
94
+ "text": ""
95
+ },
96
+ "attribute": "col2",
97
+ "reflect": false
98
+ },
99
+ "col3": {
100
+ "type": "string",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "string",
104
+ "resolved": "string | undefined",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": true,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": ""
112
+ },
113
+ "attribute": "col3",
114
+ "reflect": false
115
+ },
116
+ "col4": {
117
+ "type": "string",
118
+ "mutable": false,
119
+ "complexType": {
120
+ "original": "string",
121
+ "resolved": "string | undefined",
122
+ "references": {}
123
+ },
124
+ "required": false,
125
+ "optional": true,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": ""
129
+ },
130
+ "attribute": "col4",
131
+ "reflect": false
132
+ }
133
+ };
134
+ }
135
+ static get events() {
136
+ return [{
137
+ "method": "privTagOptionSelected",
138
+ "name": "privTagOptionSelected",
139
+ "bubbles": true,
140
+ "cancelable": true,
141
+ "composed": true,
142
+ "docs": {
143
+ "tags": [],
144
+ "text": ""
145
+ },
146
+ "complexType": {
147
+ "original": "void",
148
+ "resolved": "void",
149
+ "references": {}
150
+ }
151
+ }, {
152
+ "method": "privTagOptionDeselected",
153
+ "name": "privTagOptionDeselected",
154
+ "bubbles": true,
155
+ "cancelable": true,
156
+ "composed": true,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": ""
160
+ },
161
+ "complexType": {
162
+ "original": "void",
163
+ "resolved": "void",
164
+ "references": {}
165
+ }
166
+ }, {
167
+ "method": "wmTagOptionSelected",
168
+ "name": "wmTagOptionSelected",
169
+ "bubbles": true,
170
+ "cancelable": true,
171
+ "composed": true,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": ""
175
+ },
176
+ "complexType": {
177
+ "original": "any",
178
+ "resolved": "any",
179
+ "references": {}
180
+ }
181
+ }, {
182
+ "method": "wmTagOptionDeselected",
183
+ "name": "wmTagOptionDeselected",
184
+ "bubbles": true,
185
+ "cancelable": true,
186
+ "composed": true,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": ""
190
+ },
191
+ "complexType": {
192
+ "original": "any",
193
+ "resolved": "any",
194
+ "references": {}
195
+ }
196
+ }];
197
+ }
198
+ static get methods() {
199
+ return {
200
+ "emitSelectedEvent": {
201
+ "complexType": {
202
+ "signature": "() => Promise<void>",
203
+ "parameters": [],
204
+ "references": {
205
+ "Promise": {
206
+ "location": "global"
207
+ }
208
+ },
209
+ "return": "Promise<void>"
210
+ },
211
+ "docs": {
212
+ "text": "",
213
+ "tags": []
214
+ }
215
+ },
216
+ "emitDeselectedEvent": {
217
+ "complexType": {
218
+ "signature": "() => Promise<void>",
219
+ "parameters": [],
220
+ "references": {
221
+ "Promise": {
222
+ "location": "global"
223
+ }
224
+ },
225
+ "return": "Promise<void>"
226
+ },
227
+ "docs": {
228
+ "text": "",
229
+ "tags": []
230
+ }
231
+ }
232
+ };
233
+ }
234
+ static get elementRef() { return "el"; }
235
+ static get watchers() {
236
+ return [{
237
+ "propName": "selected",
238
+ "methodName": "handleSelected"
239
+ }];
240
+ }
241
+ }
@@ -1,13 +1,15 @@
1
1
  import { newE2EPage } from "@stencil/core/testing";
2
2
  import { AxePuppeteer } from "@axe-core/puppeteer";
3
3
  describe("wm-uploader", () => {
4
- let page, component, input, label;
4
+ let page, input, label;
5
5
  beforeEach(async () => {
6
6
  page = await newE2EPage();
7
7
  await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
8
- <wm-uploader button-text="Upload new document" empty-state-text="Browse and upload files" files='[{"id": "file1", "name": "File retrieved from server", "type": "pdf", "lastUpdated": "2020-01-28T22:29:10.397Z"},{"id": "file2", "name": "Second file", "type": "jpeg", "lastUpdated": "2019-02-14T12:21:05.397Z"}]' ></wm-uploader>
8
+ <wm-uploader button-text="Upload new document">
9
+ <wm-file id="file1" name="File retrieved from server" type="pdf" last-updated="2020-01-28T22:29:10.397Z"></wm-file>
10
+ <wm-file id="file2" name="Second file" type="jpeg" last-updated="2019-02-14T12:21:05.397Z"></wm-file>
11
+ </wm-uploader>
9
12
  </main></body></html>`);
10
- component = await page.find("wm-uploader");
11
13
  input = await page.find("wm-uploader >>> input[type='file']");
12
14
  label = await page.find("wm-uploader >>> label");
13
15
  await page.waitForChanges();
@@ -23,65 +25,42 @@ describe("wm-uploader", () => {
23
25
  it("focuses previous file when deleting with the keyboard", async () => {
24
26
  page = await newE2EPage();
25
27
  await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
26
- <wm-uploader button-text="Upload new document" empty-state-text="Browse and upload files"
27
- files='[{"id": "file1", "name": "And another", "type": "exe", "lastUpdated": "2010-11-14T12:21:05.397Z", "fileActions": "preview delete", "size": "7650620"},{"id": "file2", "name": "File retrieved from server", "type": "pdf", "lastUpdated": "2011-01-28T22:29:10.397Z", "fileActions": "", "size": "92620"},{"id": "file3", "name": "File retrieved from server2", "type": "pdf", "lastUpdated": "2012-01-28T22:29:10.397Z", "fileActions": "preview download delete", "size": "92620"},{"id": "file4", "name": "File retrieved from server4", "type": "pdf", "lastUpdated": "2013-01-28T22:29:10.397Z", "fileActions": "preview download delete", "size": "92620"}]'
28
- ></wm-uploader>
28
+ <wm-uploader button-text="Upload new document">
29
+ <wm-file id="file1" name="First file" type="pdf" file-actions="preview delete"></wm-file>
30
+ <wm-file id="file2" name="Second file" type="pdf" file-actions="delete"></wm-file>
31
+ </wm-uploader>
29
32
  </main></body></html>`);
30
33
  await page.waitForChanges();
31
- component = await page.find("wm-uploader");
32
- let fileEls = await page.findAll("wm-uploader >>> wm-file");
34
+ let fileEls = await page.findAll("wm-file");
35
+ let secondFileEl = fileEls[1];
33
36
  // inital check of file count
34
- expect(fileEls.length).toBe(4);
37
+ expect(fileEls.length).toBe(2);
35
38
  // user must be tabbing for these changes to occur
36
39
  await page.keyboard.press("Tab");
37
40
  await page.keyboard.press("Tab");
38
41
  await page.keyboard.press("Tab");
39
42
  await page.keyboard.press("Tab");
40
- await page.keyboard.press("Tab");
41
- await page.keyboard.press("Tab");
42
- await page.keyboard.press("Tab");
43
- await page.keyboard.press("Tab");
44
- await page.keyboard.press("Tab");
45
43
  await page.keyboard.press("Enter");
46
44
  await page.waitForChanges();
47
45
  // check focused element is last file, delete button
48
- let activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
49
- expect(activeElId).toBe("file-file4");
50
- let activeElButtonType = await page.evaluate(() => { var _a; return (_a = document.activeElement.shadowRoot.activeElement.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.classList[0]; });
46
+ let activeElId = await page.evaluate(() => document.activeElement.id);
47
+ expect(activeElId).toBe("file2");
48
+ let activeElButtonType = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.classList[0]);
51
49
  expect(activeElButtonType).toBe("delete-button");
52
- // remove last file
53
- component.setProperty("files", '[{"id": "file1", "name": "And another", "type": "exe", "lastUpdated": "2010-11-14T12:21:05.397Z", "fileActions": "preview delete", "size": "7650620"},{"id": "file2", "name": "File retrieved from server", "type": "pdf", "lastUpdated": "2011-01-28T22:29:10.397Z", "fileActions": "", "size": "92620"},{"id": "file3", "name": "File retrieved from server2", "type": "pdf", "lastUpdated": "2012-01-28T22:29:10.397Z", "fileActions": "preview download delete", "size": "92620"}]');
50
+ let mockFileDeleteEvent = new CustomEvent("wmFileDelete");
51
+ //@ts-ignore
52
+ mockFileDeleteEvent.target = secondFileEl;
53
+ secondFileEl.dispatchEvent(mockFileDeleteEvent);
54
+ await page.evaluate(() => { var _a; return (_a = document.getElementById("file2")) === null || _a === void 0 ? void 0 : _a.remove(); });
54
55
  await page.waitForChanges();
55
56
  // confirm file has been removed
56
- fileEls = await page.findAll("wm-uploader >>> wm-file");
57
- expect(fileEls.length).toBe(3);
58
- // check focused element is what was preceding removed element
59
- activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
60
- expect(activeElId).toBe("file-file3");
61
- activeElButtonType = await page.evaluate(() => { var _a; return (_a = document.activeElement.shadowRoot.activeElement.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.classList[0]; });
62
- expect(activeElButtonType).toBe("delete-button");
63
- // remove last file
64
- // in this case focus should go to file1 not file2, because file2 does not have any file action buttons
65
- component.setProperty("files", '[{"id": "file1", "name": "And another", "type": "exe", "lastUpdated": "2010-11-14T12:21:05.397Z", "fileActions": "preview delete", "size": "7650620"},{"id": "file2", "name": "File retrieved from server", "type": "pdf", "lastUpdated": "2011-01-28T22:29:10.397Z", "fileActions": "", "size": "92620"}]');
66
- await page.waitForChanges();
67
- // confirm file has been removed
68
- fileEls = await page.findAll("wm-uploader >>> wm-file");
69
- expect(fileEls.length).toBe(2);
70
- // check focused element is what was preceding removed element
71
- activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
72
- expect(activeElId).toBe("file-file1");
73
- activeElButtonType = await page.evaluate(() => { var _a; return (_a = document.activeElement.shadowRoot.activeElement.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.classList[0]; });
74
- expect(activeElButtonType).toBe("delete-button");
75
- // remove first file
76
- // in this case focus should go to the upload button
77
- component.setProperty("files", '[{"id": "file2", "name": "File retrieved from server", "type": "pdf", "lastUpdated": "2011-01-28T22:29:10.397Z", "fileActions": "", "size": "92620"}]');
78
- await page.waitForChanges();
79
- // confirm file has been removed
80
- fileEls = await page.findAll("wm-uploader >>> wm-file");
57
+ fileEls = await page.findAll("wm-file");
81
58
  expect(fileEls.length).toBe(1);
82
- // check focused element is what was preceding removed element (upload button)
83
- activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.nodeName);
84
- expect(activeElId).toBe("INPUT");
59
+ // check focused element is last file, delete button
60
+ activeElId = await page.evaluate(() => document.activeElement.id);
61
+ expect(activeElId).toBe("file1");
62
+ activeElButtonType = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.classList[0]);
63
+ expect(activeElButtonType).toBe("delete-button");
85
64
  });
86
65
  // it("disables the button dynamically", async () => {
87
66
  // disabled when maxed out
@@ -276,11 +276,11 @@ export class Uploader {
276
276
  "defaultValue": "\"pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv\""
277
277
  },
278
278
  "maxSize": {
279
- "type": "number",
279
+ "type": "string",
280
280
  "mutable": false,
281
281
  "complexType": {
282
- "original": "number | null",
283
- "resolved": "null | number | undefined",
282
+ "original": "string",
283
+ "resolved": "string | undefined",
284
284
  "references": {}
285
285
  },
286
286
  "required": false,