@watermarkinsights/ripple 3.12.0 → 3.13.0-9

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 (176) hide show
  1. package/dist/cjs/{chartFunctions-44ae2eee.js → chartFunctions-34fdd3ce.js} +1 -1
  2. package/dist/cjs/{functions-1a67b971.js → functions-120449cf.js} +245 -32
  3. package/dist/cjs/{global-122fc638.js → global-1d1d0ab3.js} +7 -5
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/priv-chart-popover.cjs.entry.js +1 -1
  6. package/dist/cjs/priv-datepicker.cjs.entry.js +1 -1
  7. package/dist/cjs/ripple.cjs.js +2 -2
  8. package/dist/cjs/wm-action-menu_2.cjs.entry.js +1 -1
  9. package/dist/cjs/wm-button.cjs.entry.js +50 -38
  10. package/dist/cjs/wm-chart.cjs.entry.js +2 -2
  11. package/dist/cjs/wm-datepicker.cjs.entry.js +1 -1
  12. package/dist/cjs/wm-input.cjs.entry.js +1 -1
  13. package/dist/cjs/wm-modal-footer.cjs.entry.js +1 -1
  14. package/dist/cjs/wm-modal-header.cjs.entry.js +1 -1
  15. package/dist/cjs/wm-modal.cjs.entry.js +1 -1
  16. package/dist/cjs/wm-navigation_3.cjs.entry.js +1 -1
  17. package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
  18. package/dist/cjs/wm-network-uploader.cjs.entry.js +6 -4
  19. package/dist/cjs/wm-option_2.cjs.entry.js +345 -122
  20. package/dist/cjs/wm-pagination.cjs.entry.js +1 -1
  21. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +2 -2
  22. package/dist/cjs/wm-search.cjs.entry.js +1 -1
  23. package/dist/cjs/wm-snackbar.cjs.entry.js +1 -1
  24. package/dist/cjs/wm-tab-item_3.cjs.entry.js +1 -1
  25. package/dist/cjs/wm-tag-input.cjs.entry.js +1 -1
  26. package/dist/cjs/wm-timepicker.cjs.entry.js +1 -1
  27. package/dist/cjs/wm-toggletip.cjs.entry.js +4 -4
  28. package/dist/cjs/wm-uploader.cjs.entry.js +9 -11
  29. package/dist/collection/components/wm-button/wm-button.css +1 -0
  30. package/dist/collection/components/wm-button/wm-button.js +50 -40
  31. package/dist/collection/components/wm-modal/wm-modal-footer.js +1 -1
  32. package/dist/collection/components/wm-option/wm-option.css +12 -0
  33. package/dist/collection/components/wm-option/wm-option.js +34 -29
  34. package/dist/collection/components/wm-select/wm-select.css +76 -23
  35. package/dist/collection/components/wm-select/wm-select.js +385 -125
  36. package/dist/collection/components/wm-toggletip/wm-toggletip.js +5 -5
  37. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.css +0 -3
  38. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +4 -2
  39. package/dist/collection/components/wm-uploader/wm-uploader.css +1 -5
  40. package/dist/collection/components/wm-uploader/wm-uploader.js +7 -9
  41. package/dist/collection/global/__mocks__/functions.js +9 -0
  42. package/dist/collection/global/functions.js +1 -28
  43. package/dist/collection/global/global.js +6 -4
  44. package/dist/esm/{chartFunctions-8fa800a6.js → chartFunctions-20f05eb5.js} +1 -1
  45. package/dist/esm/{functions-61c7bb1f.js → functions-036af8dc.js} +245 -32
  46. package/dist/esm/{global-5902ef31.js → global-590c515d.js} +7 -5
  47. package/dist/esm/loader.js +2 -2
  48. package/dist/esm/priv-chart-popover.entry.js +1 -1
  49. package/dist/esm/priv-datepicker.entry.js +1 -1
  50. package/dist/esm/ripple.js +2 -2
  51. package/dist/esm/wm-action-menu_2.entry.js +1 -1
  52. package/dist/esm/wm-button.entry.js +51 -39
  53. package/dist/esm/wm-chart.entry.js +2 -2
  54. package/dist/esm/wm-datepicker.entry.js +1 -1
  55. package/dist/esm/wm-input.entry.js +1 -1
  56. package/dist/esm/wm-modal-footer.entry.js +1 -1
  57. package/dist/esm/wm-modal-header.entry.js +1 -1
  58. package/dist/esm/wm-modal.entry.js +1 -1
  59. package/dist/esm/wm-navigation_3.entry.js +1 -1
  60. package/dist/esm/wm-navigator.entry.js +1 -1
  61. package/dist/esm/wm-network-uploader.entry.js +6 -4
  62. package/dist/esm/wm-option_2.entry.js +345 -122
  63. package/dist/esm/wm-pagination.entry.js +1 -1
  64. package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
  65. package/dist/esm/wm-search.entry.js +1 -1
  66. package/dist/esm/wm-snackbar.entry.js +1 -1
  67. package/dist/esm/wm-tab-item_3.entry.js +1 -1
  68. package/dist/esm/wm-tag-input.entry.js +1 -1
  69. package/dist/esm/wm-timepicker.entry.js +1 -1
  70. package/dist/esm/wm-toggletip.entry.js +4 -4
  71. package/dist/esm/wm-uploader.entry.js +9 -11
  72. package/dist/esm-es5/{chartFunctions-8fa800a6.js → chartFunctions-20f05eb5.js} +1 -1
  73. package/dist/esm-es5/{functions-61c7bb1f.js → functions-036af8dc.js} +2 -2
  74. package/dist/esm-es5/global-590c515d.js +1 -0
  75. package/dist/esm-es5/loader.js +1 -1
  76. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  77. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  78. package/dist/esm-es5/ripple.js +1 -1
  79. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  80. package/dist/esm-es5/wm-button.entry.js +1 -1
  81. package/dist/esm-es5/wm-chart.entry.js +1 -1
  82. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  83. package/dist/esm-es5/wm-input.entry.js +1 -1
  84. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  85. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  86. package/dist/esm-es5/wm-modal.entry.js +1 -1
  87. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  88. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  89. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  90. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  91. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  92. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  93. package/dist/esm-es5/wm-search.entry.js +1 -1
  94. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  95. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  96. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  97. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  98. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  99. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  100. package/dist/ripple/{p-28bf6a2e.system.js → p-04d8b674.system.js} +1 -1
  101. package/dist/ripple/{p-d3ed8b65.system.entry.js → p-04e44b30.system.entry.js} +1 -1
  102. package/dist/ripple/{p-fdc4a599.system.entry.js → p-0556279c.system.entry.js} +1 -1
  103. package/dist/ripple/{p-1242752c.system.entry.js → p-06adbeb9.system.entry.js} +1 -1
  104. package/dist/ripple/{p-42aa51fe.system.entry.js → p-0e9ccc6f.system.entry.js} +1 -1
  105. package/dist/ripple/{p-520b0f54.entry.js → p-17ceb8c1.entry.js} +1 -1
  106. package/dist/ripple/{p-8caae464.entry.js → p-1887286e.entry.js} +1 -1
  107. package/dist/ripple/{p-c873b490.system.entry.js → p-1ccd994d.system.entry.js} +1 -1
  108. package/dist/ripple/p-1d795f42.entry.js +1 -0
  109. package/dist/ripple/p-2996bfe6.entry.js +1 -0
  110. package/dist/ripple/{p-30745db6.entry.js → p-2f860b24.entry.js} +1 -1
  111. package/dist/ripple/p-3489b502.js +1 -0
  112. package/dist/ripple/{p-cd4fda75.entry.js → p-3680b55d.entry.js} +1 -1
  113. package/dist/ripple/p-3745c620.system.js +1 -0
  114. package/dist/ripple/{p-f12a510f.entry.js → p-3a1d6fc4.entry.js} +1 -1
  115. package/dist/ripple/p-42337590.entry.js +1 -0
  116. package/dist/ripple/{p-68155230.system.entry.js → p-49fd7ede.system.entry.js} +1 -1
  117. package/dist/ripple/{p-8aa9f811.js → p-4ecd3430.js} +1 -1
  118. package/dist/ripple/{p-5471864e.system.entry.js → p-62eac2d6.system.entry.js} +1 -1
  119. package/dist/ripple/{p-5e041c35.entry.js → p-6aa6a818.entry.js} +1 -1
  120. package/dist/ripple/{p-487f7419.system.entry.js → p-6bf5cbf4.system.entry.js} +1 -1
  121. package/dist/ripple/{p-e180001c.system.entry.js → p-7173b0a7.system.entry.js} +1 -1
  122. package/dist/ripple/p-726c979a.system.js +15 -0
  123. package/dist/ripple/{p-eacd33cc.system.entry.js → p-752da0fb.system.entry.js} +1 -1
  124. package/dist/ripple/{p-f36b74bf.entry.js → p-7ae1a630.entry.js} +1 -1
  125. package/dist/ripple/{p-8d347cd5.entry.js → p-7ecbf258.entry.js} +1 -1
  126. package/dist/ripple/{p-75ef731b.system.entry.js → p-7ef6a7cf.system.entry.js} +1 -1
  127. package/dist/ripple/p-8612829b.system.entry.js +1 -0
  128. package/dist/ripple/{p-398b2486.system.entry.js → p-895f5ec5.system.entry.js} +1 -1
  129. package/dist/ripple/{p-d3603def.entry.js → p-8de546e8.entry.js} +1 -1
  130. package/dist/ripple/{p-35cfcf9f.entry.js → p-93dee724.entry.js} +1 -1
  131. package/dist/ripple/{p-0f33461d.entry.js → p-97c2b06f.entry.js} +1 -1
  132. package/dist/ripple/{p-9f12284b.system.entry.js → p-995ba16f.system.entry.js} +1 -1
  133. package/dist/ripple/p-9c92c93f.entry.js +1 -0
  134. package/dist/ripple/p-9e09d7a1.entry.js +1 -0
  135. package/dist/ripple/{p-f0656464.entry.js → p-a04ba6c8.entry.js} +1 -1
  136. package/dist/ripple/{p-44035b02.system.entry.js → p-af3ce4fc.system.entry.js} +1 -1
  137. package/dist/ripple/p-bbcafbd6.system.entry.js +1 -0
  138. package/dist/ripple/{p-eee347b4.system.entry.js → p-c1443a0e.system.entry.js} +1 -1
  139. package/dist/ripple/{p-212aac05.system.entry.js → p-ca383a43.system.entry.js} +1 -1
  140. package/dist/ripple/{p-ca2fbd1b.system.js → p-cc247ee1.system.js} +1 -1
  141. package/dist/ripple/{p-73d66b0a.system.entry.js → p-cd3d74d1.system.entry.js} +1 -1
  142. package/dist/ripple/p-d1ac96e1.system.entry.js +1 -0
  143. package/dist/ripple/{p-3f1d8211.system.entry.js → p-d48c56c7.system.entry.js} +1 -1
  144. package/dist/ripple/{p-15b1c11b.js → p-de3367ee.js} +2 -2
  145. package/dist/ripple/{p-e748e22b.entry.js → p-e083fca6.entry.js} +1 -1
  146. package/dist/ripple/{p-3e6498ea.system.entry.js → p-e4439bc3.system.entry.js} +1 -1
  147. package/dist/ripple/{p-e49b9a96.entry.js → p-e524d462.entry.js} +1 -1
  148. package/dist/ripple/{p-92226595.entry.js → p-e8d39f68.entry.js} +1 -1
  149. package/dist/ripple/{p-00fa3d4b.entry.js → p-ed91be1a.entry.js} +1 -1
  150. package/dist/ripple/{p-d81a4e7c.system.entry.js → p-f23b3986.system.entry.js} +1 -1
  151. package/dist/ripple/{p-e75e75e0.entry.js → p-fda61e7e.entry.js} +1 -1
  152. package/dist/ripple/p-fe952112.entry.js +1 -0
  153. package/dist/ripple/ripple.esm.js +1 -1
  154. package/dist/ripple/ripple.js +1 -1
  155. package/dist/types/components/wm-button/wm-button.d.ts +4 -4
  156. package/dist/types/components/wm-option/wm-option.d.ts +5 -2
  157. package/dist/types/components/wm-select/wm-select.d.ts +39 -12
  158. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +2 -2
  159. package/dist/types/components.d.ts +10 -6
  160. package/dist/types/global/__mocks__/functions.d.ts +1 -0
  161. package/dist/types/global/functions.d.ts +2 -2
  162. package/dist/types/global/interfaces.d.ts +1 -1
  163. package/package.json +1 -1
  164. package/dist/esm-es5/global-5902ef31.js +0 -1
  165. package/dist/ripple/p-1b058a44.entry.js +0 -1
  166. package/dist/ripple/p-2077203e.system.js +0 -1
  167. package/dist/ripple/p-379b125b.entry.js +0 -1
  168. package/dist/ripple/p-49bf0b81.js +0 -1
  169. package/dist/ripple/p-584fef7f.system.entry.js +0 -1
  170. package/dist/ripple/p-72eb5064.system.entry.js +0 -1
  171. package/dist/ripple/p-76ca7498.system.js +0 -15
  172. package/dist/ripple/p-9fe64cec.entry.js +0 -1
  173. package/dist/ripple/p-a82d37d8.entry.js +0 -1
  174. package/dist/ripple/p-ac2485a6.system.entry.js +0 -1
  175. package/dist/ripple/p-ba168596.entry.js +0 -1
  176. package/dist/ripple/p-ed657559.entry.js +0 -1
