@verbb/plugin-kit-web 2.0.15 → 2.0.17

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 (386) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +3 -3
  3. package/custom-elements.json +39781 -0
  4. package/dist/base/pk-form-associated-element.d.ts +17 -1
  5. package/dist/base/pk-form-associated-element.d.ts.map +1 -1
  6. package/dist/chunks/{animate-with-class-ZJeCOKB3.js → animate-with-class-CsDwYnXL.js} +1 -1
  7. package/dist/chunks/{animate-with-class-ZJeCOKB3.js.map → animate-with-class-CsDwYnXL.js.map} +1 -1
  8. package/dist/chunks/{autoloader-DPX9YYZs.js → autoloader-dJO3tYOX.js} +2 -2
  9. package/dist/chunks/{autoloader-DPX9YYZs.js.map → autoloader-dJO3tYOX.js.map} +1 -1
  10. package/dist/chunks/{component-registry-CNB8PbP_.js → component-registry-D34fm8xW.js} +5 -1
  11. package/dist/chunks/component-registry-D34fm8xW.js.map +1 -0
  12. package/dist/chunks/{field-labels-CoU9dnNq.js → field-labels-CmuAW8Cl.js} +1 -1
  13. package/dist/chunks/{field-labels-CoU9dnNq.js.map → field-labels-CmuAW8Cl.js.map} +1 -1
  14. package/dist/chunks/option-filter-BQqr8Z21.js +121 -0
  15. package/dist/chunks/option-filter-BQqr8Z21.js.map +1 -0
  16. package/dist/chunks/pk-autocomplete-IFL-u-RF.js +992 -0
  17. package/dist/chunks/pk-autocomplete-IFL-u-RF.js.map +1 -0
  18. package/dist/chunks/{pk-button-BWGDkuzc.js → pk-button-BrH4u4Qr.js} +8 -4
  19. package/dist/chunks/{pk-button-BWGDkuzc.js.map → pk-button-BrH4u4Qr.js.map} +1 -1
  20. package/dist/chunks/{pk-calendar-enTOUCRD.js → pk-calendar-Z7Y0PjeY.js} +1 -1
  21. package/dist/chunks/{pk-calendar-enTOUCRD.js.map → pk-calendar-Z7Y0PjeY.js.map} +1 -1
  22. package/dist/chunks/{pk-checkbox-CvZwJZn_.js → pk-checkbox-CfV1uDdC.js} +2 -2
  23. package/dist/chunks/{pk-checkbox-CvZwJZn_.js.map → pk-checkbox-CfV1uDdC.js.map} +1 -1
  24. package/dist/chunks/{pk-checkbox-select-DclPoyDM.js → pk-checkbox-select-DeCaI3a0.js} +2 -2
  25. package/dist/chunks/{pk-checkbox-select-DclPoyDM.js.map → pk-checkbox-select-DeCaI3a0.js.map} +1 -1
  26. package/dist/chunks/{pk-code-editor-CrKnJUyi.js → pk-code-editor-BG9sG_Fy.js} +2 -2
  27. package/dist/chunks/{pk-code-editor-CrKnJUyi.js.map → pk-code-editor-BG9sG_Fy.js.map} +1 -1
  28. package/dist/chunks/{pk-color-input-DXdqNCK7.js → pk-color-input-CncNce1C.js} +2 -2
  29. package/dist/chunks/{pk-color-input-DXdqNCK7.js.map → pk-color-input-CncNce1C.js.map} +1 -1
  30. package/dist/chunks/{pk-combobox-BLft8AXy.js → pk-combobox-CL9En0J-.js} +49 -92
  31. package/dist/chunks/pk-combobox-CL9En0J-.js.map +1 -0
  32. package/dist/chunks/{pk-connect.styles-DshgIW2n.js → pk-connect.styles-BhW406jt.js} +1 -1
  33. package/dist/chunks/{pk-connect.styles-DshgIW2n.js.map → pk-connect.styles-BhW406jt.js.map} +1 -1
  34. package/dist/chunks/{pk-copy-button-asOLQkqk.js → pk-copy-button-BVaOLtYG.js} +46 -5
  35. package/dist/chunks/pk-copy-button-BVaOLtYG.js.map +1 -0
  36. package/dist/chunks/{pk-date-picker-Bri3kZ6x.js → pk-date-picker-BEAd4Ngl.js} +6 -6
  37. package/dist/chunks/{pk-date-picker-Bri3kZ6x.js.map → pk-date-picker-BEAd4Ngl.js.map} +1 -1
  38. package/dist/chunks/{pk-dialog-BbEfvb0g.js → pk-dialog-VMQqLW1f.js} +2 -2
  39. package/dist/chunks/{pk-dialog-BbEfvb0g.js.map → pk-dialog-VMQqLW1f.js.map} +1 -1
  40. package/dist/chunks/{pk-dropdown-item-BoZTGWMU.js → pk-dropdown-item-D9OaG5o-.js} +9 -5
  41. package/dist/chunks/pk-dropdown-item-D9OaG5o-.js.map +1 -0
  42. package/dist/chunks/{pk-dropdown-label-Da28F917.js → pk-dropdown-label-CRNWMWQd.js} +1 -1
  43. package/dist/chunks/{pk-dropdown-label-Da28F917.js.map → pk-dropdown-label-CRNWMWQd.js.map} +1 -1
  44. package/dist/chunks/{pk-dropdown-menu-CfZc7dIz.js → pk-dropdown-menu-DW1wI8xQ.js} +6 -4
  45. package/dist/chunks/pk-dropdown-menu-DW1wI8xQ.js.map +1 -0
  46. package/dist/chunks/{pk-editable-table-Cn4WXqAo.js → pk-editable-table-BoqfveXO.js} +17 -19
  47. package/dist/chunks/pk-editable-table-BoqfveXO.js.map +1 -0
  48. package/dist/chunks/{pk-field-NL4KdFZC.js → pk-field-UAlMq6mQ.js} +2 -2
  49. package/dist/chunks/{pk-field-NL4KdFZC.js.map → pk-field-UAlMq6mQ.js.map} +1 -1
  50. package/dist/chunks/{pk-form-associated-element-9M2NzOE2.js → pk-form-associated-element-CCQALRGB.js} +14 -2
  51. package/dist/chunks/pk-form-associated-element-CCQALRGB.js.map +1 -0
  52. package/dist/chunks/pk-image-browser-DwiCFOIG.js +1364 -0
  53. package/dist/chunks/pk-image-browser-DwiCFOIG.js.map +1 -0
  54. package/dist/chunks/{pk-input-DDkIXOkt.js → pk-input-CF_icEtR.js} +76 -30
  55. package/dist/chunks/pk-input-CF_icEtR.js.map +1 -0
  56. package/dist/chunks/{pk-input-group-CRPSBFhX.js → pk-input-group-BLqKPnfc.js} +2 -2
  57. package/dist/chunks/{pk-input-group-CRPSBFhX.js.map → pk-input-group-BLqKPnfc.js.map} +1 -1
  58. package/dist/chunks/{pk-input-group-addon-B0StOmTJ.js → pk-input-group-addon-ClBkGmAw.js} +1 -1
  59. package/dist/chunks/{pk-input-group-addon-B0StOmTJ.js.map → pk-input-group-addon-ClBkGmAw.js.map} +1 -1
  60. package/dist/chunks/{pk-input-group-button-CnKajvsP.js → pk-input-group-button-CHQHsWd4.js} +1 -1
  61. package/dist/chunks/{pk-input-group-button-CnKajvsP.js.map → pk-input-group-button-CHQHsWd4.js.map} +1 -1
  62. package/dist/chunks/{pk-input-group-input-mllffsjQ.js → pk-input-group-input-oNnqMBGU.js} +1 -1
  63. package/dist/chunks/{pk-input-group-input-mllffsjQ.js.map → pk-input-group-input-oNnqMBGU.js.map} +1 -1
  64. package/dist/chunks/{pk-input-group-text-DvaPJvh2.js → pk-input-group-text-HUxlXROB.js} +1 -1
  65. package/dist/chunks/{pk-input-group-text-DvaPJvh2.js.map → pk-input-group-text-HUxlXROB.js.map} +1 -1
  66. package/dist/chunks/{pk-input-group-textarea-CqYv8tUQ.js → pk-input-group-textarea-Cl2FNuw-.js} +1 -1
  67. package/dist/chunks/{pk-input-group-textarea-CqYv8tUQ.js.map → pk-input-group-textarea-Cl2FNuw-.js.map} +1 -1
  68. package/dist/chunks/{pk-lightswitch-DI1BeCmA.js → pk-lightswitch-D1qEFRxK.js} +3 -3
  69. package/dist/chunks/{pk-lightswitch-DI1BeCmA.js.map → pk-lightswitch-D1qEFRxK.js.map} +1 -1
  70. package/dist/chunks/{pk-option-MGj9SKOK.js → pk-option-DQZHV9jL.js} +3 -2
  71. package/dist/chunks/pk-option-DQZHV9jL.js.map +1 -0
  72. package/dist/chunks/{pk-option-group-Cs6N7mlP.js → pk-option-group-CCzJkBFp.js} +1 -1
  73. package/dist/chunks/{pk-option-group-Cs6N7mlP.js.map → pk-option-group-CCzJkBFp.js.map} +1 -1
  74. package/dist/chunks/{pk-popover-duyNosk2.js → pk-popover-D3jkHfwB.js} +4 -4
  75. package/dist/chunks/pk-popover-D3jkHfwB.js.map +1 -0
  76. package/dist/chunks/{pk-popup-B9AgBC2V.js → pk-popup-B65tZMQH.js} +23 -1
  77. package/dist/chunks/pk-popup-B65tZMQH.js.map +1 -0
  78. package/dist/chunks/{pk-radio-BK4D2Htu.js → pk-radio-B5XkMHy3.js} +1 -1
  79. package/dist/chunks/{pk-radio-BK4D2Htu.js.map → pk-radio-B5XkMHy3.js.map} +1 -1
  80. package/dist/chunks/{pk-radio-group-BRJIjOsR.js → pk-radio-group-ByrxGLdX.js} +3 -3
  81. package/dist/chunks/{pk-radio-group-BRJIjOsR.js.map → pk-radio-group-ByrxGLdX.js.map} +1 -1
  82. package/dist/chunks/{pk-scroll-area-BR6ckorh.js → pk-scroll-area-CdfNxYz8.js} +1 -1
  83. package/dist/chunks/{pk-scroll-area-BR6ckorh.js.map → pk-scroll-area-CdfNxYz8.js.map} +1 -1
  84. package/dist/chunks/{pk-select-C1s0OJr0.js → pk-select-CdQdhnZN.js} +7 -5
  85. package/dist/chunks/pk-select-CdQdhnZN.js.map +1 -0
  86. package/dist/chunks/{pk-separator-CHij3vEG.js → pk-separator-N-VyjYE6.js} +1 -1
  87. package/dist/chunks/{pk-separator-CHij3vEG.js.map → pk-separator-N-VyjYE6.js.map} +1 -1
  88. package/dist/chunks/{pk-status-D1IzTSI2.js → pk-status-BehQARDv.js} +1 -1
  89. package/dist/chunks/{pk-status-D1IzTSI2.js.map → pk-status-BehQARDv.js.map} +1 -1
  90. package/dist/chunks/{pk-tab-2MHunhlF.js → pk-tab-CTloD18e.js} +1 -1
  91. package/dist/chunks/{pk-tab-2MHunhlF.js.map → pk-tab-CTloD18e.js.map} +1 -1
  92. package/dist/chunks/{pk-tab-heading-BV6m_sT-.js → pk-tab-heading-Cjcgebxn.js} +1 -1
  93. package/dist/chunks/{pk-tab-heading-BV6m_sT-.js.map → pk-tab-heading-Cjcgebxn.js.map} +1 -1
  94. package/dist/chunks/{pk-tab-panel-C6FxQw9q.js → pk-tab-panel-CkKU5-Ah.js} +1 -1
  95. package/dist/chunks/{pk-tab-panel-C6FxQw9q.js.map → pk-tab-panel-CkKU5-Ah.js.map} +1 -1
  96. package/dist/chunks/{pk-tabs-BTE63uK9.js → pk-tabs-BgEBki1q.js} +1 -1
  97. package/dist/chunks/{pk-tabs-BTE63uK9.js.map → pk-tabs-BgEBki1q.js.map} +1 -1
  98. package/dist/chunks/{pk-textarea-BcAyZYC-.js → pk-textarea-CYM2tK88.js} +3 -3
  99. package/dist/chunks/{pk-textarea-BcAyZYC-.js.map → pk-textarea-CYM2tK88.js.map} +1 -1
  100. package/dist/chunks/{pk-time-picker-5D4nmig2.js → pk-time-picker-CebRqydV.js} +3 -3
  101. package/dist/chunks/{pk-time-picker-5D4nmig2.js.map → pk-time-picker-CebRqydV.js.map} +1 -1
  102. package/dist/chunks/{pk-tiptap-content-BPd4GO6c.js → pk-tiptap-content-CL8smjGi.js} +6 -3
  103. package/dist/chunks/{pk-tiptap-content-BPd4GO6c.js.map → pk-tiptap-content-CL8smjGi.js.map} +1 -1
  104. package/dist/chunks/{pk-tiptap-editor-tG67Vegc.js → pk-tiptap-editor-CTz-yfHL.js} +335 -19
  105. package/dist/chunks/pk-tiptap-editor-CTz-yfHL.js.map +1 -0
  106. package/dist/chunks/{pk-tiptap-input-CtefNnaK.js → pk-tiptap-input-Y9eog9Zn.js} +3 -3
  107. package/dist/chunks/{pk-tiptap-input-CtefNnaK.js.map → pk-tiptap-input-Y9eog9Zn.js.map} +1 -1
  108. package/dist/chunks/{pk-toggle-CW-lflrh.js → pk-toggle-BthhH7vl.js} +1 -1
  109. package/dist/chunks/{pk-toggle-CW-lflrh.js.map → pk-toggle-BthhH7vl.js.map} +1 -1
  110. package/dist/chunks/{pk-toggle-group-BKymefo3.js → pk-toggle-group-D2Quux8D.js} +1 -1
  111. package/dist/chunks/{pk-toggle-group-BKymefo3.js.map → pk-toggle-group-D2Quux8D.js.map} +1 -1
  112. package/dist/chunks/{pk-tooltip-BoDq8YVe.js → pk-tooltip--QBV6puX.js} +2 -2
  113. package/dist/chunks/{pk-tooltip-BoDq8YVe.js.map → pk-tooltip--QBV6puX.js.map} +1 -1
  114. package/dist/chunks/{popup-content-animation.styles-Dc6d9quJ.js → popup-content-animation.styles-BnNiguJo.js} +1 -1
  115. package/dist/chunks/{popup-content-animation.styles-Dc6d9quJ.js.map → popup-content-animation.styles-BnNiguJo.js.map} +1 -1
  116. package/dist/chunks/{popup-pointer-DMnuZDQl.js → popup-pointer-CuLjk1th.js} +1 -1
  117. package/dist/chunks/{popup-pointer-DMnuZDQl.js.map → popup-pointer-CuLjk1th.js.map} +1 -1
  118. package/dist/chunks/{register-CQodpTWT.js → register-aJw-9RWi.js} +46 -46
  119. package/dist/chunks/{register-CQodpTWT.js.map → register-aJw-9RWi.js.map} +1 -1
  120. package/dist/chunks/{register-components-B-qCPFFh.js → register-components-BT9THgdh.js} +1 -1
  121. package/dist/chunks/{register-components-B-qCPFFh.js.map → register-components-BT9THgdh.js.map} +1 -1
  122. package/dist/chunks/{tiptap.styles-ChAfyVi9.js → tiptap.styles-CPRows--.js} +4 -3
  123. package/dist/chunks/tiptap.styles-CPRows--.js.map +1 -0
  124. package/dist/component-registry.d.ts.map +1 -1
  125. package/dist/components/autocomplete/index.d.ts +2 -0
  126. package/dist/components/autocomplete/index.d.ts.map +1 -0
  127. package/dist/components/autocomplete/pk-autocomplete.d.ts +150 -0
  128. package/dist/components/autocomplete/pk-autocomplete.d.ts.map +1 -0
  129. package/dist/components/autocomplete/pk-autocomplete.js +2 -0
  130. package/dist/components/autocomplete/pk-autocomplete.styles.d.ts +7 -0
  131. package/dist/components/autocomplete/pk-autocomplete.styles.d.ts.map +1 -0
  132. package/dist/components/autocomplete.d.ts +2 -0
  133. package/dist/components/autocomplete.js +2 -0
  134. package/dist/components/button/pk-button.d.ts +37 -1
  135. package/dist/components/button/pk-button.d.ts.map +1 -1
  136. package/dist/components/button/pk-button.js +1 -1
  137. package/dist/components/button.js +1 -1
  138. package/dist/components/calendar/pk-calendar.js +1 -1
  139. package/dist/components/calendar.js +1 -1
  140. package/dist/components/checkbox/pk-checkbox.js +1 -1
  141. package/dist/components/checkbox-select/pk-checkbox-select.js +1 -1
  142. package/dist/components/checkbox-select.js +1 -1
  143. package/dist/components/checkbox.js +1 -1
  144. package/dist/components/code-editor/pk-code-editor.js +1 -1
  145. package/dist/components/code-editor.js +1 -1
  146. package/dist/components/color-input/pk-color-input.js +1 -1
  147. package/dist/components/color-input.js +1 -1
  148. package/dist/components/combobox/pk-combobox.d.ts +8 -14
  149. package/dist/components/combobox/pk-combobox.d.ts.map +1 -1
  150. package/dist/components/combobox/pk-combobox.js +1 -1
  151. package/dist/components/combobox/pk-combobox.styles.d.ts.map +1 -1
  152. package/dist/components/combobox.js +1 -1
  153. package/dist/components/connect/pk-connect-oauth.d.ts +1 -1
  154. package/dist/components/connect/pk-connect-oauth.js +3 -3
  155. package/dist/components/connect/pk-connect-oauth.js.map +1 -1
  156. package/dist/components/connect/pk-connect.js +4 -4
  157. package/dist/components/copy-button/pk-copy-button.d.ts +3 -0
  158. package/dist/components/copy-button/pk-copy-button.d.ts.map +1 -1
  159. package/dist/components/copy-button/pk-copy-button.js +1 -1
  160. package/dist/components/copy-button/pk-copy-button.styles.d.ts.map +1 -1
  161. package/dist/components/copy-button.js +1 -1
  162. package/dist/components/date-picker/pk-date-picker.js +1 -1
  163. package/dist/components/date-picker.js +1 -1
  164. package/dist/components/dialog/pk-dialog.d.ts +1 -1
  165. package/dist/components/dialog/pk-dialog.js +1 -1
  166. package/dist/components/dialog.js +1 -1
  167. package/dist/components/dropdown-menu/pk-dropdown-item.d.ts +3 -1
  168. package/dist/components/dropdown-menu/pk-dropdown-item.d.ts.map +1 -1
  169. package/dist/components/dropdown-menu/pk-dropdown-item.js +1 -1
  170. package/dist/components/dropdown-menu/pk-dropdown-item.styles.d.ts.map +1 -1
  171. package/dist/components/dropdown-menu/pk-dropdown-label.js +1 -1
  172. package/dist/components/dropdown-menu/pk-dropdown-menu.js +1 -1
  173. package/dist/components/dropdown-menu/pk-dropdown-menu.styles.d.ts.map +1 -1
  174. package/dist/components/dropdown-menu.js +3 -3
  175. package/dist/components/editable-table/editable-table-model.d.ts +4 -1
  176. package/dist/components/editable-table/editable-table-model.d.ts.map +1 -1
  177. package/dist/components/editable-table/pk-editable-table.d.ts +1 -1
  178. package/dist/components/editable-table/pk-editable-table.d.ts.map +1 -1
  179. package/dist/components/editable-table/pk-editable-table.js +1 -1
  180. package/dist/components/editable-table.js +1 -1
  181. package/dist/components/field/pk-field.js +1 -1
  182. package/dist/components/field.js +1 -1
  183. package/dist/components/icon/pk-icon.d.ts +3 -2
  184. package/dist/components/icon/pk-icon.d.ts.map +1 -1
  185. package/dist/components/icon/pk-icon.js.map +1 -1
  186. package/dist/components/image-browser/index.d.ts +2 -0
  187. package/dist/components/image-browser/index.d.ts.map +1 -0
  188. package/dist/components/image-browser/pk-image-browser.d.ts +190 -0
  189. package/dist/components/image-browser/pk-image-browser.d.ts.map +1 -0
  190. package/dist/components/image-browser/pk-image-browser.js +2 -0
  191. package/dist/components/image-browser/pk-image-browser.styles.d.ts +6 -0
  192. package/dist/components/image-browser/pk-image-browser.styles.d.ts.map +1 -0
  193. package/dist/components/image-browser.d.ts +2 -0
  194. package/dist/components/image-browser.js +2 -0
  195. package/dist/components/input/pk-input.d.ts +3 -2
  196. package/dist/components/input/pk-input.d.ts.map +1 -1
  197. package/dist/components/input/pk-input.js +1 -1
  198. package/dist/components/input/pk-input.styles.d.ts.map +1 -1
  199. package/dist/components/input-group/pk-input-group-addon.js +1 -1
  200. package/dist/components/input-group/pk-input-group-button.js +1 -1
  201. package/dist/components/input-group/pk-input-group-input.js +1 -1
  202. package/dist/components/input-group/pk-input-group-text.js +1 -1
  203. package/dist/components/input-group/pk-input-group-textarea.js +1 -1
  204. package/dist/components/input-group/pk-input-group.d.ts +2 -2
  205. package/dist/components/input-group/pk-input-group.d.ts.map +1 -1
  206. package/dist/components/input-group/pk-input-group.js +1 -1
  207. package/dist/components/input-group.js +6 -6
  208. package/dist/components/input.js +1 -1
  209. package/dist/components/lightswitch/pk-lightswitch.js +1 -1
  210. package/dist/components/lightswitch.js +1 -1
  211. package/dist/components/popover/pk-popover.d.ts +2 -2
  212. package/dist/components/popover/pk-popover.js +1 -1
  213. package/dist/components/popover.js +1 -1
  214. package/dist/components/popup/pk-popup.d.ts +4 -0
  215. package/dist/components/popup/pk-popup.d.ts.map +1 -1
  216. package/dist/components/popup/pk-popup.js +1 -1
  217. package/dist/components/popup.js +1 -1
  218. package/dist/components/radio-group/pk-radio-group.js +1 -1
  219. package/dist/components/radio-group/pk-radio.js +1 -1
  220. package/dist/components/radio-group.js +2 -2
  221. package/dist/components/scroll-area/pk-scroll-area.js +1 -1
  222. package/dist/components/scroll-area.js +1 -1
  223. package/dist/components/select/pk-option-group.d.ts +3 -1
  224. package/dist/components/select/pk-option-group.d.ts.map +1 -1
  225. package/dist/components/select/pk-option-group.js +1 -1
  226. package/dist/components/select/pk-option.d.ts +10 -1
  227. package/dist/components/select/pk-option.d.ts.map +1 -1
  228. package/dist/components/select/pk-option.js +1 -1
  229. package/dist/components/select/pk-select.d.ts +42 -3
  230. package/dist/components/select/pk-select.d.ts.map +1 -1
  231. package/dist/components/select/pk-select.js +1 -1
  232. package/dist/components/select.js +3 -3
  233. package/dist/components/separator/pk-separator.js +1 -1
  234. package/dist/components/separator.js +1 -1
  235. package/dist/components/status/pk-status.js +1 -1
  236. package/dist/components/status.js +1 -1
  237. package/dist/components/tabs/pk-tab-heading.js +1 -1
  238. package/dist/components/tabs/pk-tab-panel.js +1 -1
  239. package/dist/components/tabs/pk-tab.js +1 -1
  240. package/dist/components/tabs/pk-tabs.js +1 -1
  241. package/dist/components/tabs.js +4 -4
  242. package/dist/components/textarea/pk-textarea.js +1 -1
  243. package/dist/components/textarea.js +1 -1
  244. package/dist/components/time-picker/pk-time-picker.js +1 -1
  245. package/dist/components/time-picker.js +1 -1
  246. package/dist/components/tiptap/pk-tiptap-content.d.ts.map +1 -1
  247. package/dist/components/tiptap/pk-tiptap-content.js +1 -1
  248. package/dist/components/tiptap/pk-tiptap-editor.d.ts +11 -1
  249. package/dist/components/tiptap/pk-tiptap-editor.d.ts.map +1 -1
  250. package/dist/components/tiptap/pk-tiptap-editor.js +1 -1
  251. package/dist/components/tiptap/pk-tiptap-editor.styles.d.ts.map +1 -1
  252. package/dist/components/tiptap/pk-tiptap-input.js +1 -1
  253. package/dist/components/tiptap/tiptap-toolbar.d.ts +1 -0
  254. package/dist/components/tiptap/tiptap-toolbar.d.ts.map +1 -1
  255. package/dist/components/tiptap/variable-tag-node-view.d.ts.map +1 -1
  256. package/dist/components/tiptap-content.js +1 -1
  257. package/dist/components/tiptap-editor.js +1 -1
  258. package/dist/components/tiptap-input.js +1 -1
  259. package/dist/components/toggle/pk-toggle.js +1 -1
  260. package/dist/components/toggle-group/pk-toggle-group.js +1 -1
  261. package/dist/components/toggle-group.js +1 -1
  262. package/dist/components/toggle.js +1 -1
  263. package/dist/components/tooltip/pk-tooltip.js +1 -1
  264. package/dist/components/tooltip.js +1 -1
  265. package/dist/connect/register-cp-connect.js +3 -3
  266. package/dist/index.js +50 -50
  267. package/dist/internal/sync-filtered-options.d.ts +23 -0
  268. package/dist/internal/sync-filtered-options.d.ts.map +1 -0
  269. package/dist/plugin-kit.css +2 -0
  270. package/dist/plugin-kit.js +2 -2
  271. package/dist/register-components.js +1 -1
  272. package/dist/register-pk.generated.d.ts +4 -0
  273. package/dist/register-pk.generated.d.ts.map +1 -1
  274. package/dist/register.js +48 -48
  275. package/dist/utilities/fouce.css +2 -0
  276. package/dist/utils/async-option-fetch.d.ts +38 -0
  277. package/dist/utils/async-option-fetch.d.ts.map +1 -0
  278. package/dist/utils/option-filter.d.ts +11 -0
  279. package/dist/utils/option-filter.d.ts.map +1 -0
  280. package/dist/utils/popup-content-exit.d.ts +6 -0
  281. package/dist/utils/popup-content-exit.d.ts.map +1 -0
  282. package/dist-loader/chunks/option-filter-Bc5aNNT0.js +119 -0
  283. package/dist-loader/chunks/{pk-base-B21zXxSo.js → pk-base-CyzwylQ7.js} +13 -1
  284. package/dist-loader/chunks/{pk-button-Dh4gjLHw.js → pk-button-saBDszJV.js} +10 -6
  285. package/dist-loader/chunks/{pk-calendar-n1bwSO7X.js → pk-calendar-BrF8i3dW.js} +3 -3
  286. package/dist-loader/chunks/{pk-checkbox-BrZQB816.js → pk-checkbox-B3d4nkBx.js} +1 -1
  287. package/dist-loader/chunks/{pk-color-input-sS05YOwT.js → pk-color-input-CD-r_sfG.js} +1 -1
  288. package/dist-loader/chunks/{pk-combobox-B7q6alzE.js → pk-combobox-Cpx0w1KV.js} +49 -92
  289. package/dist-loader/chunks/{pk-date-picker-Dni5ty79.js → pk-date-picker-DEoiTOxN.js} +6 -6
  290. package/dist-loader/chunks/{pk-dialog-BpPRqFMm.js → pk-dialog-C6aaPokv.js} +3 -3
  291. package/dist-loader/chunks/{pk-dropdown-item-CHkFNlA9.js → pk-dropdown-item-D8RrwjxL.js} +10 -6
  292. package/dist-loader/chunks/pk-dropdown-label-Cg32UgRe.js +51 -0
  293. package/dist-loader/chunks/{pk-dropdown-menu-BHVOMNV1.js → pk-dropdown-menu-CAHCltlX.js} +5 -3
  294. package/dist-loader/chunks/{pk-field-CJ09ll1S.js → pk-field-V7JOy26T.js} +4 -4
  295. package/dist-loader/chunks/{pk-icon-WHUu7wxk.js → pk-icon-Bph-EBqp.js} +2 -2
  296. package/dist-loader/chunks/{pk-input-CEw3AdYt.js → pk-input-BhU0PiCk.js} +74 -28
  297. package/dist-loader/chunks/{pk-lightswitch-DJEUScgo.js → pk-lightswitch-m23Cy3_D.js} +1 -1
  298. package/dist-loader/chunks/{pk-option-CunPIei0.js → pk-option-BrDMERSl.js} +5 -4
  299. package/dist-loader/chunks/{pk-popup-FDdBxb4k.js → pk-popup-CrxxR-Hb.js} +24 -2
  300. package/dist-loader/chunks/{pk-select-CbAaQ7uE.js → pk-select-Dok-JdSe.js} +8 -6
  301. package/dist-loader/chunks/{pk-spinner-CIbXjDnp.js → pk-spinner-BKU9Rf2R.js} +1 -1
  302. package/dist-loader/chunks/{pk-status-BRIVW7EH.js → pk-status-D2g_77m_.js} +1 -1
  303. package/dist-loader/chunks/{pk-textarea-C_rOUtFS.js → pk-textarea-CC7rA5A7.js} +1 -1
  304. package/dist-loader/chunks/{pk-time-picker-Dr3uvbvc.js → pk-time-picker-h5Wgd4a_.js} +5 -5
  305. package/dist-loader/chunks/{pk-tooltip-HwZ0zRd2.js → pk-tooltip-Dd_Q0Bn5.js} +2 -2
  306. package/dist-loader/chunks/{render-Niz5wYRa.js → render-Bnzcxfss.js} +1 -1
  307. package/dist-loader/chunks/{svg-_Mtb7CHx.js → svg-Bz-bXZn7.js} +12 -4
  308. package/dist-loader/chunks/{tiptap-Db7MTUH1.js → tiptap-CgXkiK8d.js} +283 -13
  309. package/dist-loader/chunks/{tiptap.styles-BIRIMP7I.js → tiptap.styles-C0E1NpSx.js} +225 -5
  310. package/dist-loader/components/autocomplete/autocomplete.js +984 -0
  311. package/dist-loader/components/button/button.js +1 -1
  312. package/dist-loader/components/button-group/button-group-separator.js +1 -1
  313. package/dist-loader/components/button-group/button-group-text.js +1 -1
  314. package/dist-loader/components/button-group/button-group.js +1 -1
  315. package/dist-loader/components/calendar/calendar.js +1 -1
  316. package/dist-loader/components/checkbox/checkbox.js +1 -1
  317. package/dist-loader/components/checkbox-select/checkbox-select.js +2 -2
  318. package/dist-loader/components/code-editor/code-editor.js +6 -6
  319. package/dist-loader/components/color-input/color-input.js +1 -1
  320. package/dist-loader/components/combobox/combobox.js +1 -1
  321. package/dist-loader/components/connect/connect-oauth.js +4 -4
  322. package/dist-loader/components/connect/connect.js +6 -6
  323. package/dist-loader/components/copy-button/copy-button.js +48 -7
  324. package/dist-loader/components/date-picker/date-picker.js +1 -1
  325. package/dist-loader/components/dialog/dialog.js +1 -1
  326. package/dist-loader/components/dropdown-menu/dropdown-item.js +1 -1
  327. package/dist-loader/components/dropdown-menu/dropdown-label.js +1 -50
  328. package/dist-loader/components/dropdown-menu/dropdown-menu.js +1 -1
  329. package/dist-loader/components/dropdown-menu/dropdown-separator.js +1 -1
  330. package/dist-loader/components/editable-table/editable-table.js +18 -20
  331. package/dist-loader/components/field/field.js +1 -1
  332. package/dist-loader/components/icon/icon.js +2 -2
  333. package/dist-loader/components/image-browser/image-browser.js +1356 -0
  334. package/dist-loader/components/input/input.js +1 -1
  335. package/dist-loader/components/input-group/input-group-addon.js +1 -1
  336. package/dist-loader/components/input-group/input-group-button.js +1 -1
  337. package/dist-loader/components/input-group/input-group-input.js +1 -1
  338. package/dist-loader/components/input-group/input-group-text.js +1 -1
  339. package/dist-loader/components/input-group/input-group-textarea.js +1 -1
  340. package/dist-loader/components/input-group/input-group.js +2 -2
  341. package/dist-loader/components/lightswitch/lightswitch.js +1 -1
  342. package/dist-loader/components/popover/popover.js +3 -3
  343. package/dist-loader/components/popup/popup.js +1 -1
  344. package/dist-loader/components/radio-group/radio-group.js +1 -1
  345. package/dist-loader/components/radio-group/radio.js +1 -1
  346. package/dist-loader/components/scroll-area/scroll-area.js +1 -1
  347. package/dist-loader/components/select/option-group.js +1 -1
  348. package/dist-loader/components/select/option.js +1 -1
  349. package/dist-loader/components/select/select.js +1 -1
  350. package/dist-loader/components/separator/separator.js +1 -1
  351. package/dist-loader/components/spinner/spinner.js +1 -1
  352. package/dist-loader/components/status/status.js +1 -1
  353. package/dist-loader/components/tabs/tab-heading.js +1 -1
  354. package/dist-loader/components/tabs/tab-panel.js +1 -1
  355. package/dist-loader/components/tabs/tab.js +1 -1
  356. package/dist-loader/components/tabs/tabs.js +1 -1
  357. package/dist-loader/components/textarea/textarea.js +1 -1
  358. package/dist-loader/components/time-picker/time-picker.js +1 -1
  359. package/dist-loader/components/tiptap/tiptap-content.js +7 -4
  360. package/dist-loader/components/tiptap/tiptap-editor.js +336 -20
  361. package/dist-loader/components/tiptap/tiptap-input.js +3 -3
  362. package/dist-loader/components/toggle/toggle.js +1 -1
  363. package/dist-loader/components/toggle-group/toggle-group.js +1 -1
  364. package/dist-loader/components/tooltip/tooltip.js +1 -1
  365. package/dist-loader/plugin-kit.css +2 -0
  366. package/dist-loader/plugin-kit.loader.js +4 -0
  367. package/dist-loader/utilities/fouce.css +2 -0
  368. package/package.json +57 -10
  369. package/dist/chunks/component-registry-CNB8PbP_.js.map +0 -1
  370. package/dist/chunks/pk-combobox-BLft8AXy.js.map +0 -1
  371. package/dist/chunks/pk-copy-button-asOLQkqk.js.map +0 -1
  372. package/dist/chunks/pk-dropdown-item-BoZTGWMU.js.map +0 -1
  373. package/dist/chunks/pk-dropdown-menu-CfZc7dIz.js.map +0 -1
  374. package/dist/chunks/pk-editable-table-Cn4WXqAo.js.map +0 -1
  375. package/dist/chunks/pk-form-associated-element-9M2NzOE2.js.map +0 -1
  376. package/dist/chunks/pk-input-DDkIXOkt.js.map +0 -1
  377. package/dist/chunks/pk-option-MGj9SKOK.js.map +0 -1
  378. package/dist/chunks/pk-popover-duyNosk2.js.map +0 -1
  379. package/dist/chunks/pk-popup-B9AgBC2V.js.map +0 -1
  380. package/dist/chunks/pk-select-C1s0OJr0.js.map +0 -1
  381. package/dist/chunks/pk-tiptap-editor-tG67Vegc.js.map +0 -1
  382. package/dist/chunks/tiptap.styles-ChAfyVi9.js.map +0 -1
  383. /package/dist-loader/chunks/{floating-ui-DU6GNott.js → floating-ui-Cj0imr6d.js} +0 -0
  384. /package/dist-loader/chunks/{pk-connect.styles-Bfgwu0VH.js → pk-connect.styles-k61snd3X.js} +0 -0
  385. /package/dist-loader/chunks/{popup-pointer-caPc8kwB.js → popup-pointer-Ck28WdVP.js} +0 -0
  386. /package/dist-loader/chunks/{sync-listbox-separators-Dk_E_IVa.js → sync-listbox-separators-Ch5krDUs.js} +0 -0
