slim-select 2.2.1 → 2.2.2

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 (148) hide show
  1. package/dist/helpers.d.ts +1 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/select.d.ts +1 -1
  4. package/dist/slimselect.cjs.js +57 -39
  5. package/dist/slimselect.es.js +57 -39
  6. package/dist/slimselect.global.js +57 -39
  7. package/dist/slimselect.js +57 -39
  8. package/dist/slimselect.min.js +1 -1
  9. package/dist/slimselect.umd.js +57 -39
  10. package/dist/slimselect.umd.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/slim-select/helpers.ts +4 -0
  13. package/src/slim-select/index.ts +26 -2
  14. package/src/slim-select/render.ts +0 -1
  15. package/src/slim-select/select.ts +12 -3
  16. package/src/vue/dist/slim-select/helpers.d.ts +1 -0
  17. package/src/vue/dist/slim-select/index.d.ts +1 -1
  18. package/src/vue/dist/slim-select/select.d.ts +1 -1
  19. package/src/vue/dist/slimselectvue.es.js +109 -42
  20. package/src/vue/dist/slimselectvue.global.js +109 -42
  21. package/src/vue/dist/slimselectvue.ssr.js +109 -42
  22. package/src/vue/dist/vue/slimselect.vue.d.ts +50 -27
  23. package/src/vue/package.json +1 -1
  24. package/src/vue/rollup.config.mjs +3 -3
  25. package/src/vue/slimselect.vue +66 -2
  26. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  27. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  28. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  29. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  30. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  31. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  32. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  33. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  34. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  35. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  36. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  37. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  38. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  39. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  40. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  41. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  42. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  43. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  44. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  45. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  46. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  47. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  48. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  49. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/068e7904209e205518dbc9726d632bbaf28bfc55 +0 -0
  50. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/06b75ecfe63fda3fcfaa42593fa1f22167f3a9f8 +0 -0
  51. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/2aa9d56fc4a9661ee8e3de277da5ee3f960713de +0 -0
  52. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/2c58b356be1a9572c64469d50a7a25c46f94aaeb +0 -0
  53. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/36d3fb579feb4cad7a15b7a2f509f338caf72fa0 +0 -0
  54. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/388b297c3f73fcba25b8174fda975235e5d12b5a +0 -0
  55. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/40e43895ec63e1e25aa7e278ca1e8c3adefc815d +0 -0
  56. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/645e188194be07518ebbb0a5b4304f5170fee599 +0 -0
  57. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/65515bf3a44aaf1306f589073f1c8b98be747f5f +0 -0
  58. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/6a357fe7542e07f7919ea9b22401027dd1e8a0c1 +0 -0
  59. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/72087cac150d02ed6d19e37d6f1436566d5ac798 +0 -0
  60. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/9ff120b6426a4c7a03236428f26a92772586c3e5 +0 -0
  61. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/a6917de673fc74a6cfca5133913982e54e58a7fb +0 -0
  62. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/aa4aee440d13b06b4bb05c36eee326513aa6c040 +0 -0
  63. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/b02a4d0c40fac4c7f9ea7acd7944ee8844afcedf +0 -0
  64. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/b21a02b948881426bc4dcff649fc4fba07ca34d2 +0 -0
  65. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/c10c11f9c426095ab3f504dd8b7622ad7ba7c8ed +0 -0
  66. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/dc186595636217ded2d4a4cfbb789d68ea485b6b +0 -0
  67. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  68. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  69. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  70. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  71. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  72. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  73. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  74. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  75. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  76. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  77. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  78. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  79. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  80. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  81. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  82. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  83. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  84. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  85. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  86. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  87. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  88. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  89. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  90. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/068e7904209e205518dbc9726d632bbaf28bfc55 +0 -0
  91. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/06b75ecfe63fda3fcfaa42593fa1f22167f3a9f8 +0 -0
  92. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/2aa9d56fc4a9661ee8e3de277da5ee3f960713de +0 -0
  93. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/2c58b356be1a9572c64469d50a7a25c46f94aaeb +0 -0
  94. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/36d3fb579feb4cad7a15b7a2f509f338caf72fa0 +0 -0
  95. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/388b297c3f73fcba25b8174fda975235e5d12b5a +0 -0
  96. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/40e43895ec63e1e25aa7e278ca1e8c3adefc815d +0 -0
  97. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/645e188194be07518ebbb0a5b4304f5170fee599 +0 -0
  98. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/65515bf3a44aaf1306f589073f1c8b98be747f5f +0 -0
  99. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/6a357fe7542e07f7919ea9b22401027dd1e8a0c1 +0 -0
  100. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/72087cac150d02ed6d19e37d6f1436566d5ac798 +0 -0
  101. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/9ff120b6426a4c7a03236428f26a92772586c3e5 +0 -0
  102. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/a6917de673fc74a6cfca5133913982e54e58a7fb +0 -0
  103. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/aa4aee440d13b06b4bb05c36eee326513aa6c040 +0 -0
  104. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/b02a4d0c40fac4c7f9ea7acd7944ee8844afcedf +0 -0
  105. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/b21a02b948881426bc4dcff649fc4fba07ca34d2 +0 -0
  106. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/c10c11f9c426095ab3f504dd8b7622ad7ba7c8ed +0 -0
  107. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/dc186595636217ded2d4a4cfbb789d68ea485b6b +0 -0
  108. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  109. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  110. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  111. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  112. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  113. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  114. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  115. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  116. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  117. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  118. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  119. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  120. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  121. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  122. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  123. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  124. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  125. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  126. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  127. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  128. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  129. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  130. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  131. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/068e7904209e205518dbc9726d632bbaf28bfc55 +0 -0
  132. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/06b75ecfe63fda3fcfaa42593fa1f22167f3a9f8 +0 -0
  133. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/2aa9d56fc4a9661ee8e3de277da5ee3f960713de +0 -0
  134. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/2c58b356be1a9572c64469d50a7a25c46f94aaeb +0 -0
  135. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/36d3fb579feb4cad7a15b7a2f509f338caf72fa0 +0 -0
  136. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/388b297c3f73fcba25b8174fda975235e5d12b5a +0 -0
  137. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/40e43895ec63e1e25aa7e278ca1e8c3adefc815d +0 -0
  138. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/645e188194be07518ebbb0a5b4304f5170fee599 +0 -0
  139. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/65515bf3a44aaf1306f589073f1c8b98be747f5f +0 -0
  140. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/6a357fe7542e07f7919ea9b22401027dd1e8a0c1 +0 -0
  141. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/72087cac150d02ed6d19e37d6f1436566d5ac798 +0 -0
  142. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/9ff120b6426a4c7a03236428f26a92772586c3e5 +0 -0
  143. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/a6917de673fc74a6cfca5133913982e54e58a7fb +0 -0
  144. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/aa4aee440d13b06b4bb05c36eee326513aa6c040 +0 -0
  145. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/b02a4d0c40fac4c7f9ea7acd7944ee8844afcedf +0 -0
  146. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/b21a02b948881426bc4dcff649fc4fba07ca34d2 +0 -0
  147. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/c10c11f9c426095ab3f504dd8b7622ad7ba7c8ed +0 -0
  148. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/dc186595636217ded2d4a4cfbb789d68ea485b6b +0 -0
