solid-ui 2.6.1 → 3.0.0-63a1640

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 (369) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +236 -30
  3. package/dist/acl/access-controller.js +238 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/{lib → dist}/acl/access-groups.d.ts +2 -2
  6. package/{lib → dist}/acl/access-groups.d.ts.map +1 -1
  7. package/dist/acl/access-groups.js +323 -0
  8. package/dist/acl/access-groups.js.map +1 -0
  9. package/dist/acl/acl-control.js +173 -0
  10. package/dist/acl/acl-control.js.map +1 -0
  11. package/dist/acl/acl.js +495 -0
  12. package/dist/acl/acl.js.map +1 -0
  13. package/dist/acl/add-agent-buttons.js +217 -0
  14. package/dist/acl/add-agent-buttons.js.map +1 -0
  15. package/dist/acl/index.js +32 -0
  16. package/dist/acl/index.js.map +1 -0
  17. package/dist/acl/types.js +6 -0
  18. package/dist/acl/types.js.map +1 -0
  19. package/dist/chat/keys.js +106 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +63 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +249 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +5 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +2 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.d.ts.map +1 -0
  30. package/dist/debug.js +13 -0
  31. package/dist/debug.js.map +1 -0
  32. package/dist/footer/index.js +67 -0
  33. package/dist/footer/index.js.map +1 -0
  34. package/dist/header/empty-profile.js +11 -0
  35. package/dist/header/empty-profile.js.map +1 -0
  36. package/dist/header/index.js +260 -0
  37. package/dist/header/index.js.map +1 -0
  38. package/dist/iconBase.js +37 -0
  39. package/dist/iconBase.js.map +1 -0
  40. package/dist/icons/solid_logo.js.map +1 -0
  41. package/{lib → dist}/index.d.ts +7 -9
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +102 -0
  44. package/dist/index.js.map +1 -0
  45. package/{lib → dist}/log.d.ts.map +1 -1
  46. package/dist/log.js +182 -0
  47. package/dist/log.js.map +1 -0
  48. package/dist/login/login.js +858 -0
  49. package/dist/login/login.js.map +1 -0
  50. package/dist/matrix/index.js +5 -0
  51. package/dist/matrix/index.js.map +1 -0
  52. package/dist/matrix/matrix.js +217 -0
  53. package/dist/matrix/matrix.js.map +1 -0
  54. package/dist/matrix/types.js +2 -0
  55. package/dist/matrix/types.js.map +1 -0
  56. package/dist/media/index.js +6 -0
  57. package/dist/media/index.js.map +1 -0
  58. package/dist/media/media-capture.js +161 -0
  59. package/dist/media/media-capture.js.map +1 -0
  60. package/dist/pad.js +775 -0
  61. package/dist/pad.js.map +1 -0
  62. package/{lib → dist}/participation.d.ts.map +1 -1
  63. package/dist/participation.js +184 -0
  64. package/dist/participation.js.map +1 -0
  65. package/dist/solid-ui.esm.js +25531 -0
  66. package/dist/solid-ui.esm.js.map +1 -0
  67. package/dist/solid-ui.esm.min.js +43 -0
  68. package/dist/solid-ui.esm.min.js.map +1 -0
  69. package/dist/solid-ui.js +23479 -68931
  70. package/dist/solid-ui.js.map +1 -1
  71. package/dist/solid-ui.min.js +40 -2
  72. package/dist/solid-ui.min.js.map +1 -1
  73. package/dist/tabs.js +388 -0
  74. package/dist/tabs.js.map +1 -0
  75. package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +1 -1
  76. package/dist/utils/headerFooterHelpers.js +114 -0
  77. package/dist/utils/headerFooterHelpers.js.map +1 -0
  78. package/dist/utils/keyHelpers/accessData.js +64 -0
  79. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  80. package/dist/utils/keyHelpers/acl.js +74 -0
  81. package/dist/utils/keyHelpers/acl.js.map +1 -0
  82. package/dist/utils/keyHelpers/otherHelpers.js +13 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +111 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +30 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +44 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1280 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.d.ts +14 -0
  93. package/dist/widgets/error.d.ts.map +1 -0
  94. package/dist/widgets/error.js +35 -0
  95. package/dist/widgets/error.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteBar.js +123 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompleteField.js +199 -0
  99. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/autocompletePicker.js +256 -0
  101. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  102. package/dist/widgets/forms/autocomplete/language.js +104 -0
  103. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +460 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +241 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +46 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +44 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +89 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/{lib → dist}/widgets/forms/formStyle.d.ts.map +1 -1
  115. package/dist/widgets/forms/formStyle.js +36 -0
  116. package/dist/widgets/forms/formStyle.js.map +1 -0
  117. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  118. package/{lib → dist}/widgets/widgetHelpers.js +14 -25
  119. package/dist/widgets/widgetHelpers.js.map +1 -0
  120. package/package.json +48 -52
  121. package/dist/789.solid-ui.min.js +0 -1
  122. package/dist/841.solid-ui.min.js +0 -3
  123. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  124. package/dist/841.solid-ui.min.js.map +0 -1
  125. package/dist/_2b19.solid-ui.js +0 -14
  126. package/dist/_2b19.solid-ui.js.map +0 -1
  127. package/dist/index.html +0 -1
  128. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  130. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  131. package/lib/acl/access-controller.js +0 -391
  132. package/lib/acl/access-controller.js.map +0 -1
  133. package/lib/acl/access-groups.js +0 -507
  134. package/lib/acl/access-groups.js.map +0 -1
  135. package/lib/acl/acl-control.js +0 -237
  136. package/lib/acl/acl-control.js.map +0 -1
  137. package/lib/acl/acl.js +0 -517
  138. package/lib/acl/acl.js.map +0 -1
  139. package/lib/acl/add-agent-buttons.js +0 -434
  140. package/lib/acl/add-agent-buttons.js.map +0 -1
  141. package/lib/acl/index.js +0 -39
  142. package/lib/acl/index.js.map +0 -1
  143. package/lib/acl/types.js +0 -6
  144. package/lib/acl/types.js.map +0 -1
  145. package/lib/chat/bookmarks.js +0 -303
  146. package/lib/chat/bookmarks.js.map +0 -1
  147. package/lib/chat/chatLogic.js +0 -420
  148. package/lib/chat/chatLogic.js.map +0 -1
  149. package/lib/chat/dateFolder.js +0 -328
  150. package/lib/chat/dateFolder.js.map +0 -1
  151. package/lib/chat/infinite.js +0 -994
  152. package/lib/chat/infinite.js.map +0 -1
  153. package/lib/chat/keys.js +0 -232
  154. package/lib/chat/keys.js.map +0 -1
  155. package/lib/chat/message.js +0 -715
  156. package/lib/chat/message.js.map +0 -1
  157. package/lib/chat/messageTools.js +0 -538
  158. package/lib/chat/messageTools.js.map +0 -1
  159. package/lib/chat/signature.js +0 -109
  160. package/lib/chat/signature.js.map +0 -1
  161. package/lib/chat/thread.js +0 -535
  162. package/lib/chat/thread.js.map +0 -1
  163. package/lib/create/create.js +0 -242
  164. package/lib/create/create.js.map +0 -1
  165. package/lib/create/index.js +0 -11
  166. package/lib/create/index.js.map +0 -1
  167. package/lib/create/types.js +0 -6
  168. package/lib/create/types.js.map +0 -1
  169. package/lib/debug.d.ts.map +0 -1
  170. package/lib/debug.js +0 -30
  171. package/lib/debug.js.map +0 -1
  172. package/lib/folders.js +0 -132
  173. package/lib/folders.js.map +0 -1
  174. package/lib/footer/index.js +0 -123
  175. package/lib/footer/index.js.map +0 -1
  176. package/lib/header/empty-profile.js +0 -8
  177. package/lib/header/empty-profile.js.map +0 -1
  178. package/lib/header/index.js +0 -375
  179. package/lib/header/index.js.map +0 -1
  180. package/lib/iconBase.js +0 -44
  181. package/lib/iconBase.js.map +0 -1
  182. package/lib/icons/solid_logo.js.map +0 -1
  183. package/lib/index.d.ts.map +0 -1
  184. package/lib/index.js +0 -223
  185. package/lib/index.js.map +0 -1
  186. package/lib/log.js +0 -213
  187. package/lib/log.js.map +0 -1
  188. package/lib/login/login.js +0 -1241
  189. package/lib/login/login.js.map +0 -1
  190. package/lib/matrix/index.js +0 -11
  191. package/lib/matrix/index.js.map +0 -1
  192. package/lib/matrix/matrix.js +0 -216
  193. package/lib/matrix/matrix.js.map +0 -1
  194. package/lib/matrix/types.js +0 -6
  195. package/lib/matrix/types.js.map +0 -1
  196. package/lib/media/index.js +0 -12
  197. package/lib/media/index.js.map +0 -1
  198. package/lib/media/media-capture.js +0 -194
  199. package/lib/media/media-capture.js.map +0 -1
  200. package/lib/messageArea.js +0 -319
  201. package/lib/messageArea.js.map +0 -1
  202. package/lib/noun_Camera_1618446_000000.js +0 -8
  203. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  204. package/lib/ns.js +0 -17
  205. package/lib/ns.js.map +0 -1
  206. package/lib/pad.js +0 -805
  207. package/lib/pad.js.map +0 -1
  208. package/lib/participation.js +0 -219
  209. package/lib/participation.js.map +0 -1
  210. package/lib/preferences.js +0 -215
  211. package/lib/preferences.js.map +0 -1
  212. package/lib/signup/config-default.js +0 -43
  213. package/lib/signup/config-default.js.map +0 -1
  214. package/lib/signup/signup.js +0 -74
  215. package/lib/signup/signup.js.map +0 -1
  216. package/lib/stories/decorators.js +0 -10
  217. package/lib/stories/decorators.js.map +0 -1
  218. package/lib/style.js +0 -158
  219. package/lib/style.js.map +0 -1
  220. package/lib/styleConstants.js +0 -35
  221. package/lib/styleConstants.js.map +0 -1
  222. package/lib/style_multiSelect.js +0 -62
  223. package/lib/style_multiSelect.js.map +0 -1
  224. package/lib/table.js +0 -1573
  225. package/lib/table.js.map +0 -1
  226. package/lib/tabs.js +0 -448
  227. package/lib/tabs.js.map +0 -1
  228. package/lib/typings.d.js +0 -2
  229. package/lib/typings.d.js.map +0 -1
  230. package/lib/utils/headerFooterHelpers.js +0 -165
  231. package/lib/utils/headerFooterHelpers.js.map +0 -1
  232. package/lib/utils/index.js +0 -527
  233. package/lib/utils/index.js.map +0 -1
  234. package/lib/utils/keyHelpers/accessData.js +0 -131
  235. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  236. package/lib/utils/keyHelpers/acl.js +0 -90
  237. package/lib/utils/keyHelpers/acl.js.map +0 -1
  238. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  239. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  240. package/lib/utils/label.js +0 -103
  241. package/lib/utils/label.js.map +0 -1
  242. package/lib/versionInfo.d.ts +0 -32
  243. package/lib/versionInfo.d.ts.map +0 -1
  244. package/lib/versionInfo.js +0 -37
  245. package/lib/versionInfo.js.map +0 -1
  246. package/lib/widgets/buttons/iconLinks.js +0 -53
  247. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  248. package/lib/widgets/buttons.js +0 -1306
  249. package/lib/widgets/buttons.js.map +0 -1
  250. package/lib/widgets/dragAndDrop.js +0 -194
  251. package/lib/widgets/dragAndDrop.js.map +0 -1
  252. package/lib/widgets/error.d.ts +0 -2
  253. package/lib/widgets/error.d.ts.map +0 -1
  254. package/lib/widgets/error.js +0 -46
  255. package/lib/widgets/error.js.map +0 -1
  256. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  257. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  258. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  259. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  260. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  261. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  262. package/lib/widgets/forms/autocomplete/language.js +0 -189
  263. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  264. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  265. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  266. package/lib/widgets/forms/basic.js +0 -254
  267. package/lib/widgets/forms/basic.js.map +0 -1
  268. package/lib/widgets/forms/comment.js +0 -54
  269. package/lib/widgets/forms/comment.js.map +0 -1
  270. package/lib/widgets/forms/fieldFunction.js +0 -52
  271. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  272. package/lib/widgets/forms/fieldParams.js +0 -77
  273. package/lib/widgets/forms/fieldParams.js.map +0 -1
  274. package/lib/widgets/forms/formStyle.js +0 -44
  275. package/lib/widgets/forms/formStyle.js.map +0 -1
  276. package/lib/widgets/forms.js +0 -2045
  277. package/lib/widgets/forms.js.map +0 -1
  278. package/lib/widgets/index.js +0 -110
  279. package/lib/widgets/index.js.map +0 -1
  280. package/lib/widgets/multiSelect.js +0 -658
  281. package/lib/widgets/multiSelect.js.map +0 -1
  282. package/lib/widgets/peoplePicker.js +0 -467
  283. package/lib/widgets/peoplePicker.js.map +0 -1
  284. package/lib/widgets/widgetHelpers.js.map +0 -1
  285. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  286. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/acl.d.ts +0 -0
  290. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  292. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/index.d.ts +0 -0
  294. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  295. /package/{lib → dist}/acl/types.d.ts +0 -0
  296. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  297. /package/{lib → dist}/chat/keys.d.ts +0 -0
  298. /package/{lib → dist}/chat/keys.d.ts.map +0 -0
  299. /package/{lib → dist}/chat/signature.d.ts +0 -0
  300. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  301. /package/{lib → dist}/create/create.d.ts +0 -0
  302. /package/{lib → dist}/create/create.d.ts.map +0 -0
  303. /package/{lib → dist}/create/index.d.ts +0 -0
  304. /package/{lib → dist}/create/index.d.ts.map +0 -0
  305. /package/{lib → dist}/create/types.d.ts +0 -0
  306. /package/{lib → dist}/create/types.d.ts.map +0 -0
  307. /package/{lib → dist}/debug.d.ts +0 -0
  308. /package/{lib → dist}/footer/index.d.ts +0 -0
  309. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  310. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  311. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  312. /package/{lib → dist}/header/index.d.ts +0 -0
  313. /package/{lib → dist}/header/index.d.ts.map +0 -0
  314. /package/{lib → dist}/iconBase.d.ts +0 -0
  315. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  316. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  317. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  318. /package/{lib → dist}/icons/solid_logo.js +0 -0
  319. /package/{lib → dist}/log.d.ts +0 -0
  320. /package/{lib → dist}/login/login.d.ts +0 -0
  321. /package/{lib → dist}/login/login.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/index.d.ts +0 -0
  323. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  325. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  326. /package/{lib → dist}/matrix/types.d.ts +0 -0
  327. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  328. /package/{lib → dist}/media/index.d.ts +0 -0
  329. /package/{lib → dist}/media/index.d.ts.map +0 -0
  330. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  331. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  332. /package/{lib → dist}/pad.d.ts +0 -0
  333. /package/{lib → dist}/pad.d.ts.map +0 -0
  334. /package/{lib → dist}/participation.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts +0 -0
  336. /package/{lib → dist}/tabs.d.ts.map +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  341. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  342. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +0 -0
  343. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +0 -0
  344. /package/{lib → dist}/utils/label.d.ts +0 -0
  345. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  347. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  349. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  367. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  368. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  369. /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