@qualcomm-ui/core 1.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 (582) hide show
  1. package/LICENSE.txt +31 -0
  2. package/dist/accordion/accordion.api.d.ts +4 -0
  3. package/dist/accordion/accordion.api.d.ts.map +1 -0
  4. package/dist/accordion/accordion.machine.d.ts +4 -0
  5. package/dist/accordion/accordion.machine.d.ts.map +1 -0
  6. package/dist/accordion/accordion.props.d.ts +3 -0
  7. package/dist/accordion/accordion.props.d.ts.map +1 -0
  8. package/dist/accordion/accordion.types.d.ts +155 -0
  9. package/dist/accordion/accordion.types.d.ts.map +1 -0
  10. package/dist/accordion/index.cjs +2 -0
  11. package/dist/accordion/index.cjs.map +7 -0
  12. package/dist/accordion/index.d.ts +5 -0
  13. package/dist/accordion/index.d.ts.map +1 -0
  14. package/dist/accordion/index.js +2 -0
  15. package/dist/accordion/index.js.map +7 -0
  16. package/dist/accordion/internal/accordion.dom.d.ts +10 -0
  17. package/dist/accordion/internal/accordion.dom.d.ts.map +1 -0
  18. package/dist/accordion/internal/index.d.ts +2 -0
  19. package/dist/accordion/internal/index.d.ts.map +1 -0
  20. package/dist/action-group/action-group.d.ts +6 -0
  21. package/dist/action-group/action-group.d.ts.map +1 -0
  22. package/dist/action-group/index.cjs +2 -0
  23. package/dist/action-group/index.cjs.map +7 -0
  24. package/dist/action-group/index.d.ts +2 -0
  25. package/dist/action-group/index.d.ts.map +1 -0
  26. package/dist/action-group/index.js +2 -0
  27. package/dist/action-group/index.js.map +7 -0
  28. package/dist/avatar/avatar.api.d.ts +4 -0
  29. package/dist/avatar/avatar.api.d.ts.map +1 -0
  30. package/dist/avatar/avatar.machine.d.ts +4 -0
  31. package/dist/avatar/avatar.machine.d.ts.map +1 -0
  32. package/dist/avatar/avatar.props.d.ts +3 -0
  33. package/dist/avatar/avatar.props.d.ts.map +1 -0
  34. package/dist/avatar/avatar.types.d.ts +55 -0
  35. package/dist/avatar/avatar.types.d.ts.map +1 -0
  36. package/dist/avatar/index.cjs +2 -0
  37. package/dist/avatar/index.cjs.map +7 -0
  38. package/dist/avatar/index.d.ts +5 -0
  39. package/dist/avatar/index.d.ts.map +1 -0
  40. package/dist/avatar/index.js +2 -0
  41. package/dist/avatar/index.js.map +7 -0
  42. package/dist/avatar/internal/avatar.dom.d.ts +12 -0
  43. package/dist/avatar/internal/avatar.dom.d.ts.map +1 -0
  44. package/dist/avatar/internal/index.d.ts +2 -0
  45. package/dist/avatar/internal/index.d.ts.map +1 -0
  46. package/dist/checkbox/checkbox.api.d.ts +4 -0
  47. package/dist/checkbox/checkbox.api.d.ts.map +1 -0
  48. package/dist/checkbox/checkbox.machine.d.ts +4 -0
  49. package/dist/checkbox/checkbox.machine.d.ts.map +1 -0
  50. package/dist/checkbox/checkbox.props.d.ts +3 -0
  51. package/dist/checkbox/checkbox.props.d.ts.map +1 -0
  52. package/dist/checkbox/checkbox.types.d.ts +165 -0
  53. package/dist/checkbox/checkbox.types.d.ts.map +1 -0
  54. package/dist/checkbox/index.cjs +2 -0
  55. package/dist/checkbox/index.cjs.map +7 -0
  56. package/dist/checkbox/index.d.ts +5 -0
  57. package/dist/checkbox/index.d.ts.map +1 -0
  58. package/dist/checkbox/index.js +2 -0
  59. package/dist/checkbox/index.js.map +7 -0
  60. package/dist/checkbox/internal/checkbox.dom.d.ts +7 -0
  61. package/dist/checkbox/internal/checkbox.dom.d.ts.map +1 -0
  62. package/dist/checkbox/internal/index.d.ts +2 -0
  63. package/dist/checkbox/internal/index.d.ts.map +1 -0
  64. package/dist/collapsible/collapsible.api.d.ts +4 -0
  65. package/dist/collapsible/collapsible.api.d.ts.map +1 -0
  66. package/dist/collapsible/collapsible.machine.d.ts +4 -0
  67. package/dist/collapsible/collapsible.machine.d.ts.map +1 -0
  68. package/dist/collapsible/collapsible.props.d.ts +4 -0
  69. package/dist/collapsible/collapsible.props.d.ts.map +1 -0
  70. package/dist/collapsible/collapsible.types.d.ts +129 -0
  71. package/dist/collapsible/collapsible.types.d.ts.map +1 -0
  72. package/dist/collapsible/index.cjs +2 -0
  73. package/dist/collapsible/index.cjs.map +7 -0
  74. package/dist/collapsible/index.d.ts +5 -0
  75. package/dist/collapsible/index.d.ts.map +1 -0
  76. package/dist/collapsible/index.js +2 -0
  77. package/dist/collapsible/index.js.map +7 -0
  78. package/dist/collapsible/internal/collapsible.dom.d.ts +5 -0
  79. package/dist/collapsible/internal/collapsible.dom.d.ts.map +1 -0
  80. package/dist/collapsible/internal/index.d.ts +2 -0
  81. package/dist/collapsible/internal/index.d.ts.map +1 -0
  82. package/dist/combobox/combobox.api.d.ts +4 -0
  83. package/dist/combobox/combobox.api.d.ts.map +1 -0
  84. package/dist/combobox/combobox.collection.d.ts +4 -0
  85. package/dist/combobox/combobox.collection.d.ts.map +1 -0
  86. package/dist/combobox/combobox.machine.d.ts +4 -0
  87. package/dist/combobox/combobox.machine.d.ts.map +1 -0
  88. package/dist/combobox/combobox.props.d.ts +4 -0
  89. package/dist/combobox/combobox.props.d.ts.map +1 -0
  90. package/dist/combobox/combobox.types.d.ts +631 -0
  91. package/dist/combobox/combobox.types.d.ts.map +1 -0
  92. package/dist/combobox/index.cjs +2 -0
  93. package/dist/combobox/index.cjs.map +7 -0
  94. package/dist/combobox/index.d.ts +6 -0
  95. package/dist/combobox/index.d.ts.map +1 -0
  96. package/dist/combobox/index.js +2 -0
  97. package/dist/combobox/index.js.map +7 -0
  98. package/dist/combobox/internal/combobox.dom.d.ts +13 -0
  99. package/dist/combobox/internal/combobox.dom.d.ts.map +1 -0
  100. package/dist/combobox/internal/index.d.ts +2 -0
  101. package/dist/combobox/internal/index.d.ts.map +1 -0
  102. package/dist/dialog/dialog.api.d.ts +4 -0
  103. package/dist/dialog/dialog.api.d.ts.map +1 -0
  104. package/dist/dialog/dialog.machine.d.ts +4 -0
  105. package/dist/dialog/dialog.machine.d.ts.map +1 -0
  106. package/dist/dialog/dialog.props.d.ts +4 -0
  107. package/dist/dialog/dialog.props.d.ts.map +1 -0
  108. package/dist/dialog/dialog.types.d.ts +184 -0
  109. package/dist/dialog/dialog.types.d.ts.map +1 -0
  110. package/dist/dialog/index.cjs +2 -0
  111. package/dist/dialog/index.cjs.map +7 -0
  112. package/dist/dialog/index.d.ts +5 -0
  113. package/dist/dialog/index.d.ts.map +1 -0
  114. package/dist/dialog/index.js +2 -0
  115. package/dist/dialog/index.js.map +7 -0
  116. package/dist/dialog/internal/dialog.dom.d.ts +5 -0
  117. package/dist/dialog/internal/dialog.dom.d.ts.map +1 -0
  118. package/dist/dialog/internal/index.d.ts +2 -0
  119. package/dist/dialog/internal/index.d.ts.map +1 -0
  120. package/dist/dnd/dnd.types.d.ts +13 -0
  121. package/dist/dnd/dnd.types.d.ts.map +1 -0
  122. package/dist/dnd/index.cjs +2 -0
  123. package/dist/dnd/index.cjs.map +7 -0
  124. package/dist/dnd/index.d.ts +2 -0
  125. package/dist/dnd/index.d.ts.map +1 -0
  126. package/dist/dnd/index.js +1 -0
  127. package/dist/dnd/index.js.map +7 -0
  128. package/dist/field/field.types.d.ts +87 -0
  129. package/dist/field/field.types.d.ts.map +1 -0
  130. package/dist/field/index.cjs +2 -0
  131. package/dist/field/index.cjs.map +7 -0
  132. package/dist/field/index.d.ts +2 -0
  133. package/dist/field/index.d.ts.map +1 -0
  134. package/dist/field/index.js +1 -0
  135. package/dist/field/index.js.map +7 -0
  136. package/dist/fieldset/fieldset.types.d.ts +49 -0
  137. package/dist/fieldset/fieldset.types.d.ts.map +1 -0
  138. package/dist/fieldset/index.cjs +2 -0
  139. package/dist/fieldset/index.cjs.map +7 -0
  140. package/dist/fieldset/index.d.ts +2 -0
  141. package/dist/fieldset/index.d.ts.map +1 -0
  142. package/dist/fieldset/index.js +1 -0
  143. package/dist/fieldset/index.js.map +7 -0
  144. package/dist/inline-notification/index.cjs +2 -0
  145. package/dist/inline-notification/index.cjs.map +7 -0
  146. package/dist/inline-notification/index.d.ts +5 -0
  147. package/dist/inline-notification/index.d.ts.map +1 -0
  148. package/dist/inline-notification/index.js +2 -0
  149. package/dist/inline-notification/index.js.map +7 -0
  150. package/dist/inline-notification/inline-notification.api.d.ts +4 -0
  151. package/dist/inline-notification/inline-notification.api.d.ts.map +1 -0
  152. package/dist/inline-notification/inline-notification.machine.d.ts +4 -0
  153. package/dist/inline-notification/inline-notification.machine.d.ts.map +1 -0
  154. package/dist/inline-notification/inline-notification.props.d.ts +7 -0
  155. package/dist/inline-notification/inline-notification.props.d.ts.map +1 -0
  156. package/dist/inline-notification/inline-notification.types.d.ts +76 -0
  157. package/dist/inline-notification/inline-notification.types.d.ts.map +1 -0
  158. package/dist/inline-notification/internal/index.d.ts +2 -0
  159. package/dist/inline-notification/internal/index.d.ts.map +1 -0
  160. package/dist/inline-notification/internal/inline-notification.dom.d.ts +4 -0
  161. package/dist/inline-notification/internal/inline-notification.dom.d.ts.map +1 -0
  162. package/dist/input/index.cjs +2 -0
  163. package/dist/input/index.cjs.map +7 -0
  164. package/dist/input/index.d.ts +2 -0
  165. package/dist/input/index.d.ts.map +1 -0
  166. package/dist/input/index.js +1 -0
  167. package/dist/input/index.js.map +7 -0
  168. package/dist/input/input.types.d.ts +66 -0
  169. package/dist/input/input.types.d.ts.map +1 -0
  170. package/dist/menu/index.cjs +2 -0
  171. package/dist/menu/index.cjs.map +7 -0
  172. package/dist/menu/index.d.ts +5 -0
  173. package/dist/menu/index.d.ts.map +1 -0
  174. package/dist/menu/index.js +2 -0
  175. package/dist/menu/index.js.map +7 -0
  176. package/dist/menu/internal/index.d.ts +2 -0
  177. package/dist/menu/internal/index.d.ts.map +1 -0
  178. package/dist/menu/internal/menu.dom.d.ts +33 -0
  179. package/dist/menu/internal/menu.dom.d.ts.map +1 -0
  180. package/dist/menu/menu.api.d.ts +4 -0
  181. package/dist/menu/menu.api.d.ts.map +1 -0
  182. package/dist/menu/menu.machine.d.ts +4 -0
  183. package/dist/menu/menu.machine.d.ts.map +1 -0
  184. package/dist/menu/menu.props.d.ts +8 -0
  185. package/dist/menu/menu.props.d.ts.map +1 -0
  186. package/dist/menu/menu.types.d.ts +482 -0
  187. package/dist/menu/menu.types.d.ts.map +1 -0
  188. package/dist/number-input/index.cjs +2 -0
  189. package/dist/number-input/index.cjs.map +7 -0
  190. package/dist/number-input/index.d.ts +6 -0
  191. package/dist/number-input/index.d.ts.map +1 -0
  192. package/dist/number-input/index.js +2 -0
  193. package/dist/number-input/index.js.map +7 -0
  194. package/dist/number-input/internal/index.d.ts +2 -0
  195. package/dist/number-input/internal/index.d.ts.map +1 -0
  196. package/dist/number-input/internal/number-input.dom.d.ts +10 -0
  197. package/dist/number-input/internal/number-input.dom.d.ts.map +1 -0
  198. package/dist/number-input/number-input.api.d.ts +4 -0
  199. package/dist/number-input/number-input.api.d.ts.map +1 -0
  200. package/dist/number-input/number-input.machine.d.ts +4 -0
  201. package/dist/number-input/number-input.machine.d.ts.map +1 -0
  202. package/dist/number-input/number-input.props.d.ts +4 -0
  203. package/dist/number-input/number-input.props.d.ts.map +1 -0
  204. package/dist/number-input/number-input.types.d.ts +395 -0
  205. package/dist/number-input/number-input.types.d.ts.map +1 -0
  206. package/dist/number-input/number-input.utils.d.ts +11 -0
  207. package/dist/number-input/number-input.utils.d.ts.map +1 -0
  208. package/dist/overlay-panel/index.cjs.map +7 -0
  209. package/dist/overlay-panel/index.d.ts +2 -0
  210. package/dist/overlay-panel/index.d.ts.map +1 -0
  211. package/dist/overlay-panel/overlay-panel.types.d.ts +2 -0
  212. package/dist/overlay-panel/overlay-panel.types.d.ts.map +1 -0
  213. package/dist/pagination/index.cjs +2 -0
  214. package/dist/pagination/index.cjs.map +7 -0
  215. package/dist/pagination/index.d.ts +5 -0
  216. package/dist/pagination/index.d.ts.map +1 -0
  217. package/dist/pagination/index.js +2 -0
  218. package/dist/pagination/index.js.map +7 -0
  219. package/dist/pagination/pagination.api.d.ts +4 -0
  220. package/dist/pagination/pagination.api.d.ts.map +1 -0
  221. package/dist/pagination/pagination.machine.d.ts +4 -0
  222. package/dist/pagination/pagination.machine.d.ts.map +1 -0
  223. package/dist/pagination/pagination.props.d.ts +3 -0
  224. package/dist/pagination/pagination.props.d.ts.map +1 -0
  225. package/dist/pagination/pagination.types.d.ts +214 -0
  226. package/dist/pagination/pagination.types.d.ts.map +1 -0
  227. package/dist/password-input/index.cjs +2 -0
  228. package/dist/password-input/index.cjs.map +7 -0
  229. package/dist/password-input/index.d.ts +5 -0
  230. package/dist/password-input/index.d.ts.map +1 -0
  231. package/dist/password-input/index.js +2 -0
  232. package/dist/password-input/index.js.map +7 -0
  233. package/dist/password-input/internal/index.d.ts +2 -0
  234. package/dist/password-input/internal/index.d.ts.map +1 -0
  235. package/dist/password-input/internal/password.dom.d.ts +7 -0
  236. package/dist/password-input/internal/password.dom.d.ts.map +1 -0
  237. package/dist/password-input/password-input.api.d.ts +4 -0
  238. package/dist/password-input/password-input.api.d.ts.map +1 -0
  239. package/dist/password-input/password-input.machine.d.ts +4 -0
  240. package/dist/password-input/password-input.machine.d.ts.map +1 -0
  241. package/dist/password-input/password-input.props.d.ts +3 -0
  242. package/dist/password-input/password-input.props.d.ts.map +1 -0
  243. package/dist/password-input/password-input.types.d.ts +172 -0
  244. package/dist/password-input/password-input.types.d.ts.map +1 -0
  245. package/dist/popover/index.cjs +2 -0
  246. package/dist/popover/index.cjs.map +7 -0
  247. package/dist/popover/index.d.ts +5 -0
  248. package/dist/popover/index.d.ts.map +1 -0
  249. package/dist/popover/index.js +2 -0
  250. package/dist/popover/index.js.map +7 -0
  251. package/dist/popover/internal/index.d.ts +2 -0
  252. package/dist/popover/internal/index.d.ts.map +1 -0
  253. package/dist/popover/internal/popover.dom.d.ts +8 -0
  254. package/dist/popover/internal/popover.dom.d.ts.map +1 -0
  255. package/dist/popover/popover.api.d.ts +4 -0
  256. package/dist/popover/popover.api.d.ts.map +1 -0
  257. package/dist/popover/popover.machine.d.ts +4 -0
  258. package/dist/popover/popover.machine.d.ts.map +1 -0
  259. package/dist/popover/popover.props.d.ts +3 -0
  260. package/dist/popover/popover.props.d.ts.map +1 -0
  261. package/dist/popover/popover.types.d.ts +233 -0
  262. package/dist/popover/popover.types.d.ts.map +1 -0
  263. package/dist/presence/index.cjs +2 -0
  264. package/dist/presence/index.cjs.map +7 -0
  265. package/dist/presence/index.d.ts +5 -0
  266. package/dist/presence/index.d.ts.map +1 -0
  267. package/dist/presence/index.js +2 -0
  268. package/dist/presence/index.js.map +7 -0
  269. package/dist/presence/presence.api.d.ts +4 -0
  270. package/dist/presence/presence.api.d.ts.map +1 -0
  271. package/dist/presence/presence.machine.d.ts +4 -0
  272. package/dist/presence/presence.machine.d.ts.map +1 -0
  273. package/dist/presence/presence.props.d.ts +6 -0
  274. package/dist/presence/presence.props.d.ts.map +1 -0
  275. package/dist/presence/presence.types.d.ts +94 -0
  276. package/dist/presence/presence.types.d.ts.map +1 -0
  277. package/dist/progress/index.cjs +2 -0
  278. package/dist/progress/index.cjs.map +7 -0
  279. package/dist/progress/index.d.ts +5 -0
  280. package/dist/progress/index.d.ts.map +1 -0
  281. package/dist/progress/index.js +2 -0
  282. package/dist/progress/index.js.map +7 -0
  283. package/dist/progress/internal/index.d.ts +2 -0
  284. package/dist/progress/internal/index.d.ts.map +1 -0
  285. package/dist/progress/internal/progress.dom.d.ts +4 -0
  286. package/dist/progress/internal/progress.dom.d.ts.map +1 -0
  287. package/dist/progress/progress.api.d.ts +4 -0
  288. package/dist/progress/progress.api.d.ts.map +1 -0
  289. package/dist/progress/progress.machine.d.ts +4 -0
  290. package/dist/progress/progress.machine.d.ts.map +1 -0
  291. package/dist/progress/progress.props.d.ts +4 -0
  292. package/dist/progress/progress.props.d.ts.map +1 -0
  293. package/dist/progress/progress.types.d.ts +182 -0
  294. package/dist/progress/progress.types.d.ts.map +1 -0
  295. package/dist/radio/index.cjs +2 -0
  296. package/dist/radio/index.cjs.map +7 -0
  297. package/dist/radio/index.d.ts +5 -0
  298. package/dist/radio/index.d.ts.map +1 -0
  299. package/dist/radio/index.js +2 -0
  300. package/dist/radio/index.js.map +7 -0
  301. package/dist/radio/internal/index.d.ts +2 -0
  302. package/dist/radio/internal/index.d.ts.map +1 -0
  303. package/dist/radio/internal/radio.dom.d.ts +10 -0
  304. package/dist/radio/internal/radio.dom.d.ts.map +1 -0
  305. package/dist/radio/radio.api.d.ts +4 -0
  306. package/dist/radio/radio.api.d.ts.map +1 -0
  307. package/dist/radio/radio.machine.d.ts +4 -0
  308. package/dist/radio/radio.machine.d.ts.map +1 -0
  309. package/dist/radio/radio.props.d.ts +4 -0
  310. package/dist/radio/radio.props.d.ts.map +1 -0
  311. package/dist/radio/radio.types.d.ts +233 -0
  312. package/dist/radio/radio.types.d.ts.map +1 -0
  313. package/dist/segmented-control/index.cjs +2 -0
  314. package/dist/segmented-control/index.cjs.map +7 -0
  315. package/dist/segmented-control/index.d.ts +5 -0
  316. package/dist/segmented-control/index.d.ts.map +1 -0
  317. package/dist/segmented-control/index.js +2 -0
  318. package/dist/segmented-control/index.js.map +7 -0
  319. package/dist/segmented-control/internal/index.d.ts +2 -0
  320. package/dist/segmented-control/internal/index.d.ts.map +1 -0
  321. package/dist/segmented-control/internal/segmented-control.dom.d.ts +7 -0
  322. package/dist/segmented-control/internal/segmented-control.dom.d.ts.map +1 -0
  323. package/dist/segmented-control/segmented-control.api.d.ts +4 -0
  324. package/dist/segmented-control/segmented-control.api.d.ts.map +1 -0
  325. package/dist/segmented-control/segmented-control.machine.d.ts +4 -0
  326. package/dist/segmented-control/segmented-control.machine.d.ts.map +1 -0
  327. package/dist/segmented-control/segmented-control.props.d.ts +4 -0
  328. package/dist/segmented-control/segmented-control.props.d.ts.map +1 -0
  329. package/dist/segmented-control/segmented-control.types.d.ts +103 -0
  330. package/dist/segmented-control/segmented-control.types.d.ts.map +1 -0
  331. package/dist/select/index.cjs +2 -0
  332. package/dist/select/index.cjs.map +7 -0
  333. package/dist/select/index.d.ts +6 -0
  334. package/dist/select/index.d.ts.map +1 -0
  335. package/dist/select/index.js +2 -0
  336. package/dist/select/index.js.map +7 -0
  337. package/dist/select/internal/index.d.ts +2 -0
  338. package/dist/select/internal/index.d.ts.map +1 -0
  339. package/dist/select/internal/select.dom.d.ts +9 -0
  340. package/dist/select/internal/select.dom.d.ts.map +1 -0
  341. package/dist/select/select.api.d.ts +4 -0
  342. package/dist/select/select.api.d.ts.map +1 -0
  343. package/dist/select/select.collection.d.ts +4 -0
  344. package/dist/select/select.collection.d.ts.map +1 -0
  345. package/dist/select/select.machine.d.ts +4 -0
  346. package/dist/select/select.machine.d.ts.map +1 -0
  347. package/dist/select/select.props.d.ts +3 -0
  348. package/dist/select/select.props.d.ts.map +1 -0
  349. package/dist/select/select.types.d.ts +582 -0
  350. package/dist/select/select.types.d.ts.map +1 -0
  351. package/dist/side-nav/index.cjs +2 -0
  352. package/dist/side-nav/index.cjs.map +7 -0
  353. package/dist/side-nav/index.d.ts +5 -0
  354. package/dist/side-nav/index.d.ts.map +1 -0
  355. package/dist/side-nav/index.js +2 -0
  356. package/dist/side-nav/index.js.map +7 -0
  357. package/dist/side-nav/internal/index.d.ts +2 -0
  358. package/dist/side-nav/internal/index.d.ts.map +1 -0
  359. package/dist/side-nav/internal/side-nav.dom.d.ts +5 -0
  360. package/dist/side-nav/internal/side-nav.dom.d.ts.map +1 -0
  361. package/dist/side-nav/side-nav.api.d.ts +4 -0
  362. package/dist/side-nav/side-nav.api.d.ts.map +1 -0
  363. package/dist/side-nav/side-nav.machine.d.ts +4 -0
  364. package/dist/side-nav/side-nav.machine.d.ts.map +1 -0
  365. package/dist/side-nav/side-nav.props.d.ts +4 -0
  366. package/dist/side-nav/side-nav.props.d.ts.map +1 -0
  367. package/dist/side-nav/side-nav.types.d.ts +108 -0
  368. package/dist/side-nav/side-nav.types.d.ts.map +1 -0
  369. package/dist/slider/index.cjs +2 -0
  370. package/dist/slider/index.cjs.map +7 -0
  371. package/dist/slider/index.d.ts +5 -0
  372. package/dist/slider/index.d.ts.map +1 -0
  373. package/dist/slider/index.js +2 -0
  374. package/dist/slider/index.js.map +7 -0
  375. package/dist/slider/slider.api.d.ts +4 -0
  376. package/dist/slider/slider.api.d.ts.map +1 -0
  377. package/dist/slider/slider.dom.d.ts +18 -0
  378. package/dist/slider/slider.dom.d.ts.map +1 -0
  379. package/dist/slider/slider.machine.d.ts +4 -0
  380. package/dist/slider/slider.machine.d.ts.map +1 -0
  381. package/dist/slider/slider.props.d.ts +4 -0
  382. package/dist/slider/slider.props.d.ts.map +1 -0
  383. package/dist/slider/slider.style.d.ts +21 -0
  384. package/dist/slider/slider.style.d.ts.map +1 -0
  385. package/dist/slider/slider.types.d.ts +449 -0
  386. package/dist/slider/slider.types.d.ts.map +1 -0
  387. package/dist/slider/slider.utils.d.ts +17 -0
  388. package/dist/slider/slider.utils.d.ts.map +1 -0
  389. package/dist/switch/index.cjs +2 -0
  390. package/dist/switch/index.cjs.map +7 -0
  391. package/dist/switch/index.d.ts +5 -0
  392. package/dist/switch/index.d.ts.map +1 -0
  393. package/dist/switch/index.js +2 -0
  394. package/dist/switch/index.js.map +7 -0
  395. package/dist/switch/internal/index.d.ts +2 -0
  396. package/dist/switch/internal/index.d.ts.map +1 -0
  397. package/dist/switch/internal/switch.dom.d.ts +7 -0
  398. package/dist/switch/internal/switch.dom.d.ts.map +1 -0
  399. package/dist/switch/switch.api.d.ts +4 -0
  400. package/dist/switch/switch.api.d.ts.map +1 -0
  401. package/dist/switch/switch.machine.d.ts +4 -0
  402. package/dist/switch/switch.machine.d.ts.map +1 -0
  403. package/dist/switch/switch.props.d.ts +4 -0
  404. package/dist/switch/switch.props.d.ts.map +1 -0
  405. package/dist/switch/switch.types.d.ts +157 -0
  406. package/dist/switch/switch.types.d.ts.map +1 -0
  407. package/dist/table/aggregation-fns.d.ts +14 -0
  408. package/dist/table/aggregation-fns.d.ts.map +1 -0
  409. package/dist/table/column-helper.d.ts +9 -0
  410. package/dist/table/column-helper.d.ts.map +1 -0
  411. package/dist/table/core/cell.d.ts +46 -0
  412. package/dist/table/core/cell.d.ts.map +1 -0
  413. package/dist/table/core/column.d.ts +55 -0
  414. package/dist/table/core/column.d.ts.map +1 -0
  415. package/dist/table/core/headers.d.ts +196 -0
  416. package/dist/table/core/headers.d.ts.map +1 -0
  417. package/dist/table/core/row.d.ts +76 -0
  418. package/dist/table/core/row.d.ts.map +1 -0
  419. package/dist/table/core/table.d.ts +244 -0
  420. package/dist/table/core/table.d.ts.map +1 -0
  421. package/dist/table/dom.d.ts +3 -0
  422. package/dist/table/dom.d.ts.map +1 -0
  423. package/dist/table/features/column-sizing.d.ts +168 -0
  424. package/dist/table/features/column-sizing.d.ts.map +1 -0
  425. package/dist/table/features/expanding.d.ts +138 -0
  426. package/dist/table/features/expanding.d.ts.map +1 -0
  427. package/dist/table/features/filters.d.ts +309 -0
  428. package/dist/table/features/filters.d.ts.map +1 -0
  429. package/dist/table/features/grouping.d.ts +182 -0
  430. package/dist/table/features/grouping.d.ts.map +1 -0
  431. package/dist/table/features/ordering.d.ts +33 -0
  432. package/dist/table/features/ordering.d.ts.map +1 -0
  433. package/dist/table/features/pagination.d.ts +127 -0
  434. package/dist/table/features/pagination.d.ts.map +1 -0
  435. package/dist/table/features/pinning.d.ts +227 -0
  436. package/dist/table/features/pinning.d.ts.map +1 -0
  437. package/dist/table/features/row-selection.d.ts +148 -0
  438. package/dist/table/features/row-selection.d.ts.map +1 -0
  439. package/dist/table/features/sorting.d.ts +194 -0
  440. package/dist/table/features/sorting.d.ts.map +1 -0
  441. package/dist/table/features/visibility.d.ts +119 -0
  442. package/dist/table/features/visibility.d.ts.map +1 -0
  443. package/dist/table/filter-fns.d.ts +4 -0
  444. package/dist/table/filter-fns.d.ts.map +1 -0
  445. package/dist/table/index.cjs +5 -0
  446. package/dist/table/index.cjs.map +7 -0
  447. package/dist/table/index.d.ts +32 -0
  448. package/dist/table/index.d.ts.map +1 -0
  449. package/dist/table/index.js +5 -0
  450. package/dist/table/index.js.map +7 -0
  451. package/dist/table/sorting-fns.d.ts +5 -0
  452. package/dist/table/sorting-fns.d.ts.map +1 -0
  453. package/dist/table/types.d.ts +142 -0
  454. package/dist/table/types.d.ts.map +1 -0
  455. package/dist/table/utils/filter-rows-utils.d.ts +5 -0
  456. package/dist/table/utils/filter-rows-utils.d.ts.map +1 -0
  457. package/dist/table/utils/get-core-row-model.d.ts +3 -0
  458. package/dist/table/utils/get-core-row-model.d.ts.map +1 -0
  459. package/dist/table/utils/get-expanded-row-model.d.ts +8 -0
  460. package/dist/table/utils/get-expanded-row-model.d.ts.map +1 -0
  461. package/dist/table/utils/get-faceted-min-max-values.d.ts +3 -0
  462. package/dist/table/utils/get-faceted-min-max-values.d.ts.map +1 -0
  463. package/dist/table/utils/get-faceted-row-model.d.ts +3 -0
  464. package/dist/table/utils/get-faceted-row-model.d.ts.map +1 -0
  465. package/dist/table/utils/get-faceted-unique-values.d.ts +3 -0
  466. package/dist/table/utils/get-faceted-unique-values.d.ts.map +1 -0
  467. package/dist/table/utils/get-filtered-row-model.d.ts +3 -0
  468. package/dist/table/utils/get-filtered-row-model.d.ts.map +1 -0
  469. package/dist/table/utils/get-grouped-row-model.d.ts +3 -0
  470. package/dist/table/utils/get-grouped-row-model.d.ts.map +1 -0
  471. package/dist/table/utils/get-pagination-row-model.d.ts +3 -0
  472. package/dist/table/utils/get-pagination-row-model.d.ts.map +1 -0
  473. package/dist/table/utils/get-sorted-row-model.d.ts +3 -0
  474. package/dist/table/utils/get-sorted-row-model.d.ts.map +1 -0
  475. package/dist/table/utils.d.ts +39 -0
  476. package/dist/table/utils.d.ts.map +1 -0
  477. package/dist/tabs/index.cjs +2 -0
  478. package/dist/tabs/index.cjs.map +7 -0
  479. package/dist/tabs/index.d.ts +5 -0
  480. package/dist/tabs/index.d.ts.map +1 -0
  481. package/dist/tabs/index.js +2 -0
  482. package/dist/tabs/index.js.map +7 -0
  483. package/dist/tabs/internal/index.d.ts +2 -0
  484. package/dist/tabs/internal/index.d.ts.map +1 -0
  485. package/dist/tabs/internal/tabs.dom.d.ts +42 -0
  486. package/dist/tabs/internal/tabs.dom.d.ts.map +1 -0
  487. package/dist/tabs/tabs.api.d.ts +4 -0
  488. package/dist/tabs/tabs.api.d.ts.map +1 -0
  489. package/dist/tabs/tabs.machine.d.ts +4 -0
  490. package/dist/tabs/tabs.machine.d.ts.map +1 -0
  491. package/dist/tabs/tabs.props.d.ts +4 -0
  492. package/dist/tabs/tabs.props.d.ts.map +1 -0
  493. package/dist/tabs/tabs.types.d.ts +256 -0
  494. package/dist/tabs/tabs.types.d.ts.map +1 -0
  495. package/dist/text-area/index.cjs +2 -0
  496. package/dist/text-area/index.cjs.map +7 -0
  497. package/dist/text-area/index.d.ts +2 -0
  498. package/dist/text-area/index.d.ts.map +1 -0
  499. package/dist/text-area/index.js +1 -0
  500. package/dist/text-area/index.js.map +7 -0
  501. package/dist/text-input/index.cjs +2 -0
  502. package/dist/text-input/index.cjs.map +7 -0
  503. package/dist/text-input/index.d.ts +5 -0
  504. package/dist/text-input/index.d.ts.map +1 -0
  505. package/dist/text-input/index.js +2 -0
  506. package/dist/text-input/index.js.map +7 -0
  507. package/dist/text-input/internal/index.d.ts +2 -0
  508. package/dist/text-input/internal/index.d.ts.map +1 -0
  509. package/dist/text-input/internal/text-input.dom.d.ts +7 -0
  510. package/dist/text-input/internal/text-input.dom.d.ts.map +1 -0
  511. package/dist/text-input/text-input.api.d.ts +4 -0
  512. package/dist/text-input/text-input.api.d.ts.map +1 -0
  513. package/dist/text-input/text-input.machine.d.ts +4 -0
  514. package/dist/text-input/text-input.machine.d.ts.map +1 -0
  515. package/dist/text-input/text-input.props.d.ts +3 -0
  516. package/dist/text-input/text-input.props.d.ts.map +1 -0
  517. package/dist/text-input/text-input.types.d.ts +118 -0
  518. package/dist/text-input/text-input.types.d.ts.map +1 -0
  519. package/dist/toast/index.cjs +2 -0
  520. package/dist/toast/index.cjs.map +7 -0
  521. package/dist/toast/index.d.ts +8 -0
  522. package/dist/toast/index.d.ts.map +1 -0
  523. package/dist/toast/index.js +2 -0
  524. package/dist/toast/index.js.map +7 -0
  525. package/dist/toast/internal/index.d.ts +2 -0
  526. package/dist/toast/internal/index.d.ts.map +1 -0
  527. package/dist/toast/internal/toast.dom.d.ts +10 -0
  528. package/dist/toast/internal/toast.dom.d.ts.map +1 -0
  529. package/dist/toast/toast-group.api.d.ts +4 -0
  530. package/dist/toast/toast-group.api.d.ts.map +1 -0
  531. package/dist/toast/toast-group.machine.d.ts +4 -0
  532. package/dist/toast/toast-group.machine.d.ts.map +1 -0
  533. package/dist/toast/toast.api.d.ts +4 -0
  534. package/dist/toast/toast.api.d.ts.map +1 -0
  535. package/dist/toast/toast.machine.d.ts +4 -0
  536. package/dist/toast/toast.machine.d.ts.map +1 -0
  537. package/dist/toast/toast.store.d.ts +4 -0
  538. package/dist/toast/toast.store.d.ts.map +1 -0
  539. package/dist/toast/toast.types.d.ts +463 -0
  540. package/dist/toast/toast.types.d.ts.map +1 -0
  541. package/dist/toast/toast.utils.d.ts +9 -0
  542. package/dist/toast/toast.utils.d.ts.map +1 -0
  543. package/dist/tooltip/index.cjs +2 -0
  544. package/dist/tooltip/index.cjs.map +7 -0
  545. package/dist/tooltip/index.d.ts +5 -0
  546. package/dist/tooltip/index.d.ts.map +1 -0
  547. package/dist/tooltip/index.js +2 -0
  548. package/dist/tooltip/index.js.map +7 -0
  549. package/dist/tooltip/tooltip.api.d.ts +4 -0
  550. package/dist/tooltip/tooltip.api.d.ts.map +1 -0
  551. package/dist/tooltip/tooltip.machine.d.ts +4 -0
  552. package/dist/tooltip/tooltip.machine.d.ts.map +1 -0
  553. package/dist/tooltip/tooltip.props.d.ts +4 -0
  554. package/dist/tooltip/tooltip.props.d.ts.map +1 -0
  555. package/dist/tooltip/tooltip.store.d.ts +5 -0
  556. package/dist/tooltip/tooltip.store.d.ts.map +1 -0
  557. package/dist/tooltip/tooltip.types.d.ts +122 -0
  558. package/dist/tooltip/tooltip.types.d.ts.map +1 -0
  559. package/dist/tree/index.cjs +2 -0
  560. package/dist/tree/index.cjs.map +7 -0
  561. package/dist/tree/index.d.ts +6 -0
  562. package/dist/tree/index.d.ts.map +1 -0
  563. package/dist/tree/index.js +2 -0
  564. package/dist/tree/index.js.map +7 -0
  565. package/dist/tree/internal/index.d.ts +3 -0
  566. package/dist/tree/internal/index.d.ts.map +1 -0
  567. package/dist/tree/internal/tree.dom.d.ts +8 -0
  568. package/dist/tree/internal/tree.dom.d.ts.map +1 -0
  569. package/dist/tree/internal/tree.utils.d.ts +12 -0
  570. package/dist/tree/internal/tree.utils.d.ts.map +1 -0
  571. package/dist/tree/tree.api.d.ts +5 -0
  572. package/dist/tree/tree.api.d.ts.map +1 -0
  573. package/dist/tree/tree.collection.d.ts +4 -0
  574. package/dist/tree/tree.collection.d.ts.map +1 -0
  575. package/dist/tree/tree.machine.d.ts +4 -0
  576. package/dist/tree/tree.machine.d.ts.map +1 -0
  577. package/dist/tree/tree.props.d.ts +7 -0
  578. package/dist/tree/tree.props.d.ts.map +1 -0
  579. package/dist/tree/tree.types.d.ts +579 -0
  580. package/dist/tree/tree.types.d.ts.map +1 -0
  581. package/dist/tsbuildinfo +1 -0
  582. package/package.json +29 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/combobox/combobox.api.ts", "../../src/combobox/internal/combobox.dom.ts", "../../src/combobox/combobox.collection.ts", "../../src/combobox/combobox.machine.ts", "../../src/combobox/combobox.props.ts"],
