solid-ui 2.6.1-d631dfca → 2.6.1-dc6afe0

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 (366) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +85 -26
  3. package/dist/acl/access-controller.js +293 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/dist/acl/access-groups.js +372 -0
  6. package/dist/acl/access-groups.js.map +1 -0
  7. package/dist/acl/acl-control.js +217 -0
  8. package/dist/acl/acl-control.js.map +1 -0
  9. package/dist/acl/acl.js +550 -0
  10. package/dist/acl/acl.js.map +1 -0
  11. package/dist/acl/add-agent-buttons.js +260 -0
  12. package/dist/acl/add-agent-buttons.js.map +1 -0
  13. package/dist/acl/index.js +35 -0
  14. package/dist/acl/index.js.map +1 -0
  15. package/dist/acl/types.js +7 -0
  16. package/dist/acl/types.js.map +1 -0
  17. package/{lib → dist}/chat/keys.d.ts +1 -1
  18. package/{lib → dist}/chat/keys.d.ts.map +1 -1
  19. package/dist/chat/keys.js +148 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +71 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +288 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +8 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +3 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.js +23 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/footer/index.js +72 -0
  32. package/dist/footer/index.js.map +1 -0
  33. package/dist/header/empty-profile.js +14 -0
  34. package/dist/header/empty-profile.js.map +1 -0
  35. package/dist/header/index.js +305 -0
  36. package/dist/header/index.js.map +1 -0
  37. package/dist/iconBase.js +40 -0
  38. package/dist/iconBase.js.map +1 -0
  39. package/dist/icons/solid_logo.js.map +1 -0
  40. package/{lib → dist}/index.d.ts +7 -9
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +162 -0
  43. package/dist/index.js.map +1 -0
  44. package/{lib → dist}/log.js +85 -99
  45. package/dist/log.js.map +1 -0
  46. package/dist/login/login.js +910 -0
  47. package/dist/login/login.js.map +1 -0
  48. package/dist/matrix/index.js +8 -0
  49. package/dist/matrix/index.js.map +1 -0
  50. package/dist/matrix/matrix.js +253 -0
  51. package/dist/matrix/matrix.js.map +1 -0
  52. package/dist/matrix/types.js +3 -0
  53. package/dist/matrix/types.js.map +1 -0
  54. package/dist/media/index.js +9 -0
  55. package/dist/media/index.js.map +1 -0
  56. package/dist/media/media-capture.js +198 -0
  57. package/dist/media/media-capture.js.map +1 -0
  58. package/dist/pad.js +795 -0
  59. package/dist/pad.js.map +1 -0
  60. package/dist/participation.js +228 -0
  61. package/dist/participation.js.map +1 -0
  62. package/dist/solid-ui.esm.js +25542 -0
  63. package/dist/solid-ui.esm.js.map +1 -0
  64. package/dist/solid-ui.esm.min.js +43 -0
  65. package/dist/solid-ui.esm.min.js.map +1 -0
  66. package/dist/solid-ui.js +23485 -68926
  67. package/dist/solid-ui.js.map +1 -1
  68. package/dist/solid-ui.min.js +40 -2
  69. package/dist/solid-ui.min.js.map +1 -1
  70. package/dist/tabs.js +398 -0
  71. package/dist/tabs.js.map +1 -0
  72. package/dist/utils/headerFooterHelpers.js +122 -0
  73. package/dist/utils/headerFooterHelpers.js.map +1 -0
  74. package/{lib → dist}/utils/keyHelpers/accessData.d.ts +3 -3
  75. package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +1 -1
  76. package/dist/utils/keyHelpers/accessData.js +108 -0
  77. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  78. package/dist/utils/keyHelpers/acl.js +112 -0
  79. package/dist/utils/keyHelpers/acl.js.map +1 -0
  80. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +1 -1
  81. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  82. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +150 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +33 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +49 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1355 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.js +42 -0
  93. package/dist/widgets/error.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  95. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  99. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/language.js +147 -0
  101. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  102. package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +3 -3
  103. package/dist/widgets/forms/autocomplete/publicData.d.ts.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +250 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +52 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +49 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +95 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/dist/widgets/forms/formStyle.js +43 -0
  115. package/dist/widgets/forms/formStyle.js.map +1 -0
  116. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  117. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  118. package/dist/widgets/widgetHelpers.js.map +1 -0
  119. package/package.json +44 -47
  120. package/dist/789.solid-ui.min.js +0 -1
  121. package/dist/841.solid-ui.min.js +0 -3
  122. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  123. package/dist/841.solid-ui.min.js.map +0 -1
  124. package/dist/_2b19.solid-ui.js +0 -14
  125. package/dist/_2b19.solid-ui.js.map +0 -1
  126. package/dist/index.html +0 -1
  127. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  128. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  130. package/lib/acl/access-controller.js +0 -391
  131. package/lib/acl/access-controller.js.map +0 -1
  132. package/lib/acl/access-groups.js +0 -507
  133. package/lib/acl/access-groups.js.map +0 -1
  134. package/lib/acl/acl-control.js +0 -237
  135. package/lib/acl/acl-control.js.map +0 -1
  136. package/lib/acl/acl.js +0 -517
  137. package/lib/acl/acl.js.map +0 -1
  138. package/lib/acl/add-agent-buttons.js +0 -434
  139. package/lib/acl/add-agent-buttons.js.map +0 -1
  140. package/lib/acl/index.js +0 -39
  141. package/lib/acl/index.js.map +0 -1
  142. package/lib/acl/types.js +0 -6
  143. package/lib/acl/types.js.map +0 -1
  144. package/lib/chat/bookmarks.js +0 -303
  145. package/lib/chat/bookmarks.js.map +0 -1
  146. package/lib/chat/chatLogic.js +0 -420
  147. package/lib/chat/chatLogic.js.map +0 -1
  148. package/lib/chat/dateFolder.js +0 -328
  149. package/lib/chat/dateFolder.js.map +0 -1
  150. package/lib/chat/infinite.js +0 -994
  151. package/lib/chat/infinite.js.map +0 -1
  152. package/lib/chat/keys.js +0 -232
  153. package/lib/chat/keys.js.map +0 -1
  154. package/lib/chat/message.js +0 -715
  155. package/lib/chat/message.js.map +0 -1
  156. package/lib/chat/messageTools.js +0 -538
  157. package/lib/chat/messageTools.js.map +0 -1
  158. package/lib/chat/signature.js +0 -109
  159. package/lib/chat/signature.js.map +0 -1
  160. package/lib/chat/thread.js +0 -535
  161. package/lib/chat/thread.js.map +0 -1
  162. package/lib/create/create.js +0 -242
  163. package/lib/create/create.js.map +0 -1
  164. package/lib/create/index.js +0 -11
  165. package/lib/create/index.js.map +0 -1
  166. package/lib/create/types.js +0 -6
  167. package/lib/create/types.js.map +0 -1
  168. package/lib/debug.js +0 -30
  169. package/lib/debug.js.map +0 -1
  170. package/lib/folders.js +0 -132
  171. package/lib/folders.js.map +0 -1
  172. package/lib/footer/index.js +0 -123
  173. package/lib/footer/index.js.map +0 -1
  174. package/lib/header/empty-profile.js +0 -8
  175. package/lib/header/empty-profile.js.map +0 -1
  176. package/lib/header/index.js +0 -375
  177. package/lib/header/index.js.map +0 -1
  178. package/lib/iconBase.js +0 -44
  179. package/lib/iconBase.js.map +0 -1
  180. package/lib/icons/solid_logo.js.map +0 -1
  181. package/lib/index.d.ts.map +0 -1
  182. package/lib/index.js +0 -223
  183. package/lib/index.js.map +0 -1
  184. package/lib/log.js.map +0 -1
  185. package/lib/login/login.js +0 -1241
  186. package/lib/login/login.js.map +0 -1
  187. package/lib/matrix/index.js +0 -11
  188. package/lib/matrix/index.js.map +0 -1
  189. package/lib/matrix/matrix.js +0 -216
  190. package/lib/matrix/matrix.js.map +0 -1
  191. package/lib/matrix/types.js +0 -6
  192. package/lib/matrix/types.js.map +0 -1
  193. package/lib/media/index.js +0 -12
  194. package/lib/media/index.js.map +0 -1
  195. package/lib/media/media-capture.js +0 -194
  196. package/lib/media/media-capture.js.map +0 -1
  197. package/lib/messageArea.js +0 -319
  198. package/lib/messageArea.js.map +0 -1
  199. package/lib/noun_Camera_1618446_000000.js +0 -8
  200. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  201. package/lib/ns.js +0 -17
  202. package/lib/ns.js.map +0 -1
  203. package/lib/pad.js +0 -805
  204. package/lib/pad.js.map +0 -1
  205. package/lib/participation.js +0 -219
  206. package/lib/participation.js.map +0 -1
  207. package/lib/preferences.js +0 -215
  208. package/lib/preferences.js.map +0 -1
  209. package/lib/signup/config-default.js +0 -43
  210. package/lib/signup/config-default.js.map +0 -1
  211. package/lib/signup/signup.js +0 -74
  212. package/lib/signup/signup.js.map +0 -1
  213. package/lib/stories/decorators.js +0 -10
  214. package/lib/stories/decorators.js.map +0 -1
  215. package/lib/style.js +0 -158
  216. package/lib/style.js.map +0 -1
  217. package/lib/styleConstants.js +0 -35
  218. package/lib/styleConstants.js.map +0 -1
  219. package/lib/style_multiSelect.js +0 -62
  220. package/lib/style_multiSelect.js.map +0 -1
  221. package/lib/table.js +0 -1573
  222. package/lib/table.js.map +0 -1
  223. package/lib/tabs.js +0 -448
  224. package/lib/tabs.js.map +0 -1
  225. package/lib/typings.d.js +0 -2
  226. package/lib/typings.d.js.map +0 -1
  227. package/lib/utils/headerFooterHelpers.js +0 -165
  228. package/lib/utils/headerFooterHelpers.js.map +0 -1
  229. package/lib/utils/index.js +0 -527
  230. package/lib/utils/index.js.map +0 -1
  231. package/lib/utils/keyHelpers/accessData.js +0 -131
  232. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  233. package/lib/utils/keyHelpers/acl.js +0 -90
  234. package/lib/utils/keyHelpers/acl.js.map +0 -1
  235. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  236. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  237. package/lib/utils/label.js +0 -103
  238. package/lib/utils/label.js.map +0 -1
  239. package/lib/versionInfo.d.ts +0 -32
  240. package/lib/versionInfo.d.ts.map +0 -1
  241. package/lib/versionInfo.js +0 -37
  242. package/lib/versionInfo.js.map +0 -1
  243. package/lib/widgets/buttons/iconLinks.js +0 -53
  244. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  245. package/lib/widgets/buttons.js +0 -1306
  246. package/lib/widgets/buttons.js.map +0 -1
  247. package/lib/widgets/dragAndDrop.js +0 -194
  248. package/lib/widgets/dragAndDrop.js.map +0 -1
  249. package/lib/widgets/error.js +0 -46
  250. package/lib/widgets/error.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  252. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  253. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  254. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  255. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  256. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  257. package/lib/widgets/forms/autocomplete/language.js +0 -189
  258. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  259. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -1
  260. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  261. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  262. package/lib/widgets/forms/basic.js +0 -254
  263. package/lib/widgets/forms/basic.js.map +0 -1
  264. package/lib/widgets/forms/comment.js +0 -54
  265. package/lib/widgets/forms/comment.js.map +0 -1
  266. package/lib/widgets/forms/fieldFunction.js +0 -52
  267. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  268. package/lib/widgets/forms/fieldParams.js +0 -77
  269. package/lib/widgets/forms/fieldParams.js.map +0 -1
  270. package/lib/widgets/forms/formStyle.js +0 -44
  271. package/lib/widgets/forms/formStyle.js.map +0 -1
  272. package/lib/widgets/forms.js +0 -2045
  273. package/lib/widgets/forms.js.map +0 -1
  274. package/lib/widgets/index.js +0 -110
  275. package/lib/widgets/index.js.map +0 -1
  276. package/lib/widgets/multiSelect.js +0 -658
  277. package/lib/widgets/multiSelect.js.map +0 -1
  278. package/lib/widgets/peoplePicker.js +0 -467
  279. package/lib/widgets/peoplePicker.js.map +0 -1
  280. package/lib/widgets/widgetHelpers.js.map +0 -1
  281. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  282. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  283. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  284. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  285. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  286. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  290. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/index.d.ts +0 -0
  292. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/types.d.ts +0 -0
  294. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  295. /package/{lib → dist}/chat/signature.d.ts +0 -0
  296. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  297. /package/{lib → dist}/create/create.d.ts +0 -0
  298. /package/{lib → dist}/create/create.d.ts.map +0 -0
  299. /package/{lib → dist}/create/index.d.ts +0 -0
  300. /package/{lib → dist}/create/index.d.ts.map +0 -0
  301. /package/{lib → dist}/create/types.d.ts +0 -0
  302. /package/{lib → dist}/create/types.d.ts.map +0 -0
  303. /package/{lib → dist}/debug.d.ts +0 -0
  304. /package/{lib → dist}/debug.d.ts.map +0 -0
  305. /package/{lib → dist}/footer/index.d.ts +0 -0
  306. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  307. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  308. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  309. /package/{lib → dist}/header/index.d.ts +0 -0
  310. /package/{lib → dist}/header/index.d.ts.map +0 -0
  311. /package/{lib → dist}/iconBase.d.ts +0 -0
  312. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  313. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  314. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  315. /package/{lib → dist}/icons/solid_logo.js +0 -0
  316. /package/{lib → dist}/log.d.ts +0 -0
  317. /package/{lib → dist}/log.d.ts.map +0 -0
  318. /package/{lib → dist}/login/login.d.ts +0 -0
  319. /package/{lib → dist}/login/login.d.ts.map +0 -0
  320. /package/{lib → dist}/matrix/index.d.ts +0 -0
  321. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  323. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/types.d.ts +0 -0
  325. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  326. /package/{lib → dist}/media/index.d.ts +0 -0
  327. /package/{lib → dist}/media/index.d.ts.map +0 -0
  328. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  329. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  330. /package/{lib → dist}/pad.d.ts +0 -0
  331. /package/{lib → dist}/pad.d.ts.map +0 -0
  332. /package/{lib → dist}/participation.d.ts +0 -0
  333. /package/{lib → dist}/participation.d.ts.map +0 -0
  334. /package/{lib → dist}/tabs.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts.map +0 -0
  336. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/label.d.ts +0 -0
  341. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  342. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  343. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  344. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  345. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/error.d.ts +0 -0
  347. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -1,658 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.IconicMultiSelect = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
