@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 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/radio-group/index.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { FormAssociated, defineFormAssociation, FormAssociationController } from '@/shared/form-association'\nimport { defineGroupCoordinator, GroupController } from '@/shared/group-management'\nimport { normalizeLiteral } from '@/shared/normalize'\n\nimport type { WebUiRadio } from '../radio'\nimport { activateRadio, focusRadio, isRadioDisabled } from '../radio/interaction'\n\nimport style from './style.css?inline'\n\nconst ALLOWED_DIRECTIONS = ['horizontal', 'vertical'] as const\nconst RADIO_GROUP_KEYS = {\n next: ['ArrowRight', 'ArrowDown'],\n previous: ['ArrowLeft', 'ArrowUp']\n} as const\nconst AVAILABILITY_ATTRIBUTES = ['hidden', 'inert', 'aria-hidden', 'style', 'class', 'open', 'popover', 'slot'] as const\n\ninterface DocumentAvailabilityObserver {\n readonly subscribers: Set<() => void>\n readonly mediaQueries: Map<string, MediaQueryList>\n readonly observer: MutationObserver\n readonly view: Window\n readonly notify: () => void\n readonly refreshMediaQueries: () => void\n readonly handleStylesheetLoad: (event: Event) => void\n readonly handleTabKeydown: (event: KeyboardEvent) => void\n}\n\nconst documentAvailabilityObservers = new WeakMap<Document, DocumentAvailabilityObserver>()\n\nfunction subscribeToDocumentAvailability(document: Document, callback: () => void): () => void {\n const view = document.defaultView\n if (!view) return () => {}\n\n let state = documentAvailabilityObservers.get(document)\n if (!state) {\n const subscribers = new Set<() => void>()\n const mediaQueries = new Map<string, MediaQueryList>()\n const notify = () => subscribers.forEach(subscriber => subscriber())\n const subscribeMediaQuery = (query: string) => {\n const normalized = query.trim()\n if (!normalized || normalized === 'all' || mediaQueries.has(normalized)) return\n try {\n const mediaQuery = view.matchMedia(normalized)\n mediaQuery.addEventListener('change', notify)\n mediaQueries.set(normalized, mediaQuery)\n } catch {\n // Invalid or unsupported media syntax cannot change computed visibility.\n }\n }\n const scanRules = (rules: CSSRuleList, visited = new Set<CSSStyleSheet>()) => {\n for (const rule of Array.from(rules)) {\n if (rule instanceof CSSMediaRule) subscribeMediaQuery(rule.conditionText)\n if (rule instanceof CSSImportRule && rule.styleSheet && !visited.has(rule.styleSheet)) {\n visited.add(rule.styleSheet)\n subscribeMediaQuery(rule.media.mediaText)\n try {\n scanRules(rule.styleSheet.cssRules, visited)\n } catch {\n // Cross-origin stylesheets may hide their rules from the current document.\n }\n }\n if ('cssRules' in rule) {\n try {\n scanRules((rule as CSSGroupingRule).cssRules, visited)\n } catch {\n // Some grouping rules expose inaccessible imported rules.\n }\n }\n }\n }\n const refreshMediaQueries = () => {\n for (const mediaQuery of mediaQueries.values()) mediaQuery.removeEventListener('change', notify)\n mediaQueries.clear()\n for (const styleSheet of Array.from(document.styleSheets)) {\n subscribeMediaQuery(styleSheet.media.mediaText)\n try {\n scanRules(styleSheet.cssRules, new Set([styleSheet]))\n } catch {\n // Cross-origin stylesheets may hide their rules from the current document.\n }\n }\n }\n const handleStylesheetLoad = (event: Event) => {\n const target = event.target\n if (!(target instanceof HTMLLinkElement) || !target.relList.contains('stylesheet')) return\n refreshMediaQueries()\n notify()\n }\n // CSSStyleSheet has no rule-change event. Refresh before the browser's Tab\n // default action so CSSOM-only visibility changes cannot strand the group.\n const handleTabKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n refreshMediaQueries()\n notify()\n }\n }\n const observer = new MutationObserver(() => {\n refreshMediaQueries()\n notify()\n })\n const styleRoot = document.head ?? document.documentElement\n observer.observe(styleRoot, { attributes: true, childList: true, characterData: true, subtree: true })\n view.addEventListener('resize', notify)\n document.addEventListener('load', handleStylesheetLoad, true)\n document.addEventListener('keydown', handleTabKeydown, true)\n state = {\n subscribers,\n mediaQueries,\n observer,\n view,\n notify,\n refreshMediaQueries,\n handleStylesheetLoad,\n handleTabKeydown\n }\n documentAvailabilityObservers.set(document, state)\n refreshMediaQueries()\n }\n\n state.subscribers.add(callback)\n return () => {\n const current = documentAvailabilityObservers.get(document)\n if (!current) return\n current.subscribers.delete(callback)\n if (current.subscribers.size > 0) return\n current.observer.disconnect()\n current.view.removeEventListener('resize', current.notify)\n document.removeEventListener('load', current.handleStylesheetLoad, true)\n document.removeEventListener('keydown', current.handleTabKeydown, true)\n for (const mediaQuery of current.mediaQueries.values()) mediaQuery.removeEventListener('change', current.notify)\n current.mediaQueries.clear()\n documentAvailabilityObservers.delete(document)\n }\n}\n\n@customElement('web-ui-radio-group')\nexport class WebUiRadioGroup extends FormAssociated(LitElement) {\n static override styles = unsafeCSS(style)\n @property({ type: String, reflect: true }) name = ''\n @property({ type: Boolean, reflect: true }) disabled = false\n @property({ type: Boolean, reflect: true }) required = false\n @property({ type: String, attribute: 'aria-label', reflect: true }) override ariaLabel: string | null = null\n @property({ type: String, attribute: 'aria-labelledby', reflect: true }) ariaLabelledby: string | undefined\n\n @property({ type: String, reflect: true })\n get direction(): 'horizontal' | 'vertical' {\n return this._direction\n }\n set direction(v: string) {\n const old = this._direction\n this._direction = normalizeLiteral(v, ALLOWED_DIRECTIONS, 'vertical')\n this.requestUpdate('direction', old)\n }\n private _direction: 'horizontal' | 'vertical' = 'vertical'\n\n @state() private _value = ''\n\n private _getRadios(): WebUiRadio[] {\n return [...this.querySelectorAll<WebUiRadio>('web-ui-radio')].filter(\n radio => radio.closest('web-ui-radio-group') === this\n )\n }\n\n private _findSelectedRadio(radios: readonly WebUiRadio[], value: string): WebUiRadio | undefined {\n if (!value) return undefined\n const matching = radios.filter(radio => radio.value === value)\n return matching.find(radio => radio.checked) ?? matching[0]\n }\n\n private _getRovingTabStop(radio: WebUiRadio, radios: readonly WebUiRadio[], value: string): boolean {\n if (this._isDisabled || this._isRadioUnavailable(radio)) return false\n const enabled = radios.filter(item => !this._isRadioUnavailable(item))\n const selected = enabled.find(item => item.checked) ?? this._findSelectedRadio(enabled, value)\n return radio === (selected ?? enabled[0])\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (this._isDisabled || event.defaultPrevented || event.altKey || event.ctrlKey || event.metaKey) return\n const target = event\n .composedPath()\n .find((node): node is WebUiRadio => node instanceof HTMLElement && node.matches('web-ui-radio'))\n if (!target || target.closest('web-ui-radio-group') !== this) return\n\n const radios = this._getRadios()\n const targetIndex = radios.indexOf(target)\n if (targetIndex < 0) return\n\n const enabledRadios = radios.filter(radio => !this._isRadioUnavailable(radio))\n if (enabledRadios.length === 0) return\n const currentIndex = enabledRadios.indexOf(target)\n\n let delta = RADIO_GROUP_KEYS.next.some(key => event.key === key)\n ? 1\n : RADIO_GROUP_KEYS.previous.some(key => event.key === key)\n ? -1\n : 0\n if (\n delta &&\n this.direction === 'horizontal' &&\n (event.key === 'ArrowLeft' || event.key === 'ArrowRight') &&\n getComputedStyle(this).direction === 'rtl'\n ) {\n delta *= -1\n }\n let nextRadio: WebUiRadio | undefined\n if (delta) {\n if (currentIndex >= 0) {\n nextRadio = enabledRadios[(currentIndex + delta + enabledRadios.length) % enabledRadios.length]\n } else {\n for (let step = 1; step <= radios.length; step++) {\n const candidateIndex = (((targetIndex + delta * step) % radios.length) + radios.length) % radios.length\n const candidate = radios[candidateIndex]\n if (candidate && !this._isRadioUnavailable(candidate)) {\n nextRadio = candidate\n break\n }\n }\n }\n } else if (event.key === 'Home') {\n nextRadio = enabledRadios[0]\n } else if (event.key === 'End') {\n nextRadio = enabledRadios[enabledRadios.length - 1]\n } else {\n return\n }\n\n if (!nextRadio) return\n event.preventDefault()\n focusRadio(nextRadio)\n if (!nextRadio.checked) activateRadio(nextRadio)\n }\n\n private readonly _groupController = new GroupController(\n this,\n defineGroupCoordinator<WebUiRadio, string>({\n host: this,\n getItems: () => this._getRadios(),\n getValue: () => this._value,\n setValue: value => {\n this.value = value\n },\n getDisabled: () => this._isDisabled,\n isItem: (target): target is WebUiRadio =>\n target instanceof HTMLElement &&\n target.matches('web-ui-radio') &&\n target.closest('web-ui-radio-group') === this,\n // 选中判定按元素身份而非 value 相等:value 重复时按值比较会把多个成员\n // 同时标为选中,破坏单选不变式。重复值取第一个匹配(或已选中的那个,\n // 避免每次 sync 把选中项跳回第一个)。\n isItemSelected: (radio, value) => radio === this._findSelectedRadio(this._getRadios(), value),\n getItemSelected: radio => radio.checked,\n getNextValue: (radio, value) => (radio.checked ? radio.value : value),\n valuesEqual: (a, b) => a === b,\n copyValue: value => value,\n setItemSelected: (radio, selected) => {\n radio.checked = selected\n },\n getRovingTabStop: (radio, _index, radios, value) => this._getRovingTabStop(radio, radios, value),\n handleKeyDown: event => this._handleKeyDown(event),\n // 点击同值成员时 value 不变,仍需把选中态收到被点击的那一项\n resyncOnUnchangedValue: clicked => {\n for (const radio of this._getRadios()) {\n radio.checked = radio === clicked\n }\n this._groupController.sync()\n },\n dispatchValueChange: () => {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }))\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }))\n }\n }).make(),\n // 每次成员集合同步后把组值剪到现存成员范围内\n {\n observeAttributes: ['disabled', ...AVAILABILITY_ATTRIBUTES],\n afterSync: () => this._pruneRemovedMembers()\n }\n )\n\n /**\n * 成员被移除后,组值若仍指向它就成了幽灵值(表单照旧提交一个不存在的 option)。\n * 剪枝条件是「曾经出现在成员里、现在消失了」——不能用「不在现存成员里就剪」,\n * 否则 v-if / 异步渲染时先于成员到达的合法组值会被误清。\n */\n private _knownMemberValues = new Set<string>()\n private _availabilityObserver: MutationObserver | null = null\n private _availabilityResizeObserver: ResizeObserver | null = null\n private _availabilityToggleTargets = new Set<Element>()\n private _availabilitySlotTargets = new Set<Element>()\n private _unsubscribeDocumentAvailability: (() => void) | null = null\n private readonly _handleAvailabilityToggle = () => this._groupController.sync()\n private readonly _handleAvailabilitySlotChange = () => {\n this._observeAvailabilityAncestors()\n this._groupController.sync()\n }\n\n private _getComposedAncestors(element: Element): Element[] {\n const ancestors: Element[] = []\n const visited = new Set<Element>()\n let current: Element | null = element\n\n while (current && !visited.has(current)) {\n visited.add(current)\n ancestors.push(current)\n const root = current.getRootNode()\n current = current.assignedSlot ?? current.parentElement ?? (root instanceof ShadowRoot ? root.host : null)\n }\n\n return ancestors\n }\n\n private _pruneRemovedMembers() {\n if (!this._value) return\n const items = this._getRadios()\n if (items.length === 0) return\n const alive = new Set(items.map(item => item.value))\n if (!alive.has(this._value) && this._knownMemberValues.has(this._value)) this.value = ''\n this._knownMemberValues = alive\n }\n\n get value(): string {\n return this._value\n }\n\n set value(v: string) {\n const old = this._value\n this._value = v\n this._formAssociation.sync()\n this.requestUpdate('value', old)\n }\n\n private get _isDisabled(): boolean {\n return this.disabled || this._formAssociation.isFormDisabled()\n }\n\n private readonly _formAssociation = defineFormAssociation<string>({\n host: this,\n initialize: () => {\n const attributeValue = this.getAttribute('value')\n if (attributeValue !== null) this.value = attributeValue\n },\n getState: () => this._value,\n setState: value => {\n this.value = value\n },\n getFormValue: () => (this.name && this._value ? this._value : null),\n getFormState: () => this._value,\n restoreState: state => {\n if (typeof state === 'string') this.value = state\n },\n syncValidity: () => this._syncValidity()\n }).make()\n\n private readonly _formAssociationController = new FormAssociationController(this, this._formAssociation)\n\n override connectedCallback() {\n this._syncHostSemantics()\n this._observeAvailabilityAncestors()\n this._unsubscribeDocumentAvailability?.()\n this._unsubscribeDocumentAvailability = subscribeToDocumentAvailability(this.ownerDocument, () =>\n this._groupController.sync()\n )\n super.connectedCallback()\n }\n\n override disconnectedCallback() {\n this._availabilityObserver?.disconnect()\n this._availabilityObserver = null\n this._availabilityResizeObserver?.disconnect()\n this._availabilityResizeObserver = null\n this._syncAvailabilityToggleTargets([])\n this._syncAvailabilitySlotTargets([])\n this._unsubscribeDocumentAvailability?.()\n this._unsubscribeDocumentAvailability = null\n super.disconnectedCallback()\n }\n\n override updated() {\n this._syncHostSemantics()\n }\n\n private _syncHostSemantics() {\n this.setAttribute('role', 'radiogroup')\n this.setAttribute('aria-orientation', this.direction)\n this.setAttribute('aria-disabled', String(this._isDisabled))\n this.setAttribute('aria-required', String(this.required))\n }\n\n private _isRadioUnavailable(radio: WebUiRadio) {\n if (isRadioDisabled(radio) || radio.matches(':disabled')) return true\n\n const ancestors = this._getComposedAncestors(radio)\n const isInVisibleSummary = (details: Element) => {\n const summary = [...details.children].find(child => child.localName === 'summary')\n return summary !== undefined && ancestors.includes(summary)\n }\n if (\n ancestors.some(\n element =>\n element.hasAttribute('hidden') ||\n element.hasAttribute('inert') ||\n element.getAttribute('aria-hidden')?.toLowerCase() === 'true' ||\n (element.localName === 'details' && !element.hasAttribute('open') && !isInVisibleSummary(element))\n )\n )\n return true\n\n const view = radio.ownerDocument.defaultView\n if (!view) return false\n const radioVisibility = view.getComputedStyle(radio).visibility\n if (radioVisibility === 'hidden' || radioVisibility === 'collapse') return true\n\n for (const element of ancestors) {\n const style = view.getComputedStyle(element)\n if (style.display === 'none' || style.getPropertyValue('content-visibility') === 'hidden') {\n return true\n }\n }\n return false\n }\n\n private _observeAvailabilityAncestors() {\n this._availabilityObserver?.disconnect()\n this._availabilityObserver = null\n this._availabilityResizeObserver?.disconnect()\n this._availabilityResizeObserver = null\n\n const ancestors = this._getComposedAncestors(this)\n this._syncAvailabilityToggleTargets(ancestors)\n this._syncAvailabilitySlotTargets(ancestors)\n if (ancestors.length === 0) return\n\n this._availabilityObserver = new MutationObserver(records => {\n if (records.some(record => record.attributeName === 'popover' || record.attributeName === 'slot')) {\n this._observeAvailabilityAncestors()\n }\n this._groupController.sync()\n })\n for (const ancestor of ancestors) {\n this._availabilityObserver.observe(ancestor, {\n attributes: true,\n attributeFilter: [...AVAILABILITY_ATTRIBUTES]\n })\n }\n\n if (typeof ResizeObserver !== 'undefined') {\n this._availabilityResizeObserver = new ResizeObserver(() => this._groupController.sync())\n for (const ancestor of ancestors) this._availabilityResizeObserver.observe(ancestor)\n }\n }\n\n private _syncAvailabilityToggleTargets(ancestors: readonly Element[]) {\n for (const target of this._availabilityToggleTargets) {\n target.removeEventListener('toggle', this._handleAvailabilityToggle)\n }\n this._availabilityToggleTargets.clear()\n\n for (const ancestor of ancestors) {\n if (!ancestor.hasAttribute('popover')) continue\n ancestor.addEventListener('toggle', this._handleAvailabilityToggle)\n this._availabilityToggleTargets.add(ancestor)\n }\n }\n\n private _syncAvailabilitySlotTargets(ancestors: readonly Element[]) {\n for (const target of this._availabilitySlotTargets) {\n target.removeEventListener('slotchange', this._handleAvailabilitySlotChange)\n }\n this._availabilitySlotTargets.clear()\n\n for (const ancestor of ancestors) {\n if (ancestor.localName !== 'slot') continue\n ancestor.addEventListener('slotchange', this._handleAvailabilitySlotChange)\n this._availabilitySlotTargets.add(ancestor)\n }\n }\n\n override formDisabledCallback(disabled: boolean) {\n this._formAssociation.setDisabled(disabled)\n this._groupController.sync()\n }\n\n private _syncValidity() {\n const internals = this._formAssociation.getInternals()\n if (!internals || typeof internals.setValidity !== 'function') return\n if (this._isDisabled || !this.required || this._value) {\n internals.setValidity({})\n return\n }\n internals.setValidity({ valueMissing: true }, 'Select an option')\n }\n\n override render() {\n return html`<div class=\"wui-radio-group\"><slot></slot></div>`\n }\n\n declare readonly $events: {\n input: Event\n change: Event\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-radio-group': WebUiRadioGroup\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["style"],"sources":["../../../src/components/radio-group/index.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { FormAssociated, defineFormAssociation, FormAssociationController } from '@/shared/form-association'\nimport { defineGroupCoordinator, GroupController } from '@/shared/group-management'\nimport { normalizeLiteral } from '@/shared/normalize'\n\nimport type { WebUiRadio } from '../radio'\nimport { activateRadio, focusRadio, isRadioDisabled } from '../radio/interaction'\n\nimport style from './style.css?inline'\n\nconst ALLOWED_DIRECTIONS = ['horizontal', 'vertical'] as const\nconst RADIO_GROUP_KEYS = {\n next: ['ArrowRight', 'ArrowDown'],\n previous: ['ArrowLeft', 'ArrowUp']\n} as const\nconst AVAILABILITY_ATTRIBUTES = ['hidden', 'inert', 'aria-hidden', 'style', 'class', 'open', 'popover', 'slot'] as const\n\ninterface DocumentAvailabilityObserver {\n readonly subscribers: Set<() => void>\n readonly mediaQueries: Map<string, MediaQueryList>\n readonly observer: MutationObserver\n readonly view: Window\n readonly notify: () => void\n readonly refreshMediaQueries: () => void\n readonly handleStylesheetLoad: (event: Event) => void\n readonly handleTabKeydown: (event: KeyboardEvent) => void\n}\n\nconst documentAvailabilityObservers = new WeakMap<Document, DocumentAvailabilityObserver>()\n\nfunction subscribeToDocumentAvailability(document: Document, callback: () => void): () => void {\n const view = document.defaultView\n if (!view) return () => {}\n\n let state = documentAvailabilityObservers.get(document)\n if (!state) {\n const subscribers = new Set<() => void>()\n const mediaQueries = new Map<string, MediaQueryList>()\n const notify = () => subscribers.forEach(subscriber => subscriber())\n const subscribeMediaQuery = (query: string) => {\n const normalized = query.trim()\n if (!normalized || normalized === 'all' || mediaQueries.has(normalized)) return\n try {\n const mediaQuery = view.matchMedia(normalized)\n mediaQuery.addEventListener('change', notify)\n mediaQueries.set(normalized, mediaQuery)\n } catch {\n // Invalid or unsupported media syntax cannot change computed visibility.\n }\n }\n const scanRules = (rules: CSSRuleList, visited = new Set<CSSStyleSheet>()) => {\n for (const rule of Array.from(rules)) {\n if (rule instanceof CSSMediaRule) subscribeMediaQuery(rule.conditionText)\n if (rule instanceof CSSImportRule && rule.styleSheet && !visited.has(rule.styleSheet)) {\n visited.add(rule.styleSheet)\n subscribeMediaQuery(rule.media.mediaText)\n try {\n scanRules(rule.styleSheet.cssRules, visited)\n } catch {\n // Cross-origin stylesheets may hide their rules from the current document.\n }\n }\n if ('cssRules' in rule) {\n try {\n scanRules((rule as CSSGroupingRule).cssRules, visited)\n } catch {\n // Some grouping rules expose inaccessible imported rules.\n }\n }\n }\n }\n const refreshMediaQueries = () => {\n for (const mediaQuery of mediaQueries.values()) mediaQuery.removeEventListener('change', notify)\n mediaQueries.clear()\n for (const styleSheet of Array.from(document.styleSheets)) {\n subscribeMediaQuery(styleSheet.media.mediaText)\n try {\n scanRules(styleSheet.cssRules, new Set([styleSheet]))\n } catch {\n // Cross-origin stylesheets may hide their rules from the current document.\n }\n }\n }\n const handleStylesheetLoad = (event: Event) => {\n const target = event.target\n if (!(target instanceof HTMLLinkElement) || !target.relList.contains('stylesheet')) return\n refreshMediaQueries()\n notify()\n }\n // CSSStyleSheet has no rule-change event. Refresh before the browser's Tab\n // default action so CSSOM-only visibility changes cannot strand the group.\n const handleTabKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n refreshMediaQueries()\n notify()\n }\n }\n const observer = new MutationObserver(() => {\n refreshMediaQueries()\n notify()\n })\n const styleRoot = document.head ?? document.documentElement\n observer.observe(styleRoot, { attributes: true, childList: true, characterData: true, subtree: true })\n view.addEventListener('resize', notify)\n document.addEventListener('load', handleStylesheetLoad, true)\n document.addEventListener('keydown', handleTabKeydown, true)\n state = {\n subscribers,\n mediaQueries,\n observer,\n view,\n notify,\n refreshMediaQueries,\n handleStylesheetLoad,\n handleTabKeydown\n }\n documentAvailabilityObservers.set(document, state)\n refreshMediaQueries()\n }\n\n state.subscribers.add(callback)\n return () => {\n const current = documentAvailabilityObservers.get(document)\n if (!current) return\n current.subscribers.delete(callback)\n if (current.subscribers.size > 0) return\n current.observer.disconnect()\n current.view.removeEventListener('resize', current.notify)\n document.removeEventListener('load', current.handleStylesheetLoad, true)\n document.removeEventListener('keydown', current.handleTabKeydown, true)\n for (const mediaQuery of current.mediaQueries.values()) mediaQuery.removeEventListener('change', current.notify)\n current.mediaQueries.clear()\n documentAvailabilityObservers.delete(document)\n }\n}\n\n@customElement('web-ui-radio-group')\nexport class WebUiRadioGroup extends FormAssociated(LitElement) {\n static override styles = unsafeCSS(style)\n @property({ type: String, reflect: true }) name = ''\n @property({ type: Boolean, reflect: true }) disabled = false\n @property({ type: Boolean, reflect: true }) required = false\n @property({ type: String, attribute: 'aria-label', reflect: true }) override ariaLabel: string | null = null\n @property({ type: String, attribute: 'aria-labelledby', reflect: true }) ariaLabelledby: string | undefined\n\n @property({ type: String, reflect: true })\n get direction(): 'horizontal' | 'vertical' {\n return this._direction\n }\n set direction(v: string) {\n const old = this._direction\n this._direction = normalizeLiteral(v, ALLOWED_DIRECTIONS, 'vertical')\n this.requestUpdate('direction', old)\n }\n private _direction: 'horizontal' | 'vertical' = 'vertical'\n\n @state() private _value = ''\n\n private _getRadios(): WebUiRadio[] {\n return [...this.querySelectorAll<WebUiRadio>('web-ui-radio')].filter(\n radio => radio.closest('web-ui-radio-group') === this\n )\n }\n\n private _findSelectedRadio(radios: readonly WebUiRadio[], value: string): WebUiRadio | undefined {\n if (!value) return undefined\n const matching = radios.filter(radio => radio.value === value)\n return matching.find(radio => radio.checked) ?? matching[0]\n }\n\n private _getRovingTabStop(radio: WebUiRadio, radios: readonly WebUiRadio[], value: string): boolean {\n if (this._isDisabled || this._isRadioUnavailable(radio)) return false\n const enabled = radios.filter(item => !this._isRadioUnavailable(item))\n const selected = enabled.find(item => item.checked) ?? this._findSelectedRadio(enabled, value)\n return radio === (selected ?? enabled[0])\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (this._isDisabled || event.defaultPrevented || event.altKey || event.ctrlKey || event.metaKey) return\n const target = event\n .composedPath()\n .find((node): node is WebUiRadio => node instanceof HTMLElement && node.matches('web-ui-radio'))\n if (!target || target.closest('web-ui-radio-group') !== this) return\n\n const radios = this._getRadios()\n const targetIndex = radios.indexOf(target)\n if (targetIndex < 0) return\n\n const enabledRadios = radios.filter(radio => !this._isRadioUnavailable(radio))\n if (enabledRadios.length === 0) return\n const currentIndex = enabledRadios.indexOf(target)\n\n let delta = RADIO_GROUP_KEYS.next.some(key => event.key === key)\n ? 1\n : RADIO_GROUP_KEYS.previous.some(key => event.key === key)\n ? -1\n : 0\n if (\n delta &&\n this.direction === 'horizontal' &&\n (event.key === 'ArrowLeft' || event.key === 'ArrowRight') &&\n getComputedStyle(this).direction === 'rtl'\n ) {\n delta *= -1\n }\n let nextRadio: WebUiRadio | undefined\n if (delta) {\n if (currentIndex >= 0) {\n nextRadio = enabledRadios[(currentIndex + delta + enabledRadios.length) % enabledRadios.length]\n } else {\n for (let step = 1; step <= radios.length; step++) {\n const candidateIndex = (((targetIndex + delta * step) % radios.length) + radios.length) % radios.length\n const candidate = radios[candidateIndex]\n if (candidate && !this._isRadioUnavailable(candidate)) {\n nextRadio = candidate\n break\n }\n }\n }\n } else if (event.key === 'Home') {\n nextRadio = enabledRadios[0]\n } else if (event.key === 'End') {\n nextRadio = enabledRadios[enabledRadios.length - 1]\n } else {\n return\n }\n\n if (!nextRadio) return\n event.preventDefault()\n focusRadio(nextRadio)\n if (!nextRadio.checked) activateRadio(nextRadio)\n }\n\n private readonly _groupController = new GroupController(\n this,\n defineGroupCoordinator<WebUiRadio, string>({\n host: this,\n getItems: () => this._getRadios(),\n getValue: () => this._value,\n setValue: value => {\n this.value = value\n },\n getDisabled: () => this._isDisabled,\n isItem: (target): target is WebUiRadio =>\n target instanceof HTMLElement &&\n target.matches('web-ui-radio') &&\n target.closest('web-ui-radio-group') === this,\n // 选中判定按元素身份而非 value 相等:value 重复时按值比较会把多个成员\n // 同时标为选中,破坏单选不变式。重复值取第一个匹配(或已选中的那个,\n // 避免每次 sync 把选中项跳回第一个)。\n isItemSelected: (radio, value) => radio === this._findSelectedRadio(this._getRadios(), value),\n getItemSelected: radio => radio.checked,\n getNextValue: (radio, value) => (radio.checked ? radio.value : value),\n valuesEqual: (a, b) => a === b,\n copyValue: value => value,\n setItemSelected: (radio, selected) => {\n radio.checked = selected\n },\n getRovingTabStop: (radio, _index, radios, value) => this._getRovingTabStop(radio, radios, value),\n handleKeyDown: event => this._handleKeyDown(event),\n // 点击同值成员时 value 不变,仍需把选中态收到被点击的那一项\n resyncOnUnchangedValue: clicked => {\n for (const radio of this._getRadios()) {\n radio.checked = radio === clicked\n }\n this._groupController.sync()\n },\n dispatchValueChange: () => {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }))\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }))\n }\n }).make(),\n // 每次成员集合同步后把组值剪到现存成员范围内\n {\n observeAttributes: ['disabled', ...AVAILABILITY_ATTRIBUTES],\n afterSync: () => this._pruneRemovedMembers()\n }\n )\n\n /**\n * 成员被移除后,组值若仍指向它就成了幽灵值(表单照旧提交一个不存在的 option)。\n * 剪枝条件是「曾经出现在成员里、现在消失了」——不能用「不在现存成员里就剪」,\n * 否则 v-if / 异步渲染时先于成员到达的合法组值会被误清。\n */\n private _knownMemberValues = new Set<string>()\n private _availabilityObserver: MutationObserver | null = null\n private _availabilityResizeObserver: ResizeObserver | null = null\n private _availabilityToggleTargets = new Set<Element>()\n private _availabilitySlotTargets = new Set<Element>()\n private _unsubscribeDocumentAvailability: (() => void) | null = null\n private readonly _handleAvailabilityToggle = () => this._groupController.sync()\n private readonly _handleAvailabilitySlotChange = () => {\n this._observeAvailabilityAncestors()\n this._groupController.sync()\n }\n\n private _getComposedAncestors(element: Element): Element[] {\n const ancestors: Element[] = []\n const visited = new Set<Element>()\n let current: Element | null = element\n\n while (current && !visited.has(current)) {\n visited.add(current)\n ancestors.push(current)\n const root = current.getRootNode()\n current = current.assignedSlot ?? current.parentElement ?? (root instanceof ShadowRoot ? root.host : null)\n }\n\n return ancestors\n }\n\n private _pruneRemovedMembers() {\n if (!this._value) return\n const items = this._getRadios()\n if (items.length === 0) return\n const alive = new Set(items.map(item => item.value))\n if (!alive.has(this._value) && this._knownMemberValues.has(this._value)) this.value = ''\n this._knownMemberValues = alive\n }\n\n get value(): string {\n return this._value\n }\n\n set value(v: string) {\n const old = this._value\n this._value = v\n this._formAssociation.sync()\n this.requestUpdate('value', old)\n }\n\n private get _isDisabled(): boolean {\n return this.disabled || this._formAssociation.isFormDisabled()\n }\n\n private readonly _formAssociation = defineFormAssociation<string>({\n host: this,\n initialize: () => {\n const attributeValue = this.getAttribute('value')\n if (attributeValue !== null) this.value = attributeValue\n },\n getState: () => this._value,\n setState: value => {\n this.value = value\n },\n getFormValue: () => (this.name && this._value ? this._value : null),\n getFormState: () => this._value,\n restoreState: state => {\n if (typeof state === 'string') this.value = state\n },\n syncValidity: () => this._syncValidity()\n }).make()\n\n private readonly _formAssociationController = new FormAssociationController(this, this._formAssociation)\n\n override connectedCallback() {\n this._syncHostSemantics()\n this._observeAvailabilityAncestors()\n this._unsubscribeDocumentAvailability?.()\n this._unsubscribeDocumentAvailability = subscribeToDocumentAvailability(this.ownerDocument, () =>\n this._groupController.sync()\n )\n super.connectedCallback()\n }\n\n override disconnectedCallback() {\n this._availabilityObserver?.disconnect()\n this._availabilityObserver = null\n this._availabilityResizeObserver?.disconnect()\n this._availabilityResizeObserver = null\n this._syncAvailabilityToggleTargets([])\n this._syncAvailabilitySlotTargets([])\n this._unsubscribeDocumentAvailability?.()\n this._unsubscribeDocumentAvailability = null\n super.disconnectedCallback()\n }\n\n override updated() {\n this._syncHostSemantics()\n }\n\n private _syncHostSemantics() {\n this.setAttribute('role', 'radiogroup')\n this.setAttribute('aria-orientation', this.direction)\n this.setAttribute('aria-disabled', String(this._isDisabled))\n this.setAttribute('aria-required', String(this.required))\n }\n\n private _isRadioUnavailable(radio: WebUiRadio) {\n if (isRadioDisabled(radio) || radio.matches(':disabled')) return true\n\n const ancestors = this._getComposedAncestors(radio)\n const isInVisibleSummary = (details: Element) => {\n const summary = [...details.children].find(child => child.localName === 'summary')\n return summary !== undefined && ancestors.includes(summary)\n }\n if (\n ancestors.some(\n element =>\n element.hasAttribute('hidden') ||\n element.hasAttribute('inert') ||\n element.getAttribute('aria-hidden')?.toLowerCase() === 'true' ||\n (element.localName === 'details' && !element.hasAttribute('open') && !isInVisibleSummary(element))\n )\n )\n return true\n\n const view = radio.ownerDocument.defaultView\n if (!view) return false\n const radioVisibility = view.getComputedStyle(radio).visibility\n if (radioVisibility === 'hidden' || radioVisibility === 'collapse') return true\n\n for (const element of ancestors) {\n const style = view.getComputedStyle(element)\n if (style.display === 'none' || style.getPropertyValue('content-visibility') === 'hidden') {\n return true\n }\n }\n return false\n }\n\n private _observeAvailabilityAncestors() {\n this._availabilityObserver?.disconnect()\n this._availabilityObserver = null\n this._availabilityResizeObserver?.disconnect()\n this._availabilityResizeObserver = null\n\n const ancestors = this._getComposedAncestors(this)\n this._syncAvailabilityToggleTargets(ancestors)\n this._syncAvailabilitySlotTargets(ancestors)\n if (ancestors.length === 0) return\n\n this._availabilityObserver = new MutationObserver(records => {\n if (records.some(record => record.attributeName === 'popover' || record.attributeName === 'slot')) {\n this._observeAvailabilityAncestors()\n }\n this._groupController.sync()\n })\n for (const ancestor of ancestors) {\n this._availabilityObserver.observe(ancestor, {\n attributes: true,\n attributeFilter: [...AVAILABILITY_ATTRIBUTES]\n })\n }\n\n if (typeof ResizeObserver !== 'undefined') {\n this._availabilityResizeObserver = new ResizeObserver(() => this._groupController.sync())\n for (const ancestor of ancestors) this._availabilityResizeObserver.observe(ancestor)\n }\n }\n\n private _syncAvailabilityToggleTargets(ancestors: readonly Element[]) {\n for (const target of this._availabilityToggleTargets) {\n target.removeEventListener('toggle', this._handleAvailabilityToggle)\n }\n this._availabilityToggleTargets.clear()\n\n for (const ancestor of ancestors) {\n if (!ancestor.hasAttribute('popover')) continue\n ancestor.addEventListener('toggle', this._handleAvailabilityToggle)\n this._availabilityToggleTargets.add(ancestor)\n }\n }\n\n private _syncAvailabilitySlotTargets(ancestors: readonly Element[]) {\n for (const target of this._availabilitySlotTargets) {\n target.removeEventListener('slotchange', this._handleAvailabilitySlotChange)\n }\n this._availabilitySlotTargets.clear()\n\n for (const ancestor of ancestors) {\n if (ancestor.localName !== 'slot') continue\n ancestor.addEventListener('slotchange', this._handleAvailabilitySlotChange)\n this._availabilitySlotTargets.add(ancestor)\n }\n }\n\n override formDisabledCallback(disabled: boolean) {\n this._formAssociation.setDisabled(disabled)\n this._groupController.sync()\n }\n\n private _syncValidity() {\n const internals = this._formAssociation.getInternals()\n if (!internals || typeof internals.setValidity !== 'function') return\n if (this._isDisabled || !this.required || this._value) {\n internals.setValidity({})\n return\n }\n internals.setValidity({ valueMissing: true }, 'Select an option')\n }\n\n override render() {\n return html`<div class=\"wui-radio-group\"><slot></slot></div>`\n }\n\n declare readonly $events: {\n input: Event\n change: Event\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-radio-group': WebUiRadioGroup\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- //#region src/components/radio-group/style.css?inline
2
- var e = "*,:before,:after{box-sizing:border-box}:host{-webkit-user-select:none;user-select:none;gap:var(--wui-radio-group-gap,var(--wui-space-2,8px));flex-direction:column;display:inline-flex}.wui-radio-group{flex-direction:inherit;gap:inherit;display:flex}:host([direction=horizontal]){flex-direction:row}";
3
- //#endregion
4
- export { e as default };
1
+ // src/components/radio-group/style.css?inline
2
+ var style_default = "*,:before,:after{box-sizing:border-box}:host{-webkit-user-select:none;user-select:none;gap:var(--wui-radio-group-gap,var(--wui-space-2,8px));flex-direction:column;display:inline-flex}.wui-radio-group{flex-direction:inherit;gap:inherit;display:flex}:host([direction=horizontal]){flex-direction:row}\n";
3
+ export { style_default as default };
5
4
 
6
5
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","names":[],"sources":["../../../src/components/radio-group/style.css?inline"],"sourcesContent":["*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n:host {\n user-select: none;\n display: inline-flex;\n flex-direction: column;\n gap: var(--wui-radio-group-gap, var(--wui-space-2, 8px));\n}\n\n.wui-radio-group {\n display: flex;\n flex-direction: inherit;\n gap: inherit;\n}\n\n:host([direction='horizontal']) {\n flex-direction: row;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"style.js","names":[],"sources":["../../../src/components/radio-group/style.css?inline"],"sourcesContent":["*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n:host {\n user-select: none;\n display: inline-flex;\n flex-direction: column;\n gap: var(--wui-radio-group-gap, var(--wui-space-2, 8px));\n}\n\n.wui-radio-group {\n display: flex;\n flex-direction: inherit;\n gap: inherit;\n}\n\n:host([direction='horizontal']) {\n flex-direction: row;\n}\n"],"mappings":";AAAA,IAAA,gBAAA"}