@watermarkinsights/ripple 3.7.0-0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{functions-f0693632.js → functions-13b0e88e.js} +442 -442
  3. package/dist/cjs/{global-86d92ce3.js → global-c802d13c.js} +65 -65
  4. package/dist/cjs/{http-service-494d81de.js → http-service-9e8c4dd5.js} +49 -49
  5. package/dist/cjs/{interfaces-a3338581.js → interfaces-30a74c1f.js} +29 -29
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/priv-chart-popover.cjs.entry.js +78 -78
  8. package/dist/cjs/priv-datepicker.cjs.entry.js +667 -667
  9. package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
  10. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  11. package/dist/cjs/ripple.cjs.js +2 -2
  12. package/dist/cjs/wm-action-menu_2.cjs.entry.js +341 -341
  13. package/dist/cjs/wm-button.cjs.entry.js +236 -236
  14. package/dist/cjs/wm-chart-slice.cjs.entry.js +13 -13
  15. package/dist/cjs/wm-chart.cjs.entry.js +474 -474
  16. package/dist/cjs/wm-datepicker.cjs.entry.js +262 -262
  17. package/dist/cjs/wm-input.cjs.entry.js +134 -134
  18. package/dist/cjs/wm-modal-footer.cjs.entry.js +31 -31
  19. package/dist/cjs/wm-modal-header.cjs.entry.js +34 -34
  20. package/dist/cjs/wm-modal.cjs.entry.js +161 -161
  21. package/dist/cjs/wm-navigator.cjs.entry.js +268 -268
  22. package/dist/cjs/wm-network-uploader.cjs.entry.js +420 -420
  23. package/dist/cjs/wm-option_2.cjs.entry.js +494 -494
  24. package/dist/cjs/wm-pagination.cjs.entry.js +167 -167
  25. package/dist/cjs/wm-search.cjs.entry.js +232 -231
  26. package/dist/cjs/wm-snackbar.cjs.entry.js +170 -170
  27. package/dist/cjs/wm-tab-item_3.cjs.entry.js +296 -296
  28. package/dist/cjs/wm-tag-input.cjs.entry.js +570 -570
  29. package/dist/cjs/wm-timepicker.cjs.entry.js +380 -380
  30. package/dist/cjs/wm-toggletip.cjs.entry.js +124 -124
  31. package/dist/cjs/wm-uploader.cjs.entry.js +346 -346
  32. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  33. package/dist/collection/components/wm-action-menu/wm-action-menu.js +460 -460
  34. package/dist/collection/components/wm-button/wm-button.js +503 -503
  35. package/dist/collection/components/wm-chart/priv-chart-popover/priv-chart-popover.js +232 -232
  36. package/dist/collection/components/wm-chart/wm-chart-slice.js +64 -64
  37. package/dist/collection/components/wm-chart/wm-chart.js +718 -719
  38. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1015 -1015
  39. package/dist/collection/components/wm-datepicker/wm-datepicker.js +468 -468
  40. package/dist/collection/components/wm-input/wm-input.js +423 -424
  41. package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
  42. package/dist/collection/components/wm-modal/wm-modal-footer.js +141 -141
  43. package/dist/collection/components/wm-modal/wm-modal-header.js +92 -92
  44. package/dist/collection/components/wm-modal/wm-modal.js +459 -459
  45. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
  46. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
  47. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  48. package/dist/collection/components/wm-option/wm-option.js +422 -422
  49. package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
  50. package/dist/collection/components/wm-search/wm-search.js +480 -479
  51. package/dist/collection/components/wm-select/wm-select.js +720 -720
  52. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  53. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +216 -216
  54. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +330 -330
  55. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  56. package/dist/collection/components/wm-tag-input/wm-tag-input.js +801 -801
  57. package/dist/collection/components/wm-timepicker/wm-timepicker.js +580 -580
  58. package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
  59. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +753 -753
  60. package/dist/collection/components/wm-uploader/wm-uploader.js +748 -748
  61. package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
  62. package/dist/collection/dev/scripts.js +20 -20
  63. package/dist/collection/global/__mocks__/functions.js +6 -6
  64. package/dist/collection/global/functions.js +445 -445
  65. package/dist/collection/global/global.js +72 -72
  66. package/dist/collection/global/interfaces.js +49 -49
  67. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  68. package/dist/collection/global/services/http-service.js +50 -50
  69. package/dist/collection/lang/lang.js +5 -5
  70. package/dist/collection/lang/missing.js +39 -39
  71. package/dist/collection/lang/piglatin.js +93 -93
  72. package/dist/esm/{functions-cbfc81d1.js → functions-6ddad20e.js} +442 -442
  73. package/dist/esm/{global-d2addbde.js → global-a4da88c7.js} +65 -65
  74. package/dist/esm/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +49 -49
  75. package/dist/esm/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +29 -29
  76. package/dist/esm/loader.js +2 -2
  77. package/dist/esm/polyfills/core-js.js +0 -0
  78. package/dist/esm/polyfills/dom.js +0 -0
  79. package/dist/esm/polyfills/es5-html-element.js +0 -0
  80. package/dist/esm/polyfills/index.js +0 -0
  81. package/dist/esm/polyfills/system.js +0 -0
  82. package/dist/esm/priv-chart-popover.entry.js +78 -78
  83. package/dist/esm/priv-datepicker.entry.js +667 -667
  84. package/dist/esm/priv-navigator-button.entry.js +18 -18
  85. package/dist/esm/priv-navigator-item.entry.js +23 -23
  86. package/dist/esm/ripple.js +2 -2
  87. package/dist/esm/wm-action-menu_2.entry.js +341 -341
  88. package/dist/esm/wm-button.entry.js +236 -236
  89. package/dist/esm/wm-chart-slice.entry.js +13 -13
  90. package/dist/esm/wm-chart.entry.js +474 -474
  91. package/dist/esm/wm-datepicker.entry.js +262 -262
  92. package/dist/esm/wm-input.entry.js +134 -134
  93. package/dist/esm/wm-modal-footer.entry.js +31 -31
  94. package/dist/esm/wm-modal-header.entry.js +34 -34
  95. package/dist/esm/wm-modal.entry.js +161 -161
  96. package/dist/esm/wm-navigator.entry.js +268 -268
  97. package/dist/esm/wm-network-uploader.entry.js +420 -420
  98. package/dist/esm/wm-option_2.entry.js +494 -494
  99. package/dist/esm/wm-pagination.entry.js +167 -167
  100. package/dist/esm/wm-search.entry.js +232 -231
  101. package/dist/esm/wm-snackbar.entry.js +170 -170
  102. package/dist/esm/wm-tab-item_3.entry.js +296 -296
  103. package/dist/esm/wm-tag-input.entry.js +570 -570
  104. package/dist/esm/wm-timepicker.entry.js +380 -380
  105. package/dist/esm/wm-toggletip.entry.js +124 -124
  106. package/dist/esm/wm-uploader.entry.js +346 -346
  107. package/dist/esm/wm-wrapper.entry.js +12 -12
  108. package/dist/ripple/{p-5585f23e.entry.js → p-0068e871.entry.js} +1 -1
  109. package/dist/ripple/{p-7d9c18b9.entry.js → p-00999aeb.entry.js} +1 -1
  110. package/dist/ripple/{p-cd466a5b.entry.js → p-08b273ba.entry.js} +1 -1
  111. package/dist/ripple/{p-266e4bc2.entry.js → p-196b4c55.entry.js} +1 -1
  112. package/dist/ripple/{p-e3765b8e.entry.js → p-1a3df227.entry.js} +1 -1
  113. package/dist/ripple/{p-30f13477.entry.js → p-3590a57f.entry.js} +1 -1
  114. package/dist/ripple/{p-8a4bac13.entry.js → p-3a178ac8.entry.js} +1 -1
  115. package/dist/ripple/p-46371fad.entry.js +1 -0
  116. package/dist/ripple/p-5548fc7c.js +1 -0
  117. package/dist/ripple/{p-da1435f1.entry.js → p-5c73fd59.entry.js} +1 -1
  118. package/dist/ripple/{p-0c488d9d.entry.js → p-66513af1.entry.js} +1 -1
  119. package/dist/ripple/{p-bd05632b.entry.js → p-828316d6.entry.js} +1 -1
  120. package/dist/ripple/{p-b5edcf38.js → p-857a0bc0.js} +0 -0
  121. package/dist/ripple/{p-43f1298b.js → p-888bec42.js} +0 -0
  122. package/dist/ripple/{p-2caeca6b.entry.js → p-9624967f.entry.js} +1 -1
  123. package/dist/ripple/{p-938a5ba4.entry.js → p-99e2c5f6.entry.js} +1 -1
  124. package/dist/ripple/{p-fd8070fb.js → p-a6d6eae7.js} +0 -0
  125. package/dist/ripple/{p-b9656d44.entry.js → p-b495e06c.entry.js} +1 -1
  126. package/dist/ripple/p-b8aa478f.entry.js +1 -0
  127. package/dist/ripple/{p-4414cb64.entry.js → p-bf985c5d.entry.js} +1 -1
  128. package/dist/ripple/{p-c0b0510a.entry.js → p-cd6de442.entry.js} +1 -1
  129. package/dist/ripple/{p-111f705a.entry.js → p-cfdf1a79.entry.js} +1 -1
  130. package/dist/ripple/{p-ad73d523.entry.js → p-d22c957d.entry.js} +1 -1
  131. package/dist/ripple/{p-f3569e91.entry.js → p-e43b4eda.entry.js} +1 -1
  132. package/dist/ripple/ripple.esm.js +1 -1
  133. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +48 -48
  134. package/dist/types/components/wm-button/wm-button.d.ts +44 -44
  135. package/dist/types/components/wm-chart/priv-chart-popover/priv-chart-popover.d.ts +23 -23
  136. package/dist/types/components/wm-chart/wm-chart-slice.d.ts +8 -8
  137. package/dist/types/components/wm-chart/wm-chart.d.ts +82 -82
  138. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  139. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
  140. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  141. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  142. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +15 -15
  143. package/dist/types/components/wm-modal/wm-modal-header.d.ts +12 -12
  144. package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
  145. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  146. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  147. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  148. package/dist/types/components/wm-option/wm-option.d.ts +32 -32
  149. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  150. package/dist/types/components/wm-search/wm-search.d.ts +86 -86
  151. package/dist/types/components/wm-select/wm-select.d.ts +66 -66
  152. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  153. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
  154. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
  155. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  156. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -92
  157. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
  158. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
  159. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  160. package/dist/types/components/wm-uploader/wm-uploader.d.ts +80 -80
  161. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  162. package/dist/types/components.d.ts +24 -24
  163. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  164. package/dist/types/global/functions.d.ts +40 -40
  165. package/dist/types/global/global.d.ts +1 -1
  166. package/dist/types/global/interfaces.d.ts +34 -34
  167. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  168. package/dist/types/global/services/http-service.d.ts +4 -4
  169. package/dist/types/lang/lang.d.ts +5 -5
  170. package/package.json +47 -47
  171. package/dist/ripple/p-9d6e4c64.entry.js +0 -1
  172. package/dist/ripple/p-d9c7e3d6.js +0 -1
  173. package/dist/ripple/p-f33f3f20.entry.js +0 -1