- var style = _interopRequireWildcard(require("../style_multiSelect"));
14
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
- /*
16
- * IconicMultiSelect v0.7.0
17
- * Licence: MIT
18
- * (c) 2021 Sidney Wimart.
19
- * repo & configuration: https://github.com/sidneywm/iconic-multiselect
20
- */
21
- /**
22
- * @version IconicMultiSelect v0.7.0
23
- * @licence MIT
24
- */
25
- var IconicMultiSelect = exports.IconicMultiSelect = /*#__PURE__*/function () {
26
- /**
27
- * Iconic Multiselect constructor.
28
- * @param { Object[] } data - Array of objects.
29
- * @param { string } noData - Defines the message when there is no data input.
30
- * @param { string } noResults - Defines the message when there is no result if options are filtered.
31
- * @param { string } placeholder - Defines the placeholder's text.
32
- * @param { string } select - DOM element to be selected. It must be a HTML Select tag - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
33
- * @param { string } textField - Field to select in the object for the text.
34
- * @param { string } valueField - Field to select in the object for the value.
35
- */
36
- function IconicMultiSelect(_ref) {
37
- var data = _ref.data,
38
- itemTemplate = _ref.itemTemplate,
39
- noData = _ref.noData,
40
- noResults = _ref.noResults,
41
- placeholder = _ref.placeholder,
42
- select = _ref.select,
43
- container = _ref.container,
44
- tagTemplate = _ref.tagTemplate,
45
- textField = _ref.textField,
46
- valueField = _ref.valueField;
47
- (0, _classCallCheck2["default"])(this, IconicMultiSelect);
48
- (0, _defineProperty2["default"])(this, "_data", void 0);
49
- (0, _defineProperty2["default"])(this, "_domElements", void 0);
50
- (0, _defineProperty2["default"])(this, "_event", function () {});
51
- (0, _defineProperty2["default"])(this, "_itemTemplate", void 0);
52
- (0, _defineProperty2["default"])(this, "_multiselect", void 0);
53
- (0, _defineProperty2["default"])(this, "_noData", void 0);
54
- (0, _defineProperty2["default"])(this, "_noResults", void 0);
55
- (0, _defineProperty2["default"])(this, "_options", []);
56
- (0, _defineProperty2["default"])(this, "_placeholder", void 0);
57
- (0, _defineProperty2["default"])(this, "_select", void 0);
58
- (0, _defineProperty2["default"])(this, "_selectContainer", void 0);
59
- (0, _defineProperty2["default"])(this, "_selectedOptions", []);
60
- (0, _defineProperty2["default"])(this, "_tagTemplate", void 0);
61
- (0, _defineProperty2["default"])(this, "_textField", void 0);
62
- (0, _defineProperty2["default"])(this, "_valueField", void 0);
63
- (0, _defineProperty2["default"])(this, "_cross", "\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z\"\n fill=\"currentColor\"\n />\n </svg>\n ");
64
- this._data = data !== null && data !== void 0 ? data : [];
65
- this._itemTemplate = itemTemplate !== null && itemTemplate !== void 0 ? itemTemplate : null;
66
- this._noData = noData !== null && noData !== void 0 ? noData : 'No data found.';
67
- this._noResults = noResults !== null && noResults !== void 0 ? noResults : 'No results found.';
68
- this._placeholder = placeholder !== null && placeholder !== void 0 ? placeholder : 'Select...';
69
- this._select = select;
70
- // Timea added a container here
71
- this._selectContainer = container;
72
- this._tagTemplate = tagTemplate !== null && tagTemplate !== void 0 ? tagTemplate : null;
73
- this._textField = textField !== null && textField !== void 0 ? textField : null;
74
- this._valueField = valueField !== null && valueField !== void 0 ? valueField : null;
75
- }
76
-
77
- /**
78
- * Initialize the Iconic Multiselect component.
79
- * @public
80
- */
81
- return (0, _createClass2["default"])(IconicMultiSelect, [{
82
- key: "init",
83
- value: function init() {
84
- // Timea change to use this._select instead of this._selectContainer
85
- if (this._select && this._select.nodeName === 'SELECT') {
86
- if (this._itemTemplate && this._data.length === 0) {
87
- throw new Error('itemTemplate must be initialized with data from the component settings');
88
- }
89
- if (this._tagTemplate && this._data.length === 0) {
90
- throw new Error('tagTemplate must be initialized with data from the component settings');
91
- }
92
- this._options = this._data.length > 0 ? this._getDataFromSettings() : this._getDataFromSelectTag();
93
- this._renderMultiselect();
94
- this._renderOptionsList();
95
- this._domElements = {
96
- clear: this._multiselect.querySelector('.multiselect__clear-btn'),
97
- input: this._multiselect.querySelector('.multiselect__input'),
98
- optionsContainer: this._multiselect.querySelector('.multiselect__options'),
99
- optionsContainerList: this._multiselect.querySelector('.multiselect__options > ul'),
100
- options: {
101
- list: this._multiselect.querySelectorAll('.multiselect__options > ul > li'),
102
- find: function find(callbackFn) {
103
- for (var i = 0; i < this.list.length; i++) {
104
- var node = this.list[i];
105
- if (callbackFn(node)) return node;
106
- }
107
- return undefined;
108
- },
109
- some: function some(callbackFn) {
110
- for (var i = 0; i < this.list.length; i++) {
111
- var node = this.list[i];
112
- if (callbackFn(node, i)) return true;
113
- }
114
- return false;
115
- }
116
- }
117
- };
118
- this._enableEventListenners();
119
- this._initSelectedList();
120
- } else {
121
- throw new Error("The selector '".concat(this._select, "' did not select any valid select tag."));
122
- }
123
- }
124
-
125
- /**
126
- * Subscribes to the emitted events.
127
- * @param { Function } callback - Callback function which emits a custom event object.
128
- * @public
129
- */
130
- }, {
131
- key: "subscribe",
132
- value: function subscribe(callback) {
133
- if (typeof callback === 'function') {
134
- this._event = callback;
135
- } else {
136
- throw new Error('parameter in the subscribe method is not a function');
137
- }
138
- }
139
-
140
- /**
141
- * Add an option to the selection list.
142
- * @param { Object: { text: string; value: string; }} option
143
- * @private
144
- */
145
- }, {
146
- key: "_addOptionToList",
147
- value: function _addOptionToList(option, index) {
148
- var _this = this;
149
- var html = "<span class=\"multiselect__selected\" style=\"".concat(style.multiselect__selected, "\" data-value=\"").concat(option.value, "\">").concat(this._tagTemplate ? this._processTemplate(this._tagTemplate, index) : option.text, "<span class=\"multiselect__remove-btn\" style=\"").concat(style.multiselect__remove_btn, "\">").concat(this._cross, "</span></span>");
150
- this._domElements.input.insertAdjacentHTML('beforebegin', html);
151
- var _this$_multiselect$qu = this._multiselect.querySelector("span[data-value=\"".concat(option.value, "\"]")),
152
- removeBtn = _this$_multiselect$qu.lastElementChild;
153
- removeBtn.addEventListener('click', function () {
154
- var target = _this._domElements.options.find(function (el) {
155
- return el.dataset.value === option.value;
156
- });
157
- _this._handleOption(target);
158
- });
159
- }
160
-
161
- /**
162
- * Clears all selected options.
163
- * @private
164
- */
165
- }, {
166
- key: "_clearSelection",
167
- value: function _clearSelection() {
168
- var _this2 = this;
169
- var _loop = function _loop() {
170
- var option = _this2._selectedOptions[i];
171
- var target = _this2._domElements.options.find(function (el) {
172
- return el.dataset.value === option.value;
173
- });
174
- target.classList.remove('multiselect__options--selected');
175
- target.setAttribute('style', style.multiselect__options);
176
- _this2._removeOptionFromList(target.dataset.value);
177
- };
178
- for (var i = 0; i < this._selectedOptions.length; i++) {
179
- _loop();
180
- }
181
- this._selectedOptions = [];
182
- this._handleClearSelectionBtn();
183
- this._handlePlaceholder();
184
- this._dispatchEvent({
185
- action: 'CLEAR_ALL_OPTIONS',
186
- selection: this._selectedOptions
187
- });
188
- }
189
-
190
- /**
191
- * Close the options container.
192
- * @private
193
- */
194
- }, {
195
- key: "_closeList",
196
- value: function _closeList() {
197
- this._domElements.input.value = '';
198
- this._domElements.optionsContainer.classList.remove('visible');
199
- this._domElements.optionsContainer.setAttribute('style', style.multiselect__options);
200
- this._filterOptions('');
201
- this._removeAllArrowSelected();
202
- }
203
-
204
- /**
205
- * Dispatches new events.
206
- * @param { object : { action: string; selection: { option: string; text: string; }[]; value?: string; } } event
207
- * @private
208
- */
209
- }, {
210
- key: "_dispatchEvent",
211
- value: function _dispatchEvent(event) {
212
- this._event(event);
213
- }
214
-
215
- /**
216
- * Enables all main event listenners.
217
- * @private
218
- */
219
- }, {
220
- key: "_enableEventListenners",
221
- value: function _enableEventListenners() {
222
- var _this3 = this;
223
- document.addEventListener('mouseup', function (_ref2) {
224
- var target = _ref2.target;
225
- if (!_this3._multiselect.contains(target)) {
226
- _this3._filterOptions('');
227
- _this3._closeList();
228
- _this3._handlePlaceholder();
229
- }
230
- });
231
- this._domElements.clear.addEventListener('click', function () {
232
- _this3._clearSelection();
233
- });
234
- for (var i = 0; i < this._domElements.options.list.length; i++) {
235
- var option = this._domElements.options.list[i];
236
- option.addEventListener('click', function (_ref3) {
237
- var target = _ref3.target;
238
- _this3._handleOption(target);
239
- _this3._closeList();
240
- });
241
- }
242
- this._domElements.input.addEventListener('focus', function () {
243
- _this3._domElements.optionsContainer.classList.add('visible');
244
- _this3._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible);
245
- });
246
- this._domElements.input.addEventListener('input', function (_ref4) {
247
- var value = _ref4.target.value;
248
- if (_this3._domElements.options.list.length > 0) {
249
- _this3._filterOptions(value);
250
- }
251
- });
252
- this._domElements.input.addEventListener('keydown', function (e) {
253
- _this3._handleArrows(e);
254
- _this3._handleBackspace(e);
255
- _this3._handleEnter(e);
256
- });
257
- }
258
-
259
- /**
260
- * Filters user input.
261
- * @param { string } value
262
- * @private
263
- */
264
- }, {
265
- key: "_filterOptions",
266
- value: function _filterOptions(value) {
267
- var _this4 = this;
268
- var isOpen = this._domElements.optionsContainer.classList.contains('visible');
269
- var valueLowerCase = value.toLowerCase();
270
- if (!isOpen && value.length > 0) {
271
- this._domElements.optionsContainer.classList.add('visible');
272
- this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible);
273
- }
274
- if (this._domElements.options.list.length > 0) {
275
- for (var i = 0; i < this._domElements.options.list.length; i++) {
276
- var el = this._domElements.options.list[i];
277
- var text = this._itemTemplate ? this._data[i][this._textField] : el.textContent;
278
- if (text.toLowerCase().substring(0, valueLowerCase.length) === valueLowerCase) {
279
- this._domElements.optionsContainerList.appendChild(el);
280
- } else {
281
- el.parentNode && el.parentNode.removeChild(el);
282
- }
283
- }
284
- var hasResults = this._domElements.options.some(function (el, index) {
285
- return (_this4._itemTemplate ? _this4._data[index][_this4._textField] : el.textContent).toLowerCase().substring(0, valueLowerCase.length) === valueLowerCase;
286
- });
287
- this._showNoResults(!hasResults);
288
- }
289
- }
290
- }, {
291
- key: "_generateId",
292
- value: function _generateId(length) {
293
- var result = '';
294
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
295
- var charactersLength = characters.length;
296
- for (var i = 0; i < length; i++) {
297
- result += characters.charAt(Math.floor(Math.random() * charactersLength));
298
- }
299
- return result;
300
- }
301
-
302
- /**
303
- * Gets data from select tag.
304
- * @private
305
- */
306
- }, {
307
- key: "_getDataFromSelectTag",
308
- value: function _getDataFromSelectTag() {
309
- var arr = [];
310
- var options = this._select.options;
311
- for (var i = 0; i < options.length; i++) {
312
- var item = options[i];
313
- arr.push({
314
- text: item.text,
315
- value: item.value,
316
- selected: item.hasAttribute('selected')
317
- });
318
- }
319
- return arr;
320
- }
321
-
322
- /**
323
- * Gets data from settings.
324
- * @private
325
- */
326
- }, {
327
- key: "_getDataFromSettings",
328
- value: function _getDataFromSettings() {
329
- if (this._data.length > 0 && this._valueField && this._textField) {
330
- var isValueFieldValid = typeof this._valueField === 'string';
331
- var isTextFieldValid = typeof this._textField === 'string';
332
- var arr = [];
333
- if (!isValueFieldValid || !isTextFieldValid) {
334
- throw new Error('textField and valueField must be of type string');
335
- }
336
- for (var i = 0; i < this._data.length; i++) {
337
- var item = this._data[i];
338
- arr.push({
339
- value: item[this._valueField],
340
- text: item[this._textField],
341
- selected: typeof item.selected === 'boolean' ? item.selected : false
342
- });
343
- }
344
- return arr;
345
- } else {
346
- return null;
347
- }
348
- }
349
-
350
- /**
351
- * Handles Arrow up & Down. Selection of an option is also possible with these keys.
352
- * @param { Event } event
353
- * @private
354
- */
355
- }, {
356
- key: "_handleArrows",
357
- value: function _handleArrows(event) {
358
- if (event.keyCode === 40 || event.keyCode === 38) {
359
- event.preventDefault();
360
- var isOpen = this._domElements.optionsContainer.classList.contains('visible');
361
- // An updated view of the container is needed because of the filtering option
362
- var optionsContainerList = this._multiselect.querySelector('.multiselect__options > ul');
363
- if (!isOpen) {
364
- this._domElements.optionsContainer.classList.add('visible');
365
- this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible);
366
- optionsContainerList.firstElementChild.classList.add('arrow-selected');
367
- optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected);
368
- optionsContainerList.firstElementChild.scrollIntoView(false);
369
- } else {
370
- var selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected');
371
- var action = {
372
- ArrowUp: 'previous',
373
- Up: 'previous',
374
- ArrowDown: 'next',
375
- Down: 'next'
376
- };
377
- if (!selected) {
378
- optionsContainerList.firstElementChild.classList.add('arrow-selected');
379
- optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected);
380
- optionsContainerList.firstElementChild.scrollIntoView(false);
381
- return;
382
- }
383
- selected.classList.remove('arrow-selected');
384
- selected.setAttribute('style', style.multiselect__options_ul_li);
385
- selected = selected[action[event.key] + 'ElementSibling'];
386
-
387
- // Go to start or end of the popup list
388
- if (!selected) {
389
- selected = optionsContainerList.children[action[event.key] === 'next' ? 0 : optionsContainerList.children.length - 1];
390
- selected.classList.add('arrow-selected');
391
- selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected);
392
- this._scrollIntoView(optionsContainerList, selected);
393
- return;
394
- }
395
- selected.classList.add('arrow-selected');
396
- selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected);
397
- this._scrollIntoView(optionsContainerList, selected);
398
- }
399
- }
400
- }
401
-
402
- /**
403
- * Handles the backspace key event - Deletes the preceding option in the selection list.
404
- * @param { Event } e
405
- * @private
406
- */
407
- }, {
408
- key: "_handleBackspace",
409
- value: function _handleBackspace(e) {
410
- if (e.keyCode === 8 && e.target.value === '') {
411
- var lastSelectedOption = this._selectedOptions.length > 0 ? this._selectedOptions[this._selectedOptions.length - 1] : null;
412
- if (lastSelectedOption) {
413
- var targetLastSelectedOption = this._multiselect.querySelector("li[data-value=\"".concat(lastSelectedOption.value, "\"]"));
414
- this._handleOption(targetLastSelectedOption);
415
- if (this._selectedOptions.length === 0) {
416
- this._domElements.optionsContainer.classList.remove('visible');
417
- this._domElements.optionsContainer.setAttribute('style', style.multiselect__options);
418
- }
419
- }
420
- }
421
- }
422
-
423
- /**
424
- * Shows clear selection button if some options are selected.
425
- * @private
426
- */
427
- }, {
428
- key: "_handleClearSelectionBtn",
429
- value: function _handleClearSelectionBtn() {
430
- if (this._selectedOptions.length > 0) {
431
- this._domElements.clear.style.display = 'flex';
432
- } else {
433
- this._domElements.clear.style.display = 'none';
434
- }
435
- }
436
-
437
- /**
438
- * Handles the enter key event.
439
- * @param { Event } event
440
- * @private
441
- */
442
- }, {
443
- key: "_handleEnter",
444
- value: function _handleEnter(event) {
445
- if (event.keyCode === 13) {
446
- var selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected');
447
- if (selected) {
448
- this._handleOption(selected);
449
- this._closeList();
450
- }
451
- }
452
- }
453
- }, {
454
- key: "_handleOption",
455
- value: function _handleOption(target) {
456
- var dispatchEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
457
- // Remove
458
- for (var i = 0; i < this._selectedOptions.length; i++) {
459
- var el = this._selectedOptions[i];
460
- if (el.value === target.dataset.value) {
461
- target.classList.remove('multiselect__options--selected');
462
- target.setAttribute('style', style.multiselect__options);
463
- this._selectedOptions.splice(i, 1);
464
- this._removeOptionFromList(target.dataset.value);
465
- this._handleClearSelectionBtn();
466
- this._handlePlaceholder();
467
- return dispatchEvent && this._dispatchEvent({
468
- action: 'REMOVE_OPTION',
469
- value: target.dataset.value,
470
- selection: this._selectedOptions
471
- });
472
- }
473
- }
474
-
475
- // Add
476
- for (var _i = 0; _i < this._options.length; _i++) {
477
- var option = this._options[_i];
478
- if (option.value === target.dataset.value) {
479
- target.classList.add('multiselect__options--selected');
480
- target.setAttribute('style', style.multiselect__options_selected);
481
- this._selectedOptions = [].concat((0, _toConsumableArray2["default"])(this._selectedOptions), [option]);
482
- this._addOptionToList(option, _i);
483
- this._handleClearSelectionBtn();
484
- this._handlePlaceholder();
485
- return dispatchEvent && this._dispatchEvent({
486
- action: 'ADD_OPTION',
487
- value: target.dataset.value,
488
- selection: this._selectedOptions
489
- });
490
- }
491
- }
492
- }
493
-
494
- /**
495
- * Shows the placeholder if no options are selected.
496
- * @private
497
- */
498
- }, {
499
- key: "_handlePlaceholder",
500
- value: function _handlePlaceholder() {
501
- this._domElements.input.placeholder = this._placeholder;
502
- }
503
- }, {
504
- key: "_initSelectedList",
505
- value: function _initSelectedList() {
506
- var _this5 = this;
507
- var hasItemsSelected = false;
508
- var _loop2 = function _loop2() {
509
- var option = _this5._options[i];
510
- if (option.selected) {
511
- hasItemsSelected = true;
512
- var target = _this5._domElements.options.find(function (el) {
513
- return el.dataset.value === option.value;
514
- });
515
- target.classList.add('multiselect__options--selected');
516
- target.setAttribute('style', style.multiselect__options_selected);
517
- _this5._selectedOptions = [].concat((0, _toConsumableArray2["default"])(_this5._selectedOptions), [option]);
518
- _this5._addOptionToList(option, i);
519
- }
520
- };
521
- for (var i = 0; i < this._options.length; i++) {
522
- _loop2();
523
- }
524
- if (hasItemsSelected) {
525
- this._handleClearSelectionBtn();
526
- }
527
- this._handlePlaceholder();
528
- }
529
-
530
- /**
531
- * Process the custom template.
532
- * @param { string } template
533
- * @private
534
- */
535
- }, {
536
- key: "_processTemplate",
537
- value: function _processTemplate(template, index) {
538
- var processedTemplate = template;
539
- var objAttr = template.match(/\$\{(\w+)\}/g).map(function (e) {
540
- return e.replace(/\$\{|\}/g, '');
541
- });
542
- for (var i = 0; i < objAttr.length; i++) {
543
- var _this$_data$index$att;
544
- var attr = objAttr[i];
545
- // eslint-disable-next-line no-useless-escape
546
- processedTemplate = processedTemplate.replace("${".concat(attr, "}"), (_this$_data$index$att = this._data[index][attr]) !== null && _this$_data$index$att !== void 0 ? _this$_data$index$att : '');
547
- }
548
- return processedTemplate;
549
- }
550
- }, {
551
- key: "_removeAllArrowSelected",
552
- value: function _removeAllArrowSelected() {
553
- var className = 'arrow-selected';
554
- var target = this._domElements.options.find(function (el) {
555
- return el.classList.contains(className);
556
- });
557
- target && target.classList.remove(className) && target.setAttribute('style', style.multiselect__options_ul_li);
558
- }
559
-
560
- /**
561
- * Removes an option from the list.
562
- * @param { string } value
563
- * @private
564
- */
565
- }, {
566
- key: "_removeOptionFromList",
567
- value: function _removeOptionFromList(value) {
568
- var optionDom = this._multiselect.querySelector("span[data-value=\"".concat(value, "\"]"));
569
- optionDom && optionDom.parentNode && optionDom.parentNode.removeChild(optionDom);
570
- }
571
-
572
- /**
573
- * Renders the multiselect options list view.
574
- * @private
575
- */
576
- }, {
577
- key: "_renderOptionsList",
578
- value: function _renderOptionsList() {
579
- var _this6 = this;
580
- var html = "\n <div class=\"multiselect__options\" style=\"".concat(style.multiselect__options, "\">\n <ul style=\"").concat(style.multiselect__options_ul, "\">\n ").concat(this._options.length > 0 && !this._itemTemplate ? this._options.map(function (option) {
581
- return "\n <li data-value=\"".concat(option.value, "\" style=\"").concat(style.multiselect__options_ul_li, "\">").concat(option.text, "</li>\n ");
582
- }).join('') : '', "\n\n ").concat(this._options.length > 0 && this._itemTemplate ? this._options.map(function (option, index) {
583
- return "\n <li data-value=\"".concat(option.value, "\" style=\"").concat(style.multiselect__options_ul_li, "\">").concat(_this6._processTemplate(_this6._itemTemplate, index), "</li>\n ");
584
- }).join('') : '', "\n ").concat(this._showNoData(this._options.length === 0), "\n </ul>\n </div>\n ");
585
- this._multiselect.insertAdjacentHTML('beforeend', html);
586
- }
587
-
588
- /**
589
- * Renders the multiselect view.
590
- * @private
591
- */
592
- }, {
593
- key: "_renderMultiselect",
594
- value: function _renderMultiselect() {
595
- this._select.style.display = 'none';
596
- var id = 'iconic-' + this._generateId(20);
597
- // Timea created dedicated div element because previous code was not rendering
598
- this._multiselect = document.createElement('div');
599
- this._multiselect.setAttribute('id', id);
600
- this._multiselect.setAttribute('class', 'multiselect__container');
601
- this._multiselect.setAttribute('style', style.multiselect__container);
602
- var html = "\n <div class=\"multiselect__wrapper\" style=\"".concat(style.multiselect__wrapper, "\">\n <input class=\"multiselect__input\" style=\"").concat(style.multiselect__input, "\" placeholder=\"").concat(this._placeholder, "\" />\n </div>\n <span style=\"display: none;\" class=\"multiselect__clear-btn\" style=\"").concat(style.multiselect__clear_btn, "\">").concat(this._cross, "</span>\n ");
603
- this._multiselect.innerHTML = html;
604
- this._selectContainer.appendChild(this._multiselect);
605
- }
606
-
607
- /**
608
- * ScrollIntoView - This small utility reproduces the behavior of .scrollIntoView({ block: "nearest", inline: "nearest" })
609
- * This is for IE compatibility without a need of a polyfill
610
- * @private
611
- */
612
- }, {
613
- key: "_scrollIntoView",
614
- value: function _scrollIntoView(parent, child) {
615
- var rectParent = parent.getBoundingClientRect();
616
- var rectChild = child.getBoundingClientRect();
617
-
618
- // Detect if not visible at top and then scroll to the top
619
- if (!(rectParent.top < rectChild.bottom - child.offsetHeight)) {
620
- parent.scrollTop = child.clientHeight + (child.offsetTop - child.offsetHeight);
621
- }
622
-
623
- // Detect if not visible at bottom and then scroll to the bottom
624
- if (!(rectParent.bottom > rectChild.top + child.offsetHeight)) {
625
- parent.scrollTop = child.clientHeight + (child.offsetTop - child.offsetHeight) - (parent.offsetHeight - (child.offsetHeight + (child.offsetHeight - child.clientHeight)));
626
- }
627
- }
628
-
629
- /**
630
- * Shows a no data message.
631
- * @param { boolean } condition
632
- * @private
633
- */
634
- }, {
635
- key: "_showNoData",
636
- value: function _showNoData(condition) {
637
- return condition ? "<p class=\"multiselect__options--no-data\" style=\"".concat(style.multiselect__options_ul_p_multiselect__options_no_data, "\">").concat(this._noData, "</p>") : '';
638
- }
639
-
640
- /**
641
- * Shows a no results message.
642
- * @param { boolean } condition
643
- * @private
644
- */
645
- }, {
646
- key: "_showNoResults",
647
- value: function _showNoResults(condition) {
648
- var dom = this._multiselect.querySelector('.multiselect__options--no-results');
649
- if (condition) {
650
- var html = "<p class=\"multiselect__options--no-results\" style=\"".concat(style.multiselect__options_ul_p_multiselect__options_no_results, "\">").concat(this._noResults, "</p>");
651
- !dom && this._domElements.optionsContainerList.insertAdjacentHTML('beforeend', html);
652
- } else {
653
- dom && dom.parentNode && dom.parentNode.removeChild(dom);
654
- }
655
- }
656
- }]);
657
- }();
658
- //# sourceMappingURL=multiSelect.js.map