smoothly 1.112.0 → 1.113.0

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 (348) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/smoothly-app_98.cjs.entry.js +228 -176
  3. package/dist/cjs/smoothly-app_98.cjs.entry.js.map +1 -1
  4. package/dist/cjs/smoothly-submit.cjs.entry.js +1 -1
  5. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +1 -1
  6. package/dist/cjs/smoothly-trigger-source.cjs.entry.js +1 -1
  7. package/dist/cjs/smoothly.cjs.js +1 -1
  8. package/dist/collection/components/input/demo/standard/index.js +1 -1
  9. package/dist/collection/components/input/demo/standard/index.js.map +1 -1
  10. package/dist/collection/components/input/select/index.js +121 -133
  11. package/dist/collection/components/input/select/index.js.map +1 -1
  12. package/dist/collection/components/input/select/layout.js +21 -0
  13. package/dist/collection/components/input/select/layout.js.map +1 -0
  14. package/dist/collection/components/input/select/menu.js +33 -0
  15. package/dist/collection/components/input/select/menu.js.map +1 -0
  16. package/dist/collection/components/input/select/scroll.js +14 -0
  17. package/dist/collection/components/input/select/scroll.js.map +1 -0
  18. package/dist/collection/components/input/select/style.css +72 -64
  19. package/dist/collection/components/input/submit/index.js +1 -1
  20. package/dist/collection/components/item/index.js +1 -1
  21. package/dist/collection/components/label/index.js +2 -2
  22. package/dist/collection/components/lazy/index.js +1 -1
  23. package/dist/collection/components/load-more/index.js +1 -1
  24. package/dist/collection/components/modal/index.js +2 -2
  25. package/dist/collection/components/notification/index.js +1 -1
  26. package/dist/collection/components/notifier/index.js +1 -1
  27. package/dist/collection/components/spinner/index.js +2 -2
  28. package/dist/collection/components/submit/index.js +1 -1
  29. package/dist/collection/components/summary/index.js +1 -1
  30. package/dist/collection/components/table/body/index.js +1 -1
  31. package/dist/collection/components/table/cell/index.js +1 -1
  32. package/dist/collection/components/table/demo/colspan/index.js +1 -1
  33. package/dist/collection/components/table/demo/filler-row/index.js +1 -1
  34. package/dist/collection/components/table/demo/group/index.js +1 -1
  35. package/dist/collection/components/table/demo/index.js +1 -1
  36. package/dist/collection/components/table/demo/nested-no-cell/index.js +2 -2
  37. package/dist/collection/components/table/demo/nested-no-cell/inner/index.js +1 -1
  38. package/dist/collection/components/table/demo/simple/simple.js +1 -1
  39. package/dist/collection/components/table/expandable/cell/index.js +1 -1
  40. package/dist/collection/components/table/expandable/row/index.js +1 -1
  41. package/dist/collection/components/table/filler-row/index.js +1 -1
  42. package/dist/collection/components/table/foot/index.js +1 -1
  43. package/dist/collection/components/table/group/index.js +1 -1
  44. package/dist/collection/components/table/head/index.js +2 -2
  45. package/dist/collection/components/table/index.js +1 -1
  46. package/dist/collection/components/table/row/index.js +1 -1
  47. package/dist/collection/components/tabs/demo/index.js +1 -1
  48. package/dist/collection/components/tabs/tab/index.js +1 -1
  49. package/dist/collection/components/theme/color/index.js +1 -1
  50. package/dist/collection/components/theme/demo/index.js +1 -1
  51. package/dist/collection/components/theme/guide/index.js +8 -8
  52. package/dist/collection/components/theme/picker/index.js +2 -2
  53. package/dist/collection/components/toggle-switch/demo/index.js +1 -1
  54. package/dist/collection/components/toggle-switch/index.js +1 -1
  55. package/dist/collection/components/trigger/index.js +1 -1
  56. package/dist/collection/components/trigger/sink/index.js +1 -1
  57. package/dist/collection/components/trigger/source/index.js +1 -1
  58. package/dist/components/{p-iucZC6z5.js → p-0vl7fnbi.js} +2 -2
  59. package/dist/components/{p-R4uIvvER.js → p-7ReeDB-R.js} +2 -2
  60. package/dist/components/{p-D1uYEo7L.js → p-97N6vnZd.js} +2 -2
  61. package/dist/components/{p-BaGuG5hS.js → p-9Fc5vWzs.js} +2 -2
  62. package/dist/components/{p-CtN3gqjJ.js → p-B11YJh32.js} +2 -2
  63. package/dist/components/{p-DTqtObrT.js → p-B6W5V130.js} +2 -2
  64. package/dist/components/{p-C9zTTp-4.js → p-B7ws0a8Z.js} +2 -2
  65. package/dist/components/{p-Bm-gpoFa.js → p-BDW8BGmy.js} +2 -2
  66. package/dist/components/{p-CsLlJDsh.js → p-BEQ2yAjW.js} +2 -2
  67. package/dist/components/{p-nrkV1PqR.js → p-BMHv8WTp.js} +2 -2
  68. package/dist/components/{p-D58kSmOp.js → p-BZJNdp6g.js} +2 -2
  69. package/dist/components/{p-v06atw3t.js → p-B_Tu52N5.js} +2 -2
  70. package/dist/components/p-BdqxED0P.js +2 -0
  71. package/dist/components/{p-DwYc62Ls.js → p-Bh2x2l2j.js} +2 -2
  72. package/dist/components/p-BnKGlfV9.js +2 -0
  73. package/dist/components/{p-DgaHxdNI.js → p-BpBeeNcM.js} +2 -2
  74. package/dist/components/{p-B3OjIxsE.js → p-BqODWrES.js} +2 -2
  75. package/dist/components/p-BrrLEO2B.js +2 -0
  76. package/dist/components/{p-CqyInbXs.js → p-Bufbdh4o.js} +2 -2
  77. package/dist/components/p-BxsOj_LX.js +2 -0
  78. package/dist/components/{p-BDhPxj59.js → p-BznhH5yZ.js} +2 -2
  79. package/dist/components/{p-BNnhxQyl.js → p-C-dGqk3e.js} +2 -2
  80. package/dist/components/{p-Bj9DsW03.js → p-C0XPq5lI.js} +2 -2
  81. package/dist/components/{p-CG636AEF.js → p-C5JaWzfu.js} +2 -2
  82. package/dist/components/{p-BaBGzDg_.js → p-CCzyYE1m.js} +2 -2
  83. package/dist/components/{p-jatJrx5f.js → p-CDetFhB9.js} +2 -2
  84. package/dist/components/{p-CKrPTQ_S.js → p-CGg8GrGq.js} +2 -2
  85. package/dist/components/p-CLN-EYZz.js +2 -0
  86. package/dist/components/{p-CottiZWN.js.map → p-CLN-EYZz.js.map} +1 -1
  87. package/dist/components/p-CMEyMMZz.js +2 -0
  88. package/dist/components/{p-CdgiqBtD.js.map → p-CMEyMMZz.js.map} +1 -1
  89. package/dist/components/{p-nHKstm2X.js → p-COTO4dlW.js} +2 -2
  90. package/dist/components/{p-CuMoDdaf.js → p-CXEfxOpA.js} +2 -2
  91. package/dist/components/p-CZGfvbsC.js +2 -0
  92. package/dist/components/{p-BQIS-JBV.js → p-CbWiiNJL.js} +2 -2
  93. package/dist/components/{p-DZ4ogW8V.js → p-Cct10sTX.js} +2 -2
  94. package/dist/components/p-Cgowjgod.js +2 -0
  95. package/dist/components/{p-DBuVH8IL.js → p-CjAkXCwI.js} +2 -2
  96. package/dist/components/{p-CioJtwj-.js → p-CjknknP6.js} +2 -2
  97. package/dist/components/{p-DdTTiJbE.js → p-CsHiDnB-.js} +2 -2
  98. package/dist/components/{p-CVH3vlKv.js → p-CuC7MNAM.js} +2 -2
  99. package/dist/components/{p-i8IFRTdL.js → p-Cw-_pWl-.js} +2 -2
  100. package/dist/components/{p-DnLJBwZR.js → p-D4LmYvoM.js} +2 -2
  101. package/dist/components/{p-DMzn0Iz0.js → p-D4PyTfe4.js} +2 -2
  102. package/dist/components/p-D4fagxgG.js +2 -0
  103. package/dist/components/p-D8jJZbTy.js +2 -0
  104. package/dist/components/p-D8jJZbTy.js.map +1 -0
  105. package/dist/components/{p-ByWVc-XC.js → p-DGxkSNZ-.js} +2 -2
  106. package/dist/components/{p-BS2SWUX6.js → p-DKir2dIt.js} +2 -2
  107. package/dist/components/{p-CF5IKGi5.js → p-DRiOEv4L.js} +2 -2
  108. package/dist/components/{p-DVuQ4t_X.js → p-DTOzpQD8.js} +2 -2
  109. package/dist/components/{p-CZ6kkjYF.js → p-DVbSVIVZ.js} +2 -2
  110. package/dist/components/{p-CjdBPauI.js → p-DbS9bWfm.js} +2 -2
  111. package/dist/components/{p-BqAN7jax.js → p-DdXfvS4U.js} +2 -2
  112. package/dist/components/p-DkxTx6nY.js +2 -0
  113. package/dist/components/{p-t3cG0BK6.js.map → p-DkxTx6nY.js.map} +1 -1
  114. package/dist/components/{p-BX6yRNGo.js → p-Dt4cCJEp.js} +2 -2
  115. package/dist/components/{p-Bp9BMsim.js → p-DtoC1d2_.js} +2 -2
  116. package/dist/components/{p-BPh3sXo6.js → p-DvF8zgEi.js} +2 -2
  117. package/dist/components/{p-CR1YZ3na.js → p-DxVl-YSW.js} +2 -2
  118. package/dist/components/{p-DSsOLbj6.js → p-DyL_ilIk.js} +2 -2
  119. package/dist/components/p-JB57brc4.js +2 -0
  120. package/dist/components/p-JLn3QBuQ.js +2 -0
  121. package/dist/components/{p-Dekg3IGr.js.map → p-JLn3QBuQ.js.map} +1 -1
  122. package/dist/components/{p-Dx5PGIAk.js → p-JdwWRJjd.js} +2 -2
  123. package/dist/components/{p-CTPT9Ngc.js → p-MCxlBxSA.js} +2 -2
  124. package/dist/components/{p-BiwhssQ8.js → p-MNhi5te8.js} +2 -2
  125. package/dist/components/p-OV_wRej-.js +2 -0
  126. package/dist/components/p-OfpR2_fh.js +2 -0
  127. package/dist/components/p-OfpR2_fh.js.map +1 -0
  128. package/dist/components/{p-C_f8s6n5.js → p-Q-gVll-_.js} +2 -2
  129. package/dist/components/{p-CGG77xzV.js → p-Qf8o2d67.js} +2 -2
  130. package/dist/components/{p-DXHBXAV0.js → p-V6FzDWfL.js} +2 -2
  131. package/dist/components/p-W-kaGeCx.js +2 -0
  132. package/dist/components/{p-Mk_F6MCP.js.map → p-W-kaGeCx.js.map} +1 -1
  133. package/dist/components/{p-Bs8X_nDB.js → p-WzQNLGYx.js} +2 -2
  134. package/dist/components/{p-1KOtWYkC.js → p-eptsxAXs.js} +2 -2
  135. package/dist/components/{p-D2FsRCII.js → p-fjRiTKvl.js} +2 -2
  136. package/dist/components/{p-C3__jhwf.js → p-gJF_-tuy.js} +2 -2
  137. package/dist/components/p-h1R5xtdy.js +2 -0
  138. package/dist/components/{p-BGKOGyFA.js → p-hcVaU3nW.js} +2 -2
  139. package/dist/components/{p-BRkEF66h.js → p-jlska1pM.js} +2 -2
  140. package/dist/components/{p-DKggy9E3.js → p-oWil-NTX.js} +2 -2
  141. package/dist/components/{p-CrxXCTnH.js → p-pYGmgv_e.js} +2 -2
  142. package/dist/components/p-rRkypR5s.js +2 -0
  143. package/dist/components/{p-CRTkSTv3.js → p-uCXQl-5J.js} +2 -2
  144. package/dist/components/{p-CUiFFtAw.js → p-uWmGtcyP.js} +2 -2
  145. package/dist/components/{p-D7cDUGTe.js → p-xbCL6ChL.js} +2 -2
  146. package/dist/components/smoothly-app-demo.js +1 -1
  147. package/dist/components/smoothly-app-room.js +1 -1
  148. package/dist/components/smoothly-app.js +1 -1
  149. package/dist/components/smoothly-button-demo-standard.js +1 -1
  150. package/dist/components/smoothly-button-demo.js +1 -1
  151. package/dist/components/smoothly-calendar.js +1 -1
  152. package/dist/components/smoothly-dialog-demo.js +1 -1
  153. package/dist/components/smoothly-dialog.js +1 -1
  154. package/dist/components/smoothly-display-demo.js +1 -1
  155. package/dist/components/smoothly-form-demo-all.js +1 -1
  156. package/dist/components/smoothly-form-demo-card.js +1 -1
  157. package/dist/components/smoothly-form-demo-controlled.js +1 -1
  158. package/dist/components/smoothly-form-demo-date-range.js +1 -1
  159. package/dist/components/smoothly-form-demo-date.js +1 -1
  160. package/dist/components/smoothly-form-demo-login.js +1 -1
  161. package/dist/components/smoothly-form-demo-pet.js +1 -1
  162. package/dist/components/smoothly-form-demo-prices.js +1 -1
  163. package/dist/components/smoothly-form-demo-schedule.js +1 -1
  164. package/dist/components/smoothly-form-demo-transparent.js +1 -1
  165. package/dist/components/smoothly-form-demo-typed.js +1 -1
  166. package/dist/components/smoothly-form-demo.js +1 -1
  167. package/dist/components/smoothly-form.js +1 -1
  168. package/dist/components/smoothly-icon-demo.js +1 -1
  169. package/dist/components/smoothly-input-checkbox-demo.js +1 -1
  170. package/dist/components/smoothly-input-checkbox.js +1 -1
  171. package/dist/components/smoothly-input-clear.js +1 -1
  172. package/dist/components/smoothly-input-color-demo.js +1 -1
  173. package/dist/components/smoothly-input-color.js +1 -1
  174. package/dist/components/smoothly-input-date-demo.js +1 -1
  175. package/dist/components/smoothly-input-date-range.js +1 -1
  176. package/dist/components/smoothly-input-date-time.js +1 -1
  177. package/dist/components/smoothly-input-date.js +1 -1
  178. package/dist/components/smoothly-input-demo-radio.js +1 -1
  179. package/dist/components/smoothly-input-demo-standard.js +1 -1
  180. package/dist/components/smoothly-input-demo-user-input.js +1 -1
  181. package/dist/components/smoothly-input-demo.js +1 -1
  182. package/dist/components/smoothly-input-file.js +1 -1
  183. package/dist/components/smoothly-input-month.js +1 -1
  184. package/dist/components/smoothly-input-price-demo.js +1 -1
  185. package/dist/components/smoothly-input-radio-item.js +1 -1
  186. package/dist/components/smoothly-input-radio.js +1 -1
  187. package/dist/components/smoothly-input-range-demo.js +1 -1
  188. package/dist/components/smoothly-input-range.js +1 -1
  189. package/dist/components/smoothly-input-reset.js +1 -1
  190. package/dist/components/smoothly-input-select.js +1 -1
  191. package/dist/components/smoothly-input-submit.js +1 -1
  192. package/dist/components/smoothly-input.js +1 -1
  193. package/dist/components/smoothly-item.js +1 -1
  194. package/dist/components/smoothly-label.js +1 -1
  195. package/dist/components/smoothly-lazy.js +1 -1
  196. package/dist/components/smoothly-load-more.js +1 -1
  197. package/dist/components/smoothly-modal.js +1 -1
  198. package/dist/components/smoothly-notification.js +1 -1
  199. package/dist/components/smoothly-notifier.js +1 -1
  200. package/dist/components/smoothly-spinner.js +1 -1
  201. package/dist/components/smoothly-submit.js +1 -1
  202. package/dist/components/smoothly-summary.js +1 -1
  203. package/dist/components/smoothly-tab.js +1 -1
  204. package/dist/components/smoothly-table-body.js +1 -1
  205. package/dist/components/smoothly-table-cell.js +1 -1
  206. package/dist/components/smoothly-table-demo-colspan.js +1 -1
  207. package/dist/components/smoothly-table-demo-filler-row.js +1 -1
  208. package/dist/components/smoothly-table-demo-group.js +1 -1
  209. package/dist/components/smoothly-table-demo-nested-no-cell-inner.js +1 -1
  210. package/dist/components/smoothly-table-demo-nested-no-cell.js +1 -1
  211. package/dist/components/smoothly-table-demo-simple.js +1 -1
  212. package/dist/components/smoothly-table-demo.js +1 -1
  213. package/dist/components/smoothly-table-expandable-cell.js +1 -1
  214. package/dist/components/smoothly-table-expandable-row.js +1 -1
  215. package/dist/components/smoothly-table-filler-row.js +1 -1
  216. package/dist/components/smoothly-table-foot.js +1 -1
  217. package/dist/components/smoothly-table-head.js +1 -1
  218. package/dist/components/smoothly-table-row-group.js +1 -1
  219. package/dist/components/smoothly-table-row.js +1 -1
  220. package/dist/components/smoothly-table.js +1 -1
  221. package/dist/components/smoothly-tabs-demo.js +1 -1
  222. package/dist/components/smoothly-theme-color.js +1 -1
  223. package/dist/components/smoothly-theme-colors.js +1 -1
  224. package/dist/components/smoothly-theme-demo.js +1 -1
  225. package/dist/components/smoothly-theme-guide.js +1 -1
  226. package/dist/components/smoothly-theme-picker.js +1 -1
  227. package/dist/components/smoothly-toggle-switch-demo.js +1 -1
  228. package/dist/components/smoothly-toggle-switch.js +1 -1
  229. package/dist/components/smoothly-trigger-sink.js +1 -1
  230. package/dist/components/smoothly-trigger-source.js +1 -1
  231. package/dist/components/smoothly-trigger.js +1 -1
  232. package/dist/esm/loader.js +1 -1
  233. package/dist/esm/smoothly-app_98.entry.js +228 -176
  234. package/dist/esm/smoothly-app_98.entry.js.map +1 -1
  235. package/dist/esm/smoothly-submit.entry.js +1 -1
  236. package/dist/esm/smoothly-trigger-sink.entry.js +1 -1
  237. package/dist/esm/smoothly-trigger-source.entry.js +1 -1
  238. package/dist/esm/smoothly.js +1 -1
  239. package/dist/smoothly/{p-5e123fe2.entry.js → p-118fd1b8.entry.js} +2 -2
  240. package/dist/smoothly/{p-13d05a22.entry.js → p-2cd32901.entry.js} +2 -2
  241. package/dist/smoothly/{p-7a59c6a9.entry.js → p-baabb62e.entry.js} +2 -2
  242. package/dist/smoothly/{p-23badc13.entry.js → p-d2f00811.entry.js} +2 -2
  243. package/dist/smoothly/p-d2f00811.entry.js.map +1 -0
  244. package/dist/smoothly/smoothly.esm.js +1 -1
  245. package/dist/types/components/input/select/index.d.ts +18 -9
  246. package/dist/types/components/input/select/layout.d.ts +6 -0
  247. package/dist/types/components/input/select/menu.d.ts +10 -0
  248. package/dist/types/components/input/select/scroll.d.ts +3 -0
  249. package/dist/types/components.d.ts +5 -3
  250. package/package.json +1 -1
  251. package/dist/components/p-3dApo-uA.js +0 -2
  252. package/dist/components/p-4y8eF-fy.js +0 -2
  253. package/dist/components/p-BQSKXVmh.js +0 -2
  254. package/dist/components/p-CDQM-sOT.js +0 -2
  255. package/dist/components/p-CMiST1Tm.js +0 -2
  256. package/dist/components/p-CdgiqBtD.js +0 -2
  257. package/dist/components/p-CottiZWN.js +0 -2
  258. package/dist/components/p-CqSJ0pgl.js +0 -2
  259. package/dist/components/p-CrcmijCR.js +0 -2
  260. package/dist/components/p-Cvl7cLxT.js +0 -2
  261. package/dist/components/p-D2cHi1Nb.js +0 -2
  262. package/dist/components/p-D9qp7S6Q.js +0 -2
  263. package/dist/components/p-DbIjGsJb.js +0 -2
  264. package/dist/components/p-DbIjGsJb.js.map +0 -1
  265. package/dist/components/p-Dekg3IGr.js +0 -2
  266. package/dist/components/p-Mk_F6MCP.js +0 -2
  267. package/dist/components/p-RNCr3p17.js +0 -2
  268. package/dist/components/p-RNCr3p17.js.map +0 -1
  269. package/dist/components/p-t3cG0BK6.js +0 -2
  270. package/dist/components/p-thKhutym.js +0 -2
  271. package/dist/smoothly/p-23badc13.entry.js.map +0 -1
  272. /package/dist/components/{p-iucZC6z5.js.map → p-0vl7fnbi.js.map} +0 -0
  273. /package/dist/components/{p-R4uIvvER.js.map → p-7ReeDB-R.js.map} +0 -0
  274. /package/dist/components/{p-D1uYEo7L.js.map → p-97N6vnZd.js.map} +0 -0
  275. /package/dist/components/{p-BaGuG5hS.js.map → p-9Fc5vWzs.js.map} +0 -0
  276. /package/dist/components/{p-CtN3gqjJ.js.map → p-B11YJh32.js.map} +0 -0
  277. /package/dist/components/{p-DTqtObrT.js.map → p-B6W5V130.js.map} +0 -0
  278. /package/dist/components/{p-C9zTTp-4.js.map → p-B7ws0a8Z.js.map} +0 -0
  279. /package/dist/components/{p-Bm-gpoFa.js.map → p-BDW8BGmy.js.map} +0 -0
  280. /package/dist/components/{p-CsLlJDsh.js.map → p-BEQ2yAjW.js.map} +0 -0
  281. /package/dist/components/{p-nrkV1PqR.js.map → p-BMHv8WTp.js.map} +0 -0
  282. /package/dist/components/{p-D58kSmOp.js.map → p-BZJNdp6g.js.map} +0 -0
  283. /package/dist/components/{p-v06atw3t.js.map → p-B_Tu52N5.js.map} +0 -0
  284. /package/dist/components/{p-CqSJ0pgl.js.map → p-BdqxED0P.js.map} +0 -0
  285. /package/dist/components/{p-DwYc62Ls.js.map → p-Bh2x2l2j.js.map} +0 -0
  286. /package/dist/components/{p-D9qp7S6Q.js.map → p-BnKGlfV9.js.map} +0 -0
  287. /package/dist/components/{p-DgaHxdNI.js.map → p-BpBeeNcM.js.map} +0 -0
  288. /package/dist/components/{p-B3OjIxsE.js.map → p-BqODWrES.js.map} +0 -0
  289. /package/dist/components/{p-3dApo-uA.js.map → p-BrrLEO2B.js.map} +0 -0
  290. /package/dist/components/{p-CqyInbXs.js.map → p-Bufbdh4o.js.map} +0 -0
  291. /package/dist/components/{p-CDQM-sOT.js.map → p-BxsOj_LX.js.map} +0 -0
  292. /package/dist/components/{p-BDhPxj59.js.map → p-BznhH5yZ.js.map} +0 -0
  293. /package/dist/components/{p-BNnhxQyl.js.map → p-C-dGqk3e.js.map} +0 -0
  294. /package/dist/components/{p-Bj9DsW03.js.map → p-C0XPq5lI.js.map} +0 -0
  295. /package/dist/components/{p-CG636AEF.js.map → p-C5JaWzfu.js.map} +0 -0
  296. /package/dist/components/{p-BaBGzDg_.js.map → p-CCzyYE1m.js.map} +0 -0
  297. /package/dist/components/{p-jatJrx5f.js.map → p-CDetFhB9.js.map} +0 -0
  298. /package/dist/components/{p-CKrPTQ_S.js.map → p-CGg8GrGq.js.map} +0 -0
  299. /package/dist/components/{p-nHKstm2X.js.map → p-COTO4dlW.js.map} +0 -0
  300. /package/dist/components/{p-CuMoDdaf.js.map → p-CXEfxOpA.js.map} +0 -0
  301. /package/dist/components/{p-4y8eF-fy.js.map → p-CZGfvbsC.js.map} +0 -0
  302. /package/dist/components/{p-BQIS-JBV.js.map → p-CbWiiNJL.js.map} +0 -0
  303. /package/dist/components/{p-DZ4ogW8V.js.map → p-Cct10sTX.js.map} +0 -0
  304. /package/dist/components/{p-BQSKXVmh.js.map → p-Cgowjgod.js.map} +0 -0
  305. /package/dist/components/{p-DBuVH8IL.js.map → p-CjAkXCwI.js.map} +0 -0
  306. /package/dist/components/{p-CioJtwj-.js.map → p-CjknknP6.js.map} +0 -0
  307. /package/dist/components/{p-DdTTiJbE.js.map → p-CsHiDnB-.js.map} +0 -0
  308. /package/dist/components/{p-CVH3vlKv.js.map → p-CuC7MNAM.js.map} +0 -0
  309. /package/dist/components/{p-i8IFRTdL.js.map → p-Cw-_pWl-.js.map} +0 -0
  310. /package/dist/components/{p-DnLJBwZR.js.map → p-D4LmYvoM.js.map} +0 -0
  311. /package/dist/components/{p-DMzn0Iz0.js.map → p-D4PyTfe4.js.map} +0 -0
  312. /package/dist/components/{p-thKhutym.js.map → p-D4fagxgG.js.map} +0 -0
  313. /package/dist/components/{p-ByWVc-XC.js.map → p-DGxkSNZ-.js.map} +0 -0
  314. /package/dist/components/{p-BS2SWUX6.js.map → p-DKir2dIt.js.map} +0 -0
  315. /package/dist/components/{p-CF5IKGi5.js.map → p-DRiOEv4L.js.map} +0 -0
  316. /package/dist/components/{p-DVuQ4t_X.js.map → p-DTOzpQD8.js.map} +0 -0
  317. /package/dist/components/{p-CZ6kkjYF.js.map → p-DVbSVIVZ.js.map} +0 -0
  318. /package/dist/components/{p-CjdBPauI.js.map → p-DbS9bWfm.js.map} +0 -0
  319. /package/dist/components/{p-BqAN7jax.js.map → p-DdXfvS4U.js.map} +0 -0
  320. /package/dist/components/{p-BX6yRNGo.js.map → p-Dt4cCJEp.js.map} +0 -0
  321. /package/dist/components/{p-Bp9BMsim.js.map → p-DtoC1d2_.js.map} +0 -0
  322. /package/dist/components/{p-BPh3sXo6.js.map → p-DvF8zgEi.js.map} +0 -0
  323. /package/dist/components/{p-CR1YZ3na.js.map → p-DxVl-YSW.js.map} +0 -0
  324. /package/dist/components/{p-DSsOLbj6.js.map → p-DyL_ilIk.js.map} +0 -0
  325. /package/dist/components/{p-Cvl7cLxT.js.map → p-JB57brc4.js.map} +0 -0
  326. /package/dist/components/{p-Dx5PGIAk.js.map → p-JdwWRJjd.js.map} +0 -0
  327. /package/dist/components/{p-CTPT9Ngc.js.map → p-MCxlBxSA.js.map} +0 -0
  328. /package/dist/components/{p-BiwhssQ8.js.map → p-MNhi5te8.js.map} +0 -0
  329. /package/dist/components/{p-D2cHi1Nb.js.map → p-OV_wRej-.js.map} +0 -0
  330. /package/dist/components/{p-C_f8s6n5.js.map → p-Q-gVll-_.js.map} +0 -0
  331. /package/dist/components/{p-CGG77xzV.js.map → p-Qf8o2d67.js.map} +0 -0
  332. /package/dist/components/{p-DXHBXAV0.js.map → p-V6FzDWfL.js.map} +0 -0
  333. /package/dist/components/{p-Bs8X_nDB.js.map → p-WzQNLGYx.js.map} +0 -0
  334. /package/dist/components/{p-1KOtWYkC.js.map → p-eptsxAXs.js.map} +0 -0
  335. /package/dist/components/{p-D2FsRCII.js.map → p-fjRiTKvl.js.map} +0 -0
  336. /package/dist/components/{p-C3__jhwf.js.map → p-gJF_-tuy.js.map} +0 -0
  337. /package/dist/components/{p-CrcmijCR.js.map → p-h1R5xtdy.js.map} +0 -0
  338. /package/dist/components/{p-BGKOGyFA.js.map → p-hcVaU3nW.js.map} +0 -0
  339. /package/dist/components/{p-BRkEF66h.js.map → p-jlska1pM.js.map} +0 -0
  340. /package/dist/components/{p-DKggy9E3.js.map → p-oWil-NTX.js.map} +0 -0
  341. /package/dist/components/{p-CrxXCTnH.js.map → p-pYGmgv_e.js.map} +0 -0
  342. /package/dist/components/{p-CMiST1Tm.js.map → p-rRkypR5s.js.map} +0 -0
  343. /package/dist/components/{p-CRTkSTv3.js.map → p-uCXQl-5J.js.map} +0 -0
  344. /package/dist/components/{p-CUiFFtAw.js.map → p-uWmGtcyP.js.map} +0 -0
  345. /package/dist/components/{p-D7cDUGTe.js.map → p-xbCL6ChL.js.map} +0 -0
  346. /package/dist/smoothly/{p-5e123fe2.entry.js.map → p-118fd1b8.entry.js.map} +0 -0
  347. /package/dist/smoothly/{p-13d05a22.entry.js.map → p-2cd32901.entry.js.map} +0 -0
  348. /package/dist/smoothly/{p-7a59c6a9.entry.js.map → p-baabb62e.entry.js.map} +0 -0