@@ -1,422 +1,422 @@
1
- import { h, Component, Element, Event, Host, Listen, Prop, Watch } from "@stencil/core";
2
- export class Option {
3
- constructor() {
4
- this.subinfo = undefined;
5
- this.disabled = false;
6
- this.selected = false;
7
- this.focused = false;
8
- }
9
- get isMultiChild() {
10
- var _a;
11
- return (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.multiple;
12
- }
13
- handleKeydown(ev) {
14
- switch (ev.keyCode) {
15
- // Arrow Up
16
- case 38:
17
- ev.preventDefault();
18
- this.wmKeyUpPressed.emit();
19
- break;
20
- // Arrow Down
21
- case 40:
22
- ev.preventDefault();
23
- this.wmKeyDownPressed.emit(this.el);
24
- break;
25
- // Enter
26
- case 13:
27
- ev.preventDefault();
28
- if (!this.disabled) {
29
- this.el.click();
30
- this.wmEnterKeyPressed.emit(this.el);
31
- }
32
- break;
33
- // Space
34
- case 32:
35
- ev.preventDefault();
36
- this.el.click();
37
- break;
38
- // Escape
39
- case 27:
40
- ev.preventDefault();
41
- ev.stopPropagation(); // for instance if select is in a modal, esc should close the select but not the modal
42
- this.wmEscKeyPressed.emit();
43
- break;
44
- // Home
45
- case 36:
46
- ev.preventDefault();
47
- this.wmHomeKeyPressed.emit();
48
- break;
49
- // End
50
- case 35:
51
- ev.preventDefault();
52
- this.wmEndKeyPressed.emit();
53
- break;
54
- // Tab
55
- case 9:
56
- this.wmTabKeyPressed.emit();
57
- break;
58
- default:
59
- this.wmLetterPressed.emit(ev.key);
60
- }
61
- }
62
- handleSelection() {
63
- if (!this.disabled) {
64
- this.wmOptionSelected.emit();
65
- // the parent wm-select is in charge of the actual selection
66
- }
67
- }
68
- handleBlur(ev) {
69
- this.wmOptionBlurred.emit({ relatedTarget: ev.relatedTarget });
70
- }
71
- syncAriaSelected() {
72
- // this function only keeps the aria-selected attr in sync with the selected prop
73
- // all the logic for selecting / deselecting happens in the parent wm-select
74
- this.selected ? this.el.setAttribute("aria-selected", "true") : this.el.removeAttribute("aria-selected");
75
- }
76
- syncAriaDisabled() {
77
- this.disabled ? this.el.setAttribute("aria-disabled", "true") : this.el.removeAttribute("aria-disabled");
78
- }
79
- focusHandler(newValue) {
80
- if (newValue)
81
- this.el.focus();
82
- }
83
- updateDisabledOnClick() {
84
- if (this.disabled && this.el.onclick) {
85
- this.onClickFunc = this.el.onclick;
86
- this.el.onclick = null;
87
- }
88
- else if (!this.disabled && this.onClickFunc) {
89
- this.el.onclick = this.onClickFunc;
90
- }
91
- }
92
- componentWillLoad() {
93
- this.syncAriaSelected();
94
- this.syncAriaDisabled();
95
- this.updateDisabledOnClick();
96
- }
97
- render() {
98
- return (h(Host, { role: "option", tabindex: this.focused ? 0 : -1, class: `${this.subinfo ? "hassubinfo" : ""} ${this.isMultiChild ? "multi-option" : ""}` },
99
- h("div", { class: `option-wrapper ${this.isMultiChild ? "checkbox" : ""}` },
100
- h("slot", null)),
101
- h("div", { class: "subinfo" }, this.subinfo)));
102
- }
103
- static get is() { return "wm-option"; }
104
- static get encapsulation() { return "shadow"; }
105
- static get originalStyleUrls() { return {
106
- "$": ["wm-option.scss"]
107
- }; }
108
- static get styleUrls() { return {
109
- "$": ["wm-option.css"]
110
- }; }
111
- static get properties() { return {
112
- "value": {
113
- "type": "string",
114
- "mutable": false,
115
- "complexType": {
116
- "original": "string | null",
117
- "resolved": "null | string | undefined",
118
- "references": {}
119
- },
120
- "required": false,
121
- "optional": true,
122
- "docs": {
123
- "tags": [],
124
- "text": ""
125
- },
126
- "attribute": "value",
127
- "reflect": false
128
- },
129
- "subinfo": {
130
- "type": "string",
131
- "mutable": true,
132
- "complexType": {
133
- "original": "string",
134
- "resolved": "string | undefined",
135
- "references": {}
136
- },
137
- "required": false,
138
- "optional": true,
139
- "docs": {
140
- "tags": [],
141
- "text": ""
142
- },
143
- "attribute": "subinfo",
144
- "reflect": false,
145
- "defaultValue": "undefined"
146
- },
147
- "disabled": {
148
- "type": "boolean",
149
- "mutable": false,
150
- "complexType": {
151
- "original": "boolean",
152
- "resolved": "boolean",
153
- "references": {}
154
- },
155
- "required": false,
156
- "optional": false,
157
- "docs": {
158
- "tags": [],
159
- "text": ""
160
- },
161
- "attribute": "disabled",
162
- "reflect": true,
163
- "defaultValue": "false"
164
- },
165
- "selected": {
166
- "type": "boolean",
167
- "mutable": false,
168
- "complexType": {
169
- "original": "boolean",
170
- "resolved": "boolean",
171
- "references": {}
172
- },
173
- "required": false,
174
- "optional": false,
175
- "docs": {
176
- "tags": [],
177
- "text": ""
178
- },
179
- "attribute": "selected",
180
- "reflect": true,
181
- "defaultValue": "false"
182
- },
183
- "focused": {
184
- "type": "boolean",
185
- "mutable": false,
186
- "complexType": {
187
- "original": "boolean",
188
- "resolved": "boolean",
189
- "references": {}
190
- },
191
- "required": false,
192
- "optional": false,
193
- "docs": {
194
- "tags": [],
195
- "text": ""
196
- },
197
- "attribute": "focused",
198
- "reflect": false,
199
- "defaultValue": "false"
200
- }
201
- }; }
202
- static get events() { return [{
203
- "method": "wmOptionSelected",
204
- "name": "wmOptionSelected",
205
- "bubbles": true,
206
- "cancelable": true,
207
- "composed": true,
208
- "docs": {
209
- "tags": [],
210
- "text": ""
211
- },
212
- "complexType": {
213
- "original": "HTMLWmOptionElement",
214
- "resolved": "HTMLWmOptionElement",
215
- "references": {
216
- "HTMLWmOptionElement": {
217
- "location": "global"
218
- }
219
- }
220
- }
221
- }, {
222
- "method": "wmKeyUpPressed",
223
- "name": "wmKeyUpPressed",
224
- "bubbles": true,
225
- "cancelable": true,
226
- "composed": true,
227
- "docs": {
228
- "tags": [],
229
- "text": ""
230
- },
231
- "complexType": {
232
- "original": "HTMLWmOptionElement",
233
- "resolved": "HTMLWmOptionElement",
234
- "references": {
235
- "HTMLWmOptionElement": {
236
- "location": "global"
237
- }
238
- }
239
- }
240
- }, {
241
- "method": "wmKeyDownPressed",
242
- "name": "wmKeyDownPressed",
243
- "bubbles": true,
244
- "cancelable": true,
245
- "composed": true,
246
- "docs": {
247
- "tags": [],
248
- "text": ""
249
- },
250
- "complexType": {
251
- "original": "HTMLWmOptionElement",
252
- "resolved": "HTMLWmOptionElement",
253
- "references": {
254
- "HTMLWmOptionElement": {
255
- "location": "global"
256
- }
257
- }
258
- }
259
- }, {
260
- "method": "wmEscKeyPressed",
261
- "name": "wmEscKeyPressed",
262
- "bubbles": true,
263
- "cancelable": true,
264
- "composed": true,
265
- "docs": {
266
- "tags": [],
267
- "text": ""
268
- },
269
- "complexType": {
270
- "original": "HTMLWmOptionElement",
271
- "resolved": "HTMLWmOptionElement",
272
- "references": {
273
- "HTMLWmOptionElement": {
274
- "location": "global"
275
- }
276
- }
277
- }
278
- }, {
279
- "method": "wmHomeKeyPressed",
280
- "name": "wmHomeKeyPressed",
281
- "bubbles": true,
282
- "cancelable": true,
283
- "composed": true,
284
- "docs": {
285
- "tags": [],
286
- "text": ""
287
- },
288
- "complexType": {
289
- "original": "HTMLWmOptionElement",
290
- "resolved": "HTMLWmOptionElement",
291
- "references": {
292
- "HTMLWmOptionElement": {
293
- "location": "global"
294
- }
295
- }
296
- }
297
- }, {
298
- "method": "wmEndKeyPressed",
299
- "name": "wmEndKeyPressed",
300
- "bubbles": true,
301
- "cancelable": true,
302
- "composed": true,
303
- "docs": {
304
- "tags": [],
305
- "text": ""
306
- },
307
- "complexType": {
308
- "original": "HTMLWmOptionElement",
309
- "resolved": "HTMLWmOptionElement",
310
- "references": {
311
- "HTMLWmOptionElement": {
312
- "location": "global"
313
- }
314
- }
315
- }
316
- }, {
317
- "method": "wmTabKeyPressed",
318
- "name": "wmTabKeyPressed",
319
- "bubbles": true,
320
- "cancelable": true,
321
- "composed": true,
322
- "docs": {
323
- "tags": [],
324
- "text": ""
325
- },
326
- "complexType": {
327
- "original": "HTMLWmOptionElement",
328
- "resolved": "HTMLWmOptionElement",
329
- "references": {
330
- "HTMLWmOptionElement": {
331
- "location": "global"
332
- }
333
- }
334
- }
335
- }, {
336
- "method": "wmEnterKeyPressed",
337
- "name": "wmEnterKeyPressed",
338
- "bubbles": true,
339
- "cancelable": true,
340
- "composed": true,
341
- "docs": {
342
- "tags": [],
343
- "text": ""
344
- },
345
- "complexType": {
346
- "original": "HTMLWmOptionElement",
347
- "resolved": "HTMLWmOptionElement",
348
- "references": {
349
- "HTMLWmOptionElement": {
350
- "location": "global"
351
- }
352
- }
353
- }
354
- }, {
355
- "method": "wmLetterPressed",
356
- "name": "wmLetterPressed",
357
- "bubbles": true,
358
- "cancelable": true,
359
- "composed": true,
360
- "docs": {
361
- "tags": [],
362
- "text": ""
363
- },
364
- "complexType": {
365
- "original": "string",
366
- "resolved": "string",
367
- "references": {}
368
- }
369
- }, {
370
- "method": "wmOptionBlurred",
371
- "name": "wmOptionBlurred",
372
- "bubbles": true,
373
- "cancelable": true,
374
- "composed": true,
375
- "docs": {
376
- "tags": [],
377
- "text": ""
378
- },
379
- "complexType": {
380
- "original": "{ relatedTarget: EventTarget | null }",
381
- "resolved": "{ relatedTarget: EventTarget | null; }",
382
- "references": {
383
- "EventTarget": {
384
- "location": "global"
385
- }
386
- }
387
- }
388
- }]; }
389
- static get elementRef() { return "el"; }
390
- static get watchers() { return [{
391
- "propName": "selected",
392
- "methodName": "syncAriaSelected"
393
- }, {
394
- "propName": "disabled",
395
- "methodName": "syncAriaDisabled"
396
- }, {
397
- "propName": "focused",
398
- "methodName": "focusHandler"
399
- }, {
400
- "propName": "disabled",
401
- "methodName": "updateDisabledOnClick"
402
- }]; }
403
- static get listeners() { return [{
404
- "name": "keydown",
405
- "method": "handleKeydown",
406
- "target": undefined,
407
- "capture": false,
408
- "passive": false
409
- }, {
410
- "name": "click",
411
- "method": "handleSelection",
412
- "target": undefined,
413
- "capture": false,
414
- "passive": false
415
- }, {
416
- "name": "blur",
417
- "method": "handleBlur",
418
- "target": undefined,
419
- "capture": false,
420
- "passive": false
421
- }]; }
422
- }
1
+ import { h, Component, Element, Event, Host, Listen, Prop, Watch } from "@stencil/core";
2
+ export class Option {
3
+ constructor() {
4
+ this.subinfo = undefined;
5
+ this.disabled = false;
6
+ this.selected = false;
7
+ this.focused = false;
8
+ }
9
+ get isMultiChild() {
10
+ var _a;
11
+ return (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.multiple;
12
+ }
13
+ handleKeydown(ev) {
14
+ switch (ev.keyCode) {
15
+ // Arrow Up
16
+ case 38:
17
+ ev.preventDefault();
18
+ this.wmKeyUpPressed.emit();
19
+ break;
20
+ // Arrow Down
21
+ case 40:
22
+ ev.preventDefault();
23
+ this.wmKeyDownPressed.emit(this.el);
24
+ break;
25
+ // Enter
26
+ case 13:
27
+ ev.preventDefault();
28
+ if (!this.disabled) {
29
+ this.el.click();
30
+ this.wmEnterKeyPressed.emit(this.el);
31
+ }
32
+ break;
33
+ // Space
34
+ case 32:
35
+ ev.preventDefault();
36
+ this.el.click();
37
+ break;
38
+ // Escape
39
+ case 27:
40
+ ev.preventDefault();
41
+ ev.stopPropagation(); // for instance if select is in a modal, esc should close the select but not the modal
42
+ this.wmEscKeyPressed.emit();
43
+ break;
44
+ // Home
45
+ case 36:
46
+ ev.preventDefault();
47
+ this.wmHomeKeyPressed.emit();
48
+ break;
49
+ // End
50
+ case 35:
51
+ ev.preventDefault();
52
+ this.wmEndKeyPressed.emit();
53
+ break;
54
+ // Tab
55
+ case 9:
56
+ this.wmTabKeyPressed.emit();
57
+ break;
58
+ default:
59
+ this.wmLetterPressed.emit(ev.key);
60
+ }
61
+ }
62
+ handleSelection() {
63
+ if (!this.disabled) {
64
+ this.wmOptionSelected.emit();
65
+ // the parent wm-select is in charge of the actual selection
66
+ }
67
+ }
68
+ handleBlur(ev) {
69
+ this.wmOptionBlurred.emit({ relatedTarget: ev.relatedTarget });
70
+ }
71
+ syncAriaSelected() {
72
+ // this function only keeps the aria-selected attr in sync with the selected prop
73
+ // all the logic for selecting / deselecting happens in the parent wm-select
74
+ this.selected ? this.el.setAttribute("aria-selected", "true") : this.el.removeAttribute("aria-selected");
75
+ }
76
+ syncAriaDisabled() {
77
+ this.disabled ? this.el.setAttribute("aria-disabled", "true") : this.el.removeAttribute("aria-disabled");
78
+ }
79
+ focusHandler(newValue) {
80
+ if (newValue)
81
+ this.el.focus();
82
+ }
83
+ updateDisabledOnClick() {
84
+ if (this.disabled && this.el.onclick) {
85
+ this.onClickFunc = this.el.onclick;
86
+ this.el.onclick = null;
87
+ }
88
+ else if (!this.disabled && this.onClickFunc) {
89
+ this.el.onclick = this.onClickFunc;
90
+ }
91
+ }
92
+ componentWillLoad() {
93
+ this.syncAriaSelected();
94
+ this.syncAriaDisabled();
95
+ this.updateDisabledOnClick();
96
+ }
97
+ render() {
98
+ return (h(Host, { role: "option", tabindex: this.focused ? 0 : -1, class: `${this.subinfo ? "hassubinfo" : ""} ${this.isMultiChild ? "multi-option" : ""}` },
99
+ h("div", { class: `option-wrapper ${this.isMultiChild ? "checkbox" : ""}` },
100
+ h("slot", null)),
101
+ h("div", { class: "subinfo" }, this.subinfo)));
102
+ }
103
+ static get is() { return "wm-option"; }
104
+ static get encapsulation() { return "shadow"; }
105
+ static get originalStyleUrls() { return {
106
+ "$": ["wm-option.scss"]
107
+ }; }
108
+ static get styleUrls() { return {
109
+ "$": ["wm-option.css"]
110
+ }; }
111
+ static get properties() { return {
112
+ "value": {
113
+ "type": "string",
114
+ "mutable": false,
115
+ "complexType": {
116
+ "original": "string | null",
117
+ "resolved": "null | string | undefined",
118
+ "references": {}
119
+ },
120
+ "required": false,
121
+ "optional": true,
122
+ "docs": {
123
+ "tags": [],
124
+ "text": ""
125
+ },
126
+ "attribute": "value",
127
+ "reflect": false
128
+ },
129
+ "subinfo": {
130
+ "type": "string",
131
+ "mutable": true,
132
+ "complexType": {
133
+ "original": "string",
134
+ "resolved": "string | undefined",
135
+ "references": {}
136
+ },
137
+ "required": false,
138
+ "optional": true,
139
+ "docs": {
140
+ "tags": [],
141
+ "text": ""
142
+ },
143
+ "attribute": "subinfo",
144
+ "reflect": false,
145
+ "defaultValue": "undefined"
146
+ },
147
+ "disabled": {
148
+ "type": "boolean",
149
+ "mutable": false,
150
+ "complexType": {
151
+ "original": "boolean",
152
+ "resolved": "boolean",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": ""
160
+ },
161
+ "attribute": "disabled",
162
+ "reflect": true,
163
+ "defaultValue": "false"
164
+ },
165
+ "selected": {
166
+ "type": "boolean",
167
+ "mutable": false,
168
+ "complexType": {
169
+ "original": "boolean",
170
+ "resolved": "boolean",
171
+ "references": {}
172
+ },
173
+ "required": false,
174
+ "optional": false,
175
+ "docs": {
176
+ "tags": [],
177
+ "text": ""
178
+ },
179
+ "attribute": "selected",
180
+ "reflect": true,
181
+ "defaultValue": "false"
182
+ },
183
+ "focused": {
184
+ "type": "boolean",
185
+ "mutable": false,
186
+ "complexType": {
187
+ "original": "boolean",
188
+ "resolved": "boolean",
189
+ "references": {}
190
+ },
191
+ "required": false,
192
+ "optional": false,
193
+ "docs": {
194
+ "tags": [],
195
+ "text": ""
196
+ },
197
+ "attribute": "focused",
198
+ "reflect": false,
199
+ "defaultValue": "false"
200
+ }
201
+ }; }
202
+ static get events() { return [{
203
+ "method": "wmOptionSelected",
204
+ "name": "wmOptionSelected",
205
+ "bubbles": true,
206
+ "cancelable": true,
207
+ "composed": true,
208
+ "docs": {
209
+ "tags": [],
210
+ "text": ""
211
+ },
212
+ "complexType": {
213
+ "original": "HTMLWmOptionElement",
214
+ "resolved": "HTMLWmOptionElement",
215
+ "references": {
216
+ "HTMLWmOptionElement": {
217
+ "location": "global"
218
+ }
219
+ }
220
+ }
221
+ }, {
222
+ "method": "wmKeyUpPressed",
223
+ "name": "wmKeyUpPressed",
224
+ "bubbles": true,
225
+ "cancelable": true,
226
+ "composed": true,
227
+ "docs": {
228
+ "tags": [],
229
+ "text": ""
230
+ },
231
+ "complexType": {
232
+ "original": "HTMLWmOptionElement",
233
+ "resolved": "HTMLWmOptionElement",
234
+ "references": {
235
+ "HTMLWmOptionElement": {
236
+ "location": "global"
237
+ }
238
+ }
239
+ }
240
+ }, {
241
+ "method": "wmKeyDownPressed",
242
+ "name": "wmKeyDownPressed",
243
+ "bubbles": true,
244
+ "cancelable": true,
245
+ "composed": true,
246
+ "docs": {
247
+ "tags": [],
248
+ "text": ""
249
+ },
250
+ "complexType": {
251
+ "original": "HTMLWmOptionElement",
252
+ "resolved": "HTMLWmOptionElement",
253
+ "references": {
254
+ "HTMLWmOptionElement": {
255
+ "location": "global"
256
+ }
257
+ }
258
+ }
259
+ }, {
260
+ "method": "wmEscKeyPressed",
261
+ "name": "wmEscKeyPressed",
262
+ "bubbles": true,
263
+ "cancelable": true,
264
+ "composed": true,
265
+ "docs": {
266
+ "tags": [],
267
+ "text": ""
268
+ },
269
+ "complexType": {
270
+ "original": "HTMLWmOptionElement",
271
+ "resolved": "HTMLWmOptionElement",
272
+ "references": {
273
+ "HTMLWmOptionElement": {
274
+ "location": "global"
275
+ }
276
+ }
277
+ }
278
+ }, {
279
+ "method": "wmHomeKeyPressed",
280
+ "name": "wmHomeKeyPressed",
281
+ "bubbles": true,
282
+ "cancelable": true,
283
+ "composed": true,
284
+ "docs": {
285
+ "tags": [],
286
+ "text": ""
287
+ },
288
+ "complexType": {
289
+ "original": "HTMLWmOptionElement",
290
+ "resolved": "HTMLWmOptionElement",
291
+ "references": {
292
+ "HTMLWmOptionElement": {
293
+ "location": "global"
294
+ }
295
+ }
296
+ }
297
+ }, {
298
+ "method": "wmEndKeyPressed",
299
+ "name": "wmEndKeyPressed",
300
+ "bubbles": true,
301
+ "cancelable": true,
302
+ "composed": true,
303
+ "docs": {
304
+ "tags": [],
305
+ "text": ""
306
+ },
307
+ "complexType": {
308
+ "original": "HTMLWmOptionElement",
309
+ "resolved": "HTMLWmOptionElement",
310
+ "references": {
311
+ "HTMLWmOptionElement": {
312
+ "location": "global"
313
+ }
314
+ }
315
+ }
316
+ }, {
317
+ "method": "wmTabKeyPressed",
318
+ "name": "wmTabKeyPressed",
319
+ "bubbles": true,
320
+ "cancelable": true,
321
+ "composed": true,
322
+ "docs": {
323
+ "tags": [],
324
+ "text": ""
325
+ },
326
+ "complexType": {
327
+ "original": "HTMLWmOptionElement",
328
+ "resolved": "HTMLWmOptionElement",
329
+ "references": {
330
+ "HTMLWmOptionElement": {
331
+ "location": "global"
332
+ }
333
+ }
334
+ }
335
+ }, {
336
+ "method": "wmEnterKeyPressed",
337
+ "name": "wmEnterKeyPressed",
338
+ "bubbles": true,
339
+ "cancelable": true,
340
+ "composed": true,
341
+ "docs": {
342
+ "tags": [],
343
+ "text": ""
344
+ },
345
+ "complexType": {
346
+ "original": "HTMLWmOptionElement",
347
+ "resolved": "HTMLWmOptionElement",
348
+ "references": {
349
+ "HTMLWmOptionElement": {
350
+ "location": "global"
351
+ }
352
+ }
353
+ }
354
+ }, {
355
+ "method": "wmLetterPressed",
356
+ "name": "wmLetterPressed",
357
+ "bubbles": true,
358
+ "cancelable": true,
359
+ "composed": true,
360
+ "docs": {
361
+ "tags": [],
362
+ "text": ""
363
+ },
364
+ "complexType": {
365
+ "original": "string",
366
+ "resolved": "string",
367
+ "references": {}
368
+ }
369
+ }, {
370
+ "method": "wmOptionBlurred",
371
+ "name": "wmOptionBlurred",
372
+ "bubbles": true,
373
+ "cancelable": true,
374
+ "composed": true,
375
+ "docs": {
376
+ "tags": [],
377
+ "text": ""
378
+ },
379
+ "complexType": {
380
+ "original": "{ relatedTarget: EventTarget | null }",
381
+ "resolved": "{ relatedTarget: EventTarget | null; }",
382
+ "references": {
383
+ "EventTarget": {
384
+ "location": "global"
385
+ }
386
+ }
387
+ }
388
+ }]; }
389
+ static get elementRef() { return "el"; }
390
+ static get watchers() { return [{
391
+ "propName": "selected",
392
+ "methodName": "syncAriaSelected"
393
+ }, {
394
+ "propName": "disabled",
395
+ "methodName": "syncAriaDisabled"
396
+ }, {
397
+ "propName": "focused",
398
+ "methodName": "focusHandler"
399
+ }, {
400
+ "propName": "disabled",
401
+ "methodName": "updateDisabledOnClick"
402
+ }]; }
403
+ static get listeners() { return [{
404
+ "name": "keydown",
405
+ "method": "handleKeydown",
406
+ "target": undefined,
407
+ "capture": false,
408
+ "passive": false
409
+ }, {
410
+ "name": "click",
411
+ "method": "handleSelection",
412
+ "target": undefined,
413
+ "capture": false,
414
+ "passive": false
415
+ }, {
416
+ "name": "blur",
417
+ "method": "handleBlur",
418
+ "target": undefined,
419
+ "capture": false,
420
+ "passive": false
421
+ }]; }
422
+ }