@verbb/plugin-kit-web 2.0.15 → 2.0.16

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 (353) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/custom-elements.json +39571 -0
  3. package/dist/base/pk-form-associated-element.d.ts +17 -1
  4. package/dist/base/pk-form-associated-element.d.ts.map +1 -1
  5. package/dist/chunks/{animate-with-class-ZJeCOKB3.js → animate-with-class-CsDwYnXL.js} +1 -1
  6. package/dist/chunks/{animate-with-class-ZJeCOKB3.js.map → animate-with-class-CsDwYnXL.js.map} +1 -1
  7. package/dist/chunks/{autoloader-DPX9YYZs.js → autoloader-dJO3tYOX.js} +2 -2
  8. package/dist/chunks/{autoloader-DPX9YYZs.js.map → autoloader-dJO3tYOX.js.map} +1 -1
  9. package/dist/chunks/{component-registry-CNB8PbP_.js → component-registry-D34fm8xW.js} +5 -1
  10. package/dist/chunks/component-registry-D34fm8xW.js.map +1 -0
  11. package/dist/chunks/{field-labels-CoU9dnNq.js → field-labels-CmuAW8Cl.js} +1 -1
  12. package/dist/chunks/{field-labels-CoU9dnNq.js.map → field-labels-CmuAW8Cl.js.map} +1 -1
  13. package/dist/chunks/option-filter-BQqr8Z21.js +121 -0
  14. package/dist/chunks/option-filter-BQqr8Z21.js.map +1 -0
  15. package/dist/chunks/pk-autocomplete-kOT0Zlld.js +992 -0
  16. package/dist/chunks/pk-autocomplete-kOT0Zlld.js.map +1 -0
  17. package/dist/chunks/{pk-button-BWGDkuzc.js → pk-button-BrH4u4Qr.js} +8 -4
  18. package/dist/chunks/{pk-button-BWGDkuzc.js.map → pk-button-BrH4u4Qr.js.map} +1 -1
  19. package/dist/chunks/{pk-calendar-enTOUCRD.js → pk-calendar-Z7Y0PjeY.js} +1 -1
  20. package/dist/chunks/{pk-calendar-enTOUCRD.js.map → pk-calendar-Z7Y0PjeY.js.map} +1 -1
  21. package/dist/chunks/{pk-checkbox-CvZwJZn_.js → pk-checkbox-CfV1uDdC.js} +2 -2
  22. package/dist/chunks/{pk-checkbox-CvZwJZn_.js.map → pk-checkbox-CfV1uDdC.js.map} +1 -1
  23. package/dist/chunks/{pk-checkbox-select-DclPoyDM.js → pk-checkbox-select-DeCaI3a0.js} +2 -2
  24. package/dist/chunks/{pk-checkbox-select-DclPoyDM.js.map → pk-checkbox-select-DeCaI3a0.js.map} +1 -1
  25. package/dist/chunks/{pk-code-editor-CrKnJUyi.js → pk-code-editor-BG9sG_Fy.js} +2 -2
  26. package/dist/chunks/{pk-code-editor-CrKnJUyi.js.map → pk-code-editor-BG9sG_Fy.js.map} +1 -1
  27. package/dist/chunks/{pk-color-input-DXdqNCK7.js → pk-color-input-CncNce1C.js} +2 -2
  28. package/dist/chunks/{pk-color-input-DXdqNCK7.js.map → pk-color-input-CncNce1C.js.map} +1 -1
  29. package/dist/chunks/{pk-combobox-BLft8AXy.js → pk-combobox-Dn7UJ_CV.js} +48 -91
  30. package/dist/chunks/pk-combobox-Dn7UJ_CV.js.map +1 -0
  31. package/dist/chunks/{pk-connect.styles-DshgIW2n.js → pk-connect.styles-BhW406jt.js} +1 -1
  32. package/dist/chunks/{pk-connect.styles-DshgIW2n.js.map → pk-connect.styles-BhW406jt.js.map} +1 -1
  33. package/dist/chunks/{pk-copy-button-asOLQkqk.js → pk-copy-button-BVaOLtYG.js} +46 -5
  34. package/dist/chunks/pk-copy-button-BVaOLtYG.js.map +1 -0
  35. package/dist/chunks/{pk-date-picker-Bri3kZ6x.js → pk-date-picker-DfIvmoZ1.js} +5 -5
  36. package/dist/chunks/{pk-date-picker-Bri3kZ6x.js.map → pk-date-picker-DfIvmoZ1.js.map} +1 -1
  37. package/dist/chunks/{pk-dialog-BbEfvb0g.js → pk-dialog-VMQqLW1f.js} +2 -2
  38. package/dist/chunks/{pk-dialog-BbEfvb0g.js.map → pk-dialog-VMQqLW1f.js.map} +1 -1
  39. package/dist/chunks/{pk-dropdown-item-BoZTGWMU.js → pk-dropdown-item-BZQS87U0.js} +2 -2
  40. package/dist/chunks/{pk-dropdown-item-BoZTGWMU.js.map → pk-dropdown-item-BZQS87U0.js.map} +1 -1
  41. package/dist/chunks/{pk-dropdown-label-Da28F917.js → pk-dropdown-label-CRNWMWQd.js} +1 -1
  42. package/dist/chunks/{pk-dropdown-label-Da28F917.js.map → pk-dropdown-label-CRNWMWQd.js.map} +1 -1
  43. package/dist/chunks/{pk-dropdown-menu-CfZc7dIz.js → pk-dropdown-menu-D60p2-9X.js} +3 -3
  44. package/dist/chunks/{pk-dropdown-menu-CfZc7dIz.js.map → pk-dropdown-menu-D60p2-9X.js.map} +1 -1
  45. package/dist/chunks/{pk-editable-table-Cn4WXqAo.js → pk-editable-table-BQ47MXpu.js} +17 -19
  46. package/dist/chunks/pk-editable-table-BQ47MXpu.js.map +1 -0
  47. package/dist/chunks/{pk-field-NL4KdFZC.js → pk-field-UAlMq6mQ.js} +2 -2
  48. package/dist/chunks/{pk-field-NL4KdFZC.js.map → pk-field-UAlMq6mQ.js.map} +1 -1
  49. package/dist/chunks/{pk-form-associated-element-9M2NzOE2.js → pk-form-associated-element-CCQALRGB.js} +14 -2
  50. package/dist/chunks/pk-form-associated-element-CCQALRGB.js.map +1 -0
  51. package/dist/chunks/pk-image-browser-BXFDfch3.js +1364 -0
  52. package/dist/chunks/pk-image-browser-BXFDfch3.js.map +1 -0
  53. package/dist/chunks/{pk-input-DDkIXOkt.js → pk-input-CF_icEtR.js} +76 -30
  54. package/dist/chunks/pk-input-CF_icEtR.js.map +1 -0
  55. package/dist/chunks/{pk-input-group-CRPSBFhX.js → pk-input-group-CWdoVhkH.js} +1 -1
  56. package/dist/chunks/{pk-input-group-CRPSBFhX.js.map → pk-input-group-CWdoVhkH.js.map} +1 -1
  57. package/dist/chunks/{pk-input-group-addon-B0StOmTJ.js → pk-input-group-addon-ClBkGmAw.js} +1 -1
  58. package/dist/chunks/{pk-input-group-addon-B0StOmTJ.js.map → pk-input-group-addon-ClBkGmAw.js.map} +1 -1
  59. package/dist/chunks/{pk-input-group-button-CnKajvsP.js → pk-input-group-button-CHQHsWd4.js} +1 -1
  60. package/dist/chunks/{pk-input-group-button-CnKajvsP.js.map → pk-input-group-button-CHQHsWd4.js.map} +1 -1
  61. package/dist/chunks/{pk-input-group-input-mllffsjQ.js → pk-input-group-input-oNnqMBGU.js} +1 -1
  62. package/dist/chunks/{pk-input-group-input-mllffsjQ.js.map → pk-input-group-input-oNnqMBGU.js.map} +1 -1
  63. package/dist/chunks/{pk-input-group-text-DvaPJvh2.js → pk-input-group-text-HUxlXROB.js} +1 -1
  64. package/dist/chunks/{pk-input-group-text-DvaPJvh2.js.map → pk-input-group-text-HUxlXROB.js.map} +1 -1
  65. package/dist/chunks/{pk-input-group-textarea-CqYv8tUQ.js → pk-input-group-textarea-Cl2FNuw-.js} +1 -1
  66. package/dist/chunks/{pk-input-group-textarea-CqYv8tUQ.js.map → pk-input-group-textarea-Cl2FNuw-.js.map} +1 -1
  67. package/dist/chunks/{pk-lightswitch-DI1BeCmA.js → pk-lightswitch-D1qEFRxK.js} +3 -3
  68. package/dist/chunks/{pk-lightswitch-DI1BeCmA.js.map → pk-lightswitch-D1qEFRxK.js.map} +1 -1
  69. package/dist/chunks/{pk-option-MGj9SKOK.js → pk-option-DQZHV9jL.js} +3 -2
  70. package/dist/chunks/pk-option-DQZHV9jL.js.map +1 -0
  71. package/dist/chunks/{pk-option-group-Cs6N7mlP.js → pk-option-group-CCzJkBFp.js} +1 -1
  72. package/dist/chunks/{pk-option-group-Cs6N7mlP.js.map → pk-option-group-CCzJkBFp.js.map} +1 -1
  73. package/dist/chunks/{pk-popover-duyNosk2.js → pk-popover-KSIOYlbs.js} +3 -3
  74. package/dist/chunks/{pk-popover-duyNosk2.js.map → pk-popover-KSIOYlbs.js.map} +1 -1
  75. package/dist/chunks/{pk-radio-BK4D2Htu.js → pk-radio-B5XkMHy3.js} +1 -1
  76. package/dist/chunks/{pk-radio-BK4D2Htu.js.map → pk-radio-B5XkMHy3.js.map} +1 -1
  77. package/dist/chunks/{pk-radio-group-BRJIjOsR.js → pk-radio-group-ByrxGLdX.js} +3 -3
  78. package/dist/chunks/{pk-radio-group-BRJIjOsR.js.map → pk-radio-group-ByrxGLdX.js.map} +1 -1
  79. package/dist/chunks/{pk-scroll-area-BR6ckorh.js → pk-scroll-area-CdfNxYz8.js} +1 -1
  80. package/dist/chunks/{pk-scroll-area-BR6ckorh.js.map → pk-scroll-area-CdfNxYz8.js.map} +1 -1
  81. package/dist/chunks/{pk-select-C1s0OJr0.js → pk-select-DQtORz-v.js} +6 -4
  82. package/dist/chunks/pk-select-DQtORz-v.js.map +1 -0
  83. package/dist/chunks/{pk-separator-CHij3vEG.js → pk-separator-N-VyjYE6.js} +1 -1
  84. package/dist/chunks/{pk-separator-CHij3vEG.js.map → pk-separator-N-VyjYE6.js.map} +1 -1
  85. package/dist/chunks/{pk-status-D1IzTSI2.js → pk-status-BehQARDv.js} +1 -1
  86. package/dist/chunks/{pk-status-D1IzTSI2.js.map → pk-status-BehQARDv.js.map} +1 -1
  87. package/dist/chunks/{pk-tab-2MHunhlF.js → pk-tab-CTloD18e.js} +1 -1
  88. package/dist/chunks/{pk-tab-2MHunhlF.js.map → pk-tab-CTloD18e.js.map} +1 -1
  89. package/dist/chunks/{pk-tab-heading-BV6m_sT-.js → pk-tab-heading-Cjcgebxn.js} +1 -1
  90. package/dist/chunks/{pk-tab-heading-BV6m_sT-.js.map → pk-tab-heading-Cjcgebxn.js.map} +1 -1
  91. package/dist/chunks/{pk-tab-panel-C6FxQw9q.js → pk-tab-panel-CkKU5-Ah.js} +1 -1
  92. package/dist/chunks/{pk-tab-panel-C6FxQw9q.js.map → pk-tab-panel-CkKU5-Ah.js.map} +1 -1
  93. package/dist/chunks/{pk-tabs-BTE63uK9.js → pk-tabs-BgEBki1q.js} +1 -1
  94. package/dist/chunks/{pk-tabs-BTE63uK9.js.map → pk-tabs-BgEBki1q.js.map} +1 -1
  95. package/dist/chunks/{pk-textarea-BcAyZYC-.js → pk-textarea-CYM2tK88.js} +3 -3
  96. package/dist/chunks/{pk-textarea-BcAyZYC-.js.map → pk-textarea-CYM2tK88.js.map} +1 -1
  97. package/dist/chunks/{pk-time-picker-5D4nmig2.js → pk-time-picker-DLUBYLFo.js} +3 -3
  98. package/dist/chunks/{pk-time-picker-5D4nmig2.js.map → pk-time-picker-DLUBYLFo.js.map} +1 -1
  99. package/dist/chunks/{pk-tiptap-content-BPd4GO6c.js → pk-tiptap-content-BwkqYVJb.js} +2 -2
  100. package/dist/chunks/{pk-tiptap-content-BPd4GO6c.js.map → pk-tiptap-content-BwkqYVJb.js.map} +1 -1
  101. package/dist/chunks/{pk-tiptap-editor-tG67Vegc.js → pk-tiptap-editor-De8UUTis.js} +12 -12
  102. package/dist/chunks/pk-tiptap-editor-De8UUTis.js.map +1 -0
  103. package/dist/chunks/{pk-tiptap-input-CtefNnaK.js → pk-tiptap-input-Y9eog9Zn.js} +3 -3
  104. package/dist/chunks/{pk-tiptap-input-CtefNnaK.js.map → pk-tiptap-input-Y9eog9Zn.js.map} +1 -1
  105. package/dist/chunks/{pk-toggle-CW-lflrh.js → pk-toggle-BthhH7vl.js} +1 -1
  106. package/dist/chunks/{pk-toggle-CW-lflrh.js.map → pk-toggle-BthhH7vl.js.map} +1 -1
  107. package/dist/chunks/{pk-toggle-group-BKymefo3.js → pk-toggle-group-D2Quux8D.js} +1 -1
  108. package/dist/chunks/{pk-toggle-group-BKymefo3.js.map → pk-toggle-group-D2Quux8D.js.map} +1 -1
  109. package/dist/chunks/{pk-tooltip-BoDq8YVe.js → pk-tooltip-Cmmc0916.js} +1 -1
  110. package/dist/chunks/{pk-tooltip-BoDq8YVe.js.map → pk-tooltip-Cmmc0916.js.map} +1 -1
  111. package/dist/chunks/{popup-content-animation.styles-Dc6d9quJ.js → popup-content-animation.styles-BnNiguJo.js} +1 -1
  112. package/dist/chunks/{popup-content-animation.styles-Dc6d9quJ.js.map → popup-content-animation.styles-BnNiguJo.js.map} +1 -1
  113. package/dist/chunks/{popup-pointer-DMnuZDQl.js → popup-pointer-CuLjk1th.js} +1 -1
  114. package/dist/chunks/{popup-pointer-DMnuZDQl.js.map → popup-pointer-CuLjk1th.js.map} +1 -1
  115. package/dist/chunks/{register-components-B-qCPFFh.js → register-components-BT9THgdh.js} +1 -1
  116. package/dist/chunks/{register-components-B-qCPFFh.js.map → register-components-BT9THgdh.js.map} +1 -1
  117. package/dist/chunks/{register-CQodpTWT.js → register-posLyX3U.js} +45 -45
  118. package/dist/chunks/{register-CQodpTWT.js.map → register-posLyX3U.js.map} +1 -1
  119. package/dist/chunks/{tiptap.styles-ChAfyVi9.js → tiptap.styles-CPRows--.js} +4 -3
  120. package/dist/chunks/tiptap.styles-CPRows--.js.map +1 -0
  121. package/dist/component-registry.d.ts.map +1 -1
  122. package/dist/components/autocomplete/index.d.ts +2 -0
  123. package/dist/components/autocomplete/index.d.ts.map +1 -0
  124. package/dist/components/autocomplete/pk-autocomplete.d.ts +150 -0
  125. package/dist/components/autocomplete/pk-autocomplete.d.ts.map +1 -0
  126. package/dist/components/autocomplete/pk-autocomplete.js +2 -0
  127. package/dist/components/autocomplete/pk-autocomplete.styles.d.ts +7 -0
  128. package/dist/components/autocomplete/pk-autocomplete.styles.d.ts.map +1 -0
  129. package/dist/components/autocomplete.d.ts +2 -0
  130. package/dist/components/autocomplete.js +2 -0
  131. package/dist/components/button/pk-button.d.ts +37 -1
  132. package/dist/components/button/pk-button.d.ts.map +1 -1
  133. package/dist/components/button/pk-button.js +1 -1
  134. package/dist/components/button.js +1 -1
  135. package/dist/components/calendar/pk-calendar.js +1 -1
  136. package/dist/components/calendar.js +1 -1
  137. package/dist/components/checkbox/pk-checkbox.js +1 -1
  138. package/dist/components/checkbox-select/pk-checkbox-select.js +1 -1
  139. package/dist/components/checkbox-select.js +1 -1
  140. package/dist/components/checkbox.js +1 -1
  141. package/dist/components/code-editor/pk-code-editor.js +1 -1
  142. package/dist/components/code-editor.js +1 -1
  143. package/dist/components/color-input/pk-color-input.js +1 -1
  144. package/dist/components/color-input.js +1 -1
  145. package/dist/components/combobox/pk-combobox.d.ts +8 -14
  146. package/dist/components/combobox/pk-combobox.d.ts.map +1 -1
  147. package/dist/components/combobox/pk-combobox.js +1 -1
  148. package/dist/components/combobox/pk-combobox.styles.d.ts.map +1 -1
  149. package/dist/components/combobox.js +1 -1
  150. package/dist/components/connect/pk-connect-oauth.js +3 -3
  151. package/dist/components/connect/pk-connect.js +4 -4
  152. package/dist/components/copy-button/pk-copy-button.d.ts +3 -0
  153. package/dist/components/copy-button/pk-copy-button.d.ts.map +1 -1
  154. package/dist/components/copy-button/pk-copy-button.js +1 -1
  155. package/dist/components/copy-button/pk-copy-button.styles.d.ts.map +1 -1
  156. package/dist/components/copy-button.js +1 -1
  157. package/dist/components/date-picker/pk-date-picker.js +1 -1
  158. package/dist/components/date-picker.js +1 -1
  159. package/dist/components/dialog/pk-dialog.js +1 -1
  160. package/dist/components/dialog.js +1 -1
  161. package/dist/components/dropdown-menu/pk-dropdown-item.js +1 -1
  162. package/dist/components/dropdown-menu/pk-dropdown-label.js +1 -1
  163. package/dist/components/dropdown-menu/pk-dropdown-menu.js +1 -1
  164. package/dist/components/dropdown-menu.js +3 -3
  165. package/dist/components/editable-table/editable-table-model.d.ts +4 -1
  166. package/dist/components/editable-table/editable-table-model.d.ts.map +1 -1
  167. package/dist/components/editable-table/pk-editable-table.d.ts +1 -1
  168. package/dist/components/editable-table/pk-editable-table.d.ts.map +1 -1
  169. package/dist/components/editable-table/pk-editable-table.js +1 -1
  170. package/dist/components/editable-table.js +1 -1
  171. package/dist/components/field/pk-field.js +1 -1
  172. package/dist/components/field.js +1 -1
  173. package/dist/components/icon/pk-icon.d.ts +3 -2
  174. package/dist/components/icon/pk-icon.d.ts.map +1 -1
  175. package/dist/components/icon/pk-icon.js.map +1 -1
  176. package/dist/components/image-browser/index.d.ts +2 -0
  177. package/dist/components/image-browser/index.d.ts.map +1 -0
  178. package/dist/components/image-browser/pk-image-browser.d.ts +190 -0
  179. package/dist/components/image-browser/pk-image-browser.d.ts.map +1 -0
  180. package/dist/components/image-browser/pk-image-browser.js +2 -0
  181. package/dist/components/image-browser/pk-image-browser.styles.d.ts +6 -0
  182. package/dist/components/image-browser/pk-image-browser.styles.d.ts.map +1 -0
  183. package/dist/components/image-browser.d.ts +2 -0
  184. package/dist/components/image-browser.js +2 -0
  185. package/dist/components/input/pk-input.d.ts +2 -1
  186. package/dist/components/input/pk-input.d.ts.map +1 -1
  187. package/dist/components/input/pk-input.js +1 -1
  188. package/dist/components/input/pk-input.styles.d.ts.map +1 -1
  189. package/dist/components/input-group/pk-input-group-addon.js +1 -1
  190. package/dist/components/input-group/pk-input-group-button.js +1 -1
  191. package/dist/components/input-group/pk-input-group-input.js +1 -1
  192. package/dist/components/input-group/pk-input-group-text.js +1 -1
  193. package/dist/components/input-group/pk-input-group-textarea.js +1 -1
  194. package/dist/components/input-group/pk-input-group.js +1 -1
  195. package/dist/components/input-group.js +6 -6
  196. package/dist/components/input.js +1 -1
  197. package/dist/components/lightswitch/pk-lightswitch.js +1 -1
  198. package/dist/components/lightswitch.js +1 -1
  199. package/dist/components/popover/pk-popover.js +1 -1
  200. package/dist/components/popover.js +1 -1
  201. package/dist/components/radio-group/pk-radio-group.js +1 -1
  202. package/dist/components/radio-group/pk-radio.js +1 -1
  203. package/dist/components/radio-group.js +2 -2
  204. package/dist/components/scroll-area/pk-scroll-area.js +1 -1
  205. package/dist/components/scroll-area.js +1 -1
  206. package/dist/components/select/pk-option-group.d.ts +3 -1
  207. package/dist/components/select/pk-option-group.d.ts.map +1 -1
  208. package/dist/components/select/pk-option-group.js +1 -1
  209. package/dist/components/select/pk-option.d.ts +10 -1
  210. package/dist/components/select/pk-option.d.ts.map +1 -1
  211. package/dist/components/select/pk-option.js +1 -1
  212. package/dist/components/select/pk-select.d.ts +42 -3
  213. package/dist/components/select/pk-select.d.ts.map +1 -1
  214. package/dist/components/select/pk-select.js +1 -1
  215. package/dist/components/select.js +3 -3
  216. package/dist/components/separator/pk-separator.js +1 -1
  217. package/dist/components/separator.js +1 -1
  218. package/dist/components/status/pk-status.js +1 -1
  219. package/dist/components/status.js +1 -1
  220. package/dist/components/tabs/pk-tab-heading.js +1 -1
  221. package/dist/components/tabs/pk-tab-panel.js +1 -1
  222. package/dist/components/tabs/pk-tab.js +1 -1
  223. package/dist/components/tabs/pk-tabs.js +1 -1
  224. package/dist/components/tabs.js +4 -4
  225. package/dist/components/textarea/pk-textarea.js +1 -1
  226. package/dist/components/textarea.js +1 -1
  227. package/dist/components/time-picker/pk-time-picker.js +1 -1
  228. package/dist/components/time-picker.js +1 -1
  229. package/dist/components/tiptap/pk-tiptap-content.js +1 -1
  230. package/dist/components/tiptap/pk-tiptap-editor.js +1 -1
  231. package/dist/components/tiptap/pk-tiptap-input.js +1 -1
  232. package/dist/components/tiptap/variable-tag-node-view.d.ts.map +1 -1
  233. package/dist/components/tiptap-content.js +1 -1
  234. package/dist/components/tiptap-editor.js +1 -1
  235. package/dist/components/tiptap-input.js +1 -1
  236. package/dist/components/toggle/pk-toggle.js +1 -1
  237. package/dist/components/toggle-group/pk-toggle-group.js +1 -1
  238. package/dist/components/toggle-group.js +1 -1
  239. package/dist/components/toggle.js +1 -1
  240. package/dist/components/tooltip/pk-tooltip.js +1 -1
  241. package/dist/components/tooltip.js +1 -1
  242. package/dist/connect/register-cp-connect.js +3 -3
  243. package/dist/index.js +49 -49
  244. package/dist/internal/sync-filtered-options.d.ts +23 -0
  245. package/dist/internal/sync-filtered-options.d.ts.map +1 -0
  246. package/dist/plugin-kit.css +2 -0
  247. package/dist/plugin-kit.js +2 -2
  248. package/dist/register-components.js +1 -1
  249. package/dist/register-pk.generated.d.ts +4 -0
  250. package/dist/register-pk.generated.d.ts.map +1 -1
  251. package/dist/register.js +47 -47
  252. package/dist/utilities/fouce.css +2 -0
  253. package/dist/utils/async-option-fetch.d.ts +38 -0
  254. package/dist/utils/async-option-fetch.d.ts.map +1 -0
  255. package/dist/utils/option-filter.d.ts +11 -0
  256. package/dist/utils/option-filter.d.ts.map +1 -0
  257. package/dist/utils/popup-content-exit.d.ts +6 -0
  258. package/dist/utils/popup-content-exit.d.ts.map +1 -0
  259. package/dist-loader/chunks/option-filter-Z7bomRrK.js +119 -0
  260. package/dist-loader/chunks/{pk-base-B21zXxSo.js → pk-base-CyzwylQ7.js} +13 -1
  261. package/dist-loader/chunks/{pk-button-Dh4gjLHw.js → pk-button-dngp-vOd.js} +10 -6
  262. package/dist-loader/chunks/{pk-calendar-n1bwSO7X.js → pk-calendar-BE4HRfCq.js} +3 -3
  263. package/dist-loader/chunks/{pk-checkbox-BrZQB816.js → pk-checkbox-B3d4nkBx.js} +1 -1
  264. package/dist-loader/chunks/{pk-color-input-sS05YOwT.js → pk-color-input-CD-r_sfG.js} +1 -1
  265. package/dist-loader/chunks/{pk-combobox-B7q6alzE.js → pk-combobox-DMBKXPLB.js} +48 -91
  266. package/dist-loader/chunks/{pk-date-picker-Dni5ty79.js → pk-date-picker-wntQmeIM.js} +5 -5
  267. package/dist-loader/chunks/{pk-dialog-BpPRqFMm.js → pk-dialog-B6lzsRur.js} +3 -3
  268. package/dist-loader/chunks/{pk-dropdown-item-CHkFNlA9.js → pk-dropdown-item-DJ5TeF1r.js} +3 -3
  269. package/dist-loader/chunks/{pk-dropdown-menu-BHVOMNV1.js → pk-dropdown-menu-B87bsdlI.js} +3 -3
  270. package/dist-loader/chunks/{pk-field-CJ09ll1S.js → pk-field-D_SNOJpl.js} +4 -4
  271. package/dist-loader/chunks/{pk-icon-WHUu7wxk.js → pk-icon-B5ob3JdK.js} +2 -2
  272. package/dist-loader/chunks/{pk-input-CEw3AdYt.js → pk-input-BhU0PiCk.js} +74 -28
  273. package/dist-loader/chunks/{pk-lightswitch-DJEUScgo.js → pk-lightswitch-DRxY8511.js} +1 -1
  274. package/dist-loader/chunks/{pk-option-CunPIei0.js → pk-option-Cc6QWw-0.js} +5 -4
  275. package/dist-loader/chunks/{pk-popup-FDdBxb4k.js → pk-popup-BooGjXgH.js} +1 -1
  276. package/dist-loader/chunks/{pk-select-CbAaQ7uE.js → pk-select-BG8qPsBd.js} +6 -4
  277. package/dist-loader/chunks/{pk-spinner-CIbXjDnp.js → pk-spinner-BKU9Rf2R.js} +1 -1
  278. package/dist-loader/chunks/{pk-status-BRIVW7EH.js → pk-status-D3ArH2ui.js} +1 -1
  279. package/dist-loader/chunks/{pk-textarea-C_rOUtFS.js → pk-textarea-CC7rA5A7.js} +1 -1
  280. package/dist-loader/chunks/{pk-time-picker-Dr3uvbvc.js → pk-time-picker-CDVFNhN7.js} +5 -5
  281. package/dist-loader/chunks/{pk-tooltip-HwZ0zRd2.js → pk-tooltip-BS2dNLOS.js} +2 -2
  282. package/dist-loader/chunks/{render-Niz5wYRa.js → render-BKfL_WRl.js} +1 -1
  283. package/dist-loader/chunks/{svg-_Mtb7CHx.js → svg-BiAlXtCn.js} +5 -3
  284. package/dist-loader/chunks/{tiptap.styles-BIRIMP7I.js → tiptap.styles-BFGP4eTV.js} +3 -2
  285. package/dist-loader/components/autocomplete/autocomplete.js +984 -0
  286. package/dist-loader/components/button/button.js +1 -1
  287. package/dist-loader/components/button-group/button-group-separator.js +1 -1
  288. package/dist-loader/components/button-group/button-group-text.js +1 -1
  289. package/dist-loader/components/button-group/button-group.js +1 -1
  290. package/dist-loader/components/calendar/calendar.js +1 -1
  291. package/dist-loader/components/checkbox/checkbox.js +1 -1
  292. package/dist-loader/components/checkbox-select/checkbox-select.js +2 -2
  293. package/dist-loader/components/code-editor/code-editor.js +1 -1
  294. package/dist-loader/components/color-input/color-input.js +1 -1
  295. package/dist-loader/components/combobox/combobox.js +1 -1
  296. package/dist-loader/components/connect/connect-oauth.js +3 -3
  297. package/dist-loader/components/connect/connect.js +5 -5
  298. package/dist-loader/components/copy-button/copy-button.js +48 -7
  299. package/dist-loader/components/date-picker/date-picker.js +1 -1
  300. package/dist-loader/components/dialog/dialog.js +1 -1
  301. package/dist-loader/components/dropdown-menu/dropdown-item.js +1 -1
  302. package/dist-loader/components/dropdown-menu/dropdown-label.js +1 -1
  303. package/dist-loader/components/dropdown-menu/dropdown-menu.js +1 -1
  304. package/dist-loader/components/dropdown-menu/dropdown-separator.js +1 -1
  305. package/dist-loader/components/editable-table/editable-table.js +18 -20
  306. package/dist-loader/components/field/field.js +1 -1
  307. package/dist-loader/components/icon/icon.js +2 -2
  308. package/dist-loader/components/image-browser/image-browser.js +1356 -0
  309. package/dist-loader/components/input/input.js +1 -1
  310. package/dist-loader/components/input-group/input-group-addon.js +1 -1
  311. package/dist-loader/components/input-group/input-group-button.js +1 -1
  312. package/dist-loader/components/input-group/input-group-input.js +1 -1
  313. package/dist-loader/components/input-group/input-group-text.js +1 -1
  314. package/dist-loader/components/input-group/input-group-textarea.js +1 -1
  315. package/dist-loader/components/input-group/input-group.js +1 -1
  316. package/dist-loader/components/lightswitch/lightswitch.js +1 -1
  317. package/dist-loader/components/popover/popover.js +2 -2
  318. package/dist-loader/components/popup/popup.js +1 -1
  319. package/dist-loader/components/radio-group/radio-group.js +1 -1
  320. package/dist-loader/components/radio-group/radio.js +1 -1
  321. package/dist-loader/components/scroll-area/scroll-area.js +1 -1
  322. package/dist-loader/components/select/option-group.js +1 -1
  323. package/dist-loader/components/select/option.js +1 -1
  324. package/dist-loader/components/select/select.js +1 -1
  325. package/dist-loader/components/separator/separator.js +1 -1
  326. package/dist-loader/components/spinner/spinner.js +1 -1
  327. package/dist-loader/components/status/status.js +1 -1
  328. package/dist-loader/components/tabs/tab-heading.js +1 -1
  329. package/dist-loader/components/tabs/tab-panel.js +1 -1
  330. package/dist-loader/components/tabs/tab.js +1 -1
  331. package/dist-loader/components/tabs/tabs.js +1 -1
  332. package/dist-loader/components/textarea/textarea.js +1 -1
  333. package/dist-loader/components/time-picker/time-picker.js +1 -1
  334. package/dist-loader/components/tiptap/tiptap-content.js +2 -2
  335. package/dist-loader/components/tiptap/tiptap-editor.js +13 -13
  336. package/dist-loader/components/tiptap/tiptap-input.js +2 -2
  337. package/dist-loader/components/toggle/toggle.js +1 -1
  338. package/dist-loader/components/toggle-group/toggle-group.js +1 -1
  339. package/dist-loader/components/tooltip/tooltip.js +1 -1
  340. package/dist-loader/plugin-kit.css +2 -0
  341. package/dist-loader/plugin-kit.loader.js +4 -0
  342. package/dist-loader/utilities/fouce.css +2 -0
  343. package/package.json +53 -9
  344. package/dist/chunks/component-registry-CNB8PbP_.js.map +0 -1
  345. package/dist/chunks/pk-combobox-BLft8AXy.js.map +0 -1
  346. package/dist/chunks/pk-copy-button-asOLQkqk.js.map +0 -1
  347. package/dist/chunks/pk-editable-table-Cn4WXqAo.js.map +0 -1
  348. package/dist/chunks/pk-form-associated-element-9M2NzOE2.js.map +0 -1
  349. package/dist/chunks/pk-input-DDkIXOkt.js.map +0 -1
  350. package/dist/chunks/pk-option-MGj9SKOK.js.map +0 -1
  351. package/dist/chunks/pk-select-C1s0OJr0.js.map +0 -1
  352. package/dist/chunks/pk-tiptap-editor-tG67Vegc.js.map +0 -1
  353. package/dist/chunks/tiptap.styles-ChAfyVi9.js.map +0 -1
