slim-select 2.2.1 → 2.2.3

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 (149) 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 +68 -52
  5. package/dist/slimselect.es.js +68 -52
  6. package/dist/slimselect.global.js +68 -52
  7. package/dist/slimselect.js +68 -52
  8. package/dist/slimselect.min.js +1 -1
  9. package/dist/slimselect.umd.js +68 -52
  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/slim-select/store.ts +19 -16
  17. package/src/vue/dist/slim-select/helpers.d.ts +1 -0
  18. package/src/vue/dist/slim-select/index.d.ts +1 -1
  19. package/src/vue/dist/slim-select/select.d.ts +1 -1
  20. package/src/vue/dist/slimselectvue.es.js +120 -55
  21. package/src/vue/dist/slimselectvue.global.js +120 -55
  22. package/src/vue/dist/slimselectvue.ssr.js +120 -55
  23. package/src/vue/dist/vue/slimselect.vue.d.ts +50 -27
  24. package/src/vue/package.json +1 -1
  25. package/src/vue/rollup.config.mjs +3 -3
  26. package/src/vue/slimselect.vue +66 -2
  27. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  28. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  29. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  30. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  31. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  32. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  33. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/code/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  34. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  35. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  36. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  37. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  38. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  39. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  40. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  41. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/semanticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  42. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  43. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  44. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  45. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  46. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  47. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  48. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  49. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/syntacticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  50. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/068e7904209e205518dbc9726d632bbaf28bfc55 +0 -0
  51. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/06b75ecfe63fda3fcfaa42593fa1f22167f3a9f8 +0 -0
  52. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/2aa9d56fc4a9661ee8e3de277da5ee3f960713de +0 -0
  53. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/2c58b356be1a9572c64469d50a7a25c46f94aaeb +0 -0
  54. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/36d3fb579feb4cad7a15b7a2f509f338caf72fa0 +0 -0
  55. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/388b297c3f73fcba25b8174fda975235e5d12b5a +0 -0
  56. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/40e43895ec63e1e25aa7e278ca1e8c3adefc815d +0 -0
  57. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/645e188194be07518ebbb0a5b4304f5170fee599 +0 -0
  58. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/65515bf3a44aaf1306f589073f1c8b98be747f5f +0 -0
  59. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/6a357fe7542e07f7919ea9b22401027dd1e8a0c1 +0 -0
  60. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/72087cac150d02ed6d19e37d6f1436566d5ac798 +0 -0
  61. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/9ff120b6426a4c7a03236428f26a92772586c3e5 +0 -0
  62. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/a6917de673fc74a6cfca5133913982e54e58a7fb +0 -0
  63. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/aa4aee440d13b06b4bb05c36eee326513aa6c040 +0 -0
  64. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/b02a4d0c40fac4c7f9ea7acd7944ee8844afcedf +0 -0
  65. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/b21a02b948881426bc4dcff649fc4fba07ca34d2 +0 -0
  66. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/c10c11f9c426095ab3f504dd8b7622ad7ba7c8ed +0 -0
  67. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_1e8d68e0803222688213218fda500c83f6c6476e/types/cache/dc186595636217ded2d4a4cfbb789d68ea485b6b +0 -0
  68. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  69. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  70. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  71. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  72. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  73. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  74. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/code/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  75. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  76. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  77. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  78. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  79. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  80. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  81. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  82. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/semanticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  83. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  84. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  85. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  86. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  87. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  88. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  89. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  90. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/syntacticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  91. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/068e7904209e205518dbc9726d632bbaf28bfc55 +0 -0
  92. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/06b75ecfe63fda3fcfaa42593fa1f22167f3a9f8 +0 -0
  93. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/2aa9d56fc4a9661ee8e3de277da5ee3f960713de +0 -0
  94. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/2c58b356be1a9572c64469d50a7a25c46f94aaeb +0 -0
  95. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/36d3fb579feb4cad7a15b7a2f509f338caf72fa0 +0 -0
  96. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/388b297c3f73fcba25b8174fda975235e5d12b5a +0 -0
  97. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/40e43895ec63e1e25aa7e278ca1e8c3adefc815d +0 -0
  98. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/645e188194be07518ebbb0a5b4304f5170fee599 +0 -0
  99. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/65515bf3a44aaf1306f589073f1c8b98be747f5f +0 -0
  100. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/6a357fe7542e07f7919ea9b22401027dd1e8a0c1 +0 -0
  101. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/72087cac150d02ed6d19e37d6f1436566d5ac798 +0 -0
  102. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/9ff120b6426a4c7a03236428f26a92772586c3e5 +0 -0
  103. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/a6917de673fc74a6cfca5133913982e54e58a7fb +0 -0
  104. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/aa4aee440d13b06b4bb05c36eee326513aa6c040 +0 -0
  105. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/b02a4d0c40fac4c7f9ea7acd7944ee8844afcedf +0 -0
  106. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/b21a02b948881426bc4dcff649fc4fba07ca34d2 +0 -0
  107. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/c10c11f9c426095ab3f504dd8b7622ad7ba7c8ed +0 -0
  108. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_2e1b3e4caed5e16ec3a087e96a7fe6e4f5ea8a82/types/cache/dc186595636217ded2d4a4cfbb789d68ea485b6b +0 -0
  109. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  110. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  111. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  112. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  113. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  114. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  115. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/code/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  116. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  117. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  118. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  119. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  120. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  121. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  122. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  123. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/semanticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  124. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/05b27cf262de47962f4beeba3d4b4f67616bdf24 +0 -1
  125. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/26c90bc22e366b540ff134ba7de2ab3715155a20 +0 -1
  126. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/7a2b654bed9256f52421aec7d04cd8553486335b +0 -1
  127. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/80fdd1aafff88316e6a7f63509fb7304c94ae6d3 +0 -1
  128. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/88c6c8bf5346a961efcdff848fba6e3f2d24b26c +0 -1
  129. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/a8a4a8a1b06b6c8069e965f4a30a4b42013b830a +0 -1
  130. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/b2f217f16a7744eb13543dc90442443538b724b8 +0 -1
  131. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/syntacticDiagnostics/cache/be60813c21c2fbc627fcf99127ca2a96a3065fba +0 -1
  132. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/068e7904209e205518dbc9726d632bbaf28bfc55 +0 -0
  133. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/06b75ecfe63fda3fcfaa42593fa1f22167f3a9f8 +0 -0
  134. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/2aa9d56fc4a9661ee8e3de277da5ee3f960713de +0 -0
  135. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/2c58b356be1a9572c64469d50a7a25c46f94aaeb +0 -0
  136. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/36d3fb579feb4cad7a15b7a2f509f338caf72fa0 +0 -0
  137. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/388b297c3f73fcba25b8174fda975235e5d12b5a +0 -0
  138. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/40e43895ec63e1e25aa7e278ca1e8c3adefc815d +0 -0
  139. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/645e188194be07518ebbb0a5b4304f5170fee599 +0 -0
  140. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/65515bf3a44aaf1306f589073f1c8b98be747f5f +0 -0
  141. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/6a357fe7542e07f7919ea9b22401027dd1e8a0c1 +0 -0
  142. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/72087cac150d02ed6d19e37d6f1436566d5ac798 +0 -0
  143. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/9ff120b6426a4c7a03236428f26a92772586c3e5 +0 -0
  144. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/a6917de673fc74a6cfca5133913982e54e58a7fb +0 -0
  145. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/aa4aee440d13b06b4bb05c36eee326513aa6c040 +0 -0
  146. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/b02a4d0c40fac4c7f9ea7acd7944ee8844afcedf +0 -0
  147. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/b21a02b948881426bc4dcff649fc4fba07ca34d2 +0 -0
  148. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/c10c11f9c426095ab3f504dd8b7622ad7ba7c8ed +0 -0
  149. package/src/vue/node_modules/.cache/rollup-plugin-typescript2/rpt2_6eed9deea87cc005768ee2b80168901d42458ef9/types/cache/dc186595636217ded2d4a4cfbb789d68ea485b6b +0 -0
