@greypan/web-ui 11.2.0 → 12.0.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 (667) hide show
  1. package/README.CN.md +79 -68
  2. package/README.md +81 -72
  3. package/dist/_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js +8 -0
  4. package/dist/assets/menu-portal.js +3 -4
  5. package/dist/assets/menu-portal.js.map +1 -1
  6. package/dist/assets/modal-surface.js +3 -4
  7. package/dist/assets/modal-surface.js.map +1 -1
  8. package/dist/assets/overlay-motion.js +3 -4
  9. package/dist/assets/overlay-motion.js.map +1 -1
  10. package/dist/assets/scrollbar.js +5 -0
  11. package/dist/assets/scrollbar.js.map +1 -0
  12. package/dist/assets/selection-control.js +3 -4
  13. package/dist/assets/selection-control.js.map +1 -1
  14. package/dist/assets/toast-containers.js +3 -4
  15. package/dist/assets/toast-containers.js.map +1 -1
  16. package/dist/classes/glass.js +3 -4
  17. package/dist/classes/glass.js.map +1 -1
  18. package/dist/classes/glow.js +3 -4
  19. package/dist/classes/glow.js.map +1 -1
  20. package/dist/components/autocomplete/index.d.ts +485 -483
  21. package/dist/components/autocomplete/index.d.ts.map +1 -0
  22. package/dist/components/autocomplete/index.js +475 -267
  23. package/dist/components/autocomplete/index.js.map +1 -1
  24. package/dist/components/autocomplete/style.js +3 -4
  25. package/dist/components/autocomplete/style.js.map +1 -1
  26. package/dist/components/avatar/index.d.ts +26 -24
  27. package/dist/components/avatar/index.d.ts.map +1 -0
  28. package/dist/components/avatar/index.js +72 -52
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/avatar/style.js +3 -4
  31. package/dist/components/avatar/style.js.map +1 -1
  32. package/dist/components/back-top/index.d.ts +30 -27
  33. package/dist/components/back-top/index.d.ts.map +1 -0
  34. package/dist/components/back-top/index.js +96 -62
  35. package/dist/components/back-top/index.js.map +1 -1
  36. package/dist/components/back-top/style.js +3 -4
  37. package/dist/components/back-top/style.js.map +1 -1
  38. package/dist/components/badge/index.d.ts +32 -26
  39. package/dist/components/badge/index.d.ts.map +1 -0
  40. package/dist/components/badge/index.js +116 -74
  41. package/dist/components/badge/index.js.map +1 -1
  42. package/dist/components/badge/style.js +3 -4
  43. package/dist/components/badge/style.js.map +1 -1
  44. package/dist/components/button/index.d.ts +392 -390
  45. package/dist/components/button/index.d.ts.map +1 -0
  46. package/dist/components/button/index.js +108 -74
  47. package/dist/components/button/index.js.map +1 -1
  48. package/dist/components/button/style.js +3 -4
  49. package/dist/components/button/style.js.map +1 -1
  50. package/dist/components/button-group/index.d.ts +14 -13
  51. package/dist/components/button-group/index.d.ts.map +1 -0
  52. package/dist/components/button-group/index.js +43 -33
  53. package/dist/components/button-group/index.js.map +1 -1
  54. package/dist/components/button-group/style.js +3 -4
  55. package/dist/components/button-group/style.js.map +1 -1
  56. package/dist/components/checkbox/index.d.ts +399 -397
  57. package/dist/components/checkbox/index.d.ts.map +1 -0
  58. package/dist/components/checkbox/index.js +103 -74
  59. package/dist/components/checkbox/index.js.map +1 -1
  60. package/dist/components/checkbox/style.js +3 -4
  61. package/dist/components/checkbox/style.js.map +1 -1
  62. package/dist/components/checkbox-group/index.d.ts +397 -396
  63. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  64. package/dist/components/checkbox-group/index.js +92 -70
  65. package/dist/components/checkbox-group/index.js.map +1 -1
  66. package/dist/components/checkbox-group/style.js +3 -4
  67. package/dist/components/checkbox-group/style.js.map +1 -1
  68. package/dist/components/collapse/index.d.ts +72 -71
  69. package/dist/components/collapse/index.d.ts.map +1 -0
  70. package/dist/components/collapse/index.js +225 -130
  71. package/dist/components/collapse/index.js.map +1 -1
  72. package/dist/components/collapse/style.js +3 -4
  73. package/dist/components/collapse/style.js.map +1 -1
  74. package/dist/components/context-menu/index.d.ts +307 -310
  75. package/dist/components/context-menu/index.d.ts.map +1 -0
  76. package/dist/components/context-menu/index.js +685 -270
  77. package/dist/components/context-menu/index.js.map +1 -1
  78. package/dist/components/context-menu/scrim.js +3 -4
  79. package/dist/components/context-menu/scrim.js.map +1 -1
  80. package/dist/components/context-menu/style.js +3 -4
  81. package/dist/components/context-menu/style.js.map +1 -1
  82. package/dist/components/dialog/index.d.ts +87 -78
  83. package/dist/components/dialog/index.d.ts.map +1 -0
  84. package/dist/components/dialog/index.js +183 -88
  85. package/dist/components/dialog/index.js.map +1 -1
  86. package/dist/components/dialog/style.js +3 -4
  87. package/dist/components/dialog/style.js.map +1 -1
  88. package/dist/components/drawer/index.d.ts +159 -150
  89. package/dist/components/drawer/index.d.ts.map +1 -0
  90. package/dist/components/drawer/index.js +503 -242
  91. package/dist/components/drawer/index.js.map +1 -1
  92. package/dist/components/drawer/style.js +3 -4
  93. package/dist/components/drawer/style.js.map +1 -1
  94. package/dist/components/dropdown/index.d.ts +125 -124
  95. package/dist/components/dropdown/index.d.ts.map +1 -0
  96. package/dist/components/dropdown/index.js +556 -328
  97. package/dist/components/dropdown/index.js.map +1 -1
  98. package/dist/components/dropdown/style.js +3 -4
  99. package/dist/components/dropdown/style.js.map +1 -1
  100. package/dist/components/dropdown-divider/index.d.ts +7 -6
  101. package/dist/components/dropdown-divider/index.d.ts.map +1 -0
  102. package/dist/components/dropdown-divider/index.js +10 -11
  103. package/dist/components/dropdown-divider/index.js.map +1 -1
  104. package/dist/components/dropdown-divider/style.js +3 -4
  105. package/dist/components/dropdown-divider/style.js.map +1 -1
  106. package/dist/components/dropdown-header/index.d.ts +7 -6
  107. package/dist/components/dropdown-header/index.d.ts.map +1 -0
  108. package/dist/components/dropdown-header/index.js +10 -11
  109. package/dist/components/dropdown-header/index.js.map +1 -1
  110. package/dist/components/dropdown-header/style.js +3 -4
  111. package/dist/components/dropdown-header/style.js.map +1 -1
  112. package/dist/components/dropdown-item/index.d.ts +13 -11
  113. package/dist/components/dropdown-item/index.d.ts.map +1 -0
  114. package/dist/components/dropdown-item/index.js +32 -25
  115. package/dist/components/dropdown-item/index.js.map +1 -1
  116. package/dist/components/dropdown-item/style.js +3 -4
  117. package/dist/components/dropdown-item/style.js.map +1 -1
  118. package/dist/components/editable-text/index.d.ts +506 -505
  119. package/dist/components/editable-text/index.d.ts.map +1 -0
  120. package/dist/components/editable-text/index.js +281 -127
  121. package/dist/components/editable-text/index.js.map +1 -1
  122. package/dist/components/editable-text/style.js +3 -4
  123. package/dist/components/editable-text/style.js.map +1 -1
  124. package/dist/components/empty/index.d.ts +17 -15
  125. package/dist/components/empty/index.d.ts.map +1 -0
  126. package/dist/components/empty/index.js +66 -37
  127. package/dist/components/empty/index.js.map +1 -1
  128. package/dist/components/empty/style.js +3 -4
  129. package/dist/components/empty/style.js.map +1 -1
  130. package/dist/components/icon/index.d.ts +12 -11
  131. package/dist/components/icon/index.d.ts.map +1 -0
  132. package/dist/components/icon/index.js +34 -27
  133. package/dist/components/icon/index.js.map +1 -1
  134. package/dist/components/icon/style.js +3 -4
  135. package/dist/components/icon/style.js.map +1 -1
  136. package/dist/components/image-preview/index.d.ts +58 -44
  137. package/dist/components/image-preview/index.d.ts.map +1 -0
  138. package/dist/components/image-preview/index.js +536 -265
  139. package/dist/components/image-preview/index.js.map +1 -1
  140. package/dist/components/image-preview/style.js +3 -4
  141. package/dist/components/image-preview/style.js.map +1 -1
  142. package/dist/components/index.d.ts +46 -43
  143. package/dist/components/index.d.ts.map +1 -0
  144. package/dist/components/index.js +41 -41
  145. package/dist/components/input/index.d.ts +418 -413
  146. package/dist/components/input/index.d.ts.map +1 -0
  147. package/dist/components/input/index.js +148 -84
  148. package/dist/components/input/index.js.map +1 -1
  149. package/dist/components/input/style.js +3 -4
  150. package/dist/components/input/style.js.map +1 -1
  151. package/dist/components/input-number/index.d.ts +453 -447
  152. package/dist/components/input-number/index.d.ts.map +1 -0
  153. package/dist/components/input-number/index.js +484 -292
  154. package/dist/components/input-number/index.js.map +1 -1
  155. package/dist/components/input-number/style.js +3 -4
  156. package/dist/components/input-number/style.js.map +1 -1
  157. package/dist/components/layout/index.d.ts +110 -87
  158. package/dist/components/layout/index.d.ts.map +1 -0
  159. package/dist/components/layout/index.js +238 -144
  160. package/dist/components/layout/index.js.map +1 -1
  161. package/dist/components/layout/style.js +3 -4
  162. package/dist/components/layout/style.js.map +1 -1
  163. package/dist/components/middle-ellipsis/index.d.ts +93 -92
  164. package/dist/components/middle-ellipsis/index.d.ts.map +1 -0
  165. package/dist/components/middle-ellipsis/index.js +261 -107
  166. package/dist/components/middle-ellipsis/index.js.map +1 -1
  167. package/dist/components/middle-ellipsis/style.js +3 -4
  168. package/dist/components/middle-ellipsis/style.js.map +1 -1
  169. package/dist/components/middle-ellipsis/truncate.js +60 -30
  170. package/dist/components/middle-ellipsis/truncate.js.map +1 -1
  171. package/dist/components/option/index.d.ts +20 -18
  172. package/dist/components/option/index.d.ts.map +1 -0
  173. package/dist/components/option/index.js +53 -40
  174. package/dist/components/option/index.js.map +1 -1
  175. package/dist/components/option/style.js +3 -4
  176. package/dist/components/option/style.js.map +1 -1
  177. package/dist/components/popover/index.d.ts +69 -68
  178. package/dist/components/popover/index.d.ts.map +1 -0
  179. package/dist/components/popover/index.js +221 -104
  180. package/dist/components/popover/index.js.map +1 -1
  181. package/dist/components/popover/style.js +3 -4
  182. package/dist/components/popover/style.js.map +1 -1
  183. package/dist/components/radio/index.d.ts +396 -395
  184. package/dist/components/radio/index.d.ts.map +1 -0
  185. package/dist/components/radio/index.js +91 -62
  186. package/dist/components/radio/index.js.map +1 -1
  187. package/dist/components/radio/interaction.js +10 -11
  188. package/dist/components/radio/interaction.js.map +1 -1
  189. package/dist/components/radio/style.js +3 -4
  190. package/dist/components/radio/style.js.map +1 -1
  191. package/dist/components/radio-group/index.d.ts +417 -416
  192. package/dist/components/radio-group/index.d.ts.map +1 -0
  193. package/dist/components/radio-group/index.js +307 -207
  194. package/dist/components/radio-group/index.js.map +1 -1
  195. package/dist/components/radio-group/style.js +3 -4
  196. package/dist/components/radio-group/style.js.map +1 -1
  197. package/dist/components/segmented/index.d.ts +408 -402
  198. package/dist/components/segmented/index.d.ts.map +1 -0
  199. package/dist/components/segmented/index.js +267 -158
  200. package/dist/components/segmented/index.js.map +1 -1
  201. package/dist/components/segmented/style.js +3 -4
  202. package/dist/components/segmented/style.js.map +1 -1
  203. package/dist/components/segmented-trigger/index.d.ts +18 -17
  204. package/dist/components/segmented-trigger/index.d.ts.map +1 -0
  205. package/dist/components/segmented-trigger/index.js +45 -36
  206. package/dist/components/segmented-trigger/index.js.map +1 -1
  207. package/dist/components/segmented-trigger/style.js +3 -4
  208. package/dist/components/segmented-trigger/style.js.map +1 -1
  209. package/dist/components/select/index.d.ts +450 -448
  210. package/dist/components/select/index.d.ts.map +1 -0
  211. package/dist/components/select/index.js +342 -188
  212. package/dist/components/select/index.js.map +1 -1
  213. package/dist/components/select/style.js +3 -4
  214. package/dist/components/select/style.js.map +1 -1
  215. package/dist/components/slider/index.d.ts +428 -427
  216. package/dist/components/slider/index.d.ts.map +1 -0
  217. package/dist/components/slider/index.js +308 -216
  218. package/dist/components/slider/index.js.map +1 -1
  219. package/dist/components/slider/style.js +3 -4
  220. package/dist/components/slider/style.js.map +1 -1
  221. package/dist/components/spinner/index.d.ts +39 -38
  222. package/dist/components/spinner/index.d.ts.map +1 -0
  223. package/dist/components/spinner/index.js +118 -65
  224. package/dist/components/spinner/index.js.map +1 -1
  225. package/dist/components/spinner/style.js +3 -4
  226. package/dist/components/spinner/style.js.map +1 -1
  227. package/dist/components/svg-draw-lines/index.d.ts +40 -39
  228. package/dist/components/svg-draw-lines/index.d.ts.map +1 -0
  229. package/dist/components/svg-draw-lines/index.js +189 -106
  230. package/dist/components/svg-draw-lines/index.js.map +1 -1
  231. package/dist/components/svg-draw-lines/style.js +3 -4
  232. package/dist/components/svg-draw-lines/style.js.map +1 -1
  233. package/dist/components/switch/index.d.ts +411 -409
  234. package/dist/components/switch/index.d.ts.map +1 -0
  235. package/dist/components/switch/index.js +193 -106
  236. package/dist/components/switch/index.js.map +1 -1
  237. package/dist/components/switch/style.js +3 -4
  238. package/dist/components/switch/style.js.map +1 -1
  239. package/dist/components/textarea/index.d.ts +430 -425
  240. package/dist/components/textarea/index.d.ts.map +1 -0
  241. package/dist/components/textarea/index.js +187 -100
  242. package/dist/components/textarea/index.js.map +1 -1
  243. package/dist/components/textarea/style.js +3 -4
  244. package/dist/components/textarea/style.js.map +1 -1
  245. package/dist/components/theme/index.d.ts +45 -44
  246. package/dist/components/theme/index.d.ts.map +1 -0
  247. package/dist/components/theme/index.js +268 -161
  248. package/dist/components/theme/index.js.map +1 -1
  249. package/dist/components/theme/style.js +3 -4
  250. package/dist/components/theme/style.js.map +1 -1
  251. package/dist/components/toast/index.d.ts +4 -3
  252. package/dist/components/toast/index.js +3 -3
  253. package/dist/components/toast/manager.d.ts +9 -8
  254. package/dist/components/toast/manager.d.ts.map +1 -0
  255. package/dist/components/toast/manager.js +215 -119
  256. package/dist/components/toast/manager.js.map +1 -1
  257. package/dist/components/toast/style.js +3 -4
  258. package/dist/components/toast/style.js.map +1 -1
  259. package/dist/components/toast/toast.d.ts +75 -71
  260. package/dist/components/toast/toast.d.ts.map +1 -0
  261. package/dist/components/toast/toast.js +203 -96
  262. package/dist/components/toast/toast.js.map +1 -1
  263. package/dist/components/toast/types.d.ts +10 -9
  264. package/dist/components/toast/types.d.ts.map +1 -0
  265. package/dist/components/tooltip/index.d.ts +72 -62
  266. package/dist/components/tooltip/index.d.ts.map +1 -0
  267. package/dist/components/tooltip/index.js +251 -93
  268. package/dist/components/tooltip/index.js.map +1 -1
  269. package/dist/components/tooltip/style.js +3 -4
  270. package/dist/components/tooltip/style.js.map +1 -1
  271. package/dist/icons/generated/akar-icons-check.d.ts +5 -4
  272. package/dist/icons/generated/akar-icons-check.d.ts.map +1 -0
  273. package/dist/icons/generated/akar-icons-check.js +3 -4
  274. package/dist/icons/generated/akar-icons-check.js.map +1 -1
  275. package/dist/icons/generated/akar-icons-circle-check.d.ts +5 -4
  276. package/dist/icons/generated/akar-icons-circle-check.d.ts.map +1 -0
  277. package/dist/icons/generated/akar-icons-circle-check.js +3 -4
  278. package/dist/icons/generated/akar-icons-circle-check.js.map +1 -1
  279. package/dist/icons/generated/andrsrxn-inbox.d.ts +5 -4
  280. package/dist/icons/generated/andrsrxn-inbox.d.ts.map +1 -0
  281. package/dist/icons/generated/andrsrxn-inbox.js +3 -4
  282. package/dist/icons/generated/andrsrxn-inbox.js.map +1 -1
  283. package/dist/icons/generated/bi-check-lg.d.ts +5 -4
  284. package/dist/icons/generated/bi-check-lg.d.ts.map +1 -0
  285. package/dist/icons/generated/bi-check-lg.js +3 -4
  286. package/dist/icons/generated/bi-check-lg.js.map +1 -1
  287. package/dist/icons/generated/bi-check.d.ts +5 -4
  288. package/dist/icons/generated/bi-check.d.ts.map +1 -0
  289. package/dist/icons/generated/bi-check.js +3 -4
  290. package/dist/icons/generated/bi-check.js.map +1 -1
  291. package/dist/icons/generated/fluent-tag-search-24-regular.d.ts +5 -4
  292. package/dist/icons/generated/fluent-tag-search-24-regular.d.ts.map +1 -0
  293. package/dist/icons/generated/fluent-tag-search-24-regular.js +3 -4
  294. package/dist/icons/generated/fluent-tag-search-24-regular.js.map +1 -1
  295. package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.d.ts +5 -4
  296. package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.d.ts.map +1 -0
  297. package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.js +3 -4
  298. package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.js.map +1 -1
  299. package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.d.ts +5 -4
  300. package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.d.ts.map +1 -0
  301. package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.js +3 -4
  302. package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.js.map +1 -1
  303. package/dist/icons/generated/heroicons-check-16-solid.d.ts +5 -4
  304. package/dist/icons/generated/heroicons-check-16-solid.d.ts.map +1 -0
  305. package/dist/icons/generated/heroicons-check-16-solid.js +3 -4
  306. package/dist/icons/generated/heroicons-check-16-solid.js.map +1 -1
  307. package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts +5 -4
  308. package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts.map +1 -0
  309. package/dist/icons/generated/heroicons-x-mark-16-solid.js +3 -4
  310. package/dist/icons/generated/heroicons-x-mark-16-solid.js.map +1 -1
  311. package/dist/icons/generated/jam-close-circle-f.d.ts +7 -6
  312. package/dist/icons/generated/jam-close-circle-f.d.ts.map +1 -0
  313. package/dist/icons/generated/jam-close-circle-f.js +3 -4
  314. package/dist/icons/generated/jam-close-circle-f.js.map +1 -1
  315. package/dist/icons/generated/lucide-arrow-down-to-line.d.ts +5 -4
  316. package/dist/icons/generated/lucide-arrow-down-to-line.d.ts.map +1 -0
  317. package/dist/icons/generated/lucide-arrow-down-to-line.js +3 -4
  318. package/dist/icons/generated/lucide-arrow-down-to-line.js.map +1 -1
  319. package/dist/icons/generated/lucide-arrow-up-to-line.d.ts +5 -4
  320. package/dist/icons/generated/lucide-arrow-up-to-line.d.ts.map +1 -0
  321. package/dist/icons/generated/lucide-arrow-up-to-line.js +3 -4
  322. package/dist/icons/generated/lucide-arrow-up-to-line.js.map +1 -1
  323. package/dist/icons/generated/lucide-bell.d.ts +5 -4
  324. package/dist/icons/generated/lucide-bell.d.ts.map +1 -0
  325. package/dist/icons/generated/lucide-bell.js +3 -4
  326. package/dist/icons/generated/lucide-bell.js.map +1 -1
  327. package/dist/icons/generated/lucide-check.d.ts +5 -4
  328. package/dist/icons/generated/lucide-check.d.ts.map +1 -0
  329. package/dist/icons/generated/lucide-check.js +3 -4
  330. package/dist/icons/generated/lucide-check.js.map +1 -1
  331. package/dist/icons/generated/lucide-chevron-down.d.ts +5 -4
  332. package/dist/icons/generated/lucide-chevron-down.d.ts.map +1 -0
  333. package/dist/icons/generated/lucide-chevron-down.js +3 -4
  334. package/dist/icons/generated/lucide-chevron-down.js.map +1 -1
  335. package/dist/icons/generated/lucide-chevron-left.d.ts +5 -4
  336. package/dist/icons/generated/lucide-chevron-left.d.ts.map +1 -0
  337. package/dist/icons/generated/lucide-chevron-left.js +3 -4
  338. package/dist/icons/generated/lucide-chevron-left.js.map +1 -1
  339. package/dist/icons/generated/lucide-chevron-right.d.ts +5 -4
  340. package/dist/icons/generated/lucide-chevron-right.d.ts.map +1 -0
  341. package/dist/icons/generated/lucide-chevron-right.js +3 -4
  342. package/dist/icons/generated/lucide-chevron-right.js.map +1 -1
  343. package/dist/icons/generated/lucide-chevron-up.d.ts +5 -4
  344. package/dist/icons/generated/lucide-chevron-up.d.ts.map +1 -0
  345. package/dist/icons/generated/lucide-chevron-up.js +3 -4
  346. package/dist/icons/generated/lucide-chevron-up.js.map +1 -1
  347. package/dist/icons/generated/lucide-circle-alert.d.ts +5 -4
  348. package/dist/icons/generated/lucide-circle-alert.d.ts.map +1 -0
  349. package/dist/icons/generated/lucide-circle-alert.js +3 -4
  350. package/dist/icons/generated/lucide-circle-alert.js.map +1 -1
  351. package/dist/icons/generated/lucide-clapperboard.d.ts +5 -4
  352. package/dist/icons/generated/lucide-clapperboard.d.ts.map +1 -0
  353. package/dist/icons/generated/lucide-clapperboard.js +3 -4
  354. package/dist/icons/generated/lucide-clapperboard.js.map +1 -1
  355. package/dist/icons/generated/lucide-clipboard-paste.d.ts +5 -4
  356. package/dist/icons/generated/lucide-clipboard-paste.d.ts.map +1 -0
  357. package/dist/icons/generated/lucide-clipboard-paste.js +3 -4
  358. package/dist/icons/generated/lucide-clipboard-paste.js.map +1 -1
  359. package/dist/icons/generated/lucide-code.d.ts +5 -4
  360. package/dist/icons/generated/lucide-code.d.ts.map +1 -0
  361. package/dist/icons/generated/lucide-code.js +3 -4
  362. package/dist/icons/generated/lucide-code.js.map +1 -1
  363. package/dist/icons/generated/lucide-copy.d.ts +5 -4
  364. package/dist/icons/generated/lucide-copy.d.ts.map +1 -0
  365. package/dist/icons/generated/lucide-copy.js +3 -4
  366. package/dist/icons/generated/lucide-copy.js.map +1 -1
  367. package/dist/icons/generated/lucide-download.d.ts +5 -4
  368. package/dist/icons/generated/lucide-download.d.ts.map +1 -0
  369. package/dist/icons/generated/lucide-download.js +3 -4
  370. package/dist/icons/generated/lucide-download.js.map +1 -1
  371. package/dist/icons/generated/lucide-ellipsis-vertical.d.ts +5 -4
  372. package/dist/icons/generated/lucide-ellipsis-vertical.d.ts.map +1 -0
  373. package/dist/icons/generated/lucide-ellipsis-vertical.js +3 -4
  374. package/dist/icons/generated/lucide-ellipsis-vertical.js.map +1 -1
  375. package/dist/icons/generated/lucide-external-link.d.ts +5 -4
  376. package/dist/icons/generated/lucide-external-link.d.ts.map +1 -0
  377. package/dist/icons/generated/lucide-external-link.js +3 -4
  378. package/dist/icons/generated/lucide-external-link.js.map +1 -1
  379. package/dist/icons/generated/lucide-eye.d.ts +5 -4
  380. package/dist/icons/generated/lucide-eye.d.ts.map +1 -0
  381. package/dist/icons/generated/lucide-eye.js +3 -4
  382. package/dist/icons/generated/lucide-eye.js.map +1 -1
  383. package/dist/icons/generated/lucide-file-text.d.ts +5 -4
  384. package/dist/icons/generated/lucide-file-text.d.ts.map +1 -0
  385. package/dist/icons/generated/lucide-file-text.js +3 -4
  386. package/dist/icons/generated/lucide-file-text.js.map +1 -1
  387. package/dist/icons/generated/lucide-file.d.ts +5 -4
  388. package/dist/icons/generated/lucide-file.d.ts.map +1 -0
  389. package/dist/icons/generated/lucide-file.js +3 -4
  390. package/dist/icons/generated/lucide-file.js.map +1 -1
  391. package/dist/icons/generated/lucide-film.d.ts +5 -4
  392. package/dist/icons/generated/lucide-film.d.ts.map +1 -0
  393. package/dist/icons/generated/lucide-film.js +3 -4
  394. package/dist/icons/generated/lucide-film.js.map +1 -1
  395. package/dist/icons/generated/lucide-folder-open.d.ts +5 -4
  396. package/dist/icons/generated/lucide-folder-open.d.ts.map +1 -0
  397. package/dist/icons/generated/lucide-folder-open.js +3 -4
  398. package/dist/icons/generated/lucide-folder-open.js.map +1 -1
  399. package/dist/icons/generated/lucide-folder.d.ts +5 -4
  400. package/dist/icons/generated/lucide-folder.d.ts.map +1 -0
  401. package/dist/icons/generated/lucide-folder.js +3 -4
  402. package/dist/icons/generated/lucide-folder.js.map +1 -1
  403. package/dist/icons/generated/lucide-globe.d.ts +5 -4
  404. package/dist/icons/generated/lucide-globe.d.ts.map +1 -0
  405. package/dist/icons/generated/lucide-globe.js +3 -4
  406. package/dist/icons/generated/lucide-globe.js.map +1 -1
  407. package/dist/icons/generated/lucide-headphones.d.ts +5 -4
  408. package/dist/icons/generated/lucide-headphones.d.ts.map +1 -0
  409. package/dist/icons/generated/lucide-headphones.js +3 -4
  410. package/dist/icons/generated/lucide-headphones.js.map +1 -1
  411. package/dist/icons/generated/lucide-heart.d.ts +5 -4
  412. package/dist/icons/generated/lucide-heart.d.ts.map +1 -0
  413. package/dist/icons/generated/lucide-heart.js +3 -4
  414. package/dist/icons/generated/lucide-heart.js.map +1 -1
  415. package/dist/icons/generated/lucide-image.d.ts +5 -4
  416. package/dist/icons/generated/lucide-image.d.ts.map +1 -0
  417. package/dist/icons/generated/lucide-image.js +3 -4
  418. package/dist/icons/generated/lucide-image.js.map +1 -1
  419. package/dist/icons/generated/lucide-inbox.d.ts +5 -4
  420. package/dist/icons/generated/lucide-inbox.d.ts.map +1 -0
  421. package/dist/icons/generated/lucide-inbox.js +3 -4
  422. package/dist/icons/generated/lucide-inbox.js.map +1 -1
  423. package/dist/icons/generated/lucide-info.d.ts +5 -4
  424. package/dist/icons/generated/lucide-info.d.ts.map +1 -0
  425. package/dist/icons/generated/lucide-info.js +3 -4
  426. package/dist/icons/generated/lucide-info.js.map +1 -1
  427. package/dist/icons/generated/lucide-layout-grid.d.ts +5 -4
  428. package/dist/icons/generated/lucide-layout-grid.d.ts.map +1 -0
  429. package/dist/icons/generated/lucide-layout-grid.js +3 -4
  430. package/dist/icons/generated/lucide-layout-grid.js.map +1 -1
  431. package/dist/icons/generated/lucide-link.d.ts +5 -4
  432. package/dist/icons/generated/lucide-link.d.ts.map +1 -0
  433. package/dist/icons/generated/lucide-link.js +3 -4
  434. package/dist/icons/generated/lucide-link.js.map +1 -1
  435. package/dist/icons/generated/lucide-list-filter.d.ts +5 -4
  436. package/dist/icons/generated/lucide-list-filter.d.ts.map +1 -0
  437. package/dist/icons/generated/lucide-list-filter.js +3 -4
  438. package/dist/icons/generated/lucide-list-filter.js.map +1 -1
  439. package/dist/icons/generated/lucide-list-restart.d.ts +5 -4
  440. package/dist/icons/generated/lucide-list-restart.d.ts.map +1 -0
  441. package/dist/icons/generated/lucide-list-restart.js +3 -4
  442. package/dist/icons/generated/lucide-list-restart.js.map +1 -1
  443. package/dist/icons/generated/lucide-loader-circle.d.ts +5 -4
  444. package/dist/icons/generated/lucide-loader-circle.d.ts.map +1 -0
  445. package/dist/icons/generated/lucide-loader-circle.js +3 -4
  446. package/dist/icons/generated/lucide-loader-circle.js.map +1 -1
  447. package/dist/icons/generated/lucide-mail.d.ts +5 -4
  448. package/dist/icons/generated/lucide-mail.d.ts.map +1 -0
  449. package/dist/icons/generated/lucide-mail.js +3 -4
  450. package/dist/icons/generated/lucide-mail.js.map +1 -1
  451. package/dist/icons/generated/lucide-minus.d.ts +5 -4
  452. package/dist/icons/generated/lucide-minus.d.ts.map +1 -0
  453. package/dist/icons/generated/lucide-minus.js +3 -4
  454. package/dist/icons/generated/lucide-minus.js.map +1 -1
  455. package/dist/icons/generated/lucide-music.d.ts +5 -4
  456. package/dist/icons/generated/lucide-music.d.ts.map +1 -0
  457. package/dist/icons/generated/lucide-music.js +3 -4
  458. package/dist/icons/generated/lucide-music.js.map +1 -1
  459. package/dist/icons/generated/lucide-package.d.ts +5 -4
  460. package/dist/icons/generated/lucide-package.d.ts.map +1 -0
  461. package/dist/icons/generated/lucide-package.js +3 -4
  462. package/dist/icons/generated/lucide-package.js.map +1 -1
  463. package/dist/icons/generated/lucide-pen-line.d.ts +5 -4
  464. package/dist/icons/generated/lucide-pen-line.d.ts.map +1 -0
  465. package/dist/icons/generated/lucide-pen-line.js +3 -4
  466. package/dist/icons/generated/lucide-pen-line.js.map +1 -1
  467. package/dist/icons/generated/lucide-pencil.d.ts +5 -4
  468. package/dist/icons/generated/lucide-pencil.d.ts.map +1 -0
  469. package/dist/icons/generated/lucide-pencil.js +3 -4
  470. package/dist/icons/generated/lucide-pencil.js.map +1 -1
  471. package/dist/icons/generated/lucide-play.d.ts +5 -4
  472. package/dist/icons/generated/lucide-play.d.ts.map +1 -0
  473. package/dist/icons/generated/lucide-play.js +3 -4
  474. package/dist/icons/generated/lucide-play.js.map +1 -1
  475. package/dist/icons/generated/lucide-plus.d.ts +5 -4
  476. package/dist/icons/generated/lucide-plus.d.ts.map +1 -0
  477. package/dist/icons/generated/lucide-plus.js +3 -4
  478. package/dist/icons/generated/lucide-plus.js.map +1 -1
  479. package/dist/icons/generated/lucide-printer.d.ts +5 -4
  480. package/dist/icons/generated/lucide-printer.d.ts.map +1 -0
  481. package/dist/icons/generated/lucide-printer.js +3 -4
  482. package/dist/icons/generated/lucide-printer.js.map +1 -1
  483. package/dist/icons/generated/lucide-redo-2.d.ts +5 -4
  484. package/dist/icons/generated/lucide-redo-2.d.ts.map +1 -0
  485. package/dist/icons/generated/lucide-redo-2.js +3 -4
  486. package/dist/icons/generated/lucide-redo-2.js.map +1 -1
  487. package/dist/icons/generated/lucide-refresh-cw.d.ts +5 -4
  488. package/dist/icons/generated/lucide-refresh-cw.d.ts.map +1 -0
  489. package/dist/icons/generated/lucide-refresh-cw.js +3 -4
  490. package/dist/icons/generated/lucide-refresh-cw.js.map +1 -1
  491. package/dist/icons/generated/lucide-scissors.d.ts +5 -4
  492. package/dist/icons/generated/lucide-scissors.d.ts.map +1 -0
  493. package/dist/icons/generated/lucide-scissors.js +3 -4
  494. package/dist/icons/generated/lucide-scissors.js.map +1 -1
  495. package/dist/icons/generated/lucide-search.d.ts +5 -4
  496. package/dist/icons/generated/lucide-search.d.ts.map +1 -0
  497. package/dist/icons/generated/lucide-search.js +3 -4
  498. package/dist/icons/generated/lucide-search.js.map +1 -1
  499. package/dist/icons/generated/lucide-settings.d.ts +5 -4
  500. package/dist/icons/generated/lucide-settings.d.ts.map +1 -0
  501. package/dist/icons/generated/lucide-settings.js +3 -4
  502. package/dist/icons/generated/lucide-settings.js.map +1 -1
  503. package/dist/icons/generated/lucide-sliders-horizontal.d.ts +5 -4
  504. package/dist/icons/generated/lucide-sliders-horizontal.d.ts.map +1 -0
  505. package/dist/icons/generated/lucide-sliders-horizontal.js +3 -4
  506. package/dist/icons/generated/lucide-sliders-horizontal.js.map +1 -1
  507. package/dist/icons/generated/lucide-star.d.ts +5 -4
  508. package/dist/icons/generated/lucide-star.d.ts.map +1 -0
  509. package/dist/icons/generated/lucide-star.js +3 -4
  510. package/dist/icons/generated/lucide-star.js.map +1 -1
  511. package/dist/icons/generated/lucide-tag.d.ts +5 -4
  512. package/dist/icons/generated/lucide-tag.d.ts.map +1 -0
  513. package/dist/icons/generated/lucide-tag.js +3 -4
  514. package/dist/icons/generated/lucide-tag.js.map +1 -1
  515. package/dist/icons/generated/lucide-tags.d.ts +5 -4
  516. package/dist/icons/generated/lucide-tags.d.ts.map +1 -0
  517. package/dist/icons/generated/lucide-tags.js +3 -4
  518. package/dist/icons/generated/lucide-tags.js.map +1 -1
  519. package/dist/icons/generated/lucide-trash-2.d.ts +5 -4
  520. package/dist/icons/generated/lucide-trash-2.d.ts.map +1 -0
  521. package/dist/icons/generated/lucide-trash-2.js +3 -4
  522. package/dist/icons/generated/lucide-trash-2.js.map +1 -1
  523. package/dist/icons/generated/lucide-triangle-alert.d.ts +5 -4
  524. package/dist/icons/generated/lucide-triangle-alert.d.ts.map +1 -0
  525. package/dist/icons/generated/lucide-triangle-alert.js +3 -4
  526. package/dist/icons/generated/lucide-triangle-alert.js.map +1 -1
  527. package/dist/icons/generated/lucide-undo-2.d.ts +5 -4
  528. package/dist/icons/generated/lucide-undo-2.d.ts.map +1 -0
  529. package/dist/icons/generated/lucide-undo-2.js +3 -4
  530. package/dist/icons/generated/lucide-undo-2.js.map +1 -1
  531. package/dist/icons/generated/lucide-upload.d.ts +5 -4
  532. package/dist/icons/generated/lucide-upload.d.ts.map +1 -0
  533. package/dist/icons/generated/lucide-upload.js +3 -4
  534. package/dist/icons/generated/lucide-upload.js.map +1 -1
  535. package/dist/icons/generated/lucide-user.d.ts +5 -4
  536. package/dist/icons/generated/lucide-user.d.ts.map +1 -0
  537. package/dist/icons/generated/lucide-user.js +3 -4
  538. package/dist/icons/generated/lucide-user.js.map +1 -1
  539. package/dist/icons/generated/lucide-wrench.d.ts +5 -4
  540. package/dist/icons/generated/lucide-wrench.d.ts.map +1 -0
  541. package/dist/icons/generated/lucide-wrench.js +3 -4
  542. package/dist/icons/generated/lucide-wrench.js.map +1 -1
  543. package/dist/icons/generated/lucide-x.d.ts +5 -4
  544. package/dist/icons/generated/lucide-x.d.ts.map +1 -0
  545. package/dist/icons/generated/lucide-x.js +3 -4
  546. package/dist/icons/generated/lucide-x.js.map +1 -1
  547. package/dist/icons/generated/mdi-tag-search-outline.d.ts +5 -4
  548. package/dist/icons/generated/mdi-tag-search-outline.d.ts.map +1 -0
  549. package/dist/icons/generated/mdi-tag-search-outline.js +3 -4
  550. package/dist/icons/generated/mdi-tag-search-outline.js.map +1 -1
  551. package/dist/icons/generated/ooui-close.d.ts +5 -4
  552. package/dist/icons/generated/ooui-close.d.ts.map +1 -0
  553. package/dist/icons/generated/ooui-close.js +3 -4
  554. package/dist/icons/generated/ooui-close.js.map +1 -1
  555. package/dist/icons/generated/radix-icons-panel-left-minimized.d.ts +5 -4
  556. package/dist/icons/generated/radix-icons-panel-left-minimized.d.ts.map +1 -0
  557. package/dist/icons/generated/radix-icons-panel-left-minimized.js +3 -4
  558. package/dist/icons/generated/radix-icons-panel-left-minimized.js.map +1 -1
  559. package/dist/icons/generated/radix-icons-reset.d.ts +5 -4
  560. package/dist/icons/generated/radix-icons-reset.d.ts.map +1 -0
  561. package/dist/icons/generated/radix-icons-reset.js +3 -4
  562. package/dist/icons/generated/radix-icons-reset.js.map +1 -1
  563. package/dist/icons/generated/tabler-sort-ascending-letters.d.ts +5 -4
  564. package/dist/icons/generated/tabler-sort-ascending-letters.d.ts.map +1 -0
  565. package/dist/icons/generated/tabler-sort-ascending-letters.js +3 -4
  566. package/dist/icons/generated/tabler-sort-ascending-letters.js.map +1 -1
  567. package/dist/icons/index.d.ts +75 -74
  568. package/dist/icons/index.js +75 -75
  569. package/dist/shared/element-height/index.js +51 -25
  570. package/dist/shared/element-height/index.js.map +1 -1
  571. package/dist/shared/element-width/index.js +39 -24
  572. package/dist/shared/element-width/index.js.map +1 -1
  573. package/dist/shared/events/user-change.js +14 -8
  574. package/dist/shared/events/user-change.js.map +1 -1
  575. package/dist/shared/focus/pointer-focus.js +56 -30
  576. package/dist/shared/focus/pointer-focus.js.map +1 -1
  577. package/dist/shared/focus/tabbable.js +96 -0
  578. package/dist/shared/focus/tabbable.js.map +1 -0
  579. package/dist/shared/form-association/field-id.js +13 -6
  580. package/dist/shared/form-association/field-id.js.map +1 -1
  581. package/dist/shared/form-association/index.js +75 -42
  582. package/dist/shared/form-association/index.js.map +1 -1
  583. package/dist/shared/gesture/drag-gesture.js +239 -99
  584. package/dist/shared/gesture/drag-gesture.js.map +1 -1
  585. package/dist/shared/gesture/physics.js +49 -16
  586. package/dist/shared/gesture/physics.js.map +1 -1
  587. package/dist/shared/gesture/pinch-gesture.js +111 -60
  588. package/dist/shared/gesture/pinch-gesture.js.map +1 -1
  589. package/dist/shared/group-management/index.js +181 -84
  590. package/dist/shared/group-management/index.js.map +1 -1
  591. package/dist/shared/label-emptiness/index.js +45 -26
  592. package/dist/shared/label-emptiness/index.js.map +1 -1
  593. package/dist/shared/locale/builtin-labels.js +38 -0
  594. package/dist/shared/locale/builtin-labels.js.map +1 -0
  595. package/dist/shared/menu-behavior/index.js +113 -60
  596. package/dist/shared/menu-behavior/index.js.map +1 -1
  597. package/dist/shared/menu-portal/menu-portal.js +47 -26
  598. package/dist/shared/menu-portal/menu-portal.js.map +1 -1
  599. package/dist/shared/menu-portal/menu-tree.js +132 -75
  600. package/dist/shared/menu-portal/menu-tree.js.map +1 -1
  601. package/dist/shared/normalize/index.js +16 -7
  602. package/dist/shared/normalize/index.js.map +1 -1
  603. package/dist/shared/open-state/index.js +7 -8
  604. package/dist/shared/open-state/index.js.map +1 -1
  605. package/dist/shared/option-portal/combobox-shell.js +121 -56
  606. package/dist/shared/option-portal/combobox-shell.js.map +1 -1
  607. package/dist/shared/option-portal/index.js +65 -44
  608. package/dist/shared/option-portal/index.js.map +1 -1
  609. package/dist/shared/overlay/anchored-panel.js +75 -40
  610. package/dist/shared/overlay/anchored-panel.js.map +1 -1
  611. package/dist/shared/overlay/native-dialog-presence.js +116 -52
  612. package/dist/shared/overlay/native-dialog-presence.js.map +1 -1
  613. package/dist/shared/overlay/nested-drawer-layers.js +76 -46
  614. package/dist/shared/overlay/nested-drawer-layers.js.map +1 -1
  615. package/dist/shared/overlay/open-overlay.js +240 -136
  616. package/dist/shared/overlay/open-overlay.js.map +1 -1
  617. package/dist/shared/overlay/overlay-root.js +33 -24
  618. package/dist/shared/overlay/overlay-root.js.map +1 -1
  619. package/dist/shared/overlay/overlay.js +109 -66
  620. package/dist/shared/overlay/overlay.js.map +1 -1
  621. package/dist/shared/overlay/placement-props.js +9 -4
  622. package/dist/shared/overlay/placement-props.js.map +1 -1
  623. package/dist/shared/overlay/portal.d.ts +2 -0
  624. package/dist/shared/overlay/portal.d.ts.map +1 -0
  625. package/dist/shared/overlay/portal.js +202 -117
  626. package/dist/shared/overlay/portal.js.map +1 -1
  627. package/dist/shared/overlay/positioning-generation.js +9 -10
  628. package/dist/shared/overlay/positioning-generation.js.map +1 -1
  629. package/dist/shared/overlay/presence.js +43 -21
  630. package/dist/shared/overlay/presence.js.map +1 -1
  631. package/dist/shared/overlay/theme-overlay-scope.js +22 -19
  632. package/dist/shared/overlay/theme-overlay-scope.js.map +1 -1
  633. package/dist/shared/scroll-lock/scroll-lock.js +49 -15
  634. package/dist/shared/scroll-lock/scroll-lock.js.map +1 -1
  635. package/dist/shared/theme/duration.js +13 -6
  636. package/dist/shared/theme/duration.js.map +1 -1
  637. package/dist/shared/theme/reduced-motion.js +14 -9
  638. package/dist/shared/theme/reduced-motion.js.map +1 -1
  639. package/dist/shared/theme/root-sync.js +85 -32
  640. package/dist/shared/theme/root-sync.js.map +1 -1
  641. package/dist/shared/visible-area/index.js +81 -37
  642. package/dist/shared/visible-area/index.js.map +1 -1
  643. package/dist/types/iconify.d.ts +1 -1
  644. package/dist/types/iconify.js +0 -0
  645. package/dist/types/react.d.ts +8 -10
  646. package/dist/types/react.d.ts.map +1 -0
  647. package/dist/types/react.js +0 -0
  648. package/dist/types/utils.d.ts +8 -13
  649. package/dist/types/utils.d.ts.map +1 -0
  650. package/dist/types/utils.js +0 -0
  651. package/dist/types/vue.d.ts +9 -13
  652. package/dist/types/vue.d.ts.map +1 -0
  653. package/dist/types/vue.js +0 -0
  654. package/dist/vite/index.d.ts +1 -0
  655. package/dist/vite/index.d.ts.map +1 -0
  656. package/dist/vite/index.js +30 -4
  657. package/dist/vite/index.js.map +1 -1
  658. package/package.json +10 -23
  659. package/dist/_virtual/_@oxc-project_runtime@0.149.0/helpers/esm/decorate.js +0 -9
  660. package/dist/components/middle-ellipsis/truncate.d.ts +0 -62
  661. package/dist/components/radio/interaction.d.ts +0 -4
  662. package/dist/scrollbars/index.d.ts +0 -33
  663. package/dist/scrollbars/index.js +0 -18
  664. package/dist/scrollbars/index.js.map +0 -1
  665. package/dist/scrollbars/internal.js +0 -6
  666. package/dist/scrollbars/internal.js.map +0 -1
  667. package/dist/scrollbars/style.css +0 -10