4
+ "sourcesContent": ["// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {getPlacementStyles} from \"@qualcomm-ui/dom/floating-ui\"\nimport {isFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getEventKey,\n isComposingEvent,\n isContextMenuEvent,\n isDownloadingEvent,\n isLeftClick,\n isOpeningInNewTab,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {CollectionItem} from \"@qualcomm-ui/utils/collection\"\nimport type {DirectionProperty} from \"@qualcomm-ui/utils/direction\"\nimport {ensure} from \"@qualcomm-ui/utils/guard\"\nimport type {\n EventKeyMap,\n IdRegistrationProps,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport type {\n ComboboxApi,\n ComboboxApiItemProps,\n ComboboxClearTriggerBindings,\n ComboboxControlBindings,\n ComboboxEmptyBindings,\n ComboboxErrorIndicatorBindings,\n ComboboxErrorTextBindings,\n ComboboxHintBindings,\n ComboboxItemBindings,\n ComboboxItemContext,\n ComboboxItemGroupBindings,\n ComboboxItemGroupLabelBindings,\n ComboboxItemIndicatorBindings,\n ComboboxItemTextBindings,\n ComboboxLabelBindings,\n ComboboxPositionerBindings,\n ComboboxRootBindings,\n ComboboxSchema,\n ComboboxTriggerBindings,\n} from \"./combobox.types\"\nimport {\n domEls,\n domIds,\n getItemGroupId,\n getItemGroupLabelId,\n getItemId,\n} from \"./internal\"\n\nexport function createComboboxApi(\n machine: Machine<ComboboxSchema>,\n normalize: PropNormalizer,\n): ComboboxApi {\n const {computed, context, event, prop, refs, scope, send, state} = machine\n\n const translations = prop(\"translations\")\n const collection = prop(\"collection\")\n\n const disabled = !!prop(\"disabled\")\n const interactive = computed(\"isInteractive\")\n const invalid = !!prop(\"invalid\")\n const required = !!prop(\"required\")\n const readOnly = !!prop(\"readOnly\")\n\n const open = state.hasTag(\"open\")\n const focused = state.hasTag(\"focused\")\n const composite = prop(\"composite\")\n const highlightedValue = context.get(\"highlightedValue\")\n\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\"),\n })\n\n function getItemState(\n props: ComboboxApiItemProps<CollectionItem>,\n ): ComboboxItemContext {\n const itemDisabled = collection.getItemDisabled(props.item)\n const value = collection.getItemValue(props.item)\n ensure(\n value,\n () =>\n `[@qualcomm-ui/core] No value found for item ${JSON.stringify(props.item)}`,\n )\n return {\n ...props,\n disabled: disabled || itemDisabled,\n highlighted: highlightedValue === value,\n selected: context.get(\"value\").includes(value),\n value,\n }\n }\n\n const commonBindings: {\"data-scope\": \"combobox\"} & DirectionProperty = {\n \"data-scope\": \"combobox\",\n dir: prop(\"dir\"),\n }\n\n return {\n clearHighlightValue() {\n send({type: \"HIGHLIGHTED_VALUE.CLEAR\"})\n },\n clearValue(value) {\n if (value != null) {\n send({type: \"ITEM.CLEAR\", value})\n } else {\n send({type: \"VALUE.CLEAR\"})\n }\n },\n collection: prop(\"collection\"),\n disabled: !!disabled,\n focus() {\n domEls.input(scope)?.focus()\n },\n focused,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n highlightedItem: context.get(\"highlightedItem\"),\n highlightedValue,\n inputValue: context.get(\"inputValue\"),\n multiple: !!prop(\"multiple\"),\n open,\n reposition(options = {}) {\n send({options, type: \"POSITIONING.SET\"})\n },\n required: prop(\"required\"),\n selectedItems: context.get(\"selectedItems\"),\n selectValue(value) {\n send({type: \"ITEM.SELECT\", value})\n },\n setHighlightValue(value) {\n send({type: \"HIGHLIGHTED_VALUE.SET\", value})\n },\n setInputValue(value, reason = \"script\") {\n send({src: reason, type: \"INPUT_VALUE.SET\", value})\n },\n setOpen(nextOpen, reason = \"script\") {\n const open = state.hasTag(\"open\")\n if (open === nextOpen) {\n return\n }\n send({src: reason, type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n setScrollToIndexFn(fn) {\n refs.set(\"scrollToIndexFn\", fn)\n },\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n syncSelectedItems() {\n send({type: \"SELECTED_ITEMS.SYNC\"})\n },\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n\n // group: bindings\n getClearTriggerBindings(props): ComboboxClearTriggerBindings {\n scope.ids.register(\"clearTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.clearTriggerLabel,\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"clear-trigger\",\n\n disabled,\n hidden: !context.get(\"value\").length,\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n send({src: \"clear-trigger\", type: \"VALUE.CLEAR\"})\n },\n onPointerDown(event) {\n if (!isLeftClick(event)) {\n return\n }\n event.preventDefault()\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n\n getContentBindings(props) {\n scope.ids.register(\"content\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": domIds.label(scope),\n \"aria-multiselectable\":\n prop(\"multiple\") && composite ? \"true\" : undefined,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-empty\": booleanDataAttr(collection.size === 0),\n \"data-focus-visible\": booleanDataAttr(isFocusVisible()),\n \"data-part\": \"content\",\n \"data-placement\": context.get(\"currentPlacement\"),\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open,\n id: props.id,\n onPointerDown(event) {\n if (!isLeftClick(event)) {\n return\n }\n // prevent options or elements within listbox from taking focus\n event.preventDefault()\n },\n role: !composite ? \"dialog\" : \"listbox\",\n tabIndex: -1,\n })\n },\n\n getControlBindings(props): ComboboxControlBindings {\n scope.ids.register(\"control\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n \"data-state\": open ? \"open\" : \"closed\",\n id: props.id,\n })\n },\n\n getEmptyBindings(): ComboboxEmptyBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"empty\",\n hidden: collection.size > 0,\n role: \"presentation\",\n })\n },\n\n getErrorIndicatorBindings(): ComboboxErrorIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n hidden: !prop(\"invalid\"),\n })\n },\n\n getErrorTextBindings(\n props: IdRegistrationProps,\n ): ComboboxErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n hidden: !prop(\"invalid\"),\n id: props.id,\n })\n },\n\n getHintBindings(props: IdRegistrationProps): ComboboxHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n id: props.id,\n })\n },\n\n getInputBindings(props) {\n scope.ids.register(\"input\", props)\n return normalize.input({\n ...commonBindings,\n \"aria-activedescendant\": highlightedValue\n ? getItemId(scope, highlightedValue)\n : undefined,\n \"aria-autocomplete\": computed(\"autoComplete\") ? \"both\" : \"list\",\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-invalid\": booleanAriaAttr(invalid),\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"data-autofocus\": booleanDataAttr(prop(\"autoFocus\")),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input\",\n \"data-state\": open ? \"open\" : \"closed\",\n defaultValue: context.get(\"inputValue\"),\n disabled,\n form: prop(\"form\"),\n id: props.id,\n name: prop(\"name\"),\n onBlur() {\n if (disabled) {\n return\n }\n send({type: \"INPUT.BLUR\"})\n },\n onChange(event) {\n send({\n src: \"input-change\",\n type: \"INPUT.CHANGE\",\n value: event.currentTarget.value,\n })\n },\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!prop(\"openOnClick\")) {\n return\n }\n if (!interactive) {\n return\n }\n send({src: \"input-click\", type: \"INPUT.CLICK\"})\n },\n onFocus() {\n if (disabled) {\n return\n }\n send({type: \"INPUT.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented || !interactive) {\n return\n }\n if (event.ctrlKey || event.shiftKey || isComposingEvent(event)) {\n return\n }\n\n const openOnKeyPress = prop(\"openOnKeyPress\")\n const isModifierKey = event.ctrlKey || event.metaKey || event.shiftKey\n const keypress = true\n\n const keymap: EventKeyMap = {\n ArrowDown(event) {\n if (!openOnKeyPress && !open) {\n return\n }\n send({\n keypress,\n src: \"arrow-key\",\n type: event.altKey ? \"OPEN\" : \"INPUT.ARROW_DOWN\",\n })\n event.preventDefault()\n },\n ArrowUp() {\n if (!openOnKeyPress && !open) {\n return\n }\n send({\n keypress,\n src: \"arrow-key\",\n type: event.altKey ? \"CLOSE\" : \"INPUT.ARROW_UP\",\n })\n event.preventDefault()\n },\n End(event) {\n if (isModifierKey) {\n return\n }\n send({keypress, type: \"INPUT.END\"})\n if (open) {\n event.preventDefault()\n }\n },\n Enter(event) {\n send({keypress, src: \"item-select\", type: \"INPUT.ENTER\"})\n\n // when there's a form owner, allow submitting custom value if\n // `allowCustomValue` is true\n const submittable =\n computed(\"isCustomValue\") && prop(\"allowCustomValue\")\n // Also allow submission when there's no highlighted item (bug fix)\n const hasHighlight = highlightedValue != null\n // Allow submission when alwaysSubmitOnEnter is true\n const alwaysSubmit = prop(\"alwaysSubmitOnEnter\")\n\n if (open && !submittable && !alwaysSubmit && hasHighlight) {\n event.preventDefault()\n }\n },\n Escape() {\n send({keypress, src: \"escape-key\", type: \"INPUT.ESCAPE\"})\n event.preventDefault()\n },\n Home(event) {\n if (isModifierKey) {\n return\n }\n send({keypress, type: \"INPUT.HOME\"})\n if (open) {\n event.preventDefault()\n }\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keymap[key]\n exec?.(event)\n },\n placeholder: prop(\"placeholder\"),\n readOnly,\n required: prop(\"required\"),\n role: \"combobox\",\n spellCheck: \"false\",\n type: \"text\",\n })\n },\n\n getItemBindings(itemState): ComboboxItemBindings {\n const value = itemState.value\n\n return normalize.element({\n ...commonBindings,\n \"aria-disabled\": booleanAriaAttr(itemState.disabled),\n \"aria-selected\": booleanAriaAttr(itemState.highlighted),\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-value\": itemState.value,\n id: getItemId(scope, value),\n onClick(event) {\n if (isDownloadingEvent(event)) {\n return\n }\n if (isOpeningInNewTab(event)) {\n return\n }\n if (isContextMenuEvent(event)) {\n return\n }\n if (itemState.disabled) {\n return\n }\n send({src: \"item-select\", type: \"ITEM.CLICK\", value})\n },\n onPointerLeave() {\n if (itemState.persistFocus) {\n return\n }\n if (itemState.disabled) {\n return\n }\n const prev = event.previous()\n const mouseMoved = prev?.type.includes(\"POINTER\")\n if (!mouseMoved) {\n return\n }\n send({type: \"ITEM.POINTER_LEAVE\", value})\n },\n onPointerMove() {\n if (itemState.disabled) {\n return\n }\n if (itemState.highlighted) {\n return\n }\n send({type: \"ITEM.POINTER_MOVE\", value})\n },\n role: \"option\",\n tabIndex: -1,\n })\n },\n\n getItemGroupBindings(props): ComboboxItemGroupBindings {\n const {id} = props\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": getItemGroupLabelId(scope, id),\n \"data-empty\": booleanDataAttr(collection.size === 0),\n \"data-part\": \"item-group\",\n id: getItemGroupId(scope, id),\n role: \"group\",\n })\n },\n\n getItemGroupLabelBindings(props): ComboboxItemGroupLabelBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"item-group-label\",\n id: getItemGroupLabelId(scope, props.htmlFor),\n role: \"presentation\",\n })\n },\n\n getItemIndicatorBindings(itemState): ComboboxItemIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-hidden\": true,\n \"data-part\": \"item-indicator\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n hidden: !itemState.selected,\n })\n },\n\n getItemState,\n\n getItemTextBindings(itemState): ComboboxItemTextBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item-text\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n })\n },\n\n getLabelBindings(props): ComboboxLabelBindings {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-required\": booleanDataAttr(required),\n htmlFor: domIds.input(scope),\n id: props.id,\n onClick(event) {\n if (composite) {\n return\n }\n event.preventDefault()\n domEls.trigger(scope)?.focus({preventScroll: true})\n },\n })\n },\n\n getPositionerBindings(props): ComboboxPositionerBindings {\n scope.ids.register(\"positioner\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"positioner\",\n id: props.id,\n style: popperStyles.floating,\n })\n },\n\n getRootBindings(props): ComboboxRootBindings {\n scope.ids.register(\"root\", props)\n return normalize.element({\n ...commonBindings,\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n })\n },\n\n getTriggerBindings(props): ComboboxTriggerBindings {\n scope.ids.register(\"trigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": open ? domIds.content(scope) : undefined,\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": composite ? \"listbox\" : \"dialog\",\n \"aria-label\": translations.triggerLabel,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focusable\": booleanDataAttr(props.focusable),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"trigger\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-state\": open ? \"open\" : \"closed\",\n disabled,\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n send({src: \"trigger-click\", type: \"TRIGGER.CLICK\"})\n },\n onFocus() {\n if (!props.focusable) {\n return\n }\n send({src: \"trigger\", type: \"INPUT.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (composite) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({src: \"arrow-key\", type: \"INPUT.ARROW_DOWN\"})\n },\n ArrowUp() {\n send({src: \"arrow-key\", type: \"INPUT.ARROW_UP\"})\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keyMap[key]\n\n if (exec) {\n exec(event as any)\n event.preventDefault()\n }\n },\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (event.pointerType === \"touch\") {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n event.preventDefault()\n queueMicrotask(() => {\n domEls.input(scope)?.focus({preventScroll: true})\n })\n },\n tabIndex: props.focusable ? undefined : -1,\n type: \"button\",\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {query} from \"@qualcomm-ui/dom/query\"\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {ComboboxElementIds, ComboboxScope} from \"../combobox.types\"\n\nexport const domIds: ScopeDomIds<\n Omit<ComboboxElementIds, \"itemGroupLabel\">,\n ComboboxScope\n> = {\n clearTrigger: (scope) => scope.ids.get(\"clearTrigger\"),\n content: (scope) => scope.ids.get(\"content\"),\n control: (scope) => scope.ids.get(\"control\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hint: (scope) => scope.ids.get(\"hint\"),\n input: (scope) => scope.ids.get(\"input\"),\n label: (scope) => scope.ids.get(\"label\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n root: (scope) => scope.ids.get(\"root\"),\n trigger: (scope) => scope.ids.get(\"trigger\"),\n}\n\nexport const domEls: ScopeDomElements<\n Omit<ComboboxElementIds, \"itemGroup\" | \"itemGroupLabel\" | \"input\">,\n ComboboxScope\n> & {\n input: (scope: ComboboxScope) => HTMLInputElement | null\n} = {\n clearTrigger: (scope) => scope.getById(domIds.clearTrigger(scope)),\n content: (scope) => scope.getById(domIds.content(scope)),\n control: (scope) => scope.getById(domIds.control(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n input: (scope) => scope.getById(domIds.input(scope)),\n label: (scope) => scope.getById(domIds.label?.(scope)),\n positioner: (scope) => scope.getById(domIds.positioner(scope)),\n root: (scope) => scope.getById(domIds.root(scope)),\n trigger: (scope) => scope.getById(domIds.trigger(scope)),\n}\n\nexport function getItemGroupId(scope: ComboboxScope, id: string) {\n return `${scope.ids.get(\"root\")}-item-group-${id}`\n}\n\nexport function getItemId(ctx: ComboboxScope, id: string) {\n return `${domIds.root(ctx)}-item-${id}`\n}\n\nexport function getItemGroupLabelId(ctx: ComboboxScope, id: string) {\n return `${domIds.root(ctx)}-item-group-label-${id}`\n}\n\nexport function getItemEl(\n ctx: ComboboxScope,\n value: string | null,\n): HTMLElement | null {\n if (value == null) {\n return null\n }\n const selector = `[role=option][data-value=\"${CSS.escape(value)}\"]`\n return query(domEls.content(ctx), selector)\n}\n\nexport function focusInputEl(ctx: ComboboxScope): void {\n const inputEl = domEls.input(ctx)\n if (ctx.isActiveElement(inputEl)) {\n return\n }\n inputEl?.focus({preventScroll: true})\n}\n\nexport function focusTriggerEl(ctx: ComboboxScope): void {\n const triggerEl = domEls.trigger(ctx)\n if (ctx.isActiveElement(triggerEl)) {\n return\n }\n triggerEl?.focus({preventScroll: true})\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n type CollectionItem,\n ListCollection,\n type ListCollectionOptions,\n} from \"@qualcomm-ui/utils/collection\"\n\nexport const comboboxCollection = <T extends CollectionItem = CollectionItem>(\n options: ListCollectionOptions<T>,\n): ListCollection<T> => {\n return new ListCollection<T>(options)\n}\n\nexport const emptyCollection = <\n T extends CollectionItem = CollectionItem,\n>(): ListCollection<T> => {\n return new ListCollection<T>({items: []})\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {ariaHidden} from \"@qualcomm-ui/dom/aria-hidden\"\nimport {trackDismissableElement} from \"@qualcomm-ui/dom/dismissable\"\nimport {getPlacement, type Placement} from \"@qualcomm-ui/dom/floating-ui\"\nimport {trackFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n nextTick,\n observeAttributes,\n raf,\n scrollIntoView,\n setCaretToEnd,\n} from \"@qualcomm-ui/dom/query\"\nimport {addOrRemove, remove} from \"@qualcomm-ui/utils/array\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {match} from \"@qualcomm-ui/utils/functions\"\nimport {isBoolean} from \"@qualcomm-ui/utils/guard\"\nimport {\n createChoose,\n createGuards,\n createMachine,\n type GuardFn,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {emptyCollection} from \"./combobox.collection\"\nimport type {ComboboxOpenChangeReason, ComboboxSchema} from \"./combobox.types\"\nimport {domEls, focusInputEl, focusTriggerEl, getItemEl} from \"./internal\"\n\nconst {and, not} = createGuards<ComboboxSchema>()\n\nexport const comboboxMachine: MachineConfig<ComboboxSchema> =\n createMachine<ComboboxSchema>({\n actions: {\n autofillInputValue({computed, context, event, prop, scope}) {\n const inputEl = domEls.input(scope)\n const collection = prop(\"collection\")\n if (!computed(\"autoComplete\") || !inputEl || !event.keypress) {\n return\n }\n const valueText = collection.stringify(context.get(\"highlightedValue\"))\n raf(() => {\n inputEl.value = valueText || context.get(\"inputValue\")\n })\n },\n clearHighlightedValue({context}) {\n context.set(\"highlightedValue\", null)\n },\n clearInputValue({context}) {\n context.set(\"inputValue\", \"\")\n },\n clearItem(params) {\n const {context, event, flush, prop} = params\n if (event.value == null) {\n return\n }\n flush(() => {\n const nextValue = remove(context.get(\"value\"), event.value)\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n clearSelectedItems(params) {\n const {context, flush, prop} = params\n flush(() => {\n context.set(\"value\", [])\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany([]),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n highlightFirstItem({context, prop, scope}) {\n const exec = domEls.content(scope) ? queueMicrotask : raf\n exec(() => {\n const value = prop(\"collection\").firstValue\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightFirstItemIfNeeded({action, computed}) {\n if (!computed(\"autoHighlight\")) {\n return\n }\n action([\"highlightFirstItem\"])\n },\n highlightFirstOrSelectedItem({computed, context, prop}) {\n raf(() => {\n let value: string | null = null\n if (computed(\"hasSelectedItems\")) {\n value = prop(\"collection\").sort(context.get(\"value\"))[0]\n } else {\n value = prop(\"collection\").firstValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightFirstSelectedItem({context, prop}) {\n raf(() => {\n const [value] = prop(\"collection\").sort(context.get(\"value\"))\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightLastItem({context, prop, scope}) {\n const exec = domEls.content(scope) ? queueMicrotask : raf\n exec(() => {\n const value = prop(\"collection\").lastValue\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightLastOrSelectedItem({computed, context, prop}) {\n raf(() => {\n const collection = prop(\"collection\")\n let value: string | null = null\n if (computed(\"hasSelectedItems\")) {\n value = collection.sort(context.get(\"value\"))[0]\n } else {\n value = collection.lastValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightNextItem({context, prop}) {\n let value: string | null = null\n const highlightedValue = context.get(\"highlightedValue\")\n const collection = prop(\"collection\")\n if (highlightedValue) {\n value = collection.getNextValue(highlightedValue)\n if (!value && prop(\"loopFocus\")) {\n value = collection.firstValue\n }\n } else {\n value = collection.firstValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n },\n highlightPrevItem({context, prop}) {\n let value: string | null = null\n const highlightedValue = context.get(\"highlightedValue\")\n const collection = prop(\"collection\")\n if (highlightedValue) {\n value = collection.getPreviousValue(highlightedValue)\n if (!value && prop(\"loopFocus\")) {\n value = collection.lastValue\n }\n } else {\n value = collection.lastValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n },\n invokeOnClose({event, prop}) {\n const reason = getOpenChangeReason(event)\n prop(\"onOpenChange\")?.({open: false, reason})\n },\n invokeOnOpen({event, prop}) {\n const reason = getOpenChangeReason(event)\n prop(\"onOpenChange\")?.({open: true, reason})\n },\n reposition({context, event, prop, scope}) {\n const controlEl = () => domEls.control(scope)\n const positionerEl = () => domEls.positioner(scope)\n getPlacement(controlEl, positionerEl, {\n ...prop(\"positioning\"),\n ...event.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n revertInputValue({computed, context, prop}) {\n const selectionBehavior = prop(\"selectionBehavior\")\n // Without this, all items briefly render as the text input filter is\n // removed. This creates a noticeable jump as the content expands briefly\n // before it closes.\n raf(() => {\n const inputValue = match(selectionBehavior, {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: computed(\"hasSelectedItems\")\n ? computed(\"valueAsString\")\n : \"\",\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n scrollContentToTop({prop, refs, scope}) {\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const firstValue = prop(\"collection\").firstValue\n scrollToIndexFn({\n getElement: () => getItemEl(scope, firstValue),\n immediate: true,\n index: 0,\n })\n } else {\n const contentEl = domEls.content(scope)\n if (!contentEl) {\n return\n }\n contentEl.scrollTop = 0\n }\n },\n scrollToHighlightedItem({context, prop, refs, scope}) {\n nextTick(() => {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n return\n }\n\n const itemEl = getItemEl(scope, highlightedValue)\n const contentEl = domEls.content(scope)\n\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const highlightedIndex =\n prop(\"collection\").indexOf(highlightedValue)\n scrollToIndexFn({\n getElement: () => getItemEl(scope, highlightedValue),\n immediate: true,\n index: highlightedIndex,\n })\n return\n }\n\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n })\n },\n selectHighlightedItem(params) {\n const {context, prop} = params\n const collection = prop(\"collection\")\n\n // check if item is valid\n const highlightedValue = context.get(\"highlightedValue\")\n if (!highlightedValue || !collection.has(highlightedValue)) {\n return\n }\n\n // select item\n const nextValue = prop(\"multiple\")\n ? addOrRemove(context.get(\"value\"), highlightedValue)\n : [highlightedValue]\n prop(\"onSelect\")?.({itemValue: highlightedValue, value: nextValue})\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: collection.stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n },\n selectItem(params) {\n const {context, event, flush, prop} = params\n if (event.value == null) {\n return\n }\n flush(() => {\n const nextValue = prop(\"multiple\")\n ? addOrRemove(context.get(\"value\"), event.value)\n : [event.value]\n prop(\"onSelect\")?.({itemValue: event.value, value: nextValue})\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n setFinalFocus({scope}) {\n raf(() => {\n const triggerEl = domEls.trigger(scope)\n if (triggerEl?.dataset.focusable == null) {\n focusInputEl(scope)\n } else {\n focusTriggerEl(scope)\n }\n })\n },\n setHighlightedValue({context, event}) {\n if (event.value == null) {\n return\n }\n context.set(\"highlightedValue\", event.value)\n },\n setInitialFocus({scope}) {\n raf(() => {\n focusInputEl(scope)\n })\n },\n setInputValue({context, event}) {\n context.set(\"inputValue\", event.value)\n },\n setValue(params) {\n const {context, event, flush, prop} = params\n flush(() => {\n context.set(\"value\", event.value)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(event.value),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n syncHighlightedItem({context, prop}) {\n const item = prop(\"collection\").find(context.get(\"highlightedValue\"))\n context.set(\"highlightedItem\", item, {})\n },\n syncInputFocus({scope, state}) {\n const input = domEls.input(scope)\n if (!input) {\n return\n }\n if (\n input.ownerDocument.activeElement === input &&\n state.get() !== \"focused\"\n ) {\n state.set(\"focused\")\n }\n },\n syncInputValue({context, event, scope}) {\n const inputEl = domEls.input(scope)\n\n if (!inputEl) {\n return\n }\n inputEl.value = context.get(\"inputValue\")\n\n queueMicrotask(() => {\n if (event.current().type === \"INPUT.CHANGE\") {\n return\n }\n setCaretToEnd(inputEl)\n })\n },\n syncSelectedItems(params) {\n queueMicrotask(() => {\n const {context, prop} = params\n const collection = prop(\"collection\")\n const value = context.get(\"value\")\n\n // set selected items (based on value)\n const selectedItems = value.map((v) => {\n const item = context\n .get(\"selectedItems\")\n .find((item) => collection.getItemValue(item) === v)\n return item || collection.find(v)\n })\n context.set(\"selectedItems\", selectedItems)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: collection.stringifyMany(value),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n toggleVisibility({event, prop, send}) {\n send({\n previousEvent: event,\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n })\n },\n },\n\n computed: {\n autoComplete: ({prop}) => prop(\"inputBehavior\") === \"autocomplete\",\n autoHighlight: ({prop}) => prop(\"inputBehavior\") === \"autohighlight\",\n hasSelectedItems: ({context}) => context.get(\"value\").length > 0,\n isCustomValue: ({computed, context}) =>\n context.get(\"inputValue\") !== computed(\"valueAsString\"),\n isInputValueEmpty: ({context}) => context.get(\"inputValue\").length === 0,\n isInteractive: ({prop}) => !(prop(\"readOnly\") || prop(\"disabled\")),\n valueAsString: ({context, prop}) =>\n prop(\"collection\").stringifyItems(context.get(\"selectedItems\")),\n },\n\n context({bindable, getContext, getEvent, prop}) {\n return {\n currentPlacement: bindable<Placement | undefined>(() => ({\n defaultValue: undefined,\n })),\n highlightedItem: bindable<string | null>(() => {\n const highlightedValue = prop(\"highlightedValue\")\n const highlightedItem = prop(\"collection\").find(highlightedValue)\n return {defaultValue: highlightedItem}\n }),\n highlightedValue: bindable<string | null>(() => ({\n defaultValue: prop(\"defaultHighlightedValue\") || null,\n onChange(value) {\n const item = prop(\"collection\").find(value)\n prop(\"onHighlightChange\")?.({\n highlightedItem: item,\n highlightedValue: value,\n })\n },\n value: prop(\"highlightedValue\"),\n })),\n inputValue: bindable<string>(() => {\n let inputValue = prop(\"inputValue\") || prop(\"defaultInputValue\") || \"\"\n const value = prop(\"value\") || prop(\"defaultValue\") || []\n\n if (!inputValue.trim() && !prop(\"multiple\")) {\n const valueAsString = prop(\"collection\").stringifyMany(value)\n inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: inputValue || valueAsString,\n replace: valueAsString,\n })\n }\n\n return {\n defaultValue: inputValue,\n onChange(value) {\n const event = getEvent()\n const reason = (event.previousEvent || event).src\n prop(\"onInputValueChange\")?.({inputValue: value, reason})\n },\n value: prop(\"inputValue\"),\n }\n }),\n selectedItems: bindable<string[]>(() => {\n const value = prop(\"value\") || prop(\"defaultValue\") || []\n const selectedItems = prop(\"collection\").findMany(value)\n return {defaultValue: selectedItems}\n }),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n hash(value) {\n return value.join(\",\")\n },\n isEqual,\n onChange(value) {\n const context = getContext()\n const prevSelectedItems = context.get(\"selectedItems\")\n const collection = prop(\"collection\")\n\n const nextItems: any[] = value.map((v: string) => {\n const item = prevSelectedItems.find(\n (item: any) => collection.getItemValue(item) === v,\n )\n return item || collection.find(v)\n })\n\n context.set(\"selectedItems\", nextItems)\n\n prop(\"onValueChange\")?.({items: nextItems, value})\n },\n value: prop(\"value\"),\n })),\n }\n },\n\n effects: {\n hideOtherElements({scope}) {\n return ariaHidden([\n domEls.input(scope),\n domEls.content(scope),\n domEls.trigger(scope),\n domEls.clearTrigger(scope),\n ])\n },\n scrollToHighlightedItem({context, event, prop, refs, scope}) {\n const inputEl = domEls.input(scope)\n\n const cleanups: VoidFunction[] = []\n\n const exec = (immediate: boolean) => {\n const pointer = event.current().type.includes(\"POINTER\")\n const highlightedValue = context.get(\"highlightedValue\")\n if (pointer || !highlightedValue) {\n return\n }\n\n const contentEl = domEls.content(scope)\n\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const highlightedIndex =\n prop(\"collection\").indexOf(highlightedValue)\n scrollToIndexFn({\n getElement: () => getItemEl(scope, highlightedValue),\n immediate,\n index: highlightedIndex,\n })\n return\n }\n\n const itemEl = getItemEl(scope, highlightedValue)\n const raf_cleanup = raf(() => {\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n })\n cleanups.push(raf_cleanup)\n }\n\n const rafCleanup = raf(() => exec(true))\n cleanups.push(rafCleanup)\n\n const observerCleanup = observeAttributes(inputEl, {\n attributes: [\"aria-activedescendant\"],\n callback: () => exec(false),\n })\n cleanups.push(observerCleanup)\n\n return () => {\n cleanups.forEach((cleanup) => cleanup())\n }\n },\n trackDismissableLayer({prop, scope, send}) {\n if (prop(\"disableLayer\")) {\n return\n }\n const contentEl = () => domEls.content(scope)\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [\n domEls.input(scope),\n domEls.trigger(scope),\n domEls.clearTrigger(scope),\n ],\n onDismiss() {\n send({\n restoreFocus: false,\n src: \"interact-outside\",\n type: \"LAYER.INTERACT_OUTSIDE\",\n })\n },\n onEscapeKeyDown(event) {\n event.preventDefault()\n event.stopPropagation()\n send({src: \"escape-key\", type: \"LAYER.ESCAPE\"})\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n type: \"listbox\",\n })\n },\n trackFocusVisible({scope}) {\n return trackFocusVisible({root: scope.getRootNode?.()})\n },\n trackPlacement({context, prop, scope}) {\n const anchorEl = () => domEls.control(scope) || domEls.trigger(scope)\n const positionerEl = () => domEls.positioner(scope)\n\n context.set(\"currentPlacement\", prop(\"positioning\").placement)\n return getPlacement(anchorEl, positionerEl, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n },\n\n guards: {\n allowCustomValue: ({prop}) => !!prop(\"allowCustomValue\"),\n autoComplete: ({computed, prop}) =>\n computed(\"autoComplete\") && !prop(\"multiple\"),\n autoFocus: ({prop}) => !!prop(\"autoFocus\"),\n autoHighlight: ({computed}) => computed(\"autoHighlight\"),\n closeOnSelect: ({prop}) => !!prop(\"closeOnSelect\"),\n hasHighlightedItem: ({context}) =>\n context.get(\"highlightedValue\") != null,\n isChangeEvent: ({event}) => event.previousEvent?.type === \"INPUT.CHANGE\",\n isCustomValue: ({computed}) => computed(\"isCustomValue\"),\n isFirstItemHighlighted: ({context, prop}) =>\n prop(\"collection\").firstValue === context.get(\"highlightedValue\"),\n isHighlightedItemRemoved: ({context, prop}) =>\n !prop(\"collection\").has(context.get(\"highlightedValue\")),\n isInputValueEmpty: ({computed}) => computed(\"isInputValueEmpty\"),\n isLastItemHighlighted: ({context, prop}) =>\n prop(\"collection\").lastValue === context.get(\"highlightedValue\"),\n isOpenControlled: ({prop}) => prop(\"open\") != null,\n openOnChange: ({context, prop}) => {\n const openOnChange = prop(\"openOnChange\")\n if (isBoolean(openOnChange)) {\n return openOnChange\n }\n return !!openOnChange?.({inputValue: context.get(\"inputValue\")})\n },\n restoreFocus: ({event}) =>\n event.restoreFocus == null ? true : !!event.restoreFocus,\n },\n\n ids: ({bindableId, ids}) => {\n return {\n clearTrigger: bindableId(ids?.clearTrigger),\n content: bindableId(ids?.content),\n control: bindableId(ids?.control),\n errorText: bindableId(ids?.errorText),\n hint: bindableId(ids?.hint),\n input: bindableId(ids?.input),\n label: bindableId(ids?.label),\n positioner: bindableId(ids?.positioner),\n root: bindableId(ids?.root),\n trigger: bindableId(ids?.trigger),\n }\n },\n\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"suggesting\" : \"idle\"\n },\n\n on: {\n \"HIGHLIGHTED_VALUE.CLEAR\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedValue\"],\n },\n \"INPUT_VALUE.SET\": {\n actions: [\"setInputValue\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n \"SELECTED_ITEMS.SYNC\": {\n actions: [\"syncSelectedItems\"],\n },\n \"VALUE.SET\": {\n actions: [\"setValue\"],\n },\n },\n\n onInit: {\n actions: [\n createChoose<ComboboxSchema>([\n {\n actions: [\"setInitialFocus\"],\n guard: \"autoFocus\",\n },\n ]) as any,\n \"syncInputFocus\",\n ],\n effects: [\"trackFocusVisible\"],\n },\n\n props({props}) {\n return {\n allowCustomValue: false,\n alwaysSubmitOnEnter: false,\n closeOnSelect: !props.multiple,\n collection: props.collection || emptyCollection(),\n composite: true,\n defaultInputValue: \"\",\n defaultValue: [],\n inputBehavior: \"none\",\n loopFocus: true,\n openOnChange: true,\n openOnClick: false,\n openOnKeyPress: true,\n selectionBehavior: props.multiple ? \"clear\" : \"replace\",\n ...props,\n positioning: {\n gutter: 2,\n placement: \"bottom-start\",\n sameWidth: true,\n ...props.positioning,\n },\n translations: {\n clearTriggerLabel: \"Clear value\",\n triggerLabel: \"Toggle suggestions\",\n ...props.translations,\n },\n }\n },\n\n refs: ({prop}) => {\n return {\n scrollToIndexFn: prop(\"scrollToIndexFn\"),\n }\n },\n\n states: {\n focused: {\n entry: [\"scrollContentToTop\", \"clearHighlightedValue\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isChangeEvent\",\n target: \"suggesting\",\n },\n {\n target: \"interacting\",\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n // == group 1 ==\n {\n actions: [\"invokeOnOpen\"],\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n },\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n // == group 2 ==\n {\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.ARROW_UP\": [\n // == group 1 ==\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n // == group 2 ==\n {\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n {\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.BLUR\": {\n target: \"idle\",\n },\n \"INPUT.CHANGE\": [\n {\n actions: [\n \"setInputValue\",\n \"invokeOnOpen\",\n \"highlightFirstItemIfNeeded\",\n ],\n guard: and(\"isOpenControlled\", \"openOnChange\"),\n },\n {\n actions: [\n \"setInputValue\",\n \"invokeOnOpen\",\n \"highlightFirstItemIfNeeded\",\n ],\n guard: \"openOnChange\",\n target: \"suggesting\",\n },\n {\n actions: [\"setInputValue\"],\n },\n ],\n \"INPUT.CLICK\": [\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.ESCAPE\": {\n actions: [\"revertInputValue\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n },\n \"LAYER.INTERACT_OUTSIDE\": {\n target: \"idle\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n target: \"interacting\",\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearInputValue\", \"clearSelectedItems\"],\n },\n },\n tags: [\"focused\", \"closed\"],\n },\n\n idle: {\n entry: [\"scrollContentToTop\", \"clearHighlightedValue\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"interacting\",\n },\n \"INPUT.CLICK\": [\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.FOCUS\": {\n target: \"focused\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n target: \"interacting\",\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"setInitialFocus\",\n ],\n target: \"focused\",\n },\n },\n tags: [\"idle\", \"closed\"],\n },\n\n interacting: {\n effects: [\n \"scrollToHighlightedItem\",\n \"trackDismissableLayer\",\n \"trackPlacement\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n CHILDREN_CHANGE: [\n {\n actions: [\"clearHighlightedValue\"],\n guard: \"isHighlightedItemRemoved\",\n },\n {\n actions: [\"scrollToHighlightedItem\"],\n },\n ],\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"setFinalFocus\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n {\n actions: [\"clearHighlightedValue\", \"scrollContentToTop\"],\n guard: and(\"autoComplete\", \"isLastItemHighlighted\"),\n },\n {\n actions: [\"highlightNextItem\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n {\n actions: [\"clearHighlightedValue\"],\n guard: and(\"autoComplete\", \"isFirstItemHighlighted\"),\n },\n {\n actions: [\"highlightPrevItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n actions: [\"setInputValue\"],\n guard: \"autoComplete\",\n target: \"suggesting\",\n },\n {\n actions: [\"clearHighlightedValue\", \"setInputValue\"],\n target: \"suggesting\",\n },\n ],\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ENTER\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n // TODO: fix and type\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isCustomValue\",\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n target: \"focused\",\n },\n // == group 2 ==\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"ITEM.CLICK\": [\n {\n actions: [\"selectItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedValue\"],\n },\n \"LAYER.ESCAPE\": [\n {\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n },\n {\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n guard: \"autoComplete\",\n target: \"focused\",\n },\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n },\n // == group 2 ==\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"idle\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"VALUE.CLEAR\": [\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\", \"focused\"],\n },\n\n suggesting: {\n effects: [\n \"trackDismissableLayer\",\n \"scrollToHighlightedItem\",\n \"trackPlacement\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n CHILDREN_CHANGE: [\n {\n actions: [\"highlightFirstItem\"],\n guard: \"autoHighlight\",\n },\n {\n actions: [\"clearHighlightedValue\"],\n guard: \"isHighlightedItemRemoved\",\n },\n ],\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"setFinalFocus\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.ARROW_DOWN\": {\n actions: [\"highlightNextItem\"],\n target: \"interacting\",\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"highlightPrevItem\"],\n target: \"interacting\",\n },\n \"INPUT.CHANGE\": {\n actions: [\"setInputValue\"],\n },\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n target: \"interacting\",\n },\n \"INPUT.ENTER\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isCustomValue\",\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n target: \"focused\",\n },\n // == group 2 ==\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n target: \"interacting\",\n },\n \"ITEM.CLICK\": [\n {\n actions: [\"selectItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedValue\"],\n target: \"interacting\",\n },\n \"LAYER.ESCAPE\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n },\n // == group 2 ==\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"idle\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"VALUE.CLEAR\": [\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\", \"focused\"],\n },\n },\n\n watch({action, context, prop, send, track}) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncSelectedItems\"])\n })\n track([() => context.get(\"inputValue\")], () => {\n action([\"syncInputValue\"])\n })\n track([() => context.get(\"highlightedValue\")], () => {\n action([\"syncHighlightedItem\", \"autofillInputValue\"])\n })\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"])\n })\n track([() => prop(\"collection\").toString()], () => {\n send({type: \"CHILDREN_CHANGE\"})\n })\n },\n })\n\nfunction getOpenChangeReason(\n event: ComboboxSchema[\"events\"],\n): ComboboxOpenChangeReason | undefined {\n return (event.previousEvent || event).src\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {ComboboxApiProps} from \"./combobox.types\"\n\nexport const comboboxProps: (keyof ComboboxApiProps)[] =\n createProps<ComboboxApiProps>()(\n \"allowCustomValue\",\n \"alwaysSubmitOnEnter\",\n \"autoFocus\",\n \"closeOnSelect\",\n \"collection\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultInputValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"disableLayer\",\n \"form\",\n \"getRootNode\",\n \"highlightedValue\",\n \"ids\",\n \"inputBehavior\",\n \"inputValue\",\n \"invalid\",\n \"loopFocus\",\n \"multiple\",\n \"name\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInputValueChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"onValueChange\",\n \"open\",\n \"openOnChange\",\n \"openOnClick\",\n \"openOnKeyPress\",\n \"placeholder\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"selectionBehavior\",\n \"translations\",\n \"value\",\n )\n\nexport const splitComboboxProps: <Props extends ComboboxApiProps>(\n props: Props,\n) => [ComboboxApiProps, Omit<Props, keyof ComboboxApiProps>] =\n createSplitProps<ComboboxApiProps>(comboboxProps)\n"],
5
+ "mappings": "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",
6
+ "names": ["getPlacementStyles", "isFocusVisible", "getEventKey", "isComposingEvent", "isContextMenuEvent", "isDownloadingEvent", "isLeftClick", "isOpeningInNewTab", "booleanAriaAttr", "booleanDataAttr", "ensure", "query", "domIds", "scope", "domEls", "getItemGroupId", "id", "getItemId", "ctx", "getItemGroupLabelId", "getItemEl", "value", "selector", "focusInputEl", "inputEl", "focusTriggerEl", "triggerEl", "createComboboxApi", "machine", "normalize", "computed", "context", "event", "prop", "refs", "scope", "send", "state", "translations", "collection", "disabled", "interactive", "invalid", "required", "readOnly", "open", "focused", "composite", "highlightedValue", "popperStyles", "getPlacementStyles", "getItemState", "props", "itemDisabled", "value", "ensure", "commonBindings", "domEls", "options", "reason", "nextOpen", "fn", "domIds", "booleanDataAttr", "isLeftClick", "isFocusVisible", "getItemId", "booleanAriaAttr", "isComposingEvent", "openOnKeyPress", "isModifierKey", "keypress", "keymap", "submittable", "hasHighlight", "alwaysSubmit", "key", "getEventKey", "exec", "itemState", "isDownloadingEvent", "isOpeningInNewTab", "isContextMenuEvent", "id", "getItemGroupLabelId", "getItemGroupId", "keyMap", "ListCollection", "comboboxCollection", "options", "emptyCollection", "ariaHidden", "trackDismissableElement", "getPlacement", "trackFocusVisible", "nextTick", "observeAttributes", "raf", "scrollIntoView", "setCaretToEnd", "addOrRemove", "remove", "isEqual", "match", "isBoolean", "createChoose", "createGuards", "createMachine", "and", "not", "createGuards", "comboboxMachine", "createMachine", "computed", "context", "event", "prop", "scope", "inputEl", "domEls", "collection", "valueText", "raf", "params", "flush", "nextValue", "remove", "inputValue", "match", "value", "action", "highlightedValue", "reason", "getOpenChangeReason", "getPlacement", "data", "selectionBehavior", "refs", "scrollToIndexFn", "firstValue", "getItemEl", "contentEl", "nextTick", "itemEl", "highlightedIndex", "scrollIntoView", "addOrRemove", "focusInputEl", "focusTriggerEl", "item", "state", "input", "setCaretToEnd", "selectedItems", "v", "send", "bindable", "getContext", "getEvent", "valueAsString", "isEqual", "prevSelectedItems", "nextItems", "ariaHidden", "cleanups", "exec", "immediate", "pointer", "raf_cleanup", "rafCleanup", "observerCleanup", "observeAttributes", "cleanup", "trackDismissableElement", "trackFocusVisible", "anchorEl", "positionerEl", "openOnChange", "isBoolean", "bindableId", "ids", "createChoose", "props", "emptyCollection", "track", "createProps", "createSplitProps", "comboboxProps", "splitComboboxProps"]
7
+ }
@@ -0,0 +1,13 @@
1
+ import type { ScopeDomElements, ScopeDomIds } from "@qualcomm-ui/utils/machine";
2
+ import type { ComboboxElementIds, ComboboxScope } from "../combobox.types";
3
+ export declare const domIds: ScopeDomIds<Omit<ComboboxElementIds, "itemGroupLabel">, ComboboxScope>;
4
+ export declare const domEls: ScopeDomElements<Omit<ComboboxElementIds, "itemGroup" | "itemGroupLabel" | "input">, ComboboxScope> & {
5
+ input: (scope: ComboboxScope) => HTMLInputElement | null;
6
+ };
7
+ export declare function getItemGroupId(scope: ComboboxScope, id: string): string;
8
+ export declare function getItemId(ctx: ComboboxScope, id: string): string;
9
+ export declare function getItemGroupLabelId(ctx: ComboboxScope, id: string): string;
10
+ export declare function getItemEl(ctx: ComboboxScope, value: string | null): HTMLElement | null;
11
+ export declare function focusInputEl(ctx: ComboboxScope): void;
12
+ export declare function focusTriggerEl(ctx: ComboboxScope): void;
13
+ //# sourceMappingURL=combobox.dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.dom.d.ts","sourceRoot":"","sources":["../../../src/combobox/internal/combobox.dom.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,4BAA4B,CAAA;AAE7E,OAAO,KAAK,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAExE,eAAO,MAAM,MAAM,EAAE,WAAW,CAC9B,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAC1C,aAAa,CAYd,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,gBAAgB,CACnC,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,EAClE,aAAa,CACd,GAAG;IACF,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,gBAAgB,GAAG,IAAI,CAAA;CAYzD,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,UAE9D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,UAEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,UAEjE;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,WAAW,GAAG,IAAI,CAMpB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAMrD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAMvD"}
@@ -0,0 +1,2 @@
1
+ export * from "./combobox.dom";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/combobox/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Machine, PropNormalizer } from "@qualcomm-ui/utils/machine";
2
+ import type { DialogApi, DialogSchema } from "./dialog.types";
3
+ export declare function createDialogApi(machine: Machine<DialogSchema>, normalize: PropNormalizer): DialogApi;
4
+ //# sourceMappingURL=dialog.api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.api.d.ts","sourceRoot":"","sources":["../../src/dialog/dialog.api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAA;AAEvE,OAAO,KAAK,EACV,SAAS,EAST,YAAY,EAEb,MAAM,gBAAgB,CAAA;AAOvB,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,cAAc,GACxB,SAAS,CA8HX"}
@@ -0,0 +1,4 @@
1
+ import { type MachineConfig } from "@qualcomm-ui/utils/machine";
2
+ import type { DialogSchema } from "./dialog.types";
3
+ export declare const dialogMachine: MachineConfig<DialogSchema>;
4
+ //# sourceMappingURL=dialog.machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.machine.d.ts","sourceRoot":"","sources":["../../src/dialog/dialog.machine.ts"],"names":[],"mappings":"AAYA,OAAO,EAAgB,KAAK,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAE5E,OAAO,KAAK,EAAiB,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAGhE,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,YAAY,CAiMlD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { DialogApiProps } from "./dialog.types";
2
+ export declare const dialogProps: (keyof DialogApiProps)[];
3
+ export declare const splitDialogProps: <Props extends DialogApiProps>(props: Props) => [DialogApiProps, Omit<Props, keyof DialogApiProps>];
4
+ //# sourceMappingURL=dialog.props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.props.d.ts","sourceRoot":"","sources":["../../src/dialog/dialog.props.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAElD,eAAO,MAAM,WAAW,EAAE,CAAC,MAAM,cAAc,CAAC,EAuB7C,CAAA;AAEH,eAAO,MAAM,gBAAgB,EAAE,CAAC,KAAK,SAAS,cAAc,EAC1D,KAAK,EAAE,KAAK,KACT,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,cAAc,CAAC,CACR,CAAA"}
@@ -0,0 +1,184 @@
1
+ import type { DismissableElementHandlers, PersistentElementOptions } from "@qualcomm-ui/dom/dismissable";
2
+ import type { MaybeElement } from "@qualcomm-ui/dom/interact-outside";
3
+ import type { BooleanAriaAttr } from "@qualcomm-ui/utils/attributes";
4
+ import type { DirectionProperty } from "@qualcomm-ui/utils/direction";
5
+ import type { RequiredBy } from "@qualcomm-ui/utils/guard";
6
+ import type { ActionSchema, BindableIds, CommonProperties, EffectSchema, GuardSchema, IdRegistrationProps, JSX, MachineSchema, Scope } from "@qualcomm-ui/utils/machine";
7
+ export interface DialogApiProps extends DirectionProperty, CommonProperties, DismissableElementHandlers, PersistentElementOptions {
8
+ /**
9
+ * Human readable label for the dialog, used when the dialog title is not rendered
10
+ */
11
+ "aria-label"?: string | undefined;
12
+ /**
13
+ * Whether to close the dialog when the escape key is pressed
14
+ *
15
+ * @default true
16
+ */
17
+ closeOnEscape?: boolean | undefined;
18
+ /**
19
+ * Whether to close the dialog when the outside is clicked
20
+ *
21
+ * @default true
22
+ */
23
+ closeOnInteractOutside?: boolean | undefined;
24
+ /**
25
+ * The initial open state of the dialog when rendered.
26
+ * Use when you don't need to control the open state of the dialog.
27
+ *
28
+ * @default false
29
+ */
30
+ defaultOpen?: boolean | undefined;
31
+ /**
32
+ * Element to receive focus when the dialog is closed
33
+ */
34
+ finalFocusEl?: (() => MaybeElement) | undefined;
35
+ /**
36
+ * Element to receive focus when the dialog is opened
37
+ */
38
+ initialFocusEl?: (() => MaybeElement) | undefined;
39
+ /**
40
+ * Whether to prevent pointer interaction outside the element and hide all content
41
+ * below it
42
+ *
43
+ * @default true
44
+ */
45
+ modal?: boolean | undefined;
46
+ /**
47
+ * Function invoked when the dialog opens or closes
48
+ *
49
+ * @param open The next value of the open state.
50
+ */
51
+ onOpenChange?: (open: boolean) => void;
52
+ /**
53
+ * The controlled open state of the dialog
54
+ */
55
+ open?: boolean | undefined;
56
+ /**
57
+ * Whether to prevent scrolling behind the dialog when it's opened
58
+ *
59
+ * @default true
60
+ */
61
+ preventScroll?: boolean | undefined;
62
+ /**
63
+ * Whether to restore focus to the element that had focus before the dialog was
64
+ * opened
65
+ *
66
+ * @default true
67
+ */
68
+ restoreFocus?: boolean | undefined;
69
+ /**
70
+ * The dialog's role
71
+ *
72
+ * @default 'dialog'
73
+ */
74
+ role?: "dialog" | "alertdialog" | undefined;
75
+ /**
76
+ * Whether to trap focus inside the dialog when it's opened
77
+ *
78
+ * @default true
79
+ */
80
+ trapFocus?: boolean | undefined;
81
+ }
82
+ export interface DialogElementIds {
83
+ backdrop: string;
84
+ closeTrigger: string;
85
+ content: string;
86
+ description: string;
87
+ label: string;
88
+ positioner: string;
89
+ trigger: string;
90
+ }
91
+ export interface DialogScope extends Scope {
92
+ ids: BindableIds<DialogSchema>;
93
+ }
94
+ export interface DialogSchema extends MachineSchema {
95
+ actions: ActionSchema<"invokeOnClose" | "invokeOnOpen" | "syncZIndex" | "toggleVisibility">;
96
+ effects: EffectSchema<"hideContentBelow" | "preventScroll" | "trackDismissableElement" | "trapFocus">;
97
+ events: {
98
+ src?: string;
99
+ type: "CLOSE";
100
+ } | {
101
+ type: "CONTROLLED.CLOSE";
102
+ } | {
103
+ type: "CONTROLLED.OPEN";
104
+ } | {
105
+ type: "OPEN";
106
+ } | {
107
+ type: "TOGGLE";
108
+ };
109
+ guards: GuardSchema<"isOpenControlled">;
110
+ ids: DialogElementIds;
111
+ props: RequiredBy<DialogApiProps, "closeOnEscape" | "closeOnInteractOutside" | "dir" | "initialFocusEl" | "modal" | "preventScroll" | "restoreFocus" | "role" | "trapFocus">;
112
+ state: "open" | "closed";
113
+ }
114
+ interface CommonBindings extends DirectionProperty {
115
+ "data-scope": "dialog";
116
+ }
117
+ export interface DialogTriggerBindings extends CommonBindings {
118
+ "aria-controls": string;
119
+ "aria-expanded": BooleanAriaAttr;
120
+ "aria-haspopup": "dialog";
121
+ "data-part": "trigger";
122
+ "data-state": "open" | "closed";
123
+ id: string;
124
+ onClick: JSX.MouseEventHandler;
125
+ type: "button";
126
+ }
127
+ export interface DialogBackdropBindings extends CommonBindings {
128
+ "data-part": "backdrop";
129
+ "data-state": DialogSchema["state"];
130
+ hidden: boolean;
131
+ id: string;
132
+ }
133
+ export interface DialogPositionerBindings extends CommonBindings {
134
+ "data-part": "positioner";
135
+ id: string;
136
+ style: JSX.CSSProperties;
137
+ }
138
+ export interface DialogContentBindings extends CommonBindings {
139
+ "aria-describedby": string | undefined;
140
+ "aria-label": string | undefined;
141
+ "aria-labelledby": string | undefined;
142
+ "aria-modal": boolean;
143
+ "data-part": "content";
144
+ "data-state": "open" | "closed";
145
+ hidden: boolean;
146
+ id: string;
147
+ role: NonNullable<DialogApiProps["role"]>;
148
+ tabIndex: -1;
149
+ }
150
+ export interface DialogHeadingBindings extends CommonBindings {
151
+ "data-part": "heading";
152
+ id: string;
153
+ }
154
+ export interface DialogDescriptionBindings extends CommonBindings {
155
+ "data-part": "description";
156
+ id: string;
157
+ }
158
+ export interface DialogBodyBindings extends CommonBindings {
159
+ "data-part": "body";
160
+ }
161
+ export interface DialogCloseTriggerBindings extends CommonBindings {
162
+ "data-part": "close-trigger";
163
+ id: string;
164
+ onClick: JSX.MouseEventHandler;
165
+ type: "button";
166
+ }
167
+ export interface DialogFooterBindings extends CommonBindings {
168
+ "data-part": "footer";
169
+ }
170
+ export interface DialogApi {
171
+ open: boolean;
172
+ setOpen: (open: boolean) => void;
173
+ getBackdropBindings(props: IdRegistrationProps): DialogBackdropBindings;
174
+ getBodyBindings(): DialogBodyBindings;
175
+ getCloseTriggerBindings(props: IdRegistrationProps): DialogCloseTriggerBindings;
176
+ getContentBindings(props: IdRegistrationProps): DialogContentBindings;
177
+ getDescriptionBindings(props: IdRegistrationProps): DialogDescriptionBindings;
178
+ getFooterBindings(): DialogFooterBindings;
179
+ getHeadingBindings(props: IdRegistrationProps): DialogHeadingBindings;
180
+ getPositionerBindings(props: IdRegistrationProps): DialogPositionerBindings;
181
+ getTriggerBindings(props: IdRegistrationProps): DialogTriggerBindings;
182
+ }
183
+ export {};
184
+ //# sourceMappingURL=dialog.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.types.d.ts","sourceRoot":"","sources":["../../src/dialog/dialog.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var i in t)u(e,i,{get:t[i],enumerable:!0})},v=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of h(t))!F.call(e,r)&&r!==i&&u(e,r,{get:()=>t[r],enumerable:!(n=S(t,r))||n.enumerable});return e};var T=e=>v(u({},"__esModule",{value:!0}),e);var A={};b(A,{createDialogApi:()=>I,dialogMachine:()=>L,dialogProps:()=>k,splitDialogProps:()=>x});module.exports=T(A);var D=require("@qualcomm-ui/utils/attributes");var s={backdrop:e=>e.ids.get("backdrop"),closeTrigger:e=>e.ids.get("closeTrigger"),content:e=>e.ids.get("content"),description:e=>e.ids.get("description"),label:e=>e.ids.get("label"),positioner:e=>e.ids.get("positioner"),trigger:e=>e.ids.get("trigger")},a={backdrop:e=>e.getById(s.backdrop(e)),closeTrigger:e=>e.getById(s.closeTrigger(e)),content:e=>e.getById(s.content(e)),description:e=>e.getById(s.description(e)),label:e=>e.getById(s.label(e)),positioner:e=>e.getById(s.positioner(e)),trigger:e=>e.getById(s.trigger(e))};var l={"data-scope":"dialog"};function I(e,t){let{prop:i,scope:n,send:r,state:g}=e,m=i("aria-label"),c=g.matches("open");return{open:c,setOpen(o){g.matches("open")!==o&&r({type:o?"OPEN":"CLOSE"})},getBackdropBindings(o){return n.ids.register("backdrop",o),t.element({...l,"data-part":"backdrop","data-state":g.get(),dir:i("dir"),hidden:!c,id:o.id})},getBodyBindings(){return t.element({...l,"data-part":"body"})},getCloseTriggerBindings(o){return n.ids.register("closeTrigger",o),t.button({...l,"data-part":"close-trigger",dir:i("dir"),id:o.id,onClick(d){d.defaultPrevented||r({type:"CLOSE"})},type:"button"})},getContentBindings(o){n.ids.register("content",o);let d=s.label(n);return t.element({...l,"aria-describedby":s.description(n)||void 0,"aria-label":m||void 0,"aria-labelledby":m||!d?void 0:d,"aria-modal":i("modal"),"data-part":"content","data-state":g.get(),dir:i("dir"),hidden:!c,id:o.id,role:i("role"),tabIndex:-1})},getDescriptionBindings(o){return n.ids.register("description",o),t.element({...l,"data-part":"description",dir:i("dir"),id:o.id})},getFooterBindings(){return t.element({...l,"data-part":"footer",dir:i("dir")})},getHeadingBindings(o){return n.ids.register("label",o),t.element({...l,"data-part":"heading",dir:i("dir"),id:o.id})},getPositionerBindings(o){return n.ids.register("positioner",o),t.element({...l,"data-part":"positioner",dir:i("dir"),id:o.id,style:{pointerEvents:c?void 0:"none"}})},getTriggerBindings(o){return n.ids.register("trigger",o),t.button({...l,"aria-controls":s.content(n),"aria-expanded":(0,D.booleanAriaAttr)(c),"aria-haspopup":"dialog","data-part":"trigger","data-state":g.get(),dir:i("dir"),id:o.id,onClick(d){d.defaultPrevented||r({type:"TOGGLE"})},type:"button"})}}}var O=require("@qualcomm-ui/dom/aria-hidden"),f=require("@qualcomm-ui/dom/dismissable"),E=require("@qualcomm-ui/dom/focus-trap"),y=require("@qualcomm-ui/dom/query"),B=require("@qualcomm-ui/dom/remove-scroll"),C=require("@qualcomm-ui/utils/guard"),P=require("@qualcomm-ui/utils/machine");var L=(0,P.createMachine)({actions:{invokeOnClose:({prop:e})=>{e("onOpenChange")?.(!1)},invokeOnOpen:({prop:e})=>{e("onOpenChange")?.(!0)},syncZIndex:({scope:e})=>{(0,y.raf)(()=>{let t=a.content(e);if(!t)return;let i=getComputedStyle(t);[a.positioner(e),a.backdrop(e)].forEach(r=>{r?.style.setProperty("--z-index",i.zIndex)})})},toggleVisibility:({prop:e,send:t})=>{t({type:e("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},effects:{hideContentBelow({prop:e,scope:t}){return e("modal")?(0,O.ariaHidden)(()=>[a.content(t)],{defer:!0}):void 0},preventScroll({prop:e,scope:t}){if(e("preventScroll"))return(0,B.preventBodyScroll)(t.getDoc())},trackDismissableElement({prop:e,scope:t,send:i}){return(0,f.trackDismissableElement)(()=>a.content(t),{defer:!0,exclude:()=>[a.trigger(t)],onDismiss(){i({src:"interact-outside",type:"CLOSE"})},onEscapeKeyDown(r){e("onEscapeKeyDown")?.(r),e("closeOnEscape")||r.preventDefault()},onFocusOutside:e("onFocusOutside"),onInteractOutside(r){e("onInteractOutside")?.(r),e("closeOnInteractOutside")||r.preventDefault()},onPointerDownOutside:e("onPointerDownOutside"),onRequestDismiss:e("onRequestDismiss"),persistentElements:e("persistentElements"),pointerBlocking:e("modal")})},trapFocus:({prop:e,scope:t})=>!e("trapFocus")||!e("modal")?void 0:(0,E.trapFocus)(()=>a.content(t),{initialFocus:e("initialFocusEl"),preventScroll:!0,returnFocusOnDeactivate:e("restoreFocus"),setReturnFocus:n=>e("finalFocusEl")?.()??n})},guards:{isOpenControlled:({prop:e})=>(0,C.isDefined)(e("open"))},ids:({bindableId:e})=>({backdrop:e(),closeTrigger:e(),content:e(),description:e(),label:e(),positioner:e(),trigger:e()}),initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"closed"},props:({props:e,scope:t})=>{let i=e.role==="alertdialog";return{closeOnEscape:!0,closeOnInteractOutside:!i,dir:"ltr",initialFocusEl:i?()=>a.closeTrigger(t):void 0,modal:!0,preventScroll:!0,restoreFocus:!0,role:"dialog",trapFocus:!0,...e}},states:{closed:{on:{"CONTROLLED.OPEN":{target:"open"},OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TOGGLE:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}]}},open:{effects:["trackDismissableElement","trapFocus","preventScroll","hideContentBelow"],entry:["syncZIndex"],on:{CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},TOGGLE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}]}}},watch({actions:e,prop:t,track:i}){i([()=>t("open")],()=>{e.toggleVisibility()})}});var p=require("@qualcomm-ui/utils/object"),k=(0,p.createProps)()("aria-label","closeOnEscape","closeOnInteractOutside","defaultOpen","dir","finalFocusEl","getRootNode","initialFocusEl","modal","onEscapeKeyDown","onFocusOutside","onInteractOutside","onOpenChange","onPointerDownOutside","onRequestDismiss","open","persistentElements","preventScroll","restoreFocus","role","trapFocus"),x=(0,p.createSplitProps)(k);
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/dialog/index.ts", "../../src/dialog/dialog.api.ts", "../../src/dialog/internal/dialog.dom.ts", "../../src/dialog/dialog.machine.ts", "../../src/dialog/dialog.props.ts"],
4
+ "sourcesContent": ["export * from \"./dialog.api\"\nexport * from \"./dialog.machine\"\nexport * from \"./dialog.props\"\nexport type * from \"./dialog.types\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {booleanAriaAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {Machine, PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport type {\n DialogApi,\n DialogBackdropBindings,\n DialogBodyBindings,\n DialogCloseTriggerBindings,\n DialogContentBindings,\n DialogDescriptionBindings,\n DialogFooterBindings,\n DialogHeadingBindings,\n DialogPositionerBindings,\n DialogSchema,\n DialogTriggerBindings,\n} from \"./dialog.types\"\nimport {domIds} from \"./internal\"\n\nconst commonBindings: {\"data-scope\": \"dialog\"} = {\n \"data-scope\": \"dialog\",\n}\n\nexport function createDialogApi(\n machine: Machine<DialogSchema>,\n normalize: PropNormalizer,\n): DialogApi {\n const {prop, scope, send, state} = machine\n\n const ariaLabel = prop(\"aria-label\")\n const open = state.matches(\"open\")\n\n return {\n open,\n setOpen(nextOpen) {\n const open = state.matches(\"open\")\n if (open === nextOpen) {\n return\n }\n send({type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n\n // group: bindings\n getBackdropBindings(props): DialogBackdropBindings {\n scope.ids.register(\"backdrop\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"backdrop\",\n \"data-state\": state.get(),\n dir: prop(\"dir\"),\n hidden: !open,\n id: props.id,\n })\n },\n getBodyBindings(): DialogBodyBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"body\",\n })\n },\n getCloseTriggerBindings(props): DialogCloseTriggerBindings {\n scope.ids.register(\"closeTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"data-part\": \"close-trigger\",\n dir: prop(\"dir\"),\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n send({type: \"CLOSE\"})\n },\n type: \"button\",\n })\n },\n getContentBindings(props): DialogContentBindings {\n scope.ids.register(\"content\", props)\n const labelId = domIds.label(scope)\n return normalize.element({\n ...commonBindings,\n \"aria-describedby\": domIds.description(scope) || undefined,\n \"aria-label\": ariaLabel || undefined,\n \"aria-labelledby\": ariaLabel || !labelId ? undefined : labelId,\n \"aria-modal\": prop(\"modal\"),\n \"data-part\": \"content\",\n \"data-state\": state.get(),\n dir: prop(\"dir\"),\n hidden: !open,\n id: props.id,\n role: prop(\"role\"),\n tabIndex: -1,\n })\n },\n getDescriptionBindings(props): DialogDescriptionBindings {\n scope.ids.register(\"description\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"description\",\n dir: prop(\"dir\"),\n id: props.id,\n })\n },\n getFooterBindings(): DialogFooterBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"footer\",\n dir: prop(\"dir\"),\n })\n },\n getHeadingBindings(props): DialogHeadingBindings {\n scope.ids.register(\"label\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"heading\",\n dir: prop(\"dir\"),\n id: props.id,\n })\n },\n getPositionerBindings(props): DialogPositionerBindings {\n scope.ids.register(\"positioner\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"positioner\",\n dir: prop(\"dir\"),\n id: props.id,\n style: {\n pointerEvents: open ? undefined : \"none\",\n },\n })\n },\n getTriggerBindings(props): DialogTriggerBindings {\n scope.ids.register(\"trigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": \"dialog\",\n \"data-part\": \"trigger\",\n \"data-state\": state.get(),\n dir: prop(\"dir\"),\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n send({type: \"TOGGLE\"})\n },\n type: \"button\",\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {DialogElementIds, DialogScope} from \"../dialog.types\"\n\nexport const domIds: ScopeDomIds<DialogElementIds, DialogScope> = {\n backdrop: (scope) => scope.ids.get(\"backdrop\"),\n closeTrigger: (scope) => scope.ids.get(\"closeTrigger\"),\n content: (scope) => scope.ids.get(\"content\"),\n description: (scope) => scope.ids.get(\"description\"),\n label: (scope) => scope.ids.get(\"label\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n trigger: (scope) => scope.ids.get(\"trigger\"),\n}\n\nexport const domEls: ScopeDomElements<DialogElementIds, DialogScope> = {\n backdrop: (scope) => scope.getById(domIds.backdrop(scope)),\n closeTrigger: (scope) => scope.getById(domIds.closeTrigger(scope)),\n content: (scope) => scope.getById(domIds.content(scope)),\n description: (scope) => scope.getById(domIds.description(scope)),\n label: (scope) => scope.getById(domIds.label(scope)),\n positioner: (scope) => scope.getById(domIds.positioner(scope)),\n trigger: (scope) => scope.getById(domIds.trigger(scope)),\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {ariaHidden} from \"@qualcomm-ui/dom/aria-hidden\"\nimport {trackDismissableElement} from \"@qualcomm-ui/dom/dismissable\"\nimport {trapFocus} from \"@qualcomm-ui/dom/focus-trap\"\nimport {raf} from \"@qualcomm-ui/dom/query\"\nimport {preventBodyScroll} from \"@qualcomm-ui/dom/remove-scroll\"\nimport {isDefined} from \"@qualcomm-ui/utils/guard\"\nimport {createMachine, type MachineConfig} from \"@qualcomm-ui/utils/machine\"\n\nimport type {DialogApiProps, DialogSchema} from \"./dialog.types\"\nimport {domEls} from \"./internal\"\n\nexport const dialogMachine: MachineConfig<DialogSchema> =\n createMachine<DialogSchema>({\n actions: {\n invokeOnClose: ({prop}) => {\n prop(\"onOpenChange\")?.(false)\n },\n invokeOnOpen: ({prop}) => {\n prop(\"onOpenChange\")?.(true)\n },\n syncZIndex: ({scope}) => {\n raf(() => {\n const contentEl = domEls.content(scope)\n if (!contentEl) {\n return\n }\n\n const styles = getComputedStyle(contentEl)\n const elems = [domEls.positioner(scope), domEls.backdrop(scope)]\n elems.forEach((node) => {\n node?.style.setProperty(\"--z-index\", styles.zIndex)\n })\n })\n },\n toggleVisibility: ({prop, send}) => {\n send({type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\"})\n },\n },\n\n effects: {\n hideContentBelow({prop, scope}) {\n if (!prop(\"modal\")) {\n return\n }\n const getElements = () => [domEls.content(scope)]\n return ariaHidden(getElements, {defer: true})\n },\n\n preventScroll({prop, scope}) {\n if (!prop(\"preventScroll\")) {\n return\n }\n return preventBodyScroll(scope.getDoc())\n },\n\n trackDismissableElement({prop, scope, send}) {\n const getContentEl = () => domEls.content(scope)\n return trackDismissableElement(getContentEl, {\n defer: true,\n exclude: () => [domEls.trigger(scope)],\n onDismiss() {\n send({src: \"interact-outside\", type: \"CLOSE\"})\n },\n onEscapeKeyDown(event) {\n prop(\"onEscapeKeyDown\")?.(event)\n if (!prop(\"closeOnEscape\")) {\n event.preventDefault()\n }\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event)\n if (!prop(\"closeOnInteractOutside\")) {\n event.preventDefault()\n }\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onRequestDismiss: prop(\"onRequestDismiss\"),\n persistentElements: prop(\"persistentElements\"),\n pointerBlocking: prop(\"modal\"),\n })\n },\n\n trapFocus: ({prop, scope}) => {\n if (!prop(\"trapFocus\") || !prop(\"modal\")) {\n return\n }\n const contentEl = () => domEls.content(scope)\n return trapFocus(contentEl, {\n initialFocus: prop(\"initialFocusEl\"),\n preventScroll: true,\n returnFocusOnDeactivate: prop(\"restoreFocus\"),\n setReturnFocus: (el) => prop(\"finalFocusEl\")?.() ?? el,\n })\n },\n },\n\n guards: {\n isOpenControlled: ({prop}) => isDefined(prop(\"open\")),\n },\n\n ids: ({bindableId}) => ({\n backdrop: bindableId<string>(),\n closeTrigger: bindableId<string>(),\n content: bindableId<string>(),\n description: bindableId<string>(),\n label: bindableId<string>(),\n positioner: bindableId<string>(),\n trigger: bindableId<string>(),\n }),\n\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"open\" : \"closed\"\n },\n\n props: ({props, scope}) => {\n const alertDialog = props.role === \"alertdialog\"\n const initialFocusEl: DialogApiProps[\"initialFocusEl\"] = alertDialog\n ? () => domEls.closeTrigger(scope)\n : undefined\n return {\n closeOnEscape: true,\n closeOnInteractOutside: !alertDialog,\n dir: \"ltr\",\n initialFocusEl: initialFocusEl!,\n modal: true,\n preventScroll: true,\n restoreFocus: true,\n role: \"dialog\",\n trapFocus: true,\n ...props,\n }\n },\n\n states: {\n closed: {\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n TOGGLE: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n },\n },\n open: {\n effects: [\n \"trackDismissableElement\",\n \"trapFocus\",\n \"preventScroll\",\n \"hideContentBelow\",\n ],\n entry: [\"syncZIndex\"],\n on: {\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"closed\",\n },\n ],\n \"CONTROLLED.CLOSE\": {\n target: \"closed\",\n },\n TOGGLE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"closed\",\n },\n ],\n },\n },\n },\n\n watch({actions, prop, track}) {\n track([() => prop(\"open\")], () => {\n actions.toggleVisibility()\n })\n },\n })\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {DialogApiProps} from \"./dialog.types\"\n\nexport const dialogProps: (keyof DialogApiProps)[] =\n createProps<DialogApiProps>()(\n \"aria-label\",\n \"closeOnEscape\",\n \"closeOnInteractOutside\",\n \"defaultOpen\",\n \"dir\",\n \"finalFocusEl\",\n \"getRootNode\",\n \"initialFocusEl\",\n \"modal\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onRequestDismiss\",\n \"open\",\n \"persistentElements\",\n \"preventScroll\",\n \"restoreFocus\",\n \"role\",\n \"trapFocus\",\n )\n\nexport const splitDialogProps: <Props extends DialogApiProps>(\n props: Props,\n) => [DialogApiProps, Omit<Props, keyof DialogApiProps>] =\n createSplitProps<DialogApiProps>(dialogProps)\n"],
5
+ "mappings": "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",
6
+ "names": ["dialog_exports", "__export", "createDialogApi", "dialogMachine", "dialogProps", "splitDialogProps", "__toCommonJS", "import_attributes", "domIds", "scope", "domEls", "commonBindings", "createDialogApi", "machine", "normalize", "prop", "scope", "send", "state", "ariaLabel", "open", "nextOpen", "props", "event", "labelId", "domIds", "import_aria_hidden", "import_dismissable", "import_focus_trap", "import_query", "import_remove_scroll", "import_guard", "import_machine", "dialogMachine", "prop", "scope", "contentEl", "domEls", "styles", "node", "send", "event", "el", "bindableId", "props", "alertDialog", "actions", "track", "import_object", "dialogProps", "splitDialogProps"]
7
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./dialog.api";
2
+ export * from "./dialog.machine";
3
+ export * from "./dialog.props";
4
+ export type * from "./dialog.types";
5
+ //# sourceMappingURL=index.d.ts.map