@@ -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;
@@ -228,23 +267,21 @@ class Store {
228
267
  const dataSearch = [];
229
268
  this.data.forEach((dataObj) => {
230
269
  if (dataObj instanceof Optgroup) {
231
- if (!includeOptgroup) {
232
- dataObj.options.forEach((option) => {
233
- if (filter && filter(option)) {
234
- dataSearch.push(option);
270
+ let optOptions = [];
271
+ dataObj.options.forEach((option) => {
272
+ if (!filter || filter(option)) {
273
+ if (!includeOptgroup) {
274
+ dataSearch.push(new Option(option));
235
275
  }
236
- });
237
- }
238
- else {
239
- let optOptions = [];
240
- dataObj.options.forEach((option) => {
241
- if (!filter || filter(option)) {
276
+ else {
242
277
  optOptions.push(new Option(option));
243
278
  }
244
- });
245
- if (optOptions.length > 0) {
246
- dataSearch.push(new Optgroup(dataObj));
247
279
  }
280
+ });
281
+ if (optOptions.length > 0) {
282
+ let optgroup = new Optgroup(dataObj);
283
+ optgroup.options = optOptions;
284
+ dataSearch.push(optgroup);
248
285
  }
249
286
  }
250
287
  if (dataObj instanceof Option) {
@@ -942,7 +979,6 @@ class Render {
942
979
  optgroupClosableSvg.classList.add(this.classes.arrow);
943
980
  optgroupClosable.appendChild(optgroupClosableSvg);
944
981
  const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
945
- optgroupClosableArrow.setAttribute('d', this.classes.arrow);
946
982
  optgroupClosableSvg.appendChild(optgroupClosableArrow);
947
983
  if (d.options.some((o) => o.selected)) {
948
984
  optgroupClosable.classList.add(this.classes.open);
@@ -1195,16 +1231,19 @@ class Select {
1195
1231
  }
1196
1232
  addValueChangeListener(func) {
1197
1233
  this.onValueChange = func;
1198
- this.select.addEventListener('change', this.valueChange.bind(this));
1234
+ this.select.addEventListener('change', this.valueChange.bind(this), {
1235
+ passive: true,
1236
+ });
1199
1237
  }
1200
1238
  removeValueChangeListener() {
1201
1239
  this.onValueChange = undefined;
1202
1240
  this.select.removeEventListener('change', this.valueChange.bind(this));
1203
1241
  }
1204
1242
  valueChange(ev) {
1205
- if (this.onValueChange) {
1243
+ if (this.listen && this.onValueChange) {
1206
1244
  this.onValueChange(this.getSelectedValues());
1207
1245
  }
1246
+ return true;
1208
1247
  }
1209
1248
  observeWrapper(mutations) {
1210
1249
  if (this.onSelectChange) {
@@ -1349,6 +1388,7 @@ class Select {
1349
1388
  this.select.appendChild(this.createOption(d));
1350
1389
  }
1351
1390
  }
1391
+ this.select.dispatchEvent(new Event('change'));
1352
1392
  this.changeListen(true);
1353
1393
  }
1354
1394
  createOptgroup(optgroup) {
@@ -1408,42 +1448,6 @@ class Select {
1408
1448
  }
1409
1449
  }
1410
1450
 
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
1451
  class SlimSelect {
1448
1452
  constructor(config) {
1449
1453
  this.events = {
@@ -1576,6 +1580,7 @@ class SlimSelect {
1576
1580
  return this.store.getData();
1577
1581
  }
1578
1582
  setData(data) {
1583
+ const selected = this.store.getSelected();
1579
1584
  const err = this.store.validateDataArray(data);
1580
1585
  if (err) {
1581
1586
  if (this.events.error) {
@@ -1588,23 +1593,34 @@ class SlimSelect {
1588
1593
  this.select.updateOptions(dataClean);
1589
1594
  this.render.renderValues();
1590
1595
  this.render.renderOptions(dataClean);
1596
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1597
+ this.events.afterChange(this.store.getSelectedOptions());
1598
+ }
1591
1599
  }
1592
1600
  getSelected() {
1593
1601
  return this.store.getSelected();
1594
1602
  }
1595
1603
  setSelected(value) {
1604
+ const selected = this.store.getSelected();
1596
1605
  this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);
1597
1606
  const data = this.store.getData();
1598
1607
  this.select.updateOptions(data);
1599
1608
  this.render.renderValues();
1600
1609
  this.render.renderOptions(data);
1610
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1611
+ this.events.afterChange(this.store.getSelectedOptions());
1612
+ }
1601
1613
  }
1602
1614
  addOption(option) {
1615
+ const selected = this.store.getSelected();
1603
1616
  this.store.addOption(option);
1604
1617
  const data = this.store.getData();
1605
1618
  this.select.updateOptions(data);
1606
1619
  this.render.renderValues();
1607
1620
  this.render.renderOptions(data);
1621
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1622
+ this.events.afterChange(this.store.getSelectedOptions());
1623
+ }
1608
1624
  }
1609
1625
  open() {
1610
1626
  if (!this.settings.isEnabled || this.settings.isOpen) {
@@ -1690,6 +1706,13 @@ class SlimSelect {
1690
1706
  var script = defineComponent({
1691
1707
  name: 'SlimSelect',
1692
1708
  props: {
1709
+ modelValue: {
1710
+ type: [String, Array, undefined],
1711
+ },
1712
+ multiple: {
1713
+ type: Boolean,
1714
+ default: false,
1715
+ },
1693
1716
  data: {
1694
1717
  type: Array,
1695
1718
  },
@@ -1700,6 +1723,7 @@ var script = defineComponent({
1700
1723
  type: Object,
1701
1724
  },
1702
1725
  },
1726
+ emits: ['update:modelValue'],
1703
1727
  data() {
1704
1728
  return {
1705
1729
  slim: null,
@@ -1718,7 +1742,24 @@ var script = defineComponent({
1718
1742
  if (this.events) {
1719
1743
  config.events = this.events;
1720
1744
  }
1745
+ if (!config.events) {
1746
+ config.events = {};
1747
+ }
1748
+ const ogAfterChange = config.events.afterChange;
1749
+ config.events.afterChange = (newVal) => {
1750
+ const value = this.multiple ? newVal.map((option) => option.value) : newVal[0].value;
1751
+ if (this.value !== value) {
1752
+ this.value = value;
1753
+ }
1754
+ if (config.events && ogAfterChange) {
1755
+ ogAfterChange(newVal);
1756
+ }
1757
+ };
1721
1758
  this.slim = new SlimSelect(config);
1759
+ let selected = this.$props.multiple ? this.slim.getSelected() : this.slim.getSelected()[0];
1760
+ if (this.value !== selected) {
1761
+ this.value = selected;
1762
+ }
1722
1763
  },
1723
1764
  beforeUnmount() {
1724
1765
  if (this.slim) {
@@ -1735,6 +1776,27 @@ var script = defineComponent({
1735
1776
  deep: true,
1736
1777
  },
1737
1778
  },
1779
+ computed: {
1780
+ value: {
1781
+ get() {
1782
+ const multi = this.$props.multiple;
1783
+ const val = this.$props.modelValue;
1784
+ if (val === undefined) {
1785
+ return multi ? [] : '';
1786
+ }
1787
+ if (multi && typeof val === 'string') {
1788
+ return [val];
1789
+ }
1790
+ if (!multi && Array.isArray(val)) {
1791
+ return val[0];
1792
+ }
1793
+ return multi ? [] : '';
1794
+ },
1795
+ set(value) {
1796
+ this.$emit('update:modelValue', value);
1797
+ },
1798
+ },
1799
+ },
1738
1800
  methods: {
1739
1801
  getSlimSelect() {
1740
1802
  return this.slim;
@@ -1742,12 +1804,15 @@ var script = defineComponent({
1742
1804
  },
1743
1805
  });
1744
1806
 
1745
- const _hoisted_1 = { ref: "slim" };
1807
+ const _hoisted_1 = ["multiple"];
1746
1808
 
1747
1809
  function render(_ctx, _cache, $props, $setup, $data, $options) {
1748
- return (openBlock(), createElementBlock("select", _hoisted_1, [
1810
+ return (openBlock(), createElementBlock("select", {
1811
+ multiple: _ctx.multiple,
1812
+ ref: "slim"
1813
+ }, [
1749
1814
  renderSlot(_ctx.$slots, "default")
1750
- ], 512 /* NEED_PATCH */))
1815
+ ], 8 /* PROPS */, _hoisted_1))
1751
1816
  }
1752
1817
 
1753
1818
  script.render = render;
@@ -45,11 +45,50 @@ var SlimSelectVue = (function (vue) {
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;
@@ -229,23 +268,21 @@ var SlimSelectVue = (function (vue) {
229
268
  const dataSearch = [];
230
269
  this.data.forEach((dataObj) => {
231
270
  if (dataObj instanceof Optgroup) {
232
- if (!includeOptgroup) {
233
- dataObj.options.forEach((option) => {
234
- if (filter && filter(option)) {
235
- dataSearch.push(option);
271
+ let optOptions = [];
272
+ dataObj.options.forEach((option) => {
273
+ if (!filter || filter(option)) {
274
+ if (!includeOptgroup) {
275
+ dataSearch.push(new Option(option));
236
276
  }
237
- });
238
- }
239
- else {
240
- let optOptions = [];
241
- dataObj.options.forEach((option) => {
242
- if (!filter || filter(option)) {
277
+ else {
243
278
  optOptions.push(new Option(option));
244
279
  }
245
- });
246
- if (optOptions.length > 0) {
247
- dataSearch.push(new Optgroup(dataObj));
248
280
  }
281
+ });
282
+ if (optOptions.length > 0) {
283
+ let optgroup = new Optgroup(dataObj);
284
+ optgroup.options = optOptions;
285
+ dataSearch.push(optgroup);
249
286
  }
250
287
  }
251
288
  if (dataObj instanceof Option) {
@@ -943,7 +980,6 @@ var SlimSelectVue = (function (vue) {
943
980
  optgroupClosableSvg.classList.add(this.classes.arrow);
944
981
  optgroupClosable.appendChild(optgroupClosableSvg);
945
982
  const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
946
- optgroupClosableArrow.setAttribute('d', this.classes.arrow);
947
983
  optgroupClosableSvg.appendChild(optgroupClosableArrow);
948
984
  if (d.options.some((o) => o.selected)) {
949
985
  optgroupClosable.classList.add(this.classes.open);
@@ -1196,16 +1232,19 @@ var SlimSelectVue = (function (vue) {
1196
1232
  }
1197
1233
  addValueChangeListener(func) {
1198
1234
  this.onValueChange = func;
1199
- this.select.addEventListener('change', this.valueChange.bind(this));
1235
+ this.select.addEventListener('change', this.valueChange.bind(this), {
1236
+ passive: true,
1237
+ });
1200
1238
  }
1201
1239
  removeValueChangeListener() {
1202
1240
  this.onValueChange = undefined;
1203
1241
  this.select.removeEventListener('change', this.valueChange.bind(this));
1204
1242
  }
1205
1243
  valueChange(ev) {
1206
- if (this.onValueChange) {
1244
+ if (this.listen && this.onValueChange) {
1207
1245
  this.onValueChange(this.getSelectedValues());
1208
1246
  }
1247
+ return true;
1209
1248
  }
1210
1249
  observeWrapper(mutations) {
1211
1250
  if (this.onSelectChange) {
@@ -1350,6 +1389,7 @@ var SlimSelectVue = (function (vue) {
1350
1389
  this.select.appendChild(this.createOption(d));
1351
1390
  }
1352
1391
  }
1392
+ this.select.dispatchEvent(new Event('change'));
1353
1393
  this.changeListen(true);
1354
1394
  }
1355
1395
  createOptgroup(optgroup) {
@@ -1409,42 +1449,6 @@ var SlimSelectVue = (function (vue) {
1409
1449
  }
1410
1450
  }
1411
1451
 
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
1452
  class SlimSelect {
1449
1453
  constructor(config) {
1450
1454
  this.events = {
@@ -1577,6 +1581,7 @@ var SlimSelectVue = (function (vue) {
1577
1581
  return this.store.getData();
1578
1582
  }
1579
1583
  setData(data) {
1584
+ const selected = this.store.getSelected();
1580
1585
  const err = this.store.validateDataArray(data);
1581
1586
  if (err) {
1582
1587
  if (this.events.error) {
@@ -1589,23 +1594,34 @@ var SlimSelectVue = (function (vue) {
1589
1594
  this.select.updateOptions(dataClean);
1590
1595
  this.render.renderValues();
1591
1596
  this.render.renderOptions(dataClean);
1597
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1598
+ this.events.afterChange(this.store.getSelectedOptions());
1599
+ }
1592
1600
  }
1593
1601
  getSelected() {
1594
1602
  return this.store.getSelected();
1595
1603
  }
1596
1604
  setSelected(value) {
1605
+ const selected = this.store.getSelected();
1597
1606
  this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);
1598
1607
  const data = this.store.getData();
1599
1608
  this.select.updateOptions(data);
1600
1609
  this.render.renderValues();
1601
1610
  this.render.renderOptions(data);
1611
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1612
+ this.events.afterChange(this.store.getSelectedOptions());
1613
+ }
1602
1614
  }
1603
1615
  addOption(option) {
1616
+ const selected = this.store.getSelected();
1604
1617
  this.store.addOption(option);
1605
1618
  const data = this.store.getData();
1606
1619
  this.select.updateOptions(data);
1607
1620
  this.render.renderValues();
1608
1621
  this.render.renderOptions(data);
1622
+ if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {
1623
+ this.events.afterChange(this.store.getSelectedOptions());
1624
+ }
1609
1625
  }
1610
1626
  open() {
1611
1627
  if (!this.settings.isEnabled || this.settings.isOpen) {
@@ -1691,6 +1707,13 @@ var SlimSelectVue = (function (vue) {
1691
1707
  var script = vue.defineComponent({
1692
1708
  name: 'SlimSelect',
1693
1709
  props: {
1710
+ modelValue: {
1711
+ type: [String, Array, undefined],
1712
+ },
1713
+ multiple: {
1714
+ type: Boolean,
1715
+ default: false,
1716
+ },
1694
1717
  data: {
1695
1718
  type: Array,
1696
1719
  },
@@ -1701,6 +1724,7 @@ var SlimSelectVue = (function (vue) {
1701
1724
  type: Object,
1702
1725
  },
1703
1726
  },
1727
+ emits: ['update:modelValue'],
1704
1728
  data() {
1705
1729
  return {
1706
1730
  slim: null,
@@ -1719,7 +1743,24 @@ var SlimSelectVue = (function (vue) {
1719
1743
  if (this.events) {
1720
1744
  config.events = this.events;
1721
1745
  }
1746
+ if (!config.events) {
1747
+ config.events = {};
1748
+ }
1749
+ const ogAfterChange = config.events.afterChange;
1750
+ config.events.afterChange = (newVal) => {
1751
+ const value = this.multiple ? newVal.map((option) => option.value) : newVal[0].value;
1752
+ if (this.value !== value) {
1753
+ this.value = value;
1754
+ }
1755
+ if (config.events && ogAfterChange) {
1756
+ ogAfterChange(newVal);
1757
+ }
1758
+ };
1722
1759
  this.slim = new SlimSelect(config);
1760
+ let selected = this.$props.multiple ? this.slim.getSelected() : this.slim.getSelected()[0];
1761
+ if (this.value !== selected) {
1762
+ this.value = selected;
1763
+ }
1723
1764
  },
1724
1765
  beforeUnmount() {
1725
1766
  if (this.slim) {
@@ -1736,6 +1777,27 @@ var SlimSelectVue = (function (vue) {
1736
1777
  deep: true,
1737
1778
  },
1738
1779
  },
1780
+ computed: {
1781
+ value: {
1782
+ get() {
1783
+ const multi = this.$props.multiple;
1784
+ const val = this.$props.modelValue;
1785
+ if (val === undefined) {
1786
+ return multi ? [] : '';
1787
+ }
1788
+ if (multi && typeof val === 'string') {
1789
+ return [val];
1790
+ }
1791
+ if (!multi && Array.isArray(val)) {
1792
+ return val[0];
1793
+ }
1794
+ return multi ? [] : '';
1795
+ },
1796
+ set(value) {
1797
+ this.$emit('update:modelValue', value);
1798
+ },
1799
+ },
1800
+ },
1739
1801
  methods: {
1740
1802
  getSlimSelect() {
1741
1803
  return this.slim;
@@ -1743,12 +1805,15 @@ var SlimSelectVue = (function (vue) {
1743
1805
  },
1744
1806
  });
1745
1807
 
1746
- const _hoisted_1 = { ref: "slim" };
1808
+ const _hoisted_1 = ["multiple"];
1747
1809
 
1748
1810
  function render(_ctx, _cache, $props, $setup, $data, $options) {
1749
- return (vue.openBlock(), vue.createElementBlock("select", _hoisted_1, [
1811
+ return (vue.openBlock(), vue.createElementBlock("select", {
1812
+ multiple: _ctx.multiple,
1813
+ ref: "slim"
1814
+ }, [
1750
1815
  vue.renderSlot(_ctx.$slots, "default")
1751
- ], 512 /* NEED_PATCH */))
1816
+ ], 8 /* PROPS */, _hoisted_1))
1752
1817
  }
1753
1818
 
1754
1819
  script.render = render;