@@ -1,161 +1,230 @@
1
- import e from "../../_virtual/_@oxc-project_runtime@0.149.0/helpers/esm/decorate.js";
1
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
2
2
  import "../icon/index.js";
3
- import t from "../../classes/glass.js";
4
- import n from "../../icons/generated/lucide-chevron-down.js";
5
- import { installPointerFocusSuppression as r } from "../../shared/focus/pointer-focus.js";
6
- import { FormAssociated as i, FormAssociationController as a, defineFormAssociation as o } from "../../shared/form-association/index.js";
7
- import s from "../../assets/overlay-motion.js";
8
- import c from "../../scrollbars/internal.js";
9
- import { dispatchOpenChangeEvent as l } from "../../shared/open-state/index.js";
10
- import { createComboboxOpenController as u, createOptionListenerBinding as d, handleComboboxFocusOut as f, nextWrappingIndex as p } from "../../shared/option-portal/combobox-shell.js";
11
- import { defineOptionPortal as m } from "../../shared/option-portal/index.js";
12
- import { defineAnchoredPanel as h } from "../../shared/overlay/anchored-panel.js";
13
- import { defineOpenOverlay as g } from "../../shared/overlay/open-overlay.js";
14
- import { applyOverlayVariables as _, defineOverlayPortal as v } from "../../shared/overlay/portal.js";
15
- import { defineScrollLockLease as y } from "../../shared/scroll-lock/scroll-lock.js";
16
- import b from "./style.js";
17
- import { LitElement as x, html as S, nothing as C, unsafeCSS as w } from "lit";
18
- import { customElement as T, property as E, state as D } from "lit/decorators.js";
19
- import { ifDefined as O } from "lit/directives/if-defined.js";
20
- //#region src/components/select/index.ts
21
- var k;
22
- r();
23
- var A = class extends i(x) {
3
+ import glass_default from "../../classes/glass.js";
4
+ import lucide_chevron_down_default from "../../icons/generated/lucide-chevron-down.js";
5
+ import { installPointerFocusSuppression } from "../../shared/focus/pointer-focus.js";
6
+ import { FormAssociated, FormAssociationController, defineFormAssociation } from "../../shared/form-association/index.js";
7
+ import overlay_motion_default from "../../assets/overlay-motion.js";
8
+ import scrollbar_default from "../../assets/scrollbar.js";
9
+ import { dispatchOpenChangeEvent } from "../../shared/open-state/index.js";
10
+ import { createComboboxOpenController, createOptionListenerBinding, handleComboboxFocusOut, nextWrappingIndex } from "../../shared/option-portal/combobox-shell.js";
11
+ import { defineOptionPortal } from "../../shared/option-portal/index.js";
12
+ import { defineAnchoredPanel } from "../../shared/overlay/anchored-panel.js";
13
+ import { defineOpenOverlay } from "../../shared/overlay/open-overlay.js";
14
+ import { applyOverlayVariables, defineOverlayPortal } from "../../shared/overlay/portal.js";
15
+ import { defineScrollLockLease } from "../../shared/scroll-lock/scroll-lock.js";
16
+ import style_default from "./style.js";
17
+ import { LitElement, html, nothing, unsafeCSS } from "lit";
18
+ import { customElement, property, state } from "lit/decorators.js";
19
+ import { ifDefined } from "lit/directives/if-defined.js";
20
+ // src/components/select/index.ts
21
+ var _WebUiSelect;
22
+ installPointerFocusSuppression();
23
+ let WebUiSelect = class WebUiSelect extends FormAssociated(LitElement) {
24
24
  static {
25
- k = this;
26
- }
27
- constructor(...e) {
28
- super(...e), this.placeholder = "", this.disabled = !1, this.required = !1, this.portal = !1, this.noScrollLock = !1, this.name = "", this.ariaLabel = null, this._value = "", this._formAssociation = o({
25
+ _WebUiSelect = this;
26
+ }
27
+ constructor(..._args) {
28
+ super(..._args);
29
+ this.placeholder = "";
30
+ this.disabled = false;
31
+ this.required = false;
32
+ this.portal = false;
33
+ this.noScrollLock = false;
34
+ this.name = "";
35
+ this.ariaLabel = null;
36
+ this._value = "";
37
+ this._formAssociation = defineFormAssociation({
29
38
  host: this,
30
39
  initialize: () => {
31
- let e = this.getAttribute("value");
32
- e !== null && (this._value = e, this.toggleAttribute("data-has-value", !!e));
40
+ const attrValue = this.getAttribute("value");
41
+ if (attrValue !== null) {
42
+ this._value = attrValue;
43
+ this.toggleAttribute("data-has-value", !!attrValue);
44
+ }
33
45
  },
34
46
  getState: () => this._value,
35
- setState: (e) => {
36
- this.value = e;
47
+ setState: (value) => {
48
+ this.value = value;
37
49
  },
38
50
  getFormValue: () => this._value,
39
51
  getFormState: () => this._value,
40
- restoreState: (e) => {
41
- typeof e == "string" && (this.value = e);
52
+ restoreState: (state) => {
53
+ if (typeof state === "string") this.value = state;
42
54
  },
43
55
  syncValidity: () => this._syncValidity()
44
- }).make(), this._formAssociationController = new a(this, this._formAssociation), this._isOpen = !1, this._activeIndex = -1, this._selectedLabel = "", this._hasTriggerSlot = !1, this._typeaheadBuffer = "", this._typeaheadLastInputAt = 0, this._options = [], this._scrollLock = y().make(), this._optionPortal = m().make({
56
+ }).make();
57
+ this._formAssociationController = new FormAssociationController(this, this._formAssociation);
58
+ this._isOpen = false;
59
+ this._activeIndex = -1;
60
+ this._selectedLabel = "";
61
+ this._hasTriggerSlot = false;
62
+ this._typeaheadBuffer = "";
63
+ this._typeaheadLastInputAt = 0;
64
+ this._options = [];
65
+ this._scrollLock = defineScrollLockLease().make();
66
+ this._optionPortal = defineOptionPortal().make({
45
67
  element: this,
46
- idPrefix: `web-ui-select-${++k._nextInstanceId}`,
68
+ idPrefix: `web-ui-select-${++_WebUiSelect._nextInstanceId}`,
47
69
  getPortal: () => this._portal,
48
70
  getPortalContent: () => this._portalContent,
49
71
  isOpen: () => this.portal && this._isOpen,
50
72
  getMigratableNodes: () => [...this.querySelectorAll("web-ui-option")],
51
73
  hasUpdated: () => this.hasUpdated,
52
74
  requestUpdate: () => this.requestUpdate(),
53
- bindOption: (e) => this._bindOption(e),
54
- unbindOption: (e) => this._unbindOption(e),
75
+ bindOption: (option) => this._bindOption(option),
76
+ unbindOption: (option) => this._unbindOption(option),
55
77
  onImmediateSync: () => {
56
- this._refreshOptions(), this._syncSelected(), this._syncActiveOption();
78
+ this._refreshOptions();
79
+ this._syncSelected();
80
+ this._syncActiveOption();
57
81
  }
58
- }), this._overlay = g().make({
82
+ });
83
+ this._overlay = defineOpenOverlay().make({
59
84
  requestClose: () => this._close(),
60
85
  isConnected: () => this.isConnected
61
- }), this._panel = h().make({
86
+ });
87
+ this._panel = defineAnchoredPanel().make({
62
88
  getAnchor: () => this.shadowRoot?.querySelector(".select-trigger") ?? null,
63
89
  getLocalPanel: () => this.shadowRoot?.querySelector(".select-overlay") ?? null,
64
90
  getPositioning: () => ({
65
91
  placement: "bottom-start",
66
92
  offset: 4,
67
- minAnchorWidth: !0,
93
+ minAnchorWidth: true,
68
94
  strategy: this.portal ? "fixed" : "absolute"
69
95
  }),
70
96
  isPortal: () => this.portal,
71
97
  createPortal: () => this._createPortal(),
72
98
  openOverlay: this._overlay
73
- }), this._onClickOutside = (e) => {
74
- let t = e.composedPath().includes(this) || !!this._panel.getHandle()?.containsEvent(e);
75
- this._isOpen && !t && this._close();
76
- }, this._onFocusOut = () => {
77
- f(this, () => this._panel.getHandle(), () => this._isOpen, () => this._close());
78
- }, this._onTriggerSlotChange = (e) => {
79
- let t = e.target.assignedElements().length > 0;
80
- this._hasTriggerSlot !== t && (this._hasTriggerSlot = t, this._reconfigureOverlay());
81
- }, this._optionListeners = d({
82
- onClick: (e) => this._handleOptionClick(e),
83
- onPointerOver: (e) => this._handleOptionPointerOver(e),
84
- onPointerDown: (e) => this._handleOptionPointerDown(e),
99
+ });
100
+ this._onClickOutside = (e) => {
101
+ const isInside = e.composedPath().includes(this) || !!this._panel.getHandle()?.containsEvent(e);
102
+ if (this._isOpen && !isInside) this._close();
103
+ };
104
+ this._onFocusOut = () => {
105
+ handleComboboxFocusOut(this, () => this._panel.getHandle(), () => this._isOpen, () => this._close());
106
+ };
107
+ this._onTriggerSlotChange = (e) => {
108
+ const hasContent = e.target.assignedElements().length > 0;
109
+ if (this._hasTriggerSlot === hasContent) return;
110
+ this._hasTriggerSlot = hasContent;
111
+ this._reconfigureOverlay();
112
+ };
113
+ this._optionListeners = createOptionListenerBinding({
114
+ onClick: (event) => this._handleOptionClick(event),
115
+ onPointerOver: (event) => this._handleOptionPointerOver(event),
116
+ onPointerDown: (event) => this._handleOptionPointerDown(event),
85
117
  onUpdate: () => this._onOptionUpdate()
86
- }), this._bindOption = (e) => this._optionListeners.bind(e), this._unbindOption = (e) => this._optionListeners.unbind(e), this._handleOptionClick = (e) => {
118
+ });
119
+ this._bindOption = (option) => this._optionListeners.bind(option);
120
+ this._unbindOption = (option) => this._optionListeners.unbind(option);
121
+ this._handleOptionClick = (e) => {
87
122
  if (!(e.currentTarget instanceof HTMLElement)) return;
88
- let t = e.currentTarget;
89
- !t.disabled && this._isLive(t) && (this.value = t.value, this._close(), this._notifyValueChange());
90
- }, this._onOptionUpdate = () => {
91
- this._syncSelected(), this._syncActiveOption();
92
- }, this._handleOptionPointerOver = (e) => {
93
- e.pointerType !== "touch" && (!this._isOpen || this._activeIndex < 0 || !(e.currentTarget instanceof HTMLElement) || (this._activeIndex = -1, this._resetTypeahead(), this._syncActiveOption()));
94
- }, this._handleOptionPointerDown = (e) => {
123
+ const option = e.currentTarget;
124
+ if (option.disabled || !this._isLive(option)) return;
125
+ this.value = option.value;
126
+ this._close();
127
+ this._notifyValueChange();
128
+ };
129
+ this._onOptionUpdate = () => {
130
+ this._syncSelected();
131
+ this._syncActiveOption();
132
+ };
133
+ this._handleOptionPointerOver = (e) => {
134
+ if (e.pointerType === "touch") return;
135
+ if (!this._isOpen || this._activeIndex < 0 || !(e.currentTarget instanceof HTMLElement)) return;
136
+ this._activeIndex = -1;
137
+ this._resetTypeahead();
138
+ this._syncActiveOption();
139
+ };
140
+ this._handleOptionPointerDown = (e) => {
95
141
  e.preventDefault();
96
- }, this._onSlotChange = () => {
142
+ };
143
+ this._onSlotChange = () => {
97
144
  this._optionPortal.scheduleRefresh();
98
- }, this._onKeydown = (e) => {
99
- if (!(this._isDisabled || e.isComposing)) switch (e.key) {
145
+ };
146
+ this._onKeydown = (e) => {
147
+ if (this._isDisabled || e.isComposing) return;
148
+ switch (e.key) {
100
149
  case "ArrowDown":
101
- e.preventDefault(), this._isOpen ? this._navigateActive(1) : this._open(!0);
150
+ e.preventDefault();
151
+ if (!this._isOpen) this._open(true);
152
+ else this._navigateActive(1);
102
153
  break;
103
154
  case "ArrowUp":
104
- e.preventDefault(), this._isOpen ? this._navigateActive(-1) : this._open(!0);
155
+ e.preventDefault();
156
+ if (!this._isOpen) this._open(true);
157
+ else this._navigateActive(-1);
105
158
  break;
106
159
  case "Home":
107
160
  if (!this._isOpen) break;
108
- e.preventDefault(), this._moveActiveToBoundary(!0);
161
+ e.preventDefault();
162
+ this._moveActiveToBoundary(true);
109
163
  break;
110
164
  case "End":
111
165
  if (!this._isOpen) break;
112
- e.preventDefault(), this._moveActiveToBoundary(!1);
166
+ e.preventDefault();
167
+ this._moveActiveToBoundary(false);
113
168
  break;
114
169
  case "Enter":
115
- if (e.preventDefault(), e.repeat) break;
116
- this._isOpen ? this._activeIndex >= 0 && this._selectActiveOption() : this._open(!0);
170
+ e.preventDefault();
171
+ if (e.repeat) break;
172
+ if (!this._isOpen) this._open(true);
173
+ else if (this._activeIndex >= 0) this._selectActiveOption();
117
174
  break;
118
175
  case " ":
119
176
  case "Space":
120
177
  case "Spacebar":
121
- if (e.preventDefault(), e.repeat) break;
122
- this._isOpen ? this._activeIndex >= 0 && this._selectActiveOption() : this._open(!0);
178
+ e.preventDefault();
179
+ if (e.repeat) break;
180
+ if (!this._isOpen) this._open(true);
181
+ else if (this._activeIndex >= 0) this._selectActiveOption();
123
182
  break;
124
- default: this._isOpen && !e.isComposing && !e.ctrlKey && !e.metaKey && !e.altKey && Array.from(e.key).length === 1 && (e.preventDefault(), this._typeahead(e.key));
183
+ default: if (this._isOpen && !e.isComposing && !e.ctrlKey && !e.metaKey && !e.altKey && Array.from(e.key).length === 1) {
184
+ e.preventDefault();
185
+ this._typeahead(e.key);
186
+ }
125
187
  }
126
- }, this._openController = u({
188
+ };
189
+ this._openController = createComboboxOpenController({
127
190
  canOpen: () => !this._isDisabled,
128
191
  getIsOpen: () => this._isOpen,
129
- setIsOpen: (e) => {
130
- this._isOpen = e;
192
+ setIsOpen: (open) => {
193
+ this._isOpen = open;
131
194
  },
132
195
  dispatchOpenChange: () => this._dispatchOpenChange(),
133
- syncScrollLock: (e) => this._syncScrollLock(e),
196
+ syncScrollLock: (open) => this._syncScrollLock(open),
134
197
  isPortal: () => this.portal,
135
- openOverlay: (e) => this._openOverlay(e),
198
+ openOverlay: (isKeyboardNavigation) => this._openOverlay(isKeyboardNavigation),
136
199
  closeOverlay: () => void this._closeOverlay(),
137
- onOpen: (e) => {
138
- this._syncSelected(), e ? this._setInitialActiveOption() : this._syncActiveOption();
200
+ onOpen: (isKeyboardNavigation) => {
201
+ this._syncSelected();
202
+ if (isKeyboardNavigation) this._setInitialActiveOption();
203
+ else this._syncActiveOption();
139
204
  },
140
205
  onAfterClose: () => {
141
- this._activeIndex = -1, this._options.forEach((e) => e.removeAttribute("active"));
206
+ this._activeIndex = -1;
207
+ this._options.forEach((o) => o.removeAttribute("active"));
142
208
  }
143
209
  });
144
210
  }
145
211
  static {
146
212
  this.styles = [
147
- w(t),
148
- w(s),
149
- w(c),
150
- w(b)
213
+ unsafeCSS(glass_default),
214
+ unsafeCSS(overlay_motion_default),
215
+ unsafeCSS(scrollbar_default),
216
+ unsafeCSS(style_default)
151
217
  ];
152
218
  }
153
219
  get value() {
154
220
  return this._value;
155
221
  }
156
- set value(e) {
157
- let t = this._value;
158
- this._value = e, this._formAssociation.sync(), this.toggleAttribute("data-has-value", !!e), this.requestUpdate("value", t);
222
+ set value(v) {
223
+ const old = this._value;
224
+ this._value = v;
225
+ this._formAssociation.sync();
226
+ this.toggleAttribute("data-has-value", !!v);
227
+ this.requestUpdate("value", old);
159
228
  }
160
229
  get _isDisabled() {
161
230
  return this.disabled || this._formAssociation.isFormDisabled();
@@ -170,25 +239,47 @@ var A = class extends i(x) {
170
239
  return this._isOpen;
171
240
  }
172
241
  connectedCallback() {
173
- super.connectedCallback(), this._optionPortal.bindHost(), this.addEventListener("keydown", this._onKeydown), this.addEventListener("focusout", this._onFocusOut), document.addEventListener("click", this._onClickOutside);
242
+ super.connectedCallback();
243
+ this._optionPortal.bindHost();
244
+ this.addEventListener("keydown", this._onKeydown);
245
+ this.addEventListener("focusout", this._onFocusOut);
246
+ document.addEventListener("click", this._onClickOutside);
174
247
  }
175
248
  disconnectedCallback() {
176
- super.disconnectedCallback(), this._optionPortal.dispose(), this.removeEventListener("keydown", this._onKeydown), this.removeEventListener("focusout", this._onFocusOut), document.removeEventListener("click", this._onClickOutside), this._options.forEach(this._unbindOption), this._options = [], this._portal = void 0, this._portalContent = void 0, this._close(), this._panel.dispose(), this._scrollLock.release();
249
+ super.disconnectedCallback();
250
+ this._optionPortal.dispose();
251
+ this.removeEventListener("keydown", this._onKeydown);
252
+ this.removeEventListener("focusout", this._onFocusOut);
253
+ document.removeEventListener("click", this._onClickOutside);
254
+ this._options.forEach(this._unbindOption);
255
+ this._options = [];
256
+ this._portal = void 0;
257
+ this._portalContent = void 0;
258
+ this._close();
259
+ this._panel.dispose();
260
+ this._scrollLock.release();
177
261
  }
178
262
  firstUpdated() {
179
263
  requestAnimationFrame(() => {
180
- this.isConnected && this._optionPortal.scheduleRefresh();
264
+ if (this.isConnected) this._optionPortal.scheduleRefresh();
181
265
  });
182
266
  }
183
267
  willUpdate() {
184
- this._refreshOptions(), this._syncSelected();
268
+ this._refreshOptions();
269
+ this._syncSelected();
185
270
  }
186
- updated(e) {
187
- (e.has("portal") || e.has("overlayContainer")) && requestAnimationFrame(() => this._reconfigureOverlay()), e.has("noScrollLock") && this._syncScrollLock(), this._syncOpenAttribute(), this._syncOverlayInert(), this._syncValidity();
271
+ updated(changed) {
272
+ if (changed.has("portal") || changed.has("overlayContainer")) requestAnimationFrame(() => this._reconfigureOverlay());
273
+ if (changed.has("noScrollLock")) this._syncScrollLock();
274
+ this._syncOpenAttribute();
275
+ this._syncOverlayInert();
276
+ this._syncValidity();
188
277
  }
189
278
  _syncValidity() {
190
- let e = this._formAssociation.getInternals();
191
- e && typeof e.setValidity == "function" && (this._isDisabled || !this.required || this.value ? e.setValidity({}) : e.setValidity({ valueMissing: !0 }, "Select an option"));
279
+ const internals = this._formAssociation.getInternals();
280
+ if (!internals || typeof internals.setValidity !== "function") return;
281
+ if (this._isDisabled || !this.required || this.value) internals.setValidity({});
282
+ else internals.setValidity({ valueMissing: true }, "Select an option");
192
283
  }
193
284
  _syncOpenAttribute() {
194
285
  this.toggleAttribute("open", this._isOpen);
@@ -197,121 +288,171 @@ var A = class extends i(x) {
197
288
  this._panel.getHandle()?.setInert(this._isDisabled);
198
289
  }
199
290
  _syncSelected() {
200
- if (this._options.forEach((e) => {
201
- let t = this.value !== "" && e.value === this.value;
202
- e.selected = t, e.setAttribute("role", "option"), e.setAttribute("aria-selected", String(t)), e.setAttribute("aria-disabled", String(e.disabled));
203
- }), !this.value) {
291
+ this._options.forEach((o) => {
292
+ const selected = this.value !== "" && o.value === this.value;
293
+ o.selected = selected;
294
+ o.setAttribute("role", "option");
295
+ o.setAttribute("aria-selected", String(selected));
296
+ o.setAttribute("aria-disabled", String(o.disabled));
297
+ });
298
+ if (!this.value) {
204
299
  this._selectedLabel = this.placeholder;
205
300
  return;
206
301
  }
207
- let e = this._options.find((e) => e.value === this.value);
208
- this._selectedLabel = e?.label || this.placeholder;
302
+ const option = this._options.find((o) => o.value === this.value);
303
+ this._selectedLabel = option?.label || this.placeholder;
209
304
  }
210
305
  _refreshOptions() {
211
- let e = this._options[this._activeIndex], t = this._optionPortal.refresh(this._options, e);
212
- this._options = t.options, this._activeIndex = t.activeIndex, this._optionPortal.ensureOptionIds(this._options);
306
+ const activeOption = this._options[this._activeIndex];
307
+ const next = this._optionPortal.refresh(this._options, activeOption);
308
+ this._options = next.options;
309
+ this._activeIndex = next.activeIndex;
310
+ this._optionPortal.ensureOptionIds(this._options);
213
311
  }
214
- _isLive(e) {
215
- let t = this.portal ? this._panel.getPanel() : null;
216
- return e.isConnected && (this.contains(e) || !!t && t.contains(e));
312
+ _isLive(option) {
313
+ const panel = this.portal ? this._panel.getPanel() : null;
314
+ return option.isConnected && (this.contains(option) || !!panel && panel.contains(option));
217
315
  }
218
316
  _selectActiveOption() {
219
- let e = this._options[this._activeIndex];
220
- e && this._isLive(e) && !e.disabled && (this.value = e.value, this._notifyValueChange()), this._close();
317
+ const option = this._options[this._activeIndex];
318
+ if (option && this._isLive(option) && !option.disabled) {
319
+ this.value = option.value;
320
+ this._notifyValueChange();
321
+ }
322
+ this._close();
221
323
  }
222
- _moveActiveToBoundary(e) {
324
+ _moveActiveToBoundary(toStart) {
223
325
  this._resetTypeahead();
224
- let t = this._options.filter((e) => !e.disabled && this._isLive(e)), n = e ? t[0] : t.at(-1);
225
- n && (this._activeIndex = this._options.indexOf(n), this._syncActiveOption());
226
- }
227
- _typeahead(e) {
228
- let t = this._options.filter((e) => !e.disabled && this._isLive(e));
229
- if (!t.length) return;
230
- let n = Date.now(), r = n - this._typeaheadLastInputAt <= 500, i = r && Array.from(this._typeaheadBuffer).length === 1 && this._normalizeTypeaheadText(this._typeaheadBuffer) === this._normalizeTypeaheadText(e) ? e : r ? `${this._typeaheadBuffer}${e}` : e;
231
- this._typeaheadBuffer = i, this._typeaheadLastInputAt = n;
232
- let a = this._options[this._activeIndex], o = a ? t.indexOf(a) : -1, s = (e) => {
233
- let n = this._normalizeTypeaheadText(e);
234
- for (let e = 1; e <= t.length; e++) {
235
- let r = t[(o + e + t.length) % t.length];
236
- if (this._normalizeTypeaheadText(r.label.trimStart()).startsWith(n)) return r;
326
+ const enabled = this._options.filter((option) => !option.disabled && this._isLive(option));
327
+ const option = toStart ? enabled[0] : enabled.at(-1);
328
+ if (!option) return;
329
+ this._activeIndex = this._options.indexOf(option);
330
+ this._syncActiveOption();
331
+ }
332
+ _typeahead(key) {
333
+ const enabled = this._options.filter((option) => !option.disabled && this._isLive(option));
334
+ if (!enabled.length) return;
335
+ const now = Date.now();
336
+ const withinSequence = now - this._typeaheadLastInputAt <= 500;
337
+ const query = withinSequence && Array.from(this._typeaheadBuffer).length === 1 && this._normalizeTypeaheadText(this._typeaheadBuffer) === this._normalizeTypeaheadText(key) ? key : withinSequence ? `${this._typeaheadBuffer}${key}` : key;
338
+ this._typeaheadBuffer = query;
339
+ this._typeaheadLastInputAt = now;
340
+ const activeOption = this._options[this._activeIndex];
341
+ const activeIndex = activeOption ? enabled.indexOf(activeOption) : -1;
342
+ const findMatch = (prefix) => {
343
+ const normalizedPrefix = this._normalizeTypeaheadText(prefix);
344
+ for (let offset = 1; offset <= enabled.length; offset++) {
345
+ const option = enabled[(activeIndex + offset + enabled.length) % enabled.length];
346
+ if (this._normalizeTypeaheadText(option.label.trimStart()).startsWith(normalizedPrefix)) return option;
237
347
  }
238
- }, c = (i !== e && o >= 0 && a && this._normalizeTypeaheadText(a.label.trimStart()).startsWith(this._normalizeTypeaheadText(i)) ? a : void 0) ?? s(i), l = c ?? (i === e ? void 0 : s(e));
239
- !c && i !== e && (this._typeaheadBuffer = e), l && (this._activeIndex = this._options.indexOf(l), this._syncActiveOption());
240
- }
241
- _normalizeTypeaheadText(e) {
242
- return e.toLocaleLowerCase().normalize("NFD").replace(/\p{M}/gu, "");
243
- }
244
- _navigateActive(e) {
348
+ };
349
+ const queryMatch = (query !== key && activeIndex >= 0 && activeOption && this._normalizeTypeaheadText(activeOption.label.trimStart()).startsWith(this._normalizeTypeaheadText(query)) ? activeOption : void 0) ?? findMatch(query);
350
+ const option = queryMatch ?? (query === key ? void 0 : findMatch(key));
351
+ if (!queryMatch && query !== key) this._typeaheadBuffer = key;
352
+ if (!option) return;
353
+ this._activeIndex = this._options.indexOf(option);
354
+ this._syncActiveOption();
355
+ }
356
+ _normalizeTypeaheadText(value) {
357
+ return value.toLocaleLowerCase().normalize("NFD").replace(/\p{M}/gu, "");
358
+ }
359
+ _navigateActive(delta) {
245
360
  this._resetTypeahead();
246
- let t = this._options.filter((e) => !e.disabled && this._isLive(e));
247
- if (!t.length) return;
248
- let n = this._options.find((e) => e.value === this.value && !e.disabled && this._isLive(e)), r = this._activeIndex >= 0 && this._isLive(this._options[this._activeIndex]) ? t.indexOf(this._options[this._activeIndex]) : n ? t.indexOf(n) : e > 0 ? -1 : 0, i = t[p(t.length, r, e)];
249
- this._activeIndex = this._options.indexOf(i), this._syncActiveOption();
250
- }
251
- _open(e = !1) {
252
- this._resetTypeahead(), this._openController.open(e);
361
+ const enabled = this._options.filter((o) => !o.disabled && this._isLive(o));
362
+ if (!enabled.length) return;
363
+ const selectedOption = this._options.find((option) => option.value === this.value && !option.disabled && this._isLive(option));
364
+ const currentIdx = this._activeIndex >= 0 && this._isLive(this._options[this._activeIndex]) ? enabled.indexOf(this._options[this._activeIndex]) : selectedOption ? enabled.indexOf(selectedOption) : delta > 0 ? -1 : 0;
365
+ const nextOption = enabled[nextWrappingIndex(enabled.length, currentIdx, delta)];
366
+ this._activeIndex = this._options.indexOf(nextOption);
367
+ this._syncActiveOption();
368
+ }
369
+ _open(isKeyboardNavigation = false) {
370
+ this._resetTypeahead();
371
+ this._openController.open(isKeyboardNavigation);
253
372
  }
254
373
  _close() {
255
- this._resetTypeahead(), this._openController.close();
374
+ this._resetTypeahead();
375
+ this._openController.close();
256
376
  }
257
377
  _resetTypeahead() {
258
- this._typeaheadBuffer = "", this._typeaheadLastInputAt = 0;
378
+ this._typeaheadBuffer = "";
379
+ this._typeaheadLastInputAt = 0;
259
380
  }
260
381
  _dispatchOpenChange() {
261
- l(this, this._isOpen);
382
+ dispatchOpenChangeEvent(this, this._isOpen);
262
383
  }
263
384
  _setInitialActiveOption() {
264
- let e = this._options.findIndex((e) => e.value === this.value && !e.disabled && this._isLive(e)), t = this._options.findIndex((e) => !e.disabled && this._isLive(e));
265
- this._activeIndex = e >= 0 ? e : t, this._syncActiveOption();
385
+ const selectedIndex = this._options.findIndex((option) => option.value === this.value && !option.disabled && this._isLive(option));
386
+ const firstEnabledIndex = this._options.findIndex((option) => !option.disabled && this._isLive(option));
387
+ this._activeIndex = selectedIndex >= 0 ? selectedIndex : firstEnabledIndex;
388
+ this._syncActiveOption();
266
389
  }
267
390
  _syncActiveOption() {
268
- this._options.forEach((e, t) => e.toggleAttribute("active", t === this._activeIndex && this._isLive(e)));
391
+ this._options.forEach((option, index) => option.toggleAttribute("active", index === this._activeIndex && this._isLive(option)));
269
392
  }
270
393
  _notifyValueChange() {
271
394
  this.dispatchEvent(new Event("input", {
272
- bubbles: !0,
273
- composed: !0
274
- })), this.dispatchEvent(new Event("change", {
275
- bubbles: !0,
276
- composed: !0
395
+ bubbles: true,
396
+ composed: true
397
+ }));
398
+ this.dispatchEvent(new Event("change", {
399
+ bubbles: true,
400
+ composed: true
277
401
  }));
278
402
  }
279
- _syncScrollLock(e = this._isOpen) {
280
- this._scrollLock.sync(e && !this.noScrollLock);
403
+ _syncScrollLock(isOpen = this._isOpen) {
404
+ this._scrollLock.sync(isOpen && !this.noScrollLock);
281
405
  }
282
406
  _togglePopup() {
283
- this._isDisabled || (this._isOpen ? this._close() : this._open());
407
+ if (this._isDisabled) return;
408
+ if (this._isOpen) this._close();
409
+ else this._open();
284
410
  }
285
- _openOverlay(e = !1) {
286
- this._panel.open(e), this._syncOverlayInert();
411
+ _openOverlay(isKeyboardNavigation = false) {
412
+ this._panel.open(isKeyboardNavigation);
413
+ this._syncOverlayInert();
287
414
  }
288
415
  _createPortal() {
289
- let e = v().make({
416
+ const portal = defineOverlayPortal().make({
290
417
  container: this.overlayContainer,
291
418
  target: this,
292
- style: `${t}\n${s}\n${c}\n${b}`,
419
+ style: `${glass_default}\n${overlay_motion_default}\n${scrollbar_default}\n${style_default}`,
293
420
  className: "wui-glass select-overlay portal wui-floating-panel",
294
421
  onContentChange: () => this._optionPortal.scheduleRefresh()
295
422
  });
296
- this._portal = e, _(e.panel, this, [
423
+ this._portal = portal;
424
+ applyOverlayVariables(portal.panel, this, [
297
425
  "--wui-overlay-min-width",
298
426
  "--wui-select-max-width",
299
427
  "--wui-select-max-height"
300
- ]), e.panel.setAttribute("role", "listbox");
301
- let n = document.createElement("div");
302
- n.className = "select-scroll wui-scroll";
303
- let r = document.createElement("div");
304
- return r.className = "select-content", this._portalContent = r, n.append(r), e.panel.append(n), e.moveContent(Array.from(this.children).filter((e) => e.slot !== "trigger"), r), e;
428
+ ]);
429
+ portal.panel.setAttribute("role", "listbox");
430
+ const scroll = document.createElement("div");
431
+ scroll.className = "select-scroll wui-scroll";
432
+ const content = document.createElement("div");
433
+ content.className = "select-content";
434
+ this._portalContent = content;
435
+ scroll.append(content);
436
+ portal.panel.append(scroll);
437
+ portal.moveContent(Array.from(this.children).filter((child) => child.slot !== "trigger"), content);
438
+ return portal;
305
439
  }
306
440
  _reconfigureOverlay() {
307
- this._portal = void 0, this._portalContent = void 0, this._panel.reconfigure(this._isOpen), this._syncOverlayInert();
441
+ this._portal = void 0;
442
+ this._portalContent = void 0;
443
+ this._panel.reconfigure(this._isOpen);
444
+ this._syncOverlayInert();
308
445
  }
309
446
  async _closeOverlay() {
310
- await this._panel.close(() => this._isOpen) && (this._portal = void 0, this._portalContent = void 0);
447
+ if (await this._panel.close(() => this._isOpen)) {
448
+ this._portal = void 0;
449
+ this._portalContent = void 0;
450
+ }
311
451
  }
312
452
  render() {
313
- let e = `${this.localName}-listbox`, t = !this.portal && this._isOpen && this._activeIndex >= 0 ? this._options[this._activeIndex]?.id ?? C : C;
314
- return S`
453
+ const listboxId = `${this.localName}-listbox`;
454
+ const activeDescendant = !this.portal && this._isOpen && this._activeIndex >= 0 ? this._options[this._activeIndex]?.id ?? nothing : nothing;
455
+ return html`
315
456
  <div class="wui-select-inner">
316
457
  <div
317
458
  class="wui-glass select-trigger"
@@ -321,16 +462,16 @@ var A = class extends i(x) {
321
462
  role="combobox"
322
463
  aria-expanded=${this._isOpen}
323
464
  aria-haspopup="listbox"
324
- aria-controls=${this.portal ? C : e}
465
+ aria-controls=${this.portal ? nothing : listboxId}
325
466
  aria-disabled=${String(this._isDisabled)}
326
- aria-activedescendant=${t}
327
- aria-label=${O(this.ariaLabel)}
467
+ aria-activedescendant=${activeDescendant}
468
+ aria-label=${ifDefined(this.ariaLabel)}
328
469
  >
329
470
  <slot name="trigger" @slotchange=${this._onTriggerSlotChange}></slot>
330
- ${this._hasTriggerSlot ? C : S`<span class="label">${this._selectedLabel}</span>`}
331
- <web-ui-icon class="arrow" .icon=${n}></web-ui-icon>
471
+ ${!this._hasTriggerSlot ? html`<span class="label">${this._selectedLabel}</span>` : nothing}
472
+ <web-ui-icon class="arrow" .icon=${lucide_chevron_down_default}></web-ui-icon>
332
473
  </div>
333
- <div class="select-overlay wui-floating-panel wui-glass" hidden role="listbox" id=${e}>
474
+ <div class="select-overlay wui-floating-panel wui-glass" hidden role="listbox" id=${listboxId}>
334
475
  <div class="select-scroll wui-scroll">
335
476
  <div class="select-content">
336
477
  <slot @slotchange=${this._onSlotChange}></slot>
@@ -341,33 +482,46 @@ var A = class extends i(x) {
341
482
  `;
342
483
  }
343
484
  };
344
- e([E({
485
+ __decorate([property({
345
486
  type: String,
346
- reflect: !0
347
- })], A.prototype, "placeholder", void 0), e([E({
487
+ reflect: true
488
+ })], WebUiSelect.prototype, "placeholder", void 0);
489
+ __decorate([property({
348
490
  type: Boolean,
349
- reflect: !0
350
- })], A.prototype, "disabled", void 0), e([E({
491
+ reflect: true
492
+ })], WebUiSelect.prototype, "disabled", void 0);
493
+ __decorate([property({
351
494
  type: Boolean,
352
- reflect: !0
353
- })], A.prototype, "required", void 0), e([E({
495
+ reflect: true
496
+ })], WebUiSelect.prototype, "required", void 0);
497
+ __decorate([property({
354
498
  type: Boolean,
355
- reflect: !0
356
- })], A.prototype, "portal", void 0), e([E({
499
+ reflect: true
500
+ })], WebUiSelect.prototype, "portal", void 0);
501
+ __decorate([property({
357
502
  type: Boolean,
358
- reflect: !0,
503
+ reflect: true,
359
504
  attribute: "no-scroll-lock"
360
- })], A.prototype, "noScrollLock", void 0), e([E({ attribute: !1 })], A.prototype, "overlayContainer", void 0), e([E({
505
+ })], WebUiSelect.prototype, "noScrollLock", void 0);
506
+ __decorate([property({ attribute: false })], WebUiSelect.prototype, "overlayContainer", void 0);
507
+ __decorate([property({
361
508
  type: String,
362
- reflect: !0
363
- })], A.prototype, "name", void 0), e([E({
509
+ reflect: true
510
+ })], WebUiSelect.prototype, "name", void 0);
511
+ __decorate([property({
364
512
  type: String,
365
513
  attribute: "aria-label"
366
- })], A.prototype, "ariaLabel", void 0), e([D()], A.prototype, "_value", void 0), e([E({
514
+ })], WebUiSelect.prototype, "ariaLabel", void 0);
515
+ __decorate([state()], WebUiSelect.prototype, "_value", void 0);
516
+ __decorate([property({
367
517
  type: String,
368
- reflect: !0
369
- })], A.prototype, "value", null), e([D()], A.prototype, "_isOpen", void 0), e([D()], A.prototype, "_activeIndex", void 0), e([D()], A.prototype, "_selectedLabel", void 0), e([D()], A.prototype, "_hasTriggerSlot", void 0), A = k = e([T("web-ui-select")], A);
370
- //#endregion
371
- export { A as WebUiSelect };
518
+ reflect: true
519
+ })], WebUiSelect.prototype, "value", null);
520
+ __decorate([state()], WebUiSelect.prototype, "_isOpen", void 0);
521
+ __decorate([state()], WebUiSelect.prototype, "_activeIndex", void 0);
522
+ __decorate([state()], WebUiSelect.prototype, "_selectedLabel", void 0);
523
+ __decorate([state()], WebUiSelect.prototype, "_hasTriggerSlot", void 0);
524
+ WebUiSelect = _WebUiSelect = __decorate([customElement("web-ui-select")], WebUiSelect);
525
+ export { WebUiSelect };
372
526
 
373
527
  //# sourceMappingURL=index.js.map