@verbb/plugin-kit-web 2.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 (843) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +149 -0
  4. package/dist/a11y/active-elements.d.ts +6 -0
  5. package/dist/a11y/active-elements.d.ts.map +1 -0
  6. package/dist/a11y/dismissible-stack.d.ts +6 -0
  7. package/dist/a11y/dismissible-stack.d.ts.map +1 -0
  8. package/dist/a11y/focus.d.ts +20 -0
  9. package/dist/a11y/focus.d.ts.map +1 -0
  10. package/dist/a11y/index.d.ts +7 -0
  11. package/dist/a11y/index.d.ts.map +1 -0
  12. package/dist/a11y/offset.d.ts +9 -0
  13. package/dist/a11y/offset.d.ts.map +1 -0
  14. package/dist/a11y/scroll-lock.d.ts +23 -0
  15. package/dist/a11y/scroll-lock.d.ts.map +1 -0
  16. package/dist/base/checkbox-control.styles.d.ts +3 -0
  17. package/dist/base/checkbox-control.styles.d.ts.map +1 -0
  18. package/dist/base/component-id.d.ts +2 -0
  19. package/dist/base/component-id.d.ts.map +1 -0
  20. package/dist/base/form-control.styles.d.ts +3 -0
  21. package/dist/base/form-control.styles.d.ts.map +1 -0
  22. package/dist/base/icon.styles.d.ts +3 -0
  23. package/dist/base/icon.styles.d.ts.map +1 -0
  24. package/dist/base/markdown.styles.d.ts +3 -0
  25. package/dist/base/markdown.styles.d.ts.map +1 -0
  26. package/dist/base/pk-element.d.ts +28 -0
  27. package/dist/base/pk-element.d.ts.map +1 -0
  28. package/dist/base/pk-form-associated-element.d.ts +63 -0
  29. package/dist/base/pk-form-associated-element.d.ts.map +1 -0
  30. package/dist/base/shadow-reset.styles.d.ts +6 -0
  31. package/dist/base/shadow-reset.styles.d.ts.map +1 -0
  32. package/dist/base/styles.d.ts +9 -0
  33. package/dist/base/styles.d.ts.map +1 -0
  34. package/dist/chunks/active-elements-BwpXu8Lb.js +16 -0
  35. package/dist/chunks/active-elements-BwpXu8Lb.js.map +1 -0
  36. package/dist/chunks/animate-with-class-CsDwYnXL.js +42 -0
  37. package/dist/chunks/animate-with-class-CsDwYnXL.js.map +1 -0
  38. package/dist/chunks/autoloader-DzOTQqe6.js +177 -0
  39. package/dist/chunks/autoloader-DzOTQqe6.js.map +1 -0
  40. package/dist/chunks/button-group-item.styles-DYmBR28a.js +147 -0
  41. package/dist/chunks/button-group-item.styles-DYmBR28a.js.map +1 -0
  42. package/dist/chunks/component-registry-CpZiIDh4.js +130 -0
  43. package/dist/chunks/component-registry-CpZiIDh4.js.map +1 -0
  44. package/dist/chunks/control-aria-B2QMq4ji.js +69 -0
  45. package/dist/chunks/control-aria-B2QMq4ji.js.map +1 -0
  46. package/dist/chunks/decorate-W02hmVTt.js +149 -0
  47. package/dist/chunks/decorate-W02hmVTt.js.map +1 -0
  48. package/dist/chunks/dismissible-stack-XQUMfKO3.js +32 -0
  49. package/dist/chunks/dismissible-stack-XQUMfKO3.js.map +1 -0
  50. package/dist/chunks/field-labels-CoU9dnNq.js +14 -0
  51. package/dist/chunks/field-labels-CoU9dnNq.js.map +1 -0
  52. package/dist/chunks/focus-aa5dlv8k.js +122 -0
  53. package/dist/chunks/focus-aa5dlv8k.js.map +1 -0
  54. package/dist/chunks/form-control.styles-BQdimE5o.js +108 -0
  55. package/dist/chunks/form-control.styles-BQdimE5o.js.map +1 -0
  56. package/dist/chunks/has-slot-8BvCt_qo.js +74 -0
  57. package/dist/chunks/has-slot-8BvCt_qo.js.map +1 -0
  58. package/dist/chunks/icon.styles-BLTWLqYp.js +21 -0
  59. package/dist/chunks/icon.styles-BLTWLqYp.js.map +1 -0
  60. package/dist/chunks/icons-BR8JcQj2.js +52 -0
  61. package/dist/chunks/icons-BR8JcQj2.js.map +1 -0
  62. package/dist/chunks/mirror-validator-DCjNYrrx.js +32 -0
  63. package/dist/chunks/mirror-validator-DCjNYrrx.js.map +1 -0
  64. package/dist/chunks/overlay-lifecycle-D0pkTQyI.js +44 -0
  65. package/dist/chunks/overlay-lifecycle-D0pkTQyI.js.map +1 -0
  66. package/dist/chunks/pk-button-Cilu5WAT.js +840 -0
  67. package/dist/chunks/pk-button-Cilu5WAT.js.map +1 -0
  68. package/dist/chunks/pk-button-group-D9hqSfb_.js +422 -0
  69. package/dist/chunks/pk-button-group-D9hqSfb_.js.map +1 -0
  70. package/dist/chunks/pk-button-group-separator-DG0CYaqc.js +61 -0
  71. package/dist/chunks/pk-button-group-separator-DG0CYaqc.js.map +1 -0
  72. package/dist/chunks/pk-button-group-text-C5z4P7ur.js +49 -0
  73. package/dist/chunks/pk-button-group-text-C5z4P7ur.js.map +1 -0
  74. package/dist/chunks/pk-calendar-CcV-La-9.js +1410 -0
  75. package/dist/chunks/pk-calendar-CcV-La-9.js.map +1 -0
  76. package/dist/chunks/pk-checkbox-Bavq3-9C.js +360 -0
  77. package/dist/chunks/pk-checkbox-Bavq3-9C.js.map +1 -0
  78. package/dist/chunks/pk-checkbox-select-ZEJ6WIQn.js +221 -0
  79. package/dist/chunks/pk-checkbox-select-ZEJ6WIQn.js.map +1 -0
  80. package/dist/chunks/pk-clear--mPWZP7H.js +15 -0
  81. package/dist/chunks/pk-clear--mPWZP7H.js.map +1 -0
  82. package/dist/chunks/pk-code-editor-DSG6AwLV.js +213 -0
  83. package/dist/chunks/pk-code-editor-DSG6AwLV.js.map +1 -0
  84. package/dist/chunks/pk-color-input-D4L0DE5S.js +398 -0
  85. package/dist/chunks/pk-color-input-D4L0DE5S.js.map +1 -0
  86. package/dist/chunks/pk-combobox-Dd1ik0Ko.js +2015 -0
  87. package/dist/chunks/pk-combobox-Dd1ik0Ko.js.map +1 -0
  88. package/dist/chunks/pk-copy-button-DPh5TOF9.js +139 -0
  89. package/dist/chunks/pk-copy-button-DPh5TOF9.js.map +1 -0
  90. package/dist/chunks/pk-date-picker-CkwU4DzD.js +717 -0
  91. package/dist/chunks/pk-date-picker-CkwU4DzD.js.map +1 -0
  92. package/dist/chunks/pk-dialog-DZZd1Tzb.js +636 -0
  93. package/dist/chunks/pk-dialog-DZZd1Tzb.js.map +1 -0
  94. package/dist/chunks/pk-dropdown-item-BFyjtsL5.js +547 -0
  95. package/dist/chunks/pk-dropdown-item-BFyjtsL5.js.map +1 -0
  96. package/dist/chunks/pk-dropdown-label-DfACId-K.js +48 -0
  97. package/dist/chunks/pk-dropdown-label-DfACId-K.js.map +1 -0
  98. package/dist/chunks/pk-dropdown-menu-DWlxkDIs.js +735 -0
  99. package/dist/chunks/pk-dropdown-menu-DWlxkDIs.js.map +1 -0
  100. package/dist/chunks/pk-editable-table-pBkD6izs.js +1528 -0
  101. package/dist/chunks/pk-editable-table-pBkD6izs.js.map +1 -0
  102. package/dist/chunks/pk-field-Buy_AtYF.js +485 -0
  103. package/dist/chunks/pk-field-Buy_AtYF.js.map +1 -0
  104. package/dist/chunks/pk-form-associated-element-DmZKgNPL.js +260 -0
  105. package/dist/chunks/pk-form-associated-element-DmZKgNPL.js.map +1 -0
  106. package/dist/chunks/pk-input-group-CGHQKrt8.js +238 -0
  107. package/dist/chunks/pk-input-group-CGHQKrt8.js.map +1 -0
  108. package/dist/chunks/pk-input-group-addon-DXbNbsfY.js +101 -0
  109. package/dist/chunks/pk-input-group-addon-DXbNbsfY.js.map +1 -0
  110. package/dist/chunks/pk-input-group-button-XOfVLqGO.js +55 -0
  111. package/dist/chunks/pk-input-group-button-XOfVLqGO.js.map +1 -0
  112. package/dist/chunks/pk-input-group-input-CSmR5vdY.js +136 -0
  113. package/dist/chunks/pk-input-group-input-CSmR5vdY.js.map +1 -0
  114. package/dist/chunks/pk-input-group-text-C6ekhtff.js +40 -0
  115. package/dist/chunks/pk-input-group-text-C6ekhtff.js.map +1 -0
  116. package/dist/chunks/pk-input-group-textarea-DALr3pdU.js +113 -0
  117. package/dist/chunks/pk-input-group-textarea-DALr3pdU.js.map +1 -0
  118. package/dist/chunks/pk-input-naIRPWGC.js +723 -0
  119. package/dist/chunks/pk-input-naIRPWGC.js.map +1 -0
  120. package/dist/chunks/pk-lightswitch-B-rLflNq.js +432 -0
  121. package/dist/chunks/pk-lightswitch-B-rLflNq.js.map +1 -0
  122. package/dist/chunks/pk-option-C3Zqmu3z.js +312 -0
  123. package/dist/chunks/pk-option-C3Zqmu3z.js.map +1 -0
  124. package/dist/chunks/pk-option-group-CbI56A3T.js +72 -0
  125. package/dist/chunks/pk-option-group-CbI56A3T.js.map +1 -0
  126. package/dist/chunks/pk-popover-XZZdJ4WI.js +377 -0
  127. package/dist/chunks/pk-popover-XZZdJ4WI.js.map +1 -0
  128. package/dist/chunks/pk-popup-CgiXok-U.js +538 -0
  129. package/dist/chunks/pk-popup-CgiXok-U.js.map +1 -0
  130. package/dist/chunks/pk-radio-Bg02ckzC.js +233 -0
  131. package/dist/chunks/pk-radio-Bg02ckzC.js.map +1 -0
  132. package/dist/chunks/pk-radio-group-B5rps9G4.js +253 -0
  133. package/dist/chunks/pk-radio-group-B5rps9G4.js.map +1 -0
  134. package/dist/chunks/pk-scroll-area-B0V4Dr2j.js +402 -0
  135. package/dist/chunks/pk-scroll-area-B0V4Dr2j.js.map +1 -0
  136. package/dist/chunks/pk-select-B17rV6BR.js +1129 -0
  137. package/dist/chunks/pk-select-B17rV6BR.js.map +1 -0
  138. package/dist/chunks/pk-separator-CLb9n0FK.js +89 -0
  139. package/dist/chunks/pk-separator-CLb9n0FK.js.map +1 -0
  140. package/dist/chunks/pk-spinner-Blxd3SIH.js +148 -0
  141. package/dist/chunks/pk-spinner-Blxd3SIH.js.map +1 -0
  142. package/dist/chunks/pk-status-7_5dEuw-.js +92 -0
  143. package/dist/chunks/pk-status-7_5dEuw-.js.map +1 -0
  144. package/dist/chunks/pk-tab-CzV7pOdp.js +259 -0
  145. package/dist/chunks/pk-tab-CzV7pOdp.js.map +1 -0
  146. package/dist/chunks/pk-tab-heading-BWAB85ua.js +50 -0
  147. package/dist/chunks/pk-tab-heading-BWAB85ua.js.map +1 -0
  148. package/dist/chunks/pk-tab-panel-Q3Pqyq-f.js +86 -0
  149. package/dist/chunks/pk-tab-panel-Q3Pqyq-f.js.map +1 -0
  150. package/dist/chunks/pk-tabs-Cip4nbb7.js +622 -0
  151. package/dist/chunks/pk-tabs-Cip4nbb7.js.map +1 -0
  152. package/dist/chunks/pk-textarea-BEapC8Rk.js +342 -0
  153. package/dist/chunks/pk-textarea-BEapC8Rk.js.map +1 -0
  154. package/dist/chunks/pk-time-picker-DbW_hMs2.js +228 -0
  155. package/dist/chunks/pk-time-picker-DbW_hMs2.js.map +1 -0
  156. package/dist/chunks/pk-tiptap-content-DAtNbJYC.js +76 -0
  157. package/dist/chunks/pk-tiptap-content-DAtNbJYC.js.map +1 -0
  158. package/dist/chunks/pk-tiptap-editor-umIuEaXh.js +1084 -0
  159. package/dist/chunks/pk-tiptap-editor-umIuEaXh.js.map +1 -0
  160. package/dist/chunks/pk-tiptap-input-CXcYXbRa.js +250 -0
  161. package/dist/chunks/pk-tiptap-input-CXcYXbRa.js.map +1 -0
  162. package/dist/chunks/pk-toggle-5-GKVLye.js +256 -0
  163. package/dist/chunks/pk-toggle-5-GKVLye.js.map +1 -0
  164. package/dist/chunks/pk-toggle-group-CWDwYlgR.js +175 -0
  165. package/dist/chunks/pk-toggle-group-CWDwYlgR.js.map +1 -0
  166. package/dist/chunks/pk-tooltip-fcUbVGli.js +469 -0
  167. package/dist/chunks/pk-tooltip-fcUbVGli.js.map +1 -0
  168. package/dist/chunks/popup-content-animation.styles-Dc6d9quJ.js +117 -0
  169. package/dist/chunks/popup-content-animation.styles-Dc6d9quJ.js.map +1 -0
  170. package/dist/chunks/popup-placement-animation-WlEXnS85.js +60 -0
  171. package/dist/chunks/popup-placement-animation-WlEXnS85.js.map +1 -0
  172. package/dist/chunks/popup-pointer-C8lypj8V.js +21 -0
  173. package/dist/chunks/popup-pointer-C8lypj8V.js.map +1 -0
  174. package/dist/chunks/register-components-DNw6EYNo.js +15 -0
  175. package/dist/chunks/register-components-DNw6EYNo.js.map +1 -0
  176. package/dist/chunks/render-Dvc3MHQR.js +16 -0
  177. package/dist/chunks/render-Dvc3MHQR.js.map +1 -0
  178. package/dist/chunks/required-validator-CEg8dvjS.js +29 -0
  179. package/dist/chunks/required-validator-CEg8dvjS.js.map +1 -0
  180. package/dist/chunks/scroll-lock-B4o9vdzJ.js +193 -0
  181. package/dist/chunks/scroll-lock-B4o9vdzJ.js.map +1 -0
  182. package/dist/chunks/spinner-utils-CDfHypTv.js +15 -0
  183. package/dist/chunks/spinner-utils-CDfHypTv.js.map +1 -0
  184. package/dist/chunks/supports-popover-CUBsbHpS.js +7 -0
  185. package/dist/chunks/supports-popover-CUBsbHpS.js.map +1 -0
  186. package/dist/chunks/sync-listbox-separators-B1-V0oJi.js +149 -0
  187. package/dist/chunks/sync-listbox-separators-B1-V0oJi.js.map +1 -0
  188. package/dist/chunks/tiptap.styles-BytOpP0H.js +463 -0
  189. package/dist/chunks/tiptap.styles-BytOpP0H.js.map +1 -0
  190. package/dist/component-registry.d.ts +28 -0
  191. package/dist/component-registry.d.ts.map +1 -0
  192. package/dist/components/button/index.d.ts +2 -0
  193. package/dist/components/button/index.d.ts.map +1 -0
  194. package/dist/components/button/pk-button.d.ts +91 -0
  195. package/dist/components/button/pk-button.d.ts.map +1 -0
  196. package/dist/components/button/pk-button.js +2 -0
  197. package/dist/components/button/pk-button.styles.d.ts +2 -0
  198. package/dist/components/button/pk-button.styles.d.ts.map +1 -0
  199. package/dist/components/button-group/button-group-item.styles.d.ts +13 -0
  200. package/dist/components/button-group/button-group-item.styles.d.ts.map +1 -0
  201. package/dist/components/button-group/index.d.ts +4 -0
  202. package/dist/components/button-group/index.d.ts.map +1 -0
  203. package/dist/components/button-group/pk-button-group-separator.d.ts +18 -0
  204. package/dist/components/button-group/pk-button-group-separator.d.ts.map +1 -0
  205. package/dist/components/button-group/pk-button-group-separator.js +2 -0
  206. package/dist/components/button-group/pk-button-group-separator.styles.d.ts +2 -0
  207. package/dist/components/button-group/pk-button-group-separator.styles.d.ts.map +1 -0
  208. package/dist/components/button-group/pk-button-group-text.d.ts +18 -0
  209. package/dist/components/button-group/pk-button-group-text.d.ts.map +1 -0
  210. package/dist/components/button-group/pk-button-group-text.js +2 -0
  211. package/dist/components/button-group/pk-button-group-text.styles.d.ts +2 -0
  212. package/dist/components/button-group/pk-button-group-text.styles.d.ts.map +1 -0
  213. package/dist/components/button-group/pk-button-group.d.ts +40 -0
  214. package/dist/components/button-group/pk-button-group.d.ts.map +1 -0
  215. package/dist/components/button-group/pk-button-group.js +2 -0
  216. package/dist/components/button-group/pk-button-group.styles.d.ts +2 -0
  217. package/dist/components/button-group/pk-button-group.styles.d.ts.map +1 -0
  218. package/dist/components/button-group.d.ts +2 -0
  219. package/dist/components/button-group.js +4 -0
  220. package/dist/components/button.d.ts +2 -0
  221. package/dist/components/button.js +2 -0
  222. package/dist/components/calendar/index.d.ts +3 -0
  223. package/dist/components/calendar/index.d.ts.map +1 -0
  224. package/dist/components/calendar/pk-calendar.d.ts +117 -0
  225. package/dist/components/calendar/pk-calendar.d.ts.map +1 -0
  226. package/dist/components/calendar/pk-calendar.js +2 -0
  227. package/dist/components/calendar/pk-calendar.styles.d.ts +2 -0
  228. package/dist/components/calendar/pk-calendar.styles.d.ts.map +1 -0
  229. package/dist/components/calendar.d.ts +2 -0
  230. package/dist/components/calendar.js +2 -0
  231. package/dist/components/checkbox/index.d.ts +2 -0
  232. package/dist/components/checkbox/index.d.ts.map +1 -0
  233. package/dist/components/checkbox/pk-checkbox.d.ts +50 -0
  234. package/dist/components/checkbox/pk-checkbox.d.ts.map +1 -0
  235. package/dist/components/checkbox/pk-checkbox.js +2 -0
  236. package/dist/components/checkbox/pk-checkbox.styles.d.ts +2 -0
  237. package/dist/components/checkbox/pk-checkbox.styles.d.ts.map +1 -0
  238. package/dist/components/checkbox-select/index.d.ts +2 -0
  239. package/dist/components/checkbox-select/index.d.ts.map +1 -0
  240. package/dist/components/checkbox-select/pk-checkbox-select.d.ts +48 -0
  241. package/dist/components/checkbox-select/pk-checkbox-select.d.ts.map +1 -0
  242. package/dist/components/checkbox-select/pk-checkbox-select.js +2 -0
  243. package/dist/components/checkbox-select/pk-checkbox-select.styles.d.ts +2 -0
  244. package/dist/components/checkbox-select/pk-checkbox-select.styles.d.ts.map +1 -0
  245. package/dist/components/checkbox-select.d.ts +2 -0
  246. package/dist/components/checkbox-select.js +2 -0
  247. package/dist/components/checkbox.d.ts +2 -0
  248. package/dist/components/checkbox.js +2 -0
  249. package/dist/components/code-editor/index.d.ts +2 -0
  250. package/dist/components/code-editor/index.d.ts.map +1 -0
  251. package/dist/components/code-editor/pk-code-editor.d.ts +40 -0
  252. package/dist/components/code-editor/pk-code-editor.d.ts.map +1 -0
  253. package/dist/components/code-editor/pk-code-editor.js +2 -0
  254. package/dist/components/code-editor/pk-code-editor.styles.d.ts +2 -0
  255. package/dist/components/code-editor/pk-code-editor.styles.d.ts.map +1 -0
  256. package/dist/components/code-editor.d.ts +2 -0
  257. package/dist/components/code-editor.js +2 -0
  258. package/dist/components/color-input/index.d.ts +2 -0
  259. package/dist/components/color-input/index.d.ts.map +1 -0
  260. package/dist/components/color-input/pk-color-input.d.ts +41 -0
  261. package/dist/components/color-input/pk-color-input.d.ts.map +1 -0
  262. package/dist/components/color-input/pk-color-input.js +2 -0
  263. package/dist/components/color-input/pk-color-input.styles.d.ts +7 -0
  264. package/dist/components/color-input/pk-color-input.styles.d.ts.map +1 -0
  265. package/dist/components/color-input.d.ts +2 -0
  266. package/dist/components/color-input.js +2 -0
  267. package/dist/components/combobox/index.d.ts +2 -0
  268. package/dist/components/combobox/index.d.ts.map +1 -0
  269. package/dist/components/combobox/pk-combobox.d.ts +219 -0
  270. package/dist/components/combobox/pk-combobox.d.ts.map +1 -0
  271. package/dist/components/combobox/pk-combobox.js +2 -0
  272. package/dist/components/combobox/pk-combobox.styles.d.ts +2 -0
  273. package/dist/components/combobox/pk-combobox.styles.d.ts.map +1 -0
  274. package/dist/components/combobox.d.ts +2 -0
  275. package/dist/components/combobox.js +2 -0
  276. package/dist/components/copy-button/index.d.ts +2 -0
  277. package/dist/components/copy-button/index.d.ts.map +1 -0
  278. package/dist/components/copy-button/pk-copy-button.d.ts +37 -0
  279. package/dist/components/copy-button/pk-copy-button.d.ts.map +1 -0
  280. package/dist/components/copy-button/pk-copy-button.js +2 -0
  281. package/dist/components/copy-button/pk-copy-button.styles.d.ts +2 -0
  282. package/dist/components/copy-button/pk-copy-button.styles.d.ts.map +1 -0
  283. package/dist/components/copy-button.d.ts +2 -0
  284. package/dist/components/copy-button.js +2 -0
  285. package/dist/components/date-picker/index.d.ts +3 -0
  286. package/dist/components/date-picker/index.d.ts.map +1 -0
  287. package/dist/components/date-picker/pk-date-picker.d.ts +107 -0
  288. package/dist/components/date-picker/pk-date-picker.d.ts.map +1 -0
  289. package/dist/components/date-picker/pk-date-picker.js +2 -0
  290. package/dist/components/date-picker/pk-date-picker.styles.d.ts +2 -0
  291. package/dist/components/date-picker/pk-date-picker.styles.d.ts.map +1 -0
  292. package/dist/components/date-picker.d.ts +2 -0
  293. package/dist/components/date-picker.js +2 -0
  294. package/dist/components/dialog/index.d.ts +2 -0
  295. package/dist/components/dialog/index.d.ts.map +1 -0
  296. package/dist/components/dialog/pk-dialog.d.ts +87 -0
  297. package/dist/components/dialog/pk-dialog.d.ts.map +1 -0
  298. package/dist/components/dialog/pk-dialog.js +2 -0
  299. package/dist/components/dialog/pk-dialog.styles.d.ts +2 -0
  300. package/dist/components/dialog/pk-dialog.styles.d.ts.map +1 -0
  301. package/dist/components/dialog.d.ts +2 -0
  302. package/dist/components/dialog.js +2 -0
  303. package/dist/components/dropdown-menu/dropdown-menu-size.styles.d.ts +11 -0
  304. package/dist/components/dropdown-menu/dropdown-menu-size.styles.d.ts.map +1 -0
  305. package/dist/components/dropdown-menu/index.d.ts +5 -0
  306. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  307. package/dist/components/dropdown-menu/pk-dropdown-item.d.ts +67 -0
  308. package/dist/components/dropdown-menu/pk-dropdown-item.d.ts.map +1 -0
  309. package/dist/components/dropdown-menu/pk-dropdown-item.js +2 -0
  310. package/dist/components/dropdown-menu/pk-dropdown-item.styles.d.ts +2 -0
  311. package/dist/components/dropdown-menu/pk-dropdown-item.styles.d.ts.map +1 -0
  312. package/dist/components/dropdown-menu/pk-dropdown-label.d.ts +13 -0
  313. package/dist/components/dropdown-menu/pk-dropdown-label.d.ts.map +1 -0
  314. package/dist/components/dropdown-menu/pk-dropdown-label.js +2 -0
  315. package/dist/components/dropdown-menu/pk-dropdown-label.styles.d.ts +2 -0
  316. package/dist/components/dropdown-menu/pk-dropdown-label.styles.d.ts.map +1 -0
  317. package/dist/components/dropdown-menu/pk-dropdown-menu.d.ts +130 -0
  318. package/dist/components/dropdown-menu/pk-dropdown-menu.d.ts.map +1 -0
  319. package/dist/components/dropdown-menu/pk-dropdown-menu.js +2 -0
  320. package/dist/components/dropdown-menu/pk-dropdown-menu.styles.d.ts +6 -0
  321. package/dist/components/dropdown-menu/pk-dropdown-menu.styles.d.ts.map +1 -0
  322. package/dist/components/dropdown-menu/pk-dropdown-separator.d.ts +13 -0
  323. package/dist/components/dropdown-menu/pk-dropdown-separator.d.ts.map +1 -0
  324. package/dist/components/dropdown-menu/pk-dropdown-separator.js +36 -0
  325. package/dist/components/dropdown-menu/pk-dropdown-separator.js.map +1 -0
  326. package/dist/components/dropdown-menu.d.ts +2 -0
  327. package/dist/components/dropdown-menu.js +5 -0
  328. package/dist/components/editable-table/editable-table-dnd.d.ts +64 -0
  329. package/dist/components/editable-table/editable-table-dnd.d.ts.map +1 -0
  330. package/dist/components/editable-table/editable-table-model.d.ts +93 -0
  331. package/dist/components/editable-table/editable-table-model.d.ts.map +1 -0
  332. package/dist/components/editable-table/index.d.ts +3 -0
  333. package/dist/components/editable-table/index.d.ts.map +1 -0
  334. package/dist/components/editable-table/pk-editable-table.d.ts +122 -0
  335. package/dist/components/editable-table/pk-editable-table.d.ts.map +1 -0
  336. package/dist/components/editable-table/pk-editable-table.js +2 -0
  337. package/dist/components/editable-table/pk-editable-table.styles.d.ts +2 -0
  338. package/dist/components/editable-table/pk-editable-table.styles.d.ts.map +1 -0
  339. package/dist/components/editable-table.d.ts +2 -0
  340. package/dist/components/editable-table.js +2 -0
  341. package/dist/components/field/index.d.ts +2 -0
  342. package/dist/components/field/index.d.ts.map +1 -0
  343. package/dist/components/field/pk-field.d.ts +69 -0
  344. package/dist/components/field/pk-field.d.ts.map +1 -0
  345. package/dist/components/field/pk-field.js +2 -0
  346. package/dist/components/field/pk-field.styles.d.ts +2 -0
  347. package/dist/components/field/pk-field.styles.d.ts.map +1 -0
  348. package/dist/components/field.d.ts +2 -0
  349. package/dist/components/field.js +2 -0
  350. package/dist/components/icon/index.d.ts +2 -0
  351. package/dist/components/icon/index.d.ts.map +1 -0
  352. package/dist/components/icon/pk-icon-loader.d.ts +1 -0
  353. package/dist/components/icon/pk-icon-loader.d.ts.map +1 -0
  354. package/dist/components/icon/pk-icon.d.ts +46 -0
  355. package/dist/components/icon/pk-icon.d.ts.map +1 -0
  356. package/dist/components/icon/pk-icon.js +47 -0
  357. package/dist/components/icon/pk-icon.js.map +1 -0
  358. package/dist/components/icon.d.ts +2 -0
  359. package/dist/components/icon.js +2 -0
  360. package/dist/components/input/index.d.ts +2 -0
  361. package/dist/components/input/index.d.ts.map +1 -0
  362. package/dist/components/input/pk-input.d.ts +83 -0
  363. package/dist/components/input/pk-input.d.ts.map +1 -0
  364. package/dist/components/input/pk-input.js +2 -0
  365. package/dist/components/input/pk-input.styles.d.ts +2 -0
  366. package/dist/components/input/pk-input.styles.d.ts.map +1 -0
  367. package/dist/components/input-group/index.d.ts +10 -0
  368. package/dist/components/input-group/index.d.ts.map +1 -0
  369. package/dist/components/input-group/pk-input-group-addon.d.ts +23 -0
  370. package/dist/components/input-group/pk-input-group-addon.d.ts.map +1 -0
  371. package/dist/components/input-group/pk-input-group-addon.js +2 -0
  372. package/dist/components/input-group/pk-input-group-addon.styles.d.ts +2 -0
  373. package/dist/components/input-group/pk-input-group-addon.styles.d.ts.map +1 -0
  374. package/dist/components/input-group/pk-input-group-button.d.ts +22 -0
  375. package/dist/components/input-group/pk-input-group-button.d.ts.map +1 -0
  376. package/dist/components/input-group/pk-input-group-button.js +2 -0
  377. package/dist/components/input-group/pk-input-group-button.styles.d.ts +2 -0
  378. package/dist/components/input-group/pk-input-group-button.styles.d.ts.map +1 -0
  379. package/dist/components/input-group/pk-input-group-input.d.ts +28 -0
  380. package/dist/components/input-group/pk-input-group-input.d.ts.map +1 -0
  381. package/dist/components/input-group/pk-input-group-input.js +2 -0
  382. package/dist/components/input-group/pk-input-group-input.styles.d.ts +2 -0
  383. package/dist/components/input-group/pk-input-group-input.styles.d.ts.map +1 -0
  384. package/dist/components/input-group/pk-input-group-text.d.ts +18 -0
  385. package/dist/components/input-group/pk-input-group-text.d.ts.map +1 -0
  386. package/dist/components/input-group/pk-input-group-text.js +2 -0
  387. package/dist/components/input-group/pk-input-group-text.styles.d.ts +2 -0
  388. package/dist/components/input-group/pk-input-group-text.styles.d.ts.map +1 -0
  389. package/dist/components/input-group/pk-input-group-textarea.d.ts +25 -0
  390. package/dist/components/input-group/pk-input-group-textarea.d.ts.map +1 -0
  391. package/dist/components/input-group/pk-input-group-textarea.js +2 -0
  392. package/dist/components/input-group/pk-input-group-textarea.styles.d.ts +2 -0
  393. package/dist/components/input-group/pk-input-group-textarea.styles.d.ts.map +1 -0
  394. package/dist/components/input-group/pk-input-group.d.ts +39 -0
  395. package/dist/components/input-group/pk-input-group.d.ts.map +1 -0
  396. package/dist/components/input-group/pk-input-group.js +2 -0
  397. package/dist/components/input-group/pk-input-group.styles.d.ts +2 -0
  398. package/dist/components/input-group/pk-input-group.styles.d.ts.map +1 -0
  399. package/dist/components/input-group.d.ts +2 -0
  400. package/dist/components/input-group.js +7 -0
  401. package/dist/components/input.d.ts +2 -0
  402. package/dist/components/input.js +2 -0
  403. package/dist/components/lightswitch/index.d.ts +2 -0
  404. package/dist/components/lightswitch/index.d.ts.map +1 -0
  405. package/dist/components/lightswitch/pk-lightswitch.d.ts +54 -0
  406. package/dist/components/lightswitch/pk-lightswitch.d.ts.map +1 -0
  407. package/dist/components/lightswitch/pk-lightswitch.js +2 -0
  408. package/dist/components/lightswitch/pk-lightswitch.styles.d.ts +2 -0
  409. package/dist/components/lightswitch/pk-lightswitch.styles.d.ts.map +1 -0
  410. package/dist/components/lightswitch.d.ts +2 -0
  411. package/dist/components/lightswitch.js +2 -0
  412. package/dist/components/popover/index.d.ts +2 -0
  413. package/dist/components/popover/index.d.ts.map +1 -0
  414. package/dist/components/popover/pk-popover.d.ts +90 -0
  415. package/dist/components/popover/pk-popover.d.ts.map +1 -0
  416. package/dist/components/popover/pk-popover.js +2 -0
  417. package/dist/components/popover/pk-popover.styles.d.ts +2 -0
  418. package/dist/components/popover/pk-popover.styles.d.ts.map +1 -0
  419. package/dist/components/popover.d.ts +2 -0
  420. package/dist/components/popover.js +2 -0
  421. package/dist/components/popup/index.d.ts +2 -0
  422. package/dist/components/popup/index.d.ts.map +1 -0
  423. package/dist/components/popup/pk-popup.d.ts +96 -0
  424. package/dist/components/popup/pk-popup.d.ts.map +1 -0
  425. package/dist/components/popup/pk-popup.js +2 -0
  426. package/dist/components/popup/pk-popup.styles.d.ts +2 -0
  427. package/dist/components/popup/pk-popup.styles.d.ts.map +1 -0
  428. package/dist/components/popup.d.ts +2 -0
  429. package/dist/components/popup.js +2 -0
  430. package/dist/components/radio-group/index.d.ts +3 -0
  431. package/dist/components/radio-group/index.d.ts.map +1 -0
  432. package/dist/components/radio-group/pk-radio-group.d.ts +58 -0
  433. package/dist/components/radio-group/pk-radio-group.d.ts.map +1 -0
  434. package/dist/components/radio-group/pk-radio-group.js +2 -0
  435. package/dist/components/radio-group/pk-radio-group.styles.d.ts +2 -0
  436. package/dist/components/radio-group/pk-radio-group.styles.d.ts.map +1 -0
  437. package/dist/components/radio-group/pk-radio.d.ts +37 -0
  438. package/dist/components/radio-group/pk-radio.d.ts.map +1 -0
  439. package/dist/components/radio-group/pk-radio.js +2 -0
  440. package/dist/components/radio-group/pk-radio.styles.d.ts +2 -0
  441. package/dist/components/radio-group/pk-radio.styles.d.ts.map +1 -0
  442. package/dist/components/radio-group.d.ts +2 -0
  443. package/dist/components/radio-group.js +3 -0
  444. package/dist/components/scroll-area/index.d.ts +2 -0
  445. package/dist/components/scroll-area/index.d.ts.map +1 -0
  446. package/dist/components/scroll-area/pk-scroll-area.d.ts +53 -0
  447. package/dist/components/scroll-area/pk-scroll-area.d.ts.map +1 -0
  448. package/dist/components/scroll-area/pk-scroll-area.js +2 -0
  449. package/dist/components/scroll-area/pk-scroll-area.styles.d.ts +2 -0
  450. package/dist/components/scroll-area/pk-scroll-area.styles.d.ts.map +1 -0
  451. package/dist/components/scroll-area.d.ts +2 -0
  452. package/dist/components/scroll-area.js +2 -0
  453. package/dist/components/select/index.d.ts +4 -0
  454. package/dist/components/select/index.d.ts.map +1 -0
  455. package/dist/components/select/pk-option-group.d.ts +22 -0
  456. package/dist/components/select/pk-option-group.d.ts.map +1 -0
  457. package/dist/components/select/pk-option-group.js +2 -0
  458. package/dist/components/select/pk-option-group.styles.d.ts +2 -0
  459. package/dist/components/select/pk-option-group.styles.d.ts.map +1 -0
  460. package/dist/components/select/pk-option.d.ts +55 -0
  461. package/dist/components/select/pk-option.d.ts.map +1 -0
  462. package/dist/components/select/pk-option.js +2 -0
  463. package/dist/components/select/pk-option.styles.d.ts +2 -0
  464. package/dist/components/select/pk-option.styles.d.ts.map +1 -0
  465. package/dist/components/select/pk-select.d.ts +132 -0
  466. package/dist/components/select/pk-select.d.ts.map +1 -0
  467. package/dist/components/select/pk-select.js +2 -0
  468. package/dist/components/select/pk-select.styles.d.ts +2 -0
  469. package/dist/components/select/pk-select.styles.d.ts.map +1 -0
  470. package/dist/components/select.d.ts +2 -0
  471. package/dist/components/select.js +4 -0
  472. package/dist/components/separator/index.d.ts +2 -0
  473. package/dist/components/separator/index.d.ts.map +1 -0
  474. package/dist/components/separator/pk-separator.d.ts +25 -0
  475. package/dist/components/separator/pk-separator.d.ts.map +1 -0
  476. package/dist/components/separator/pk-separator.js +2 -0
  477. package/dist/components/separator/pk-separator.styles.d.ts +9 -0
  478. package/dist/components/separator/pk-separator.styles.d.ts.map +1 -0
  479. package/dist/components/separator.d.ts +2 -0
  480. package/dist/components/separator.js +2 -0
  481. package/dist/components/spinner/index.d.ts +3 -0
  482. package/dist/components/spinner/index.d.ts.map +1 -0
  483. package/dist/components/spinner/pk-spinner.d.ts +23 -0
  484. package/dist/components/spinner/pk-spinner.d.ts.map +1 -0
  485. package/dist/components/spinner/pk-spinner.js +2 -0
  486. package/dist/components/spinner/pk-spinner.styles.d.ts +2 -0
  487. package/dist/components/spinner/pk-spinner.styles.d.ts.map +1 -0
  488. package/dist/components/spinner/spinner-utils.d.ts +7 -0
  489. package/dist/components/spinner/spinner-utils.d.ts.map +1 -0
  490. package/dist/components/spinner.d.ts +2 -0
  491. package/dist/components/spinner.js +3 -0
  492. package/dist/components/status/index.d.ts +2 -0
  493. package/dist/components/status/index.d.ts.map +1 -0
  494. package/dist/components/status/pk-status.d.ts +19 -0
  495. package/dist/components/status/pk-status.d.ts.map +1 -0
  496. package/dist/components/status/pk-status.js +2 -0
  497. package/dist/components/status/pk-status.styles.d.ts +2 -0
  498. package/dist/components/status/pk-status.styles.d.ts.map +1 -0
  499. package/dist/components/status.d.ts +2 -0
  500. package/dist/components/status.js +2 -0
  501. package/dist/components/tabs/index.d.ts +5 -0
  502. package/dist/components/tabs/index.d.ts.map +1 -0
  503. package/dist/components/tabs/pk-tab-base.d.ts +14 -0
  504. package/dist/components/tabs/pk-tab-base.d.ts.map +1 -0
  505. package/dist/components/tabs/pk-tab-heading.d.ts +20 -0
  506. package/dist/components/tabs/pk-tab-heading.d.ts.map +1 -0
  507. package/dist/components/tabs/pk-tab-heading.js +2 -0
  508. package/dist/components/tabs/pk-tab-heading.styles.d.ts +2 -0
  509. package/dist/components/tabs/pk-tab-heading.styles.d.ts.map +1 -0
  510. package/dist/components/tabs/pk-tab-panel-base.d.ts +9 -0
  511. package/dist/components/tabs/pk-tab-panel-base.d.ts.map +1 -0
  512. package/dist/components/tabs/pk-tab-panel.d.ts +18 -0
  513. package/dist/components/tabs/pk-tab-panel.d.ts.map +1 -0
  514. package/dist/components/tabs/pk-tab-panel.js +2 -0
  515. package/dist/components/tabs/pk-tab-panel.styles.d.ts +2 -0
  516. package/dist/components/tabs/pk-tab-panel.styles.d.ts.map +1 -0
  517. package/dist/components/tabs/pk-tab.d.ts +23 -0
  518. package/dist/components/tabs/pk-tab.d.ts.map +1 -0
  519. package/dist/components/tabs/pk-tab.js +2 -0
  520. package/dist/components/tabs/pk-tab.styles.d.ts +2 -0
  521. package/dist/components/tabs/pk-tab.styles.d.ts.map +1 -0
  522. package/dist/components/tabs/pk-tabs.d.ts +67 -0
  523. package/dist/components/tabs/pk-tabs.d.ts.map +1 -0
  524. package/dist/components/tabs/pk-tabs.js +2 -0
  525. package/dist/components/tabs/pk-tabs.styles.d.ts +6 -0
  526. package/dist/components/tabs/pk-tabs.styles.d.ts.map +1 -0
  527. package/dist/components/tabs.d.ts +2 -0
  528. package/dist/components/tabs.js +5 -0
  529. package/dist/components/textarea/index.d.ts +2 -0
  530. package/dist/components/textarea/index.d.ts.map +1 -0
  531. package/dist/components/textarea/pk-textarea.d.ts +60 -0
  532. package/dist/components/textarea/pk-textarea.d.ts.map +1 -0
  533. package/dist/components/textarea/pk-textarea.js +2 -0
  534. package/dist/components/textarea/pk-textarea.styles.d.ts +2 -0
  535. package/dist/components/textarea/pk-textarea.styles.d.ts.map +1 -0
  536. package/dist/components/textarea.d.ts +2 -0
  537. package/dist/components/textarea.js +2 -0
  538. package/dist/components/time-picker/index.d.ts +2 -0
  539. package/dist/components/time-picker/index.d.ts.map +1 -0
  540. package/dist/components/time-picker/pk-time-picker.d.ts +25 -0
  541. package/dist/components/time-picker/pk-time-picker.d.ts.map +1 -0
  542. package/dist/components/time-picker/pk-time-picker.js +2 -0
  543. package/dist/components/time-picker/pk-time-picker.styles.d.ts +2 -0
  544. package/dist/components/time-picker/pk-time-picker.styles.d.ts.map +1 -0
  545. package/dist/components/time-picker.d.ts +2 -0
  546. package/dist/components/time-picker.js +2 -0
  547. package/dist/components/tiptap/index.d.ts +4 -0
  548. package/dist/components/tiptap/index.d.ts.map +1 -0
  549. package/dist/components/tiptap/pk-tiptap-content.d.ts +25 -0
  550. package/dist/components/tiptap/pk-tiptap-content.d.ts.map +1 -0
  551. package/dist/components/tiptap/pk-tiptap-content.js +2 -0
  552. package/dist/components/tiptap/pk-tiptap-content.styles.d.ts +2 -0
  553. package/dist/components/tiptap/pk-tiptap-content.styles.d.ts.map +1 -0
  554. package/dist/components/tiptap/pk-tiptap-editor.d.ts +123 -0
  555. package/dist/components/tiptap/pk-tiptap-editor.d.ts.map +1 -0
  556. package/dist/components/tiptap/pk-tiptap-editor.js +2 -0
  557. package/dist/components/tiptap/pk-tiptap-editor.styles.d.ts +2 -0
  558. package/dist/components/tiptap/pk-tiptap-editor.styles.d.ts.map +1 -0
  559. package/dist/components/tiptap/pk-tiptap-input.d.ts +54 -0
  560. package/dist/components/tiptap/pk-tiptap-input.d.ts.map +1 -0
  561. package/dist/components/tiptap/pk-tiptap-input.js +2 -0
  562. package/dist/components/tiptap/pk-tiptap-input.styles.d.ts +2 -0
  563. package/dist/components/tiptap/pk-tiptap-input.styles.d.ts.map +1 -0
  564. package/dist/components/tiptap/tiptap-editor-host.d.ts +28 -0
  565. package/dist/components/tiptap/tiptap-editor-host.d.ts.map +1 -0
  566. package/dist/components/tiptap/tiptap-toolbar.d.ts +7 -0
  567. package/dist/components/tiptap/tiptap-toolbar.d.ts.map +1 -0
  568. package/dist/components/tiptap/tiptap-utils.d.ts +13 -0
  569. package/dist/components/tiptap/tiptap-utils.d.ts.map +1 -0
  570. package/dist/components/tiptap/tiptap.styles.d.ts +12 -0
  571. package/dist/components/tiptap/tiptap.styles.d.ts.map +1 -0
  572. package/dist/components/tiptap/variable-tag-node-view.d.ts +17 -0
  573. package/dist/components/tiptap/variable-tag-node-view.d.ts.map +1 -0
  574. package/dist/components/tiptap-content.d.ts +2 -0
  575. package/dist/components/tiptap-content.js +2 -0
  576. package/dist/components/tiptap-editor.d.ts +2 -0
  577. package/dist/components/tiptap-editor.js +2 -0
  578. package/dist/components/tiptap-input.d.ts +2 -0
  579. package/dist/components/tiptap-input.js +2 -0
  580. package/dist/components/toggle/index.d.ts +2 -0
  581. package/dist/components/toggle/index.d.ts.map +1 -0
  582. package/dist/components/toggle/pk-toggle.d.ts +28 -0
  583. package/dist/components/toggle/pk-toggle.d.ts.map +1 -0
  584. package/dist/components/toggle/pk-toggle.js +2 -0
  585. package/dist/components/toggle/pk-toggle.styles.d.ts +2 -0
  586. package/dist/components/toggle/pk-toggle.styles.d.ts.map +1 -0
  587. package/dist/components/toggle-group/index.d.ts +2 -0
  588. package/dist/components/toggle-group/index.d.ts.map +1 -0
  589. package/dist/components/toggle-group/pk-toggle-group.d.ts +43 -0
  590. package/dist/components/toggle-group/pk-toggle-group.d.ts.map +1 -0
  591. package/dist/components/toggle-group/pk-toggle-group.js +2 -0
  592. package/dist/components/toggle-group/pk-toggle-group.styles.d.ts +2 -0
  593. package/dist/components/toggle-group/pk-toggle-group.styles.d.ts.map +1 -0
  594. package/dist/components/toggle-group.d.ts +2 -0
  595. package/dist/components/toggle-group.js +2 -0
  596. package/dist/components/toggle.d.ts +2 -0
  597. package/dist/components/toggle.js +2 -0
  598. package/dist/components/tooltip/index.d.ts +2 -0
  599. package/dist/components/tooltip/index.d.ts.map +1 -0
  600. package/dist/components/tooltip/pk-tooltip.d.ts +73 -0
  601. package/dist/components/tooltip/pk-tooltip.d.ts.map +1 -0
  602. package/dist/components/tooltip/pk-tooltip.js +2 -0
  603. package/dist/components/tooltip/pk-tooltip.styles.d.ts +2 -0
  604. package/dist/components/tooltip/pk-tooltip.styles.d.ts.map +1 -0
  605. package/dist/components/tooltip.d.ts +2 -0
  606. package/dist/components/tooltip.js +2 -0
  607. package/dist/create-register-components.d.ts +7 -0
  608. package/dist/create-register-components.d.ts.map +1 -0
  609. package/dist/events/overlay-lifecycle.d.ts +27 -0
  610. package/dist/events/overlay-lifecycle.d.ts.map +1 -0
  611. package/dist/events/pk-clear.d.ts +10 -0
  612. package/dist/events/pk-clear.d.ts.map +1 -0
  613. package/dist/events/pk-copy.d.ts +18 -0
  614. package/dist/events/pk-copy.d.ts.map +1 -0
  615. package/dist/events/pk-create.d.ts +11 -0
  616. package/dist/events/pk-create.d.ts.map +1 -0
  617. package/dist/events/pk-invalid.d.ts +10 -0
  618. package/dist/events/pk-invalid.d.ts.map +1 -0
  619. package/dist/events/pk-reposition.d.ts +10 -0
  620. package/dist/events/pk-reposition.d.ts.map +1 -0
  621. package/dist/icons/checkbox-indicators.d.ts +6 -0
  622. package/dist/icons/checkbox-indicators.d.ts.map +1 -0
  623. package/dist/icons/index.d.ts +4 -0
  624. package/dist/icons/index.d.ts.map +1 -0
  625. package/dist/icons/index.js +4 -0
  626. package/dist/icons/render.d.ts +7 -0
  627. package/dist/icons/render.d.ts.map +1 -0
  628. package/dist/icons/translation-icon.d.ts +2 -0
  629. package/dist/icons/translation-icon.d.ts.map +1 -0
  630. package/dist/index.d.ts +52 -0
  631. package/dist/index.d.ts.map +1 -0
  632. package/dist/index.js +218 -0
  633. package/dist/index.js.map +1 -0
  634. package/dist/internal/control-aria.d.ts +31 -0
  635. package/dist/internal/control-aria.d.ts.map +1 -0
  636. package/dist/internal/field-aria.d.ts +19 -0
  637. package/dist/internal/field-aria.d.ts.map +1 -0
  638. package/dist/internal/field-labels.d.ts +5 -0
  639. package/dist/internal/field-labels.d.ts.map +1 -0
  640. package/dist/internal/has-slot.d.ts +30 -0
  641. package/dist/internal/has-slot.d.ts.map +1 -0
  642. package/dist/internal/implicit-form-submit.d.ts +15 -0
  643. package/dist/internal/implicit-form-submit.d.ts.map +1 -0
  644. package/dist/internal/resolve-element-by-id.d.ts +3 -0
  645. package/dist/internal/resolve-element-by-id.d.ts.map +1 -0
  646. package/dist/internal/sync-listbox-separators.d.ts +3 -0
  647. package/dist/internal/sync-listbox-separators.d.ts.map +1 -0
  648. package/dist/plugin-kit.css +583 -0
  649. package/dist/plugin-kit.d.ts +9 -0
  650. package/dist/plugin-kit.d.ts.map +1 -0
  651. package/dist/plugin-kit.js +267 -0
  652. package/dist/plugin-kit.js.map +1 -0
  653. package/dist/plugin-kit.loader.d.ts +2 -0
  654. package/dist/plugin-kit.loader.d.ts.map +1 -0
  655. package/dist/register-components.d.ts +3 -0
  656. package/dist/register-components.d.ts.map +1 -0
  657. package/dist/register-components.js +2 -0
  658. package/dist/register-pk.generated.d.ts +103 -0
  659. package/dist/register-pk.generated.d.ts.map +1 -0
  660. package/dist/register.d.ts +85 -0
  661. package/dist/register.d.ts.map +1 -0
  662. package/dist/register.js +146 -0
  663. package/dist/register.js.map +1 -0
  664. package/dist/styles/overlay-content.css +64 -0
  665. package/dist/styles/popup-content-animation.styles.d.ts +9 -0
  666. package/dist/styles/popup-content-animation.styles.d.ts.map +1 -0
  667. package/dist/tokens.css +408 -0
  668. package/dist/utilities/autoloader.d.ts +8 -0
  669. package/dist/utilities/autoloader.d.ts.map +1 -0
  670. package/dist/utilities/base-path.d.ts +3 -0
  671. package/dist/utilities/base-path.d.ts.map +1 -0
  672. package/dist/utilities/defined.d.ts +17 -0
  673. package/dist/utilities/defined.d.ts.map +1 -0
  674. package/dist/utilities/fouce-strategy.d.ts +43 -0
  675. package/dist/utilities/fouce-strategy.d.ts.map +1 -0
  676. package/dist/utilities/fouce.css +108 -0
  677. package/dist/utils/animate-with-class.d.ts +7 -0
  678. package/dist/utils/animate-with-class.d.ts.map +1 -0
  679. package/dist/utils/config.d.ts +15 -0
  680. package/dist/utils/config.d.ts.map +1 -0
  681. package/dist/utils/copy-to-clipboard.d.ts +5 -0
  682. package/dist/utils/copy-to-clipboard.d.ts.map +1 -0
  683. package/dist/utils/craft-host-modal.d.ts +19 -0
  684. package/dist/utils/craft-host-modal.d.ts.map +1 -0
  685. package/dist/utils/date-matchers.d.ts +29 -0
  686. package/dist/utils/date-matchers.d.ts.map +1 -0
  687. package/dist/utils/date.d.ts +23 -0
  688. package/dist/utils/date.d.ts.map +1 -0
  689. package/dist/utils/documentScrollStability.d.ts +11 -0
  690. package/dist/utils/documentScrollStability.d.ts.map +1 -0
  691. package/dist/utils/floating-ui.d.ts +14 -0
  692. package/dist/utils/floating-ui.d.ts.map +1 -0
  693. package/dist/utils/highlight-text.d.ts +7 -0
  694. package/dist/utils/highlight-text.d.ts.map +1 -0
  695. package/dist/utils/host-date.d.ts +8 -0
  696. package/dist/utils/host-date.d.ts.map +1 -0
  697. package/dist/utils/inline-markdown.d.ts +6 -0
  698. package/dist/utils/inline-markdown.d.ts.map +1 -0
  699. package/dist/utils/listbox-keyboard.d.ts +25 -0
  700. package/dist/utils/listbox-keyboard.d.ts.map +1 -0
  701. package/dist/utils/menu-keyboard.d.ts +15 -0
  702. package/dist/utils/menu-keyboard.d.ts.map +1 -0
  703. package/dist/utils/mount-shadow-app.d.ts +31 -0
  704. package/dist/utils/mount-shadow-app.d.ts.map +1 -0
  705. package/dist/utils/overlay-recovery.d.ts +39 -0
  706. package/dist/utils/overlay-recovery.d.ts.map +1 -0
  707. package/dist/utils/popup-placement-animation.d.ts +26 -0
  708. package/dist/utils/popup-placement-animation.d.ts.map +1 -0
  709. package/dist/utils/popup-pointer.d.ts +15 -0
  710. package/dist/utils/popup-pointer.d.ts.map +1 -0
  711. package/dist/utils/portal.d.ts +16 -0
  712. package/dist/utils/portal.d.ts.map +1 -0
  713. package/dist/utils/supports-popover.d.ts +3 -0
  714. package/dist/utils/supports-popover.d.ts.map +1 -0
  715. package/dist/utils/time-options.d.ts +16 -0
  716. package/dist/utils/time-options.d.ts.map +1 -0
  717. package/dist/utils/top-layer.d.ts +34 -0
  718. package/dist/utils/top-layer.d.ts.map +1 -0
  719. package/dist/utils/week-info.d.ts +14 -0
  720. package/dist/utils/week-info.d.ts.map +1 -0
  721. package/dist/validators/custom-error-validator.d.ts +3 -0
  722. package/dist/validators/custom-error-validator.d.ts.map +1 -0
  723. package/dist/validators/index.d.ts +6 -0
  724. package/dist/validators/index.d.ts.map +1 -0
  725. package/dist/validators/mirror-validator.d.ts +4 -0
  726. package/dist/validators/mirror-validator.d.ts.map +1 -0
  727. package/dist/validators/required-validator.d.ts +7 -0
  728. package/dist/validators/required-validator.d.ts.map +1 -0
  729. package/dist/validators/types.d.ts +12 -0
  730. package/dist/validators/types.d.ts.map +1 -0
  731. package/dist-loader/chunks/animate-with-class-DT0jwaR_.js +40 -0
  732. package/dist-loader/chunks/button-group-item.styles-Dwakbyx5.js +145 -0
  733. package/dist-loader/chunks/codemirror-CSgOT0QM.js +23675 -0
  734. package/dist-loader/chunks/field-labels-D3lKQ2nq.js +12 -0
  735. package/dist-loader/chunks/floating-ui-87vslRWW.js +1220 -0
  736. package/dist-loader/chunks/has-slot-BGJeJdHr.js +72 -0
  737. package/dist-loader/chunks/icons-B1i-oRoD.js +429 -0
  738. package/dist-loader/chunks/lit-Dnn7gEi2.js +891 -0
  739. package/dist-loader/chunks/mirror-validator-C5XrXPaq.js +30 -0
  740. package/dist-loader/chunks/overlay-lifecycle-C3tSQ3UR.js +42 -0
  741. package/dist-loader/chunks/pk-a11y-Cx5RZvhu.js +274 -0
  742. package/dist-loader/chunks/pk-base-BlxAYXJD.js +705 -0
  743. package/dist-loader/chunks/pk-button-BlSs4e6V.js +846 -0
  744. package/dist-loader/chunks/pk-calendar-RXCDDhLI.js +1403 -0
  745. package/dist-loader/chunks/pk-checkbox-hJCj8In8.js +273 -0
  746. package/dist-loader/chunks/pk-clear-BMZUzwDt.js +13 -0
  747. package/dist-loader/chunks/pk-color-input-BfNtLznP.js +393 -0
  748. package/dist-loader/chunks/pk-combobox-1PJBcIrV.js +2006 -0
  749. package/dist-loader/chunks/pk-date-picker-D4vCtbw-.js +708 -0
  750. package/dist-loader/chunks/pk-dialog-D1RZjwQN.js +630 -0
  751. package/dist-loader/chunks/pk-dropdown-item-BJIhQ0Mw.js +543 -0
  752. package/dist-loader/chunks/pk-dropdown-menu-I1s3TBiA.js +731 -0
  753. package/dist-loader/chunks/pk-field-BnKPT_Kk.js +5842 -0
  754. package/dist-loader/chunks/pk-input-Oarjv7Vc.js +715 -0
  755. package/dist-loader/chunks/pk-lightswitch-D-UrNM3y.js +427 -0
  756. package/dist-loader/chunks/pk-option-CCZebfif.js +308 -0
  757. package/dist-loader/chunks/pk-popup-BNRyCsVX.js +553 -0
  758. package/dist-loader/chunks/pk-select-BcbtjIoP.js +1120 -0
  759. package/dist-loader/chunks/pk-spinner-Di9O69-m.js +145 -0
  760. package/dist-loader/chunks/pk-textarea-CC6WXpIu.js +334 -0
  761. package/dist-loader/chunks/pk-time-picker-BtGXo-KJ.js +225 -0
  762. package/dist-loader/chunks/pk-tooltip-JJRxVXYD.js +465 -0
  763. package/dist-loader/chunks/popup-content-animation.styles-S6CK-zPp.js +115 -0
  764. package/dist-loader/chunks/popup-placement-animation-WlEXnS85.js +58 -0
  765. package/dist-loader/chunks/popup-pointer-BC4n_sNb.js +19 -0
  766. package/dist-loader/chunks/registry-CmL0rH9r.js +55 -0
  767. package/dist-loader/chunks/render-DApFfV9S.js +14 -0
  768. package/dist-loader/chunks/required-validator-0XwZtX9k.js +27 -0
  769. package/dist-loader/chunks/rolldown-runtime-CzwdidQP.js +13 -0
  770. package/dist-loader/chunks/supports-popover-COjbi2RP.js +5 -0
  771. package/dist-loader/chunks/svg-Boar0Kf1.js +34 -0
  772. package/dist-loader/chunks/sync-listbox-separators-Bcja51HC.js +147 -0
  773. package/dist-loader/chunks/tiptap-Db7MTUH1.js +22888 -0
  774. package/dist-loader/chunks/tiptap.styles-DAH_90Fi.js +1628 -0
  775. package/dist-loader/components/button/button.js +2 -0
  776. package/dist-loader/components/button-group/button-group-separator.js +58 -0
  777. package/dist-loader/components/button-group/button-group-text.js +46 -0
  778. package/dist-loader/components/button-group/button-group.js +419 -0
  779. package/dist-loader/components/calendar/calendar.js +2 -0
  780. package/dist-loader/components/checkbox/checkbox.js +2 -0
  781. package/dist-loader/components/checkbox-select/checkbox-select.js +217 -0
  782. package/dist-loader/components/code-editor/code-editor.js +376 -0
  783. package/dist-loader/components/color-input/color-input.js +2 -0
  784. package/dist-loader/components/combobox/combobox.js +2 -0
  785. package/dist-loader/components/copy-button/copy-button.js +135 -0
  786. package/dist-loader/components/date-picker/date-picker.js +2 -0
  787. package/dist-loader/components/dialog/dialog.js +2 -0
  788. package/dist-loader/components/dropdown-menu/dropdown-item.js +2 -0
  789. package/dist-loader/components/dropdown-menu/dropdown-label.js +45 -0
  790. package/dist-loader/components/dropdown-menu/dropdown-menu.js +2 -0
  791. package/dist-loader/components/dropdown-menu/dropdown-separator.js +33 -0
  792. package/dist-loader/components/editable-table/editable-table.js +1522 -0
  793. package/dist-loader/components/field/field.js +2 -0
  794. package/dist-loader/components/icon/icon.js +17 -0
  795. package/dist-loader/components/input/input.js +2 -0
  796. package/dist-loader/components/input-group/input-group-addon.js +98 -0
  797. package/dist-loader/components/input-group/input-group-button.js +52 -0
  798. package/dist-loader/components/input-group/input-group-input.js +132 -0
  799. package/dist-loader/components/input-group/input-group-text.js +37 -0
  800. package/dist-loader/components/input-group/input-group-textarea.js +110 -0
  801. package/dist-loader/components/input-group/input-group.js +234 -0
  802. package/dist-loader/components/lightswitch/lightswitch.js +2 -0
  803. package/dist-loader/components/popover/popover.js +372 -0
  804. package/dist-loader/components/popup/popup.js +2 -0
  805. package/dist-loader/components/radio-group/radio-group.js +247 -0
  806. package/dist-loader/components/radio-group/radio.js +229 -0
  807. package/dist-loader/components/scroll-area/scroll-area.js +398 -0
  808. package/dist-loader/components/select/option-group.js +69 -0
  809. package/dist-loader/components/select/option.js +2 -0
  810. package/dist-loader/components/select/select.js +2 -0
  811. package/dist-loader/components/separator/separator.js +86 -0
  812. package/dist-loader/components/spinner/spinner.js +2 -0
  813. package/dist-loader/components/status/status.js +89 -0
  814. package/dist-loader/components/tabs/tab-heading.js +47 -0
  815. package/dist-loader/components/tabs/tab-panel.js +83 -0
  816. package/dist-loader/components/tabs/tab.js +256 -0
  817. package/dist-loader/components/tabs/tabs.js +619 -0
  818. package/dist-loader/components/textarea/textarea.js +2 -0
  819. package/dist-loader/components/time-picker/time-picker.js +2 -0
  820. package/dist-loader/components/tiptap/tiptap-content.js +72 -0
  821. package/dist-loader/components/tiptap/tiptap-editor.js +1078 -0
  822. package/dist-loader/components/tiptap/tiptap-input.js +244 -0
  823. package/dist-loader/components/toggle/toggle.js +253 -0
  824. package/dist-loader/components/toggle-group/toggle-group.js +172 -0
  825. package/dist-loader/components/tooltip/tooltip.js +2 -0
  826. package/dist-loader/plugin-kit.css +583 -0
  827. package/dist-loader/plugin-kit.d.ts +9 -0
  828. package/dist-loader/plugin-kit.d.ts.map +1 -0
  829. package/dist-loader/plugin-kit.loader.d.ts +2 -0
  830. package/dist-loader/plugin-kit.loader.d.ts.map +1 -0
  831. package/dist-loader/plugin-kit.loader.js +527 -0
  832. package/dist-loader/styles/overlay-content.css +64 -0
  833. package/dist-loader/tokens.css +408 -0
  834. package/dist-loader/utilities/autoloader.d.ts +8 -0
  835. package/dist-loader/utilities/autoloader.d.ts.map +1 -0
  836. package/dist-loader/utilities/base-path.d.ts +3 -0
  837. package/dist-loader/utilities/base-path.d.ts.map +1 -0
  838. package/dist-loader/utilities/defined.d.ts +17 -0
  839. package/dist-loader/utilities/defined.d.ts.map +1 -0
  840. package/dist-loader/utilities/fouce-strategy.d.ts +43 -0
  841. package/dist-loader/utilities/fouce-strategy.d.ts.map +1 -0
  842. package/dist-loader/utilities/fouce.css +108 -0
  843. package/package.json +961 -0