@@ -2,6 +2,9 @@ import { h, Host, } from "@stencil/core";
2
2
  import { Item } from "../../item/Item";
3
3
  import { Editable } from "../Editable";
4
4
  import { Input } from "../Input";
5
+ import { layout } from "./layout";
6
+ import { menu } from "./menu";
7
+ import { scroll } from "./scroll";
5
8
  export class SmoothlyInputSelect {
6
9
  constructor() {
7
10
  this.isDifferentFromInitial = false;
@@ -40,18 +43,24 @@ export class SmoothlyInputSelect {
40
43
  this.onSelectedChange();
41
44
  }
42
45
  componentDidRender() {
43
- var _a, _b, _c, _d, _e;
44
- this.itemHeight === undefined && (this.itemHeight = (_a = this.items.find(item => item.clientHeight > 0)) === null || _a === void 0 ? void 0 : _a.clientHeight);
46
+ var _a;
47
+ (_a = this.itemHeight) !== null && _a !== void 0 ? _a : (this.itemHeight = layout.firstItemHeight(this.items));
45
48
  if (this.menuHeight && this.itemHeight) {
46
- (_b = this.element) === null || _b === void 0 ? void 0 : _b.style.setProperty("--menu-height", !this.menuHeight.endsWith("items") || this.items.length == 0
47
- ? this.menuHeight
48
- : `${this.itemHeight * +((_d = (_c = this.menuHeight.match(/^(\d+(\.\d+)?|\.\d+)/g)) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : "10")}px`);
49
+ layout.applyMenuHeight(this.element, this.itemHeight, this.menuHeight);
49
50
  }
50
- (_e = this.element) === null || _e === void 0 ? void 0 : _e.style.setProperty("--element-height", `${this.element.clientHeight}px`);
51
- if (this.ordered && !this.multiple && this.open && !this.lastOpen) {
51
+ layout.applyElementHeight(this.element);
52
+ const justOpened = this.open && !this.lastOpen;
53
+ if (justOpened && this.ordered) {
52
54
  this.scrollToSelected();
53
55
  }
54
56
  }
57
+ scrollToSelected() {
58
+ const selectedItem = menu.findFirstSelected(this.items);
59
+ if (selectedItem) {
60
+ menu.markOnly(this.items, selectedItem);
61
+ scroll.centerInView(this.dropdownElement, selectedItem, "instant");
62
+ }
63
+ }
55
64
  async disconnectedCallback() {
56
65
  if (!this.element.isConnected) {
57
66
  await this.unregister();
@@ -85,15 +94,15 @@ export class SmoothlyInputSelect {
85
94
  this.selected = [...this.initialValue];
86
95
  this.displaySelected();
87
96
  this.isDifferentFromInitial = false;
88
- this.open && this.handleShowOptions();
97
+ this.closeMenu();
89
98
  }
90
99
  async clear() {
91
100
  var _a;
92
101
  if (this.clearable) {
93
102
  this.selected.forEach(item => (item.selected = item.hidden = false));
94
103
  this.selected = [];
95
- if (this.displaySelectedElement) {
96
- this.displaySelectedElement.innerHTML = (_a = this.placeholder) !== null && _a !== void 0 ? _a : "";
104
+ if (this.displayElement) {
105
+ this.displayElement.innerHTML = (_a = this.placeholder) !== null && _a !== void 0 ? _a : "";
97
106
  }
98
107
  }
99
108
  }
@@ -121,9 +130,9 @@ export class SmoothlyInputSelect {
121
130
  this.observer.publish();
122
131
  }
123
132
  async smoothlyInputLoadHandler(event) {
124
- if (event.target &&
125
- (("name" in event.target && event.target.name !== this.name) ||
126
- (event.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)))) {
133
+ const fromSelf = event.target && "name" in event.target && event.target.name !== this.name;
134
+ const fromEndSlot = event.composedPath().some(e => e == this.iconsElement);
135
+ if (fromSelf || fromEndSlot) {
127
136
  event.stopPropagation();
128
137
  }
129
138
  else if (Item.Element.is(event.target)) {
@@ -135,7 +144,9 @@ export class SmoothlyInputSelect {
135
144
  this.displaySelected();
136
145
  }
137
146
  onWindowClick(event) {
138
- !event.composedPath().includes(this.element) && this.open && this.handleShowOptions();
147
+ if (this.open && !event.composedPath().includes(this.element)) {
148
+ this.closeMenu();
149
+ }
139
150
  }
140
151
  onItemDomChange(e) {
141
152
  e.stopPropagation();
@@ -163,144 +174,120 @@ export class SmoothlyInputSelect {
163
174
  onClosed(open, before) {
164
175
  this.lastOpen = before;
165
176
  if (!open) {
166
- const markedItem = this.items.find(item => item.marked);
177
+ const markedItem = menu.findFirstMarked(this.items);
167
178
  if (markedItem) {
168
179
  markedItem.marked = false;
169
180
  }
170
181
  }
171
182
  this.smoothlySelectOpen.emit(open);
172
183
  }
173
- handleShowOptions(event) {
174
- const wasButtonClicked = (event === null || event === void 0 ? void 0 : event.composedPath().some(e => e == this.iconsDiv)) && !event.composedPath().some(e => e == this.toggle);
175
- const clickedItem = event === null || event === void 0 ? void 0 : event.composedPath().find((el) => "tagName" in el && el.tagName == "SMOOTHLY-ITEM");
176
- !this.readonly &&
177
- !this.disabled &&
178
- !(clickedItem && this.items.includes(clickedItem) && this.multiple) &&
179
- !wasButtonClicked &&
180
- (this.open = !this.open);
181
- this.filter = "";
182
- }
183
184
  areValuesEqual(selected, initialValue) {
184
185
  return selected.length === initialValue.length && initialValue.every(value => selected.includes(value));
185
186
  }
186
187
  displaySelected() {
187
188
  var _a;
188
189
  const displayString = this.selected.map(option => `<div>${option.innerHTML}</div>`).join("");
189
- this.displaySelectedElement &&
190
- (this.displaySelectedElement.innerHTML = this.selected.length > 0 ? displayString : ((_a = this.placeholder) !== null && _a !== void 0 ? _a : ""));
190
+ this.displayElement &&
191
+ (this.displayElement.innerHTML = this.selected.length > 0 ? displayString : ((_a = this.placeholder) !== null && _a !== void 0 ? _a : ""));
191
192
  }
192
193
  onKeyDown(event) {
193
- if (!this.searchDisabled) {
194
- event.stopPropagation();
195
- const visibleItems = this.items.some(item => item.getAttribute("hidden") === null);
196
- if (event.key != "Tab" && !event.ctrlKey && !event.metaKey) {
197
- event.preventDefault();
198
- }
199
- if (this.open) {
200
- switch (event.key) {
201
- case "ArrowUp":
202
- visibleItems && this.move(-1);
203
- break;
204
- case "ArrowDown":
205
- visibleItems && this.move(1);
206
- break;
207
- case "Escape":
208
- if (this.filter == "") {
209
- this.open = false;
210
- }
211
- else {
212
- this.filter = "";
213
- }
214
- break;
215
- case "Backspace":
216
- this.filter = event.ctrlKey ? "" : this.filter.slice(0, -1);
217
- break;
218
- case "Enter":
219
- const result = this.items.find(item => item.marked);
220
- if (result === null || result === void 0 ? void 0 : result.value) {
221
- result.selected = !result.selected;
222
- }
223
- if (!this.multiple) {
224
- this.open = false;
225
- this.filter = "";
226
- }
227
- break;
228
- case "Tab":
229
- this.open = false;
230
- break;
231
- default:
232
- if (event.key.length == 1) {
233
- this.filter += event.key;
234
- }
235
- break;
236
- }
237
- }
238
- else {
239
- switch (event.key) {
240
- case "Enter":
241
- case " ":
242
- this.handleShowOptions();
243
- break;
244
- case "ArrowDown":
245
- this.handleShowOptions();
246
- this.move(1);
247
- break;
248
- case "ArrowUp":
249
- this.handleShowOptions();
250
- this.move(-1);
251
- break;
252
- case "Tab":
253
- break;
254
- default:
255
- this.handleShowOptions();
256
- if (event.key.length == 1) {
257
- this.filter += event.key;
258
- }
259
- break;
260
- }
261
- }
194
+ event.stopPropagation();
195
+ const key = event.key;
196
+ if (key == "ArrowUp" || key == "ArrowDown") {
197
+ event.preventDefault();
198
+ this.handlerNavigate(key);
199
+ }
200
+ else if (key == "Escape") {
201
+ event.preventDefault();
202
+ this.handleEscape();
203
+ }
204
+ else if (key == "Enter") {
205
+ event.preventDefault();
206
+ this.handleEnter();
207
+ }
208
+ else if (key == " ") {
209
+ event.preventDefault();
210
+ this.openMenu();
211
+ }
212
+ else if (this.open && key == "Tab") {
213
+ this.closeMenu();
262
214
  }
263
215
  }
264
- scrollToSelected() {
265
- const selectedItem = this.items.find(item => item.selected);
266
- if (selectedItem) {
267
- this.items.map(item => (item.marked = false));
268
- selectedItem.marked = true;
269
- this.scrollTo(selectedItem, "instant");
216
+ handlerNavigate(key) {
217
+ if (menu.hasVisibleItems(this.items)) {
218
+ this.move(key == "ArrowUp" ? -1 : 1);
270
219
  }
220
+ this.openMenu();
271
221
  }
272
- move(direction) {
273
- const selectableItems = this.items.filter(item => !item.hidden && !item.disabled);
274
- let markedIndex = selectableItems.findIndex(item => item.marked);
275
- if (markedIndex == -1) {
276
- markedIndex = 0;
222
+ handleEscape() {
223
+ if (this.filter) {
224
+ this.resetFilter();
277
225
  }
278
226
  else {
279
- selectableItems[markedIndex].marked = false;
280
- markedIndex = (markedIndex + direction + selectableItems.length) % selectableItems.length;
227
+ this.closeMenu();
281
228
  }
282
- selectableItems[markedIndex].marked = true;
283
- this.scrollTo(selectableItems[markedIndex], "smooth");
284
229
  }
285
- scrollTo(item, behavior) {
286
- var _a, _b, _c;
287
- (_a = this.optionsDiv) === null || _a === void 0 ? void 0 : _a.scrollTo({
288
- top: item.offsetTop + item.offsetHeight / 2 - ((_c = (_b = this.optionsDiv) === null || _b === void 0 ? void 0 : _b.clientHeight) !== null && _c !== void 0 ? _c : 0) / 2,
289
- behavior,
290
- });
230
+ handleEnter() {
231
+ const item = menu.findFirstMarked(this.items);
232
+ if (item === null || item === void 0 ? void 0 : item.value) {
233
+ item.selected = !item.selected;
234
+ }
235
+ if (!this.multiple) {
236
+ this.closeMenu();
237
+ this.resetFilter();
238
+ }
239
+ }
240
+ move(direction) {
241
+ const { current, next } = menu.next(this.items, direction);
242
+ current && (current.marked = false);
243
+ next.marked = true;
244
+ scroll.centerInView(this.dropdownElement, next, "smooth");
291
245
  }
292
246
  addItem() {
293
247
  this.addedItems = this.addedItems.concat(h("smoothly-item", { value: this.filter, selected: true }, this.filter));
294
248
  }
249
+ resetFilter() {
250
+ this.searchElement && (this.searchElement.value = "");
251
+ this.filter = "";
252
+ }
253
+ setFilter(filter) {
254
+ if (filter) {
255
+ this.filter = filter;
256
+ this.openMenu();
257
+ }
258
+ else {
259
+ this.resetFilter();
260
+ }
261
+ }
262
+ openMenu({ focus } = {}) {
263
+ this.open = true;
264
+ focus && queueMicrotask(() => { var _a; return (_a = this.searchElement) === null || _a === void 0 ? void 0 : _a.focus(); });
265
+ }
266
+ closeMenu() {
267
+ this.open = false;
268
+ this.resetFilter();
269
+ }
270
+ toggleMenu() {
271
+ if (!this.readonly && !this.disabled) {
272
+ this.open ? this.closeMenu() : this.openMenu({ focus: true });
273
+ }
274
+ }
275
+ onClick(e) {
276
+ const wasIconsClicked = e.composedPath().includes(this.iconsElement) && !e.composedPath().includes(this.toggleElement);
277
+ const wasSearchClicked = e.composedPath().includes(this.searchElement);
278
+ const wasItemClicked = e
279
+ .composedPath()
280
+ .find(element => element instanceof HTMLElement && element.tagName === "SMOOTHLY-ITEM");
281
+ if (!wasIconsClicked && !wasSearchClicked && !(wasItemClicked && this.multiple)) {
282
+ this.toggleMenu();
283
+ }
284
+ }
295
285
  render() {
296
- return (h(Host, { key: 'ca6c2263ae2ef16cb0548e10ead81e15b2b42487', tabIndex: this.disabled ? undefined : 0, class: { "has-value": this.selected.length !== 0, open: this.open }, onClick: (event) => this.handleShowOptions(event) }, h("div", { key: '032b8a92bb4c74c48a9ea22b3ae552c2cac8d30a', class: "select-display", ref: element => (this.displaySelectedElement = element) }, this.placeholder), h("div", { key: 'b1d1e8f9143643a69c23cc16668e901e5329c1cb', class: "icons", ref: element => (this.iconsDiv = element) }, h("smoothly-icon", { key: '958d9fa44174d2b4933e34b5a6c89963e42cb7de', class: "smoothly-invalid", name: "alert-circle", size: "small", tooltip: this.errorMessage }), h("slot", { key: '0a9725e2e1b37159f392ed2c8cb0e69b0253ec53', name: "end" }), this.looks == "border" && !this.readonly && (h("smoothly-icon", { key: 'fb656bc03fbec14da5e1914bd6bebed50ad5fbcd', ref: element => (this.toggle = element), size: "tiny", name: this.open ? "caret-down-outline" : "caret-forward-outline" }))), h("slot", { key: '743b3bc40c4bd7254225fd3f0962fcb67d07df59', name: "label" }), h("div", { key: 'ac6b4007348834d933c8673710ebdacc3def6001', class: { hidden: !this.open, options: true }, ref: (el) => (this.optionsDiv = el) }, this.filter.length > 0 && (h("div", { key: '502094a51085fa634e98b0d511713757ff30877d', class: "search-preview" }, h("smoothly-icon", { key: '78729a52979f85bced39cecd9e861ff06185beb0', name: "search-outline", size: "small" }), this.filter, h("smoothly-icon", { key: '50956a5cc4a63ef0515947ddbbb7962d38e260c1', name: "backspace-outline", size: "small", onClick: e => {
297
- e.stopPropagation();
298
- this.filter = "";
299
- this.element.focus();
300
- } }), this.mutable && (h("smoothly-icon", { key: 'b6f99488a836ad3e33d03ebb600bc5c5fc42e8cc', name: "add", size: "small", onClick: e => {
301
- e.stopPropagation();
302
- this.addItem();
303
- } })))), h("slot", { key: 'a60d0d54bfc5dbae48ec336f92c5556a5ba13b2e' }), this.addedItems)));
286
+ return (h(Host, { key: 'fc69e6b3aa75a286df61522835899bf05893e887', class: { "has-value": this.selected.length !== 0, open: this.open, "has-filter": this.filter !== "" }, onClick: (e) => this.onClick(e) }, h("div", { key: 'dc0215f0d88bb06e505f9392334926e337ede251', class: "select-display", ref: element => (this.displayElement = element) }, this.placeholder), h("div", { key: 'bee374985877632d52d267f69b35bdcf0e59e3a2', class: "icons", ref: element => (this.iconsElement = element) }, h("smoothly-icon", { key: 'd7a72d5df184d7f9196ee8cab6240a71755f89e3', class: "smoothly-invalid", name: "alert-circle", size: "small", tooltip: this.errorMessage }), h("slot", { key: 'f201848287035627b54f3a0eff16c4b2dbc19164', name: "end" }), this.looks == "border" && !this.readonly && (h("smoothly-icon", { key: '4953076b51e480e34240dfa6378839d4a6c215e0', ref: element => (this.toggleElement = element), size: "tiny", name: this.open ? "caret-down-outline" : "caret-forward-outline" }))), h("slot", { key: '58d76a74b9b1c67b238e63fa267ed091a274c534', name: "label" }), h("div", { key: '4266c5f1701da8c0abd861e0bbb093a972d6c56e', class: "dropdown", ref: (el) => (this.dropdownElement = el) }, h("div", { key: 'b775dddd5cbe75d1fe1bfa5cc1c5fe16315abda1', class: "search" }, h("smoothly-icon", { key: '0399e20f7a99b228ba652b6d1d2202e75a3e84a0', name: "search-outline", size: "small" }), h("input", { key: '950d94085d70803847237e0308eac7a7bea1720f', class: "search-input", ref: el => (this.searchElement = el), disabled: this.searchDisabled, onKeyDown: e => this.onKeyDown(e), onInput: e => { var _a, _b; return (e.stopPropagation(), this.setFilter((_b = (_a = this.searchElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "")); }, onPaste: e => { var _a, _b; return (e.stopPropagation(), this.setFilter((_b = (_a = this.searchElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "")); } }), h("smoothly-icon", { key: '10e8603c1bb8b5061a7615f15392b1cbc519a0f5', name: "backspace-outline", size: "small", onClick: () => {
287
+ var _a;
288
+ this.resetFilter();
289
+ (_a = this.searchElement) === null || _a === void 0 ? void 0 : _a.focus();
290
+ } }), this.mutable && h("smoothly-icon", { key: 'bd9f5b3eb6d8ef4f0802878ca327f29ccbd0795e', name: "add", size: "small", onClick: () => this.addItem() })), h("div", { key: '210cc7a519f44cb0ab8800145aa55e02353fba83', class: "menu", hidden: !this.open }, h("slot", { key: '0d159f5f2ceb3ecc45b314f519505982ca4622be' }), this.addedItems))));
304
291
  }
305
292
  static get is() { return "smoothly-input-select"; }
306
293
  static get encapsulation() { return "scoped"; }
@@ -629,9 +616,16 @@ export class SmoothlyInputSelect {
629
616
  "type": "string",
630
617
  "mutable": false,
631
618
  "complexType": {
632
- "original": "`${number}${\"items\" | \"rem\" | \"px\" | \"vh\"}`",
619
+ "original": "layout.MenuHeight",
633
620
  "resolved": "`${number}items` | `${number}px` | `${number}rem` | `${number}vh` | undefined",
634
- "references": {}
621
+ "references": {
622
+ "layout": {
623
+ "location": "import",
624
+ "path": "./layout",
625
+ "id": "src/components/input/select/layout.ts::layout",
626
+ "referenceLocation": "layout"
627
+ }
628
+ }
635
629
  },
636
630
  "required": false,
637
631
  "optional": true,
@@ -1086,12 +1080,6 @@ export class SmoothlyInputSelect {
1086
1080
  "target": undefined,
1087
1081
  "capture": false,
1088
1082
  "passive": false
1089
- }, {
1090
- "name": "keydown",
1091
- "method": "onKeyDown",
1092
- "target": undefined,
1093
- "capture": false,
1094
- "passive": false
1095
1083
  }];
1096
1084
  }
1097
1085
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input/select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { Color, Data } from \"../../../model\"\nimport { Item } from \"../../item/Item\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-select\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSelect implements Input, Editable, Clearable, ComponentWillLoad {\n\tparent: Editable | undefined\n\tisDifferentFromInitial = false\n\tprivate initialValue: HTMLSmoothlyItemElement[] = []\n\tprivate initialValueHandled = false\n\tprivate observer = Editable.Observer.create(this)\n\tprivate displaySelectedElement?: HTMLElement\n\tprivate iconsDiv?: HTMLElement\n\tprivate toggle?: HTMLElement\n\tprivate optionsDiv?: HTMLDivElement\n\tprivate items: HTMLSmoothlyItemElement[] = []\n\tprivate itemHeight: number | undefined\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\t@Prop({ reflect: true }) name = \"selected\"\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ reflect: true, mutable: true }) showSelected?: boolean = true\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) inCalendar = false\n\t@Prop({ reflect: true }) ordered?: boolean\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop() clearable = true\n\t@Prop({ mutable: true }) defined = false\n\t@Prop({ reflect: true }) placeholder?: string | any\n\t@Prop() menuHeight?: `${number}${\"items\" | \"rem\" | \"px\" | \"vh\"}`\n\t@Prop() required = false\n\t@Prop() searchDisabled = false\n\t@Prop() mutable = false\n\tprivate lastOpen = false\n\t@State() open = false\n\t@State() selected: HTMLSmoothlyItemElement[] = []\n\t@State() filter = \"\"\n\t@State() addedItems: HTMLSmoothlyItemElement[] = []\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyUserInput: EventEmitter<Input.UserInput>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyItemSelect: EventEmitter<HTMLSmoothlyItemElement>\n\t@Event() smoothlySelectOpen: EventEmitter<boolean>\n\n\tcomponentWillLoad(): void | Promise<void> {\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t}\n\tcomponentDidLoad(): void | Promise<void> {\n\t\tthis.selected && !this.initialValueHandled && (this.initialValue = [...this.selected])\n\t\tthis.initialValueHandled = true\n\t\tthis.onSelectedChange()\n\t}\n\tcomponentDidRender(): void | Promise<void> {\n\t\tthis.itemHeight === undefined && (this.itemHeight = this.items.find(item => item.clientHeight > 0)?.clientHeight)\n\t\tif (this.menuHeight && this.itemHeight) {\n\t\t\tthis.element?.style.setProperty(\n\t\t\t\t\"--menu-height\",\n\t\t\t\t!this.menuHeight.endsWith(\"items\") || this.items.length == 0\n\t\t\t\t\t? this.menuHeight\n\t\t\t\t\t: `${this.itemHeight * +(this.menuHeight.match(/^(\\d+(\\.\\d+)?|\\.\\d+)/g)?.[0] ?? \"10\")}px`\n\t\t\t)\n\t\t}\n\t\tthis.element?.style.setProperty(\"--element-height\", `${this.element.clientHeight}px`)\n\n\t\tif (this.ordered && !this.multiple && this.open && !this.lastOpen) {\n\t\t\tthis.scrollToSelected()\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected) {\n\t\t\tawait this.unregister()\n\t\t}\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<any | any[] | undefined> {\n\t\treturn !this.multiple && this.selected[0]\n\t\t\t? this.selected[0].value\n\t\t\t: this.multiple && this.selected.length > 0\n\t\t\t\t? this.selected.map(item => item.value)\n\t\t\t\t: undefined\n\t}\n\t@Method()\n\tasync getItems(): Promise<HTMLSmoothlyItemElement[]> {\n\t\treturn this.items\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\tthis.initialValue.forEach(item => (item.selected = true))\n\t\tthis.selected = [...this.initialValue]\n\t\tthis.displaySelected()\n\t\tthis.isDifferentFromInitial = false\n\t\tthis.open && this.handleShowOptions()\n\t}\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (this.clearable) {\n\t\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\t\tthis.selected = []\n\t\t\tif (this.displaySelectedElement) {\n\t\t\t\tthis.displaySelectedElement.innerHTML = this.placeholder ?? \"\"\n\t\t\t}\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.isDifferentFromInitial = false\n\t\tthis.initialValue = [...this.selected]\n\t}\n\t@Watch(\"selected\")\n\tasync onSelectedChange() {\n\t\tthis.initialValueHandled && (this.isDifferentFromInitial = !this.areValuesEqual(this.selected, this.initialValue))\n\t\tthis.defined = this.selected.length > 0\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"required\")\n\tonRequiredChange(): void {\n\t\tthis.items.forEach(item => (item.deselectable = !this.required))\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string): Promise<void> {\n\t\tvalue = value.toLowerCase()\n\t\tawait Promise.all(this.items.map(item => item.filter(value)))\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputSelect) => void>): Promise<void> {\n\t\tif (\n\t\t\tevent.target &&\n\t\t\t((\"name\" in event.target && event.target.name !== this.name) ||\n\t\t\t\t(event.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)))\n\t\t) {\n\t\t\tevent.stopPropagation()\n\t\t} else if (Item.Element.is(event.target)) {\n\t\t\tevent.stopPropagation()\n\t\t\tevent.target.deselectable = !this.required\n\t\t\tthis.items.push(event.target as HTMLSmoothlyItemElement)\n\t\t}\n\t\tInput.registerSubAction(this, event)\n\t\tthis.displaySelected()\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && this.handleShowOptions()\n\t}\n\t@Listen(\"smoothlyItemDOMChange\")\n\tonItemDomChange(e: CustomEvent) {\n\t\te.stopPropagation()\n\t\tconst item = e.target as HTMLSmoothlyItemElement\n\t\tif (item.selected) {\n\t\t\tthis.displaySelected()\n\t\t}\n\t}\n\t@Listen(\"smoothlyItemSelect\")\n\tasync onItemSelect(event: CustomEvent<{ userInitiated: boolean; item: HTMLSmoothlyItemElement }>): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tconst item = event.detail.item\n\t\tif (this.multiple) {\n\t\t\tthis.selected = item.selected ? [...this.selected, item] : this.selected.filter(item => item.selected)\n\t\t} else if (item.selected || !this.items.some(e => e.selected)) {\n\t\t\tthis.selected[0] && (this.selected[0].hidden = this.selected[0].selected = false)\n\t\t\tthis.selected = !item.selected ? this.selected.filter(item => item.selected) : [item]\n\t\t\t!this.showSelected && item.selected && (item.hidden = true)\n\t\t}\n\t\tthis.displaySelected()\n\t\tif (event.detail.userInitiated) {\n\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t}\n\t}\n\t@Watch(\"open\")\n\tonClosed(open: boolean, before: boolean): void {\n\t\tthis.lastOpen = before\n\t\tif (!open) {\n\t\t\tconst markedItem = this.items.find(item => item.marked)\n\t\t\tif (markedItem) {\n\t\t\t\tmarkedItem.marked = false\n\t\t\t}\n\t\t}\n\t\tthis.smoothlySelectOpen.emit(open)\n\t}\n\thandleShowOptions(event?: Event): void {\n\t\tconst wasButtonClicked =\n\t\t\tevent?.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)\n\t\tconst clickedItem = event\n\t\t\t?.composedPath()\n\t\t\t.find((el): el is HTMLSmoothlyItemElement => \"tagName\" in el && el.tagName == \"SMOOTHLY-ITEM\")\n\t\t!this.readonly &&\n\t\t\t!this.disabled &&\n\t\t\t!(clickedItem && this.items.includes(clickedItem) && this.multiple) &&\n\t\t\t!wasButtonClicked &&\n\t\t\t(this.open = !this.open)\n\t\tthis.filter = \"\"\n\t}\n\tareValuesEqual(selected: HTMLSmoothlyItemElement[], initialValue: HTMLSmoothlyItemElement[]): boolean {\n\t\treturn selected.length === initialValue.length && initialValue.every(value => selected.includes(value))\n\t}\n\tdisplaySelected(): void {\n\t\tconst displayString: string = this.selected.map(option => `<div>${option.innerHTML}</div>`).join(\"\")\n\t\tthis.displaySelectedElement &&\n\t\t\t(this.displaySelectedElement.innerHTML = this.selected.length > 0 ? displayString : (this.placeholder ?? \"\"))\n\t}\n\t@Listen(\"keydown\")\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (!this.searchDisabled) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst visibleItems = this.items.some(item => item.getAttribute(\"hidden\") === null)\n\t\t\tif (event.key != \"Tab\" && !event.ctrlKey && !event.metaKey) {\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t\tif (this.open) {\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\t\tvisibleItems && this.move(-1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\t\tvisibleItems && this.move(1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Escape\":\n\t\t\t\t\t\tif (this.filter == \"\") {\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Backspace\":\n\t\t\t\t\t\tthis.filter = event.ctrlKey ? \"\" : this.filter.slice(0, -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\t\tconst result = this.items.find(item => item.marked)\n\t\t\t\t\t\tif (result?.value) {\n\t\t\t\t\t\t\tresult.selected = !result.selected\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.multiple) {\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Tab\":\n\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (event.key.length == 1) {\n\t\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\tcase \" \":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tthis.move(1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tthis.move(-1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Tab\":\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tif (event.key.length == 1) {\n\t\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprivate scrollToSelected() {\n\t\tconst selectedItem = this.items.find(item => item.selected)\n\t\tif (selectedItem) {\n\t\t\tthis.items.map(item => (item.marked = false))\n\t\t\tselectedItem.marked = true\n\t\t\tthis.scrollTo(selectedItem, \"instant\")\n\t\t}\n\t}\n\tprivate move(direction: -1 | 1): void {\n\t\tconst selectableItems = this.items.filter(item => !item.hidden && !item.disabled)\n\t\tlet markedIndex = selectableItems.findIndex(item => item.marked)\n\t\tif (markedIndex == -1) {\n\t\t\tmarkedIndex = 0\n\t\t} else {\n\t\t\tselectableItems[markedIndex].marked = false\n\t\t\tmarkedIndex = (markedIndex + direction + selectableItems.length) % selectableItems.length\n\t\t}\n\t\tselectableItems[markedIndex].marked = true\n\t\tthis.scrollTo(selectableItems[markedIndex], \"smooth\")\n\t}\n\tprivate scrollTo(item: HTMLSmoothlyItemElement, behavior?: \"instant\" | \"smooth\") {\n\t\tthis.optionsDiv?.scrollTo({\n\t\t\ttop: item.offsetTop + item.offsetHeight / 2 - (this.optionsDiv?.clientHeight ?? 0) / 2,\n\t\t\tbehavior,\n\t\t})\n\t}\n\tprivate addItem() {\n\t\tthis.addedItems = this.addedItems.concat(\n\t\t\t<smoothly-item value={this.filter} selected>\n\t\t\t\t{this.filter}\n\t\t\t</smoothly-item>\n\t\t)\n\t}\n\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\ttabIndex={this.disabled ? undefined : 0}\n\t\t\t\tclass={{ \"has-value\": this.selected.length !== 0, open: this.open }}\n\t\t\t\tonClick={(event: Event) => this.handleShowOptions(event)}>\n\t\t\t\t<div class=\"select-display\" ref={element => (this.displaySelectedElement = element)}>\n\t\t\t\t\t{this.placeholder}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"icons\" ref={element => (this.iconsDiv = element)}>\n\t\t\t\t\t<smoothly-icon class=\"smoothly-invalid\" name=\"alert-circle\" size=\"small\" tooltip={this.errorMessage} />\n\t\t\t\t\t<slot name=\"end\" />\n\t\t\t\t\t{this.looks == \"border\" && !this.readonly && (\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tref={element => (this.toggle = element)}\n\t\t\t\t\t\t\tsize=\"tiny\"\n\t\t\t\t\t\t\tname={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"label\" />\n\t\t\t\t<div class={{ hidden: !this.open, options: true }} ref={(el: HTMLDivElement) => (this.optionsDiv = el)}>\n\t\t\t\t\t{this.filter.length > 0 && (\n\t\t\t\t\t\t<div class=\"search-preview\">\n\t\t\t\t\t\t\t<smoothly-icon name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t{this.filter}\n\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\tname=\"backspace-outline\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t\t\t\tthis.element.focus()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this.mutable && (\n\t\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\t\tname=\"add\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.addItem()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<slot />\n\t\t\t\t\t{this.addedItems}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input/select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { Color, Data } from \"../../../model\"\nimport { Item } from \"../../item/Item\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\nimport { layout } from \"./layout\"\nimport { menu } from \"./menu\"\nimport { scroll } from \"./scroll\"\n\n@Component({\n\ttag: \"smoothly-input-select\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSelect implements Input, Editable, Clearable, ComponentWillLoad {\n\tparent: Editable | undefined\n\tisDifferentFromInitial = false\n\tprivate initialValue: HTMLSmoothlyItemElement[] = []\n\tprivate initialValueHandled = false\n\tprivate observer = Editable.Observer.create(this)\n\tprivate displayElement?: HTMLElement\n\tprivate iconsElement?: HTMLElement\n\tprivate toggleElement?: HTMLElement\n\tprivate dropdownElement?: HTMLElement\n\tprivate searchElement?: HTMLInputElement\n\tprivate items: HTMLSmoothlyItemElement[] = []\n\tprivate itemHeight: number | undefined\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\t@Prop({ reflect: true }) name = \"selected\"\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ reflect: true, mutable: true }) showSelected?: boolean = true\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) inCalendar = false\n\t@Prop({ reflect: true }) ordered?: boolean\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop() clearable = true\n\t@Prop({ mutable: true }) defined = false\n\t@Prop({ reflect: true }) placeholder?: string | any\n\t@Prop() menuHeight?: layout.MenuHeight\n\t@Prop() required = false\n\t@Prop() searchDisabled = false\n\t@Prop() mutable = false\n\tprivate lastOpen = false\n\t@State() open = false\n\t@State() selected: HTMLSmoothlyItemElement[] = []\n\t@State() filter = \"\"\n\t@State() addedItems: HTMLSmoothlyItemElement[] = []\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyUserInput: EventEmitter<Input.UserInput>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyItemSelect: EventEmitter<HTMLSmoothlyItemElement>\n\t@Event() smoothlySelectOpen: EventEmitter<boolean>\n\n\tcomponentWillLoad(): void | Promise<void> {\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t}\n\tcomponentDidLoad(): void | Promise<void> {\n\t\tthis.selected && !this.initialValueHandled && (this.initialValue = [...this.selected])\n\t\tthis.initialValueHandled = true\n\t\tthis.onSelectedChange()\n\t}\n\tcomponentDidRender(): void | Promise<void> {\n\t\tthis.itemHeight ??= layout.firstItemHeight(this.items)\n\t\tif (this.menuHeight && this.itemHeight) {\n\t\t\tlayout.applyMenuHeight(this.element, this.itemHeight, this.menuHeight)\n\t\t}\n\t\tlayout.applyElementHeight(this.element)\n\n\t\tconst justOpened = this.open && !this.lastOpen\n\t\tif (justOpened && this.ordered) {\n\t\t\tthis.scrollToSelected()\n\t\t}\n\t}\n\tprivate scrollToSelected() {\n\t\tconst selectedItem = menu.findFirstSelected(this.items)\n\t\tif (selectedItem) {\n\t\t\tmenu.markOnly(this.items, selectedItem)\n\t\t\tscroll.centerInView(this.dropdownElement, selectedItem, \"instant\")\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected) {\n\t\t\tawait this.unregister()\n\t\t}\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<any | any[] | undefined> {\n\t\treturn !this.multiple && this.selected[0]\n\t\t\t? this.selected[0].value\n\t\t\t: this.multiple && this.selected.length > 0\n\t\t\t\t? this.selected.map(item => item.value)\n\t\t\t\t: undefined\n\t}\n\t@Method()\n\tasync getItems(): Promise<HTMLSmoothlyItemElement[]> {\n\t\treturn this.items\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\tthis.initialValue.forEach(item => (item.selected = true))\n\t\tthis.selected = [...this.initialValue]\n\t\tthis.displaySelected()\n\t\tthis.isDifferentFromInitial = false\n\t\tthis.closeMenu()\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (this.clearable) {\n\t\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\t\tthis.selected = []\n\t\t\tif (this.displayElement) {\n\t\t\t\tthis.displayElement.innerHTML = this.placeholder ?? \"\"\n\t\t\t}\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.isDifferentFromInitial = false\n\t\tthis.initialValue = [...this.selected]\n\t}\n\t@Watch(\"selected\")\n\tasync onSelectedChange() {\n\t\tthis.initialValueHandled && (this.isDifferentFromInitial = !this.areValuesEqual(this.selected, this.initialValue))\n\t\tthis.defined = this.selected.length > 0\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"required\")\n\tonRequiredChange(): void {\n\t\tthis.items.forEach(item => (item.deselectable = !this.required))\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string): Promise<void> {\n\t\tvalue = value.toLowerCase()\n\t\tawait Promise.all(this.items.map(item => item.filter(value)))\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputSelect) => void>): Promise<void> {\n\t\tconst fromSelf = event.target && \"name\" in event.target && event.target.name !== this.name\n\t\tconst fromEndSlot = event.composedPath().some(e => e == this.iconsElement)\n\t\tif (fromSelf || fromEndSlot) {\n\t\t\tevent.stopPropagation()\n\t\t} else if (Item.Element.is(event.target)) {\n\t\t\tevent.stopPropagation()\n\t\t\tevent.target.deselectable = !this.required\n\t\t\tthis.items.push(event.target as HTMLSmoothlyItemElement)\n\t\t}\n\t\tInput.registerSubAction(this, event)\n\t\tthis.displaySelected()\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: MouseEvent): void {\n\t\tif (this.open && !event.composedPath().includes(this.element)) {\n\t\t\tthis.closeMenu()\n\t\t}\n\t}\n\t@Listen(\"smoothlyItemDOMChange\")\n\tonItemDomChange(e: CustomEvent) {\n\t\te.stopPropagation()\n\t\tconst item = e.target as HTMLSmoothlyItemElement\n\t\tif (item.selected) {\n\t\t\tthis.displaySelected()\n\t\t}\n\t}\n\t@Listen(\"smoothlyItemSelect\")\n\tasync onItemSelect(event: CustomEvent<{ userInitiated: boolean; item: HTMLSmoothlyItemElement }>): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tconst item = event.detail.item\n\t\tif (this.multiple) {\n\t\t\tthis.selected = item.selected ? [...this.selected, item] : this.selected.filter(item => item.selected)\n\t\t} else if (item.selected || !this.items.some(e => e.selected)) {\n\t\t\tthis.selected[0] && (this.selected[0].hidden = this.selected[0].selected = false)\n\t\t\tthis.selected = !item.selected ? this.selected.filter(item => item.selected) : [item]\n\t\t\t!this.showSelected && item.selected && (item.hidden = true)\n\t\t}\n\t\tthis.displaySelected()\n\t\tif (event.detail.userInitiated) {\n\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t}\n\t}\n\t@Watch(\"open\")\n\tonClosed(open: boolean, before: boolean): void {\n\t\tthis.lastOpen = before\n\t\tif (!open) {\n\t\t\tconst markedItem = menu.findFirstMarked(this.items)\n\t\t\tif (markedItem) {\n\t\t\t\tmarkedItem.marked = false\n\t\t\t}\n\t\t}\n\t\tthis.smoothlySelectOpen.emit(open)\n\t}\n\tareValuesEqual(selected: HTMLSmoothlyItemElement[], initialValue: HTMLSmoothlyItemElement[]): boolean {\n\t\treturn selected.length === initialValue.length && initialValue.every(value => selected.includes(value))\n\t}\n\tdisplaySelected(): void {\n\t\tconst displayString: string = this.selected.map(option => `<div>${option.innerHTML}</div>`).join(\"\")\n\t\tthis.displayElement &&\n\t\t\t(this.displayElement.innerHTML = this.selected.length > 0 ? displayString : (this.placeholder ?? \"\"))\n\t}\n\tonKeyDown(event: KeyboardEvent) {\n\t\tevent.stopPropagation()\n\t\tconst key = event.key\n\t\tif (key == \"ArrowUp\" || key == \"ArrowDown\") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.handlerNavigate(key)\n\t\t} else if (key == \"Escape\") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.handleEscape()\n\t\t} else if (key == \"Enter\") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.handleEnter()\n\t\t} else if (key == \" \") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.openMenu()\n\t\t} else if (this.open && key == \"Tab\") {\n\t\t\tthis.closeMenu()\n\t\t}\n\t}\n\tprivate handlerNavigate(key: \"ArrowUp\" | \"ArrowDown\") {\n\t\tif (menu.hasVisibleItems(this.items)) {\n\t\t\tthis.move(key == \"ArrowUp\" ? -1 : 1)\n\t\t}\n\t\tthis.openMenu()\n\t}\n\tprivate handleEscape() {\n\t\tif (this.filter) {\n\t\t\tthis.resetFilter()\n\t\t} else {\n\t\t\tthis.closeMenu()\n\t\t}\n\t}\n\tprivate handleEnter() {\n\t\tconst item = menu.findFirstMarked(this.items)\n\t\tif (item?.value) {\n\t\t\titem.selected = !item.selected\n\t\t}\n\t\tif (!this.multiple) {\n\t\t\tthis.closeMenu()\n\t\t\tthis.resetFilter()\n\t\t}\n\t}\n\tprivate move(direction: -1 | 1): void {\n\t\tconst { current, next } = menu.next(this.items, direction)\n\t\tcurrent && (current.marked = false)\n\t\tnext.marked = true\n\t\tscroll.centerInView(this.dropdownElement, next, \"smooth\")\n\t}\n\tprivate addItem() {\n\t\tthis.addedItems = this.addedItems.concat(\n\t\t\t<smoothly-item value={this.filter} selected>\n\t\t\t\t{this.filter}\n\t\t\t</smoothly-item>\n\t\t)\n\t}\n\tprivate resetFilter() {\n\t\tthis.searchElement && (this.searchElement.value = \"\")\n\t\tthis.filter = \"\"\n\t}\n\tprivate setFilter(filter: string) {\n\t\tif (filter) {\n\t\t\tthis.filter = filter\n\t\t\tthis.openMenu()\n\t\t} else {\n\t\t\tthis.resetFilter()\n\t\t}\n\t}\n\tprivate openMenu({ focus }: { focus?: boolean } = {}) {\n\t\tthis.open = true\n\t\tfocus && queueMicrotask(() => this.searchElement?.focus())\n\t}\n\tprivate closeMenu() {\n\t\tthis.open = false\n\t\tthis.resetFilter()\n\t}\n\tprivate toggleMenu() {\n\t\tif (!this.readonly && !this.disabled) {\n\t\t\tthis.open ? this.closeMenu() : this.openMenu({ focus: true })\n\t\t}\n\t}\n\tprivate onClick(e: MouseEvent) {\n\t\tconst wasIconsClicked =\n\t\t\te.composedPath().includes(this.iconsElement!) && !e.composedPath().includes(this.toggleElement!)\n\t\tconst wasSearchClicked = e.composedPath().includes(this.searchElement!)\n\t\tconst wasItemClicked = e\n\t\t\t.composedPath()\n\t\t\t.find(element => element instanceof HTMLElement && element.tagName === \"SMOOTHLY-ITEM\")\n\t\tif (!wasIconsClicked && !wasSearchClicked && !(wasItemClicked && this.multiple)) {\n\t\t\tthis.toggleMenu()\n\t\t}\n\t}\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ \"has-value\": this.selected.length !== 0, open: this.open, \"has-filter\": this.filter !== \"\" }}\n\t\t\t\tonClick={(e: MouseEvent) => this.onClick(e)}>\n\t\t\t\t<div class=\"select-display\" ref={element => (this.displayElement = element)}>\n\t\t\t\t\t{this.placeholder}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"icons\" ref={element => (this.iconsElement = element)}>\n\t\t\t\t\t<smoothly-icon class=\"smoothly-invalid\" name=\"alert-circle\" size=\"small\" tooltip={this.errorMessage} />\n\t\t\t\t\t<slot name=\"end\" />\n\t\t\t\t\t{this.looks == \"border\" && !this.readonly && (\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tref={element => (this.toggleElement = element)}\n\t\t\t\t\t\t\tsize=\"tiny\"\n\t\t\t\t\t\t\tname={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"label\" />\n\t\t\t\t<div class=\"dropdown\" ref={(el: HTMLDivElement) => (this.dropdownElement = el)}>\n\t\t\t\t\t<div class=\"search\">\n\t\t\t\t\t\t<smoothly-icon name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t\tref={el => (this.searchElement = el)}\n\t\t\t\t\t\t\tdisabled={this.searchDisabled}\n\t\t\t\t\t\t\tonKeyDown={e => this.onKeyDown(e)}\n\t\t\t\t\t\t\tonInput={e => (e.stopPropagation(), this.setFilter(this.searchElement?.value ?? \"\"))}\n\t\t\t\t\t\t\tonPaste={e => (e.stopPropagation(), this.setFilter(this.searchElement?.value ?? \"\"))}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tname=\"backspace-outline\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.resetFilter()\n\t\t\t\t\t\t\t\tthis.searchElement?.focus()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.mutable && <smoothly-icon name=\"add\" size=\"small\" onClick={() => this.addItem()} />}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"menu\" hidden={!this.open}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{this.addedItems}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -0,0 +1,21 @@
1
+ export var layout;
2
+ (function (layout) {
3
+ function firstItemHeight(items) {
4
+ var _a;
5
+ return (_a = items.find(item => item.clientHeight > 0)) === null || _a === void 0 ? void 0 : _a.clientHeight;
6
+ }
7
+ layout.firstItemHeight = firstItemHeight;
8
+ function applyMenuHeight(element, itemHeight, menuHeight) {
9
+ var _a, _b;
10
+ const height = menuHeight.endsWith("items")
11
+ ? `${itemHeight * +((_b = (_a = menuHeight.match(/^(\d+(\.\d+)?|\.\d+)/g)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : "10")}px`
12
+ : menuHeight;
13
+ element.style.setProperty("--menu-height", height);
14
+ }
15
+ layout.applyMenuHeight = applyMenuHeight;
16
+ function applyElementHeight(element) {
17
+ element === null || element === void 0 ? void 0 : element.style.setProperty("--element-height", `${element.clientHeight}px`);
18
+ }
19
+ layout.applyElementHeight = applyElementHeight;
20
+ })(layout || (layout = {}));
21
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/components/input/select/layout.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,MAAM,CActB;AAdD,WAAiB,MAAM;IACtB,SAAgB,eAAe,CAAC,KAAgC;;QAC/D,OAAO,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,0CAAE,YAAY,CAAA;IAC/D,CAAC;IAFe,sBAAe,kBAE9B,CAAA;IACD,SAAgB,eAAe,CAAC,OAAoB,EAAE,UAAkB,EAAE,UAAsB;;QAC/F,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,MAAA,MAAA,UAAU,CAAC,KAAK,CAAC,uBAAuB,CAAC,0CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC,IAAI;YAC/E,CAAC,CAAC,UAAU,CAAA;QACb,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC;IALe,sBAAe,kBAK9B,CAAA;IACD,SAAgB,kBAAkB,CAAC,OAAoB;QACtD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAA;IAC5E,CAAC;IAFe,yBAAkB,qBAEjC,CAAA;AAEF,CAAC,EAdgB,MAAM,KAAN,MAAM,QActB","sourcesContent":["export namespace layout {\n\texport function firstItemHeight(items: HTMLSmoothlyItemElement[]): number | undefined {\n\t\treturn items.find(item => item.clientHeight > 0)?.clientHeight\n\t}\n\texport function applyMenuHeight(element: HTMLElement, itemHeight: number, menuHeight: MenuHeight): void {\n\t\tconst height = menuHeight.endsWith(\"items\")\n\t\t\t? `${itemHeight * +(menuHeight.match(/^(\\d+(\\.\\d+)?|\\.\\d+)/g)?.[0] ?? \"10\")}px`\n\t\t\t: menuHeight\n\t\telement.style.setProperty(\"--menu-height\", height)\n\t}\n\texport function applyElementHeight(element: HTMLElement) {\n\t\telement?.style.setProperty(\"--element-height\", `${element.clientHeight}px`)\n\t}\n\texport type MenuHeight = `${number}${\"items\" | \"rem\" | \"px\" | \"vh\"}`\n}\n"]}
@@ -0,0 +1,33 @@
1
+ export var menu;
2
+ (function (menu) {
3
+ function next(items, direction) {
4
+ const selectable = items.filter(item => !item.hidden && !item.disabled);
5
+ const currentIndex = selectable.findIndex(item => item.marked);
6
+ let index;
7
+ if (currentIndex == -1) {
8
+ index = 0;
9
+ }
10
+ else {
11
+ index = (currentIndex + direction + selectable.length) % selectable.length;
12
+ }
13
+ return { current: selectable[currentIndex], next: selectable[index] };
14
+ }
15
+ menu.next = next;
16
+ function hasVisibleItems(items) {
17
+ return items.some(item => !item.getAttribute("hidden"));
18
+ }
19
+ menu.hasVisibleItems = hasVisibleItems;
20
+ function markOnly(items, item) {
21
+ items.map(i => (i.marked = i === item));
22
+ }
23
+ menu.markOnly = markOnly;
24
+ function findFirstSelected(items) {
25
+ return items.find(item => item.selected);
26
+ }
27
+ menu.findFirstSelected = findFirstSelected;
28
+ function findFirstMarked(items) {
29
+ return items.find(item => item.marked);
30
+ }
31
+ menu.findFirstMarked = findFirstMarked;
32
+ })(menu || (menu = {}));
33
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../../src/components/input/select/menu.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,IAAI,CA2BpB;AA3BD,WAAiB,IAAI;IACpB,SAAgB,IAAI,CACnB,KAAgC,EAChC,SAAiB;QAEjB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvE,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,KAAa,CAAA;QACjB,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;YACxB,KAAK,GAAG,CAAC,CAAA;QACV,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,CAAC,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;QAC3E,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;IACtE,CAAC;IAbe,SAAI,OAanB,CAAA;IACD,SAAgB,eAAe,CAAC,KAAgC;QAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxD,CAAC;IAFe,oBAAe,kBAE9B,CAAA;IACD,SAAgB,QAAQ,CAAC,KAAgC,EAAE,IAA6B;QACvF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC;IAFe,aAAQ,WAEvB,CAAA;IACD,SAAgB,iBAAiB,CAAC,KAAgC;QACjE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAFe,sBAAiB,oBAEhC,CAAA;IACD,SAAgB,eAAe,CAAC,KAAgC;QAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAFe,oBAAe,kBAE9B,CAAA;AACF,CAAC,EA3BgB,IAAI,KAAJ,IAAI,QA2BpB","sourcesContent":["export namespace menu {\n\texport function next(\n\t\titems: HTMLSmoothlyItemElement[],\n\t\tdirection: -1 | 1\n\t): { current?: HTMLSmoothlyItemElement; next: HTMLSmoothlyItemElement } {\n\t\tconst selectable = items.filter(item => !item.hidden && !item.disabled)\n\t\tconst currentIndex = selectable.findIndex(item => item.marked)\n\t\tlet index: number\n\t\tif (currentIndex == -1) {\n\t\t\tindex = 0\n\t\t} else {\n\t\t\tindex = (currentIndex + direction + selectable.length) % selectable.length\n\t\t}\n\t\treturn { current: selectable[currentIndex], next: selectable[index] }\n\t}\n\texport function hasVisibleItems(items: HTMLSmoothlyItemElement[]): boolean {\n\t\treturn items.some(item => !item.getAttribute(\"hidden\"))\n\t}\n\texport function markOnly(items: HTMLSmoothlyItemElement[], item: HTMLSmoothlyItemElement): void {\n\t\titems.map(i => (i.marked = i === item))\n\t}\n\texport function findFirstSelected(items: HTMLSmoothlyItemElement[]): HTMLSmoothlyItemElement | undefined {\n\t\treturn items.find(item => item.selected)\n\t}\n\texport function findFirstMarked(items: HTMLSmoothlyItemElement[]): HTMLSmoothlyItemElement | undefined {\n\t\treturn items.find(item => item.marked)\n\t}\n}\n"]}
@@ -0,0 +1,14 @@
1
+ export var scroll;
2
+ (function (scroll) {
3
+ function centerInView(container, item, behavior = "smooth") {
4
+ var _a;
5
+ if (item && container) {
6
+ container.scrollTo({
7
+ top: item.offsetTop + item.offsetHeight / 2 - ((_a = container.clientHeight) !== null && _a !== void 0 ? _a : 0) / 2,
8
+ behavior,
9
+ });
10
+ }
11
+ }
12
+ scroll.centerInView = centerInView;
13
+ })(scroll || (scroll = {}));
14
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../src/components/input/select/scroll.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,MAAM,CAStB;AATD,WAAiB,MAAM;IACtB,SAAgB,YAAY,CAAC,SAAuB,EAAE,IAAkB,EAAE,WAA2B,QAAQ;;QAC5G,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACvB,SAAS,CAAC,QAAQ,CAAC;gBAClB,GAAG,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,MAAA,SAAS,CAAC,YAAY,mCAAI,CAAC,CAAC,GAAG,CAAC;gBAC/E,QAAQ;aACR,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAPe,mBAAY,eAO3B,CAAA;AACF,CAAC,EATgB,MAAM,KAAN,MAAM,QAStB","sourcesContent":["export namespace scroll {\n\texport function centerInView(container?: HTMLElement, item?: HTMLElement, behavior: ScrollBehavior = \"smooth\") {\n\t\tif (item && container) {\n\t\t\tcontainer.scrollTo({\n\t\t\t\ttop: item.offsetTop + item.offsetHeight / 2 - (container.clientHeight ?? 0) / 2,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n}\n"]}