package/dist/helpers.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare function generateID(): string;
2
2
  export declare function hasClassInTree(element: HTMLElement, className: string): any;
3
3
  export declare function debounce(func: (...params: any[]) => void, wait?: number, immediate?: boolean): () => void;
4
+ export declare function isEqual(a: any, b: any): boolean;
4
5
  export declare function kebabCase(str: string): string;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import Settings, { SettingsPartial } from './settings';
1
2
  import Render from './render';
2
3
  import Select from './select';
3
- import Settings, { SettingsPartial } from './settings';
4
4
  import Store, { DataArray, DataArrayPartial, Option, OptionOptional } from './store';
5
5
  export interface Config {
6
6
  select: string | Element;
package/dist/select.d.ts CHANGED
@@ -15,7 +15,7 @@ export default class Select {
15
15
  removeSelectChangeListener(): void;
16
16
  addValueChangeListener(func: (value: string[]) => void): void;
17
17
  removeValueChangeListener(): void;
18
- valueChange(ev: Event): any;
18
+ valueChange(ev: Event): boolean;
19
19
  private observeWrapper;
20
20
  private addObserver;
21
21
  private connectObserver;
@@ -44,11 +44,50 @@ function debounce(func, wait = 50, immediate = false) {
44
44
  }
45
45
  };
46
46
  }