@@ -1,20 +1,36 @@
1
- import { h, Component, Element, Event, Host, Listen, Prop, Watch } from "@stencil/core";
1
+ import { h, Component, Element, Event, Host, Listen, Prop, State, Watch } from "@stencil/core";
2
2
  export class Option {
3
3
  constructor() {
4
4
  this.subinfo = undefined;
5
5
  this.disabled = false;
6
6
  this.selected = false;
7
7
  this.focused = false;
8
+ this.searchTerm = "";
8
9
  }
9
- get isMultiChild() {
10
+ get hostClasses() {
11
+ let classes = [];
12
+ if (this.subinfo) {
13
+ classes.push("hassubinfo");
14
+ }
15
+ if (this.parentSelectEl.multiple) {
16
+ classes.push("multi-option");
17
+ }
18
+ if (!this.el.textContent.toLowerCase().includes(this.searchTerm)) {
19
+ classes.push("filtered-out");
20
+ }
21
+ return classes.join(" ");
22
+ }
23
+ get parentSelectEl() {
10
24
  var _a;
11
- return (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.multiple;
25
+ return ((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.nodeName) !== "WM-SELECT"
26
+ ? this.el.getRootNode().host
27
+ : this.el.parentElement;
12
28
  }
13
29
  handleKeydown(ev) {
14
30
  switch (ev.key) {
15
31
  case "ArrowUp":
16
32
  ev.preventDefault();
17
- this.wmKeyUpPressed.emit();
33
+ this.wmKeyUpPressed.emit(this.el);
18
34
  break;
19
35
  case "ArrowDown":
20
36
  ev.preventDefault();
@@ -44,16 +60,13 @@ export class Option {
44
60
  ev.preventDefault();
45
61
  this.wmEndKeyPressed.emit();
46
62
  break;
47
- case "Tab":
48
- this.wmTabKeyPressed.emit();
49
- break;
50
63
  default:
51
64
  this.wmLetterPressed.emit(ev.key);
52
65
  }
53
66
  }
54
67
  handleSelection() {
55
68
  if (!this.disabled) {
56
- this.wmOptionSelected.emit();
69
+ this.wmOptionSelected.emit(this.el);
57
70
  // the parent wm-select is in charge of the actual selection
58
71
  }
59
72
  }
@@ -81,14 +94,22 @@ export class Option {
81
94
  this.el.onclick = this.onClickFunc;
82
95
  }
83
96
  }
97
+ handleSearch(ev) {
98
+ // filter is case-insensitive, so
99
+ this.searchTerm = ev.detail.searchTerm.toLowerCase();
100
+ const regexp = new RegExp(`${this.searchTerm}`, "gi");
101
+ const boldedText = this.el.textContent.replace(regexp, (match) => `<b>${match}</b>`);
102
+ this.textEl.innerHTML = `<span>${boldedText}</span>`;
103
+ }
84
104
  componentWillLoad() {
85
105
  this.syncAriaSelected();
86
106
  this.syncAriaDisabled();
87
107
  this.updateDisabledOnClick();
108
+ this.parentSelectEl.addEventListener("wmSelectSearchChanged", (ev) => this.handleSearch(ev));
88
109
  }
89
110
  render() {
90
- return (h(Host, { role: "option", tabindex: this.focused ? 0 : -1, class: `${this.subinfo ? "hassubinfo" : ""} ${this.isMultiChild ? "multi-option" : ""}` },
91
- h("div", { class: `option-wrapper ${this.isMultiChild ? "checkbox" : ""}` },
111
+ return (h(Host, { role: "option", tabindex: this.focused ? 0 : -1, class: this.hostClasses },
112
+ h("div", { class: `option-wrapper ${this.parentSelectEl.multiple ? "checkbox" : ""}`, ref: (el) => (this.textEl = el) },
92
113
  h("slot", null)),
93
114
  h("div", { class: "subinfo" }, this.subinfo)));
94
115
  }
@@ -191,6 +212,9 @@ export class Option {
191
212
  "defaultValue": "false"
192
213
  }
193
214
  }; }
215
+ static get states() { return {
216
+ "searchTerm": {}
217
+ }; }
194
218
  static get events() { return [{
195
219
  "method": "wmOptionSelected",
196
220
  "name": "wmOptionSelected",
@@ -305,25 +329,6 @@ export class Option {
305
329
  }
306
330
  }
307
331
  }
308
- }, {
309
- "method": "wmTabKeyPressed",
310
- "name": "wmTabKeyPressed",
311
- "bubbles": true,
312
- "cancelable": true,
313
- "composed": true,
314
- "docs": {
315
- "tags": [],
316
- "text": ""
317
- },
318
- "complexType": {
319
- "original": "HTMLWmOptionElement",
320
- "resolved": "HTMLWmOptionElement",
321
- "references": {
322
- "HTMLWmOptionElement": {
323
- "location": "global"
324
- }
325
- }
326
- }
327
332
  }, {
328
333
  "method": "wmEnterKeyPressed",
329
334
  "name": "wmEnterKeyPressed",
@@ -124,14 +124,14 @@
124
124
  margin-left: 0.75rem;
125
125
  }
126
126
 
127
- .wrapper .dropdown {
127
+ .wrapper .button-wrapper {
128
128
  position: relative;
129
129
  flex: 1;
130
130
  font-size: 1.125rem;
131
131
  color: #575195;
132
132
  min-width: 8.75rem;
133
133
  }
134
- .wrapper .dropdown .displayedoption {
134
+ .wrapper .button-wrapper .displayedoption {
135
135
  -webkit-border-radius: 3px;
136
136
  -moz-border-radius: 3px;
137
137
  -ms-border-radius: 3px;
@@ -157,11 +157,11 @@
157
157
  text-align: left;
158
158
  }
159
159
  @media only screen and (max-width: 768px) {
160
- .wrapper .dropdown .displayedoption {
160
+ .wrapper .button-wrapper .displayedoption {
161
161
  height: 2.75rem;
162
162
  }
163
163
  }
164
- .wrapper .dropdown .displayedoption:before {
164
+ .wrapper .button-wrapper .displayedoption:before {
165
165
  display: inline-block;
166
166
  font: normal normal normal 24px/1 "Material Design Icons";
167
167
  font-size: inherit;
@@ -174,59 +174,59 @@
174
174
  right: 0.5625rem;
175
175
  pointer-events: none;
176
176
  }
177
- .wrapper .dropdown .displayedoption:hover:not(:disabled):not(.-disabled):not(.-raised) {
177
+ .wrapper .button-wrapper .displayedoption:hover:not(:disabled):not(.-disabled):not(.-raised) {
178
178
  background: transparent;
179
179
  text-decoration: none;
180
180
  }
181
- .wrapper .dropdown .displayedoption:active {
181
+ .wrapper .button-wrapper .displayedoption:active {
182
182
  -ms-transform: scale(1, 1) !important;
183
183
  transform: scale(1, 1) !important;
184
184
  }
185
- .wrapper .dropdown .displayedoption:focus {
185
+ .wrapper .button-wrapper .displayedoption:focus {
186
186
  outline: none;
187
187
  }
188
- .wrapper .dropdown .displayedoption::-moz-focus-inner {
188
+ .wrapper .button-wrapper .displayedoption::-moz-focus-inner {
189
189
  border: 0;
190
190
  }
191
- .wrapper .dropdown .displayedoption.user-is-tabbing:focus {
191
+ .wrapper .button-wrapper .displayedoption.user-is-tabbing:focus {
192
192
  -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;
193
193
  -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;
194
194
  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;
195
195
  }
196
- .wrapper .dropdown .displayedoption.user-is-tabbing:focus::-moz-focus-inner {
196
+ .wrapper .button-wrapper .displayedoption.user-is-tabbing:focus::-moz-focus-inner {
197
197
  border: 0;
198
198
  }
199
- .wrapper .dropdown .displayedoption .overflowcontrol {
199
+ .wrapper .button-wrapper .displayedoption .overflowcontrol {
200
200
  display: block;
201
201
  white-space: nowrap;
202
202
  text-overflow: ellipsis;
203
203
  overflow: hidden;
204
204
  flex: 1;
205
205
  }
206
- .wrapper .dropdown .displayedoption .overflowcontrol.hassubinfo {
206
+ .wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo {
207
207
  display: flex;
208
208
  }
209
- .wrapper .dropdown .displayedoption .overflowcontrol.hassubinfo .button-text {
209
+ .wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .button-text {
210
210
  flex: 1;
211
211
  text-overflow: ellipsis;
212
212
  overflow: hidden;
213
213
  min-width: 0;
214
214
  }
215
- .wrapper .dropdown .displayedoption .overflowcontrol.hassubinfo .subinfo {
215
+ .wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .subinfo {
216
216
  flex: none;
217
217
  font-style: italic;
218
218
  }
219
- .wrapper .dropdown .displayedoption .overflow-counter {
219
+ .wrapper .button-wrapper .displayedoption .overflow-counter {
220
220
  font-weight: bold;
221
221
  margin-left: 0.5rem;
222
222
  }
223
- .wrapper .dropdown > .displayedoption[disabled] {
223
+ .wrapper .button-wrapper > .displayedoption[disabled] {
224
224
  color: #6b6b6b;
225
225
  border-color: #8a8a8a;
226
226
  background: #f0f0f0;
227
227
  cursor: default;
228
228
  }
229
- .wrapper .dropdown > .options {
229
+ .wrapper .button-wrapper > .dropdown {
230
230
  -webkit-overflow-scrolling: touch;
231
231
  overflow: auto;
232
232
  max-height: 12.5rem;
@@ -257,7 +257,7 @@
257
257
  width: 100%;
258
258
  font-size: 0.875rem;
259
259
  }
260
- .wrapper .dropdown > .options.upwards {
260
+ .wrapper .button-wrapper > .dropdown.upwards {
261
261
  top: unset;
262
262
  bottom: calc(100% - 2.5rem);
263
263
  -ms-transform-origin: center bottom;
@@ -265,16 +265,16 @@
265
265
  -moz-transform-origin: center bottom;
266
266
  transform-origin: center bottom;
267
267
  }
268
- .wrapper .dropdown > .options.hidden {
268
+ .wrapper .button-wrapper > .dropdown.hidden {
269
269
  visibility: hidden;
270
270
  }
271
- .wrapper .dropdown > .options.open {
271
+ .wrapper .button-wrapper > .dropdown.open {
272
272
  -ms-transform: scale(1, 1);
273
273
  -webkit-transform: scale(1, 1);
274
274
  -moz-transform: scale(1, 1);
275
275
  transform: scale(1, 1);
276
276
  }
277
- .wrapper.invalid .dropdown .displayedoption {
277
+ .wrapper.invalid .button-wrapper .displayedoption {
278
278
  -webkit-box-shadow: 0 0 0 1px #c0392b;
279
279
  -moz-box-shadow: 0 0 0 1px #c0392b;
280
280
  box-shadow: 0 0 0 1px #c0392b;
@@ -291,7 +291,60 @@
291
291
  font-style: italic;
292
292
  }
293
293
 
294
- .rtl > .options {
294
+ .search {
295
+ box-sizing: border-box;
296
+ border-bottom: 2px solid rgba(46, 27, 70, 0.05);
297
+ padding: 1.25rem;
298
+ }
299
+ .search .searchfield-wrapper {
300
+ box-sizing: border-box;
301
+ display: flex;
302
+ align-items: center;
303
+ height: 2.75rem;
304
+ width: 100%;
305
+ padding: 0 0.75rem;
306
+ -webkit-border-radius: 3px;
307
+ -moz-border-radius: 3px;
308
+ -ms-border-radius: 3px;
309
+ border-radius: 3px;
310
+ border: 1px solid #4a4a4a;
311
+ }
312
+ .search .searchfield-wrapper:focus, .search .searchfield-wrapper.focus {
313
+ -webkit-box-shadow: 0 0 0 1px #20cbd4;
314
+ -moz-box-shadow: 0 0 0 1px #20cbd4;
315
+ box-shadow: 0 0 0 1px #20cbd4;
316
+ outline: none;
317
+ border-color: #20cbd4;
318
+ }
319
+ .search .searchfield {
320
+ width: 100%;
321
+ border: none;
322
+ outline: none;
323
+ font-family: inherit;
324
+ font-size: 0.875rem;
325
+ margin-left: 0.25rem;
326
+ }
327
+ .search .icon:before {
328
+ display: inline-block;
329
+ font: normal normal normal 24px/1 "Material Design Icons";
330
+ font-size: inherit;
331
+ text-rendering: auto;
332
+ line-height: inherit;
333
+ -webkit-font-smoothing: antialiased;
334
+ -moz-osx-font-smoothing: grayscale;
335
+ content: "\f349";
336
+ color: #6b6b6b;
337
+ font-size: 0.875rem;
338
+ }
339
+
340
+ .search-results-message {
341
+ padding: 1.25rem;
342
+ color: #4a4a4a;
343
+ font-size: 0.875rem;
344
+ font-style: italic;
345
+ }
346
+
347
+ .rtl > .dropdown {
295
348
  -ms-transform-origin: left top;
296
349
  -webkit-transform-origin: left top;
297
350
  -moz-transform-origin: left top;
@@ -299,7 +352,7 @@
299
352
  left: 0;
300
353
  right: auto;
301
354
  }
302
- .rtl > .options .option {
355
+ .rtl > .dropdown .option {
303
356
  padding-left: 3rem;
304
357
  padding-right: 1.25rem;
305
358
  }