@@ -261,7 +261,15 @@ function CustomErrorValidator() {
261
261
  //#endregion
262
262
  //#region src/base/pk-form-associated-element.ts
263
263
  /**
264
- * Form-associated custom element base — `FormAssociatedElement` pattern.
264
+ * Form-associated custom element base — ElementInternals + shared validity helpers.
265
+ *
266
+ * @cssstate disabled - The control is disabled.
267
+ * @cssstate required - The control is required.
268
+ * @cssstate optional - The control is not required.
269
+ * @cssstate invalid - The control currently fails constraint validation.
270
+ * @cssstate valid - The control currently passes constraint validation.
271
+ * @cssstate user-invalid - Invalid after the user has interacted with the control.
272
+ * @cssstate user-valid - Valid after the user has interacted with the control.
265
273
  */
266
274
  var PkFormAssociatedElement = class extends PkElement {
267
275
  static {
@@ -379,20 +387,24 @@ var PkFormAssociatedElement = class extends PkElement {
379
387
  getForm() {
380
388
  return this.internals.form;
381
389
  }
390
+ /** Runs constraint validation without showing the browser UI. */
382
391
  checkValidity() {
383
392
  this.updateValidity();
384
393
  return this.internals.checkValidity();
385
394
  }
395
+ /** Runs constraint validation and shows the browser UI when invalid. */
386
396
  reportValidity() {
387
397
  this.updateValidity();
388
398
  this.hasInteracted = true;
389
399
  return this.internals.reportValidity();
390
400
  }
401
+ /** Clears custom errors and re-syncs validity state. */
391
402
  resetValidity() {
392
403
  this.setCustomValidity("");
393
404
  this.internals.setValidity({});
394
405
  this.syncCustomStates();
395
406
  }
407
+ /** Sets or clears a custom validation message. */
396
408
  setCustomValidity(message) {
397
409
  if (!message) {
398
410
  this.customError = null;
@@ -1,7 +1,7 @@
1
1
  import { a as o, c as r, f as A, i as e, l as n, m as i, p as b, u as customElement } from "./lit-DpLik9Rf.js";
2
- import { c as __decorate, l as PkElement, s as iconStyles, u as hostDisplayInlineBlock } from "./pk-base-B21zXxSo.js";
3
- import "./pk-spinner-CIbXjDnp.js";
4
- import { h as chevronDown, t as iconToSvg } from "./svg-_Mtb7CHx.js";
2
+ import { c as __decorate, l as PkElement, s as iconStyles, u as hostDisplayInlineBlock } from "./pk-base-CyzwylQ7.js";
3
+ import "./pk-spinner-BKU9Rf2R.js";
4
+ import { h as chevronDown, t as iconToSvg } from "./svg-BiAlXtCn.js";
5
5
  import { i as buttonGroupIndentStyles, n as buttonGroupCornerRadiusStyles, r as buttonGroupCornerRoleStyles, t as buttonGroupBorderJoinStyles } from "./button-group-item.styles-CsBQ3Cyh.js";
6
6
  //#region src/components/spinner/spinner-utils.ts
7
7
  function getButtonSpinnerSize(buttonSize = "default") {
@@ -637,6 +637,7 @@ var PkButton = class PkButton extends PkElement {
637
637
  this.groupTrigger = false;
638
638
  this.icon = false;
639
639
  this.title = "";
640
+ this.ariaLabel = null;
640
641
  this.type = "button";
641
642
  this.hasDefaultSlotContent = false;
642
643
  this.hasStartSlotContent = false;
@@ -728,15 +729,17 @@ var PkButton = class PkButton extends PkElement {
728
729
  render() {
729
730
  const spinnerSize = this.spinnerSize || getButtonSpinnerSize(this.size);
730
731
  const spinnerVariant = resolveSpinnerVariant(this.variant, this.spinnerVariant);
732
+ const isLink = Boolean(this.href);
733
+ const accessibleName = this.ariaLabel || this.title || "";
731
734
  return b`
732
- ${Boolean(this.href) ? b`
735
+ ${isLink ? b`
733
736
  <a
734
737
  part="base"
735
738
  class=${this.buttonClasses()}
736
739
  href=${this.href}
737
740
  target=${this.target ?? A}
738
741
  rel=${this.rel ?? A}
739
- title=${this.title || A}
742
+ aria-label=${accessibleName || A}
740
743
  >
741
744
  ${this.renderInner(spinnerSize, spinnerVariant)}
742
745
  </a>
@@ -748,9 +751,9 @@ var PkButton = class PkButton extends PkElement {
748
751
  ?disabled=${this.disabled}
749
752
  aria-disabled=${this.disabled ? "true" : A}
750
753
  aria-busy=${this.loading ? "true" : A}
754
+ aria-label=${accessibleName || A}
751
755
  name=${this.name ?? A}
752
756
  value=${this.value ?? A}
753
- title=${this.title || A}
754
757
  >
755
758
  ${this.renderInner(spinnerSize, spinnerVariant)}
756
759
  </button>
@@ -840,6 +843,7 @@ __decorate([n()], PkButton.prototype, "rel", void 0);
840
843
  __decorate([n()], PkButton.prototype, "name", void 0);
841
844
  __decorate([n()], PkButton.prototype, "value", void 0);
842
845
  __decorate([n()], PkButton.prototype, "title", void 0);
846
+ __decorate([n({ attribute: "aria-label" })], PkButton.prototype, "ariaLabel", void 0);
843
847
  __decorate([n()], PkButton.prototype, "type", void 0);
844
848
  __decorate([n({ reflect: true })], PkButton.prototype, "form", void 0);
845
849
  __decorate([r()], PkButton.prototype, "hasDefaultSlotContent", void 0);
@@ -1,8 +1,8 @@
1
1
  import { a as o$1, c as r, f as A, i as e, l as n, m as i, o, p as b, u as customElement } from "./lit-DpLik9Rf.js";
2
- import { c as __decorate, l as PkElement, s as iconStyles } from "./pk-base-B21zXxSo.js";
3
- import { _ as chevronRight, g as chevronLeft } from "./svg-_Mtb7CHx.js";
2
+ import { c as __decorate, l as PkElement, s as iconStyles } from "./pk-base-CyzwylQ7.js";
3
+ import { _ as chevronRight, g as chevronLeft } from "./svg-BiAlXtCn.js";
4
4
  import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
5
- import { n as renderIconHtml } from "./render-Niz5wYRa.js";
5
+ import { n as renderIconHtml } from "./render-BKfL_WRl.js";
6
6
  //#region src/utils/date.ts
7
7
  /** ISO date helpers — ported from `date-picker/internal/iso`. */
8
8
  var ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
@@ -1,5 +1,5 @@
1
1
  import { c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as customElement } from "./lit-DpLik9Rf.js";
2
- import { c as __decorate, i as PkFormAssociatedElement, r as checkboxControlStyles } from "./pk-base-B21zXxSo.js";
2
+ import { c as __decorate, i as PkFormAssociatedElement, r as checkboxControlStyles } from "./pk-base-CyzwylQ7.js";
3
3
  import { t as RequiredValidator } from "./required-validator-0XwZtX9k.js";
4
4
  import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
5
5
  //#region src/icons/checkbox-indicators.ts
@@ -1,5 +1,5 @@
1
1
  import { c as r, f as A, i as e, l as n, m as i, p as b, s as e$1, u as customElement } from "./lit-DpLik9Rf.js";
2
- import { c as __decorate, i as PkFormAssociatedElement } from "./pk-base-B21zXxSo.js";
2
+ import { c as __decorate, i as PkFormAssociatedElement } from "./pk-base-CyzwylQ7.js";
3
3
  import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
4
4
  import { t as RequiredValidator } from "./required-validator-0XwZtX9k.js";
5
5
  //#region src/components/color-input/pk-color-input.styles.ts
@@ -1,17 +1,18 @@
1
1
  import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, s as scrollIntoView, t as LiveRegion, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
2
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 customElement } from "./lit-DpLik9Rf.js";
3
- import { c as __decorate, i as PkFormAssociatedElement, s as iconStyles } from "./pk-base-B21zXxSo.js";
4
- import { Y as xmark, h as chevronDown } from "./svg-_Mtb7CHx.js";
3
+ import { c as __decorate, i as PkFormAssociatedElement, s as iconStyles } from "./pk-base-CyzwylQ7.js";
4
+ import { Y as xmark, h as chevronDown } from "./svg-BiAlXtCn.js";
5
5
  import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
6
6
  import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
7
7
  import { t as PkClearEvent } from "./pk-clear-BMZUzwDt.js";
8
- import { n as renderIconHtml } from "./render-Niz5wYRa.js";
8
+ import { n as renderIconHtml } from "./render-BKfL_WRl.js";
9
9
  import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
10
10
  import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-WlEXnS85.js";
11
11
  import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-duCg9-CH.js";
12
- import "./pk-popup-FDdBxb4k.js";
12
+ import "./pk-popup-BooGjXgH.js";
13
13
  import { n as isPointerInsideOverlay, t as isEventInsideOverlay } from "./popup-pointer-caPc8kwB.js";
14
- import { a as isListboxTypeToSelectKey, i as handleListboxKeyDown, n as LISTBOX_NAVIGATION_KEYS, t as syncListboxSeparators } from "./sync-listbox-separators-Dk_E_IVa.js";
14
+ import { a as isListboxTypeToSelectKey, i as handleListboxKeyDown, n as LISTBOX_NAVIGATION_KEYS } from "./sync-listbox-separators-Dk_E_IVa.js";
15
+ import { i as waitForPopupContentExitAnimation, n as AsyncOptionFetcher, r as syncFilteredOptions, t as matchesOptionFilter } from "./option-filter-Z7bomRrK.js";
15
16
  //#region src/events/pk-create.ts
16
17
  /** Fired before a combobox creates a new option — mirrors `pk-create`. */
17
18
  var PkCreateEvent = class extends Event {
@@ -191,7 +192,8 @@ var pkComboboxStyles = [popupContentAnimationStyles, i`
191
192
  outline: none;
192
193
  }
193
194
 
194
- /* Trailing control absorbs the control's inline-end padding into its hit box. */
195
+ /* Trailing control absorbs the control's inline-end padding into its hit box,
196
+ with the same 4px glyph inset as pk-copy-button[slot=end]. */
195
197
  .control > .expand-button,
196
198
  .control > .clear-button:last-child {
197
199
  width: calc(
@@ -199,7 +201,7 @@ var pkComboboxStyles = [popupContentAnimationStyles, i`
199
201
  var(--pk-combobox-padding-inline)
200
202
  );
201
203
  margin-inline-start: calc(-0.5 * var(--pk-combobox-control-gap));
202
- margin-inline-end: calc(-1 * var(--pk-combobox-padding-inline));
204
+ margin-inline-end: calc(-1 * var(--pk-combobox-padding-inline) + 4px);
203
205
  }
204
206
 
205
207
  .icon-button:disabled,
@@ -799,8 +801,8 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
799
801
  this.panelAnimated = false;
800
802
  this.dismissRegistered = false;
801
803
  this.panelEventTarget = null;
802
- this.asyncFetchRequestId = 0;
803
804
  this.selectedOptionMeta = null;
805
+ this.asyncFetcher = null;
804
806
  this.asyncLoading = false;
805
807
  this.asyncError = null;
806
808
  this.handleOptionsMutation = (options = {}) => {
@@ -986,8 +988,7 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
986
988
  this.optionsObserver?.disconnect();
987
989
  this.liveRegion?.destroy();
988
990
  this.liveRegion = void 0;
989
- window.clearTimeout(this.asyncFetchTimer);
990
- this.fetchAbortController?.abort();
991
+ this.asyncFetcher?.cancel();
991
992
  this.closePanel("api");
992
993
  super.disconnectedCallback();
993
994
  }
@@ -1063,15 +1064,8 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1063
1064
  const group = option.closest("pk-option-group");
1064
1065
  return Boolean(group?.hidden);
1065
1066
  }
1066
- defaultFilter(option, query) {
1067
- const label = option.getLabel().toLowerCase();
1068
- const value = option.value.toLowerCase();
1069
- const searchText = (option.getSearchText?.() ?? label).toLowerCase();
1070
- return label.includes(query) || value.includes(query) || searchText.includes(query);
1071
- }
1072
1067
  matchesFilter(option, query) {
1073
- if (this.filter) return this.filter(option, query);
1074
- return this.defaultFilter(option, query);
1068
+ return matchesOptionFilter(option, query, this.filter);
1075
1069
  }
1076
1070
  getFilterQuery() {
1077
1071
  if (!this.open) return "";
@@ -1142,37 +1136,31 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1142
1136
  };
1143
1137
  }
1144
1138
  scheduleAsyncFetch(query) {
1145
- window.clearTimeout(this.asyncFetchTimer);
1146
- this.asyncFetchTimer = window.setTimeout(() => {
1147
- this.runAsyncFetch(query);
1148
- }, 200);
1149
- }
1150
- async runAsyncFetch(query) {
1151
- if (!this.fetchOptions) return;
1152
- const requestId = ++this.asyncFetchRequestId;
1153
- this.fetchAbortController?.abort();
1154
- this.fetchAbortController = new AbortController();
1155
- if (!query) {
1156
- this.asyncLoading = false;
1157
- this.asyncError = null;
1158
- this.renderAsyncOptionNodes(this.value && this.selectedOptionMeta ? [this.selectedOptionMeta] : []);
1159
- return;
1160
- }
1161
- this.asyncLoading = true;
1162
- this.asyncError = null;
1163
- try {
1164
- const results = await this.fetchOptions(query, this.fetchAbortController.signal);
1165
- if (requestId !== this.asyncFetchRequestId) return;
1166
- this.renderAsyncOptionNodes(results);
1167
- } catch (error) {
1168
- if (this.fetchAbortController?.signal.aborted || requestId !== this.asyncFetchRequestId) return;
1169
- if (error instanceof DOMException && error.name === "AbortError") return;
1170
- console.error("Failed to load combobox options:", error);
1171
- this.asyncError = "Failed to load options. Please try again.";
1172
- this.renderAsyncOptionNodes([]);
1173
- } finally {
1174
- if (requestId === this.asyncFetchRequestId) this.asyncLoading = false;
1175
- }
1139
+ this.ensureAsyncFetcher().schedule(query);
1140
+ }
1141
+ ensureAsyncFetcher() {
1142
+ if (!this.asyncFetcher) this.asyncFetcher = new AsyncOptionFetcher(() => this.fetchOptions, {
1143
+ errorLabel: "combobox options",
1144
+ onLoading: () => {
1145
+ this.asyncLoading = true;
1146
+ this.asyncError = null;
1147
+ },
1148
+ onResults: (results) => {
1149
+ this.renderAsyncOptionNodes(results);
1150
+ },
1151
+ onError: (message) => {
1152
+ this.asyncError = message;
1153
+ },
1154
+ onSettled: () => {
1155
+ this.asyncLoading = false;
1156
+ },
1157
+ onEmptyQuery: () => {
1158
+ this.asyncLoading = false;
1159
+ this.asyncError = null;
1160
+ this.renderAsyncOptionNodes(this.value && this.selectedOptionMeta ? [this.selectedOptionMeta] : []);
1161
+ }
1162
+ });
1163
+ return this.asyncFetcher;
1176
1164
  }
1177
1165
  getAsyncStatusMessage() {
1178
1166
  if (!this.usesAsyncSearch || !this.open) return null;
@@ -1183,11 +1171,6 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1183
1171
  if (this.getEnabledVisibleOptions().length === 0 && !this.shouldShowCreateOption()) return `No matches for "${query}".`;
1184
1172
  return null;
1185
1173
  }
1186
- shouldShowAsyncEmpty() {
1187
- if (!this.usesAsyncSearch || !this.open) return false;
1188
- if (!this.inputValue.trim() || this.asyncLoading || this.asyncError) return false;
1189
- return this.getEnabledVisibleOptions().length === 0 && !this.shouldShowCreateOption();
1190
- }
1191
1174
  isSelected(value) {
1192
1175
  if (this.multiple) return this.values.includes(value);
1193
1176
  return this.value === value;
@@ -1224,18 +1207,14 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1224
1207
  applySelection() {
1225
1208
  const visible = this.getVisibleOptions();
1226
1209
  const filterQuery = this.open ? this.getFilterQuery() : "";
1227
- for (const option of this.options) {
1228
- option.selected = this.isSelected(option.value);
1229
- option.hidden = !visible.includes(option);
1230
- option.optionId = `${this.listboxId}-option-${option.value}`;
1231
- option.matchQuery = filterQuery;
1232
- }
1233
- for (const group of this.querySelectorAll("pk-option-group")) {
1234
- const groupOptions = [...group.querySelectorAll("pk-option")];
1235
- const filterEmpty = groupOptions.length > 0 && groupOptions.every((option) => option.hidden);
1236
- group.toggleAttribute("data-pk-filter-empty", filterEmpty);
1237
- }
1238
- syncListboxSeparators(this);
1210
+ syncFilteredOptions({
1211
+ host: this,
1212
+ options: this.options,
1213
+ visible,
1214
+ listboxId: this.listboxId,
1215
+ filterQuery,
1216
+ isSelected: (value) => this.isSelected(value)
1217
+ });
1239
1218
  this.syncValueInput();
1240
1219
  if (this.open) {
1241
1220
  this.syncHighlight();
@@ -1405,7 +1384,7 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1405
1384
  this.unbindPanelEvents();
1406
1385
  this.closing = true;
1407
1386
  this.panelAnimated = false;
1408
- await this.waitForExitAnimation();
1387
+ await waitForPopupContentExitAnimation(this.panelElement);
1409
1388
  this.open = false;
1410
1389
  this.closing = false;
1411
1390
  this.panelAnimated = false;
@@ -1419,8 +1398,7 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1419
1398
  this.unregisterDismissHandlers();
1420
1399
  this.applySelection();
1421
1400
  if (this.usesAsyncSearch) {
1422
- window.clearTimeout(this.asyncFetchTimer);
1423
- this.fetchAbortController?.abort();
1401
+ this.asyncFetcher?.cancel();
1424
1402
  this.asyncLoading = false;
1425
1403
  this.asyncError = null;
1426
1404
  this.renderAsyncOptionNodes(this.selectedOptionMeta ? [this.selectedOptionMeta] : []);
@@ -1442,27 +1420,6 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1442
1420
  composed: true
1443
1421
  }));
1444
1422
  }
1445
- waitForExitAnimation() {
1446
- const panel = this.panelElement;
1447
- if (!panel) return Promise.resolve();
1448
- return new Promise((resolve) => {
1449
- let settled = false;
1450
- const finish = () => {
1451
- if (settled) return;
1452
- settled = true;
1453
- panel.removeEventListener("animationend", onAnimationEnd);
1454
- window.clearTimeout(fallback);
1455
- panel.classList.remove("closing");
1456
- resolve();
1457
- };
1458
- const onAnimationEnd = (event) => {
1459
- if (event.target === panel && event.animationName.startsWith("pk-popup-content-out")) finish();
1460
- };
1461
- panel.classList.add("closing");
1462
- panel.addEventListener("animationend", onAnimationEnd);
1463
- const fallback = window.setTimeout(finish, 150);
1464
- });
1465
- }
1466
1423
  shouldReturnFocusToInput(source) {
1467
1424
  return source !== "light-dismiss" && source !== "pointer-dismiss";
1468
1425
  }
@@ -1831,7 +1788,7 @@ var PkCombobox = class PkCombobox extends PkFormAssociatedElement {
1831
1788
  render() {
1832
1789
  const visibleOptions = this.getEnabledVisibleOptions();
1833
1790
  const showCreate = this.shouldShowCreateOption();
1834
- const showEmpty = this.open && (this.usesAsyncSearch ? this.shouldShowAsyncEmpty() : visibleOptions.length === 0 && !showCreate);
1791
+ const showEmpty = this.open && !this.usesAsyncSearch && visibleOptions.length === 0 && !showCreate;
1835
1792
  const asyncStatus = this.getAsyncStatusMessage();
1836
1793
  const createQuery = this.inputValue.trim();
1837
1794
  return b`
@@ -1,18 +1,18 @@
1
1
  import { d as registerDismissible, f as unregisterDismissible, n as uniqueId, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
2
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 customElement } from "./lit-DpLik9Rf.js";
3
- import { c as __decorate, i as PkFormAssociatedElement, n as formControlStyles, s as iconStyles } from "./pk-base-B21zXxSo.js";
4
- import { Y as xmark, p as calendar } from "./svg-_Mtb7CHx.js";
3
+ import { c as __decorate, i as PkFormAssociatedElement, n as formControlStyles, s as iconStyles } from "./pk-base-CyzwylQ7.js";
4
+ import { Y as xmark, p as calendar } from "./svg-BiAlXtCn.js";
5
5
  import { t as MirrorValidator } from "./mirror-validator-C5XrXPaq.js";
6
6
  import { t as RequiredValidator } from "./required-validator-0XwZtX9k.js";
7
7
  import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
8
8
  import { t as PkClearEvent } from "./pk-clear-BMZUzwDt.js";
9
9
  import { n as readLegacyInstructions } from "./field-labels-D3lKQ2nq.js";
10
- import { n as renderIconHtml } from "./render-Niz5wYRa.js";
10
+ import { n as renderIconHtml } from "./render-BKfL_WRl.js";
11
11
  import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
12
12
  import { i as waitForPopupReposition } from "./popup-placement-animation-WlEXnS85.js";
13
- import "./pk-popup-FDdBxb4k.js";
13
+ import "./pk-popup-BooGjXgH.js";
14
14
  import { n as isPointerInsideOverlay } from "./popup-pointer-caPc8kwB.js";
15
- import { a as parseIsoDate, i as parseDateList, n as coerceToDate, o as parseRange, r as formatIsoDate } from "./pk-calendar-n1bwSO7X.js";
15
+ import { a as parseIsoDate, i as parseDateList, n as coerceToDate, o as parseRange, r as formatIsoDate } from "./pk-calendar-BE4HRfCq.js";
16
16
  //#region src/utils/host-date.ts
17
17
  function getCraft() {
18
18
  return globalThis.Craft;
@@ -1,8 +1,8 @@
1
1
  import { c as unlockBodyScrolling, d as registerDismissible, f as unregisterDismissible, o as lockBodyScrolling, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
2
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 customElement } from "./lit-DpLik9Rf.js";
3
- import { c as __decorate, l as PkElement } from "./pk-base-B21zXxSo.js";
4
- import { Y as xmark } from "./svg-_Mtb7CHx.js";
5
- import { n as renderIconHtml } from "./render-Niz5wYRa.js";
3
+ import { c as __decorate, l as PkElement } from "./pk-base-CyzwylQ7.js";
4
+ import { Y as xmark } from "./svg-BiAlXtCn.js";
5
+ import { n as renderIconHtml } from "./render-BKfL_WRl.js";
6
6
  import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
7
7
  import { t as animateWithClass } from "./animate-with-class-DT0jwaR_.js";
8
8
  //#region src/utils/craft-host-modal.ts
@@ -1,8 +1,8 @@
1
1
  import { a as o, c as r, f as A, l as n, m as i, p as b, s as e, u as customElement } from "./lit-DpLik9Rf.js";
2
- import { c as __decorate, l as PkElement } from "./pk-base-B21zXxSo.js";
3
- import { _ as chevronRight, m as check } from "./svg-_Mtb7CHx.js";
2
+ import { c as __decorate, l as PkElement } from "./pk-base-CyzwylQ7.js";
3
+ import { _ as chevronRight, m as check } from "./svg-BiAlXtCn.js";
4
4
  import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
5
- import { n as renderIconHtml } from "./render-Niz5wYRa.js";
5
+ import { n as renderIconHtml } from "./render-BKfL_WRl.js";
6
6
  import { i as waitForPopupReposition, r as syncPopupPlacementAnimation } from "./popup-placement-animation-WlEXnS85.js";
7
7
  import { t as popupContentAnimationStyles } from "./popup-content-animation.styles-duCg9-CH.js";
8
8
  //#region src/components/dropdown-menu/dropdown-menu-size.styles.ts
@@ -1,12 +1,12 @@
1
1
  import { d as registerDismissible, f as unregisterDismissible, r as activeElements, u as isTopDismissible } from "./pk-a11y-CjB4-U-R.js";
2
2
  import { l as n, m as i, p as b, s as e, u as customElement } from "./lit-DpLik9Rf.js";
3
- import { c as __decorate, l as PkElement } from "./pk-base-B21zXxSo.js";
3
+ import { c as __decorate, l as PkElement } from "./pk-base-CyzwylQ7.js";
4
4
  import { r as buttonGroupCornerRoleStyles } from "./button-group-item.styles-CsBQ3Cyh.js";
5
5
  import { i as PkShowEvent, n as PkAfterShowEvent, r as PkHideEvent, t as PkAfterHideEvent } from "./overlay-lifecycle-C3tSQ3UR.js";
6
6
  import { t as animateWithClass } from "./animate-with-class-DT0jwaR_.js";
7
7
  import { i as waitForPopupReposition } from "./popup-placement-animation-WlEXnS85.js";
8
- import { n as dropdownMenuHostSizeStyles, r as dropdownMenuPanelSizeStyles, t as PkDropdownItem } from "./pk-dropdown-item-CHkFNlA9.js";
9
- import { n as resolveElementById } from "./pk-popup-FDdBxb4k.js";
8
+ import { n as dropdownMenuHostSizeStyles, r as dropdownMenuPanelSizeStyles, t as PkDropdownItem } from "./pk-dropdown-item-DJ5TeF1r.js";
9
+ import { n as resolveElementById } from "./pk-popup-BooGjXgH.js";
10
10
  //#region src/components/dropdown-menu/pk-dropdown-menu.styles.ts
11
11
  /**
12
12
  * Dropdown panel motion — `pk-dropdown` scale+fade, with transform
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CzwdidQP.js";
2
2
  import { n as uniqueId } from "./pk-a11y-CjB4-U-R.js";
3
3
  import { f as A, i as e, l as n, m as i, o, p as b, s as e$1, u as customElement } from "./lit-DpLik9Rf.js";
4
- import { c as __decorate, l as PkElement, n as formControlStyles, t as inlineMarkdownStyles } from "./pk-base-B21zXxSo.js";
5
- import { P as lightbulb, q as triangleExclamation, u as asterisk } from "./svg-_Mtb7CHx.js";
4
+ import { c as __decorate, l as PkElement, n as formControlStyles, t as inlineMarkdownStyles } from "./pk-base-CyzwylQ7.js";
5
+ import { P as lightbulb, q as triangleExclamation, u as asterisk } from "./svg-BiAlXtCn.js";
6
6
  import { t as HasSlotController } from "./has-slot-BGJeJdHr.js";
7
- import { t as createIconElement } from "./render-Niz5wYRa.js";
7
+ import { t as createIconElement } from "./render-BKfL_WRl.js";
8
8
  //#region src/icons/translation-icon.ts
9
9
  var TRANSLATION_ICON_PATH = "M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l208 0 32 0 16 0 256 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L320 64l-16 0-32 0L64 64zm512 48c8.8 0 16 7.2 16 16l0 256c0 8.8-7.2 16-16 16l-256 0 0-288 256 0zM178.3 175.9l64 144c4.5 10.1-.1 21.9-10.2 26.4s-21.9-.1-26.4-10.2L196.8 316l-73.6 0-8.9 20.1c-4.5 10.1-16.3 14.6-26.4 10.2s-14.6-16.3-10.2-26.4l64-144c3.2-7.2 10.4-11.9 18.3-11.9s15.1 4.7 18.3 11.9zM179 276l-19-42.8L141 276l38 0zM456 164c-11 0-20 9-20 20l0 4-52 0c-11 0-20 9-20 20s9 20 20 20l72 0 35.1 0c-7.3 16.7-17.4 31.9-29.8 45l-.5-.5-14.6-14.6c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3L430 298.3c-5.9 3.6-12.1 6.9-18.5 9.8l-3.6 1.6c-10.1 4.5-14.6 16.3-10.2 26.4s16.3 14.6 26.4 10.2l3.6-1.6c12-5.3 23.4-11.8 34-19.4c4.3 3 8.6 5.8 13.1 8.5l18.9 11.3c9.5 5.7 21.8 2.6 27.4-6.9s2.6-21.8-6.9-27.4l-18.9-11.3c-.9-.5-1.8-1.1-2.7-1.6c17.2-18.8 30.7-40.9 39.6-65.4L534 228l2 0c11 0 20-9 20-20s-9-20-20-20l-16 0-44 0 0-4c0-11-9-20-20-20z";
10
10
  var createTranslationIconElement = () => {
@@ -5849,7 +5849,7 @@ var PkField = class PkField extends PkElement {
5849
5849
  </span>
5850
5850
  ` : A}
5851
5851
  ${this.translatable ? b`
5852
- <span class="form-control__translatable" title="Translatable">
5852
+ <span class="form-control__translatable">
5853
5853
  ${createTranslationIconElement()}
5854
5854
  <span class="sr-only">Translatable</span>
5855
5855
  </span>
@@ -1,6 +1,6 @@
1
1
  import { a as o, f as A, l as n, m as i, p as b, u as customElement } from "./lit-DpLik9Rf.js";
2
- import { c as __decorate, l as PkElement } from "./pk-base-B21zXxSo.js";
3
- import { t as iconToSvg } from "./svg-_Mtb7CHx.js";
2
+ import { c as __decorate, l as PkElement } from "./pk-base-CyzwylQ7.js";
3
+ import { t as iconToSvg } from "./svg-BiAlXtCn.js";
4
4
  import { i as subscribeIconRegistry, t as getIcon } from "./registry-BanyScVR.js";
5
5
  //#region src/components/icon/pk-icon.ts
6
6
  var PkIcon = class PkIcon extends PkElement {