47
+ function isEqual(a, b) {
48
+ return JSON.stringify(a) === JSON.stringify(b);
49
+ }
47
50
  function kebabCase(str) {
48
51
  const result = str.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g, (match) => '-' + match.toLowerCase());
49
52
  return str[0] === str[0].toUpperCase() ? result.substring(1) : result;
50
53
  }
51
54
 
55
+ class Settings {
56
+ constructor(settings) {
57
+ this.id = '';
58
+ this.style = '';
59
+ this.class = [];
60
+ this.isMultiple = false;
61
+ this.isOpen = false;
62
+ this.triggerFocus = true;
63
+ this.intervalMove = null;
64
+ if (!settings) {
65
+ settings = {};
66
+ }
67
+ this.id = 'ss-' + generateID();
68
+ this.style = settings.style || '';
69
+ this.class = settings.class || [];
70
+ this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true;
71
+ this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;
72
+ this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;
73
+ this.searchPlaceholder = settings.searchPlaceholder || 'Search';
74
+ this.searchText = settings.searchText || 'No Results';
75
+ this.searchingText = settings.searchingText || 'Searching...';
76
+ this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;
77
+ this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;
78
+ this.contentLocation = settings.contentLocation || document.body;
79
+ this.contentPosition = settings.contentPosition || 'absolute';
80
+ this.openPosition = settings.openPosition || 'auto';
81
+ this.placeholderText = settings.placeholderText || 'Select Value';
82
+ this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
83
+ this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
84
+ this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
85
+ this.minSelected = settings.minSelected || 0;
86
+ this.maxSelected = settings.maxSelected || 1000;
87
+ this.timeoutDelay = settings.timeoutDelay || 200;
88
+ }
89
+ }
90
+
52
91
  class Optgroup {
53
92
  constructor(optgroup) {
54
93
  this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;
@@ -942,7 +981,6 @@ class Render {
942
981
  optgroupClosableSvg.classList.add(this.classes.arrow);
943
982
  optgroupClosable.appendChild(optgroupClosableSvg);
944
983
  const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
945
- optgroupClosableArrow.setAttribute('d', this.classes.arrow);
946
984
  optgroupClosableSvg.appendChild(optgroupClosableArrow);
947
985
  if (d.options.some((o) => o.selected)) {
948
986
  optgroupClosable.classList.add(this.classes.open);
@@ -1195,16 +1233,19 @@ class Select {
1195
1233
  }
1196
1234
  addValueChangeListener(func) {
1197
1235
  this.onValueChange = func;
1198
- this.select.addEventListener('change', this.valueChange.bind(this));
1236
+ this.select.addEventListener('change', this.valueChange.bind(this), {
1237
+ passive: true,
1238
+ });
1199
1239
  }
1200
1240
  removeValueChangeListener() {
1201
1241
  this.onValueChange = undefined;
1202
1242
  this.select.removeEventListener('change', this.valueChange.bind(this));
1203
1243
  }
1204
1244
  valueChange(ev) {
1205
- if (this.onValueChange) {
1245
+ if (this.listen && this.onValueChange) {
1206
1246
  this.onValueChange(this.getSelectedValues());
1207
1247
  }
1248
+ return true;
1208
1249
  }
1209
1250
  observeWrapper(mutations) {
1210
1251
  if (this.onSelectChange) {
@@ -1349,6 +1390,7 @@ class Select {
1349
1390
  this.select.appendChild(this.createOption(d));
1350
1391
  }
1351
1392
  }
1393
+ this.select.dispatchEvent(new Event('change'));
1352
1394
  this.changeListen(true);
1353
1395
  }
1354
1396
  createOptgroup(optgroup) {
@@ -1408,42 +1450,6 @@ class Select {
1408
1450
  }
1409
1451
  }
1410
1452
 
1411
- class Settings {
1412
- constructor(settings) {
1413
- this.id = '';
1414
- this.style = '';
1415
- this.class = [];
1416
- this.isMultiple = false;
1417
- this.isOpen = false;
1418
- this.triggerFocus = true;
1419
- this.intervalMove = null;
1420
- if (!settings) {
1421
- settings = {};
1422
- }
1423
- this.id = 'ss-' + generateID();
1424
- this.style = settings.style || '';
1425
- this.class = settings.class || [];
1426
- this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true;
1427
- this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;
1428
- this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;
1429
- this.searchPlaceholder = settings.searchPlaceholder || 'Search';
1430
- this.searchText = settings.searchText || 'No Results';
1431
- this.searchingText = settings.searchingText || 'Searching...';
1432
- this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;
1433
- this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;
1434
- this.contentLocation = settings.contentLocation || document.body;
1435
- this.contentPosition = settings.contentPosition || 'absolute';
1436
- this.openPosition = settings.openPosition || 'auto';
1437
- this.placeholderText = settings.placeholderText || 'Select Value';
1438
- this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
1439
- this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
1440
- this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
1441
- this.minSelected = settings.minSelected || 0;
1442
- this.maxSelected = settings.maxSelected || 1000;
1443
- this.timeoutDelay = settings.timeoutDelay || 200;
1444
- }
1445
- }
1446
-
1447
1453
  class SlimSelect {
1448
1454
  constructor(config) {
1449
1455
  this.events = {
@@ -1576,6 +1582,7 @@ class SlimSelect {
1576
1582
  return this.store.getData();
1577
1583
  }
1578
1584
  setData(data) {
1585
+ const selected = this.store.getSelected();
1579
1586
  const err = this.store.validateDataArray(data);
1580
1587
  if (err) {
1581
1588
  if (this.events.error) {
@@ -1588,23 +1595,34 @@ class SlimSelect {
1588
1595
  this.select.updateOptions(dataClean);
1589
1596
  this.render.renderValues();
1590
1597
  this.render.renderOptions(dataClean);
1598
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1599
+ this.events.afterChange(this.store.getSelectedOptions());
1600
+ }
1591
1601
  }
1592
1602
  getSelected() {
1593
1603
  return this.store.getSelected();
1594
1604
  }
1595
1605
  setSelected(value) {
1606
+ const selected = this.store.getSelected();
1596
1607
  this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);
1597
1608
  const data = this.store.getData();
1598
1609
  this.select.updateOptions(data);
1599
1610
  this.render.renderValues();
1600
1611
  this.render.renderOptions(data);
1612
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1613
+ this.events.afterChange(this.store.getSelectedOptions());
1614
+ }
1601
1615
  }
1602
1616
  addOption(option) {
1617
+ const selected = this.store.getSelected();
1603
1618
  this.store.addOption(option);
1604
1619
  const data = this.store.getData();
1605
1620
  this.select.updateOptions(data);
1606
1621
  this.render.renderValues();
1607
1622
  this.render.renderOptions(data);
1623
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1624
+ this.events.afterChange(this.store.getSelectedOptions());
1625
+ }
1608
1626
  }
1609
1627
  open() {
1610
1628
  if (!this.settings.isEnabled || this.settings.isOpen) {
@@ -42,11 +42,50 @@ function debounce(func, wait = 50, immediate = false) {
42
42
  }
43
43
  };
44
44
  }
45
+ function isEqual(a, b) {
46
+ return JSON.stringify(a) === JSON.stringify(b);
47
+ }
45
48
  function kebabCase(str) {
46
49
  const result = str.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g, (match) => '-' + match.toLowerCase());
47
50
  return str[0] === str[0].toUpperCase() ? result.substring(1) : result;
48
51
  }
49
52
 
53
+ class Settings {
54
+ constructor(settings) {
55
+ this.id = '';
56
+ this.style = '';
57
+ this.class = [];
58
+ this.isMultiple = false;
59
+ this.isOpen = false;
60
+ this.triggerFocus = true;
61
+ this.intervalMove = null;
62
+ if (!settings) {
63
+ settings = {};
64
+ }
65
+ this.id = 'ss-' + generateID();
66
+ this.style = settings.style || '';
67
+ this.class = settings.class || [];
68
+ this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true;
69
+ this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;
70
+ this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;
71
+ this.searchPlaceholder = settings.searchPlaceholder || 'Search';
72
+ this.searchText = settings.searchText || 'No Results';
73
+ this.searchingText = settings.searchingText || 'Searching...';
74
+ this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;
75
+ this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;
76
+ this.contentLocation = settings.contentLocation || document.body;
77
+ this.contentPosition = settings.contentPosition || 'absolute';
78
+ this.openPosition = settings.openPosition || 'auto';
79
+ this.placeholderText = settings.placeholderText || 'Select Value';
80
+ this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
81
+ this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
82
+ this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
83
+ this.minSelected = settings.minSelected || 0;
84
+ this.maxSelected = settings.maxSelected || 1000;
85
+ this.timeoutDelay = settings.timeoutDelay || 200;
86
+ }
87
+ }
88
+
50
89
  class Optgroup {
51
90
  constructor(optgroup) {
52
91
  this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;
@@ -940,7 +979,6 @@ class Render {
940
979
  optgroupClosableSvg.classList.add(this.classes.arrow);
941
980
  optgroupClosable.appendChild(optgroupClosableSvg);
942
981
  const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
943
- optgroupClosableArrow.setAttribute('d', this.classes.arrow);
944
982
  optgroupClosableSvg.appendChild(optgroupClosableArrow);
945
983
  if (d.options.some((o) => o.selected)) {
946
984
  optgroupClosable.classList.add(this.classes.open);
@@ -1193,16 +1231,19 @@ class Select {
1193
1231
  }
1194
1232
  addValueChangeListener(func) {
1195
1233
  this.onValueChange = func;
1196
- this.select.addEventListener('change', this.valueChange.bind(this));
1234
+ this.select.addEventListener('change', this.valueChange.bind(this), {
1235
+ passive: true,
1236
+ });
1197
1237
  }
1198
1238
  removeValueChangeListener() {
1199
1239
  this.onValueChange = undefined;
1200
1240
  this.select.removeEventListener('change', this.valueChange.bind(this));
1201
1241
  }
1202
1242
  valueChange(ev) {
1203
- if (this.onValueChange) {
1243
+ if (this.listen && this.onValueChange) {
1204
1244
  this.onValueChange(this.getSelectedValues());
1205
1245
  }
1246
+ return true;
1206
1247
  }
1207
1248
  observeWrapper(mutations) {
1208
1249
  if (this.onSelectChange) {
@@ -1347,6 +1388,7 @@ class Select {
1347
1388
  this.select.appendChild(this.createOption(d));
1348
1389
  }
1349
1390
  }
1391
+ this.select.dispatchEvent(new Event('change'));
1350
1392
  this.changeListen(true);
1351
1393
  }
1352
1394
  createOptgroup(optgroup) {
@@ -1406,42 +1448,6 @@ class Select {
1406
1448
  }
1407
1449
  }
1408
1450
 
1409
- class Settings {
1410
- constructor(settings) {
1411
- this.id = '';
1412
- this.style = '';
1413
- this.class = [];
1414
- this.isMultiple = false;
1415
- this.isOpen = false;
1416
- this.triggerFocus = true;
1417
- this.intervalMove = null;
1418
- if (!settings) {
1419
- settings = {};
1420
- }
1421
- this.id = 'ss-' + generateID();
1422
- this.style = settings.style || '';
1423
- this.class = settings.class || [];
1424
- this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true;
1425
- this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;
1426
- this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;
1427
- this.searchPlaceholder = settings.searchPlaceholder || 'Search';
1428
- this.searchText = settings.searchText || 'No Results';
1429
- this.searchingText = settings.searchingText || 'Searching...';
1430
- this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;
1431
- this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;
1432
- this.contentLocation = settings.contentLocation || document.body;
1433
- this.contentPosition = settings.contentPosition || 'absolute';
1434
- this.openPosition = settings.openPosition || 'auto';
1435
- this.placeholderText = settings.placeholderText || 'Select Value';
1436
- this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
1437
- this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
1438
- this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
1439
- this.minSelected = settings.minSelected || 0;
1440
- this.maxSelected = settings.maxSelected || 1000;
1441
- this.timeoutDelay = settings.timeoutDelay || 200;
1442
- }
1443
- }
1444
-
1445
1451
  class SlimSelect {
1446
1452
  constructor(config) {
1447
1453
  this.events = {
@@ -1574,6 +1580,7 @@ class SlimSelect {
1574
1580
  return this.store.getData();
1575
1581
  }
1576
1582
  setData(data) {
1583
+ const selected = this.store.getSelected();
1577
1584
  const err = this.store.validateDataArray(data);
1578
1585
  if (err) {
1579
1586
  if (this.events.error) {
@@ -1586,23 +1593,34 @@ class SlimSelect {
1586
1593
  this.select.updateOptions(dataClean);
1587
1594
  this.render.renderValues();
1588
1595
  this.render.renderOptions(dataClean);
1596
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1597
+ this.events.afterChange(this.store.getSelectedOptions());
1598
+ }
1589
1599
  }
1590
1600
  getSelected() {
1591
1601
  return this.store.getSelected();
1592
1602
  }
1593
1603
  setSelected(value) {
1604
+ const selected = this.store.getSelected();
1594
1605
  this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);
1595
1606
  const data = this.store.getData();
1596
1607
  this.select.updateOptions(data);
1597
1608
  this.render.renderValues();
1598
1609
  this.render.renderOptions(data);
1610
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1611
+ this.events.afterChange(this.store.getSelectedOptions());
1612
+ }
1599
1613
  }
1600
1614
  addOption(option) {
1615
+ const selected = this.store.getSelected();
1601
1616
  this.store.addOption(option);
1602
1617
  const data = this.store.getData();
1603
1618
  this.select.updateOptions(data);
1604
1619
  this.render.renderValues();
1605
1620
  this.render.renderOptions(data);
1621
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1622
+ this.events.afterChange(this.store.getSelectedOptions());
1623
+ }
1606
1624
  }
1607
1625
  open() {
1608
1626
  if (!this.settings.isEnabled || this.settings.isOpen) {
@@ -45,11 +45,50 @@ var SlimSelect = (function () {
45
45
  }
46
46
  };
47
47
  }
48
+ function isEqual(a, b) {
49
+ return JSON.stringify(a) === JSON.stringify(b);
50
+ }
48
51
  function kebabCase(str) {
49
52
  const result = str.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g, (match) => '-' + match.toLowerCase());
50
53
  return str[0] === str[0].toUpperCase() ? result.substring(1) : result;
51
54
  }
52
55
 
56
+ class Settings {
57
+ constructor(settings) {
58
+ this.id = '';
59
+ this.style = '';
60
+ this.class = [];
61
+ this.isMultiple = false;
62
+ this.isOpen = false;
63
+ this.triggerFocus = true;
64
+ this.intervalMove = null;
65
+ if (!settings) {
66
+ settings = {};
67
+ }
68
+ this.id = 'ss-' + generateID();
69
+ this.style = settings.style || '';
70
+ this.class = settings.class || [];
71
+ this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true;
72
+ this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;
73
+ this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;
74
+ this.searchPlaceholder = settings.searchPlaceholder || 'Search';
75
+ this.searchText = settings.searchText || 'No Results';
76
+ this.searchingText = settings.searchingText || 'Searching...';
77
+ this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;
78
+ this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;
79
+ this.contentLocation = settings.contentLocation || document.body;
80
+ this.contentPosition = settings.contentPosition || 'absolute';
81
+ this.openPosition = settings.openPosition || 'auto';
82
+ this.placeholderText = settings.placeholderText || 'Select Value';
83
+ this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
84
+ this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
85
+ this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
86
+ this.minSelected = settings.minSelected || 0;
87
+ this.maxSelected = settings.maxSelected || 1000;
88
+ this.timeoutDelay = settings.timeoutDelay || 200;
89
+ }
90
+ }
91
+
53
92
  class Optgroup {
54
93
  constructor(optgroup) {
55
94
  this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;
@@ -943,7 +982,6 @@ var SlimSelect = (function () {
943
982
  optgroupClosableSvg.classList.add(this.classes.arrow);
944
983
  optgroupClosable.appendChild(optgroupClosableSvg);
945
984
  const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
946
- optgroupClosableArrow.setAttribute('d', this.classes.arrow);
947
985
  optgroupClosableSvg.appendChild(optgroupClosableArrow);
948
986
  if (d.options.some((o) => o.selected)) {
949
987
  optgroupClosable.classList.add(this.classes.open);
@@ -1196,16 +1234,19 @@ var SlimSelect = (function () {
1196
1234
  }
1197
1235
  addValueChangeListener(func) {
1198
1236
  this.onValueChange = func;
1199
- this.select.addEventListener('change', this.valueChange.bind(this));
1237
+ this.select.addEventListener('change', this.valueChange.bind(this), {
1238
+ passive: true,
1239
+ });
1200
1240
  }
1201
1241
  removeValueChangeListener() {
1202
1242
  this.onValueChange = undefined;
1203
1243
  this.select.removeEventListener('change', this.valueChange.bind(this));
1204
1244
  }
1205
1245
  valueChange(ev) {
1206
- if (this.onValueChange) {
1246
+ if (this.listen && this.onValueChange) {
1207
1247
  this.onValueChange(this.getSelectedValues());
1208
1248
  }
1249
+ return true;
1209
1250
  }
1210
1251
  observeWrapper(mutations) {
1211
1252
  if (this.onSelectChange) {
@@ -1350,6 +1391,7 @@ var SlimSelect = (function () {
1350
1391
  this.select.appendChild(this.createOption(d));
1351
1392
  }
1352
1393
  }
1394
+ this.select.dispatchEvent(new Event('change'));
1353
1395
  this.changeListen(true);
1354
1396
  }
1355
1397
  createOptgroup(optgroup) {
@@ -1409,42 +1451,6 @@ var SlimSelect = (function () {
1409
1451
  }
1410
1452
  }
1411
1453
 
1412
- class Settings {
1413
- constructor(settings) {
1414
- this.id = '';
1415
- this.style = '';
1416
- this.class = [];
1417
- this.isMultiple = false;
1418
- this.isOpen = false;
1419
- this.triggerFocus = true;
1420
- this.intervalMove = null;
1421
- if (!settings) {
1422
- settings = {};
1423
- }
1424
- this.id = 'ss-' + generateID();
1425
- this.style = settings.style || '';
1426
- this.class = settings.class || [];
1427
- this.isEnabled = settings.isEnabled !== undefined ? settings.isEnabled : true;
1428
- this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;
1429
- this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;
1430
- this.searchPlaceholder = settings.searchPlaceholder || 'Search';
1431
- this.searchText = settings.searchText || 'No Results';
1432
- this.searchingText = settings.searchingText || 'Searching...';
1433
- this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;
1434
- this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;
1435
- this.contentLocation = settings.contentLocation || document.body;
1436
- this.contentPosition = settings.contentPosition || 'absolute';
1437
- this.openPosition = settings.openPosition || 'auto';
1438
- this.placeholderText = settings.placeholderText || 'Select Value';
1439
- this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
1440
- this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
1441
- this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
1442
- this.minSelected = settings.minSelected || 0;
1443
- this.maxSelected = settings.maxSelected || 1000;
1444
- this.timeoutDelay = settings.timeoutDelay || 200;
1445
- }
1446
- }
1447
-
1448
1454
  class SlimSelect {
1449
1455
  constructor(config) {
1450
1456
  this.events = {
@@ -1577,6 +1583,7 @@ var SlimSelect = (function () {
1577
1583
  return this.store.getData();
1578
1584
  }
1579
1585
  setData(data) {
1586
+ const selected = this.store.getSelected();
1580
1587
  const err = this.store.validateDataArray(data);
1581
1588
  if (err) {
1582
1589
  if (this.events.error) {
@@ -1589,23 +1596,34 @@ var SlimSelect = (function () {
1589
1596
  this.select.updateOptions(dataClean);
1590
1597
  this.render.renderValues();
1591
1598
  this.render.renderOptions(dataClean);
1599
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1600
+ this.events.afterChange(this.store.getSelectedOptions());
1601
+ }
1592
1602
  }
1593
1603
  getSelected() {
1594
1604
  return this.store.getSelected();
1595
1605
  }
1596
1606
  setSelected(value) {
1607
+ const selected = this.store.getSelected();
1597
1608
  this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);
1598
1609
  const data = this.store.getData();
1599
1610
  this.select.updateOptions(data);
1600
1611
  this.render.renderValues();
1601
1612
  this.render.renderOptions(data);
1613
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1614
+ this.events.afterChange(this.store.getSelectedOptions());
1615
+ }
1602
1616
  }
1603
1617
  addOption(option) {
1618
+ const selected = this.store.getSelected();
1604
1619
  this.store.addOption(option);
1605
1620
  const data = this.store.getData();
1606
1621
  this.select.updateOptions(data);
1607
1622
  this.render.renderValues();
1608
1623
  this.render.renderOptions(data);
1624
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1625
+ this.events.afterChange(this.store.getSelectedOptions());
1626
+ }
1609
1627
  }
1610
1628
  open() {
1611
1629
  if (!this.settings.isEnabled || this.settings.isOpen) {