@@ -0,0 +1,2006 @@
1
+ import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, s as scrollIntoView, t as LiveRegion, u as isTopDismissible } from "./pk-a11y-Cx5RZvhu.js";
2
+ import { a as o, c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as t } from "./lit-Dnn7gEi2.js";
3
+ import { c as __decorate, i as PkFormAssociatedElement, s as iconStyles } from "./pk-base-BlxAYXJD.js";
4
+ import { m as chevronDown, q as xmark } from "./icons-B1i-oRoD.js";
5
+ import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
6
+ import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
7
+ import { t as PkClearEvent } from "./pk-clear-BMZUzwDt.js";
8
+ import { n as renderIconHtml } from "./render-DApFfV9S.js";
9
+ import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
10
+ import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-WlEXnS85.js";
11
+ import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-S6CK-zPp.js";
12
+ import { n as isPointerInsideOverlay, t as isEventInsideOverlay } from "./popup-pointer-BC4n_sNb.js";
13
+ import { a as isListboxTypeToSelectKey, i as handleListboxKeyDown, n as LISTBOX_NAVIGATION_KEYS, t as syncListboxSeparators } from "./sync-listbox-separators-Bcja51HC.js";
14
+ //#region src/events/pk-create.ts
15
+ /** Fired before a combobox creates a new option — mirrors `pk-create`. */
16
+ var PkCreateEvent = class extends Event {
17
+ constructor(inputValue) {
18
+ super("pk-create", {
19
+ bubbles: true,
20
+ cancelable: true,
21
+ composed: true
22
+ });
23
+ this.inputValue = inputValue;
24
+ }
25
+ };
26
+ //#endregion
27
+ //#region src/components/combobox/pk-combobox.styles.ts
28
+ var pkComboboxStyles = [popupContentAnimationStyles, i`
29
+ ${iconStyles}
30
+ @layer pk-component {
31
+ :host {
32
+ display: inline-block;
33
+ position: relative;
34
+ width: fit-content;
35
+ max-width: 100%;
36
+ align-self: flex-start;
37
+ flex: none;
38
+ color: var(--pk-color-gray-700);
39
+ font-family: var(--pk-font-family);
40
+ font-size: var(--pk-font-size-base);
41
+ line-height: var(--pk-line-height);
42
+ --pk-combobox-min-height: 0;
43
+ --pk-combobox-trigger-min-height: var(--pk-btn-height-default);
44
+ --pk-combobox-padding-block: 6px;
45
+ --pk-combobox-padding-inline: 10px;
46
+ --pk-combobox-font-size: var(--pk-font-size-base);
47
+ --pk-combobox-line-height: var(--pk-input-control-line-height, 1.25rem);
48
+ --pk-combobox-decoration-size: 0.875rem;
49
+ --pk-select-item-min-height: 0;
50
+ --pk-select-item-padding-block: 6px;
51
+ --pk-select-item-padding-inline: 10px;
52
+ --pk-select-item-padding-inline-end: 2rem;
53
+ --pk-select-item-font-size: 14px;
54
+ --pk-select-item-line-height: 1.4;
55
+ --pk-select-item-indicator-size: 0.75rem;
56
+ --pk-select-item-indicator-inset: 0.5rem;
57
+ /* v1 ComboboxLabel default: text-xs → 12px (was 11px). */
58
+ --pk-select-group-label-font-size: 12px;
59
+ }
60
+
61
+ :host([width='full']) {
62
+ display: block;
63
+ width: 100%;
64
+ }
65
+
66
+ :host([width='full']) .control {
67
+ width: 100%;
68
+ }
69
+
70
+ .control {
71
+ display: inline-flex;
72
+ align-items: center;
73
+ --pk-combobox-control-gap: 0.5rem;
74
+ gap: var(--pk-combobox-control-gap);
75
+ /* Fill the host — consumers set min-width/width on :host; fit-content here
76
+ left a dead hit strip beside the painted field (same class of bug as dropdown). */
77
+ width: 100%;
78
+ max-width: 100%;
79
+ min-width: 0;
80
+ min-height: var(--pk-combobox-min-height);
81
+ margin: 0;
82
+ padding: var(--pk-combobox-padding-block) var(--pk-combobox-padding-inline);
83
+ border: 1px solid transparent;
84
+ border-radius: var(--pk-radius-lg);
85
+ --pk-combobox-fill: var(--pk-color-slate-250);
86
+ --pk-combobox-fill-hover: var(--pk-color-slate-300);
87
+ background: var(--pk-combobox-fill);
88
+ color: var(--pk-color-gray-700);
89
+ font: inherit;
90
+ font-size: var(--pk-combobox-font-size);
91
+ line-height: var(--pk-input-control-line-height, 1.25rem);
92
+ white-space: nowrap;
93
+ cursor: text;
94
+ outline: none;
95
+ box-sizing: border-box;
96
+ transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
97
+ }
98
+
99
+ .control[data-popup-open] {
100
+ border-color: var(--pk-color-sky-600);
101
+ box-shadow: var(--pk-input-focus-shadow);
102
+ background: var(--pk-color-white);
103
+ }
104
+
105
+ :host(:not([disabled])) .control:hover:not(.is-disabled) {
106
+ background: var(--pk-combobox-fill-hover);
107
+ }
108
+
109
+ :host(:not([disabled])) .control[data-popup-open]:hover:not(.is-disabled),
110
+ :host(:not([disabled])) .control[data-popup-open]:focus-within:not(.is-disabled) {
111
+ border-color: var(--pk-color-sky-600);
112
+ box-shadow: var(--pk-input-focus-shadow);
113
+ background: var(--pk-color-white);
114
+ }
115
+
116
+ :host(:not([invalid]):not(:state(user-invalid))) .control:focus-within,
117
+ :host(:not([invalid]):not(:state(user-invalid))[data-state='focus-visible']) .control {
118
+ border-color: var(--pk-color-sky-600);
119
+ box-shadow: var(--pk-input-focus-shadow);
120
+ background: var(--pk-color-white);
121
+ }
122
+
123
+ .control.is-disabled {
124
+ cursor: not-allowed;
125
+ opacity: 0.5;
126
+ }
127
+
128
+ .control-start,
129
+ .control-end {
130
+ display: inline-flex;
131
+ align-items: center;
132
+ flex-shrink: 0;
133
+ line-height: 0;
134
+ color: var(--pk-color-gray-600);
135
+ }
136
+
137
+ slot[name='start']::slotted(svg),
138
+ slot[name='end']::slotted(svg) {
139
+ width: var(--pk-combobox-decoration-size);
140
+ height: var(--pk-combobox-decoration-size);
141
+ }
142
+
143
+ .combobox-input {
144
+ flex: 1 1 auto;
145
+ width: 100%;
146
+ min-width: 0;
147
+ margin: 0;
148
+ padding: 0;
149
+ border: 0;
150
+ background: transparent;
151
+ color: inherit;
152
+ font: inherit;
153
+ line-height: var(--pk-input-control-line-height, 1.25rem);
154
+ outline: none;
155
+ }
156
+
157
+ .combobox-input::placeholder {
158
+ color: currentColor;
159
+ }
160
+
161
+ :host([data-has-value]) .combobox-input::placeholder,
162
+ .control[data-popup-open] .combobox-input::placeholder,
163
+ .control:focus-within .combobox-input::placeholder {
164
+ color: var(--pk-color-gray-400);
165
+ }
166
+
167
+ /* Expand/clear: the button box IS the hit target. Negative margins cancel the
168
+ control padding / half-gap in layout, while matching extra width/height keeps
169
+ the painted (and clickable) box flush to the field edge — so flex centering
170
+ places the glyph in the middle of the real hit area. */
171
+ .icon-button,
172
+ .clear-button {
173
+ display: inline-flex;
174
+ align-items: center;
175
+ justify-content: center;
176
+ flex-shrink: 0;
177
+ align-self: stretch;
178
+ box-sizing: border-box;
179
+ width: calc(var(--pk-combobox-decoration-size) + var(--pk-combobox-control-gap));
180
+ height: auto;
181
+ min-height: var(--pk-combobox-decoration-size);
182
+ margin-block: calc(-1 * var(--pk-combobox-padding-block));
183
+ margin-inline: calc(-0.5 * var(--pk-combobox-control-gap));
184
+ padding: 0;
185
+ border: 0;
186
+ border-radius: 0;
187
+ background: transparent;
188
+ color: var(--pk-color-gray-600);
189
+ cursor: pointer;
190
+ outline: none;
191
+ }
192
+
193
+ /* Trailing control absorbs the control's inline-end padding into its hit box. */
194
+ .control > .expand-button,
195
+ .control > .clear-button:last-child {
196
+ width: calc(
197
+ var(--pk-combobox-decoration-size) + (0.5 * var(--pk-combobox-control-gap)) +
198
+ var(--pk-combobox-padding-inline)
199
+ );
200
+ margin-inline-start: calc(-0.5 * var(--pk-combobox-control-gap));
201
+ margin-inline-end: calc(-1 * var(--pk-combobox-padding-inline));
202
+ }
203
+
204
+ .icon-button:disabled,
205
+ .clear-button:disabled {
206
+ cursor: not-allowed;
207
+ opacity: 0.5;
208
+ }
209
+
210
+ .icon {
211
+ display: inline-flex;
212
+ align-items: center;
213
+ justify-content: center;
214
+ flex-shrink: 0;
215
+ line-height: 0;
216
+ pointer-events: none;
217
+ color: var(--pk-color-gray-600);
218
+ }
219
+
220
+ .icon svg {
221
+ display: block;
222
+ width: 0.75rem;
223
+ height: 0.75rem;
224
+ }
225
+
226
+ .clear-button-icon {
227
+ display: inline-flex;
228
+ align-items: center;
229
+ justify-content: center;
230
+ line-height: 0;
231
+ pointer-events: none;
232
+ }
233
+
234
+ .clear-button-icon svg {
235
+ display: block;
236
+ width: 0.75rem;
237
+ height: 0.75rem;
238
+ }
239
+
240
+ .control--multiple {
241
+ --pk-combobox-control-gap: 0.25rem;
242
+ flex-wrap: wrap;
243
+ align-items: center;
244
+ align-content: center;
245
+ width: 100%;
246
+ max-width: 100%;
247
+ height: auto;
248
+ min-height: 0;
249
+ padding: var(--pk-combobox-padding-block) var(--pk-combobox-padding-inline);
250
+ gap: var(--pk-combobox-control-gap);
251
+ border: var(--pk-input-border);
252
+ border-radius: var(--pk-input-border-radius);
253
+ background: var(--pk-input-bg);
254
+ cursor: text;
255
+ }
256
+
257
+ :host([multiple][width='full']) .control--multiple {
258
+ width: 100%;
259
+ }
260
+
261
+ :host([multiple]) .control:hover:not(.is-disabled) {
262
+ background: var(--pk-input-bg);
263
+ }
264
+
265
+ :host([multiple]:not([invalid]):not(:state(user-invalid))) .control[data-popup-open],
266
+ :host([multiple]:not([invalid]):not(:state(user-invalid))) .control:focus-within,
267
+ :host([multiple]:not([invalid]):not(:state(user-invalid))[data-state='focus-visible']) .control {
268
+ border-color: var(--pk-color-sky-600);
269
+ box-shadow: var(--pk-input-focus-shadow);
270
+ background: var(--pk-input-bg);
271
+ }
272
+
273
+ .chips {
274
+ display: flex;
275
+ flex: 0 1 auto;
276
+ flex-wrap: wrap;
277
+ gap: 0.25rem;
278
+ align-items: center;
279
+ min-width: 0;
280
+ }
281
+
282
+ .tag {
283
+ /* v1 ComboboxChip: text-xs + py-[2px] → 20px; face color gray-700. */
284
+ --pk-combobox-tag-height: 20px;
285
+ --pk-combobox-tag-padding-inline-start: 6px;
286
+ --pk-combobox-tag-remove-width: 1.25rem;
287
+ display: inline-flex;
288
+ box-sizing: border-box;
289
+ align-items: center;
290
+ justify-content: center;
291
+ gap: 0.125rem;
292
+ max-width: 100%;
293
+ height: var(--pk-combobox-tag-height);
294
+ padding-block: 0;
295
+ padding-inline: var(--pk-combobox-tag-padding-inline-start) 0;
296
+ border-radius: var(--pk-radius-sm);
297
+ background: var(--pk-color-slate-200);
298
+ color: var(--pk-color-gray-700);
299
+ font-size: 12px;
300
+ font-weight: 500;
301
+ line-height: 1rem;
302
+ white-space: nowrap;
303
+ }
304
+
305
+ .tag-label {
306
+ overflow: hidden;
307
+ text-overflow: ellipsis;
308
+ }
309
+
310
+ /* Chip remove: fill the chip end so the glyph centers in the real target. */
311
+ .tag-remove {
312
+ display: inline-flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ flex-shrink: 0;
316
+ align-self: stretch;
317
+ box-sizing: border-box;
318
+ width: var(--pk-combobox-tag-remove-width);
319
+ height: auto;
320
+ min-height: 0;
321
+ margin: 0;
322
+ padding: 0;
323
+ border: 0;
324
+ border-radius: 0;
325
+ background: transparent;
326
+ color: inherit;
327
+ cursor: pointer;
328
+ opacity: 0.5;
329
+ outline: none;
330
+ }
331
+
332
+ .tag-remove:hover {
333
+ opacity: 1;
334
+ }
335
+
336
+ .tag-remove-icon {
337
+ display: inline-flex;
338
+ align-items: center;
339
+ justify-content: center;
340
+ line-height: 0;
341
+ pointer-events: none;
342
+ }
343
+
344
+ .tag-remove-icon svg {
345
+ display: block;
346
+ width: 0.625rem;
347
+ height: 0.625rem;
348
+ }
349
+
350
+ .combobox-input--inline {
351
+ flex: 1 1 4rem;
352
+ width: auto;
353
+ min-width: 4rem;
354
+ padding: 0;
355
+ }
356
+
357
+ :host([multiple]) .control:not([data-popup-open]):not(:focus-within) {
358
+ background: var(--pk-input-bg);
359
+ }
360
+
361
+ :host([multiple]) .combobox-input::placeholder {
362
+ color: var(--pk-color-gray-400);
363
+ }
364
+
365
+ .create-option {
366
+ display: flex;
367
+ align-items: center;
368
+ width: 100%;
369
+ margin: 0;
370
+ min-height: var(--pk-select-item-min-height);
371
+ padding-block: var(--pk-select-item-padding-block);
372
+ padding-inline: var(--pk-select-item-padding-inline);
373
+ border: 0;
374
+ background: transparent;
375
+ color: var(--pk-color-gray-700);
376
+ font: inherit;
377
+ font-size: var(--pk-select-item-font-size);
378
+ line-height: var(--pk-select-item-line-height);
379
+ text-align: left;
380
+ cursor: pointer;
381
+ outline: none;
382
+ box-sizing: border-box;
383
+ }
384
+
385
+ .create-option:hover,
386
+ .create-option.is-highlighted {
387
+ background: var(--pk-color-slate-100);
388
+ }
389
+
390
+ .value-input {
391
+ position: absolute;
392
+ width: 1px;
393
+ height: 1px;
394
+ padding: 0;
395
+ margin: -1px;
396
+ overflow: hidden;
397
+ clip: rect(0, 0, 0, 0);
398
+ white-space: nowrap;
399
+ border: 0;
400
+ }
401
+
402
+ .panel ::slotted(pk-separator) {
403
+ margin: 4px 0;
404
+ }
405
+
406
+ .panel {
407
+ width: max-content;
408
+ min-width: var(--pk-combobox-anchor-width, 8rem);
409
+ padding: 0;
410
+ border: 0;
411
+ border-radius: var(--pk-radius-md);
412
+ background: var(--pk-color-white);
413
+ box-shadow: var(--pk-shadow-popup);
414
+ color: var(--pk-color-gray-700);
415
+ outline: none;
416
+ }
417
+
418
+ .panel-body {
419
+ max-height: 16rem;
420
+ overflow: auto;
421
+ }
422
+
423
+ .panel--popup {
424
+ display: flex;
425
+ flex-direction: column;
426
+ overflow: hidden;
427
+ }
428
+
429
+ .panel--popup .panel-body {
430
+ flex: 1 1 auto;
431
+ min-height: 0;
432
+ }
433
+
434
+ :host([popup-mode]) .control--popup {
435
+ display: inline-flex;
436
+ width: 100%;
437
+ max-width: 100%;
438
+ min-height: 0;
439
+ padding: 0;
440
+ border: 0;
441
+ border-radius: 0;
442
+ background: transparent;
443
+ gap: 0;
444
+ cursor: default;
445
+ }
446
+
447
+ :host([popup-mode]) .control--popup:hover:not(.is-disabled) {
448
+ background: transparent;
449
+ }
450
+
451
+ /* Popup mode paints chrome on the trigger / panel input — do not keep the
452
+ shared .control[data-popup-open] focus ring around the closed-state button. */
453
+ :host([popup-mode]) .control--popup[data-popup-open],
454
+ :host([popup-mode]) .control--popup[data-popup-open]:hover:not(.is-disabled),
455
+ :host([popup-mode]) .control--popup[data-popup-open]:focus-within:not(.is-disabled),
456
+ :host([popup-mode]:not([invalid]):not(:state(user-invalid))) .control--popup:focus-within,
457
+ :host([popup-mode]:not([invalid]):not(:state(user-invalid))[data-state='focus-visible']) .control--popup {
458
+ border: 0;
459
+ box-shadow: none;
460
+ background: transparent;
461
+ }
462
+
463
+ .popup-trigger {
464
+ display: inline-flex;
465
+ align-items: center;
466
+ justify-content: space-between;
467
+ gap: 0.75rem;
468
+ width: 100%;
469
+ min-width: 12rem;
470
+ max-width: 100%;
471
+ min-height: var(--pk-combobox-trigger-min-height);
472
+ margin: 0;
473
+ padding: var(--pk-combobox-padding-block) var(--pk-combobox-padding-inline);
474
+ border: 1px solid transparent;
475
+ border-radius: var(--pk-input-border-radius);
476
+ /* Match input-mode fill / v1 default Button — not a white outlined field. */
477
+ background: var(--pk-combobox-fill, var(--pk-color-slate-250));
478
+ color: var(--pk-color-gray-700);
479
+ font: inherit;
480
+ font-size: var(--pk-combobox-font-size);
481
+ font-weight: 400;
482
+ line-height: var(--pk-combobox-line-height);
483
+ text-align: left;
484
+ white-space: nowrap;
485
+ cursor: pointer;
486
+ outline: none;
487
+ box-sizing: border-box;
488
+ transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
489
+ }
490
+
491
+ .popup-trigger:hover:not(:disabled) {
492
+ background: var(--pk-combobox-fill-hover, var(--pk-color-slate-300));
493
+ }
494
+
495
+ .popup-trigger:active:not(:disabled),
496
+ .control--popup[data-popup-open] .popup-trigger:not(:disabled) {
497
+ background: var(--pk-combobox-fill-hover, var(--pk-color-slate-300));
498
+ }
499
+
500
+ .control--popup[data-popup-open] .popup-trigger:not(:disabled) {
501
+ border-color: transparent;
502
+ box-shadow: none;
503
+ }
504
+
505
+ .control--popup:not([data-popup-open]) .popup-trigger:focus-visible,
506
+ :host([data-state='focus-visible']) .control--popup:not([data-popup-open]) .popup-trigger {
507
+ border-color: var(--pk-color-sky-600);
508
+ box-shadow: var(--pk-input-focus-shadow);
509
+ background: var(--pk-color-white);
510
+ }
511
+
512
+ .popup-trigger:disabled {
513
+ cursor: not-allowed;
514
+ opacity: 0.5;
515
+ }
516
+
517
+ .popup-trigger-value {
518
+ flex: 1 1 auto;
519
+ min-width: 0;
520
+ overflow: hidden;
521
+ text-overflow: ellipsis;
522
+ }
523
+
524
+ .popup-trigger-value.is-placeholder {
525
+ /* Trigger label is button text, not an input placeholder — keep it readable. */
526
+ color: var(--pk-color-gray-700);
527
+ }
528
+
529
+ .popup-trigger-icon {
530
+ flex-shrink: 0;
531
+ display: inline-flex;
532
+ align-items: center;
533
+ line-height: 0;
534
+ }
535
+
536
+ .popup-trigger-icon svg {
537
+ display: block;
538
+ width: 0.75rem;
539
+ height: 0.75rem;
540
+ }
541
+
542
+ .panel-search {
543
+ flex: none;
544
+ padding: 0.25rem;
545
+ }
546
+
547
+ .panel-input {
548
+ display: block;
549
+ width: 100%;
550
+ min-width: 0;
551
+ margin: 0;
552
+ padding: 6px 8px;
553
+ border: var(--pk-input-border);
554
+ border-radius: var(--pk-input-border-radius);
555
+ background: color-mix(in srgb, var(--pk-input-bg) 30%, transparent);
556
+ color: var(--pk-color-gray-700);
557
+ font: inherit;
558
+ font-size: var(--pk-combobox-font-size);
559
+ line-height: 1.4;
560
+ outline: none;
561
+ box-sizing: border-box;
562
+ }
563
+
564
+ .panel-input::placeholder {
565
+ color: var(--pk-color-gray-400);
566
+ }
567
+
568
+ .panel-input:focus {
569
+ border-color: var(--pk-color-sky-600);
570
+ box-shadow: var(--pk-input-focus-shadow);
571
+ background: var(--pk-color-white);
572
+ }
573
+
574
+ :host([popup-mode][size='xs']) .popup-trigger-icon svg {
575
+ width: 0.625rem;
576
+ height: 0.625rem;
577
+ }
578
+
579
+ :host([popup-mode][size='xs']) .panel-input {
580
+ padding: 4px 8px;
581
+ font-size: 11px;
582
+ }
583
+
584
+ :host([popup-mode][size='sm']) .panel-input {
585
+ font-size: 12px;
586
+ }
587
+
588
+ :host([popup-mode][size='lg']) .panel-input {
589
+ padding-block: 8px;
590
+ padding-inline: 12px;
591
+ }
592
+
593
+ :host([popup-mode][width='full']) .popup-trigger {
594
+ width: 100%;
595
+ }
596
+
597
+ .panel:not([data-open]):not(.closing) {
598
+ opacity: 0;
599
+ pointer-events: none;
600
+ }
601
+
602
+ .panel[data-open]:not(.closing) {
603
+ opacity: 1;
604
+ pointer-events: auto;
605
+ }
606
+
607
+ .panel[hidden] {
608
+ display: none !important;
609
+ }
610
+
611
+ .empty {
612
+ display: flex;
613
+ align-items: center;
614
+ margin: 0;
615
+ min-height: var(--pk-select-item-min-height, var(--pk-input-height));
616
+ padding-block: var(--pk-select-item-padding-block);
617
+ padding-inline: var(--pk-select-item-padding-inline);
618
+ border: var(--pk-select-trigger-border-width, 1px) solid transparent;
619
+ box-sizing: border-box;
620
+ color: var(--pk-color-gray-500);
621
+ font-size: var(--pk-select-item-font-size);
622
+ line-height: var(--pk-select-item-line-height);
623
+ }
624
+
625
+ .async-status {
626
+ display: flex;
627
+ align-items: center;
628
+ margin: 0;
629
+ min-height: var(--pk-select-item-min-height, var(--pk-input-height));
630
+ padding-block: var(--pk-select-item-padding-block);
631
+ padding-inline: var(--pk-select-item-padding-inline);
632
+ border: var(--pk-select-trigger-border-width, 1px) solid transparent;
633
+ box-sizing: border-box;
634
+ color: var(--pk-color-gray-500);
635
+ font-size: var(--pk-select-item-font-size);
636
+ line-height: var(--pk-select-item-line-height);
637
+ }
638
+
639
+ :host([invalid]) .control,
640
+ :host(:state(user-invalid)) .control {
641
+ border-color: var(--pk-color-rose-600);
642
+ }
643
+
644
+ :host([multiple][invalid]) .control,
645
+ :host([multiple]:state(user-invalid)) .control {
646
+ border-color: var(--pk-color-rose-600);
647
+ }
648
+
649
+ :host([invalid]) .control:focus-within,
650
+ :host([invalid][data-state='focus-visible']) .control,
651
+ :host(:state(user-invalid)) .control:focus-within,
652
+ :host(:state(user-invalid)[data-state='focus-visible']) .control {
653
+ border-color: var(--pk-color-rose-600);
654
+ box-shadow: var(--pk-input-invalid-focus-shadow);
655
+ }
656
+
657
+ :host([size='xs']) {
658
+ --pk-combobox-min-height: 0;
659
+ --pk-combobox-trigger-min-height: var(--pk-btn-height-xs);
660
+ --pk-combobox-padding-block: 4px;
661
+ --pk-combobox-padding-inline: 8px;
662
+ --pk-combobox-font-size: 11px;
663
+ --pk-combobox-decoration-size: 0.625rem;
664
+ --pk-select-item-min-height: 0;
665
+ --pk-select-item-padding-block: 4px;
666
+ --pk-select-item-padding-inline: 8px;
667
+ --pk-select-item-padding-inline-end: 1.75rem;
668
+ --pk-select-item-font-size: 11px;
669
+ --pk-select-item-indicator-size: 0.75rem;
670
+ --pk-select-item-indicator-inset: 0.5rem;
671
+ /* v1 ComboboxLabel xs: text-[11px] */
672
+ --pk-select-group-label-font-size: 11px;
673
+ }
674
+
675
+ :host([size='xs']) .control {
676
+ border-radius: var(--pk-radius-sm);
677
+ }
678
+
679
+ :host([size='xs']) .icon svg,
680
+ :host([size='xs']) .clear-button-icon svg {
681
+ width: 0.625rem;
682
+ height: 0.625rem;
683
+ }
684
+
685
+ :host([size='sm']) {
686
+ --pk-combobox-min-height: 0;
687
+ --pk-combobox-trigger-min-height: var(--pk-btn-height-sm);
688
+ --pk-combobox-padding-block: 6px;
689
+ --pk-combobox-padding-inline: 10px;
690
+ --pk-combobox-font-size: 12px;
691
+ --pk-combobox-decoration-size: 0.6875rem;
692
+ --pk-select-item-min-height: 0;
693
+ --pk-select-item-padding-block: 6px;
694
+ --pk-select-item-padding-inline: 10px;
695
+ --pk-select-item-padding-inline-end: 1.75rem;
696
+ --pk-select-item-font-size: 12px;
697
+ --pk-select-item-indicator-inset: 0.625rem;
698
+ /* v1 ComboboxLabel sm: text-[12px] — empty dropzone field picker uses sm. */
699
+ --pk-select-group-label-font-size: 12px;
700
+ }
701
+
702
+ :host([size='sm']) .control {
703
+ border-radius: var(--pk-radius-md);
704
+ }
705
+
706
+ :host([size='sm']) .popup-trigger {
707
+ border-radius: var(--pk-radius-md);
708
+ }
709
+
710
+ :host([size='sm']) .icon svg,
711
+ :host([size='sm']) .clear-button-icon svg {
712
+ width: 0.6875rem;
713
+ height: 0.6875rem;
714
+ }
715
+
716
+ :host([size='lg']) {
717
+ --pk-combobox-trigger-min-height: var(--pk-btn-height-lg);
718
+ --pk-combobox-padding-block: 8px;
719
+ --pk-combobox-padding-inline: 12px;
720
+ --pk-combobox-font-size: var(--pk-font-size-base);
721
+ --pk-combobox-decoration-size: 1rem;
722
+ --pk-select-item-padding-block: 8px;
723
+ --pk-select-item-padding-inline: 12px;
724
+ --pk-select-item-font-size: 14px;
725
+ --pk-select-item-indicator-inset: 0.75rem;
726
+ /* v1 ComboboxLabel lg: text-sm → 14px */
727
+ --pk-select-group-label-font-size: 14px;
728
+ }
729
+
730
+ :host([size='xl']) {
731
+ --pk-combobox-trigger-min-height: var(--pk-btn-height-xl);
732
+ --pk-combobox-padding-block: 10px;
733
+ --pk-combobox-padding-inline: 14px;
734
+ --pk-combobox-font-size: var(--pk-font-size-base);
735
+ --pk-combobox-decoration-size: 1.125rem;
736
+ --pk-select-item-padding-block: 10px;
737
+ --pk-select-item-padding-inline: 14px;
738
+ --pk-select-item-padding-inline-end: 2.25rem;
739
+ --pk-select-item-font-size: 14px;
740
+ --pk-select-item-indicator-inset: 0.875rem;
741
+ /* v1 ComboboxLabel xl: text-base → 16px */
742
+ --pk-select-group-label-font-size: 16px;
743
+ }
744
+
745
+ :host([size='xl']) .icon svg,
746
+ :host([size='xl']) .clear-button-icon svg {
747
+ width: 0.875rem;
748
+ height: 0.875rem;
749
+ }
750
+ }
751
+ `];
752
+ //#endregion
753
+ //#region src/components/combobox/pk-combobox.ts
754
+ var CHEVRON_ICON = renderIconHtml(chevronDown);
755
+ var XMARK_ICON = renderIconHtml(xmark);
756
+ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
757
+ constructor(..._args) {
758
+ super(..._args);
759
+ this.assumeInteractionOn = ["blur", "input"];
760
+ this.open = false;
761
+ this.multiple = false;
762
+ this.placement = "bottom-start";
763
+ this.sideOffset = 6;
764
+ this.clearable = false;
765
+ this.withClear = false;
766
+ this.allowCreate = false;
767
+ this.allowCustomValue = false;
768
+ this.autoHighlight = false;
769
+ this.popupMode = false;
770
+ this.searchPlaceholder = "Search";
771
+ this.invalid = false;
772
+ this.size = "default";
773
+ this.placeholder = "";
774
+ this.emptyMessage = "No options found.";
775
+ this.value = "";
776
+ this.defaultValue = "";
777
+ this.values = [];
778
+ this.defaultValues = [];
779
+ this.label = "";
780
+ this.instructions = "";
781
+ this.ariaLabel = null;
782
+ this.loopFocus = true;
783
+ this.filter = null;
784
+ this.async = false;
785
+ this.loadingMessage = "Searching…";
786
+ this.startTypingMessage = "Start typing to search…";
787
+ this.fetchOptions = null;
788
+ this.hasSlotController = new HasSlotController(this, "start", "end");
789
+ this.listboxId = uniqueId("pk-combobox-listbox");
790
+ this.inputId = uniqueId("pk-combobox-input");
791
+ this.createOptionId = uniqueId("pk-combobox-create");
792
+ this.options = [];
793
+ this.inputValue = "";
794
+ this.hasInputSinceOpening = false;
795
+ this.highlightedIndex = -1;
796
+ this.createOptionHighlighted = false;
797
+ this.closing = false;
798
+ this.panelAnimated = false;
799
+ this.dismissRegistered = false;
800
+ this.panelEventTarget = null;
801
+ this.asyncFetchRequestId = 0;
802
+ this.selectedOptionMeta = null;
803
+ this.asyncLoading = false;
804
+ this.asyncError = null;
805
+ this.handleOptionsMutation = (options = {}) => {
806
+ const next = this.getOptionElements();
807
+ const changed = next.length !== this.options.length || next.some((option, index) => option !== this.options[index]);
808
+ this.options = next;
809
+ this.applySelection();
810
+ if (options.render !== false && changed) this.requestUpdate();
811
+ };
812
+ this.syncOptions = () => {
813
+ this.handleOptionsMutation({ render: true });
814
+ };
815
+ this.togglePanel = (event) => {
816
+ event?.preventDefault();
817
+ event?.stopPropagation();
818
+ if (this.disabled) return;
819
+ if (this.open || this.closing) this.closePanel("api");
820
+ else this.openPanel();
821
+ };
822
+ this.onDocumentPointerDown = (event) => {
823
+ if (this.isPointerInside(event)) return;
824
+ this.closePanel("light-dismiss");
825
+ };
826
+ this.onDocumentKeyDown = (event) => {
827
+ if (!this.open) return;
828
+ if (event.key === "Escape") {
829
+ if (!isTopDismissible(this)) return;
830
+ event.preventDefault();
831
+ event.stopPropagation();
832
+ this.closePanel("escape");
833
+ return;
834
+ }
835
+ const panelInput = this.panelInput;
836
+ if (panelInput && event.composedPath().includes(panelInput)) return;
837
+ if (!(LISTBOX_NAVIGATION_KEYS.has(event.key) || isListboxTypeToSelectKey(event))) return;
838
+ const panel = this.panelElement;
839
+ const path = event.composedPath();
840
+ if (!Boolean(panel && path.includes(panel))) return;
841
+ if (!isEventInsideOverlay(event, {
842
+ anchor: this.controlElement,
843
+ panel
844
+ })) return;
845
+ event.preventDefault();
846
+ event.stopPropagation();
847
+ this.onListboxKeyDown(event);
848
+ };
849
+ this.handleOptionSelect = (event) => {
850
+ const { value } = event.detail;
851
+ if (this.multiple) {
852
+ this.values = this.values.includes(value) ? this.values.filter((item) => item !== value) : [...this.values, value];
853
+ this.inputValue = "";
854
+ this.applySelection();
855
+ this.emitValueChange();
856
+ this.activeInput?.focus({ preventScroll: true });
857
+ return;
858
+ }
859
+ this.value = value;
860
+ this.syncSelectedOptionMeta();
861
+ this.applySelection();
862
+ this.closePanel("api");
863
+ this.emitValueChange();
864
+ };
865
+ this.handleOptionHighlight = (event) => {
866
+ if (!this.open) return;
867
+ const index = this.getEnabledVisibleOptions().findIndex((option) => option.value === event.detail.value);
868
+ if (index === -1 || index === this.highlightedIndex) return;
869
+ this.highlightedIndex = index;
870
+ this.syncHighlight();
871
+ };
872
+ this.handleControlMouseDown = (event) => {
873
+ if (this.disabled || this.usesPopupMode) return;
874
+ if (event.composedPath().some((node) => {
875
+ if (!(node instanceof HTMLElement)) return false;
876
+ return node.classList.contains("icon-button") || node.classList.contains("clear-button") || node.classList.contains("tag-remove");
877
+ })) return;
878
+ const isInput = event.target === this.activeInput;
879
+ if (!this.open && !this.closing) {
880
+ if (!isInput) event.preventDefault();
881
+ this.activeInput?.focus({ preventScroll: true });
882
+ this.openPanel();
883
+ return;
884
+ }
885
+ if (!isInput) {
886
+ event.preventDefault();
887
+ this.activeInput?.focus({ preventScroll: true });
888
+ }
889
+ };
890
+ this.handleTriggerKeyDown = (event) => {
891
+ if (this.disabled) return;
892
+ if (event.key === "Enter" || event.key === " ") {
893
+ event.preventDefault();
894
+ this.togglePanel(event);
895
+ return;
896
+ }
897
+ if (event.key === "ArrowDown" && !this.open) {
898
+ event.preventDefault();
899
+ this.openPanel();
900
+ }
901
+ };
902
+ this.handleListboxKeyDownEvent = (event) => {
903
+ if (!this.open) return;
904
+ this.onListboxKeyDown(event.detail.keyboardEvent);
905
+ };
906
+ this.handleCreateMouseEnter = () => {
907
+ if (!this.open) return;
908
+ const enabled = this.getEnabledVisibleOptions();
909
+ this.highlightedIndex = enabled.length;
910
+ this.syncHighlight();
911
+ };
912
+ this.handleCreateKeyDown = (event) => {
913
+ event.preventDefault();
914
+ event.stopPropagation();
915
+ this.onListboxKeyDown(event);
916
+ };
917
+ }
918
+ static {
919
+ this.styles = pkComboboxStyles;
920
+ }
921
+ static get validators() {
922
+ return [
923
+ ...super.validators,
924
+ MirrorValidator(),
925
+ {
926
+ observedAttributes: ["required"],
927
+ checkValidity: (element) => {
928
+ const combobox = element;
929
+ const result = {
930
+ message: "Please select an item in the list.",
931
+ isValid: true,
932
+ invalidKeys: []
933
+ };
934
+ if (!combobox.required) return result;
935
+ if (!(combobox.multiple ? combobox.values.length === 0 : !combobox.value)) return result;
936
+ result.isValid = false;
937
+ result.invalidKeys.push("valueMissing");
938
+ return result;
939
+ }
940
+ }
941
+ ];
942
+ }
943
+ get panelElement() {
944
+ return this.popupElement?.getContentElement() ?? null;
945
+ }
946
+ get panelInput() {
947
+ return this.panelElement?.querySelector(".panel-input");
948
+ }
949
+ get panelBodyElement() {
950
+ return this.panelElement?.querySelector(".panel-body");
951
+ }
952
+ get usesPopupMode() {
953
+ return this.popupMode && !this.multiple;
954
+ }
955
+ get activeInput() {
956
+ return this.usesPopupMode ? this.panelInput : this.controlInput;
957
+ }
958
+ /** Combobox keeps focus on the text field and uses `aria-activedescendant` for highlight. */
959
+ keepsFocusOnInput() {
960
+ return Boolean(this.activeInput);
961
+ }
962
+ maintainInputFocus() {
963
+ this.activeInput?.focus({ preventScroll: true });
964
+ }
965
+ get listScrollContainer() {
966
+ return this.panelBodyElement ?? this.panelElement ?? this;
967
+ }
968
+ connectedCallback() {
969
+ this.instructions = this.getAttribute("hint") ?? this.instructions;
970
+ this.refreshOptions();
971
+ super.connectedCallback();
972
+ this.syncHasValueAttribute();
973
+ this.addEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
974
+ this.optionsObserver = new MutationObserver(() => {
975
+ this.handleOptionsMutation({ render: true });
976
+ });
977
+ this.optionsObserver.observe(this, {
978
+ childList: true,
979
+ subtree: true
980
+ });
981
+ }
982
+ disconnectedCallback() {
983
+ this.unbindPanelEvents();
984
+ this.removeEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
985
+ this.optionsObserver?.disconnect();
986
+ this.liveRegion?.destroy();
987
+ this.liveRegion = void 0;
988
+ window.clearTimeout(this.asyncFetchTimer);
989
+ this.fetchAbortController?.abort();
990
+ this.closePanel("api");
991
+ super.disconnectedCallback();
992
+ }
993
+ updated(changed) {
994
+ if (changed.has("value") || changed.has("values") || changed.has("multiple")) {
995
+ this.syncHasValueAttribute();
996
+ this.syncSelectedOptionMeta();
997
+ this.applySelection();
998
+ }
999
+ super.updated(changed);
1000
+ }
1001
+ get validationTarget() {
1002
+ return this.activeInput ?? this.popupTrigger ?? this.controlElement;
1003
+ }
1004
+ getAriaMirrorTarget() {
1005
+ return this.activeInput ?? this.popupTrigger ?? this.controlElement ?? null;
1006
+ }
1007
+ syncFormValue() {
1008
+ if (!this.name) {
1009
+ this.setFormValue(null);
1010
+ return;
1011
+ }
1012
+ if (this.multiple) {
1013
+ const formData = new FormData();
1014
+ for (const item of this.values) formData.append(this.name, item);
1015
+ this.setFormValue(formData);
1016
+ return;
1017
+ }
1018
+ this.setFormValue(this.value || "");
1019
+ }
1020
+ resetToDefaultValue() {
1021
+ if (this.multiple) this.values = [...this.defaultValues];
1022
+ else this.value = this.defaultValue;
1023
+ this.inputValue = "";
1024
+ this.applySelection();
1025
+ }
1026
+ restoreFormState(state) {
1027
+ if (state instanceof FormData && this.name) {
1028
+ this.values = state.getAll(this.name).map(String);
1029
+ return;
1030
+ }
1031
+ if (typeof state === "string") this.value = state;
1032
+ }
1033
+ syncHasValueAttribute() {
1034
+ this.toggleAttribute("data-has-value", this.hasSelection());
1035
+ }
1036
+ getOptionElements() {
1037
+ const portaled = this.popupElement?.getContentElement()?.querySelectorAll("pk-option");
1038
+ if (portaled && portaled.length > 0) return [...portaled];
1039
+ return [...this.querySelectorAll("pk-option")];
1040
+ }
1041
+ refreshOptions() {
1042
+ this.handleOptionsMutation({ render: false });
1043
+ }
1044
+ /** Portaled listbox options are outside the host tree — listen on the panel instead. */
1045
+ bindPanelEvents() {
1046
+ const panel = this.panelElement;
1047
+ if (!panel || panel === this.panelEventTarget) return;
1048
+ this.unbindPanelEvents();
1049
+ this.panelEventTarget = panel;
1050
+ panel.addEventListener("pk-option-select", this.handleOptionSelect);
1051
+ panel.addEventListener("pk-option-highlight", this.handleOptionHighlight);
1052
+ panel.addEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
1053
+ }
1054
+ unbindPanelEvents() {
1055
+ if (!this.panelEventTarget) return;
1056
+ this.panelEventTarget.removeEventListener("pk-option-select", this.handleOptionSelect);
1057
+ this.panelEventTarget.removeEventListener("pk-option-highlight", this.handleOptionHighlight);
1058
+ this.panelEventTarget.removeEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
1059
+ this.panelEventTarget = null;
1060
+ }
1061
+ isOptionInHiddenGroup(option) {
1062
+ const group = option.closest("pk-option-group");
1063
+ return Boolean(group?.hidden);
1064
+ }
1065
+ defaultFilter(option, query) {
1066
+ const label = option.getLabel().toLowerCase();
1067
+ const value = option.value.toLowerCase();
1068
+ const searchText = (option.getSearchText?.() ?? label).toLowerCase();
1069
+ return label.includes(query) || value.includes(query) || searchText.includes(query);
1070
+ }
1071
+ matchesFilter(option, query) {
1072
+ if (this.filter) return this.filter(option, query);
1073
+ return this.defaultFilter(option, query);
1074
+ }
1075
+ getFilterQuery() {
1076
+ if (!this.open) return "";
1077
+ if (!this.multiple && !this.hasInputSinceOpening && !this.usesPopupMode) return "";
1078
+ return this.inputValue.trim().toLowerCase();
1079
+ }
1080
+ getVisibleOptions() {
1081
+ if (this.usesAsyncSearch) return this.options.filter((option) => !this.isOptionInHiddenGroup(option));
1082
+ const filter = this.getFilterQuery();
1083
+ return this.options.filter((option) => {
1084
+ if (this.isOptionInHiddenGroup(option)) return false;
1085
+ if (!filter) return true;
1086
+ return this.matchesFilter(option, filter);
1087
+ });
1088
+ }
1089
+ getEnabledVisibleOptions() {
1090
+ return this.getVisibleOptions().filter((option) => !option.disabled);
1091
+ }
1092
+ getSelectedOptions() {
1093
+ if (this.multiple) {
1094
+ const optionsByValue = new Map(this.options.map((option) => [option.value, option]));
1095
+ return this.values.map((value) => optionsByValue.get(value)).filter((option) => option !== void 0);
1096
+ }
1097
+ const selected = this.options.find((option) => option.value === this.value);
1098
+ return selected ? [selected] : [];
1099
+ }
1100
+ getSelectedOption() {
1101
+ return this.options.find((option) => option.value === this.value);
1102
+ }
1103
+ get usesAsyncSearch() {
1104
+ return this.async && Boolean(this.fetchOptions) && !this.multiple && !this.usesPopupMode;
1105
+ }
1106
+ getSelectedLabel() {
1107
+ return this.getSelectedOption()?.getLabel() ?? this.selectedOptionMeta?.label ?? this.value;
1108
+ }
1109
+ clearAsyncOptionNodes() {
1110
+ this.querySelectorAll(":scope > pk-option, :scope > pk-option-group, :scope > pk-separator").forEach((node) => node.remove());
1111
+ }
1112
+ renderAsyncOptionNodes(items) {
1113
+ const merged = this.mergeAsyncItems(items);
1114
+ this.clearAsyncOptionNodes();
1115
+ for (const item of merged) {
1116
+ const option = document.createElement("pk-option");
1117
+ option.value = item.value;
1118
+ option.textContent = item.label;
1119
+ this.append(option);
1120
+ }
1121
+ this.handleOptionsMutation({ render: true });
1122
+ }
1123
+ mergeAsyncItems(items) {
1124
+ if (!this.value) return items;
1125
+ const selected = this.selectedOptionMeta ?? {
1126
+ value: this.value,
1127
+ label: this.getSelectedOption()?.getLabel() ?? this.value
1128
+ };
1129
+ if (items.some((item) => item.value === selected.value)) return items;
1130
+ return [...items, selected];
1131
+ }
1132
+ syncSelectedOptionMeta() {
1133
+ if (!this.value) {
1134
+ this.selectedOptionMeta = null;
1135
+ return;
1136
+ }
1137
+ const selected = this.getSelectedOption();
1138
+ if (selected) this.selectedOptionMeta = {
1139
+ value: selected.value,
1140
+ label: selected.getLabel()
1141
+ };
1142
+ }
1143
+ scheduleAsyncFetch(query) {
1144
+ window.clearTimeout(this.asyncFetchTimer);
1145
+ this.asyncFetchTimer = window.setTimeout(() => {
1146
+ this.runAsyncFetch(query);
1147
+ }, 200);
1148
+ }
1149
+ async runAsyncFetch(query) {
1150
+ if (!this.fetchOptions) return;
1151
+ const requestId = ++this.asyncFetchRequestId;
1152
+ this.fetchAbortController?.abort();
1153
+ this.fetchAbortController = new AbortController();
1154
+ if (!query) {
1155
+ this.asyncLoading = false;
1156
+ this.asyncError = null;
1157
+ this.renderAsyncOptionNodes(this.value && this.selectedOptionMeta ? [this.selectedOptionMeta] : []);
1158
+ return;
1159
+ }
1160
+ this.asyncLoading = true;
1161
+ this.asyncError = null;
1162
+ try {
1163
+ const results = await this.fetchOptions(query, this.fetchAbortController.signal);
1164
+ if (requestId !== this.asyncFetchRequestId) return;
1165
+ this.renderAsyncOptionNodes(results);
1166
+ } catch (error) {
1167
+ if (this.fetchAbortController?.signal.aborted || requestId !== this.asyncFetchRequestId) return;
1168
+ if (error instanceof DOMException && error.name === "AbortError") return;
1169
+ console.error("Failed to load combobox options:", error);
1170
+ this.asyncError = "Failed to load options. Please try again.";
1171
+ this.renderAsyncOptionNodes([]);
1172
+ } finally {
1173
+ if (requestId === this.asyncFetchRequestId) this.asyncLoading = false;
1174
+ }
1175
+ }
1176
+ getAsyncStatusMessage() {
1177
+ if (!this.usesAsyncSearch || !this.open) return null;
1178
+ if (this.asyncLoading) return this.loadingMessage;
1179
+ if (this.asyncError) return this.asyncError;
1180
+ const query = this.inputValue.trim();
1181
+ if (!query) return this.value ? null : this.startTypingMessage;
1182
+ if (this.getEnabledVisibleOptions().length === 0 && !this.shouldShowCreateOption()) return `No matches for "${query}".`;
1183
+ return null;
1184
+ }
1185
+ shouldShowAsyncEmpty() {
1186
+ if (!this.usesAsyncSearch || !this.open) return false;
1187
+ if (!this.inputValue.trim() || this.asyncLoading || this.asyncError) return false;
1188
+ return this.getEnabledVisibleOptions().length === 0 && !this.shouldShowCreateOption();
1189
+ }
1190
+ isSelected(value) {
1191
+ if (this.multiple) return this.values.includes(value);
1192
+ return this.value === value;
1193
+ }
1194
+ getDisplayInputValue() {
1195
+ if (this.usesPopupMode || this.multiple || this.open) return this.inputValue;
1196
+ return this.hasSelection() ? this.getSelectedLabel() : "";
1197
+ }
1198
+ getTriggerDisplayValue() {
1199
+ return this.hasSelection() ? this.getSelectedLabel() : this.placeholder;
1200
+ }
1201
+ isTriggerPlaceholder() {
1202
+ return !this.hasSelection();
1203
+ }
1204
+ hasSelection() {
1205
+ if (this.multiple) return this.values.length > 0;
1206
+ return Boolean(this.getSelectedOption() || this.selectedOptionMeta || this.value);
1207
+ }
1208
+ shouldShowCreateOption() {
1209
+ if (!this.allowCreate || !this.open) return false;
1210
+ if (!this.multiple && !this.hasInputSinceOpening) return false;
1211
+ const query = this.inputValue.trim();
1212
+ if (!query) return false;
1213
+ const normalized = query.toLowerCase();
1214
+ return !this.options.some((option) => {
1215
+ return option.getLabel().toLowerCase() === normalized || option.value.toLowerCase() === normalized;
1216
+ });
1217
+ }
1218
+ getListboxNavItems() {
1219
+ const enabled = this.getEnabledVisibleOptions();
1220
+ if (this.shouldShowCreateOption() && this.createOptionElement) return [...enabled, this.createOptionElement];
1221
+ return enabled;
1222
+ }
1223
+ applySelection() {
1224
+ const visible = this.getVisibleOptions();
1225
+ const filterQuery = this.open ? this.getFilterQuery() : "";
1226
+ for (const option of this.options) {
1227
+ option.selected = this.isSelected(option.value);
1228
+ option.hidden = !visible.includes(option);
1229
+ option.optionId = `${this.listboxId}-option-${option.value}`;
1230
+ option.matchQuery = filterQuery;
1231
+ }
1232
+ for (const group of this.querySelectorAll("pk-option-group")) {
1233
+ const groupOptions = [...group.querySelectorAll("pk-option")];
1234
+ const filterEmpty = groupOptions.length > 0 && groupOptions.every((option) => option.hidden);
1235
+ group.toggleAttribute("data-pk-filter-empty", filterEmpty);
1236
+ }
1237
+ syncListboxSeparators(this);
1238
+ this.syncValueInput();
1239
+ if (this.open) {
1240
+ this.syncHighlight();
1241
+ this.announceFilterResults();
1242
+ }
1243
+ }
1244
+ syncValueInput() {
1245
+ if (!this.input) return;
1246
+ this.input.value = this.multiple ? this.values.join(",") : this.value;
1247
+ this.input.required = this.required;
1248
+ }
1249
+ syncHighlightedIndexToSelection() {
1250
+ if (this.multiple) return;
1251
+ const enabled = this.getEnabledVisibleOptions();
1252
+ if (!this.value || enabled.length === 0) return;
1253
+ const selectedIndex = enabled.findIndex((option) => option.value === this.value);
1254
+ if (selectedIndex >= 0) this.highlightedIndex = selectedIndex;
1255
+ }
1256
+ resetHighlightedIndexOnOpen() {
1257
+ if (this.autoHighlight) {
1258
+ if (this.value) {
1259
+ this.syncHighlightedIndexToSelection();
1260
+ return;
1261
+ }
1262
+ this.highlightedIndex = 0;
1263
+ return;
1264
+ }
1265
+ this.highlightedIndex = -1;
1266
+ }
1267
+ syncHighlight() {
1268
+ const enabled = this.getEnabledVisibleOptions();
1269
+ const showCreate = this.shouldShowCreateOption();
1270
+ const totalItems = enabled.length + (showCreate ? 1 : 0);
1271
+ for (const option of this.options) {
1272
+ option.highlighted = false;
1273
+ option.focusIndex = -1;
1274
+ }
1275
+ this.createOptionHighlighted = false;
1276
+ if (totalItems === 0 || this.highlightedIndex < 0) return;
1277
+ if (this.highlightedIndex >= totalItems) this.highlightedIndex = totalItems - 1;
1278
+ if (showCreate && this.highlightedIndex === enabled.length) {
1279
+ this.createOptionHighlighted = true;
1280
+ if (!this.keepsFocusOnInput()) this.createOptionElement?.focus({ preventScroll: true });
1281
+ scrollIntoView(this.createOptionElement, this.listScrollContainer, "vertical", "auto");
1282
+ if (this.keepsFocusOnInput()) this.maintainInputFocus();
1283
+ return;
1284
+ }
1285
+ const highlighted = enabled[this.highlightedIndex];
1286
+ if (highlighted) {
1287
+ highlighted.highlighted = true;
1288
+ highlighted.focusIndex = this.keepsFocusOnInput() ? -1 : 0;
1289
+ scrollIntoView(highlighted, this.listScrollContainer, "vertical", "auto");
1290
+ if (this.keepsFocusOnInput()) this.maintainInputFocus();
1291
+ }
1292
+ }
1293
+ getActiveDescendantId() {
1294
+ const enabled = this.getEnabledVisibleOptions();
1295
+ if (this.shouldShowCreateOption() && this.highlightedIndex === enabled.length) return this.createOptionId;
1296
+ return enabled[this.highlightedIndex]?.optionId || null;
1297
+ }
1298
+ announceFilterResults() {
1299
+ if (!this.liveRegion) this.liveRegion = new LiveRegion("polite");
1300
+ const count = this.getEnabledVisibleOptions().length;
1301
+ const filter = this.getFilterQuery();
1302
+ if (!filter) return;
1303
+ if (this.shouldShowCreateOption()) {
1304
+ this.liveRegion.announce(`Create ${filter}`);
1305
+ return;
1306
+ }
1307
+ this.liveRegion.announce(count === 0 ? `${this.emptyMessage}` : `${count} ${count === 1 ? "result" : "results"} available`);
1308
+ }
1309
+ async show() {
1310
+ if (this.open || this.closing || this.disabled) return;
1311
+ await this.openPanel();
1312
+ }
1313
+ async hide(source = "api") {
1314
+ if (!this.open || this.closing) return;
1315
+ await this.closePanel(source);
1316
+ }
1317
+ openPanel() {
1318
+ const anchor = this.controlElement;
1319
+ if (!anchor) return Promise.resolve();
1320
+ if (this.open) {
1321
+ this.activeInput?.focus({ preventScroll: true });
1322
+ return Promise.resolve();
1323
+ }
1324
+ if (this.closing) return Promise.resolve();
1325
+ this.dispatchEvent(new PkShowEvent());
1326
+ this.closing = false;
1327
+ this.panelAnimated = false;
1328
+ this.open = true;
1329
+ this.hasInputSinceOpening = false;
1330
+ this.inputValue = this.usesPopupMode ? "" : !this.multiple && this.hasSelection() ? this.getSelectedLabel() : "";
1331
+ this.applySelection();
1332
+ this.resetHighlightedIndexOnOpen();
1333
+ if (this.usesAsyncSearch) {
1334
+ this.syncSelectedOptionMeta();
1335
+ this.asyncError = null;
1336
+ this.asyncLoading = false;
1337
+ this.renderAsyncOptionNodes(this.selectedOptionMeta ? [this.selectedOptionMeta] : []);
1338
+ }
1339
+ const anchorWidth = anchor.getBoundingClientRect().width;
1340
+ this.style.setProperty("--pk-combobox-anchor-width", `${anchorWidth}px`);
1341
+ this.popupElement.active = true;
1342
+ if (this.panelElement) {
1343
+ this.panelElement.hidden = false;
1344
+ syncPopupPlacementAnimation(this.panelElement, this.placement);
1345
+ }
1346
+ this.registerDismissHandlers();
1347
+ this.syncHighlight();
1348
+ if (this.usesPopupMode) this.popupTrigger?.blur();
1349
+ else this.activeInput?.focus({ preventScroll: true });
1350
+ return this.updateComplete.then(async () => {
1351
+ const placement = await waitForPopupReposition(this.popupElement, this.placement, 300, { requireEvent: true });
1352
+ if (this.panelElement) syncPopupPlacementAnimation(this.panelElement, placement);
1353
+ this.panelAnimated = true;
1354
+ this.bindPanelEvents();
1355
+ this.refreshOptions();
1356
+ this.activeInput?.focus({ preventScroll: true });
1357
+ if (this.highlightedIndex >= 0 && !this.keepsFocusOnInput()) {
1358
+ const enabled = this.getEnabledVisibleOptions();
1359
+ const index = this.highlightedIndex;
1360
+ if (this.shouldShowCreateOption() && index === enabled.length) this.createOptionElement?.focus({ preventScroll: true });
1361
+ else enabled[index]?.focusControl();
1362
+ }
1363
+ this.dispatchEvent(new PkAfterShowEvent());
1364
+ this.dispatchEvent(new CustomEvent("pk-open-change", {
1365
+ detail: { open: true },
1366
+ bubbles: true,
1367
+ composed: true
1368
+ }));
1369
+ });
1370
+ }
1371
+ commitCustomValueIfAllowed() {
1372
+ if (this.multiple || !this.allowCustomValue) return false;
1373
+ const query = this.inputValue.trim();
1374
+ if (!query) return false;
1375
+ const nextValue = this.options.find((option) => {
1376
+ return option.getLabel().toLowerCase() === query.toLowerCase() || option.value.toLowerCase() === query.toLowerCase();
1377
+ })?.value ?? query;
1378
+ if (this.value === nextValue) return false;
1379
+ this.value = nextValue;
1380
+ return true;
1381
+ }
1382
+ commitInputOnClose(source) {
1383
+ if (this.multiple || this.usesPopupMode) return false;
1384
+ if (!this.hasInputSinceOpening) {
1385
+ if (this.shouldCommitCustomValueOnClose(source)) return this.commitCustomValueIfAllowed();
1386
+ return false;
1387
+ }
1388
+ if (!this.inputValue.trim()) {
1389
+ if (!this.value) return false;
1390
+ this.value = "";
1391
+ return true;
1392
+ }
1393
+ if (this.shouldCommitCustomValueOnClose(source)) return this.commitCustomValueIfAllowed();
1394
+ return false;
1395
+ }
1396
+ shouldCommitCustomValueOnClose(source) {
1397
+ return source === "light-dismiss" || source === "pointer-dismiss";
1398
+ }
1399
+ async closePanel(source = "unknown") {
1400
+ if (!this.open || this.closing) return;
1401
+ const hideEvent = new PkHideEvent(source);
1402
+ if (!this.dispatchEvent(hideEvent)) return;
1403
+ const valueChanged = this.commitInputOnClose(source);
1404
+ this.unbindPanelEvents();
1405
+ this.closing = true;
1406
+ this.panelAnimated = false;
1407
+ await this.waitForExitAnimation();
1408
+ this.open = false;
1409
+ this.closing = false;
1410
+ this.panelAnimated = false;
1411
+ this.hasInputSinceOpening = false;
1412
+ this.inputValue = "";
1413
+ if (this.panelElement) {
1414
+ this.panelElement.hidden = true;
1415
+ this.panelElement.removeAttribute("data-side");
1416
+ }
1417
+ this.popupElement.active = false;
1418
+ this.unregisterDismissHandlers();
1419
+ this.applySelection();
1420
+ if (this.usesAsyncSearch) {
1421
+ window.clearTimeout(this.asyncFetchTimer);
1422
+ this.fetchAbortController?.abort();
1423
+ this.asyncLoading = false;
1424
+ this.asyncError = null;
1425
+ this.renderAsyncOptionNodes(this.selectedOptionMeta ? [this.selectedOptionMeta] : []);
1426
+ }
1427
+ if (valueChanged) {
1428
+ this.syncHasValueAttribute();
1429
+ this.emitValueChange();
1430
+ }
1431
+ if (this.shouldReturnFocusToInput(source)) if (this.usesPopupMode) this.popupTrigger?.focus({ preventScroll: true });
1432
+ else this.activeInput?.focus({ preventScroll: true });
1433
+ else {
1434
+ this.activeInput?.blur();
1435
+ this.popupTrigger?.blur();
1436
+ }
1437
+ this.dispatchEvent(new PkAfterHideEvent());
1438
+ this.dispatchEvent(new CustomEvent("pk-open-change", {
1439
+ detail: { open: false },
1440
+ bubbles: true,
1441
+ composed: true
1442
+ }));
1443
+ }
1444
+ waitForExitAnimation() {
1445
+ const panel = this.panelElement;
1446
+ if (!panel) return Promise.resolve();
1447
+ return new Promise((resolve) => {
1448
+ let settled = false;
1449
+ const finish = () => {
1450
+ if (settled) return;
1451
+ settled = true;
1452
+ panel.removeEventListener("animationend", onAnimationEnd);
1453
+ window.clearTimeout(fallback);
1454
+ panel.classList.remove("closing");
1455
+ resolve();
1456
+ };
1457
+ const onAnimationEnd = (event) => {
1458
+ if (event.target === panel && event.animationName.startsWith("pk-popup-content-out")) finish();
1459
+ };
1460
+ panel.classList.add("closing");
1461
+ panel.addEventListener("animationend", onAnimationEnd);
1462
+ const fallback = window.setTimeout(finish, 150);
1463
+ });
1464
+ }
1465
+ shouldReturnFocusToInput(source) {
1466
+ return source !== "light-dismiss" && source !== "pointer-dismiss";
1467
+ }
1468
+ registerDismissHandlers() {
1469
+ registerDismissible(this);
1470
+ this.dismissRegistered = true;
1471
+ document.addEventListener("pointerdown", this.onDocumentPointerDown, true);
1472
+ document.addEventListener("keydown", this.onDocumentKeyDown, true);
1473
+ }
1474
+ unregisterDismissHandlers() {
1475
+ if (this.dismissRegistered) {
1476
+ unregisterDismissible(this);
1477
+ this.dismissRegistered = false;
1478
+ }
1479
+ document.removeEventListener("pointerdown", this.onDocumentPointerDown, true);
1480
+ document.removeEventListener("keydown", this.onDocumentKeyDown, true);
1481
+ }
1482
+ isPointerInside(event) {
1483
+ return isPointerInsideOverlay(event, {
1484
+ anchor: this.controlElement,
1485
+ panel: this.panelElement
1486
+ });
1487
+ }
1488
+ handleCreateOption() {
1489
+ const query = this.inputValue.trim();
1490
+ if (!query) return;
1491
+ const createEvent = new PkCreateEvent(query);
1492
+ if (!this.dispatchEvent(createEvent)) return;
1493
+ const option = document.createElement("pk-option");
1494
+ option.value = query;
1495
+ option.textContent = query;
1496
+ this.append(option);
1497
+ if (this.multiple) {
1498
+ if (!this.values.includes(query)) this.values = [...this.values, query];
1499
+ this.inputValue = "";
1500
+ this.applySelection();
1501
+ this.emitValueChange();
1502
+ this.activeInput?.focus({ preventScroll: true });
1503
+ return;
1504
+ }
1505
+ this.value = query;
1506
+ this.applySelection();
1507
+ this.closePanel("api");
1508
+ this.emitValueChange();
1509
+ }
1510
+ removeTag(value, event) {
1511
+ event.preventDefault();
1512
+ event.stopPropagation();
1513
+ this.values = this.values.filter((item) => item !== value);
1514
+ this.applySelection();
1515
+ this.emitValueChange();
1516
+ this.activeInput?.focus({ preventScroll: true });
1517
+ }
1518
+ handleClear(event) {
1519
+ event.preventDefault();
1520
+ event.stopPropagation();
1521
+ if (this.multiple) this.values = [];
1522
+ else this.value = "";
1523
+ this.inputValue = "";
1524
+ this.selectedOptionMeta = null;
1525
+ if (this.usesAsyncSearch) this.renderAsyncOptionNodes([]);
1526
+ this.applySelection();
1527
+ this.dispatchEvent(new PkClearEvent());
1528
+ this.emitValueChange();
1529
+ this.activeInput?.focus();
1530
+ }
1531
+ emitValueChange() {
1532
+ this.dispatchEvent(new CustomEvent("pk-change", {
1533
+ detail: { value: this.multiple ? [...this.values] : this.value },
1534
+ bubbles: true,
1535
+ composed: true
1536
+ }));
1537
+ this.dispatchEvent(new Event("input", {
1538
+ bubbles: true,
1539
+ composed: true
1540
+ }));
1541
+ this.dispatchEvent(new Event("change", {
1542
+ bubbles: true,
1543
+ composed: true
1544
+ }));
1545
+ }
1546
+ handleInput(event) {
1547
+ this.hasInputSinceOpening = true;
1548
+ this.inputValue = event.target.value;
1549
+ this.highlightedIndex = this.autoHighlight ? 0 : -1;
1550
+ this.applySelection();
1551
+ if (this.usesAsyncSearch) {
1552
+ this.asyncError = null;
1553
+ this.scheduleAsyncFetch(this.inputValue.trim());
1554
+ }
1555
+ if (!this.open) this.openPanel();
1556
+ }
1557
+ handleInputKeyDown(event) {
1558
+ if (event.key === "Backspace" && this.multiple && !this.inputValue && this.values.length > 0) {
1559
+ event.preventDefault();
1560
+ this.values = this.values.slice(0, -1);
1561
+ this.applySelection();
1562
+ this.emitValueChange();
1563
+ return;
1564
+ }
1565
+ if (event.key === "Escape" && this.open) {
1566
+ event.preventDefault();
1567
+ if (this.hasInputSinceOpening && this.inputValue) {
1568
+ this.hasInputSinceOpening = false;
1569
+ this.inputValue = this.usesPopupMode ? "" : !this.multiple && this.hasSelection() ? this.getSelectedLabel() : "";
1570
+ this.highlightedIndex = this.autoHighlight ? 0 : -1;
1571
+ this.applySelection();
1572
+ return;
1573
+ }
1574
+ this.closePanel("escape");
1575
+ return;
1576
+ }
1577
+ if (event.key === "ArrowDown" && !this.open) {
1578
+ event.preventDefault();
1579
+ this.openPanel();
1580
+ return;
1581
+ }
1582
+ if (event.key === "Tab" && this.open) {
1583
+ let committed = false;
1584
+ if (!this.multiple) committed = this.commitCustomValueIfAllowed();
1585
+ this.closePanel("api");
1586
+ if (committed) {
1587
+ this.syncHasValueAttribute();
1588
+ this.emitValueChange();
1589
+ }
1590
+ return;
1591
+ }
1592
+ if (this.open && event.key === "Enter" && !this.multiple) {
1593
+ if (this.getEnabledVisibleOptions().length === 0 && this.allowCustomValue && this.inputValue.trim() && !this.shouldShowCreateOption()) {
1594
+ event.preventDefault();
1595
+ const committed = this.commitCustomValueIfAllowed();
1596
+ this.closePanel("api");
1597
+ if (committed) {
1598
+ this.syncHasValueAttribute();
1599
+ this.emitValueChange();
1600
+ }
1601
+ return;
1602
+ }
1603
+ }
1604
+ if (!this.open) return;
1605
+ this.onListboxKeyDown(event);
1606
+ }
1607
+ onListboxKeyDown(event) {
1608
+ const navItems = this.getListboxNavItems();
1609
+ const enabled = this.getEnabledVisibleOptions();
1610
+ if (this.highlightedIndex < 0) {
1611
+ if (event.key === "ArrowDown" || event.key === "ArrowRight") {
1612
+ if (enabled.length > 0 || this.shouldShowCreateOption()) {
1613
+ event.preventDefault();
1614
+ this.highlightedIndex = 0;
1615
+ this.syncHighlight();
1616
+ }
1617
+ return;
1618
+ }
1619
+ if (event.key === "ArrowUp" || event.key === "ArrowLeft") {
1620
+ if (enabled.length > 0 || this.shouldShowCreateOption()) {
1621
+ event.preventDefault();
1622
+ this.highlightedIndex = this.shouldShowCreateOption() ? enabled.length : Math.max(enabled.length - 1, 0);
1623
+ this.syncHighlight();
1624
+ }
1625
+ return;
1626
+ }
1627
+ if (event.key === "Enter" || event.key === " ") return;
1628
+ }
1629
+ if (event.key === "Enter" && this.shouldShowCreateOption() && this.highlightedIndex === enabled.length) {
1630
+ event.preventDefault();
1631
+ this.handleCreateOption();
1632
+ return;
1633
+ }
1634
+ if (this.multiple && (event.key === "Enter" || event.key === " ")) {
1635
+ const option = enabled[this.highlightedIndex];
1636
+ if (option) {
1637
+ event.preventDefault();
1638
+ option.dispatchEvent(new CustomEvent("pk-option-select", {
1639
+ detail: { value: option.value },
1640
+ bubbles: true,
1641
+ composed: true
1642
+ }));
1643
+ }
1644
+ return;
1645
+ }
1646
+ this.highlightedIndex = handleListboxKeyDown(event, {
1647
+ items: navItems,
1648
+ currentIndex: this.highlightedIndex,
1649
+ multiselect: this.multiple,
1650
+ loop: this.loopFocus,
1651
+ onSelect: (index) => {
1652
+ this.highlightedIndex = index;
1653
+ this.syncHighlight();
1654
+ },
1655
+ focusItem: (index) => {
1656
+ if (this.keepsFocusOnInput()) return;
1657
+ if (this.shouldShowCreateOption() && index === enabled.length) {
1658
+ this.createOptionElement?.focus({ preventScroll: true });
1659
+ return;
1660
+ }
1661
+ enabled[index]?.focusControl();
1662
+ },
1663
+ onClose: () => {
1664
+ this.closePanel("escape");
1665
+ }
1666
+ });
1667
+ }
1668
+ renderHostDecorationSlot(name) {
1669
+ if (!this.hasSlotController.test(name)) return b`<slot name=${name} hidden></slot>`;
1670
+ return b`
1671
+ <span part=${name} class=${name === "start" ? "control-start" : "control-end"}>
1672
+ <slot name=${name}></slot>
1673
+ </span>
1674
+ `;
1675
+ }
1676
+ renderChevronButton() {
1677
+ return b`
1678
+ <button
1679
+ type="button"
1680
+ class="icon-button expand-button"
1681
+ part="expand-button"
1682
+ aria-label="Toggle options"
1683
+ ?disabled=${this.disabled}
1684
+ @click=${this.togglePanel}
1685
+ >
1686
+ <span class="icon" aria-hidden="true">${o(CHEVRON_ICON)}</span>
1687
+ </button>
1688
+ `;
1689
+ }
1690
+ renderTags() {
1691
+ return this.getSelectedOptions().map((option) => b`
1692
+ <span class="tag" part="tag">
1693
+ <span class="tag-label">${option.getLabel()}</span>
1694
+ <button
1695
+ type="button"
1696
+ class="tag-remove"
1697
+ part="tag-remove"
1698
+ aria-label=${`Remove ${option.getLabel()}`}
1699
+ ?disabled=${this.disabled}
1700
+ @click=${(event) => this.removeTag(option.value, event)}
1701
+ >
1702
+ <span class="tag-remove-icon" aria-hidden="true">${o(XMARK_ICON)}</span>
1703
+ </button>
1704
+ </span>
1705
+ `);
1706
+ }
1707
+ shouldShowPlaceholder() {
1708
+ if (this.inputValue.trim()) return false;
1709
+ return !this.hasSelection();
1710
+ }
1711
+ renderInput() {
1712
+ const activeDescendant = this.open ? this.getActiveDescendantId() : null;
1713
+ const showPlaceholder = this.shouldShowPlaceholder();
1714
+ return b`
1715
+ <input
1716
+ part="input"
1717
+ class=${e({
1718
+ "combobox-input": true,
1719
+ "control-input": true,
1720
+ "combobox-input--inline": this.multiple
1721
+ })}
1722
+ type="text"
1723
+ role="combobox"
1724
+ id=${this.inputId}
1725
+ .value=${this.getDisplayInputValue()}
1726
+ placeholder=${showPlaceholder ? this.placeholder : A}
1727
+ ?disabled=${this.disabled}
1728
+ aria-label=${this.ariaLabel ?? A}
1729
+ aria-expanded=${this.open ? "true" : "false"}
1730
+ aria-controls=${this.listboxId}
1731
+ aria-autocomplete="list"
1732
+ aria-activedescendant=${activeDescendant ?? A}
1733
+ @input=${this.handleInput}
1734
+ @keydown=${this.handleInputKeyDown}
1735
+ />
1736
+ `;
1737
+ }
1738
+ renderPanelInput() {
1739
+ const activeDescendant = this.open ? this.getActiveDescendantId() : null;
1740
+ return b`
1741
+ <div part="panel-search" class="panel-search">
1742
+ <input
1743
+ part="panel-input"
1744
+ class="combobox-input panel-input"
1745
+ type="text"
1746
+ role="combobox"
1747
+ id=${this.inputId}
1748
+ .value=${this.inputValue}
1749
+ placeholder=${this.searchPlaceholder}
1750
+ ?disabled=${this.disabled}
1751
+ aria-label=${this.ariaLabel ?? this.searchPlaceholder}
1752
+ aria-expanded="true"
1753
+ aria-controls=${this.listboxId}
1754
+ aria-autocomplete="list"
1755
+ aria-activedescendant=${activeDescendant ?? A}
1756
+ @input=${this.handleInput}
1757
+ @keydown=${this.handleInputKeyDown}
1758
+ />
1759
+ </div>
1760
+ `;
1761
+ }
1762
+ renderPopupTrigger() {
1763
+ return b`
1764
+ <button
1765
+ type="button"
1766
+ part="trigger"
1767
+ class="popup-trigger"
1768
+ ?disabled=${this.disabled}
1769
+ aria-label=${this.ariaLabel ?? A}
1770
+ aria-haspopup="listbox"
1771
+ aria-expanded=${this.open ? "true" : "false"}
1772
+ aria-controls=${this.listboxId}
1773
+ @click=${this.togglePanel}
1774
+ @keydown=${this.handleTriggerKeyDown}
1775
+ >
1776
+ <span
1777
+ class=${e({
1778
+ "popup-trigger-value": true,
1779
+ "is-placeholder": this.isTriggerPlaceholder()
1780
+ })}
1781
+ >
1782
+ ${this.getTriggerDisplayValue()}
1783
+ </span>
1784
+ <span class="icon popup-trigger-icon" aria-hidden="true">${o(CHEVRON_ICON)}</span>
1785
+ </button>
1786
+ `;
1787
+ }
1788
+ renderControlContent() {
1789
+ if (this.usesPopupMode) return this.renderPopupTrigger();
1790
+ const showClear = (this.clearable || this.withClear) && this.hasSelection() && !this.disabled;
1791
+ if (this.multiple) return b`
1792
+ ${this.renderHostDecorationSlot("start")}
1793
+ <div class="chips" part="tags">
1794
+ ${this.renderTags()}
1795
+ ${this.renderInput()}
1796
+ </div>
1797
+ ${this.renderHostDecorationSlot("end")}
1798
+ ${showClear ? b`
1799
+ <button
1800
+ type="button"
1801
+ class="clear-button"
1802
+ part="clear-button"
1803
+ aria-label="Clear selection"
1804
+ ?disabled=${this.disabled}
1805
+ @click=${this.handleClear}
1806
+ >
1807
+ <span class="clear-button-icon" aria-hidden="true">${o(XMARK_ICON)}</span>
1808
+ </button>
1809
+ ` : A}
1810
+ `;
1811
+ return b`
1812
+ ${this.renderHostDecorationSlot("start")}
1813
+ ${this.renderInput()}
1814
+ ${this.renderHostDecorationSlot("end")}
1815
+ ${showClear ? b`
1816
+ <button
1817
+ type="button"
1818
+ class="clear-button"
1819
+ part="clear-button"
1820
+ aria-label="Clear selection"
1821
+ ?disabled=${this.disabled}
1822
+ @click=${this.handleClear}
1823
+ >
1824
+ <span class="clear-button-icon" aria-hidden="true">${o(XMARK_ICON)}</span>
1825
+ </button>
1826
+ ` : A}
1827
+ ${this.renderChevronButton()}
1828
+ `;
1829
+ }
1830
+ render() {
1831
+ const visibleOptions = this.getEnabledVisibleOptions();
1832
+ const showCreate = this.shouldShowCreateOption();
1833
+ const showEmpty = this.open && (this.usesAsyncSearch ? this.shouldShowAsyncEmpty() : visibleOptions.length === 0 && !showCreate);
1834
+ const asyncStatus = this.getAsyncStatusMessage();
1835
+ const createQuery = this.inputValue.trim();
1836
+ return b`
1837
+ <input
1838
+ class="value-input"
1839
+ part="value-input"
1840
+ tabindex="-1"
1841
+ aria-hidden="true"
1842
+ .value=${this.multiple ? this.values.join(",") : this.value}
1843
+ ?required=${this.required}
1844
+ @input=${() => this.updateValidity()}
1845
+ />
1846
+ <div
1847
+ part="control"
1848
+ class=${e({
1849
+ control: true,
1850
+ "is-disabled": this.disabled,
1851
+ "control--multiple": this.multiple,
1852
+ "control--popup": this.usesPopupMode
1853
+ })}
1854
+ data-popup-open=${this.open ? "" : A}
1855
+ @mousedown=${this.handleControlMouseDown}
1856
+ >
1857
+ ${this.renderControlContent()}
1858
+ </div>
1859
+ <pk-popup
1860
+ .active=${this.open || this.closing}
1861
+ .anchor=${this.controlElement ?? ""}
1862
+ .placement=${this.placement}
1863
+ .distance=${this.sideOffset}
1864
+ .sync=${"width"}
1865
+ flip
1866
+ shift
1867
+ >
1868
+ <div
1869
+ part="panel"
1870
+ class=${e({
1871
+ panel: true,
1872
+ "pk-popup-content": true,
1873
+ closing: this.closing,
1874
+ "panel--popup": this.usesPopupMode
1875
+ })}
1876
+ tabindex="-1"
1877
+ ?hidden=${!this.open && !this.closing}
1878
+ data-open=${this.panelAnimated && !this.closing ? "" : A}
1879
+ >
1880
+ ${this.usesPopupMode ? this.renderPanelInput() : A}
1881
+ <div
1882
+ part="panel-body"
1883
+ class="panel-body"
1884
+ id=${this.listboxId}
1885
+ role="listbox"
1886
+ aria-multiselectable=${this.multiple ? "true" : "false"}
1887
+ aria-busy=${this.usesAsyncSearch && this.asyncLoading ? "true" : A}
1888
+ @slotchange=${this.syncOptions}
1889
+ >
1890
+ <slot></slot>
1891
+ ${asyncStatus ? b`
1892
+ <div part="async-status" class="async-status" role="status">${asyncStatus}</div>
1893
+ ` : A}
1894
+ ${showCreate ? b`
1895
+ <button
1896
+ type="button"
1897
+ part="create-option"
1898
+ class=${e({
1899
+ "create-option": true,
1900
+ "is-highlighted": this.createOptionHighlighted
1901
+ })}
1902
+ id=${this.createOptionId}
1903
+ role="option"
1904
+ aria-selected="false"
1905
+ tabindex="-1"
1906
+ @click=${this.handleCreateOption}
1907
+ @mouseenter=${this.handleCreateMouseEnter}
1908
+ @keydown=${this.handleCreateKeyDown}
1909
+ >
1910
+ Create "${createQuery}"
1911
+ </button>
1912
+ ` : A}
1913
+ ${showEmpty ? b`
1914
+ <div part="empty" class="empty">${this.emptyMessage}</div>
1915
+ ` : A}
1916
+ </div>
1917
+ </div>
1918
+ </pk-popup>
1919
+ `;
1920
+ }
1921
+ };
1922
+ __decorate([n({
1923
+ type: Boolean,
1924
+ reflect: true
1925
+ })], PkCombobox.prototype, "open", void 0);
1926
+ __decorate([n({
1927
+ type: Boolean,
1928
+ reflect: true
1929
+ })], PkCombobox.prototype, "multiple", void 0);
1930
+ __decorate([n({ reflect: true })], PkCombobox.prototype, "placement", void 0);
1931
+ __decorate([n({
1932
+ attribute: "side-offset",
1933
+ type: Number
1934
+ })], PkCombobox.prototype, "sideOffset", void 0);
1935
+ __decorate([n({
1936
+ type: Boolean,
1937
+ reflect: true
1938
+ })], PkCombobox.prototype, "clearable", void 0);
1939
+ __decorate([n({
1940
+ attribute: "with-clear",
1941
+ type: Boolean
1942
+ })], PkCombobox.prototype, "withClear", void 0);
1943
+ __decorate([n({
1944
+ attribute: "allow-create",
1945
+ type: Boolean
1946
+ })], PkCombobox.prototype, "allowCreate", void 0);
1947
+ __decorate([n({
1948
+ attribute: "allow-custom-value",
1949
+ type: Boolean
1950
+ })], PkCombobox.prototype, "allowCustomValue", void 0);
1951
+ __decorate([n({
1952
+ attribute: "auto-highlight",
1953
+ type: Boolean
1954
+ })], PkCombobox.prototype, "autoHighlight", void 0);
1955
+ __decorate([n({
1956
+ attribute: "popup-mode",
1957
+ type: Boolean,
1958
+ reflect: true
1959
+ })], PkCombobox.prototype, "popupMode", void 0);
1960
+ __decorate([n({ attribute: "search-placeholder" })], PkCombobox.prototype, "searchPlaceholder", void 0);
1961
+ __decorate([n({
1962
+ type: Boolean,
1963
+ reflect: true
1964
+ })], PkCombobox.prototype, "invalid", void 0);
1965
+ __decorate([n({ reflect: true })], PkCombobox.prototype, "size", void 0);
1966
+ __decorate([n({ reflect: true })], PkCombobox.prototype, "width", void 0);
1967
+ __decorate([n()], PkCombobox.prototype, "placeholder", void 0);
1968
+ __decorate([n({ attribute: "empty-message" })], PkCombobox.prototype, "emptyMessage", void 0);
1969
+ __decorate([n()], PkCombobox.prototype, "value", void 0);
1970
+ __decorate([n({ attribute: "default-value" })], PkCombobox.prototype, "defaultValue", void 0);
1971
+ __decorate([n({
1972
+ type: Array,
1973
+ attribute: false
1974
+ })], PkCombobox.prototype, "values", void 0);
1975
+ __decorate([n({ attribute: false })], PkCombobox.prototype, "defaultValues", void 0);
1976
+ __decorate([n()], PkCombobox.prototype, "label", void 0);
1977
+ __decorate([n()], PkCombobox.prototype, "instructions", void 0);
1978
+ __decorate([n({ attribute: "aria-label" })], PkCombobox.prototype, "ariaLabel", void 0);
1979
+ __decorate([n({
1980
+ attribute: "loop-focus",
1981
+ type: Boolean
1982
+ })], PkCombobox.prototype, "loopFocus", void 0);
1983
+ __decorate([n({ attribute: false })], PkCombobox.prototype, "filter", void 0);
1984
+ __decorate([n({
1985
+ type: Boolean,
1986
+ reflect: true
1987
+ })], PkCombobox.prototype, "async", void 0);
1988
+ __decorate([n({ attribute: "loading-message" })], PkCombobox.prototype, "loadingMessage", void 0);
1989
+ __decorate([n({ attribute: "start-typing-message" })], PkCombobox.prototype, "startTypingMessage", void 0);
1990
+ __decorate([n({ attribute: false })], PkCombobox.prototype, "fetchOptions", void 0);
1991
+ __decorate([e$1("pk-popup")], PkCombobox.prototype, "popupElement", void 0);
1992
+ __decorate([e$1(".control")], PkCombobox.prototype, "controlElement", void 0);
1993
+ __decorate([e$1(".control-input")], PkCombobox.prototype, "controlInput", void 0);
1994
+ __decorate([e$1(".popup-trigger")], PkCombobox.prototype, "popupTrigger", void 0);
1995
+ __decorate([e$1(".create-option")], PkCombobox.prototype, "createOptionElement", void 0);
1996
+ __decorate([e$1(".value-input")], PkCombobox.prototype, "input", void 0);
1997
+ __decorate([r()], PkCombobox.prototype, "inputValue", void 0);
1998
+ __decorate([r()], PkCombobox.prototype, "highlightedIndex", void 0);
1999
+ __decorate([r()], PkCombobox.prototype, "createOptionHighlighted", void 0);
2000
+ __decorate([r()], PkCombobox.prototype, "closing", void 0);
2001
+ __decorate([r()], PkCombobox.prototype, "panelAnimated", void 0);
2002
+ __decorate([r()], PkCombobox.prototype, "asyncLoading", void 0);
2003
+ __decorate([r()], PkCombobox.prototype, "asyncError", void 0);
2004
+ PkCombobox = __decorate([t("pk-combobox")], PkCombobox);
2005
+ //#endregion
2006
+ export { PkCombobox as t };