@@ -0,0 +1,992 @@
1
+ import { t as icons_exports } from "./icons-BR8JcQj2.js";
2
+ import { a as query, i as property, o as state, s as customElement, t as __decorate } from "./decorate-R0X811qp.js";
3
+ import { t as iconStyles } from "./icon.styles-BLTWLqYp.js";
4
+ import { t as PkFormAssociatedElement } from "./pk-form-associated-element-CCQALRGB.js";
5
+ import { t as MirrorValidator } from "./mirror-validator-DCjNYrrx.js";
6
+ import { t as HasSlotController } from "./has-slot-8BvCt_qo.js";
7
+ import { n as renderIconHtml } from "./render-Dvc3MHQR.js";
8
+ import { i as uniqueId, t as LiveRegion } from "./focus-aa5dlv8k.js";
9
+ import { i as unregisterDismissible, n as isTopDismissible, r as registerDismissible } from "./dismissible-stack-XQUMfKO3.js";
10
+ import { i as scrollIntoView } from "./scroll-lock-Bbh3Sc5g.js";
11
+ import { t as PkClearEvent } from "./pk-clear--mPWZP7H.js";
12
+ import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-D0pkTQyI.js";
13
+ import "./pk-popup-B65tZMQH.js";
14
+ import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-WlEXnS85.js";
15
+ import { a as isListboxTypeToSelectKey, i as handleListboxKeyDown, n as LISTBOX_NAVIGATION_KEYS } from "./sync-listbox-separators-B1-V0oJi.js";
16
+ import { i as waitForPopupContentExitAnimation, n as AsyncOptionFetcher, r as syncFilteredOptions, t as matchesOptionFilter } from "./option-filter-BQqr8Z21.js";
17
+ import { n as isPointerInsideOverlay, t as isEventInsideOverlay } from "./popup-pointer-CuLjk1th.js";
18
+ import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-BnNiguJo.js";
19
+ import { css, html, nothing } from "lit";
20
+ import { classMap } from "lit/directives/class-map.js";
21
+ import { unsafeSVG } from "lit/directives/unsafe-svg.js";
22
+ //#region src/components/autocomplete/pk-autocomplete.styles.ts
23
+ /**
24
+ * Autocomplete chrome matches `pk-input` (text field), not Combobox’s slate
25
+ * select fill / chevron affordance. Panel / listbox tokens stay shared with
26
+ * Combobox so suggestion rows look the same.
27
+ */
28
+ var pkAutocompleteStyles = [popupContentAnimationStyles, css`
29
+ ${iconStyles}
30
+ @layer pk-component {
31
+ :host {
32
+ display: block;
33
+ position: relative;
34
+ width: 100%;
35
+ color: var(--pk-color-gray-700);
36
+ font-family: var(--pk-font-family);
37
+ font-size: var(--pk-font-size-base);
38
+ line-height: var(--pk-line-height);
39
+ /* Match pk-input control tokens — not Combobox slate fill. */
40
+ --pk-autocomplete-padding-block: 6px;
41
+ --pk-autocomplete-padding-inline: 8px;
42
+ --pk-autocomplete-control-gap: 6px;
43
+ --pk-autocomplete-decoration-size: 0.75rem;
44
+ --pk-autocomplete-font-size: var(--pk-font-size-base);
45
+ --pk-select-item-min-height: 0;
46
+ --pk-select-item-padding-block: 6px;
47
+ --pk-select-item-padding-inline: 10px;
48
+ --pk-select-item-padding-inline-end: 2rem;
49
+ --pk-select-item-font-size: 14px;
50
+ --pk-select-item-line-height: 1.4;
51
+ --pk-select-item-indicator-size: 0.75rem;
52
+ --pk-select-item-indicator-inset: 0.5rem;
53
+ --pk-select-group-label-font-size: 12px;
54
+ }
55
+
56
+ /* width="full" is the documented stretch opt-in; host already fills by default. */
57
+ :host([width='full']) {
58
+ display: block;
59
+ width: 100%;
60
+ }
61
+
62
+ .control {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: var(--pk-autocomplete-control-gap);
66
+ width: 100%;
67
+ max-width: 100%;
68
+ min-width: 0;
69
+ margin: 0;
70
+ padding-block: var(--pk-autocomplete-padding-block);
71
+ padding-inline: var(--pk-autocomplete-padding-inline);
72
+ border: var(--pk-input-border);
73
+ border-radius: var(--pk-input-border-radius, var(--pk-radius-sm));
74
+ background: var(--pk-input-bg);
75
+ background-clip: padding-box;
76
+ color: var(--pk-color-gray-700);
77
+ font: inherit;
78
+ font-size: var(--pk-autocomplete-font-size);
79
+ line-height: var(--pk-input-control-line-height, 1.25rem);
80
+ white-space: nowrap;
81
+ cursor: text;
82
+ outline: none;
83
+ box-sizing: border-box;
84
+ transition: border-color 0.12s ease, box-shadow 0.12s ease;
85
+ }
86
+
87
+ /*
88
+ * Craft text focus: resting border stays; ring is box-shadow only
89
+ * (--pk-input-focus-shadow already includes the 1px edge). Same when the
90
+ * suggestion panel is open — still a text field, not a select trigger.
91
+ */
92
+ :host(:not([invalid]):not(:state(user-invalid))) .control:focus-within,
93
+ :host(:not([invalid]):not(:state(user-invalid))[data-state='focus-visible']) .control,
94
+ :host(:not([invalid]):not(:state(user-invalid))) .control[data-popup-open] {
95
+ box-shadow: var(--pk-input-focus-shadow);
96
+ }
97
+
98
+ .control.is-disabled {
99
+ cursor: not-allowed;
100
+ opacity: 0.5;
101
+ }
102
+
103
+ .control-start,
104
+ .control-end {
105
+ display: inline-flex;
106
+ align-items: center;
107
+ flex-shrink: 0;
108
+ line-height: 0;
109
+ color: var(--pk-color-gray-400);
110
+ }
111
+
112
+ slot[name='start']::slotted(svg),
113
+ slot[name='end']::slotted(svg) {
114
+ width: var(--pk-autocomplete-decoration-size);
115
+ height: var(--pk-autocomplete-decoration-size);
116
+ }
117
+
118
+ .autocomplete-input {
119
+ flex: 1 1 auto;
120
+ width: 100%;
121
+ min-width: 0;
122
+ margin: 0;
123
+ padding: 0;
124
+ border: 0;
125
+ background: transparent;
126
+ color: inherit;
127
+ font: inherit;
128
+ line-height: var(--pk-input-control-line-height, 1.25rem);
129
+ outline: none;
130
+ }
131
+
132
+ .autocomplete-input::placeholder {
133
+ color: var(--pk-input-placeholder-color, var(--pk-color-gray-400));
134
+ }
135
+
136
+ /* Clear: flex trailing action — same contract as pk-input / Combobox clear. */
137
+ .clear-button {
138
+ display: inline-flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ flex-shrink: 0;
142
+ align-self: stretch;
143
+ box-sizing: border-box;
144
+ width: calc(var(--pk-autocomplete-decoration-size) + var(--pk-autocomplete-padding-inline));
145
+ height: auto;
146
+ min-height: var(--pk-autocomplete-decoration-size);
147
+ margin-block: calc(-1 * var(--pk-autocomplete-padding-block));
148
+ /* Match pk-copy-button[slot=end]: pull into padding but leave a 4px glyph inset. */
149
+ margin-inline-end: calc(-1 * var(--pk-autocomplete-padding-inline) + 4px);
150
+ margin-inline-start: 0;
151
+ padding: 0;
152
+ border: 0;
153
+ border-radius: 0;
154
+ background: transparent;
155
+ color: var(--pk-color-gray-600);
156
+ cursor: pointer;
157
+ outline: none;
158
+ }
159
+
160
+ .clear-button:disabled {
161
+ cursor: not-allowed;
162
+ opacity: 0.5;
163
+ }
164
+
165
+ .clear-button-icon {
166
+ display: inline-flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ line-height: 0;
170
+ pointer-events: none;
171
+ }
172
+
173
+ .clear-button-icon svg {
174
+ display: block;
175
+ width: 0.75rem;
176
+ height: 0.75rem;
177
+ }
178
+
179
+ .value-input {
180
+ position: absolute;
181
+ width: 1px;
182
+ height: 1px;
183
+ padding: 0;
184
+ margin: -1px;
185
+ overflow: hidden;
186
+ clip: rect(0, 0, 0, 0);
187
+ white-space: nowrap;
188
+ border: 0;
189
+ }
190
+
191
+ .panel ::slotted(pk-separator) {
192
+ margin: 4px 0;
193
+ }
194
+
195
+ .panel {
196
+ width: max-content;
197
+ min-width: var(--pk-autocomplete-anchor-width, 8rem);
198
+ padding: 0;
199
+ border: 0;
200
+ border-radius: var(--pk-radius-md);
201
+ background: var(--pk-color-white);
202
+ box-shadow: var(--pk-shadow-popup);
203
+ color: var(--pk-color-gray-700);
204
+ outline: none;
205
+ }
206
+
207
+ .panel-body {
208
+ max-height: 16rem;
209
+ overflow: auto;
210
+ }
211
+
212
+ .panel:not([data-open]):not(.closing) {
213
+ opacity: 0;
214
+ pointer-events: none;
215
+ }
216
+
217
+ .panel[data-open]:not(.closing) {
218
+ opacity: 1;
219
+ pointer-events: auto;
220
+ }
221
+
222
+ .panel[hidden] {
223
+ display: none !important;
224
+ }
225
+
226
+ .empty,
227
+ .async-status {
228
+ display: flex;
229
+ align-items: center;
230
+ margin: 0;
231
+ min-height: var(--pk-select-item-min-height, var(--pk-input-height));
232
+ padding-block: var(--pk-select-item-padding-block);
233
+ padding-inline: var(--pk-select-item-padding-inline);
234
+ border: var(--pk-select-trigger-border-width, 1px) solid transparent;
235
+ box-sizing: border-box;
236
+ color: var(--pk-color-gray-500);
237
+ font-size: var(--pk-select-item-font-size);
238
+ line-height: var(--pk-select-item-line-height);
239
+ }
240
+
241
+ :host([invalid]) .control,
242
+ :host(:state(user-invalid)) .control {
243
+ border-color: var(--pk-color-rose-600);
244
+ }
245
+
246
+ :host([invalid]) .control:focus-within,
247
+ :host([invalid][data-state='focus-visible']) .control,
248
+ :host(:state(user-invalid)) .control:focus-within,
249
+ :host(:state(user-invalid)[data-state='focus-visible']) .control {
250
+ box-shadow: var(--pk-input-invalid-focus-shadow);
251
+ }
252
+
253
+ :host([size='xs']) {
254
+ --pk-autocomplete-padding-block: 4px;
255
+ --pk-autocomplete-padding-inline: 6px;
256
+ --pk-autocomplete-control-gap: 4px;
257
+ --pk-autocomplete-decoration-size: 0.625rem;
258
+ --pk-autocomplete-font-size: 11px;
259
+ --pk-select-item-padding-block: 4px;
260
+ --pk-select-item-padding-inline: 8px;
261
+ --pk-select-item-padding-inline-end: 1.75rem;
262
+ --pk-select-item-font-size: 11px;
263
+ --pk-select-group-label-font-size: 11px;
264
+ }
265
+
266
+ :host([size='xs']) .clear-button-icon svg {
267
+ width: 0.625rem;
268
+ height: 0.625rem;
269
+ }
270
+
271
+ :host([size='sm']) {
272
+ --pk-autocomplete-padding-block: 4px;
273
+ --pk-autocomplete-padding-inline: 8px;
274
+ --pk-autocomplete-control-gap: 4px;
275
+ --pk-autocomplete-decoration-size: 0.6875rem;
276
+ --pk-autocomplete-font-size: 12px;
277
+ --pk-select-item-padding-block: 6px;
278
+ --pk-select-item-padding-inline: 10px;
279
+ --pk-select-item-padding-inline-end: 1.75rem;
280
+ --pk-select-item-font-size: 12px;
281
+ --pk-select-group-label-font-size: 12px;
282
+ }
283
+
284
+ :host([size='sm']) .clear-button-icon svg {
285
+ width: 0.6875rem;
286
+ height: 0.6875rem;
287
+ }
288
+
289
+ :host([size='lg']) {
290
+ --pk-autocomplete-padding-block: 8px;
291
+ --pk-autocomplete-padding-inline: 12px;
292
+ --pk-autocomplete-control-gap: 8px;
293
+ --pk-autocomplete-decoration-size: 0.875rem;
294
+ --pk-autocomplete-font-size: var(--pk-font-size-base);
295
+ --pk-select-item-padding-block: 8px;
296
+ --pk-select-item-padding-inline: 12px;
297
+ --pk-select-item-font-size: 14px;
298
+ --pk-select-group-label-font-size: 14px;
299
+ }
300
+
301
+ :host([size='xl']) {
302
+ --pk-autocomplete-padding-block: 10px;
303
+ --pk-autocomplete-padding-inline: 16px;
304
+ --pk-autocomplete-control-gap: 8px;
305
+ --pk-autocomplete-decoration-size: 1rem;
306
+ --pk-autocomplete-font-size: 16px;
307
+ --pk-select-item-padding-block: 10px;
308
+ --pk-select-item-padding-inline: 14px;
309
+ --pk-select-item-padding-inline-end: 2.25rem;
310
+ --pk-select-item-font-size: 14px;
311
+ --pk-select-group-label-font-size: 16px;
312
+ }
313
+
314
+ :host([size='xl']) .clear-button-icon svg {
315
+ width: 0.875rem;
316
+ height: 0.875rem;
317
+ }
318
+ }
319
+ `];
320
+ //#endregion
321
+ //#region src/components/autocomplete/pk-autocomplete.ts
322
+ var XMARK_ICON = renderIconHtml(icons_exports.xmark);
323
+ var PkAutocomplete = class PkAutocomplete extends PkFormAssociatedElement {
324
+ constructor(..._args) {
325
+ super(..._args);
326
+ this.assumeInteractionOn = ["blur", "input"];
327
+ this.open = false;
328
+ this.placement = "bottom-start";
329
+ this.sideOffset = 6;
330
+ this.clearable = false;
331
+ this.withClear = false;
332
+ this.autoHighlight = false;
333
+ this.invalid = false;
334
+ this.size = "default";
335
+ this.placeholder = "";
336
+ this.emptyMessage = "No options found.";
337
+ this.value = "";
338
+ this.defaultValue = "";
339
+ this.label = "";
340
+ this.instructions = "";
341
+ this.ariaLabel = null;
342
+ this.loopFocus = true;
343
+ this.filter = null;
344
+ this.async = false;
345
+ this.loadingMessage = "Searching…";
346
+ this.startTypingMessage = "Start typing to search…";
347
+ this.fetchOptions = null;
348
+ this.hasSlotController = new HasSlotController(this, "start", "end");
349
+ this.listboxId = uniqueId("pk-autocomplete-listbox");
350
+ this.inputId = uniqueId("pk-autocomplete-input");
351
+ this.options = [];
352
+ this.highlightedIndex = -1;
353
+ this.closing = false;
354
+ this.panelAnimated = false;
355
+ this.dismissRegistered = false;
356
+ this.panelEventTarget = null;
357
+ this.asyncFetcher = null;
358
+ this.asyncLoading = false;
359
+ this.asyncError = null;
360
+ this.onDocumentPointerDown = (event) => {
361
+ if (isPointerInsideOverlay(event, {
362
+ anchor: this.controlElement,
363
+ panel: this.panelElement
364
+ })) return;
365
+ this.closePanel("light-dismiss");
366
+ };
367
+ this.onDocumentKeyDown = (event) => {
368
+ if (!this.open) return;
369
+ if (event.key === "Escape") {
370
+ if (!isTopDismissible(this)) return;
371
+ event.preventDefault();
372
+ event.stopPropagation();
373
+ this.closePanel("escape");
374
+ return;
375
+ }
376
+ if (!(LISTBOX_NAVIGATION_KEYS.has(event.key) || isListboxTypeToSelectKey(event))) return;
377
+ const panel = this.panelElement;
378
+ const path = event.composedPath();
379
+ if (!Boolean(panel && path.includes(panel))) return;
380
+ if (!isEventInsideOverlay(event, {
381
+ anchor: this.controlElement,
382
+ panel
383
+ })) return;
384
+ event.preventDefault();
385
+ event.stopPropagation();
386
+ this.onListboxKeyDown(event);
387
+ };
388
+ this.handleOptionSelect = (event) => {
389
+ const { value } = event.detail;
390
+ this.commitValue(value, { close: true });
391
+ };
392
+ this.handleOptionHighlight = (event) => {
393
+ if (!this.open) return;
394
+ const index = this.getEnabledVisibleOptions().findIndex((option) => option.value === event.detail.value);
395
+ if (index === -1 || index === this.highlightedIndex) return;
396
+ this.highlightedIndex = index;
397
+ this.syncHighlight();
398
+ };
399
+ this.handleControlMouseDown = (event) => {
400
+ if (this.disabled) return;
401
+ if (event.composedPath().some((node) => {
402
+ if (!(node instanceof HTMLElement)) return false;
403
+ return node.classList.contains("clear-button");
404
+ })) return;
405
+ const isInput = event.target === this.controlInput;
406
+ if (!this.open && !this.closing) {
407
+ if (!isInput) event.preventDefault();
408
+ this.controlInput?.focus({ preventScroll: true });
409
+ this.openPanel();
410
+ return;
411
+ }
412
+ if (!isInput) {
413
+ event.preventDefault();
414
+ this.controlInput?.focus({ preventScroll: true });
415
+ }
416
+ };
417
+ this.handleListboxKeyDownEvent = (event) => {
418
+ this.onListboxKeyDown(event.detail.keyboardEvent);
419
+ };
420
+ }
421
+ static {
422
+ this.styles = pkAutocompleteStyles;
423
+ }
424
+ static get validators() {
425
+ return [
426
+ ...super.validators,
427
+ MirrorValidator(),
428
+ {
429
+ observedAttributes: ["required"],
430
+ checkValidity: (element) => {
431
+ const field = element;
432
+ const result = {
433
+ message: "Please fill out this field.",
434
+ isValid: true,
435
+ invalidKeys: []
436
+ };
437
+ if (!field.required || field.value.trim()) return result;
438
+ result.isValid = false;
439
+ result.invalidKeys.push("valueMissing");
440
+ return result;
441
+ }
442
+ }
443
+ ];
444
+ }
445
+ get panelElement() {
446
+ return this.popupElement?.getContentElement() ?? null;
447
+ }
448
+ get panelBodyElement() {
449
+ return this.panelElement?.querySelector(".panel-body");
450
+ }
451
+ get listScrollContainer() {
452
+ return this.panelBodyElement ?? this.panelElement ?? this;
453
+ }
454
+ connectedCallback() {
455
+ this.instructions = this.getAttribute("hint") ?? this.instructions;
456
+ this.refreshOptions();
457
+ super.connectedCallback();
458
+ this.syncHasValueAttribute();
459
+ this.addEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
460
+ this.optionsObserver = new MutationObserver(() => {
461
+ this.handleOptionsMutation({ render: true });
462
+ });
463
+ this.optionsObserver.observe(this, {
464
+ childList: true,
465
+ subtree: true
466
+ });
467
+ }
468
+ disconnectedCallback() {
469
+ this.unbindPanelEvents();
470
+ this.removeEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
471
+ this.optionsObserver?.disconnect();
472
+ this.liveRegion?.destroy();
473
+ this.liveRegion = void 0;
474
+ this.asyncFetcher?.cancel();
475
+ this.closePanel("api");
476
+ super.disconnectedCallback();
477
+ }
478
+ firstUpdated(changed) {
479
+ super.firstUpdated(changed);
480
+ if (!this.value && this.defaultValue) this.value = this.defaultValue;
481
+ this.applyOptionState();
482
+ }
483
+ updated(changed) {
484
+ if (changed.has("value")) {
485
+ this.syncHasValueAttribute();
486
+ this.applyOptionState();
487
+ }
488
+ super.updated(changed);
489
+ }
490
+ get validationTarget() {
491
+ return this.controlInput ?? this.controlElement;
492
+ }
493
+ getAriaMirrorTarget() {
494
+ return this.controlInput ?? this.controlElement ?? null;
495
+ }
496
+ syncFormValue() {
497
+ if (!this.name) {
498
+ this.setFormValue(null);
499
+ return;
500
+ }
501
+ this.setFormValue(this.value);
502
+ }
503
+ syncHasValueAttribute() {
504
+ this.toggleAttribute("data-has-value", Boolean(this.value));
505
+ }
506
+ refreshOptions() {
507
+ this.options = [...this.querySelectorAll("pk-option")];
508
+ }
509
+ handleOptionsMutation(options = {}) {
510
+ this.refreshOptions();
511
+ this.applyOptionState();
512
+ if (options.render) this.requestUpdate();
513
+ }
514
+ bindPanelEvents() {
515
+ const panel = this.panelElement;
516
+ if (!panel || this.panelEventTarget === panel) return;
517
+ this.unbindPanelEvents();
518
+ this.panelEventTarget = panel;
519
+ panel.addEventListener("pk-option-select", this.handleOptionSelect);
520
+ panel.addEventListener("pk-option-highlight", this.handleOptionHighlight);
521
+ panel.addEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
522
+ }
523
+ unbindPanelEvents() {
524
+ if (!this.panelEventTarget) return;
525
+ this.panelEventTarget.removeEventListener("pk-option-select", this.handleOptionSelect);
526
+ this.panelEventTarget.removeEventListener("pk-option-highlight", this.handleOptionHighlight);
527
+ this.panelEventTarget.removeEventListener("pk-listbox-keydown", this.handleListboxKeyDownEvent);
528
+ this.panelEventTarget = null;
529
+ }
530
+ isOptionInHiddenGroup(option) {
531
+ const group = option.closest("pk-option-group");
532
+ return Boolean(group?.hidden);
533
+ }
534
+ getFilterQuery() {
535
+ if (!this.open) return "";
536
+ return this.value.trim().toLowerCase();
537
+ }
538
+ get usesAsyncSearch() {
539
+ return this.async && Boolean(this.fetchOptions);
540
+ }
541
+ getVisibleOptions() {
542
+ if (this.usesAsyncSearch) return this.options.filter((option) => !this.isOptionInHiddenGroup(option));
543
+ const filter = this.getFilterQuery();
544
+ return this.options.filter((option) => {
545
+ if (this.isOptionInHiddenGroup(option)) return false;
546
+ if (!filter) return true;
547
+ return matchesOptionFilter(option, filter, this.filter);
548
+ });
549
+ }
550
+ getEnabledVisibleOptions() {
551
+ return this.getVisibleOptions().filter((option) => !option.disabled);
552
+ }
553
+ clearAsyncOptionNodes() {
554
+ this.querySelectorAll(":scope > pk-option, :scope > pk-option-group, :scope > pk-separator").forEach((node) => node.remove());
555
+ }
556
+ renderAsyncOptionNodes(items) {
557
+ this.clearAsyncOptionNodes();
558
+ for (const item of items) {
559
+ const option = document.createElement("pk-option");
560
+ option.value = item.value;
561
+ option.textContent = item.label;
562
+ this.append(option);
563
+ }
564
+ this.handleOptionsMutation({ render: true });
565
+ }
566
+ scheduleAsyncFetch(query) {
567
+ this.ensureAsyncFetcher().schedule(query);
568
+ }
569
+ ensureAsyncFetcher() {
570
+ if (!this.asyncFetcher) this.asyncFetcher = new AsyncOptionFetcher(() => this.fetchOptions, {
571
+ errorLabel: "autocomplete options",
572
+ onLoading: () => {
573
+ this.asyncLoading = true;
574
+ this.asyncError = null;
575
+ this.renderAsyncOptionNodes([]);
576
+ },
577
+ onResults: (results) => {
578
+ this.renderAsyncOptionNodes(results);
579
+ },
580
+ onError: (message) => {
581
+ this.asyncError = message;
582
+ },
583
+ onSettled: () => {
584
+ this.asyncLoading = false;
585
+ },
586
+ onEmptyQuery: () => {
587
+ this.asyncLoading = false;
588
+ this.asyncError = null;
589
+ this.renderAsyncOptionNodes([]);
590
+ }
591
+ });
592
+ return this.asyncFetcher;
593
+ }
594
+ getAsyncStatusMessage() {
595
+ if (!this.usesAsyncSearch || !this.open) return null;
596
+ if (this.asyncLoading) return this.loadingMessage;
597
+ if (this.asyncError) return this.asyncError;
598
+ const query = this.value.trim();
599
+ if (!query) return this.startTypingMessage;
600
+ if (this.getEnabledVisibleOptions().length === 0) return `No matches for "${query}".`;
601
+ return null;
602
+ }
603
+ applyOptionState() {
604
+ const visible = this.getVisibleOptions();
605
+ const filterQuery = this.open ? this.getFilterQuery() : "";
606
+ syncFilteredOptions({
607
+ host: this,
608
+ options: this.options,
609
+ visible,
610
+ listboxId: this.listboxId,
611
+ filterQuery,
612
+ isSelected: () => false
613
+ });
614
+ this.syncValueInput();
615
+ if (this.open) {
616
+ this.syncHighlight();
617
+ this.announceFilterResults();
618
+ }
619
+ }
620
+ syncValueInput() {
621
+ if (!this.input) return;
622
+ this.input.value = this.value;
623
+ this.input.required = this.required;
624
+ }
625
+ resetHighlightedIndexOnOpen() {
626
+ this.highlightedIndex = this.autoHighlight ? 0 : -1;
627
+ }
628
+ syncHighlight() {
629
+ const enabled = this.getEnabledVisibleOptions();
630
+ for (const option of this.options) {
631
+ option.highlighted = false;
632
+ option.focusIndex = -1;
633
+ }
634
+ if (enabled.length === 0 || this.highlightedIndex < 0) return;
635
+ if (this.highlightedIndex >= enabled.length) this.highlightedIndex = enabled.length - 1;
636
+ const highlighted = enabled[this.highlightedIndex];
637
+ if (highlighted) {
638
+ highlighted.highlighted = true;
639
+ highlighted.focusIndex = -1;
640
+ scrollIntoView(highlighted, this.listScrollContainer, "vertical", "auto");
641
+ this.controlInput?.focus({ preventScroll: true });
642
+ }
643
+ }
644
+ getActiveDescendantId() {
645
+ return this.getEnabledVisibleOptions()[this.highlightedIndex]?.optionId || null;
646
+ }
647
+ announceFilterResults() {
648
+ if (!this.liveRegion) this.liveRegion = new LiveRegion("polite");
649
+ const count = this.getEnabledVisibleOptions().length;
650
+ if (!this.getFilterQuery()) return;
651
+ this.liveRegion.announce(count === 0 ? `${this.emptyMessage}` : `${count} ${count === 1 ? "result" : "results"} available`);
652
+ }
653
+ openPanel() {
654
+ const anchor = this.controlElement;
655
+ if (!anchor) return Promise.resolve();
656
+ if (this.open) {
657
+ this.controlInput?.focus({ preventScroll: true });
658
+ return Promise.resolve();
659
+ }
660
+ if (this.closing) return Promise.resolve();
661
+ this.dispatchEvent(new PkShowEvent());
662
+ this.closing = false;
663
+ this.panelAnimated = false;
664
+ this.open = true;
665
+ this.applyOptionState();
666
+ this.resetHighlightedIndexOnOpen();
667
+ if (this.usesAsyncSearch) {
668
+ this.asyncError = null;
669
+ this.renderAsyncOptionNodes([]);
670
+ const query = this.value.trim();
671
+ this.asyncLoading = Boolean(query);
672
+ this.scheduleAsyncFetch(query);
673
+ }
674
+ this.style.setProperty("--pk-autocomplete-anchor-width", `${anchor.getBoundingClientRect().width}px`);
675
+ this.popupElement.active = true;
676
+ if (this.panelElement) {
677
+ this.panelElement.hidden = false;
678
+ syncPopupPlacementAnimation(this.panelElement, this.placement);
679
+ }
680
+ this.registerDismissHandlers();
681
+ this.syncHighlight();
682
+ this.controlInput?.focus({ preventScroll: true });
683
+ return this.updateComplete.then(async () => {
684
+ const placement = await waitForPopupReposition(this.popupElement, this.placement, 300, { requireEvent: true });
685
+ if (this.panelElement) syncPopupPlacementAnimation(this.panelElement, placement);
686
+ this.panelAnimated = true;
687
+ this.bindPanelEvents();
688
+ this.refreshOptions();
689
+ this.controlInput?.focus({ preventScroll: true });
690
+ this.dispatchEvent(new PkAfterShowEvent());
691
+ this.dispatchEvent(new CustomEvent("pk-open-change", {
692
+ detail: { open: true },
693
+ bubbles: true,
694
+ composed: true
695
+ }));
696
+ });
697
+ }
698
+ async closePanel(source = "unknown") {
699
+ if (!this.open || this.closing) return;
700
+ const hideEvent = new PkHideEvent(source);
701
+ if (!this.dispatchEvent(hideEvent)) return;
702
+ this.unbindPanelEvents();
703
+ this.closing = true;
704
+ this.panelAnimated = false;
705
+ await waitForPopupContentExitAnimation(this.panelElement);
706
+ this.open = false;
707
+ this.closing = false;
708
+ this.panelAnimated = false;
709
+ if (this.panelElement) {
710
+ this.panelElement.hidden = true;
711
+ this.panelElement.removeAttribute("data-side");
712
+ }
713
+ this.popupElement.active = false;
714
+ this.unregisterDismissHandlers();
715
+ this.applyOptionState();
716
+ if (this.usesAsyncSearch) {
717
+ this.asyncFetcher?.cancel();
718
+ this.asyncLoading = false;
719
+ this.asyncError = null;
720
+ this.renderAsyncOptionNodes([]);
721
+ }
722
+ if (source !== "light-dismiss" && source !== "pointer-dismiss") this.controlInput?.focus({ preventScroll: true });
723
+ else this.controlInput?.blur();
724
+ this.dispatchEvent(new PkAfterHideEvent());
725
+ this.dispatchEvent(new CustomEvent("pk-open-change", {
726
+ detail: { open: false },
727
+ bubbles: true,
728
+ composed: true
729
+ }));
730
+ }
731
+ registerDismissHandlers() {
732
+ registerDismissible(this);
733
+ this.dismissRegistered = true;
734
+ document.addEventListener("pointerdown", this.onDocumentPointerDown, true);
735
+ document.addEventListener("keydown", this.onDocumentKeyDown, true);
736
+ }
737
+ unregisterDismissHandlers() {
738
+ if (this.dismissRegistered) {
739
+ unregisterDismissible(this);
740
+ this.dismissRegistered = false;
741
+ }
742
+ document.removeEventListener("pointerdown", this.onDocumentPointerDown, true);
743
+ document.removeEventListener("keydown", this.onDocumentKeyDown, true);
744
+ }
745
+ commitValue(next, { close = false, emit = true } = {}) {
746
+ const changed = this.value !== next;
747
+ this.value = next;
748
+ this.syncHasValueAttribute();
749
+ this.applyOptionState();
750
+ if (close) this.closePanel("api");
751
+ if (changed && emit) this.emitValueChange();
752
+ }
753
+ handleClear(event) {
754
+ event.preventDefault();
755
+ event.stopPropagation();
756
+ this.commitValue("");
757
+ this.dispatchEvent(new PkClearEvent());
758
+ this.controlInput?.focus();
759
+ }
760
+ emitValueChange() {
761
+ this.dispatchEvent(new CustomEvent("pk-change", {
762
+ detail: { value: this.value },
763
+ bubbles: true,
764
+ composed: true
765
+ }));
766
+ this.dispatchEvent(new Event("input", {
767
+ bubbles: true,
768
+ composed: true
769
+ }));
770
+ this.dispatchEvent(new Event("change", {
771
+ bubbles: true,
772
+ composed: true
773
+ }));
774
+ }
775
+ handleInput(event) {
776
+ const next = event.target.value;
777
+ this.value = next;
778
+ this.syncHasValueAttribute();
779
+ this.highlightedIndex = this.autoHighlight ? 0 : -1;
780
+ this.applyOptionState();
781
+ this.emitValueChange();
782
+ if (this.usesAsyncSearch) {
783
+ this.asyncError = null;
784
+ this.scheduleAsyncFetch(next.trim());
785
+ }
786
+ if (!this.open) this.openPanel();
787
+ }
788
+ handleInputKeyDown(event) {
789
+ if (event.key === "Escape" && this.open) {
790
+ event.preventDefault();
791
+ this.closePanel("escape");
792
+ return;
793
+ }
794
+ if (event.key === "ArrowDown" && !this.open) {
795
+ event.preventDefault();
796
+ this.openPanel();
797
+ return;
798
+ }
799
+ if (!this.open) return;
800
+ if (event.key === "Enter") {
801
+ const enabled = this.getEnabledVisibleOptions();
802
+ if (this.highlightedIndex >= 0 && enabled[this.highlightedIndex]) {
803
+ event.preventDefault();
804
+ this.commitValue(enabled[this.highlightedIndex].value, { close: true });
805
+ } else this.closePanel("api");
806
+ return;
807
+ }
808
+ if (LISTBOX_NAVIGATION_KEYS.has(event.key) && event.key !== "Enter" && event.key !== "Escape") this.onListboxKeyDown(event);
809
+ }
810
+ onListboxKeyDown(event) {
811
+ const enabled = this.getEnabledVisibleOptions();
812
+ this.highlightedIndex = handleListboxKeyDown(event, {
813
+ items: enabled,
814
+ currentIndex: this.highlightedIndex,
815
+ loop: this.loopFocus,
816
+ onSelect: (index) => {
817
+ const option = this.getEnabledVisibleOptions()[index];
818
+ if (option) this.commitValue(option.value, { close: true });
819
+ },
820
+ onClose: () => {
821
+ this.closePanel("escape");
822
+ },
823
+ focusItem: (index) => {
824
+ this.highlightedIndex = index;
825
+ this.syncHighlight();
826
+ }
827
+ });
828
+ }
829
+ async hide(source = "api") {
830
+ await this.closePanel(source);
831
+ }
832
+ renderHostDecorationSlot(name) {
833
+ if (!this.hasSlotController.test(name)) return nothing;
834
+ return html`<slot name=${name} part=${name} class=${name === "start" ? "control-start" : "control-end"}></slot>`;
835
+ }
836
+ render() {
837
+ const visibleOptions = this.getEnabledVisibleOptions();
838
+ const showEmpty = this.open && !this.usesAsyncSearch && visibleOptions.length === 0;
839
+ const asyncStatus = this.getAsyncStatusMessage();
840
+ const showClear = (this.clearable || this.withClear) && Boolean(this.value) && !this.disabled;
841
+ const activeDescendant = this.open ? this.getActiveDescendantId() : null;
842
+ return html`
843
+ <input
844
+ class="value-input"
845
+ part="value-input"
846
+ tabindex="-1"
847
+ aria-hidden="true"
848
+ .value=${this.value}
849
+ ?required=${this.required}
850
+ @input=${() => this.updateValidity()}
851
+ />
852
+ <div
853
+ part="control"
854
+ class=${classMap({
855
+ control: true,
856
+ "is-disabled": this.disabled
857
+ })}
858
+ data-popup-open=${this.open || this.closing ? "" : nothing}
859
+ @mousedown=${this.handleControlMouseDown}
860
+ >
861
+ ${this.renderHostDecorationSlot("start")}
862
+ <input
863
+ part="input"
864
+ class="autocomplete-input control-input"
865
+ type="text"
866
+ role="combobox"
867
+ id=${this.inputId}
868
+ .value=${this.value}
869
+ placeholder=${this.placeholder || nothing}
870
+ ?disabled=${this.disabled}
871
+ aria-label=${this.ariaLabel ?? nothing}
872
+ aria-expanded=${this.open ? "true" : "false"}
873
+ aria-controls=${this.listboxId}
874
+ aria-autocomplete="both"
875
+ aria-activedescendant=${activeDescendant ?? nothing}
876
+ @input=${this.handleInput}
877
+ @keydown=${this.handleInputKeyDown}
878
+ />
879
+ ${this.renderHostDecorationSlot("end")}
880
+ ${showClear ? html`
881
+ <button
882
+ type="button"
883
+ class="clear-button"
884
+ part="clear-button"
885
+ aria-label="Clear"
886
+ ?disabled=${this.disabled}
887
+ @click=${this.handleClear}
888
+ >
889
+ <span class="clear-button-icon" aria-hidden="true">${unsafeSVG(XMARK_ICON)}</span>
890
+ </button>
891
+ ` : nothing}
892
+ </div>
893
+ <pk-popup
894
+ .active=${this.open || this.closing}
895
+ .anchor=${this.controlElement ?? ""}
896
+ .placement=${this.placement}
897
+ .distance=${this.sideOffset}
898
+ .sync=${"width"}
899
+ flip
900
+ shift
901
+ >
902
+ <div
903
+ part="panel"
904
+ class=${classMap({
905
+ panel: true,
906
+ "pk-popup-content": true,
907
+ closing: this.closing
908
+ })}
909
+ tabindex="-1"
910
+ ?hidden=${!this.open && !this.closing}
911
+ data-open=${this.panelAnimated && !this.closing ? "" : nothing}
912
+ >
913
+ <div
914
+ part="panel-body"
915
+ class="panel-body"
916
+ id=${this.listboxId}
917
+ role="listbox"
918
+ aria-busy=${this.usesAsyncSearch && this.asyncLoading ? "true" : nothing}
919
+ >
920
+ <slot></slot>
921
+ ${asyncStatus ? html`
922
+ <div part="async-status" class="async-status" role="status">${asyncStatus}</div>
923
+ ` : nothing}
924
+ ${showEmpty ? html`
925
+ <div part="empty" class="empty">${this.emptyMessage}</div>
926
+ ` : nothing}
927
+ </div>
928
+ </div>
929
+ </pk-popup>
930
+ `;
931
+ }
932
+ };
933
+ __decorate([property({
934
+ type: Boolean,
935
+ reflect: true
936
+ })], PkAutocomplete.prototype, "open", void 0);
937
+ __decorate([property({ reflect: true })], PkAutocomplete.prototype, "placement", void 0);
938
+ __decorate([property({
939
+ attribute: "side-offset",
940
+ type: Number
941
+ })], PkAutocomplete.prototype, "sideOffset", void 0);
942
+ __decorate([property({
943
+ type: Boolean,
944
+ reflect: true
945
+ })], PkAutocomplete.prototype, "clearable", void 0);
946
+ __decorate([property({
947
+ attribute: "with-clear",
948
+ type: Boolean
949
+ })], PkAutocomplete.prototype, "withClear", void 0);
950
+ __decorate([property({
951
+ attribute: "auto-highlight",
952
+ type: Boolean
953
+ })], PkAutocomplete.prototype, "autoHighlight", void 0);
954
+ __decorate([property({
955
+ type: Boolean,
956
+ reflect: true
957
+ })], PkAutocomplete.prototype, "invalid", void 0);
958
+ __decorate([property({ reflect: true })], PkAutocomplete.prototype, "size", void 0);
959
+ __decorate([property({ reflect: true })], PkAutocomplete.prototype, "width", void 0);
960
+ __decorate([property()], PkAutocomplete.prototype, "placeholder", void 0);
961
+ __decorate([property({ attribute: "empty-message" })], PkAutocomplete.prototype, "emptyMessage", void 0);
962
+ __decorate([property()], PkAutocomplete.prototype, "value", void 0);
963
+ __decorate([property({ attribute: "default-value" })], PkAutocomplete.prototype, "defaultValue", void 0);
964
+ __decorate([property()], PkAutocomplete.prototype, "label", void 0);
965
+ __decorate([property()], PkAutocomplete.prototype, "instructions", void 0);
966
+ __decorate([property({ attribute: "aria-label" })], PkAutocomplete.prototype, "ariaLabel", void 0);
967
+ __decorate([property({
968
+ attribute: "loop-focus",
969
+ type: Boolean
970
+ })], PkAutocomplete.prototype, "loopFocus", void 0);
971
+ __decorate([property({ attribute: false })], PkAutocomplete.prototype, "filter", void 0);
972
+ __decorate([property({
973
+ type: Boolean,
974
+ reflect: true
975
+ })], PkAutocomplete.prototype, "async", void 0);
976
+ __decorate([property({ attribute: "loading-message" })], PkAutocomplete.prototype, "loadingMessage", void 0);
977
+ __decorate([property({ attribute: "start-typing-message" })], PkAutocomplete.prototype, "startTypingMessage", void 0);
978
+ __decorate([property({ attribute: false })], PkAutocomplete.prototype, "fetchOptions", void 0);
979
+ __decorate([query("pk-popup")], PkAutocomplete.prototype, "popupElement", void 0);
980
+ __decorate([query(".control")], PkAutocomplete.prototype, "controlElement", void 0);
981
+ __decorate([query(".control-input")], PkAutocomplete.prototype, "controlInput", void 0);
982
+ __decorate([query(".value-input")], PkAutocomplete.prototype, "input", void 0);
983
+ __decorate([state()], PkAutocomplete.prototype, "highlightedIndex", void 0);
984
+ __decorate([state()], PkAutocomplete.prototype, "closing", void 0);
985
+ __decorate([state()], PkAutocomplete.prototype, "panelAnimated", void 0);
986
+ __decorate([state()], PkAutocomplete.prototype, "asyncLoading", void 0);
987
+ __decorate([state()], PkAutocomplete.prototype, "asyncError", void 0);
988
+ PkAutocomplete = __decorate([customElement("pk-autocomplete")], PkAutocomplete);
989
+ //#endregion
990
+ export { PkAutocomplete as t };
991
+
992
+ //# sourceMappingURL=pk-autocomplete-IFL-u-RF.js.map